.ori-reservation{--ink:#3a3733;--sub:#333;--line:#e3e8ea;--paper:#fff;--accent:#6ea3ae;--soft:#eaf2f4;max-width:760px;margin:auto;padding:0 18px 60px;color:var(--ink)}.ori-reservation .r-hero{text-align:center;padding:70px 24px 50px}.ori-reservation .r-hero .eyebrow{font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.35em;color:var(--accent);text-transform:uppercase;font-weight:500}.ori-reservation .r-hero h1{font-family:"Cormorant Garamond",serif;font-size:46px;font-weight:500;letter-spacing:.04em;margin-top:6px}.ori-reservation .r-hero .ja{font-size:13px;letter-spacing:.3em;color:var(--sub);margin-top:8px}.ori-reservation .r-hero p{font-size:13.5px;color:var(--sub);max-width:640px;margin:22px auto 0;line-height:2}.ori-reservation .wrap{max-width:760px;margin:0 auto;padding:0 24px 100px}.ori-reservation .alert{max-width:760px;margin:0 auto 24px;padding:18px 22px;border-radius:8px;font-size:13.5px;line-height:1.9}.ori-reservation .alert.ok{background:#e9f3ee;border:1px solid #b9dac8;color:#2c6b48}.ori-reservation .alert.ng{background:#fbece9;border:1px solid #e6b9b0;color:#9c4030}.ori-reservation .fsec{margin-top:50px}.ori-reservation .fsec-head{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--accent);padding-bottom:12px;margin-bottom:8px}.ori-reservation .fsec-head .no{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--accent);font-weight:500}.ori-reservation .fsec-head h2{font-family:"Noto Serif JP",serif;font-weight:500;font-size:19px;letter-spacing:.06em}.ori-reservation .fsec-note{font-size:12.5px;color:var(--sub);line-height:1.9;margin:14px 0 6px}.ori-reservation .field{padding:20px 2px;border-bottom:1px solid var(--line)}.ori-reservation .field>label.lbl{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;margin-bottom:12px}.ori-reservation .req{font-size:10px;letter-spacing:.08em;color:#fff;background:var(--accent);border-radius:3px;padding:2px 7px;font-weight:400}.ori-reservation .opt{font-size:10px;letter-spacing:.08em;color:var(--sub);border:1px solid var(--line);border-radius:3px;padding:2px 7px}.ori-reservation input[type=text],.ori-reservation input[type=tel],.ori-reservation input[type=email],.ori-reservation input[type=date],.ori-reservation input[type=datetime-local],.ori-reservation textarea,.ori-reservation select{
  width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:6px;padding:13px 14px;transition:.2s}.ori-reservation input:focus,.ori-reservation textarea:focus,.ori-reservation select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,163,174,.15)}.ori-reservation textarea{resize:vertical;min-height:110px;line-height:1.8}.ori-reservation .datetime-wrap{max-width:320px}.ori-reservation .datetime-wrap input[type=datetime-local]{cursor:pointer}.ori-reservation .datetime-grid{display:grid;grid-template-columns:1fr 180px;gap:12px;align-items:end}.ori-reservation .datetime-grid select{cursor:pointer}
@media(max-width:560px){.ori-reservation .datetime-grid{grid-template-columns:1fr}}.ori-reservation .hint{font-size:11.5px;color:var(--sub);margin-top:7px;line-height:1.7}.ori-reservation .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ori-reservation .star-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ori-reservation .star-grid .full{grid-column:1/-1}.ori-reservation .choices{display:flex;flex-direction:column;gap:10px;margin-top:4px}.ori-reservation .choices.inline{flex-direction:row;flex-wrap:wrap;gap:10px 14px}.ori-reservation .choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px 16px;cursor:pointer;transition:.2s;font-size:14px}.ori-reservation .choice:hover{border-color:var(--accent);background:var(--soft)}.ori-reservation .choice input{accent-color:var(--accent);width:17px;height:17px;flex:0 0 auto}.ori-reservation .choice .price{margin-left:auto;font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--ink)}.ori-reservation .choice.has-input:has(input:checked){border-color:var(--accent);background:var(--soft)}.ori-reservation .notice{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 0;margin-top:14px}.ori-reservation .notice-item{display:flex;gap:18px;padding:22px 22px;border-bottom:1px solid var(--line)}.ori-reservation .notice-item:last-child{border-bottom:none}.ori-reservation .notice-ico{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center}.ori-reservation .notice-ico svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ori-reservation .notice-body h3{font-size:14px;font-weight:500;margin-bottom:8px}.ori-reservation .notice-body p{font-size:12.5px;color:var(--sub);line-height:1.95;margin-bottom:6px}.ori-reservation .notice-body p:last-child{margin-bottom:0}
@media(max-width:560px){.ori-reservation .notice-item{gap:14px;padding:18px 15px}.ori-reservation .notice-ico{flex-basis:38px;width:38px;height:38px}.ori-reservation .notice-ico svg{width:19px;height:19px}}.ori-reservation .agree{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:18px 20px;background:var(--soft);border-radius:8px;font-size:14px;cursor:pointer}.ori-reservation .agree input{accent-color:var(--accent);width:19px;height:19px;margin-top:2px;flex:0 0 auto}.ori-reservation .submit-wrap{text-align:center;margin-top:46px}.ori-reservation input[type="submit"]{font-family:"Noto Sans JP",sans-serif;font-size:15px;letter-spacing:.14em;color:#fff;background:var(--ink);border:none;border-radius:34px;padding:18px 64px;cursor:pointer;transition:.3s}.ori-reservation input[type="submit"]:hover{background:var(--accent)}.ori-reservation .privacy{font-size:11.5px;color:var(--sub);margin-top:18px;line-height:1.8}

.ori-reservation .lbl{display:block;font-weight:500;margin-bottom:12px}.ori-reservation .wpcf7-list-item{display:block;margin:0 0 10px}.ori-reservation .wpcf7-list-item label{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;margin:0}.ori-reservation input[type="radio"],.ori-reservation input[type="checkbox"]{display:inline-block;width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:var(--accent)}.ori-reservation .wpcf7-list-item label:has(input:checked){background:var(--soft);border-color:var(--accent)}.ori-reservation input[type="submit"]{white-space:normal;max-width:100%}.ori-reservation :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ori-reservation .agree .wpcf7-list-item label{align-items:flex-start;border:0;padding:0}.ori-reservation .notice-body{min-width:0}.ori-reservation .field p{margin:0}.ori-reservation .row2>*{min-width:0}@media(max-width:560px){.ori-reservation .row2,.ori-reservation .star-grid{grid-template-columns:1fr}.ori-reservation input[type="submit"]{width:100%;padding:18px}}
/* Contact inquiry form shares the reservation palette and controls. */
.ori-inquiry,.ori-inquiry *{box-sizing:border-box}
.ori-inquiry .inquiry-guide{background:var(--soft);border:1px solid #cedee3;border-radius:8px;padding:20px 22px;font-size:13.5px;line-height:1.9;margin-bottom:36px}
.ori-inquiry .inquiry-guide p+p{margin-top:10px}
.ori-inquiry .inquiry-guide a{color:#286976;text-decoration:underline;text-underline-offset:3px}
.ori-inquiry .fsec{margin-top:38px}
.ori-inquiry .fsec-head h3{font-family:"Noto Serif JP",serif;font-weight:500;font-size:19px;letter-spacing:.06em;margin:0;border:0;padding:0;background:none}
.ori-inquiry .r-hero h2{font-family:"Cormorant Garamond",serif;font-size:46px;font-weight:500;letter-spacing:.04em;border:0;background:none;padding:0}
.ori-inquiry textarea{min-height:180px}
.ori-inquiry input,.ori-inquiry textarea{max-width:100%}
.ori-inquiry #inquiry-tel{max-width:280px}
@media(max-width:560px){.ori-inquiry .r-hero h2{font-size:36px}.ori-inquiry .inquiry-guide{padding:18px}}

/* CF7 may split an edited hint into several sibling paragraphs. */
.ori-reservation .field:has([data-name="option_add"]) > .hint,
.ori-reservation .field:has([data-name="option_add"]) > .hint ~ p {
  font-size:11.5px;
  color:var(--sub);
  line-height:1.7;
}
.ori-reservation .field:has([data-name="option_add"]) > .hint ~ p {margin-top:0}

/* 利用規約・プライバシーポリシーの必須確認欄。既存の注意事項への同意は維持します。 */
.ori-reservation .ori-policy-checks{margin-top:28px}
.ori-reservation .ori-policy-checks .agree{display:block;margin-top:12px}
.ori-reservation .ori-policy-checks .wpcf7-list-item{margin:0}
.ori-reservation .ori-policy-checks .wpcf7-list-item label{align-items:flex-start}
.ori-reservation .ori-policy-checks input[type=checkbox]{margin-top:5px}
.ori-reservation .ori-policy-checks a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}