

:root{--red:#1E4D8C;--red-dark:#163B6C;--red-soft:#F1ECE3;--ink:#1F2328;--sub:#5A6270;--dark:#1B2A41;--surface:#FFFCF7;--line-c:#E2DACB}
body{background:#FAF7F2;color:var(--ink)}
.card{background:var(--surface);border:1px solid var(--line-c);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.card.clip{overflow:hidden}
.crumb{font-size:13px;margin:24px 0 14px;color:var(--sub)}
.crumb a{text-decoration:none;color:var(--sub)}

.crumb span{margin:0 8px;color:#bbb}
.head{padding:28px 32px;border-top:4px solid var(--red)}
.area-tag{display:inline-block;margin:0 0 6px;padding:2px 12px;border-radius:999px;background:var(--red-soft);color:var(--red-dark);font-size:13px;font-weight:700;letter-spacing:.05em}
.head h1{font-size:clamp(26px,4vw,36px);font-weight:700;margin:0 0 16px;letter-spacing:.02em}
.meta{display:flex;flex-wrap:wrap;gap:12px 36px;margin:0;padding-top:16px;border-top:1px dashed #e3e3e3;font-size:16px}
.meta dt{font-size:13px;font-weight:700;color:var(--red-dark);letter-spacing:.05em}
.meta dd{margin:2px 0 0}
/* メイン画像：教室名カードの下に横長で置き、メイン見出しの枠を画像の下端に少し重ねる */
/* メイン画像：PC は教室名カードの右側に小さく、スマホはカードの下に横長で置き、メイン見出しを下端に少し重ねる */
.head.has-vis{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:32px;align-items:center}
.head-vis{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:3/2}
.head-vis img,.mainvis img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.mainvis{display:none}
@media (max-width:640px){
 .head.has-vis{display:block}
 .head-vis{display:none}
 .mainvis{display:block;margin:24px 0 0;border-radius:8px;overflow:hidden;aspect-ratio:3/2;width:100%}
 .catch.on-vis{margin:-36px auto 40px;width:calc(100% - 24px);padding:28px 20px;z-index:1}
}
.catch{font-family:inherit;line-height:1.6;position:relative;margin:40px 0;padding:36px 28px;border-radius:16px;text-align:center;font-size:clamp(20px,3vw,28px);font-weight:700;color:var(--red-dark);letter-spacing:.03em;
 background:var(--red-soft);border:1px solid var(--line-c);box-shadow:0 10px 30px rgba(27,42,65,.06)}
.catch::before,.catch::after{position:absolute;font-size:64px;line-height:1;color:rgba(30,77,140,.16);font-family:Georgia,serif}
.catch::before{content:"“";left:18px;top:8px}
.catch::after{content:"”";right:18px;bottom:-18px}
.lps{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lp{background:var(--surface);border:1px solid var(--line-c);border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.lp .num{display:inline-block;font-weight:700;color:#fff;background:var(--red);border-radius:6px;padding:1px 10px;font-size:13px;letter-spacing:.05em}
.lp h3{font-size:20px;margin:12px 0 10px}
.lp p{margin:0;color:#3a3a3a;line-height:1.9}
.lp img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:8px;margin:4px 0 14px}
.section-title{font-size:24px;font-weight:700;margin:64px 0 20px;padding-left:14px;border-left:6px solid var(--red);line-height:1.3}
.section-title small{display:block;font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--red-dark);margin-bottom:2px}
table.t{width:100%;border-collapse:collapse;background:var(--surface)}
table.t th,table.t td{border-bottom:1px solid var(--line-c);padding:13px 18px;text-align:left}
table.t td+td,table.t th+td,table.t td+th{border-left:1px solid var(--line-c)}
table.t thead th{background:var(--dark);color:#fff;font-weight:700;letter-spacing:.05em;border-bottom:none}
table.t thead th+th{border-left:1px solid rgba(255,255,255,.25)}
table.t tbody tr:last-child td,table.t tbody tr:last-child th{border-bottom:none}
table.t th.course{background:var(--red-soft);width:34%;border-right:1px solid var(--line-c);vertical-align:middle}
table.t tbody td{font-variant-numeric:tabular-nums}
table.fee{border-collapse:separate;border-spacing:0;border:1px solid var(--line-c);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
table.fee th{background:var(--red-soft);width:40%;font-weight:500;border-right:1px solid var(--line-c)}
table.fee tr:first-child th{border-top-left-radius:16px}
table.fee tr:first-child td{border-top-right-radius:16px}
table.fee tr:last-child th{border-bottom-left-radius:16px}
table.fee tr:last-child td{border-bottom-right-radius:16px}
table.fee td{font-weight:700;font-size:17px;border-left:none}
table.fee .fee-num{font-size:21px}
table.t td.time{font-size:18px}
table.fee small{font-weight:400;font-size:13px;color:var(--sub);margin-left:4px}
table.fee .per{font-size:13px;font-weight:400;margin-left:12px}
.tip{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:help;outline:none}
.tip i{flex:none;font-style:normal;font-size:13px;font-weight:700;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:#bdbdbd;color:#fff}
.tip::after{content:attr(data-tip);white-space:pre-line;position:absolute;left:0;bottom:calc(100% + 10px);width:max-content;max-width:280px;padding:8px 12px;border-radius:8px;background:var(--ink);color:#fff;font-size:14px;font-weight:400;line-height:1.6;white-space:normal;box-shadow:0 4px 12px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:10;pointer-events:none}
.tip::before{content:"";position:absolute;left:14px;bottom:calc(100% + 4px);border:6px solid transparent;border-top-color:var(--ink);border-bottom:0;opacity:0;visibility:hidden;transition:opacity .15s;z-index:10}.tip:focus::after{opacity:1;visibility:visible;transform:none}.tip:focus::before{opacity:1;visibility:visible}.tip:focus i{background:var(--red)}
.fee-note{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--sub)}
.fee-note summary{list-style:none;cursor:pointer;padding:4px 0;border-radius:6px}
.fee-note summary::-webkit-details-marker{display:none}
.fee-note summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.fee-note .fn-tg{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:var(--red);font-weight:700;white-space:nowrap}
.fee-note .fn-tg::before{content:"詳しく見る"}
.fee-note[open] .fn-tg::before{content:"閉じる"}
.fee-note .fn-tg::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.fee-note[open] .fn-tg::after{transform:rotate(-135deg);margin-top:3px}
.fee-note p{margin:6px 0 0;padding:12px 16px;border-radius:12px;background:var(--red-soft);color:var(--ink)}
.sched summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:16px 20px;padding-right:120px;position:relative;
 background:var(--surface);border:1px solid var(--line-c);border-radius:16px;transition:background .15s}
.sched summary::-webkit-details-marker{display:none}

.sched summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.sched-days{font-weight:700;color:var(--red-dark)}
.sched-meta{font-size:14px;color:var(--sub)}
.sched-tg{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--red-dark)}
.sched-tg::before{content:"時間を見る"}
.sched-tg::after{content:"";width:9px;height:9px;margin-top:-4px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.sched[open] .sched-tg::before{content:"閉じる"}
.sched[open] .sched-tg::after{transform:rotate(-135deg);margin-top:4px}
.sched[open] summary{border-radius:16px 16px 0 0;border-bottom-color:transparent}
.sched .card{border-radius:0 0 16px 16px;border-top:none}
@media (max-width:640px){.sched summary{padding:14px 16px;padding-right:104px}.sched-tg{right:16px}}
.rules{margin:20px 0 0;padding:20px 24px;background:var(--surface);border:1px solid var(--line-c);border-radius:16px}
.rules h3{margin:0 0 10px;font-size:18px;color:var(--red-dark)}
.rules ul{margin:0;padding:0;list-style:none}
.rules li{position:relative;padding-left:22px;margin:6px 0;font-size:16px;line-height:1.7}
.rules li::before{content:"";position:absolute;left:4px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--red)}
.rules-ex{display:block;font-size:14px;color:var(--sub)}
@media (max-width:640px){.rules{padding:16px}}
.note{font-size:13px;color:var(--sub);margin:10px 0 0}
.curs{display:flex;flex-wrap:wrap;gap:10px 12px}
.cur{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-c);color:var(--red-dark);border-radius:999px;padding:10px 22px;font-weight:700;box-shadow:0 6px 16px rgba(27,42,65,.08)}
.cur::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
a.cur-link{text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}a.cur-link:focus-visible{background:var(--red-soft);border-color:var(--red)}
.back-wrap{margin:56px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.sched-note{font-size:14px}
.back{display:inline-block;padding:12px 28px;border-radius:999px;background:var(--dark);color:#fff;text-decoration:none;font-weight:700;font-size:16px;transition:background .15s}

.pending{background:var(--surface);border:1px dashed #d8d8d8;border-radius:16px;padding:20px 24px;margin:0;color:#4a4a4a}
footer.site{border-top:4px solid var(--red);--ft-bg:#34496B}
@media (max-width:640px){.lps{grid-template-columns:1fr}.head{padding:22px 20px}.lp{padding:22px}}


/* ===== パステル改訂案 ===== */
:root{--accent:#FFF07A;--cream:#FFF9CF;--black:#1F3D7A;--line-soft:#D6EBF5;--ink:#2B3445;--sub:#5E6B7E;
 --red:#1F3D7A;--red-dark:#17305F;--red-soft:#EAF6FB;--dark:#1F3D7A;--surface:#FFFFFF;--line-c:#D6EBF5;--ft-bg:#EAF6FB;
 --butter:#FFF9CF;--sky:#8ECFEA;--sky-soft:#EAF6FB}
/* 横のはみ出しは clip で隠す（hidden だと body がスクロール領域になり、ヘッダーの固定表示が効かなくなる） */
body{background:#FFFFFF;color:#2B3445;overflow-x:clip}
/* 背景の装飾：A案と同じロゴの連続を、薄い水色で敷く（ロゴ画像を型にして水色で塗る） */
body::before{background:url("../images/cocogram_pattern_sky.webp") 0 0/280px auto repeat;opacity:.11}
a{color:#1F3D7A}
h1,h2,h3{color:#1F3D7A}

/* ヘッダー */
header.site{background:#FFFFFF;border-bottom:none;box-shadow:0 3px 0 #EAF6FB}
.hd-cta,.hd-login,.gnav a,.gnav .dummy,.back,.faq-nav a,.ft-form,.faq-cta a{font-family:"Zen Maru Gothic",sans-serif}
.hd-cta{background:#FFF07A!important;color:#1F3D7A!important;border:none!important;box-shadow:none!important}

.hd-login{background:#E3F4EC;border-color:#E3F4EC;color:#2E6B57}

.hd-menu{color:#1F3D7A}
.gnav ul{border:none;border-radius:24px;box-shadow:0 14px 36px rgba(31,61,122,.16);padding:10px 0}
.gnav li+li{border-top:1px dashed #D6EBF5}
.gnav a,.gnav .dummy{color:#1F3D7A}
.gnav .dummy{color:#8A97AA}.gnav a:focus-visible{background:#EAF6FB}
.gnav a[aria-current="page"]{box-shadow:inset 5px 0 0 #8ECFEA}

/* ヒーロー：空色の面に白い丸を浮かべ、下端は弧で白につなぐ */
.hero,.faq-hero{position:relative;background:#8ECFEA!important;border-bottom:none!important;overflow:hidden}
.hero{padding:80px 0 104px!important;text-align:center}
.hero::before,.faq-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(circle at 10% 28%,rgba(255,255,255,.38) 0 56px,transparent 57px),
  radial-gradient(circle at 7% 72%,#FFD84A 0 13px,transparent 14px),
  radial-gradient(circle at 81% 46%,#FFD84A 0 8px,transparent 9px),
  radial-gradient(circle at 93% 70%,rgba(255,216,74,.75) 0 20px,transparent 21px),
  radial-gradient(circle at 88% 22%,rgba(255,255,255,.32) 0 92px,transparent 93px),
  radial-gradient(circle at 74% 78%,rgba(255,255,255,.28) 0 34px,transparent 35px),
  radial-gradient(circle at 24% 86%,rgba(255,255,255,.22) 0 22px,transparent 23px)}
.hero::after,.faq-hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-2px;height:56px;background:#FFFFFF;border-radius:50% 50% 0 0/100% 100% 0 0}
.hero .wrap,.faq-hero .wrap{position:relative;z-index:1}
.hero h1{color:#1F3D7A!important;text-shadow:none!important;letter-spacing:.12em}
@media (max-width:760px){.hero h1{letter-spacing:.02em}}
.hero p{background:#FFFFFF;color:#1F3D7A}
.hero p .num{display:inline-block;min-width:1.9em;margin:0 .2em;padding:0 .35em;border-radius:999px;background:#FFD84A;font-weight:700}
.hero .hero-brand{justify-content:center}
.hero .hb-sub{display:inline-block;padding:4px 18px;border-radius:999px;background:#F3FAFD;color:#1F3D7A;box-shadow:0 0 0 3px #FFD84A}
/* サブコピー：キーワードに黄色のマーカー、下に黄色の短い線でメリハリ */
.hero .hero-sub{font-size:20px!important}
.hero .hero-sub em.hl{padding:0 2px;background:linear-gradient(transparent 60%,#FFD84A 60% 92%,transparent 92%)}
.hero .hero-sub::after{content:"";display:block;width:56px;height:5px;margin:18px auto 0;border-radius:999px;background:#FFD84A}
@media (max-width:760px){.hero .hero-sub{font-size:16px!important} .hero .hero-sub::after{width:44px;margin-top:14px}}
.hero .hb-name{color:#1f1f1f;text-shadow:none;text-decoration:underline;text-decoration-color:#FFD84A;text-decoration-thickness:5px;text-underline-offset:8px;text-decoration-skip-ink:none}
.hero h1{margin:0 0 20px!important}
.hero .hero-sub{margin:0 auto;color:#1F3D7A;text-align:center;text-shadow:none;letter-spacing:.08em}
@media (max-width:760px){.hero .hero-sub{letter-spacing:.02em}}
@media (max-width:640px){.hero::before{background:radial-gradient(circle at 96% 8%,rgba(255,255,255,.35) 0 70px,transparent 71px),
  radial-gradient(circle at 4% 30%,rgba(255,255,255,.3) 0 34px,transparent 35px),
  radial-gradient(circle at 94% 47%,#FFD84A 0 9px,transparent 10px),
  radial-gradient(circle at 6% 92%,#FFD84A 0 12px,transparent 13px),
  radial-gradient(circle at 92% 95%,rgba(255,216,74,.75) 0 16px,transparent 17px)}}

/* セクション見出し：短い見出しは紺の丸に1文字ずつ、長い見出しは丸い点＋紺の文字 */
.section-title{border-left:none!important;padding-left:0!important;margin:88px 0 32px!important;color:#1F3D7A}
.section-title small{display:none}
.section-title.circles{text-align:center;line-height:1}
.ttl-c{display:inline-flex}
.ttl-c span{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#1F3D7A;color:#FFFFFF;font-size:24px;letter-spacing:0}
.ttl-c span+span{margin-left:-6px}
.section-title.plain{font-size:22px;display:flex;align-items:center;gap:12px;margin:56px 0 20px!important}
.section-title.plain::before{content:"";flex:none;width:14px;height:14px;border-radius:50%;background:#8ECFEA;box-shadow:0 0 0 5px #EAF6FB}
@media (max-width:640px){.ttl-c span{width:42px;height:42px;font-size:20px} .ttl-c span+span{margin-left:-5px} .section-title{margin:64px 0 24px!important}}

/* 地図：淡い水色の海に白い陸、教室のある県はレモン色。黒い太線と影はなくす */
.mapbox{background:#BFE3F4;border:none;border-radius:32px;box-shadow:none}
.jmap .land{filter:drop-shadow(0 3px 0 rgba(31,61,122,.14))}
.jmap .pref{fill:#FFFFFF!important;stroke:#8FC2DA!important;stroke-width:1.2!important}
.jmap .pref.on path{fill:#FFD84A!important;stroke:#FFFFFF!important;stroke-width:1.2!important}

.jmap .inset{fill:rgba(255,255,255,.5);stroke:#6DB3D6}
.jmap .kframe{stroke:#1F3D7A;stroke-width:2.5}
.jmap .kframe-shadow{display:none}
.jmap .kframe-bg{fill:#BFE3F4}
.jmap .kframe-main,.jmap .kline{stroke:#1F3D7A}
.jmap .leader{stroke:#1F3D7A;stroke-width:1.4}
.jmap .root{fill:#1F3D7A}
.jmap .map-title text{fill:#1F3D7A!important;stroke:#FFFFFF!important}
.jmap .mt-rule{stroke:#FFF07A!important}
.jmap .mt-route{stroke:#8ECFEA!important;opacity:1}
.jmap .mt-node{fill:#8ECFEA!important}
.legend{background:#FFFFFF;border:none;box-shadow:none;color:#1F3D7A}
.legend .l1{background:#FFD84A;border:1px solid #E0B800}

/* ココグラムとは */
.ab-card,.ab-venn,table.ab-table{--ico-ln:#1F3D7A;--ico-a:#FFD84A;--ico-b:#A9DCF0;--ico-c:#FFFFFF;--venn-a:rgba(255,216,74,.85);--venn-b:rgba(142,207,234,.85);--venn-c:rgba(255,184,168,.75)}
.ab-card{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px}
.ab-card h3{color:#1F3D7A}
.ab-cur li::before{background:#8ECFEA}
table.ab-table{border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px;background:#FFFFFF}
table.ab-table thead th{background:#8ECFEA;color:#1F3D7A}
table.ab-table tbody th{background:#EAF6FB;color:#1F3D7A}
table.ab-table th,table.ab-table td{border-bottom-color:#D6EBF5}
/* 授業の流れ */
.fl-step,.tc-bubble,.fl-code,.fl-end{--ico-ln:#1F3D7A;--fl-b1:#FFD84A;--fl-b2:#A9DCF0;--fl-b3:#FFB8A8;--fl-bg:#EAF6FB;--fl-line:#8ECFEA;--fl-no-bg:#1F3D7A;--fl-no-fg:#FFFFFF}
.fl-step{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px}
.fl-no{border:none;border-radius:999px;padding:4px 14px}
.fl-head h3,.tc-name{color:#1F3D7A}
.fl-fig{border:none;border-radius:16px;background:#FFFFFF;box-shadow:0 0 0 2px #EAF6FB}
.tc-photo{border:none;border-radius:24px;box-shadow:0 0 0 2px #EAF6FB}
.tc-bubble{background:#EAF6FB;border:none;border-radius:24px;color:#1F3D7A}
.tc-bubble::before{border:none}
/* 教材について */
.mt-notice{background:#FFF9CF;border:none;border-radius:24px}
.mt-notice strong{color:#C2412D}
.mt-notice a{border:none;background:#FFFFFF;color:#1F3D7A}.mt-notice a:focus-visible{background:#FFD84A}
table.mt-table{border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px;background:#FFFFFF}
table.mt-table thead th{background:#8ECFEA;color:#1F3D7A}
table.mt-table .mt-th-img{border-radius:12px}
.mt-cap{color:#1F3D7A}
table.mt-table tbody th{background:#EAF6FB;color:#1F3D7A}
table.mt-table th,table.mt-table td,table.mt-table td+td{border-color:#D6EBF5}
.mt-acc{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px}.mt-acc[open] summary{background:#F5FBFE}
.mt-acc summary::after{border-color:#1F3D7A}
.mt-tag{background:#FFD84A;border:none;border-radius:999px;color:#1F3D7A}
.mt-name,.mt-h,.mt-cycle b{color:#1F3D7A}
.mt-in{border-top-color:#D6EBF5}
.mt-cycle li{background:#EAF6FB;border:none;border-radius:20px}
.mt-cycle .mt-n{color:#4E93B8}
.mt-cycle .mt-cy-img{border:none;border-radius:12px}
.mt-list li::before{background:#8ECFEA}
.mt-fig img{border:none;border-radius:12px}
.mt-link{background:#EAF6FB;border:none;border-radius:20px;color:#1F3D7A}
/* NEWS */
.news .section-title{margin:56px 0 24px!important}
@media (max-width:640px){.news .section-title{margin:40px 0 20px!important}}
.news-item{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:20px}

.news-item summary::after{border-color:#1F3D7A}
.news-ttl{color:#1F3D7A}
.ntag{border:none;background:#EAF6FB;color:#4E93B8}
.nb-new{background:#FFD84A;color:#1F3D7A}
.nb-imp{background:#FFE4DE;color:#C2412D}
.news-body{border-top-color:#D6EBF5}
/* 教室一覧 */
.table-card{border:none;border-radius:28px;box-shadow:0 0 0 2px #EAF6FB}
table.list tr.area th{background:#EAF6FB!important;color:#1F3D7A}
table.list tr.area th::before{background:#8ECFEA;border-radius:50%}
table.list tr.area th span{color:#4E93B8}



/* 教室ページ */
.card{border:none;border-radius:28px;box-shadow:0 0 0 2px #EAF6FB}
.head{border-top:none}
.area-tag{background:#FFF07A;color:#1F3D7A}
.meta{border-top:1px dashed #D6EBF5}
.meta dt{color:#4E93B8}
.catch{background:#EAF6FB;border:none;box-shadow:none;border-radius:40px;color:#1F3D7A}
.catch::before,.catch::after{color:rgba(142,207,234,.9)}
.head-vis{border-radius:12px}
@media (max-width:640px){.mainvis{border-radius:12px} .catch.on-vis{box-shadow:0 0 0 6px #FFFFFF}}
.lp{border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:28px}
.lp .num{background:#8ECFEA;color:#1F3D7A;border-radius:999px}
.lp img{border-radius:12px}
table.t thead th{background:#8ECFEA;color:#1F3D7A}
table.t thead th+th{border-left-color:rgba(255,255,255,.6)}
table.t th.course{background:#EAF6FB}
table.fee{border-color:#D6EBF5;box-shadow:none;border-radius:24px}
table.fee tr:first-child th{border-top-left-radius:24px} table.fee tr:first-child td{border-top-right-radius:24px}
table.fee tr:last-child th{border-bottom-left-radius:24px} table.fee tr:last-child td{border-bottom-right-radius:24px}
table.fee th{background:#EAF6FB}
.tip i{background:#8ECFEA}
.cur{border:none;background:#EAF6FB;box-shadow:none;color:#1F3D7A}
.cur::before{background:#8ECFEA}a.cur-link:focus-visible{background:#FFF9CF;border-color:transparent}
.back{background:#1F3D7A}

.pending{border-color:#D6EBF5;border-radius:24px}
.rules{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px}
.rules h3{color:#1F3D7A}
.rules li::before{background:#8ECFEA}
.sched summary{border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px;background:#FFFFFF}

.sched[open] summary{border-radius:24px 24px 0 0;background:#EAF6FB}
.sched .card{border-radius:0 0 24px 24px}
.sched-days,.sched-tg{color:#1F3D7A}

/* FAQ */
.faq-hero{padding:56px 0 88px!important}
.faq-hero .en{background:#FFFFFF;border:none;color:#1F3D7A;border-radius:999px;padding:2px 16px}
.faq-hero h1,.faq-hero .lead{color:#1F3D7A}
.faq-nav a{border:none;background:#EAF6FB;color:#1F3D7A}.faq-nav a:focus-visible{background:#FFF07A}
.faq-item{background:#FFFFFF;border:none;box-shadow:0 0 0 2px #EAF6FB;border-radius:24px}.faq-item[open] summary{background:#F5FBFE}
.faq-item summary::after{border-color:#1F3D7A}
.faq-item .q{background:#1F3D7A;color:#FFFFFF;border:none}
.faq-item .a{background:#FFF07A;color:#1F3D7A;border:none}
.faq-item .ans{border-top:1px dashed #D6EBF5}
.faq-cta{background:#EAF6FB;border:none;box-shadow:none;border-radius:40px}
.faq-cta a{background:#FFF07A;color:#1F3D7A;border:none;box-shadow:none;font-family:"Zen Maru Gothic",sans-serif}.faq-cta a:focus-visible{background:#FFE94D}

/* フッター：淡い水色、上端は弧 */
footer.site{position:relative;overflow-x:clip;margin-top:120px;background:#EAF6FB;color:#1F3D7A;border-top:none!important}
footer.site::before{content:"";position:absolute;left:-10%;right:-10%;top:-46px;height:48px;background:#EAF6FB;border-radius:50% 50% 0 0/100% 100% 0 0}
footer.site a{color:#1F3D7A}
.ft-h{border-bottom-color:#D6EBF5;opacity:1;color:#4E93B8}
footer.site a.ft-form{background:#1F3D7A;color:#FFFFFF;border-radius:999px}
.ft-copy{border-top-color:#D6EBF5}

@media (hover:hover){
.hd-cta:hover{background:var(--cta-hover,var(--red-dark))}
.hd-login:hover{background:#CDEBD7;border-color:#6DB985}
.hd-menu:hover{background:rgba(0,0,0,.05)}
.gnav a:hover{background:#F1ECE3}
footer.site a.ft-form:hover{opacity:.85}
footer.site a:not(.ft-tel):not(.ft-form):hover{text-decoration-color:currentColor}
.crumb a:hover{color:var(--red-dark)}
.tip:hover::after{opacity:1;visibility:visible;transform:none}
.tip:hover::before{opacity:1;visibility:visible}
.tip:hover i{background:var(--red)}
.sched summary:hover{background:var(--red-soft)}
a.cur-link:hover{background:var(--red-soft);border-color:var(--red)}
.back:hover{background:var(--red)}
.hd-cta:hover{background:#FFE94D!important}
.hd-login:hover{background:#D2EEE1;border-color:#D2EEE1}
.gnav a:hover{background:#EAF6FB}
.jmap .pref.on:hover path{fill:#FFC93C!important}
.mt-notice a:hover{background:#FFD84A}
.mt-acc summary:hover{background:#F5FBFE}
.news-item summary:hover{background:#F5FBFE}
table.list tr:not(.area):hover td{background:#FFF9CF}
table.list tr.link:hover td.addr::after{color:#1F3D7A}
a.cur-link:hover{background:#FFF9CF;border-color:transparent}
.back:hover{background:#2C5299}
.sched summary:hover{background:#F5FBFE}
.faq-nav a:hover{background:#FFF07A}
.faq-item summary:hover{background:#F5FBFE}
.faq-cta a:hover{background:#FFE94D}
}
