
  :root{
    --tint:#eef5fb; --tint2:#e1edf8; --ink:#1b2b3c; --muted:#4f6275; --line:#d3deea;
    --blue:#0b5aa6; --blue-d:#073f75; --blue-l:#dcebf8; --navy:#0a2e52;
    --cta:#e8590c; --cta-d:#c94a07;
    --en:"Roboto","Noto Sans JP",sans-serif; --disp:"Noto Sans JP","Hiragino Sans",sans-serif; --num:"Roboto","Noto Sans JP",sans-serif;
    --paper:#fff; --bg:#fff; --fog:var(--tint); --bg2:var(--tint); --red:var(--cta); --red-d:var(--cta-d); --sky:#5aa5e6;
    --gold:var(--blue); --gold-l:#bcd8f3; --gold-d:var(--blue-d); --navy-2:#1f64ad; --navy-3:#5aa5e6; --navy-deep:var(--navy); --blue-l2:#c5dcf2;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *,*::before,*::after{box-sizing:inherit;}
  html{scroll-behavior:smooth;scroll-padding-top:128px;}
  body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Sans",sans-serif;line-height:1.9;font-size:17px;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
  h1,h2,h3,h4{margin:0;font-family:var(--disp);font-weight:700;line-height:1.5;}
  ::selection{background:var(--blue);color:#fff;}
  :focus-visible{outline:3px solid var(--sky);outline-offset:3px;}
  .ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-0.15em;}
  .page{display:none;}
  .page.active{display:block;}
  section{padding:92px 0;position:relative;}
  section.tint,.tint{background:var(--tint);}
  @media(max-width:640px){section{padding:60px 0;}}
  .angle-cut,.grain-overlay,.vignette-overlay,.flash{display:none;}
  @keyframes spin{to{transform:rotate(360deg);}}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
    #preloader{display:none !important;}
    .hslide{animation:none !important;opacity:0 !important;}
    .hslide:first-child{opacity:1 !important;}
  }

  /* ---------- PRELOADER (text) ---------- */
  #preloader{position:fixed;inset:0;z-index:999;background:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:28px 32px 34px;cursor:pointer;overflow:hidden;transition:transform .95s cubic-bezier(.77,0,.18,1) .32s;}
  #preloader.is-done{transform:translateY(-101%);pointer-events:none;}
  .pl-top{display:flex;justify-content:space-between;gap:16px;font-family:var(--en);font-size:15px;letter-spacing:.24em;color:var(--blue);font-weight:700;}
  .pl-center{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:1200px;margin:0 auto;}
  .pl-l1,.pl-l2{display:block;overflow:hidden;font-weight:700;line-height:1.3;padding:.05em 0 .1em;color:var(--ink);}
  .pl-l1{font-size:clamp(26px,4.2vw,56px);}
  .pl-l2{font-size:clamp(38px,7vw,100px);}
  .pl-l2 .ch.b{color:var(--blue);}
  .ch{display:inline-block;transform:translateY(115%);transition:transform .95s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--i) * 70ms + var(--b,0ms));}
  .pl-l2 .ch{--b:320ms;}
  #preloader.go .ch{transform:none;}
  #preloader.is-done .ch{transform:translateY(-115%);transition-duration:.6s;transition-delay:calc(var(--i) * 24ms);}
  .pl-sub{margin-top:16px;overflow:hidden;font-size:clamp(15px,1.5vw,19px);font-weight:500;letter-spacing:.16em;color:var(--muted);}
  .pl-sub span{display:block;transform:translateY(120%);transition:transform .9s cubic-bezier(.19,1,.22,1) 1.3s;}
  #preloader.go .pl-sub span{transform:none;}
  #preloader.is-done .pl-sub span{transform:translateY(-120%);transition-delay:0s;transition-duration:.5s;}
  .pl-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}
  .pl-count{font-family:var(--en);font-weight:700;font-size:clamp(56px,9vw,120px);line-height:.85;color:var(--blue);font-variant-numeric:tabular-nums;}
  .pl-count small{font-size:.3em;margin-left:.08em;color:var(--muted);}
  .pl-word{text-align:right;font-family:var(--en);font-weight:700;font-size:clamp(16px,2vw,26px);line-height:1.4;letter-spacing:.24em;color:var(--ink);}
  .pl-line{position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--tint2);}
  .pl-line i{display:block;height:100%;width:0;background:var(--blue);}
  .pl-skip{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-family:var(--en);font-size:12.5px;letter-spacing:.28em;color:#8a9bb0;}
  @media(max-width:640px){#preloader{padding:20px 20px 28px;}.pl-top{font-size:12px;letter-spacing:.14em;}.pl-skip{display:none;}}

  /* ---------- HEADER ---------- */
  header.site{position:fixed;top:0;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line);}
  .hd-top{background:var(--tint);color:var(--muted);max-height:36px;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--line);}
  .hd-top-in{max-width:1360px;margin:0 auto;padding:7px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:13.5px;}
  .hd-top-in b{font-weight:700;color:var(--blue-d);}
  .hd-top .sep{opacity:.45;margin:0 10px;}
  .hd-ig{display:inline-flex;align-items:center;gap:6px;margin-left:20px;font-weight:700;color:var(--blue-d);}
  header.site.is-scrolled .hd-top{max-height:0;border-bottom:0;}
  .nav{display:flex;align-items:center;height:82px;max-width:1360px;margin:0 auto;padding:0 28px;gap:26px;transition:height .3s ease;}
  header.site.is-scrolled .nav{height:68px;}
  .brand{display:flex;flex-direction:column;justify-content:center;cursor:pointer;flex-shrink:0;line-height:1.2;}
  .brand .jp{font-size:27px;font-weight:900;letter-spacing:.08em;color:var(--navy);}
  .brand .enx{font-family:var(--en);font-size:11.5px;letter-spacing:.26em;color:var(--blue);font-weight:700;margin-top:2px;}
  nav.links{display:flex;align-items:stretch;height:100%;margin-left:auto;}
  nav.links a{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 clamp(10px,1.2vw,18px);font-size:16.5px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1.3;transition:color .2s;}
  nav.links a small{font-family:var(--en);font-size:11px;letter-spacing:.16em;color:#8a9bb0;font-weight:500;}
  nav.links a::after{content:"";position:absolute;left:clamp(10px,1.2vw,18px);right:clamp(10px,1.2vw,18px);bottom:0;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .25s ease;}
  nav.links a:hover,nav.links a.current{color:var(--blue);}
  nav.links a:hover::after,nav.links a.current::after{transform:scaleX(1);}
  .head-right{display:flex;align-items:center;gap:18px;flex-shrink:0;}
  .head-tel{display:flex;flex-direction:column;line-height:1.2;}
  .head-tel .row1{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);}
  .head-tel .free{background:var(--blue);color:#fff;font-size:11.5px;padding:0 8px;font-weight:700;border-radius:2px;}
  .head-tel .num{display:flex;align-items:center;gap:7px;font-family:var(--en);font-size:29px;font-weight:700;color:var(--blue-d);letter-spacing:.02em;margin-top:2px;}
  .ph-ic{display:inline-flex;color:var(--blue);font-size:22px;}
  .cta-mini{display:flex;align-items:center;gap:10px;background:var(--cta);color:#fff;padding:14px 26px;font-size:16.5px;font-weight:700;border-radius:4px;cursor:pointer;transition:background .2s;white-space:nowrap;}
  .cta-mini svg{transition:transform .2s;}
  .cta-mini:hover{background:var(--cta-d);}
  .cta-mini:hover svg{transform:translateX(4px);}
  .nav-toggle{display:none;background:var(--blue);border:0;width:48px;height:48px;font-size:24px;cursor:pointer;color:#fff;border-radius:4px;}
  @media(max-width:1260px){nav.links{display:none;}.head-right{margin-left:auto;}.nav-toggle{display:block;}}
  @media(max-width:960px){.cta-mini{display:none;}.hd-top-in > span:last-child{display:none;}}
  @media(max-width:640px){.nav{height:62px;padding:0 14px;gap:10px;}header.site.is-scrolled .nav{height:58px;}.brand .jp{font-size:20px;}.brand .enx{font-size:9.5px;letter-spacing:.18em;}.head-tel .row1{display:none;}.head-tel .num{font-size:19px;}.ph-ic{font-size:16px;}.hd-top-in{padding:6px 14px;font-size:12px;}.nav-toggle{width:42px;height:42px;}}
  .mnav{position:fixed;inset:0;z-index:70;background:#fff;padding:22px 28px;padding-top:calc(22px + env(safe-area-inset-top,0px));transform:translateY(-100%);transition:transform .3s ease;overflow-y:auto;}
  .mnav.open{transform:translateY(0);}
  .mnav .mtop{display:flex;justify-content:space-between;align-items:center;}
  .mnav .close{background:none;border:0;font-size:34px;cursor:pointer;color:var(--ink);}
  .mnav a{display:block;font-size:20px;padding:15px 0;border-bottom:1px solid var(--line);font-weight:700;cursor:pointer;}
  .mnav .mtel{color:var(--blue);font-size:26px;border-bottom:0;margin-top:14px;font-family:var(--en);}

  /* ---------- BUTTONS ---------- */
  .btn-gold{background:var(--cta);color:#fff;padding:16px 32px;font-size:17.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:background .2s,transform .2s,box-shadow .2s;border:none;cursor:pointer;font-family:inherit;border-radius:4px;box-shadow:0 6px 16px rgba(232,89,12,.25);}
  .btn-gold:hover{background:var(--cta-d);transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,89,12,.32);}
  .btn-outline,.btn-dark-outline{border:2px solid var(--blue);color:var(--blue);background:#fff;padding:14px 30px;font-size:17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:background .2s,color .2s;cursor:pointer;font-family:inherit;border-radius:4px;}
  .btn-outline:hover,.btn-dark-outline:hover{background:var(--blue);color:#fff;}
  .btn-gold svg,.btn-outline svg,.btn-dark-outline svg{transition:transform .2s;}
  .btn-gold:hover svg,.btn-outline:hover svg,.btn-dark-outline:hover svg{transform:translateX(4px);}

  /* ---------- SECTION HEAD ---------- */
  .sec-head{display:flex;flex-direction:column;max-width:880px;margin:0 0 44px;}
  .sec-head h2{order:1;padding-left:18px;border-left:5px solid var(--blue);}
  .sec-head .en{order:2;margin:8px 0 0 23px;font-family:var(--en);font-size:14px;letter-spacing:.22em;color:var(--blue);font-weight:700;text-transform:uppercase;}
  .sec-head .rule{display:none;}
  .sec-head .lede,.sec-head p.lede{order:3;margin:16px 0 0 23px;}
  h2.h-title{font-size:clamp(25px,3vw,36px);line-height:1.5;font-weight:700;}
  p.lede{color:var(--muted);font-size:17.5px;max-width:720px;margin:0;}

  /* ---------- HERO ---------- */
  .hero{position:relative;padding:118px 0 0;background:var(--navy);}
  .hero-stage{position:relative;height:clamp(560px,calc(100svh - 118px),800px);overflow:hidden;}
  .hslide{position:absolute;inset:-30px 0;opacity:0;animation:slideFade 18s infinite;transform:translateY(var(--py,0px));}
  .hslide .kb{width:100%;height:100%;animation:kenburns 18s ease-out infinite;}
  .hslide img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;}
  .hslide:nth-child(1),.hslide:nth-child(1) .kb{animation-delay:-1s;}
  .hslide:nth-child(2),.hslide:nth-child(2) .kb{animation-delay:5s;}
  .hslide:nth-child(3),.hslide:nth-child(3) .kb{animation-delay:11s;}
  @keyframes slideFade{0%{opacity:0;}5%{opacity:1;}33%{opacity:1;}39%{opacity:0;}100%{opacity:0;}}
  @keyframes kenburns{0%{transform:scale(1.12);}35%{transform:scale(1.02);}100%{transform:scale(1.02);}}
  .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,34,64,.86) 0%,rgba(6,34,64,.6) 42%,rgba(6,34,64,.12) 80%);}
  .hero-inner{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding-bottom:70px;}
  .hero-inner .wrap{width:100%;}
  .hero-copy{max-width:720px;color:#fff;}
  h1.headline{margin:0;font-size:clamp(32px,4.7vw,64px);line-height:1.35;font-weight:700;color:#fff;letter-spacing:.01em;}
  h1.headline .hero-kicker{display:flex;align-items:center;gap:14px;font-size:clamp(14px,1.3vw,17px);font-weight:500;color:#d4e6f8;letter-spacing:.12em;margin:0 0 18px;line-height:1.7;}
  h1.headline .hero-kicker::before{content:"";width:38px;height:2px;background:#8fc2f0;flex-shrink:0;}
  .ln{display:block;overflow:hidden;padding:.05em 0 .1em;margin:-.05em 0 -.1em;}
  .ln-in{display:block;}
  h1.headline .ln.pre{font-size:.6em;font-weight:500;letter-spacing:.14em;color:#e3effb;}
  .hero-sub{margin:22px 0 0;color:rgba(255,255,255,.94);font-size:18px;line-height:2;max-width:620px;}
  .hero-ctas{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
  .hero .btn-outline{background:transparent;border-color:#fff;color:#fff;}
  .hero .btn-outline:hover{background:#fff;color:var(--blue-d);}
  .hero-tel-row{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .hero-tel-row .lbl{font-size:14.5px;color:#d4e6f8;line-height:1.5;}
  .hero-tel-row a{display:flex;align-items:center;gap:10px;font-family:var(--en);font-weight:700;font-size:clamp(28px,3vw,38px);letter-spacing:.02em;color:#fff;line-height:1;}
  .hero-tel-row a svg{font-size:.8em;color:#8fc2f0;}
  .hero-dots{position:absolute;left:50%;bottom:92px;z-index:3;display:none;}
  .hero-prog{position:absolute;right:max(28px,calc((100vw - 1200px)/2 + 28px));bottom:96px;z-index:3;display:flex;gap:8px;}
  .hero-prog i{position:relative;width:48px;height:4px;background:rgba(255,255,255,.4);overflow:hidden;border-radius:2px;}
  .hero-prog i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;animation:barFill 18s linear infinite;}
  .hero-prog i:nth-child(1)::after{animation-delay:-1s;}
  .hero-prog i:nth-child(2)::after{animation-delay:5s;}
  .hero-prog i:nth-child(3)::after{animation-delay:11s;}
  @keyframes barFill{0%{transform:scaleX(0);}33.3%{transform:scaleX(1);}33.4%,100%{transform:scaleX(0);}}
  .hero-kicker,.hero-sub,.hero-ctas,.hero-tel-row{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
  .ln-in{transition:transform 1.1s cubic-bezier(.19,1,.22,1);}
  .hero-kicker{transition-delay:.1s;}
  .ln.pre .ln-in{transition-delay:.25s;}
  .ln.main .ln-in{transition-delay:.4s;}
  .hero-sub{transition-delay:.8s;}
  .hero-ctas{transition-delay:.95s;}
  .hero-tel-row{transition-delay:1.1s;}
  html.js .hero:not(.go) .hero-kicker{opacity:0;transform:translateY(12px);}
  html.js .hero:not(.go) .ln-in{transform:translateY(115%);}
  html.js .hero:not(.go) .hero-sub,html.js .hero:not(.go) .hero-ctas,html.js .hero:not(.go) .hero-tel-row{opacity:0;transform:translateY(22px);}
  html.js .hero:not(.go) .hslide,html.js .hero:not(.go) .hslide .kb,html.js .hero:not(.go) .hero-prog i::after{animation-play-state:paused;}
  @media(max-width:900px){
    .hero{padding-top:100px;}
    .hero-stage{height:auto;min-height:560px;}
    .hero-inner{position:relative;padding:60px 0 120px;}
    .hero-overlay{background:linear-gradient(180deg,rgba(6,34,64,.7),rgba(6,34,64,.82));}
    .hero-prog{display:none;}
    .hero-sub{font-size:16.5px;}
  }

  /* quick links */
  .quick{position:relative;z-index:5;margin-top:-72px;padding:0 0 8px;background:transparent;}
  .quick-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:0 22px 50px rgba(10,46,82,.2);border-top:4px solid var(--blue);}
  .qk{display:flex;flex-direction:column;gap:2px;padding:26px 28px 24px;border-left:1px solid var(--line);cursor:pointer;background:none;border-top:0;border-right:0;border-bottom:0;text-align:left;font-family:inherit;color:var(--ink);position:relative;transition:background .2s;}
  .qk:first-child{border-left:0;}
  .qk:hover{background:var(--tint);}
  .qk .qe{font-family:var(--en);font-size:12.5px;letter-spacing:.2em;color:var(--blue);font-weight:700;}
  .qk b{font-size:21px;font-weight:700;}
  .qk span.qd{font-size:14.5px;color:var(--muted);line-height:1.7;margin-top:4px;padding-right:30px;}
  .qk .qa{position:absolute;right:22px;bottom:24px;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .2s;}
  .qk:hover .qa{transform:translateX(5px);}
  .qk.qk-cta .qa{background:var(--cta);}
  @media(max-width:900px){.quick{margin-top:-40px;}.quick-grid{grid-template-columns:repeat(2,1fr);}.qk{border-top:1px solid var(--line);padding:20px 18px;}.qk:nth-child(odd){border-left:0;}.qk b{font-size:18px;}.qk span.qd{display:none;}.qk .qa{bottom:16px;right:14px;width:28px;height:28px;}}

  /* news */
  .news{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start;}
  .news-head h2{font-size:30px;padding-left:16px;border-left:5px solid var(--blue);}
  .news-head .en{font-family:var(--en);font-size:13px;letter-spacing:.22em;color:var(--blue);font-weight:700;margin:6px 0 0 21px;}
  .news-head a{display:inline-flex;align-items:center;gap:8px;margin:20px 0 0 21px;font-weight:700;color:var(--blue);cursor:pointer;}
  .news-list{border-top:1px solid var(--line);}
  .news-row{display:flex;align-items:center;gap:20px;padding:20px 12px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s;}
  .news-row:hover{background:var(--tint);}
  .n-cat{min-width:118px;text-align:center;background:var(--blue);color:#fff;font-size:13.5px;padding:2px 10px;font-weight:700;border-radius:2px;}
  .n-ttl{flex:1;font-weight:500;font-size:17.5px;line-height:1.6;}
  .n-ar{color:var(--blue);flex-shrink:0;transition:transform .2s;}
  .news-row:hover .n-ar{transform:translateX(5px);}
  @media(max-width:860px){.news{grid-template-columns:1fr;gap:26px;}.news-row{flex-wrap:wrap;gap:8px 14px;}.n-ttl{flex-basis:100%;order:3;}.n-ar{display:none;}}

  /* ---------- INTRO / ABOUT / NUMBERS ---------- */
  .intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start;}
  .intro-grid p{color:var(--muted);font-size:17px;margin:0 0 14px;}
  .intro-grid p a{color:var(--blue);font-weight:700;white-space:nowrap;}
  .facts{display:grid;grid-template-columns:140px 1fr;margin:0;background:#fff;border:1px solid var(--line);}
  .facts dt,.facts dd{margin:0;padding:15px 20px;border-bottom:1px solid var(--line);font-size:16px;}
  .facts dt{font-weight:700;color:var(--blue-d);background:var(--blue-l);}
  .facts dd{color:var(--ink);}
  .facts dt:nth-last-of-type(1),.facts dd:last-of-type{border-bottom:none;}
  @media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:30px;}.facts{grid-template-columns:110px 1fr;}}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .about-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;}
  .about-tags span{border:1px solid var(--line);background:#fff;color:var(--muted);padding:2px 12px;font-size:14.5px;border-radius:2px;}
  .about-sub{font-size:clamp(22px,2.6vw,30px);margin:10px 0 16px;line-height:1.6;}
  .about-sub em{color:var(--blue);font-style:normal;}
  .about-text p{color:var(--muted);font-size:17px;margin:0 0 14px;}
  .about-visual{display:grid;grid-template-columns:1fr;gap:14px;}
  .about-visual .main-ph{aspect-ratio:4/3;overflow:hidden;border-radius:6px;}
  .about-visual .sub-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .about-visual .sub-row .pslot{aspect-ratio:1/1;overflow:hidden;border-radius:6px;}
  .stat-tile{background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:6px;}
  .stat-tile b{font-family:var(--en);font-size:clamp(46px,5vw,68px);color:#fff;font-weight:700;line-height:1;}
  .stat-tile span{font-size:15.5px;font-weight:500;color:#d4e6f8;}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:30px;}}
  .pslot{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--tint2);}
  .pslot .illus{width:58%;height:58%;color:var(--blue);}
  .pslot .gold-dot{fill:var(--sky);}
  .pslot img.pphoto{width:100%;height:100%;object-fit:cover;display:block;}
  .numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .num-card{background:#fff;padding:32px 20px 28px;text-align:center;border-top:4px solid var(--blue);}
  .num-card .nl{font-size:15px;color:var(--muted);font-weight:700;}
  .num-card .nv{font-family:var(--en);font-weight:700;font-size:clamp(44px,5vw,62px);color:var(--blue);line-height:1.15;margin:4px 0;}
  .num-card .nv small{font-family:var(--disp);font-size:.34em;margin-left:4px;color:var(--blue-d);}
  .num-card .nd{font-size:14.5px;color:var(--muted);line-height:1.7;}
  @media(max-width:860px){.numbers-grid{grid-template-columns:repeat(2,1fr);gap:12px;}}

  /* ---------- BUSINESS CARDS ---------- */
  .biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .biz{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s;cursor:pointer;}
  .biz:hover{box-shadow:0 18px 38px rgba(10,46,82,.15);transform:translateY(-5px);}
  .biz-ph{aspect-ratio:16/10;overflow:hidden;background:var(--tint2);}
  .biz-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
  .biz:hover .biz-ph img{transform:scale(1.06);}
  .biz-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .biz-tag{font-family:var(--en);font-size:12.5px;color:var(--blue);letter-spacing:.18em;font-weight:700;}
  .biz h3{font-size:21px;}
  .biz p{font-size:15.5px;color:var(--muted);margin:0;line-height:1.85;}
  .biz-more{margin-top:auto;padding-top:12px;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:8px;}
  .biz-more svg{transition:transform .2s;}
  .biz:hover .biz-more svg{transform:translateX(5px);}
  .biz-all{background:var(--blue);color:#fff;justify-content:center;border-color:var(--blue);padding:34px;}
  .biz-all h3{color:#fff;font-size:24px;margin-bottom:10px;}
  .biz-all p{color:#d4e6f8;margin-bottom:18px;}
  .biz-all .biz-more{color:#fff;margin-top:6px;}
  @media(max-width:1000px){.biz-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:620px){.biz-grid{grid-template-columns:1fr;}}

  /* customers */
  .cust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .cust{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px 24px 24px;display:flex;flex-direction:column;}
  .cust h3{font-size:20px;margin-bottom:12px;}
  .cust ul{list-style:none;margin:0 0 20px;padding:0;}
  .cust li{position:relative;padding:5px 0 5px 20px;font-size:15.5px;color:var(--muted);line-height:1.7;}
  .cust li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;background:var(--blue);}
  .cust .btn-outline{margin-top:auto;padding:12px 16px;font-size:15.5px;}
  @media(max-width:1000px){.cust-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.cust-grid{grid-template-columns:1fr;}}

  /* ---------- SERVICES PAGE ROWS ---------- */
  .svc-row{display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line);}
  .svc-row:first-child{border-top:1px solid var(--line);}
  .svc-row.rev{grid-template-columns:1fr 420px;}
  .svc-row.rev .svc-ph{order:2;}
  .svc-ph{aspect-ratio:4/3;border-radius:6px;overflow:hidden;}
  .svc-num{font-family:var(--en);font-weight:700;color:var(--blue);font-size:15px;letter-spacing:.2em;margin-bottom:4px;}
  .svc-tag{font-family:var(--en);font-size:12.5px;letter-spacing:.2em;color:#8a9bb0;margin-bottom:8px;font-weight:700;}
  .svc-row h3{font-size:26px;margin-bottom:12px;}
  .svc-row p.desc{color:var(--muted);font-size:17px;margin:0 0 16px;max-width:520px;}
  .svc-items{list-style:none;margin:0;padding:0;}
  .svc-items li{display:flex;gap:10px;font-size:16.5px;color:var(--ink);padding:4px 0;}
  .svc-items li svg{color:var(--blue);width:16px;height:16px;margin-top:7px;flex-shrink:0;stroke-width:3;}
  @media(max-width:860px){.svc-row,.svc-row.rev{grid-template-columns:1fr;gap:22px;}.svc-row.rev .svc-ph{order:0;}}

  /* ---------- REASONS ---------- */
  .reason-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .reason{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px 26px;}
  .reason .icwrap{width:54px;height:54px;border-radius:50%;background:var(--blue-l);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:24px;margin-bottom:14px;}
  .reason .no{font-family:var(--en);font-size:12.5px;color:#8a9bb0;letter-spacing:.2em;margin-bottom:2px;font-weight:700;}
  .reason h3{font-size:19.5px;margin-bottom:8px;}
  .reason p{font-size:15.5px;color:var(--muted);margin:0;line-height:1.85;}
  @media(max-width:1000px){.reason-list{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:620px){.reason-list{grid-template-columns:1fr;}}

  /* ---------- PARTNERS ---------- */
  .partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
  .partner-grid div{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 12px;text-align:center;font-size:15.5px;color:var(--ink);font-weight:500;}
  @media(max-width:700px){.partner-grid{grid-template-columns:repeat(2,1fr);}}
  .partner-co{max-width:640px;margin:0 auto;text-align:center;}
  .partner-co .invite{margin-top:8px;font-size:16.5px;color:var(--muted);}
  .partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1160px;margin:0 auto;}
  .pcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px 26px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .25s,transform .25s;}
  .pcard:hover{box-shadow:0 14px 30px rgba(10,46,82,.13);transform:translateY(-3px);}
  .pcard .pc-tag{font-size:13.5px;color:var(--blue);font-weight:700;}
  .pcard strong{font-size:20px;line-height:1.6;color:var(--ink);font-weight:700;}
  .pcard .pc-link{display:inline-flex;align-items:center;gap:8px;font-size:15.5px;color:var(--blue);font-weight:700;margin-top:auto;padding-top:10px;}
  @media(max-width:820px){.partner-cards{grid-template-columns:1fr;}}

  /* ---------- GALLERY / BLOG / MODAL ---------- */
  .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1100px;margin:0 0 12px;}
  .work-grid.c4{grid-template-columns:repeat(4,1fr);}
  .work{margin:0;position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--tint2);border-radius:4px;}
  .work img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
  .work:hover img{transform:scale(1.05);}
  .work figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 14px;color:#fff;font-size:16px;font-weight:700;background:linear-gradient(180deg,transparent,rgba(6,34,64,.85));}
  .work-sub{max-width:1100px;margin:44px 0 16px;font-size:22px;padding-left:14px;border-left:5px solid var(--blue);}
  @media(max-width:820px){.work-grid,.work-grid.c4{grid-template-columns:repeat(2,1fr);gap:8px;}.work figcaption{font-size:14.5px;padding:26px 12px 10px;}}
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .bcard{background:#fff;border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;}
  .bcard:hover,.bcard:focus-visible{box-shadow:0 16px 34px rgba(10,46,82,.15);transform:translateY(-4px);}
  .bcard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
  .bc-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .bc-cat{align-self:flex-start;background:var(--blue);color:#fff;font-size:13px;font-weight:700;padding:1px 12px;border-radius:2px;}
  .bcard h3{font-size:19.5px;line-height:1.6;}
  .bc-ex{font-size:15.5px;color:var(--muted);line-height:1.85;margin:0;}
  .bc-more{margin-top:auto;font-size:15.5px;font-weight:700;color:var(--blue);}
  @media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.blog-grid{grid-template-columns:1fr;}}
  .modal{position:fixed;inset:0;z-index:800;background:rgba(6,34,64,.74);display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
  .modal.open{display:flex;}
  .modal-box{position:relative;background:#fff;max-width:780px;width:100%;margin:auto;border-top:6px solid var(--blue);}
  .modal-box img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
  .modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;background:#fff;font-size:26px;cursor:pointer;color:var(--ink);line-height:1;border-radius:50%;}
  .modal-in{padding:28px 36px 38px;}
  .modal-in h3{font-size:26px;line-height:1.55;margin:10px 0 18px;}
  .modal-in h4{font-size:19px;margin:24px 0 8px;color:var(--blue-d);padding-left:12px;border-left:5px solid var(--blue);}
  .modal-in p{font-size:17px;line-height:2;margin:0 0 10px;}
  .modal-in ul{margin:0 0 10px;padding-left:1.3em;font-size:17px;line-height:2;}
  .modal-cta{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
  @media(max-width:600px){.modal-in{padding:22px 20px 28px;}.modal-in h3{font-size:21px;}}
  .case-box{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:30px 28px;}
  .case-box .svc-items li{font-size:17.5px;}

  /* ---------- INSTAGRAM ---------- */
  .insta-section{background:#fff;padding:92px 0;}
  .insta-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 24px;margin:0 0 22px;max-width:900px;background:var(--tint);border:1px solid var(--line);}
  .insta-avatar{width:68px;height:68px;border-radius:50%;border:3px solid #fff;object-fit:cover;flex-shrink:0;display:block;box-shadow:0 0 0 1px var(--line);}
  .insta-id{flex:1;min-width:180px;}
  .insta-handle{font-size:19px;color:var(--ink);font-weight:700;}
  .insta-bio{font-size:15px;color:var(--muted);margin-top:2px;}
  .insta-follow{background:var(--blue);color:#fff;padding:12px 24px;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:background .2s;flex-shrink:0;border-radius:4px;}
  .insta-follow:hover{background:var(--blue-d);}
  .insta-grid3{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:900px;}
  @media(max-width:700px){.insta-grid3{grid-template-columns:repeat(3,1fr);}}
  .insta-tile{position:relative;overflow:hidden;aspect-ratio:1/1;display:block;color:#fff;background:var(--tint2);border-radius:3px;}
  .insta-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
  .insta-tile:hover img{transform:scale(1.08);}
  .insta-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,34,64,.82) 100%);pointer-events:none;opacity:0;transition:opacity .25s;}
  .insta-tile:hover::after{opacity:1;}
  .insta-tile .cap{position:absolute;bottom:8px;left:9px;right:9px;font-size:13px;color:#fff;z-index:1;opacity:0;transition:opacity .25s;}
  .insta-tile:hover .cap{opacity:1;}
  .insta-note{font-size:14.5px;color:var(--muted);margin:16px 0 0;}

  /* ---------- FLOW ---------- */
  .flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
  .flow-step{text-align:center;padding:0 12px;position:relative;}
  .flow-step:not(:last-child)::after{content:"";position:absolute;top:36px;left:calc(50% + 46px);right:calc(-50% + 46px);border-top:2px dashed #9dbcdc;}
  .flow-ic{width:72px;height:72px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px;box-shadow:0 8px 18px rgba(11,90,166,.25);}
  .flow-step .stp{font-family:var(--en);font-size:13px;color:var(--blue);letter-spacing:.2em;margin-bottom:4px;font-weight:700;}
  .flow-step h3{font-size:18.5px;margin-bottom:6px;}
  .flow-step p{font-size:15px;color:var(--muted);margin:0;line-height:1.8;}
  @media(max-width:1000px){.flow-grid{grid-template-columns:repeat(2,1fr);row-gap:34px;}.flow-step:not(:last-child)::after{display:none;}}
  @media(max-width:520px){.flow-grid{grid-template-columns:1fr;}}
  .wf-list{max-width:800px;margin:0;}
  .wf-item{position:relative;display:flex;gap:20px;padding-bottom:24px;}
  .wf-item:not(:last-child)::before{content:"";position:absolute;left:24px;top:50px;width:2px;height:calc(100% - 26px);background:#b7d3ef;}
  .wf-num{flex-shrink:0;width:50px;height:50px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--en);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1;}
  .wf-body{background:#fff;border:1px solid var(--line);padding:18px 24px;flex:1;}
  .wf-body h3{font-size:19px;margin-bottom:4px;}
  .wf-body p{font-size:16px;color:var(--muted);margin:0;}

  /* ---------- STRENGTHS / COMPARISON / EQUIPMENT ---------- */
  .str-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .str-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:28px;}
  .str-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
  .str-top .icwrap3{width:50px;height:50px;border-radius:50%;background:var(--blue-l);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
  .str-top .n{font-family:var(--en);font-size:12.5px;color:#8a9bb0;letter-spacing:.2em;display:block;margin-bottom:2px;font-weight:700;}
  .str-top h3{font-size:19.5px;line-height:1.5;}
  .str-card > p{font-size:16px;color:var(--muted);margin:0 0 14px;}
  .str-points{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);}
  .str-points li{display:flex;gap:10px;font-size:15.5px;color:var(--ink);padding:4px 0;}
  .str-points li svg{color:var(--blue);width:16px;height:16px;margin-top:6px;flex-shrink:0;stroke-width:3;}
  @media(max-width:760px){.str-grid{grid-template-columns:1fr;}}
  .cmp-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);}
  .cmp-table{width:100%;border-collapse:collapse;font-size:16px;}
  .cmp-table th,.cmp-table td{padding:16px 18px;text-align:center;border-bottom:1px solid var(--line);}
  .cmp-table th{background:var(--tint);font-weight:700;font-size:15.5px;}
  .cmp-table th:first-child,.cmp-table td:first-child{text-align:left;font-weight:700;}
  .cmp-table th.brand{background:var(--blue);color:#fff;}
  .cmp-table td.good{background:#eaf3fc;color:var(--blue-d);font-weight:700;}
  .cmp-table td.good svg{color:var(--blue);margin-right:5px;width:15px;height:15px;stroke-width:3;}
  .cmp-table td.mid{color:var(--muted);}
  .cmp-table td.bad{color:#8a99ab;}
  @media(max-width:700px){.cmp-table{font-size:14.5px;}.cmp-table th,.cmp-table td{padding:10px 8px;}}
  .eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .eq-card{background:#fff;border:1px solid var(--line);padding:26px 24px;}
  .eq-ic{width:50px;height:50px;border-radius:50%;background:var(--blue-l);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--blue);font-size:22px;}
  .eq-card h3{font-size:18.5px;margin-bottom:6px;}
  .eq-card p{font-size:15.5px;color:var(--muted);margin:0;}
  @media(max-width:760px){.eq-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.eq-grid{grid-template-columns:1fr;}}

  /* ---------- COMPANY / ACCESS / FAQ / CONTACT ---------- */
  .info-table{width:100%;font-size:16px;background:#fff;max-width:880px;margin:0;border-collapse:collapse;border:1px solid var(--line);}
  .info-table th{text-align:left;color:var(--blue-d);font-weight:700;padding:16px 22px;width:180px;vertical-align:top;border-bottom:1px solid var(--line);background:var(--blue-l);}
  .info-table td{padding:16px 22px;border-bottom:1px solid var(--line);color:var(--ink);}
  .pending{color:#8a99ab;font-style:italic;}
  .access-card{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(10,46,82,.1);max-width:1140px;margin:0;}
  .access-info{padding:38px 36px;display:flex;flex-direction:column;justify-content:center;}
  .access-info h3{font-size:24px;margin-bottom:12px;}
  .access-info .addr{font-size:17.5px;color:var(--ink);line-height:1.95;margin:0 0 22px;}
  .access-btns{display:flex;flex-direction:column;gap:12px;}
  .access-btns a{justify-content:center;}
  .access-note{margin:20px 0 0;font-size:16px;color:var(--muted);line-height:1.8;}
  .access-note a{font-family:var(--en);font-size:27px;font-weight:700;color:var(--blue-d);}
  .access-map{position:relative;min-height:400px;background:var(--tint2);}
  .access-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  @media(max-width:820px){.access-card{grid-template-columns:1fr;}.access-map{min-height:320px;}.access-info{padding:28px 22px;}}
  .faq-cat-title{font-size:16px;color:var(--blue-d);margin:34px 0 6px;max-width:840px;font-weight:700;padding:8px 14px;background:var(--blue-l);border-left:5px solid var(--blue);}
  .faq-cat-title:first-child{margin-top:0;}
  .faq-item{border-bottom:1px solid var(--line);max-width:840px;}
  .faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:20px 4px;font-size:18px;font-weight:700;color:var(--ink);font-family:inherit;line-height:1.6;}
  .faq-q .qm{background:var(--blue);color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--en);font-weight:700;font-size:16px;border-radius:50%;}
  .faq-q .plus{margin-left:auto;color:var(--blue);transition:transform .25s;flex-shrink:0;margin-top:4px;}
  .faq-item[data-open="true"] .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{padding:0 4px 22px 50px;font-size:16.5px;color:var(--muted);max-width:760px;margin:0;}
  .contact-band{background:var(--tint);}
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start;}
  .phone-card{background:var(--blue);color:#fff;padding:30px 32px;margin-bottom:22px;border-radius:4px;}
  .phone-card .lbl{font-size:15px;color:#d4e6f8;margin-bottom:4px;font-weight:500;}
  .phone-card .num{font-family:var(--en);font-size:clamp(34px,3.6vw,46px);font-weight:700;color:#fff;display:block;margin-bottom:2px;line-height:1.2;letter-spacing:.02em;}
  .phone-card p{font-size:15.5px;color:#d4e6f8;margin:0;}
  .assure{list-style:none;margin:0;padding:0;}
  .assure li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:16.5px;font-weight:500;border-bottom:1px solid #c5d9ec;}
  .assure li svg{color:var(--blue);width:18px;height:18px;margin-top:7px;stroke-width:3;flex-shrink:0;}
  .form-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue);padding:34px;border-radius:4px;box-shadow:0 14px 36px rgba(10,46,82,.1);}
  .form-card h3{font-size:22px;margin-bottom:20px;}
  .f-row{margin-bottom:18px;}
  .f-row label{display:block;font-size:15.5px;font-weight:700;margin-bottom:8px;}
  .f-row label .req{background:var(--cta);color:#fff;font-size:12px;padding:1px 8px;margin-left:8px;font-weight:700;border-radius:2px;}
  .f-row input,.f-row select,.f-row textarea{width:100%;padding:14px 16px;border:1.5px solid #aebfd0;border-radius:6px;font-size:17px;font-family:inherit;background:#fbfdff;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s;}
  .f-row select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%230b5aa6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;}
  .f-row input::placeholder,.f-row textarea::placeholder{color:#93a4b7;}
  .f-row input:hover,.f-row select:hover,.f-row textarea:hover{border-color:#7f9bb8;}
  .f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(11,90,166,.16);}
  .f-row input:not(:placeholder-shown):valid,.f-row textarea:not(:placeholder-shown):valid{border-color:#2f9e6e;}
  .f-row input:not(:placeholder-shown):invalid{border-color:#d64545;}
  .f-check{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--muted);margin:4px 0 22px;cursor:pointer;line-height:1.6;}
  .f-check input{appearance:none;-webkit-appearance:none;flex-shrink:0;width:24px;height:24px;border:2px solid #7f9bb8;border-radius:5px;background:#fff;margin:0;cursor:pointer;display:grid;place-content:center;transition:background .15s,border-color .15s;}
  .f-check input::before{content:"";width:12px;height:12px;transform:scale(0);transition:transform .15s;background:#fff;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);}
  .f-check input:checked{background:var(--blue);border-color:var(--blue);}
  .f-check input:checked::before{transform:scale(1);}
  .f-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:70px;background:linear-gradient(180deg,#f06a1a,#e8590c);color:#fff;border:0;border-radius:8px;font-size:19px;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.04em;box-shadow:0 6px 0 #b8470a,0 16px 26px rgba(232,89,12,.28);transition:transform .15s ease,box-shadow .15s ease,filter .2s;overflow:hidden;}
  .f-submit::after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .7s ease;}
  .f-submit:hover{transform:translateY(2px);box-shadow:0 4px 0 #b8470a,0 10px 18px rgba(232,89,12,.28);filter:brightness(1.03);}
  .f-submit:hover::after{left:130%;}
  .f-submit:active{transform:translateY(6px);box-shadow:0 0 0 #b8470a,0 4px 10px rgba(232,89,12,.25);}
  .f-submit .fs-label{display:inline-flex;align-items:center;gap:12px;}
  .f-submit .fs-label svg{font-size:1.1em;}
  .f-submit .fs-arrow{position:absolute;right:26px;font-size:1.3em;transition:transform .2s;}
  .f-submit:hover .fs-arrow{transform:translateX(6px);}
  .f-submit.is-sending{pointer-events:none;filter:saturate(.7);}
  .f-submit.is-sending .fs-label svg{display:none;}
  .f-submit.is-sending .fs-label::before{content:"";width:20px;height:20px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;}
  .f-note{margin:16px 0 0;font-size:14.5px;color:var(--muted);line-height:1.8;text-align:center;}
  .f-note a{color:var(--blue-d);font-weight:700;font-family:var(--en);font-size:1.15em;}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:32px;}}
  @media(max-width:520px){.form-card{padding:24px 18px;}.f-submit{height:64px;font-size:17.5px;}.f-submit .fs-arrow{right:16px;}}
  .global-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .global-points .gp{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);padding:26px 24px;}
  .global-points .gp .icwrap2{width:50px;height:50px;border-radius:50%;background:var(--blue-l);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:22px;}
  .global-points .gp h3{font-size:19px;margin-bottom:6px;}
  .global-points .gp p{font-size:15.5px;color:var(--muted);margin:0;}
  @media(max-width:760px){.global-points{grid-template-columns:1fr !important;}}
  .global-flag{display:inline-flex;align-items:center;gap:10px;background:var(--blue-l);padding:4px 16px;font-size:15.5px;color:var(--blue-d);margin-bottom:14px;font-weight:700;border-radius:2px;}

  /* page hero */
  .page-hero{position:relative;background:var(--tint);padding:156px 0 52px;border-bottom:1px solid var(--line);}
  .crumb{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);margin-bottom:18px;}
  .crumb a{color:var(--blue);cursor:pointer;font-weight:500;}
  .crumb a:hover{text-decoration:underline;}
  .page-hero .en{font-family:var(--en);color:var(--blue);font-size:14px;letter-spacing:.22em;font-weight:700;}
  .page-hero h1{color:var(--ink);font-size:clamp(28px,3.6vw,44px);margin:8px 0 16px;line-height:1.5;max-width:960px;}
  .page-hero p{color:var(--muted);max-width:760px;font-size:17.5px;margin:0;}
  .page-hero .note-chip{margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);padding:9px 18px;font-size:15.5px;color:var(--ink);font-weight:500;}
  .page-hero .note-chip svg{color:var(--blue);width:18px;height:18px;flex-shrink:0;}
  .page-hero .pstats{display:flex;gap:0;flex-wrap:wrap;margin-top:30px;max-width:900px;}
  .page-hero .pstats div{padding:6px 34px 6px 0;}
  .page-hero .pstats div + div{padding-left:34px;border-left:1px solid #b7cde3;}
  .page-hero .pstats div b{display:block;font-family:var(--en);font-size:clamp(34px,4vw,48px);color:var(--blue);line-height:1.15;font-weight:700;}
  .page-hero .pstats div span{font-size:14.5px;color:var(--muted);}
  .page-fade{position:fixed;inset:0;z-index:900;background:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease;}
  .page-fade.is-covering{opacity:1;}

  /* ---------- CTA BAND ---------- */
  .cta-light{background:linear-gradient(100deg,#08467f,#0b5aa6);color:#fff;padding:68px 0;}
  .cta-light .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;}
  .cta-light h2{font-size:clamp(23px,2.8vw,34px);color:#fff;line-height:1.5;}
  .cta-light p{margin:8px 0 0;color:#d4e6f8;font-size:17px;}
  .cta-light .cta-btns{display:flex;gap:14px;flex-wrap:wrap;}
  .cta-light .btn-outline{background:transparent;border-color:#fff;color:#fff;}
  .cta-light .btn-outline:hover{background:#fff;color:var(--blue-d);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--tint2);color:var(--ink);padding:68px 0 28px;border-top:4px solid var(--blue);}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
  .foot-brand .jp{font-size:25px;color:var(--navy);font-weight:900;letter-spacing:.08em;}
  .foot-brand .enx{font-family:var(--en);font-size:12.5px;letter-spacing:.26em;color:var(--blue);display:block;margin-top:2px;font-weight:700;}
  .foot-tag{font-size:16px;color:var(--muted);margin:12px 0;}
  address{font-style:normal;font-size:15.5px;color:var(--ink);line-height:1.8;margin-bottom:10px;}
  address a{text-decoration:underline;text-decoration-color:rgba(10,46,82,.35);text-underline-offset:4px;}
  .foot-tel{color:var(--blue-d);font-size:26px;font-weight:700;font-family:var(--en);}
  .foot-insta{display:inline-flex;width:42px;height:42px;background:var(--blue);align-items:center;justify-content:center;color:#fff;margin-top:14px;border-radius:50%;transition:background .2s;}
  .foot-insta:hover{background:var(--blue-d);}
  .foot-grid h4{font-size:15.5px;color:var(--blue-d);margin-bottom:14px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--blue);}
  .foot-grid ul{list-style:none;margin:0;padding:0;}
  .foot-grid li{margin-bottom:9px;font-size:15.5px;}
  .foot-grid a{cursor:pointer;}
  .foot-grid a:hover{color:var(--blue);text-decoration:underline;}
  .foot-bottom{margin-top:44px;padding-top:20px;border-top:1px solid #b2cbe4;text-align:center;font-size:13.5px;color:var(--muted);letter-spacing:.04em;}
  @media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;row-gap:28px;}}
  @media(max-width:480px){.foot-grid{grid-template-columns:1fr;}}

  /* ---------- STICKY CTA ---------- */
  .side-cta{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:2px;}
  .side-cta a{display:flex;align-items:center;justify-content:center;gap:8px;writing-mode:vertical-rl;padding:24px 14px;color:#fff;font-weight:700;font-size:17px;letter-spacing:.28em;cursor:pointer;transition:background .2s,padding .2s;border-radius:8px 0 0 8px;}
  .side-cta .sc-red{background:var(--cta);}
  .side-cta .sc-red:hover{background:var(--cta-d);padding-right:20px;}
  .side-cta .sc-ink{background:var(--blue);}
  .side-cta .sc-ink:hover{background:var(--blue-d);padding-right:20px;}
  .side-cta svg{writing-mode:horizontal-tb;}
  .m-bar{display:none;}
  .fab-top{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:46px;height:46px;background:var(--blue);color:#fff;display:none;align-items:center;justify-content:center;z-index:40;cursor:pointer;border:0;font-size:20px;border-radius:50%;box-shadow:0 8px 18px rgba(10,46,82,.25);}
  @media(min-width:1001px){.fab-top{display:flex;}}
  @media(max-width:1000px){
    .side-cta{display:none;}
    .m-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -8px 24px rgba(10,46,82,.2);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--blue);}
    .m-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 8px;color:#fff;font-weight:700;font-size:16.5px;cursor:pointer;}
    .m-bar .mb-tel{background:var(--blue);}
    .m-bar .mb-mail{background:var(--cta);}
    body{padding-bottom:60px;}
  }

  /* ---------- SCROLL REVEAL ---------- */
  html.js .rv{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 80ms);}
  html.js .rv.in{opacity:1;transform:none;}
  .svc-ph img{transition:transform .8s cubic-bezier(.2,.7,.2,1);}
  .svc-row:hover .svc-ph img{transform:scale(1.05);}
  .area-wrap{display:flex;flex-wrap:wrap;gap:10px;max-width:1000px;}
  .area-chip{background:#fff;border:1px solid var(--line);padding:9px 22px;font-size:16.5px;font-weight:500;color:var(--ink);border-radius:2px;}
  .area-chip.hl{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700;}
  @media (prefers-reduced-motion: reduce){html.js .rv{opacity:1 !important;transform:none !important;}html.js .hero:not(.go) *{opacity:1 !important;transform:none !important;}}

