/* 見学・体験ページ専用。共通のヘッダー・フッターは ../style.css を使用 */
.trial-hero{position:relative;height:350px;margin-top:0;overflow:hidden;background:#171717;color:#fff;display:flex;align-items:flex-end}.trial-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.trial-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.23))}.trial-hero-copy{position:relative;z-index:1;padding-bottom:52px}.trial-hero-copy p{font-size:10px;letter-spacing:.25em;color:#e2a1a5;font-weight:700}.trial-hero-copy h1{font:400 clamp(38px,5vw,62px)/1.4 'Yu Mincho',serif;margin:8px 0}.trial-hero-copy span{font-size:13px;color:#eee}.trial-narrow{max-width:850px}.trial-intro{text-align:center;padding:72px 0 78px}.trial-kicker{font-size:11px;color:var(--red);font-weight:700;letter-spacing:.12em}.trial-intro h2,.trial-booking h2,.trial-form-section h2,.trial-info h2{font:400 clamp(26px,3.5vw,38px)/1.5 'Yu Mincho',serif;margin:12px 0 22px}.trial-intro>p:last-child{font-size:14px;color:#555;line-height:2.15}.trial-booking{background:var(--offwhite);padding:75px 0 90px}.trial-step{color:var(--red);font-weight:800;font-size:12px;letter-spacing:.08em;margin:0}.trial-step span{margin-left:12px;font-size:10px;letter-spacing:.2em}.trial-note{font-size:13px;color:#555;line-height:1.9;margin:0 0 26px}.calendar-panel{background:#fff;padding:30px 34px;border:1px solid #e4e0da}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-header h3{margin:0;font:400 23px/1.4 'Yu Mincho',serif}.calendar-header button{border:1px solid #ddd;background:#fff;width:40px;height:40px;cursor:pointer;font-size:28px;line-height:1}.calendar-header button:disabled{opacity:.3;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:8px;text-align:center;font-size:12px;color:#777}.calendar-weekdays span:first-child{color:#b74c50}.calendar-weekdays span:last-child{color:#4c72a0}.calendar-day{position:relative;min-height:66px;border:1px solid #eee;background:#fafafa;color:#bbb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:14px}.calendar-day.available{background:#fff;border-color:#d4ccc5;color:#222;cursor:pointer}.calendar-day.available:hover,.calendar-day.available:focus-visible{border-color:var(--red);outline:1px solid var(--red)}.calendar-day.selected{background:var(--red);border-color:var(--red);color:#fff}.calendar-day .circle{font-size:15px;color:var(--red);font-weight:800;line-height:1.1}.calendar-day.selected .circle{color:#fff}.calendar-day.empty{border:0;background:transparent}.calendar-legend{font-size:11px;color:#666;margin:20px 0 0}.legend-dot{color:var(--red);font-weight:800}.legend-muted{color:#aaa;margin-left:15px}.calendar-message{font-size:12px;color:#666;margin:10px 0 0}.date-detail{margin-top:20px;background:#fff;border-left:4px solid var(--red);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.date-detail[hidden],.review-panel[hidden],.form-error[hidden]{display:none}.date-detail-label{margin:0;color:#888;font-size:11px}.date-detail h3{margin:4px 0;font:400 22px/1.4 'Yu Mincho',serif}.date-detail p:last-child{margin:4px 0 0;font-size:12px;color:#666}.trial-primary{border:0;background:var(--red);color:#fff;padding:16px 22px;min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;font-weight:700;cursor:pointer}.trial-primary:hover{background:var(--red-light)}.trial-primary:disabled{opacity:.45;cursor:not-allowed}.trial-form-section{padding:80px 0 95px;background:#fff}.field{margin:25px 0}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}.required,.optional{font-size:10px;font-weight:500;margin-left:8px;padding:3px 8px}.required{background:#a91f27;color:#fff}.optional{background:#f0eeea;color:#666}.field input,.field textarea{width:100%;border:1px solid #d7d4d0;border-radius:0;background:#fff;color:#222;padding:14px 16px;font:inherit;font-size:14px;line-height:1.6}.field input:focus,.field textarea:focus{outline:2px solid #ad4449;outline-offset:1px}.field input[readonly]{background:#f5f3ef;cursor:default}.field-help{font-size:11px;color:#777;margin:7px 0 0}.form-error{color:#a91f27;background:#fff4f4;padding:12px 15px;font-size:13px}.trial-review-button{margin-top:15px;width:100%;max-width:340px}.review-panel{border:1px solid #ddd;background:#faf9f7;padding:28px;margin-top:35px}.review-panel h3{font-size:24px;margin:0 0 8px}.review-panel>p{font-size:13px}.review-panel dl{margin:25px 0}.review-panel dl>div{padding:14px 0;border-bottom:1px solid #ddd;display:grid;grid-template-columns:170px 1fr;gap:15px}.review-panel dt{font-size:12px;color:#666}.review-panel dd{margin:0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.trial-secondary{background:#fff;border:1px solid #aaa;color:#333;padding:14px 18px;cursor:pointer;font-size:13px}.demo-warning{color:#a91f27;font-size:12px!important;margin-top:20px}.trial-info{background:var(--offwhite);padding:65px 0 75px}.trial-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.trial-info-grid h3{font-size:19px;margin:0 0 12px}.trial-info-grid p,.trial-small-note{font-size:13px;color:#555;line-height:2}.trial-small-note{margin-top:32px}.site-header{background:rgba(10,10,10,.97)}
@media(max-width:720px){.trial-hero{height:260px}.trial-hero-copy{padding-bottom:28px}.trial-hero-copy h1{font-size:38px}.trial-intro{padding:48px 0 55px}.trial-intro>p:last-child{font-size:13px}.trial-booking,.trial-form-section{padding:58px 0 70px}.calendar-panel{padding:18px 12px}.calendar-grid{gap:3px}.calendar-day{min-height:51px;font-size:13px}.calendar-header h3{font-size:20px}.date-detail{display:block;padding:22px}.date-detail .trial-primary{margin-top:18px;width:100%}.trial-review-button{max-width:none}.review-panel{padding:18px}.review-panel dl>div{grid-template-columns:1fr;gap:5px}.trial-info-grid{grid-template-columns:1fr;gap:15px}.trial-info{padding:50px 0}.review-actions>*{width:100%}}
/* スマホのみHero画像の表示位置を調整 */
@media (max-width: 720px) {
  .trial-hero-image {
    object-position: center 25%;
  }
}
.spam-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#complete-panel[hidden]{display:none}
