/*
Theme Name: ベビー＆キッズホーム ネバーランド
Theme URI: 
Description: ベビー＆キッズホーム ネバーランドLP
Author: 
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@400;500;700&display=swap');

/* =========================================================
トップページ共通：ネバーランドLP専用CSS
- #neverland-front 配下のみに反映
- 背景・フォント・色変数・共通見出しを管理
========================================================= */
/* トップページ全体：色変数・背景画像・基本フォント */
#neverland-front { --nl-blue:#59B6C8; --nl-pink:#E68A8A; --nl-pink-hover:#F08E8E; --nl-yellow:#F7C85B; --nl-text:#4A4143; --nl-contact:#DEF0F4; --nl-white:#fff; --nl-fv-pink:#DD8586; --nl-fv-blue:#58ADBE; --nl-fv-yellow:#EEC25B; --nl-fv-tab-yellow:#E8A303; color:var(--nl-text); font-family:"Kiwi Maru",serif; font-weight:400; font-size:16px; line-height:30px; letter-spacing:.15em; background:url('https://kids-neverland.jp/wp-content/uploads/2026/07/bg_pc_01-scaled.jpg') center top / cover repeat-y; overflow:hidden; }
#neverland-front * { box-sizing:border-box; }
#neverland-front img { max-width:100%; height:auto; vertical-align:middle; }
#neverland-front a { color:inherit; text-decoration:none; }
#neverland-front p { margin:0; font-weight:400; font-size:16px; line-height:30px; letter-spacing:.15em; }
#neverland-front h1,#neverland-front h2,#neverland-front h3 { margin:0; font-weight:500; color:var(--nl-text); letter-spacing:.15em; }
#neverland-front h2 { font-size:20px; line-height:30px; }
#neverland-front h3 { font-size:18px; line-height:30px; }
/* 共通セクション見出し：アイコン付きh2 */
#neverland-front .nl-section-title { display:flex; flex-direction:column; align-items:center; gap:14px; margin:80px auto 56px; text-align:center; }
#neverland-front .nl-section-title__icon { width:24px; height:auto; }
#neverland-front .nl-section-title__ja { display:block; font-size:20px; font-weight:500; line-height:30px; }
#neverland-front .nl-inner { width:80%; margin:0 auto; }
@media (max-width:680px) {
#neverland-front { font-size:14px; line-height:26px; letter-spacing:.13em; background:url('https://kids-neverland.jp/wp-content/uploads/2026/07/bg_sp_01-scaled.jpg') center top / cover repeat-y; }
#neverland-front p { font-size:14px; line-height:26px; letter-spacing:.13em; }
#neverland-front h2 { font-size:16px; line-height:26px; }
#neverland-front h3 { font-size:14px; line-height:26px; }
#neverland-front .nl-section-title { gap:10px; margin:32px auto; }
#neverland-front .nl-section-title__icon { width:15px; }
#neverland-front .nl-section-title__ja { font-size:16px; line-height:26px; }
#neverland-front .nl-inner { width:min(88%, 430px); }
}

/* =========================セクション1：FV========================= */
#neverland-front .nl-fv { position:relative; width:100%; height:770px; overflow:hidden; background:none; }
#neverland-front .nl-fv__picture { position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; }
#neverland-front .nl-fv__image { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
#neverland-front .nl-fv__inner { position:relative; z-index:1; width:100%; height:100%; }
#neverland-front .nl-fv__content { position:absolute; top:175px; right:2.7%; width:640px; height:500px; text-align:center; }
#neverland-front .nl-fv__arc { position:absolute; z-index:2; top:-68px; left:50%; width:675px; height:145px; transform:translateX(-50%); overflow:visible; }
#neverland-front .nl-fv__arc-text { fill:var(--nl-fv-blue); font-family:"ads-saikoro","Kiwi Maru",serif; font-weight:400; font-style:normal; font-size:26px; letter-spacing:.15em; }
#neverland-front .nl-fv__cloud { position:absolute; z-index:1; top:-10px; left:50%; width:610px; height:264px; padding:76px 56px 56px; background:url('https://kids-neverland.jp/wp-content/uploads/2026/07/fv_bg.png') center center / contain no-repeat; transform:translateX(-50%); }
#neverland-front .nl-fv__sub { margin:0 0 16px; color:var(--nl-fv-pink); font-family:"ads-saikoro","Kiwi Maru",serif; font-weight:400; font-style:normal; font-size:26px; line-height:1.1; letter-spacing:.16em; }
#neverland-front .nl-fv__title { display:flex; justify-content:center; align-items:center; gap:4px; font-family:"ads-saikoro","Kiwi Maru",serif; font-weight:400; font-style:normal; font-size:70px; line-height:.85; letter-spacing:.04em; }
#neverland-front .nl-fv__title-char--pink { color:var(--nl-fv-pink); }
#neverland-front .nl-fv__title-char--blue { color:var(--nl-fv-blue); }
#neverland-front .nl-fv__title-char--yellow { color:var(--nl-fv-yellow); }
#neverland-front .nl-fv__badge-list { position:absolute; top:320px; left:50%; display:grid; justify-content:center; gap:17px; width:100%; margin-left:70px; transform:translateX(-50%); }
#neverland-front .nl-fv__badge { display:flex; align-items:center; gap:11px; width:294px; min-height:40px; padding:6px 18px; border:2px solid var(--nl-fv-badge-color); border-radius:999px; background:var(--nl-white); color:var(--nl-fv-badge-color); font-family:"Kiwi Maru",serif; font-weight:500; font-size:16px; line-height:1.4; letter-spacing:.1em; }
#neverland-front .nl-fv__badge-check { position:relative; display:block; width:19px; height:19px; border-radius:50%; background:var(--nl-fv-badge-color); flex:0 0 auto; }
#neverland-front .nl-fv__badge-check::after { content:""; position:absolute; top:47%; left:50%; width:3px; height:6.5px; border-right:2px solid var(--nl-white); border-bottom:2px solid var(--nl-white); transform:translate(-50%, -50%) rotate(45deg); transform-origin:center; }

@media (min-width:900px) and (max-width:1024px) {
#neverland-front .nl-fv { height:770px; }
#neverland-front .nl-fv__image { object-position:center center; }
#neverland-front .nl-fv__content { top:150px; right:-1.5%; width:520px; height:410px; }
#neverland-front .nl-fv__arc { top:-65px; width:520px; height:118px; }
#neverland-front .nl-fv__arc-text { font-size:24px; letter-spacing:.15em; }
#neverland-front .nl-fv__cloud { top:-30px; width:450px; height:250px; padding:85px 40px 40px; }
#neverland-front .nl-fv__sub { margin-bottom:6px; font-size:24px; line-height:1.05; letter-spacing:.14em; }
#neverland-front .nl-fv__title { font-size:57px; line-height:.75; letter-spacing:.035em; gap:3px; }
#neverland-front .nl-fv__badge-list { top:252px; gap:12px; margin-left:40px; }
#neverland-front .nl-fv__badge { min-height:36px; padding:5px 16px; gap:10px; font-size:16px; letter-spacing:.08em; }
#neverland-front .nl-fv__badge-check { width:18px; height:18px; }
}

@media (min-width:501px) and (max-width:899px) {
#neverland-front .nl-fv { height:1150px; }
#neverland-front .nl-fv__image { object-position:center top; }
#neverland-front .nl-fv__content { top:0; left:50%; right:auto; width:100%; max-width:899px; height:1150px; transform:translateX(-50%); text-align:center; }
#neverland-front .nl-fv__arc { top:40px; left:50%; width:min(96vw, 650px); height:200px; transform:translateX(-50%); overflow:visible; }
#neverland-front .nl-fv__arc-text { font-size:25px; letter-spacing:.14em; }
#neverland-front .nl-fv__cloud { top:70px; left:50%; width:min(82vw, 550px); height:360px; padding:130px 20px 20px; transform:translateX(-50%); }
#neverland-front .nl-fv__sub { margin-bottom:9px; font-size:25px; line-height:1.05; letter-spacing:.12em; }
#neverland-front .nl-fv__title { font-size:65px; line-height:.82; letter-spacing:.02em; gap:1px; }
#neverland-front .nl-fv__badge-list { top:870px; gap:15px; margin-left:0; }
#neverland-front .nl-fv__badge { min-height:40px; padding:6px 17px; gap:10px; font-size:16px; line-height:1.4; letter-spacing:.11em; }
#neverland-front .nl-fv__badge-check { width:18px; height:18px; }
}

@media (max-width:500px) {
#neverland-front .nl-fv { height:770px; }
#neverland-front .nl-fv__image { object-position:center top; }
#neverland-front .nl-fv__content { top:0; left:50%; right:auto; width:min(100%, 430px); height:770px; transform:translateX(-50%); }
#neverland-front .nl-fv__arc { top:120px; width:430px; height:130px; }
#neverland-front .nl-fv__arc-text { font-size:24px; letter-spacing:.17em; }
#neverland-front .nl-fv__cloud { top:400px; width:280px; height:230px; padding:85px 24px 20px; }
#neverland-front .nl-fv__sub { margin-bottom:9px; font-size:18px; line-height:1; letter-spacing:.05em; }
#neverland-front .nl-fv__title { font-size:35px; line-height:.8; letter-spacing:.01em; gap:0; }
#neverland-front .nl-fv__badge-list { top:600px; gap:10px; margin-left:0; }
#neverland-front .nl-fv__badge { width:219px; min-height:31px; padding:6px 10px; gap:10px; font-size:12px; line-height:1.4; letter-spacing:.05em; }
#neverland-front .nl-fv__badge-check { width:18px; height:18px; }
}

@media (max-width:390px) {
#neverland-front .nl-fv__arc { top:112px; width:370px; height:120px; }
#neverland-front .nl-fv__arc-text { font-size:29px; letter-spacing:.05em; }
#neverland-front .nl-fv__cloud { top:400px; width:310px; height:200px; padding:70px 20px 34px; }
#neverland-front .nl-fv__sub { font-size:18px; }
#neverland-front .nl-fv__title { font-size:38px; }
#neverland-front .nl-fv__badge-list { top:600px; }
#neverland-front .nl-fv__badge { width:219px; height:31px; font-size:12px; }
}



/* セクション2：ネバーランドの想い */
#neverland-front .nl-about { padding:1px 0 0; }
/* 想い：画像＋本文の横並びレイアウト */
#neverland-front .nl-about__body { display:grid; grid-template-columns:380px 1fr; align-items:center; gap:65px; width:80%; margin:0 auto; }
#neverland-front .nl-about__image { width:340px; height:auto; object-fit:cover; }
#neverland-front .nl-about__text { font-size:16px; line-height:30px; }
@media (min-width:900px) and (max-width:1024px) {
#neverland-front .nl-about__body { grid-template-columns:290px 1fr; }
#neverland-front .nl-about__image { width:290px; }
}
@media (min-width:681px) and (max-width:899px) {
#neverland-front .nl-about__body { display:flex; flex-direction:column; gap:24px; width:80%; text-align:left; }
#neverland-front .nl-about__image { width:60%; aspect-ratio:340/314; object-fit:cover; }
#neverland-front .nl-about__text { font-size:14px; line-height:26px; }
}
@media (max-width:680px) {
#neverland-front .nl-about__body { display:flex; flex-direction:column; gap:24px; width:80%; text-align:left; }
#neverland-front .nl-about__image { width:90%; aspect-ratio:340/314; object-fit:cover; }
#neverland-front .nl-about__text { font-size:14px; line-height:26px; }
}


/* =========================セクション3：保育サービス========================= */
#neverland-front .nl-service { padding:1px 0 0; }
#neverland-front .nl-service__lead { width:80%; margin:0 auto 24px; text-align:center; font-size:16px; line-height:30px; letter-spacing:.15em; }
#neverland-front .nl-service__nav { display:flex; justify-content:center; gap:32px; width:80%; margin:0 auto 58px; }
#neverland-front .nl-service__nav-link { display:grid; place-items:center; min-width:104px; height:30px; padding:0 20px; border:1px solid var(--nl-text); border-radius:999px; background:rgba(255,255,255,.12); color:var(--nl-text); font-size:13px; line-height:1; letter-spacing:.13em; text-decoration:none; cursor:pointer; transition:background-color .25s ease, color .25s ease, border-color .25s ease; }
#neverland-front .nl-service__items { display:grid; gap:50px; width:80%; margin:0 auto; }
#neverland-front .nl-service-card { display:grid; gap:30px; }
#neverland-front .nl-service-card__title { position:relative; margin:0 auto; padding-bottom:16px; scroll-margin-top:90px; text-align:center; font-size:18px; font-weight:500; line-height:30px; letter-spacing:.15em; }
#neverland-front .nl-service-card__title::after { content:""; position:absolute; left:50%; bottom:0; width:33px; height:4px; background:var(--nl-yellow); transform:translateX(-50%); }
#neverland-front .nl-service-card__body { display:grid; grid-template-columns:376px 1fr; gap:31px; align-items:start; }
#neverland-front .nl-service-card__figure { position:relative; width:376px; margin:0; }
#neverland-front .nl-service-card__image { width:376px; height:251px; object-fit:cover; border-radius:8px; }
#neverland-front .nl-service-card__price { position:absolute; left:32px; bottom:20px; display:grid; place-items:center; min-width:102px; min-height:26px; padding:5px 16px; border-radius:999px; background:var(--nl-blue); color:var(--nl-white); font-size:13px; line-height:1.2; letter-spacing:.08em; }
#neverland-front .nl-service-card__content { width:100%; padding-top:0; align-self:start; }
#neverland-front .nl-service-card__lead { margin:10px 0 22px; padding-bottom:16px; border-bottom:1px solid rgba(74,65,67,.55); font-size:15px; line-height:28px; letter-spacing:.15em; }
#neverland-front .nl-service-card__text { font-size:15px; line-height:30px; letter-spacing:.15em; }

@media (min-width:901px) {
#neverland-front .nl-service__nav .nl-service__nav-link:hover,
#neverland-front .nl-service__nav .nl-service__nav-link:focus-visible { border-color:#F08E8E !important; background:#F08E8E !important; background-color:#F08E8E !important; color:#fff !important; }
}

@media (min-width:900px) and (max-width:1024px) {
#neverland-front .nl-service-card__body { grid-template-columns:321px 1fr; }
#neverland-front .nl-service-card__figure { width:321px; }
#neverland-front .nl-service-card__image { width:321px; height:auto; }
}

@media (min-width:681px) and (max-width:899px) {
#neverland-front .nl-service-card__body { grid-template-columns:250px 1fr; }
#neverland-front .nl-service-card__figure { width:250px; }
#neverland-front .nl-service-card__image { width:250px; height:auto; }
#neverland-front .nl-service-card__lead { margin:0 0 15px; font-size:14px; }
#neverland-front .nl-service-card__text { font-size:14px; }
}

@media (max-width:680px) {
#neverland-front .nl-service__lead { width:80%; margin:0 auto 20px; text-align:left; font-size:13px; line-height:26px; letter-spacing:.13em; }
#neverland-front .nl-service__nav { flex-wrap:nowrap; gap:10px; width:80%; margin:0 auto 29px; }
#neverland-front .nl-service__nav-link { min-width:84px; height:28px; padding:0 12px; font-size:11px; letter-spacing:.08em; }
#neverland-front .nl-service__items { gap:20px; width:80%; }
#neverland-front .nl-service-card { gap:18px; }
#neverland-front .nl-service-card__title { padding-bottom:12px; scroll-margin-top:68px; font-size:14px; line-height:26px; letter-spacing:.13em; }
#neverland-front .nl-service-card__title::after { width:28px; height:3px; }
#neverland-front .nl-service-card__body { display:flex; flex-direction:column; gap:16px; align-items:stretch; }
#neverland-front .nl-service-card__figure { width:100%; }
#neverland-front .nl-service-card__image { width:100%; height:auto; aspect-ratio:376/251; object-fit:cover; border-radius:5px; }
#neverland-front .nl-service-card__price { left:18px; bottom:14px; min-width:100px; min-height:24px; padding:5px 14px; font-size:12px; letter-spacing:.08em; }
#neverland-front .nl-service-card__lead { margin:0 0 13px; padding-bottom:10px; font-size:13px; line-height:26px; letter-spacing:.13em; }
#neverland-front .nl-service-card__text { font-size:13px; line-height:26px; letter-spacing:.13em; }
}


/* =========================セクション4：園のご紹介========================= */
#neverland-front .nl-garden { padding:1px 0 0; }
#neverland-front .nl-garden__items { display:grid; gap:37px; width:80%; margin:0 auto; }
#neverland-front .nl-garden-card { position:relative; display:grid; grid-template-columns:313px 1fr; grid-template-areas:"image title" "image text"; column-gap:48px; row-gap:4px; align-items:start; min-height:282px; padding:40px 80px 40px 42px; border:2px solid var(--nl-blue); border-radius:10px; background:rgba(255,255,255,.25); }
#neverland-front .nl-garden-card::before { content:""; position:absolute; top:50%; left:-2px; z-index:1; width:4px; height:74px; background:#fff8f4; transform:translateY(-50%); pointer-events:none; }
#neverland-front .nl-garden-card::after { display:none !important; content:none !important; }
#neverland-front .nl-garden-card__num { position:absolute; top:50%; left:-18px; z-index:2; display:flex; align-items:center; justify-content:center; width:36px; height:40px; margin:0; padding:0; background:transparent !important; color:var(--nl-blue); transform:translateY(-50%); }
#neverland-front .nl-garden-card__num::before,#neverland-front .nl-garden-card__num::after { display:none !important; content:none !important; background:none !important; border:0 !important; }
#neverland-front .nl-garden-card__num-line { display:none !important; }
#neverland-front .nl-garden-card__num-text { display:block; margin:0; padding:0; background:transparent !important; color:var(--nl-blue); font-size:16px; font-weight:700; line-height:1; letter-spacing:.12em; white-space:nowrap; }
#neverland-front .nl-garden-card__image { grid-area:image; display:block; width:313px; height:209px; object-fit:cover; border-radius:6px; }
#neverland-front .nl-garden-card__title { grid-area:title; margin:5px 0 0; color:var(--nl-blue); font-size:16px; font-weight:700; line-height:28px; letter-spacing:.15em; }
#neverland-front .nl-garden-card__text { grid-area:text; margin:0; max-width:560px; font-size:15px; line-height:30px; letter-spacing:.15em; }

@media (min-width:900px) and (max-width:1024px) {
#neverland-front .nl-garden-card { grid-template-columns:260px 1fr; column-gap:42px; padding:40px 56px 40px 42px; }
#neverland-front .nl-garden-card::before { height:70px; }
#neverland-front .nl-garden-card__num { left:-18px; width:36px; height:38px; }
#neverland-front .nl-garden-card__image { width:260px; height:209px; }
#neverland-front .nl-garden-card__title { margin-top:6px; }
#neverland-front .nl-garden-card__text { max-width:none; }
}

@media (min-width:681px) and (max-width:899px) {
#neverland-front .nl-garden__items { gap:38px; width:70%; }
#neverland-front .nl-garden-card { grid-template-columns:1fr; grid-template-areas:"title" "image" "text"; gap:17px; min-height:0; padding:35px 30px; border:2px solid var(--nl-blue); border-radius:8px; background:rgba(255,255,255,.25); }
#neverland-front .nl-garden-card::before { top:-2px; left:20px; width:62px; height:4px; transform:none; }
#neverland-front .nl-garden-card__num { top:-18px; left:20px; width:54px; height:34px; transform:none; }
#neverland-front .nl-garden-card__num-text { font-size:16px; }
#neverland-front .nl-garden-card__title { margin:0; font-size:14px; line-height:24px; letter-spacing:.13em; font-weight:500; }
#neverland-front .nl-garden-card__image { width:100%; height:auto; aspect-ratio:313/209; object-fit:cover; border-radius:5px; }
#neverland-front .nl-garden-card__text { max-width:none; font-size:14px; line-height:26px; letter-spacing:.13em; font-weight:400; }
}

@media (max-width:680px) {
#neverland-front .nl-garden__items { gap:38px; width:80%; }
#neverland-front .nl-garden-card { grid-template-columns:1fr; grid-template-areas:"title" "image" "text"; gap:17px; min-height:0; padding:28px 20px; border:2px solid var(--nl-blue); border-radius:8px; background:rgba(255,255,255,.25); }
#neverland-front .nl-garden-card::before { top:-2px; left:20px; width:62px; height:4px; transform:none; }
#neverland-front .nl-garden-card__num { top:-18px; left:20px; width:54px; height:34px; transform:none; }
#neverland-front .nl-garden-card__num-text { font-size:16px; }
#neverland-front .nl-garden-card__title { margin:0; font-size:14px; line-height:24px; letter-spacing:.13em; font-weight:500; }
#neverland-front .nl-garden-card__image { width:100%; height:auto; aspect-ratio:313/209; object-fit:cover; border-radius:5px; }
#neverland-front .nl-garden-card__text { max-width:none; font-size:14px; line-height:26px; letter-spacing:.13em; font-weight:400; }
}

/* セクション5：ご利用までの流れ */
#neverland-front .nl-flow { padding:1px 0 0; }
#neverland-front .nl-flow .nl-section-title { margin-bottom:0; }
/* ご利用までの流れ：4ステップカード */
#neverland-front .nl-flow__items { --nl-flow-card-gap:36px; position:relative; display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--nl-flow-card-gap); width:80%; margin:0 auto 40px; padding-top:55px; overflow:visible; }
#neverland-front .nl-flow-card { position:relative; min-height:360px; padding:44px 22px 24px; border:2px solid var(--nl-pink); border-radius:10px; background:rgba(255,255,255,.18); text-align:center; }
#neverland-front .nl-flow-card:not(:last-child)::after { content:""; position:absolute; top:50%; right:calc((var(--nl-flow-card-gap) + 2px) * -1); z-index:0; width:var(--nl-flow-card-gap); height:18px; background:var(--nl-pink); transform:translateY(-50%); }
#neverland-front .nl-flow-card__badge { position:absolute; top:-23px; left:50%; z-index:2; display:grid; place-items:center; width:54px; height:46px; background-image:var(--nl-flow-badge); background-position:center; background-size:contain; background-repeat:no-repeat; transform:translateX(-50%); }
#neverland-front .nl-flow-card__num { display:block; color:var(--nl-white); font-size:13px; font-weight:700; line-height:1; letter-spacing:.15em; }
#neverland-front .nl-flow-card__title { margin:0 0 20px; text-align:center; font-size:14px; font-weight:500; line-height:26px; letter-spacing:.15em; }
#neverland-front .nl-flow-card__icon { display:block; width:var(--nl-flow-icon-pc, 55px); height:auto; object-fit:contain; margin:0 auto 22px; }
#neverland-front .nl-flow-card__text { text-align:left; font-size:14px; line-height:26px; letter-spacing:.13em; }
/* ご利用までの流れ：補足説明・上下ライン */
#neverland-front .nl-flow__note { --nl-flow-note-line-size:2px; width:80%; margin:0 auto; text-align:center; }
#neverland-front .nl-flow__note::after { content:""; display:block; width:100%; height:var(--nl-flow-note-line-size); margin-top:34px; background:rgba(74,65,67,.78); }
#neverland-front .nl-flow__note-heading { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; margin:0 0 28px; }
#neverland-front .nl-flow__note-line { display:block; height:var(--nl-flow-note-line-size); background:rgba(74,65,67,.78); }
#neverland-front .nl-flow__note-title { font-size:18px; font-weight:600; line-height:30px; letter-spacing:.15em; white-space:nowrap; }
#neverland-front .nl-flow__note-text { padding-bottom:0; border-bottom:0; font-size:16px; line-height:26px; letter-spacing:.15em; }
@media (min-width:900px) and (max-width:1024px) {
#neverland-front .nl-flow__items { width:90%; }
#neverland-front .nl-flow__note { width:90%; }
}
@media (min-width:681px) and (max-width:899px) {
#neverland-front .nl-flow__items { grid-template-columns:1fr; gap:32px; width:50%; margin:0 auto 32px; padding-top:52px; }
#neverland-front .nl-flow-card { min-height:0; padding:42px 26px 26px; border-radius:8px; }
#neverland-front .nl-flow-card:not(:last-child)::after { display:none; }
#neverland-front .nl-flow-card__badge { top:-20px; width:48px; height:40px; }
#neverland-front .nl-flow-card__num { font-size:12px; }
#neverland-front .nl-flow-card__title { margin-bottom:18px; font-size:14px; line-height:22px; letter-spacing:.13em; font-weight:600; }
#neverland-front .nl-flow-card__icon { width:var(--nl-flow-icon-tablet, 52px); height:auto; margin-bottom:18px; }
#neverland-front .nl-flow__note { --nl-flow-note-line-size:1px; width:80%; }
}
@media (max-width:680px) {
#neverland-front .nl-flow__items { grid-template-columns:1fr; gap:32px; width:75%; margin:0 auto 32px; padding-top:52px; }
#neverland-front .nl-flow-card { min-height:0; padding:42px 18px 26px; border-radius:8px; }
#neverland-front .nl-flow-card:not(:last-child)::after { display:none; }
#neverland-front .nl-flow-card__badge { top:-20px; width:48px; height:40px; }
#neverland-front .nl-flow-card__num { font-size:12px; }
#neverland-front .nl-flow-card__title { margin-bottom:18px; font-size:14px; line-height:22px; letter-spacing:.13em; font-weight:600; }
#neverland-front .nl-flow-card__icon { width:var(--nl-flow-icon-sp, 49px); height:auto; margin-bottom:18px; }
#neverland-front .nl-flow-card__text { font-size:14px; line-height:24px; letter-spacing:.12em; }
#neverland-front .nl-flow__note { --nl-flow-note-line-size:1px; width:90%; }
#neverland-front .nl-flow__note::after { margin-top:18px; }
#neverland-front .nl-flow__note-heading { gap:14px; margin-bottom:12px; }
#neverland-front .nl-flow__note-title { font-size:14px; line-height:24px; letter-spacing:.13em; }
#neverland-front .nl-flow__note-text { padding:0 10px; font-size:14px; line-height:22px; letter-spacing:.12em; font-weight:400; text-align:left; }
}

/* セクション6：よくあるご質問 */
#neverland-front .nl-faq { padding:1px 0 80px; }
/* FAQ：アコーディオン一覧 */
#neverland-front .nl-faq__items { display:grid; gap:28px; width:80%; margin:0 auto; }
#neverland-front .nl-faq-item { border-radius:10px; background:rgba(247,200,91,.36); overflow:hidden; }
#neverland-front .nl-faq-item__question { display:flex; align-items:center; width:100%; min-height:72px; padding:18px 34px; border:0; background:transparent; color:var(--nl-text); font-family:"Kiwi Maru",serif; text-align:left; cursor:pointer; }
#neverland-front .nl-faq-item__mark { display:grid; place-items:center; width:32px; height:32px; margin-right:24px; border-radius:50%; background:var(--nl-yellow); color:var(--nl-white); font-size:16px; font-weight:500; line-height:1; letter-spacing:.04em; flex:0 0 auto; }
#neverland-front .nl-faq-item__q-text { flex:1; font-size:16px; font-weight:500; line-height:30px; letter-spacing:.15em; }
#neverland-front .nl-faq-item__toggle { position:relative; display:block; width:28px; height:28px; margin-left:24px; flex:0 0 auto; }
#neverland-front .nl-faq-item__toggle::before { content:""; position:absolute; top:50%; left:50%; width:16px; height:2px; border-radius:999px; background:var(--nl-text); transform:translate(-50%, -50%); }
#neverland-front .nl-faq-item__toggle::after { content:""; position:absolute; top:50%; left:50%; width:2px; height:16px; border-radius:999px; background:var(--nl-text); transform:translate(-50%, -50%); }
#neverland-front .nl-faq-item.is-open .nl-faq-item__toggle::after { display:none; }
#neverland-front .nl-faq-item__answer { display:none; padding:0 34px 38px; }
#neverland-front .nl-faq-item__answer-inner { display:grid; grid-template-columns:32px 1fr; gap:24px; align-items:start; }
#neverland-front .nl-faq-item__a-mark { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--nl-pink); color:var(--nl-white); font-size:16px; font-weight:500; line-height:1; letter-spacing:.04em; }
#neverland-front .nl-faq-item__a-text { padding-top:1px; font-size:16px; line-height:30px; letter-spacing:.15em; }
#neverland-front .nl-faq-item.is-open .nl-faq-item__answer { display:block; }
@media (hover:hover) and (pointer:fine) {
#neverland-front .nl-faq-item__question:hover { opacity:.78; }
}
@media (max-width:680px) {
#neverland-front .nl-faq { padding:1px 0 54px; }
#neverland-front .nl-faq__items { gap:30px; width:80%; }
#neverland-front .nl-faq-item__question { min-height:74px; padding:17px 15px; align-items:flex-start; }
#neverland-front .nl-faq-item__mark { width:32px; height:32px; margin:0 10px 0 0; font-size:14px; }
#neverland-front .nl-faq-item__q-text { padding-top:1px; font-size:14px; line-height:30px; letter-spacing:.15em; }
#neverland-front .nl-faq-item__toggle { width:24px; height:30px; margin-left:5px; }
#neverland-front .nl-faq-item__answer { padding:0 25px 28px 15px; }
#neverland-front .nl-faq-item__answer-inner { grid-template-columns:32px 1fr; gap:10px; }
#neverland-front .nl-faq-item__a-mark { width:32px; height:32px; font-size:14px; }
#neverland-front .nl-faq-item__a-text { padding-top:0; font-size:14px; line-height:30px; letter-spacing:.15em; }
}

/* セクション7：お問い合わせフォーム */
#neverland-front .nl-contact { padding:80px 0 88px; background:var(--nl-contact); }
/* お問い合わせ：白いフォームボックス */
#neverland-front .nl-contact__box { width:min(60%, 760px); margin:0 auto; padding:52px 58px 42px; border:3px solid var(--nl-yellow); border-radius:18px; background:var(--nl-white); }
#neverland-front .nl-contact__title { display:flex; flex-direction:column; align-items:center; gap:22px; margin:0 0 42px; text-align:center; }
#neverland-front .nl-contact__icon { display:block; width:42px; height:auto; object-fit:contain; }
#neverland-front .nl-contact__title-text { font-size:20px; font-weight:500; line-height:30px; letter-spacing:.15em; }
/* お問い合わせ：フォーム全体 */
#neverland-front .nl-contact__form { display:grid; gap:20px; }
/* お問い合わせ：PC時の2カラム行 */
#neverland-front .nl-contact__row { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
#neverland-front .nl-contact__field { display:grid; gap:9px; margin:0; }
#neverland-front .nl-contact__field-inner { display:grid; gap:9px; margin:0; }
#neverland-front .nl-contact__label { display:flex; align-items:center; gap:12px; color:var(--nl-text); font-size:14px; font-weight:500; line-height:24px; letter-spacing:.13em; }
#neverland-front .nl-contact__required,#neverland-front .nl-contact__optional { display:inline-grid; place-items:center; min-width:48px; height:22px; padding:0 10px; border-radius:999px; color:var(--nl-white); font-size:12px; font-weight:500; line-height:1; letter-spacing:.08em; flex:0 0 auto; }
#neverland-front .nl-contact__required { background:var(--nl-yellow); }
#neverland-front .nl-contact__optional { background:var(--nl-blue); }
#neverland-front .nl-contact__radio-list { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
#neverland-front .nl-contact__radio { display:inline-flex; align-items:center; gap:8px; color:var(--nl-text); font-size:14px; font-weight:400; line-height:24px; letter-spacing:.12em; cursor:pointer; }
#neverland-front .nl-contact__radio input { position:relative; width:18px; height:18px; margin:0; border:2px solid var(--nl-yellow); border-radius:50%; background:var(--nl-white); appearance:none; cursor:pointer; flex:0 0 auto; }
#neverland-front .nl-contact__radio input:checked::before { content:""; position:absolute; top:50%; left:50%; width:8px; height:8px; border-radius:50%; background:var(--nl-yellow); transform:translate(-50%, -50%); }
/* お問い合わせ：テキスト入力欄・テキストエリア共通 */
#neverland-front .nl-contact__input,#neverland-front .nl-contact__textarea { width:100%; border:2px solid var(--nl-yellow); border-radius:5px; background:var(--nl-white); color:var(--nl-text); font-family:"Kiwi Maru",serif; font-size:15px; font-weight:400; line-height:1.7; letter-spacing:.08em; outline:none; transition:border-color .2s ease, background-color .2s ease; }
#neverland-front .nl-contact__input { height:48px; padding:0 14px; }
#neverland-front .nl-contact__textarea { min-height:160px; padding:14px; resize:vertical; }
#neverland-front .nl-contact__input::placeholder,#neverland-front .nl-contact__textarea::placeholder { color:rgba(74,65,67,.32); }
#neverland-front .nl-contact__input.is-error,#neverland-front .nl-contact__textarea.is-error,#neverland-front .nl-contact__radio-list.is-error { border-color:#F2A3A3; background:rgba(242,163,163,.12); }
#neverland-front .nl-contact__radio-list.is-error { padding:8px 10px; border:2px solid #F2A3A3; border-radius:8px; }
#neverland-front .nl-contact__notes { margin:-4px 0 0; color:var(--nl-text); font-size:12px; font-weight:400; line-height:22px; letter-spacing:.1em; }
#neverland-front .nl-contact__notes p { margin:0; font-size:12px; line-height:22px; letter-spacing:.1em; }
#neverland-front .nl-contact__notes--tel { margin:-2px 0 0; }
/* お問い合わせ：送信ボタン */
#neverland-front .nl-contact__submit { display:grid; place-items:center; width:130px; height:48px; margin:10px auto 0; border:0; border-radius:999px; background:var(--nl-pink); color:var(--nl-white); font-family:"Kiwi Maru",serif; font-size:16px; font-weight:500; line-height:1; letter-spacing:.14em; cursor:pointer; transition:opacity .25s ease; }
#neverland-front .nl-contact__submit.is-loading { opacity:.55; pointer-events:none; }
@media (hover:hover) and (pointer:fine) {
#neverland-front .nl-contact__submit:hover { opacity:.75; }
}
@media (min-width:681px) and (max-width:1024px) {
#neverland-front .nl-contact__box { width:72%; padding:48px 42px 42px; }
}
@media (max-width:680px) {
#neverland-front .nl-contact { padding:56px 0 64px; }
#neverland-front .nl-contact__box { width:82%; padding:34px 16px 34px; border-width:3px; border-radius:28px; }
#neverland-front .nl-contact__title { gap:14px; margin-bottom:28px; }
#neverland-front .nl-contact__icon { width:30px; }
#neverland-front .nl-contact__title-text { font-size:16px; line-height:26px; letter-spacing:.13em; }
#neverland-front .nl-contact__form { gap:17px; }
#neverland-front .nl-contact__row { grid-template-columns:1fr; gap:17px; }
#neverland-front .nl-contact__field { gap:8px; }
#neverland-front .nl-contact__field-inner { gap:8px; }
#neverland-front .nl-contact__label { gap:10px; font-size:13px; line-height:24px; letter-spacing:.13em; }
#neverland-front .nl-contact__required,#neverland-front .nl-contact__optional { min-width:48px; height:22px; font-size:12px; }
#neverland-front .nl-contact__radio-list { gap:8px 14px; }
#neverland-front .nl-contact__radio { gap:6px; font-size:13px; line-height:24px; letter-spacing:.1em; }
#neverland-front .nl-contact__radio input { width:16px; height:16px; border-width:2px; }
#neverland-front .nl-contact__radio input:checked::before { width:7px; height:7px; }
#neverland-front .nl-contact__input { height:46px; padding:0 12px; font-size:14px; }
#neverland-front .nl-contact__textarea { min-height:138px; padding:12px; font-size:14px; }
#neverland-front .nl-contact__notes { margin:-2px 0 0; font-size:11px; line-height:22px; letter-spacing:.09em; }
#neverland-front .nl-contact__notes p { font-size:11px; line-height:22px; letter-spacing:.09em; }
#neverland-front .nl-contact__notes--tel { margin:-1px 0 0; }
#neverland-front .nl-contact__submit { width:96px; height:42px; margin-top:6px; font-size:15px; }
}
