@import url("common.css?v=20261013-2");

  html, body { overflow-x: hidden; }
  body { margin: 0; background: #ffffff; color: #111111; text-wrap: pretty; }
  a { color: #111111; text-decoration: underline; text-underline-offset: 3px; }
  a:hover { color: #555555; }
  :focus-visible { outline: 2px solid #111111; outline-offset: 2px; }
  .jph { font-family:  'Hiragino Mincho ProN', 'Yu Mincho', serif; font-weight: 400; }
  .jpb { font-family:  'Hiragino Mincho ProN', 'Yu Mincho', serif; }
  .jpb p, .jpb h1, .jpb h2, .jpb h3, .jpb label, .jpb li { line-break: strict; }
  .wrap { max-width: 960px; margin: 0 auto; padding: 0 clamp(20px,5vw,48px); }
  .mono-input { width: 100%; box-sizing: border-box; border: 1px solid #cfcfcf; background: #fff; padding: 14px 16px; font-size: 20.5px; font-family:  serif; color: #111; }
  .mono-input::placeholder { color: #9a9a9a; }
  .mono-input:focus { outline: 2px solid #111; outline-offset: 1px; border-color:#111; }
  .req-tag { display:inline-block; font-size:15.5px; letter-spacing:0.06em; padding:4px 10px; background:#9c1c1c; color:#fff; font-weight:600; margin-left:10px; vertical-align:3px; }
  .opt-tag { display:inline-block; font-size:15.5px; letter-spacing:0.06em; padding:4px 10px; background:#1c3d78; color:#fff; font-weight:600; margin-left:10px; vertical-align:3px; }
  .radio-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:12px 24px; }
  .radio-opt { display:flex; align-items:center; gap:9px; font-size:19.5px; white-space:nowrap; }
  .radio-opt input { accent-color:#111; width:18px; height:18px; }
  .radio-other { grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; min-width:0; }
  .radio-other .radio-opt { flex:0 0 auto; }
  .radio-other .other-input { flex:1 1 180px; width:auto; min-width:0; max-width:300px; padding:10px 12px; font-size:17px; }
  .other-input:disabled { background:#f5f5f5; color:#777; }
  .field-block { padding: 36px 0; border-top: 1px solid #e4e4e4; }
  .step-bar { display:flex; margin-top:44px; }
  .step-opt { position:relative; flex:1; min-width:0; text-align:center; padding:12px 20px; font-size:16.5px; letter-spacing:0.05em; color:#777; background:#fff; border:1px solid #111; }
  .step-opt + .step-opt { margin-left:-1px; }
  .step-opt.active { background:#111; color:#fff; z-index:2; }
  .step-opt .n { display:inline; font-weight:600; font-size:16.5px; margin-right:6px; }

* { box-sizing: border-box; }
[hidden] { display:none !important; }
body {font-family:"Hiragino Mincho ProN","Yu Mincho",serif; line-height:1.8;}
.form-main { padding:70px 0 100px; }
.form-brand {text-align:center;}
.form-brand a {display:inline-block;max-width:100%;}
.form-brand img {display:block;width:470px;max-width:100%;height:auto;}
.form-title {text-align:center;margin:56px 0 0;font-size:34px;font-weight:400;}
.form-intro {text-align:center;margin:20px 0 0;font-size:19px;line-height:1.9;color:#555;}
.field-pair {display:grid;grid-template-columns:1fr 1fr;gap:40px;}
fieldset.field-block {margin:0;min-width:0;border:0;border-top:1px solid #e4e4e4;}
fieldset legend {float:left;width:100%;}
fieldset legend + * {clear:both;}
.field-label {font-size:23.5px;font-weight:400;margin:0 0 20px;}
.date-row {display:grid;grid-template-columns:100px 1fr 1fr;gap:14px;align-items:center;margin:24px 0;}
.date-row p {font-size:19px;}
.date-row label {min-width:0;}
.date-row .mono-input {display:block;margin-top:10px;min-width:0;}
.form-button {background:#111;color:#fff;border:1px solid #111;padding:18px 48px;font-size:20px;letter-spacing:.08em;font-family:inherit;cursor:pointer;}
.form-button:disabled {background:#777;border-color:#777;cursor:not-allowed;}
.form-button--back {background:#fff;color:#111;}
.form-actions {display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:40px;}
#form-confirm {padding-top:44px;}
#confirm-title {text-align:center;font-size:26px;font-weight:400;}
#confirm-values {margin:32px 0;}
#confirm-values > div {display:grid;grid-template-columns:1fr 2fr;padding:20px 0;border-bottom:1px solid #e4e4e4;gap:20px;}
#confirm-values dt,#confirm-values dd {margin:0;white-space:pre-wrap;overflow-wrap:anywhere;}
.form-send-status {text-align:center;}
.form-footer {padding:28px 16px;background:#e5e5e5;text-align:center;font-size:12px;}
.radio-opt input {flex-shrink:0;}
@media(max-width:767px) {
 .form-main {padding:36px 0 60px;}
 .form-brand img {width:330px;}
 .form-title {font-size:26px;margin-top:36px;}
 .form-intro {font-size:14px;text-align:left;}
 .step-bar {margin-top:30px;}
 .step-opt {padding:10px 6px;font-size:12px;}
 .step-opt .n {display:block;font-size:12px;margin:0;}
 .field-block {padding:25px 0;}
 .field-block > label,.field-block > legend,.field-block > p,.field-label {font-size:17px !important;}
 .field-block > p.jpb {font-size:14px !important;}
 .req-tag,.opt-tag {font-size:11px;padding:2px 7px;vertical-align:1px;}
 .mono-input {font-size:16px;padding:12px;}
 .radio-row {grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;}
 .radio-opt {font-size:14px;}
 .radio-other .other-input {font-size:16px;max-width:min(100%,300px);}
 .radio-other {gap:8px 12px;}
 .field-pair {gap:20px;}
 .date-row {grid-template-columns:1fr 1fr;gap:10px;}
 .date-row > p {grid-column:1/-1;margin:0;}
 .date-row label {font-size:13px;}
 .date-row .req-tag,.date-row .opt-tag {margin-left:5px;}
 .form-button {padding:14px 24px;font-size:16px;}
 #confirm-values > div {grid-template-columns:1fr;gap:8px;}
 #confirm-values dt {font-weight:bold;}
}

.form-trap { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.form-send-status { white-space:pre-line; overflow-wrap:anywhere; }
.form-send-status.is-error { color:#9c1c1c; }
#form-complete { padding-top:44px; text-align:center; overflow-wrap:anywhere; }
#complete-title { font-size:26px; font-weight:400; }
#form-complete .form-button { display:inline-block; text-decoration:none; }
#form-complete .form-button:hover { color:#fff; }

.field-block > .postal-status { margin:10px 0 0; font-size:13px !important; line-height:1.7; color:#555; }
.postal-address-choices { display:block; margin-top:12px; }

.field-block > .booking-start-note { margin:0 0 8px; font-size:14px !important; line-height:1.7; color:#9c1c1c; text-decoration:underline; text-underline-offset:2px; }
.field-block > .booking-note { margin:0 0 16px; font-size:14px !important; line-height:1.7; color:#555; }
.flatpickr-calendar { font-family:inherit; }
.flatpickr-day.flatpickr-disabled { color:#ccc; }
