
:root{
  --navy:#06285e;--navy2:#0b3f86;--red:#d8202f;--ink:#172033;
  --muted:#667287;--line:#dfe5ed;--soft:#f5f8fc;--white:#fff;
  --shadow:0 14px 38px rgba(7,35,78,.10);--radius:20px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;line-height:1.75}
a{text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:13px;color:var(--navy)}
.mark{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,var(--navy),var(--navy2));display:grid;place-items:center;color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 20px rgba(6,40,94,.22)}
.brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:23px;letter-spacing:.02em}
.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.14em;margin-top:2px}
.menu{display:flex;align-items:center;gap:22px}
.menu a{color:#27364e;font-size:13px;font-weight:750}
.lang{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy)!important}
.shop{padding:10px 16px;border-radius:999px;background:var(--navy);color:#fff!important}

.hero{position:relative;min-height:560px;background:url("usa-japan-hero.jpg") center center/cover no-repeat;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.76) 34%,rgba(255,255,255,.22) 68%,rgba(255,255,255,0) 100%)}
.hero-inner{position:relative;z-index:1;max-width:680px;padding:78px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--navy2);font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.eyebrow:before{content:"";width:34px;height:2px;background:var(--red)}
h1{margin:17px 0 20px;color:var(--navy);font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(42px,5vw,69px);line-height:1.12;letter-spacing:-.025em}
.hero p{margin:0;max-width:610px;color:#344258;font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:10px;font-weight:800}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(6,40,94,.22)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid #cbd5e2}

.features{margin-top:-34px;position:relative;z-index:5}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.feature{padding:24px 22px;border-right:1px solid var(--line)}
.feature:last-child{border-right:0}
.feature b{display:block;color:var(--navy);font-size:16px;margin-bottom:5px}
.feature span{color:var(--muted);font-size:13px}

section{padding:82px 0}
.section-head{text-align:center;max-width:780px;margin:0 auto 38px}
.section-head .kicker{color:var(--red);font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.section-head h2{margin:9px 0 10px;color:var(--navy);font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:38px;line-height:1.2}
.section-head p{margin:0;color:var(--muted)}
.soft{background:var(--soft)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 26px rgba(14,45,84,.06)}
.card h3{margin:0 0 13px;color:var(--navy);font-size:24px}
.card p{margin:0 0 18px;color:var(--muted)}
.checks{display:grid;gap:10px;margin:20px 0}
.checks span{display:flex;gap:9px;color:#3c4b63;font-size:14px}
.checks span:before{content:"✓";width:22px;height:22px;border-radius:50%;background:#e9f1fb;color:var(--navy);display:grid;place-items:center;font-weight:900;flex:0 0 22px}

.profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.profile-copy{padding:34px;border-radius:var(--radius);background:linear-gradient(145deg,var(--navy),#0c4a95);color:#fff;box-shadow:var(--shadow)}
.profile-copy h3{margin:0 0 15px;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px}
.profile-copy p{margin:0;color:#dbe7f8}
.profile-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(14,45,84,.05)}
.profile-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}
.profile-row:last-child{border-bottom:0}
.profile-row dt,.profile-row dd{margin:0;padding:17px 20px}
.profile-row dt{background:#f4f7fb;color:var(--navy);font-weight:800}
.profile-row dd{color:#39485e}
.profile-row a{color:var(--navy2);font-weight:700}

.business-grid,.product-grid,.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.icon-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(14,45,84,.05)}
.icon{width:48px;height:48px;border-radius:15px;background:#eaf1fb;color:var(--navy);display:grid;place-items:center;font-size:23px;font-weight:900;margin-bottom:17px}
.icon-card h3{margin:0 0 10px;color:var(--navy);font-size:20px}
.icon-card p{margin:0;color:var(--muted);font-size:14px}

.store{background:linear-gradient(135deg,var(--navy),#0c4a95);color:#fff}
.store h3{color:#fff}
.store p{color:#dbe7f8}
.store .checks span{color:#fff}
.store .checks span:before{background:rgba(255,255,255,.16);color:#fff}
.store .btn{background:#fff;color:var(--navy)}

.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}
.contact-list{display:grid;gap:14px}
.contact-item{display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:start;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.contact-item .ci{width:48px;height:48px;border-radius:14px;background:#eaf1fb;color:var(--navy);display:grid;place-items:center;font-size:20px}
.contact-item b{display:block;color:var(--navy)}
.contact-item span,.contact-item a{color:var(--muted)}
.contact-note{padding:30px;border-radius:var(--radius);background:#061f49;color:#fff}
.contact-note h3{margin:0 0 12px;font-size:25px}
.contact-note p{margin:0 0 20px;color:#c9d7eb}
.contact-note .btn{background:#fff;color:var(--navy)}

footer{background:#041631;color:#aebdd2;padding:30px 0}
.footer{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:13px}
.footer a{color:#fff}

@media(max-width:980px){
  .menu a:not(.lang):not(.shop){display:none}
  .profile,.contact-grid{grid-template-columns:1fr}
  .business-grid,.product-grid,.quality-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .feature:nth-child(2){border-right:0}
  .feature:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .two-col{grid-template-columns:1fr}
  .hero:before{background:rgba(255,255,255,.78)}
}
@media(max-width:620px){
  .wrap{width:min(100% - 24px,1180px)}
  .brand strong{font-size:18px}
  .brand small{display:none}
  .shop{display:none}
  .hero{min-height:520px;background-position:58% center}
  .hero-inner{padding:58px 0}
  .hero p{font-size:16px}
  .feature-grid,.business-grid,.product-grid,.quality-grid{grid-template-columns:1fr}
  .feature{border-right:0;border-bottom:1px solid var(--line)}
  .feature:last-child{border-bottom:0}
  .profile-row{grid-template-columns:1fr}
  .profile-row dt{padding-bottom:7px}
  .profile-row dd{padding-top:7px}
  .footer{display:block;text-align:center}
  .footer>div+div{margin-top:10px}
}
