:root{--orange:#f28b34;--orange-dark:#d96b1c;--yellow:#ffe3a3;--cream:#fffaf2;--brown:#4b3529;--green:#3c9972;--green-dark:#267055;--line:#eadbcb;--shadow:0 12px 28px rgba(95,64,38,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Yu Gothic UI",Meiryo,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,calc(100% - 36px));margin:0 auto}.narrow{max-width:780px}.section{padding:68px 0}.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:8px 12px;z-index:100}.skip-link:focus{left:8px;top:8px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,250,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.header-inner{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:var(--brown);font-size:.9rem;font-weight:900;line-height:1.25;text-decoration:none}.brand span{display:block;color:var(--green);font-size:.58rem;letter-spacing:.08em}.brand b{color:var(--orange-dark)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-weight:900;line-height:1.3;text-align:center;text-decoration:none;box-shadow:0 6px 0 var(--orange-dark);transition:transform .16s,box-shadow .16s}.header-cta{min-height:39px;padding:8px 12px;font-size:.76rem;box-shadow:none}.button{gap:8px;padding:13px 21px}.button:hover,.button:focus-visible{transform:translateY(3px);box-shadow:0 3px 0 var(--orange-dark)}.eyebrow{margin:0 0 9px;color:var(--green-dark);font-size:.76rem;font-weight:900;letter-spacing:.11em}.centered{text-align:center}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(2.2rem,10vw,4rem);letter-spacing:-.045em;line-height:1.25}h1 em{padding:0 .08em;background:linear-gradient(transparent 62%,#ffd88b 62%);font-style:normal}h2{margin:0;font-size:clamp(1.58rem,6vw,2.45rem);letter-spacing:.02em;line-height:1.45}h3{line-height:1.5}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff3db 0%,#fffaf2 72%)}.hero::after{position:absolute;right:-80px;bottom:-105px;width:270px;height:270px;border:38px solid rgba(60,153,114,.11);border-radius:50%;content:""}.hero-grid{position:relative;z-index:1;display:grid;gap:25px;padding:33px 0 45px}.hero-copy{position:relative;z-index:2}.area-tag{display:inline-block;margin:0 0 16px;padding:5px 11px;border-radius:3px;background:var(--green);color:#fff;font-size:.76rem;font-weight:900}.lead{margin:17px 0;color:#5d4940;font-size:.98rem;font-weight:600;line-height:1.8}.hero-points{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:0;list-style:none}.hero-points li{padding:4px 9px;border:1px solid #d9b582;border-radius:999px;background:#fff;color:var(--orange-dark);font-size:.72rem;font-weight:800}.hero-copy .button{width:100%}.microcopy{margin:13px 0 0;color:#746058;font-size:.74rem;text-align:center}.hero-image-wrap{position:relative;min-height:258px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.hero-image-wrap img{width:100%;height:100%;min-height:258px;object-fit:cover}.image-label{position:absolute;left:12px;bottom:13px;max-width:170px;padding:8px 10px;border-radius:5px;background:rgba(255,255,255,.94);font-size:.72rem;font-weight:900;line-height:1.5}.campaign-badge{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:79px;height:79px;border:3px solid #fff;border-radius:50%;background:var(--orange);color:#fff;font-size:.69rem;font-weight:900;line-height:1.12;text-align:center;transform:rotate(7deg)}.campaign-badge b{font-size:1.45rem}.campaign-badge small{font-size:.45rem}.concerns{background:#fff}.concern-list{display:grid;gap:10px;margin:26px 0}.concern-list p{position:relative;margin:0;padding:13px 12px 13px 43px;border:1px solid var(--line);border-radius:10px;background:var(--cream);font-size:.9rem;font-weight:700}.concern-list p::before{position:absolute;left:14px;top:12px;color:var(--orange);content:"□";font-size:1.22rem}.answer{margin:0;color:var(--green-dark);font-size:1.08rem;font-weight:800;text-align:center;line-height:1.65}.strengths{background:#f7efe5}.strength-grid{display:grid;gap:13px;margin-top:28px}.strength-grid article{position:relative;min-height:179px;padding:21px 16px 18px;border-radius:13px;background:#fff;box-shadow:0 7px 16px rgba(98,64,33,.08)}.number{display:inline-grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--yellow);color:var(--orange-dark);font-size:.72rem;font-weight:900}.strength-grid h3{margin:10px 0 4px;font-size:1.04rem}.strength-grid p{margin:0;font-size:.84rem;line-height:1.7}.learning{background:var(--green);color:#fff}.learning .eyebrow{color:var(--yellow)}.learning p{margin:15px 0 0;font-weight:600}.learning-grid{display:grid;gap:27px}.learning-cards{display:grid;gap:10px}.learning-cards article{display:grid;grid-template-columns:40px 1fr;gap:0 11px;padding:15px;border:1px solid rgba(255,255,255,.44);border-radius:10px;background:rgba(255,255,255,.08)}.learning-cards span{grid-row:span 2;display:grid;width:37px;height:37px;place-items:center;border-radius:50%;background:var(--yellow);color:var(--green-dark);font-size:1.15rem;font-weight:900}.learning-cards h3{margin:0;font-size:.97rem}.learning-cards p{margin:2px 0 0;font-size:.78rem;line-height:1.55}.fee{background:#fff}.campaign-box{display:grid;gap:4px;justify-items:center;margin:26px 0 17px;padding:15px;border-radius:11px;background:var(--yellow);color:var(--orange-dark);font-weight:900;text-align:center;line-height:1.4}.campaign-box span{font-size:.74rem}.campaign-box strong{font-size:1.15rem}.fee-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;background:#fff;text-align:left}caption{padding:12px;background:var(--green);color:#fff;font-size:.94rem;font-weight:900}th,td{padding:12px;border-bottom:1px solid var(--line);font-size:.89rem}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}td{color:var(--orange-dark);font-size:1.02rem;font-weight:900;text-align:right}.fee-note{margin:10px 0 0;color:#716059;font-size:.75rem;line-height:1.65}.initial-costs{margin-top:19px;padding:17px;border-radius:10px;background:#f8f3ec}.initial-costs h3{margin:0 0 8px;font-size:.95rem}.initial-costs dl{display:grid;gap:8px;margin:0}.initial-costs div{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.initial-costs dd{margin:0;font-weight:900}.initial-costs small{font-size:.67rem}.wide-button{width:100%;margin-top:25px}.schedule{background:#fff0da}.schedule-intro{margin:14px 0 24px;font-size:.9rem;font-weight:700}.schedule-card{max-width:720px;margin:auto;border-radius:13px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.day{margin:0;padding:11px;background:var(--green);color:#fff;font-weight:900;text-align:center}.schedule-slots{display:grid;gap:0}.schedule-slots article{padding:18px;border-bottom:1px solid var(--line);text-align:center}.schedule-slots article:last-child{border:0}.schedule-slots span{color:var(--orange-dark);font-size:.72rem;font-weight:900}.schedule-slots h3{margin:2px 0;font-size:1.32rem}.schedule-slots p{margin:0;font-size:.79rem;font-weight:700}.waiting{margin:0;padding:12px 14px;background:#f8f3ec;font-size:.78rem;text-align:center}.access{background:#fff}.access-grid{display:grid;gap:25px}.access-list{display:grid;gap:10px;margin:22px 0 0}.access-list div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--line)}.access-list dt{color:var(--green-dark);font-size:.78rem;font-weight:900}.access-list dd{margin:0;font-size:.88rem;font-weight:700}.opening{display:inline-block;margin:17px 0 0;padding:5px 9px;background:var(--yellow);font-size:.75rem;font-weight:900}.map-wrap{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.map-wrap iframe{display:block;width:100%;height:280px;border:0}.map-wrap p{margin:0;padding:5px 9px;color:#76655e;font-size:.66rem}.voice{background:#f7efe5}.voice-placeholder{display:grid;place-items:center;min-height:152px;margin-top:22px;border:2px dashed #d6b58f;border-radius:12px;background:#fffaf2}.voice-placeholder span{color:var(--orange);font-size:1.65rem}.voice-placeholder p{margin:5px 0 0;color:#806c5d;font-size:.85rem;font-weight:700}.faq{background:#fff}.faq details{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.faq summary{position:relative;padding:15px 43px 15px 14px;cursor:pointer;color:#49362d;font-size:.88rem;font-weight:900;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{position:absolute;right:15px;color:var(--orange);content:"＋";font-size:1.35rem}.faq details[open] summary::after{content:"−"}.faq details p{margin:0;padding:0 14px 15px;color:#69584f;font-size:.83rem;line-height:1.65}.confirm{color:var(--orange-dark);font-weight:900}.form-section{background:linear-gradient(135deg,var(--orange),#efad45);color:#fff}.form-section .eyebrow{color:var(--yellow)}.form-lead{margin:13px 0 20px;font-size:.89rem;font-weight:700;text-align:center}.trial-form{padding:17px;border-radius:13px;background:#fff;color:var(--brown);box-shadow:var(--shadow)}.trial-form label{display:grid;gap:6px;margin:0 0 15px;font-size:.82rem;font-weight:900}.trial-form label span{margin-left:5px;color:var(--orange-dark);font-size:.65rem}.trial-form input,.trial-form select,.trial-form textarea{width:100%;border:1px solid #d9c9ba;border-radius:6px;background:#fffdfb;color:var(--brown);font:inherit;font-size:.88rem;padding:11px}.trial-form textarea{resize:vertical}.form-button{width:100%;opacity:.65;cursor:not-allowed}.form-status{margin:11px 0 0;color:#79584a;font-size:.75rem;text-align:center}.privacy{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);color:#806d61;font-size:.69rem;line-height:1.6}footer{padding:28px 0 93px;background:#3d2f29;color:#fff;font-size:.73rem;text-align:center}footer p{margin:0 0 4px}footer small{display:block;margin-top:9px;color:#e6d8cd}.contact-placeholder{display:inline-block;margin-top:10px!important;padding:5px 8px;border:1px dashed #f1c36c;color:#ffe3a3}.fixed-cta{position:fixed;right:0;bottom:0;left:0;z-index:30;display:flex;min-height:56px;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;font-size:.92rem;font-weight:900;text-decoration:none;box-shadow:0 -3px 15px rgba(77,47,27,.18)}
@media(min-width:640px){.hero-copy .button{width:auto;min-width:260px}.strength-grid{grid-template-columns:repeat(2,1fr)}.schedule-slots{grid-template-columns:repeat(2,1fr)}.schedule-slots article{border-right:1px solid var(--line);border-bottom:0}.schedule-slots article:last-child{border-right:0}.access-grid{grid-template-columns:1fr 1fr;align-items:center}.map-wrap iframe{height:360px}}
@media(min-width:900px){.container{width:min(1120px,calc(100% - 64px))}.section{padding:90px 0}.hero-grid{grid-template-columns:.94fr 1.06fr;gap:42px;align-items:center;min-height:512px;padding:0}.hero-copy{padding:45px 0}.hero-image-wrap{min-height:430px;border-radius:17px}.hero-image-wrap img{min-height:430px}.strength-grid{grid-template-columns:repeat(4,1fr)}.strength-grid article{min-height:236px}.learning-grid{grid-template-columns:1fr 1fr;gap:70px;align-items:center}.learning-cards{gap:13px}.fixed-cta{left:auto;right:24px;bottom:22px;width:248px;border-radius:999px;box-shadow:0 7px 0 var(--orange-dark)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.event-notice{margin:12px 0 0;padding:7px 10px;border-left:4px solid var(--orange);background:#fff4de;color:var(--orange-dark);font-size:.78rem;font-weight:900}.trial-event{margin:9px 0 0;color:var(--green-dark);font-size:.82rem;font-weight:900}.access-seo{margin:12px 0 0;color:#716059;font-size:.76rem;line-height:1.7}
/* Hero alignment and image framing refinements */ h1>span,.lead>span{display:block}.lead{line-height:1.65}.hero-copy>.microcopy{max-width:300px;margin-right:auto;margin-left:auto;text-align:center}.hero-image-wrap img{object-position:72% center}.image-label{right:12px;left:auto;max-width:calc(100% - 24px);white-space:nowrap;text-align:center}.learning-benefits article{grid-template-columns:40px 1fr}.learning-benefits h3{font-size:.94rem}.learning-benefits p{font-size:.76rem}@media(max-width:390px){.hero-copy h1{font-size:2.08rem}.lead{font-size:.93rem}.image-label{font-size:.68rem}}@media(min-width:640px){.lead>span{display:inline}.lead>span::after{content:" ";white-space:pre}.lead>span:nth-last-child(2)::after{content:""}.lead>span:last-child{display:block}.hero-image-wrap img{object-position:68% center}}@media(min-width:900px){.lead>span{display:block}.lead>span::after{content:none}.hero-image-wrap img{object-position:70% center}.learning-benefits{grid-template-columns:repeat(2,1fr)}.learning-benefits article:last-child{grid-column:1/-1}}
@media(min-width:640px){.lead>span{display:block}.lead>span::after{content:none}}
@media(min-width:900px){.hero-copy h1{font-size:clamp(2.1rem,4vw,2.95rem)}}
/* Preserve the full hero illustration rather than cropping its subjects */ .hero-image-wrap{min-height:0;aspect-ratio:1774/887;background:#fff3db}.hero-image-wrap img{min-height:0;object-fit:cover;object-position:center}.lead{font-size:.86rem;line-height:1.72}@media(min-width:640px){.hero-image-wrap{min-height:0}.lead{font-size:.92rem}}@media(min-width:900px){.hero-image-wrap{min-height:0}.hero-image-wrap img{min-height:0}.hero-copy h1{font-size:clamp(2.1rem,4vw,2.95rem)}}
/* Balanced learning-card layout and left-aligned CTA note */ .hero-copy>.microcopy{max-width:none;margin:13px 0 0;text-align:left}@media(min-width:900px){.learning-benefits article:last-child{grid-column:auto}}

/* 受付状況と操作性の仕上げ */
:root{--cta:#a84b11;--cta-dark:#78320b}
[hidden]{display:none!important}
html{scroll-padding-top:90px;scroll-padding-bottom:100px}
:focus-visible{outline:3px solid #173e86;outline-offset:5px}
main:focus,section:focus{outline:none}
.header-cta,.button,.fixed-cta{background:var(--cta);color:#fff}
.button{box-shadow:0 6px 0 var(--cta-dark)}
.button:hover,.button:focus-visible{box-shadow:0 3px 0 var(--cta-dark)}
.fixed-cta:hover,.header-cta:hover{background:var(--cta-dark)}
.hero-points li,.event-notice,td,.schedule-slots span{color:#914311}
.area-tag,.day,caption{background:var(--green-dark)}
.learning{background:#267055}
.form-section{background:linear-gradient(135deg,#93410e,#ad5815)}
.event-detail{font-size:.75rem;font-weight:600}
.fee-review{margin:22px 0 18px;padding:14px 16px;border-left:4px solid var(--green-dark);background:#f3f7f2;font-size:.85rem}
.trial-panel{padding:24px;border-radius:16px;background:#fff;color:var(--brown);box-shadow:var(--shadow)}
.trial-facts{margin:0;display:grid;gap:12px}
.trial-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.trial-facts dt{font-size:.8rem;font-weight:900;color:var(--green-dark)}
.trial-facts dd{margin:0;font-size:.9rem;font-weight:700}
#trial-sessions{margin:18px 0;font-size:.88rem}
.session-card{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}
.session-card h3,.session-card p{margin:0}
.booking-status{padding:18px;border-radius:10px;background:#f7efe5}
.booking-status h3{margin:0;font-size:1rem}
.booking-status p{margin:8px 0 0;font-size:.88rem}
.booking-help{font-size:.82rem;margin:18px 0 0}
.booking-error{padding:14px;border:2px solid #96311a;color:#7b2716;font-size:.85rem}
.privacy{color:#5e4c40;font-size:.78rem}
.noscript-note{font-size:.85rem;padding:16px;border:1px solid #fff;border-radius:10px}
#school-contact{margin:14px auto 0;max-width:650px}
#school-contact a{display:inline-block;padding:8px 12px;margin:4px;border:1px solid #e6d8cd;border-radius:6px}
.fixed-cta{padding:12px 18px calc(12px + env(safe-area-inset-bottom));min-height:60px}
.initial-costs>dl>div{flex-wrap:wrap}
.image-label{white-space:normal}
@media(max-width:390px){.brand{font-size:.78rem}.header-cta{font-size:.72rem;padding:8px 10px}.trial-panel{padding:18px}.trial-facts>div{grid-template-columns:70px minmax(0,1fr);gap:8px}}
@media(min-width:900px){.fixed-cta{padding:12px 18px;box-shadow:0 7px 0 var(--cta-dark)}}
@media print{.site-header,.fixed-cta,.map-wrap iframe{display:none}.section{padding:24px 0}body{background:#fff}.learning,.form-section{background:#fff;color:var(--brown)}.learning .eyebrow,.form-section .eyebrow{color:var(--green-dark)}footer{padding:24px}.trial-panel,.schedule-card{box-shadow:none}a{box-shadow:none!important}}

.map-card{display:grid;place-items:center;min-height:280px;padding:28px 20px;background:linear-gradient(135deg,#f3f7ee,#fff3db);text-align:center}
.map-card .map-symbol{font-size:3rem;line-height:1;color:var(--green-dark)}
.map-card h3{margin:14px 0 4px;font-size:1.15rem}
.map-card p{padding:4px 0;color:var(--brown);font-size:.85rem}
.map-link{display:inline-flex;align-items:center;min-height:48px;margin-top:16px;color:var(--green-dark);font-size:.85rem;font-weight:900;text-underline-offset:4px}

.trial-session-grid{display:grid;gap:12px}.trial-session-grid .session-card{margin:0}.trial-time-note{font-size:.86rem;font-weight:700;margin:20px 0 12px}@media(min-width:640px){.trial-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.line-booking-flow{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line)}.line-booking-flow h3{margin:0 0 10px;font-size:.95rem}.line-booking-flow ol,.line-booking-flow ul{margin:0 0 12px;padding-left:1.5em;font-size:.85rem}.line-booking-flow li{margin:5px 0}.booking-caution{font-size:.78rem;color:#5e4c40;margin:10px 0 18px}

.venue-photos{display:grid;gap:12px;margin-top:28px}.venue-photos figure{margin:0;border-radius:12px;overflow:hidden;background:#f8f3ec}.venue-photos img{width:100%;height:240px;object-fit:cover}.venue-photos figcaption{padding:7px 10px;color:#6f5d54;font-size:.78rem;font-weight:800}.venue-credit{margin:0;color:#8a776c;font-size:.68rem}
@media(min-width:640px){.venue-photos{grid-template-columns:2fr 3fr}.venue-photos img{height:320px}.venue-credit{grid-column:1/-1}}
