:root{--ink:#332c29;--muted:#786b65;--sand:#f6f2ee;--clay:#9a7a69;--line:#ded4cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:1.9;background:#fff}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:32px;background:#fff;position:sticky;top:0;z-index:10}.brand img{width:126px;display:block}.main-nav{margin-left:auto;display:flex;gap:28px;font-size:12px;letter-spacing:.12em}.main-nav a:hover,.text-link:hover{color:var(--clay)}.header-book,.button{background:var(--clay);color:#fff;padding:11px 22px;font-size:12px;letter-spacing:.1em;transition:.2s}.header-book:hover,.button:hover{background:#765d51}.menu-toggle{display:none}.hero{height:min(700px,calc(100vh - 88px));min-height:500px;position:relative;color:#fff;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(49,34,28,.59),rgba(49,34,28,.12))}.hero-copy{position:absolute;top:50%;left:clamp(24px,12vw,190px);transform:translateY(-50%)}.hero-copy p,.eyebrow{margin:0 0 12px;font-size:11px;letter-spacing:.2em;color:var(--clay);font-weight:600}.hero-copy p{color:#fff}.hero h1{font-weight:400;font-size:clamp(34px,4vw,60px);line-height:1.35;letter-spacing:.08em;margin:0 0 32px}.button{display:inline-flex;gap:36px;align-items:center;border:0;cursor:pointer}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--sand)}.hero-scroll{position:absolute;bottom:20px;right:24px;font-size:10px;letter-spacing:.17em;writing-mode:vertical-rl}.section{padding:clamp(70px,10vw,145px) clamp(24px,10vw,150px)}.intro{max-width:1100px;margin:auto}.section h2{margin:0;font-family:"DM Serif Display","Noto Sans JP",serif;font-weight:400;font-size:clamp(34px,4.2vw,57px);line-height:1.4}.intro-text{max-width:560px;margin:45px 0 0 auto}.intro-text p{margin:0 0 18px}.course-section{background:var(--sand)}.section-heading{text-align:center}.section-heading p:last-child{color:var(--muted);font-size:13px}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:55px auto 18px}.price-feature{background:#fff;padding:35px 42px}.price-label{font-size:10px;letter-spacing:.18em;color:var(--clay);margin:0}.price-feature h3{font-size:23px;font-weight:500;margin:7px 0}.detail{font-size:12px;color:var(--muted);margin:0}.price{font-family:"DM Serif Display",serif;font-size:35px;margin:28px 0 0}.price small{font-family:"Noto Sans JP";font-size:12px}.price-table-wrap{max-width:900px;margin:auto;background:#fff;padding:12px 35px}.price-table{width:100%;border-collapse:collapse;font-size:13px}.price-table th,.price-table td{padding:18px 8px;border-bottom:1px solid var(--line);text-align:left}.price-table th{font-weight:500;color:var(--muted)}.price-table td:last-child{text-align:right;white-space:nowrap;font-family:"DM Serif Display";font-size:18px}.reserve-section{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.reserve-intro p:not(.eyebrow){max-width:340px}.reserve-note{font-size:13px;color:var(--muted);margin-top:36px}.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px}.field b{font-size:10px;background:#f3e8e1;color:#865f4b;padding:2px 5px;margin-left:5px;font-weight:500}input,select,textarea{border:1px solid var(--line);border-radius:0;background:#fff;padding:12px;font:inherit;font-size:14px;min-height:48px}textarea{resize:vertical}.consent label{display:flex;align-items:center;line-height:1.5}.consent input{min-height:auto;margin-right:8px}.submit{width:100%;justify-content:center;padding:17px}.hidden{display:none}#form-status{font-size:13px;margin:12px 0 0}.faq-section{background:#fbfaf8;max-width:100%;padding-left:max(24px,calc((100% - 900px)/2));padding-right:max(24px,calc((100% - 900px)/2))}.faq-section>h2{margin-bottom:42px}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-size:16px;display:flex;justify-content:space-between;align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"＋";font-size:22px;color:var(--clay)}.faq-list details[open] summary::after{content:"−"}.faq-list p{margin:14px 38px 0;color:var(--muted);font-size:14px}.access-section{display:grid;grid-template-columns:1fr 1fr;gap:10vw;max-width:1200px;margin:auto}.access-info dl{margin:0 0 30px}.access-info dl>div{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr}.access-info dt{font-size:12px;color:var(--muted)}.access-info dd{margin:0}.access-info dd a{font-family:"DM Serif Display";font-size:23px}.text-link{font-size:13px;color:var(--clay);border-bottom:1px solid currentColor;padding-bottom:2px}footer{padding:50px 24px;text-align:center;background:#473c37;color:#fff}footer img{width:130px;filter:brightness(0) invert(1);margin-bottom:14px}footer p{font-size:11px;margin:0;opacity:.75}.floating-reserve{display:none}
@media(max-width:760px){.site-header{height:68px;padding:0 18px;gap:14px}.brand img{width:108px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;gap:14px;box-shadow:0 12px 20px rgba(0,0,0,.08)}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;background:none;border:0;letter-spacing:.1em;font-size:11px}.header-book{display:none}.hero{height:calc(100svh - 68px);min-height:470px}.hero-copy{left:28px}.section{padding:75px 24px}.intro-text{margin-top:32px}.price-grid{grid-template-columns:1fr;margin-top:36px}.price-feature{padding:28px}.price-table-wrap{padding:6px 18px;overflow:auto}.price-table{min-width:600px}.reserve-section{display:block}.reserve-intro{margin-bottom:42px}.reservation-form{grid-template-columns:1fr;gap:18px}.field.full{grid-column:auto}.access-section{grid-template-columns:1fr;gap:38px}.floating-reserve{display:block;position:fixed;bottom:16px;right:16px;z-index:8;border-radius:50%;width:64px;height:64px;padding-top:19px;text-align:center;background:var(--clay);color:#fff;font-size:11px;box-shadow:0 4px 15px rgba(59,40,32,.25)} }
