/* 規約ページ共通（公式サイトと同じ配色・フォント。フォントは fonts/build_fonts.py が legal/*.html の文字も含めて作る） */
@font-face{font-family:"ARiVE Display";src:url("../fonts/sub/ARiVEDisplay.woff2") format("woff2");font-display:swap}
@font-face{font-family:"MPLUS1";src:url("../fonts/sub/MPLUS1.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Anton";src:url("../fonts/sub/Anton.woff2") format("woff2");font-display:swap}
:root{--navy:#0C274B;--navy2:#071A33;--yellow:#FFE600;--red-ink:#E6123D;--kiwami:"ARiVE Display",sans-serif;--body:"MPLUS1",system-ui,sans-serif;--anton:"Anton",sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-weight:500;color:var(--navy);background:#fff;line-height:1.85;font-feature-settings:"palt";word-break:auto-phrase;text-wrap:pretty}
a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:9;background:#fff;padding:8px 12px}
.lh{background:var(--navy);height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.lh img{height:28px;width:auto;display:block}
.lh a{display:inline-flex;align-items:center;min-height:44px}
.lh__back{color:#fff;font-size:13px;font-weight:900;text-decoration:none;gap:6px}
.lh__back:hover{color:var(--yellow)}
.lt{background:var(--yellow);padding:54px 24px 64px;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),0 100%)}
.lt__in{max-width:880px;margin:0 auto}
.eyebrow{display:inline-block;font-family:var(--anton);font-size:14px;letter-spacing:.18em;background:var(--navy);color:var(--yellow);padding:3px 12px;transform:skewX(-10deg)}
.lt h1{font-family:var(--kiwami);font-weight:400;font-size:clamp(28px,4vw,46px);line-height:1.2;margin-top:14px}
.lt__d{margin-top:8px;font-size:13px;font-weight:800}
.lm{max-width:880px;margin:0 auto;padding:40px 24px 72px}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:900;font-size:14px;text-decoration:underline;text-underline-offset:4px}
/* 特商法の表 */
.lg-tb{width:100%;border-collapse:collapse;margin-top:16px;border-top:3px solid var(--navy);font-size:14.5px}
.lg-tb th,.lg-tb td{text-align:left;vertical-align:top;padding:16px 12px;border-bottom:1px solid #cfd6e0}
.lg-tb th{width:13em;font-weight:900;background:#f5f7fa;white-space:nowrap}
.lg-tb td{font-weight:600}
.lg-tb a{font-weight:800;text-underline-offset:3px;overflow-wrap:anywhere}
/* 規約 */
.tm{margin-top:16px}
.tm section{border:3px solid var(--navy);border-radius:14px;padding:20px 22px 14px;margin-top:18px;box-shadow:5px 6px 0 var(--navy)}
.tm h2{font-family:var(--kiwami);font-weight:400;font-size:19px;line-height:1.4;margin-bottom:10px}
.tm p,.tm li{font-size:14.5px;font-weight:600;margin-bottom:8px}
.tm ul{list-style:none}
.tm li{position:relative;padding-left:1.1em}
.tm li::before{content:"・";position:absolute;left:0;color:var(--red-ink);font-weight:900}
.tm a{font-weight:800;text-underline-offset:3px;overflow-wrap:anywhere}
.lnav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:40px;padding-top:20px;border-top:2px solid var(--navy)}
.lnav a{display:inline-flex;align-items:center;min-height:44px;font-weight:900;font-size:14px;text-underline-offset:4px}
.lf{background:var(--navy);color:#fff;text-align:center;padding:30px 16px 36px;font-size:12px}
.lf p{opacity:.8}
@media (max-width:640px){
  .lh{padding:0 16px}
  .lt{padding:40px 20px 50px}
  .lm{padding:28px 20px 56px}
  .lg-tb th,.lg-tb td{display:block;width:100%;white-space:normal}
  .lg-tb th{padding:12px 12px 6px;border-bottom:0}
  .lg-tb td{padding:6px 12px 14px}
  .tm section{padding:16px 16px 10px;box-shadow:4px 5px 0 var(--navy)}
  .tm h2{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
