@import "https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--navy:#0b2c4d;--ink:#1e2a35;--gold:#c8a96a;--gold-deep:#8a6d34;--gold-text:#7a5f2c;--bg:#f4f7f9;--cream:#fdfaf5;--beige:#f3ece1;--pale-blue:#e6eef4;--line-warm:#ece4d8;--line-cool:#e2e8ee;--body:#3e4c59;--muted:#5c6b7a;--muted-pale:#8a94a0;--danger:#a3342c;--heading-font:"Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--body-font:"Noto Sans JP", "Zen Kaku Gothic New", "Yu Gothic", system-ui, sans-serif;--gutter:clamp(20px, 6vw, 140px)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--heading-font);-webkit-font-smoothing:antialiased;margin:0}p{margin:0}a{color:var(--navy)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:1160px;margin:0 auto}.site-header{background:var(--cream);border-bottom:1px solid var(--line-warm);padding:20px var(--gutter)}.site-header .container{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.brand img{object-fit:cover;border:1px solid var(--line-warm);background:#fff;border-radius:50%;flex:none;width:40px;height:40px}.brand span{font:700 clamp(15px, 2.2vw, 18px)/1.4 var(--heading-font);color:var(--navy)}.header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;min-width:0;display:flex}.header-back{font:500 15px/1 var(--heading-font);color:var(--ink);flex:none;text-decoration:none}.header-account{align-items:center;gap:12px;min-width:0;display:flex}.header-account-name{font:400 13px/1.4 var(--body-font);color:var(--body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-logout{border:none;border-bottom:1px solid var(--gold);font:500 14px/1 var(--heading-font);color:var(--navy);cursor:pointer;background:0 0;flex:none;padding:0 0 3px}@media (width<=640px){.header-account-name{display:none}}main{padding:clamp(32px, 5vw, 56px) var(--gutter) clamp(56px, 8vw, 88px)}.btn{text-align:center;font:700 17px/1.4 var(--heading-font);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn--primary{background:var(--gold);color:var(--ink);padding:19px 24px;box-shadow:0 6px 18px #c8a96a59}.btn--primary:hover:not(:disabled){transform:translateY(-1px)}.btn--outline{color:var(--navy);border:1px solid var(--line-cool);background:#fff;padding:17px 24px}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.text-link{border:none;border-bottom:1px solid var(--gold);font:500 14px/1.6 var(--heading-font);color:var(--navy);cursor:pointer;background:0 0;align-self:flex-start;padding:0 0 3px}.book-notice{font:400 15px/1.85 var(--body-font);border-radius:16px;margin-bottom:28px;padding:18px 22px}.book-notice--sandbox{background:var(--beige);border:1px solid var(--gold);color:var(--ink)}.book-notice--error{color:var(--danger);background:#fdf3f2;border:1px solid #e6c6c2}.book-notice--warn{border:1px solid var(--line-cool);color:var(--body);background:#fff}.book-notices:focus{outline:none}.book-notices{scroll-margin-top:24px}.book-steps{flex-wrap:wrap;align-items:center;gap:20px;margin:0 0 clamp(28px,4vw,44px);padding:0;list-style:none;display:flex}.book-step{opacity:.5;align-items:center;gap:12px;display:flex}.book-step.is-current,.book-step.is-done{opacity:1}.book-step:not(:last-child):after{content:"";background:var(--line-cool);width:56px;height:1px;margin-left:8px}.book-step-no{width:30px;height:30px;color:var(--muted-pale);font:700 14px/1 var(--heading-font);background:#eef2f5;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.book-step.is-current .book-step-no,.book-step.is-done .book-step-no{background:var(--gold);color:var(--ink)}.book-step-label{font:500 16px/1 var(--heading-font);color:var(--muted)}.book-step.is-current .book-step-label{color:var(--navy);font-weight:700}.book-title{font:700 clamp(24px, 3.2vw, 30px)/1.6 var(--heading-font);color:var(--navy);margin:0 0 clamp(24px,3vw,40px)}.book-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.book-layout--reverse{grid-template-columns:340px minmax(0,1fr)}.book-main{flex-direction:column;gap:28px;display:flex}.book-narrow{max-width:720px}.book-panel{background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:0 2px 10px #0b2c4d0d}.book-panel-title{font:700 21px/1.6 var(--heading-font);color:var(--navy);margin:0 0 6px}.book-side{background:var(--cream);border:1px solid var(--line-warm);border-radius:24px;flex-direction:column;gap:20px;padding:30px 28px;display:flex}.book-side-label{font:700 12px/1 var(--heading-font);color:var(--gold-text);letter-spacing:.1em;margin-bottom:10px}.book-side-plan{font:700 18px/1.7 var(--heading-font);color:var(--navy)}.book-side-title{font:700 24px/1.6 var(--heading-font);color:var(--navy);margin:0}.book-side-text{font:400 16px/1.9 var(--body-font);color:var(--body)}.book-side-price{border-top:1px solid var(--line-warm);border-bottom:1px solid var(--line-warm);flex-wrap:wrap;align-items:baseline;gap:10px;padding:18px 0;display:flex}.book-side-price .amount{font:700 30px/1.2 var(--heading-font);color:var(--navy)}.book-side-price .list{font:400 14px/1 var(--body-font);color:var(--muted-pale)}.book-side-date{font:700 20px/1.6 var(--heading-font);color:var(--navy)}.book-side-date--large{font-size:28px;line-height:1.5}.book-muted{font:400 12px/1.8 var(--body-font);color:var(--muted-pale);flex-basis:100%}.book-form{flex-direction:column;gap:12px;display:flex}.book-input,.book-textarea{border:1px solid var(--line-cool);width:100%;font:400 15px/1.9 var(--body-font);color:var(--ink);background:#fff;border-radius:14px;padding:16px 18px}.book-input:focus,.book-textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.book-figure{background:var(--pale-blue);border-radius:50%;width:64px;height:64px;position:relative;overflow:hidden}.book-figure span{background:var(--beige);border-radius:50%;width:30px;height:30px;position:absolute;top:24px;left:22px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.cal-month{font:700 21px/1 var(--heading-font);color:var(--navy)}.cal-nav{border:1px solid var(--line-cool);width:40px;height:40px;color:var(--navy);font:400 15px/1 var(--body-font);cursor:pointer;background:#fff;border-radius:12px}.cal-nav:disabled{color:var(--muted-pale);cursor:not-allowed}.cal-weekdays,.cal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.cal-weekdays{text-align:center;font:500 13px/1 var(--heading-font);color:var(--muted-pale);margin-bottom:10px}.cal-weekdays span{padding:6px 0}.cal-cell{min-height:74px;font-family:var(--heading-font);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:0;display:flex}.cal-cell.is-blank{visibility:hidden}.cal-day{font:500 17px/1 var(--heading-font)}.cal-tag{font:400 10px/1 var(--body-font)}.cal-cell.is-open{border:1.5px solid var(--gold);color:var(--navy);cursor:pointer;background:#fff}.cal-cell.is-open:hover{background:var(--cream)}.cal-cell.is-selected{background:var(--gold);color:var(--ink);cursor:pointer;box-shadow:0 4px 14px #c8a96a66}.cal-cell.is-full{color:#a8b2bc;background:#f1f4f6;border:1px solid #e6ebef}.cal-cell.is-closed{color:#c3cbd2;background:#f7f9fa}.cal-cell.is-mine{border:1.5px solid var(--navy);color:var(--navy);cursor:pointer;background:#eaf1f8}.cal-cell.is-mine .cal-tag{font-weight:700}.cal-cell.is-mine:hover{background:#dfeaf4}.cal-legend{border-top:1px solid var(--line-cool);font:400 13px/1 var(--body-font);color:var(--body);flex-wrap:wrap;align-items:center;gap:28px;margin-top:28px;padding-top:22px;display:flex}.cal-legend span{align-items:center;gap:10px;display:flex}.swatch{border-radius:7px;width:20px;height:20px;display:block}.swatch--open{border:1.5px solid var(--gold);background:#fff}.swatch--selected{background:var(--gold)}.swatch--full{background:#f1f4f6;border:1px solid #e6ebef}.swatch--mine{border:1.5px solid var(--navy);background:#eaf1f8}.slot-list{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;margin-top:24px;display:grid}.slot{font-family:var(--heading-font);background:0 0;border:none;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.slot-time{font:700 19px/1 var(--heading-font)}.slot-state{font:400 14px/1 var(--body-font)}.slot.is-open{border:1.5px solid var(--gold);color:var(--navy);cursor:pointer;background:#fff}.slot.is-open:hover{background:var(--cream)}.slot.is-selected{background:var(--gold);color:var(--ink);cursor:pointer;box-shadow:0 4px 14px #c8a96a66}.slot.is-full{color:#a8b2bc;background:#f1f4f6;border:1px solid #e6ebef}.slot.is-mine{border:1.5px solid var(--navy);color:var(--navy);background:#eaf1f8}.slot.is-mine .slot-state{font-weight:700}.cal-cell.has-booking{border:1.5px solid var(--gold);color:var(--navy);cursor:pointer;background:#fff}.cal-cell.has-booking .cal-tag{color:var(--gold-text);font-weight:700}.cal-cell.no-booking{border:1px solid var(--line-cool);color:var(--navy);cursor:pointer;background:#fff}.cal-cell.has-booking:hover,.cal-cell.no-booking:hover{background:var(--cream)}.swatch--empty{border:1px solid var(--line-cool);background:#fff}.swatch--closed{background:#f7f9fa;border:1px solid #e6ebef}.coach-slot-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.coach-slot{border:1px solid var(--line-cool);background:#f7f9fa;border-radius:14px;padding:16px 20px}.coach-slot.is-booked{border:1.5px solid var(--gold);background:#fff}.coach-slot-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.coach-slot-time{font:700 18px/1 var(--heading-font);color:var(--navy)}.coach-slot-state{font:400 13px/1.4 var(--body-font);color:var(--muted-pale)}.coach-slot.is-booked .coach-slot-state{color:var(--gold-text);font-weight:700}.coach-slot dl{font:400 14px/1.6 var(--body-font);color:var(--body);grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:12px 0 0;display:grid}.coach-slot dt{color:var(--muted-pale)}.coach-slot dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.book-confirm{background:var(--cream);border:2px solid var(--gold);border-radius:24px;flex-direction:column;gap:22px;padding:clamp(22px,3vw,32px);display:flex;box-shadow:0 6px 22px #c8a96a29}.book-confirm h3{font:700 19px/1.6 var(--heading-font);color:var(--navy);margin:0}.confirm-list{grid-template-columns:140px minmax(0,1fr);gap:14px 24px;margin:0;display:grid}.confirm-list dt{font:500 14px/1.8 var(--heading-font);color:var(--gold-text)}.confirm-list dd{font:400 16px/1.8 var(--body-font);color:var(--ink);margin:0}.confirm-check{border:1px solid var(--line-warm);cursor:pointer;font:400 16px/1.7 var(--body-font);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:18px 20px;display:flex}.confirm-check input{width:20px;height:20px;accent-color:var(--gold);flex:none}.confirm-field{flex-direction:column;gap:10px;display:flex}.confirm-field label{font:500 15px/1.7 var(--heading-font);color:var(--navy)}.confirm-field .optional{font:400 13px/1 var(--body-font);color:var(--muted-pale);margin-left:8px}.my-apps{background:#fff;border-radius:24px;margin-top:clamp(40px,6vw,64px);padding:clamp(20px,3vw,32px);box-shadow:0 2px 10px #0b2c4d0d}.my-apps-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;margin:20px 0 0;padding:0;list-style:none;display:grid}.my-app{border:1px solid var(--line-cool);height:100%;color:var(--navy);background:#fff;border-radius:16px;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.my-app:hover{border-color:var(--gold);background:var(--cream)}.my-app:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.my-app-icon{background:var(--pale-blue);border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.my-app-icon img{object-fit:contain;width:40px;height:40px}.my-app-body{flex-direction:column;gap:4px;min-width:0;display:flex}.my-app-title{font:700 17px/1.5 var(--heading-font)}.my-app-desc{font:400 13px/1.7 var(--body-font);color:var(--muted)}.site-footer{padding:40px var(--gutter);background:var(--ink)}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.site-footer p{font:400 12px/1.6 var(--body-font);color:#6d7b88}.site-footer nav{flex-wrap:wrap;gap:24px;display:flex}.site-footer a{font:400 13px/1.6 var(--body-font);color:#c5cfd8;text-decoration:none}.site-footer a:hover{color:var(--gold)}@media (width<=900px){.book-layout,.book-layout--reverse{grid-template-columns:minmax(0,1fr)}.book-step:not(:last-child):after{width:20px}.confirm-list{grid-template-columns:minmax(0,1fr);gap:4px 0}.confirm-list dd{margin-bottom:12px}}
