:root{
  --navy:#183753;
  --navy-deep:#102b43;
  --blue-soft:#eef5f8;
  --green:#6e9b8e;
  --green-soft:#edf5f1;
  --cream:#f7f4ee;
  --paper:#fffefb;
  --text:#263746;
  --muted:#627381;
  --line:#dce5ea;
  --shadow:0 18px 46px rgba(24,55,83,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--paper);
  font-family:"Noto Sans JP",sans-serif;
  line-height:1.85;
}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(1120px,calc(100% - 48px));margin:auto}
.section{padding:108px 0}
.section-label{
  margin:0 0 15px;
  color:var(--green);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
}
.section-heading h2{
  margin:0;
  color:var(--navy-deep);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.95rem,3.65vw,3.15rem);
  font-weight:600;
  line-height:1.5;
  letter-spacing:.02em;
  word-break:keep-all;
}
.section-heading.centered{text-align:center}
.heading-description{max-width:690px;margin:26px auto 0;color:var(--muted)}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;transition:.3s}
.site-header.scrolled{
  background:rgba(255,254,251,.95);
  box-shadow:0 6px 24px rgba(20,45,70,.08);
  backdrop-filter:blur(16px);
}
.header-inner{
  width:min(1240px,calc(100% - 40px));
  height:84px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:32px;
}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--navy-deep);line-height:1.35}
.brand strong{font-size:.96rem;letter-spacing:.03em}
.brand span{font-size:.6rem;letter-spacing:.2em;opacity:.72}
.desktop-nav{margin-left:auto;display:flex;gap:25px}
.desktop-nav a{color:var(--navy-deep);text-decoration:none;font-size:.8rem;font-weight:600}
.desktop-nav a:hover{opacity:.58}
.header-entry{
  padding:10px 18px;
  border:1px solid rgba(16,43,67,.42);
  border-radius:999px;
  color:var(--navy-deep);
  text-decoration:none;
  font-size:.8rem;
  font-weight:600;
  background:rgba(255,255,255,.52);
}
.menu-button,.mobile-nav{display:none}

/* Hero */
.hero{
  position:relative;
  min-height:720px;
  height:92vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#eef3f3;
}
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(1.18) contrast(.94) saturate(.92);
}
.hero-wash{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.20),rgba(255,255,255,.04) 45%,rgba(255,255,255,.10)),
    linear-gradient(180deg,rgba(246,249,248,.10),rgba(245,248,247,.02));
}
.hero-content{
  position:relative;
  z-index:1;
  width:min(1120px,calc(100% - 48px));
  margin:auto;
  padding-top:62px;
}
.hero-card{
  width:min(650px,58vw);
  padding:46px 52px 48px;
  color:var(--navy-deep);
  background:rgba(255,254,251,.88);
  border:1px solid rgba(255,255,255,.82);
  border-radius:3px;
  box-shadow:0 24px 65px rgba(28,54,74,.12);
  backdrop-filter:blur(12px);
}
.hero-kicker{
  margin:0 0 22px;
  color:var(--green);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.22em;
}
.hero h1{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(2.5rem,4.25vw,4rem);
  font-weight:500;
  line-height:1.35;
  letter-spacing:.025em;
  white-space:nowrap;
}
.hero-lead{margin:26px 0 0;color:#4f6473;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:2}
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 26px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  transition:.25s;
}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--navy-deep);color:white;box-shadow:0 12px 26px rgba(16,43,67,.14)}
.hero-text-link{
  color:var(--navy-deep);
  text-decoration:none;
  font-size:.9rem;
  font-weight:600;
  border-bottom:1px solid rgba(16,43,67,.34);
}
.scroll-guide{display:none}

/* Intro */
.intro-panel{background:var(--cream);border-bottom:1px solid #ece7de}
.intro-panel-inner{
  width:min(1040px,calc(100% - 48px));
  margin:auto;
  padding:52px 0;
  display:grid;
  grid-template-columns:.78fr 1.55fr;
  gap:70px;
  align-items:center;
}
.intro-panel p{margin:0;color:var(--green);font-weight:700}
.intro-panel strong{
  display:block;
  color:var(--navy-deep);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.22rem,1.95vw,1.8rem);
  font-weight:600;
  line-height:1.75;
}
.intro-panel strong span{display:block;white-space:nowrap}

/* About */
.about-grid{margin-top:68px;display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center}
.about-copy p{margin:0 0 24px;color:#50606e}
.photo-stack{position:relative;min-height:540px}
.photo-stack figure{margin:0;overflow:hidden;border-radius:4px;box-shadow:var(--shadow)}
.photo-main{width:82%;margin-left:auto!important}
.photo-main img{width:100%;height:445px;object-fit:cover}
.photo-sub{position:absolute;left:0;bottom:0;width:47%;border:8px solid var(--paper)}
.photo-sub img{width:100%;height:215px;object-fit:cover}

/* Environment */
.environment-section{background:var(--blue-soft)}
.value-grid{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value-card{
  min-height:285px;
  padding:31px 27px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(51,91,120,.06);
}
.value-number{display:block;color:var(--green);font-family:"Noto Serif JP",serif;font-size:1.28rem}
.value-card h3{margin:24px 0 14px;color:var(--navy-deep);font-family:"Noto Serif JP",serif;font-size:1.2rem}
.value-card p{margin:0;color:var(--muted);font-size:.93rem}

/* Trust feature */
.visual-break{
  position:relative;
  min-height:570px;
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  background:linear-gradient(135deg,#f8f5ef,#eef5f5);
}
.visual-break img{
  grid-column:2;
  width:100%;
  height:100%;
  min-height:570px;
  object-fit:cover;
  filter:brightness(1.12) contrast(.95) saturate(.92);
}
.visual-break:after{display:none}
.visual-break-copy{
  position:absolute;
  z-index:1;
  left:max(6vw,40px);
  top:50%;
  width:min(510px,40vw);
  transform:translateY(-50%);
  color:var(--navy-deep);
}
.visual-break-copy:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-40px -55px;
  background:rgba(255,254,251,.74);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 20px 55px rgba(24,55,83,.08);
  backdrop-filter:blur(10px);
}
.visual-break-copy p{margin:0;color:var(--green);letter-spacing:.2em;font-size:.73rem;font-weight:700}
.visual-break-copy h2{
  margin:18px 0 0;
  color:var(--navy-deep);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(2rem,3.65vw,3.4rem);
  font-weight:500;
  line-height:1.55;
}
.visual-break-copy h2 span{display:block;white-space:nowrap}

/* Growth */
.timeline{position:relative;margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.timeline:before{content:"";position:absolute;top:14px;left:12.5%;right:12.5%;height:1px;background:var(--line)}
.timeline-item{position:relative;padding-top:46px}
.timeline-dot{position:absolute;top:7px;left:0;right:0;width:15px;height:15px;margin:auto;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px var(--green-soft)}
.timeline-item span{color:var(--green);font-size:.71rem;font-weight:700;letter-spacing:.14em}
.timeline-item h3{margin:15px 0 11px;color:var(--navy-deep);font-family:"Noto Serif JP",serif;font-size:1.22rem}
.timeline-item p{margin:0;color:var(--muted);font-size:.93rem}

/* Message */
.message-section{background:var(--cream)}
.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.message-photo{overflow:hidden;border-radius:4px;box-shadow:var(--shadow)}
.message-photo img{width:100%;height:600px;object-fit:cover}
.message-copy h2{
  margin:0 0 32px;
  color:var(--navy-deep);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.82rem,2.75vw,2.65rem);
  font-weight:600;
  line-height:1.55;
}
.message-copy h2 span{display:block;white-space:nowrap}
.message-copy p{color:#52616d}
.signature{margin-top:30px!important;color:var(--navy-deep)!important;font-weight:700}

/* Fit */
.fit-list{max-width:900px;margin:58px auto 0;border-top:1px solid var(--line)}
.fit-list div{display:grid;grid-template-columns:90px 1fr;align-items:center;padding:22px 10px;border-bottom:1px solid var(--line)}
.fit-list span{color:var(--green);font-family:"Noto Serif JP",serif}
.fit-list p{margin:0;font-weight:600}

/* Requirements */
.requirements-section{background:var(--green-soft)}
.requirements{margin:56px 0 0;background:white;box-shadow:0 16px 45px rgba(40,78,68,.06)}
.requirements div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line)}
.requirements div:last-child{border-bottom:0}
.requirements dt{padding:23px 28px;color:var(--navy-deep);background:#fbfdfc;font-weight:700}
.requirements dd{margin:0;padding:23px 30px}
.requirements small{color:var(--muted)}
.requirements-note{margin:16px 0 0;color:var(--muted);font-size:.84rem}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:88px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:23px 45px 23px 0;cursor:pointer;color:var(--navy-deep);font-weight:700;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:8px;top:20px;font-size:1.4rem;color:var(--green)}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{margin:0;padding:0 42px 23px 0;color:var(--muted)}

/* Contact */
.contact-section{
  padding:92px 0;
  color:var(--text);
  background:
    radial-gradient(circle at 84% 18%,rgba(111,159,146,.17),transparent 34%),
    linear-gradient(135deg,#f8f5ef 0%,#eef5f8 100%);
  border-top:1px solid rgba(23,55,94,.06);
}
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.contact-section .section-label{color:var(--green)}
.contact-section h2{
  margin:0;
  color:var(--navy-deep);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.95rem,3.4vw,3rem);
  font-weight:500;
  line-height:1.55;
}
.contact-section h2 span{display:block;white-space:nowrap}
.contact-section p{max-width:680px;color:#52616d}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.contact-mail{width:100%;max-width:320px;background:var(--navy-deep);color:white;box-shadow:0 12px 28px rgba(16,41,67,.12)}
.contact-phone{color:var(--navy-deep);font-family:"Noto Serif JP",serif;font-size:2rem;text-decoration:none}
.contact-actions small{color:var(--muted)}

/* Footer */
.site-footer{padding:34px 0;background:#0c2238;color:#aebfca}
.footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.site-footer strong{color:white}
.site-footer p{margin:5px 0 0;font-size:.82rem}

/* Animation */
.reveal{opacity:0;transform:translateY(20px);transition:.7s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .desktop-nav,.header-entry{display:none}
  .menu-button{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}
  .menu-button span{width:24px;height:2px;background:var(--navy-deep)}
  .mobile-nav{display:none;padding:18px 24px 28px;background:rgba(255,254,251,.98);box-shadow:0 15px 25px rgba(0,0,0,.08)}
  .mobile-nav.open{display:grid}
  .mobile-nav a{padding:12px 0;text-decoration:none;border-bottom:1px solid var(--line)}
  .about-grid,.message-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .timeline:before{display:none}
  .photo-stack{min-height:520px}
  .hero-card{width:min(670px,74vw)}
  .visual-break{grid-template-columns:1fr}
  .visual-break img{grid-column:1}
  .visual-break-copy{width:min(540px,70vw)}
}

@media(max-width:680px){
  .container{width:min(100% - 30px,1120px)}
  .section{padding:76px 0}
  .header-inner{width:calc(100% - 24px);height:70px}
  .brand strong{font-size:.84rem}
  .hero{min-height:680px;height:88vh}
  .hero-content{width:calc(100% - 30px);padding-top:75px}
  .hero-card{width:100%;padding:34px 25px 36px;background:rgba(255,254,251,.90)}
  .hero h1{font-size:clamp(2rem,9vw,3rem);white-space:normal;word-break:keep-all}
  .hero-lead br{display:none}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:18px}
  .button{width:100%;max-width:280px}
  .intro-panel-inner{grid-template-columns:1fr;gap:15px;padding:36px 0}
  .intro-panel strong span{white-space:normal;word-break:keep-all}
  .about-grid{margin-top:44px;gap:44px}
  .photo-stack{min-height:405px}
  .photo-main{width:90%}
  .photo-main img{height:325px}
  .photo-sub{width:52%;border-width:5px}
  .photo-sub img{height:145px}
  .value-grid{grid-template-columns:1fr}
  .value-card{min-height:auto}
  .visual-break{min-height:570px}
  .visual-break img{min-height:570px}
  .visual-break-copy{left:24px;right:24px;width:auto}
  .visual-break-copy:before{inset:-28px -18px}
  .visual-break-copy h2{font-size:clamp(1.85rem,8.2vw,2.6rem)}
  .visual-break-copy h2 span{white-space:normal;word-break:keep-all}
  .timeline{grid-template-columns:1fr;gap:8px}
  .timeline-item{padding:24px 0 24px 46px;border-bottom:1px solid var(--line)}
  .timeline-dot{left:7px;right:auto;top:31px}
  .message-photo img{height:410px}
  .message-copy h2{font-size:clamp(1.7rem,7.1vw,2.25rem)}
  .message-copy h2 span{white-space:normal;word-break:keep-all}
  .fit-list div{grid-template-columns:55px 1fr;padding:19px 0}
  .requirements div{grid-template-columns:1fr}
  .requirements dt{padding:16px 20px 5px;background:white}
  .requirements dd{padding:0 20px 18px}
  .faq-grid{gap:28px}
  .contact-section h2{font-size:clamp(1.78rem,7.7vw,2.45rem)}
  .contact-section h2 span{white-space:normal;word-break:keep-all}
  .footer-inner{display:block}
  .footer-inner>p{margin-top:24px}
}




/* ===== Ver.12 final refinements ===== */
body{
  overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

section[id]{
  scroll-margin-top:88px;
}

.intro-statement,
.intro-message{
  min-width:0;
}

.intro-statement span,
.intro-message span{
  display:block;
}

.intro-statement span:last-child,
.intro-message span:last-child{
  white-space:nowrap;
}

.hero-image,
.photo-main img,
.photo-sub img,
.visual-break img,
.message-photo img{
  background:#edf2f3;
}

.button,
.header-entry,
.hero-text-link,
.desktop-nav a,
.mobile-nav a{
  -webkit-tap-highlight-color:transparent;
}

.menu-button{
  cursor:pointer;
}

.menu-button span{
  transition:transform .22s ease, opacity .22s ease;
}

.menu-button[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.menu-button[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.menu-button[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

@media (max-width:980px){
  .mobile-nav{
    max-height:calc(100vh - 70px);
    overflow:auto;
  }

  .hero{
    min-height:680px;
    height:min(860px,92svh);
  }

  .hero-card{
    width:min(680px,78vw);
  }

  .about-grid,
  .message-grid{
    gap:54px;
  }
}

@media (max-width:680px){
  .container{
    width:calc(100% - 32px);
  }

  .section{
    padding:70px 0;
  }

  .site-header.scrolled .header-inner{
    height:66px;
  }

  .brand strong{
    max-width:245px;
    font-size:.82rem;
    line-height:1.35;
  }

  .brand span{
    margin-top:2px;
    font-size:.52rem;
  }

  .hero{
    min-height:640px;
    height:92svh;
    align-items:flex-end;
  }

  .hero-image{
    object-position:58% center;
    filter:brightness(1.12) contrast(.94) saturate(.90);
  }

  .hero-wash{
    background:
      linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.10) 44%,rgba(247,249,248,.52) 100%);
  }

  .hero-content{
    width:calc(100% - 24px);
    padding:0 0 24px;
  }

  .hero-card{
    width:100%;
    padding:27px 22px 29px;
    background:rgba(255,254,251,.93);
    border-radius:2px;
    backdrop-filter:blur(9px);
  }

  .hero-kicker{
    margin-bottom:14px;
    font-size:.66rem;
    letter-spacing:.16em;
  }

  .hero h1{
    font-size:clamp(1.95rem,9.2vw,2.65rem);
    line-height:1.35;
    letter-spacing:.01em;
    white-space:nowrap;
  }

  .hero-lead{
    margin-top:18px;
    font-size:.94rem;
    line-height:1.8;
  }

  .hero-lead br{
    display:none;
  }

  .hero-actions{
    align-items:stretch;
    gap:15px;
    margin-top:24px;
  }

  .hero-actions .button{
    width:100%;
    max-width:none;
    min-height:48px;
  }

  .hero-text-link{
    align-self:center;
    padding:4px 2px;
  }

  .intro-panel-inner{
    width:calc(100% - 32px);
    padding:34px 0 38px;
    gap:18px;
  }

  .intro-statement{
    font-size:.94rem;
    line-height:1.75;
  }

  .intro-statement span:last-child{
    font-size:.94rem;
  }

  .intro-message span:first-child{
    white-space:normal;
    word-break:keep-all;
  }

  .section-label{
    margin-bottom:11px;
    font-size:.69rem;
  }

  .section-heading h2{
    font-size:clamp(1.72rem,7.4vw,2.15rem);
    line-height:1.55;
    word-break:keep-all;
  }

  .heading-description{
    margin-top:19px;
    font-size:.94rem;
    line-height:1.8;
  }

  .about-grid{
    margin-top:38px;
    gap:38px;
  }

  .about-copy p{
    margin-bottom:19px;
    font-size:.95rem;
  }

  .photo-stack{
    min-height:365px;
  }

  .photo-main{
    width:92%;
  }

  .photo-main img{
    height:285px;
  }

  .photo-sub{
    width:54%;
  }

  .photo-sub img{
    height:126px;
  }

  .value-grid{
    margin-top:38px;
    gap:12px;
  }

  .value-card{
    padding:25px 22px;
  }

  .value-card h3{
    margin:16px 0 9px;
  }

  .visual-break{
    min-height:510px;
  }

  .visual-break img{
    min-height:510px;
    object-position:center;
  }

  .visual-break-copy{
    left:19px;
    right:19px;
  }

  .visual-break-copy:before{
    inset:-25px -13px;
  }

  .visual-break-copy h2{
    font-size:clamp(1.65rem,7.2vw,2.15rem);
    line-height:1.58;
  }

  .visual-break-copy h2 span{
    white-space:nowrap;
  }

  .timeline{
    margin-top:40px;
  }

  .timeline-item{
    padding:22px 0 22px 44px;
  }

  .timeline-item h3{
    margin:10px 0 7px;
  }

  .message-grid{
    gap:36px;
  }

  .message-photo img{
    height:310px;
    object-position:center;
  }

  .message-copy h2{
    margin-bottom:23px;
    font-size:clamp(1.55rem,6.6vw,2rem);
    line-height:1.6;
  }

  .message-copy h2 span{
    white-space:nowrap;
  }

  .message-copy p{
    font-size:.95rem;
  }

  .fit-list{
    margin-top:38px;
  }

  .fit-list div{
    grid-template-columns:42px 1fr;
    gap:6px;
  }

  .fit-list p{
    font-size:.93rem;
    line-height:1.7;
  }

  .requirements{
    margin-top:36px;
  }

  .requirements dt{
    padding:15px 19px 4px;
    font-size:.9rem;
  }

  .requirements dd{
    padding:0 19px 16px;
    font-size:.94rem;
  }

  .faq-grid{
    gap:20px;
  }

  .faq-list summary{
    padding:20px 40px 20px 0;
    font-size:.94rem;
  }

  .faq-list p{
    padding-right:18px;
    font-size:.92rem;
  }

  .contact-section{
    padding:68px 0;
  }

  .contact-grid{
    gap:30px;
  }

  .contact-section h2{
    font-size:clamp(1.65rem,7.2vw,2.1rem);
  }

  .contact-section h2 span{
    white-space:nowrap;
  }

  .contact-actions{
    align-items:stretch;
  }

  .contact-mail{
    max-width:none;
  }

  .contact-phone{
    font-size:1.72rem;
  }

  .site-footer{
    padding:29px 0;
  }
}

@media (max-width:370px){
  .hero h1{
    font-size:1.82rem;
  }

  .intro-message{
    font-size:1.02rem!important;
  }

  .visual-break-copy h2{
    font-size:1.52rem;
  }

  .message-copy h2{
    font-size:1.46rem;
  }

  .contact-section h2{
    font-size:1.52rem;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }

  .reveal{
    opacity:1;
    transform:none;
  }
}




/* ===== Ver.12.2: unified mobile heading typography ===== */
.heading-office span,
.heading-environment span,
.heading-growth span,
.heading-message span,
.heading-fit span{
  display:block;
}

@media (max-width:680px){
  .heading-office span,
  .heading-environment span,
  .heading-growth span,
  .heading-message span,
  .heading-fit span{
    white-space:nowrap;
    word-break:keep-all;
    font-size:1em;
    letter-spacing:inherit;
    line-height:inherit;
  }

  .heading-office{
    font-size:clamp(1.34rem,5.8vw,1.72rem)!important;
    line-height:1.58!important;
    letter-spacing:-.045em!important;
  }

  .heading-environment{
    font-size:clamp(1.23rem,5.35vw,1.60rem)!important;
    line-height:1.60!important;
    letter-spacing:-.06em!important;
  }

  .heading-growth{
    font-size:clamp(1.28rem,5.55vw,1.64rem)!important;
    line-height:1.60!important;
    letter-spacing:-.055em!important;
  }

  .heading-message{
    font-size:clamp(1.28rem,5.55vw,1.64rem)!important;
    line-height:1.60!important;
    letter-spacing:-.05em!important;
  }

  .heading-fit{
    font-size:clamp(1.40rem,6.05vw,1.76rem)!important;
    line-height:1.58!important;
    letter-spacing:-.04em!important;
  }
}

@media (min-width:414px) and (max-width:680px){
  .heading-office{font-size:1.72rem!important;letter-spacing:-.035em!important;}
  .heading-environment{font-size:1.60rem!important;letter-spacing:-.045em!important;}
  .heading-growth{font-size:1.64rem!important;letter-spacing:-.045em!important;}
  .heading-message{font-size:1.64rem!important;letter-spacing:-.04em!important;}
  .heading-fit{font-size:1.76rem!important;letter-spacing:-.035em!important;}
}

@media (max-width:390px){
  .heading-office{font-size:1.33rem!important;letter-spacing:-.055em!important;}
  .heading-environment{font-size:1.20rem!important;letter-spacing:-.07em!important;}
  .heading-growth{font-size:1.24rem!important;letter-spacing:-.065em!important;}
  .heading-message{font-size:1.24rem!important;letter-spacing:-.06em!important;}
  .heading-fit{font-size:1.36rem!important;letter-spacing:-.05em!important;}
}

@media (max-width:370px){
  .heading-office{font-size:1.27rem!important;}
  .heading-environment{font-size:1.14rem!important;}
  .heading-growth{font-size:1.18rem!important;}
  .heading-message{font-size:1.18rem!important;}
  .heading-fit{font-size:1.30rem!important;}
}
