/* consult.css — HP の相談箱(予約フォーム・見積もりセカンドオピニオン)の見た目(2026-11-15 指揮官CC・b927)。
   ChatGPT の B案「ラグジュアリー再構成」を基準: 白〜アイボリーの地・シャンパンゴールド・余白・明朝の見出し・丸いボタン・柔らかいカード。
   写真の上の文字は下側の淡いグラデーションで読ませる。入力画面は写真より操作性。固定ボタンは置かず、本文の最後にボタン(内容を隠さない) */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:16px}
body.consult{margin:0;background:#fbf9f6;color:#3a3430;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.75;letter-spacing:.02em;font-size:15px}
body.consult a{color:inherit}
.serif,.h1,.copy,.card h2,.cfoot p:first-child{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
.hd{position:sticky;top:0;z-index:5;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(251,249,246,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(180,154,112,.18)}
.hd .lg{display:flex;align-items:center;text-decoration:none}
.hd .lg img{height:26px;width:auto}
.hd .bg{width:22px;height:14px;position:relative;display:block}
.hd .bg::before,.hd .bg::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:#3a3430}
.hd .bg::before{top:0}.hd .bg::after{bottom:0}
.hd .bg i{position:absolute;left:0;right:0;top:6px;height:1.5px;background:#3a3430}
.hero{position:relative;height:470px;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,249,246,.1) 0%,rgba(251,249,246,.2) 28%,rgba(251,249,246,.92) 58%,#fbf9f6 100%)}
.hero .tx{position:absolute;left:22px;right:22px;bottom:22px}
.hero.woman{height:560px}
.hero.woman img{object-position:center 18%}
.hero.woman .ov{background:linear-gradient(180deg,rgba(251,249,246,0) 0%,rgba(251,249,246,0) 40%,rgba(251,249,246,.78) 62%,#fbf9f6 100%)}
.hero.woman .tx{bottom:26px}
/* 2026-11-15 ChatGPT①: 入口は写真(上・顔を隠さない)と文章(下)を分ける。375幅で写真 250px・下端をアイボリーへ */
.hero.top{height:250px}
.hero.top img{object-position:center top}
.hero.top .ov{background:linear-gradient(180deg,rgba(251,249,246,0) 0%,rgba(251,249,246,0) 58%,rgba(251,249,246,.85) 84%,#fbf9f6 100%)}
.intro{max-width:560px;margin:0 auto;padding:4px 22px 18px}
.intro .kicker{color:#806849;font-size:12px;letter-spacing:.18em;margin:0 0 10px}
.intro .copy{font-size:30px;margin:0 0 10px}
.intro .copy2{margin:0 0 14px}
.intro .chips{margin:0 0 16px}
.intro .btn{margin:0}
.kicker{font-size:12.5px;letter-spacing:.14em;color:#6f6862;margin:0 0 8px}
.hero .kicker.serif{display:inline-block;background:rgba(255,255,255,.85);border:1px solid #e6dfd4;border-radius:999px;padding:4px 12px;color:#806849;font-size:12px}
.copy{font-size:29px;line-height:1.5;letter-spacing:.08em;font-weight:600;color:#2f2a26;margin:0 0 10px}
.copy2{font-size:13.5px;color:#6f6862;margin:0 0 14px;line-height:1.8}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}
.chips span{font-size:11.5px;color:#6f6862;background:rgba(255,255,255,.85);border:1px solid #e6dfd4;border-radius:999px;padding:4px 10px}
.wrap{max-width:560px;margin:0 auto;padding:0 22px 40px}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:.08em;text-decoration:none;border:0;width:100%;cursor:pointer;font-family:inherit;margin:0 0 10px;color:#3a3430}
.btn-g{background:linear-gradient(135deg,#a88c66,#7f6747);color:#fff;box-shadow:0 8px 20px rgba(128,104,73,.22)}
.btn-g::after{content:"›";font-size:18px;opacity:.85}
.btn-g:disabled{opacity:.6;cursor:default}
.btn-o{background:#fff;color:#3a3430;border:1px solid #d9d0c3}
.btn-line{background:#06c755;color:#fff;box-shadow:0 8px 20px rgba(6,199,85,.18)}
.btn-line::before{content:"LINE";font-size:10.5px;border:1.5px solid #fff;border-radius:999px;padding:1px 7px}
.h1{font-weight:600;font-size:22px;letter-spacing:.1em;line-height:1.5;margin:22px 0 8px;text-align:center;color:#2f2a26}
.lead{text-align:center;font-size:13.5px;color:#6f6862;margin:0 0 22px;line-height:1.9}
.card{background:#fff;border:1px solid #ece6dc;border-radius:16px;padding:18px 18px 16px;margin:0 0 12px;box-shadow:0 6px 18px rgba(60,45,30,.05)}
.card h2{font-size:15px;font-weight:600;letter-spacing:.1em;margin:0 0 10px;color:#2f2a26}
.card h2 small{font-weight:400;font-size:11.5px;color:#8a847e;margin-left:8px;font-family:"Hiragino Sans","Noto Sans JP",sans-serif}
.card.below{background:#faf7f2;border-color:#e6dfd4;margin-top:10px}
.cond{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #ece6dc;border-radius:16px;padding:16px;margin:0 0 12px;box-shadow:0 6px 18px rgba(60,45,30,.05)}
.cond.slim{padding:10px 12px;margin:0 0 8px;box-shadow:none;background:#faf7f2}
.cond .ic{flex:0 0 40px;height:40px;border-radius:50%;background:#f6f1ea;display:flex;align-items:center;justify-content:center}
.cond .ic svg{width:24px;height:24px;fill:none;stroke:#806849;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.cond .t{flex:1}
.cond .t b{display:block;font-size:14px;letter-spacing:.04em;white-space:nowrap}
.cond .t small{display:block;color:#8a847e;font-size:11px;white-space:nowrap}
.cond .n{font-family:"Hiragino Mincho ProN","Noto Serif JP",serif;color:#806849;font-size:12px;white-space:nowrap}
.cond .n em{font-style:normal;font-size:26px;font-weight:600;letter-spacing:0;margin-right:2px}
.cond.slim .n em{font-size:20px}
.steps{display:flex;align-items:center;justify-content:center;margin:22px 0 10px}
.steps div{display:flex;flex-direction:column;align-items:center;width:70px;font-size:10.5px;color:#9a948e;letter-spacing:.1em}
.steps div i{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #d9d0c3;display:flex;align-items:center;justify-content:center;font-style:normal;font-family:Poppins,sans-serif;font-size:12px;color:#9a948e;margin-bottom:4px}
.steps div.on i{background:#806849;border-color:#806849;color:#fff}
.steps div.on{color:#806849}
.steps hr{width:34px;border:0;border-top:1px solid #d9d0c3;margin:0 -6px 18px}
label.f{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:#3a3430;letter-spacing:.04em}
label.f small{font-weight:400;color:#8a847e;margin-left:6px}
.in{width:100%;min-height:48px;border:1px solid #ddd5c9;border-radius:12px;padding:11px 14px;font:inherit;font-size:16px;background:#fff;color:#3a3430;-webkit-appearance:none;appearance:none}
.in:focus{outline:none;border-color:#b49a70;box-shadow:0 0 0 3px rgba(180,154,112,.18)}
textarea.in{resize:vertical;min-height:72px}
select.in{background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23806849' stroke-width='1.5'/></svg>") no-repeat right 14px center}
.pin1{letter-spacing:.5em;font-family:Poppins,sans-serif;font-size:22px;text-align:center;max-width:200px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg.three{grid-template-columns:1fr 1fr 1fr}
.seg.four{grid-template-columns:1fr 1fr 1fr 1fr}
.seg span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border:1px solid #ddd5c9;border-radius:12px;font-size:14px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;padding:0 6px}
.seg.four span{font-size:13px}
.seg span.on{border-color:#806849;background:#f6f1ea;color:#806849;font-weight:600}
.seg span.on::before{content:"✓";font-size:12px}
.up{display:block;border:1.5px dashed #c9bdac;border-radius:14px;padding:26px 14px;text-align:center;background:#f9f1ec;color:#6f6862;font-size:12.5px;cursor:pointer;position:relative}
.up b{display:block;color:#3a3430;font-size:15px;margin:6px 0 2px}
.up .ar{font-size:22px;color:#806849;line-height:1}
.up small{display:block;color:#8a847e;font-size:11.5px;margin-top:4px}
.up .sel{display:block;color:#806849;font-weight:600;font-size:12.5px;margin-top:6px}
.up .sel:empty{display:none}
/* お顔の写真(正面・横)の2枠: 2026-11-15 ChatGPT③。選ぶとその場で見本・×で削除・もう一度タップで差し替え */
.faces{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.up.face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:168px;padding:14px 10px}
.up.face .cam{width:30px;height:30px;fill:none;stroke:#806849;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.up.face b{font-size:13.5px;margin:0 0 2px}
.up.face small{margin-top:2px}
.up.face .pv{display:none;width:100%;aspect-ratio:3/4;border-radius:10px;background:#fff center/cover no-repeat}
.up.face .rep{display:none;color:#806849;font-size:11.5px;margin-top:6px}
.up.face.has{padding:8px;background:#fff}
.up.face.has .pv,.up.face.has .rep{display:block}
.up.face.has .cam,.up.face.has b,.up.face.has small{display:none}
.up.face .rm{display:none;position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#3a3430;color:#fff;font-size:17px;line-height:26px;padding:0;cursor:pointer;z-index:1}
.up.face.has .rm{display:block}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#6f6862;line-height:1.7;margin:12px 0 0;cursor:pointer}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk i{flex:0 0 20px;height:20px;border:1px solid #c9bdac;border-radius:6px;background:#fff;margin-top:2px;position:relative}
.chk input:checked + i{background:#806849;border-color:#806849}
.chk input:checked + i::after{content:"✓";color:#fff;font-size:12px;font-style:normal;position:absolute;left:4px;top:-1px}
.chk a{color:#806849}
.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #ece6dc;border-radius:14px;padding:14px 16px;margin:0 0 10px;font-size:14.5px;cursor:pointer}
.opt .l{display:flex;align-items:center;gap:12px}
.opt .l .ic{width:36px;height:36px;border-radius:10px;background:#f6f1ea;display:flex;align-items:center;justify-content:center;color:#806849;flex:0 0 36px;font-size:15px}
.opt .l .ic.line{background:#e6f8ec;color:#06c755;font-size:9px;font-weight:700}
.opt .r{width:24px;height:24px;border-radius:50%;border:1px solid #c9bdac;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex:0 0 24px}
.opt.on{border-color:#806849}
.opt.on .r{background:#806849;border-color:#806849}
.opt.on .r::after{content:"✓"}
.opt small{display:block;color:#8a847e;font-size:11.5px}
.done{text-align:center;padding:26px 0 8px}
.done .ck{width:64px;height:64px;border-radius:50%;border:1.5px solid #b49a70;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#806849;font-size:28px}
.linkcard{background:#fff;border:1px solid #ece6dc;border-radius:16px;padding:18px;margin:16px 0 10px;box-shadow:0 6px 18px rgba(60,45,30,.05)}
.linkcard .lb{font-size:11.5px;color:#8a847e;letter-spacing:.18em;text-align:center}
.linkcard .no{display:flex;align-items:center;justify-content:center;gap:12px;font-family:Poppins,sans-serif;font-size:26px;font-weight:500;letter-spacing:.08em;color:#2f2a26;margin:6px 0 4px}
.linkcard .no i{width:36px;height:36px;border-radius:50%;background:#f6f1ea;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:16px;color:#806849}
.linkcard .url{font-size:11.5px;color:#8a847e;word-break:break-all;text-align:center;background:#faf7f2;border-radius:8px;padding:8px 10px;margin:8px 0}
.linkcard p{font-size:12.5px;color:#6f6862;margin:8px 0 0;line-height:1.8}
.qa{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #ece6dc;border-radius:16px;padding:14px;margin:0 0 14px}
.qa .av{flex:0 0 46px;height:46px;border-radius:50%;background:#f6f1ea;display:flex;align-items:center;justify-content:center;font-size:12px;color:#806849;overflow:hidden}
.qa .av img{width:100%;height:100%;object-fit:cover}
.qa .av img.logo{object-fit:contain;padding:8px;background:#fff}
.qa .t{font-size:13.5px;line-height:1.75;min-width:0;flex:1}
.qa .t .who{font-size:11px;color:#8a847e;letter-spacing:.1em;margin-bottom:3px}
.qa.me{background:#faf7f2}
.thumbs{display:flex;gap:8px;margin:8px 0 0;flex-wrap:wrap}
.thumbs .thumb{width:64px;height:64px;border-radius:8px;background:#ece6dc;display:flex;align-items:center;justify-content:center;font-size:11px;color:#6f6862;cursor:pointer;text-decoration:none}
.tag{display:inline-block;border:1px solid #b49a70;border-radius:999px;padding:1px 10px;color:#806849;font-family:Poppins,sans-serif;font-size:12px}
.note{font-size:12px;color:#8a847e;line-height:1.75}
.err{font-size:12.5px;color:#b2443f;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.price-note{font-size:12.5px;color:#6f6862;border-left:3px solid #b49a70;padding:4px 10px;margin:10px 0}
.price-note:empty{display:none}
.price-note.ng{border-left-color:#b2443f;color:#b2443f}
.photo{height:190px;border-radius:16px;overflow:hidden;margin:16px 0}
.photo img{width:100%;height:100%;object-fit:cover}
.flow{display:flex;gap:10px;margin:0 0 6px}
.flow div{flex:1;text-align:center;font-size:12px;color:#6f6862;line-height:1.6}
.flow div i{display:flex;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #d9d0c3;margin:0 auto 6px;font-style:normal;font-family:Poppins,sans-serif;font-size:13px;color:#806849;align-items:center;justify-content:center}
.cfoot{text-align:center;font-size:12px;color:#8a847e;padding:30px 20px 40px;border-top:1px solid #ece6dc;margin-top:30px}
.cfoot p{margin:0 0 6px}
.cfoot a{color:#806849;text-decoration:none}
@media (min-width:700px){
  .hero{height:520px}.hero.woman{height:640px}
  .hero.top{height:460px}.hero.top img{object-position:center 4%}
  .intro{max-width:640px;padding-top:10px}.intro .copy{font-size:38px}
  .hero .tx{left:50%;transform:translateX(-50%);width:600px;max-width:calc(100% - 44px)}
  .copy{font-size:36px}
  .wrap{max-width:640px}
}
