/* report: 支給HTML about_report/about_report_redesign_blue.html の <style> を順に連結（生成: redesign-work/scripts/30_build_css.py） */
/* <style> 1/2 */
:root{--sea:#F5F8FA;--surf:#E0F0F7;--pale:#EAF3F8;--pale2:#EEF5F9;--paper:#FFFFFF;--line:#DCE6EC;--line2:#D8E3EA;--ink:#1F3A4D;--ink-soft:#50657A;--rose:#B33658;--rose-deep:#8F2946;--rose-tint:#F8ECEF;--line-g:#038537;--ftr:#1A3344;--ftr-tx:#C3D3DE;--f-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;--f-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--wrap:1220px;--gut:clamp(20px,5vw,64px);--sec:clamp(44px,6.4vw,96px);--rule:rgba(31,58,77,.14)}*,::after,::before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--sea);color:var(--ink);font-family:var(--f-sans);font-size:14px;line-height:1.75;letter-spacing:.018em;word-break:normal;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit}ol,ul{padding:0;list-style:none}body,ol,p,ul{margin:0}h2,h3{margin:0;font-family:var(--f-serif);font-weight:700;line-height:1.42;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}a,dd,dt,li,p,span{text-wrap:pretty}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}[id]{scroll-margin-top:68px}.sec{padding:var(--sec)0;border-top:1px solid var(--rule)}.h2{font-size:clamp(23px,calc(2.2vw + 15px),40px);letter-spacing:.035em;margin-bottom:10px}.lead{font-size:14px;font-weight:500;line-height:1.75;max-width:46em}.more{margin-top:14px}.btn-more,.go{font-size:13.5px;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}.go{color:var(--rose-deep);line-height:1.6;text-underline-offset:3px;text-decoration-thickness:1px}.btn-more{justify-content:center;width:100%;max-width:360px;min-height:46px;margin:0 auto;padding:8px 18px;border:1.5px solid var(--ink);border-radius:2px;background:#fff;color:var(--ink);line-height:1.5;letter-spacing:.04em;text-align:center;text-decoration:none;transition:background-color .2s,color .2s}.btn-more:hover{background:var(--ink);color:#fff}.btn-more{display:flex;align-items:center}img{display:block}.crumb-wrap{max-width:var(--wrap);margin:0 auto;padding:7px var(--gut)}.crumb-wrap .breadcrumb{display:flex;overflow:hidden;margin:0;padding:0;color:var(--ink-soft);font-size:11.5px;line-height:1.6;list-style:none;text-overflow:ellipsis;white-space:nowrap}.crumb-wrap a{color:var(--ink-soft);text-decoration:none}.car-bar{flex:1;height:1px;overflow:hidden;background:var(--line2)}.car-bar span{display:block;width:30%;height:100%;background:var(--ink);transition:transform .15s}[data-track].dragging{cursor:grabbing;scroll-snap-type:none!important;user-select:none}[data-track].dragging *{pointer-events:none}.acc details,.blog{background:#fff}.faq{background:var(--pale)}.acc{display:grid;gap:6px;max-width:880px;margin-top:16px}.acc summary{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;cursor:pointer;list-style:none}.acc summary::-webkit-details-marker{display:none}.fq{display:flex;flex:1;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.55;text-wrap:pretty}.fq-q{display:grid;flex:none;place-items:center;width:24px;height:24px;margin-top:-1px;background:var(--rose);color:#fff;font-family:var(--f-sans);font-size:13px;line-height:1}.pm{position:relative;flex:none;width:13px;height:13px;margin-top:6px}.pm::after,.pm::before{position:absolute;top:6px;left:0;width:13px;height:1.5px;background:var(--ink);content:""}.pm::after{transform:rotate(90deg);transition:transform .2s}.acc details[open] .pm::after{transform:rotate(0)}.ans{display:flex;gap:10px;margin:0 12px;padding:10px 0 12px;border-top:1px solid var(--line)}.fa-a{font-size:13px}.fa-a{display:grid;flex:none;place-items:center;width:24px;height:24px;background:var(--pale);color:var(--ink);font-weight:700;line-height:1}.ans p{font-size:13.5px;line-height:1.75}.bar{position:fixed;right:0;bottom:0;left:0;z-index:60;display:none}.bar .ff-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 6px;line-height:1.25;text-align:center;text-decoration:none}.bar .ff-mail{height:46px;background:var(--rose-tint);color:var(--rose-deep)}.bar .ff-tel{height:46px;background:var(--surf);color:var(--ink)}.bar .ff-line,.bar .ff-reserve{height:60px;padding:7px 6px 8px;color:#fff}.bar .ff-reserve{background:var(--rose)}.bar .ff-line{background:var(--line-g)}.bar .ff-label{font-size:11px;font-weight:500;letter-spacing:.03em;white-space:nowrap}.bar .ff-main{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:700;white-space:nowrap}.bar .ff-catch,.bar .ff-main-lg{font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.bar .ff-main-lg{display:flex;align-items:center;gap:6px;font-size:16px;letter-spacing:.04em}.bar svg{flex:none;width:16px;height:16px}@media (max-width:960px){body{padding-bottom:108px}.bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0 0 env(safe-area-inset-bottom,0);background:rgba(31,58,77,.2);transform:translateY(120%);visibility:hidden;transition:transform .25s,visibility .25s}.bar.show{transform:none;visibility:visible}}@media (min-width:961px){body{font-size:15px;line-height:1.8}[id]{scroll-margin-top:106px}.lead{font-size:15px;line-height:1.85}.go{font-size:14px}.crumb-wrap{padding:10px var(--gut)}.crumb-wrap .breadcrumb{font-size:12px}.fq{font-size:16px}.acc summary{padding:16px 20px}.ans{margin:0 20px}.faq .wrap{max-width:calc(880px + var(--gut)*2)}.ans p{font-size:14.5px;line-height:1.85}}.nw{white-space:nowrap}.crumb-wrap .breadcrumb li{flex:none;white-space:nowrap}.crumb-wrap .breadcrumb li+li::before{margin:0 6px;content:"＞"}.crumb-wrap .breadcrumb li:last-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.rp-hero{padding:0 0 clamp(28px,4vw,56px);background:var(--sea)}.rp-hero-in{display:grid}.rp-hero-ph{position:relative;overflow:hidden;margin:0 calc(var(--gut)*-1);aspect-ratio:760/500;background:var(--pale)}.rp-hero-ph img,.rp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rp-hero-tx{position:relative;z-index:2;margin:-28px -6px 0;padding:18px 16px 4px;background:#fff}.rp-title{font-size:clamp(26px,calc(2.4vw + 14px),40px);letter-spacing:.05em;white-space:nowrap}.rp-sub{margin-top:6px;font-family:var(--f-serif);font-size:15px;font-weight:500;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.rp-lead{margin-top:12px;font-size:14px;line-height:1.85}.rp-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;margin:14px 0 0;border-top:1px solid var(--line)}.rp-plan>div{padding:8px 0 9px;border-bottom:1px solid var(--line)}.rp-plan>div:first-child{grid-column:1/-1}.rp-plan>div:last-child{border-bottom:0}.rp-plan>div:nth-last-child(2){border-bottom:0}.rp-plan dt{color:var(--ink-soft);font-size:11.5px;line-height:1.5}.rp-plan dd{margin:0;font-size:15px;font-weight:700;line-height:1.5}.rp-plan dd a,.rp-toc a{word-break:keep-all;overflow-wrap:anywhere}.rp-plan dd a{text-underline-offset:3px}.rp-memo{margin-top:14px;padding:10px 14px;background:var(--pale);font-size:12.5px;line-height:1.75}.rp-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.rp-toc a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:6px 8px;color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.45;text-align:center;text-decoration:none}.rp-course li a:hover .mm,.rp-info li a:hover,.rp-plan dd a,.rp-toc a:hover{color:var(--rose-deep)}.rp-toc a,.rp-voice{background:#fff}.rp-step{padding:clamp(24px,3.4vw,48px)0;border-top:1px solid var(--rule)}.rp-step:first-of-type{margin-top:clamp(10px,2vw,24px)}.rp-step:last-of-type{padding-bottom:0}.rp-ph{position:relative;overflow:hidden;margin:0 0 16px;aspect-ratio:var(--ar);background:var(--pale)}.rp-ph2{max-width:420px;margin:20px 0 16px}.rp-h3{margin-bottom:10px;font-size:clamp(19px,calc(.9vw + 15px),26px);letter-spacing:.04em}.rp-tx p{font-size:14.5px;line-height:1.95}.rp-tx p+p{margin-top:.9em}.rp-tx .rp-now{margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.8}.rp-now b{display:block;margin-bottom:2px;font-size:12.5px;letter-spacing:.06em}.rp-plansec,.rp-tx .rp-now{background:var(--pale)}.rp-plan-grid{display:grid;gap:12px;margin-top:18px}.rp-card{padding:16px 16px 18px;background:#fff}.rp-card-wide{margin-top:12px}.rp-card-h{margin-bottom:8px;font-size:17px}.rp-spec>div{display:grid;grid-template-columns:6.4em minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid var(--line)}.rp-spec dt{color:var(--ink-soft);font-size:12.5px;font-weight:700;line-height:1.7}.rp-spec dd{margin:0}.rp-course li a,.rp-inc li,.rp-info li a{padding:8px 0;border-top:1px solid var(--line)}.rp-inc li{display:flex;align-items:baseline;gap:8px;font-size:13.5px;line-height:1.6}.rp-inc .nm{flex:0 1 auto;min-width:0;max-width:80%}.rp-fine,.rp-inc .nm small{color:var(--ink-soft);font-size:12px}.rp-inc .nm small{display:block;margin-top:2px;line-height:1.65}.rp-inc .ld{flex:1;min-width:14px;border-bottom:1.5px dotted rgba(31,58,77,.3);transform:translateY(-4px)}.rp-inc .in{flex:none;color:var(--rose-deep);font-size:12px;font-weight:700;letter-spacing:.06em}.rp-fine{margin-top:8px;line-height:1.7}.rp-btns{display:grid;gap:10px;margin-top:22px}.rp-btns .btn-more{max-width:none}.rp-day{background:#fff}.rp-times,.rp-times ul{display:flex;flex-wrap:wrap}.rp-times{align-items:center;gap:8px 14px;margin-top:16px;padding:12px 14px;background:var(--pale)}.rp-times-h{font-size:13px;font-weight:700}.rp-times ul{gap:6px}.rp-flow .tm,.rp-times li{font-weight:700;font-variant-numeric:tabular-nums}.rp-times li{padding:2px 9px;background:#fff;font-size:14px}.rp-flow-h{margin:20px 0 8px;color:var(--ink-soft);font-size:13px}.rp-flow{border-top:1px solid var(--rule)}.rp-flow li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}.rp-flow .tm{color:var(--rose-deep);font-size:15px;line-height:1.55}.rp-flow h3{font-size:16px;line-height:1.55}.rp-flow p,.rp-spec dd,.rp-tip-list p{font-size:13.5px;line-height:1.75}.rp-flow .rp-fine{margin-top:4px}.rp-tips{background:var(--sea)}.rp-tip-list{display:grid;gap:10px;margin-top:18px}.rp-tip-list li{padding:16px 16px 18px;background:#fff}.rp-tip-list h3{margin-bottom:6px;font-size:16.5px}.rp-tip-list p{line-height:1.85}.final{position:relative;overflow:hidden;padding:clamp(72px,10vw,128px)0;background:var(--ink);color:#fff;text-align:center}.bn img,.final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final::after{position:absolute;inset:0;background:rgba(24,45,62,.74);content:""}.final .wrap{position:relative;z-index:2;max-width:780px}.final-limit{margin:0 0 12px;font-size:11.5px;font-weight:700;letter-spacing:.18em}.final h2{margin:0 0 14px;font-size:clamp(25px,3.4vw,42px);letter-spacing:.045em}.cancel-line{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 18px;font-size:12.5px;font-weight:700}.cancel-line::before{width:16px;height:1px;background:currentColor;content:""}.cta-lead{word-break:keep-all;overflow-wrap:anywhere}.cta-lead.on-dark{max-width:34em;margin:0 auto 18px;padding:12px 16px;background:rgba(255,255,255,.12);font-size:14px;font-weight:700;line-height:1.75}.btn,.cta-row{justify-content:center}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;flex-direction:column;align-items:center;min-height:54px;padding:8px 26px;border-radius:2px;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.08em;text-align:center;text-decoration:none;word-break:keep-all;overflow-wrap:anywhere;transition:background-color .18s,color .18s}.btn small,.final .tel a{font-weight:500;letter-spacing:.04em}.btn small{font-size:12px;white-space:nowrap}.btn-primary{background:var(--rose);color:#fff}.btn-primary:hover{background:var(--rose-deep)}.btn-ghost{border:1px solid #fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}.dot-line{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#06c755;vertical-align:.08em}.final .mail,.final .tel{margin:18px auto 0;font-size:13.5px;line-height:1.8}.final a{color:#fff;text-underline-offset:4px}.final .tel a{font-size:24px;text-decoration:none}.rp-res{background:#fff}.rp-about-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.rp-about-links a{display:inline-flex;align-items:center;min-height:42px;padding:6px 14px;background:var(--pale);color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none}.rp-about-links a[aria-current]{background:var(--ink);color:#fff}.rp-bnr3{display:grid;gap:8px;max-width:320px;margin-top:20px}.bn{position:relative;display:block;overflow:hidden;background:var(--pale)}.rp-bnr3 .bn{aspect-ratio:227/100}.rp-bnr-col .bn{aspect-ratio:699/100}.rp-bnr-col{max-width:699px;margin-top:8px}.rp-side{background:var(--pale)}.rp-side-grid{display:grid;gap:14px;margin-top:16px}.rp-course,.rp-info{padding:14px 16px;background:#fff}.rp-cbtn,.rp-chapel a{display:block;max-width:240px}.rp-cbtn .bn{aspect-ratio:240/90}.rp-course ul,.rp-info ul{margin-top:10px}.rp-course li a,.rp-info li a{display:block;color:var(--ink);text-decoration:none}.rp-course .mm{display:block;font-size:13.5px;font-weight:700;line-height:1.5}.rp-course .ms{display:block;color:var(--ink-soft);font-size:12px;line-height:1.55}.rp-side-col{display:grid;align-content:start;gap:12px}.rp-chapel a{max-width:220px}.rp-chapel .bn{aspect-ratio:220/100}.rp-info h3{font-size:15.5px}.rp-info h3 a,.rp-info2 a{color:var(--ink);text-decoration:none}.rp-info h3 a{display:inline-block;padding:4px 0}.rp-info li a,.rp-info2 h3{font-size:13.5px}.rp-info2 ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rp-info2 a{display:flex;align-items:center;min-height:46px;padding:6px 12px;background:#fff;line-height:1.45}.rp-info2 a:hover{color:var(--rose-deep)}.rp-apply .btn{width:100%}@media (max-width:600px){.cta-row .btn{width:100%}}@media (min-width:600px){.rp-bnr3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:699px}}@media (min-width:768px){.rp-toc ul{grid-template-columns:repeat(4,minmax(0,1fr))}.rp-card{padding:22px 26px 24px}.rp-spec-wide>div{grid-template-columns:9.5em minmax(0,1fr)}.rp-btns{grid-template-columns:repeat(2,minmax(0,340px));justify-content:center}.rp-tip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rp-tip-list li{padding:20px 22px 22px}.rp-side-col,.rp-side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-side-col{grid-column:1/-1}.rp-apply,.rp-chapel,.rp-info2{grid-column:auto}}@media (min-width:961px){.rp-hero{padding-top:28px}.rp-hero-in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center}.rp-hero-ph,.rp-step.has-ph>.rp-ph{margin:0}.rp-hero-tx{margin:0 0 0-56px;padding:34px 38px 26px}.rp-sub{font-size:18px}.rp-lead{font-size:15px}.rp-memo{margin-top:20px;font-size:13px}.rp-toc ul{margin-top:12px}.rp-step.has-ph{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:52px}.rp-step.has-ph:nth-of-type(even)>.rp-ph{order:2}.rp-step:not(.has-ph) .rp-tx{max-width:820px}.rp-tx p{font-size:15.5px}.rp-ph2{max-width:360px}.rp-plan-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.rp-card-wide{margin-top:20px}.rp-card-h{font-size:19px}.rp-flow p,.rp-inc li,.rp-spec dd,.rp-tip-list p{font-size:14.5px}.rp-day .wrap{max-width:calc(940px + var(--gut)*2)}.rp-flow li{grid-template-columns:96px minmax(0,1fr);gap:20px;padding:16px 0}.rp-flow .tm,.rp-flow h3{font-size:18px}.rp-side-grid,.rp-tip-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rp-side-col{grid-column:auto;grid-template-columns:1fr}}@media (max-width:400px){.bar .ff-main{font-size:13.5px}}@media (max-width:340px){.bar .ff-main svg{display:none}}@media (max-width:360px){.bar .ff-main{font-size:13px;gap:4px}.bar .ff-main-lg{font-size:14.5px;gap:4px;letter-spacing:.02em}.bar .ff-catch,.bar .ff-label{letter-spacing:0}.bar svg{width:15px;height:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{transition:none!important}}
/* <style> 2/2 */
/* ===== 共通部品（スマホヘッダー・メニュー・PCヘッダー・フッター）2026-10-25：オリジナルコース一覧の最新版から自動で取り出し、共通部品の中だけに効くようにしたもの ===== */
:where(header.sp,header.pc,footer,.hdr-sentinel){--f-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--f-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;--ftr:#1A3344;--ftr-tx:#C3D3DE;--gut:clamp(20px,5vw,64px);--ink:#1F3A4D;--ink-soft:#50657A;--line:#DCE6EC;--pale:#EAF3F8;--rose:#B33658;--rose-deep:#8F2946;--wrap:1220px}
:where(header.sp,header.pc,footer){font-feature-settings:normal;font-kerning:auto;font-variant-ligatures:normal;font-variant-east-asian:normal;font-variant-numeric:normal;line-break:auto;word-break:normal;overflow-wrap:break-word;hyphens:manual;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;text-wrap-style:auto;text-wrap-mode:wrap;white-space-collapse:collapse;text-align:start;font-style:normal;font-weight:400;text-indent:0px;word-spacing:0px;direction:ltr;writing-mode:horizontal-tb;text-autospace:no-autospace;text-spacing-trim:normal}
:where(header.sp,header.pc,footer) *,:where(header.sp,header.pc,footer) ::after,:where(header.sp,header.pc,footer) ::before{box-sizing: border-box;}
:where(header.sp,header.pc,footer){font-family:var(--f-sans);font-size:14px;line-height:1.75;color:var(--ink);letter-spacing:0.252px;word-break:normal;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
:where(header.sp,header.pc,footer) img{max-width: 100%; height: auto;}
:where(header.sp,header.pc,footer) a{color: inherit;}
:where(header.sp,header.pc,footer) ul{padding: 0px; list-style: none;}
:where(header.sp,header.pc,footer) p,:where(header.sp,header.pc,footer) ul{margin: 0px;}
:where(header.sp,header.pc,footer) h1,:where(header.sp,header.pc,footer) .hd-ttl{margin: 0px; font-family: var(--f-serif); font-weight: 700; line-height: 1.42; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance;}
:where(header.sp,header.pc,footer) a,:where(header.sp,header.pc,footer) li,:where(header.sp,header.pc,footer) p,:where(header.sp,header.pc,footer) span{text-wrap: pretty;}
:where(header.sp,header.pc,footer) [id]{scroll-margin-top: 68px;}
:where(header.sp,header.pc,footer) .nw{white-space: nowrap;}
header.pc{display: none;}
header.sp{position: sticky; top: 0px; z-index: 70; display: flex; align-items: center; justify-content: space-between; height: 56px; padding: 0 8px 0 var(--gut); background: rgba(255, 255, 255, 0.8); border-bottom: 1px solid rgba(31, 58, 77, 0.12);}
header.sp .logo{margin: 0px; line-height: 0;}
header.sp .logo a,:where(header.sp,header.pc,footer) img{display: block;}
#overlay .menu_logo img,header.sp .logo img{width: auto; height: 26px;}
#overlay-input,.hdr-sentinel{position: absolute; width: 1px; pointer-events: none;}
.hdr-sentinel{top: 0px; left: 0px; height: 64px; visibility: hidden;}
#overlay-input{height: 1px; opacity: 0;}
#overlay-button{position: relative; z-index: 102; display: block; width: 44px; height: 44px; cursor: pointer;}
#overlay-button span,#overlay-button span::after,#overlay-button span::before{position: absolute; width: 22px; height: 1.5px; background: var(--ink); content: ""; transition: transform 0.2s, background-color 0.2s;}
#overlay-button span{left: 11px; top: 21px;}
#overlay-button span::after,#overlay-button span::before{left: 0px;}
#overlay-button span::before{top: -7px;}
#overlay-button span::after{top: 7px;}
#overlay-input:focus-visible + #overlay-button{outline: 2px solid var(--rose); outline-offset: -2px;}
#overlay-input:checked + #overlay-button{position: fixed; top: 6px; right: 8px;}
#overlay-input:checked + #overlay-button span{background: 0px 0px;}
#overlay-input:checked + #overlay-button span::before{transform: translateY(7px) rotate(45deg);}
#overlay-input:checked + #overlay-button span::after{transform: translateY(-7px) rotate(-45deg);}
#overlay{display: none;}
#overlay-input:checked ~ #overlay{position: fixed; inset: 0px; z-index: 101; display: block; overflow-y: auto; overscroll-behavior: contain; background: rgb(255, 255, 255); padding: 6px var(--gut) 48px;}
#overlay .menu_logo{display: flex; align-items: center; height: 44px; margin-bottom: 6px;}
#overlay nav > ul > li{position: relative; border-bottom: 1px solid var(--line);}
#overlay .Label,#overlay nav > ul > li > a{display: block; padding: 12px 0px; color: var(--ink); font-size: 14.5px; font-weight: 700; line-height: 1.5; text-decoration: none; cursor: pointer;}
#overlay .Label{position: relative; padding: 12px 32px 12px 0px;}
#overlay .Label span{display: block; margin-top: 2px; color: var(--ink-soft); font-size: 12px; font-weight: 400;}
#overlay .Label::after{position: absolute; top: 50%; right: 8px; width: 9px; height: 9px; margin-top: -7px; border-right: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); content: ""; transform: rotate(45deg); transition: transform 0.2s;}
#overlay .toggle{position: absolute; width: 1px; height: 1px; opacity: 0;}
#overlay .toggle:focus-visible + .Label{outline: 2px solid var(--rose);}
#overlay .toggle:checked + .Label::after{margin-top: -2px; transform: rotate(-135deg);}
#overlay .content{display: none; padding: 0px 0px 10px 12px;}
#overlay .toggle:checked ~ .content{display: block;}
#overlay .content a{display: block; padding: 8px 0px; border-top: 1px solid var(--pale); color: var(--ink); font-size: 13.5px; line-height: 1.55; text-decoration: none;}
#overlay .content .c-all a{display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; margin: 2px 0px 4px; padding: 9px 12px; border-top: 0px; background: var(--pale); color: var(--ink); font-size: 13.5px; font-weight: 700; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere;}
#overlay .content .c-all a::after{flex: 0 0 auto; width: 7px; height: 7px; border-top: 1.5px solid currentcolor; border-right: 1.5px solid currentcolor; content: ""; transform: rotate(45deg);}
#overlay .content .c-all + li > a{border-top: 0px;}
footer{padding: 30px 0px 34px; background: var(--ftr); color: var(--ftr-tx); font-size: 13px; line-height: 1.8;}
footer a{color: rgb(255, 255, 255); text-decoration: none;}
footer .pc{display: none;}
footer section.sp ul{display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; margin: 0 var(--gut) 22px; border-top: 1px solid rgba(255, 255, 255, 0.15);}
footer section.sp li{border-bottom: 1px solid rgba(255, 255, 255, 0.15);}
footer section.sp a{display: block; padding: 10px 0px; font-size: 13px; font-weight: 500;}
footer section.sp .ft-h{margin: 0 var(--gut) 4px; color: var(--ftr-tx); font-size: 12px; font-weight: 700; letter-spacing: 0.08em;}
footer section.sp .ft-course{margin-bottom: 18px;}
footer .to_top{margin: 0 var(--gut) 14px; text-align: center;}
footer .to_top span{display: inline-flex; align-items: center; min-height: 42px; padding: 0px 22px; border: 1px solid rgba(255, 255, 255, 0.4); color: rgb(255, 255, 255); font-weight: 700; cursor: pointer;}
footer .footer_menu{padding: 0 var(--gut);}
footer .footer_menu ul{display: flex; flex-wrap: wrap; justify-content: center; gap: 0px 22px; margin-bottom: 4px;}
footer .footer_menu a{display: inline-block; padding: 5px 0px;}
footer .footer_menu .ft-legal{gap: 0px 16px; margin-top: 4px;}
footer .footer_menu .ft-legal a{color: var(--ftr-tx); font-size: 12px;}
footer .footer_menu p{margin-top: 12px; font-size: 11.5px; text-align: center;}
@media (min-width: 961px){
:where(header.sp,header.pc,footer){font-size:15px;line-height:1.8;letter-spacing:0.27px}
:where(header.sp,header.pc,footer) [id]{scroll-margin-top: 106px;}
#navi .navArea .imgsize,header.sp{display: none;}
header.pc{position: sticky; top: 0px; z-index: 70; background: rgb(255, 255, 255); border-bottom: 1px solid rgba(31, 58, 77, 0.12); transition: margin-bottom 0.2s, box-shadow 0.2s;}
header.pc .wap1040{max-width: var(--wrap); margin: 0px auto; padding: 0 var(--gut);}
header.pc .header_flex{display: flex; align-items: center; gap: 22px; height: 86px; padding: 0px; transition: height 0.2s;}
header.pc h1,header.pc .hd-ttl{flex: 1 1 0%; color: var(--ink-soft); font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: 0.04em;}
header.pc .tel{display: flex; align-items: center; gap: 6px;}
header.pc .tel img{width: 13px; height: auto;}
header.pc .tel_text{font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: 0.04em;}
header.pc .time{color: var(--ink-soft); font-size: 11px; line-height: 1.5;}
header.pc .min_copy{display: flex; flex-direction: column; align-items: center; gap: 2px;}
header.pc .min_copy span{color: var(--rose-deep); font-size: 11px; font-weight: 700;}
#navi .navArea > li > a,header.pc .head_btn{align-items: center; font-size: 14px; font-weight: 700; text-decoration: none;}
header.pc .head_btn{display: inline-flex; justify-content: center; min-height: 42px; padding: 0px 20px; border-radius: 2px; background: var(--rose); color: rgb(255, 255, 255); letter-spacing: 0.08em; transition: background-color 0.2s;}
header.pc .head_btn:hover{background: var(--rose-deep);}
#navi{border-top: 1px solid var(--line);}
#navi .navArea{display: flex; align-items: stretch; justify-content: center;}
#navi .navArea > li{position: relative;}
#navi .navArea > li > a{display: flex; gap: 6px; height: 56px; padding: 0px 16px; color: var(--ink); white-space: nowrap; transition: height 0.2s, color 0.2s;}
#navi .navArea > li > a p{margin: 0px;}
#navi .navArea .logoArea .imgsize,header.pc{display: block;}
#navi .navArea .logoArea > a{padding: 0px 28px;}
#navi .navArea .logoArea img{width: auto; height: 26px;}
#navi .navArea > li > a:hover{color: var(--rose-deep);}
header.pc.is-compact{margin-bottom: 58px; box-shadow: rgba(31, 58, 77, 0.08) 0px 2px 8px;}
header.pc.is-compact .header_flex{height: 40px;}
footer .sp,header.pc.is-compact .min_copy span,header.pc.is-compact .time{display: none;}
header.pc.is-compact .tel_text{font-size: 16px;}
header.pc.is-compact .tel img{width: 11px;}
header.pc.is-compact .head_btn{min-height: 32px; padding: 0px 16px; font-size: 13px;}
header.pc.is-compact #navi .navArea > li > a{height: 44px;}
header.pc.is-compact #navi .navArea .logoArea img{height: 22px;}
#navi .children{position: absolute; top: 100%; left: 0px; z-index: 70; display: none; min-width: max-content; padding: 22px 28px; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid var(--ink); background: rgb(255, 255, 255); columns: 2; column-gap: 36px;}
#navi .navArea .logoArea ~ li .children{right: 0px; left: auto;}
#navi .navArea > li:focus-within > .children,#navi .navArea > li:hover > .children{display: block;}
#navi .children li{break-inside: avoid;}
#navi .children a{display: block; padding: 4px 0px; color: var(--ink); font-size: 13px; line-height: 1.6; text-decoration: none; white-space: nowrap;}
#navi .children a:hover{color: var(--rose-deep); text-decoration: underline;}
#navi .children > li > a{font-weight: 700;}
#navi .children-list{margin: 2px 0px 12px; padding-left: 10px; border-left: 1px solid var(--line);}
#navi .children-list a{font-weight: 400;}
footer{padding: 64px 0px 40px;}
footer .pc{display: block;}
footer .wap1040{max-width: var(--wrap); margin: 0px auto; padding: 0 var(--gut);}
footer .pagetop{display: none;}
footer .foot_nav{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 28px 24px;}
footer .liColumn,footer .link_ul{display: flex; flex-direction: column;}
footer .liColumn a{display: block; padding: 3px 0px; color: var(--ftr-tx); word-break: keep-all; overflow-wrap: anywhere;}
footer .link_ul > li:not(.liColumn) > a.nav_title{display: block; padding: 3px 0px;}
footer .liColumn a:hover{color: rgb(255, 255, 255); text-decoration: underline;}
footer .liColumn a.nav_title,footer .nav_title{margin-bottom: 6px; color: rgb(255, 255, 255); font-size: 13.5px; font-weight: 700;}
footer .foot_nav2{display: flex; align-items: center; justify-content: space-between; margin-top: 40px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, 0.15);}
footer .foot_logoArea{display: flex; align-items: center; gap: 24px;}
footer .foot_logoArea .imgsize{display: block; padding: 8px 12px; background: rgb(255, 255, 255);}
footer .foot_logoArea img{width: auto; height: 24px;}
footer .Copyright{margin-top: 28px; font-size: 11.5px; text-align: center;}
}
@media (min-width: 961px) and (max-width: 1180px){
#navi .navArea > li > a{padding: 0px 9px; font-size: 13px;}
#navi .navArea .logoArea > a{padding: 0px 16px;}
#navi .navArea .logoArea img{height: 22px;}
header.pc.is-compact #navi .navArea .logoArea img{height: 20px;}
header.pc .header_flex{gap: 16px;}
footer .foot_nav{grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 32px 24px;}
}
@media (prefers-reduced-motion: reduce){
:where(header.sp,header.pc,footer) *,:where(header.sp,header.pc,footer) ::after,:where(header.sp,header.pc,footer) ::before{transition: none !important;}
}
