*{box-sizing:border-box}
:root{color-scheme:light}
html{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:#eefaff;color:#073d64;line-height:1.8}
body{margin:0;background:linear-gradient(180deg,#e8f8ff 0%,#fff 420px);font-size:16px}
a{color:#075fc9;text-decoration:underline;text-underline-offset:3px}
.legal-header{background:#59c5f3;border-bottom:3px solid #168ec4}
.legal-header-inner{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.legal-logo{display:inline-flex;align-items:center;text-decoration:none}
.legal-logo img{display:block;width:auto;height:54px;max-width:min(280px,62vw);object-fit:contain}
.legal-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border-radius:999px;background:#075fc9;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}
.legal-main{padding:44px 16px 72px}
.legal-shell{width:min(900px,100%);margin:0 auto;padding:clamp(24px,5vw,52px);background:#fff;border:1px solid #b9def2;border-radius:22px;box-shadow:0 12px 30px rgba(7,87,184,.1);text-align:center}
.legal-eyebrow{margin:0 0 10px;color:#e2a800;font-size:14px;font-weight:900;letter-spacing:.12em;line-height:1.4}
.legal-shell h1{margin:0;color:#0757b8;font-size:clamp(32px,5vw,48px);line-height:1.3;letter-spacing:.02em;text-wrap:balance}
.legal-lead{margin:20px 0 0;font-size:18px;line-height:1.9;font-weight:700}
.legal-updated{margin:12px 0 0;color:#55748a;font-size:14px}
.legal-shell section{margin-top:30px;padding:28px clamp(16px,3vw,28px);border:1px solid #d7edf7;border-radius:16px;background:#f4fbff}
.legal-shell h2{margin:0 0 13px;color:#0757b8;font-size:clamp(22px,3vw,30px);line-height:1.45;text-wrap:balance}
.legal-shell h3{margin:22px 0 7px;color:#073d64;font-size:20px;line-height:1.5}
.legal-shell p{margin:10px auto;max-width:46rem;font-size:16px;line-height:1.9;overflow-wrap:anywhere;text-wrap:pretty}
.legal-shell ul{margin:16px auto 0;padding:0;max-width:46rem;list-style:none}
.legal-shell li{margin:8px 0;padding:12px 16px;background:#fff;border:1px solid #dceef7;border-radius:10px;font-size:16px;line-height:1.85;overflow-wrap:anywhere;text-wrap:pretty}
.legal-note{margin-top:24px!important;padding:18px 20px;border:1px solid #f2e2a1;border-top:3px solid #ffd43d;background:#fffcf0;border-radius:12px;font-size:15px!important}
.legal-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.legal-contact a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;background:#075fc9;color:#fff;font-size:17px;font-weight:900;text-decoration:none}
.legal-contact a:first-child{background:#ff4d4d}
.legal-footer{padding:26px 16px 90px;background:#fff8e8;border-top:1px solid #f0dfb5;color:#16324a;text-align:center}
.legal-footer p{margin:5px 0;font-size:14px;line-height:1.7}
.legal-footer a{color:#075fc9}
@media(max-width:650px){
  body{font-size:17px}
  .legal-header-inner{width:calc(100% - 20px);min-height:70px}
  .legal-logo img{height:43px;max-width:54vw}
  .legal-home{min-height:42px;padding:8px 11px;font-size:15px}
  .legal-main{padding:22px 10px 52px}
  .legal-shell{padding:23px 17px 31px;border-radius:16px}
  .legal-eyebrow{font-size:13px}
  .legal-shell h1{font-size:31px;line-height:1.4}
  .legal-lead{font-size:17px;line-height:1.85}
  .legal-shell section{margin-top:24px;padding:23px 13px;border-radius:12px}
  .legal-shell li{padding:12px 10px}
  .legal-shell h2{font-size:24px;line-height:1.5}
  .legal-shell h3{font-size:20px;line-height:1.55}
  .legal-shell p,.legal-shell li{font-size:17px;line-height:1.9}
  .legal-note{font-size:15px!important;line-height:1.8!important}
  .legal-contact{grid-template-columns:1fr;gap:10px}
  .legal-contact a{font-size:17px}
}
