:root{--primary:#1d3a30;--accent:#3f7a5e;--soft:#e8f0eb;--bg:#f7f8f6;--text:#1c2320;--muted:#566159;--border:#d9e0da;--danger:#a52b27;--warning:#795a1c;--radius:8px;font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.75;font-size:16px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5}a{color:var(--primary);text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5a9479;outline-offset:4px}button{border-radius:var(--radius)}[hidden]{display:none!important}.skip-link{opacity:0;pointer-events:none;position:fixed;top:-60px;left:16px;background:white;padding:10px;z-index:99}.skip-link:focus{top:10px;opacity:1;pointer-events:auto}.page-width{width:min(1160px,calc(100% - 64px));margin-inline:auto}.site-header{background:var(--primary);color:#fff}.header-inner{max-width:1280px;margin:auto;min-height:82px;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.brand strong{font-size:25px;letter-spacing:.07em}.brand span{font-size:13px;font-weight:600}.header-back{color:#e2ebe5;font-size:13px;white-space:nowrap;text-decoration:none}.page-intro{border-bottom:1px solid var(--border);background:#eff3ef;padding:47px 0 30px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--accent);font-weight:700;margin-bottom:10px}.page-intro h1{font-size:36px;letter-spacing:.03em;color:var(--primary)}.intro-copy{margin-top:15px;font-size:15px;color:var(--muted);line-height:1.9}.mobile-break{display:none}.service-facts{padding:0;list-style:none;display:flex;gap:24px;margin:23px 0 0;font-size:12px;font-weight:600;color:var(--primary)}.service-facts li:before{content:"✓";color:var(--accent);margin-right:7px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:56px;align-items:start;padding-block:38px 62px}.booking-main{min-width:0}.progress{list-style:none;display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:0;margin:0 0 30px;font-size:12px;color:var(--muted)}.progress li{padding:0 0 14px;border-bottom:3px solid transparent;margin-bottom:-1px}.progress li[aria-current=step]{color:var(--primary);font-weight:700;border-color:var(--accent)}.progress li.complete{color:var(--accent)}.stage-section h2{font-size:23px;color:var(--primary);margin-bottom:9px}.stage-lead{font-size:14px;color:var(--muted);margin-bottom:25px}.menu-group{margin-top:28px}.menu-group h3{font-size:13px;letter-spacing:.03em;margin-bottom:9px;color:var(--muted)}.menu-list{display:grid;gap:10px}.menu-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--border);border-radius:var(--radius);padding:21px 20px;background:white;cursor:pointer;transition:border-color .15s,background .15s}.menu-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f1f6f2}.menu-option input{appearance:none;width:18px;height:18px;padding:0;border:1px solid #98a89d;border-radius:50%;margin:5px 0 0;background:white;flex:none}.menu-option input:checked{border:5px solid var(--accent)}.menu-option input:focus-visible{outline-offset:5px}.menu-title{display:block;font-weight:700;color:var(--primary);font-size:16px;line-height:1.65}.menu-desc{display:block;color:var(--muted);font-size:12px;margin-top:7px;line-height:1.85}.menu-duration{display:block;font-size:12px;color:var(--primary);margin-top:7px}.menu-price{text-align:right;white-space:nowrap;padding-top:3px}.menu-price strong{font-size:19px;font-weight:700;letter-spacing:.01em}.menu-price small{display:block;font-size:10px;color:var(--muted)}.menu-includes{font-size:12px;color:var(--muted);margin-top:7px}.menu-note{margin-top:20px;font-size:12px;color:var(--muted)}.menu-note a{font-weight:600}.booking-summary{position:sticky;top:28px;border-top:3px solid var(--primary);background:white;padding:26px 24px 22px;box-shadow:0 2px 10px #14231c06}.booking-summary h2{font-size:19px;color:var(--primary);margin-bottom:20px}.booking-summary .muted{font-size:13px}.summary-name{font-weight:700;font-size:15px;color:var(--primary)}.summary-details{color:var(--muted);font-size:12px;margin-top:10px}.summary-details ul{padding-left:18px;margin:8px 0}.summary-date{border-top:1px solid var(--border);margin-top:20px;padding-top:16px;font-size:13px}.summary-total{border-top:1px solid var(--border);margin-top:23px;padding-top:19px;display:flex;flex-direction:column;gap:5px}.summary-total span{font-size:12px;color:var(--muted)}.summary-total strong{font-size:30px;color:var(--primary);line-height:1.4}.summary-total strong small{font-size:15px}.summary-footnote{font-size:11px;color:var(--muted);margin-top:10px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;text-align:center;text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--primary);background:var(--primary);color:white}.primary-button:hover:not(:disabled){background:#2c5546}.secondary-button{background:white;color:var(--primary);border-color:var(--border)}.text-button{background:none;border:0;color:var(--primary);padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-size:13px}.summary-action{width:100%;margin-top:20px}.actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px}.actions .primary-button{margin-left:auto}.notice,#global-message{border-left:3px solid var(--accent);padding:15px 18px;background:var(--soft);color:var(--primary);font-size:13px;margin-bottom:24px;border-radius:0 5px 5px 0}#global-message{background:#fbefec;border-color:var(--danger);color:#812622}.notice strong{display:block;margin-bottom:4px}.notice p+p{margin-top:8px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}.field.full{grid-column:1/-1}.field input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b9c5bc;border-radius:6px;background:white;color:var(--text);font-size:16px;font-weight:400}.field-label{display:flex;align-items:baseline;gap:8px}.required{font-size:10px;color:var(--danger);font-weight:500}.optional{font-size:10px;color:var(--muted);font-weight:400}.field-help{color:var(--muted);font-size:11px;font-weight:400}.form-section{border:0;padding:0;margin:29px 0 0}.form-section legend{font-size:16px;font-weight:700;color:var(--primary);margin-bottom:18px;padding:0}.check-row{display:flex;align-items:start;gap:10px;font-size:12px;margin-top:20px;color:var(--muted)}.check-row input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:var(--accent)}.otp-box{max-width:370px;margin:27px 0}.otp-box input{letter-spacing:.35em;font-size:24px}.verification-note{color:var(--primary);font-size:12px}.slot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 16px}.slot-toolbar span{font-size:12px;color:var(--muted)}.slot-day{margin:20px 0}.slot-day h3{font-size:14px;margin-bottom:10px}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slot-button{background:white;color:var(--primary);border:1px solid #b9c5bc;min-height:47px;padding:9px;font-size:14px}.slot-button[aria-pressed=true]{background:var(--primary);color:white;border-color:var(--primary)}.slot-group+.slot-group{margin-top:26px;padding-top:23px;border-top:1px solid var(--border)}.slot-group-title{font-size:16px;margin-bottom:5px}.empty-state{padding:25px;border:1px solid var(--border);background:white;font-size:14px;color:var(--muted);border-radius:8px}.review-list{margin:24px 0 0;background:white;border-top:1px solid var(--border)}.review-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);font-size:13px;overflow-wrap:anywhere}.review-row dt{color:var(--muted)}.review-row dd{margin:0;color:var(--primary);font-weight:500}.review-row.total dd{font-size:22px;font-weight:700}.review-row.total{align-items:center}.terms-copy{font-size:12px;color:var(--muted);margin-top:20px}.terms-copy p+p{margin-top:9px}.status-panel{border-top:3px solid var(--accent);padding:27px;background:white}.status-kicker{font-weight:700;color:var(--accent);font-size:12px;margin-bottom:10px}.status-panel h2{font-size:24px}.status-panel p{font-size:14px;color:var(--muted);margin-top:13px}.status-panel .status-reference{font-family:monospace;font-size:12px;overflow-wrap:anywhere}.status-list{padding-left:20px;color:var(--muted);font-size:13px;line-height:2}.status-panel.warning{border-color:var(--warning)}.loading-line{height:5px;background:#dae6de;margin:30px 0;border-radius:4px;width:70%}.aftercare{border-top:1px solid var(--border);padding-block:40px 55px}.aftercare h2{font-size:20px;color:var(--primary);margin-bottom:18px}.aftercare-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;font-size:13px;color:var(--muted)}.aftercare details{border-top:1px solid var(--border);margin-top:28px;padding-top:20px;font-size:12px;color:var(--muted)}.aftercare summary{cursor:pointer;color:var(--primary);font-weight:600;padding:5px 0}.aftercare details p{margin-top:12px;max-width:950px}.site-footer{background:#e9eeea;padding:28px 0;color:var(--primary);font-size:12px}.site-footer .page-width{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.site-footer p{font-weight:600;margin-right:auto}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer small{font-size:10px}.mobile-summary{display:none}
@media(min-width:861px){.menu-actions{display:none}}@media(max-width:1050px){.booking-layout{gap:28px;grid-template-columns:minmax(0,1fr) 285px}.page-width{width:calc(100% - 48px)}.menu-option{padding:18px 15px;gap:11px}.menu-price strong{font-size:17px}}
@media(max-width:860px){.booking-layout{display:block;padding-block:25px 42px}.booking-summary{position:static;margin-top:35px}.booking-summary .summary-action{display:none}.page-intro h1{font-size:31px}.aftercare-grid{gap:24px}.mobile-summary:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border-top:1px solid var(--border);box-shadow:0 -3px 15px #14231c0a;padding:12px 24px calc(12px + env(safe-area-inset-bottom));gap:15px;align-items:center;justify-content:space-between}.mobile-summary div{min-width:0}.mobile-summary span{display:block;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}.mobile-summary strong{font-size:21px;color:var(--primary)}.mobile-summary button{border:0;background:var(--primary);color:white;min-height:44px;padding:11px 22px;font-weight:600;font-size:13px;white-space:nowrap}body.has-selection{padding-bottom:98px}.site-footer .page-width{gap:12px}}
@media(max-width:520px){.page-width{width:calc(100% - 36px)}.header-inner{padding:12px 18px;min-height:72px;gap:10px}.brand{display:block}.brand strong{font-size:22px;display:block;line-height:1.3}.brand span{font-size:9px;display:block}.header-back{font-size:11px}.page-intro{padding:31px 0 25px}.page-intro h1{font-size:27px;line-height:1.6;letter-spacing:.02em}.mobile-break{display:block}.intro-copy{font-size:13px}.service-facts{font-size:10px;gap:9px;flex-wrap:wrap;margin-top:18px}.service-facts li:before{margin-right:3px}.progress{font-size:10px;margin-bottom:26px}.progress li{padding-bottom:12px}.stage-section h2{font-size:21px}.stage-lead{font-size:13px}.menu-option{grid-template-columns:17px minmax(0,1fr);position:relative;padding:17px 15px;gap:9px 12px}.menu-option input{width:16px;height:16px}.menu-title{font-size:15px}.menu-desc{font-size:12px}.menu-price{grid-column:2;text-align:left;padding-top:2px;display:flex;gap:8px;align-items:baseline}.menu-price small{display:inline}.menu-price strong{font-size:21px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.slot-grid{grid-template-columns:repeat(3,1fr)}.review-row{grid-template-columns:1fr;gap:5px;padding:14px}.review-row dt{font-size:11px}.review-row.total{grid-template-columns:1fr 1fr}.review-row.total dd{text-align:right}.actions{gap:12px;flex-wrap:wrap}.actions .primary-button{padding-inline:20px}.aftercare h2{font-size:18px}.aftercare-grid{display:block;font-size:12px}.aftercare-grid p+p{margin-top:15px}.site-footer .page-width{display:block}.site-footer nav{margin:10px 0;font-size:11px;gap:16px}.mobile-summary{padding-inline:18px!important}.status-panel{padding:22px 18px}.status-panel h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep an optional FB choice next to the interview it belongs to. */
.feedback-options{margin:0 0 8px 32px;padding:14px 0 4px 16px;border-left:2px solid var(--border)}.feedback-options .form-section{margin:0}.feedback-options legend{font-size:13px;margin-bottom:12px}.feedback-options .menu-option{padding:14px}.feedback-options .menu-title{font-size:13px}.feedback-options .menu-price strong{font-size:17px}
@media(max-width:520px){.feedback-options{margin-left:20px;padding-left:12px}.feedback-options .menu-option{padding:13px 12px}}

/* Optional measurement choices retain equal visual weight and never block booking. */
.analytics-choice{padding-block:24px 32px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.analytics-choice h2{font-size:14px;color:var(--primary);margin-bottom:10px}
.analytics-choice p{max-width:850px}
.analytics-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 10px}
.analytics-actions .secondary-button{min-width:128px;min-height:44px;padding:9px 20px;font-size:12px}
.analytics-actions [aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.analytics-choice .analytics-note{font-size:11px;margin-top:6px}

.spot-price-table{width:100%;border-collapse:collapse;font-size:14px}.spot-price-table th,.spot-price-table td{text-align:left;border-bottom:1px solid #d6dfd9;padding:12px 8px;vertical-align:top}.spot-price-table th{background:#eef4ef}.spot-price-table td:last-child{min-width:9em}.spot-price-table th:nth-child(2){white-space:nowrap}
@media(max-width:520px){.spot-price-table{font-size:12px}.spot-price-table th,.spot-price-table td{padding:10px 4px}.spot-price-table td:last-child{min-width:7em}}

/* === 2026-10-20 SPOT台帳と同じ見た目（Mac風）に統一：社員の日時選択・利用条件・プライバシー・法人向け資料 === */
:root{--primary:#0f7a4f;--accent:#2b8f64;--soft:rgba(15,122,79,.11);--bg:#f3f8f1;--text:#10241b;--muted:#5d6f64;--border:#d5e4d3;--danger:#c84646;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}
body{background:radial-gradient(circle at top left,rgba(235,250,235,.95) 0%,rgba(235,250,235,0) 42%),radial-gradient(circle at top right,rgba(32,148,94,.18) 0%,rgba(32,148,94,0) 34%),linear-gradient(135deg,#f7fbf5 0%,#eaf4e8 46%,#fff 100%) fixed;color:var(--text)}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);color:var(--text);border-bottom:1px solid rgba(213,228,211,.8)}
.header-inner{min-height:60px;padding:10px 24px}.brand{color:var(--text)}.brand strong{font-size:20px;color:var(--text)}.brand span{color:var(--muted)}
.header-back{color:var(--muted);padding:7px 12px;border-radius:9px}.header-back:hover{background:#fff;color:var(--text)}
.page-intro{background:transparent;border-bottom:0}.page-intro h1{color:var(--text)}
.employee-main,.legal-main,.corporate-main{background:rgba(255,255,255,.92);border:1px solid rgba(213,228,211,.9);border-radius:18px;box-shadow:0 1px 2px rgba(10,55,36,.04),0 10px 30px rgba(10,55,36,.07);padding:28px 28px 32px}
.employee-main h1{color:var(--text)}
.menu-option{border-radius:var(--radius);border-color:rgba(213,228,211,.95);box-shadow:0 1px 2px rgba(10,55,36,.05),0 4px 14px rgba(10,55,36,.04)}
.menu-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 8px 20px rgba(15,122,79,.12);background:#f3faf4}
.booking-summary{border-radius:18px;border-top:0;border:1px solid rgba(213,228,211,.9);box-shadow:0 1px 2px rgba(10,55,36,.04),0 10px 30px rgba(10,55,36,.07)}
.primary-button,.secondary-button{border-radius:10px;min-height:46px}
.primary-button{background:linear-gradient(180deg,#16895a 0%,var(--primary) 100%);border:1px solid rgba(7,93,60,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(10,55,36,.12),0 6px 14px rgba(15,122,79,.18)}
.primary-button:hover:not(:disabled){background:linear-gradient(180deg,#13804f 0%,#075d3c 100%)}
.secondary-button{background:linear-gradient(180deg,#fff 0%,#f6f9f5 100%);color:var(--text);border:1px solid rgba(170,200,173,.9);box-shadow:0 1px 2px rgba(10,55,36,.06)}
.notice,#global-message{border-radius:12px;border:1px solid rgba(15,122,79,.18);border-left-width:1px;background:#eef8f1}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(15,122,79,.35)}
@media(max-width:640px){.employee-main,.legal-main,.corporate-main{padding:20px 16px;border-radius:16px;margin-inline:12px}}
.terms-content,.privacy-content,.corporate-content,main > article.page-width{background:rgba(255,255,255,.92);border:1px solid rgba(213,228,211,.9);border-radius:18px;box-shadow:0 1px 2px rgba(10,55,36,.04),0 10px 30px rgba(10,55,36,.07);padding:28px 32px 36px;margin-block:20px 40px}
@media(max-width:640px){.terms-content,.privacy-content,.corporate-content,main > article.page-width{padding:20px 16px;border-radius:16px}}
main.employee-main{padding:28px 28px 32px;margin:28px auto 64px}@media(max-width:640px){main.employee-main{padding:20px 16px;margin:16px 12px 48px}}
.employee-main h1{color:var(--text)}

/* 画面の切り替え時に見出しへ移すフォーカス（読み上げ用）は、枠を出さない。キーボードの操作部品の枠は残す。 */
[tabindex="-1"]:focus { outline: none; box-shadow: none; }
html { background: #f3f8f1; }
body { min-height: 100vh; }
