:root{--ink:#152238;--blue:#205b91;--pale:#f2f5f7;--line:#dce3e8;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8;background:#fff}
.header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20}
.brand{font-weight:800;letter-spacing:.14em;text-decoration:none;color:var(--ink);font-size:20px}.brand span{color:var(--blue)}
.navwrap{display:flex;align-items:center;gap:28px}nav{display:flex;gap:26px}nav a,.lang a{color:var(--ink);text-decoration:none;font-size:14px}.lang{font-size:13px;white-space:nowrap}.lang strong{color:var(--blue)}
.hero{min-height:650px;padding:120px max(8vw,32px);position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 55%,#edf3f7 55%)}
.hero h1{font-size:clamp(44px,7vw,86px);line-height:1.18;letter-spacing:.02em;margin:15px 0 24px}.hero p{max-width:650px;font-size:17px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--blue)}.button{display:inline-block;margin-top:25px;padding:13px 25px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px}.button.light{background:#fff;color:var(--ink)}
.hero-mark{position:absolute;right:7vw;top:120px;font-weight:900;font-size:clamp(120px,22vw,330px);line-height:1;color:rgba(32,91,145,.08);letter-spacing:-.08em}
.section{padding:100px max(8vw,32px)}.section h2{font-size:clamp(30px,4vw,50px);line-height:1.35;margin:8px 0 25px}.lead{max-width:700px}
.purpose{display:grid;grid-template-columns:120px 1fr;background:var(--pale)}.purpose>div:last-child{max-width:850px}.section-no{font-size:54px;font-weight:300;color:#a7b4bd}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line)}.cards article{background:#fff;padding:40px}.cards b,.strengths span{color:var(--blue);font-size:13px}.cards h3,.strengths h3{font-size:20px;line-height:1.5;margin:16px 0}
.dark{background:var(--ink);color:#fff}.dark .eyebrow{color:#8ec0e9}.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.strengths p{color:#d3dbe3}
.profile-intro{font-size:18px;max-width:850px;margin-bottom:50px}dl{max-width:900px;margin:0}dl div{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);padding:20px 0}dl div:last-child{border-bottom:1px solid var(--line)}dt{font-weight:700}dd{margin:0}
.contact{background:var(--pale)}.contactbox{max-width:900px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;margin-top:30px}.mail{font-size:clamp(22px,3vw,34px);font-weight:700;color:var(--ink);text-decoration:none;word-break:break-all}.note{font-size:13px;color:#657482}
.legal{max-width:900px}.legal h2{font-size:28px;margin-top:48px}.legal h3{font-size:19px;margin-top:34px}.legal p,.legal li{color:#344256}.back{display:inline-block;margin-bottom:28px;color:var(--blue);text-decoration:none}
footer{padding:55px max(8vw,32px);background:#0e1828;color:#fff}.footerrow{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footerlinks{display:flex;gap:20px;flex-wrap:wrap}.footerlinks a{color:#c8d2db;text-decoration:none;font-size:13px}footer .brand{color:#fff}footer p{color:#9eafbd}footer small{color:#7f909e}
@media(max-width:860px){.header{min-height:68px}.header nav{display:none}.navwrap{gap:16px}.hero{min-height:570px;padding-top:90px;background:linear-gradient(155deg,#fff 68%,#edf3f7 68%)}.hero-mark{top:270px;right:-20px}.section{padding:72px 24px}.purpose{grid-template-columns:1fr}.section-no{font-size:34px;margin-bottom:20px}.cards,.strengths{grid-template-columns:1fr}.cards article{padding:30px}.strengths{gap:25px}dl div{grid-template-columns:1fr;gap:4px}dt{color:#63717e}.hero h1{font-size:46px}.footerrow{display:block}.footerlinks{margin-top:24px}}

/* Privacy Policy: restrained document typography */
.legal{
  max-width:860px;
  padding-top:72px;
  padding-bottom:88px;
}
.legal > h1{
  font-size:32px;
  line-height:1.4;
  margin:8px 0 32px;
  letter-spacing:.01em;
}
.legal > h2{
  font-size:19px;
  line-height:1.6;
  margin:34px 0 8px;
  font-weight:700;
}
.legal > h3{
  font-size:17px;
  line-height:1.6;
  margin:28px 0 8px;
}
.legal > p,
.legal > ul,
.legal > ol{
  font-size:15px;
  line-height:1.9;
  margin-top:8px;
  margin-bottom:16px;
}
.legal .eyebrow{
  font-size:11px;
}
.legal .back{
  font-size:14px;
  margin-bottom:24px;
}

@media(max-width:860px){
  .legal{
    padding-top:52px;
    padding-bottom:64px;
  }
  .legal > h1{
    font-size:27px;
    margin-bottom:26px;
  }
  .legal > h2{
    font-size:18px;
    margin-top:30px;
  }
  .legal > p,
  .legal > ul,
  .legal > ol{
    font-size:15px;
    line-height:1.85;
  }
}

