/* Page names and content categories use separate visual hierarchies. */
body #contents h1.programs_heading,body #contents h1.admission_heading,body #contents h1.faq_heading,body .fkids_news_page>h1,body #pagetitle02>h3,body #recruit_pagetitle h3,body #pagetitle .main_title h1,body #pagetitle .main_title h3{color:#44975c!important;font-weight:700!important;}
body #contents h1.programs_heading,body #contents h1.admission_heading,body #contents h1.faq_heading,body .fkids_news_page>h1{font-size:40px!important;line-height:1.5!important;}
body #contents h2.programs_heading,body #contents h2.admission_heading,body #fkids_about_page h2.about_heading{font-size:30px!important;color:#ff6834!important;}
body #fkids_about_page h2.about_heading .heading_jp{font-size:30px!important;color:#ff6834!important;}
body #contents .programs_heading,body #contents .admission_heading,body #fkids_about_page .about_heading{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:18px!important;}
body #contents .programs_heading>img,body #contents .admission_heading>img,body #fkids_about_page .about_heading .heading_icon{position:static!important;left:auto!important;top:auto!important;flex:0 0 62px!important;width:62px!important;height:62px!important;object-fit:contain!important;margin:0!important;}
body #contents .programs_heading>span,body #contents .admission_heading>span{min-width:0;max-width:calc(100% - 80px);}
body #contents h1.programs_heading>span,body #contents h1.admission_heading>span{max-width:100%;}
body #contents h1.programs_heading>span:after,body #contents h1.admission_heading>span:after{height:3px;background:#9bd7b1;}
body #contents h1.faq_heading>.fkids_heading_bar{height:3px;background:#9bd7b1;}
@media(max-width:767px){
 body #contents h1.programs_heading,body #contents h1.admission_heading,body #contents h1.faq_heading,body .fkids_news_page>h1{font-size:29px!important;}
 body #contents h2.programs_heading,body #contents h2.admission_heading,body #fkids_about_page h2.about_heading,body #fkids_about_page h2.about_heading .heading_jp{font-size:23px!important;}
 body #contents .programs_heading,body #contents .admission_heading,body #fkids_about_page .about_heading{gap:12px!important;}
 body #contents .programs_heading>img,body #contents .admission_heading>img,body #fkids_about_page .about_heading .heading_icon{flex:0 0 43px!important;width:43px!important;height:43px!important;}
 body #contents .programs_heading>span,body #contents .admission_heading>span{max-width:calc(100% - 55px);}
 body #contents h1.programs_heading>span,body #contents h1.admission_heading>span{max-width:100%;}
}

/* Align decorations with the Japanese line, above the English subtitle. */
body #contents .programs_heading,body #contents .admission_heading,body #fkids_about_page .about_heading{align-items:flex-start!important;}
body #contents .programs_heading>img,body #contents .admission_heading>img,body #fkids_about_page .about_heading .heading_icon{transform:translateY(-8px);}
@media(max-width:767px){body #contents .programs_heading>img,body #contents .admission_heading>img,body #fkids_about_page .about_heading .heading_icon{transform:translateY(-4px);}}

/* Center the wording independently of the illustration. */
body #contents .programs_heading>.category_title_label,body #contents .admission_heading>.category_title_label{position:relative;max-width:calc(100% - 155px);}
body #contents .category_title_label>img,body #fkids_about_page .about_heading .heading_label>.heading_icon{position:absolute!important;left:-80px!important;top:0!important;width:62px!important;height:62px!important;object-fit:contain;transform:translateY(-8px);margin:0!important;}
body #fkids_about_page .about_heading>.heading_label{max-width:calc(100% - 155px);}
body.fkids_admission_page .admission_menu a{min-width:270px;text-align:center;}
body.fkids_admission_page #admission-facilities{padding-top:50px;}
@media(max-width:767px){
 body #contents .programs_heading>.category_title_label,body #contents .admission_heading>.category_title_label,body #fkids_about_page .about_heading>.heading_label{max-width:calc(100% - 100px);}
 body #contents .category_title_label>img,body #fkids_about_page .about_heading .heading_label>.heading_icon{left:-53px!important;width:43px!important;height:43px!important;transform:translateY(-4px);}
 body.fkids_admission_page .admission_menu a{min-width:0;flex:1 1 145px;}
 body.fkids_admission_page #admission-facilities{padding-top:35px;}
}

.mobile_page_english{display:none;}
@media(max-width:767px){
 body.fkids_middle{--mobile-title-bg:#fff8e8;}
 body.fkids_programs_page,body.fkids_admission_page,body.fkids_access_page{--mobile-title-bg:#fff;}
 body.fkids_middle #pagetitle{height:auto!important;display:flex!important;flex-direction:column!important;padding-top:0!important;margin-bottom:0!important;background:var(--mobile-title-bg);}
 body.fkids_middle #pagetitle:before{display:none!important;}
 body.fkids_middle #pagetitle .main_img{float:none!important;width:100%!important;height:70vw!important;min-height:260px;max-height:380px;flex-shrink:0;}
 body.fkids_middle #pagetitle .main_img img{width:100%!important;height:100%!important;object-fit:cover;}
 body.fkids_middle #pagetitle .main_side{position:relative!important;float:none!important;left:auto!important;top:auto!important;width:90%!important;height:auto!important;margin:-65px auto 0!important;padding:0!important;z-index:2;}
 body.fkids_middle #pagetitle .main_side .main_title{box-sizing:border-box;position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;margin:0!important;padding:34px 15px 25px!important;border-radius:14px 14px 0 0!important;background:var(--mobile-title-bg)!important;text-align:center;}
 body.fkids_middle #pagetitle .main_side .main_title .icon{position:absolute!important;float:none!important;top:-24px!important;left:50%!important;transform:translateX(-50%);width:56px!important;height:56px!important;margin:0!important;}
 body.fkids_middle #pagetitle .main_side .main_title .icon img{display:block;width:56px!important;height:56px!important;object-fit:contain;margin:0!important;}
 body.fkids_middle #pagetitle .main_side .main_title h1,body.fkids_middle #pagetitle .main_side .main_title h3{float:none!important;width:100%!important;margin:0!important;font-size:25px!important;line-height:1.6!important;writing-mode:horizontal-tb!important;}
 body.fkids_middle #pagetitle .mobile_page_english{display:block!important;margin:8px 0 0!important;color:#44975c;font-size:12px!important;line-height:1.6;letter-spacing:.09em;overflow-wrap:anywhere;}
 body.fkids_middle #contents h1.programs_heading,body.fkids_middle #contents h1.admission_heading,body.fkids_middle #contents h1.faq_heading{display:none!important;}
 body.fkids_middle #contents.programs_contents,body.fkids_middle #contents.admission_contents{padding-top:20px;}
 body.fkids_access_page #pagetitle{padding-top:115px!important;}
 body.fkids_access_page #pagetitle .main_side{margin:0 auto!important;}
}

/* Fade mobile hero photos to white behind the shared navigation. */
@media(max-width:767px){
 body.fkids_middle #pagetitle .main_img{position:relative;isolation:isolate;}
 body.fkids_middle #pagetitle .main_img::after{content:"";display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 16%,rgba(255,255,255,.35) 34%,rgba(255,255,255,0) 58%);pointer-events:none;}
}
/* Raised title tab at the transition from the hero to the page content. */
body.has_middle_title_tab{--middle-content-color:#fff8e8;}
body.has_middle_title_tab.fkids_programs_page,body.has_middle_title_tab.fkids_admission_page{--middle-content-color:#fff;}
body.has_middle_title_tab #pagetitle{margin-bottom:0!important;}
.middle_title_transition{box-sizing:border-box;clear:both;float:left;width:100%;padding:48px 5% 0;background:linear-gradient(to bottom,#fff8e8 0 95px,var(--middle-content-color) 95px 100%);position:relative;}
.middle_title_tab{box-sizing:border-box;width:max-content;min-width:340px;max-width:100%;margin:0 auto;background:var(--middle-content-color);border-radius:18px 18px 0 0;padding:23px 38px 0;text-align:center;}
.middle_title_tab h2{font-size:36px!important;line-height:1.6;margin:0;color:#44975c;font-weight:700;}
.middle_title_tab p{font-size:17px;line-height:1.7;letter-spacing:.1em;color:#44975c;margin:12px 0 25px;}
.middle_title_tab>span{display:block;width:100%;height:3px;border-radius:3px;background:#9bd7b1;}
body.has_middle_title_tab #contents h1.programs_heading,body.has_middle_title_tab #contents h1.admission_heading,body.has_middle_title_tab #contents h1.faq_heading{display:none!important;}
@media(max-width:767px){
 body.has_middle_title_tab #pagetitle .main_side{display:none!important;}
 .middle_title_transition{padding:0 5%;margin-top:-58px;z-index:2;background:linear-gradient(to bottom,transparent 0 58px,var(--middle-content-color) 58px 100%);}
 .middle_title_tab{min-width:0;width:100%;padding:22px 16px 20px;border-radius:14px 14px 0 0;}
 .middle_title_tab h2{font-size:25px!important;}
 .middle_title_tab p{font-size:12px;letter-spacing:.08em;margin:8px 0 17px;overflow-wrap:anywhere;}
 .middle_title_tab>span{width:70%;height:3px;margin:auto;}
}

.middle_title_mobile_icon{display:none;}
@media(max-width:767px){
 body.fkids_programs_page .middle_title_tab,body.fkids_admission_page .middle_title_tab{position:relative;padding-top:35px;}
 .middle_title_tab .middle_title_mobile_icon{display:block;position:absolute;top:-24px;left:50%;transform:translateX(-50%);width:56px;height:56px;object-fit:contain;}
}