/* 特商法・プライバシーポリシー共通。色とヘッダー/フッターは /download/style.css に合わせる。
   本文は字数が多く、LP用の間引きフォントに無い字が混ざるため、システムのフォントで組む。 */
:root{--navy:#073B4C;--teal:#007C83;--mint:#EAF8F7;--yellow:#FFD447;--white:#FFFFFF;--border:#bededc;--muted:#557078}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--navy);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Meiryo",sans-serif;line-height:1.8}
h1,h2,h3,p,dl,dd,ul,ol{margin:0}
a{color:inherit}
a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}

.site-header{background:var(--white);border-bottom:1px solid #e5efec}
.header-inner{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:block;width:78px;line-height:0}
.brand img{width:100%;height:auto}
.header-label{font-size:13px;font-weight:700;color:var(--teal)}

.page-heading{text-align:center;background:var(--mint);padding:40px 20px 42px}
.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--teal);font-weight:700;margin-bottom:9px}
h1{font-size:30px;font-weight:800;line-height:1.5;letter-spacing:-.02em}
h1:after{content:"";display:block;width:60px;height:5px;background:var(--yellow);margin:15px auto 0}

.legal{max-width:880px;margin:48px auto 72px;padding:0 24px;font-size:15px}
.legal .lead{margin-bottom:28px}

/* 特商法：項目名と内容の2列 */
.legal-table{border-top:1px solid var(--border)}
.legal-row{display:grid;grid-template-columns:250px minmax(0,1fr);border-bottom:1px solid var(--border)}
.legal-row dt{background:var(--mint);font-weight:700;padding:18px 20px}
.legal-row dd{padding:18px 20px;overflow-wrap:anywhere}
.legal-row dd p+p,.legal-row dd p+h3,.legal-row dd h3+p{margin-top:8px}
.legal-row dd h3{font-size:15px;font-weight:700}
.legal-row dd h3:not(:first-child){margin-top:16px}
.legal-row ul{padding-left:1.2em}

/* プライバシーポリシー：条文 */
.policy-section{margin-top:36px}
.policy-section h2{font-size:19px;font-weight:800;line-height:1.5;padding-left:14px;border-left:4px solid var(--teal);margin-bottom:12px}
.policy-section p+p,.policy-section p+ul,.policy-section ul+p,.policy-section p+ol,.policy-section ol+p{margin-top:10px}
.policy-section ul,.policy-section ol{padding-left:1.4em}
.policy-section li+li{margin-top:4px}
.contact-box{margin-top:12px;background:var(--mint);border-radius:10px;padding:18px 22px}
.signature{margin-top:44px;text-align:right}

.site-footer{background:var(--navy);color:white;padding:26px 24px}
.footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-brand{display:block;font-size:22px;font-weight:900;line-height:1.3;text-decoration:none}
.footer-brand small{display:block;font-size:9px;letter-spacing:.35em;margin-top:4px}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer-links a{font-size:12px;text-underline-offset:4px;padding:6px 0}
.footer-links a[aria-current="page"]{text-decoration:none;opacity:.75}

@media(max-width:1199px){.header-inner{margin-inline:32px}}
@media(max-width:767px){
  .header-inner{margin:0;padding:12px 20px}.brand{width:66px}.header-label{font-size:11px}
  .page-heading{padding:28px 18px 30px}h1{font-size:23px}
  .legal{margin:28px auto 48px;padding:0 16px;font-size:14px}
  .legal-row{grid-template-columns:1fr}
  .legal-row dt{padding:12px 16px}
  .legal-row dd{padding:14px 16px 18px}
  .policy-section h2{font-size:17px}
  .contact-box{padding:16px}
  .footer-inner{flex-direction:column;gap:12px}
  .site-footer{padding:25px 16px}
  .footer-brand{font-size:21px}
  .footer-links{justify-content:center}
}
