:root{
  --blue:#2680D5; --blue-d:#1b6bb8; --navy:#1a2340; --orange:#F58700;
  --ink:#292f33; --sub:#6b7280; --line:#e8ecf0; --bg:#f5f7fa; --card:#fff;
  --wrap:960px;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:"Noto Sans JP",sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.9;font-size:16px;}
img{max-width:100%;display:block;}
a{color:var(--blue);}

/* draft notice */
.draft{background:#fff8ec;border-bottom:1px solid #f0d9a8;color:#9a6a00;
  font-size:13px;text-align:center;padding:8px 16px;font-weight:500;}

/* nav */
.nav{background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid #eef1f4;position:sticky;top:0;z-index:100;}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;gap:24px;}
.nav-logo{display:flex;align-items:center;}
.nav-logo img{height:38px;width:auto;display:block;}
.nav-links{display:flex;gap:34px;list-style:none;margin:0 0 0 auto;padding:0;align-items:center;}
.nav-links a{text-decoration:none;font-size:15px;color:#292f33;font-weight:700;transition:color .15s;}
.nav-links a:hover{color:var(--blue);}
.nav-contact{flex:none;background:var(--blue);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:11px 28px;border-radius:999px;transition:background .15s;}
.nav-contact:hover{background:var(--blue-d);}
@media(max-width:820px){.nav-links{display:none;}.nav-contact{margin-left:auto;}}
@media(max-width:520px){.nav-contact{padding:9px 18px;font-size:13px;}}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.breadcrumb{font-size:12.5px;color:#8a96a3;padding:22px 0 4px;}
.breadcrumb a{color:var(--blue);text-decoration:none;}

/* hero */
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:700;
  font-size:13px;letter-spacing:.12em;margin:26px 0 14px;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue);}
h1{font-size:32px;line-height:1.5;font-weight:900;color:var(--navy);margin:0 0 22px;letter-spacing:.01em;}
@media(max-width:600px){h1{font-size:24px;}}
.lead{font-size:16px;color:#3d4753;margin:0 0 26px;}
.meta-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;}
.chip{background:#eaf2fb;color:var(--blue);font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:20px;}
.chip.g{background:#eafaf4;color:#12876b;}
.hero-img{border-radius:14px;overflow:hidden;box-shadow:0 10px 34px rgba(20,40,80,.14);margin-bottom:8px;}
.hero-img img,.sec-img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.cap{font-size:12px;color:#98a2b0;margin:8px 2px 0;}

/* KPI band */
.kpi{background:linear-gradient(135deg,#123a67,#1f5fa3);border-radius:16px;color:#fff;
  padding:34px 28px;margin:38px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:640px){.kpi{grid-template-columns:1fr;gap:26px;padding:28px 22px;}}
.kpi-item{text-align:center;}
.kpi-label{font-size:12.5px;opacity:.85;margin-bottom:8px;font-weight:500;}
.kpi-num{font-size:40px;font-weight:900;line-height:1;letter-spacing:.01em;}
.kpi-num small{font-size:18px;font-weight:700;}
.kpi-num .arrow{color:#ffd27a;margin:0 6px;}
.kpi-sub{font-size:12px;opacity:.8;margin-top:8px;}
.kpi-item + .kpi-item{border-left:1px solid rgba(255,255,255,.18);}
@media(max-width:640px){.kpi-item + .kpi-item{border-left:none;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;}}

/* company profile */
.profile{background:var(--card);border:1px solid var(--line);border-radius:14px;
  display:grid;grid-template-columns:220px 1fr;gap:0;overflow:hidden;margin:34px 0;}
@media(max-width:640px){.profile{grid-template-columns:1fr;}}
.profile-img{background:#f0f3f7;}
.profile-img img{width:100%;height:100%;object-fit:cover;min-height:220px;}
.profile-body{padding:22px 24px;}
.profile-body h3{margin:0 0 4px;font-size:17px;color:var(--navy);font-weight:700;}
.profile-role{font-size:13px;color:var(--sub);margin-bottom:14px;}
.profile-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.profile-table th{text-align:left;color:var(--sub);font-weight:600;padding:6px 12px 6px 0;white-space:nowrap;vertical-align:top;width:96px;}
.profile-table td{padding:6px 0;color:var(--ink);}

/* section */
.section{margin:52px 0;}
.sec-no{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.08em;}
h2{font-size:23px;line-height:1.5;font-weight:800;color:var(--navy);margin:6px 0 22px;}
@media(max-width:600px){h2{font-size:19px;}}
.sec-img{border-radius:12px;overflow:hidden;box-shadow:0 6px 22px rgba(20,40,80,.10);margin:24px 0;}

/* Q&A */
.qa{margin:18px 0;}
.q,.a{display:flex;gap:14px;margin:16px 0;}
.badge{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;color:#fff;}
.q .badge{background:#9aa7b5;}
.a .badge{background:var(--blue);}
.q .txt{color:#54606d;}
.a .txt{color:var(--ink);}
.txt .name{display:block;font-size:12px;font-weight:700;margin-bottom:2px;color:#7b8794;}
.a .txt .name{color:var(--blue);}

/* pull quote */
.pull{border-left:4px solid var(--orange);background:#fff;padding:20px 24px;border-radius:0 10px 10px 0;
  box-shadow:0 4px 16px rgba(20,40,80,.06);font-size:19px;font-weight:700;color:var(--navy);line-height:1.7;margin:26px 0;}

/* CTA */
.cta{background:linear-gradient(135deg,#F59331,#F57000);border-radius:18px;color:#fff;text-align:center;
  padding:46px 28px;margin:56px 0 40px;}
.cta h2{color:#fff;font-size:24px;margin:0 0 12px;}
.cta p{margin:0 auto 26px;max-width:560px;font-size:15px;opacity:.96;}
.cta-btn{display:inline-block;background:#fff;color:var(--orange);text-decoration:none;font-weight:800;
  font-size:16px;padding:15px 42px;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.16);}
.cta-note{font-size:12px;opacity:.9;margin-top:16px;}

footer{background:var(--navy);color:#b9c2d0;font-size:12.5px;text-align:center;padding:30px 24px;}
footer a{color:#cdd7e6;text-decoration:none;}
