/* =====================================================================
   pages.css — 法務 / 補助ページ（プライバシーポリシー・利用規約・免責事項・
   お問い合わせ）共通スタイル。
   デザイントークンは index.html / css/style.css と統一（クリーム×テラコッタ×明朝）。
   ===================================================================== */

:root{
  --paper:#faf6ef; --surface:#fff; --surface-2:#f4eee2;
  --ink:#2b2620; --ink-soft:#7c7468; --line:#e9e1d3;
  --terra:#df6240; --terra-soft:#fbeee8;
  --sage:#3f9e8c; --sage-soft:#e7f2ee;
  --mincho:"Shippori Mincho",serif;
  --gothic:"Zen Kaku Gothic New",sans-serif;
  --mono:"Space Mono",monospace;
  --shadow:0 18px 44px -26px rgba(70,50,30,.4);
  --shadow-sm:0 8px 22px -16px rgba(70,50,30,.5);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--gothic);line-height:1.9;font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:880px;margin:0 auto;padding:0 clamp(20px,4vw,40px);width:100%;}

/* buttons（LP と同系。最小限） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:700;font-size:clamp(15px,1.6vw,16px);border:none;cursor:pointer;border-radius:12px;padding:14px 26px;min-height:50px;transition:.16s;}
.btn.primary{background:var(--terra);color:#fff;box-shadow:var(--shadow-sm);}
.btn.primary:hover{background:#cf5331;transform:translateY(-2px);}
.btn.small{min-height:44px;padding:10px 20px;font-size:14px;border-radius:10px;}
.btn--lg{min-height:54px;padding:16px 30px;font-size:16px;}
.btn--block{width:100%;}

/* ===== ヘッダー（.topbar / .brand は LP・アプリと統一） ===== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 clamp(12px,2.5vw,20px);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;}
.brand{display:flex;align-items:center;gap:11px;min-width:0;border-radius:12px;padding:4px 8px;margin:-4px -8px;transition:background .15s ease,opacity .15s ease;}
.brand:hover{background:color-mix(in srgb,var(--terra) 9%,transparent);opacity:.92;}
.brand:focus-visible{outline:2px solid var(--terra);outline-offset:2px;}
.brand-mark{display:flex;flex:none;width:34px;height:34px;}
.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.brand-text strong{font-family:var(--mincho);font-size:18px;font-weight:800;letter-spacing:.03em;}
.brand-text span{font-size:11.5px;color:var(--ink-soft);font-weight:500;}

/* ===== 本文（法務テキスト） ===== */
.legal{flex:1 0 auto;padding:clamp(36px,6vw,68px) 0 clamp(48px,8vw,88px);}
.legal-head{margin-bottom:clamp(28px,4vw,44px);}
.legal-kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);font-weight:700;}
.legal-kick::before{content:"";width:20px;height:1.5px;background:var(--terra);}
.legal h1{font-family:var(--mincho);font-weight:800;font-size:clamp(28px,5vw,44px);line-height:1.3;letter-spacing:.02em;margin:14px 0 0;}
.legal-meta{margin:16px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);display:flex;gap:16px;flex-wrap:wrap;}
.legal-lead{font-size:clamp(15px,1.8vw,16px);color:var(--ink-soft);margin:20px 0 0;}

.legal article{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow-sm);}
.legal h2{font-family:var(--mincho);font-weight:700;font-size:clamp(19px,2.6vw,24px);line-height:1.45;margin:clamp(30px,4vw,42px) 0 12px;padding-top:4px;}
.legal article > h2:first-child{margin-top:0;}
.legal h3{font-family:var(--mincho);font-weight:700;font-size:17px;margin:24px 0 8px;}
.legal p{margin:0 0 14px;font-size:15.5px;}
.legal a:not(.btn):not(.brand){color:var(--terra);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.legal a:not(.btn):not(.brand):hover{color:#cf5331;}
.legal ul,.legal ol{margin:0 0 16px;padding-left:1.4em;}
.legal li{margin:0 0 8px;font-size:15.5px;}
.legal dl{margin:0 0 16px;}
.legal dt{font-weight:700;margin-top:14px;}
.legal dd{margin:4px 0 0;color:var(--ink-soft);}
.legal .note{background:var(--terra-soft);border-radius:12px;padding:16px 18px;font-size:14.5px;color:var(--ink);}
.legal .note b{color:var(--terra);}
.legal hr{border:none;border-top:1px dashed var(--line);margin:28px 0;}

/* ===== 共通フッター（法務リンク） ===== */
.site-footer{flex:none;border-top:1px solid var(--line);background:var(--surface);}
.foot-in{display:flex;flex-direction:column;gap:14px;padding:26px 0;}
.foot-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.foot-brand{font-family:var(--mincho);font-weight:800;font-size:15px;}
.foot-brand span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);font-weight:400;margin-left:8px;}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px;font-weight:700;color:var(--ink-soft);}
.foot-links a:hover{color:var(--terra);}
.foot-note{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-soft);}

/* ===== お問い合わせフォーム ===== */
.contact-form{margin-top:6px;}
.form__notice{font-size:14px;color:var(--ink-soft);background:var(--surface-2);border-radius:12px;padding:14px 16px;margin-bottom:22px;}
.form__success{font-size:15px;font-weight:700;color:var(--sage);background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--sage) 30%,transparent);border-radius:12px;padding:16px 18px;margin-bottom:22px;}
.field{margin-bottom:20px;}
.field label{display:block;font-weight:700;font-size:14.5px;margin-bottom:7px;}
.field .req{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--terra);border-radius:6px;padding:1px 7px;margin-left:6px;letter-spacing:.04em;vertical-align:middle;}
/* チェックボックスを除外（ハマりポイント⑤対策） */
.field input:not([type=checkbox]),.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;appearance:none;transition:border-color .15s ease,box-shadow .15s ease;}
.field input:not([type=checkbox]):focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-soft);}
.field textarea{min-height:160px;resize:vertical;line-height:1.8;}
.field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237c7468' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}
.field__hint{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-soft);}
.field input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--terra);cursor:pointer;}

/* ===== responsive ===== */
@media(max-width:680px){
  .foot-top{flex-direction:column;align-items:flex-start;}
}
