:root{--color-bg:#f8f5f1;--color-card:#fff;--color-main:#2f2a28;--color-text:#443d39;--color-muted:#766e68;--color-line:rgba(47,42,40,.14);--color-accent:#9a7b61;--color-accent-soft:#efe6dc;--color-accent-strong:#7d604d;--shadow-soft:0 18px 48px rgba(47,42,40,.08);--radius-lg:28px;--radius-md:18px;--radius-pill:999px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:"BIZ UDPGothic","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;line-height:1.8}button,input,select,textarea{font:inherit}.trial-page{min-height:100vh;padding:32px 20px 80px}.trial-container{max-width:1040px;margin:0 auto}.trial-header{padding:32px 0 36px;text-align:center}.trial-logo{margin:0 0 20px;color:var(--color-accent);font-size:13px;font-weight:700;letter-spacing:.18em}.trial-title{margin:0;color:var(--color-main);font-size:clamp(28px,4.4vw,44px);line-height:1.4;letter-spacing:.04em}.trial-lead{max-width:720px;margin:22px auto 0;color:var(--color-muted);font-size:15px;text-align:left}.trial-card{margin-top:28px;padding:36px;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.slider-shell{overflow:hidden}.slider-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 28px;padding:0;list-style:none}.slider-progress li{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--color-line);border-radius:16px;background:#faf8f5;color:var(--color-muted);transition:.2s}.slider-progress li span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--color-line);font-size:11px;font-weight:700}.slider-progress li strong{font-size:14px}.slider-progress li.is-active{border-color:rgba(154,123,97,.45);background:#fff;color:var(--color-accent-strong)}.slider-progress li.is-active span{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.slider-progress li.is-done{border-color:rgba(125,96,77,.24);background:#f7f2ed;color:var(--color-accent-strong)}.slider-progress li.is-done span{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:#fff}.slider-viewport{overflow:hidden}.slider-track{display:block}.slider-panel{display:none;width:100%}.slider-panel.is-active{display:block}.section-head{margin-bottom:24px}.section-head-compact{margin:28px 0 18px}.section-label{margin:0 0 8px;color:var(--color-accent);font-size:12px;font-weight:700;letter-spacing:.16em}.section-title{margin:0;color:var(--color-main);font-size:clamp(22px,3vw,30px);line-height:1.45;letter-spacing:.04em}.section-title-small{font-size:clamp(18px,2.4vw,24px)}.section-text{margin:12px 0 0;color:var(--color-muted);font-size:14px}.calendar-stack{display:grid;gap:18px}.calendar-month{padding:20px;border:1px solid var(--color-line);border-radius:22px;background:#fff}.calendar-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-month-title{margin:0;color:var(--color-main);font-size:20px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:var(--color-muted);font-size:12px;font-weight:700;text-align:center}.calendar-cell,.calendar-date{min-height:84px;border-radius:16px}.calendar-cell{border:1px solid transparent;background:transparent}.calendar-cell-inactive{display:flex;align-items:flex-start;justify-content:flex-end;padding:12px;border-color:rgba(47,42,40,.08);background:#f7f4ef;color:#b0a59d}.calendar-cell-empty{background:transparent}.date-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px;padding:10px;border:1px solid var(--color-line);background:#fff;color:var(--color-text);text-align:left;cursor:pointer;transition:.2s;overflow:hidden}.date-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(47,42,40,.07)}.date-card.is-active{border-color:rgba(154,123,97,.85);background:linear-gradient(180deg,#fff 0%,#fbf7f2 100%);box-shadow:0 14px 30px rgba(154,123,97,.14)}.calendar-date-day{font-size:22px;font-weight:700;color:var(--color-main);line-height:1}.slot-panel{margin-top:26px;padding-top:26px;border-top:1px solid var(--color-line)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.menu-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-card{position:relative;display:block;min-height:210px;padding:24px 20px;border:1px solid var(--color-line);border-radius:22px;background:#fff;cursor:pointer;transition:.2s}.menu-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(47,42,40,.08)}.menu-card.is-active{border-color:rgba(154,123,97,.8);background:linear-gradient(180deg,#fff 0%,#fbf7f2 100%);box-shadow:0 16px 36px rgba(154,123,97,.16)}.menu-card input,.slot-card input{position:absolute;opacity:0;pointer-events:none}.menu-card-compact{min-height:auto;padding:18px}.menu-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font-size:12px;font-weight:700}.menu-title{margin:18px 0 0;color:var(--color-main);font-size:18px;font-weight:700}.slot-list{display:grid;gap:12px}.slot-card{position:relative;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--color-line);border-radius:18px;background:#fff;cursor:pointer;transition:.2s}.slot-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(47,42,40,.07)}.slot-card.is-active{border-color:rgba(154,123,97,.85);box-shadow:0 14px 30px rgba(154,123,97,.14)}.slot-card.is-full{cursor:not-allowed;opacity:.58}.slot-date{display:block;color:var(--color-main);font-size:17px;font-weight:700;line-height:1.6}.slot-meta{display:block;margin-top:4px;color:var(--color-muted);font-size:13px}.slot-status{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:86px;min-height:34px;padding:4px 12px;border-radius:var(--radius-pill);background:#f3eee8;color:var(--color-accent);font-size:13px;font-weight:700;white-space:nowrap}.slot-card.is-full .slot-status{background:#eee;color:#777}.empty-message{display:none;padding:22px;border-radius:18px;background:#faf8f5;color:var(--color-muted);text-align:center;font-size:14px}.empty-message:not([hidden]){display:block}.selected-summary-card{margin-bottom:24px;padding:18px 20px;border:1px solid rgba(154,123,97,.2);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#faf6f1 100%)}.selected-summary-label{margin:0;color:var(--color-accent);font-size:12px;font-weight:700;letter-spacing:.1em}.selected-summary-main{margin:8px 0 0;color:var(--color-main);font-size:20px;font-weight:700;line-height:1.5}.selected-summary-sub{margin:6px 0 0;color:var(--color-muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.is-full{grid-column:1/-1}.form-label{color:var(--color-main);font-size:14px;font-weight:700}.required,.optional{display:inline-flex;margin-left:6px;padding:1px 7px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;vertical-align:middle}.required{background:var(--color-main);color:#fff}.optional{background:#e8e3de;color:var(--color-muted)}.form-input,.form-select,.form-textarea{width:100%;border:1px solid rgba(47,42,40,.18);border-radius:14px;background:#fff;color:var(--color-text);font-size:15px;outline:none}.form-input,.form-select{min-height:52px;padding:12px 14px}.form-textarea{min-height:120px;padding:14px;resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px rgba(154,123,97,.12)}.notice-box{padding:22px;border-radius:20px;background:#faf8f5;border:1px solid rgba(47,42,40,.1)}.notice-box+.notice-box{margin-top:18px}.notice-title{margin:0 0 12px;color:var(--color-main);font-size:16px;font-weight:700}.notice-list{margin:0;padding-left:1.4em;color:var(--color-muted);font-size:14px}.notice-list li+li{margin-top:6px}.medical-check-item{padding:18px;border:1px solid rgba(47,42,40,.12);border-radius:16px;background:#fff;gap:6px}.medical-check-input{width:20px;height:20px;margin:0 10px 0 0;vertical-align:middle;accent-color:var(--color-main)}.medical-check-note{margin:0 0 0 30px}.agree-field{display:flex;align-items:flex-start;gap:10px;margin-top:18px;color:var(--color-main);font-size:14px;font-weight:700;cursor:pointer}.agree-field input{width:20px;height:20px;margin-top:4px;accent-color:var(--color-main)}.slider-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--color-line)}.step-summary-text{color:var(--color-muted);font-size:13px}.slider-button{min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:700;cursor:pointer;transition:.2s}.slider-button-primary{background:var(--color-main);color:#fff;box-shadow:0 14px 30px rgba(47,42,40,.18)}.slider-button-primary:hover:not(:disabled){transform:translateY(-1px)}.slider-button-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.slider-button-secondary{border-color:var(--color-line);background:#fff;color:var(--color-main)}.back-link{display:inline-flex;margin-top:28px;color:var(--color-muted);font-size:14px;text-decoration:none}[hidden]{display:none!important}.menu-card[hidden],.slot-card[hidden]{display:none!important}.error-box,.info-box{padding:16px 18px;border-radius:18px}.error-box{background:#fff0f0;color:#b3261e}.info-box{background:#f3eee8;color:#5c4c3e}.error-list{margin:18px 0;padding-left:1.4em;color:#b3261e}.error-list li+li{margin-top:6px}@media(max-width:820px){.trial-card{padding:28px 22px}.slider-progress,.menu-grid,.form-grid{grid-template-columns:1fr}.calendar-weekdays,.calendar-grid{gap:6px}.calendar-month{padding:16px}.slot-card{align-items:flex-start;flex-direction:column}.slot-status{align-self:flex-start}.slider-actions{flex-direction:column;align-items:stretch}.step-summary-text{text-align:center}.slider-button{width:100%}}@media(max-width:520px){.trial-page{padding:20px 14px 60px}.trial-header{padding:22px 0 26px}.trial-card{padding:24px 18px;border-radius:24px}.calendar-month{padding:14px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-month-title{font-size:18px}.calendar-weekdays span{font-size:11px}.calendar-date-day{font-size:17px}.calendar-cell,.calendar-date{min-height:auto;aspect-ratio:1/1;border-radius:14px}.calendar-cell-inactive{padding:8px}.date-card{align-items:center;justify-content:center;padding:8px;text-align:center}.medical-check-note{margin-left:0}}
