/* ============================================
   お問合せ / 特定商取引法に基づく表記 の共通スタイル
   （home.css / services.css とデザインシステムは同一）
   ============================================ */
:root{
  --bg:#fbfbfc; --ink:#26262a; --sub:#6e6e73; --line:#e6e6e9; --card:#ffffff;
  --rainbow:linear-gradient(90deg,#e8a0a0,#e8cfa0,#c9e8a0,#a0e0d8,#a0bce8,#c5a0e8);
  --serif:"Shippori Mincho",serif; --sans:"Zen Kaku Gothic New",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:2;font-size:15px;letter-spacing:.04em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(251,251,252,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.12em}
.logo span{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--rainbow);margin-right:10px;vertical-align:1px}
nav ul{display:flex;gap:26px;list-style:none;align-items:center}
nav a{font-size:11px;letter-spacing:.2em;color:var(--sub);transition:color .3s}
nav a:hover{color:var(--ink)}
.nav-cta{border:1px solid var(--ink);padding:8px 18px;border-radius:999px;color:var(--ink)!important;font-weight:500}
@media(max-width:760px){nav ul{gap:14px} nav ul li:nth-child(-n+2){display:none}}

/* page hero */
.kicker{font-size:12px;letter-spacing:.34em;color:var(--sub);margin-bottom:28px;display:flex;align-items:center;gap:14px}
.kicker::before{content:"";width:34px;height:2px;background:var(--rainbow)}
h1{font-family:var(--serif);font-size:clamp(26px,4.2vw,36px);font-weight:600;line-height:1.9;letter-spacing:.09em}
.phero{padding:150px 0 40px;position:relative;overflow:hidden}
.phero .lead{margin-top:28px;color:var(--sub);max-width:640px}
.aura{position:absolute;right:-200px;top:-140px;width:460px;height:460px;border-radius:50%;
  background:conic-gradient(from 0deg,#e8a0a055,#e8cfa055,#c9e8a055,#a0e0d855,#a0bce855,#c5a0e855,#e8a0a055);
  filter:blur(90px);opacity:.5}
.phero .wrap{position:relative;z-index:2}

.rv{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.rv.on{opacity:1;transform:none}

/* body sections */
.sec{padding:40px 0 100px}
.sec-inner{max-width:780px}
h2{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.08em;margin:56px 0 20px;line-height:1.9}
h2:first-child{margin-top:0}
.sec p{color:#3a3a40;font-size:14px;line-height:2.1;margin-bottom:16px}
.note{font-size:12.5px;color:var(--sub);line-height:1.95}

/* 定義テーブル（特商法） */
.tbl{width:100%;border-collapse:collapse;border-top:1px solid var(--line);margin-top:8px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:20px 8px;text-align:left;vertical-align:top;font-size:14px;line-height:2}
.tbl th{width:220px;font-weight:500;color:var(--sub);letter-spacing:.08em;font-size:13px}
.tbl td{color:#3a3a40}
.tbl td ul{margin:0;padding-left:1.1em}
.tbl td li{margin-bottom:6px}
@media(max-width:700px){
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
  .tbl th{border-bottom:none;padding:18px 8px 0}
  .tbl td{padding:4px 8px 18px}
}

/* 記入待ちの箇所 */
.todo{background:linear-gradient(0deg,rgba(232,207,160,.16),rgba(232,207,160,.16));
  border-radius:4px;padding:2px 8px;color:#8a6d3b;font-size:13px;letter-spacing:.02em}

/* お問合せ：選択カード */
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
@media(max-width:760px){.opts{grid-template-columns:1fr}}
.opt{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 26px;
  overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;display:block}
.opt::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--rainbow);opacity:.85}
.opt:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(38,38,42,.5)}
.opt .tag{font-size:10.5px;letter-spacing:.2em;color:var(--sub);border:1px solid var(--line);border-radius:999px;
  padding:4px 12px;width:fit-content;margin-bottom:16px}
.opt h3{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.8;margin-bottom:10px}
.opt p{font-size:13px;color:var(--sub);line-height:1.95;margin:0}
.opt .go{margin-top:16px;font-size:12px;letter-spacing:.12em;color:var(--ink);display:inline-block}

/* ボタン */
.btn{display:inline-block;background:var(--ink);color:#fff!important;border-radius:999px;padding:16px 40px;
  font-size:13px;letter-spacing:.16em;font-weight:500;transition:opacity .3s;margin-top:8px}
.btn:hover{opacity:.82}
.btn-sub{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:15px 34px;
  font-size:12.5px;letter-spacing:.14em;transition:background .3s,color .3s;margin:8px 8px 0 0}
.btn-sub:hover{background:var(--ink);color:#fff!important}

/* footer */
footer{border-top:1px solid var(--line);padding:56px 0;text-align:center}
.flinks{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.flinks a{font-size:11.5px;letter-spacing:.16em;color:var(--sub);transition:color .3s}
.flinks a:hover{color:var(--ink)}
footer p{font-size:11px;color:var(--sub);letter-spacing:.1em}
