/* =========================================================
   Clear Link v1.11.0 — final implementation pass
   - centered headings / lead copy
   - phrase-aware Japanese wrapping
   - TOP-only slider presentation
   - visual reasons / process / post-FV media
   - responsive image editor support
   - stronger CTA/button affordance
   ========================================================= */
:root{
  --cl-font-sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",Meiryo,sans-serif;
  --cl-font-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
  --cl-btn:#173d34;
  --cl-btn-text:#fff;
}
html{scroll-behavior:smooth}
body{font-family:var(--cl-font-sans);font-size:16px;line-height:1.85}
main :is(h1,h2,h3){font-family:var(--cl-font-serif);font-weight:500;letter-spacing:.015em;text-wrap:balance;word-break:normal;overflow-wrap:normal;line-break:strict}
@supports (word-break:auto-phrase){main :is(h1,h2,h3){word-break:auto-phrase}}
main :is(h1,h2,h3) br{display:none!important}

/* ---------- Headings / lead alignment ---------- */
.section-title,
.section-heading-row .section-title,
.sf-heading,.sf-heading-grid>div:first-child,
.pf-heading,.pf-heading-grid>div:first-child,
.cf-heading,.af-heading,.ftc-heading,
.fq-group__heading,.fq-intro__copy,
.bp-section__heading,.cl-common-faq__heading{
  width:min(100%,1040px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.section-title__lead,
.section-title>p:not(.section-title__en),
.sf-heading>p:last-child,.pf-heading>p:last-child,.cf-heading>p:last-child,.af-heading>p:last-child,.ftc-heading>p:last-child,
.bp-section__heading>p:last-child,.cl-common-faq__heading>p{
  margin-left:auto!important;margin-right:auto!important;max-width:760px!important;text-align:center!important;
}
.section-kicker,.section-title__en,.sf-kicker,.pf-kicker,.cf-kicker,.af-kicker,.ftc-kicker,.fq-kicker{letter-spacing:.13em}
.section-heading-row{align-items:center!important}
.section-heading-row>.arrow-link{align-self:center!important}

/* ---------- FV: no title background, shadow only ---------- */
.home-hero,.site-unified-hero{touch-action:pan-y;overscroll-behavior-x:none}
.home-hero__panel,.site-unified-hero .home-hero__panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  width:min(1100px,calc(100vw - 80px))!important;
  max-width:1100px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.home-hero__panel h1,.site-unified-hero .home-hero__panel h1{
  text-shadow:0 3px 20px rgba(0,0,0,.60),0 1px 4px rgba(0,0,0,.72)!important;
  color:#fff!important;
  max-width:1100px!important;
  margin-inline:auto!important;
}
.home-hero__lead,.site-unified-hero .home-hero__lead,.home-hero__script,.site-unified-hero .home-hero__script{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.75)!important;
  margin-left:auto!important;margin-right:auto!important;
  text-align:center!important;
}
.home-hero__script,.site-unified-hero .home-hero__script{transform:none!important;width:auto!important;font-family:var(--cl-font-sans)!important;font-style:normal!important;letter-spacing:.18em!important;text-transform:uppercase}
.home-hero__veil{background:linear-gradient(180deg,rgba(10,24,19,.24),rgba(10,24,19,.48))!important}
.site-unified-hero--static .home-hero__slide:not(.is-active){display:none!important}
.home-hero__slide picture,.site-unified-hero .home-hero__slide picture{display:block;width:100%;height:100%}
.home-hero__slide picture img,.site-unified-hero .home-hero__slide picture img{width:100%;height:100%;object-fit:cover}

/* ---------- First visual section after every fixed-page FV ---------- */

/* ---------- CTA: explicit buttons rather than underlined text ---------- */
main .arrow-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;
  min-height:48px!important;padding:12px 20px!important;border:1px solid var(--cl-btn)!important;border-radius:999px!important;
  background:var(--cl-btn)!important;color:var(--cl-btn-text)!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(23,61,52,.10)!important;
  font-size:13px!important;font-weight:700!important;letter-spacing:.02em!important;line-height:1.4!important;
}
main .arrow-link:hover{opacity:1!important;transform:translateY(-1px);box-shadow:0 12px 28px rgba(23,61,52,.16)!important}
main .arrow-link span{font-size:18px;line-height:1}
main .arrow-link--light{background:#fff!important;color:#173d34!important;border-color:#fff!important}

/* ---------- TOP label rail: centered, no left drift ---------- */
.home-editorial-rail{overflow:hidden!important}
.home-editorial-rail>div{width:100%!important;max-width:100%!important;justify-content:center!important;animation:none!important;transform:none!important;padding-inline:20px!important;box-sizing:border-box!important;text-align:center!important}
.home-editorial-rail span{font-weight:700;letter-spacing:.08em}

/* ---------- TOP content heading alignment ---------- */
.home-main--future .future-intro__heading,
.home-main--future .problem-highlight__copy,
.home-main--future .future-banner__grid>div:first-child,
.home-main--future .maintenance__copy,
.home-main--future .support-links__lead-copy,
.home-main--future .first-guide__intro,
.home-main--future .about-split__grid>div,
.home-main--future .faq-home__grid>div:first-child{
  text-align:center!important;
}
.home-main--future .future-intro__copy,.home-main--future .problem-highlight__copy>p,.home-main--future .maintenance__copy>p,.home-main--future .support-links__lead-copy>p,.home-main--future .about-split__grid>div>p{margin-left:auto;margin-right:auto}
.home-main--future .problem-highlight__list{width:min(100%,520px);margin-left:auto;margin-right:auto;text-align:left}

/* ---------- Reform menu: human-made asymmetric composition, still 16:9 ---------- */
.home-main--future .reform-menu__grid--future{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:28px 22px!important;max-width:1180px!important;
}
.home-main--future .reform-menu-card:nth-child(1){grid-column:span 7!important}
.home-main--future .reform-menu-card:nth-child(2){grid-column:span 5!important;margin-top:44px}
.home-main--future .reform-menu-card:nth-child(3){grid-column:span 5!important}
.home-main--future .reform-menu-card:nth-child(4){grid-column:span 7!important;margin-top:28px}
.home-main--future .reform-menu-card:nth-child(5),
.home-main--future .reform-menu-card:nth-child(6){grid-column:span 6!important}
.home-main--future .reform-menu-card{border-radius:24px!important;overflow:hidden;background:#fff;box-shadow:0 14px 38px rgba(23,61,52,.075);transition:transform .25s ease,box-shadow .25s ease}
.home-main--future .reform-menu-card:hover{transform:translateY(-4px)!important;box-shadow:0 22px 50px rgba(23,61,52,.13)}
.home-main--future .reform-menu-card__media{aspect-ratio:16/9!important;max-height:none!important;overflow:hidden!important}
.home-main--future .reform-menu-card__media img{aspect-ratio:16/9!important;width:100%!important;height:100%!important;object-fit:cover!important}
.home-main--future .reform-menu-card__text{position:relative}
.home-main--future .reform-menu-card__text>span{position:absolute;right:22px;top:22px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf4f0;color:#173d34}

/* ---------- Reasons: every item gets an image ---------- */
.home-main--future .reason-cards--visual{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:24px!important}
.home-main--future .reason-cards--visual>article{grid-column:span 4!important;min-height:0!important;padding:0!important;overflow:hidden;border-radius:24px!important;background:#fff!important;border:1px solid rgba(23,61,52,.10);box-shadow:0 14px 34px rgba(23,61,52,.06)}
.home-main--future .reason-cards--visual>article:nth-child(2){margin-top:42px!important}
.home-main--future .reason-cards--visual>article:nth-child(3){margin-top:14px!important}
.home-main--future .reason-cards--visual article figure{margin:0;aspect-ratio:16/9;overflow:hidden}
.home-main--future .reason-cards--visual article figure img{display:block;width:100%;height:100%;object-fit:cover}
.home-main--future .reason-cards--visual article>div{padding:22px 22px 26px}
.home-main--future .reason-cards--visual article>div>span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #8ca79b;border-radius:50%;font-size:10px;margin-bottom:16px}
.home-main--future .reason-cards--visual .reason-cards__stat{grid-column:span 12!important;display:grid!important;grid-template-columns:auto auto 1fr;align-items:end;gap:18px!important;min-height:190px!important;padding:32px 38px!important;margin:8px 0 0!important;background:linear-gradient(120deg,#183d33,#2f5d4f)!important;color:#fff!important}
.home-main--future .reason-cards__stat small{grid-column:1/-1;font-size:12px!important;letter-spacing:.06em!important}
.home-main--future .reason-cards__stat strong{font-family:var(--cl-font-serif)!important;font-size:clamp(54px,7vw,96px)!important;line-height:.95!important;letter-spacing:-.04em!important}
.home-main--future .reason-cards__stat b{font-size:20px!important;padding-bottom:10px!important}
.home-main--future .reason-cards__stat p{justify-self:end!important;max-width:420px;color:#e6f0eb!important;text-align:right}

/* ---------- Maintenance: fix implicit third-column bug + Japanese experience ---------- */
.home-main--future .maintenance__grid--with-visual{
  display:grid!important;grid-template-columns:minmax(180px,.55fr) minmax(0,1.05fr) minmax(320px,1fr)!important;gap:clamp(26px,4vw,56px)!important;align-items:center!important;
}
.home-main--future .maintenance__experience{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:28px 24px;border-radius:26px;background:#173d34;color:#fff;text-align:center;min-width:0}
.home-main--future .maintenance__experience small{font-size:11px;letter-spacing:.12em;margin-bottom:16px}
.home-main--future .maintenance__experience strong{font-family:var(--cl-font-serif);font-size:clamp(46px,6vw,78px);line-height:1;white-space:nowrap}
.home-main--future .maintenance__experience span{margin-top:14px;font-size:12px;line-height:1.7;color:#dce9e3}
.home-main--future .maintenance__visual{grid-column:auto!important;aspect-ratio:16/9!important;min-height:0!important;border-radius:26px!important}
.home-main--future .maintenance__visual img{min-height:0!important;aspect-ratio:16/9!important}

/* ---------- Process: image on all 8 steps ---------- */
.ftc-flow .ftc-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.ftc-flow .ftc-timeline li{display:grid!important;grid-template-columns:112px 48px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;padding:14px!important;border:1px solid rgba(23,61,52,.12)!important;border-radius:20px!important;background:#fff!important;min-height:150px!important}
.ftc-flow .ftc-timeline li figure{margin:0!important;width:112px!important;aspect-ratio:1/1!important;border-radius:14px!important;overflow:hidden!important;grid-row:1!important;grid-column:1!important}
.ftc-flow .ftc-timeline li figure img{display:block;width:100%;height:100%;object-fit:cover}
.ftc-flow .ftc-timeline li>b{grid-column:2!important;grid-row:1!important;margin:0!important;align-self:start;font-size:13px!important;color:#668679}
.ftc-flow .ftc-timeline li>div{grid-column:3!important;grid-row:1!important;min-width:0}
.ftc-flow .ftc-timeline li h3,.ftc-flow .ftc-timeline li p{grid-column:auto!important;margin:0!important}
.ftc-flow .ftc-timeline li h3{margin-bottom:8px!important}

/* ---------- Customer voices: hidden structurally until posts exist ---------- */
.voice-home__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px}
.voice-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(23,61,52,.10);box-shadow:0 14px 36px rgba(23,61,52,.07)}
.voice-card figure{margin:0;aspect-ratio:16/9;overflow:hidden}.voice-card figure img{width:100%;height:100%;object-fit:cover;display:block}
.voice-card__body{padding:24px}.voice-card__body small{font-size:9px;letter-spacing:.14em;color:#6d847a}.voice-card__body h3{font-size:23px;margin:8px 0 12px}.voice-card__meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#66766f}.voice-card__text{margin-top:16px;color:#4e5f57}

/* ---------- Common FAQ ---------- */
.cl-common-faq{border-top:1px solid rgba(23,61,52,.08)}
.cl-common-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,86px);align-items:start}
.cl-common-faq__heading{position:sticky;top:130px}
.cl-common-faq__heading h2{font-size:clamp(34px,4vw,54px);margin:8px 0 14px}
.cl-common-faq__list{border-top:1px solid rgba(23,61,52,.16)}
.cl-common-faq details{border-bottom:1px solid rgba(23,61,52,.16)}
.cl-common-faq summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:22px 0;cursor:pointer;font-weight:700}.cl-common-faq summary::-webkit-details-marker{display:none}.cl-common-faq summary>span{font-family:var(--cl-font-serif);font-size:22px;color:#6d8b7e}.cl-common-faq summary>i{font-style:normal;font-size:18px}.cl-common-faq details[open] summary>i{transform:rotate(45deg)}
.cl-common-faq details>div{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:0 0 24px}.cl-common-faq details>div>b{font-family:var(--cl-font-serif);font-size:22px;color:#173d34}.cl-common-faq details>div p{margin:0}

/* ---------- Header readability ---------- */
@media(min-width:1121px){
  html body.has-overlay-header .primary-nav a{font-size:12px!important;font-weight:650!important;letter-spacing:.015em!important}
  html body.has-overlay-header .header-action{width:164px!important;min-width:164px!important;height:46px!important;min-height:46px!important}
  html body.has-overlay-header .header-action small{font-size:8px!important;line-height:1.2!important}
  html body.has-overlay-header .header-action span{font-size:13px!important;line-height:1.3!important}
}
.menu-trigger__label{font-size:8px!important;font-weight:700!important}
.mega-menu a{font-size:max(13px,1em)}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .home-main--future .reform-menu-card:nth-child(n){grid-column:span 6!important;margin-top:0!important}
  .home-main--future .reason-cards--visual>article:nth-child(n){grid-column:span 6!important;margin-top:0!important}
  .home-main--future .reason-cards--visual .reason-cards__stat{grid-column:span 12!important}
  .home-main--future .maintenance__grid--with-visual{grid-template-columns:220px minmax(0,1fr)!important}
  .home-main--future .maintenance__visual{grid-column:1/-1!important;max-height:440px}
}
@media(max-width:820px){
  body{font-size:15px}
  main :is(h1,h2,h3){text-align:center!important}
  .section-heading-row{grid-template-columns:1fr!important;justify-items:center!important;gap:18px!important;text-align:center!important}
  .section-heading-row>.arrow-link{justify-self:center!important}
  .home-hero__panel,.site-unified-hero .home-hero__panel{width:calc(100vw - 36px)!important;max-width:720px!important}
  .home-hero__panel h1,.site-unified-hero .home-hero__panel h1{font-size:clamp(25px,7vw,31px)!important;line-height:1.42!important}
  .home-hero__lead,.site-unified-hero .home-hero__lead{font-size:14px!important;line-height:1.78!important;max-width:620px!important}
  .home-hero__script,.site-unified-hero .home-hero__script{font-size:10px!important}
  main .arrow-link{min-height:50px!important;padding:13px 20px!important;font-size:14px!important}
  .home-editorial-rail>div{gap:10px!important;font-size:8px!important;white-space:normal!important;flex-wrap:wrap!important;padding:9px 16px!important}
  .home-main--future .future-intro__copy,.home-main--future .problem-highlight__copy,.home-main--future .maintenance__copy,.home-main--future .support-links__lead-copy,.home-main--future .first-guide__intro,.home-main--future .about-split__grid>div{text-align:center!important}
  .home-main--future .reform-menu__grid--future{grid-template-columns:1fr!important;gap:20px!important;max-width:620px!important}
  .home-main--future .reform-menu-card:nth-child(n){grid-column:auto!important;margin-top:0!important}
  .home-main--future .reform-menu-card__media{aspect-ratio:16/9!important}
  .home-main--future .reason-cards--visual{grid-template-columns:1fr!important}
  .home-main--future .reason-cards--visual>article:nth-child(n){grid-column:auto!important;margin-top:0!important}
  .home-main--future .reason-cards--visual .reason-cards__stat{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:28px 22px!important;gap:8px!important}
  .home-main--future .reason-cards__stat p{text-align:center!important;justify-self:auto!important}
  .home-main--future .maintenance__grid--with-visual{grid-template-columns:1fr!important;gap:20px!important}
  .home-main--future .maintenance__experience{min-height:180px!important;order:1}.home-main--future .maintenance__copy{order:2}.home-main--future .maintenance__visual{order:3!important;grid-column:auto!important}
  .ftc-flow .ftc-timeline{grid-template-columns:1fr!important}
  .ftc-flow .ftc-timeline li{grid-template-columns:86px 38px minmax(0,1fr)!important;min-height:124px!important;padding:12px!important;gap:12px!important}
  .ftc-flow .ftc-timeline li figure{width:86px!important;border-radius:12px!important}
  .voice-home__grid{grid-template-columns:1fr!important}
  .cl-common-faq__grid{grid-template-columns:1fr!important;gap:28px!important}.cl-common-faq__heading{position:static!important}
  .cl-common-faq__heading,.cl-common-faq__heading p{text-align:center!important}
  .site-header .brand__logo-image{max-height:54px!important;width:auto!important}
  .menu-trigger__label{display:block!important;font-size:9px!important}
}
@media(max-width:420px){
  .home-hero__panel h1,.site-unified-hero .home-hero__panel h1{font-size:26px!important}
  .home-hero__lead,.site-unified-hero .home-hero__lead{font-size:13.5px!important}
  .ftc-flow .ftc-timeline li{grid-template-columns:74px 32px minmax(0,1fr)!important}.ftc-flow .ftc-timeline li figure{width:74px!important}
}

/* ---------- v1.11.0 final audit additions ---------- */
/* Main section titles: center on desktop as well; card copy remains independently aligned. */
main section h2{text-align:center}

/* TOP first section: give the first scroll a real visual anchor instead of text-only columns. */
.home-main--future .future-intro__grid{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(260px,.85fr)!important;
  gap:clamp(28px,4vw,58px)!important;
  align-items:center!important;
}
.home-main--future .future-intro__visual{
  margin:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-radius:24px!important;
  box-shadow:0 20px 48px rgba(23,61,52,.11)!important;
  transform:translateY(18px);
}
.home-main--future .future-intro__visual img{display:block;width:100%;height:100%;object-fit:cover}
.home-main--future .future-intro__heading,.home-main--future .future-intro__copy{text-align:center!important}

/* Dedicated “選ばれる理由”: each of the ten reasons now has an individual image. */
.af-ten-grid .af-card--with-image{padding:0!important;overflow:hidden!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 38px rgba(23,61,52,.07)!important}
.af-ten-grid .af-card--with-image figure{margin:0!important;aspect-ratio:16/9!important;overflow:hidden!important}
.af-ten-grid .af-card--with-image figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.af-ten-grid .af-card--with-image:hover figure img{transform:scale(1.025)}
.af-ten-grid .af-card--with-image .af-card__content{padding:24px 24px 28px!important;text-align:center!important}
.af-ten-grid .af-card--with-image .af-card__content>span{display:inline-grid!important;place-items:center!important;width:36px;height:36px;border:1px solid rgba(23,61,52,.28);border-radius:50%;margin-bottom:14px}
.af-ten-grid .af-card--with-image:nth-child(4n+2),.af-ten-grid .af-card--with-image:nth-child(4n+4){transform:translateY(18px)}
.af-numbers__grid>div{text-align:center!important}
.af-numbers__grid strong{white-space:nowrap!important}
.af-numbers__grid span{letter-spacing:.04em!important;text-transform:none!important}

/* Standalone text CTAs are rendered as clear buttons, not underlined text links. */
main :where(.pf-hub-unsure,.pf-note,.af-position,.af-company-area-link,.af-warranty-long,.af-area-inquiry,.sf-intro,.fq-contact,.cf-alert) a:not([class*="card"]){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
  min-height:48px!important;margin-top:18px!important;padding:12px 20px!important;
  border:1px solid #173d34!important;border-radius:999px!important;background:#173d34!important;color:#fff!important;
  text-decoration:none!important;font-weight:700!important;font-size:13px!important;line-height:1.4!important;box-shadow:0 8px 22px rgba(23,61,52,.10)!important;
}
.cf-alert--dark a:not([class*="card"]),.fq-contact a:not([class*="card"]){border-color:#fff!important;background:#fff!important;color:#173d34!important}

/* Keep all major calls-to-action comfortably readable. */
.cl-final-cta__button,.mobile-contact-bar a,.bp-contact-routing__line,.bp-contact-routing__tel{font-family:var(--cl-font-sans)!important;font-weight:700!important}

/* Menu readability, especially on mobile. */
@media(max-width:1100px){
  .mega-menu a,.mega-menu button,.mega-hierarchy__parent,.mega-arrow-link{font-size:14px!important;line-height:1.55!important}
}

@media(max-width:820px){
  .home-main--future .future-intro__grid{grid-template-columns:1fr!important;gap:24px!important}
  .home-main--future .future-intro__visual{width:min(100%,620px)!important;margin-inline:auto!important;transform:none!important;order:2}
  .home-main--future .future-intro__copy{order:3}
  .af-ten-grid .af-card--with-image:nth-child(n){transform:none!important}
  .af-ten-grid .af-card--with-image .af-card__content{padding:20px 18px 24px!important}
}

/* Readability audit: final header and mobile sticky CTA type sizes. */
@media(min-width:1121px){
  html body.has-overlay-header .primary-nav a{font-size:13px!important}
  html body.has-overlay-header .header-action span{font-size:14px!important}
  html body.has-overlay-header .header-action small{font-size:9px!important}
}
@media(max-width:820px){
  .mobile-contact-bar small,.mobile-contact-bar__phone small{font-size:9px!important;line-height:1.2!important;letter-spacing:.05em!important}
  .mobile-contact-bar span,.mobile-contact-bar__phone span{font-size:14px!important;line-height:1.25!important}
  .menu-trigger__label{font-size:10px!important}
}

/* Intro lead alignment follows the centered heading system. */
.sf-heading-grid>p,.pf-heading-grid>p,.cf-intro__grid>p,.af-intro__grid>p,.ftc-intro__grid>p,.bp-profile__intro>p,.bp-contact-routing__intro>p:last-child{
  max-width:760px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;
}
