/* プライバシーポリシー専用。本文に多くの文字を使うため、サブセットの Noto Sans JP は読み込まず
   端末標準の日本語書体を使う(assets/noto-release-*.ttf はトップページ本文のサブセット)。 */
:root{--navy:#102333;--deep:#0d1924;--paper:#f1f0ec;--red:#d63345;--ink:#172a38;--muted:#4e5d66;--on-dark:#d5e0e6;--line:#c8cfd1;
  font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0;line-height:1.9}
img{max-width:100%;display:block}
a{color:#a3202f;text-underline-offset:4px}
a:focus-visible{outline:3px solid #1886b0;outline-offset:4px}
::selection{background:var(--red);color:#fff}

.skip{position:fixed;top:-100px;left:20px;z-index:9;background:#fff;padding:15px}
.skip:focus{top:10px}

.header{height:88px;background:var(--deep);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 32px;
  background-image:radial-gradient(circle,rgba(221,235,244,.13) .8px,transparent 1px);background-size:16px 16px}
.brand{display:block;flex:none;text-decoration:none}
.logo-crop{display:block;width:228px;aspect-ratio:3.8;position:relative;overflow:hidden;background:#fff}
.logo-crop img{position:absolute;width:100%;max-width:none;height:auto;top:-136.36%;left:0}
.header-back{color:#fff;font-size:12px;font-weight:800;letter-spacing:.025em;text-decoration:none;
  border:1px solid #697580;padding:12px 16px;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.header-back:hover{background:#1b2b39}

main{padding:64px 0 88px}
.content{width:min(760px,calc(100% - 64px));margin-inline:auto}
h1{font-size:34px;font-weight:900;letter-spacing:-.02em;line-height:1.5;margin:0}
.updated{margin:14px 0 0;font-size:13px;color:var(--muted)}
.lead{margin:32px 0 0;font-size:16px}
h2{font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.6;margin:52px 0 0;padding-top:26px;border-top:1px solid var(--line)}
h3{font-size:16px;font-weight:800;margin:28px 0 0}
p{margin:16px 0 0;font-size:16px}
ul{margin:16px 0 0;padding-left:1.35em}
li{margin-top:9px;font-size:16px}
.note{margin-top:20px;padding:18px 20px;background:#e6e4df;border-left:4px solid var(--red);font-size:15px}
.note p:first-child{margin-top:0}
strong{font-weight:800}
.contact{margin-top:16px;font-size:16px;word-break:break-all}

footer{background:var(--deep);color:#fff;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:28px 32px;font-size:11px;
  background-image:radial-gradient(circle,rgba(221,235,244,.13) .8px,transparent 1px);background-size:16px 16px}
.footer-logo{display:block;text-decoration:none}
.footer-logo .logo-crop{width:160px}
footer p{color:var(--on-dark);font-size:11px;margin:0}
footer a.back{color:#fff;text-decoration:none;min-height:44px;display:flex;align-items:center}

@media(max-width:700px){
  .header{height:74px;padding:8px 16px;gap:12px}
  .brand .logo-crop{width:166px}
  .header-back{font-size:10px;padding:10px 11px}
  main{padding:44px 0 64px}
  .content{width:calc(100% - 32px)}
  h1{font-size:26px}
  h2{font-size:18px;margin-top:44px}
  p,li,.lead{font-size:15px}
  footer{padding:24px 16px max(24px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:14px}
  footer p{order:3;width:100%;font-size:10px}
}
@media(max-width:359px){.brand .logo-crop{width:144px}.header{padding-inline:12px}.content{width:calc(100% - 28px)}}
