:root{--green: #004505;--green-dark: #002d03;--green-tint: #edf4ec;--ink: #1c2430;--gray: #5a6472;--gray-light: #9aa2ad;--line: #e5e7eb;--paper: #f7f8fa;--white: #ffffff;--header-h: 78px;--radius: 10px;--shadow-card: 0 10px 30px rgba(0, 69, 5, .08)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:112.5%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;color:var(--ink);background:var(--white);line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--green)}ul{list-style:none}.pc-only{display:none}.btn{display:inline-block;padding:.9em 2.2em;border-radius:999px;font-size:.95rem;font-weight:700;text-decoration:none;text-align:center;letter-spacing:.05em;transition:background-color .25s,color .25s,transform .25s,box-shadow .25s}.btn--solid{background:var(--green);color:var(--white);box-shadow:0 6px 18px #00450540}.btn--solid:hover{background:var(--green-dark);transform:translateY(-2px)}.btn--outline{border:2px solid var(--green);color:var(--green);background:transparent}.btn--outline:hover{background:var(--green-tint);transform:translateY(-2px)}.btn--white{background:var(--white);color:var(--green)}.btn--white:hover{background:#e3eee2;transform:translateY(-2px)}.btn--outline-white{border:2px solid rgba(255,255,255,.9);color:var(--white);background:transparent}.btn--outline-white:hover{background:#ffffff24;transform:translateY(-2px)}.btn--tel{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn--tel svg{flex-shrink:0}.btn--sm{padding:.55em 1.5em;font-size:1.05rem}.todo{display:inline-block;padding:.15em .7em;border:1.5px dashed var(--gray-light);border-radius:6px;background:var(--paper);color:var(--gray);font-size:.9em}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo__mark{width:40px;height:40px;object-fit:contain}.logo--inverted .logo__mark{width:44px;height:44px;padding:3px;background:var(--white);border-radius:50%}.logo__text{display:flex;flex-direction:column;line-height:1.25}.logo__name-row{display:flex;align-items:center;gap:4px}.logo__name{font-size:1.45rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}.logo__since{display:flex;flex-direction:column;line-height:1.1;font-size:.62rem;font-weight:500;letter-spacing:.24em;color:var(--gray-light);border-left:1px solid var(--line);padding-left:6px;white-space:nowrap}.logo__sub{font-size:.6rem;font-weight:400;letter-spacing:.12em;color:var(--gray);text-transform:uppercase;white-space:nowrap}@media(max-width:599px){.logo__mark{width:34px;height:34px}.logo__name{font-size:1.2rem}.logo__sub{font-size:.55rem}.logo__since{display:none}}@media(max-width:429px){.logo__name{font-size:1.05rem}.logo__sub{font-size:.48rem;letter-spacing:.04em}}@media(max-width:374px){.logo__mark{width:30px;height:30px}.logo__name{font-size:1rem}.logo__sub{display:none}}.logo--inverted{color:var(--white)}.logo--inverted .logo__sub{color:#ffffffa6}.logo--inverted .logo__since{color:#ffffff80;border-left-color:#ffffff4d}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);background:#ffffffeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header__inner{max-width:1200px;margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header__right{display:flex;align-items:center;gap:12px}.header__tel-sp{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:var(--white);box-shadow:0 6px 18px #00450540}.header__tel-sp:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.header__reserve-sp{position:relative;padding:8px 14px;font-size:.75rem;line-height:1.4;white-space:nowrap}.header__reserve-sp:before{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}@media(max-width:599px){.header__right{gap:8px}.header__tel-sp{width:34px;height:34px}.header__reserve-sp{padding:8px 12px}}@media(max-width:429px){.header__tel-sp{width:32px;height:32px}.header__reserve-sp{padding:7px 10px;font-size:.72rem}}@media(max-width:349px){.header__tel-sp{display:none}}.header__reserve{display:none}.header__nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .25s,opacity .25s,visibility .25s}.header__nav.is-open{transform:translateY(0);opacity:1;visibility:visible}.header__nav ul{display:flex;flex-direction:column;padding:12px 20px 24px;gap:4px}.header__nav a:not(.btn){display:block;padding:12px 4px;font-size:1.05rem;font-weight:500;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.header__nav-cta{margin-top:16px}.header__burger{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:pointer}.header__burger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}.header__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__burger.is-open span:nth-child(2){opacity:0}.header__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.dotnav{display:none;position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:90;flex-direction:column;gap:14px}.dotnav__dot{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.dotnav__dot span{width:8px;height:8px;border-radius:50%;background:transparent;border:1.5px solid var(--gray-light);transition:background-color .3s,border-color .3s,transform .3s}.dotnav__dot:hover span{border-color:var(--green)}.dotnav__dot.is-active span{background:var(--green);border-color:var(--green);transform:scale(1.4)}.hero{padding:calc(var(--header-h) + 48px) 20px 72px;position:relative;overflow:hidden}.hero__inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:48px}.hero__type{position:relative;padding:20px 18px 18px;margin-bottom:28px;-webkit-user-select:none;user-select:none;background-image:repeating-linear-gradient(-45deg,rgba(0,69,5,.07) 0,rgba(0,69,5,.07) 1px,transparent 1px,transparent 9px)}.hero__type-en{display:block;color:var(--green);font-size:.64rem;font-weight:700;letter-spacing:.38em;margin-bottom:12px}.hero__type-main{display:inline-block;font-size:clamp(1.78rem,6.5vw,2.58rem);font-weight:900;line-height:1.15;letter-spacing:.16em;color:var(--green);white-space:nowrap}.hero__type-main:after{content:"";display:block;width:60%;height:5px;margin-top:8px;background:var(--green);border-radius:3px}.hero__catch{font-size:clamp(1.35rem,4.2vw,1.7rem);font-weight:900;line-height:1.6;letter-spacing:.05em;margin-bottom:18px}.hero__lead{color:var(--gray);font-size:.98rem;line-height:1.8;margin-bottom:32px}.hero__actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;max-width:360px;margin:0 auto}.hero__actions .btn{width:100%}.hero__photo{display:flex;justify-content:center}.hero__photo-frame{position:relative;width:100%;background:var(--white);padding:12px 12px 20px;border:1px solid var(--line);box-shadow:var(--shadow-card);transform:rotate(.4deg)}.hero__photo-frame img,.hero__photo-frame video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.hero__slideshow{position:relative;aspect-ratio:16 / 9;overflow:hidden}.hero__columns{display:flex;flex-direction:column;gap:56px}.hero__about .section__eyebrow{font-size:.72rem;letter-spacing:.38em;margin-bottom:12px}.hero__about .section__title{font-size:clamp(1.5rem,3.4vw,1.9rem);letter-spacing:.16em;margin-bottom:26px;padding-bottom:14px}.hero__slideshow img{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:0;transition:opacity 1s ease}.hero__slideshow img.is-active{opacity:1}@media(prefers-reduced-motion:reduce){.hero__slideshow img{transition:none}}.hero__slide-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.hero__slide-dot{width:9px;height:9px;padding:0;border-radius:50%;border:1.5px solid var(--green);background:transparent;cursor:pointer;transition:background-color .3s,transform .3s}.hero__slide-dot.is-active{background:var(--green);transform:scale(1.2)}.hero__clip{position:absolute;top:-34px;left:50%;transform:translate(-50%);z-index:2;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}.section{padding:96px 20px}.section__inner{max-width:1080px;margin:0 auto}.section__eyebrow{color:var(--green);font-size:.8rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px}.section__title{font-size:clamp(1.78rem,5vw,2.45rem);font-weight:900;letter-spacing:.06em;margin-bottom:28px;position:relative;padding-bottom:18px}.section__title:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--green)}.section__lead{color:var(--gray);margin-bottom:40px}.brand__body{display:flex;flex-direction:column;gap:22px;max-width:720px}.brand__lead{font-size:clamp(1.2rem,3.4vw,1.35rem);font-weight:800;line-height:1.8;letter-spacing:.03em}.brand__body p:not(.brand__lead){color:var(--gray);font-size:.98rem;line-height:1.8}.courses{background:var(--paper)}.courses__highlight{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:40px}.courses__highlight-badge{flex-shrink:0;background:var(--green);color:var(--white);font-weight:700;font-size:.9rem;letter-spacing:.08em;padding:7px 20px;border-radius:999px;box-shadow:0 6px 18px #00450540}.courses__highlight p{color:var(--gray);font-size:.95rem}.drawing-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:40px}.drawing-card__main{display:grid;grid-template-columns:1fr}.drawing-card__image img{width:100%;aspect-ratio:1 / 1;object-fit:cover}.drawing-card__body{padding:32px 28px 36px}.drawing-card__title{font-size:1.4rem;font-weight:900;letter-spacing:.04em;margin-bottom:12px}.drawing-card__desc{color:var(--gray);font-size:.95rem;margin-bottom:24px}.price-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.price-table__head{display:none}.price-table__row+.price-table__row{border-top:1px solid var(--line)}.price-table__course{display:block;background:var(--green);color:var(--white);font-weight:700;font-size:.92rem;letter-spacing:.06em;padding:9px 16px}.price-table__cell{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.92rem}.price-table__cell+.price-table__cell{border-top:1px dashed var(--line)}.price-table__cell em{font-style:normal;font-weight:700;font-size:.85rem;color:var(--green)}.price-table__cell>span{white-space:nowrap;font-size:.85rem}.price-table__cell strong{font-size:1.2rem;font-weight:900}.drawing-card__details{border-top:1px solid var(--line);padding:32px 28px 36px}.drawing-card__details-title{font-size:1rem;font-weight:900;letter-spacing:.06em;margin-bottom:20px}.specs{display:grid;grid-template-columns:1fr;gap:18px}.spec{display:flex;gap:14px;align-items:flex-start}.spec__icon{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center;font-size:1.1rem}.spec dt{font-size:.8rem;font-weight:700;color:var(--green)}.spec dd{font-size:.92rem;line-height:1.7}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.chip{border:1px solid rgba(0,69,5,.45);color:var(--green);background:var(--white);border-radius:999px;padding:6px 16px;font-size:.82rem;font-weight:500}.course-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.course-card__image{position:relative}.course-card__image img{width:100%;aspect-ratio:1 / 1;object-fit:cover}.course-card--soon .course-card__image img{filter:grayscale(1);opacity:.7}.course-card__soon-badge{position:absolute;top:14px;left:14px;background:var(--ink);color:var(--white);font-weight:700;font-size:.78rem;letter-spacing:.12em;padding:5px 16px;border-radius:999px}.course-card__body{padding:28px 28px 32px}.course-card__tag{display:inline-block;font-size:.75rem;font-weight:700;color:var(--green);background:var(--green-tint);border-radius:999px;padding:4px 14px;margin-bottom:12px;letter-spacing:.06em}.course-card__title{font-size:1.15rem;font-weight:900;letter-spacing:.04em;margin-bottom:10px}.course-card__desc{color:var(--gray);font-size:.92rem}.reasons__grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}.reason{border:1px solid var(--line);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:box-shadow .3s,transform .3s}.reason:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.reason__icon{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--green-tint);font-size:1.8rem;margin-bottom:16px}.reason__title{font-size:1.05rem;font-weight:900;letter-spacing:.05em;margin-bottom:10px}.reason__text{color:var(--gray);font-size:.9rem;text-align:left}.media{padding-top:56px;padding-bottom:64px;border-top:1px solid var(--line)}.media__lead{margin-bottom:24px;font-size:.92rem}.media__list{list-style:none;display:flex;flex-wrap:wrap;gap:10px}.media__item{display:inline-flex;align-items:baseline;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 20px;font-size:.88rem;line-height:1.6}.media__name{font-weight:700;color:var(--ink)}.media__detail{color:var(--gray);font-size:.82rem}.gallery{background:var(--paper)}.gallery__grid{display:none;margin-top:40px}.gallery__item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--white)}.gallery__item img{width:100%;aspect-ratio:1 / 1;object-fit:cover;transition:transform .4s}.gallery__item:hover img{transform:scale(1.04)}.gallery__reviews{display:none;margin-top:32px}.gallery__carousel{position:relative;display:flex;gap:12px;margin-top:32px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gallery__carousel::-webkit-scrollbar{display:none}.gallery__slide{flex:0 0 82%;scroll-snap-align:start;display:flex;flex-direction:column;gap:12px}.gallery__slide-photo img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.gallery__slide .review-card{flex:1}.review-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow-card)}.gallery__reviews-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}.gallery__reviews-dot{width:9px;height:9px;padding:0;border-radius:50%;border:1.5px solid var(--green);background:transparent;cursor:pointer;transition:background-color .3s,transform .3s}.gallery__reviews-dot.is-active{background:var(--green);transform:scale(1.2)}.review-card__stars{color:#e8b64c;letter-spacing:.2em;margin-bottom:12px}.review-card__quote{font-size:.92rem;color:var(--gray);margin-bottom:10px}.review-card__quote--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.review-card__author{font-size:.82rem;color:var(--gray-light)}.review-card__more{display:block;margin-bottom:10px;padding:0;background:none;border:none;cursor:pointer;color:var(--green);font-family:inherit;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.access__grid{display:grid;grid-template-columns:1fr;gap:36px;margin-top:40px}.access__list{display:flex;flex-direction:column;margin-bottom:28px}.access__list>div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.access__list dt{flex-shrink:0;width:84px;font-weight:700;color:var(--green);font-size:.9rem;padding-top:2px}.access__list dd{font-size:.95rem}.access__cta{text-align:center}.access__map iframe{display:block;width:100%;height:300px;border:0;border-radius:var(--radius)}.reserve{background:var(--green);color:var(--white);padding:96px 20px;text-align:center}.reserve__inner{max-width:720px;margin:0 auto}.reserve__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#fff9;margin-bottom:12px}.reserve__title{font-size:clamp(1.7rem,5vw,2.4rem);font-weight:900;letter-spacing:.08em;margin-bottom:20px}.reserve__lead{color:#ffffffd1;font-size:.98rem;margin-bottom:36px}.reserve__actions{display:flex;flex-direction:column;align-items:center;gap:14px}.footer{background:var(--green-dark);color:var(--white);padding:56px 20px 40px}.footer__inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.footer__links{display:flex;flex-direction:column;align-items:center;gap:18px}.footer__sns{display:flex;gap:20px}.footer__sns a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:var(--white);transition:background-color .25s,border-color .25s}.footer__sns a:hover{background:#ffffff1f;border-color:#fff9}.footer__gnavi{color:#fffc;font-size:.88rem;text-decoration:underline;text-underline-offset:4px}.footer__gnavi:hover{color:var(--white)}.footer__copy{font-size:.8rem;color:#ffffff8c;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;width:100%}@media(min-width:768px){.pc-only{display:inline}.access__map iframe{height:100%;min-height:450px}.courses__highlight{flex-direction:row;align-items:center;gap:18px}.drawing-card__main{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.drawing-card__image,.drawing-card__body{align-self:center}.price-table__head{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;background:var(--green);color:var(--white);font-weight:700;font-size:.88rem;letter-spacing:.06em}.price-table__head span{padding:10px 16px;text-align:center}.price-table__head span:first-child{text-align:left}.price-table__row{display:grid;grid-template-columns:1fr 1.15fr 1.15fr;align-items:stretch}.price-table__course{background:var(--green-tint);color:var(--ink);display:flex;align-items:center;padding:14px 16px}.price-table__cell{justify-content:center;gap:8px;padding:14px 16px}.price-table__cell+.price-table__cell{border-top:none;border-left:1px solid var(--line)}.price-table__cell em{display:none}.specs{grid-template-columns:repeat(2,1fr);gap:20px 28px}.course-card--soon{flex-direction:row;align-items:stretch}.course-card--soon .course-card__image{flex:0 0 320px;align-self:center}.course-card--soon .course-card__body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.reasons__grid{grid-template-columns:repeat(2,1fr)}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery__reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-card{padding:26px 24px}.gallery__carousel,.gallery__reviews-dots{display:none}.review-card__quote--clamped{-webkit-line-clamp:6;line-clamp:6}.access__grid{grid-template-columns:1fr 1.1fr;align-items:stretch}.footer__inner{flex-direction:row;justify-content:space-between;flex-wrap:wrap;text-align:left}.footer__links{flex-direction:row;gap:28px}}@media(min-width:1024px){.header__nav{position:static;transform:none;opacity:1;visibility:visible;background:none;border:none}.header__nav ul{flex-direction:row;align-items:center;padding:0;gap:28px}.header__nav a:not(.btn){padding:4px 0;border:none;font-size:1.05rem;position:relative}.header__nav a:not(.btn):after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--green);transition:width .25s}.header__nav a:not(.btn):hover:after{width:100%}.header__nav-cta{display:none}.header__reserve{display:inline-block}.header__reserve-sp,.header__tel-sp,.header__burger{display:none}.hero{padding-top:calc(var(--header-h) + 72px);padding-bottom:110px}.hero__actions{margin:0}.hero__inner{max-width:1280px;gap:64px}.hero__photo-frame img,.hero__photo-frame video,.hero__slideshow{aspect-ratio:21 / 9}.hero__columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:start}.hero__copy{padding-right:40px}.hero__about{border-left:1px solid var(--line);padding-left:40px;padding-top:20px}.dotnav{display:flex}.section{padding:120px 20px}}
