main{overflow:hidden}.container{width:min(1540px,90%);margin:auto}.section{padding:72px 0 64px;color:#001f63}.eyebrow{font-size:18px;letter-spacing:.12em;font-weight:800;color:#008fe9;margin:0 0 22px;display:flex;align-items:center;gap:20px}.eyebrow:before{content:"";width:74px;height:2px;background:#008fe9}.section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(32px,3vw,56px);line-height:1.28;margin:0}.section h2 span{color:#0098ef}.btn{display:flex;width:390px;max-width:90%;height:76px;border-radius:42px;margin:42px auto 0;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:linear-gradient(90deg,#06a9ef,#0645d8);font-weight:700}.hero{height:797px;position:relative;background:linear-gradient(135deg,#f6fbff,#fff 42%,#edf8ff);overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;width:130%;height:180px;left:-15%;top:42%;border-radius:50%;border:36px solid rgba(0,157,232,.14);transform:rotate(-12deg)}.hero:after{top:50%;transform:rotate(10deg);border-color:rgba(0,91,214,.10)}.hero-inner{width:min(1540px,90%);height:100%;margin:auto;display:flex;align-items:center;position:relative;z-index:2}.hero-copy{margin-left:4%}.hero h1{font-family:"Yu Mincho",serif;font-size:clamp(50px,5.2vw,92px);line-height:1.13;margin:0 0 55px}.hero h1 span{color:#0099ef}.hero h2{font-family:"Yu Mincho",serif;font-size:clamp(30px,3vw,52px);margin:0 0 24px}.hero p{font-size:18px;line-height:1.8;font-weight:600}.hero .btn{margin:120px auto 0}.hero-sign{margin-left:auto;margin-right:5%;font-family:cursive;font-style:italic;color:#005be1;font-size:48px;line-height:.85;transform:rotate(-7deg)}.hero-sign small{display:block;font-size:11pt;line-height:1.5;margin:16px 0 0 72px;color:#001f63}.strength{background:linear-gradient(#fff,#f8fcff)}.strength-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.strength-head>p{font-size:18px;line-height:1.8;font-weight:600}.three{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px}.three article{text-align:center;padding:0 55px;position:relative}.three article+article{border-left:1px solid #dbe9f7}.three em{position:absolute;left:28px;top:-12px;font:54px serif;color:#d7e9fb}.three img{width:112px;height:112px;object-fit:contain}.three h3{font:700 24px/1.55 "Yu Mincho",serif}.three h3 span{color:#008fe9}.three p{font-size:16px;line-height:1.7;font-weight:600}.services{background:linear-gradient(135deg,#fff,#f3faff)}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px}.service-grid>a{position:relative;min-height:420px;background:#fff;border:1px solid #e3eef8;box-shadow:0 7px 20px #00326e14;padding:28px 22px 24px;text-align:center;text-decoration:none}.service-grid img{width:96px;height:96px;object-fit:contain}.service-grid em{position:absolute;left:20px;top:125px;color:#0096ef;font:24px serif}.service-grid h3{font-size:20px;line-height:1.35;min-height:54px}.service-grid p{font-size:14px;line-height:1.75;min-height:102px}.service-grid b{display:block;border-top:1px solid #dce8f3;padding-top:18px;color:#008fe9}.cases{background:linear-gradient(150deg,#fff,#eff8ff)}.case-head{display:flex;justify-content:space-between}.case-head h2{font-size:48px}.case-head p{line-height:1.7}.watermark{font:64px serif;color:#c6dcf4;letter-spacing:.06em}.watermark small{display:block;font-size:11pt;text-align:center;letter-spacing:.35em}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.case-grid>a{background:#fff;min-height:420px;text-decoration:none;box-shadow:0 6px 15px #00326e1a;padding-bottom:25px}.case-grid img{width:100%;height:140px;object-fit:cover}.case-grid span,.case-grid h3,.case-grid h4,.case-grid p{display:block;margin-left:24px;margin-right:24px}.case-grid span{font-size:11pt;color:#008fe9;font-weight:800;margin-top:18px}.case-grid h3{font-size:19px;margin-top:10px;margin-bottom:10px}.case-grid h4{font-size:15px;margin-top:0}.case-grid p{font-size:11pt;line-height:1.75}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about h4,.split h4{color:#008fe9;font-size:20px}.about-grid p{font-size:17px;line-height:1.75}.about-grid strong{display:block;color:#008fe9;font-size:20px;margin-top:22px}.about-photo{width:100%;border-radius:24px}.about-points{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px}.about-points div{display:flex;align-items:center;gap:18px;padding:0 35px}.about-points div+div{border-left:1px solid #dce8f3}.about-points img{width:74px}.about-points em{font:28px serif;color:#0096ef}.split{min-height:620px;display:grid;grid-template-columns:44% 56%}.split-copy{padding:70px 4% 60px 10%;display:flex;flex-direction:column;justify-content:center}.split-copy h2{font:700 clamp(36px,3.6vw,64px) "Yu Mincho",serif;margin:25px 0 38px}.split-copy p{font-size:17px;line-height:1.8}.split>img{width:100%;height:100%;object-fit:cover}.split .btn{margin:35px 0 0}.contact{background:#f9fcff}.contact small{margin-top:auto;font:italic 12px serif;letter-spacing:.28em;color:#7ca8dc}
@media(max-width:1100px){.service-grid,.case-grid{grid-template-columns:repeat(2,1fr)}.watermark{font-size:42px}.three article{padding:0 25px}}
@media(max-width:760px){.section{padding:54px 0}.container{width:88%}.hero{height:auto;min-height:650px}.hero-inner{align-items:flex-start;padding-top:70px}.hero-copy{margin:0}.hero h1{font-size:48px}.hero h2{font-size:29px}.hero p{font-size:14px}.hero .btn{margin-top:70px}.hero-sign{display:none}.strength-head,.about-grid{grid-template-columns:1fr;gap:30px}.three,.service-grid,.case-grid,.about-points{grid-template-columns:1fr}.three{margin-top:50px}.three article{padding:38px 10px}.three article+article{border-left:0;border-top:1px solid #dbe9f7}.service-grid>a,.case-grid>a{min-height:0}.service-grid p{min-height:0}.case-head{display:block}.watermark{display:none}.case-grid img{height:190px}.about-points div{padding:10px 0}.about-points div+div{border-left:0;border-top:1px solid #dce8f3}.split{grid-template-columns:1fr}.split-copy{padding:55px 7%}.split>img{height:360px}.btn{height:62px}.eyebrow{font-size:14px}}



/* Fully coded hero: no composite hero image is used. */
.hero.hero-coded{
  height:auto; min-height:0; aspect-ratio:1774/797; position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 65% 46%,rgba(255,255,255,.98) 0 1.2%,rgba(226,246,255,.45) 4%,transparent 11%),
    linear-gradient(120deg,#f4fbff 0%,#fff 28%,#eef9ff 64%,#f8fcff 100%);
}
.hero.hero-coded:before,.hero.hero-coded:after{display:none}
.hero-coded .hero-inner{width:100%;height:100%;position:absolute;inset:0;margin:0;display:block}
.hero-coded .hero-copy{position:absolute;left:8.8%;top:12.5%;margin:0;z-index:3}
.hero-coded .hero-copy h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(42px,4.75vw,84px);line-height:1.34;letter-spacing:.035em;margin:0 0 5.2vw;color:#001f63}
.hero-coded .hero-copy h1 span{color:#0795ef}
.hero-coded .hero-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(27px,2.65vw,47px);letter-spacing:.035em;margin:0 0 1.45vw;color:#001f63}
.hero-coded .hero-copy p{font-size:clamp(11pt,1.18vw,21px);font-weight:700;line-height:1.78;letter-spacing:.025em;color:#001f63;margin:0}
.hero-coded .hero-sign{position:absolute;right:6.5%;top:34%;margin:0;z-index:3;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(29px,3vw,54px);font-weight:500;line-height:.84;color:#0065ed;transform:rotate(-7deg)}
.hero-coded .hero-sign small{display:block;margin:.8vw 0 0 6.8vw;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-style:normal;font-size:clamp(11pt,.9vw,16px);font-weight:700;line-height:1.5;letter-spacing:.08em;color:#001f63;transform:rotate(7deg)}
.hero-coded .hero-btn{position:absolute;left:39.25%;bottom:4.6%;width:20.8%;height:9.2%;min-height:52px;margin:0;z-index:4;font-size:clamp(11pt,1.05vw,19px)}
.hero-ribbons{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-ribbons .ribbon{position:absolute;left:-14%;width:132%;height:12%;border-radius:50%;background:linear-gradient(90deg,rgba(27,145,240,.08),rgba(0,164,246,.32),rgba(0,113,224,.45),rgba(39,168,241,.14));filter:blur(.2px);transform-origin:center}
.hero-ribbons .r1{top:23%;transform:rotate(14deg) skewX(-18deg);height:10%}
.hero-ribbons .r2{top:42%;transform:rotate(-12deg) skewX(14deg);height:11%;opacity:.82}
.hero-ribbons .r3{top:58%;transform:rotate(9deg) skewX(-18deg);height:9%;opacity:.58}
.hero-ribbons .r4{top:68%;transform:rotate(-16deg) skewX(16deg);height:8%;opacity:.40}
.hero-ribbons .r5{top:37%;left:25%;width:90%;transform:rotate(-24deg);height:5%;opacity:.28}
.hero-ribbons .spark{position:absolute;left:64.8%;top:44.7%;width:2.5%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 12%,rgba(255,255,255,.95) 14%,rgba(111,205,255,.35) 35%,transparent 68%);box-shadow:0 0 25px rgba(255,255,255,.95)}
@media(max-width:760px){
 .hero.hero-coded{aspect-ratio:1774/797;min-height:0}
 .hero-coded .hero-inner{padding:0}
 .hero-coded .hero-copy{left:8%;top:12%}
 .hero-coded .hero-copy h1{font-size:clamp(22px,4.75vw,40px);margin-bottom:4.5vw}
 .hero-coded .hero-copy h2{font-size:clamp(14px,2.65vw,24px);margin-bottom:1.2vw}
 .hero-coded .hero-copy p{font-size:clamp(11pt,1.18vw,11px)}
 .hero-coded .hero-sign{display:block;font-size:clamp(15px,3vw,25px)}
 .hero-coded .hero-sign small{font-size:clamp(11pt,.9vw,8px)}
 .hero-coded .hero-btn{min-height:0;font-size:clamp(11pt,1.05vw,10px)}
}


/* v4: FIRST VIEW ONLY — approved artwork is separated into background + HTML text. */
.hero.hero-layered{
  position:relative;
  height:auto;
  min-height:0;
  aspect-ratio:1774 / 797;
  overflow:hidden;
  background:#f7fcff url("../image/top-assets/hero-background.png") center center / 100% 100% no-repeat;
}
.hero.hero-layered:before,.hero.hero-layered:after{display:none}
.hero-layered .hero-inner{
  position:absolute; inset:0; width:100%; height:100%; margin:0; display:block; padding:0;
}
.hero-layered .hero-copy{
  position:absolute; left:8.8%; top:12.7%; margin:0; z-index:2;
}
.hero-layered .hero-copy h1{
  margin:0 0 4.65vw;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(42px,4.55vw,81px); font-weight:700; line-height:1.42;
  letter-spacing:.025em; color:#001f63;
}
.hero-layered .hero-copy h1 span{color:#0795ef}
.hero-layered .hero-copy h2{
  margin:0 0 1.35vw;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(27px,2.55vw,45px); font-weight:700; line-height:1.3;
  letter-spacing:.025em; color:#001f63;
}
.hero-layered .hero-copy p{
  margin:0; font-size:clamp(11pt,1.13vw,20px); font-weight:700;
  line-height:1.78; letter-spacing:.02em; color:#001f63;
}
.hero-layered .hero-sign{
  position:absolute; right:6.2%; top:34.5%; margin:0; z-index:2;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:clamp(29px,2.95vw,52px); font-weight:500; line-height:.86;
  color:#0065ed; transform:rotate(-7deg);
}
.hero-layered .hero-sign small{
  display:block; margin:.8vw 0 0 6.8vw;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:clamp(11pt,.88vw,16px); font-style:normal; font-weight:700;
  line-height:1.5; letter-spacing:.08em; color:#001f63; transform:rotate(7deg);
}
.hero-layered .hero-btn{
  position:absolute; left:39.25%; bottom:4.8%;
  width:20.8%; height:9.2%; min-height:0; margin:0; padding:0; z-index:3;
  font-size:clamp(11pt,1.05vw,19px);
}
@media(max-width:760px){
  .hero.hero-layered{height:auto;min-height:0;aspect-ratio:1774/797;background-size:100% 100%}
  .hero-layered .hero-inner{padding:0}
  .hero-layered .hero-copy{left:8.8%;top:12.7%}
  .hero-layered .hero-copy h1{font-size:max(11pt,4.55vw);margin-bottom:4.65vw}
  .hero-layered .hero-copy h2{font-size:max(11pt,2.55vw);margin-bottom:1.35vw}
  .hero-layered .hero-copy p{font-size:max(11pt,1.13vw)}
  .hero-layered .hero-sign{display:block;font-size:max(11pt,2.95vw)}
  .hero-layered .hero-sign small{font-size:max(11pt,.88vw)}
  .hero-layered .hero-btn{font-size:max(11pt,1.05vw)}
}


/* v6 — FIRST VIEW ONLY
   Background and HTML foreground share the same responsive design coordinate system.
   No OUR STRENGTH or later section is changed. */
.hero.hero-layered{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1768 / 791;
  position:relative;
  overflow:hidden;
  background-image:url("../image/top-assets/hero-background.png");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}
.hero-layered .hero-inner{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}

/* Use percentages/vw so typography and placement scale together with the background. */
.hero-layered .hero-copy{
  position:absolute;
  left:8.8%;
  top:12.2%;
  margin:0;
}
.hero-layered .hero-copy h1{
  margin:0 0 4.45vw;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","HGS明朝E","MS PMincho",serif;
  font-size:max(11pt,4.58vw);
  font-weight:600;
  line-height:1.43;
  letter-spacing:.018em;
  color:#001f63;
}
.hero-layered .hero-copy h1 span{color:#078fe8}
.hero-layered .hero-copy h2{
  margin:0 0 1.35vw;
  font-size:max(11pt,2.56vw);
}
.hero-layered .hero-copy p{
  font-size:max(11pt,1.14vw);
}
.hero-layered .hero-sign{
  right:6.2%;
  top:34.4%;
  font-size:max(11pt,2.95vw);
}
.hero-layered .hero-sign small{
  font-size:max(11pt,.88vw);
}
.hero-layered .hero-btn{
  left:39.25%;
  bottom:4.7%;
  width:20.8%;
  height:9.2%;
  font-size:max(11pt,1.05vw);
}

/* On narrower screens keep the complete hero artwork visible and scale as one unit.
   This intentionally avoids cover/cropping, which caused the background/text mismatch. */
@media(max-width:1100px){
  .hero.hero-layered{
    aspect-ratio:1768 / 791;
    background-size:100% 100%;
    background-position:center center;
  }
}
@media(max-width:760px){
  .hero.hero-layered{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1768 / 791;
    background-size:100% 100%;
    background-position:center center;
  }
  .hero-layered .hero-inner{padding:0}
  .hero-layered .hero-copy{left:8.8%;top:12.2%}
  .hero-layered .hero-copy h1{
    font-size:max(11pt,4.58vw);
    line-height:1.43;
    margin-bottom:4.45vw;
  }
  .hero-layered .hero-copy h2{font-size:max(11pt,2.56vw);margin-bottom:1.35vw}
  .hero-layered .hero-copy p{font-size:max(11pt,1.14vw)}
  .hero-layered .hero-sign{display:block;font-size:max(11pt,2.95vw)}
  .hero-layered .hero-sign small{font-size:max(11pt,.88vw)}
  .hero-layered .hero-btn{font-size:max(11pt,1.05vw);min-height:0}
}


/* v7 — FIRST VIEW ZOOM FIX ONLY
   The hero itself is the sizing container.
   Background, typography and CTA all scale from the SAME container width. */
.hero.hero-layered{
  container-type:inline-size;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1768 / 791;
  position:relative;
  overflow:hidden;
  background-image:url("../image/top-assets/hero-background.png");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}
.hero-layered .hero-inner{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  display:block;
}
.hero-layered .hero-copy{
  position:absolute;
  left:8.8%;
  top:12.2%;
  margin:0;
}
.hero-layered .hero-copy h1{
  margin:0 0 4.45cqw;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","HGS明朝E","MS PMincho",serif;
  font-size:max(11pt,4.58cqw);
  font-weight:600;
  line-height:1.43;
  letter-spacing:.018em;
}
.hero-layered .hero-copy h2{
  margin:0 0 1.35cqw;
  font-size:max(11pt,2.56cqw);
}
.hero-layered .hero-copy p{
  font-size:max(11pt,1.14cqw);
}
.hero-layered .hero-sign{
  right:6.2%;
  top:34.4%;
  font-size:max(11pt,2.95cqw);
}
.hero-layered .hero-sign small{
  margin-top:.8cqw;
  margin-left:6.8cqw;
  font-size:max(11pt,.88cqw);
}
.hero-layered .hero-btn{
  left:39.25%;
  bottom:4.7%;
  width:20.8%;
  height:9.2%;
  min-height:0;
  margin:0;
  padding:0;
  font-size:max(11pt,1.05cqw);
}

/* No alternate mobile geometry: keep the entire first view as one responsive unit. */
@media(max-width:760px){
  .hero.hero-layered{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1768 / 791;
    background-size:100% 100%;
    background-position:center center;
  }
  .hero-layered .hero-inner{padding:0}
  .hero-layered .hero-copy{left:8.8%;top:12.2%}
  .hero-layered .hero-copy h1{font-size:max(11pt,4.58cqw);margin-bottom:4.45cqw}
  .hero-layered .hero-copy h2{font-size:max(11pt,2.56cqw);margin-bottom:1.35cqw}
  .hero-layered .hero-copy p{font-size:max(11pt,1.14cqw)}
  .hero-layered .hero-sign{display:block;font-size:max(11pt,2.95cqw)}
  .hero-layered .hero-sign small{font-size:max(11pt,.88cqw)}
  .hero-layered .hero-btn{font-size:max(11pt,1.05cqw);min-height:0}
}


/* =========================================================
   v8 FIRST VIEW ONLY
   Normal responsive layout — no aspect-ratio / vw / cqw scaling.
   OUR STRENGTH and every following section remain untouched.
   ========================================================= */
.hero.hero-responsive{
  position:relative;
  width:100%;
  min-height:720px;
  height:calc(100vh - 88px);
  max-height:860px;
  overflow:hidden;
  background:#f7fcff;
}
.hero.hero-responsive::before,
.hero.hero-responsive::after{display:none}

.hero-responsive .hero-background{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("../image/top-assets/hero-background.png");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
}

.hero-responsive .hero-container{
  position:relative;
  z-index:1;
  width:min(1440px,88%);
  height:100%;
  min-height:720px;
  margin:0 auto;
  padding:72px 0 52px;
  box-sizing:border-box;
}

/* Left copy */
.hero-responsive .hero-copy{
  position:relative;
  left:auto;
  top:auto;
  width:58%;
  margin:0;
}
.hero-responsive .hero-copy h1{
  margin:0 0 58px;
  color:#001f63;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","HGS明朝E","MS PMincho",serif;
  font-size:72px;
  font-weight:600;
  line-height:1.42;
  letter-spacing:.02em;
}
.hero-responsive .hero-copy h1 span{color:#078fe8}
.hero-responsive .hero-copy h2{
  margin:0 0 22px;
  color:#001f63;
  font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho","HGS明朝E","MS PMincho",serif;
  font-size:40px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.02em;
}
.hero-responsive .hero-copy p{
  margin:0;
  color:#001f63;
  font-size:18px;
  font-weight:700;
  line-height:1.9;
  letter-spacing:.02em;
}

/* Right message */
.hero-responsive .hero-message{
  position:absolute;
  right:1.5%;
  top:33%;
  display:flex;
  align-items:flex-end;
  gap:16px;
  color:#0065ed;
  transform:rotate(-7deg);
}
.hero-responsive .hero-script{
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:48px;
  font-weight:500;
  line-height:.88;
}
.hero-responsive .hero-message-ja{
  padding-bottom:3px;
  color:#001f63;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.08em;
  transform:rotate(7deg);
}

/* CTA */
.hero-responsive .hero-cta{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:368px;
  height:72px;
  border-radius:40px;
  color:#fff;
  background:linear-gradient(90deg,#08a8ef 0%,#0644d8 100%);
  text-decoration:none;
  font-size:17px;
  font-weight:700;
  letter-spacing:.06em;
  box-shadow:0 5px 14px rgba(0,73,177,.12);
}
.hero-responsive .hero-cta span{font-size:22px;font-weight:400}

/* Normal responsive breakpoints */
@media(max-width:1280px){
  .hero.hero-responsive{
    min-height:660px;
    height:calc(100vh - 82px);
    max-height:780px;
  }
  .hero-responsive .hero-container{
    width:88%;
    min-height:660px;
    padding-top:58px;
  }
  .hero-responsive .hero-copy h1{font-size:60px;margin-bottom:44px}
  .hero-responsive .hero-copy h2{font-size:34px}
  .hero-responsive .hero-copy p{font-size:16px}
  .hero-responsive .hero-script{font-size:40px}
  .hero-responsive .hero-message-ja{font-size:11pt}
}

@media(max-width:960px){
  .hero.hero-responsive{
    min-height:640px;
    height:auto;
    max-height:none;
  }
  .hero-responsive .hero-background{
    background-position:58% center;
  }
  .hero-responsive .hero-container{
    min-height:640px;
    padding:54px 0 110px;
  }
  .hero-responsive .hero-copy{width:68%}
  .hero-responsive .hero-copy h1{font-size:52px;margin-bottom:38px}
  .hero-responsive .hero-copy h2{font-size:30px}
  .hero-responsive .hero-copy p{font-size:15px}
  .hero-responsive .hero-message{right:0;top:37%}
  .hero-responsive .hero-script{font-size:34px}
  .hero-responsive .hero-message-ja{font-size:11pt}
  .hero-responsive .hero-cta{bottom:28px;width:330px;height:64px;font-size:15px}
}

@media(max-width:760px){
  .hero.hero-responsive{
    min-height:620px;
    height:auto;
    max-height:none;
  }
  .hero-responsive .hero-background{
    background-size:cover;
    background-position:55% center;
  }
  .hero-responsive .hero-container{
    width:88%;
    min-height:620px;
    padding:48px 0 112px;
  }
  .hero-responsive .hero-copy{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    margin:0;
  }
  .hero-responsive .hero-copy h1{
    margin:0 0 34px;
    font-size:42px;
    line-height:1.4;
  }
  .hero-responsive .hero-copy h2{
    margin:0 0 18px;
    font-size:25px;
  }
  .hero-responsive .hero-copy p{
    font-size:14px;
    line-height:1.8;
  }
  .hero-responsive .hero-message{
    right:1%;
    top:auto;
    bottom:118px;
  }
  .hero-responsive .hero-script{font-size:28px}
  .hero-responsive .hero-message-ja{font-size:11pt}
  .hero-responsive .hero-cta{
    bottom:28px;
    width:min(330px,88%);
    height:62px;
    font-size:14px;
  }
}

@media(max-width:520px){
  .hero.hero-responsive{min-height:590px}
  .hero-responsive .hero-container{min-height:590px;padding-top:42px}
  .hero-responsive .hero-copy h1{font-size:35px;margin-bottom:30px}
  .hero-responsive .hero-copy h2{font-size:22px}
  .hero-responsive .hero-copy p{font-size:11pt}
  .hero-responsive .hero-copy p br{display:none}
  .hero-responsive .hero-message{bottom:112px}
  .hero-responsive .hero-script{font-size:24px}
  .hero-responsive .hero-message-ja{font-size:11pt}
}

/* v11: HERO Keep Going Together typography only — refined editorial italic */
.hero-responsive .hero-script {
  font-family: "Palatino Linotype", "Book Antiqua", "URW Palladio L", Georgia, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.025em;
  line-height: 1.02;
  font-size: 52px;
}
@media (max-width:1280px) {
  .hero-responsive .hero-script { font-size: 44px; }
}
@media (max-width:960px) {
  .hero-responsive .hero-script { font-size: 37px; }
}
@media (max-width:760px) {
  .hero-responsive .hero-script { font-size: 31px; }
}
@media (max-width:520px) {
  .hero-responsive .hero-script { font-size: 26px; }
}

/* v12: Only HERO decorative lettering; installed STXingkai is preferred. */
.hero-responsive .hero-script {
  font-family: "STXingkai", "华文行楷", "Kaiti SC", cursive;
  font-style: normal;
  font-weight: 400;
  font-size: 57px;
  line-height: 1.05;
  letter-spacing: 0;
  white-space: nowrap;
}
@media(max-width:1280px){.hero-responsive .hero-script{font-size:48px}}
@media(max-width:960px){.hero-responsive .hero-script{font-size:40px}}
@media(max-width:760px){.hero-responsive .hero-script{font-size:34px}}
@media(max-width:520px){.hero-responsive .hero-script{font-size:28px}}

/* v13: decorative hero lettering only; flowing handwriting-style typeface. */
.hero-responsive .hero-script {
  font-family: "Segoe Script", "Segoe Print", "Brush Script MT", "Apple Chancery", cursive;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.035em;
}

/* v15: first-view copy 70%, Japanese tagline 50% of v14. */
.hero.hero-responsive .hero-copy p { font-size:25.2px; }
.hero.hero-responsive .hero-message-ja { font-size:21px; }
@media(max-width:1280px) {
  .hero.hero-responsive .hero-copy p { font-size:22.4px; }
  .hero.hero-responsive .hero-message-ja { font-size:18px; }
}
@media(max-width:960px) {
  .hero.hero-responsive .hero-copy p { font-size:21px; }
  .hero.hero-responsive .hero-message-ja { font-size:16.5px; }
}
@media(max-width:760px) {
  .hero.hero-responsive .hero-copy p { font-size:19.6px; }
  .hero.hero-responsive .hero-message-ja { font-size:15px; }
}
@media(max-width:520px) {
  .hero.hero-responsive .hero-copy p { font-size:18.2px; }
  .hero.hero-responsive .hero-message-ja { font-size:13.5px; }
}

/* RECRUIT image only: match ABOUT image display dimensions. */
@media (min-width:761px){
  .split.recruit{grid-template-columns:55% 45%;}
  .split.recruit > img{
    box-sizing:border-box;
    width:calc(100% - 5vw + 35px);
    max-width:calc(100% - 5vw + 35px);
    height:auto;
    aspect-ratio:680 / 417;
    object-fit:cover;
    border-radius:24px;
    align-self:center;
    justify-self:start;
  }
}

/* Qualification message added below the existing three strengths */
.strength-qualification{text-align:center;padding-top:36px;padding-bottom:8px}.strength-qualification h3{font-size:clamp(19px,2vw,25px);color:#123e67;margin:0 0 12px}.strength-qualification p{line-height:1.95;color:#40556b;font-size:15px;margin:0 auto 13px;max-width:900px}.strength-qualification a{color:#176caa;font-weight:700;text-decoration:none;font-size:14px}.strength-qualification a:hover{text-decoration:underline}

/* CONTACT image only: match RECRUIT image dimensions. */
@media (min-width:761px){
  .split.contact{grid-template-columns:55% 45%;}
  .split.contact > img{
    box-sizing:border-box;
    width:calc(100% - 5vw + 35px);
    max-width:calc(100% - 5vw + 35px);
    height:auto;
    aspect-ratio:680 / 417;
    object-fit:cover;
    border-radius:24px;
    align-self:center;
    justify-self:start;
  }
}
