/* ══════════════════════════════════════════════
   ご予約・お問い合わせ（/inquiry/）専用
   すべて .inquiry-page で囲む（他ページに影響させない）
   ══════════════════════════════════════════════ */

/* hidden を付けたものは必ず隠す（.page-hero などが display を上書きするため） */
.inquiry-page [hidden]{display:none!important}

.inquiry-page .page-hero .eyebrow{
  margin:0;font-family:"Roboto Mono",monospace;font-size:.72rem;
  letter-spacing:.18em;color:var(--mud-lt)}

/* 見出し・補足 */
.inquiry-page .iq-h{font-weight:900;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.4;margin:0 0 .4rem}
.inquiry-page .iq-hint{margin:0 0 1.2rem;font-size:.88rem;color:#B2B0A5;max-width:40em}
.inquiry-page .iq-hint--end{margin:1.2rem 0 0}
.inquiry-page .iq-hint a{color:var(--mud-lt)}
.inquiry-page .iq-req,
.inquiry-page .iq-opt{
  display:inline-block;margin-left:.6em;padding:0 .5em;border-radius:2px;
  font-family:"Roboto Mono",monospace;font-size:.66rem;font-weight:500;
  letter-spacing:.08em;line-height:1.7;vertical-align:.18em}
.inquiry-page .iq-req{background:var(--mud);color:var(--sand)}
.inquiry-page .iq-opt{border:1px solid var(--line);color:#B2B0A5}

/* アクティビティの一覧 */
.inquiry-page .iq-list{display:grid;gap:10px;max-width:880px}
.inquiry-page .iq-item{border:1px solid var(--line);background:rgba(23,48,31,.55);border-radius:3px}
.inquiry-page .iq-item.is-on{border-color:var(--mud);background:rgba(23,48,31,.9)}
.inquiry-page .iq-toggle{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;cursor:pointer}
.inquiry-page .iq-toggle input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--mud)}
.inquiry-page .iq-name{font-weight:700;line-height:1.5}
.inquiry-page .iq-note{margin-left:auto;text-align:right;font-size:.8rem;color:#B2B0A5;line-height:1.5}
.inquiry-page .iq-detail{display:none;gap:12px;padding:0 1.1rem 1.1rem calc(1.1rem + 20px + .9rem)}
.inquiry-page .iq-item.is-on .iq-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.inquiry-page .iq-warn{grid-column:1/-1;margin:0;font-size:.85rem;color:var(--signal)}
@media(max-width:560px){
  .inquiry-page .iq-detail{padding-left:1.1rem}
  .inquiry-page .iq-note{display:none}
}

/* 入力欄 */
.inquiry-page .iq-grid{display:grid;gap:18px 22px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-width:880px}
.inquiry-page .iq-grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
@media(max-width:420px){.inquiry-page .iq-grid,.inquiry-page .iq-grid--2{grid-template-columns:1fr}}
.inquiry-page .iq-f--wide{grid-column:1/-1}
.inquiry-page .iq-sub{margin:1.8rem 0 .9rem;font-size:1rem;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem}
.inquiry-page .iq-sub-note{font-size:.82rem;font-weight:400;color:#B2B0A5}
.inquiry-page .iq-grid--gap{margin-top:1.4rem;grid-template-columns:minmax(0,440px)}
.inquiry-page label{display:block}
.inquiry-page .iq-f > label,
.inquiry-page .iq-detail label{font-size:.88rem;font-weight:700;margin-bottom:.4rem}
.inquiry-page input[type=text],
.inquiry-page input[type=email],
.inquiry-page input[type=tel],
.inquiry-page input[type=date],
.inquiry-page input[type=number],
.inquiry-page select,
.inquiry-page textarea{
  width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--sand);
  background:var(--ink);border:1px solid var(--line);border-radius:3px;padding:.7rem .85rem}
.inquiry-page select{
  appearance:none;padding-right:2.2rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--mud) 50%),linear-gradient(135deg,var(--mud) 50%,transparent 50%);
  background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.inquiry-page textarea{min-height:130px;resize:vertical}
.inquiry-page input:focus,
.inquiry-page select:focus,
.inquiry-page textarea:focus{outline:2px solid var(--signal);outline-offset:1px;border-color:transparent}
.inquiry-page input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85)}
.inquiry-page .iq-day{margin:.4rem 0 0;font-size:.82rem;color:var(--mud-lt);min-height:1.2em}

/* エラー */
.inquiry-page .iq-err{display:none;margin:.35rem 0 0;font-size:.82rem;color:#FF9C85}
.inquiry-page .is-bad .iq-err,
.inquiry-page .iq-err.is-show{display:block}
.inquiry-page .is-bad input,
.inquiry-page .is-bad select{border-color:#FF9C85}

/* 同意・送信 */
.inquiry-page .iq-agree{margin-top:1.8rem}
.inquiry-page .iq-agree > label{display:flex;gap:.7rem;align-items:flex-start;font-weight:700;font-size:.95rem}
.inquiry-page .iq-agree input{width:20px;height:20px;margin:.25rem 0 0;flex:none;accent-color:var(--mud)}
.inquiry-page .iq-agree .iq-hint{margin:.6rem 0 0}
.inquiry-page .iq-submit{margin-top:1.4rem;width:100%;max-width:880px;justify-content:center;font-size:1.05rem;padding:1.1em 1.6em;cursor:pointer;font-family:inherit}
.inquiry-page .iq-submit:disabled{opacity:.6;cursor:wait;transform:none}
.inquiry-page .iq-fail{display:none;margin:1rem 0 0;padding:.9rem 1rem;border:1px solid #FF9C85;color:#FF9C85;font-size:.92rem;max-width:880px}
.inquiry-page .iq-fail.is-show{display:block}
.inquiry-page .iq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 概算料金 */
.inquiry-page .iq-est{border-color:rgba(232,100,30,.55)}
.inquiry-page .iq-est-empty{margin:0;color:#B2B0A5}
.inquiry-page .iq-est-tbl{width:100%;max-width:880px;border-collapse:collapse;font-size:.95rem}
.inquiry-page .iq-est-tbl td{padding:.65rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.inquiry-page .iq-est-tbl td:last-child{text-align:right;white-space:nowrap;padding-left:1rem;font-family:"Roboto Mono",monospace}
.inquiry-page .iq-est-tbl .sub{display:block;font-size:.8rem;color:#B2B0A5;margin-top:.15rem}
.inquiry-page .iq-est-tbl .free td:last-child{color:var(--moss)}
.inquiry-page .iq-total{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  max-width:880px;margin-top:1.2rem}
.inquiry-page .iq-total span{font-weight:700}
.inquiry-page .iq-total strong{font-family:"Anton",sans-serif;font-weight:400;font-size:clamp(2.2rem,6vw,3.2rem);letter-spacing:.03em;line-height:1;color:var(--mud-lt)}
.inquiry-page .iq-total small{font-size:.9rem;margin-left:.2em;color:var(--sand)}
.inquiry-page .iq-est-memo{margin:1rem 0 0;padding:0;list-style:none;font-size:.85rem;color:var(--signal);max-width:880px}
.inquiry-page .iq-est-memo li{padding-left:1.1em;text-indent:-1.1em}
.inquiry-page .iq-est-memo li::before{content:"※";margin-right:.1em}
.inquiry-page .iq-est-note{margin:1.2rem 0 0;font-size:.82rem;color:#B2B0A5;max-width:44em}

/* 送信完了ページ */
.inquiry-page .iq-done-hero .lede strong{color:var(--sand);font-weight:700}
.inquiry-page .iq-okmark{display:inline-flex;align-items:center;gap:.5em;margin:0 0 .9rem;padding:.35em .9em .35em .45em;
  border-radius:999px;background:var(--moss,#5f8a4a);color:#fff;font-weight:700;font-size:.95rem;line-height:1.4}
.inquiry-page .iq-okmark span{display:inline-grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;
  background:#fff;color:var(--moss,#5f8a4a);font-size:.9em}
@media (prefers-reduced-motion:no-preference){
  .inquiry-page .iq-okmark{animation:iqPop .45s ease-out}
  @keyframes iqPop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
}
.inquiry-page .iq-sum{display:grid;grid-template-columns:minmax(8em,12em) 1fr;margin:0 0 2rem;max-width:880px;border-top:1px solid var(--line)}
.inquiry-page .iq-sum dt,
.inquiry-page .iq-sum dd{margin:0;padding:.8rem 0;border-bottom:1px solid var(--line);line-height:1.7}
.inquiry-page .iq-sum dt{font-size:.88rem;font-weight:700;color:#B2B0A5;padding-right:1rem}
.inquiry-page .iq-sum dd{white-space:pre-wrap;word-break:break-word}
.inquiry-page .iq-sum .iq-sum-total{display:block;margin-top:.4rem;font-family:"Anton",sans-serif;font-size:1.6rem;letter-spacing:.03em;color:var(--mud-lt)}
.inquiry-page .iq-sum .iq-sum-note{display:block;margin-top:.3rem;font-size:.8rem;color:#B2B0A5}
@media(max-width:560px){
  .inquiry-page .iq-sum{grid-template-columns:1fr}
  .inquiry-page .iq-sum dt{border-bottom:0;padding-bottom:0}
}
.inquiry-page .iq-done-btns{margin-bottom:.5rem}
.inquiry-page .iq-done-btns button{cursor:pointer;font-family:inherit}
@media(max-width:560px){.inquiry-page .iq-done-btns .btn{width:100%;justify-content:center}}

/* 印刷するときは、お問い合わせ内容だけを白地で */
@media print{
  .inquiry-page .site-header,
  .inquiry-page .site-footer,
  .inquiry-page .contour,
  .inquiry-page .hub,
  .inquiry-page .faq,
  .inquiry-page .iq-done-btns,
  .inquiry-page .iq-okmark,
  .inquiry-page .iq-done-hero::before{display:none!important}
  .inquiry-page,
  .inquiry-page .panel,
  .inquiry-page .page-hero{background:#fff!important;color:#000!important}
  .inquiry-page .page-hero{min-height:0!important;background-image:none!important}
  .inquiry-page .page-hero *,
  .inquiry-page .iq-sum *{color:#000!important}
}

/* 郵便番号からの住所入力 */
.inquiry-page .iq-zipnote{margin-left:.6em;font-size:.75rem;font-weight:400;color:#B2B0A5}
.inquiry-page .iq-zipmsg{margin:.35rem 0 0;font-size:.82rem;color:var(--mud-lt);min-height:1.2em}
.inquiry-page .iq-zipmsg.is-ng{color:#B2B0A5}

/* 営業メールお断りの注意書き */
.inquiry-page .iq-caution{
  margin:.9rem 0 0;padding:.75rem .95rem;
  border:1px solid var(--line);border-left:3px solid #D5573B;
  background:rgba(213,87,59,.08);
  font-size:.88rem;line-height:1.75;color:#D6D2C6;
}

/* ── ブラウザの自動入力で白くならないようにする ──────────
   Chrome などは、自動入力した欄に独自の白い背景を当ててきます。
   通常の指定では上書きできないため、内側に影を敷いて色を作り直します。
   （郵便番号から住所を入れたときなども、この見た目が出ます） */
.inquiry-page input:-webkit-autofill,
.inquiry-page input:-webkit-autofill:hover,
.inquiry-page input:-webkit-autofill:focus,
.inquiry-page textarea:-webkit-autofill,
.inquiry-page select:-webkit-autofill{
  -webkit-text-fill-color: var(--sand) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--ink) inset !important;
          box-shadow: 0 0 0 1000px var(--ink) inset !important;
  caret-color: var(--sand);
  transition: background-color 9999s ease-out 0s;   /* 白がちらつくのを防ぐ */
}

/* 選び忘れている欄を赤枠で知らせる */
.inquiry-page select.is-bad{border-color:#FF9C85}
/* 「〇〇を選んでください」の行 */
.inquiry-page .iq-warn.is-need{color:#FF9C85;font-weight:600}
/* 送信できたか確認できなかったときの案内（電話を促す） */
.inquiry-page .iq-fail b{color:#FFD9CF}
.inquiry-page .iq-fail a{color:#FFD9CF;font-weight:700}
/* 完了画面：お返事の目安 */
.inquiry-page .iq-reply{
  margin:1.1rem 0 0;padding:.9rem 1.05rem;
  border:1px solid var(--line);border-left:3px solid var(--mud);
  background:rgba(23,48,31,.5);
  font-size:.9rem;line-height:1.85;color:#C4C1B6;max-width:38em;
}
.inquiry-page .iq-reply b{color:var(--sand)}
.inquiry-page .iq-reply a{color:var(--mud-lt);font-weight:700}
