/* 規約・プラポリ・お問い合わせ 共通（トップページと同じ色・文字） */
:root{
  --mint:#eaf7f0; --ink:#0f3b2b; --ink2:#3f6b59;
  --gold:#ffd257; --gold2:#f39a17; --deep:#0a2a1e; --deep2:#1d6b4c; --copper:#c27410;
  --card:#ffffff; --r:22px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--mint);color:var(--ink);font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:var(--copper)}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}

.top{position:relative;color:#fff;background:radial-gradient(ellipse at 50% 120%,#237a57 0%,var(--deep2) 35%,var(--deep) 85%)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1040px}
.logo{font-family:ui-rounded,"SF Pro Rounded","M PLUS Rounded 1c",sans-serif;display:flex;align-items:center;gap:8px;font-weight:800;font-size:22px;color:#fff6d0;text-decoration:none;letter-spacing:.02em}
.logo svg{width:24px;height:24px;color:var(--gold);filter:drop-shadow(0 0 6px rgba(255,210,87,.8))}
.nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;font-size:14px;font-weight:700}
.nav ul a{color:#d9f2e4;text-decoration:none;opacity:.9}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--gold);opacity:1}
@media (max-width:620px){.nav ul{display:none}}
.navr{display:flex;align-items:center;gap:18px}
.lang{display:flex;border:1.5px solid rgba(255,246,208,.45);border-radius:999px;padding:2px;font-size:12px;font-weight:800;line-height:1}
.lang a,.lang span{padding:5px 10px;border-radius:999px;text-decoration:none;color:#d9f2e4}
.lang span{background:var(--gold);color:var(--deep)}
.lang a:hover{color:var(--gold)}
.title{text-align:center;padding:26px 0 18px}
.title h1{margin:0;font-size:clamp(26px,5vw,36px);font-weight:800;color:#fff6d0}
.title p{margin:4px 0 0;color:#cfeedd;font-size:14px}
.wave{display:block;width:100%;height:40px;margin-bottom:-1px}

main{padding:28px 0 64px}
.doc{background:var(--card);border-radius:var(--r);padding:32px 28px;box-shadow:0 8px 24px rgba(15,59,43,.08);min-height:240px}
@media (max-width:560px){.doc{padding:24px 18px}}
.doc h2{font-size:18px;margin:28px 0 8px;padding-left:12px;border-left:5px solid var(--gold)}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{font-size:15px}
.doc .pending{color:var(--ink2);text-align:center;margin:60px 0}
.form{margin-top:20px;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #d6efe2}
.form iframe{display:block;width:100%;height:700px;border:0}
.fallback{font-size:13px;color:var(--ink2);margin:12px 0 0;text-align:center}

footer{background:var(--deep);color:#9fd8bd;text-align:center;padding:28px 20px 36px;font-size:13px}
footer .logo{justify-content:center;margin-bottom:6px;font-size:18px}
footer .logo svg{width:20px;height:20px}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0 0 10px}
footer nav a{color:#cfeedd;text-decoration:none;font-weight:700}
footer nav a:hover{color:var(--gold)}

/* 規約・プラポリの本文 */
.doc .updated{margin:0 0 20px;font-size:13px;color:var(--ink2);text-align:right}
.doc .enacted{margin-top:40px;font-size:13px;color:var(--ink2)}
.doc .toc{background:var(--mint);border-radius:16px;padding:16px 20px;margin:0 0 28px}
.doc .toc-h{margin:0 0 6px;font-weight:800;font-size:15px}
.doc .toc ol{list-style:none;margin:0;padding:0}
.doc .toc li{font-size:14px;margin:2px 0}
.doc .toc a{color:var(--ink);text-decoration:none}
.doc .toc a:hover{color:var(--copper);text-decoration:underline}
.doc h2{scroll-margin-top:16px}
.doc ol,.doc ul{padding-left:1.4em}
.doc li{margin:4px 0}
.doc code{background:var(--mint);padding:1px 6px;border-radius:6px;font-size:.9em;word-break:break-all}
.doc table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14px}
.doc th,.doc td{border:1px solid #d6efe2;padding:9px 11px;text-align:left;vertical-align:top}
.doc th{background:var(--mint);width:32%}
.doc a{overflow-wrap:anywhere}
.doc .btn{display:inline-block;margin-top:4px;padding:10px 22px;border-radius:999px;background:var(--gold);color:var(--deep);font-weight:800;text-decoration:none}
.doc .btn:hover{background:var(--gold2)}

/* 2・10条の表（スマホでは縦に並べる） */
.doc table.kv th{width:9.5em}
.doc table.list th{background:var(--mint)}
.doc table.list th:first-child,.doc table.list td:first-child{width:40%}
@media (max-width:560px){
  .doc table.kv th,.doc table.kv td{display:block;width:auto;border-top:0}
  .doc table.kv tr:first-child th{border-top:1px solid #d6efe2}
  .doc table.list thead{display:none}
  .doc table.list,.doc table.list tbody,.doc table.list tr,.doc table.list td{display:block;width:auto}
  .doc table.list tr{border:1px solid #d6efe2;border-radius:12px;margin:0 0 10px;overflow:hidden}
  .doc table.list td{border:0;padding:8px 12px}
  .doc table.list td:first-child{width:auto;background:var(--mint);font-weight:700}
  .doc table.list td::before{content:attr(data-label);display:block;font-size:12px;font-weight:400;color:var(--ink2)}
}

/* 英語版の冒頭の注意書き（日本語版が正文） */
.doc .lang-notice{background:var(--mint);border:1px solid #d6efe2;border-radius:12px;padding:14px 16px;margin:0 0 24px}
.doc .lang-notice p{margin:0;font-size:13px;color:var(--ink2)}
.doc .lang-notice .lang-notice-h{font-weight:800;color:var(--ink);margin-bottom:4px}
