/* 加古川びより — ヒガシルの構成（全幅の色面セクション・波形・大きな角丸・カルーセル）× あんふぁんのやわらかい色・アイコン。
   レイアウト・配色の考え方のみ参考。部品・アイコンはすべて自作。ダークモードなし／片側だけ色の枠なし（ユーザー指示） */
:root{
  color-scheme:light;
  --ink:#1e2627;--muted:#4f6064;--line:#dfe6e8;--bg:#fff;
  --blue:#0f68a5;--blue-d:#0a5486;--pale:#ebf3f6;--cream:#fff7ee;--beige:#f8f6ed;
  --font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic","Meiryo",sans-serif;
  --shadow:0 2px 4px rgba(30,60,80,.05),0 10px 26px rgba(30,60,80,.09);
}
.c-hikkoshi,.c-tetsuzuki{--c:#f08a2b}.c-gomi{--c:#2a9a4a}.c-iryo{--c:#e5483b}.c-kosodate{--c:#d99a06}.c-event{--c:#1d7fc1}.c-sumai{--c:#2a9a4a}
.c-hikkoshi,.c-tetsuzuki,.c-gomi,.c-iryo,.c-kosodate,.c-event,.c-sumai{--t:color-mix(in srgb,var(--c) 14%,#fff)}

*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(min-width:900px){html{font-size:18px}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.95 var(--font);word-break:auto-phrase;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--blue)}a:hover{color:var(--blue-d)}
:focus-visible{outline:3px solid #f08a2b;outline-offset:2px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:800px}
main{min-height:60vh}
.ic{width:1.3em;height:1.3em;flex:none}.ic.sm{width:1.05em;height:1.05em}.ic.big{width:2.2em;height:2.2em}.ic.huge{width:5.5em;height:5.5em}.ic.logo{width:1.8em;height:1.8em;color:var(--blue)}

/* ヘッダー（ヒガシル風: 白地・左ロゴ・色付きアイコンの上下ナビ） */
.site-header{background:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 0 var(--line)}
.hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 20px;padding-top:10px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 1.2rem/1.3 var(--font)}
.gnav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.gnav::-webkit-scrollbar{display:none}
.gn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:4px 10px;border-radius:12px;text-decoration:none;color:var(--ink);font:700 .85rem/1.35 var(--font);white-space:nowrap}
.gn .gi{display:grid;place-items:center;color:var(--c)}
.gn .gi .ic{width:1.7em;height:1.7em}
.gn:hover{background:var(--t);color:var(--ink)}
@media(max-width:700px){.hd{flex-direction:column;align-items:stretch}.gnav{justify-content:space-between;gap:0}.gn{min-width:0;flex:1 1 auto;padding:4px 3px}}

/* 共通部品 */
.chip{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ink);font:700 .85rem/1.2 var(--font);border-radius:99px;padding:6px 14px 6px 10px;box-shadow:0 2px 8px rgba(30,60,80,.14)}
.chip .ic{color:var(--c)}
.chip.big{box-shadow:none;background:var(--t);font-size:.95rem;padding:7px 16px 7px 12px;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--blue);color:#fff!important;text-decoration:none;border-radius:99px;padding:11px 26px;font:700 1rem/1.4 var(--font)}
.btn:hover{background:var(--blue-d)}
.pill{display:inline-flex;align-items:center;gap:12px;background:var(--blue);color:#fff!important;text-decoration:none;border-radius:99px;padding:8px 10px 8px 28px;font:700 1rem/1.4 var(--font)}
.pill:hover{background:var(--blue-d)}
.pill .pa{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--blue)}
.wave{display:block;width:100%;height:36px;margin-bottom:-1px}

/* セクション見出し（中央: アイコン＋見出し／下に色付き英字） */
.sh{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:0 0 28px}
.sh-t{display:inline-flex;align-items:center;gap:10px}
.sh .shi{color:var(--c,var(--blue));display:grid;place-items:center}
.sh h2{margin:0;font:700 1.65rem/1.4 var(--font);border:0;background:none;padding:0}
.sh .en{font:700 .9rem/1 var(--font);letter-spacing:.16em;color:var(--c,var(--blue))}
.sh.light h2,.sh.light .en,.sh.light .shi{color:#fff}
.sec{padding-top:44px;padding-bottom:50px}
@media(max-width:600px){.sh h2{font-size:1.45rem}.sh .shi .ic.big{width:1.9em;height:1.9em}}

/* カード */
.cards{display:grid;gap:22px}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s}
.card:hover{transform:translateY(-3px);color:var(--ink)}
.thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--t),color-mix(in srgb,var(--c) 6%,#fff));display:grid;place-items:center;overflow:hidden;position:relative}
.thumb.r43{aspect-ratio:4/3;border-radius:22px}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb .ph{color:var(--c);display:grid;place-items:center}
.thumb .ph .ic.big{width:3.8em;height:3.8em}
.thumb .chip{position:absolute;left:14px;bottom:14px}
.cb{display:flex;flex-direction:column;gap:8px;padding:16px 20px 20px;flex:1}
.cb strong{font:700 1.15rem/1.6 var(--font)}
.cb .d,.big-card .d{font-size:.95rem;line-height:1.75;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta-row{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted);margin-top:auto}
.ht{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:.9rem;color:var(--blue)}
.ht i{font-style:normal}

/* トップ: ヒーロー（淡い青灰の面＋大きな角丸の特集＋右のガイド） */
.hero-bg{background:var(--pale)}
.hero{display:grid;gap:22px;padding-top:24px;padding-bottom:30px}
.hero-main{position:relative;display:block;border-radius:28px;overflow:hidden;text-decoration:none;color:var(--ink);min-height:300px;background:linear-gradient(135deg,var(--t),#fff);box-shadow:var(--shadow)}
.hm-img{position:absolute;inset:0;display:grid;place-items:center}
.hm-img::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:color-mix(in srgb,var(--c) 15%,transparent);right:-70px;top:-90px}
.hm-img::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.6);left:-40px;bottom:-60px}
.hm-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-img .ph{position:relative;z-index:1;color:var(--c);margin-bottom:60px}
.hm-cap{position:absolute;left:18px;right:18px;bottom:18px;background:#fff;border-radius:20px;padding:16px 22px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-shadow:0 8px 26px rgba(30,60,80,.14);z-index:2}
.hm-cap .chip{box-shadow:none;background:var(--t)}
.hm-cap .cd{font-size:.9rem;color:var(--muted)}
.hm-cap strong{flex-basis:100%;font:700 1.35rem/1.55 var(--font)}
@media(max-width:899px){
  .hero-main{min-height:0;display:flex;flex-direction:column}
  .hm-img{position:relative;height:210px;flex:none}
  .hm-img .ph{margin-bottom:0}
  .hm-cap{position:relative;left:auto;right:auto;bottom:auto;margin:-30px 14px 14px}
}
@media(min-width:900px){.hero{grid-template-columns:1.85fr 1fr}.hero-main{min-height:430px}.hm-cap{right:auto;max-width:78%}}
.hero-side{background:#fff;border-radius:26px;padding:20px 18px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.hs-title{margin:0 4px 2px;display:flex;align-items:center;gap:8px;font:700 1.15rem/1.4 var(--font);color:var(--blue)}
.hs-title small{font:700 .85rem/1 var(--font);letter-spacing:.14em;margin-left:4px;color:var(--blue)}
.banner{position:relative;display:flex;align-items:center;gap:14px;padding:12px 16px;min-height:76px;border-radius:16px;text-decoration:none;color:var(--ink);background:var(--t);overflow:hidden;flex:1}
.banner:hover{color:var(--ink);background:color-mix(in srgb,var(--c) 22%,#fff)}
.banner .bi{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--c);flex:none}
.banner .bi .ic.big{width:1.6em;height:1.6em}
.banner .bt{font:700 1.05rem/1.5 var(--font)}
.banner .bt small{display:block;font:500 .85rem/1.4 var(--font);color:var(--muted)}
.hs-more{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px;font:700 1rem/1.4 var(--font);text-decoration:none}

/* トップ: ピックアップ（横スクロールのカルーセル） */
.pick-bg{background:var(--pale);padding:26px 0 56px}
.carousel{position:relative}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 12px}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 min(84%,380px);scroll-snap-align:start}
.big-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.big-card:hover{color:var(--ink)}
.big-card strong{font:700 1.15rem/1.6 var(--font);margin-top:6px}
.car-ctl{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.car-ctl button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:var(--shadow);cursor:pointer}
.car-ctl button:hover{background:var(--t)}

/* トップ: ガイド枠（ヒガシルのモデルコース風） */
.showcase{display:grid;gap:26px;background:var(--t);border-radius:32px;padding:30px 24px;align-items:center}
@media(min-width:900px){.showcase{grid-template-columns:1.4fr 1fr;padding:40px 48px}}
.lab{display:inline-block;background:var(--blue);color:#fff;font:700 .9rem/1.2 var(--font);padding:6px 16px;border-radius:6px 99px 99px 6px}
.showcase h3{margin:10px 0 6px;font:700 1.55rem/1.55 var(--font)}
.dots{height:6px;margin:6px 0 14px;background:radial-gradient(circle,var(--ink) 1.6px,transparent 2px) 0 50%/10px 6px repeat-x;opacity:.55}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:10px}
.facts span{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.facts b{border:1.5px solid var(--blue);color:var(--blue);background:#fff;border-radius:4px;padding:1px 10px;font-size:.88rem}
.showcase p{margin:6px 0}
.showcase .tags{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--blue);font-size:.95rem;margin-bottom:16px}
.showcase .tags i{font-style:normal}
.sc-art{position:relative;min-height:220px;display:none}
@media(min-width:900px){.sc-art{display:block}}
.sc-art .c1{position:absolute;right:30px;top:50%;margin-top:-105px;width:210px;height:210px;border-radius:50%;background:#fff;color:var(--c);display:grid;place-items:center;box-shadow:var(--shadow)}

/* トップ: 濃い青のカテゴリ面 → クリームの日程面 → ベージュの情報面（角丸で重ねる） */
.blue-bg{background:var(--blue);padding:34px 0 100px}
.ctiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.ctile{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.ctile:hover{color:var(--ink);transform:translateY(-3px)}
.ctile .thumb{aspect-ratio:16/9}
.ctile .cb{padding:16px 20px 20px}
.ctile .cb .d{-webkit-line-clamp:3}
.cream-bg,.beige-bg{position:relative;border-radius:56px 56px 0 0;margin-top:-56px}
.cream-bg{background:var(--cream);padding:56px 0 100px}
.beige-bg{background:var(--beige);padding:56px 0 100px}
.sched-wrap{display:grid;gap:22px}
@media(min-width:900px){.sched-wrap{grid-template-columns:1fr 1.5fr;align-items:start}}
.sched-intro .sh{align-items:flex-start;text-align:left;margin-bottom:12px}
.sched-intro p{margin:0;color:var(--muted)}
.sched{display:flex;flex-direction:column;gap:12px}
.sch{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:14px 18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.sch:hover{color:var(--ink);background:#fffdf9}
.sd{display:flex;flex-direction:column;min-width:104px;line-height:1.35}
.sd b{font:700 1.6rem/1.2 var(--font);color:var(--blue)}
.sd i{font-style:normal;font-size:.88rem;color:var(--muted)}
.st{flex:1;font:700 1.05rem/1.6 var(--font)}
.sa{color:var(--blue);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pale);flex:none}
@media(max-width:600px){.sd{min-width:84px}.sd b{font-size:1.4rem}.sch{gap:12px;padding:14px 14px}.sa{display:none}}
.trust{display:grid;gap:16px}
@media(min-width:800px){.trust{grid-template-columns:repeat(3,1fr)}}
.trust>div{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:var(--shadow)}
.trust .ti{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--t);color:var(--c);margin-bottom:12px}
.trust .ic.big{width:1.7em;height:1.7em}
.trust strong{display:block;font:700 1.1rem/1.55 var(--font)}
.trust p{margin:4px 0 0;font-size:.95rem;line-height:1.8;color:var(--muted)}

/* カテゴリページ */
.cat-head{display:flex;align-items:center;gap:18px;margin:8px 0 26px}
.cat-head .ci{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--t);color:var(--c);flex:none}
.cat-head h1{margin:0;font:700 1.8rem/1.4 var(--font)}
.cat-head .lead{margin:2px 0 0;color:var(--muted);line-height:1.7}
.is-cat main{padding-bottom:50px}

/* 記事 */
.is-article main,.is-cat main{padding-top:16px}
h1{font:700 1.75rem/1.55 var(--font);margin:.45em 0 .3em}
.crumbs{font-size:.9rem;color:var(--muted);margin:8px 0}
.crumbs a{color:var(--muted)}
.meta{font-size:.92rem;color:var(--muted);margin:.2em 0 1em}
.pr-note{font-size:.88rem;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:3px 14px;display:inline-block}
.toc{background:var(--pale);border-radius:22px;padding:18px 24px;margin:1.3em 0}
.toc-title{margin:0 0 .4em;display:flex;align-items:center;gap:8px;font:700 1.05rem/1.5 var(--font)}
.toc ol{margin:0;padding-left:1.4em;font-size:1rem;line-height:1.95}
.prose h2{font:700 1.35rem/1.55 var(--font);margin:2.5em 0 .8em;padding:.55em 1em;background:var(--t,var(--pale));border-radius:16px}
.prose h3{font:700 1.15rem/1.6 var(--font);margin:2em 0 .5em}
.prose h3::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--c,var(--blue));margin-right:.55em;vertical-align:.08em}
.prose .tbl{overflow-x:auto;background:#fff;border-radius:16px;box-shadow:var(--shadow);margin:1em 0}
.prose .tbl table{border-collapse:separate;border-spacing:0;width:100%;font-size:.95rem;line-height:1.75}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:11px 14px;vertical-align:top;text-align:left}
.prose th{background:var(--t,var(--pale));font-weight:700;white-space:nowrap}
.prose tr:last-child td{border-bottom:0}
.prose li{margin:.4em 0}
.prose blockquote{margin:1em 0;padding:.8em 1.3em;background:var(--t,var(--pale));border-radius:18px}
.prose input[type=checkbox]{margin-right:.4em}
.prose strong{background:linear-gradient(transparent 62%,rgba(255,170,90,.38) 62%)}
.nw{white-space:nowrap}
.aff{border:2px dashed #f08a2b;border-radius:22px;padding:16px 20px;margin:1.6em 0;background:#fff}
.aff p{margin:.3em 0}.aff-title{font:700 1.05rem/1.5 var(--font)}
.pr{font-size:.75rem;font-weight:700;background:#f08a2b;color:#2b1d00;border-radius:99px;padding:1px 9px;margin-left:8px;vertical-align:middle}
.sources{margin-top:2.6em;background:var(--pale);border-radius:22px;padding:8px 24px 18px;font-size:.95rem}
.sources h2{font:700 1.1rem/1.5 var(--font);border:0;background:none;padding:0;margin:.9em 0 .4em}
.sources .got{color:var(--muted);margin-left:.3em}
.related{padding-top:34px;padding-bottom:40px}
.related .sh{margin-bottom:22px}

/* フッター */
.site-footer{background:var(--blue);color:#fff;margin-top:50px;padding:36px 0 40px;font-size:.95rem}
.site-footer a{color:#fff}
.fbrand{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:700 1.15rem/1.4 var(--font)}
.fbrand .ic.logo{color:#fff}
.fnav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:14px}
.fnav a{text-decoration:none;font:700 .95rem/1.7 var(--font)}
.fnav a:hover{text-decoration:underline}
.site-footer p{margin:.4em 0}
.site-footer .disclosure{line-height:1.8;opacity:.92}
/* トップだけ: フッターをベージュの面に重ねる */
.is-home .site-footer{margin-top:-56px;border-radius:56px 56px 0 0;position:relative;padding-top:80px}

/* 特集スライダー（ヒーロー） */
.hero-slider{position:relative;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#fff;min-width:0}
.hero-slider .track{flex:1;display:flex;gap:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hero-slider .hero-main{flex:0 0 100%;scroll-snap-align:start;border-radius:0;box-shadow:none;min-width:0}
.sl-ctl{position:absolute;right:16px;top:16px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);border-radius:99px;padding:6px 8px 6px 14px;z-index:3;box-shadow:0 4px 14px rgba(30,60,80,.18)}
.sl-dots{display:flex;gap:8px;align-items:center}
.sl-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#b9c9cf;cursor:pointer;transition:width .2s}
.sl-dots button.on{background:var(--blue);width:24px;border-radius:99px}
.sl-ctl .prev,.sl-ctl .next{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:var(--pale);color:var(--ink);cursor:pointer}
.sl-ctl .prev:hover,.sl-ctl .next:hover{background:var(--t,#dfe9ee)}

/* 保育料の自動計算ツール */
.calc{background:#fff;border-radius:24px;padding:22px 22px 24px;box-shadow:var(--shadow);margin:1.2em 0}
.calc fieldset{border:0;padding:0;margin:0 0 22px}
.calc legend{font:700 1.1rem/1.5 var(--font);margin-bottom:10px;padding:0}
.calc .opt,.calc .chk{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:2px solid var(--line);border-radius:14px;margin-bottom:8px;cursor:pointer;line-height:1.7}
.calc .opt input,.calc .chk input{margin-top:.4em;width:1.2em;height:1.2em;flex:none}
.calc .opt small{display:block;color:var(--muted);font-size:.9rem}
.calc .opt:has(input:checked),.calc .chk:has(input:checked){border-color:var(--blue);background:var(--pale)}
.calc .chk{font-size:.95rem}
.calc select,.calc input[type=number]{width:100%;font:500 1rem/1.5 var(--font);padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.calc .income-wrap{margin-top:14px}
.calc .income-wrap label{display:block;font-weight:700;margin-bottom:6px}
.calc .hint{font-size:.9rem;color:var(--muted);margin:6px 0 0;line-height:1.7}
.calc-btn{border:0;cursor:pointer;width:100%;justify-content:center;font-size:1.1rem;padding:14px}
.result{margin-top:20px;background:var(--pale);border-radius:18px;padding:18px 20px}
.result[hidden]{display:none}
.result .r-main{font:700 1.25rem/1.5 var(--font);margin:0 0 6px}
.result .r-main b{font-size:1.9rem;color:var(--blue)}
.prose .result .r-tbl{display:table;width:100%;margin:10px 0;background:#fff;box-shadow:none;border-radius:12px;overflow:hidden}
.r-tbl th,.r-tbl td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:normal}
.r-tbl tr:last-child th,.r-tbl tr:last-child td{border-bottom:0}
.r-tbl td b{font-size:1.4rem;color:var(--blue)}
.r-err{color:#b3261e;font-weight:700;margin:0}
.result.err{background:#fdecea}
.r-foot{font-size:.9rem;color:var(--muted)}
.result ul{padding-left:1.2em;margin:.6em 0}
@media(prefers-reduced-motion:reduce){.card,.ctile{transition:none}html{scroll-behavior:auto}.track{scroll-behavior:auto}}

/* ---- 画像（イラスト） ---- */
.a-hero,.fig,.cat-banner,.about-hero{margin:0}
.a-hero{margin:18px 0 10px}
.fig{margin:2em 0 .6em}
.a-hero img,.fig img{display:block;width:100%;height:auto;border-radius:26px;box-shadow:var(--shadow)}
.cat-banner{margin:0 0 30px}
.cat-banner img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.about-hero{margin:0 0 30px}
.about-hero img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:28px}
.sc-art .c1.has-img{overflow:hidden;width:250px;height:250px;margin-top:-125px;background:#fff}
.sc-art .c1.has-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.a-hero img,.fig img,.cat-banner img,.about-hero img{border-radius:20px}}
.hm-img:has(img)::before,.hm-img:has(img)::after{content:none}
.hs-title small{white-space:nowrap}

/* ---- よくある質問（Q&A） ---- */
.prose .faq{background:var(--t,var(--pale));border-radius:30px;padding:20px 18px 22px;margin:16px 0}
.prose .faq-head{display:flex;align-items:center;gap:18px;margin:0 4px 16px}
.prose .faq-head img{flex:none;width:96px;height:96px;border-radius:50%;box-shadow:0 4px 14px rgba(30,60,80,.15)}
.prose .faq-head p{margin:0;font:500 1.02rem/1.75 var(--font);color:var(--ink)}
.prose .qa{background:#fff;border-radius:20px;box-shadow:var(--shadow);margin:10px 0;overflow:hidden}
.prose .qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 16px;-webkit-tap-highlight-color:transparent}
.prose .qa summary::-webkit-details-marker{display:none}
.prose .qa summary:hover{background:color-mix(in srgb,var(--c,var(--blue)) 6%,#fff)}
.prose .qa summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;border-radius:20px}
.prose .qa .qi,.prose .qa .ai{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;font:700 1.15rem/1 var(--font)}
.prose .qa .qi{background:var(--c,var(--blue));color:#fff}
.prose .qa .qt{flex:1;font:700 1.08rem/1.65 var(--font);color:var(--ink)}
.prose .qa .chev{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--t,var(--pale));color:var(--c,var(--blue));transform:rotate(-90deg);transition:transform .2s}
.prose .qa[open] .chev{transform:rotate(90deg)}
.prose .qa .ans{display:flex;gap:14px;align-items:flex-start;margin:0 12px 12px;padding:16px 16px 18px;background:var(--cream);border-radius:16px}
.prose .qa .ai{background:#fde3cc;color:#a84a12}
.prose .qa .ans p{margin:0;padding-top:.3rem;line-height:1.9}
@media(max-width:600px){
  .prose .faq{padding:16px 12px 18px;border-radius:24px}
  .prose .faq-head{gap:12px}.prose .faq-head img{width:72px;height:72px}
  .prose .qa summary{gap:10px;padding:12px 12px}
  .prose .qa .ans{gap:10px;margin:0 8px 8px;padding:14px 12px 16px}
}
@media(prefers-reduced-motion:reduce){.prose .qa .chev{transition:none}}

/* ---- ロゴ ---- */
.brand img{display:block;height:52px;width:auto;max-width:100%}
.fbrand{margin:0 0 14px}
.fb-pill{display:inline-flex;background:#fff;border-radius:99px;padding:8px 22px 8px 16px}
.fb-pill img{display:block;height:40px;width:auto}
@media(max-width:600px){.brand img{height:44px}}

/* ---- 知りたいことから探す：画像バナー ---- */
.banner.has-img{min-height:96px;padding:12px 16px 12px 18px}
.banner .bn-img{position:absolute;right:0;top:0;height:100%;width:64%;object-fit:cover;object-position:right center;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 55%);mask-image:linear-gradient(to right,transparent 0,#000 55%);transition:transform .35s}
.banner.has-img:hover .bn-img{transform:scale(1.04)}
.banner.has-img .bt{position:relative;z-index:1;max-width:70%}
.banner .bt small{display:flex;align-items:center;gap:5px}
.banner .bt small .ic{color:var(--c)}
@media(prefers-reduced-motion:reduce){.banner .bn-img{transition:none}}

/* ---- 読みやすさの部品: 囲み(.note)・手順の番号 ---- */
.prose .note{margin:1.5em 0;padding:16px 18px 18px;border-radius:22px;background:var(--nb,var(--pale));display:grid;gap:8px}
.prose .note-t{margin:0;display:flex;align-items:center;gap:10px;font:700 1.02rem/1.4 var(--font);color:var(--ink)}
.prose .note-t .ic{flex:none;box-sizing:content-box;width:1.15em;height:1.15em;padding:.45em;border-radius:50%;background:#fff;color:var(--nc,var(--blue))}
.prose .note-b p{margin:.4em 0}.prose .note-b p:first-child{margin-top:0}.prose .note-b p:last-child{margin-bottom:0}
.prose .note-b ul,.prose .note-b ol{margin:.4em 0}
.prose .note-point{--nb:#e4f1fa;--nc:#0f68a5}
.prose .note-warn{--nb:#fde9dc;--nc:#d4531a}
.prose .note-memo{--nb:#fff4de;--nc:#b97800}
.prose .note-eg{--nb:#e6f5ea;--nc:#2a8a46}
.prose ol:not(.toc ol){list-style:none;counter-reset:st;padding-left:0}
.prose ol:not(.toc ol)>li{counter-increment:st;position:relative;padding-left:2.8rem;margin:.9em 0;min-height:2.2rem}
.prose ol:not(.toc ol)>li::before{content:counter(st);position:absolute;left:0;top:.05em;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--c,var(--blue));color:#fff;font:700 1rem/2.1rem var(--font);text-align:center}

/* ---- イベント情報の募集（フォーム・トップのバナー） ---- */
.boshu{display:grid;grid-template-columns:1fr;gap:0;margin-top:34px;background:#fff3d6;border-radius:30px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.boshu:hover{color:var(--ink);background:#ffeec2}
.boshu img{display:block;width:100%;height:100%;max-height:260px;object-fit:cover}
.bs-t{display:flex;flex-direction:column;gap:8px;padding:22px 24px 26px;align-items:flex-start}
.bs-lab{display:inline-block;background:#fff;color:#b45f06;font:700 .95rem/1 var(--font);padding:7px 14px;border-radius:99px}
.bs-t strong{font:700 1.4rem/1.5 var(--font)}
.bs-d{line-height:1.8}
@media(min-width:800px){.boshu{grid-template-columns:.9fr 1.1fr}.boshu img{max-height:none;min-height:260px}.bs-t{padding:30px 36px;justify-content:center}}
.evform{display:grid;gap:18px;margin:24px 0 8px}
.fld{display:grid;gap:6px}
.fld-row{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.fld-row{grid-template-columns:1fr 1fr}}
.fld label,.agree{font:700 1.02rem/1.5 var(--font)}
.fld .req,.fld .opt{display:inline-block;margin-left:8px;font:700 .8rem/1 var(--font);padding:4px 8px;border-radius:99px;vertical-align:.1em}
.fld .req{background:#fde3cc;color:#a84a12}.fld .opt{background:var(--pale);color:var(--muted)}
.fld .hint{color:var(--muted);font-size:.9rem;line-height:1.6}
.evform input[type=text],.evform input[type=date],.evform input[type=url],.evform input[type=email],.evform select,.evform textarea{width:100%;box-sizing:border-box;font:500 1.06rem/1.6 var(--font);color:var(--ink);background:#fff;border:2px solid #cfdde2;border-radius:14px;padding:12px 14px}
.evform textarea{resize:vertical;min-height:7.5em}
.evform input:focus,.evform select:focus,.evform textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(15,104,165,.18)}
.evform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.agree{display:flex;gap:10px;align-items:flex-start;background:var(--pale);padding:14px 16px;border-radius:16px}
.agree input{margin-top:.35em;width:1.2em;height:1.2em;flex:none}
.btn.big{justify-self:start;padding:15px 40px;font-size:1.1rem;border:0;cursor:pointer}
.btn.big:disabled{opacity:.6;cursor:wait}
.ev-msg{margin:0;min-height:1.6em;font-weight:700}.ev-msg.err{color:#b3261e}
.ev-done{text-align:center;background:#fff3d6;border-radius:28px;padding:20px 20px 28px;margin:24px 0}
.ev-done img{width:100%;max-width:420px;height:auto;border-radius:20px}
.ev-done h2{background:none;padding:0;margin:.8em 0 .4em}
