/* Sentaku brand story refresh — 2026-09-09 */

.brand-story-shell {
  width: min(86%, 1180px);
  margin-inline: auto;
}

/* =========================================================
   Reference-led section redesign — 2026-09-11
   Each section follows one visual system without mixing motifs.
   ========================================================= */

/* OUR NAME — CARTA HOLDINGS' framed brand-story composition */
.brand-name--carta {
  padding: clamp(112px, 9vw, 152px) 0;
  background: #fff;
  color: #111;
}

.brand-name--carta::after { display: none; }
.brand-name--carta .brand-section-label { margin-bottom: 24px; color: #587f90; }

.brand-name--carta .brand-name__title {
  margin: 0 0 48px;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02em;
  text-align: center;
}

.brand-name__mark {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 64px);
  min-height: 420px;
  padding: 76px 8% 118px;
  border: 1px solid #d8dddf;
  background: #fff;
}

.brand-name__word { text-align: center; }
.brand-name__word span {
  display: block;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(55px, 6.1vw, 82px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
}

.brand-name__word small {
  display: block;
  margin-top: 18px;
  color: #77868c;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .24em;
}

.brand-name__mark > b {
  color: #7fb2c5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(45px, 5vw, 70px);
  font-weight: 300;
}

.brand-name__mark > strong {
  position: absolute;
  right: 0;
  bottom: 58px;
  left: 0;
  color: #21465a;
  font-family: "Parisienne", cursive;
  font-size: clamp(34px, 3.5vw, 48px);
  font-weight: 400;
  text-align: center;
}

.brand-name--carta .brand-name__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 72px;
  width: min(100%, 920px);
  margin: 42px auto 0;
  color: #384950;
  font-size: 14px;
  line-height: 2.05;
}

.brand-name--carta .brand-name__body > p + p { margin-top: 0; }
.brand-name--carta .brand-name__rhythm {
  align-self: end;
  color: #21465a;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .08em;
}

.brand-name--carta .brand-name__message {
  margin: 0;
  padding: 22px 0 0;
  border-top: 1px solid #cfd8dc;
  color: #111;
  font-size: clamp(21px, 2.2vw, 29px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.03em;
}

/* IMPACT — Borderless Japan's large-heading / quiet-number composition */
.impact-counter--borderless {
  padding: clamp(120px, 10vw, 168px) 0;
  background: #f8fafb;
  color: #153746;
}

.impact-counter--borderless .brand-section-label {
  margin-bottom: 34px;
  color: #5b97ac;
}

.impact-counter--borderless .impact-counter__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 7%;
  align-items: start;
  padding-bottom: 80px;
  border-bottom: 0;
}

.impact-counter--borderless .impact-counter__intro > h2 {
  margin: 0;
  color: #153746;
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(74px, 8.5vw, 124px);
  font-weight: 700;
  line-height: .84;
  letter-spacing: -.075em;
}

.impact-counter--borderless .impact-counter__intro > div {
  padding-top: 6px;
  color: #455b65;
  font-size: 14px;
  line-height: 1.95;
}

.impact-counter--borderless .impact-counter__intro h3 {
  margin: 0 0 28px;
  color: #153746;
  font-size: clamp(24px, 2.25vw, 32px);
  line-height: 1.5;
  letter-spacing: -.035em;
}

.impact-counter--borderless .impact-counter__intro > div p + p { margin-top: 18px; }
.impact-counter--borderless .impact-counter__updated {
  color: #788b93;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
}

.impact-counter--borderless .impact-counter__result {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "caption policy" "value value";
  gap: 12px 40px;
  align-items: end;
  padding: 28px 0 52px;
  border-top: 1px solid #d5e0e4;
  border-bottom: 1px solid #d5e0e4;
}

.impact-counter--borderless .impact-counter__caption {
  grid-area: caption;
  padding: 0;
}

.impact-counter--borderless .impact-counter__caption > p {
  color: #153746;
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 700;
  line-height: 1.55;
}

.impact-counter--borderless .impact-counter__visual {
  grid-area: value;
  display: flex;
  align-items: baseline;
  min-height: 0;
  color: #8fc4d3;
  line-height: 1;
}

.impact-counter--borderless .impact-counter__visual strong {
  color: #8fc4d3;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: clamp(112px, 15vw, 210px);
  font-weight: 600;
  letter-spacing: -.07em;
}

.impact-counter--borderless .impact-counter__visual strong.is-pending {
  font-size: clamp(80px, 11vw, 148px);
  letter-spacing: -.06em;
}

.impact-counter--borderless .impact-counter__visual span {
  margin-left: 20px;
  color: #8fc4d3;
  font-size: 32px;
  font-weight: 700;
}

.impact-counter__policy {
  grid-area: policy;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid #7895a0;
  background: none;
  color: #536d78;
  font: 600 12px/1.5 "Noto Sans JP", sans-serif;
  letter-spacing: .04em;
  cursor: pointer;
}

.impact-counter__policy:hover,
.impact-counter__policy:focus-visible { color: #153746; border-color: #153746; }

.impact-counter--borderless .impact-counter__metrics {
  border-bottom-color: #d5e0e4;
}
.impact-counter--borderless .impact-counter__metrics li { border-right-color: #d5e0e4; }
.impact-counter--borderless .impact-counter__metrics span { color: #6f828b; }
.impact-counter--borderless .impact-counter__metrics strong { color: #153746; }

.impact-counter--borderless .impact-counter__cta {
  padding: 56px 0 0;
  border-bottom: 0;
}

.impact-counter--borderless .impact-counter__cta p { color: #153746; }
.impact-counter--borderless .impact-counter__cta a {
  border-color: #153746;
  background: #153746;
  color: #fff;
}
.impact-counter--borderless .impact-counter__cta a:hover,
.impact-counter--borderless .impact-counter__cta a:focus-visible { background: #fff; color: #153746; }

/* CASE STUDY — Sun* Design Space's visual-first two-column work cards */
.brand-cases--sun {
  padding: clamp(120px, 10vw, 168px) 0;
  background: #fff;
}

.brand-cases--sun .brand-cases__head {
  grid-template-columns: 1fr minmax(300px, 440px);
  align-items: end;
  margin-bottom: 72px;
}

.brand-cases--sun .brand-section-label { margin-bottom: 25px; }
.brand-cases--sun .brand-cases__head h2 {
  margin: 0;
  color: #153746;
  font-size: clamp(45px, 5.3vw, 72px);
  line-height: 1.22;
}
.brand-cases--sun .brand-cases__head > p { padding-bottom: 5px; }

.brand-cases--sun .brand-cases__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 88px 46px;
}

.brand-cases--sun .brand-cases__grid article {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.brand-case-visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.58 / 1;
  padding: clamp(28px, 3vw, 46px);
  border-radius: 8px;
  color: #fff;
}

.brand-case-visual::before,
.brand-case-visual::after {
  content: "";
  position: absolute;
  border: 1px solid currentColor;
  opacity: .22;
  transform: rotate(-12deg);
}
.brand-case-visual::before { width: 68%; height: 145%; top: -55%; right: -13%; }
.brand-case-visual::after { width: 42%; height: 90%; right: 14%; bottom: -62%; }
.brand-case-visual--ai { background: #21465a; }
.brand-case-visual--hr { background: #7fb2c5; }
.brand-case-visual--education { background: #262c2f; }

.brand-cases--sun .brand-case-visual small {
  position: relative;
  z-index: 1;
  color: inherit;
  font: 600 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .15em;
}
.brand-case-visual strong {
  position: absolute;
  z-index: 1;
  right: 9%;
  bottom: 13%;
  left: 9%;
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.38;
  letter-spacing: -.045em;
}
.brand-case-visual > span {
  position: absolute;
  z-index: 1;
  top: 9%;
  right: 8%;
  font-size: 25px;
}

.brand-cases--sun .brand-case-meta {
  margin-top: 23px;
  color: #809097;
  font: 600 11px/1.5 "Poppins", "Noto Sans JP", sans-serif;
  letter-spacing: .08em;
}

.brand-cases--sun .brand-cases__grid h3 {
  margin: 8px 0 13px;
  color: #153746;
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.55;
}

.brand-case-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.brand-case-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 12px;
  border: 1px solid #b9ccd3;
  border-radius: 999px;
  color: #527789;
  font-size: 10px;
  font-weight: 600;
}

.brand-cases--sun .brand-case-description {
  margin-top: 18px;
  color: #5d6c72;
  font-size: 13px;
  line-height: 1.9;
}

/* OUR VALUES — LayerX's numberless guideline rows with a compact index */
.value-layerx {
  padding: clamp(116px, 9vw, 154px) 0;
  background: #fff;
  color: #173947;
}

.value-layerx__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: clamp(62px, 8vw, 112px);
  align-items: start;
}

.value-layerx__lead {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(360px, 1fr);
  gap: 16px 8%;
  margin-bottom: 68px;
}

.value-layerx__lead .brand-section-label { grid-column: 1 / -1; margin-bottom: 22px; }
.value-layerx__lead h2 {
  margin: 0;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.38;
  letter-spacing: -.05em;
}
.value-layerx__lead > p {
  align-self: end;
  padding-bottom: 5px;
  color: #52666f;
  font-size: 14px;
  line-height: 2;
}

.value-layerx__rows { border-top: 1px dashed #aebfc6; }
.value-layerx__rows article {
  display: grid;
  grid-template-columns: 34% minmax(0, 1fr);
  gap: 8%;
  align-items: center;
  min-height: 150px;
  padding: 34px 0;
  border-bottom: 1px dashed #aebfc6;
  scroll-margin-top: 120px;
}
.value-layerx__rows small {
  display: block;
  margin-bottom: 8px;
  color: #67a4b9;
  font: 600 10px/1.4 "Poppins", sans-serif;
  letter-spacing: .18em;
}
.value-layerx__rows h3 {
  margin: 0;
  color: #173947;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.5;
  letter-spacing: -.035em;
}
.value-layerx__rows article > p {
  color: #52666f;
  font-size: 14px;
  line-height: 1.95;
}

.value-layerx__index {
  position: sticky;
  top: 130px;
  padding-top: 4px;
}
.value-layerx__index strong {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 13px;
  border-bottom: 1px solid #8fa5ae;
  color: #173947;
  font: 600 12px/1.4 "Poppins", sans-serif;
  letter-spacing: .14em;
}
.value-layerx__index a {
  display: block;
  position: relative;
  padding: 8px 0 8px 14px;
  color: #6d7f87;
  font-size: 11px;
  line-height: 1.5;
  text-decoration: none;
}
.value-layerx__index a::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #7fb2c5;
}
.value-layerx__index a:hover,
.value-layerx__index a:focus-visible { color: #173947; }

@media (max-width: 900px) {
  .brand-name--carta .brand-name__body { grid-template-columns: 1fr; }
  .brand-name--carta .brand-name__rhythm { margin-top: 12px; }
  .impact-counter--borderless .impact-counter__intro { grid-template-columns: 1fr; gap: 48px; }
  .impact-counter--borderless .impact-counter__result { grid-template-columns: 1fr auto; }
  .brand-cases--sun .brand-cases__grid { grid-template-columns: 1fr; }
  .value-layerx__layout { grid-template-columns: 1fr; }
  .value-layerx__index { display: none; }
  .value-layerx__lead { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .brand-name__mark { min-height: 310px; gap: 14px; padding: 60px 5% 96px; }
  .brand-name__word span { font-size: clamp(38px, 13vw, 54px); }
  .brand-name__mark > b { font-size: 33px; }
  .brand-name--carta .brand-name__body { font-size: 14px; }
  .impact-counter--borderless { padding-bottom: 84px; }
  .impact-counter--borderless .impact-counter__intro { padding-bottom: 58px; }
  .impact-counter--borderless .impact-counter__intro > h2 { font-size: clamp(60px, 20vw, 86px); }
  .impact-counter--borderless .impact-counter__result {
    grid-template-columns: 1fr;
    grid-template-areas: "caption" "value" "policy";
    padding-bottom: 38px;
  }
  .impact-counter--borderless .impact-counter__visual strong { font-size: clamp(78px, 27vw, 124px); }
  .impact-counter--borderless .impact-counter__visual strong.is-pending { font-size: clamp(55px, 18vw, 82px); }
  .impact-counter__policy { justify-self: start; margin-top: 8px; }
  .impact-counter--borderless .impact-counter__cta { padding-top: 40px; }
  .brand-cases--sun .brand-cases__head { grid-template-columns: 1fr; gap: 28px; margin-bottom: 48px; }
  .brand-case-visual { aspect-ratio: 1.3 / 1; }
  .value-layerx__lead { margin-bottom: 50px; }
  .value-layerx__rows article { grid-template-columns: 1fr; gap: 15px; padding: 29px 0; }
}

.brand-section-label {
  margin: 0 0 44px;
  color: #5b97ac;
  font-family: "Poppins", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
}

.brand-section-label span {
  margin-left: 18px;
  color: currentColor;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
}

/* Hero: one memorable statement and one short, concrete explanation. */
.bd-home .bd-hero-v2__copy {
  top: 39%;
  width: min(47%, 680px);
}

.bd-home .bd-hero-v2__copy h1 {
  font-size: clamp(58px, 5.15vw, 82px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.065em;
}

.bd-home .bd-hero-v2__copy > p.bd-hero-v2__lead {
  display: block;
  max-width: 34em;
  margin-top: 28px;
  color: rgba(22, 55, 70, .76);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: .025em;
}

.bd-mission__copy .bd-mission__body > h3,
.page-about .bd-mission__copy .bd-mission__body > h3 {
  font-size: clamp(32px, 2.7vw, 39px);
  letter-spacing: -.065em;
  white-space: nowrap;
}

.bd-mission__copy .bd-mission__body > h3 span { display: inline; white-space: nowrap; }
.bd-mission__copy .bd-mission__body > h3 span:nth-child(3) { display: block; }

/* Name story: the brand message is deliberately revealed here, not in Mission. */
.brand-name {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 10vw, 160px) 0;
  background: #153746;
  color: #fff;
}

.brand-name::after {
  content: "SENTAKU";
  position: absolute;
  right: -16px;
  bottom: -35px;
  color: rgba(255, 255, 255, .035);
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(90px, 16vw, 230px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.055em;
  pointer-events: none;
}

.brand-name .brand-section-label { color: #96c7d5; }

.brand-name__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(330px, .9fr) minmax(420px, 1.1fr);
  gap: clamp(70px, 10vw, 150px);
  align-items: start;
}

.brand-name h2 {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(54px, 6.5vw, 92px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.065em;
}

.brand-name h2 span { color: #8fc4d3; }

.brand-name__body {
  max-width: 38em;
  padding-top: 10px;
  color: rgba(255, 255, 255, .84);
  font-size: 15px;
  line-height: 2.15;
}

.brand-name__body > p + p { margin-top: 22px; }

.brand-name__body .brand-name__rhythm {
  margin-top: 38px;
  color: #fff;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.65;
}

.brand-name__body .brand-name__message {
  margin-top: 38px;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.025em;
}

/* The approach is stated before the service categories. */
.brand-principle {
  padding: clamp(100px, 9vw, 145px) 0;
  background: #edf4f6;
}

.brand-principle__grid,
.service-approach {
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr);
  gap: clamp(65px, 9vw, 130px);
  align-items: start;
}

.brand-principle h2,
.service-approach h2 {
  color: #183b4b;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -.06em;
}

.brand-principle__grid > div,
.service-approach > div {
  max-width: 40em;
  padding-top: 8px;
  color: #35474f;
  font-size: 16px;
  line-height: 2.15;
}

.brand-principle__grid > div p + p,
.service-approach > div p + p { margin-top: 22px; }

.service-approach {
  grid-template-columns: minmax(280px, .65fr) minmax(360px, 1fr);
  padding-bottom: clamp(50px, 6vw, 84px);
}

.service-approach .brand-section-label { grid-column: 1 / -1; margin-bottom: 0; }
.service-approach h2 { font-size: clamp(38px, 4.2vw, 58px); }

/* Strength */
.brand-strength {
  padding: clamp(110px, 10vw, 160px) 0;
  background: #fff;
}

.brand-strength__lead {
  display: grid;
  grid-template-columns: minmax(350px, .9fr) minmax(400px, 1.1fr);
  gap: clamp(70px, 9vw, 130px);
  align-items: end;
  margin-bottom: clamp(58px, 7vw, 92px);
}

.brand-strength__lead h2,
.brand-cases__head h2 {
  color: #172f3b;
  font-size: clamp(50px, 6vw, 82px);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.065em;
}

.brand-strength__lead p,
.brand-cases__head p {
  max-width: 38em;
  color: #42545c;
  font-size: 15px;
  line-height: 2.05;
}

.brand-strength__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #bacbd1;
  border-bottom: 1px solid #bacbd1;
}

.brand-strength__steps li {
  min-height: 270px;
  padding: 30px clamp(20px, 2.4vw, 34px);
  border-right: 1px solid #d2dde1;
}

.brand-strength__steps li:last-child { border-right: 0; }
.brand-strength__steps small { display: block; margin-bottom: 46px; color: #68a2b5; font-size: 12px; font-weight: 700; }
.brand-strength__steps strong { display: block; margin-bottom: 18px; color: #183b4b; font-size: 20px; line-height: 1.55; }
.brand-strength__steps span { display: block; color: #53646b; font-size: 13px; line-height: 1.9; }

/* Case studies: no invented names or metrics. */
.brand-cases {
  padding: clamp(110px, 10vw, 160px) 0;
  background: #f2f4f4;
}

.brand-cases__head {
  display: grid;
  grid-template-columns: minmax(350px, .9fr) minmax(400px, 1.1fr);
  gap: clamp(70px, 9vw, 130px);
  align-items: end;
  margin-bottom: clamp(58px, 7vw, 90px);
}

.brand-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: #cbd7db;
  border: 1px solid #cbd7db;
}

.brand-cases__grid article {
  min-height: 330px;
  padding: clamp(32px, 4vw, 52px);
  background: #fff;
}

.brand-cases__grid small { color: #5b97ac; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.brand-cases__grid h3 { margin: 66px 0 22px; color: #173b4b; font-size: clamp(20px, 2vw, 27px); line-height: 1.65; letter-spacing: -.035em; }
.brand-cases__grid p { color: #526269; font-size: 13px; line-height: 1.95; }

/* Impact counter: a verified, shared outcome across every service. */
.impact-counter {
  padding: clamp(110px, 10vw, 160px) 0 0;
  overflow: hidden;
  background: #153746;
  color: #fff;
}

.impact-counter .brand-section-label { color: #96c7d5; }

.impact-counter__intro {
  display: grid;
  grid-template-columns: minmax(420px, 1.05fr) minmax(360px, .95fr);
  gap: clamp(70px, 9vw, 130px);
  align-items: end;
  padding-bottom: clamp(72px, 8vw, 112px);
}

.impact-counter__intro h2 {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(54px, 6.2vw, 88px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.07em;
  white-space: nowrap;
}

.impact-counter__intro > div {
  max-width: 34em;
  color: rgba(255, 255, 255, .78);
  font-size: 15px;
  line-height: 2.05;
}

.impact-counter__intro > div p + p { margin-top: 22px; }

.impact-counter__result {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: end;
  padding: clamp(44px, 5vw, 72px) 0 clamp(52px, 6vw, 84px);
  border-top: 1px solid rgba(255, 255, 255, .28);
  border-bottom: 1px solid rgba(255, 255, 255, .28);
}

.impact-counter__visual {
  display: flex;
  align-items: baseline;
  min-width: 0;
  color: #fff;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  line-height: .82;
  letter-spacing: -.07em;
}

.impact-counter__visual strong {
  font-size: clamp(110px, 16vw, 225px);
  font-weight: 600;
}

.impact-counter__visual strong.is-pending {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(64px, 8.5vw, 120px);
  letter-spacing: -.06em;
}

.impact-counter__visual span {
  margin-left: .18em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(24px, 3vw, 43px);
  font-weight: 700;
  letter-spacing: 0;
}

.impact-counter__caption { padding-bottom: 6px; }

.impact-counter__caption > p {
  color: #fff;
  font-size: clamp(22px, 2.2vw, 31px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -.035em;
}

.impact-counter__caption button {
  margin-top: 28px;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .62);
  background: transparent;
  color: rgba(255, 255, 255, .82);
  font: 500 12px/1.5 "Noto Sans JP", sans-serif;
  letter-spacing: .05em;
  cursor: pointer;
}

.impact-counter__caption button span { margin-left: 9px; }
.impact-counter__caption button:hover,
.impact-counter__caption button:focus-visible { color: #fff; border-color: #fff; }

.impact-counter__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, .28);
}

.impact-counter__metrics[hidden] { display: none; }
.impact-counter__metrics li { padding: 28px 24px; border-right: 1px solid rgba(255, 255, 255, .18); }
.impact-counter__metrics li:first-child { padding-left: 0; }
.impact-counter__metrics li:last-child { border-right: 0; }
.impact-counter__metrics span { display: block; color: rgba(255,255,255,.66); font-size: 11px; }
.impact-counter__metrics strong { display: block; margin-top: 11px; color: #fff; font-size: 22px; }

.impact-counter__cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: clamp(52px, 6vw, 82px) 0 clamp(70px, 8vw, 110px);
}

.impact-counter__cta p {
  color: #fff;
  font-size: clamp(21px, 2.3vw, 31px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -.035em;
}

.impact-counter__cta a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 280px);
  padding: 18px 22px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 100px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  transition: background-color .25s ease, color .25s ease;
}

.impact-counter__cta a:hover,
.impact-counter__cta a:focus-visible { background: #fff; color: #153746; }
.impact-counter__mobile-break { display: none; }

.impact-counter__sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Native dialog keeps focus and Escape behavior predictable. */
.impact-dialog {
  width: min(92vw, 960px);
  max-width: none;
  max-height: 88dvh;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: #fff;
  color: #253a43;
  box-shadow: 0 24px 80px rgba(3, 22, 29, .34);
}

.impact-dialog::backdrop { background: rgba(8, 27, 35, .72); }
.impact-dialog__inner { padding: clamp(30px, 5vw, 68px); }

.impact-dialog__header {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-start;
  padding-bottom: 32px;
  border-bottom: 1px solid #cad7dc;
}

.impact-dialog__header p { margin-bottom: 10px; color: #5b97ac; font: 700 11px/1.4 "Poppins", sans-serif; letter-spacing: .14em; }
.impact-dialog__header h2 { color: #173947; font-size: clamp(27px, 3vw, 40px); line-height: 1.45; letter-spacing: -.045em; }
.impact-dialog__header button { flex: 0 0 auto; padding: 7px 0; border: 0; border-bottom: 1px solid #7a898f; background: transparent; color: #354950; font: 500 12px/1.4 "Noto Sans JP", sans-serif; cursor: pointer; }
.impact-dialog__header button span { margin-left: 8px; font-size: 18px; }

.impact-dialog__summary {
  margin: 38px 0 48px;
  padding: 30px clamp(24px, 4vw, 42px);
  background: #edf4f6;
}

.impact-dialog__summary > p:first-child { color: #173947; font-size: 15px; }
.impact-dialog__summary > p:first-child strong { margin-left: 12px; font-size: clamp(30px, 4vw, 48px); }
.impact-dialog__summary dl { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 25px; border-top: 1px solid #bccdd3; border-bottom: 1px solid #bccdd3; }
.impact-dialog__summary dl div { padding: 17px 18px; border-right: 1px solid #bccdd3; }
.impact-dialog__summary dl div:first-child { padding-left: 0; }
.impact-dialog__summary dl div:last-child { border-right: 0; }
.impact-dialog__summary dt { color: #60747c; font-size: 11px; }
.impact-dialog__summary dd { margin-top: 7px; color: #173947; font-size: 18px; font-weight: 700; }
.impact-dialog__updated { margin-top: 18px; color: #64767d; font-size: 11px; text-align: right; }

.impact-dialog section + section { margin-top: 44px; }
.impact-dialog section h3 { margin-bottom: 17px; color: #173947; font-size: 20px; line-height: 1.55; }
.impact-dialog section p,
.impact-dialog section li,
.impact-dialog section dd { color: #4b5f67; font-size: 13px; line-height: 2; }
.impact-dialog section ol { padding-left: 1.6em; list-style: decimal; }
.impact-dialog section ul { padding-left: 1.35em; list-style: disc; }
.impact-dialog section li + li { margin-top: 7px; }
.impact-dialog section ul + p { margin-top: 20px; }
.impact-dialog__examples > div { display: grid; grid-template-columns: 110px 1fr; gap: 22px; padding: 17px 0; border-top: 1px solid #d6e0e3; }
.impact-dialog__examples > div:last-child { border-bottom: 1px solid #d6e0e3; }
.impact-dialog__examples dt { color: #367287; font-size: 13px; font-weight: 700; }
.impact-dialog__note { margin-top: 48px; padding-top: 24px; border-top: 1px solid #cad7dc; color: #3d555e; font-size: 12px; font-weight: 700; line-height: 1.8; }

/* Inner pages: each page has one clear statement before its functional content. */
.inner-story-intro {
  padding: clamp(100px, 9vw, 145px) 0;
  background: #fff;
}

.inner-story-intro__grid {
  display: grid;
  grid-template-columns: minmax(380px, .95fr) minmax(390px, 1.05fr);
  gap: clamp(70px, 9vw, 130px);
  align-items: start;
}

.inner-story-intro__grid h2,
.contact-opening h2,
.contact-form-section__head h2 {
  color: #173947;
  font-size: clamp(45px, 5.2vw, 72px);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: -.065em;
}

.inner-story-intro__grid > p,
.inner-story-intro__grid > div,
.contact-opening__grid > div > p:not(.brand-section-label) {
  color: #43565e;
  font-size: 15px;
  line-height: 2.15;
}

.inner-story-intro__grid > div p + p,
.contact-opening__grid > div > p + p { margin-top: 20px; }

/* VALUE */
.value-framework {
  display: grid;
  grid-template-columns: minmax(390px, 46%) 1fr;
  background: #edf4f6;
}

.value-framework__visual {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  background: #173947;
}

.value-framework__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(12, 35, 45, .82));
}

.value-framework__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.value-framework__visual p { position: absolute; z-index: 1; right: 8%; bottom: 7%; left: 8%; color: #fff; font-size: clamp(30px, 3.3vw, 48px); font-weight: 700; line-height: 1.45; letter-spacing: -.05em; }
.value-framework__list { padding: clamp(42px, 6vw, 88px) clamp(34px, 7vw, 105px); }
.value-framework__list article { position: relative; padding: 30px 0 32px; border-bottom: 1px solid #c7d7dc; }
.value-framework__list article:last-child { border-bottom: 0; }
.value-framework__list small { display: block; margin-bottom: 10px; color: #5b97ac; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.value-framework__list h2 { color: #173947; font-size: clamp(24px, 2.25vw, 32px); line-height: 1.5; letter-spacing: -.04em; }
.value-framework__list p { margin-top: 9px; color: #4b5e66; font-size: 13px; line-height: 1.9; }

/* COMPANY */
.company-scope { padding: clamp(100px, 9vw, 145px) 0; background: #153746; color: #fff; }
.company-scope .brand-section-label { color: #92c4d2; }
.company-scope__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.company-scope__grid article { min-height: 330px; padding: 34px clamp(24px, 3.4vw, 48px); border-right: 1px solid rgba(255,255,255,.18); }
.company-scope__grid article:last-child { border-right: 0; }
.company-scope__grid small { display: block; margin-bottom: 66px; color: #8fc4d3; font-size: 11px; font-weight: 700; }
.company-scope__grid h3 { color: #fff; font-size: clamp(23px, 2.2vw, 31px); line-height: 1.55; }
.company-scope__grid p { margin-top: 18px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.95; }
.company-profile-section { padding: clamp(100px, 9vw, 145px) 0; background: #f3f5f5; }
.company-profile { background: #fff; }
.company-profile__action { margin-top: clamp(40px, 6vw, 64px); text-align: center; }

/* CONTACT */
.contact-opening { padding: clamp(100px, 9vw, 145px) 0; background: #fff; }
.contact-opening__grid { display: grid; grid-template-columns: minmax(380px, .9fr) minmax(420px, 1.1fr); gap: clamp(65px, 8vw, 120px); align-items: center; }
.contact-opening figure { height: clamp(420px, 45vw, 620px); overflow: hidden; border-radius: 2px; background: #edf2f3; }
.contact-opening figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.contact-opening h2 { margin-bottom: 34px; }
.contact-flow { padding: 0 0 clamp(100px, 9vw, 140px); background: #fff; }
.contact-flow__grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #153746; }
.contact-flow article { min-height: 220px; padding: 32px clamp(24px, 3vw, 42px); border-right: 1px solid rgba(255,255,255,.18); }
.contact-flow article:last-child { border-right: 0; }
.contact-flow small { display: block; margin-bottom: 35px; color: #8fc4d3; font-size: 11px; font-weight: 700; }
.contact-flow strong { display: block; color: #fff; font-size: 20px; }
.contact-flow span { display: block; margin-top: 15px; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.85; }
.contact-form-section { padding: clamp(100px, 9vw, 145px) 0; background: #edf4f6; }
.contact-form-section__head { margin-bottom: clamp(50px, 6vw, 82px); }
.contact-form-section .contact-grid { align-items: start; }
.contact-form-section .contact-info { background: #153746; color: #fff; }
.contact-form-section .contact-info dt { color: #8fc4d3; }
.contact-form-section .contact-info dd a { color: #fff !important; }
.contact-form-section form { background: #fff; }

@media (max-width: 900px) {
  .brand-name__grid,
  .brand-principle__grid,
  .service-approach,
  .brand-strength__lead,
  .brand-cases__head,
  .impact-counter__intro,
  .inner-story-intro__grid,
  .contact-opening__grid { grid-template-columns: 1fr; gap: 42px; }

  .service-approach .brand-section-label { grid-column: auto; }
  .brand-strength__steps { grid-template-columns: 1fr 1fr; }
  .brand-strength__steps li:nth-child(2) { border-right: 0; }
  .brand-strength__steps li:nth-child(-n+2) { border-bottom: 1px solid #d2dde1; }
  .brand-cases__grid { grid-template-columns: 1fr; }
  .brand-cases__grid article { min-height: 0; }
  .brand-cases__grid h3 { margin-top: 34px; }
  .impact-counter__result { grid-template-columns: 1fr; }
  .impact-counter__caption { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
  .impact-counter__caption button { margin-top: 0; }
  .impact-counter__metrics { grid-template-columns: 1fr 1fr; }
  .impact-counter__metrics li:nth-child(2) { border-right: 0; }
  .impact-counter__metrics li:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .18); }
  .value-framework { grid-template-columns: 1fr; }
  .value-framework__visual { min-height: 520px; }
  .company-scope__grid { grid-template-columns: 1fr; }
  .company-scope__grid article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .company-scope__grid article:last-child { border-bottom: 0; }
  .company-scope__grid small { margin-bottom: 28px; }
}

@media (max-width: 700px) {
  .brand-story-shell { width: min(86%, 560px); }
  .brand-section-label { margin-bottom: 30px; font-size: 11px; }
  .brand-section-label span { display: block; margin: 6px 0 0; }

  /* Keep the supplied hero subject above the diagonal instead of hiding the body behind it. */
  .bd-home .bd-hero-v2 .bd-hero__slides {
    height: calc(52% - 68px);
  }

  .bd-home .bd-hero-v2 .bd-slide .bd-hero__image {
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }

  .bd-home .bd-hero-v2 .bd-slide--01 .bd-hero__image { object-position: 60% center; }
  .bd-home .bd-hero-v2 .bd-slide--02 .bd-hero__image { object-position: 38% center; }

  .bd-home .bd-hero-v2 .bd-slide.is-current .bd-hero__image { transform: none; }

  .bd-home .bd-hero-v2__copy {
    top: auto;
    bottom: 58px;
    left: 7%;
    width: 86%;
    transform: none;
  }

  .bd-home .bd-hero-v2__copy small { margin-bottom: 15px; }
  .bd-home .bd-hero-v2__copy h1 { font-size: clamp(39px, 11.4vw, 54px); line-height: 1.34; }
  .bd-home .bd-hero-v2__copy > p.bd-hero-v2__lead {
    display: block;
    max-width: 27em;
    margin-top: 18px;
    font-size: 12px;
    line-height: 1.85;
  }

  .bd-mission__copy .bd-mission__body > h3,
  .page-about .bd-mission__copy .bd-mission__body > h3 { font-size: clamp(29px, 8.4vw, 36px); white-space: normal; }
  .bd-mission__copy .bd-mission__body > h3 span { display: block; }

  .brand-name,
  .brand-principle,
  .brand-strength,
  .brand-cases,
  .impact-counter,
  .inner-story-intro,
  .company-scope,
  .company-profile-section,
  .contact-opening,
  .contact-form-section { padding: 84px 0; }

  .brand-name h2 { font-size: clamp(43px, 13vw, 58px); }
  .brand-name__body { font-size: 14px; line-height: 2; }
  .brand-name__body .brand-name__message { font-size: clamp(23px, 7.5vw, 31px); }
  .brand-principle h2,
  .service-approach h2 { font-size: clamp(34px, 10vw, 45px); }
  .brand-principle__grid > div,
  .service-approach > div { font-size: 14px; line-height: 2; }
  .brand-strength__lead h2,
  .brand-cases__head h2 { font-size: clamp(40px, 12vw, 56px); }
  .brand-strength__steps { grid-template-columns: 1fr; }
  .brand-strength__steps li,
  .brand-strength__steps li:nth-child(n) { min-height: 0; padding: 27px 0; border-right: 0; border-bottom: 1px solid #d2dde1; }
  .brand-strength__steps li:last-child { border-bottom: 0; }
  .brand-strength__steps small { margin-bottom: 18px; }
  .brand-cases__grid article { padding: 32px 26px; }

  .impact-counter { padding-bottom: 0; }
  .impact-counter__intro { gap: 30px; padding-bottom: 58px; }
  .impact-counter__intro h2 { font-size: clamp(43px, 12vw, 57px); }
  .impact-counter__intro > div { font-size: 14px; line-height: 2; }
  .impact-counter__result { gap: 30px; padding: 38px 0 44px; }
  .impact-counter__visual strong { font-size: clamp(88px, 29vw, 150px); }
  .impact-counter__visual strong.is-pending { font-size: clamp(49px, 15vw, 75px); }
  .impact-counter__visual span { font-size: 23px; }
  .impact-counter__caption { display: block; }
  .impact-counter__caption > p { font-size: 22px; }
  .impact-counter__caption button { margin-top: 22px; }
  .impact-counter__cta { display: block; padding: 46px 0 70px; }
  .impact-counter__cta p { font-size: 22px; }
  .impact-counter__cta a { width: 100%; margin-top: 28px; }
  .impact-counter__mobile-break { display: block; }
  .impact-counter__metrics { grid-template-columns: 1fr; }
  .impact-counter__metrics li,
  .impact-counter__metrics li:first-child { padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
  .impact-counter__metrics li:last-child { border-bottom: 0; }

  .impact-dialog { width: 94vw; max-height: 92dvh; }
  .impact-dialog__inner { padding: 28px 22px 38px; }
  .impact-dialog__header { gap: 18px; padding-bottom: 24px; }
  .impact-dialog__header h2 { font-size: 25px; }
  .impact-dialog__header button { font-size: 0; }
  .impact-dialog__header button span { margin-left: 0; font-size: 24px; }
  .impact-dialog__summary { margin: 28px 0 38px; padding: 24px 20px; }
  .impact-dialog__summary dl { grid-template-columns: 1fr; }
  .impact-dialog__summary dl div,
  .impact-dialog__summary dl div:first-child { display: flex; justify-content: space-between; padding: 13px 0; border-right: 0; border-bottom: 1px solid #c8d6db; }
  .impact-dialog__summary dl div:last-child { border-bottom: 0; }
  .impact-dialog__summary dd { margin-top: 0; font-size: 15px; }
  .impact-dialog__examples > div { grid-template-columns: 1fr; gap: 5px; }

  .inner-story-intro__grid h2,
  .contact-opening h2,
  .contact-form-section__head h2 { font-size: clamp(35px, 10.5vw, 47px); }
  .inner-story-intro__grid > p,
  .inner-story-intro__grid > div,
  .contact-opening__grid > div > p:not(.brand-section-label) { font-size: 14px; line-height: 2; }
  .value-framework__visual { min-height: 410px; }
  .value-framework__list { padding: 38px 7%; }
  .value-framework__list article { padding: 26px 0 28px; }
  .company-scope__grid article { padding: 30px 0; }
  .contact-opening figure { height: 400px; }
  .contact-flow { padding-bottom: 84px; }
  .contact-flow__grid { grid-template-columns: 1fr; }
  .contact-flow article { min-height: 0; padding: 27px 24px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .contact-flow article:last-child { border-bottom: 0; }
  .contact-flow small { margin-bottom: 16px; }

  .page-service .section[style*="padding-bottom"] { padding-top: 84px; }
  .service-approach { gap: 30px; padding-bottom: 54px; }
}

/* Cascade locks for the reference-led variants. */
.brand-name.brand-name--carta {
  padding: clamp(112px, 9vw, 152px) 0;
  background: #fff;
  color: #111;
}
.brand-name.brand-name--carta::after { display: none; }
.brand-name.brand-name--carta .brand-section-label { margin-bottom: 24px; color: #587f90; }
.brand-name.brand-name--carta .brand-name__title {
  margin: 0 0 48px;
  color: #111;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .02em;
  text-align: center;
}
.brand-name.brand-name--carta .brand-name__rhythm {
  color: #21465a;
  font-size: 16px;
  line-height: 2.05;
}
.brand-name.brand-name--carta .brand-name__message {
  margin: 0;
  padding: 22px 0 0;
  border-top: 1px solid #cfd8dc;
  color: #111;
  font-size: clamp(21px, 2.2vw, 29px);
  line-height: 1.5;
}
.impact-counter.impact-counter--borderless {
  padding: clamp(120px, 10vw, 168px) 0;
  background: #f8fafb;
  color: #153746;
}
.brand-cases.brand-cases--sun {
  padding: clamp(120px, 10vw, 168px) 0;
  background: #fff;
}

@media (max-width: 680px) {
  .brand-name.brand-name--carta { padding: 84px 0; }
  .impact-counter.impact-counter--borderless { padding: 84px 0; }
  .brand-cases.brand-cases--sun { padding: 84px 0; }
}

/* =========================================================
   Measured reference pass — 2026-09-11 b
   ========================================================= */

/* OUR NAME — BUDDICA company/philosophy rhythm */
.brand-name.brand-name--buddica {
  position: relative;
  overflow: hidden;
  padding: 126px 0 138px;
  background: #f3f5f5;
  color: #173947;
}
.brand-name.brand-name--buddica::after {
  content: "SENTAKU";
  display: block;
  position: absolute;
  right: -18px;
  bottom: -27px;
  color: rgba(33, 70, 90, .045);
  font: 700 clamp(110px, 14vw, 210px)/1 "Poppins", sans-serif;
  letter-spacing: -.065em;
}
.brand-name__buddica-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7%;
  align-items: end;
  margin-bottom: 70px;
}
.brand-name__buddica-head > div > span {
  display: block;
  color: #6ba2b5;
  font: 700 12px/1.4 "Poppins", sans-serif;
  letter-spacing: .15em;
}
.brand-name__buddica-head > div > p {
  margin-top: 8px;
  color: #5c7079;
  font-size: 13px;
  font-weight: 600;
}
.brand-name.brand-name--buddica .brand-name__buddica-head h2 {
  margin: 5px 0 0;
  color: #173947;
  font-family: "Poppins", sans-serif;
  font-size: clamp(60px, 6.2vw, 88px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.065em;
  text-align: left;
}
.brand-name__buddica-head h2 em { color: #7fb2c5; font-style: normal; }
.brand-name__buddica-head > p {
  padding-bottom: 5px;
  color: #173947;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.9;
}
.brand-name__buddica-body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 8%;
  padding-top: 62px;
  border-top: 1px solid #b8c8ce;
}
.brand-name__buddica-body > h3 {
  margin: 0;
  color: #173947;
  font-size: clamp(43px, 4.5vw, 63px);
  line-height: 1.48;
  letter-spacing: -.065em;
}
.brand-name__buddica-body > h3 span { color: #5d9fb7; }
.brand-name.brand-name--buddica .brand-name__body {
  display: block;
  width: auto;
  margin: 0;
  color: #445b65;
  font-size: 14px;
  line-height: 2.05;
}
.brand-name.brand-name--buddica .brand-name__body > p + p { margin-top: 19px; }
.brand-name.brand-name--buddica .brand-name__rhythm {
  color: #173947;
  font-size: 15px;
  font-weight: 700;
}
.brand-name.brand-name--buddica .brand-name__message {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #b8c8ce;
  color: #173947;
  font-size: clamp(23px, 2.1vw, 30px);
  font-weight: 700;
  line-height: 1.5;
}

/* IMPACT — Borderless Japan desktop measurements */
.impact-counter.impact-counter--borderless {
  padding: 116px 0 136px;
  background: #fff;
  color: #173947;
}
.impact-counter--borderless > .brand-story-shell { width: min(84.46%, 1277px); }
.impact-counter--borderless > .brand-story-shell > .brand-section-label { display: none; }
.impact-counter--borderless .impact-counter__intro {
  display: block;
  width: 100%;
  padding: 0 4.8718vw 49px;
  border: 0;
}
.impact-counter--borderless .impact-counter__title h2 {
  margin: 0 0 10px;
  color: #173947;
  font-family: "Poppins", Arial, sans-serif;
  font-size: clamp(64px, 5.291vw, 80px);
  font-weight: 700;
  line-height: .9875;
  letter-spacing: .01em;
}
.impact-counter--borderless .impact-counter__title h3 {
  margin: 0;
  color: #173947;
  font-size: clamp(16px, 1.19vw, 18px);
  font-weight: 500;
  line-height: 1.61;
  letter-spacing: .03em;
}
.impact-counter--borderless .impact-counter__copy {
  width: min(100%, 540px);
  margin-top: 30px;
  color: #52666f;
  font-size: 14px;
  line-height: 1.95;
}
.impact-counter--borderless .impact-counter__copy p + p { margin-top: 14px; }
.impact-counter--borderless .impact-counter__result {
  position: relative;
  display: block;
  width: min(42vw, 635px);
  margin: 0 4.8718vw 0 auto;
  padding: 66px 0 14px;
  border: 0;
}
.impact-counter--borderless .impact-counter__result::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(-4.8718vw - 7.77%);
  left: calc(-100vw + 100% + 4.8718vw + 15.54%);
  border-top: 1px solid rgba(23, 57, 71, .16);
}
.impact-counter--borderless .impact-counter__result::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: #7fb2c5;
}
.impact-counter--borderless .impact-counter__caption { padding: 0; }
.impact-counter--borderless .impact-counter__caption > p {
  margin: 0 0 20px;
  color: #173947;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .05em;
}
.impact-counter--borderless .impact-counter__visual {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  color: #7fb2c5;
  text-align: right;
}
.impact-counter--borderless .impact-counter__visual strong {
  color: #7fb2c5;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: clamp(84px, 6.614vw, 100px);
  font-weight: 200;
  line-height: 1.166;
  letter-spacing: -.02em;
}
.impact-counter--borderless .impact-counter__visual strong.is-pending {
  font-size: clamp(58px, 5vw, 76px);
  font-weight: 300;
  letter-spacing: -.045em;
}
.impact-counter--borderless .impact-counter__visual span {
  margin-left: -8px;
  color: #7fb2c5;
  font-size: 16px;
  line-height: 1.25;
}
.impact-counter--borderless .impact-counter__policy {
  display: block;
  margin: 15px 0 0 auto;
  padding: 5px 0;
  border: 0;
  color: #667c86;
  font-size: 11px;
}
.impact-counter--borderless .impact-counter__metrics { width: calc(100% - 9.7436vw); margin-inline: auto; }
.impact-counter--borderless .impact-counter__cta {
  width: calc(100% - 9.7436vw);
  margin: 82px auto 0;
  padding: 42px 0 0;
  border-top: 1px solid rgba(23, 57, 71, .16);
}

/* CASE STUDY — Sun* Works: 500px head + 40px overlap + 16px grid */
.brand-cases.brand-cases--sun {
  padding: 0 0 104px;
  background:
    linear-gradient(180deg, #173947 0, #173947 500px, #f1f3f4 500px, #f1f3f4 100%);
}
.brand-cases--sun > .brand-story-shell { width: min(calc(100% - 40px), 1180px); }
.brand-cases--sun .brand-cases__head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: min(100%, 550px);
  min-height: 500px;
  margin: 0;
  padding: 70px 20px 92px;
  color: #fff;
}
.brand-cases--sun .brand-section-label {
  margin: 0 0 22px;
  color: #9bc8d7;
}
.brand-cases--sun .brand-cases__head h2 {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 54px;
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -.045em;
}
.brand-cases--sun .brand-cases__head > p {
  margin-top: 28px;
  padding: 0;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.brand-cases--sun .brand-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  position: relative;
  z-index: 1;
  margin-top: -40px;
  padding: 64px 48px;
  border-radius: 16px;
  background: #fff;
}
.brand-cases--sun .brand-cases__grid article {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 0 0 24px;
  border: 0;
  background: transparent;
}
.brand-case-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid #e2e5e6;
  border-radius: 8px;
}
.brand-cases--sun .brand-cases__grid h3 {
  margin: 0;
  color: #191c1e;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0;
}
.brand-cases--sun .brand-case-meta {
  order: 2;
  margin: 0;
  color: #868b8e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}
.brand-cases--sun .brand-case-tags { order: 3; gap: 8px; }
.brand-cases--sun .brand-case-tags span {
  min-height: 0;
  padding: 4px 9px;
  border: 1px solid #aab4b8;
  border-radius: 999px;
  color: #587f90;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.brand-cases--sun .brand-case-description {
  order: 4;
  margin-top: 7px;
  padding-top: 14px;
  border-top: 1px solid #e1e6e8;
  color: #59686e;
  font-size: 13px;
  line-height: 1.8;
}

/* OUR VALUES — LayerX guideline measurements */
.value-layerx {
  padding: 150px 0 170px;
  background: #fff;
  color: #000;
}
.value-layerx > .value-layerx__layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 70px;
  width: min(calc(100% - 120px), 1180px);
}
.value-layerx__main { width: min(100%, 814px); }
.value-layerx__lead { display: block; margin: 0; }
.value-layerx__lead .brand-section-label {
  margin: 0 0 20px;
  color: #000;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .02em;
}
.value-layerx__lead h2 {
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -.035em;
}
.value-layerx__lead > p {
  margin-top: 80px;
  padding: 0;
  color: #000;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.9;
}
.value-layerx__rows {
  margin-top: 50px;
  border-top: 1px dashed #000;
}
.value-layerx__rows article {
  display: flex;
  align-items: flex-start;
  gap: 0;
  min-height: 0;
  padding: 20px 0;
  border-bottom: 1px dashed #000;
}
.value-layerx__rows h3 {
  flex: 0 0 428px;
  margin: 0;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -.02em;
}
.value-layerx__rows article > p {
  margin: 0;
  color: #000;
  font-size: 15px;
  line-height: 1.85;
}
.value-layerx__index {
  position: sticky;
  top: 90px;
  flex: 0 0 170px;
  padding-top: 0;
}
.value-layerx__index strong {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 12px;
}
.value-layerx__index a { padding: 7px 0 7px 17px; color: #323232; font-size: 12px; }
.value-layerx__index a::before { top: 12px; width: 8px; height: 8px; background: #7fb2c5; }

@media (max-width: 900px) {
  .brand-name__buddica-head,
  .brand-name__buddica-body { grid-template-columns: 1fr; gap: 34px; }
  .impact-counter--borderless .impact-counter__result { width: calc(100% - 9.7436vw); }
  .brand-cases--sun .brand-cases__grid { grid-template-columns: 1fr; }
  .value-layerx > .value-layerx__layout { width: min(86%, 814px); }
  .value-layerx__main { width: 100%; }
  .value-layerx__index { display: none; }
  .value-layerx__rows h3 { flex-basis: 42%; }
}

@media (max-width: 680px) {
  .brand-name.brand-name--buddica { padding: 84px 0 92px; }
  .brand-name__buddica-head { margin-bottom: 46px; }
  .brand-name__buddica-body { padding-top: 40px; }
  .impact-counter.impact-counter--borderless { padding: 84px 0 92px; }
  .impact-counter--borderless > .brand-story-shell { width: 88%; }
  .impact-counter--borderless .impact-counter__intro { padding: 0 0 42px; }
  .impact-counter--borderless .impact-counter__title h2 { font-size: 58px; }
  .impact-counter--borderless .impact-counter__result { width: 100%; margin: 0; padding-top: 44px; }
  .impact-counter--borderless .impact-counter__result::before { right: -6vw; left: -6vw; }
  .impact-counter--borderless .impact-counter__visual strong.is-pending { font-size: 54px; }
  .impact-counter--borderless .impact-counter__cta { width: 100%; margin-top: 64px; }
  .brand-cases.brand-cases--sun { padding-bottom: 72px; background: linear-gradient(180deg,#173947 0,#173947 430px,#f1f3f4 430px,#f1f3f4 100%); }
  .brand-cases--sun > .brand-story-shell { width: calc(100% - 28px); }
  .brand-cases--sun .brand-cases__head { min-height: 430px; padding: 64px 8px 78px; }
  .brand-cases--sun .brand-cases__head h2 { font-size: 39px; }
  .brand-cases--sun .brand-cases__grid { margin-top: -28px; padding: 26px 18px; border-radius: 12px; }
  .value-layerx { padding: 90px 0 110px; }
  .value-layerx > .value-layerx__layout { width: 88%; }
  .value-layerx__lead .brand-section-label { font-size: 15px; }
  .value-layerx__lead h2 { font-size: 28px; }
  .value-layerx__lead > p { margin-top: 50px; font-size: 15px; }
  .value-layerx__rows { margin-top: 30px; }
  .value-layerx__rows article { display: block; }
  .value-layerx__rows h3 { font-size: 21px; }
  .value-layerx__rows article > p { margin-top: 10px; font-size: 13px; }
}

/* 2026-09-11 reference fidelity pass
   OUR NAME: CHAGUCHAGU / IMPACT: Borderless / CASE: Sun* */
.brand-name.brand-name--chaguchagu {
  padding: 128px 4%;
  overflow: hidden;
  background: #173947;
  color: #fff;
}
.brand-name__chagu-inner {
  width: min(100%, 900px);
  margin: 0 auto;
  text-align: center;
}
.brand-name__chagu-head > p {
  margin: 0 0 24px;
  color: #7fb2c5;
  font: 600 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .4em;
}
.brand-name__chagu-head > h2 {
  margin: 0;
  color: #fff;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: clamp(32px, 4vw, 51px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .05em;
}
.brand-name__chagu-head > span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font: 400 12px/1.5 "Poppins", sans-serif;
  letter-spacing: .17em;
}
.brand-name__chagu-content { margin-top: 48px; }
.brand-name__chagu-mark {
  display: inline-block;
  position: relative;
  margin: 0 0 48px;
  color: #7fb2c5;
  font-family: "Parisienne", cursive;
  font-size: clamp(54px, 6vw, 76px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em;
}
.brand-name__chagu-mark::after {
  content: "SENTAKU";
  display: block;
  margin-top: 14px;
  color: rgba(255,255,255,.3);
  font: 300 12px/1.4 "Poppins", sans-serif;
  letter-spacing: .4em;
  text-indent: .4em;
}
.brand-name__chagu-text {
  width: min(100%, 700px);
  margin: 0 auto;
  text-align: left;
}
.brand-name__chagu-text h3 {
  margin: 0 0 32px;
  color: #fff;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  text-align: center;
}
.brand-name__chagu-text h3 em { color: #9bc8d7; font-style: normal; }
.brand-name__chagu-text > p {
  margin: 0 0 24px;
  color: rgba(255,255,255,.7);
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: .04em;
}
.brand-name__chagu-text .brand-name__chagu-message {
  margin: 42px 0 0;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: clamp(22px, 2.5vw, 31px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .04em;
  text-align: center;
}

/* Borderless proportions, scaled to Sentaku's quieter heading system. */
.impact-counter--borderless .impact-counter__title h2 {
  font-size: clamp(48px, 4.25vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}
.impact-counter--borderless .impact-counter__title h3 { margin-top: 13px; }

/* Sun* Works: photographic 500px head and overlapping white works surface. */
.brand-cases.brand-cases--sun {
  background:
    linear-gradient(rgba(13,42,55,.76), rgba(13,42,55,.9)) center top / 100% 500px no-repeat,
    url("../img/service-bokeh-night-real.jpg") center 43% / 100% 500px no-repeat,
    #f1f3f4;
}
.brand-cases--sun .brand-cases__head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: min(100%, 550px);
  min-height: 500px;
  padding: 56px 20px 96px;
}
.brand-cases--sun .brand-section-label {
  margin: 0 0 18px;
  color: #9bc8d7;
  font-size: 11px;
  letter-spacing: .24em;
}
.brand-cases--sun .brand-cases__head h2 {
  margin: 0;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: clamp(52px, 5.3vw, 72px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.brand-cases--sun .brand-cases__head > p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.9;
}
.brand-cases--sun .brand-cases__head > p strong {
  display: inline-block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
.brand-cases--sun .brand-cases__grid {
  gap: 16px;
  margin-top: -40px;
  padding: 64px 48px;
  border-radius: 16px;
  box-shadow: none;
}
.brand-cases--sun .brand-cases__grid article { gap: 8px; padding-bottom: 24px; }
.brand-cases--sun .brand-case-image { border-radius: 8px; }
.brand-cases--sun .brand-cases__grid h3 { margin-top: 2px; }

/* LayerX section hierarchy: section title first, explanatory lead after 80px. */
.value-layerx__lead .brand-section-label { margin-bottom: 14px; }
.value-layerx__introduction { margin-top: 80px; }
.value-layerx__introduction h3 {
  margin: 0 0 18px;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -.02em;
}
.value-layerx__introduction p {
  margin: 0;
  color: #000;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.9;
}
.value-layerx__rows { margin-top: 50px; }

@media (max-width: 680px) {
  .brand-name.brand-name--chaguchagu { padding: 88px 6%; }
  .brand-name__chagu-head > h2 { font-size: 30px; }
  .brand-name__chagu-content { margin-top: 42px; }
  .brand-name__chagu-mark { margin-bottom: 40px; font-size: 54px; }
  .brand-name__chagu-text h3 { font-size: 25px; }
  .brand-name__chagu-text > p { font-size: 13px; line-height: 2.05; }
  .impact-counter--borderless .impact-counter__title h2 { font-size: 46px; }
  .brand-cases.brand-cases--sun {
    background:
      linear-gradient(rgba(13,42,55,.76), rgba(13,42,55,.9)) center top / 100% 430px no-repeat,
      url("../img/service-bokeh-night-real.jpg") center 43% / auto 430px no-repeat,
      #f1f3f4;
  }
  .brand-cases--sun .brand-cases__head h2 { font-size: 44px; }
  .brand-cases--sun .brand-cases__grid { padding: 26px 18px; }
  .value-layerx__introduction { margin-top: 50px; }
  .value-layerx__introduction h3 { font-size: 21px; }
  .value-layerx__introduction p { font-size: 15px; }
}

/* 2026-09-11 source replacement
   OUR NAME: Good Will Hunting / CASE STUDY: COMMU:DE */
.brand-name.brand-name--goodwill {
  padding: clamp(80px, 11vw, 140px) 0;
  background: #f6f5f0;
  color: #173947;
}
.brand-name__goodwill-inner {
  width: min(calc(100% - 56px), 1180px);
  margin: 0 auto;
}
.brand-name__goodwill-eyebrow {
  display: inline-block;
  margin: 0 0 18px;
  color: #5d91a4;
  font: 600 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .42em;
}
.brand-name__goodwill-eyebrow::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 1px;
  margin-right: .9em;
  background: #7fb2c5;
  vertical-align: middle;
}
.brand-name--goodwill h2 {
  margin: 0 0 22px;
  color: #173947;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: clamp(27px, 3.4vw, 40px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .03em;
}
.brand-name__goodwill-lead {
  max-width: 52ch;
  margin: 0;
  color: #52666f;
  font-size: 16px;
  line-height: 1.9;
}
.brand-name__goodwill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 72px);
  margin-top: 48px;
}
.brand-name__goodwill-grid article {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 3.4vw, 46px);
  border: 1px solid #d8d9d3;
  border-radius: 2px;
  background: rgba(255,255,255,.52);
}
.brand-name__goodwill-grid article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(#7fb2c5, #b8d5df);
}
.brand-name__goodwill-key {
  margin: 0 0 10px;
  color: #173947;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: 24px;
  line-height: 1.55;
  letter-spacing: .04em;
}
.brand-name__goodwill-key span {
  display: block;
  margin-bottom: 11px;
  color: #5d91a4;
  font: 600 10px/1.4 "Poppins", sans-serif;
  letter-spacing: .28em;
}
.brand-name__goodwill-grid article > p:last-child {
  margin: 0;
  color: #52666f;
  font-size: 15px;
  line-height: 1.95;
}
.brand-name__goodwill-close {
  margin: 48px 0 0;
  color: #173947;
  font-family: "Zen Old Mincho", "Noto Serif JP", serif;
  font-size: clamp(19px, 2.2vw, 24px);
  line-height: 1.75;
  letter-spacing: .04em;
  text-align: center;
}

.brand-cases.brand-cases--commude {
  padding: 80px 0 140px;
  background: #fff;
  color: #1a1a1a;
}
.brand-cases--commude > .brand-story-shell {
  width: min(81%, 1240px);
}
.brand-cases--commude .brand-cases__head {
  display: block;
  margin: 0;
}
.brand-cases--commude .brand-cases__head h2 {
  margin: 0;
  color: #1a1a1a;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 88px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: .04em;
}
.brand-cases--commude .brand-cases__head > p {
  margin: 20px 0 0;
  color: #1a1a1a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
}
.brand-cases--commude .brand-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4%;
  margin-top: 100px;
}
.brand-cases--commude .brand-cases__grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.brand-cases--commude .brand-case-image-wrap {
  order: 0;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 6 / 5;
  background: #f3f3f3;
}
.brand-cases--commude .brand-case-image {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  transition: transform .5s ease;
}
.brand-cases--commude article:hover .brand-case-image { transform: scale(1.1); }
.brand-cases--commude .brand-case-meta {
  order: 1;
  margin: 24px 0 0;
  color: rgba(26,26,26,.6);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.brand-cases--commude .brand-cases__grid h3 {
  order: 2;
  margin: 8px 0 0;
  color: #1a1a1a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
}
.brand-cases--commude .brand-case-description {
  order: 3;
  margin: 14px 0 0;
  color: #555;
  font-size: 13px;
  line-height: 1.85;
}
.brand-cases--commude .brand-case-tags {
  order: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.brand-cases--commude .brand-case-tags span {
  min-height: 0;
  padding: 6px 12px;
  border: 0;
  border-radius: 0;
  background: #f3f3f3;
  color: #1a1a1a;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

@media (max-width: 769px) {
  .brand-name__goodwill-inner { width: min(calc(100% - 40px), 1180px); }
  .brand-name__goodwill-grid { grid-template-columns: 1fr; }
  .brand-cases.brand-cases--commude { padding: 64px 0 96px; }
  .brand-cases--commude > .brand-story-shell { width: auto; margin: 0; padding: 0 32px; }
  .brand-cases--commude .brand-cases__head h2 { font-size: 48px; letter-spacing: .02em; }
  .brand-cases--commude .brand-cases__head > p { font-size: 14px; }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; margin-top: 60px; }
  .brand-cases--commude .brand-case-meta { margin-top: 16px; font-size: 12px; }
  .brand-cases--commude .brand-cases__grid h3 { font-size: 18px; }
  .brand-cases--commude .brand-case-tags span { font-size: 12px; }
}

/* 2026-09-11 layout correction
   OUR NAME: Saix / COMPANY: LayerX / CONTACT: Kaizen Platform */
.brand-name.brand-name--saix {
  padding: 94px 0 108px;
  background: #fff;
  color: #173947;
}
.brand-name__saix-inner {
  width: min(calc(100% - 80px), 1180px);
  margin: 0 auto;
}
.brand-name__saix-label {
  margin: 0 0 18px;
  color: #5a8fa3;
  font: 700 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .22em;
}
.brand-name__saix-label::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 2px;
  margin-right: 10px;
  background: #7fb2c5;
  vertical-align: middle;
}
.brand-name--saix h2 {
  margin: 0;
  color: #173947;
  font-size: clamp(30px, 3.3vw, 46px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.035em;
}
.brand-name__saix-lead {
  max-width: 720px;
  margin: 18px 0 0;
  color: #5b6e76;
  font-size: 14px;
  line-height: 1.9;
}
.brand-name__saix-equation {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 22px;
  margin-top: 48px;
}
.brand-name__saix-equation article {
  min-height: 224px;
  padding: 35px 28px 28px;
  background: #f4f6f7;
  text-align: center;
}
.brand-name__saix-equation article.is-result { background: #173947; color: #fff; }
.brand-name__saix-equation > b {
  color: #91a5ad;
  font-size: 24px;
  font-weight: 400;
}
.brand-name__saix-equation strong {
  display: block;
  color: #21465a;
  font-size: clamp(31px, 3.2vw, 44px);
  line-height: 1.2;
}
.brand-name__saix-equation .is-result strong { color: #fff; font-family: "Poppins", sans-serif; }
.brand-name__saix-equation span {
  display: block;
  margin-top: 12px;
  color: #173947;
  font-size: 13px;
  font-weight: 700;
}
.brand-name__saix-equation .is-result span { color: #9bc8d7; }
.brand-name__saix-equation p {
  margin: 17px 0 0;
  color: #667981;
  font-size: 12px;
  line-height: 1.75;
}
.brand-name__saix-equation .is-result p { color: rgba(255,255,255,.72); }

/* COMMU:DE's 3-up source is reduced for two verified cases. */
.brand-cases--commude > .brand-story-shell { width: min(calc(100% - 80px), 1040px); }
.brand-cases--commude .brand-cases__head h2 { font-size: 64px; }
.brand-cases--commude .brand-cases__head > p { margin-top: 12px; font-size: 16px; }
.brand-cases--commude .brand-cases__grid {
  width: min(100%, 880px);
  gap: 54px;
  margin: 64px auto 0;
}
.brand-cases--commude .brand-case-image-wrap { aspect-ratio: 16 / 9; }
.brand-cases--commude .brand-case-meta { margin-top: 18px; font-size: 12px; }
.brand-cases--commude .brand-cases__grid h3 { font-size: 18px; }
.brand-cases--commude .brand-case-tags span { font-size: 12px; }

.company-layerx {
  padding: 92px 0 130px;
  background: #fff;
  color: #101c22;
}
.company-layerx__inner {
  width: min(calc(100% - 80px), 1120px);
  margin: 0 auto;
}
.company-layerx__tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 90px;
  border-bottom: 1px solid #dce2e5;
}
.company-layerx__tabs a {
  position: relative;
  padding: 17px 8px;
  color: #26363e;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.company-layerx__tabs a::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 21px;
  width: 7px;
  height: 7px;
  border: 1px solid #7fb2c5;
  border-radius: 50%;
}
.company-layerx__tabs a.is-current { border-bottom: 3px solid #7fb2c5; }
.company-layerx__section-title,
.company-layerx__profile > h2 {
  margin: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid #dce2e5;
  color: #24343b;
  font: 600 18px/1.4 "Poppins", sans-serif;
}
.company-layerx__message figure {
  overflow: hidden;
  width: 100%;
  margin: 76px 0 0;
  aspect-ratio: 1.75 / 1;
  border-radius: 8px;
}
.company-layerx__message figure img { width: 100%; height: 100%; object-fit: cover; }
.company-layerx__message-copy {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 72px;
  width: min(78%, 820px);
  margin: 72px auto 0;
}
.company-layerx__message-copy h2 {
  margin: 0;
  color: #173947;
  font-size: clamp(30px, 3.1vw, 42px);
  line-height: 1.5;
}
.company-layerx__message-copy p { margin: 0; color: #42555e; font-size: 13px; line-height: 2; }
.company-layerx__message-copy p + p { margin-top: 16px; }
.company-layerx__profile { margin-top: 120px; }
.company-layerx__profile dl { margin: 54px 0 0; }
.company-layerx__profile dl > div {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 30px;
  padding: 24px 0;
  border-bottom: 1px solid #e3e7e9;
}
.company-layerx__profile dt { color: #60727a; font-size: 12px; }
.company-layerx__profile dd { margin: 0; color: #26363e; font-size: 13px; line-height: 1.85; }
.company-layerx__profile a { color: #315f73; text-decoration: underline; text-underline-offset: 4px; }

.contact-kaizen {
  padding: 78px 0 120px;
  background: #fff;
  color: #182a32;
}
.contact-kaizen__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(calc(100% - 64px), 1320px);
  margin: 0 auto;
}
.contact-kaizen__intro {
  min-height: 860px;
  padding: 24px;
  background: #455166;
}
.contact-kaizen__intro > div {
  height: 100%;
  padding: 52px 48px;
  background: linear-gradient(160deg, #fff 0 42%, #eef1f4 65%, #657187 100%);
}
.contact-kaizen__intro p:first-child,
.contact-kaizen__form-label {
  margin: 0;
  color: #455166;
  font: 700 21px/1.4 "Poppins", sans-serif;
  letter-spacing: .02em;
}
.contact-kaizen__intro h2 { margin: 8px 0 62px; color: #455166; font-size: 24px; }
.contact-kaizen__intro h3 { margin: 0 0 28px; color: #173947; font-size: 30px; line-height: 1.55; }
.contact-kaizen__intro p:not(:first-child) { max-width: 460px; margin: 0; color: #445861; font-size: 14px; line-height: 1.95; }
.contact-kaizen__intro p + p { margin-top: 17px; }
.contact-kaizen__form { padding: 22px 0 0 72px; }
.contact-kaizen__form-label { color: #173947; font-size: 12px; letter-spacing: .18em; }
.contact-kaizen__form > h2 { margin: 10px 0 42px; color: #173947; font-size: 30px; line-height: 1.5; }
.contact-kaizen__form form { padding: 0; background: transparent; box-shadow: none; }
.contact-kaizen__form .form-row { margin-bottom: 24px; }
.contact-kaizen__form .form-row label { margin-bottom: 8px; color: #182a32; font-size: 13px; font-weight: 700; }
.contact-kaizen__form input,
.contact-kaizen__form select,
.contact-kaizen__form textarea {
  border: 0;
  border-radius: 4px;
  background: #eef0f2;
}
.contact-kaizen__form textarea { min-height: 170px; }
.contact-kaizen__form .btn--fill {
  width: min(100%, 340px);
  border-radius: 999px;
  background: #173947;
}

@media (max-width: 820px) {
  .brand-name__saix-inner { width: calc(100% - 40px); }
  .brand-name__saix-equation { grid-template-columns: 1fr; gap: 14px; }
  .brand-name__saix-equation > b { transform: rotate(90deg); text-align: center; }
  .brand-name__saix-equation article { min-height: 0; }
  .brand-cases--commude > .brand-story-shell { width: calc(100% - 40px); }
  .brand-cases--commude .brand-cases__head h2 { font-size: 43px; }
  .brand-cases--commude .brand-cases__grid { width: 100%; gap: 54px; }
  .company-layerx__inner { width: calc(100% - 40px); }
  .company-layerx__tabs { grid-template-columns: repeat(2, 1fr); margin-bottom: 64px; }
  .company-layerx__message figure { margin-top: 48px; aspect-ratio: 4 / 3; }
  .company-layerx__message-copy { grid-template-columns: 1fr; gap: 28px; width: 100%; margin-top: 48px; }
  .company-layerx__profile { margin-top: 84px; }
  .company-layerx__profile dl > div { grid-template-columns: 100px 1fr; gap: 18px; }
  .contact-kaizen { padding-top: 40px; }
  .contact-kaizen__layout { grid-template-columns: 1fr; width: calc(100% - 28px); }
  .contact-kaizen__intro { min-height: 520px; padding: 14px; }
  .contact-kaizen__intro > div { padding: 38px 28px; }
  .contact-kaizen__intro h2 { margin-bottom: 44px; }
  .contact-kaizen__intro h3 { font-size: 25px; }
  .contact-kaizen__form { padding: 64px 14px 0; }
}

/* 2026-09-11 spacing and source-fidelity correction */
.brand-name.brand-name--saix {
  padding: 84px 0 96px;
  border-top: 1px solid #e5eaec;
  border-bottom: 1px solid #e5eaec;
  background: #f7f9fa;
}
.brand-name__saix-inner { width: min(calc(100% - 96px), 1120px); }
.brand-name--saix h2 { font-size: clamp(30px, 2.75vw, 40px); }
.brand-name__saix-lead { margin-top: 14px; }
.brand-name__saix-equation {
  gap: 18px;
  margin-top: 42px;
}
.brand-name__saix-equation article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 214px;
  padding: 30px 24px;
  border: 1px solid #e1e6e8;
  background: #fff;
}
.brand-cases--commude > .brand-story-shell,
.brand-cases--commude .brand-cases__head {
  border: 0;
  outline: 0;
  box-shadow: none;
}
.brand-name__saix-equation article.is-result { border-color: #173947; }
.brand-name__saix-equation strong { font-size: clamp(30px, 2.8vw, 40px); }
.brand-name__saix-equation > b { padding: 0 2px; font-size: 20px; }

.impact-counter--borderless .impact-counter__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: clamp(64px, 8vw, 120px);
  align-items: start;
  padding-bottom: 58px;
}
.impact-counter--borderless .impact-counter__copy {
  width: 100%;
  margin-top: 4px;
  padding-top: 0;
}

.brand-cases--commude > .brand-story-shell { width: min(calc(100% - 96px), 1040px); }
.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, minmax(0, 390px));
  justify-content: center;
  align-items: stretch;
  gap: 84px;
  width: 100%;
  margin-top: 68px;
}
.brand-cases--commude .brand-cases__grid article {
  width: 100%;
  height: 100%;
}
.brand-cases--commude .brand-case-image-wrap { aspect-ratio: 16 / 10; }
.brand-cases--commude .brand-case-description {
  min-height: 96px;
  margin-top: 16px;
}
.brand-cases--commude .brand-case-tags { margin-top: auto; padding-top: 20px; }

.company-layerx { padding-top: 96px; }
.company-layerx__message { margin: 0; }
.company-layerx__message figure { margin-top: 68px; }
.company-layerx__message-copy { margin-top: 62px; }

@media (max-width: 900px) {
  .impact-counter--borderless .impact-counter__intro {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .brand-cases--commude .brand-cases__grid { gap: 44px; }
}

@media (max-width: 680px) {
  .brand-name__saix-inner { width: calc(100% - 40px); }
  .brand-name__saix-equation { grid-template-columns: 1fr; }
  .brand-name__saix-equation > b { transform: rotate(90deg); }
  .brand-cases--commude > .brand-story-shell { width: calc(100% - 40px); }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; }
  .brand-cases--commude .brand-case-description { min-height: 0; }
}

/* 2026-09-11 explicit card/background correction */
.brand-cases.brand-cases--commude {
  padding: 88px 0 112px;
  background: #edf2f3;
}
.brand-cases--commude > .brand-story-shell { width: min(calc(100% - 80px), 1080px); }
.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px;
  width: 100%;
  margin-top: 58px;
}
.brand-cases--commude .brand-cases__grid article {
  padding: 18px 18px 22px;
  border: 1px solid #d8e1e4;
  background: #fff;
}
.brand-cases--commude .brand-case-image-wrap { aspect-ratio: 16 / 9; }
.brand-cases--commude .brand-case-meta,
.brand-cases--commude .brand-cases__grid h3,
.brand-cases--commude .brand-case-description,
.brand-cases--commude .brand-case-tags { margin-right: 4px; margin-left: 4px; }
.brand-cases--commude .brand-case-description { min-height: 120px; }

.brand-name.brand-name--coelu {
  position: relative;
  overflow: hidden;
  padding: 112px 0 104px;
  background: linear-gradient(120deg, #202a31 0 43%, #173947 43% 68%, #387287 100%);
  color: #fff;
}
.brand-name--coelu::before,
.brand-name--coelu::after {
  content: "";
  position: absolute;
  width: 48vw;
  height: 48vw;
  border: 1px solid rgba(127,178,197,.24);
  transform: rotate(45deg);
}
.brand-name--coelu::before { top: -36vw; right: 8vw; }
.brand-name--coelu::after { bottom: -35vw; left: -20vw; }
.brand-name__coelu-bg {
  position: absolute;
  top: 52px;
  left: -1vw;
  margin: 0;
  color: rgba(255,255,255,.1);
  font: 600 clamp(52px, 8.4vw, 120px)/1 "Poppins", sans-serif;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.brand-name__coelu-inner {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 96px), 1160px);
  margin: 0 auto;
}
.brand-name__coelu-inner > header { margin-bottom: 62px; }
.brand-name__coelu-inner > header p {
  margin: 0 0 12px;
  color: #9bc8d7;
  font: 700 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .2em;
}
.brand-name__coelu-inner > header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.45;
}
.brand-name__coelu-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(52px, 7vw, 100px);
  align-items: center;
}
.brand-name__coelu-layout figure {
  overflow: hidden;
  margin: 0;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.94);
}
.brand-name__coelu-layout img { display: block; width: 100%; height: auto; }
.brand-name__coelu-layout h3 {
  margin: 0 0 30px;
  color: #fff;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.48;
  letter-spacing: -.05em;
}
.brand-name__coelu-layout h3 span { color: #9bc8d7; }
.brand-name__coelu-layout p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 2; }
.brand-name__coelu-layout p + p { margin-top: 18px; }
.brand-name__coelu-layout strong {
  display: block;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-size: 19px;
  line-height: 1.6;
}

.contact-kaizen__intro h3 { margin-top: 0; }

.company-monstarlab {
  padding: 88px 0 118px;
  background: #fff;
  color: #101b20;
}
.company-monstarlab__inner {
  width: min(calc(100% - 80px), 1080px);
  margin: 0 auto;
}
.company-monstarlab header { margin-bottom: 76px; }
.company-monstarlab header p {
  margin: 0 0 15px;
  color: #68818c;
  font: 700 11px/1.4 "Poppins", sans-serif;
  letter-spacing: .18em;
}
.company-monstarlab header h2 {
  margin: 0;
  color: #111d22;
  font-size: clamp(38px, 4.4vw, 58px);
  font-weight: 700;
  line-height: 1.3;
}
.company-monstarlab__inner > h3 {
  margin: 0 0 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid #bec8cc;
  color: #111d22;
  font-size: 24px;
}
.company-monstarlab dl { margin: 0; }
.company-monstarlab dl > div {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 32px;
  padding: 25px 0;
  border-bottom: 1px solid #ced6d9;
}
.company-monstarlab dt { color: #17262d; font-size: 13px; font-weight: 700; }
.company-monstarlab dd { margin: 0; color: #273a42; font-size: 13px; line-height: 1.85; }
.company-monstarlab dd small { color: #6d7d84; font-size: 11px; }
.company-monstarlab a { color: #315f73; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 760px) {
  .brand-cases--commude > .brand-story-shell { width: calc(100% - 32px); }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 32px; }
  .brand-cases--commude .brand-case-description { min-height: 0; }
  .brand-name.brand-name--coelu { padding: 90px 0 84px; }
  .brand-name__coelu-inner { width: calc(100% - 40px); }
  .brand-name__coelu-layout { grid-template-columns: 1fr; gap: 42px; }
  .brand-name__coelu-bg { top: 38px; font-size: 52px; }
  .brand-name__coelu-layout figure { padding: 14px; }
  .company-monstarlab__inner { width: calc(100% - 40px); }
  .company-monstarlab header { margin-bottom: 54px; }
  .company-monstarlab dl > div { grid-template-columns: 96px 1fr; gap: 18px; }
}

/* 2026-09-11 CASE STUDY — COMMU:DE source proportions
   White canvas, independent work cards, 4% gutter, 24px image-to-copy rhythm. */
.brand-cases.brand-cases--commude {
  padding: 80px 0 120px;
  background: #fff;
}
.brand-cases--commude > .brand-story-shell {
  width: 81%;
  max-width: none;
}
.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, 30%);
  justify-content: center;
  align-items: start;
  gap: 4%;
  margin-top: 100px;
}
.brand-cases--commude .brand-cases__grid article {
  display: flex;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.brand-cases--commude .brand-case-image-wrap {
  aspect-ratio: 46 / 55;
}
.brand-cases--commude .brand-case-meta {
  margin: 24px 0 0;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 700;
  opacity: .6;
}
.brand-cases--commude .brand-cases__grid h3 {
  margin: 8px 0 0;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 20px;
  line-height: 1.55;
}
.brand-cases--commude .brand-case-description {
  min-height: 0;
  margin: 14px 0 0;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 13px;
  line-height: 1.85;
}
.brand-cases--commude .brand-case-tags {
  margin: 20px 0 0;
  padding: 0;
}

@media (max-width: 760px) {
  .brand-cases.brand-cases--commude { padding: 64px 0 96px; }
  .brand-cases--commude > .brand-story-shell { width: auto; padding: 0 20px; }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; margin-top: 60px; }
  .brand-cases--commude .brand-case-image-wrap { aspect-ratio: 46 / 55; }
}

/* 2026-09-11 CASE STUDY card-boundary correction */
.brand-cases--commude .brand-cases__grid {
  align-items: stretch;
}
.brand-cases--commude .brand-cases__grid article {
  height: 100%;
  padding: 14px 14px 22px;
  border: 1px solid #d9dfe1;
  background: #fff;
  box-shadow: 0 10px 30px rgba(23, 57, 71, .08);
}
.brand-cases--commude .brand-case-tags {
  margin-top: auto;
  padding-top: 20px;
}

/* OUR NAME — COELU source structure: geometric dark field, marquee,
   ruled heading, centered 600:320 visual and centered body copy. */
.brand-name.brand-name--coelu {
  padding: 160px 0;
  background:
    radial-gradient(ellipse at 94% 52%, rgba(0, 172, 224, .3), transparent 42%),
    linear-gradient(135deg, transparent 0 30%, rgba(20, 101, 158, .22) 30% 49%, transparent 49% 100%),
    linear-gradient(315deg, transparent 0 61%, rgba(48, 92, 153, .16) 61% 78%, transparent 78% 100%),
    #292e34;
}
.brand-name--coelu::before {
  top: -28vw;
  right: auto;
  left: -31vw;
  width: 72vw;
  height: 72vw;
  border: 1px solid rgba(87, 180, 218, .42);
  border-radius: 3px;
}
.brand-name--coelu::after {
  right: -26vw;
  bottom: -37vw;
  left: auto;
  width: 66vw;
  height: 66vw;
  border: 1px solid rgba(87, 180, 218, .24);
  border-radius: 3px;
}
.brand-name__coelu-bg {
  top: 55px;
  left: 50%;
  color: rgba(239, 239, 239, .28);
  font-size: clamp(92px, 11.8vw, 170px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
  transform: translateX(-50%);
}
.brand-name__coelu-inner {
  width: min(calc(100% - 40px), 1240px);
}
.brand-name__coelu-inner > header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 40px;
}
.brand-name__coelu-inner > header i {
  display: block;
  width: 50px;
  border-top: 1px solid #fff;
}
.brand-name__coelu-inner > header h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}
.brand-name__coelu-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
}
.brand-name__coelu-content figure {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 600px;
  height: 320px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: #fff;
}
.brand-name__coelu-content img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-name__coelu-copy {
  width: 100%;
  color: #fff;
  text-align: center;
}
.brand-name__coelu-copy h3 {
  margin: 0 0 26px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}
.brand-name__coelu-copy h3 br { display: none; }
.brand-name__coelu-copy h3 span { color: #9bc8d7; }
.brand-name__coelu-copy p {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .12em;
}
.brand-name__coelu-copy p + p { margin-top: 8px; }
.brand-name__coelu-copy strong {
  display: block;
  width: min(100%, 760px);
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.24);
  color: #fff;
  font-size: 19px;
  line-height: 1.6;
}

@media (max-width: 760px) {
  .brand-cases--commude .brand-cases__grid article { height: auto; padding: 12px 12px 20px; }
  .brand-name.brand-name--coelu { padding: 120px 0; }
  .brand-name__coelu-bg { top: 94px; font-size: 80px; }
  .brand-name__coelu-inner > header h2 { font-size: 20px; }
  .brand-name__coelu-inner > header i { width: 30px; }
  .brand-name__coelu-content figure { width: 100%; height: auto; aspect-ratio: 15 / 8; }
  .brand-name__coelu-copy { text-align: left; }
  .brand-name__coelu-copy h3 { font-size: 28px; letter-spacing: .04em; }
  .brand-name__coelu-copy h3 br { display: block; }
  .brand-name__coelu-copy p { font-size: 14px; letter-spacing: .08em; }
}

/* 2026-09-11 CASE STUDY — no shared color field; each item is its own card. */
.brand-cases.brand-cases--commude {
  background: transparent;
}
.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, 30%);
  gap: 4%;
}
.brand-cases--commude .brand-cases__grid article {
  overflow: hidden;
  padding: 0;
  border: 1px solid #dedede;
  background: transparent;
  box-shadow: none;
}
.brand-cases--commude .brand-case-meta,
.brand-cases--commude .brand-cases__grid h3,
.brand-cases--commude .brand-case-description,
.brand-cases--commude .brand-case-tags {
  margin-right: 24px;
  margin-left: 24px;
}
.brand-cases--commude .brand-case-meta { margin-top: 24px; }
.brand-cases--commude .brand-case-tags { margin-bottom: 24px; }

/* CONTACT — single-column form. The unrequested introductory copy is removed. */
.contact-kaizen {
  padding: 88px 0 128px;
  background: #fff;
}
.contact-kaizen__layout {
  display: block;
  width: min(calc(100% - 48px), 940px);
  margin: 0 auto;
}
.contact-kaizen__form {
  padding: 0;
}
.contact-kaizen__form-label {
  color: #5b97ac;
  font-size: 12px;
  letter-spacing: .18em;
}
.contact-kaizen__form > h2 {
  margin: 12px 0 58px;
  padding-bottom: 30px;
  border-bottom: 1px solid #cfd9dd;
  font-size: clamp(30px, 3.3vw, 44px);
}
.contact-kaizen__form form {
  width: 100%;
}

@media (max-width: 760px) {
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; }
  .brand-cases--commude .brand-case-meta,
  .brand-cases--commude .brand-cases__grid h3,
  .brand-cases--commude .brand-case-description,
  .brand-cases--commude .brand-case-tags { margin-right: 18px; margin-left: 18px; }
  .contact-kaizen { padding: 64px 0 96px; }
  .contact-kaizen__layout { width: calc(100% - 40px); }
  .contact-kaizen__form { padding: 0; }
  .contact-kaizen__form > h2 { margin-bottom: 42px; padding-bottom: 24px; font-size: 28px; }
}

/* 2026-09-11 CASE STUDY — attached COMMU:DE reference, exact card rhythm. */
.brand-cases.brand-cases--commude {
  background: #fff;
}
.brand-cases--commude > .brand-story-shell {
  width: 81%;
  max-width: none;
}
.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(3, 30%);
  justify-content: start;
  align-items: start;
  gap: 4%;
  margin-top: 100px;
}
.brand-cases--commude .brand-cases__grid article {
  overflow: visible;
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.brand-cases--commude .brand-case-image-wrap {
  width: 100%;
  aspect-ratio: 46 / 55;
}
.brand-cases--commude .brand-case-meta,
.brand-cases--commude .brand-cases__grid h3,
.brand-cases--commude .brand-case-tags {
  margin-right: 0;
  margin-left: 0;
}
.brand-cases--commude .brand-case-meta {
  margin-top: 24px;
  color: #1a1a1a;
  font-size: 14px;
  opacity: .6;
}
.brand-cases--commude .brand-cases__grid h3 {
  margin-top: 8px;
  color: #1a1a1a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
}
.brand-cases--commude .brand-case-description {
  display: none;
}
.brand-cases--commude .brand-case-tags {
  margin-top: 20px;
  margin-bottom: 0;
  padding: 0;
}
.brand-cases--commude .brand-case-tags span {
  padding: 6px 12px;
  background: #f3f3f3;
  color: #1a1a1a;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
}

/* OUR NAME / OUR APPROACH — text-led mission layout based on the supplied reference. */
.brand-name.brand-name--mochimotsu,
.service-approach-stage {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #fff;
  color: #111;
}
.brand-name__mission-title,
.service-approach-stage > header {
  padding: 28px 3vw 20px;
  border-bottom: 1px solid #9ba2a5;
}
.brand-name__mission-title h2,
.service-approach-stage > header h2 {
  margin: 0;
  color: #111;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(82px, 9.8vw, 142px);
  font-weight: 200;
  line-height: .92;
  letter-spacing: -.07em;
}
.brand-name__mission-stage,
.service-approach-stage__body {
  position: relative;
  min-height: 700px;
  background-image: linear-gradient(to right, transparent calc(100% - 1px), #e2e5e6 calc(100% - 1px));
  background-size: 25% 100%;
  border-bottom: 1px solid #e2e5e6;
}
.brand-name__mission-copy,
.service-approach-stage__copy {
  width: min(650px, 45vw);
  margin-left: 42%;
  padding-top: 150px;
}
.brand-name__mission-label,
.service-approach-stage__label {
  margin: 0 0 14px;
  color: #111;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .16em;
}
.brand-name__mission-copy h3,
.service-approach-stage__copy h3 {
  margin: 0 0 48px;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .08em;
}
.brand-name__mission-copy > p:not(.brand-name__mission-label),
.service-approach-stage__copy > p:not(.service-approach-stage__label) {
  margin: 0;
  color: #42554f;
  font-size: 16px;
  line-height: 2;
  letter-spacing: .06em;
}
.brand-name__mission-copy > p + p,
.service-approach-stage__copy > p + p { margin-top: 18px; }
.brand-name__mission-copy strong {
  display: block;
  margin-top: 34px;
  color: #111;
  font-size: 20px;
  line-height: 1.7;
}
.brand-name__mission-shape,
.service-approach-stage__shape {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}
.brand-name__mission-shape--top,
.service-approach-stage__shape--top {
  top: 84px;
  left: 35%;
  border-top: 0 solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 112px solid transparent;
  border-left: 112px solid #111;
}
.brand-name__mission-shape--bottom,
.service-approach-stage__shape--bottom {
  right: 1.5%;
  bottom: 24px;
  border-top: 112px solid transparent;
  border-right: 112px solid #111;
  border-bottom: 0 solid transparent;
  border-left: 0 solid transparent;
}

@media (max-width: 760px) {
  .brand-cases--commude > .brand-story-shell { width: auto; padding: 0 20px; }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; margin-top: 60px; }
  .brand-name__mission-title h2,
  .service-approach-stage > header h2 { font-size: 58px; }
  .brand-name__mission-stage,
  .service-approach-stage__body { min-height: 640px; background-size: 50% 100%; }
  .brand-name__mission-copy,
  .service-approach-stage__copy { width: auto; margin-left: 0; padding: 154px 24px 90px; }
  .brand-name__mission-shape--top,
  .service-approach-stage__shape--top { top: 54px; left: 24px; border-bottom-width: 72px; border-left-width: 72px; }
  .brand-name__mission-shape--bottom,
  .service-approach-stage__shape--bottom { border-top-width: 72px; border-right-width: 72px; }
  .brand-name__mission-copy h3,
  .service-approach-stage__copy h3 { margin-bottom: 34px; font-size: 32px; }
  .brand-name__mission-copy > p:not(.brand-name__mission-label),
  .service-approach-stage__copy > p:not(.service-approach-stage__label) { font-size: 14px; }
}

/* 2026-09-11 requested simplification */
.brand-cases.brand-cases--commude,
.brand-cases--commude > .brand-story-shell,
.brand-cases--commude .brand-cases__head,
.brand-cases--commude .brand-cases__grid,
.brand-cases--commude .brand-cases__grid article {
  background: #fff;
  background-image: none;
}
.brand-cases--commude::before,
.brand-cases--commude::after,
.brand-cases--commude > .brand-story-shell::before,
.brand-cases--commude > .brand-story-shell::after {
  content: none;
}
.brand-cases--commude .brand-cases__grid article {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.brand-name.brand-name--mochimotsu {
  background: #fff;
  background-image: none;
}
.brand-name__mission-title {
  padding: 88px max(40px, 8vw) 22px;
  border: 0;
}
.brand-name__mission-title h2 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: .04em;
}
.brand-name__mission-stage {
  min-height: 560px;
  background: #fff;
  background-image: none;
  border: 0;
}
.brand-name__mission-shape {
  display: none;
}
.brand-name__mission-copy {
  padding-top: 72px;
}

@media (max-width: 760px) {
  .brand-name__mission-title { padding: 64px 20px 16px; }
  .brand-name__mission-title h2 { font-size: 42px; }
  .brand-name__mission-stage { min-height: 0; background-image: none; }
  .brand-name__mission-copy { padding: 48px 20px 80px; }
}

/* 2026-09-11 OUR APPROACH follows the simplified OUR NAME treatment. */
.service-approach-stage {
  background: #fff;
  background-image: none;
}
.service-approach-stage > header {
  padding: 88px max(40px, 8vw) 22px;
  border: 0;
}
.service-approach-stage > header h2 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: .04em;
}
.service-approach-stage__body {
  min-height: 560px;
  background: #fff;
  background-image: none;
  border: 0;
}
.service-approach-stage__shape {
  display: none;
}
.service-approach-stage__copy {
  padding-top: 72px;
}

/* CASE STUDY has no drawn frame. */
.brand-cases--commude .brand-cases__grid article,
.brand-cases--commude .brand-case-image-wrap,
.brand-cases--commude .brand-case-image {
  border: 0;
  outline: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 760px) {
  .service-approach-stage > header { padding: 64px 20px 16px; }
  .service-approach-stage > header h2 { font-size: 42px; }
  .service-approach-stage__body { min-height: 0; background-image: none; }
  .service-approach-stage__copy { padding: 48px 20px 80px; }
}

/* 2026-09-11 unified section heading — same treatment as home MISSION. */
.sentaku-section-title,
.brand-name__mission-title.sentaku-section-title,
.service-approach-stage > header.sentaku-section-title {
  display: block;
  padding: 88px max(7%, calc((100% - 1180px) / 2)) 22px;
  border: 0;
  background: #fff;
}
.sentaku-section-title > p,
.brand-name__mission-title.sentaku-section-title > p,
.service-approach-stage > header.sentaku-section-title > p {
  margin: 0 0 12px;
  color: #397f9d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.sentaku-section-title > h2,
.brand-name__mission-title.sentaku-section-title > h2,
.service-approach-stage > header.sentaku-section-title > h2 {
  margin: 0;
  color: #202426;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(58px, 7.4vw, 104px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.075em;
}
.sentaku-section-title > h2 em {
  color: #7fb2c5;
  font-style: normal;
}

/* Remove the actual remaining CASE STUDY grid frame. */
.brand-cases--commude .brand-cases__grid {
  border: 0;
  outline: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}

@media (max-width: 760px) {
  .sentaku-section-title,
  .brand-name__mission-title.sentaku-section-title,
  .service-approach-stage > header.sentaku-section-title { padding: 64px 20px 16px; }
  .sentaku-section-title > h2,
  .brand-name__mission-title.sentaku-section-title > h2,
  .service-approach-stage > header.sentaku-section-title > h2 { font-size: 42px; }
}

/* 2026-09-11 alignment correction */
.brand-name__mission-title.bd-mission__title,
.service-approach-stage > header.bd-mission__title {
  position: relative;
  padding: 88px max(7%, calc((100% - 1180px) / 2)) 22px;
}
.brand-name__mission-title.bd-mission__title > p,
.service-approach-stage > header.bd-mission__title > p {
  margin: 0 0 12px;
  color: #397f9d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.brand-name__mission-title.bd-mission__title > h2,
.service-approach-stage > header.bd-mission__title > h2 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #202426;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(58px, 7.4vw, 104px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.075em;
}
.brand-name__mission-title.bd-mission__title > h2 em,
.service-approach-stage >header.bd-mission__title > h2 em {
  color: #7fb2c5;
  font-style: normal;
}

.brand-name__mission-copy {
  width: min(680px, calc(100% - 14%));
  margin-right: auto;
  margin-left: max(7%, calc((100% - 1180px) / 2));
  padding-top: 72px;
  text-align: left;
}

.service-approach-stage__body {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(56px, 7vw, 100px);
  align-items: center;
  width: min(calc(100% - 80px), 1180px);
  min-height: 560px;
  margin: 0 auto;
}
.service-approach-stage__photo {
  overflow: hidden;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  background: #edf2f3;
}
.service-approach-stage__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-approach-stage__copy {
  width: auto;
  margin: 0;
  padding: 56px 0;
}

.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, 30%);
  justify-content: center;
}

@media (max-width: 760px) {
  .brand-name__mission-title.bd-mission__title,
  .service-approach-stage > header.bd-mission__title { padding: 64px 20px 16px; }
  .brand-name__mission-title.bd-mission__title > h2,
  .service-approach-stage > header.bd-mission__title > h2 { font-size: 42px; }
  .brand-name__mission-copy { width: auto; margin: 0; padding: 48px 20px 80px; }
  .service-approach-stage__body { grid-template-columns: 1fr; gap: 36px; width: calc(100% - 40px); min-height: 0; padding: 38px 0 80px; }
  .service-approach-stage__copy { padding: 0; }
}

/* 2026-09-11 exact shared heading component: MISSION / OUR NAME / OUR APPROACH */
.brand-name__heading-wrap,
.service-approach-stage__heading-wrap {
  padding: clamp(110px, 11vw, 170px) max(7%, calc((100% - 1180px) / 2)) 0;
  background: #fff;
}
.brand-name__heading-wrap .bd-mission__title,
.service-approach-stage__heading-wrap .bd-mission__title {
  position: relative;
  isolation: isolate;
  padding: 0;
}
.brand-name__heading-wrap .bd-mission__title > span,
.service-approach-stage__heading-wrap .bd-mission__title > span {
  display: none;
}
.brand-name__heading-wrap .bd-mission__title > p,
.service-approach-stage__heading-wrap .bd-mission__title > p {
  margin: 0 0 12px;
  color: #397f9d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.brand-name__heading-wrap .bd-mission__title > h2,
.service-approach-stage__heading-wrap .bd-mission__title > h2 {
  margin: 0;
  padding: 0;
  border: 0;
  color: #202426;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(58px, 7.4vw, 104px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.075em;
}
.brand-name__heading-wrap .bd-mission__title > h2 em,
.service-approach-stage__heading-wrap .bd-mission__title > h2 em {
  color: #7fb2c5;
  font-style: normal;
}

@media (max-width: 760px) {
  .brand-name__heading-wrap,
  .service-approach-stage__heading-wrap { padding: 88px 8% 0; }
  .brand-name__heading-wrap .bd-mission__title > h2,
  .service-approach-stage__heading-wrap .bd-mission__title > h2 { font-size: 42px; }
}

/* 2026-09-11 OUR NAME / OUR APPROACH — exactly the same heading as top VALUE. */
.value-style-heading,
.brand-name__heading-wrap.value-style-heading,
.service-approach-stage__heading-wrap.value-style-heading {
  display: block;
  padding: 88px max(7%, calc((100% - 1180px) / 2)) 22px;
  border: 0;
  background: #fff;
}
.value-style-heading > h2,
.brand-name__heading-wrap.value-style-heading > h2,
.service-approach-stage__heading-wrap.value-style-heading > h2 {
  margin: 0;
  color: #111;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 1.34;
  letter-spacing: 0;
}
.value-style-heading > h2 small,
.brand-name__heading-wrap.value-style-heading > h2 small,
.service-approach-stage__heading-wrap.value-style-heading > h2 small {
  display: block;
  margin: 0 0 4px;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}

.brand-name__mission-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(56px, 7vw, 100px);
  align-items: center;
  width: min(calc(100% - 80px), 1180px);
  min-height: 560px;
  margin: 0 auto;
}
.brand-name__mission-copy {
  width: auto;
  margin: 0;
  padding: 56px 0;
}
.brand-name__mission-photo {
  overflow: hidden;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  background: #edf2f3;
}
.brand-name__mission-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-cases--commude .brand-cases__grid {
  grid-template-columns: repeat(2, 30%);
  justify-content: center;
  gap: 10%;
}

/* Section rhythm: keep MISSION / OUR NAME together and separate the next chapters. */
.bd-home main > .bd-mission {
  margin-bottom: 0;
  padding-bottom: 0;
}
.bd-home main > .bd-mission + .brand-name--mochimotsu > .value-style-heading {
  padding-top: 0;
}
.bd-home main > .bd-mission + .brand-name--mochimotsu {
  margin-top: -28px;
}
body.bd-home:not(.page-about) main > .brand-name--mochimotsu {
  padding-bottom: clamp(72px, 7vw, 108px);
}
body.bd-home:not(.page-about) main > .bd-services--switcher + .impact-counter {
  margin-top: clamp(88px, 8vw, 128px);
}
body.bd-home:not(.page-about) main > .brand-cases--commude {
  padding-bottom: 44px;
}
body.bd-home:not(.page-about) main > .brand-cases--commude + .bd-home-values {
  margin-top: 0;
  padding-top: clamp(52px, 5vw, 72px);
}

/* Top page: bring the OUR NAME label into the story and divide it from MISSION. */
body.bd-home:not(.page-about) main > .bd-mission + .brand-name--mochimotsu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 7%;
  z-index: 2;
  width: 86%;
  height: 1px;
  background: #d5e0e4;
}
body.bd-home:not(.page-about) .brand-name__heading-wrap.value-style-heading {
  padding-top: 36px;
  padding-bottom: 4px;
}
body.bd-home:not(.page-about) .brand-name__mission-stage {
  align-items: start;
}
body.bd-home:not(.page-about) .brand-name__mission-copy {
  padding-top: 18px;
}

/* CASE STUDY sits on one continuous, quiet color field. */
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude,
body.bd-home:not(.page-about) .brand-cases--commude > .brand-story-shell,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__head,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__grid,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__grid article {
  background: #eef3f5;
}

/* Carry the same fine-line background language into CASE STUDY. */
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #eef3f5;
  background-image:
    radial-gradient(circle at 7% 86%, rgba(127, 178, 197, .19), transparent 24%),
    linear-gradient(to right, rgba(74, 127, 149, .11) 1px, transparent 1px);
  background-size: auto, 25% 100%;
}
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::before {
  content: "";
  position: absolute;
  top: -230px;
  right: -170px;
  z-index: 0;
  width: clamp(540px, 55vw, 820px);
  height: clamp(540px, 55vw, 820px);
  border: 0;
  border-radius: 50%;
  background: repeating-radial-gradient(
    circle at center,
    transparent 0 78px,
    rgba(74, 127, 149, .17) 79px 80px
  );
  pointer-events: none;
  transform: none;
}
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::after {
  content: "";
  position: absolute;
  top: auto;
  bottom: 54px;
  left: -48px;
  z-index: 0;
  width: 370px;
  height: 118px;
  border-radius: 0;
  background: repeating-linear-gradient(
    135deg,
    transparent 0 31px,
    rgba(74, 127, 149, .18) 32px 33px
  );
  box-shadow: none;
  pointer-events: none;
}
body.bd-home:not(.page-about) .brand-cases--commude > .brand-story-shell {
  position: relative;
  z-index: 1;
  background: transparent;
}

/* COELU-inspired background language: pale glow, fine rules and large outlines. */
.bd-home main > .bd-mission,
.bd-home main > .brand-name--mochimotsu {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #fff;
  background-image:
    radial-gradient(circle at 92% 16%, rgba(127, 178, 197, .16), transparent 31%),
    linear-gradient(to bottom, transparent 81.9%, rgba(74, 127, 149, .14) 82%, transparent 82.1%);
}
.bd-home main > .bd-mission::before,
.bd-home main > .brand-name--mochimotsu::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: clamp(390px, 48vw, 720px);
  height: clamp(390px, 48vw, 720px);
  border-top: 1px solid rgba(74, 127, 149, .22);
  border-right: 1px solid rgba(74, 127, 149, .22);
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  pointer-events: none;
  transform: rotate(45deg);
}
.bd-home main > .bd-mission::before {
  top: 3%;
  right: -23%;
  display: block;
}
.bd-home main > .brand-name--mochimotsu::after {
  right: auto;
  bottom: -39%;
  left: -25%;
  display: block;
  color: transparent;
  font-size: 0;
}
.bd-home main > .bd-mission > *,
.bd-home main > .brand-name--mochimotsu > * {
  position: relative;
  z-index: 1;
}
.bd-home main > .brand-name--mochimotsu > .value-style-heading,
.bd-home main > .brand-name--mochimotsu > .brand-name__mission-stage {
  background: transparent;
  background-image: none;
}

@media (max-width: 760px) {
  .value-style-heading,
  .brand-name__heading-wrap.value-style-heading,
  .service-approach-stage__heading-wrap.value-style-heading { padding: 64px 20px 16px; }
  .value-style-heading > h2,
  .brand-name__heading-wrap.value-style-heading > h2,
  .service-approach-stage__heading-wrap.value-style-heading > h2 { font-size: 34px; }
  .value-style-heading > h2 small,
  .brand-name__heading-wrap.value-style-heading > h2 small,
  .service-approach-stage__heading-wrap.value-style-heading > h2 small { font-size: 15px; }
  .brand-name__mission-stage { grid-template-columns: 1fr; gap: 30px; width: calc(100% - 40px); min-height: 0; padding: 36px 0 80px; }
  .brand-name__mission-copy { padding: 0; }
  .brand-cases--commude .brand-cases__grid { grid-template-columns: 1fr; gap: 64px; }
  .bd-home main > .bd-mission { padding-bottom: 0; }
  .bd-home main > .bd-mission + .brand-name--mochimotsu > .value-style-heading { padding-top: 0; }
  .bd-home main > .bd-mission + .brand-name--mochimotsu { margin-top: -8px; }
  body.bd-home:not(.page-about) main > .brand-name--mochimotsu { padding-bottom: 64px; }
  body.bd-home:not(.page-about) main > .bd-services--switcher + .impact-counter { margin-top: 72px; }
  body.bd-home:not(.page-about) main > .brand-cases--commude { padding-bottom: 28px; }
  body.bd-home:not(.page-about) main > .brand-cases--commude + .bd-home-values { padding-top: 44px; }
  body.bd-home:not(.page-about) main > .bd-mission + .brand-name--mochimotsu::before {
    left: 20px;
    width: calc(100% - 40px);
  }
  body.bd-home:not(.page-about) .brand-name__heading-wrap.value-style-heading { padding-top: 28px; padding-bottom: 2px; }
  body.bd-home:not(.page-about) .brand-name__mission-copy { padding-top: 12px; }
  body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::before {
    top: -120px;
    right: -245px;
    width: 460px;
    height: 460px;
  }
  body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::after {
    top: auto;
    bottom: 34px;
    left: -95px;
    width: 260px;
    height: 90px;
  }
  .bd-home main > .bd-mission,
  .bd-home main > .brand-name--mochimotsu {
    background-image:
      radial-gradient(circle at 100% 12%, rgba(127, 178, 197, .13), transparent 29%),
      linear-gradient(to bottom, transparent 83.9%, rgba(74, 127, 149, .12) 84%, transparent 84.1%);
  }
  .bd-home main > .bd-mission::before,
  .bd-home main > .brand-name--mochimotsu::after { width: 430px; }
}

/* CASE STUDY final background: no ornaments, fading quietly into white. */
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude {
  background: linear-gradient(
    to bottom,
    #eaf1f4 0%,
    #eef4f6 30%,
    #f6f9fa 68%,
    #fff 100%
  );
  background-size: auto;
}
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::before,
body.bd-home:not(.page-about) .brand-cases.brand-cases--commude::after {
  content: none;
  display: none;
}
body.bd-home:not(.page-about) .brand-cases--commude > .brand-story-shell,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__head,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__grid,
body.bd-home:not(.page-about) .brand-cases--commude .brand-cases__grid article {
  background: transparent;
}

/* Keep the authored Mission phrase on three stable lines at every desktop width. */
body.bd-home:not(.page-about) .bd-mission__copy .bd-mission__body > h3 span {
  display: block;
  white-space: nowrap;
}




/* =========================================================
   Sentaku business clarity refresh — 2026-09-27
   ========================================================= */
:root {
  --sentaku-ink: #173947;
  --sentaku-ink-deep: #102f3c;
  --sentaku-blue: #7fb2c5;
  --sentaku-blue-dark: #397f9d;
  --sentaku-pale: #edf4f6;
  --sentaku-line: #cfdbdf;
  --sentaku-paper: #ffffff;
  --sentaku-text: #40545d;
}
.sentaku-home-v2 { overflow: hidden; background: var(--sentaku-paper); color: var(--sentaku-ink); }
.sentaku-shell { width: min(86%, 1180px); margin-inline: auto; }
.sentaku-kicker { margin: 0 0 16px; color: var(--sentaku-blue-dark); font: 700 11px/1.4 "Poppins", sans-serif; letter-spacing: .2em; }
.sentaku-section-head { margin-bottom: clamp(52px, 7vw, 88px); }
.sentaku-section-head h2,
.sentaku-message h2,
.sentaku-philosophy h2,
.sentaku-final-cta h2 { margin: 0; color: var(--sentaku-ink); font-size: clamp(38px, 4.5vw, 66px); font-weight: 700; line-height: 1.35; letter-spacing: -.06em; }
.sentaku-section-head > p:last-child { max-width: 660px; margin: 28px 0 0; color: var(--sentaku-text); font-size: 15px; line-height: 2; }
.sentaku-section-head--row { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(380px, 1.1fr); gap: clamp(56px, 8vw, 120px); align-items: end; }
.sentaku-section-head--row > p:last-child { margin: 0 0 5px; }
.sentaku-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; padding: 14px 22px; border: 1px solid var(--sentaku-ink); border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.4; transition: .25s ease; }
.sentaku-button--primary { background: var(--sentaku-ink); color: #fff; }
.sentaku-button--primary:hover,
.sentaku-button--primary:focus-visible { background: #fff; color: var(--sentaku-ink); }
.sentaku-button--text { min-height: auto; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(23,57,71,.35); border-radius: 0; color: var(--sentaku-ink); }
.sentaku-button--light { border-color: rgba(255,255,255,.72); background: #fff; color: var(--sentaku-ink); }
.sentaku-button--light:hover,
.sentaku-button--light:focus-visible { background: transparent; color: #fff; }

/* Hero */
.sentaku-hero .bd-hero-v2__copy { top: 35%; }
.sentaku-hero .bd-hero-v2__copy h1 { font-size: clamp(55px, 5vw, 78px); }
.sentaku-hero .bd-hero-v2__copy > p.bd-hero-v2__lead { max-width: 39em; margin-top: 24px; line-height: 1.9; }
.sentaku-hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }

/* Why */
.sentaku-why { padding: clamp(104px, 10vw, 156px) 0; background: #fff; }
.sentaku-why .sentaku-section-head { display: grid; grid-template-columns: minmax(380px, .9fr) minmax(390px, 1.1fr); gap: clamp(56px, 8vw, 120px); align-items: end; }
.sentaku-why .sentaku-section-head .sentaku-kicker { grid-column: 1 / -1; margin-bottom: -20px; }
.sentaku-why .sentaku-section-head > p:last-child { margin: 0 0 4px; }
.sentaku-why__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--sentaku-line); border-bottom: 1px solid var(--sentaku-line); }
.sentaku-why__grid article { min-height: 360px; padding: 32px clamp(24px, 3vw, 42px) 38px; border-right: 1px solid var(--sentaku-line); }
.sentaku-why__grid article:last-child { border-right: 0; }
.sentaku-why__grid span { display: block; margin-bottom: 68px; color: var(--sentaku-blue); font: 500 clamp(44px, 4vw, 58px)/1 "Poppins", sans-serif; letter-spacing: -.04em; }
.sentaku-why__grid h3 { margin: 0 0 20px; color: var(--sentaku-ink); font-size: 23px; line-height: 1.5; }
.sentaku-why__grid p { margin: 0; color: var(--sentaku-text); font-size: 13px; line-height: 2; }

/* CTA band */
.sentaku-cta-band { padding: 48px 0; background: var(--sentaku-ink); color: #fff; }
.sentaku-cta-band .sentaku-shell { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.sentaku-cta-band p { margin: 0 0 7px; color: #fff; font-size: clamp(22px, 2.3vw, 31px); font-weight: 700; line-height: 1.5; }
.sentaku-cta-band span { color: rgba(255,255,255,.72); font-size: 13px; }
.sentaku-cta-band .sentaku-button span { color: inherit; }

/* Service */
.sentaku-services { padding: clamp(110px, 10vw, 160px) 0; background: var(--sentaku-pale); }
.sentaku-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sentaku-services__grid > a { display: flex; flex-direction: column; min-height: 610px; padding: 18px 18px 28px; background: #fff; color: var(--sentaku-ink); transition: transform .25s ease, box-shadow .25s ease; }
.sentaku-services__grid > a:hover,
.sentaku-services__grid > a:focus-visible { transform: translateY(-5px); box-shadow: 0 18px 48px rgba(23,57,71,.11); }
.sentaku-services__grid small { margin: 4px 4px 16px; color: var(--sentaku-blue-dark); font: 700 10px/1.4 "Poppins", sans-serif; letter-spacing: .18em; }
.sentaku-services__grid figure { overflow: hidden; width: 100%; margin: 0 0 28px; aspect-ratio: 4 / 3; background: #dce8ec; }
.sentaku-services__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.sentaku-services__grid a:hover img { transform: scale(1.04); }
.sentaku-services__grid h3 { margin: 0 4px 14px; color: var(--sentaku-ink); font-size: clamp(22px, 2vw, 28px); line-height: 1.5; }
.sentaku-services__grid h3 span { display: block; color: #6d858f; font: 500 12px/1.5 "Poppins", sans-serif; letter-spacing: .08em; }
.sentaku-services__grid p { margin: 0 4px; color: var(--sentaku-text); font-size: 13px; line-height: 1.95; }
.sentaku-services__grid b { margin: auto 4px 0; padding-top: 28px; color: var(--sentaku-blue-dark); font-size: 12px; }

/* Cases */
.sentaku-cases { padding: clamp(110px, 10vw, 160px) 0; background: #fff; }
.sentaku-cases__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.sentaku-case { padding: clamp(30px, 4vw, 52px); border: 1px solid var(--sentaku-line); background: #fff; }
.sentaku-case header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--sentaku-line); }
.sentaku-case header small { color: var(--sentaku-blue-dark); font: 700 11px/1.4 "Poppins", sans-serif; letter-spacing: .16em; }
.sentaku-case header span { color: #62767f; font-size: 12px; }
.sentaku-case h3 { margin: 34px 0 30px; color: var(--sentaku-ink); font-size: clamp(21px, 2vw, 28px); line-height: 1.6; }
.sentaku-case dl { margin: 0; }
.sentaku-case dl > div { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 15px 0; border-top: 1px solid #e5ebed; }
.sentaku-case dt { color: #6b7c83; font-size: 11px; font-weight: 700; }
.sentaku-case dd { margin: 0; color: var(--sentaku-text); font-size: 13px; line-height: 1.85; }
.sentaku-case .is-result { margin: 10px -16px -4px; padding: 20px 16px; border: 0; background: var(--sentaku-pale); }
.sentaku-case .is-result dt { color: var(--sentaku-blue-dark); }
.sentaku-case .is-result dd { color: var(--sentaku-ink); font-weight: 700; }

/* Products */
.sentaku-products { position: relative; padding: clamp(110px, 10vw, 160px) 0; background: var(--sentaku-ink); color: #fff; }
.sentaku-products::after { content: "PRODUCTS"; position: absolute; right: -12px; bottom: -26px; color: rgba(255,255,255,.035); font: 700 clamp(82px, 14vw, 190px)/1 "Poppins", sans-serif; pointer-events: none; }
.sentaku-products .sentaku-section-head h2 { color: #fff; }
.sentaku-products .sentaku-section-head > p:last-child { color: rgba(255,255,255,.7); }
.sentaku-products .sentaku-kicker { color: #9bc8d7; }
.sentaku-products__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.24); border-bottom: 1px solid rgba(255,255,255,.24); }
.sentaku-products__grid article { min-height: 330px; padding: 32px clamp(20px, 2.6vw, 38px); border-right: 1px solid rgba(255,255,255,.16); }
.sentaku-products__grid article:last-child { border-right: 0; }
.sentaku-products__grid small { color: #9bc8d7; font: 600 10px/1.4 "Poppins", sans-serif; letter-spacing: .15em; }
.sentaku-products__grid h3 { margin: 64px 0 12px; color: #fff; font-size: 28px; }
.sentaku-products__grid p { min-height: 58px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.8; }
.sentaku-products__grid a,
.sentaku-products__grid span { display: inline-block; margin-top: 34px; color: #fff; font-size: 11px; font-weight: 700; }
.sentaku-products__grid span { color: rgba(255,255,255,.42); }

/* Message */
.sentaku-message { padding: clamp(110px, 10vw, 160px) 0; background: #fff; }
.sentaku-message__grid { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr); gap: clamp(60px, 9vw, 130px); align-items: start; }
.sentaku-message figure { position: sticky; top: 120px; overflow: hidden; margin: 0; aspect-ratio: 4 / 5; background: var(--sentaku-pale); }
.sentaku-message figure img { width: 100%; height: 100%; object-fit: cover; }
.sentaku-message h2 { font-size: clamp(34px, 3.6vw, 50px); }
.sentaku-message__copy { margin-top: 42px; color: var(--sentaku-text); font-size: 14px; line-height: 2; }
.sentaku-message__copy p + p { margin-top: 22px; }
.sentaku-sign { margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--sentaku-line); color: var(--sentaku-ink); font-size: 14px; font-weight: 700; }

/* Philosophy */
.sentaku-philosophy { padding: clamp(105px, 10vw, 155px) 0; background: var(--sentaku-pale); }
.sentaku-philosophy header { margin-bottom: 70px; }
.sentaku-philosophy__statements { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #b8cbd2; border-bottom: 1px solid #b8cbd2; }
.sentaku-philosophy__statements article { min-height: 260px; padding: 34px clamp(28px, 4vw, 54px); border-right: 1px solid #b8cbd2; }
.sentaku-philosophy__statements article:last-child { border-right: 0; }
.sentaku-philosophy__statements small,
.sentaku-values > small { color: var(--sentaku-blue-dark); font: 700 11px/1.4 "Poppins", sans-serif; letter-spacing: .16em; }
.sentaku-philosophy__statements h3 { margin: 70px 0 0; color: var(--sentaku-ink); font-size: clamp(22px, 2.4vw, 32px); line-height: 1.65; }
.sentaku-values { display: grid; grid-template-columns: 160px 1fr; gap: 30px; align-items: start; margin-top: 62px; }
.sentaku-values ol { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; counter-reset: value; }
.sentaku-values li { counter-increment: value; padding: 0 20px; border-left: 1px solid #bdd0d6; color: var(--sentaku-ink); font-size: 15px; font-weight: 700; line-height: 1.6; }
.sentaku-values li::before { content: "0" counter(value); display: block; margin-bottom: 18px; color: var(--sentaku-blue); font: 500 12px/1 "Poppins", sans-serif; }

/* Final CTA */
.sentaku-final-cta { padding: clamp(100px, 10vw, 150px) 0; background: #fff; text-align: center; }
.sentaku-final-cta h2 { font-size: clamp(38px, 4.6vw, 64px); }
.sentaku-final-cta > .sentaku-shell > p:not(.sentaku-kicker) { margin: 26px 0 36px; color: var(--sentaku-text); font-size: 15px; line-height: 1.9; }

/* AI Search */
.sentaku-search-feature { padding: clamp(100px, 9vw, 145px) 0; background: var(--sentaku-ink); color: #fff; }
.sentaku-search-feature__top { display: grid; grid-template-columns: minmax(380px, .9fr) minmax(420px, 1.1fr); gap: clamp(60px, 8vw, 120px); align-items: start; }
.sentaku-search-feature h2 { margin: 0; color: #fff; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.28; letter-spacing: -.055em; }
.sentaku-search-feature h2 span { display: block; margin-bottom: 16px; color: #9bc8d7; font: 600 12px/1.4 "Poppins", sans-serif; letter-spacing: .12em; }
.sentaku-search-feature__copy > p { color: rgba(255,255,255,.78); font-size: 15px; line-height: 2; }
.sentaku-search-feature__issues { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 42px 0; background: rgba(255,255,255,.18); }
.sentaku-search-feature__issues li { padding: 22px; background: var(--sentaku-ink); color: #fff; font-size: 13px; line-height: 1.7; }
.sentaku-search-feature__issues li::before { content: "—"; display: block; margin-bottom: 10px; color: #9bc8d7; }
.sentaku-search-feature__tags { display: flex; flex-wrap: wrap; gap: 9px; }
.sentaku-search-feature__tags li { padding: 9px 14px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff; font-size: 11px; }
.sentaku-search-feature__flow { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 72px; border-top: 1px solid rgba(255,255,255,.23); border-bottom: 1px solid rgba(255,255,255,.23); }
.sentaku-search-feature__flow article { padding: 28px 30px 34px; border-right: 1px solid rgba(255,255,255,.18); }
.sentaku-search-feature__flow article:last-child { border-right: 0; }
.sentaku-search-feature__flow small { color: #9bc8d7; font: 600 10px/1.4 "Poppins", sans-serif; }
.sentaku-search-feature__flow h3 { margin: 24px 0 12px; color: #fff; font-size: 20px; }
.sentaku-search-feature__flow p { color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.85; }

/* Shared inner-page additions */
.sentaku-inner-cta { padding: 80px 0 110px; background: var(--sentaku-pale); text-align: center; }
.sentaku-inner-cta h2 { margin: 0 0 28px; color: var(--sentaku-ink); font-size: clamp(30px, 3.6vw, 48px); line-height: 1.45; }
.sentaku-company-message { padding-bottom: 80px; }
.sentaku-philosophy-page { padding: 96px 0 130px; background: #fff; }
.sentaku-philosophy-page .sentaku-philosophy { padding: 0; background: #fff; }

@media (max-width: 960px) {
  .sentaku-section-head--row,
  .sentaku-why .sentaku-section-head,
  .sentaku-message__grid,
  .sentaku-search-feature__top { grid-template-columns: 1fr; gap: 38px; }
  .sentaku-why .sentaku-section-head .sentaku-kicker { grid-column: auto; margin-bottom: -10px; }
  .sentaku-section-head--row > p:last-child,
  .sentaku-why .sentaku-section-head > p:last-child { margin: 0; }
  .sentaku-why__grid,
  .sentaku-services__grid { grid-template-columns: 1fr; }
  .sentaku-why__grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--sentaku-line); }
  .sentaku-why__grid article:last-child { border-bottom: 0; }
  .sentaku-why__grid span { margin-bottom: 26px; }
  .sentaku-services__grid > a { min-height: 0; }
  .sentaku-products__grid { grid-template-columns: repeat(2, 1fr); }
  .sentaku-products__grid article:nth-child(2) { border-right: 0; }
  .sentaku-products__grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .sentaku-message figure { position: static; aspect-ratio: 16 / 10; }
  .sentaku-values { grid-template-columns: 1fr; }
  .sentaku-values ol { grid-template-columns: repeat(2, 1fr); gap: 28px 0; }
}

@media (max-width: 700px) {
  .sentaku-shell { width: calc(100% - 40px); }
  .sentaku-pc { display: none; }
  .sentaku-section-head h2,
  .sentaku-message h2,
  .sentaku-philosophy h2,
  .sentaku-final-cta h2 { font-size: 36px; }
  .sentaku-section-head > p:last-child { font-size: 14px; }
  .sentaku-hero .bd-hero-v2__copy { top: auto; }
  .sentaku-hero__actions { flex-wrap: wrap; gap: 14px; margin-top: 18px; }
  .sentaku-hero__actions .sentaku-button--primary { min-height: 46px; padding: 11px 18px; }
  .sentaku-hero__actions .sentaku-button--text { font-size: 11px; }
  .sentaku-why,
  .sentaku-services,
  .sentaku-cases,
  .sentaku-products,
  .sentaku-message,
  .sentaku-philosophy,
  .sentaku-final-cta,
  .sentaku-search-feature { padding: 84px 0; }
  .sentaku-why__grid article { padding: 28px 0 32px; }
  .sentaku-cta-band .sentaku-shell { display: block; }
  .sentaku-cta-band .sentaku-button { width: 100%; margin-top: 26px; }
  .sentaku-services__grid > a { padding: 14px 14px 24px; }
  .sentaku-cases__grid { grid-template-columns: 1fr; }
  .sentaku-case { padding: 28px 22px; }
  .sentaku-case header { display: block; }
  .sentaku-case header span { display: block; margin-top: 8px; }
  .sentaku-case dl > div { grid-template-columns: 46px 1fr; gap: 12px; }
  .sentaku-products__grid { grid-template-columns: 1fr; }
  .sentaku-products__grid article { min-height: 0; padding: 28px 0 34px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .sentaku-products__grid article:last-child { border-bottom: 0; }
  .sentaku-products__grid h3 { margin-top: 38px; }
  .sentaku-products__grid p { min-height: 0; }
  .sentaku-message figure { aspect-ratio: 4 / 3; }
  .sentaku-message__copy { margin-top: 32px; font-size: 13px; }
  .sentaku-philosophy header { margin-bottom: 48px; }
  .sentaku-philosophy__statements { grid-template-columns: 1fr; }
  .sentaku-philosophy__statements article { min-height: 0; padding: 28px 0 34px; border-right: 0; border-bottom: 1px solid #b8cbd2; }
  .sentaku-philosophy__statements article:last-child { border-bottom: 0; }
  .sentaku-philosophy__statements h3 { margin-top: 28px; font-size: 23px; }
  .sentaku-values ol { grid-template-columns: 1fr; gap: 0; }
  .sentaku-values li { padding: 20px 0; border-left: 0; border-top: 1px solid #bdd0d6; }
  .sentaku-values li::before { display: inline-block; width: 42px; margin: 0; }
  .sentaku-search-feature__issues,
  .sentaku-search-feature__flow { grid-template-columns: 1fr; }
  .sentaku-search-feature__flow article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .sentaku-search-feature__flow article:last-child { border-bottom: 0; }
}


/* Heading line-break polish — 2026-09-27 */
.sentaku-section-head h2 {
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: normal;
}
.sentaku-philosophy h2,
.sentaku-final-cta h2 {
  text-wrap: balance;
  word-break: auto-phrase;
}

@media (max-width: 1366px) {
  .sentaku-section-head h2 {
    font-size: 48px;
    line-height: 1.28;
    letter-spacing: -0.05em;
  }
  .sentaku-section-head h2 br { display: block; }
  .sentaku-section-head--row h2,
  .sentaku-why .sentaku-section-head h2 { white-space: nowrap; }
}

@media (max-width: 1180px) {
  .sentaku-section-head h2 { font-size: 42px; }
}

@media (max-width: 900px) {
  .sentaku-section-head--row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .sentaku-section-head--row > p:last-child { max-width: 680px; }
}

@media (max-width: 640px) {
  .sentaku-section-head h2 {
    font-size: 32px;
    line-height: 1.38;
    letter-spacing: -0.045em;
  }
  .sentaku-philosophy h2,
  .sentaku-final-cta h2 {
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: -0.035em;
  }
}

@media (max-width: 375px) {
  .sentaku-section-head h2 { font-size: 29px; }
  .sentaku-philosophy h2,
  .sentaku-final-cta h2 { font-size: 27px; }
}


/* Representative photo removal safety — 2026-09-27 */
.sentaku-message figure,
.sentaku-message__grid > figure,
section.sentaku-message img {
  display: none !important;
}
.sentaku-message__grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
