
:root{
  --red:#b83232;
  --ink:#161616;
  --muted:#666;
  --line:#ececec;
  --blue:#1684d8;
  --paper:#fff;
  --soft:#f7f7f7;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit}
.feature-header{
  position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e8e8e8;
}
.feature-header .inner{
  max-width:100%;min-height:176px;margin:0 auto;padding:0 42px;
  display:grid;grid-template-columns:290px minmax(0,1fr) auto;align-items:center;gap:34px;
}
.feature-brand{height:176px;display:flex;align-items:center;border-right:1px solid #f0f0f0;padding-right:28px}
.feature-brand img{width:220px;max-height:150px;object-fit:contain}
.feature-nav{display:flex;align-items:center;justify-content:center;gap:48px;white-space:nowrap}
.feature-nav a{
  position:relative;padding:72px 0 68px;font-size:21px;font-weight:700;letter-spacing:.01em;
}
.feature-nav a:hover{color:var(--red)}
.lang-switch{display:flex;gap:12px;align-items:center}
.lang-switch button{
  width:58px;height:58px;border-radius:50%;border:1px solid #dcdcdc;background:#fff;
  color:#1684d8;font-weight:700;cursor:pointer;
}
.lang-switch button.active{background:#111;color:#fff;border-color:#111}
.menu-toggle{display:none;border:0;background:#fff;font-size:30px;cursor:pointer}

.page-intro{padding:74px 28px 34px;text-align:center}
.page-intro h1{
  margin:0 auto 18px;max-width:1200px;font-size:clamp(48px,5vw,78px);line-height:1.04;letter-spacing:-.035em;
}
.page-intro p{margin:0 auto 28px;max-width:980px;font-size:21px;line-height:1.55;color:var(--muted)}
.view-more{
  display:inline-flex;align-items:center;justify-content:center;min-width:290px;padding:16px 34px;border-radius:999px;
  border:0;background:#6ab0f7;color:#fff;font-size:24px;letter-spacing:.07em;font-weight:700;box-shadow:0 8px 18px rgba(72,155,236,.28);cursor:pointer
}
.hero-wrap{max-width:var(--max);margin:0 auto;padding:18px 28px 92px}
.hero-image{width:100%;aspect-ratio:3/1;object-fit:cover;border-radius:26px}

.content{max-width:var(--max);margin:0 auto;padding:0 28px}
.section{padding:48px 0 58px;border-top:1px solid #f3f3f3}
.section:first-child{border-top:0}
.section h2{font-size:clamp(36px,4.2vw,62px);line-height:1.06;letter-spacing:-.03em;margin:0 0 26px}
.section h3{font-size:30px;line-height:1.15;margin:0 0 16px}
.section p,.section li{font-size:21px;line-height:1.62;color:#2a2a2a}
.section .lead{font-size:24px;color:#555;max-width:1120px}
.section ul{padding-left:28px;margin:20px 0}
.section li{margin:11px 0}

.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:54px;align-items:center}
.split.reverse{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)}
.split.reverse .visual{order:-1}
.visual img{width:100%;border-radius:18px;max-height:600px;object-fit:cover}
.visual figcaption{font-size:14px;color:#777;margin-top:10px}

.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.feature-card{background:var(--soft);border:1px solid #ededed;border-radius:20px;padding:28px;min-height:220px}
.feature-card h3{font-size:26px}
.feature-card p{font-size:18px;color:#555;margin-bottom:0}

.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.material-card{border:1px solid #ececec;border-radius:20px;padding:28px;background:#fff}
.material-card h3{font-size:28px}
.material-card p{font-size:18px;color:#555}
.material-card .tag{display:inline-flex;padding:7px 12px;border-radius:99px;background:#eef6fd;color:#126fae;font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:16px}

.notice{
  margin:24px 0;padding:22px 24px;border-left:4px solid var(--red);background:#faf6f6;border-radius:12px;
  font-size:18px;line-height:1.55;color:#444
}
.wide-image{width:100%;border-radius:20px;margin:28px 0 12px;max-height:680px;object-fit:cover}
.image-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.image-row img{width:100%;height:420px;object-fit:cover;border-radius:18px}

.footer{margin-top:92px;background:#f7f7f7;border-top:1px solid #eee}
.footer .inner{max-width:var(--max);margin:auto;padding:58px 28px 40px;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:54px}
.footer-logo{width:180px;margin-bottom:18px}
.footer h4{font-size:19px;margin:0 0 16px}
.footer p,.footer a{font-size:16px;line-height:1.6;color:#555}
.footer-links{display:grid;gap:10px}
.footer-fine{max-width:var(--max);margin:auto;padding:18px 28px 28px;border-top:1px solid #e5e5e5;color:#777;font-size:14px}

@media(max-width:1180px){
  .feature-header .inner{grid-template-columns:220px minmax(0,1fr) auto;padding:0 24px;min-height:150px}
  .feature-brand{height:150px}
  .feature-brand img{width:175px}
  .feature-nav{gap:28px}
  .feature-nav a{font-size:18px;padding:61px 0}
  .lang-switch button{width:50px;height:50px}
  .feature-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .feature-header .inner{display:grid;grid-template-columns:1fr auto auto;min-height:110px}
  .feature-brand{height:110px;border-right:0;padding-right:0}
  .feature-brand img{width:142px}
  .menu-toggle{display:block}
  .feature-nav{
    display:none;position:absolute;left:0;right:0;top:110px;background:#fff;border-bottom:1px solid #eee;
    padding:18px 24px;flex-direction:column;gap:0;align-items:stretch
  }
  .feature-nav.open{display:flex}
  .feature-nav a{padding:15px 0;font-size:17px}
  .lang-switch{justify-self:end}
  .lang-switch button{width:44px;height:44px}
  .split,.split.reverse{grid-template-columns:1fr;gap:28px}
  .split.reverse .visual{order:0}
  .feature-cards,.material-grid{grid-template-columns:1fr}
  .image-row{grid-template-columns:1fr}
  .image-row img{height:auto}
  .footer .inner{grid-template-columns:1fr}
}
@media(max-width:620px){
  .feature-header .inner{grid-template-columns:1fr auto;padding:0 16px}
  .lang-switch{grid-column:1/-1;display:none}
  .feature-nav.open + .lang-switch{display:flex}
  .page-intro{padding:46px 18px 26px}
  .page-intro h1{font-size:44px}
  .page-intro p{font-size:18px}
  .view-more{min-width:220px;font-size:19px}
  .hero-wrap,.content{padding-left:16px;padding-right:16px}
  .hero-wrap{padding-bottom:58px}
  .hero-image{border-radius:16px;aspect-ratio:16/8}
  .section{padding:36px 0 44px}
  .section h2{font-size:38px}
  .section p,.section li{font-size:18px}
  .footer{margin-top:54px}
}
