/*
Theme Name: 石原ひろたか事務所
Text Domain: 石原ひろたか事務所
*/
/* -------------------------------------------------------------------------- */

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */


html,
body {
	border: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td,
dl,
dt,
dd
{
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}

ul li {list-style: none;}
img {vertical-align: bottom;}

/* -------------------------------------------------------------------------- */

/*	1. Document Setup
/* -------------------------------------------------------------------------- */

html {
	font-size: 62.5%; /* 1rem = 10px */
	scroll-behavior: smooth;
}

body {
	box-sizing: border-box;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
    word-break: break-all;
}
body.customize-support {padding-top: 32px;}

a {color: #21396a;text-decoration: underline;}
a:hover {text-decoration: none;}

img { max-width: 100%; max-height: auto;}
a:hover img { opacity: 0.7;} 

@media screen and (min-width: 768px) {
html, body{ min-width: 1200px;}
}
@media screen and (max-width : 767px ){
body { min-width:375px;font-size: 1.6rem; }
}

main { background: #fff;display: block;}
header {background: rgba(255,255,255,0.8);position: fixed;top: 0;left: 0;width: 100%;z-index: 10000;height: 90px;display: flex;justify-content: space-between;align-items: center;box-sizing: border-box;}
#wpadminbar + header { top: 32px;}

footer #cmn_bnr_link { background: #21396a;text-align: center;padding: 30px 0;}
footer #cmn_bnr_link ul { display: flex;justify-content: center; flex-wrap: wrap;}
footer #cmn_bnr_link ul li { margin-right: 20px;}
footer #cmn_bnr_link ul li:last-child { margin-right: 0;}
footer #copy_right {text-align: center;font-size: 1.2rem;padding: 20px 0;line-height: 1.8;}


@media screen and (min-width: 768px) {
    main { padding: 90px 0 60px;}
    header {padding: 0 50px; }
    header #logo { width: 221px;}
    .width1000 {width: 1000px; margin: 0 auto;}

}

@media screen and (max-width: 767px) {
    main { padding: 55px 0;}
    header {height: 55px; padding: 5px 10px 0; }
    header #logo { width: 130px;}
    footer #cmn_bnr_link { padding: 20px 15px;}
    footer #cmn_bnr_link ul li { margin:0 10px 10px 0;width: 150px;}
    footer #cmn_bnr_link ul li:nth-child(2n) { margin-right: 0;}
    footer #copy_right {font-size: 1.1rem;padding: 20px 15px;}
}

/*グローバルナビ*/
#g_navi > ul > li .drop {position: relative;}
#g_navi > ul {font-weight: bold;}
#g_navi a {text-decoration: none;}
.dropdwn_menu li a{font-weight: normal;}

@media print, screen and (min-width: 768px) {
    #g_navi { height: 40px;}
    #g_navi p { display: none;}
    #g_navi > ul {margin: 0 auto;display: flex;}
    #g_navi > ul > li {font-size: 1.7rem;line-height: 40px;position: relative;display: inline;margin-left: 20px;}
    #g_navi > ul > li > a {display: block;text-align: center; color: #000;}
    #g_navi > ul > li:hover > a,
    #g_navi > ul > li:hover > .drop {opacity: 0.7;}
    #g_navi > ul > li:hover > .drop {cursor: pointer;}
    .dropdwn_menu{ width: 280px; display: none; position: absolute; padding: 0; background:#fff;z-index: 100;right: 50%; margin-right: -140px;border: 1px solid #21396a;}
    .dropdwn_menu li{ width: 100%;text-align: left;}
    .dropdwn_menu li a{ font-size: 1.4rem;padding: 15px 20px; display: block; line-height: 1;border-bottom: 1px solid #21396a;}
    .dropdwn_menu li a:hover {background: #eee;}
    .dropdwn_menu li:last-child a {border-bottom: none;}
}
@media screen and (max-width : 767px ){
    #g_navi p { position: fixed;top: 8px; right: 5px;z-index: 1100;background: #21396a;width: 40px;height: 40px;text-align: center;box-sizing: border-box;text-align: center;border-radius: 5px;padding: 9px 5px 0;}
    #g_navi p span { display: block; width:30px;height: 3px; background: #fff; margin-bottom: 7px; }
    #g_navi p.open span { position: absolute;}
    #g_navi p.open span:first-child {transform: rotate(-45deg); top: 18px;}
    #g_navi p.open span:nth-child(2) {transform: rotate(45deg); top: 18px;}
    #g_navi p.open span:last-child {display: none;}
    #g_navi ul { display: none;}
    #g_navi p + ul {position: fixed;top: 55px;left: 0;height:calc(100% - 55px);width: 100%;z-index: 1009;box-sizing: border-box;font-size: 1.6rem;line-height: 40px;background: #fff;border-top: 1px solid #adadad;}
    #g_navi p + ul a { display: block;}
    #g_navi p + ul span { color: #21396a;}
    #g_navi p + ul > li { border-bottom: 1px solid #adadad;padding: 0 20px;}
    #g_navi > ul > li .drop {display: block;}
    #g_navi > ul > li .drop::after {position: absolute;content: "";top: 50%; right:3px;margin-top: -6px;
        width: 6px;
        height: 6px;
        border-bottom: 2px solid #adadad;
        border-right: 2px solid #adadad;
        transform: rotate(45deg);
    }
    #g_navi > ul > li ul {background: #fff; width:calc(100% + 40px); margin-left: -20px;}
    #g_navi > ul > li ul li {border-top: 1px solid #adadad;padding: 0 20px;}
    #g_navi > ul > li span.drop.open::after {margin-top: -3px; border-bottom:none; border-right:none;
        border-top: 2px solid #adadad;
        border-left: 2px solid #adadad;
    }
    #g_navi > ul > li.sp_nav_link { border-bottom: none;text-align: center;padding-top: 30px;}
    #g_navi > ul > li.sp_nav_link:last-child { padding-top: 15px;}
    #g_navi > ul > li.sp_nav_link a {border: 1px solid #adadad;line-height: 40px;}
}

/*共通フッターお問い合わせ*/
#cmn_contact { padding: 40px 0 0;}
.contact_box {background: #baddff;padding: 30px 20px;box-sizing: border-box;}
.contact_box ul {display: flex;justify-content: space-between;flex-wrap: wrap;}
.contact_box ul li {width: 310px;}
.contact_box ul dl {background: #fff; border-radius: 10px;padding: 20px;width:100%;box-sizing: border-box;}
.contact_box ul dl dt { font-size: 1.6rem;font-weight: bold;}
.contact_box ul dl dd { font-size: 1.4rem;}
.contact_box ul li a.btn_contact {display: block; border-radius: 10px;background: #21396a;color: #fff; text-align: center;box-sizing: border-box;font-size: 1.8rem;text-decoration: none;font-weight: bold;position: relative;height: 100%;padding: 45px 30px 0 0; }
.contact_box ul li a.btn_contact::after {content: "";position: absolute;width: 0;height: 0;border-style: solid;border-width: 10px 0 10px 10px;border-color: transparent transparent transparent #ffffff;right: 40px; top: 50%;margin-top: -10px;}
.contact_box ul li a.btn_contact:hover { opacity: 0.7;}
@media screen and (max-width: 767px) {
    #cmn_contact { padding: 20px 15px 0;}
    .contact_box {padding: 20px 15px 0;}
    .contact_box ul li {width: 100%;margin-bottom: 20px;}
    .contact_box ul li a.btn_contact {padding: 20px 30px 20px 0;}
}

/*TOP page*/
h2.nonmal_h2 { text-align: center;font-size: 3rem;margin-bottom: 30px;}
#top_link { padding: 40px 0;}
#top_link ul {display: flex;justify-content: space-between; flex-wrap: wrap;}
#top_link ul li { width: 184px;height:250px;}
#top_link ul li#top_link_box1 { background: url(img/top_link_bg1.jpg)no-repeat 0 0;background-size: cover;}
#top_link ul li#top_link_box2 { background: url(img/top_link_bg2.jpg)no-repeat 0 0;background-size: cover;}
#top_link ul li#top_link_box3 { background: url(img/top_link_bg3.jpg)no-repeat 0 0;background-size: cover;}
#top_link ul li#top_link_box4 { background: url(img/top_link_bg4.jpg)no-repeat 0 0;background-size: cover;}
#top_link ul li#top_link_box5 { background: url(img/top_link_bg5.jpg)no-repeat 0 0;background-size: cover;}
#top_link ul li a {text-decoration: none;display: block;text-align: center;color: #fff;height: 100%;box-sizing: border-box;padding-top: 100px;background: rgba(0,0,0,0.5);text-shadow: 0 0 5px #000; }
#top_link ul li a:hover {background: rgba(0,0,0,0.2);}
#top_link ul li a span {display: block;border: 1px solid #fff;border-radius: 5px;line-height: 30px;margin: 30px 30px 0;font-size: 1.5rem;position: relative;padding: 0 20px 0 0;}
#top_link ul li a span::after {content: "";position: absolute;width: 0;height: 0;border-style: solid;border-width: 6px 0 6px 8px;border-color: transparent transparent transparent #ffffff;right: 15px; top: 50%;margin-top: -5px;}
#top_info {background: #e9f4ff; padding: 40px 0;}
#top_info > div {display: flex;justify-content: space-between; flex-wrap: wrap;}
#information,
#sns_link,
#tw_timeline {background: #fff; padding: 30px 0; box-sizing: border-box;}
#information,
#sns_link {width: 570px; padding: 30px 20px;}
#information {margin-bottom: 30px;}

.top_info_table { height: 360px;overflow: auto;}
.top_info_table dl,
.info_table dl {border-bottom: 1px dotted #adadad; padding-bottom: 5px; margin-bottom: 5px;}
.info_table {margin-bottom: 50px;}
.top_info_table dt,
.info_table dt {font-size: 1.4rem;color: #666;}
.top_info_table dd {}
.top_contents_line { text-align: center; padding-bottom: 20px;}
.top_contents_line img { width: 240px; height: auto;}
#tw_timeline .top_contents_line:last-of-type { padding-bottom: 0; }

#sns_link ul { display: flex;justify-content: center;flex-wrap: wrap;}
#sns_link ul li {width: 80px; margin: 0 15px;}
@media screen and (min-width: 768px) {
    #tw_timeline { width: 400px;}
}
@media screen and (max-width: 767px) {
    h2.nonmal_h2 { font-size: 2.4rem;margin-bottom: 20px;}
    #top_main { height: 220px; margin-bottom: 20px;}
    #top_main img { height: 220px; width: 100%; object-fit: cover;}
    #top_link { padding: 20px 15px 0;}
    #top_link ul li { width: 47%;padding-top: 62%;height: auto; position: relative;margin-bottom: 20px;}
    #top_link ul li a {position: absolute;top: 0;left: 0;width: 100%;padding-top: 80px;}
    #top_info { padding: 20px 15px;}
    .top_info_table { height: auto;overflow: hidden;}
    #information,
    #sns_link,
    #tw_timeline {width: 100%; padding: 20px 10px;}
    #information,
    #sns_link {margin-bottom: 20px;}
    #sns_link ul li {width: 60px; margin: 0 10px;}
    .top_contents_line img { width: 200px; height: auto;}
}

/*パンくず*/
#topic_path { display: block; margin-bottom: 30px;font-size: 1.4rem;}

@media screen and (max-width: 767px) {
    #topic_path {margin:0 20px 20px;font-size: 1.2rem; white-space: nowrap;overflow-x: auto;}
}
/*ページ出力共通*/

#content_hd { background: #0c1c3b;color: #fff; margin-bottom: 20px;}
#content_hd_inner {padding: 20px 50px; font-weight: bold;font-size: 5rem;letter-spacing: 0.1em;}
.single_date { font-size: 1.4rem;text-align: right;}

@media screen and (max-width: 767px) {
    #content_hd {margin-bottom: 15px;}
    #content_hd_inner { padding: 20px;font-size: 3rem;}
    .single_date { font-size: 1.2rem;}
}
.custom_entry {display: flex;justify-content: space-between; align-items: flex-start; flex-wrap: wrap;}
.entry_list { font-size: 1.4rem;box-sizing: border-box;padding: 15px; background: #e9f4ff;}
.entry_list li { padding: 5px; margin-bottom: 5px; border-bottom: 1px dotted #ababab;}
.entry_list li:last-child {margin-bottom: 0;}

@media screen and (min-width: 768px) {
    .entry_list { width: 200px;order: 2;}
    .entry_list p { display: none;}
    .custom_entry .entry_body { width: calc(100% - 230px);}
}
@media screen and (max-width: 767px) {
    .custom_entry {padding: 0 20px;}
    .custom_entry h2.entry_title,
    .custom_entry h1 { order: 2;}
    .entry_list { margin-bottom: 20px;order: 1; width: 100%;}
    .entry_list ul { display: none; padding-top: 10px;}
    .entry_list p { font-weight: bold;font-size: 1.6rem; position: relative;}
    .entry_list p::after { position: absolute; content: "▼"; top: 0; right: 10px;}
    .entry_list p.open::after { content: "▲";}
    .entry_body {order: 3;}
}
.entry-content {}
.entry-content .entry_title,
.entry-content h1 { font-size: 4rem;margin-bottom: 30px; text-align: center;width: 100%;}
.entry_body h2 { font-size: 2.4rem;margin-bottom: 20px; background: #f1f1f1;padding: 10px 15px;}
.entry_body p { margin-bottom: 30px;}
.entry_body ol,
.entry_body ul { padding-left: 30px;}
.entry_body ul { margin-bottom: 30px; }
.entry_body ol > li,
.entry_body ul > li { margin-bottom: 10px;}
.entry_body ul > li { list-style: disc;}
.entry_body ul.blocks-gallery-grid { padding: 0;}

.entry_body figure { margin: 0 0 30px;}

.wp-block-media-text__media img,
.wp-block-image img {height: auto;}
.wp-block-table { margin: 0 0 40px;}
.wp-block-table table { font-size: 1.4rem;border-collapse: collapse;}
.wp-block-table table thead th,
.wp-block-table table tbody td { border: 1px solid #ababab; padding: 10px;}
.wp-block-table table thead th {background: #e9f4ff;}

@media screen and (max-width: 767px) {
    .entry-content {padding: 0 15px;}
    .entry-content .entry_title,
    .entry-content h1 { font-size: 2.4rem;margin-bottom: 20px;text-align: left;}
    .entry_body h2 { font-size: 1.8rem;margin-bottom: 15px;}
    .entry_body p { margin-bottom: 20px;}
    .entry_body .wp-block-media-text .wp-block-media-text__content { padding:15px 0 0;}
    .entry_body .has-large-font-size { font-size: 2rem;}
    .entry_body iframe { width: 100% !important;}
}

.more { text-align: center;}
.more a { display: inline-block; color: #fff; background: #000; border-radius: 5px; padding: 10px 15px; text-decoration: none;}
.more a:hover { opacity: 0.6;}


/*お知らせ*/
.news_entry_body { padding-bottom: 40px;}
.wp-pagenavi {text-align: center;padding: 30px;}
.wp-pagenavi a, .wp-pagenavi span { border-radius: 3px;}
.wp-pagenavi a { background: #000;text-decoration: none;color: #fff;}
.wp-pagenavi a:hover { opacity: 0.6;}
@media screen and (max-width: 767px) {
    .wp-pagenavi a, .wp-pagenavi span {padding: 5px 10px;margin: 2px 5px;}
}

/*プロフィール*/

.profile_table { margin-bottom: 50px;}
.profile_table dl { border-bottom: 1px dotted #adadad; padding-bottom: 5px; margin-bottom: 5px; display: flex;flex-wrap: wrap;}
.profile_table dl dt,
.profile_table dl dd { box-sizing: border-box;}
@media screen and (min-width: 768px) {
    .profile_table dl dt { width: 200px;}
    .profile_table dl dd { width: calc (100% - 200px);}
}
@media screen and (max-width: 767px) {
    .profile_table { margin-bottom: 30px;}
    .profile_table dl dt,
    .profile_table dl dd { width: 100%;}
    .profile_table dl dt { font-weight: bold;}
    .profile_table dl dd { padding-left: 15px;}
}


/*form*/
.form_table {margin: 30px 0;border: 1px solid #aaa;}
.form_table dl:last-child { border-bottom: none;}
.form_table dt {background: #e9f4ff;box-sizing: border-box; }
.form_table dt.required::after {content: "※必須 ";color:#fff;font-size: 12px;background: #e50012;border-radius: 5px;padding: 5px;}
.form_table dd {}
.form_table dd p { margin-bottom: 10px;}
.form_table dd p:last-child { margin-bottom: 0;}
@media screen and (min-width: 768px) {
    .form_table dl { border-bottom: 1px solid #aaa; display: table;width: 100%;}
    .form_table dt { display: table-cell;text-align: right;width: 250px; padding: 15px 80px 15px 15px;vertical-align: top;border-right: 1px solid #aaa;position: relative;}
    .form_table dt.required::after {position: absolute;top: 15px;right: 15px; }
    .form_table dd { display: table-cell;vertical-align: top;padding: 10px; }
}
@media screen and (max-width: 767px) {
    #form_area > p{ padding: 0 15px;}
    .form_table dt {padding: 10px;}
    .form_table dt.required::after {margin-left: 5px;}
    .form_table dd {padding: 10px;}
}

input[type="text"] ,
input[type="tel"] ,
input[type="email"] ,
input[type="date"] ,
select,
textarea { padding:8px; border:1px solid #b6b6b6; font-size: 1.8rem; box-sizing: border-box;border-radius: 3px; box-sizing: border-box;	font-family: 'Noto Sans JP', sans-serif;}
input[type="text"] { margin-right:5px;}

input[type="text"]:disabled,
textarea:disabled {background-color: #e5e5e5;}

input[type="radio"],
input[type="checkbox"]{ width: 1.8rem; height: 1.8rem; vertical-align: middle; }
::placeholder  { color:#c1c1c1; }

@media screen and (max-width: 767px) {
    input[type="text"] ,
    input[type="tel"] ,
    input[type="email"] ,
    input[type="date"] ,
    select,
    textarea {font-size: 1.6rem;}
}

form .width_m { width:300px;}
form .width_s { width:160px;}
form .width_ss { width:60px;}
form .width_l { width:500px;}
form .width_ll { width:100%;}

@media screen and (max-width: 767px) {
    form .width_m { width:100%;}
    form .width_s { width:100px;}
    form .width_ss { width:60px;}
    form .width_l { width:100%;}
    form .width_ll { width:100%;}
}

.mw_wp_form mw_wp_form_complete p { margin-bottom: 30px; }

.acction_btn_area { text-align: center; padding-top: 30px;}
.acction_btn_area a { text-decoration: none;}
.acction_btn_area li { display: inline-block;}
.acction_btn {	display: block;	color: #fff; background-color:#000; border:1px solid #000; font-size: 2.4rem;line-height: 60px;width: 270px;text-align: center;	margin: 0 10px 15px; border-radius: 5px;}
.acction_btn:hover { opacity: 0.6;	cursor:pointer;}
.acction_btn_clear { display:block;	color: #000; margin: 0 10px 15px; border:1px solid #ccc; background-color:#ccc;	font-size: 30px; line-height: 60px;width: 270px;text-align: center; text-decoration:none; border-radius: 5px;}
.acction_btn_clear:hover { opacity: 0.6;cursor:pointer;}

@media screen and (max-width: 767px) {
    form input[type="submit"] {-webkit-appearance: none; border-radius: 0; }

    .mw_wp_form mw_wp_form_complete { padding: 0 15px;}

    .acction_btn_area { padding-top: 0;}
    .acction_btn,
    .acction_btn_clear{ font-size: 2rem;line-height: 50px;}
    .pc_only {display: none;}    
}

/*ギャラリー調整*/
.blocks-gallery-grid .blocks-gallery-item,  .wp-block-gallery .blocks-gallery-item {
    flex-grow: initial;
}
.blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption { box-sizing: border-box;}

.strong { font-weight: bold; font-size: 120%;}


@media screen and (min-width: 768px) {
    .sp_only {display: none;}
}
@media screen and (max-width: 767px) {
    .pc_only,
    #g_navi > ul > li .drop.pc_only {display: none;}
}
