/* 問い合わせフォームの見た目を、街・通常ポートフォリオと同じ世界観に揃える。
   入力・確認・完了の動作（contact-ui.js）には一切触れず、見た目だけを上書きする。 */

.inquiry-page{
  --forest:#344940;--ink:#33303a;--line:#dccdb0;--brass:#b39a6b;--brassd:#86693a;--brassl:#dcc99b;--cream:#fcf4df;--paper:#f6efe0;--soft:#6c6157;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--en:Georgia,"Times New Roman",serif;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .22 0 0 0 .10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='ur%6C(%23n)'/%3E%3C/svg%3E");
  background:var(--grain),var(--paper);color:var(--ink);font:400 16px/2 var(--serif);word-break:auto-phrase;line-break:strict;overflow-x:clip}
.inquiry-page ::selection{background:#e8d29a;color:#2a2530}
.inquiry-page a:focus-visible,.inquiry-page button:focus-visible,.inquiry-page summary:focus-visible{outline:3px solid #c9a35a;outline-offset:4px}

/* 上のメニュー */
.inquiry-header{position:relative;padding:20px clamp(20px,4.4vw,64px);border-bottom:0;background:rgba(246,239,224,.6)}
.inquiry-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent)}
.inquiry-header .brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}
.inquiry-header .brand svg{width:26px;height:33px;color:var(--brassd)}
.inquiry-header .brand>span{display:block;white-space:nowrap;font:600 19px/1.2 var(--serif);letter-spacing:.15em;color:var(--ink)}
.inquiry-header .brand small{display:block;margin-top:5px;font:italic 400 11px/1 var(--en);letter-spacing:.28em;text-transform:uppercase;color:var(--brassd)}
.back-to-works{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:2px;text-decoration:none;font:500 14px/1 var(--serif);letter-spacing:.12em;color:var(--cream);background:var(--forest);
  box-shadow:inset 0 0 0 1.5px var(--brass),inset 0 0 0 4px var(--forest),inset 0 0 0 5px rgba(179,154,107,.5),0 8px 18px rgba(51,40,28,.2);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.back-to-works:hover{transform:translateY(-2px)}
.back-to-works span{font:300 20px/1 var(--en)}

/* 見出し：看板の板（街の「03 制作・AI活用の相談」と同じ灰茶） */
.inquiry-layout{width:min(860px,calc(100% - clamp(40px,8vw,96px)));padding-block:clamp(40px,5vw,64px) clamp(64px,8vw,110px)}
.inquiry-intro{position:relative;padding:clamp(34px,4.4vw,52px) clamp(30px,5vw,62px) clamp(30px,4vw,44px);border:0;border-radius:3px;color:var(--cream);background-color:#5b5246;
  background-image:
    radial-gradient(circle,#dcc99b 0 2.3px,rgba(0,0,0,.32) 2.9px,transparent 3.6px),
    radial-gradient(circle,#dcc99b 0 2.3px,rgba(0,0,0,.32) 2.9px,transparent 3.6px),
    radial-gradient(circle,#dcc99b 0 2.3px,rgba(0,0,0,.32) 2.9px,transparent 3.6px),
    radial-gradient(circle,#dcc99b 0 2.3px,rgba(0,0,0,.32) 2.9px,transparent 3.6px),
    repeating-linear-gradient(96deg,rgba(255,255,255,.04) 0 2px,transparent 2px 7px),
    radial-gradient(120% 170% at 10% -20%,rgba(255,255,255,.14),transparent 56%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,no-repeat;background-size:9px 9px,9px 9px,9px 9px,9px 9px,auto,auto;
  background-position:24px 24px,calc(100% - 24px) 24px,24px calc(100% - 24px),calc(100% - 24px) calc(100% - 24px),0 0,0 0;
  box-shadow:0 26px 54px rgba(51,40,28,.3),0 6px 14px rgba(51,40,28,.18)}
.inquiry-intro::before{content:"";position:absolute;inset:13px;border:2px solid var(--brass);pointer-events:none}
.inquiry-intro::after{content:"";position:absolute;inset:19px;border:1px solid rgba(179,154,107,.55);pointer-events:none}
.inquiry-intro h1{margin:0;font:600 clamp(28px,3.8vw,46px)/1.4 var(--serif);letter-spacing:.07em;color:#fcf4df;text-shadow:0 1px 0 rgba(0,0,0,.28);text-wrap:balance}
.intro-description{margin:20px 0 0;padding-top:20px;border-top:1px solid rgba(179,154,107,.5);font:400 16px/2 var(--serif);letter-spacing:.06em;color:rgba(252,244,223,.88)}
.inquiry-layout:has(#confirmation:not([hidden])) .inquiry-intro,.inquiry-layout:has(#completion:not([hidden])) .inquiry-intro{padding-bottom:clamp(30px,4vw,44px)}

/* 入力の用紙：台紙に貼った一枚 */
.inquiry-content{position:relative;margin-top:clamp(36px,4vw,52px);padding:clamp(30px,4.4vw,56px) clamp(24px,5vw,62px) clamp(36px,4.6vw,60px);background:#fffdf7;box-shadow:0 24px 44px rgba(70,48,24,.2),0 3px 8px rgba(70,48,24,.12)}
.inquiry-content::before{content:"";position:absolute;top:-17px;left:50%;width:124px;height:34px;translate:-50% 0;rotate:-3deg;background:linear-gradient(180deg,rgba(240,226,172,.93),rgba(226,208,150,.88));box-shadow:0 2px 5px rgba(70,48,24,.2);
  clip-path:polygon(2% 0,98% 4%,100% 18%,97% 36%,100% 54%,98% 74%,100% 92%,96% 100%,3% 96%,0 78%,3% 58%,0 38%,3% 20%)}
.preview-note{margin:0 0 30px;padding:16px 20px;border:0;border-left:3px solid var(--brass);background:#f6efe0;font:400 14px/1.9 var(--serif);color:var(--soft)}
.form-steps{margin:0 0 38px;border-bottom:1px dotted var(--brass);gap:12px}
.form-steps li{padding:0 0 16px;font:500 14px/1.6 var(--serif);letter-spacing:.14em;color:var(--soft)}
.form-steps li span{margin-right:10px;font:italic 400 22px/1 var(--en);color:var(--brass);letter-spacing:0}
.form-steps li[aria-current]{color:var(--forest);font-weight:600}
.form-steps li[aria-current]:after{height:3px;background:var(--brass);bottom:-2px}
.form-section-heading h2{font:600 clamp(22px,2.2vw,28px)/1.5 var(--serif);letter-spacing:.06em;color:var(--forest)}
.form-section-heading h2::after{content:"";display:block;width:84px;height:1px;margin-top:14px;background:linear-gradient(90deg,var(--brass),transparent)}
.form-section-heading>p{font-size:14.5px;color:var(--soft);margin-top:12px}
.form-section-heading.second{border-top:1px dotted var(--brass)}
.topic-field legend,.field>label{font:600 16px/1.7 var(--serif);letter-spacing:.06em;color:var(--ink)}
.required{color:#9a4a3a;font-weight:500}
.optional{color:var(--soft)}

/* 相談したいこと：選ぶと、アーチの入口と同じ緑の札になる */
.inquiry-topics{gap:14px}
.inquiry-topics label{position:relative;padding:20px 20px 20px 18px;border:1px solid var(--brass);border-radius:2px;background:#fffefa;transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.inquiry-topics label:hover{background:#f6efe0;border-color:var(--brassd);transform:translateY(-2px);box-shadow:0 10px 18px rgba(70,48,24,.12)}
.inquiry-topics label:has(input:checked){background:var(--forest);border-color:var(--brass);color:var(--cream);box-shadow:inset 0 0 0 3px var(--forest),inset 0 0 0 4px rgba(179,154,107,.7),0 12px 22px rgba(51,40,28,.25)}
.inquiry-topics input{accent-color:#c9a35a}
.inquiry-topics span{font:600 16.5px/1.6 var(--serif);letter-spacing:.05em}
.inquiry-topics small{font:400 13.5px/1.7 var(--serif);color:var(--soft);letter-spacing:.04em}
.inquiry-topics label:has(input:checked) small{color:rgba(252,244,223,.78)}

/* 入力欄 */
.field input,.field textarea{border:1px solid #cdbb94;border-radius:2px;background:#fffefa;color:var(--ink);font:400 16px/1.8 var(--serif);transition:border-color .25s,box-shadow .25s,background .25s}
.field input:hover,.field textarea:hover{border-color:var(--brassd)}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--brassd);background:#fff;box-shadow:0 0 0 3px rgba(179,154,107,.35)}
.field-hint{font-size:14px;color:var(--soft)}
.field-error{color:#a0402f}
.field [aria-invalid="true"]{border-color:#a54235}
.work-context{border-left:3px solid var(--brass);background:#f6efe0}
.work-context>p{color:var(--brassd)}
.work-context button{color:var(--brassd)}
.information-use{border-top:1px dotted var(--brass)}
.information-use h3{font:600 16px/1.7 var(--serif);letter-spacing:.06em;color:var(--forest)}
.information-use>p{color:var(--soft)}
.information-use a{color:var(--brassd)}
.consent-label input{accent-color:#8c6d34}

/* ボタン：真鍮の二重の枠 */
.form-primary{max-width:380px;padding:22px 26px;border:0;border-radius:2px;background:var(--forest);color:var(--cream);font:600 17px/1.5 var(--serif);letter-spacing:.1em;
  box-shadow:inset 0 0 0 1.5px var(--brass),inset 0 0 0 5px var(--forest),inset 0 0 0 6px rgba(179,154,107,.5),0 14px 28px rgba(51,40,28,.28);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,background .3s}
.form-primary:hover:not(:disabled){background:#40594e;transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px #d2b87e,inset 0 0 0 5px #40594e,inset 0 0 0 6px rgba(210,184,126,.6),0 20px 34px rgba(51,40,28,.32)}
.form-primary:disabled{background:#d9ceb6;color:#7a6f5d;box-shadow:inset 0 0 0 1px #c9b98f}
.form-primary>span:last-child{font:300 26px/1 var(--en)}
.button-note{color:var(--soft)}
.form-back,.captcha-retry{border-bottom:1px solid var(--brass);color:var(--brassd)}
.form-alert{border-left:3px solid #b0463a;background:#f6e9de;color:#7a3a2a}
.confirmation-values>div{border-bottom:1px dotted var(--brass)}
.confirmation-values dt{font:500 13.5px/1.7 var(--serif);letter-spacing:.14em;color:var(--brassd)}
.captcha-section{border-top:1px dotted var(--brass)}
#completion h2{font:600 clamp(26px,3vw,36px)/1.6 var(--serif);letter-spacing:.06em;color:var(--forest)}
.inquiry-page .eyebrow{font:italic 400 15px/1 var(--en);letter-spacing:.34em;text-transform:uppercase;color:var(--brassd)}
.inquiry-page .line-link{display:inline-flex;align-items:center;gap:10px;padding:8px 0;font:600 15px/1.6 var(--serif);letter-spacing:.1em;text-decoration:none;border-bottom:2px solid var(--brass);color:var(--brassd)}

/* フッター：夜のアトリエ */
.inquiry-footer{border-top:0;padding:34px clamp(20px,6vw,88px);background:#141c18;color:rgba(252,244,223,.82)}
.inquiry-footer>span{font:600 17px/1.3 var(--serif);letter-spacing:.15em;color:#fcf4df}
.inquiry-footer nav a{text-decoration:none;font:500 14px/1.6 var(--serif);letter-spacing:.12em;transition:color .3s}
.inquiry-footer nav a:hover{color:var(--brassl)}

@media (max-width:600px){
  .inquiry-header{padding:14px 16px}
  .inquiry-header .brand{gap:9px}
  .inquiry-header .brand svg{width:20px;height:26px}
  .inquiry-header .brand>span{font-size:14.5px;letter-spacing:.09em}
  .inquiry-header .brand small{font-size:8.5px;letter-spacing:.2em;margin-top:4px}
  .back-to-works{padding:10px 12px;font-size:12.5px;letter-spacing:.06em;gap:5px}
  .inquiry-layout{width:calc(100% - 32px)}
  .inquiry-intro::before{inset:9px}.inquiry-intro::after{inset:14px}
  .inquiry-content{padding:34px 20px 40px}
  .form-steps li{letter-spacing:.06em}
}
@media (prefers-reduced-motion:reduce){.inquiry-page *,.inquiry-page *::before,.inquiry-page *::after{transition:none!important;animation:none!important}}
