:root{--ink:#5a3024;--muted:#70584d;--bg:#fffaf5;--line:#e7dcd3;--yellow:#ffb800;--orange:#ff6300;--teal:#26837b;--accent:#66774a;--soft:#f0f3e9}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.85 'Zen Maru Gothic','Yu Gothic',Meiryo,sans-serif}a{color:var(--ink);text-underline-offset:4px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #174f82;outline-offset:4px}.wrap{width:min(920px,calc(100% - 40px));margin:auto}.main{padding:36px 0 52px}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px max(20px,calc((100vw - 1040px)/2));border-bottom:1px solid var(--line);background:#fff}.booking-header a{text-decoration:none;color:var(--ink);white-space:nowrap}.booking-header strong{font-size:24px}.booking-header>span{font-size:14px;color:var(--muted)}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(26px,4vw,36px);line-height:1.55;margin:12px 0 18px}h2{font-size:23px;line-height:1.6;margin:0 0 14px}p{margin:10px 0}.eyebrow,.service-kicker{font-weight:700;color:var(--muted);font-size:14px}.booking-intro{text-align:center;margin:0 auto 30px;max-width:680px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-option{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:box-shadow .15s,border-color .15s}.service-option:hover{box-shadow:0 6px 24px #593d3212;border-color:var(--accent)}.workshop-option{--accent:#A63D65;border-top:6px solid var(--yellow)}.yuikaze-option{--accent:var(--teal);border-top:6px solid var(--teal)}.facility-names{display:flex;flex-wrap:wrap;gap:18px;font-size:19px;font-weight:700;margin:14px 0}.facility-names small{display:block;font-size:13px;color:var(--muted);font-weight:400}.harukaze-name{color:#876000}.fuuka-name{color:#a64d12}.yuikaze-name{color:#176b65}.choice-button,.button,.primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:13px 20px;border:0;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;line-height:1.6;text-align:center}.choice-button{margin-top:auto}.service-option>p:last-of-type{margin-bottom:24px}.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.booking-note{padding:18px 22px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin:24px 0}.contact-help{text-align:center;margin-top:36px}.contact-help h2{font-size:20px}.booking-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px;padding:26px 20px;border-top:1px solid var(--line);font-size:14px}.mobile-only{display:none}
.hero{padding:30px 0;background:var(--soft);border-bottom:1px solid var(--line)}.hero .wrap{max-width:800px}.hero h1 span{display:inline-block;font-size:18px}.hero h2{font-size:22px}.form-nav{margin:0 0 24px}.form-nav a{font-weight:700}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.grid>*{min-width:0}label{display:block;margin:0 0 22px;font-weight:700}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;max-width:100%;min-height:50px;margin-top:8px;border:1px solid #bcaea4;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);font-size:16px;font-weight:400}textarea{resize:vertical}input[type=radio],input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}fieldset{min-width:0;border:0;padding:0;margin:0 0 26px}legend{font-weight:700;margin-bottom:12px}em{display:inline-block;background:#f9e7e2;color:#9e3d26;border-radius:4px;padding:0 6px;font-size:12px;font-style:normal;vertical-align:middle;margin-left:5px}.choices{display:flex;flex-wrap:wrap;gap:10px}.choices label{display:flex;align-items:center;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;margin:0;background:#fff;cursor:pointer}.choices label:has(input:checked){background:var(--soft);border-color:var(--accent)}.choices.vertical{display:grid;grid-template-columns:1fr}.choices.vertical label:nth-child(1){border-left:5px solid var(--yellow)}.choices.vertical label:nth-child(2){border-left:5px solid var(--orange)}.help,small{font-size:14px;color:var(--muted);font-weight:400}.alert{padding:20px;border:2px solid #b34730;background:#fff4ef;border-radius:12px;margin-bottom:24px}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}.card>h2,.card>section>h2{margin:26px 0 18px;padding-bottom:10px;border-bottom:2px solid var(--line);font-size:21px}.card>h2:first-of-type{margin-top:0}.card>.primary{width:100%;margin-top:12px}.privacy-choice{display:flex;align-items:flex-start;gap:10px;font-weight:400}.privacy-choice input{margin-top:6px}.date-choice{border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:18px}.date-choice legend{padding:0 8px}.date-choice label{margin-bottom:0}.booking-info p{margin:6px 0}.yuikaze-booking{--accent:#26837b;--soft:#edf7f5}.workshop-booking{--accent:#A63D65;--soft:#fff8dc}.thanks{text-align:center;max-width:720px;margin:24px auto}[hidden]{display:none!important}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.main{padding-top:24px}.booking-header{align-items:flex-start;flex-direction:column;gap:2px;padding:12px 16px}.booking-header strong{font-size:22px}.booking-header>span{font-size:12px}.mobile-only{display:block}.service-options,.grid{grid-template-columns:1fr}.service-options{gap:18px}.service-option,.card{padding:20px}.service-kicker{font-size:13px}.facility-names{font-size:18px}.choice-button{width:100%}.hero{padding:24px 0}.hero h1{font-size:26px}.hero p{font-size:15px}.actions{flex-direction:column}.actions .button{width:100%}.date-choice{padding:14px}.date-choice label+label{margin-top:18px}.choices label{min-height:52px}.booking-note{padding:16px;font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Match the official site's semantic action palette; layout and content unchanged. */
.workshop-option:hover .choice-button,.workshop-booking .primary:hover{background:#913353}
.workshop-option:active .choice-button,.workshop-booking .primary:active{background:#7C2946}
.yuikaze-option:hover .choice-button,.yuikaze-booking .primary:hover{background:#1C746D}
.yuikaze-option:active .choice-button,.yuikaze-booking .primary:active{background:#16665F}
.secondary{color:#215f44;border-color:#48745f}
.secondary:hover{background:#f0faf4}
.secondary:active{background:#e2f2e8}
/* Official LINE is a contact action, separate from booking and interview actions. */
a.primary[href^="https://lin.ee/"],a.button[href^="https://lin.ee/"]{background:#66774a;color:#fff}
@media(forced-colors:active){.choice-button,.button,.primary{border:1px solid ButtonText}:focus-visible{outline-color:Highlight}}
