@charset "utf-8";
@font-face {font-family:'Zen Maru Gothic';font-style:normal;font-weight:500;src:url('../../../s/zenmarugothic/v19/o-0XIpIxzW5b-RxT-6A8jWAtCp-cGWtCPA.ttf') format('truetype');font-display:swap;}
@font-face {font-family:'Quicksand';font-style:normal;font-weight:500;src:url('../../../s/quicksand/v37/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkM0o18E.ttf') format('truetype');font-display:swap;}
#idx_main .slider .slick-slide picture {display:block;width:100%;height:100%;}
#idx_main .slider .top_photo {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
#idx_main .main_copy h3 .line {display:block;white-space:nowrap;}
#access {scroll-margin-top:3rem;}
#idx_main .slick-prev,#idx_main .slick-next {z-index:3;border:0;padding:0;pointer-events:auto;}
#idx_main .slick-prev:focus-visible,#idx_main .slick-next:focus-visible {outline:3px solid #54b565;outline-offset:3px;}
header #mainnavi .navi01 li a.navi01_02:before,footer .footer_navi li a.navi01_02 {background-image:url('../../images/top2026/calendar.png');background-size:3.9rem auto;}
header #mainnavi .navi01 li a.navi01_03:before,footer .footer_navi li a.navi01_03 {background-image:url('../../images/top2026/pencil.png');background-size:3.9rem auto;}
header #mainnavi .navi01 li a.navi01_04:before,footer .footer_navi li a.navi01_04 {background-image:url('../../images/top2026/clock.png');background-size:3.9rem auto;}
header #mainnavi .navi01 li a.navi01_05:before,footer .footer_navi li a.navi01_05 {background-image:url('../../images/top2026/faq.png');background-size:3.9rem auto;}
@media(min-width:768px){
 header #mainnavi {display:block!important;width:calc(100% - 35rem);padding-right:4rem;box-sizing:border-box;}
 header #mainnavi .navi01 {float:none;width:100%;margin:0;gap:2rem;justify-content:space-between;flex-wrap:wrap;align-content:center;}
 header #mainnavi .navi01 li {flex:0 0 auto;margin:0;}
 header #mainnavi .navi01 li a {white-space:nowrap;}
 header #mainnavi .navi01 li.recruit {width:14rem;margin:0;}
 header #mainnavi .navi01 li.contact {width:20rem;margin:0;}
 header #mainnavi .navi01 li.recruit a,header #mainnavi .navi01 li.contact a {padding-left:6rem;}
 header #mainnavi .navi01 li.recruit a:hover,header #mainnavi .navi01 li.contact a:hover {letter-spacing:0;}
 #idx_main {height:58.5rem;padding-bottom:0;background-image:url("../../images/idx_main_back_yellow.svg");}
 #idx_main .news {width:min(86rem,calc(100% - 45rem));bottom:4.5rem;z-index:4;}
 #idx_main .slider {height:58.5rem;}
 #idx_main .slider .slick-slide {width:78rem;height:58.5rem;}
 #idx_main .main_copy {height:51.5rem;padding-left:4rem;}
 #idx_main .main_copy h3 {font-size:2.7rem;line-height:5.6rem;}
 #idx_main .main_copy .cloud01_01 {top:8rem;left:27rem;}
 #idx_main .main_copy .cloud01_02 {top:37rem;left:29rem;}
 #idx_main .main_copy .cloud01_03 {top:43rem;left:3rem;}
}
@media(max-width:767px){
 header #mainnavi .navi01 li a.navi01_02 {background-image:url('../../images/top2026/calendar.png');background-size:3.9rem auto;}
 header #mainnavi .navi01 li a.navi01_03 {background-image:url('../../images/top2026/pencil.png');background-size:3.9rem auto;}
 header #mainnavi .navi01 li a.navi01_04 {background-image:url('../../images/top2026/clock.png');background-size:3.9rem auto;}
 header #mainnavi .navi01 li a.navi01_05 {background-image:url('../../images/top2026/faq.png');background-size:3.9rem auto;}
 #idx_main {height:100vh;max-height:56rem;padding:0;display:block;}
 #idx_main .main_copy {position:absolute;top:14.3rem;left:0;padding:0 4rem;z-index:1;pointer-events:none;}
 #idx_main .main_copy h3 {font-size:1.7rem;line-height:3rem;}
 #idx_main .main_copy h3 .line {display:block;width:max-content;max-width:100%;padding-right:1rem;margin-bottom:1rem;}
 #idx_main .main_copy .cloud01_01 {top:-1.3rem;right:-0.5rem;}
 #idx_main .main_copy .cloud01_02 {top:27.8rem;right:1.2rem;}
 #idx_main .main_copy .cloud01_03 {display:block;top:31.5rem;left:-1rem;}
 #idx_main .slider {float:left;width:100%;height:100%;margin:0;aspect-ratio:auto;}
 #idx_main .slider .slick-slide {height:100%;aspect-ratio:auto;}
 #idx_main .slider .slick-list {border-radius:0;}
 #idx_main .slick-prev,#idx_main .slick-next {display:block!important;width:4.4rem;height:4.4rem;bottom:1rem;border-radius:50%;background-size:1.2rem auto;}
 #idx_main .slick-prev {left:1rem;}
 #idx_main .slick-next {left:auto;right:1rem;}
 #idx_main .slick-prev:before {display:none;}
 #idx_main .news {position:absolute;bottom:7rem;left:7.85%;width:84.3%;z-index:4;background:#fff;border-radius:1rem;padding:1.5rem 2rem;box-sizing:border-box;}
 #idx_main .news h4 {font-size:1.2rem;letter-spacing:0.15em;line-height:2.2rem;}
 #idx_main .news_slider li {height:2.4rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
 #idx_main .news_slider li a {display:block;}
 #idx_containar {margin-top:0;}
}

/* ABOUT: shared story and cream background */
#idx_containar, #idx_menu {background-color:#fff8e8;}
#idx_about .about_wrap::after {content:"";display:block;clear:both;}
#idx_about .about_story {position:relative;z-index:2;box-sizing:border-box;background:#fff8e8;color:#51656f;border-radius:2rem;padding:3rem;}
#idx_about .about_story h3 {font-size:clamp(26px,2.4vw,40px);line-height:1.3;letter-spacing:0.07em;color:#54b565;margin:0 0 20px;}
#idx_about .about_story h4 {font-size:clamp(18px,1.5vw,23px);line-height:1.5;font-weight:700;margin:0 0 10px;}
#idx_about .about_story h5 {font-size:clamp(17px,1.3vw,21px);line-height:1.7;font-weight:700;letter-spacing:0;margin:0 0 20px;}
#idx_about .about_story p {font-size:16px;line-height:1.95;letter-spacing:0;margin:0 0 16px;overflow-wrap:break-word;}
#idx_about .about_story p:last-child {margin-bottom:0;}
@media(min-width:768px){
 #idx_about .about_story {float:right;clear:both;width:58rem;max-width:60%;margin:-6rem -8.4rem 6rem 0;}
 #idx_about .wave3 {background-image:url("../../images/idx_about_back03_cream.svg");}
}
@media(max-width:767px){
 #idx_about {background-color:#fff8e8;padding-top:7rem;padding-bottom:4rem;}
 #idx_about::before {background-color:#ffcc33;}
 #idx_about .wave3 {background-image:url("../../images/idx_about_back03_sp_cream.svg");}
 #idx_about .about_story {float:left;clear:both;width:100%;max-width:none;margin:3.2rem 0 0;padding:2.4rem 0 0;border-radius:0;}
 #idx_about .about_story h3 {font-size:28px;letter-spacing:0.04em;margin-bottom:20px;}
 #idx_about .about_story h4 {font-size:19px;}
 #idx_about .about_story h5 {font-size:17px;line-height:1.7;margin-bottom:18px;}
 #idx_about .about_story p {font-size:15px;line-height:1.95;}
 #idx_about .about01 .text01 {font-size:15px;line-height:1.9;}
}

/* ABOUT icons 02 and 06: 3 times the original size */
@media(min-width:768px){
 #idx_about .icon02 {width:12.9rem;}
 #idx_about .icon06 {width:10.8rem;}
}
@media(max-width:767px){
 #idx_about .icon02 {width:8.7rem;}
 #idx_about .icon06 {width:7.5rem;}
}
/* Match the right-hand reference: orange lower ABOUT and beige curved edge. */
@media(min-width:768px){
 #idx_about {background-color:#ff6633;background-image:none;}
 #idx_about .wave3 {background-image:url("../../images/idx_about_back03_cream.svg");}
}
/* Keep the top boundary shaped by the original orange wave. */
@media(min-width:768px){
 #idx_about::before {content:"";position:absolute;top:0;left:0;width:100%;height:85.9rem;background:#ffcc33;pointer-events:none;}
}
/* Cover fractional-pixel seams between the hero and ABOUT backgrounds. */
@media(min-width:768px){
 #idx_containar {margin-top:-1px;}
 #idx_about::before {top:-1px;height:calc(85.9rem + 1px);}
}
/* Place the lower curve midway across the lower photo, independent of story height. */
@media(min-width:768px){
 #idx_about .about_wrap {isolation:isolate;}
 #idx_about .wave3 {display:none;}
 #idx_about .about01::after {content:"";position:absolute;z-index:-1;left:50%;top:calc(100% - 9.3rem);width:100vw;height:calc(100% + 100rem);transform:translateX(-50%);pointer-events:none;background-image:url("../../images/idx_about_back03_cream.svg"),linear-gradient(to bottom,transparent 0,transparent 10.7rem,#fff8e8 10.7rem,#fff8e8 100%);background-position:left top,left top;background-repeat:repeat-x,no-repeat;background-size:auto 10.7rem,100% 100%;}
}

/* Bring CONTENTS closer to the end of the ABOUT story. */
@media(min-width:768px){
 #idx_about {margin-bottom:0;}
 #idx_about .about_story {margin-bottom:0;}
 #idx_menu {padding-top:4rem;}
}
@media(max-width:767px){
 #idx_about {padding-bottom:1.5rem;}
}
/* Seasonal activities: original sample card layout */
#idx_menu .activities_grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7rem 4.1%;}
#idx_menu .activities_intro {position:relative;box-sizing:border-box;min-width:0;aspect-ratio:452/420;border-radius:3rem;background:#e9f6fd url("../../images/idx_menu01_01.png") center/100% 100% no-repeat;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px;color:#51656f;}
#idx_menu .activities_intro h2 {font-size:clamp(20px,1.8vw,30px);line-height:1.5;font-weight:700;margin:0 0 18px;padding-top:65px;background:url("../../images/idx_menu_icon.png") center top/56px auto no-repeat;}
#idx_menu .activities_intro h2 span {display:block;font-size:clamp(10px,1vw,16px);letter-spacing:.04em;margin-top:8px;font-weight:400;}
#idx_menu .activities_intro p {font-size:clamp(12px,1vw,16px);line-height:1.8;letter-spacing:0;margin:0;}
#idx_menu .activities_intro p br {display:none;}
#idx_menu .activity_card {position:relative;margin:0;min-width:0;aspect-ratio:452/420;}
#idx_menu .activity_card img {display:block;width:100%;height:100%;object-fit:cover;border-radius:3rem;}
#idx_menu .activity_card figcaption {position:absolute;top:-1.5rem;right:0;display:flex;align-items:center;writing-mode:vertical-rl;box-sizing:border-box;width:8.4rem;padding:2.6rem 2rem 2.6rem 1rem;background:#fff;border-radius:0 0 0 3rem;color:#51656f;font-size:2.2rem;line-height:1.6;font-weight:700;letter-spacing:.05em;}
#idx_menu .activity_card figcaption span {position:absolute;top:2.6rem;right:.7rem;color:#bbb;font-size:1rem;line-height:1.5;letter-spacing:.15em;font-weight:400;}
@media(max-width:767px){
 #idx_menu {padding-top:28px;}
 #idx_menu .activities_grid {grid-template-columns:1fr;gap:30px;}
 #idx_menu .activities_intro {grid-column:1/-1;aspect-ratio:auto;min-height:230px;padding:24px;border-radius:20px;}
 #idx_menu .activities_intro h2 {font-size:24px;padding-top:60px;}
 #idx_menu .activities_intro h2 span {font-size:14px;}
 #idx_menu .activities_intro p {font-size:15px;}
 #idx_menu .activity_card {aspect-ratio:auto;padding-bottom:0;}
 #idx_menu .activity_card img {height:auto;aspect-ratio:380/250;border-radius:14px;object-fit:cover;}
 #idx_menu .activity_card figcaption {position:relative;top:auto;right:auto;width:74%;margin:-72px auto 0;padding:30px 12px 18px;display:block;writing-mode:horizontal-tb;text-align:center;border-radius:16px 16px 0 0;font-size:23px;line-height:1.5;background:#fffdf5;}
 #idx_menu .activity_card figcaption::before {content:"";position:absolute;top:-25px;left:50%;transform:translateX(-50%);width:46px;height:46px;background:url("../../images/top2026/pencil.png") center/contain no-repeat;}
 #idx_menu .activity_card figcaption span {position:static;display:block;margin-top:4px;font-size:13px;line-height:1.5;letter-spacing:.15em;color:#ccc;writing-mode:horizontal-tb;}
}

/* Each seasonal photo has its own illustrated icon. */
#idx_menu .activity_card figcaption::before {content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:4.8rem;height:4.8rem;background-position:center;background-size:contain;background-repeat:no-repeat;}
#idx_menu .activity_card figcaption {padding-top:5rem;}
#idx_menu .activity_card figcaption span {top:5rem;}
#idx_menu .activity_card:nth-of-type(1) figcaption::before {background-image:url("../../images/activities/icon-setsubun.png");}
#idx_menu .activity_card:nth-of-type(2) figcaption::before {background-image:url("../../images/activities/icon-water-play.png");}
#idx_menu .activity_card:nth-of-type(3) figcaption::before {background-image:url("../../images/activities/icon-halloween.png");}
#idx_menu .activity_card:nth-of-type(4) figcaption::before {background-image:url("../../images/activities/icon-christmas.png");}
@media(max-width:767px){
 #idx_menu .activity_card figcaption {padding-top:30px;}
 #idx_menu .activity_card figcaption::before {top:-30px;width:60px;height:60px;}
 #idx_menu .activity_card figcaption span {position:static;}
}
/* Restore five linked CONTENTS categories. */
#idx_menu .contents_link {display:block;min-width:0;color:inherit;text-decoration:none;}
#idx_menu .contents_grid .activities_intro h2 {font-weight:400;letter-spacing:.15em;font-size:1.8rem;margin:0;}
#idx_menu .contents_grid .activity_card figcaption::before {background-image:var(--contents-icon);}
@media(max-width:767px){
 #idx_menu .contents_grid .activities_intro h2 {font-size:20px;}
 #idx_menu .contents_grid .activity_card figcaption span {font-size:11px;letter-spacing:.06em;overflow-wrap:anywhere;}
}

/* CONTENTS: soft mint garden with the supplied rainbow. */
#idx_menu .contents_grid .activities_intro {background-color:#eaf6ed;background-image:radial-gradient(circle,rgba(255,255,255,.8) 2px,transparent 2.5px);background-size:28px 28px;border:1px solid #dceee0;overflow:hidden;}
#idx_menu .contents_grid .activities_intro::before {content:"";position:absolute;width:125%;height:38%;left:-12%;bottom:-24%;border-radius:50%;background:#d6ebd7;pointer-events:none;}
#idx_menu .contents_grid .activities_intro h2 {position:relative;color:#51656f;font-size:clamp(18px,1.5vw,26px);padding-top:120px;background-image:url("../../images/contents/rainbow.png");background-position:center top;background-size:108px auto;line-height:1.5;}
@media(max-width:767px){
 #idx_menu .contents_grid .activities_intro {min-height:230px;background-size:24px 24px;}
 #idx_menu .contents_grid .activities_intro h2 {font-size:20px;padding-top:100px;background-size:88px auto;}
}
/* Rounded nursery-visit and contact banner above RECRUIT. */
#idx_menu {padding-bottom:6rem;}
.visit_banner_wrap {float:left;width:100%;box-sizing:border-box;padding:0 7.85% 8rem;position:relative;z-index:2;}
.visit_banner {display:flex;align-items:center;justify-content:center;gap:22px;width:min(100%,760px);box-sizing:border-box;margin:0 auto;padding:20px 26px;background:#54b948;border-radius:999px;box-shadow:0 5px 0 #ffe574;color:#143b2e;text-decoration:none;transition:transform .2s,background-color .2s;}
.visit_banner:hover {background:#62c455;transform:translateY(-2px);}
.visit_banner:focus-visible {outline:3px solid #008c65;outline-offset:7px;}
.visit_banner_child {display:block;flex:0 0 62px;width:62px;height:62px;object-fit:contain;}
.visit_banner_text {font-size:clamp(18px,1.9vw,26px);font-weight:700;line-height:1.5;letter-spacing:.03em;}
.visit_banner_arrow {display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#fffdf5;color:#54b948;font-size:38px;font-weight:700;line-height:1;}
@media(max-width:767px){
 #idx_menu {padding-bottom:36px;}
 .visit_banner_wrap {padding-bottom:48px;}
 .visit_banner {gap:10px;padding:16px 14px;}
 .visit_banner_child {flex-basis:36px;width:36px;height:44px;}
 .visit_banner_text {font-size:16px;letter-spacing:0;}
 .visit_banner_arrow {flex-basis:32px;width:32px;height:32px;font-size:26px;}
}
.visit_banner_image{display:block;width:min(100%,770px);margin:0 auto;}
.visit_banner_image img{display:block;width:100%;height:auto;}
.visit_banner_image:hover{opacity:.9;}
.visit_banner_image:focus-visible{outline:3px solid #008c65;outline-offset:4px;border-radius:999px;}

/* Recruitment photo and compact desktop banner. */
#idx_recruit .recruit_img img {width:100%;height:100%;object-fit:cover;object-position:60% center;}
@media(min-width:768px){
 .visit_banner_image {width:min(100%,560px);margin:0 auto;}
}
/* Category icons above each title; labels blend into the beige section. */
#idx_menu .contents_grid .activity_card figcaption {background:#fff8e8;padding-top:5.5rem;}
#idx_menu .contents_grid .activity_card figcaption::before {display:none;}
#idx_menu .contents_grid .activity_card img.contents_icon {position:absolute;top:.3rem;left:50%;transform:translateX(-50%);display:block;width:4.2rem;height:4.2rem;object-fit:contain;aspect-ratio:auto;border-radius:0;}
#idx_menu .contents_grid .activity_card figcaption span {top:5.5rem;}
@media(max-width:767px){
 #idx_menu .contents_grid .activity_card figcaption {background:#fff8e8;padding-top:30px;}
 #idx_menu .contents_grid .activity_card img.contents_icon {top:-24px;width:46px;height:46px;}
 #idx_menu .contents_grid .activity_card figcaption span {position:static;}
}
/* White labels with a more compact mobile footprint. */
#idx_menu .contents_grid .activity_card figcaption {background:#fff;}
@media(max-width:767px){
 #idx_menu .contents_grid .activity_card figcaption {width:66%;margin:-56px auto 0;padding:20px 8px 10px;border-radius:12px 12px 0 0;font-size:21px;line-height:1.35;background:#fff;}
 #idx_menu .contents_grid .activity_card img.contents_icon {top:-22px;width:38px;height:38px;}
 #idx_menu .contents_grid .activity_card figcaption span {margin-top:3px;font-size:10px;line-height:1.3;letter-spacing:.04em;}
}
/* CONTENTS cards gently fade on rollover. */
#idx_menu .contents_link {transition:opacity .25s ease;}
@media(hover:hover){
 #idx_menu .contents_link:hover {opacity:.7;}
}
#idx_menu .contents_link:focus-visible {opacity:.7;outline:3px solid #54b565;outline-offset:5px;border-radius:3rem;}
@media(prefers-reduced-motion:reduce){
 #idx_menu .contents_link {transition:none;}
}
/* Original smiling sprout mascot for recruitment. */
#idx_recruit .recruit01 .recruit_con::before {background-image:url("../../images/recruit-sprout-icon.png");background-position:center top;background-size:contain;}
/* Bright Instagram section below recruitment. */
#fkids_instagram {float:left;width:100%;position:relative;background:#ffe8ee;padding:70px 0;box-sizing:border-box;color:#51656f;}
#fkids_instagram .fkids_insta_wrap {width:84.3%;max-width:1400px;margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:45px;align-items:center;}
#fkids_instagram h2 {font-size:26px;letter-spacing:.1em;display:flex;align-items:center;gap:15px;margin:0 0 16px;}
.insta_camera {width:34px;height:34px;border:3px solid #df7296;border-radius:10px;position:relative;box-sizing:border-box;}
.insta_camera::before {content:"";position:absolute;inset:7px;border:3px solid #df7296;border-radius:50%;}
.insta_camera::after {content:"";position:absolute;right:4px;top:4px;width:4px;height:4px;border-radius:50%;background:#df7296;}
#fkids_instagram p {font-size:15px;line-height:1.8;margin:0 0 22px;}
.insta_check {display:flex;justify-content:space-between;align-items:center;background:white;border-radius:24px;padding:16px 24px;font-size:20px;font-weight:700;color:#bf5078;max-width:260px;box-sizing:border-box;}
.insta_check:hover {opacity:.7;}
.insta_qr {display:block;width:140px;text-align:center;margin-top:24px;}
.insta_qr img {width:120px;height:120px;border-radius:12px;}
.insta_qr span {display:block;font-size:12px;white-space:nowrap;}
.fkids_insta_gallery {min-width:0;}
.fkids_insta_slider {display:flex;overflow:hidden;}
.fkids_insta_slider>a {flex:0 0 33.33%;}
.fkids_insta_slider .slick-list {width:100%;}
.fkids_insta_slider a {display:block;padding:0 8px;box-sizing:border-box;}
.fkids_insta_slider img {display:block;width:100%;aspect-ratio:1;height:auto;object-fit:cover;border-radius:24px;}
.fkids_insta_slider a:hover {opacity:.75;}
.insta_controls {display:flex;justify-content:center;gap:1px;margin-top:24px;}
.insta_controls button {border:0;background:#fff;color:#bf5078;font-size:24px;width:60px;height:48px;cursor:pointer;}
.insta_prev {border-radius:20px 0 0 20px;}.insta_next {border-radius:0 20px 20px 0;}
@media(max-width:767px){
 #fkids_instagram {padding:40px 0;}
 #fkids_instagram .fkids_insta_wrap {grid-template-columns:1fr;gap:26px;}
 .fkids_insta_title {text-align:center;}
 #fkids_instagram h2 {justify-content:center;font-size:24px;}
 .insta_check,.insta_qr {margin-left:auto;margin-right:auto;}
 .insta_qr {margin-top:18px;}
 .fkids_insta_slider img {border-radius:18px;}
}

/* Soft waves between Instagram and the surrounding sections. */
#fkids_instagram {padding-top:140px;padding-bottom:140px;}
#fkids_instagram::before,#fkids_instagram::after {content:"";position:absolute;left:0;width:100%;height:90px;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;}
#fkids_instagram::before {top:-1px;background-image:url("../../images/insta-wave-top.svg");}
#fkids_instagram::after {bottom:-1px;background-image:url("../../images/insta-wave-bottom.svg");}
#fkids_instagram .fkids_insta_wrap {position:relative;z-index:1;}
@media(max-width:767px){
 #fkids_instagram {padding-top:82px;padding-bottom:82px;}
 #fkids_instagram::before,#fkids_instagram::after {height:44px;}
}
/* Match the lower curve to each layout's actual page background. */
#fkids_instagram::after {bottom:-1px;height:70px;background-image:url("../../images/insta-wave-bottom.svg?v=2");}
@media(max-width:767px){
 #fkids_instagram::after {height:40px;background-image:url("../../images/insta-wave-bottom-sp.svg");}
}
/* Close the empty gap beneath Instagram. */
#contact {margin-top:0;}
#fkids_instagram {padding-bottom:95px;}
@media(max-width:767px){
 #contact {margin-top:0;padding-top:20px;}
 #fkids_instagram {padding-bottom:55px;}
}
/* Use one continuous cream color beneath the pink curve. */
#contact {background-color:#fff8e8;}
#fkids_instagram::after {background-image:url("../../images/insta-wave-bottom.svg?v=3");}
@media(max-width:767px){
 #fkids_instagram::after {background-image:url("../../images/insta-wave-bottom-sp.svg?v=3");}
}
/* NEWS, light-blue contact area and curved F.Kids footer. */
#fkids_news {float:left;width:100%;box-sizing:border-box;padding:60px 0 70px;background:#fff8e8;}
.fkids_news_wrap {width:84.3%;max-width:1100px;margin:auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px 36px;align-items:center;}
#fkids_news h2 {font-size:20px;line-height:1.5;margin:0;}
#fkids_news h2 span {display:block;font-size:36px;letter-spacing:.12em;color:#00a469;margin-bottom:10px;}
.fkids_news_items a {display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #dbded6;padding:22px 0;font-size:16px;}
.news_list_button {grid-column:2;justify-self:end;background:white;border-radius:20px;padding:12px 24px;color:#00a469;font-size:16px;}
#contact {margin-top:0;padding:30px 6% 110px;background:#fff8e8;}
#contact .contactbox.fkids_contactbox {float:none;width:100%;max-width:1300px;margin:auto;background:#dff3fc;padding:50px 5%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;text-align:left;border-radius:36px;}
#contact .contactbox::before {display:none;}
#contact .fkids_contact_text h3 {color:#51656f;font-size:25px;line-height:1.5;margin:0 0 18px;}
#contact .fkids_contact_text h3 .en {display:block;font-size:36px;color:#238da7;letter-spacing:.1em;margin-bottom:8px;}
#contact .fkids_contact_text p {font-size:16px;line-height:1.9;margin:0;}
#contact .fkids_contact_actions {display:flex;flex-direction:column;gap:18px;align-items:stretch;}
#contact .contactbox .contact_mail {display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px;padding:20px;box-sizing:border-box;border-radius:24px;background:#52b565;color:white;font-size:18px;font-weight:700;}
#contact .contact_mail img {width:40px;height:40px;object-fit:contain;}
#contact .contactbox .contact_tel {display:flex;align-items:center;justify-content:center;gap:14px;width:100%;color:#51656f;font-size:26px;}
#contact .contact_tel img {width:30px;height:30px;object-fit:contain;filter:brightness(0) saturate(100%) opacity(.65);}
footer {padding-top:60px;}
footer::before {height:75px;top:-74px;background-image:url("../../images/footer-wave-fkids.svg");background-size:100% 100%;background-repeat:no-repeat;}
footer .footer_wrap {width:84.3%;min-width:0;max-width:1300px;}
footer .footer_info {height:auto;gap:40px;flex-wrap:wrap;}
.fkids_footer_brand {display:flex;align-items:center;gap:20px;color:white;}
.fkids_footer_brand>img {width:130px;height:145px;object-fit:contain;}
.fkids_footer_brand>span {font-size:32px;font-weight:700;line-height:1.4;}
.fkids_footer_brand small {display:block;font-size:17px;}
footer .footer_info .address {flex-wrap:wrap;gap:16px;}
footer .footer_info .address dt {margin-right:0;}
footer .footer_info .address dd a {display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:.05em;}
footer .footer_tel_icon {width:28px;height:28px;object-fit:contain;}
footer .footer_navi {height:auto;flex-wrap:wrap;gap:24px;padding:32px 0;}
footer .footer_navi li {margin:0;}
@media(max-width:767px){
 #fkids_news {padding:36px 0 40px;}
 .fkids_news_wrap {grid-template-columns:1fr;gap:18px;}
 #fkids_news h2 span {font-size:28px;}
 .news_list_button {grid-column:1;}
 #contact {padding:20px 7.85% 76px;}
 #contact .contactbox.fkids_contactbox {grid-template-columns:1fr;gap:24px;padding:30px 20px;border-radius:24px;text-align:center;}
 #contact .fkids_contact_text h3 {font-size:21px;}
 #contact .fkids_contact_text h3 .en {font-size:30px;}
 #contact .fkids_contact_text p {font-size:15px;}
 #contact .contactbox .contact_mail {font-size:15px;padding:14px;}
 #contact .contact_mail img {width:32px;height:32px;}
 #contact .contactbox .contact_tel {font-size:23px;}
 footer::before {height:45px;top:-44px;}
 footer .footer_info {flex-direction:column;gap:24px;}
 .fkids_footer_brand>img {width:100px;height:110px;}
 .fkids_footer_brand>span {font-size:28px;}
 footer .footer_info .address {display:block;text-align:center;}
 footer .footer_info .address dd a {justify-content:center;}
}

/* CONTACT reference: centered LINE and four colorful nursery buttons. */
#contact .contactbox.reference_contact {display:block;background:#d5f5ff;text-align:center;padding:64px 6% 60px;}
#contact .reference_contact h3 {font-size:26px;line-height:1.6;color:#252a2d;margin:0 0 35px;}
#contact .reference_contact h3 .en {display:block;color:#ff6633;font-size:40px;letter-spacing:.14em;line-height:1.5;margin-bottom:4px;}
#contact .reference_contact_intro {font-size:21px;line-height:1.9;color:#252a2d;letter-spacing:.1em;margin:0 0 40px;}
.reference_contact_buttons {width:min(100%,730px);margin:auto;}
.official_line {width:100%;display:flex;align-items:center;justify-content:center;gap:30px;background:#fff;border:4px solid #2bad36;border-radius:999px;color:#2bad36;font-size:34px;font-weight:700;padding:15px 25px;box-sizing:border-box;opacity:1;}
.official_line span {display:flex;justify-content:center;align-items:center;width:54px;height:54px;border:4px solid #2bad36;border-radius:50%;font-size:44px;line-height:1;}
.branch_phone_grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin-top:40px;}
.branch_phone {display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:999px;color:white;padding:12px 18px;font-family:inherit;opacity:1;box-sizing:border-box;}
.branch_plus {background:#2bad36;}.branch_first {background:#ff6633;}.branch_fab {background:#ff6285;}.branch_grad {background:#6d6aff;}
.branch_phone>span {font-size:27px;font-weight:700;letter-spacing:.07em;line-height:1.3;white-space:nowrap;}
.branch_phone small {display:block;font-size:15px;letter-spacing:.03em;}
.branch_phone .branch_tel_icon {width:34px;height:34px;object-fit:contain;}
.branch_phone .branch_arrow {width:44px;height:44px;object-fit:contain;}
@media(max-width:767px){
 #contact .contactbox.reference_contact {padding:30px 16px 32px;}
 #contact .reference_contact h3 {font-size:22px;margin-bottom:22px;}
 #contact .reference_contact h3 .en {font-size:30px;}
 #contact .reference_contact_intro {font-size:15px;letter-spacing:.03em;margin-bottom:26px;}
 .official_line {font-size:22px;gap:14px;padding:12px;border-width:3px;}
 .official_line span {width:34px;height:34px;font-size:28px;border-width:3px;}
 .branch_phone_grid {grid-template-columns:1fr;gap:16px;margin-top:24px;}
 .branch_phone {padding:12px 18px;}
 .branch_phone>span {font-size:25px;}
}

/* Temporary links and footer privacy button. */
#contact .contactbox.reference_contact .official_line {width:100%;text-decoration:none;}
#contact .contactbox.reference_contact .branch_phone {width:auto;text-decoration:none;}
.official_line:hover,.branch_phone:hover {opacity:.75;}
.footer_privacy {clear:both;text-align:center;margin:0 0 24px;}
.privacy_link {display:inline-block;padding:10px 22px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:white;font-size:14px;}
.privacy_link:hover {opacity:.7;}
/* White NEWS and a gently undulating green footer. */
#fkids_news {background:#fff;}
#fkids_instagram::after {background-image:url("../../images/insta-wave-bottom.svg?v=4");}
.news_list_button {border:1px solid #d9e9df;}
footer::before {height:100px;top:-99px;background-image:url("../../images/footer-wave-fkids.svg?v=2");background-size:100% 100%;background-repeat:no-repeat;}
@media(max-width:767px){
 #fkids_instagram::after {background-image:url("../../images/insta-wave-bottom-sp.svg?v=4");}
 footer::before {height:50px;top:-49px;background-size:auto 100%;background-position:center;}
}
/* LINE icon and stronger, consistent rollover fading. */
#contact .official_line .official_line_icon {display:block;width:60px;height:60px;object-fit:contain;border-radius:12px;flex-shrink:0;}
header a,main a,#idx_menu a,#fkids_news a,#fkids_instagram a,#contact a,footer a,.visit_banner_image {transition:opacity .25s ease;}
@media(hover:hover){
 body a:hover,#idx_menu .contents_link:hover,.visit_banner_image:hover,.insta_check:hover,.fkids_insta_slider a:hover,.official_line:hover,.branch_phone:hover,.privacy_link:hover {opacity:.55;}
}
@media(max-width:767px){
 #contact .official_line {gap:10px;font-size:19px;}
 #contact .official_line .official_line_icon {width:36px;height:36px;border-radius:8px;}
}
/* Wavy upper and lower edges on the light-blue CONTACT panel. */
#contact {padding-top:90px;padding-bottom:170px;}
#contact .contactbox.reference_contact {position:relative;border-radius:0;overflow:visible;}
#contact .contactbox.reference_contact::before,#contact .contactbox.reference_contact::after {content:"";display:block;position:absolute;left:0;width:100%;height:70px;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none;}
#contact .contactbox.reference_contact::before {top:-69px;background-image:url("../../images/contact-wave-top.svg");}
#contact .contactbox.reference_contact::after {bottom:-69px;background-image:url("../../images/contact-wave-bottom.svg");}
@media(max-width:767px){
 #contact {padding-top:55px;padding-bottom:112px;}
 #contact .contactbox.reference_contact::before,#contact .contactbox.reference_contact::after {height:36px;}
 #contact .contactbox.reference_contact::before {top:-35px;}
 #contact .contactbox.reference_contact::after {bottom:-35px;}
}
/* Wave the outer cream CONTACT section, keep the blue panel rounded. */
#contact {position:relative;background:#fff8e8;padding-top:100px;padding-bottom:150px;}
#contact::before {content:"";position:absolute;top:-1px;left:0;width:100%;height:75px;background:url("../../images/contact-cream-wave-top.svg") center/100% 100% no-repeat;pointer-events:none;}
#contact .contactbox.reference_contact {border-radius:36px;overflow:hidden;}
#contact .contactbox.reference_contact::before,#contact .contactbox.reference_contact::after {display:none;}
/* The green footer wave forms the lower edge of the cream section. */
footer::before {height:90px;top:-89px;background-size:100% 100%;}
@media(max-width:767px){
 #contact {padding-top:60px;padding-bottom:100px;}
 #contact::before {height:40px;}
 #contact .contactbox.reference_contact {border-radius:24px;}
 footer::before {height:45px;top:-44px;background-size:100% 100%;}
}
/* Broad, gentle curves matching the Instagram section. */
#contact::before {height:70px;background-image:url("../../images/contact-cream-wave-top.svg?v=2");}
#contact {padding-bottom:90px;z-index:1;}
footer {z-index:2;background-color:#00a469;}
footer::before {display:block;content:"";position:absolute;left:0;top:-69px;width:100%;height:70px;z-index:0;background:url("../../images/footer-wave-fkids.svg?v=3") center/100% 100% no-repeat;pointer-events:none;}
footer .footer_wrap {z-index:1;}
@media(max-width:767px){
 #contact::before {height:36px;}
 #contact {padding-bottom:65px;}
 footer::before {top:-35px;height:36px;background-size:100% 100%;}
}
/* Tighten the space above Instagram content. */
#fkids_instagram {padding-top:105px;}
@media(max-width:767px){
 #fkids_instagram {padding-top:62px;}
}
/* Live NEWS, latest three posts. */
.fkids_news_items a{display:flex;align-items:center;gap:20px}.fkids_news_items time{font-size:14px;white-space:nowrap}.fkids_news_items a>span:nth-child(2){flex:1}.fkids_news_items a>span:last-child{flex:none}@media(max-width:767px){.fkids_news_items a{flex-wrap:wrap;gap:5px 12px}.fkids_news_items time{width:100%}}

/* Keep layout scaling, but prevent typography shrinking at intermediate widths. */
@media(min-width:768px) and (max-width:1999px){
 body{font-size:17px;line-height:1.95;}
 header #mainnavi .navi01 li a{font-size:14px;line-height:1.6;}
 footer .footer_navi li a{font-size:16px;line-height:1.7;}
 .fkids_middle #contents p,.fkids_middle #contents dd,.fkids_middle #contents dt,.fkids_middle #contents td,.fkids_middle #contents th,.fkids_middle #contents li{font-size:17px;line-height:1.95;}
 .fkids_middle .subtitle01,.fkids_middle .subtitle02{font-size:28px;line-height:1.6;}
 .fkids_middle .subtitle01 .en,.fkids_middle .subtitle02 .en{font-size:16px;line-height:1.7;}
 .fkids_middle .fkids_news_page{font-size:18px;}
 .fkids_middle .fkids_news_page article h2{font-size:25px;}
 #idx_main .main_copy h3{font-size:clamp(25px,2.4vw,38px);line-height:1.9;}
 #idx_main .main_copy .en{font-size:17px;line-height:1.9;}
 #idx_main .news{font-size:17px;}
 #idx_about .about01 p,#idx_about .about02 p,#idx_recruit .recruit_con p{font-size:18px;line-height:1.95;}
 #idx_menu .activity_card figcaption{font-size:20px;}
 #idx_menu .activity_card figcaption span{font-size:12px;}
 .about_page_nav{font-size:17px;}
 #fkids_about_page p{font-size:19px;line-height:2;}
 #fkids_about_page .heading_jp{font-size:34px;}
 #fkids_about_page .heading_en,#fkids_about_page .about_values .heading_en{font-size:17px;}
 #fkids_about_page .about_values .heading_jp{font-size:29px;}
 #fkids_about_page .about_beginning h3,#fkids_about_page .about_goal h3{font-size:28px;}
 #fkids_about_page .about_lead,#fkids_about_page .about_experience_lead{font-size:30px;}
 #fkids_about_page .experience_copy h3{font-size:25px;}
 #fkids_about_page .experience_tags{font-size:17px;}
 #fkids_about_page .facility_card h3{font-size:28px;}
 #fkids_about_page .facility_card h3 small,#fkids_about_page .facility_age{font-size:18px;}
 #fkids_about_page .facility_address{font-size:16px;}
 #fkids_about_page .facility_more,#fkids_about_page .about_visit{font-size:20px;}
 #fkids_about_page .about_company dl{font-size:18px;}
 #fkids_about_page .about_next_copy strong{font-size:23px;}
 #fkids_about_page .about_next_copy small{font-size:12px;}
}
@media(min-width:768px) and (max-width:999px){
 header #mainnavi .navi01{gap:8px 12px;}
 header #mainnavi .navi01 li.recruit,header #mainnavi .navi01 li.contact{width:auto;}
 header #mainnavi .navi01 li.recruit a,header #mainnavi .navi01 li.contact a{padding-left:28px;padding-right:12px;}
 .fkids_middle #pagetitle{height:620px;}
 .fkids_middle #pagetitle .main_img{height:620px;padding-left:180px;}
 .fkids_middle #pagetitle .main_img img{width:100%;height:100%;object-fit:cover;}
 .fkids_middle #pagetitle .main_side{width:180px;}
 .fkids_middle .wrapbox01,.fkids_middle .wrapbox02,.fkids_middle .wrapbox03{min-width:0;width:90%;}
 #fkids_about_page .about_goal,#fkids_about_page .experience_row{grid-template-columns:1fr;}
 #fkids_about_page .about_goal:nth-child(even)>img{order:0;}
 #fkids_about_page .about_values{grid-template-columns:1fr;}
}



/* Cream CONTACT with a continuous colored curve, without a white band. */
#contact{background:#fff8e8;margin-top:0;}
#contact::before{display:block;top:-69px;height:70px;background-image:url("../../images/contact-cream-join.svg");}
#fkids_instagram::after{background-image:url("../../images/insta-wave-bottom.svg?v=20261006-cream");}
@media(max-width:767px){
 #contact::before{top:-35px;height:36px;}
 #fkids_instagram::after{background-image:url("../../images/insta-wave-bottom-sp.svg?v=20261006-cream");}
}

/* White transition from the pink Instagram wave straight into NEWS. */
#fkids_instagram::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 40C360 100 850 0 1440 42V100H0Z' fill='%23ffffff'/%3E%3C/svg%3E");}
#fkids_instagram + #fkids_news{background:#fff;margin-top:0;padding-top:0;}
@media(max-width:767px){
 #fkids_instagram::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 40C360 100 850 0 1440 42V100H0Z' fill='%23ffffff'/%3E%3C/svg%3E");}
 #fkids_instagram + #fkids_news{padding-top:0;}
}

/* Instagram camera for the shared diary navigation. */
header #mainnavi .navi01 li.recruit a,footer .footer_navi li.recruit a{background-image:url("../../images/nav-instagram.svg");}

/* Reuse the TOP image for every visit-reservation banner. */
.shared_visit_banner{position:relative;z-index:1;margin:40px auto 0;}
.fkids_access_page .access_contact a.shared_visit_banner{display:block;width:min(100%,560px);padding:0;background:none;border-radius:0;}
@media(max-width:767px){.shared_visit_banner{margin-top:28px;}}

/* Keep the original banner artwork; remove only its surrounding button fill. */
a.visit_banner_image,a.shared_visit_banner{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0;padding:0!important;}

/* Shared beige loading screen with readable text. */
#loading{background-color:#fff8e8;}
#loading div span.text_white{color:#51656f;}

/* Matching green/yellow underline on page and section headings. */
.fkids_bar_heading{position:relative;padding-bottom:26px!important;}
.fkids_heading_bar{display:block;position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:110px;height:6px;border-radius:6px;background:linear-gradient(to right,#9bd7b1 0 72%,#ffe082 72% 100%);}
.fkids_bar_heading.subtitle01::after{display:none!important;}
.fkids_mobile_top{display:none;}
@media(max-width:767px){
 .fkids_heading_bar{width:90px;height:5px;}
 .fkids_mobile_top{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:90;width:54px;height:54px;border:2px solid white;border-radius:50%;background:#00a469;color:white;box-shadow:0 3px 12px #0002;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;line-height:1;padding:0;}
 .fkids_mobile_top.is_visible{display:flex;}
 .fkids_mobile_top span{font-size:23px;}.fkids_mobile_top small{font-size:10px;letter-spacing:.08em;margin-top:4px;}
}

/* October 15: shared navigation, header and visit banner */
header{background-color:#fff8e8;}
header #mainnavi .navi01 li.recruit a,footer .footer_navi li.recruit a{background-color:#d5f5ff;}
a.visit_banner_image{display:flex!important;align-items:center;justify-content:center;gap:24px;box-sizing:border-box;min-height:112px;}
a.visit_banner_image .visit_banner_cloud{width:90px!important;height:80px!important;object-fit:contain;flex:0 0 90px;}
.visit_banner_label{font-family:'Zen Maru Gothic',serif;font-weight:500;font-size:clamp(18px,2.5vw,32px);color:#143b2e;line-height:1.6;text-align:center;}
.visit_banner_arrow{color:#54b948;background:#fffdf5;border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-size:36px;flex:0 0 54px;}
@media(max-width:767px){a.visit_banner_image{gap:10px;min-height:100px;}a.visit_banner_image .visit_banner_cloud{width:48px!important;height:48px!important;flex-basis:48px;}.visit_banner_label{font-size:17px;}.visit_banner_arrow{width:36px;height:36px;flex-basis:36px;font-size:26px;}}

/* Requested refinements: remove diary outline; image banner; cream hero copy */
header #mainnavi .navi01 li.recruit a,footer .footer_navi li.recruit a{border:0;box-shadow:none;}
a.visit_banner_image{display:block!important;min-height:0;gap:0;}
a.visit_banner_image>img{display:block;width:100%;height:auto;}
#idx_main{background-color:#fff8e8;}
@media(min-width:768px){#idx_main{background-image:url("../../images/idx_main_back_yellow.svg");}}


/* TOPICS: allow complete titles and enough height for Japanese glyphs. */
#idx_main .news{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:20px;padding:18px 60px 18px 16px;}
#idx_main .news h4{position:static;width:auto;padding:0 16px 0 0;margin:0;line-height:1.6;}
#idx_main .news .news_slider{width:100%;min-width:0;margin:0;padding:0;}
#idx_main .news .news_slider li{display:block;width:100%;height:auto;overflow:visible;white-space:normal;background:none;}
#idx_main .news .news_slider li a{display:block;width:100%;padding:0;font-size:clamp(15px,1.4vw,21px);line-height:1.7;white-space:normal;overflow-wrap:anywhere;}
@media(max-width:767px){
 #idx_main .news{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 34px 16px 20px;background-image:url("../../images/icon_arrow04.png");background-position:right 14px center;background-repeat:no-repeat;background-size:12px auto;}
 #idx_main .news h4{text-align:left;border:0;padding:0;font-size:12px;}
 #idx_main .news .news_slider li a{font-size:15px;line-height:1.7;}
}

/* TOP palette: preserve original wave silhouettes and animation. */
#idx_about{background-color:#fffa97;}
#idx_about .wave1{background-image:url("../../images/idx_about_back01-pale.svg");}
#idx_about .wave2{background-image:url("../../images/idx_about_back02-pale.svg");}
#idx_about .about01 .text_white{color:#51656f;}
#idx_about .about01 h3,#idx_about .about01 h3 .en{color:#51656f;}
#idx_about .about01 .btn,#idx_recruit .recruit01 .btn{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20fill%3D%22%23b0e2f9%22%2F%3E%3Cpath%20d%3D%22M12%2020h16m-6-6%206%206-6%206%22%20fill%3D%22none%22%20stroke%3D%22%2351656f%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
#idx_recruit .recruit01{background-color:#d5f5ff;}
#idx_recruit .cloud01 img,#idx_recruit .cloud02 img{filter:brightness(0) invert(1);}
.insta_check{position:relative;justify-content:center;text-align:center;padding:16px 42px;line-height:1.6;}
.insta_check>span{position:absolute;right:20px;top:50%;transform:translateY(-50%);line-height:1;}
@media(max-width:767px){
 #idx_about{background-color:#fff8e8;}
 #idx_about .wave1{background-image:url("../../images/idx_about_back01_sp-pale.svg");}
 #idx_about .wave2{background-image:url("../../images/idx_about_back02_sp-pale.svg");}
}

/* Keep recruitment copy in its own column, clear of both photos. */
@media(min-width:768px){
 #idx_recruit .recruit01{height:auto;min-height:520px;}
 #idx_recruit .recruit_wrap{width:84%;max-width:1240px;min-height:520px;}
 #idx_recruit .recruit01 .recruit_con{float:none;width:55%;margin-top:0;padding:110px 0 70px 80px;min-height:520px;box-sizing:border-box;}
 #idx_recruit .recruit01 .recruit_con::before{top:105px;left:0;width:60px;height:80px;}
 #idx_recruit .recruit01 .text01{padding-left:0;line-height:1.95;overflow-wrap:break-word;}
 #idx_recruit .recruit01 .text01 br.pc{display:none;}
 #idx_recruit .recruit_img{width:40%;height:320px;top:-40px;right:0;}
 #idx_recruit .recruit_img2{width:30%;height:220px;right:5%;bottom:-35px;}
 #idx_recruit .cloud02{right:34%;bottom:55px;}
}
@media(min-width:768px) and (max-width:1100px){
 #idx_recruit .recruit_wrap{width:88%;}
 #idx_recruit .recruit01 .recruit_con{padding-left:0;padding-top:130px;}
 #idx_recruit .recruit01 .recruit_con::before{top:35px;}
}

/* CONTACT asset and facility phone updates. */
#contact .contactbox.reference_contact{position:relative;}
#contact .contact_fairy{position:absolute;left:24px;top:38px;width:120px;height:140px;object-fit:contain;pointer-events:none;}
.official_line .official_line_arrow{display:block;width:64px;height:64px;object-fit:contain;flex:0 0 64px;}
.branch_phone .branch_number{display:block;font-size:17px;line-height:1.5;margin-top:3px;letter-spacing:.02em;white-space:nowrap;}
.branch_phone[aria-disabled="true"]{cursor:default;}
footer .footer_company{margin-bottom:8px;font-size:16px;line-height:1.6;}
@media(max-width:767px){
 #contact .contact_fairy{left:12px;top:20px;width:48px;height:70px;}
 .official_line .official_line_arrow{width:38px;height:38px;flex-basis:38px;}
 .branch_phone .branch_number{font-size:16px;}
 footer .footer_company{font-size:14px;}
}

/* Isolate each copy line so the underline stays above the cream background. */
@media(min-width:768px){
 #idx_main .main_copy h3 .line{width:max-content;max-width:100%;isolation:isolate;}
 #idx_main .main_copy h3 .line::before{background-color:#b0e2f9;z-index:-1;}
}

/* Mobile uses white labels; desktop keeps the blue animated underlines. */
@media(max-width:767px){
 #idx_main .main_copy h3 .line::before{background-color:#fff;height:100%;top:0;bottom:auto;}
}

/* Mobile: blue underlines layered over the original white labels. */
@media(max-width:767px){
 #idx_main .main_copy h3 .line{isolation:isolate;}
 #idx_main .main_copy h3 .line::before{z-index:-2;background-color:#fff;}
 #idx_main .main_copy h3 .line::after{content:"";position:absolute;left:.7rem;bottom:.45rem;width:calc(100% - 1.4rem);height:.4rem;border-radius:.2rem;background:#b0e2f9;z-index:-1;transform:scaleX(0);transform-origin:left center;animation:mobileCopyUnderline 2s forwards;}
 #idx_main .main_copy h3 .line1::after{animation-delay:.2s;}
 #idx_main .main_copy h3 .line2::after{animation-delay:1.6s;}
 #idx_main .main_copy h3 .line3::after{animation-delay:3.2s;}
}
@keyframes mobileCopyUnderline{to{transform:scaleX(1);}}
@media(prefers-reduced-motion:reduce){#idx_main .main_copy h3 .line::after{animation:none;transform:scaleX(1);}}

.about_mobile_decor{display:contents;}
@media(max-width:767px){
 #idx_about .about_mobile_decor{display:block;position:relative;clear:both;width:100%;height:66px;margin-top:14px;}
 #idx_about .about_mobile_decor .icon06{position:absolute;top:4px;right:76px;left:auto;bottom:auto;width:76px;}
 #idx_about .about_mobile_decor .icon03{position:absolute;top:0;right:10px;left:auto;bottom:auto;width:54px;}
 #idx_about .img01{margin-top:12px;}
 .branch_phone_grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;}
 .branch_phone{min-width:0;gap:4px;padding:12px 8px;}
 .branch_phone>span{min-width:0;font-size:17px;letter-spacing:0;line-height:1.35;text-align:center;}
 .branch_phone small{font-size:10px;letter-spacing:0;}
 .branch_phone .branch_number{font-size:11px;letter-spacing:0;}
 .branch_phone .branch_tel_icon{width:14px;height:18px;flex:0 0 14px;}
 .branch_phone .branch_arrow{width:20px;height:20px;flex:0 0 20px;}
}
@media(max-width:359px){
 .branch_phone{padding:10px 5px;gap:3px;}
 .branch_phone>span{font-size:15px;}
 .branch_phone .branch_number{font-size:10px;}
 .branch_phone .branch_arrow{width:17px;height:17px;flex-basis:17px;}
 .branch_phone .branch_tel_icon{width:12px;flex-basis:12px;}
}

/* All visit banners share the same selection feedback. */
a.visit_banner_image{border-radius:15px;transition:transform .22s ease,filter .22s ease;transform-origin:center;}
@media(hover:hover) and (pointer:fine){
 a.visit_banner_image:hover{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 7px 10px #51656f26);opacity:1;}
}
a.visit_banner_image:focus-visible{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 7px 10px #51656f26);opacity:1;outline:3px solid #43975c;outline-offset:4px;border-radius:15px;}
a.visit_banner_image:active{transform:scale(1.015);opacity:1;}
@media(prefers-reduced-motion:reduce){a.visit_banner_image{transition:none;}a.visit_banner_image:hover,a.visit_banner_image:focus-visible,a.visit_banner_image:active{transform:none;}}

/* Keep the link box stable; animate only the banner artwork. */
a.visit_banner_image,a.visit_banner_image:hover,a.visit_banner_image:focus-visible,a.visit_banner_image:active{transform:none;filter:none;opacity:1;}
a.visit_banner_image>img{float:none;transition:transform .2s ease,filter .2s ease;transform-origin:center;border-radius:15px;}
@media(hover:hover) and (pointer:fine){
 a.visit_banner_image:hover>img{transform:scale(1.02);filter:drop-shadow(0 4px 5px #51656f20);}
}
a.visit_banner_image:focus-visible>img{transform:scale(1.02);}
a.visit_banner_image:active>img{transform:scale(1.01);}
.fkids_programs_page #contents .programs_visit{display:flow-root;clear:both;margin:10px auto 44px;padding:8px 8px 0;}
.fkids_programs_page #contents .programs_next{clear:both;}
@media(prefers-reduced-motion:reduce){a.visit_banner_image>img{transition:none;}a.visit_banner_image:hover>img,a.visit_banner_image:focus-visible>img,a.visit_banner_image:active>img{transform:none;}}

/* Shared related-page banners: icon, Japanese label, English below. */
nav.related_page_banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;clear:both;width:100%;max-width:1320px;margin:30px auto 0;}
nav.related_page_banners>a.related_page_banner{display:flex;position:relative;align-items:center;gap:20px;min-width:0;min-height:145px;padding:24px;border:0;border-radius:28px;background:#e8f5e9;color:#43975c;box-sizing:border-box;text-decoration:none;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;}
nav.related_page_banners>a.related_theme_cream{background:#fff0dd;color:#ed713e;}
nav.related_page_banners .related_banner_icon{display:block;width:66px;height:74px;object-fit:contain;flex:0 0 66px;}
nav.related_page_banners .related_banner_copy{display:block;flex:1;min-width:0;width:auto;height:auto;background:none;border-radius:0;text-align:left;line-height:1.5;color:inherit;}
nav.related_page_banners .related_banner_copy strong{display:block;font-size:24px;font-weight:700;line-height:1.5;}
nav.related_page_banners .related_banner_copy small{display:block;font-size:12px;line-height:1.5;letter-spacing:.07em;margin-top:6px;}
nav.related_page_banners .related_banner_arrow{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#fff;color:inherit;font-size:25px;line-height:1;}
@media(hover:hover) and (pointer:fine){nav.related_page_banners>a.related_page_banner:hover{opacity:1;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #51656f20;}}
nav.related_page_banners>a.related_page_banner:focus-visible{outline:3px solid currentColor;outline-offset:4px;}
nav.related_page_banners>a.related_page_banner:active{transform:scale(1.01);opacity:1;}
@media(max-width:767px){nav.related_page_banners{grid-template-columns:1fr;gap:18px;}nav.related_page_banners>a.related_page_banner{min-height:120px;padding:20px;gap:16px;border-radius:24px;}nav.related_page_banners .related_banner_icon{width:52px;height:60px;flex-basis:52px;}nav.related_page_banners .related_banner_copy strong{font-size:22px;}nav.related_page_banners .related_banner_copy small{font-size:11px;letter-spacing:.04em;}}
@media(prefers-reduced-motion:reduce){nav.related_page_banners>a.related_page_banner{transition:none;}nav.related_page_banners>a.related_page_banner:hover,nav.related_page_banners>a.related_page_banner:active{transform:none;}}

/* Mobile-only reading breaks preserve the desktop copy layout. */
.mobile_reading_break{display:none;}
@media(max-width:767px){
 .mobile_reading_break{display:block;}
 .fkids_middle #contents p,.fkids_middle #fkids_about_page p{line-break:strict;text-wrap:pretty;overflow-wrap:break-word;word-break:normal;}
 .fkids_middle #contents h2,.fkids_middle #contents h3,.fkids_middle #contents h4,.fkids_middle .about_heading{text-wrap:balance;line-break:strict;word-break:normal;}
 #fkids_about_page .about_beginning h3{text-wrap:balance;line-height:1.65;}
 #fkids_about_page .about_growth .heading_jp{font-size:clamp(20px,5vw,24px);}
}
/* Center the external map button without centering the address text. */
.fkids_access_page .access_facilities .access_map_button{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center;margin:18px auto 0;float:none;text-align:center;box-sizing:border-box;}

/* Related icons must override ABOUT's full-width content-image rule. */
body #fkids_about_page nav.related_page_banners .related_banner_icon{width:66px;height:74px;max-width:66px;object-fit:contain;flex:0 0 66px;}
@media(max-width:767px){
 body #fkids_about_page nav.related_page_banners .related_banner_icon{width:52px;height:60px;max-width:52px;flex:0 0 52px;}
 body #fkids_about_page nav.related_page_banners .related_banner_copy{display:block;flex:1;min-width:0;overflow-wrap:break-word;}
 body #fkids_about_page nav.related_page_banners>a.related_page_banner{min-height:120px;height:auto;gap:16px;}
 body.fkids_access_page{--mobile-title-bg:#fff8e8;}
 body.fkids_access_page #pagetitle,body.fkids_access_page #pagetitle .main_side,body.fkids_access_page #pagetitle .main_side .main_title{background:#fff8e8!important;}
}

/* Same fairy decoration on every shared CONTACT panel. */
#contact .contactbox.reference_contact{position:relative;}
#contact .contactbox.reference_contact>img.contact_fairy{display:block!important;visibility:visible!important;opacity:1!important;z-index:1;}

/* Mobile header: separate original rainbow/fairies and F.Kids wordmark. */
@media(max-width:767px){
 header h1 img.sp{width:100%;height:auto;max-height:76px;object-fit:contain;}
 header h2.sp{width:122px;height:69px;left:50%;transform:translateX(-50%);margin-left:0;top:20px;}
 header h2.sp img{display:block;width:100%;height:100%;object-fit:contain;}
 #idx_main .main_copy h3 .line{background:transparent;box-shadow:none;}
 #idx_main .main_copy h3 .line::before{display:none!important;background:none!important;}
}

/* Recruitment navigation is temporarily inactive. */
header #mainnavi .navi01 li.recruit a[aria-disabled="true"],footer .footer_navi li.recruit a[aria-disabled="true"]{cursor:default;}

/* Recruitment: friendly people icon, shared by header and footer. */
header #mainnavi .navi01 li.recruit a,footer .footer_navi li.recruit a{background-image:url("../../images/nav-recruit-people.svg");}

/* Readable mobile hero lettering without rectangular backgrounds. */
@media(max-width:767px){
 #idx_main .main_copy h3 .line>span{color:#344e59;-webkit-text-stroke:3px #fffdf5;paint-order:stroke fill;text-shadow:0 2px 5px #fffdf5,0 0 9px #fffdf5,1px 3px 6px #273e4b30;}
 #idx_main .main_copy h3 .en{color:#344e59;font-weight:600;-webkit-text-stroke:2px #fffdf5;paint-order:stroke fill;text-shadow:0 1px 4px #fffdf5,0 0 7px #fffdf5;}
 #idx_main .main_copy h3 .line::after{box-shadow:0 0 4px #fffdf5;}
}

/* Center recruitment icon and label as a single group with equal side padding. */
header #mainnavi .navi01 li.recruit a{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 18px;background-image:none;white-space:nowrap;line-height:1.4;letter-spacing:0;}
header #mainnavi .navi01 li.recruit a::before{content:"";display:block;position:static;float:none;flex:0 0 27px;width:27px;height:27px;margin:0;background:url("../../images/nav-recruit-people.svg") center/contain no-repeat;}
header #mainnavi .navi01 li.recruit a:hover{letter-spacing:0;}
@media(min-width:768px){header #mainnavi .navi01 li.recruit{width:auto;min-width:0;}}

/* Same back-to-top control on desktop and mobile. */
@media(min-width:768px){
 .fkids_mobile_top{position:fixed;right:28px;bottom:28px;z-index:90;width:60px;height:60px;border:2px solid #fff;border-radius:50%;background:#00a469;color:#fff;box-shadow:0 3px 12px #0002;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;line-height:1;padding:0;}
 .fkids_mobile_top.is_visible{display:flex;}
 .fkids_mobile_top span{font-size:25px;}.fkids_mobile_top small{font-size:10px;letter-spacing:.08em;margin-top:4px;}
 .fkids_mobile_top:hover{background:#43975c;}
}
.fkids_mobile_top:focus-visible{outline:3px solid #ffe082;outline-offset:4px;}

/* Until recruitment launches, use the original Instagram diary navigation. */
header #mainnavi .navi01 li.recruit a{cursor:pointer;background-image:none;}
header #mainnavi .navi01 li.recruit a::before{background-image:url("../../images/nav-instagram.svg");}
footer .footer_navi li.recruit a{background-image:url("../../images/nav-instagram.svg");cursor:pointer;}

/* Explicit mobile-only line breaks keep building names together. */
.fkids_sp_break{display:none;}
@media(max-width:767px){.fkids_sp_break{display:block;}footer .footer_building{white-space:nowrap;}}

/* Explicit mobile-only line breaks keep building names together. */
.fkids_sp_break{display:none;}
@media(max-width:767px){.fkids_sp_break{display:block;}footer .footer_building{white-space:nowrap;}}

/* Readable desktop English captions without changing mobile typography. */
@media(min-width:768px){#idx_main .main_copy h3 .en{font-size:clamp(16px,1.05vw,23px)!important;line-height:1.85;letter-spacing:.08em;}#idx_about .about01 h3{font-size:clamp(21px,1.5vw,30px)!important;letter-spacing:.12em;}}
.access_opening{color:#ff6834;font-weight:700;margin:0 0 10px;}

/* Larger mobile wordmark, with space reserved for the illustration and menu. */
@media(max-width:767px){header h2.sp{width:clamp(160px,32vw,216px);height:82px;top:13px;}header h2.sp img{width:100%;height:100%;object-fit:contain;}}
