:root{--green:#647a32;--deep:#405323;--ink:#183e31;--muted:#53655c;--yellow:#f7d75e;--line:#dce6df;--light:#f4f7ec}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.95;background:#fff}a{color:inherit;text-underline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #d39d00;outline-offset:5px}p{margin:0 0 1.3em}h1,h2,h3{line-height:1.65;letter-spacing:.03em;margin:0}h2{font-size:clamp(1.75rem,2.8vw,2.65rem);font-weight:750}h3{font-size:1.35rem}img{max-width:100%;display:block}.wrap{max-width:1160px;margin:auto;padding:0 36px}.skip{position:fixed;top:-100px;z-index:99;background:#fff;padding:10px}.skip:focus{top:0}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1400px;margin:auto;padding:20px 36px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:1.4rem;line-height:1.4;white-space:nowrap}.brand small{display:block;font-size:.875rem;letter-spacing:.15em;font-weight:500}nav{display:flex;gap:25px;font-size:.875rem;font-weight:600}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--green);text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;min-height:50px;border-radius:6px;background:var(--green);color:#fff;text-decoration:none;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.small{padding:10px 24px;font-size:.875rem}.hero{background:var(--light);padding-top:46px;overflow:hidden}.hero-inner{max-width:1400px;padding:0 36px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:25px;align-items:center}.hero-copy{padding:20px 0 40px 5vw;position:relative;z-index:1}.eyebrow{color:var(--green);font-size:.875rem;font-weight:700;letter-spacing:.12em;margin-bottom:22px}.hero .eyebrow{letter-spacing:.04em}.hero h1{font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.65;letter-spacing:.07em}.hero h1 span{background:linear-gradient(transparent 75%,var(--yellow) 75%)}.lead{color:var(--muted);margin:26px 0;line-height:2.1}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-link{font-weight:700;font-size:.9375rem}.hero-image{position:relative;margin:0;padding:0 0 40px}.hero-image img{width:100%;border-radius:140px 15px 15px 15px;aspect-ratio:1.1;object-fit:cover;object-position:center}.hero-image figcaption{position:absolute;bottom:20px;left:-16px;background:var(--yellow);padding:16px 25px;transform:rotate(-3deg);font-size:.95rem;font-weight:700}.hero-bottom{background:var(--green);color:#fff;display:flex;justify-content:center;gap:0;margin-top:30px;padding:21px 36px;font-size:.875rem;letter-spacing:.04em}.hero-bottom span{padding:0 35px;border-right:1px solid #67a48c}.hero-bottom span:last-child{border:0}.section{padding:92px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.about .intro{font-size:1.35rem;line-height:2}.about p:not(.eyebrow):not(.intro){color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.chips span{background:var(--light);border:1px solid var(--line);padding:6px 13px;border-radius:30px;font-size:.875rem}.learning{background:var(--light)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:45px}.section-title>p{color:var(--muted);margin:0;font-size:.9375rem}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.features article{padding:32px 28px;background:#fff;border-top:4px solid var(--green);border-radius:0 0 12px 12px}.number{font-size:1rem;letter-spacing:.15em;color:var(--green);display:block;margin-bottom:20px}.features h3{margin-bottom:22px}.features p{color:var(--muted);font-size:.9375rem}.feature-label{display:block;border-top:1px solid var(--line);padding-top:17px;font-size:.875rem;font-weight:600}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;gap:32px}.steps li{border-top:1px solid var(--green);padding-top:24px}.steps span{font-size:.875rem;font-weight:700;letter-spacing:.1em;color:var(--green)}.steps h3{margin:12px 0}.steps p{font-size:.9375rem;color:var(--muted)}.guide-note{margin-top:35px;background:var(--light);border-radius:8px;padding:26px 32px;display:grid;grid-template-columns:1fr 2fr;gap:10px 35px}.guide-note h3{font-size:1.1rem}.guide-note p{margin:0;font-size:.9375rem;color:var(--muted)}.guide-note a{grid-column:2;font-size:.9375rem;font-weight:700}.faq{background:#f7f9f7}.questions details{border-bottom:1px solid #cddbd1}.questions details:first-child{border-top:1px solid #cddbd1}.questions summary{cursor:pointer;list-style:none;position:relative;padding:22px 30px 22px 0;font-size:1rem;font-weight:700}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'＋';position:absolute;right:0;color:var(--green);font-size:1.2rem}.questions details[open] summary:after{content:'−'}.questions details p{font-size:.9375rem;color:var(--muted);margin:0 0 24px}.access-card{background:var(--light);padding:36px;border-radius:12px}dl{margin:0 0 26px}dl>div{display:grid;grid-template-columns:85px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}dl>div:first-child{padding-top:0}dt{font-weight:700;font-size:.875rem}dd{margin:0;font-size:1rem}.outline{border:1px solid var(--green);background:transparent;color:var(--green);padding:12px 20px;font-size:.875rem}.outline:hover{color:white}.fine{font-size:.875rem;color:var(--muted);margin:16px 0 0}.contact{background:var(--green);color:white;padding:70px 0}.contact .eyebrow{color:#cbe5d7}.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.contact p{margin-top:20px;font-size:.9375rem;color:#dfede5}.phone-panel{border-left:1px solid #72a48b;padding-left:48px}.phone-panel>span{font-size:.9375rem}.phone{display:block;text-decoration:none;font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:700;letter-spacing:.025em;white-space:nowrap;line-height:1.6}.phone-panel p{margin:5px 0 24px;font-size:.875rem}.yellow{background:var(--yellow);color:var(--deep);width:100%}.yellow:hover{background:#ffe590}footer{padding:33px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner .brand{font-size:1rem}.footer-inner p,.footer-inner>small{margin:0;font-size:.8125rem;color:var(--muted)}.mobile-contact{display:none}@media(min-width:1500px){.hero-copy{padding-left:35px}}@media(max-width:1050px){nav{gap:15px}.header-inner{padding:17px 24px;gap:15px}.brand{font-size:1.2rem}.hero-copy{padding-left:0}.hero-inner{gap:15px}.split{gap:45px}.phone-panel{padding-left:24px}.hero-bottom span{padding:0 18px}.footer-inner{flex-wrap:wrap}}@media(max-width:780px){header nav{display:none}.header-inner{padding:14px 20px}.header-inner .button{padding:9px 16px}.wrap{padding:0 24px}.hero{padding-top:15px}.hero-inner{display:flex;flex-direction:column;padding:0 24px;gap:0}.hero-copy{width:100%;padding:24px 0}.hero .eyebrow{font-size:.8125rem;margin-bottom:16px}.hero h1{font-size:clamp(2rem,7.5vw,3rem)}.lead{font-size:.9375rem;margin:20px 0}.hero-actions{gap:18px}.hero-image{width:100%;padding:10px 0 30px}.hero-image img{aspect-ratio:1.45;border-radius:80px 10px 10px 10px}.hero-image figcaption{left:-7px;bottom:14px;padding:10px 16px;font-size:.8125rem}.hero-bottom{margin-top:5px;padding:15px 24px;flex-wrap:wrap;gap:5px;text-align:center}.hero-bottom span{padding:0 10px;font-size:.8125rem}.hero-bottom span:last-child{display:none}.hero-bottom span:nth-child(2){border:0}.section{padding:60px 0}.split{grid-template-columns:1fr;gap:28px}.eyebrow{margin-bottom:12px;font-size:.8125rem}.section-title{display:block;margin-bottom:30px}.section-title>p{margin-top:20px}.features{grid-template-columns:1fr;gap:18px}.features article{padding:25px}.features h3 br{display:none}.features h3{margin-bottom:15px}.number{margin-bottom:12px}.steps{grid-template-columns:1fr;gap:15px}.steps li{padding-top:18px}.steps p{margin-bottom:12px}.guide-note{grid-template-columns:1fr;padding:24px;gap:14px}.guide-note a{grid-column:1;overflow-wrap:anywhere}.access-card{padding:26px}.contact{padding:52px 0}.contact-inner{grid-template-columns:1fr;gap:32px}.phone-panel{border-left:0;border-top:1px solid #72a48b;padding:27px 0 0}.phone{font-size:2rem}.footer-inner{display:block}.footer-inner .brand{margin-bottom:16px}.footer-inner p{margin-bottom:10px}footer{padding-bottom:95px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--green);color:white;border-top:1px solid #78ac96;text-align:center;text-decoration:none;font-size:.9375rem;font-weight:700;padding:13px 12px calc(13px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px #14372615}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.day{background:#fafbf7}.day-list{list-style:none;margin:0;padding:0;max-width:850px}.day-list li{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.day-list time{font-size:1.5rem;font-weight:700;color:var(--green)}.day-list h3{font-size:1.15rem}.day-list p{margin:8px 0 0;color:var(--muted);font-size:.9375rem}.community-note{margin-top:30px;padding:28px 32px;background:var(--light);border-left:4px solid var(--green)}.community-note p{margin:12px 0 0;color:var(--muted)}@media(max-width:780px){.day-list li{grid-template-columns:65px 1fr;gap:18px}.day-list time{font-size:1.15rem}.community-note{padding:22px}.header-inner .button{white-space:nowrap}}

.hero-image img{aspect-ratio:1.5;border-radius:80px 15px 15px 15px}.study-photo{margin:0 0 36px;display:flex;align-items:center;gap:36px;background:#fff;border-radius:12px;overflow:hidden}.study-photo img{width:48%;height:auto;object-fit:cover}.study-photo figcaption{padding:24px;font-size:1.25rem;font-weight:700;line-height:1.8}@media(max-width:780px){.hero-image img{aspect-ratio:1.5;border-radius:50px 10px 10px 10px}.study-photo{display:block}.study-photo img{width:100%}.study-photo figcaption{font-size:1rem;padding:18px 24px}}

.blog{background:var(--light)}.blog-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.blog-inner p:last-child{margin:14px 0 0;color:var(--muted)}.blog .button{gap:14px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:780px){.blog-inner{display:block}.blog .button{margin-top:24px}}

@media(max-width:1100px){header nav{display:none}}

/* Small-screen navigation and comfortable reading. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
.split>* , .contact-inner>* , .section-title>* , .features>* , .day-list li>*{min-width:0}
.mobile-menu{display:none}
@media(max-width:1100px){
 .header-inner{position:relative}
 header .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;font-size:.875rem;font-weight:700;background:var(--light)}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{background:var(--green);color:#fff}
 header .mobile-menu nav{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;box-shadow:0 12px 20px #183e3120;border-bottom:1px solid var(--line);max-height:65vh;max-height:65dvh;overflow-y:auto;padding:12px 20px}
 .mobile-menu nav a{padding:14px 12px;border-bottom:1px solid var(--line);min-height:48px;display:flex;align-items:center;font-size:1rem}
 .mobile-menu nav a:hover{background:var(--light)}
}
@media(max-width:780px){
 html{scroll-padding-top:92px}
 .header-inner{padding:10px 20px;gap:12px}
 .header-inner>.button{display:none}
 .brand{font-size:1.15rem}
 .brand small{font-size:.8125rem}
 .wrap,.hero-inner{padding-left:20px;padding-right:20px}
 .hero-copy{padding:24px 0 20px}
 .hero h1{font-size:clamp(1.75rem,7.3vw,2.75rem);letter-spacing:.025em;line-height:1.6}
 .hero .eyebrow{font-size:.8125rem;line-height:1.8}
 p.lead,.features p,.steps p,.guide-note p,.questions details p,.day-list p,.contact p{font-size:1rem;line-height:1.9}
 .lead br,.about .intro br,.section-title>p br,.contact p br{display:none}
 .lead{max-width:35em}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .hero-actions .button{width:100%;min-height:52px}
 .hero-actions .text-link{display:flex;justify-content:center;align-items:center;min-height:44px}
 .hero-image{padding:0 0 20px}
 .hero-image img{height:auto;aspect-ratio:1.5;border-radius:30px 8px 8px 8px}
 .hero-image figcaption{position:static;transform:none;padding:12px 14px;font-size:.875rem;border-radius:0 0 8px 8px;text-align:center;line-height:1.7}
 .hero-bottom{display:grid;gap:8px;padding:18px 20px}
 .hero-bottom span,.hero-bottom span:last-child{display:block;padding:0;border:0;font-size:.875rem}
 .hero-bottom span:last-child{font-weight:700}
 .section{padding:48px 0}
 h2{font-size:clamp(1.4rem,5.8vw,1.85rem);line-height:1.65;letter-spacing:.015em}
 h3{font-size:1.2rem}
 .about .intro{font-size:1.125rem;line-height:1.9}
 .features article{padding:24px 20px}
 .study-photo figcaption{font-size:1rem;line-height:1.8;padding:16px 20px}
 .guide-note,.access-card{padding:22px 20px}
 .button{min-height:52px;padding:14px 18px;text-align:center;line-height:1.65;white-space:normal}
 .blog .button,.access-card .button{width:100%}
 .questions summary{padding:20px 32px 20px 0;min-height:56px;line-height:1.8}
 .guide-note a{display:flex;align-items:center;min-height:48px}
 .contact{padding:44px 0}
 .phone{font-size:clamp(1.65rem,7.2vw,2.3rem)}
 footer{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
 .mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 0 env(safe-area-inset-bottom);background:var(--green);line-height:1.5;box-shadow:0 -3px 15px #14372620}
 .mobile-contact a{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:66px;padding:10px 6px;color:#fff;text-decoration:none;font-size:1rem}
 .mobile-contact a span{font-size:.75rem;font-weight:400;margin-top:3px}
 .mobile-contact .mobile-blog{background:#f4f7ec;color:var(--deep);border-left:1px solid #dce6df}
}
@media(max-width:480px){
 dl>div{grid-template-columns:1fr;gap:5px}
 .day-list li{grid-template-columns:58px 1fr;gap:14px}
 .day-list time{font-size:1rem}
 .day-list h3{font-size:1.1rem}
 .chips span{max-width:100%;font-size:.8125rem}
 .header-inner{padding-left:16px;padding-right:16px}
 .mobile-menu summary{padding:10px 12px}
}

/* Facility and school name */
.brand .brand-category{display:block;font-size:.6875rem;letter-spacing:.015em;font-weight:600;line-height:1.7;margin-bottom:3px}
.brand .brand-name{display:block;font-size:1.2rem;line-height:1.5;font-weight:800}
.facility-category{font-size:.9375rem;font-weight:600;color:var(--green);margin-bottom:8px}
@media(max-width:780px){.brand .brand-category{font-size:.59375rem}.brand .brand-name{font-size:1rem}.mobile-menu summary{gap:5px;padding:10px 8px;font-size:.8125rem}.header-inner{gap:8px}}

/* 説明会フォーム・ブログ記事紹介 */
.blog-preview{background:#fff;border:1px solid #dce3d1;border-radius:18px;padding:clamp(24px,4vw,40px);max-width:800px;margin-top:28px}.blog-preview h3{font-size:clamp(22px,3vw,28px);margin:0 0 16px}.blog-preview p{line-height:1.9}.briefing{background:#f6f8f1}.briefing .button{margin:16px 0}.form-disclosure{margin-top:20px;border:1px solid #dce3d1;border-radius:12px;background:#fff;padding:20px}.form-disclosure summary{cursor:pointer;font-weight:700;line-height:1.6}.briefing-form{width:100%;height:1000px;border:0;display:block;margin-top:20px}.briefing-contact{margin-top:12px}.hero-actions{flex-wrap:wrap;gap:14px}@media(max-width:600px){.form-disclosure{padding:12px}.briefing-form{height:1200px}.hero-actions .button{max-width:100%;text-align:center}}

.blog-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.blog-articles .blog-preview{max-width:none;margin-top:16px;padding:24px}.blog-preview time{display:block;font-size:14px;color:#58664d;margin-bottom:12px}.blog-articles h3{font-size:22px;line-height:1.5}@media(max-width:850px){.blog-articles{grid-template-columns:1fr}}
