/* style.css */

/*
=========================================================
 DURACLE CSS DESIGN SYSTEM
=========================================================
*/

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #2f2a28;
  background: #fbf7f3;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Header */
.site-header {
  position: fixed;
  top: 22px;
  left: 50%;
  z-index: 999;
  width: min(calc(100% - 48px), 1120px);
  height: 68px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transform: translateX(-50%);
  border: 1px solid rgba(120, 88, 72, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header-logo img {
  width: 118px;
  height: auto;
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 54px;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: rgba(47, 42, 40, 0.72);
}

.header-nav-group {
  display: flex;
  align-items: center;
  gap: 30px;
}

.header-contact {
  position: relative;
  overflow: hidden;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  background: rgba(58, 54, 52, 0.58);
  color: rgba(255, 255, 255, 0.94);
  font-size: 11px;
  letter-spacing: 0.16em;
  backdrop-filter: blur(20px) saturate(1.18);
  -webkit-backdrop-filter: blur(20px) saturate(1.18);
  box-shadow: 0 10px 24px rgba(47,42,40,.12);
}

/* ACT 1 : Hero → Intro → Philosophy → Value */
.intro-stage {
  position: relative;
height: 1150svh;
  min-height: 1150svh;
}

/* LINE in-app browser v378:
   Freeze ACT1's long scroll geometry while keeping the visual stage on 100lvh. */
html.is-line-act1-fixed-scroll-v378 .intro-stage {
  height: var(--line-act1-stage-height-v378);
  min-height: var(--line-act1-stage-height-v378);
}

.stage-sticky {
  position: sticky;
  top: 0;
  height: 100lvh;
  min-height: 100lvh;
  overflow: hidden;
  background: #f8f7f5;
}

.stage-bg,
.stage-bg-frame,
.stage-bg-image,
.stage-bg-veil,
.stage-bg-next-frame,
.stage-bg-next,
.stage-layer {
  position: absolute;
  inset: 0;
}
.act1-canvas-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}

.act1-background-canvas {
  width: 100%;
  height: 100%;
  display: block;
}
.stage-bg {
  z-index: 0;
  overflow: hidden;
}

.stage-bg-frame {
  will-change: transform;
}
.stage-bg-next-frame {
  inset: -4%;
  z-index: 1;
will-change: transform;
}
.stage-bg-image {
  inset: -4%;
  background-image: url("images/hero-flower.PNG");
  background-size: cover;
  background-position: center;
animation: heroBreath 8.5s ease-in-out infinite alternate;
  will-change: transform, filter;
}

.stage-bg-veil {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.86), rgba(255,255,255,0.58) 46%, rgba(255,255,255,0.24)),
    rgba(255, 250, 247, 0.28);
  will-change: opacity;
}

.stage-bg-next {
  inset: -4%;
  z-index: 1;
  background: url("images/s2-bg.PNG") center center / cover no-repeat;
  opacity: 0;
  filter: blur(12px);
  will-change: opacity, transform, filter;
}


.act1-white-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(255, 250, 247, 0.30);
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
}
.act1-bottom-gradient {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;

  background:
    linear-gradient(
      to top,
      rgba(255,250,247,1.00) 0%,
      rgba(255,250,247,.92) 12%,
      rgba(255,250,247,.66) 24%,
      rgba(255,250,247,.30) 38%,
      rgba(255,250,247,.08) 52%,
      rgba(255,250,247,0) 66%
    );

  will-change: opacity;
}
.stage-layer {
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  height: 100svh;
  min-height: 100svh;
  z-index: 3;
}
/* =========================================================
   ACT1 LIGHT ORBS
========================================================= */

.act1-light-orbs{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
}

.act1-light-orb{
  position:absolute;
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  will-change:transform,opacity,filter;

  background:
    radial-gradient(
      circle,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,1) 48%,
      rgba(255,255,255,.92) 64%,
      rgba(255,255,255,.55) 78%,
      rgba(255,255,255,.18) 90%,
      rgba(255,255,255,0) 100%
    );

  filter:blur(2.8px);
}
.hero-layer {
  opacity: 1;
}

.intro-layer {
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 150px min(10vw, 150px) 110px;
  pointer-events: none;
}

/* Hero */
.hero-logo-wrap,
.hero-subtitle,
.hero-title,
.hero-message,
.hero-scroll {
  position: absolute;
  left: 50%;
  z-index: 2;
  text-align: center;
  transform: translateX(-50%);
}

.hero-logo-wrap {
  top: calc(41.5% - 8px);
  width: min(585px, 76vw);
  transform: translate(-50%, -50%);
}

.hero-logo {
  width: 100%;
  height: auto;
}

.hero-subtitle {
  top: calc(61.5% - 8px);
  width: min(100% - 48px, 980px);
  margin: 0;
  font-size: 13px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(47, 42, 40, 0.52);
}

.hero-title {
  top: calc(66.85% - 8px);
  width: min(100% - 48px, 980px);
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.9;
}

.hero-message {
  top: calc(73% - 8px);
  width: min(100% - 48px, 980px);
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(15px, 1.25vw, 20px);
  font-weight: 400;
  letter-spacing: .18em;
  line-height: 1.8;
  color: rgba(47,42,40,.66);
}

.hero-scroll {
  bottom: 42px;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(47, 42, 40, 0.42);
  animation: scrollFloat 2.8s ease-in-out infinite;
}

.hero-scroll::after {
  content: "";
  display: block;
  width: 1px;
  height: 42px;
  margin: 12px auto 0;
  background: rgba(47, 42, 40, 0.22);
}

.hero-logo-wrap,
.hero-subtitle,
.hero-title,
.hero-message {
  opacity: 0;
  filter: blur(6px);
  animation: heroContentReveal 1.15s cubic-bezier(.22, 1, .36, 1) forwards;
}

.hero-logo-wrap {
  animation-delay: .35s;
  animation-duration: 2.25s;
}

.hero-subtitle {
  animation-delay: .22s;
}

.hero-title {
  animation-delay: .36s;
}

.hero-message {
  animation-delay: .50s;
}

/* Intro */
.intro-content {
  position: relative;
  z-index: 2;
  width: min(520px, 42vw);
  margin-top: 54px;
  text-align: center;
}

.intro-lead {
  margin: 0 0 48px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 400;
line-height: 1.74;
letter-spacing: .075em;
color: rgba(47,42,40,.92);
}

.intro-lead-main,
.intro-lead-sub,
.intro-content p:not(.intro-lead) {
  opacity: 0;
  will-change: opacity, filter, transform;
}

.intro-lead-main,
.intro-lead-sub {
  display: inline-block;
  filter: blur(6px);
}

.intro-lead-sub {
  display: block;
  margin-top: 12px;
  font-size: .84em;
  line-height: 1.75;
}

.intro-content p:not(.intro-lead) {
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 2.25;
  letter-spacing: .05em;
  color: rgba(47,42,40,.74);
  transform: none;
}

.intro-body-sp {
  display: none;
}

/* ACT1 Scenes */
.act1-scene {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 138px min(8vw, 118px) 90px;
  opacity: 0;
  pointer-events: none;
}

.act1-scene-title,
.act1-scene-subtitle,
.act1-scene-statement-ja,
.act1-scene-statement-en,
.act1-scene-body p {
  opacity: 0;
  will-change: opacity, filter, transform;
}

.act1-scene-title,
.act1-scene-subtitle,
.act1-scene-statement-ja,
.act1-scene-statement-en {
  display: block;
  filter: blur(6px);
}

.act1-scene-inner {
  width: min(1180px, 90%);
  margin: 0 auto;
}

.act1-scene-chapter {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 64px;
}

.act1-scene-chapter-number,
.act1-scene-chapter-label {
  font-size: 13px;
  letter-spacing: .30em;
  color: rgba(126, 116, 110, .46);
}

.act1-scene-content {
  max-width: 760px;
}

.act1-scene-title {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(46px, 4.2vw, 68px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .03em;
  color: rgba(47,42,40,.94);
}

.act1-scene-subtitle {
  margin: 10px 0 0;
  font-size: 22px;
  letter-spacing: .01em;
  color: rgba(47,42,40,.52);
}

.act1-scene-statement {
  margin-top: 104px;
}

.act1-scene-statement-ja {
  margin: 0;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(25px, 2.4vw, 36px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .04em;
}

.act1-scene-statement-en {
  margin: 10px 0 0;
  font-size: 22px;
  letter-spacing: .03em;
  color: rgba(47,42,40,.52);
}

.act1-scene-body {
  margin-top: 88px;
}

.act1-scene-body p {
  margin: 0;
  font-size: clamp(20px, 1.85vw, 28px);
  line-height: 2.15;
  letter-spacing: .04em;
  color: rgba(47,42,40,.82);
}
/* =========================================================
   ACT1 PHILOSOPHY / VALUE : PC TYPOGRAPHY V3
   CONCEPT : GALLERY SIGNATURE
========================================================= */
@media (min-width: 761px) {
  .intro-lead-sub {
    font-size: .86em;
    color: rgba(47, 42, 40, .90);
  }
  .act1-scene {
    padding-top: 118px;
    padding-right: min(7vw, 104px);
    padding-bottom: 58px;
    padding-left: min(7vw, 104px);
  }

  .act1-scene-inner {
    position: relative;
    width: min(1240px, 90vw);
    height: min(760px, calc(100lvh - 164px));
    min-height: 610px;
    margin: 0 auto;
  }

  .act1-scene-content {
    position: absolute;
    inset: 0;
    max-width: none;
  }

  /*
  =========================================================
   GALLERY SIGNATURE
  =========================================================
  */

  .act1-scene-header {
    position: absolute;
    top: 18%;
    left: 2%;
    width: 26%;
  }

  .act1-scene-title {
    margin: 0;
    font-size: clamp(27px, 2.30vw, 36px);
    font-weight: 400;
    line-height: 1.38;
    letter-spacing: .105em;
    color: rgba(47, 42, 40, .74);
  }

  .act1-scene-subtitle {
    margin: 11px 0 0;
    font-size: clamp(10px, .80vw, 12px);
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: .16em;
    color: rgba(47, 42, 40, .29);
  }

  /*
  =========================================================
   MAIN STATEMENT
  =========================================================
  */

  .act1-scene-statement {
    position: absolute;
    top: 36%;
    left: 32.5%;
    width: 62%;
    margin: 0;
  }

  .act1-scene-statement-ja {
    margin: 0;
    font-size: clamp(40px, 3.88vw, 58px);
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: .095em;
    color: rgba(47, 42, 40, .84);
    white-space: nowrap;
  }

  .act1-scene-statement-en {
    margin: 15px 0 0;
    font-size: clamp(10px, .82vw, 12px);
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: .18em;
    color: rgba(47, 42, 40, .27);
  }

  .act1-value-scene .act1-scene-statement {
    left: calc(32.5% + 8px);
  }

  .act1-value-scene .act1-scene-body {
    left: calc(32.5% + 8px);
  }

  /*
  =========================================================
   BODY — QUIET AFTERTONE
  =========================================================
  */

  .act1-scene-body {
    position: absolute;
    top: 64%;
    left: 32.5%;
    width: 62%;
    margin: 0;
  }

  .act1-scene-body p {
    margin: 0;
    font-size: clamp(15px, 1.28vw, 18px);
    font-weight: 400;
    line-height: 2.16;
    letter-spacing: .075em;
    color: rgba(47, 42, 40, .62);
  }
}
/* =========================================================
   ACT2 DESIGN SYSTEM
========================================================= */

.act2{
  position:relative;
  background:#f8f7f5;
  overflow:hidden;
}

.act2-section{
  position:relative;
  padding:140px 0;
}

.act2-container{
  width:min(1180px,90vw);
  margin:0 auto;
}

.act2-section + .act2-section{
  border-top:1px solid rgba(47,42,40,.06);
}

/* =========================================================
   COMMON HEADER
========================================================= */

.act2-section-header{
  max-width:760px;
  margin-bottom:72px;
}

.act2-eyebrow{
  margin:0 0 18px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(47,42,40,.42);
}

.act2-title{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,3.2vw,52px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:.04em;
  color:#2f2a28;
}

.act2-lead{
  margin:28px 0 0;
  max-width:700px;
  font-size:17px;
  line-height:2;
  color:rgba(47,42,40,.66);
}

/* =========================================================
   COMMON GRID
========================================================= */

.act2-grid{
  display:grid;
  gap:34px;
}

.act2-business-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* =========================================================
   CARD
========================================================= */

.act2-card{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:42px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(47,42,40,.06);
}

.act2-card-number,
.act2-card-meta{
  margin:0 0 18px;
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(47,42,40,.42);
}

.act2-card-title{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:26px;
  font-weight:400;
  line-height:1.5;
}

.act2-card-text{
  margin:22px 0 0;
  font-size:15px;
  line-height:2;
  color:rgba(47,42,40,.62);
}

.act2-link{
  margin-top:auto;
  padding-top:32px;
  font-size:13px;
  letter-spacing:.12em;
}

/* =========================================================
   MEDIA
========================================================= */

.act2-media{
  aspect-ratio:16 / 10;
  border-radius:22px;
  background:#ece8e4;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
}

.act2-placeholder-label{
  font-size:11px;
  letter-spacing:.22em;
  color:rgba(47,42,40,.35);
}

/* =========================================================
   FOUNDER / EDITORIAL REFINEMENT V277
========================================================= */

.act2-founder{
  background:#f1eee9;
}

.act2-founder-header{
  position:relative;
  max-width:none;
  margin-bottom:46px;
  padding-bottom:28px;
}

.act2-founder-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(47,42,40,.34),rgba(47,42,40,.08));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1);
}

.act2-founder-header .act2-eyebrow,
.act2-founder-header .act2-title{
  opacity:0;
  filter:blur(7px);
  transform:translateY(9px);
  transition:opacity .72s ease,filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);
}

.act2-founder.is-visible .act2-founder-header::after{
  transform:scaleX(1);
}

.act2-founder.is-visible .act2-founder-header .act2-eyebrow,
.act2-founder.is-visible .act2-founder-header .act2-title{
  opacity:1;
  filter:blur(0);
  transform:translateY(0);
}

.act2-founder.is-visible .act2-founder-header .act2-title{
  transition-delay:.08s;
}

.act2-founder-editorial{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:22px;
  align-items:stretch;
}

.act2-founder-photo-card,
.act2-founder-letter{
  min-width:0;
  margin:0;
  border:1px solid rgba(47,42,40,.055);
  border-radius:34px;
  overflow:hidden;
  box-shadow:
    0 18px 42px rgba(83,70,58,.09),
    0 4px 12px rgba(83,70,58,.045),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.act2-founder-photo-card{
  position:relative;
  min-height:760px;
  background:#d9d4ce;
}

.act2-founder-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:760px;
  object-fit:cover;
  object-position:76% center;
}

.act2-founder-photo-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,rgba(24,22,20,0),rgba(24,22,20,.58));
  pointer-events:none;
}

.act2-founder-photo-caption{
  position:absolute;
  z-index:1;
  left:34px;
  right:34px;
  bottom:30px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}

.act2-founder-photo-label,
.act2-founder-photo-note{
  opacity:0;
  filter:blur(5px);
  transition:opacity .7s ease,filter .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);
}

.act2-founder-photo-label{
  font-size:12px;
  font-weight:600;
  letter-spacing:.24em;
  transform:translateX(-10px);
}

.act2-founder-photo-note{
  max-width:190px;
  font-size:10px;
  line-height:1.7;
  letter-spacing:.16em;
  text-align:right;
  color:rgba(255,255,255,.78);
  transform:translateX(10px);
}

.act2-founder.is-visible .act2-founder-photo-label,
.act2-founder.is-visible .act2-founder-photo-note{
  opacity:1;
  filter:blur(0);
  transform:translateX(0);
}

.act2-founder.is-visible .act2-founder-photo-label{
  transition-delay:.28s;
}

.act2-founder.is-visible .act2-founder-photo-note{
  transition-delay:.42s;
}

.act2-founder-letter{
  display:flex;
  flex-direction:column;
  padding:54px 58px 50px;
  background:#fff;
}

.act2-founder-letter-index{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-bottom:24px;
  border-bottom:1px solid rgba(47,42,40,.09);
  font-size:10px;
  letter-spacing:.18em;
  color:rgba(47,42,40,.38);
}

.act2-founder-statement{
  margin:42px 0 38px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(25px,2.25vw,36px);
  font-weight:400;
  line-height:1.72;
  letter-spacing:.035em;
  color:#2f2a28;
}

.act2-founder-statement-tail{
  white-space:nowrap;
}

.act2-founder-statement-person{
  display:inline-block;
  margin-left:.12em;
  font-size:1.28em;
  line-height:1;
}

.act2-founder-body{
  display:grid;
  gap:24px;
  padding-bottom:56px;
}

.act2-founder-body p{
  margin:0;
  font-size:15px;
  line-height:2.12;
  letter-spacing:.025em;
  color:rgba(47,42,40,.72);
}

.act2-founder-signature{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-top:auto;
  padding-top:30px;
  border-top:1px solid rgba(47,42,40,.09);
}

.act2-founder-role,
.act2-founder-name{
  margin:0;
}

.act2-founder-role{
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(47,42,40,.46);
}

.act2-founder-name{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:20px;
  letter-spacing:.08em;
  color:#2f2a28;
}

.act2-founder-name span{
  margin-right:10px;
  font-family:inherit;
  font-size:11px;
  color:rgba(47,42,40,.48);
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-header::after,
  .act2-founder-header .act2-eyebrow,
  .act2-founder-header .act2-title,
  .act2-founder-photo-label,
  .act2-founder-photo-note{
    opacity:1;
    filter:none;
    transform:none;
    transition:none;
  }
}

/* =========================================================
   COMPANY
========================================================= */

.act2-company{
  overflow:hidden;
}

.act2-company-content{
  display:grid;
  gap:22px;
}

.act2-company-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
  min-height:310px;
  overflow:hidden;
  border:1px solid rgba(47,42,40,.07);
  border-radius:34px;
  background:#fff;
  box-shadow:0 24px 70px rgba(47,42,40,.07);
}

.act2-company-intro::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:38%;
  background:
    radial-gradient(circle at 30% 25%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(145deg,#e2d8cd 0%,#f1e9df 50%,#ead8d7 100%);
}

.act2-company-intro-mark{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  min-height:310px;
}

.act2-company-intro-mark img{
  width:min(150px,42%);
  height:auto;
  opacity:.64;
}

.act2-company-intro-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px 66px;
}

.act2-company-intro-index{
  margin:0 0 32px;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(47,42,40,.42);
}

.act2-company-intro-copy h3{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(32px,4vw,58px);
  font-weight:400;
  line-height:1.3;
  letter-spacing:.035em;
}

.act2-company-intro-copy > p:last-child{
  max-width:520px;
  margin:26px 0 0;
  font-size:14px;
  line-height:2;
  color:rgba(47,42,40,.62);
}

.act2-company-profile-panel{
  overflow:hidden;
  border:1px solid rgba(47,42,40,.07);
  border-radius:34px;
  background:rgba(255,255,255,.84);
  box-shadow:0 24px 70px rgba(47,42,40,.07);
}

.act2-company-profile-main{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.42fr);
  min-height:560px;
}

.act2-company-profile-heading{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:58px 54px;
  background:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.88),transparent 30%),
    linear-gradient(145deg,#ded5ca 0%,#efe8de 48%,#d8e3df 100%);
}

.act2-company-profile-heading::after{
  content:"D";
  position:absolute;
  right:-.08em;
  bottom:-.24em;
  font-family:"Times New Roman",serif;
  font-size:clamp(250px,27vw,430px);
  font-weight:400;
  line-height:1;
  color:rgba(255,255,255,.28);
  pointer-events:none;
}

.act2-company-profile-label{
  position:relative;
  z-index:1;
  margin:0;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(47,42,40,.44);
}

.act2-company-profile-heading h3{
  position:relative;
  z-index:1;
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,3.8vw,56px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.035em;
}

.act2-company-profile-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:44px 52px;
}

.act2-company-profile-facts > div{
  min-height:164px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 30px;
  border-top:1px solid rgba(47,42,40,.08);
}

.act2-company-profile-facts > div:nth-child(odd){
  border-right:1px solid rgba(47,42,40,.08);
}

.act2-company-profile-facts > div:nth-child(-n+2){
  border-top:0;
}

.act2-company-profile-facts > div:last-child{
  grid-column:1 / -1;
  min-height:136px;
  border-right:0;
  border-bottom:1px solid rgba(47,42,40,.08);
}

.act2-company-profile-facts dt,
.act2-company-profile-facts dd{
  margin:0;
}

.act2-company-profile-facts dt{
  font-size:11px;
  letter-spacing:.14em;
  color:rgba(47,42,40,.42);
}

.act2-company-profile-facts dd{
  font-size:clamp(18px,1.8vw,25px);
  line-height:1.65;
  letter-spacing:.025em;
}

.act2-company-profile-facts dd span{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(47,42,40,.44);
}

.act2-company-profile-facts .act2-company-profile-capital{
  font-size:clamp(42px,5vw,70px);
  line-height:1;
}

.act2-company-profile-facts .act2-company-profile-capital span{
  display:inline;
  margin:0 0 0 .18em;
  font-size:.32em;
  color:inherit;
}

.act2-company-business{
  border-top:1px solid rgba(47,42,40,.08);
  background:rgba(47,42,40,.018);
}

.act2-company-business summary{
  min-height:128px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  padding:30px 46px;
  cursor:pointer;
  list-style:none;
}

.act2-company-business summary::-webkit-details-marker{
  display:none;
}

.act2-company-business-index{
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(47,42,40,.38);
}

.act2-company-business-title{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(24px,2.5vw,35px);
  letter-spacing:.04em;
}

.act2-company-business-icon{
  position:relative;
  width:32px;
  height:32px;
  border:1px solid rgba(47,42,40,.17);
  border-radius:50%;
}

.act2-company-business-icon::before,
.act2-company-business-icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:11px;
  height:1px;
  background:#2f2a28;
  transform:translate(-50%,-50%);
  transition:transform .35s ease,opacity .35s ease;
}

.act2-company-business-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.act2-company-business[open] .act2-company-business-icon::after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}

.act2-company-business-body{
  padding:0 46px 42px;
}

.act2-company-business-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}

.act2-company-business-list li{
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(47,42,40,.04);
  font-size:13px;
  line-height:1.65;
}

.act2-company-business-list li span{
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(47,42,40,.34);
}

@media(max-width:767px){
  .act2-company-profile-panel{
    border-radius:28px;
  }

  .act2-company-profile-main{
    grid-template-columns:1fr;
    min-height:0;
  }

  .act2-company-profile-heading{
    min-height:300px;
    padding:36px 28px;
  }

  .act2-company-profile-heading::after{
    right:-.04em;
    bottom:-.17em;
    font-size:270px;
  }

  .act2-company-profile-heading h3{
    font-size:34px;
  }

  .act2-company-profile-facts{
    grid-template-columns:1fr;
    padding:16px 24px 28px;
    background:#fff;
  }

  .act2-company-profile-facts > div,
  .act2-company-profile-facts > div:nth-child(odd),
  .act2-company-profile-facts > div:last-child{
    grid-column:auto;
    min-height:126px;
    padding:24px 4px;
    border-top:1px solid rgba(47,42,40,.08);
    border-right:0;
    border-bottom:0;
  }

  .act2-company-profile-facts > div:first-child{
    border-top:0;
  }

  .act2-company-profile-facts dd{
    font-size:20px;
  }

  .act2-company-profile-facts .act2-company-profile-capital{
    font-size:52px;
  }

  .act2-company-business summary{
    min-height:104px;
    gap:16px;
    padding:24px 22px;
  }

  .act2-company-business-title{
    font-size:24px;
  }

  .act2-company-business-body{
    padding:0 22px 28px;
  }

  .act2-company-business-list{
    grid-template-columns:1fr;
  }

  .act2-company-business-list li{
    min-height:104px;
  }
}

.act2-contact-panel{
  padding:72px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(47,42,40,.06);
}

.act2-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:48px;
  padding:18px 32px;
  border-radius:999px;
  background:#2f2a28;
  color:#fff;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:760px){

  .act2-section{
    padding:96px 0;
  }

  .act2-section-header{
    margin-bottom:46px;
  }

  .act2-title{
    font-size:30px;
  }

  .act2-lead{
    font-size:15px;
  }

  .act2-business-grid{
    grid-template-columns:1fr;
  }

  .act2-founder-header{
    margin-bottom:34px;
    padding-bottom:22px;
  }

  .act2-founder-editorial{
    grid-template-columns:1fr;
    gap:16px;
  }

  .act2-founder-photo-card,
  .act2-founder-letter{
    border-radius:26px;
  }

  .act2-founder-photo-card,
  .act2-founder-photo{
    min-height:460px;
  }

  .act2-founder-photo-caption{
    left:24px;
    right:24px;
    bottom:22px;
  }

  .act2-founder-photo-note{
    max-width:145px;
    font-size:10px;
  }

  .act2-founder-letter{
    padding:34px 26px 32px;
  }

  .act2-founder-statement{
    margin:32px 0 30px;
    font-size:24px;
    line-height:1.72;
  }

  .act2-founder-body p{
    font-size:14px;
    line-height:2.08;
  }

  .act2-founder-body{
    padding-bottom:42px;
  }

  .act2-founder-signature{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    margin-top:auto;
    padding-top:26px;
  }

  .act2-card{
    padding:28px;
  }

  .act2-company-intro{
    grid-template-columns:1fr;
    border-radius:28px;
  }

  .act2-company-intro::before{
    width:100%;
    height:230px;
  }

  .act2-company-intro-mark{
    min-height:230px;
  }

  .act2-company-intro-mark img{
    width:118px;
  }

  .act2-company-intro-copy{
    padding:38px 28px 42px;
    background:#fff;
  }

  .act2-company-intro-index{
    margin-bottom:20px;
  }

  .act2-company-intro-copy h3{
    font-size:31px;
  }

  .act2-company-intro-copy > p:last-child{
    margin-top:20px;
    font-size:13px;
  }

  .act2-company-cards{
    grid-template-columns:1fr;
    gap:14px;
  }

  .act2-company-card-wide{
    grid-column:auto;
  }

  .act2-company-card{
    border-radius:24px;
  }

  .act2-company-card:hover{
    transform:none;
  }

  .act2-company-card-trigger{
    min-height:98px;
    gap:16px;
    padding:24px 22px;
  }

  .act2-company-card-title{
    font-size:23px;
  }

  .act2-company-card-panel-inner{
    padding:24px 22px 28px;
  }

  .act2-company-card-main{
    font-size:20px;
  }

  .act2-company-card-address{
    font-size:18px;
  }

  .act2-company-business-list{
    grid-template-columns:1fr;
  }

  .act2-company-business-list li{
    min-height:auto;
  }

  .act2-company-formal{
    padding:34px 24px;
    border-radius:24px;
  }

  .act2-company-formal-list > div{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }

  .act2-contact-panel{
    padding:34px 28px;
  }

}

/* Animations */
@keyframes act1ParticleFloat {
  0% {
    translate: 0 0;
    opacity: 0.08;
  }

  28% {
    translate: 28px -46px;
    opacity: 0.42;
  }

  58% {
    translate: -22px -92px;
    opacity: 0.30;
  }

  82% {
    translate: 18px -128px;
    opacity: 0.20;
  }

  100% {
    translate: -10px -154px;
    opacity: 0.06;
  }
}
@keyframes heroContentReveal {
  0% {
    opacity: 0;
    filter: blur(6px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes scrollFloat {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(5px);
  }
}

@keyframes heroBreath {
  0% {
    transform: translate3d(-6px, 3px, 0) scale(1.03);
    filter: brightness(1) saturate(1);
  }

  50% {
    transform: translate3d(6px, -3px, 0) scale(1.06);
    filter: brightness(1.02) saturate(1.015);
  }

  100% {
    transform: translate3d(-6px, 3px, 0) scale(1.03);
    filter: brightness(1) saturate(1);
  }
}

/* Mobile */
@media (max-width: 760px) {
  .site-header {
    top: 14px;
    width: calc(100% - 28px);
    height: 58px;
    padding: 0 16px;
  }

  .header-logo {
    transform: translateX(-8px);
  }

  .header-logo img {
    width: 100px;
  }

  .header-nav,
  .header-contact {
    display: none;
  }

  .stage-bg-image {
    inset: -7%;
    background-position: 54% center;
  }

  .stage-bg-next {
    inset: -7%;
    background-position: center center;
  }

  .stage-bg-veil {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,255,255,0.52) 48%, rgba(255,255,255,0.72)),
      rgba(255, 250, 247, 0.26);
  }

  .hero-logo-wrap {
    top: 34%;
    width: min(552px, 110vw);
  }

  .hero-subtitle {
    top: 55.3%;
    width: min(100% - 36px, 520px);
    font-size: 10px;
    letter-spacing: 0.24em;
  }

  .hero-title {
    top: 61%;
    width: min(100% - 36px, 520px);
    font-size: clamp(15.5px, 4.58vw, 23px);
    letter-spacing: 0.06em;
    line-height: 1.65;
  }

  .hero-message {
    top: 66%;
    width: min(100% - 36px, 520px);
    font-size: clamp(12px, 3.55vw, 17px);
    letter-spacing: 0.12em;
    line-height: 1.8;
  }

  .hero-scroll {
    bottom: 30px;
    font-size: 9px;
  }

  .hero-scroll::after {
    height: 34px;
  }

  .intro-layer {
    justify-content: center;
    align-items: center;
    padding: 118px 30px 82px;
  }

  .intro-content {
    width: min(100%, 328px);
    margin-top: 18px;
    text-align: center;
  }

  .intro-lead {
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.82;
    letter-spacing: .055em;
    color: rgba(47,42,40,.90);
  }

  .intro-lead-sub {
    margin-top: 7px;
    font-size: .83em;
    line-height: 1.68;
    letter-spacing: .04em;
    color: rgba(47,42,40,.78);
  }

  .intro-body-pc {
    display: none;
  }

  .intro-body-sp {
    display: block;
  }

  .intro-content p:not(.intro-lead) {
    margin: 0 0 21px;
    font-size: 12.7px;
    line-height: 2.02;
    letter-spacing: .035em;
    color: rgba(47,42,40,.62);
  }

  .act1-scene {
    align-items: center;
    justify-content: center;
    padding: 112px 28px 80px;
    text-align: center;
  }

  .act1-scene-inner {
    width: min(100%, 340px);
  }

  .act1-scene-chapter {
    justify-content: center;
    gap: 9px;
    margin-bottom: 38px;
  }

  .act1-scene-chapter-number,
  .act1-scene-chapter-label {
    font-size: 10px;
    letter-spacing: .24em;
  }

  .act1-scene-content {
    max-width: none;
  }

.act1-scene-title {
  font-size: clamp(18px, 5.2vw, 24px);
  line-height: 1.28;
  letter-spacing: .08em;
  color: rgba(47, 42, 40, .78);
}

.act1-scene-subtitle {
  margin-top: 8px;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: .14em;
  color: rgba(47, 42, 40, .27);
}

.act1-scene-statement {
  margin-top: 76px;
}

.act1-scene-statement-ja {
  font-size: 26px;
  line-height: 1.58;
}

.act1-scene-statement-en {
  margin-top: 11px;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: .10em;
  color: rgba(47, 42, 40, .31);
}

  .act1-scene-body {
    margin-top: 46px;
  }

  .act1-scene-body p {
    font-size: 15px;
    line-height: 2.05;
  }
}

/* Mobile glass menu */
.mobile-menu-button,
.mobile-menu-panel {
  display: none;
}

@media (max-width: 760px) {
  .mobile-menu-button {
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
    z-index: 80;
  }

  .mobile-menu-button span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 1.35px;
    border-radius: 999px;
    background: #a39d99;
    transform: translate(-50%, -50%);
    transition: transform .46s cubic-bezier(.22, 1, .36, 1);
  }

  .mobile-menu-button span:first-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  body.is-menu-open .mobile-menu-button span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  body.is-menu-open .mobile-menu-button span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  html.is-menu-open,
  body.is-menu-open {
    overscroll-behavior: none;
  }

  .mobile-menu-panel {
    position: absolute;
    top: var(--mobile-menu-viewport-top, 0px);
    left: 0;
    right: 0;
    height: var(--mobile-menu-viewport-height, 100svh);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 94px 24px 42px;
    background: rgba(250, 247, 243, .16);
    backdrop-filter: blur(8px) brightness(.985) saturate(.96);
    -webkit-backdrop-filter: blur(8px) brightness(.985) saturate(.96);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    overscroll-behavior: contain;
    touch-action: none;
    transition:
      opacity .34s ease,
      visibility 0s linear .34s;
    will-change: opacity;
  }

  body.is-menu-open .mobile-menu-panel {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
  }

  .mobile-menu-nav {
    position: relative;
    width: min(248px, calc(100vw - 86px));
    min-height: 430px;
    padding: 42px 34px 38px;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(251, 247, 243, .006);
    box-shadow:
      0 18px 48px rgba(120, 88, 72, .035),
      inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(8px) saturate(1.04);
    -webkit-backdrop-filter: blur(8px) saturate(1.04);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    transform: translateY(14px) scale(.985);
    transition: transform .62s cubic-bezier(.22, 1, .36, 1);
  }

  body.is-menu-open .mobile-menu-nav {
    transform: translateY(0) scale(1);
  }

  .mobile-menu-nav::before {
    content: "MENU";
    position: absolute;
    top: 40px;
    left: 34px;
    font-size: 8px;
    letter-spacing: .34em;
    color: rgba(47, 42, 40, .22);
  }

  .mobile-menu-nav a {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .18em;
    color: rgba(47, 42, 40, .62);
    opacity: 0;
    transform: translateY(9px);
    transition:
      opacity .42s ease,
      transform .46s cubic-bezier(.22, 1, .36, 1),
      color .28s ease;
  }

  body.is-menu-open .mobile-menu-nav a {
    opacity: 1;
    transform: translateY(0);
  }

  body.is-menu-open .mobile-menu-nav a:nth-child(1) { transition-delay: .10s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(2) { transition-delay: .14s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(3) { transition-delay: .18s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(4) { transition-delay: .22s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(5) { transition-delay: .26s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(6) { transition-delay: .30s; }
  body.is-menu-open .mobile-menu-nav a:nth-child(7) { transition-delay: .34s; }

  .mobile-menu-nav .mobile-menu-act2-start {
    margin-top: 14px;
  }

  .mobile-menu-nav .mobile-menu-contact-link {
    margin-top: 14px;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER : INTERACTIVE TOY BOARD
   CONCEPT : 触って組み立てる会社案内
========================================================= */

.act2-partner{
  --partner-ink:#38312e;
  --partner-muted:rgba(56,49,46,.58);
  --partner-line:#a69f97;
  --partner-paper:#fffdf9;
  --partner-coral:#efaaa5;
  --partner-coral-light:#f8d7d3;
  --partner-mint:#bcded5;
  --partner-mint-light:#e3f1ec;
  --partner-sand:#ead8b9;
  --partner-sand-light:#f5ead7;
  --partner-stone:#c9c6bf;
  --partner-stone-light:#eceae5;
  padding-top:124px;
  padding-bottom:156px;
  background:
    radial-gradient(circle at 12% 18%,rgba(239,170,165,.16),transparent 28%),
    radial-gradient(circle at 86% 28%,rgba(188,222,213,.18),transparent 30%),
    #f8f7f5;
}

.act2-partner-container{
  width:min(1240px,92vw);
}

.act2-partner-header{
  margin-bottom:58px;
}

.act2-partner-title-break-sp,
.act2-partner-main-name-break-sp{
  display:none;
}

.act2-partner-board{
  position:relative;
  padding:58px 48px 44px;
  border:1px solid rgba(56,49,46,.08);
  border-radius:42px;
  background:rgba(255,253,249,.82);
  box-shadow:
    0 28px 80px rgba(98,76,64,.08),
    inset 0 1px 0 rgba(255,255,255,.96);
  overflow:hidden;
  isolation:isolate;
}

.act2-partner-board::before,
.act2-partner-board::after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:999px;
  filter:blur(1px);
  opacity:.62;
}

.act2-partner-board::before{
  width:280px;
  height:280px;
  top:-150px;
  right:-80px;
  background:var(--partner-mint-light);
}

.act2-partner-board::after{
  width:230px;
  height:230px;
  bottom:-140px;
  left:-70px;
  background:var(--partner-coral-light);
}

.act2-partner-root-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.act2-partner-root-card{
  position:relative;
  width:min(430px,100%);
  padding:24px 32px 22px;
  text-align:center;
  border-radius:28px;
  background:linear-gradient(145deg,#f29f9d,#eeaaa6);
  color:var(--partner-ink);
  box-shadow:
    0 13px 0 rgba(196,121,117,.18),
    0 22px 36px rgba(121,82,75,.12);
  transform:translateY(18px) scale(.96);
  opacity:0;
  transition:
    transform .76s cubic-bezier(.16,1,.3,1),
    opacity .58s ease;
}

.act2-partner-board.is-introduced .act2-partner-root-card{
  transform:translateY(0) scale(1);
  opacity:1;
}

.act2-partner-root-dot{
  position:absolute;
  top:14px;
  left:18px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  box-shadow:17px 0 0 rgba(255,255,255,.42);
}

.act2-partner-root-en,
.act2-partner-root-ja,
.act2-partner-root-note{
  margin:0;
}

.act2-partner-root-en{
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:700;
  letter-spacing:.02em;
}

.act2-partner-root-ja{
  margin-top:2px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}

.act2-partner-root-note{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(56,49,46,.12);
  font-size:12px;
  line-height:1.7;
  color:rgba(56,49,46,.68);
}

.act2-partner-root-line{
  width:2px;
  height:52px;
  margin-top:12px;
  border-radius:999px;
  background:var(--partner-line);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .58s .48s cubic-bezier(.16,1,.3,1);
}

.act2-partner-board.is-introduced .act2-partner-root-line{
  transform:scaleY(1);
}

.act2-partner-shared-card{
  width:min(430px,100%);
  margin:0 auto;
  padding:20px 26px;
  border-radius:24px;
  background:linear-gradient(145deg,#f5b5b0,#efaaa5);
  color:var(--partner-ink);
  text-align:center;
  box-shadow:
    0 10px 0 rgba(196,121,117,.14),
    0 18px 28px rgba(121,82,75,.09);
  opacity:0;
  transform:translateY(12px) scale(.97);
  transition:
    opacity .48s .58s ease,
    transform .62s .58s cubic-bezier(.16,1,.3,1);
}

.act2-partner-board.is-introduced .act2-partner-shared-card{
  opacity:1;
  transform:translateY(0) scale(1);
}

.act2-partner-shared-card p{
  margin:0;
  font-size:12px;
  font-weight:700;
  line-height:1.72;
  letter-spacing:.035em;
}

.act2-partner-shared-line{
  width:2px;
  height:42px;
  margin:0 auto;
  border-radius:999px;
  background:var(--partner-line);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .48s .72s cubic-bezier(.16,1,.3,1);
}

.act2-partner-board.is-introduced .act2-partner-shared-line{
  transform:scaleY(1);
}

.act2-partner-guide{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:2px auto 26px;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--partner-muted);
  opacity:0;
  transform:translateY(8px);
  transition:
    opacity .52s .72s ease,
    transform .52s .72s cubic-bezier(.16,1,.3,1);
}

.act2-partner-board.is-introduced .act2-partner-guide{
  opacity:1;
  transform:translateY(0);
}

.act2-partner-guide-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 12px rgba(56,49,46,.08);
}

.act2-partner-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
}

.act2-partner-organization{
  min-width:0;
  opacity:0;
  transform:translateY(24px) scale(.975);
  transition:
    opacity .58s ease,
    transform .72s cubic-bezier(.16,1,.3,1);
}

.act2-partner-board.is-introduced .act2-partner-organization{
  opacity:1;
  transform:translateY(0) scale(1);
}

.act2-partner-board.is-introduced .act2-partner-organization-duracle{
  transition-delay:.86s;
}

.act2-partner-board.is-introduced .act2-partner-organization-waa{
  transition-delay:.98s;
}

.act2-partner-main-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  min-height:210px;
  padding:28px 30px 24px;
  border:0;
  border-radius:30px;
  color:var(--partner-ink);
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    filter .24s ease;
  -webkit-tap-highlight-color:transparent;
}

.act2-partner-main-card:hover{
  transform:translateY(-4px);
  filter:saturate(1.04);
}

.act2-partner-main-card:active{
  transform:translateY(4px) scale(.992);
}

.act2-partner-main-card:focus-visible,
.act2-partner-department-button:focus-visible,
.act2-partner-overview-button:focus-visible,
.act2-partner-reset-button:focus-visible{
  outline:3px solid rgba(56,49,46,.34);
  outline-offset:4px;
}

.act2-partner-main-card-duracle{
  background:linear-gradient(145deg,#f9dcda,#f5c7c3);
  box-shadow:
    0 12px 0 rgba(218,157,151,.24),
    0 22px 32px rgba(123,81,76,.10);
}

.act2-partner-main-card-waa{
  background:linear-gradient(145deg,#eeece7,#d9d6cf);
  box-shadow:
    0 12px 0 rgba(154,151,143,.24),
    0 22px 32px rgba(78,76,71,.10);
}

.act2-partner-organization.is-open .act2-partner-main-card{
  transform:translateY(3px);
}

.act2-partner-main-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.act2-partner-main-logo{
  display:block;
  width:auto;
  max-width:132px;
  max-height:54px;
  margin-top:18px;
  object-fit:contain;
  object-position:left center;
}

.act2-partner-main-logo-waa{
  max-width:118px;
  max-height:50px;
}

.act2-partner-main-name{
  margin-top:18px;
  font-size:clamp(20px,2vw,28px);
  font-weight:700;
  line-height:1.38;
  letter-spacing:.02em;
}

.act2-partner-main-sub{
  margin-top:8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  color:rgba(56,49,46,.52);
}

.act2-partner-main-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  margin-top:auto;
  padding-top:22px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.10em;
}

.act2-partner-main-plus,
.act2-partner-department-toggle{
  position:relative;
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
}

.act2-partner-main-plus::before,
.act2-partner-main-plus::after,
.act2-partner-department-toggle::before,
.act2-partner-department-toggle::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:11px;
  height:1.5px;
  border-radius:999px;
  background:var(--partner-ink);
  transform:translate(-50%,-50%);
  transition:transform .36s cubic-bezier(.16,1,.3,1);
}

.act2-partner-main-plus::after,
.act2-partner-department-toggle::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.act2-partner-organization.is-open .act2-partner-main-plus::after,
.act2-partner-department.is-open .act2-partner-department-toggle::after{
  transform:translate(-50%,-50%) rotate(0);
}

.act2-partner-branch{
  position:relative;
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:
    grid-template-rows .60s cubic-bezier(.16,1,.3,1),
    opacity .30s ease;
}

.act2-partner-organization.is-open .act2-partner-branch{
  grid-template-rows:1fr;
  opacity:1;
}

.act2-partner-branch-line-vertical{
  width:2px;
  height:44px;
  margin:0 auto;
  border-radius:999px;
  background:var(--partner-line);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .36s ease;
}

.act2-partner-organization.is-open .act2-partner-branch-line-vertical{
  transform:scaleY(1);
  transition-delay:.09s;
}

.act2-partner-branch-line-horizontal{
  position:absolute;
  top:43px;
  left:16.666%;
  right:16.666%;
  height:2px;
  border-radius:999px;
  background:var(--partner-line);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .43s ease;
}

.act2-partner-organization.is-open .act2-partner-branch-line-horizontal{
  transform:scaleX(1);
  transition-delay:.26s;
}

.act2-partner-departments{
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding-top:18px;
}

.act2-partner-organization-duracle .act2-partner-departments{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.act2-partner-organization-duracle .act2-partner-branch-line-horizontal{
  left:12.5%;
  right:12.5%;
}

.act2-partner-department{
  position:relative;
  min-width:0;
  opacity:0;
  transform:translateY(-8px) scale(.96);
  transition:
    opacity .33s ease,
    transform .41s cubic-bezier(.16,1,.3,1);
}

.act2-partner-organization.is-open .act2-partner-department{
  opacity:1;
  transform:translateY(0) scale(1);
}

.act2-partner-organization.is-open .act2-partner-department:nth-child(1){
  transition-delay:.32s;
}

.act2-partner-organization.is-open .act2-partner-department:nth-child(2){
  transition-delay:.40s;
}

.act2-partner-organization.is-open .act2-partner-department:nth-child(3){
  transition-delay:.48s;
}

.act2-partner-organization.is-open .act2-partner-department:nth-child(4){
  transition-delay:.56s;
}

.act2-partner-department::before{
  content:"";
  position:absolute;
  top:-18px;
  left:50%;
  width:2px;
  height:18px;
  background:var(--partner-line);
  transform:translateX(-50%) scaleY(0);
  transform-origin:top;
  transition:transform .28s ease;
}

.act2-partner-organization.is-open .act2-partner-department::before{
  transform:translateX(-50%) scaleY(1);
  transition-delay:.27s;
}

.act2-partner-department-button{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:58px;
  padding:10px 11px;
  border:0;
  border-radius:18px;
  color:var(--partner-ink);
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:0 8px 0 rgba(56,49,46,.08);
  transition:
    transform .22s ease,
    box-shadow .22s ease;
  -webkit-tap-highlight-color:transparent;
}

.act2-partner-organization-duracle .act2-partner-department-button{
  background:var(--partner-coral-light);
}

.act2-partner-organization-waa .act2-partner-department-button{
  background:var(--partner-stone-light);
}

.act2-partner-department-button:hover{
  transform:translateY(-2px);
}

.act2-partner-department-button:active{
  transform:translateY(4px);
  box-shadow:0 3px 0 rgba(56,49,46,.08);
}

.act2-partner-department-number{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:10px;
  background:rgba(255,255,255,.70);
  font-size:9px;
  font-weight:700;
}

.act2-partner-department-name{
  min-width:0;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}

.act2-partner-department-toggle{
  width:24px;
  height:24px;
}

.act2-partner-detail{
  display:grid;
  grid-template-rows:0fr;
  margin-top:10px;
  padding:0 12px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  opacity:0;
  overflow:hidden;
  transition:
    grid-template-rows .48s cubic-bezier(.16,1,.3,1),
    padding .48s cubic-bezier(.16,1,.3,1),
    opacity .28s ease;
}

.act2-partner-department.is-open .act2-partner-detail{
  grid-template-rows:1fr;
  padding:16px 12px;
  opacity:1;
}

.act2-partner-detail-text,
.act2-partner-detail-list{
  margin:0;
  font-size:11px;
  line-height:1.75;
  color:rgba(56,49,46,.70);
}

.act2-partner-detail-list{
  margin-top:8px;
  padding-left:1.3em;
}

.act2-partner-detail-list-first{
  margin-top:0;
}

.act2-partner-brand-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}

.act2-partner-detail > .act2-partner-brand-chips:first-child{
  margin-top:0;
}

.act2-partner-brand-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid rgba(56,49,46,.08);
  border-radius:12px;
  background:#fff;
  font-family:Georgia,"Times New Roman","Yu Gothic",sans-serif;
  font-size:10px;
  line-height:1.35;
  box-shadow:0 4px 10px rgba(56,49,46,.05);
  animation:partnerChipPop .42s cubic-bezier(.16,1,.3,1) both;
}

.act2-partner-brand-chip-logo{
  width:100%;
  min-height:48px;
  justify-content:center;
  padding:8px 10px;
}

.act2-partner-brand-chip-logo img{
  width:auto;
  max-width:100%;
  height:24px;
  object-fit:contain;
}

.act2-partner-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:42px;
}

.act2-partner-overview-button,
.act2-partner-reset-button{
  border:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
}

.act2-partner-overview-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:0 22px;
  border-radius:18px;
  background:var(--partner-ink);
  color:#fff;
  box-shadow:0 9px 0 rgba(56,49,46,.18);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.act2-partner-overview-button:hover{
  transform:translateY(-2px);
}

.act2-partner-overview-button:active{
  transform:translateY(5px);
  box-shadow:0 3px 0 rgba(56,49,46,.18);
}

.act2-partner-overview-icon{
  display:grid;
  grid-template-columns:repeat(2,6px);
  gap:3px;
}

.act2-partner-overview-icon i{
  width:6px;
  height:6px;
  border-radius:2px;
  background:currentColor;
}

.act2-partner-reset-button{
  padding:12px 10px;
  background:transparent;
  color:rgba(56,49,46,.50);
  font-size:11px;
  letter-spacing:.06em;
}

.act2-partner-board.is-overview .act2-partner-guide-text{
  font-size:0;
}

.act2-partner-board.is-overview .act2-partner-guide-text::after{
  content:"グループ全体を表示しています";
  font-size:12px;
}

@keyframes partnerChipPop{
  0%{
    opacity:0;
    transform:translateY(6px) scale(.92);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (max-width:760px){

  .act2-partner{
    padding-top:88px;
    padding-bottom:112px;
  }

  .act2-partner-container{
    width:min(100% - 24px,560px);
  }

  .act2-partner-header{
    width:calc(100% - 24px);
    margin-right:auto;
    margin-left:auto;
    margin-bottom:38px;
  }

  .act2-partner-title-break-sp,
  .act2-partner-main-name-break-sp{
    display:block;
  }

  .act2-partner-lead-break-pc{
    display:none;
  }

  .act2-partner-board{
    padding:38px 14px 30px;
    border-radius:30px;
  }

  .act2-partner-root-card{
    width:calc(100% - 26px);
    padding:20px 18px 18px;
    border-radius:24px;
  }

  .act2-partner-root-en{
    font-size:19px;
  }

  .act2-partner-root-note{
    font-size:10.5px;
  }

  .act2-partner-root-line{
    height:36px;
  }

  .act2-partner-shared-card{
    width:calc(100% - 26px);
    padding:18px 16px;
    border-radius:22px;
  }

  .act2-partner-shared-card p{
    font-size:10.5px;
    line-height:1.72;
  }

  .act2-partner-shared-line{
    height:34px;
  }

  .act2-partner-guide{
    margin-bottom:18px;
    font-size:10.5px;
  }

  .act2-partner-selector{
    display:flex;
    gap:14px;
    margin:0 -14px;
    padding:0 14px 18px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .act2-partner-selector::-webkit-scrollbar{
    display:none;
  }

  .act2-partner-organization{
    flex:0 0:min(86vw,370px);
    scroll-snap-align:center;
  }

  .act2-partner-main-card{
    min-height:190px;
    padding:24px 22px 20px;
    border-radius:26px;
  }

  .act2-partner-main-name{
    font-size:21px;
  }

  .act2-partner-departments,
  .act2-partner-organization-duracle .act2-partner-departments{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px 2px 0;
  }

  .act2-partner-branch-line-horizontal{
    display:none;
  }

  .act2-partner-department::before{
    top:-12px;
    height:12px;
  }

  .act2-partner-department-button{
    min-height:60px;
    padding:11px 14px;
  }

  .act2-partner-department-name{
    font-size:14px;
  }

  .act2-partner-detail-text,
  .act2-partner-detail-list{
    font-size:12px;
  }

  .act2-partner-brand-chip{
    font-size:11px;
  }

  .act2-partner-controls{
    flex-direction:column;
    gap:10px;
    margin-top:28px;
  }

  .act2-partner-overview-button{
    width:100%;
    justify-content:center;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-partner *,
  .act2-partner *::before,
  .act2-partner *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
}


/* =========================================================
   ACT2 GROUP PARTNER : ROOT-FIRST PROTOTYPE V1
   初期表示はGroup Partnerのみ。
   タップ後に説明・共通理念・2組織を順番に表示。
========================================================= */

.act2-partner-root-card{
  display:block;
  border:0;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

.act2-partner-root-card:focus-visible{
  outline:3px solid rgba(56,49,46,.34);
  outline-offset:5px;
}

.act2-partner-root-note{
  max-height:0;
  margin-top:0;
  padding-top:0;
  border-top-color:transparent;
  opacity:0;
  overflow:hidden;
  filter:blur(5px);
  transform:translateY(-5px);
  transition:
    max-height .52s cubic-bezier(.16,1,.3,1),
    margin-top .52s cubic-bezier(.16,1,.3,1),
    padding-top .52s cubic-bezier(.16,1,.3,1),
    border-color .36s ease,
    opacity .36s ease,
    filter .48s ease,
    transform .48s cubic-bezier(.16,1,.3,1);
}

.act2-partner-root-action{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:15px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}

.act2-partner-root-action-plus{
  position:relative;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
}

.act2-partner-root-action-plus::before,
.act2-partner-root-action-plus::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:1.4px;
  border-radius:999px;
  background:var(--partner-ink);
  transform:translate(-50%,-50%);
  transition:transform .42s cubic-bezier(.16,1,.3,1);
}

.act2-partner-root-action-plus::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.act2-partner-board.is-root-expanded .act2-partner-root-card{
  width:min(510px,100%);
  padding:30px 38px 28px;
  transform:translateY(0) scale(1.035);
}

.act2-partner-board.is-root-expanded .act2-partner-root-note{
  max-height:90px;
  margin-top:16px;
  padding-top:13px;
  border-top-color:rgba(56,49,46,.12);
  opacity:1;
  filter:blur(0);
  transform:translateY(0);
}

.act2-partner-board.is-root-expanded .act2-partner-root-action-label{
  font-size:0;
}

.act2-partner-board.is-root-expanded .act2-partner-root-action-label::after{
  content:"閉じる";
  font-size:10px;
}

.act2-partner-board.is-root-expanded .act2-partner-root-action-plus::after{
  transform:translate(-50%,-50%) rotate(0);
}

.act2-partner-root-line,
.act2-partner-shared-card,
.act2-partner-shared-line,
.act2-partner-guide,
.act2-partner-selector,
.act2-partner-controls{
  visibility:hidden;
  pointer-events:none;
}

.act2-partner-root-line{
  height:0;
  margin-top:0;
  opacity:0;
  transition:
    height .46s cubic-bezier(.16,1,.3,1),
    margin-top .46s cubic-bezier(.16,1,.3,1),
    opacity .24s ease,
    transform .46s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .46s;
}

.act2-partner-shared-card,
.act2-partner-shared-line,
.act2-partner-guide,
.act2-partner-selector,
.act2-partner-controls{
  opacity:0;
  transform:translateY(22px) scale(.975);
  transition:
    opacity .48s ease,
    transform .68s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .78s;
}

.act2-partner-board.is-root-expanded .act2-partner-root-line,
.act2-partner-board.is-root-expanded .act2-partner-shared-card,
.act2-partner-board.is-root-expanded .act2-partner-shared-line,
.act2-partner-board.is-root-expanded .act2-partner-guide,
.act2-partner-board.is-root-expanded .act2-partner-selector,
.act2-partner-board.is-root-expanded .act2-partner-controls{
  visibility:visible;
  pointer-events:auto;
}

.act2-partner-board.is-root-expanded .act2-partner-root-line{
  height:52px;
  margin-top:18px;
  opacity:1;
  transform:scaleY(1);
  transition-delay:.18s;
}

.act2-partner-board.is-root-expanded .act2-partner-shared-card{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:.44s;
}

.act2-partner-board.is-root-expanded .act2-partner-shared-line{
  opacity:1;
  transform:scaleY(1);
  transition-delay:.66s;
}

.act2-partner-board.is-root-expanded .act2-partner-guide{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:.78s;
}

.act2-partner-board.is-root-expanded .act2-partner-selector{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:.90s;
}

.act2-partner-board.is-root-expanded .act2-partner-controls{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:1.02s;
}

/* ACT2 ROOT CLOSE: 共通理念パネルを停止させず上方向へ収束 */
.act2-partner-board.is-introduced:not(.is-root-expanded) .act2-partner-shared-card{
  opacity:0;
  transform:translateY(-22px) scale(.975);
  visibility:hidden;
  transition:
    opacity .48s ease,
    transform .68s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .68s;
}

.act2-partner-organization{
  opacity:1;
  transform:none;
}

.act2-partner-board:not(.is-root-expanded) .act2-partner-organization{
  opacity:0;
  transform:translateY(20px) scale(.975);
}

.act2-partner-board.is-root-expanded .act2-partner-organization{
  opacity:1;
  transform:translateY(0) scale(1);
}

.act2-partner-board.is-root-expanded .act2-partner-organization-duracle{
  transition-delay:.96s;
}

.act2-partner-board.is-root-expanded .act2-partner-organization-waa{
  transition-delay:1.08s;
}

@media (max-width:760px){
  .act2-partner-board{
    min-height:300px;
  }

  .act2-partner-board.is-root-expanded .act2-partner-root-card{
    width:calc(100% - 10px);
    padding:25px 21px 23px;
    transform:translateY(0) scale(1.02);
  }

  .act2-partner-board.is-root-expanded .act2-partner-root-line{
    height:42px;
    margin-top:14px;
  }

  .act2-partner-root-action{
    margin-top:13px;
  }
}


/* =========================================================
   ACT2 GROUP PARTNER : EXPLORER V2
   巨大な物体を横へ動かして、会社の中を探検する。
========================================================= */

.act2-partner{
  --partner-ink:#39312d;
  --partner-muted:rgba(57,49,45,.58);
  --partner-line:#ada398;
  --partner-coral:#e99a8f;
  --partner-coral-light:#f6c9bf;
  --partner-butter:#efd991;
  --partner-sky:#b9d7df;
  --partner-mint:#b8d9ca;
  --partner-lilac:#cec3dd;
  background:#f6f4ef;
}

/* 背景装飾・水玉を完全撤去 */
.act2-partner-board::before,
.act2-partner-board::after,
.act2-partner-root-dot{
  display:none !important;
  content:none !important;
}

.act2-partner-board{
  padding:clamp(38px,5vw,72px) 0 clamp(42px,6vw,78px);
  border:0;
  border-radius:clamp(34px,5vw,64px);
  background:#fffdf9;
  box-shadow:0 34px 90px rgba(83,64,51,.09);
  overflow:hidden;
}

/* 入口はカードではなく、大きな展示物 */
.act2-partner-root-card{
  width:min(860px,82vw);
  min-height:clamp(300px,34vw,430px);
  padding:clamp(42px,6vw,76px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:clamp(38px,5vw,66px);
  background:#e99a8f;
  box-shadow:
    0 18px 0 rgba(183,104,92,.18),
    0 38px 66px rgba(170,102,90,.20);
}

.act2-partner-root-en{
  font-size:clamp(40px,6vw,78px);
  line-height:1;
  letter-spacing:-.025em;
}

.act2-partner-root-ja{
  margin-top:14px;
  font-size:clamp(14px,1.5vw,19px);
}

.act2-partner-root-note{
  width:min(560px,100%);
  font-size:clamp(13px,1.2vw,16px);
}

.act2-partner-root-action{
  margin-top:24px;
  padding:10px 16px;
  font-size:11px;
  background:rgba(255,255,255,.44);
}

.act2-partner-board.is-root-expanded .act2-partner-root-card{
  width:min(920px,86vw);
  min-height:clamp(330px,38vw,470px);
  padding:clamp(48px,6.5vw,84px);
  transform:scale(1.025);
}

/* 接続部分は静かに。主役は大きなパネル */
.act2-partner-board.is-root-expanded .act2-partner-root-line{
  height:58px;
  margin-top:28px;
}

.act2-partner-shared-card{
  width:min(620px,76vw);
  padding:24px 34px;
  border-radius:28px;
  background:#f3d7a8;
  box-shadow:
    0 11px 0 rgba(189,151,86,.14),
    0 20px 36px rgba(142,110,63,.10);
}

.act2-partner-shared-card p{
  font-size:clamp(12px,1.15vw,15px);
}

.act2-partner-guide{
  margin:16px auto 30px;
  font-size:12px;
}

/* 組織は横スクロールの巨大展示物に変更 */
.act2-partner-selector{
  display:flex;
  grid-template-columns:none;
  gap:clamp(18px,2.4vw,34px);
  align-items:flex-start;
  width:100%;
  padding:10px max(6vw,calc((100% - 1040px)/2)) 42px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:max(6vw,calc((100% - 1040px)/2));
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
}

.act2-partner-selector::-webkit-scrollbar{
  display:none;
}

.act2-partner-organization{
  flex:0 0 min(820px,76vw);
  width:min(820px,76vw);
  scroll-snap-align:center;
  scroll-snap-stop:always;
}

.act2-partner-main-card{
  min-height:clamp(380px,46vw,540px);
  padding:clamp(38px,5vw,64px);
  border-radius:clamp(38px,5vw,58px);
  justify-content:flex-start;
}

.act2-partner-main-card-duracle{
  background:#f3b4a5;
  box-shadow:
    0 18px 0 rgba(196,124,105,.20),
    0 34px 64px rgba(174,102,85,.18);
}

.act2-partner-main-card-waa{
  background:#b9d8cc;
  box-shadow:
    0 18px 0 rgba(110,163,143,.19),
    0 34px 64px rgba(88,139,119,.17);
}

.act2-partner-main-badge{
  min-height:34px;
  padding:0 16px;
  font-size:10px;
  background:rgba(255,255,255,.48);
}

.act2-partner-main-logo{
  max-width:clamp(170px,24vw,290px);
  max-height:clamp(76px,10vw,122px);
  margin-top:clamp(28px,4vw,46px);
}

.act2-partner-main-logo-duracle{
  max-width:clamp(210px,31vw,370px);
  max-height:clamp(82px,11vw,132px);
}

.act2-partner-main-logo-waa{
  max-width:clamp(170px,25vw,300px);
  max-height:clamp(76px,10vw,120px);
}

.act2-partner-main-name{
  margin-top:clamp(24px,3vw,38px);
  font-size:clamp(28px,4vw,48px);
  line-height:1.18;
}

.act2-partner-main-sub{
  margin-top:12px;
  font-size:clamp(13px,1.4vw,17px);
}

.act2-partner-main-action{
  padding-top:34px;
  font-size:13px;
}

.act2-partner-main-plus{
  width:40px;
  height:40px;
}

/* 事業も詰め込まず、横に動かす */
.act2-partner-branch{
  margin-top:6px;
}

.act2-partner-branch-line-horizontal,
.act2-partner-department::before{
  display:none;
}

.act2-partner-branch-line-vertical{
  height:48px;
}

.act2-partner-departments,
.act2-partner-organization-duracle .act2-partner-departments{
  display:flex;
  grid-template-columns:none;
  gap:16px;
  padding:22px 4px 28px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.act2-partner-departments::-webkit-scrollbar{
  display:none;
}

.act2-partner-department{
  flex:0 0 min(360px,62vw);
  width:min(360px,62vw);
  scroll-snap-align:start;
}

.act2-partner-department-button{
  min-height:150px;
  padding:24px 22px;
  border-radius:28px;
  box-shadow:0 10px 0 rgba(57,49,45,.075);
}

.act2-partner-department-nursery .act2-partner-department-button{
  background:#efd991;
}

.act2-partner-department-beauty .act2-partner-department-button{
  background:#efb39f;
}

.act2-partner-department-product .act2-partner-department-button{
  background:#b9d7df;
}

.act2-partner-department-duracle-salon .act2-partner-department-button{
  background:#cec3dd;
}

.act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{
  background:#efd991;
}

.act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{
  background:#b9d7df;
}

.act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{
  background:#cec3dd;
}

.act2-partner-department-name{
  font-size:clamp(17px,2vw,23px);
}

.act2-partner-detail{
  border-radius:0 0 28px 28px;
}

/* 全体表示・リセットは邪魔をしない控えめな操作に */
.act2-partner-controls{
  margin-top:8px;
}

@media (max-width:760px){
  .act2-partner{
    padding-top:92px;
    padding-bottom:110px;
  }

  .act2-partner-container{
    width:100%;
  }

  .act2-partner-header{
    width:88vw;
    margin-inline:auto;
  }

  .act2-partner-board{
    border-radius:34px;
    padding-top:34px;
  }

  .act2-partner-root-card,
  .act2-partner-board.is-root-expanded .act2-partner-root-card{
    width:88vw;
    min-height:310px;
    padding:42px 24px;
    border-radius:42px;
  }

  .act2-partner-root-en{
    font-size:42px;
  }

  .act2-partner-root-ja{
    margin-top:10px;
    font-size:13px;
  }

  .act2-partner-shared-card{
    width:82vw;
  }

  .act2-partner-selector{
    gap:18px;
    padding-inline:8vw;
    scroll-padding-inline:8vw;
  }

  .act2-partner-organization{
    flex-basis:84vw;
    width:84vw;
  }

  .act2-partner-main-card{
    min-height:430px;
    padding:34px 28px;
    border-radius:42px;
  }

  .act2-partner-main-logo-duracle{
    max-width:250px;
    max-height:96px;
  }

  .act2-partner-main-logo-waa{
    max-width:205px;
    max-height:90px;
  }

  .act2-partner-main-name{
    font-size:30px;
  }

  .act2-partner-department{
    flex-basis:72vw;
    width:72vw;
  }

  .act2-partner-department-button{
    min-height:142px;
  }
}


/* =========================================================
   ACT2 GROUP PARTNER : EXPLORER V3
   白い舞台は残し、巨大パネルは画面幅いっぱいを移動。
   明るいミルキーカラーと上質な積み木の素材感。
========================================================= */

.act2-partner{
  --partner-ink:#38302d;
  --partner-muted:rgba(56,48,45,.60);
  --partner-line:rgba(92,79,70,.34);

  --toy-coral-top:#ffc8bc;
  --toy-coral-bottom:#f7ad9f;
  --toy-coral-shadow:rgba(232,139,121,.24);

  --toy-mint-top:#d8f2df;
  --toy-mint-bottom:#bfe6cf;
  --toy-mint-shadow:rgba(116,190,151,.20);

  --toy-butter-top:#fff0ad;
  --toy-butter-bottom:#f5dc83;
  --toy-butter-shadow:rgba(220,184,72,.20);

  --toy-sky-top:#d8f2fa;
  --toy-sky-bottom:#bce2ee;
  --toy-sky-shadow:rgba(99,174,197,.19);

  --toy-lilac-top:#eadffc;
  --toy-lilac-bottom:#d5c3ef;
  --toy-lilac-shadow:rgba(151,119,199,.18);

  background:#faf8f3;
}

/* 白い舞台は残すが、巨大オブジェを閉じ込めない */
.act2-partner-board{
  overflow:visible;
}

.act2-partner-selector{
  width:100vw;
  max-width:none;
  margin-inline:calc(50% - 50vw);
  padding-inline:max(4vw,calc((100vw - 1180px) / 2));
  scroll-padding-inline:max(4vw,calc((100vw - 1180px) / 2));
}

.act2-partner-organization{
  flex-basis:min(860px,72vw);
  width:min(860px,72vw);
}

/* 開いた事業カルーセルも、親カードの幅ではなく画面幅を使う */
.act2-partner-organization.is-open .act2-partner-branch{
  width:100vw;
  max-width:none;
  left:50%;
  transform:translateX(-50%);
}

.act2-partner-departments,
.act2-partner-organization-duracle .act2-partner-departments{
  width:100%;
  padding:26px max(4vw,calc((100vw - 1180px) / 2)) 38px;
  gap:clamp(18px,2vw,28px);
  scroll-padding-inline:max(4vw,calc((100vw - 1180px) / 2));
}

.act2-partner-department{
  flex-basis:min(390px,31vw);
  width:min(390px,31vw);
}

/* 共通の上質な塗装ブロック表現 */
.act2-partner-root-card,
.act2-partner-main-card,
.act2-partner-department-button,
.act2-partner-shared-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(82,59,48,.055);
}

.act2-partner-root-card::before,
.act2-partner-main-card::before,
.act2-partner-department-button::before,
.act2-partner-shared-card::before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(
      132deg,
      rgba(255,255,255,.34) 0%,
      rgba(255,255,255,.11) 28%,
      rgba(255,255,255,0) 54%
    );
}

.act2-partner-root-card::after,
.act2-partner-main-card::after,
.act2-partner-department-button::after{
  content:"";
  position:absolute;
  z-index:0;
  left:7%;
  right:7%;
  bottom:4%;
  height:18%;
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.10);
  filter:blur(20px);
}

.act2-partner-root-card > *,
.act2-partner-main-card > *,
.act2-partner-department-button > *,
.act2-partner-shared-card > *{
  position:relative;
  z-index:1;
}

/* Group Partner：明るいミルクコーラル */
.act2-partner-root-card{
  background:
    linear-gradient(165deg,var(--toy-coral-top),var(--toy-coral-bottom));
  box-shadow:
    0 16px 0 rgba(231,145,128,.16),
    0 34px 66px var(--toy-coral-shadow),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(128,70,60,.06);
}

.act2-partner-root-card:hover{
  transform:translateY(-3px) scale(1.008);
}

.act2-partner-root-card:active{
  transform:translateY(8px) scale(.992);
  box-shadow:
    0 7px 0 rgba(231,145,128,.15),
    0 15px 30px rgba(232,139,121,.16),
    inset 0 1px 0 rgba(255,255,255,.80),
    inset 0 -1px 0 rgba(128,70,60,.08);
}

/* 共通理念：明るいバターミルク */
.act2-partner-shared-card{
  background:
    linear-gradient(165deg,#fff2bf,#f6dfa0);
  box-shadow:
    0 10px 0 rgba(217,180,91,.13),
    0 22px 40px rgba(213,174,79,.15),
    inset 0 1px 0 rgba(255,255,255,.94);
}

/* 主組織パネル */
.act2-partner-main-card-duracle{
  background:
    linear-gradient(165deg,var(--toy-coral-top),var(--toy-coral-bottom));
  box-shadow:
    0 18px 0 rgba(231,145,128,.16),
    0 38px 72px var(--toy-coral-shadow),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(128,70,60,.06);
}

.act2-partner-main-card-waa{
  background:
    linear-gradient(165deg,var(--toy-mint-top),var(--toy-mint-bottom));
  box-shadow:
    0 18px 0 rgba(128,197,158,.15),
    0 38px 72px var(--toy-mint-shadow),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(52,112,79,.05);
}

.act2-partner-main-card{
  transition:
    transform .52s cubic-bezier(.16,1,.3,1),
    box-shadow .52s cubic-bezier(.16,1,.3,1),
    filter .38s ease;
}

.act2-partner-main-card:hover{
  transform:translateY(-5px);
  filter:saturate(1.025);
}

.act2-partner-main-card:active{
  transform:translateY(9px) scale(.992);
}

.act2-partner-main-card-duracle:active{
  box-shadow:
    0 7px 0 rgba(231,145,128,.15),
    0 17px 34px rgba(232,139,121,.16),
    inset 0 1px 0 rgba(255,255,255,.80);
}

.act2-partner-main-card-waa:active{
  box-shadow:
    0 7px 0 rgba(128,197,158,.14),
    0 17px 34px rgba(116,190,151,.14),
    inset 0 1px 0 rgba(255,255,255,.80);
}

/* 事業パネル：明るく、軽く、色ははっきり */
.act2-partner-department-button{
  min-height:178px;
  border-radius:32px;
  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    filter .30s ease;
}

.act2-partner-department-button:hover{
  transform:translateY(-4px);
  filter:saturate(1.035);
}

.act2-partner-department-button:active{
  transform:translateY(7px) scale(.988);
}

.act2-partner-department-nursery .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{
  background:
    linear-gradient(165deg,var(--toy-butter-top),var(--toy-butter-bottom));
  box-shadow:
    0 11px 0 rgba(220,184,72,.14),
    0 24px 42px var(--toy-butter-shadow),
    inset 0 1px 0 rgba(255,255,255,.94);
}

.act2-partner-department-beauty .act2-partner-department-button{
  background:
    linear-gradient(165deg,var(--toy-coral-top),var(--toy-coral-bottom));
  box-shadow:
    0 11px 0 rgba(231,145,128,.14),
    0 24px 42px var(--toy-coral-shadow),
    inset 0 1px 0 rgba(255,255,255,.94);
}

.act2-partner-department-product .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{
  background:
    linear-gradient(165deg,var(--toy-sky-top),var(--toy-sky-bottom));
  box-shadow:
    0 11px 0 rgba(105,179,201,.13),
    0 24px 42px var(--toy-sky-shadow),
    inset 0 1px 0 rgba(255,255,255,.94);
}

.act2-partner-department-duracle-salon .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{
  background:
    linear-gradient(165deg,var(--toy-lilac-top),var(--toy-lilac-bottom));
  box-shadow:
    0 11px 0 rgba(151,119,199,.12),
    0 24px 42px var(--toy-lilac-shadow),
    inset 0 1px 0 rgba(255,255,255,.94);
}

/* 開いた詳細もカードと一体に見えるよう整える */
.act2-partner-detail{
  margin-top:-18px;
  padding-top:38px;
  border:1px solid rgba(70,57,50,.055);
  border-top:0;
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 34px rgba(67,54,47,.075);
}

/* ロゴや文字をわずかに浮かせる */
.act2-partner-main-logo{
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.22));
}

.act2-partner-main-name,
.act2-partner-main-sub,
.act2-partner-department-name{
  text-shadow:0 1px 0 rgba(255,255,255,.22);
}

@media (max-width:760px){
  .act2-partner-selector{
    padding-inline:6vw;
    scroll-padding-inline:6vw;
  }

  .act2-partner-organization{
    flex-basis:86vw;
    width:86vw;
  }

  .act2-partner-organization.is-open .act2-partner-branch{
    width:100vw;
  }

  .act2-partner-departments,
  .act2-partner-organization-duracle .act2-partner-departments{
    padding-inline:6vw;
    scroll-padding-inline:6vw;
    gap:16px;
  }

  .act2-partner-department{
    flex-basis:76vw;
    width:76vw;
  }

  .act2-partner-department-button{
    min-height:158px;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-partner-root-card,
  .act2-partner-main-card,
  .act2-partner-department-button{
    transition-duration:.01ms !important;
  }
}


/* =========================================================
   ACT2 GROUP PARTNER : EXPLORER V4
   Explorer / Group Map、排他的展開、タイポ・配色・素材感再設計。
========================================================= */

/* 古い白い箱を舞台として見せない */
.act2-partner-board{
  width:100%;
  max-width:none;
  padding:clamp(24px,4vw,54px) 0 clamp(38px,6vw,76px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.act2-partner-root-wrap,
.act2-partner-shared-card,
.act2-partner-shared-line,
.act2-partner-guide,
.act2-partner-controls{
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}

/* Marniを連想させる、太く乾いたサインタイポ */
.act2-partner-root-kicker{
  margin:0 0 7px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(12px,1.25vw,17px);
  font-weight:800;
  line-height:1;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.act2-partner-root-en{
  font-family:Arial Black,Arial,Helvetica,sans-serif;
  font-size:clamp(34px,5.2vw,76px);
  font-weight:900;
  line-height:.88;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.act2-partner-root-ja{
  margin-top:16px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
}

/* 新配色：甘いパステルではなく、明快なポップ色＋静かなニュートラル */
.act2-partner{
  --v4-red:#ff6e61;
  --v4-red-deep:#e95349;
  --v4-blue:#72c9e8;
  --v4-blue-deep:#48adcf;
  --v4-yellow:#ffd85a;
  --v4-green:#86d7a8;
  --v4-violet:#b39ae8;
  --v4-cream:#f7f1e7;
  background:#f5f2ec;
}

/* 工業製品のような一枚物のシェル */
.act2-partner-root-card,
.act2-partner-main-card,
.act2-partner-department-button{
  border:1px solid rgba(255,255,255,.82);
  background-image:
    linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,0) 38%),
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(0,0,0,.035));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(43,35,31,.08),
    0 2px 0 rgba(255,255,255,.70),
    0 18px 28px rgba(48,39,34,.10),
    0 45px 90px rgba(48,39,34,.09);
}

.act2-partner-root-card{
  background-color:var(--v4-red);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(112,36,30,.12),
    0 8px 0 var(--v4-red-deep),
    0 30px 58px rgba(230,73,61,.23);
}

.act2-partner-main-card-duracle{
  background-color:var(--v4-yellow);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(117,88,14,.10),
    0 9px 0 #e8bc35,
    0 32px 66px rgba(210,161,24,.19);
}

.act2-partner-main-card-waa{
  background-color:var(--v4-blue);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(22,80,99,.10),
    0 9px 0 var(--v4-blue-deep),
    0 32px 66px rgba(50,156,193,.19);
}

.act2-partner-department-nursery .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{background-color:var(--v4-green)}
.act2-partner-department-beauty .act2-partner-department-button{background-color:var(--v4-red)}
.act2-partner-department-product .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{background-color:var(--v4-blue)}
.act2-partner-department-duracle-salon .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{background-color:var(--v4-violet)}

/* Explorer：左右とも画面端まで同条件で動く */
.act2-partner-selector{
  width:100vw;
  margin-inline:calc(50% - 50vw);
  padding-left:max(5vw,calc((100vw - 1180px)/2));
  padding-right:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-left:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-right:max(5vw,calc((100vw - 1180px)/2));
  overflow-x:auto;
  overflow-y:visible;
}

.act2-partner-selector::after,
.act2-partner-departments::after{
  content:"";
  flex:0 0 max(5vw,calc((100vw - 1180px)/2));
}

.act2-partner-organization{
  flex:0 0 min(860px,78vw);
  width:min(860px,78vw);
}

.act2-partner-organization.is-open{
  z-index:4;
}

.act2-partner-organization:not(.is-open){
  z-index:1;
}

/* 開いている組織は常に一つ。枝は画面幅独立レーン */
.act2-partner-organization.is-open .act2-partner-branch{
  position:relative;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  transform:none;
  overflow:visible;
}

.act2-partner-departments,
.act2-partner-organization-duracle .act2-partner-departments{
  width:100vw;
  padding-left:max(5vw,calc((100vw - 1180px)/2));
  padding-right:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-left:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-right:max(5vw,calc((100vw - 1180px)/2));
  overflow-x:auto;
  overflow-y:visible;
}

.act2-partner-department{
  flex:0 0 min(390px,34vw);
  width:min(390px,34vw);
}

/* GROUP MAP：Explorerとは別の俯瞰レイアウト */
.act2-partner-board.is-map .act2-partner-guide-text::after{
  content:" / 全体構成";
}

.act2-partner-board.is-map .act2-partner-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(30px,4vw,64px);
  width:min(1320px,calc(100% - 48px));
  margin:38px auto 0;
  padding:0;
  overflow:visible;
}

.act2-partner-board.is-map .act2-partner-selector::after,
.act2-partner-board.is-map .act2-partner-departments::after{
  display:none;
}

.act2-partner-board.is-map .act2-partner-organization{
  width:100%;
  min-width:0;
  transform:none;
}

.act2-partner-board.is-map .act2-partner-main-card{
  min-height:260px;
}

.act2-partner-board.is-map .act2-partner-branch{
  position:relative;
  left:auto;
  width:100%;
  max-height:none;
  margin:22px 0 0;
  opacity:1;
  visibility:visible;
  transform:none;
  overflow:visible;
}

.act2-partner-board.is-map .act2-partner-branch-line{
  display:none;
}

.act2-partner-board.is-map .act2-partner-departments,
.act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:100%;
  padding:0;
  overflow:visible;
}

.act2-partner-board.is-map .act2-partner-department{
  width:100%;
  min-width:0;
}

.act2-partner-board.is-map .act2-partner-department-button{
  min-height:126px;
  border-radius:24px;
}

.act2-partner-board.is-map .act2-partner-detail{
  display:none;
}

.act2-partner-overview-button[aria-pressed="true"]{
  background:#2f2a27;
  color:#fff;
}

.act2-partner-overview-label{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:800;
  letter-spacing:.12em;
}

@media(max-width:760px){
  .act2-partner-root-wrap,
  .act2-partner-shared-card,
  .act2-partner-shared-line,
  .act2-partner-guide,
  .act2-partner-controls{width:calc(100% - 32px)}

  .act2-partner-root-en{font-size:clamp(32px,11vw,52px)}

  .act2-partner-selector{
    padding-left:6vw;
    padding-right:6vw;
    scroll-padding-left:6vw;
    scroll-padding-right:6vw;
  }

  .act2-partner-selector::after,
  .act2-partner-departments::after{flex-basis:6vw}

  .act2-partner-organization{flex-basis:86vw;width:86vw}

  .act2-partner-departments,
  .act2-partner-organization-duracle .act2-partner-departments{
    padding-left:6vw;
    padding-right:6vw;
    scroll-padding-left:6vw;
    scroll-padding-right:6vw;
  }

  .act2-partner-department{flex-basis:78vw;width:78vw}

  .act2-partner-board.is-map .act2-partner-selector{
    grid-template-columns:1fr;
    width:calc(100% - 32px);
    gap:34px;
  }

  .act2-partner-board.is-map .act2-partner-departments,
  .act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   ACT2 GROUP PARTNER : EXPLORER V5
   ACT1以前は凍結。ACT2 Group Partnerのみ更新。
========================================================= */

/* 配色：強い原色感を抑え、ポップさと上質さを両立 */
.act2-partner{
  --v5-ink:#302b2a;
  --v5-root-top:#f39b83;
  --v5-root-bottom:#e97962;
  --v5-root-edge:#cf5f4d;
  --v5-duracle-top:#f4d97b;
  --v5-duracle-bottom:#e8bf4f;
  --v5-duracle-edge:#cca43c;
  --v5-waa-top:#91d7e4;
  --v5-waa-bottom:#66bfd2;
  --v5-waa-edge:#42a6bb;
  --v5-green-top:#d3df8a;
  --v5-green-bottom:#bcca69;
  --v5-coral-top:#f1b0a2;
  --v5-coral-bottom:#e78f80;
  --v5-sky-top:#a9dbe1;
  --v5-sky-bottom:#7fc3ce;
  --v5-lilac-top:#d1c2e4;
  --v5-lilac-bottom:#b9a3d3;
  --v5-statement-top:#eee8df;
  --v5-statement-bottom:#dfd6ca;
  background:#f5f2ec;
}

/* 入口タイポ：圧を下げ、文字間と呼吸を増やす */
.act2-partner-root-card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,0) 38%),
    linear-gradient(165deg,var(--v5-root-top),var(--v5-root-bottom));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(95,41,31,.10),
    0 8px 0 var(--v5-root-edge),
    0 30px 58px rgba(166,77,61,.18);
}

.act2-partner-root-kicker{
  margin-bottom:18px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(11px,1.1vw,15px);
  font-weight:600;
  letter-spacing:.42em;
}

.act2-partner-root-en{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(33px,5vw,72px);
  font-weight:700;
  line-height:.98;
  letter-spacing:.035em;
  color:var(--v5-ink);
}

.act2-partner-root-ja{
  margin-top:24px;
  font-weight:600;
  letter-spacing:.20em;
}

.act2-partner-root-note{
  margin-top:24px !important;
  padding-top:19px !important;
  line-height:1.9;
}

.act2-partner-root-action{
  margin-top:25px;
}

/* 黄色い板感を廃止し、静かな共通理念プレートへ */
.act2-partner-shared-card{
  width:min(760px,76vw);
  padding:28px 42px;
  border-radius:25px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.36),rgba(255,255,255,0) 42%),
    linear-gradient(165deg,var(--v5-statement-top),var(--v5-statement-bottom));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 8px 0 rgba(122,107,92,.13),
    0 22px 42px rgba(74,62,52,.10);
}

.act2-partner-board.is-root-expanded .act2-partner-root-line{
  height:72px;
  margin-top:36px;
}

.act2-partner-shared-line{
  margin-top:14px;
}

.act2-partner-guide{
  margin-top:22px;
  margin-bottom:34px;
}

/* 組織パネル */
.act2-partner-main-card-duracle{
  background:
    linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,0) 38%),
    linear-gradient(165deg,var(--v5-duracle-top),var(--v5-duracle-bottom));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(94,72,14,.09),
    0 9px 0 var(--v5-duracle-edge),
    0 32px 66px rgba(151,112,23,.16);
}

.act2-partner-main-card-waa{
  background:
    linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,0) 38%),
    linear-gradient(165deg,var(--v5-waa-top),var(--v5-waa-bottom));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -2px 0 rgba(18,73,84,.09),
    0 9px 0 var(--v5-waa-edge),
    0 32px 66px rgba(43,127,143,.16);
}

.act2-partner-department-nursery .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{
  background:linear-gradient(165deg,var(--v5-green-top),var(--v5-green-bottom));
}
.act2-partner-department-beauty .act2-partner-department-button{
  background:linear-gradient(165deg,var(--v5-coral-top),var(--v5-coral-bottom));
}
.act2-partner-department-product .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{
  background:linear-gradient(165deg,var(--v5-sky-top),var(--v5-sky-bottom));
}
.act2-partner-department-duracle-salon .act2-partner-department-button,
.act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{
  background:linear-gradient(165deg,var(--v5-lilac-top),var(--v5-lilac-bottom));
}

/* Explorer枝を横スクロール親から分離し、左右端の切断を消す */
.act2-partner-explorer-lane{
  position:relative;
  z-index:2;
  width:100vw;
  min-height:0;
  margin-left:calc(50% - 50vw);
  overflow:visible;
}

.act2-partner-explorer-lane:empty{
  display:none;
}

.act2-partner-explorer-lane > .act2-partner-branch{
  position:relative !important;
  left:auto !important;
  width:100vw !important;
  margin:6px 0 0 !important;
  transform:none !important;
  overflow:visible !important;
}

.act2-partner-explorer-lane .act2-partner-departments,
.act2-partner-explorer-lane .act2-partner-organization-duracle .act2-partner-departments{
  box-sizing:border-box;
  width:100vw;
  padding-left:max(5vw,calc((100vw - 1180px)/2));
  padding-right:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-left:max(5vw,calc((100vw - 1180px)/2));
  scroll-padding-right:max(5vw,calc((100vw - 1180px)/2));
}

/* 詳細は常に親パネルの奥から出る */
.act2-partner-department{
  isolation:isolate;
}

.act2-partner-department-button{
  position:relative;
  z-index:4;
  transform:translateZ(0);
  backface-visibility:hidden;
}

.act2-partner-detail{
  position:relative;
  z-index:1;
  transform:translateY(-18px) translateZ(0);
  transform-origin:top;
}

.act2-partner-department.is-open .act2-partner-detail{
  transform:translateY(0) translateZ(0);
  transition:
    grid-template-rows .48s cubic-bezier(.16,1,.3,1),
    padding .48s cubic-bezier(.16,1,.3,1),
    opacity .28s ease,
    transform .48s cubic-bezier(.16,1,.3,1);
}

/* Map：余白を増やし、ロゴ中心・直接目的地へ進む見た目 */
.act2-partner-board.is-map .act2-partner-selector{
  gap:clamp(46px,5vw,78px);
  width:min(1360px,calc(100% - 64px));
  margin-top:54px;
}

.act2-partner-board.is-map .act2-partner-main-card{
  min-height:285px;
}

.act2-partner-board.is-map .act2-partner-branch{
  margin-top:34px;
}

.act2-partner-board.is-map .act2-partner-departments,
.act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
  gap:22px;
}

.act2-partner-board.is-map .act2-partner-department-button{
  grid-template-columns:auto 1fr auto;
  min-height:156px;
  padding:20px 20px 18px;
  border-radius:27px;
}

.act2-partner-map-preview{
  display:none;
}

.act2-partner-board.is-map .act2-partner-map-preview{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:58px;
  margin-top:10px;
  padding:9px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.56);
}

.act2-partner-board.is-map .act2-partner-map-preview img{
  display:block;
  width:auto;
  max-width:min(178px,75%);
  max-height:40px;
  object-fit:contain;
}

.act2-partner-board.is-map .act2-partner-map-preview img + img{
  max-width:120px;
}

.act2-partner-map-wordmark{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}

.act2-partner-board.is-map .act2-partner-department-toggle::before{
  width:9px;
  transform:translate(-62%,-50%) rotate(45deg);
}

.act2-partner-board.is-map .act2-partner-department-toggle::after{
  width:9px;
  transform:translate(-38%,-50%) rotate(-45deg);
}

.act2-partner-board.is-map .act2-partner-department-button{
  cursor:pointer;
}

.act2-partner-board.is-map .act2-partner-department-button:hover{
  transform:translateY(-4px);
}

@media(max-width:760px){
  .act2-partner-root-kicker{margin-bottom:14px}
  .act2-partner-root-en{font-size:clamp(30px,10.3vw,48px);letter-spacing:.025em}
  .act2-partner-root-ja{margin-top:18px}
  .act2-partner-shared-card{width:calc(100% - 42px);padding:23px 20px}
  .act2-partner-board.is-root-expanded .act2-partner-root-line{height:52px;margin-top:28px}

  .act2-partner-explorer-lane .act2-partner-departments,
  .act2-partner-explorer-lane .act2-partner-organization-duracle .act2-partner-departments{
    padding-left:6vw;
    padding-right:6vw;
    scroll-padding-left:6vw;
    scroll-padding-right:6vw;
  }

  .act2-partner-board.is-map .act2-partner-selector{
    width:calc(100% - 32px);
    gap:44px;
    margin-top:40px;
  }

  .act2-partner-board.is-map .act2-partner-departments,
  .act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
    gap:16px;
  }

  .act2-partner-board.is-map .act2-partner-department-button{
    min-height:150px;
    padding:16px 14px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    min-height:52px;
    padding:8px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img{
    max-width:92%;
    max-height:34px;
  }
}

/* =========================================================
   ACT2 EXPLORER RECOVERY : detached branch open state
========================================================= */
.act2-partner-explorer-lane > .act2-partner-branch{
  grid-template-rows:1fr;
  opacity:1;
}

.act2-partner-explorer-lane > .act2-partner-branch .act2-partner-branch-line-vertical{
  transform:scaleY(1);
}

.act2-partner-explorer-lane > .act2-partner-branch .act2-partner-branch-line-horizontal{
  transform:scaleX(1);
}

.act2-partner-explorer-lane > .act2-partner-branch .act2-partner-department{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   ACT2 EXPLORER EDGE FIX : branch is aligned to viewport
========================================================= */
.act2-partner-board:not(.is-map) .act2-partner-organization.is-open .act2-partner-branch{
  left:auto;
  margin-left:0;
  transform:translateX(var(--act2-partner-branch-shift, 0px));
}

/* =========================================================
   ACT2 GROUP PARTNER : DESIGN POLISH V1
   ACT1 is frozen. These overrides are scoped to ACT2 only.
========================================================= */

/* ACT1 → ACT2 の境界色を統一 */
.act2-partner{
  background:#f8f7f5;
}

/* タイトル周辺の呼吸を整理 */
.act2-partner-header{
  margin-bottom:72px;
}

.act2-partner .act2-title{
  max-width:900px;
  line-height:1.22;
}

.act2-partner .act2-lead{
  margin-top:26px;
}

/* 共通理念：資料感を消し、静かなブランドタイポへ */
.act2-partner-shared-card{
  padding:34px 54px;
}

.act2-partner-shared-card p{
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:clamp(13px,1.18vw,16px);
  font-weight:400;
  line-height:2.05;
  letter-spacing:.075em;
}

/* 意味を持たない横長バーは撤去 */
.act2-partner-shared-line{
  display:none !important;
}

.act2-partner-guide{
  margin-top:40px;
}

/* 接続線は削除せず、伸縮する光のラインへ再設計 */
.act2-partner-root-line,
.act2-partner-branch-line-vertical{
  width:2px;
  border-radius:999px;
  background:linear-gradient(
    to bottom,
    rgba(77,66,60,0),
    rgba(77,66,60,.38) 22%,
    rgba(255,255,255,.96) 50%,
    rgba(77,66,60,.34) 78%,
    rgba(77,66,60,0)
  );
  box-shadow:0 0 12px rgba(255,255,255,.72);
}

.act2-partner-explorer-lane > .act2-partner-branch .act2-partner-branch-line-vertical{
  animation:act2PartnerLineBreath 2.6s ease-in-out infinite;
}

@keyframes act2PartnerLineBreath{
  0%,100%{opacity:.56;filter:blur(0)}
  50%{opacity:1;filter:blur(.15px)}
}

/* Explorer 詳細：全カード同じ高さ、上下左右に十分な余白 */
.act2-partner-department.is-open .act2-partner-detail{
  box-sizing:border-box;
  min-height:252px;
  padding:44px 28px 30px;
}

.act2-partner-detail-text,
.act2-partner-detail-list{
  line-height:1.9;
}

.act2-partner-brand-chips{
  align-items:center;
  justify-content:center;
  margin-top:auto;
  padding-top:30px;
}

.act2-partner-detail{
  display:flex;
  flex-direction:column;
}

/* ロゴの白い二重パネルを撤去し、ロゴを直接配置 */
.act2-partner-brand-chip,
.act2-partner-brand-chip-logo{
  width:auto;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.act2-partner-brand-chip-logo img{
  width:auto;
  max-width:min(230px,82%);
  height:auto;
  max-height:46px;
  object-fit:contain;
}

/* Little Star は視認性を優先して個別拡大 */
.act2-partner-department-nursery .act2-partner-brand-chip-logo img{
  max-width:min(250px,88%);
  max-height:68px;
}

/* Map：白いロゴ台を撤去し、カード全体をリンクとして見せる */
.act2-partner-board.is-map .act2-partner-map-preview{
  min-height:76px;
  margin-top:20px;
  padding:8px 10px 4px;
  border-radius:0;
  background:transparent;
}

.act2-partner-board.is-map .act2-partner-map-preview img{
  max-width:min(220px,82%);
  max-height:54px;
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease;
}

.act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
  max-width:min(245px,88%);
  max-height:72px;
}

/* 崩れた×を廃止。遷移先を示す控えめな矢印に変更 */
.act2-partner-board.is-map .act2-partner-department-toggle{
  display:none;
}

.act2-partner-board.is-map .act2-partner-department-button::after{
  content:"↗";
  position:absolute;
  z-index:2;
  top:22px;
  right:24px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:1;
  opacity:.48;
  transform:translate3d(0,0,0);
  transition:transform .42s cubic-bezier(.16,1,.3,1),opacity .28s ease;
}

.act2-partner-board.is-map .act2-partner-department-button:hover::after{
  opacity:.9;
  transform:translate3d(4px,-4px,0);
}

.act2-partner-board.is-map .act2-partner-department-button:hover .act2-partner-map-preview img{
  transform:translateY(-3px) scale(1.025);
}

@media(max-width:760px){
  .act2-partner-header{
    margin-bottom:48px;
  }

  .act2-partner-shared-card{
    padding:28px 24px;
  }

  .act2-partner-shared-card p{
    font-size:11.5px;
    line-height:1.95;
    letter-spacing:.055em;
  }

  .act2-partner-guide{
    margin-top:32px;
  }

  .act2-partner-department.is-open .act2-partner-detail{
    min-height:268px;
    padding:42px 24px 28px;
  }

  .act2-partner-brand-chip-logo img{
    max-width:84%;
    max-height:44px;
  }

  .act2-partner-department-nursery .act2-partner-brand-chip-logo img{
    max-width:90%;
    max-height:64px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    min-height:66px;
    margin-top:16px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img{
    max-width:88%;
    max-height:46px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    max-width:92%;
    max-height:62px;
  }

  .act2-partner-board.is-map .act2-partner-department-button::after{
    top:18px;
    right:18px;
    font-size:16px;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER : DESIGN POLISH V2
   ACT1 is frozen. These overrides are scoped to ACT2 only.
========================================================= */

/* Safari / touch端末で最後に押したカードだけhoverが残り、
   白い詳細パネルが色カード上へ見える現象を防止 */
@media (hover:none), (pointer:coarse){
  .act2-partner-department-button:hover,
  .act2-partner-department-button:active{
    transform:none;
    filter:none;
  }
}

/* Explorer：色カードを常に詳細パネルより前面へ固定 */
.act2-partner-board:not(.is-map) .act2-partner-department{
  position:relative;
  isolation:isolate;
}

.act2-partner-board:not(.is-map) .act2-partner-department-button{
  position:relative;
  z-index:10;
}

.act2-partner-board:not(.is-map) .act2-partner-detail{
  position:relative;
  z-index:1;
}

/* Explorer：白い展開部分を全カードで完全に同じ高さへ統一 */
.act2-partner-board:not(.is-map) .act2-partner-detail{
  box-sizing:border-box;
  height:0;
  min-height:0;
  padding-top:0;
  padding-bottom:0;
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
  height:286px;
  min-height:286px;
  padding:46px 30px 34px;
}

/* Explorer：ロゴは余白を主役にして静かに配置 */
.act2-partner-board:not(.is-map) .act2-partner-brand-chips{
  min-height:76px;
  margin-top:auto;
  padding-top:34px;
  align-items:center;
  justify-content:center;
}

.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
}

.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo img{
  width:auto;
  max-width:min(176px,62%);
  max-height:38px;
  object-fit:contain;
}

.act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-brand-chip-logo img{
  max-width:min(205px,72%);
  max-height:58px;
}

.act2-partner-board:not(.is-map) .act2-partner-department-product .act2-partner-brand-chip-logo img{
  max-width:min(160px,58%);
  max-height:36px;
}

.act2-partner-board:not(.is-map) .act2-partner-department-commerce .act2-partner-brand-chip-logo img{
  max-width:min(170px,60%);
  max-height:34px;
}

/* 接続線：装飾を外し、静かな単色細線＋伸縮だけに戻す */
.act2-partner-root-line,
.act2-partner-branch-line-vertical{
  width:1px;
  border-radius:0;
  background:rgba(70,61,56,.30);
  box-shadow:none;
  filter:none;
}

.act2-partner-explorer-lane > .act2-partner-branch .act2-partner-branch-line-vertical{
  animation:none;
  transform-origin:top;
  transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .32s ease;
}

/* MAP：左右の組織・全7カードを同一基準で整列 */
.act2-partner-board.is-map .act2-partner-selector{
  align-items:start;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(46px,5vw,78px);
}

.act2-partner-board.is-map .act2-partner-organization{
  display:flex;
  flex-direction:column;
  align-self:start;
}

.act2-partner-board.is-map .act2-partner-main-card{
  height:285px;
  min-height:285px;
}

.act2-partner-board.is-map .act2-partner-branch{
  margin-top:34px;
}

.act2-partner-board.is-map .act2-partner-departments,
.act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
  align-items:stretch;
  grid-auto-rows:184px;
  gap:22px;
}

.act2-partner-board.is-map .act2-partner-department,
.act2-partner-board.is-map .act2-partner-department-button{
  height:184px;
  min-height:184px;
}

.act2-partner-board.is-map .act2-partner-department-button{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  align-items:start;
  padding:20px 22px 22px;
}

.act2-partner-board.is-map .act2-partner-map-preview{
  grid-column:1 / -1;
  align-self:center;
  width:100%;
  min-height:72px;
  margin:0;
  padding:18px 12px 6px;
}

.act2-partner-board.is-map .act2-partner-map-preview img{
  width:auto;
  max-width:min(168px,64%);
  max-height:38px;
  object-fit:contain;
}

.act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
  max-width:min(195px,72%);
  max-height:54px;
}

.act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
  max-width:min(154px,58%);
  max-height:36px;
}

.act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
  max-width:min(164px,60%);
  max-height:34px;
}

/* MAP下部操作はカード群から十分に離し、ACT2下端との中間へ */
.act2-partner-board.is-map .act2-partner-controls{
  margin-top:clamp(110px,12vw,180px);
  margin-bottom:clamp(72px,8vw,120px);
}

@media(max-width:760px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    height:300px;
    min-height:300px;
    padding:44px 24px 32px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo img{
    max-width:60%;
    max-height:36px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-brand-chip-logo img{
    max-width:70%;
    max-height:54px;
  }

  .act2-partner-board.is-map .act2-partner-main-card{
    height:auto;
    min-height:430px;
  }

  .act2-partner-board.is-map .act2-partner-departments,
  .act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
    grid-auto-rows:164px;
    gap:16px;
  }

  .act2-partner-board.is-map .act2-partner-department,
  .act2-partner-board.is-map .act2-partner-department-button{
    height:164px;
    min-height:164px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img{
    max-width:64%;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    max-width:72%;
    max-height:50px;
  }

  .act2-partner-board.is-map .act2-partner-controls{
    margin-top:96px;
    margin-bottom:72px;
  }
}

/* =========================================================
   ACT2 EXPLORER : FIXED INTERNAL LAYER ORDER
   ACT1 is frozen. Keep the colored header above the white detail.
========================================================= */
.act2-partner-board:not(.is-map) .act2-partner-department{
  position:relative;
  isolation:isolate;
  z-index:0;
}

.act2-partner-board:not(.is-map) .act2-partner-department-button{
  position:relative;
  z-index:2;
  isolation:isolate;
}

.act2-partner-board:not(.is-map) .act2-partner-detail{
  position:relative;
  z-index:1;
  margin-top:-18px;
  transform:none;
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
  padding-top:64px;
  transform:none;
}

/* =========================================================
   ACT2 REVIEW POLISH V3
   Explorer typography / optical logo sizing / Map gallery.
   ACT1 is frozen.
========================================================= */

/* Explorer：事業名を軽くし、＋との間に緊張感をつくる */
.act2-partner-board:not(.is-map) .act2-partner-department-button{
  grid-template-columns:auto minmax(0,1fr) auto;
  column-gap:14px;
  padding-inline:24px;
}

.act2-partner-board:not(.is-map) .act2-partner-department-name{
  font-family:"Helvetica Neue","Yu Gothic",YuGothic,sans-serif;
  font-size:clamp(15px,1.45vw,19px);
  font-weight:500;
  line-height:1.35;
  letter-spacing:.075em;
  transition:transform .52s cubic-bezier(.16,1,.3,1),letter-spacing .52s cubic-bezier(.16,1,.3,1),opacity .3s ease;
}

.act2-partner-board:not(.is-map) .act2-partner-department-number{
  font-weight:600;
  opacity:.72;
}

.act2-partner-board:not(.is-map) .act2-partner-department-toggle{
  transition:transform .52s cubic-bezier(.16,1,.3,1),background-color .3s ease;
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-department-name{
  transform:translateX(8px);
  letter-spacing:.095em;
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-department-toggle{
  transform:translateX(-3px) scale(1.045);
}

/* Explorer：ロゴは幅ではなく見た目の大きさで個別調整 */
.act2-partner-board:not(.is-map) .act2-partner-department-product .act2-partner-brand-chip-logo img{
  max-width:min(132px,49%);
  max-height:31px;
}

.act2-partner-board:not(.is-map) .act2-partner-department-commerce .act2-partner-brand-chip-logo img{
  max-width:min(192px,68%);
  max-height:39px;
}

/* Map：大カードは左に情報、右中央にロゴ */
.act2-partner-board.is-map .act2-partner-main-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,38%);
  grid-template-rows:auto 1fr auto auto;
  column-gap:clamp(26px,3vw,48px);
  align-items:start;
  padding:clamp(34px,4vw,52px);
  text-align:left;
}

.act2-partner-board.is-map .act2-partner-main-badge{
  grid-column:1;
  grid-row:1;
  align-self:start;
  justify-self:start;
}

.act2-partner-board.is-map .act2-partner-main-logo{
  grid-column:2;
  grid-row:1 / 5;
  align-self:center;
  justify-self:center;
  width:auto;
  margin:0;
  object-position:center;
}

.act2-partner-board.is-map .act2-partner-main-logo-duracle{
  max-width:min(245px,100%);
  max-height:108px;
}

.act2-partner-board.is-map .act2-partner-main-logo-waa{
  max-width:min(230px,100%);
  max-height:114px;
}

.act2-partner-board.is-map .act2-partner-main-name{
  grid-column:1;
  grid-row:2;
  align-self:end;
  margin-top:28px;
}

.act2-partner-board.is-map .act2-partner-main-sub{
  grid-column:1;
  grid-row:3;
  margin-top:10px;
}

.act2-partner-board.is-map .act2-partner-main-action{
  grid-column:1;
  grid-row:4;
  padding-top:22px;
}

/* Map：7枚はブランドギャラリー。事業名はラベル、ロゴを主役に */
.act2-partner-board.is-map .act2-partner-department-button{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto 1fr;
  align-items:start;
  padding:18px 20px 20px;
}

.act2-partner-board.is-map .act2-partner-department-number{
  width:24px;
  height:24px;
  border-radius:9px;
  font-size:8px;
  opacity:.62;
}

.act2-partner-board.is-map .act2-partner-department-name{
  align-self:center;
  font-family:"Helvetica Neue","Yu Gothic",YuGothic,sans-serif;
  font-size:10px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.14em;
  color:rgba(57,49,45,.54);
}

.act2-partner-board.is-map .act2-partner-map-preview{
  grid-column:1 / -1;
  grid-row:2;
  align-self:center;
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:6px 18px 14px;
}

.act2-partner-board.is-map .act2-partner-map-preview img{
  width:auto;
  max-width:min(170px,62%);
  max-height:42px;
  object-fit:contain;
  object-position:center;
}

.act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
  max-width:min(202px,72%);
  max-height:58px;
}

.act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
  max-width:min(132px,49%);
  max-height:34px;
}

.act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
  max-width:min(190px,70%);
  max-height:42px;
}

.act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
  max-width:min(198px,72%);
  max-height:44px;
}

.act2-partner-board.is-map .act2-partner-department-button::after{
  top:18px;
  right:20px;
  font-size:14px;
  opacity:.34;
}

@media(max-width:760px){
  .act2-partner-board:not(.is-map) .act2-partner-department-button{
    padding-inline:20px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-name{
    font-size:15px;
  }

  .act2-partner-board.is-map .act2-partner-main-card{
    grid-template-columns:minmax(0,1fr) minmax(112px,34%);
    column-gap:18px;
    min-height:350px;
    height:350px;
    padding:30px 26px;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-duracle{
    max-width:160px;
    max-height:82px;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-waa{
    max-width:148px;
    max-height:86px;
  }

  .act2-partner-board.is-map .act2-partner-main-name{
    font-size:24px;
  }

  .act2-partner-board.is-map .act2-partner-department-name{
    font-size:9px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img{
    max-width:64%;
    max-height:38px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    max-width:48%;
    max-height:31px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    max-width:70%;
    max-height:39px;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER : REVIEW POLISH V4
   Scope: ACT2 Group Partner only. ACT1 remains frozen.
========================================================= */

/* 章見出し：単なる文字置きから、章タイトルとして成立させる */
.act2-partner .act2-eyebrow{
  margin-bottom:20px;
  letter-spacing:.30em;
}

.act2-partner .act2-title{
  position:relative;
  display:inline-block;
  padding-bottom:20px;
  font-size:clamp(38px,3.55vw,58px);
  line-height:1.18;
  letter-spacing:.075em;
}

.act2-partner .act2-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:clamp(92px,13vw,184px);
  height:1px;
  background:linear-gradient(90deg,rgba(47,42,40,.68),rgba(47,42,40,.08));
  transform-origin:left center;
}

.act2-partner .act2-lead{
  max-width:760px;
  margin-top:24px;
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.95;
  letter-spacing:.025em;
}

/* Explorer：事業名と＋を細いガイドラインで関係づける */
.act2-partner-board:not(.is-map) .act2-partner-department-name{
  display:flex;
  align-items:center;
  min-width:0;
  white-space:nowrap;
}

.act2-partner-board:not(.is-map) .act2-partner-department-name::after{
  content:"";
  flex:1 1 auto;
  min-width:16px;
  max-width:58px;
  height:1px;
  margin-left:16px;
  background:linear-gradient(90deg,rgba(55,48,44,.22),rgba(55,48,44,.045));
  transform:scaleX(.62);
  transform-origin:left center;
  opacity:.62;
  transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .35s ease;
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-department-name::after{
  transform:scaleX(1);
  opacity:.88;
}

/* Map：大カードは「小さな組織情報＋ロゴ主役」に再構成 */
.act2-partner-board.is-map .act2-partner-main-card{
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  grid-template-rows:auto auto auto 1fr;
  column-gap:clamp(28px,4vw,64px);
  align-content:center;
  align-items:center;
  padding:clamp(34px,4vw,54px) clamp(38px,4.8vw,68px);
}

.act2-partner-board.is-map .act2-partner-main-badge{
  grid-column:1;
  grid-row:1;
  align-self:end;
  margin:0 0 18px;
  font-size:8px;
  letter-spacing:.24em;
  opacity:.80;
}

.act2-partner-board.is-map .act2-partner-main-name{
  grid-column:1;
  grid-row:2;
  align-self:start;
  margin:0;
  max-width:100%;
  font-family:"Helvetica Neue","Yu Gothic",YuGothic,sans-serif;
  font-size:clamp(10px,.92vw,13px);
  font-weight:500;
  line-height:1.65;
  letter-spacing:.08em;
  color:rgba(48,42,39,.58);
  text-shadow:none;
}

.act2-partner-board.is-map .act2-partner-main-name br{
  display:none;
}

.act2-partner-board.is-map .act2-partner-main-sub{
  grid-column:1;
  grid-row:3;
  align-self:start;
  margin:4px 0 0;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:clamp(9px,.78vw,11px);
  line-height:1.5;
  letter-spacing:.08em;
  color:rgba(48,42,39,.38);
}

.act2-partner-board.is-map .act2-partner-main-logo{
  grid-column:2;
  grid-row:1 / 5;
  align-self:center;
  justify-self:center;
  transform:translateY(-4px);
  filter:none;
}

.act2-partner-board.is-map .act2-partner-main-logo-duracle{
  max-width:min(228px,82%);
  max-height:122px;
}

.act2-partner-board.is-map .act2-partner-main-logo-waa{
  max-width:min(238px,86%);
  max-height:132px;
}

.act2-partner-board.is-map .act2-partner-main-action{
  display:none;
}

/* Map：ブランドロゴを光学中心へ。ラベルは完全に脇役 */
.act2-partner-board.is-map .act2-partner-department-name{
  font-size:9px;
  font-weight:400;
  letter-spacing:.16em;
  color:rgba(57,49,45,.42);
}

.act2-partner-board.is-map .act2-partner-department-number{
  opacity:.48;
}

.act2-partner-board.is-map .act2-partner-map-preview{
  transform:translateY(-8px);
  padding-bottom:4px;
}

.act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
  max-width:min(206px,75%);
  max-height:45px;
}

.act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
  transform:scale(.90);
}

@media(max-width:760px){
  .act2-partner .act2-title{
    padding-bottom:16px;
    font-size:clamp(34px,9vw,48px);
  }

  .act2-partner .act2-lead{
    font-size:14px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-name::after{
    max-width:34px;
    margin-left:12px;
  }

  .act2-partner-board.is-map .act2-partner-main-card{
    grid-template-columns:minmax(0,46%) minmax(0,54%);
    column-gap:18px;
    padding:28px 24px;
  }

  .act2-partner-board.is-map .act2-partner-main-badge{
    margin-bottom:12px;
  }

  .act2-partner-board.is-map .act2-partner-main-name{
    font-size:10px;
    line-height:1.55;
  }

  .act2-partner-board.is-map .act2-partner-main-sub{
    font-size:9px;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-duracle{
    max-width:82%;
    max-height:94px;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-waa{
    max-width:88%;
    max-height:102px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    transform:translateY(-6px);
  }
}

/* =========================================================
   ACT2 GROUP PARTNER : REVIEW POLISH V5
   Scope: ACT2 Group Partner only. ACT1 remains frozen.
========================================================= */

/* Explorer main organization names: reduce visual weight without changing size */
.act2-partner-board:not(.is-map) .act2-partner-main-name{
  font-weight:500;
  letter-spacing:.025em;
  color:rgba(47,42,40,.86);
  text-shadow:none;
}

.act2-partner-board:not(.is-map) .act2-partner-main-card-waa .act2-partner-main-name{
  font-weight:500;
  letter-spacing:.018em;
  color:rgba(47,42,40,.84);
}

/* Explorer main card rhythm: logo/name grouped, action separated */
.act2-partner-board:not(.is-map) .act2-partner-main-name{
  margin-top:clamp(14px,1.35vw,22px);
}

.act2-partner-board:not(.is-map) .act2-partner-main-sub{
  margin-top:6px;
}

.act2-partner-board:not(.is-map) .act2-partner-main-action{
  margin-top:clamp(30px,3.2vw,48px);
}

/* Map WAA legal name: intentional two-line composition */
.act2-partner-board.is-map .act2-partner-main-card-waa .act2-partner-main-name br{
  display:block;
}

.act2-partner-board.is-map .act2-partner-main-card-waa .act2-partner-main-name{
  white-space:normal;
  max-width:190px;
  line-height:1.62;
}

/* WAA department copy: match the established Duracle branch rhythm */
.act2-partner-board:not(.is-map) .act2-partner-organization-waa .act2-partner-detail-list-first{
  margin-top:0;
}

.act2-partner-board:not(.is-map) .act2-partner-organization-waa .act2-partner-detail-list{
  max-width:100%;
  line-height:1.7;
}

@media(max-width:760px){
  .act2-partner-board:not(.is-map) .act2-partner-main-name{
    font-weight:500;
    letter-spacing:.02em;
  }

  .act2-partner-board.is-map .act2-partner-main-card-waa .act2-partner-main-name{
    max-width:140px;
    line-height:1.55;
  }
}

/* =========================================================
   ACT2 MOBILE FINAL — GROUP PARTNER V248
   Scope: smartphone ACT2 only. ACT1 / desktop remain frozen.
========================================================= */
@media(max-width:760px){
  /* ACT2 entrance: inherit the established ACT1 mobile heading hierarchy */
  .act2-partner-header{
    margin-bottom:54px;
  }

  .act2-partner .act2-eyebrow{
    margin-bottom:16px;
  }

  .act2-partner .act2-title{
    display:block;
    max-width:none;
    padding-bottom:14px;
    font-size:clamp(18px,5.2vw,24px);
    font-weight:400;
    line-height:1.28;
    letter-spacing:.04em;
    white-space:nowrap;
  }

  .act2-partner .act2-title::after{
    width:92px;
  }

  .act2-partner .act2-lead{
    margin-top:22px;
    font-size:14px;
    line-height:1.9;
  }

  .act2-partner-root-card,
  .act2-partner-board.is-root-expanded .act2-partner-root-card{
    padding-top:48px;
    padding-bottom:48px;
  }

  /* Explorer parent cards: logo first, legal name second */
  .act2-partner-board:not(.is-map) .act2-partner-main-name{
    margin-top:18px;
    font-size:17px;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.015em;
  }

  .act2-partner-board:not(.is-map) .act2-partner-main-card-duracle .act2-partner-main-name{
    white-space:nowrap;
  }

  .act2-partner-board:not(.is-map) .act2-partner-main-card-waa .act2-partner-main-name{
    max-width:100%;
    font-size:15px;
    font-weight:400;
    line-height:1.62;
    letter-spacing:.015em;
    white-space:normal;
  }

  .act2-partner-board:not(.is-map) .act2-partner-main-card-waa .act2-partner-main-name-break-sp{
    display:block;
  }

  /* Mobile map: vertical organization chapters with two-column brand cards */
  .act2-partner-board.is-map .act2-partner-selector{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:42px;
    width:auto;
    margin:0;
    padding:0 18px 24px;
    overflow:visible;
    scroll-snap-type:none;
  }

  .act2-partner-board.is-map .act2-partner-organization{
    display:flex;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    scroll-snap-align:none;
  }

  .act2-partner-board.is-map .act2-partner-main-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(112px,38%);
    grid-template-rows:auto auto auto;
    column-gap:18px;
    width:100%;
    height:auto;
    min-height:220px;
    padding:28px 24px;
    text-align:left;
  }

  .act2-partner-board.is-map .act2-partner-main-badge{
    grid-column:1;
    grid-row:1;
    align-self:end;
    margin:0 0 12px;
  }

  .act2-partner-board.is-map .act2-partner-main-name{
    grid-column:1;
    grid-row:2;
    align-self:start;
    max-width:none;
    margin:0;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
    letter-spacing:.035em;
    white-space:normal;
  }

  .act2-partner-board.is-map .act2-partner-main-card-duracle .act2-partner-main-name{
    white-space:nowrap;
  }

  .act2-partner-board.is-map .act2-partner-main-card-waa .act2-partner-main-name{
    max-width:none;
    font-size:12px;
    line-height:1.6;
    white-space:normal;
  }

  .act2-partner-board.is-map .act2-partner-main-card-waa .act2-partner-main-name-break-sp{
    display:block;
  }

  .act2-partner-board.is-map .act2-partner-main-sub{
    grid-column:1;
    grid-row:3;
    align-self:start;
    margin:7px 0 0;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.045em;
    overflow-wrap:normal;
    word-break:keep-all;
  }

  .act2-partner-board.is-map .act2-partner-main-logo{
    grid-column:2;
    grid-row:1 / 4;
    align-self:center;
    justify-self:center;
    width:auto;
    margin:0;
    transform:none;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-duracle{
    max-width:132px;
    max-height:72px;
  }

  .act2-partner-board.is-map .act2-partner-main-logo-waa{
    max-width:122px;
    max-height:78px;
  }

  .act2-partner-board.is-map .act2-partner-branch{
    width:100%;
    margin-top:18px;
  }

  .act2-partner-board.is-map .act2-partner-departments,
  .act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:12px;
    width:100%;
    padding:0;
  }

  .act2-partner-board.is-map .act2-partner-department,
  .act2-partner-board.is-map .act2-partner-department-button{
    width:100%;
    height:auto;
    min-width:0;
    min-height:148px;
  }

  .act2-partner-board.is-map .act2-partner-department-button{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:auto minmax(76px,1fr);
    align-items:start;
    padding:14px 14px 16px;
  }

  .act2-partner-board.is-map .act2-partner-department-number{
    width:22px;
    height:22px;
    font-size:7px;
  }

  .act2-partner-board.is-map .act2-partner-department-name{
    align-self:center;
    min-width:0;
    font-size:9px;
    font-weight:400;
    line-height:1.35;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    grid-column:1 / -1;
    grid-row:2;
    align-self:center;
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-height:76px;
    margin:0;
    padding:10px 8px 2px;
    transform:none;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img{
    display:block;
    width:auto;
    height:auto;
    max-width:82%;
    max-height:42px;
    object-fit:contain;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    max-width:88%;
    max-height:54px;
  }

  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    max-width:78%;
    max-height:40px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    max-width:70%;
    max-height:34px;
    transform:none;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    max-width:86%;
    max-height:40px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    max-width:78%;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    max-width:90%;
    max-height:38px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    max-width:88%;
    max-height:40px;
  }

  .act2-partner-board.is-map .act2-partner-department-button::after{
    top:14px;
    right:14px;
    font-size:12px;
  }

  .act2-partner-board.is-map .act2-partner-controls{
    margin-top:64px;
    margin-bottom:54px;
  }
}

/* =========================================================
   ACT2 EXPLORER FINAL POLISH V249
   Scope: Explorer parent-card rhythm on desktop/mobile and
   nursery detail logo position on mobile only.
========================================================= */

/* Desktop Explorer: preserve logo position, lower and soften the legal-name block */
@media(min-width:761px){
  .act2-partner-board:not(.is-map) .act2-partner-main-name{
    margin-top:clamp(30px,2.4vw,38px);
    font-size:clamp(24px,3.2vw,40px);
    font-weight:400;
    line-height:1.22;
    letter-spacing:.018em;
  }

  .act2-partner-board:not(.is-map) .act2-partner-main-card-waa .act2-partner-main-name{
    font-size:clamp(22px,2.9vw,36px);
    font-weight:400;
    line-height:1.28;
    letter-spacing:.012em;
  }
}

@media(max-width:760px){
  /* Mobile Explorer: keep the logos fixed and create breathing room below them */
  .act2-partner-board:not(.is-map) .act2-partner-main-name{
    margin-top:32px;
  }

}

/* =========================================================
   ACT2 MOBILE FINAL BALANCE V250
   Scope: smartphone Explorer names, nursery detail logo,
   and mobile Group Map logo optical centering only.
========================================================= */
@media(max-width:760px){
  /* Explorer parent cards: keep the completed spacing and restore name presence */
  .act2-partner-board:not(.is-map) .act2-partner-main-card-duracle .act2-partner-main-name{
    font-size:19px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-main-card-waa .act2-partner-main-name{
    font-size:17px;
  }

  /* Group Map: nursery stays fixed; all other logos move to their optical centers */
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    transform:translateY(-10px);
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    transform:translateY(-9px);
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    transform:translateY(-10px);
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    transform:translateY(-9px);
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    transform:translateY(-10px);
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    transform:translateY(-9px);
  }
}


/* =========================================================
   ACT2 MOBILE FINAL MICRO ADJUSTMENTS V254
   Scope: smartphone nursery detail layout, Explorer AIRSHOP,
   and Group Map logos only.
========================================================= */
@media(max-width:760px){
  /* Nursery detail: retain the working target and ease the logo area slightly downward */
  .act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-brand-chips{
    position:relative;
    top:-10px;
    min-height:76px;
    margin-top:auto;
    margin-bottom:-28px;
    padding-top:0;
  }

  /* Explorer WAA product department: reduce AIRSHOP slightly; Group Map remains unchanged */
  .act2-partner-board:not(.is-map) .act2-partner-department-commerce .act2-partner-brand-chip-logo img{
    max-width:min(180px,64%);
    max-height:36px;
  }

  /* Group Map optical micro-adjustments */
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    transform:translate(3px,-10px);
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    transform:translateY(-7px);
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    max-width:86%;
    max-height:36px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    max-width:80%;
    max-height:36px;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER — INITIAL VISION V255
   Initial-state message only. Explorer logic remains unchanged.
========================================================= */
.act2-partner-vision{
  position:absolute;
  z-index:3;
  top:clamp(560px,40vw,620px);
  left:50%;
  width:min(900px,calc(100% - 64px));
  margin:0;
  color:#393330;
  text-align:center;
  transform:translateX(-50%) translateY(0);
  opacity:0;
  filter:blur(9px);
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .72s ease,
    filter .9s cubic-bezier(.16,1,.3,1),
    transform .9s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .9s;
}

.act2-partner-board.is-introduced:not(.is-root-expanded) .act2-partner-vision{
  opacity:1;
  filter:blur(0);
  visibility:visible;
  transform:translateX(-50%) translateY(0);
  transition-delay:.28s, .28s, .28s, 0s;
}

.act2-partner-board.is-root-expanded .act2-partner-vision{
  opacity:0;
  filter:blur(12px);
  visibility:hidden;
  transform:translateX(-50%) translateY(-14px);
  transition-delay:0s, 0s, 0s, .72s;
}

.act2-partner-vision-label,
.act2-partner-vision-title,
.act2-partner-vision-copy,
.act2-partner-vision-closing{
  margin:0;
}

.act2-partner-vision-label{
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:11px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.12em;
  color:rgba(47,42,40,.46);
}

.act2-partner-vision-title{
  margin-top:36px;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:clamp(19px,1.8vw,26px);
  font-weight:400;
  line-height:1.55;
  letter-spacing:.06em;
  color:rgba(47,42,40,.90);
}

.act2-partner-vision-copy,
.act2-partner-vision-closing{
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:clamp(14px,1.2vw,17px);
  font-weight:400;
  line-height:2;
  letter-spacing:.05em;
  color:rgba(47,42,40,.66);
}

.act2-partner-vision-copy{
  margin-top:36px;
}

.act2-partner-vision-copy + .act2-partner-vision-copy{
  margin-top:14px;
}

.act2-partner-vision-closing{
  margin-top:38px;
}

@media(max-width:760px){
  .act2-partner-vision{
    top:465px;
    width:calc(100% - 42px);
  }

  .act2-partner-vision-label{
    font-size:10px;
    letter-spacing:.08em;
  }

  .act2-partner-vision-title{
    margin-top:26px;
    font-size:19px;
    line-height:1.55;
  }

  .act2-partner-vision-copy,
  .act2-partner-vision-closing{
    font-size:13px;
    line-height:1.9;
    letter-spacing:.035em;
  }

  .act2-partner-vision-copy{
    margin-top:28px;
  }

  .act2-partner-vision-copy + .act2-partner-vision-copy{
    margin-top:12px;
  }

  .act2-partner-vision-closing{
    margin-top:30px;
  }
}

@media(prefers-reduced-motion:reduce){
  .act2-partner-vision{
    transition-duration:.01ms !important;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER FINAL — SHARED COPY / GUIDE CLOSE SYNC
========================================================= */
.act2-partner-shared-card p{
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-weight:400;
}

.act2-partner-board.is-introduced:not(.is-root-expanded) .act2-partner-guide{
  opacity:0;
  filter:blur(8px);
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-22px) scale(.975);
  transition:
    opacity .48s ease,
    filter .48s ease,
    transform .68s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .48s;
}

/* =========================================================
   ACT2 GROUP PARTNER FINAL — STATE-DRIVEN AUTO HEIGHT V260
   Initial Vision and Explorer content define the section height.
========================================================= */
.act2-partner-expandable{
  display:grid;
  width:100%;
  min-width:0;
  grid-template-rows:0fr;
  transition:grid-template-rows .82s cubic-bezier(.16,1,.3,1);
}

.act2-partner-expandable-inner{
  width:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.act2-partner-board.is-root-expanded .act2-partner-expandable{
  grid-template-rows:1fr;
}

.act2-partner-board.is-root-expanded .act2-partner-expandable-inner{
  overflow:visible;
  transition:overflow 0s linear .82s;
}

.act2-partner-vision{
  position:relative;
  top:auto;
  left:auto;
  width:min(900px,calc(100% - 64px));
  max-height:520px;
  margin:clamp(78px,7vw,108px) auto 0;
  overflow:hidden;
  transform:translateY(0);
  transition:
    max-height .82s cubic-bezier(.16,1,.3,1),
    margin-top .82s cubic-bezier(.16,1,.3,1),
    opacity .72s ease,
    filter .9s cubic-bezier(.16,1,.3,1),
    transform .9s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .9s;
}

.act2-partner-board.is-introduced:not(.is-root-expanded) .act2-partner-vision{
  max-height:520px;
  transform:translateY(0);
}

.act2-partner-board.is-root-expanded .act2-partner-vision{
  max-height:0;
  margin-top:0;
  transform:translateY(-14px);
}

@media(max-width:760px){
  .act2-partner-vision{
    top:auto;
    width:calc(100% - 42px);
    max-height:560px;
    margin-top:112px;
  }

  .act2-partner-board.is-introduced:not(.is-root-expanded) .act2-partner-vision{
    max-height:560px;
  }
}

@media(prefers-reduced-motion:reduce){
  .act2-partner-expandable,
  .act2-partner-vision{
    transition-duration:.01ms !important;
  }
}

/* =========================================================
   ACT2 GROUP PARTNER FINAL — EQUAL MAIN CARD SIZE V261
   Explorer parent cards keep identical outer dimensions.
========================================================= */
@media(min-width:761px){
  .act2-partner-board:not(.is-map) .act2-partner-main-card{
    height:clamp(560px,46vw,600px);
    min-height:0;
  }
}

@media(max-width:760px){
  .act2-partner-board:not(.is-map) .act2-partner-main-card{
    height:450px;
    min-height:0;
  }
}

/* =========================================================
   ACT2 PC ROOT CARD SMOOTH EXPANSION — V264
   PCのみ、外寸変更と押下バウンドを廃止しtransform一本で展開。
========================================================= */
@media (min-width:761px){
  .act2-partner-board.is-root-expanded .act2-partner-root-card{
    width:min(860px,82vw);
    min-height:clamp(300px,34vw,430px);
    padding:clamp(42px,6vw,76px);
    transform:translateY(0) scale(1.025);
  }

  .act2-partner-root-card:active{
    transform:translateY(-3px) scale(1.008);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.92),
      inset 0 -2px 0 rgba(95,41,31,.10),
      0 8px 0 var(--v5-root-edge),
      0 30px 58px rgba(166,77,61,.18);
  }
}

/* =========================================================
   ACT2 SHADOW SYSTEM UNIFICATION — V266
   Branch-card structure applied across Root / shared / Duracle / WAA:
   one color-matched solid lower edge + one soft color shadow + inset highlight.
========================================================= */
.act2-partner-root-card{
  box-shadow:
    0 9px 0 rgba(207,95,77,.15),
    0 28px 54px rgba(166,77,61,.15),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(95,41,31,.06);
}

.act2-partner-shared-card{
  box-shadow:
    0 6px 0 rgba(122,107,92,.11),
    0 20px 38px rgba(74,62,52,.09),
    inset 0 1px 0 rgba(255,255,255,.92);
}

.act2-partner-main-card-duracle{
  box-shadow:
    0 10px 0 rgba(204,164,60,.14),
    0 30px 58px rgba(151,112,23,.14),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(94,72,14,.055);
}

.act2-partner-main-card-waa{
  box-shadow:
    0 10px 0 rgba(66,166,187,.14),
    0 30px 58px rgba(43,127,143,.14),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(18,73,84,.055);
}

.act2-partner-root-card:active{
  box-shadow:
    0 4px 0 rgba(207,95,77,.14),
    0 14px 28px rgba(166,77,61,.13),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -1px 0 rgba(95,41,31,.07);
}

.act2-partner-main-card-duracle:active{
  box-shadow:
    0 4px 0 rgba(204,164,60,.13),
    0 15px 30px rgba(151,112,23,.13),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -1px 0 rgba(94,72,14,.065);
}

.act2-partner-main-card-waa:active{
  box-shadow:
    0 4px 0 rgba(66,166,187,.13),
    0 15px 30px rgba(43,127,143,.13),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -1px 0 rgba(18,73,84,.065);
}

/* =========================================================
   ACT2 EXPLORER OPEN CARD POLISH — V267
   Open branch headers merge into the white detail panel.
   A quiet divider separates copy from the brand logo area.
========================================================= */
.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-department-button{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(70,57,50,.035);
}

.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-brand-chips{
  border-top:1px solid rgba(60,50,45,.07);
}

/* =========================================================
   ACT2 EXPLORER DETAIL RHYTHM — RECOVERY V272
   Copy lift remains shared. Little Star vertical offset is PC-only.
========================================================= */
.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail-text,
.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail-list{
  transform:translateY(-6px);
}

@media (min-width:761px){
  .act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
    position:relative;
    top:-12px;
  }
}

/* =========================================================
   FOUNDER / ORIGINAL COPY + SCROLL LINE + SIGNATURE LOGO V278
========================================================= */

.act2-founder-header::after{
  right:auto;
  width:100%;
  transform:scaleX(var(--founder-line-progress,0));
  transition:none;
  will-change:transform;
}

.act2-founder.is-visible .act2-founder-header::after{
  transform:scaleX(var(--founder-line-progress,0));
}

.act2-founder-photo-card{
  border:0;
}

.act2-founder-letter-index{
  margin-left:-8px;
  margin-right:-8px;
}

.act2-founder-body{
  gap:22px;
}

.act2-founder-signature{
  padding-top:34px;
}

.act2-founder-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.act2-founder-logo{
  display:block;
  width:auto;
  height:23px;
  max-width:118px;
  object-fit:contain;
  opacity:.58;
}

@media (max-width:760px){
  .act2-founder-letter-index{
    margin-left:-4px;
    margin-right:-4px;
  }

  .act2-founder-signature{
    padding-top:30px;
  }

  .act2-founder-logo{
    height:21px;
    max-width:108px;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-header::after,
  .act2-founder.is-visible .act2-founder-header::after{
    transform:scaleX(1);
  }
}


/* =========================================================
   FOUNDER / EXPANDING EDITORIAL PROTOTYPE V280
========================================================= */
.act2-founder-editorial{
  grid-template-columns:minmax(0,1.72fr) minmax(320px,.78fr);
  transition:grid-template-columns .9s cubic-bezier(.22,1,.36,1),gap .9s cubic-bezier(.22,1,.36,1);
}

.act2-founder-editorial.is-reading{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
}

.act2-founder-photo-card,
.act2-founder-letter{
  transition:box-shadow .7s ease,transform .9s cubic-bezier(.22,1,.36,1);
}

.act2-founder-letter{
  overflow:hidden;
}

.act2-founder-actions{
  margin-top:auto;
  padding-top:28px;
}

.act2-founder-read{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 20px;
  border:1px solid rgba(47,42,40,.13);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#2f2a28;
  font:inherit;
  font-size:12px;
  letter-spacing:.12em;
  cursor:pointer;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}

.act2-founder-read:hover{
  background:#fff;
  border-color:rgba(47,42,40,.22);
  transform:translateY(-1px);
}

.act2-founder-read-arrow{
  font-size:18px;
  line-height:1;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}

.act2-founder-read:hover .act2-founder-read-arrow{
  transform:translateX(4px);
}

.act2-founder-body,
.act2-founder-signature{
  opacity:0;
  visibility:hidden;
  max-height:0;
  overflow:hidden;
  transform:translateX(22px);
  transition:opacity .45s ease,transform .7s cubic-bezier(.22,1,.36,1),max-height .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s;
}

.act2-founder-editorial.is-reading .act2-founder-body{
  opacity:1;
  visibility:visible;
  max-height:1100px;
  transform:translateX(0);
  transition-delay:.18s,.12s,0s,0s;
}

.act2-founder-editorial.is-reading .act2-founder-signature{
  opacity:1;
  visibility:visible;
  max-height:180px;
  transform:translateX(0);
  transition-delay:.3s,.22s,.08s,0s;
}

.act2-founder-editorial.is-reading .act2-founder-actions{
  display:none;
}

.act2-founder-back{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0 auto 0 0;
  color:rgba(47,42,40,.52);
  font:inherit;
  font-size:10px;
  letter-spacing:.12em;
  cursor:pointer;
}

.act2-founder-back::before{
  content:"←";
  display:inline-block;
  margin-right:8px;
  transition:transform .3s ease;
}

.act2-founder-back:hover::before{
  transform:translateX(-3px);
}

.act2-founder-editorial:not(.is-reading) .act2-founder-letter{
  justify-content:center;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-letter-index{
  margin-bottom:auto;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-statement{
  margin-top:auto;
  margin-bottom:0;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-photo-card{
  transform:translateZ(0);
}

@media (max-width:760px){
  .act2-founder-editorial,
  .act2-founder-editorial.is-reading{
    grid-template-columns:1fr;
  }

  .act2-founder-body,
  .act2-founder-signature{
    transform:translateY(14px);
  }

  .act2-founder-editorial.is-reading .act2-founder-body,
  .act2-founder-editorial.is-reading .act2-founder-signature{
    transform:translateY(0);
  }

  .act2-founder-actions{
    padding-top:24px;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-editorial,
  .act2-founder-photo-card,
  .act2-founder-letter,
  .act2-founder-body,
  .act2-founder-signature,
  .act2-founder-read,
  .act2-founder-read-arrow,
  .act2-founder-back::before{
    transition:none;
  }
}


/* =========================================================
   FOUNDER / COVER EDITORIAL + SLOWER SCROLL LINE V281
========================================================= */
.act2-founder-cover-copy{
  display:none;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-statement{
  display:none;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-letter{
  justify-content:stretch;
  padding-top:54px;
  padding-bottom:48px;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-letter-index{
  margin-bottom:0;
}

.act2-founder-editorial:not(.is-reading) .act2-founder-cover-copy{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:44px 4px 36px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  color:#2f2a28;
}

.act2-founder-cover-line{
  display:block;
  font-size:clamp(28px,2.65vw,43px);
  font-weight:400;
  line-height:1.46;
  letter-spacing:.045em;
  white-space:nowrap;
}

.act2-founder-cover-space{
  display:block;
  height:clamp(14px,1.7vw,28px);
}

.act2-founder-cover-and{
  font-size:clamp(22px,2vw,31px);
}

.act2-founder-cover-person{
  display:block;
  margin-top:clamp(12px,1.35vw,22px);
  align-self:flex-end;
  padding-right:8px;
  font-size:clamp(48px,5vw,78px);
  font-weight:400;
  line-height:1;
  letter-spacing:.08em;
}

.act2-founder-editorial.is-reading .act2-founder-cover-copy{
  display:none;
}

.act2-founder-editorial.is-reading .act2-founder-statement{
  display:block;
}

@media (max-width:1100px) and (min-width:761px){
  .act2-founder-cover-line{
    font-size:clamp(25px,2.5vw,34px);
  }

  .act2-founder-cover-and{
    font-size:clamp(20px,1.9vw,27px);
  }

  .act2-founder-cover-person{
    font-size:clamp(43px,4.6vw,62px);
  }
}

@media (max-width:760px){
  .act2-founder-editorial:not(.is-reading) .act2-founder-letter{
    min-height:520px;
    padding-top:42px;
    padding-bottom:38px;
  }

  .act2-founder-editorial:not(.is-reading) .act2-founder-cover-copy{
    padding:42px 0 32px;
  }

  .act2-founder-cover-line{
    font-size:clamp(27px,8vw,38px);
    white-space:normal;
  }

  .act2-founder-cover-and{
    font-size:clamp(21px,6.4vw,29px);
  }

  .act2-founder-cover-person{
    font-size:clamp(48px,14vw,68px);
  }
}

/* =========================================================
   FOUNDER / COVER WIDTH-SAFE TYPOGRAPHY V282
========================================================= */
@media (min-width:761px){
  .act2-founder-editorial:not(.is-reading) .act2-founder-cover-copy{
    width:100%;
    max-width:204px;
    margin:0 auto;
    padding:34px 0 26px;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
  }

  .act2-founder-cover-line{
    width:100%;
    font-size:clamp(24px,1.9vw,28px);
    line-height:1.48;
    letter-spacing:.035em;
    white-space:nowrap;
    text-align:center;
  }

  .act2-founder-cover-and{
    font-size:clamp(21px,1.65vw,25px);
  }

  .act2-founder-cover-space{
    height:clamp(10px,1vw,16px);
  }

  .act2-founder-cover-person{
    align-self:center;
    margin-top:clamp(10px,1vw,16px);
    padding-right:0;
    font-size:clamp(46px,4.2vw,62px);
    text-align:center;
  }
}

/* =========================================================
   FOUNDER / FIXED COVER COMPOSITION V283
========================================================= */
@media (min-width:761px){
  .act2-founder-editorial:not(.is-reading) .act2-founder-cover-copy{
    width:100%;
    max-width:none;
    margin:0;
    padding:34px 0 26px;
    align-items:center;
    justify-content:center;
    text-align:center;
    box-sizing:border-box;
  }

  .act2-founder-cover-line{
    width:100%;
    font-size:21px;
    line-height:1.55;
    letter-spacing:.03em;
    white-space:nowrap;
    text-align:center;
  }

  .act2-founder-cover-and{
    font-size:21px;
  }

  .act2-founder-cover-space{
    height:14px;
  }

  .act2-founder-cover-person{
    align-self:center;
    margin-top:14px;
    padding-right:0;
    font-size:clamp(46px,4.2vw,62px);
    text-align:center;
  }
}

@media (max-width:760px){
  .act2-founder-editorial:not(.is-reading) .act2-founder-cover-copy{
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  .act2-founder-cover-line{
    width:100%;
    font-size:21px;
    line-height:1.55;
    letter-spacing:.03em;
    white-space:nowrap;
    text-align:center;
  }

  .act2-founder-cover-and{
    font-size:21px;
  }

  .act2-founder-cover-space{
    height:14px;
  }

  .act2-founder-cover-person{
    align-self:center;
    margin-top:14px;
    padding-right:0;
    text-align:center;
  }
}

/* =========================================================
   FOUNDER / COVER LOGO + PERSON SPACING V284
========================================================= */
.act2-founder-cover-logo{
  position:absolute;
  z-index:2;
  left:34px;
  bottom:78px;
  display:block;
  width:auto;
  height:34px;
  max-width:154px;
  object-fit:contain;
  opacity:.78;
  filter:blur(0);
  transform:translateY(0);
  transition:opacity .42s ease,filter .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}

.act2-founder-editorial.is-reading .act2-founder-cover-logo{
  opacity:0;
  filter:blur(4px);
  transform:translateY(6px);
}

@media (min-width:761px){
  .act2-founder-cover-person{
    margin-top:26px;
  }
}

@media (max-width:760px){
  .act2-founder-cover-logo{
    left:24px;
    bottom:68px;
    height:29px;
    max-width:132px;
  }

  .act2-founder-cover-person{
    margin-top:24px;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-cover-logo{
    transition:none;
  }
}

/* =========================================================
   FOUNDER / COVER LOGO SCALE + PERSON SPACING V285
========================================================= */
.act2-founder-cover-logo{
  height:44px;
  max-width:200px;
}

@media (min-width:761px){
  .act2-founder-cover-person{
    margin-top:38px;
  }
}

@media (max-width:760px){
  .act2-founder-cover-logo{
    height:38px;
    max-width:172px;
  }

  .act2-founder-cover-person{
    margin-top:36px;
  }
}

/* =========================================================
   FOUNDER / COVER LOGO SCALE V287
========================================================= */
.act2-founder-cover-logo{
  height:55px;
  max-width:250px;
}

@media (max-width:760px){
  .act2-founder-cover-logo{
    height:48px;
    max-width:218px;
  }
}

/* =========================================================
   FOUNDER / UNIFIED PANEL RESIZE V293
========================================================= */
.act2-founder-editorial{
  transition:grid-template-columns .9s cubic-bezier(.22,1,.36,1),
             gap .9s cubic-bezier(.22,1,.36,1),
             height .9s cubic-bezier(.22,1,.36,1);
}

.act2-founder-editorial.is-resizing{
  overflow:hidden;
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-editorial{
    transition:none;
  }
}


/* =========================================================
   FOUNDER / READING VISUAL CROSSFADE V294
========================================================= */
.act2-founder-photo{
  position:absolute;
  inset:0;
  min-height:0;
  transition:opacity .9s cubic-bezier(.22,1,.36,1),
             filter .9s cubic-bezier(.22,1,.36,1),
             transform .9s cubic-bezier(.22,1,.36,1);
}

.act2-founder-photo-cover{
  z-index:0;
  opacity:1;
  filter:blur(0);
  transform:scale(1);
}

.act2-founder-photo-reading{
  z-index:0;
  opacity:0;
  filter:blur(7px);
  transform:scale(1.018);
  object-position:center;
}

.act2-founder-photo-card::after{
  z-index:1;
  opacity:1;
  transition:opacity .7s ease;
}

.act2-founder-editorial.is-reading .act2-founder-photo-cover{
  opacity:0;
  filter:blur(5px);
  transform:scale(1.012);
}

.act2-founder-editorial.is-reading .act2-founder-photo-reading{
  opacity:1;
  filter:blur(0);
  transform:scale(1);
}

.act2-founder-editorial.is-reading .act2-founder-photo-card::after{
  opacity:0;
}

.act2-founder-editorial.is-reading .act2-founder-photo-caption{
  opacity:0;
  filter:blur(4px);
  transform:translateY(6px);
  pointer-events:none;
}

.act2-founder-photo-caption{
  transition:opacity .42s ease,
             filter .55s cubic-bezier(.16,1,.3,1),
             transform .55s cubic-bezier(.16,1,.3,1);
}

.act2-founder-reading-logo{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  display:block;
  width:min(62%,260px);
  height:auto;
  max-height:92px;
  object-fit:contain;
  opacity:0;
  filter:blur(8px);
  transform:translate(-50%,-50%) scale(.965);
  transition:opacity .58s ease,
             filter .78s cubic-bezier(.16,1,.3,1),
             transform .78s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}

.act2-founder-editorial.is-reading .act2-founder-reading-logo{
  opacity:.92;
  filter:blur(0);
  transform:translate(-50%,-50%) scale(1);
  transition-delay:.18s,.18s,.18s;
}

.act2-founder-photo-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 50%, rgba(35,32,28,.23) 0%, rgba(35,32,28,.16) 30%, rgba(35,32,28,.07) 52%, rgba(35,32,28,0) 78%);
  transition:opacity .6s cubic-bezier(.16,1,.3,1);
  z-index:2;
}
.act2-founder-editorial.is-reading .act2-founder-photo-card::before{
  opacity:1;
}

@media (max-width:760px){
  .act2-founder-reading-logo{
    width:min(60%,220px);
    max-height:78px;
  }
}

@media (prefers-reduced-motion:reduce){
  .act2-founder-photo,
  .act2-founder-photo-card::after,
  .act2-founder-photo-caption,
  .act2-founder-reading-logo{
    transition:none;
  }
}

/* =========================================================
   FOUNDER / READING LOGO PRESENCE V295
========================================================= */
.act2-founder-reading-logo{
  width:min(82%,390px);
  max-height:138px;
}

.act2-founder-editorial.is-reading .act2-founder-reading-logo{
  opacity:1;
  filter:blur(0) drop-shadow(0 2px 10px rgba(255,255,255,.26));
}

@media (max-width:760px){
  .act2-founder-reading-logo{
    width:min(78%,330px);
    max-height:117px;
  }
}

/* =========================================================
   FOUNDER / MOBILE UNIFIED CARD TEST V302
   Mobile-only visual unification of photo + message panels.
========================================================= */
@media (max-width:760px){
  .act2-founder .act2-founder-editorial,
  .act2-founder .act2-founder-editorial.is-reading{
    gap:0;
    align-content:start;
    border:1px solid rgba(47,42,40,.055);
    border-radius:26px;
    background:#fff;
    box-shadow:
      0 18px 42px rgba(83,70,58,.09),
      0 4px 12px rgba(83,70,58,.045),
      inset 0 1px 0 rgba(255,255,255,.72);
  }

  .act2-founder .act2-founder-photo-card,
  .act2-founder .act2-founder-letter{
    border:0;
    box-shadow:none;
  }

  .act2-founder .act2-founder-photo-card{
    border-radius:25px 25px 0 0;
  }

  .act2-founder .act2-founder-letter{
    position:relative;
    border-radius:0 0 25px 25px;
  }

  .act2-founder .act2-founder-letter::before{
    content:"";
    position:absolute;
    top:0;
    left:26px;
    right:26px;
    height:1px;
    background:rgba(47,42,40,.08);
    pointer-events:none;
  }
}


/* =========================================================
   FOUNDER / MOBILE SIGNATURE + FIXED OPENING BREAK V303
   Mobile-only signature centering and intentional headline wrap.
========================================================= */
.act2-founder-statement-mobile-break{
  display:none;
}

@media (max-width:760px){
  .act2-founder-statement-mobile-break{
    display:block;
  }

  .act2-founder-signature{
    align-items:stretch;
  }

  .act2-founder-back{
    align-self:flex-start;
  }

  .act2-founder-brand{
    width:100%;
    justify-content:center;
  }

  .act2-founder-name{
    width:100%;
    text-align:center;
  }
}


/* =========================================================
   ACT2 COMPANY — TRUE CONTINUOUS EXPANDING PANEL v310
========================================================= */
.act2-company-unified{
  position:relative;
  display:grid;
  grid-template-columns:38% 62%;
  overflow:hidden;
  border:1px solid rgba(47,42,40,.07);
  border-radius:34px;
  background:#fff;
  box-shadow:0 24px 70px rgba(47,42,40,.07);
}
.act2-company-unified-left{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(145deg,#e2d8cd 0%,#f1e9df 50%,#ead8d7 100%);
}
.act2-company-unified-left .act2-company-intro-mark{
  position:relative;
  z-index:2;
  width:100%;
  min-height:310px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .88s cubic-bezier(.2,.75,.22,1);
}
.act2-company-unified-left .act2-company-intro-mark img{
  display:block;
  width:min(174px,42%);
  height:auto;
}
.act2-company-unified-watermark{
  position:absolute;
  right:-24px;
  bottom:-96px;
  z-index:1;
  font-family:Georgia,serif;
  font-size:340px;
  line-height:1;
  color:rgba(255,255,255,0);
  transition:color .55s ease .18s;
}
.act2-company-unified.is-open .act2-company-unified-watermark{
  color:rgba(255,255,255,.24);
}
.act2-company-unified-right{
  min-width:0;
  background:rgba(255,255,255,.96);
}
.act2-company-unified-summary{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  min-height:310px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
  appearance:none;
}
.act2-company-unified-summary:focus-visible{
  outline:2px solid rgba(47,42,40,.34);
  outline-offset:-4px;
}
.act2-company-unified .act2-company-intro-copy{
  position:relative;
  z-index:1;
}
.act2-company-unified-icon{
  position:absolute;
  right:46px;
  bottom:38px;
  z-index:2;
  width:38px;
  height:38px;
  border:1px solid rgba(47,42,40,.17);
  border-radius:50%;
  background:rgba(255,255,255,.01);
}
.act2-company-unified-icon::before,
.act2-company-unified-icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:13px;
  height:1px;
  background:#2f2a28;
  transform:translate(-50%,-50%);
  transition:transform .45s cubic-bezier(.2,.75,.25,1),opacity .3s ease;
}
.act2-company-unified-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.act2-company-unified.is-open .act2-company-unified-icon::after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0);
}
.act2-company-unified-expand{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:
    grid-template-rows .9s cubic-bezier(.2,.75,.22,1),
    opacity .32s ease .08s;
}
.act2-company-unified.is-open .act2-company-unified-expand{
  grid-template-rows:1fr;
  opacity:1;
  transition:
    grid-template-rows .9s cubic-bezier(.2,.75,.22,1),
    opacity .4s ease .24s;
}
.act2-company-unified-expand-inner{
  min-height:0;
  overflow:hidden;
}
.act2-company-unified-body{
  background:transparent;
  transform:translateY(-10px);
  transition:transform .55s cubic-bezier(.2,.75,.22,1) .08s;
}
.act2-company-unified.is-open .act2-company-unified-body{
  transform:translateY(0);
  transition-delay:.22s;
}
.act2-company-unified .act2-company-profile-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:36px 52px 18px;
  border-top:1px solid rgba(47,42,40,.08);
}
.act2-company-unified .act2-company-profile-facts > div:last-child{
  grid-column:auto;
  min-height:164px;
  border-bottom:0;
}
.act2-company-unified .act2-company-profile-facts > div:nth-child(-n+2){border-top:0;}
.act2-company-unified-business{
  padding:28px 52px 48px;
  border-top:1px solid rgba(47,42,40,.08);
}
.act2-company-unified-business-heading{
  display:flex;
  align-items:baseline;
  gap:28px;
  margin-bottom:26px;
}
.act2-company-unified-business-heading span{
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(47,42,40,.38);
}
.act2-company-unified-business-heading h4{
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(24px,2.5vw,35px);
  font-weight:400;
  letter-spacing:.04em;
}
@media(max-width:767px){
  .act2-company-unified{
    grid-template-columns:1fr;
    border-radius:28px;
  }
  .act2-company-unified-left{
    min-height:230px;
  }
  .act2-company-unified-left .act2-company-intro-mark{
    min-height:230px;
  }
  .act2-company-unified-left .act2-company-intro-mark img{
    width:min(150px,36%);
  }
  .act2-company-unified-watermark{display:none;}
  .act2-company-unified-summary{min-height:0;}
  .act2-company-unified .act2-company-intro-copy{padding:34px 28px 74px;}
  .act2-company-unified .act2-company-intro-index{margin-bottom:20px;}
  .act2-company-unified .act2-company-intro-copy h3{font-size:clamp(30px,9vw,42px);}
  .act2-company-unified-icon{right:24px;bottom:26px;width:34px;height:34px;}
  .act2-company-unified .act2-company-profile-facts{
    grid-template-columns:1fr;
    padding:10px 24px 22px;
  }
  .act2-company-unified .act2-company-profile-facts > div,
  .act2-company-unified .act2-company-profile-facts > div:last-child{
    grid-column:auto;
    min-height:118px;
    padding:22px 4px;
    border-right:0;
    border-top:1px solid rgba(47,42,40,.08);
    border-bottom:0;
  }
  .act2-company-unified .act2-company-profile-facts > div:first-child{border-top:0;}
  .act2-company-unified-business{padding:26px 24px 32px;}
  .act2-company-unified-business-heading{display:block;margin-bottom:22px;}
  .act2-company-unified-business-heading span{display:block;margin-bottom:10px;}
}

/* =========================================================
   ACT2 COMPANY — DETAIL POLISH TEST v311
   v310 stretch behavior preserved; visual hierarchy refined.
========================================================= */
.act2-company-unified-left::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("images/hero-flower.PNG") 52% 54% / cover no-repeat;
  opacity:0;
  transform:scale(1.08);
  filter:saturate(.72) contrast(.88) brightness(1.08);
  transition:opacity .8s ease .18s,transform 1.05s cubic-bezier(.2,.75,.22,1);
}
.act2-company-unified-left::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(145deg,rgba(239,232,222,.90),rgba(216,227,223,.82));
  opacity:0;
  transition:opacity .8s ease .18s;
}
.act2-company-unified.is-open .act2-company-unified-left::after{opacity:.34;transform:scale(1);}
.act2-company-unified.is-open .act2-company-unified-left::before{opacity:.42;}
.act2-company-unified-flower{display:none;}

.act2-company-unified-left .act2-company-intro-mark img{
  width:min(138px,34%);
  transition:width .9s cubic-bezier(.2,.75,.22,1),transform .9s cubic-bezier(.2,.75,.22,1);
}
.act2-company-unified.is-open .act2-company-unified-left .act2-company-intro-mark img{width:min(164px,40%);}

.act2-company-unified .act2-company-intro-copy h3{
  font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:clamp(32px,3.35vw,48px);
  font-weight:400;
  letter-spacing:.015em;
  line-height:1.16;
}
.act2-company-summary-cta{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:30px;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(47,42,40,.58);
}
.act2-company-summary-cta-symbol{
  position:relative;
  width:28px;height:28px;
  border:1px solid rgba(47,42,40,.17);
  border-radius:50%;
}
.act2-company-summary-cta-symbol::before,.act2-company-summary-cta-symbol::after{
  content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:#2f2a28;transform:translate(-50%,-50%);transition:transform .4s ease,opacity .3s ease;
}
.act2-company-summary-cta-symbol::after{transform:translate(-50%,-50%) rotate(90deg);}
.act2-company-unified.is-open .act2-company-summary-cta-label{font-size:0;}
.act2-company-unified.is-open .act2-company-summary-cta-label::after{content:"閉じる";font-size:12px;}
.act2-company-unified.is-open .act2-company-summary-cta-symbol::after{opacity:0;transform:translate(-50%,-50%);}
.act2-company-unified-icon{display:none;}

.act2-company-unified .act2-company-profile-facts{gap:0;padding:34px 52px 14px;}
.act2-company-unified .act2-company-profile-facts > div{padding:28px 30px;min-height:158px;}
.act2-company-unified .act2-company-profile-facts dt{
  display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;row-gap:7px;
  font-size:12px;letter-spacing:.06em;color:rgba(47,42,40,.68);
}
.act2-company-unified .act2-company-profile-facts dt > span{
  grid-row:1 / 3;display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(47,42,40,.14);border-radius:50%;font-size:8px;letter-spacing:.08em;color:rgba(47,42,40,.42);
}
.act2-company-unified .act2-company-profile-facts dt small{
  display:block;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.18em;color:rgba(47,42,40,.34);font-weight:400;
}
.act2-company-unified .act2-company-profile-facts dd{
  margin-top:24px;font-size:clamp(20px,1.65vw,25px);line-height:1.55;letter-spacing:.01em;
}
.act2-company-unified .act2-company-profile-facts .act2-company-profile-capital{font-size:clamp(42px,4vw,60px);line-height:1.05;}

.act2-company-unified-business{padding:30px 52px 48px;}
.act2-company-unified-business-heading{display:block;margin-bottom:24px;}
.act2-company-unified-business-heading span{display:block;margin-bottom:8px;font-size:9px;letter-spacing:.22em;}
.act2-company-unified-business-heading h4{font-size:clamp(25px,2.25vw,32px);}
.act2-company-business-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;}
.act2-company-business-list li{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0;min-height:150px;padding:24px 22px 22px;border:1px solid rgba(47,42,40,.07);border-radius:20px;background:rgba(255,255,255,.76);box-shadow:0 12px 28px rgba(47,42,40,.035);transition:transform .35s ease,box-shadow .35s ease;
}
.act2-company-business-list li:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(47,42,40,.06);}
.act2-company-business-list li > span{position:absolute;top:20px;left:22px;font-size:9px;letter-spacing:.16em;color:rgba(47,42,40,.32);}
.act2-company-business-list li small{display:block;margin-bottom:7px;font-size:11px;line-height:1.5;letter-spacing:.04em;color:rgba(47,42,40,.48);}
.act2-company-business-list li strong{display:block;font-size:15px;line-height:1.55;letter-spacing:.02em;font-weight:500;color:#2f2a28;word-break:keep-all;overflow-wrap:normal;}

@media(max-width:767px){
  .act2-company-unified-left .act2-company-intro-mark img{width:min(118px,30%);}
  .act2-company-unified.is-open .act2-company-unified-left .act2-company-intro-mark img{width:min(142px,35%);}
  .act2-company-unified .act2-company-intro-copy h3{font-size:clamp(28px,8vw,38px);}
  .act2-company-summary-cta{margin-top:24px;}
  .act2-company-unified .act2-company-profile-facts > div{min-height:0;padding:24px 4px;}
  .act2-company-unified .act2-company-profile-facts dd{margin-top:18px;font-size:20px;}
  .act2-company-business-list{grid-template-columns:1fr;gap:10px;}
  .act2-company-business-list li{min-height:120px;}
}


/* =========================================================
   ACT2 COMPANY — COLOR / TYPE / INFORMATION SYSTEM TEST v312
   v311 stretch motion preserved; requested visual refinements only.
========================================================= */
.act2-company-unified-left::before{
  background:linear-gradient(145deg,rgba(244,236,227,.82),rgba(232,209,209,.68));
}
.act2-company-unified-left::after{
  filter:saturate(.82) contrast(.9) brightness(1.06);
}
.act2-company-unified .act2-company-intro-copy h3{
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
  font-size:clamp(30px,3vw,43px);
  font-weight:300;
  letter-spacing:.025em;
}
.act2-company-unified .act2-company-profile-facts .act2-company-profile-capital{
  font-size:clamp(30px,2.8vw,42px);
  line-height:1.12;
}
.act2-company-unified-business-heading{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:10px;
  margin-bottom:24px;
}
.act2-company-business-number{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid rgba(47,42,40,.14);
  border-radius:50%;
  font-size:8px;
  letter-spacing:.08em;
  color:rgba(47,42,40,.42);
}
.act2-company-unified-business-heading > div{
  display:grid;
  row-gap:7px;
}
.act2-company-unified-business-heading small{
  display:block;
  font-size:8px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(47,42,40,.34);
  font-weight:400;
}
.act2-company-unified-business-heading h4{
  margin:0;
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.06em;
  font-weight:400;
  color:rgba(47,42,40,.68);
}
.act2-company-business-list li{
  justify-content:center;
}
.act2-company-business-list li > span{display:none;}
.act2-company-business-list li small{
  margin-bottom:9px;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:none;
}
.act2-company-business-list li strong{
  font-size:15px;
  line-height:1.55;
  letter-spacing:.025em;
}
@media(max-width:767px){
  .act2-company-unified .act2-company-intro-copy h3{font-size:clamp(27px,7.3vw,35px);}
  .act2-company-unified .act2-company-profile-facts .act2-company-profile-capital{font-size:34px;}
}


/* ACT2 COMPANY PROFILE v314 — align 05 with the exact 01–04 information grid */
.act2-company-unified-business-heading{
  margin-bottom:24px;
  padding-left:30px;
}
.act2-company-business-meta{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:10px;
  row-gap:7px;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(47,42,40,.68);
}
.act2-company-business-meta > span{
  grid-row:1 / 3;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  margin:0;
  border:1px solid rgba(47,42,40,.14);
  border-radius:50%;
  font-size:8px;
  line-height:1;
  letter-spacing:.08em;
  color:rgba(47,42,40,.42);
}
.act2-company-business-meta > small{
  display:block;
  margin:0;
  font-size:8px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(47,42,40,.34);
  font-weight:400;
}
.act2-company-business-meta > strong{
  display:block;
  margin:0;
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.06em;
  font-weight:400;
  color:rgba(47,42,40,.68);
}
.act2-company-business-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.act2-company-business-list li small{
  text-transform:uppercase;
  letter-spacing:.14em;
}
@media(max-width:767px){
  .act2-company-unified-business-heading{padding-left:0;}
  .act2-company-business-list{grid-template-columns:1fr 1fr;}
}


/* =========================================================
   ACT2 COMPANY PROFILE v315 — PC FINAL POLISH TEST
   v314 structure and stretch behavior preserved.
========================================================= */
@keyframes act2CompanyFlowerBreath{
  0%{
    transform:translateX(-26px) scale(1.065);
  }
  100%{
    transform:translateX(26px) scale(1.035);
  }
}

@media(min-width:768px){
  .act2-company-unified-left .act2-company-intro-mark{
    transition:transform .88s cubic-bezier(.2,.75,.22,1);
  }

  .act2-company-unified.is-open .act2-company-unified-left .act2-company-intro-mark{
    transform:translateY(-14px);
  }

  .act2-company-unified.is-open .act2-company-unified-left::after{
    opacity:.34;
    animation:act2CompanyFlowerBreath 10s ease-in-out 1s infinite alternate;
  }

  .act2-company-unified .act2-company-profile-facts{
    padding-top:18px;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(3) dd{
    font-size:clamp(17px,1.35vw,21px);
    white-space:nowrap;
  }

  .act2-company-business-list li{
    overflow:hidden;
  }

  .act2-company-business-list li::before{
    content:"";
    position:absolute;
    top:0;
    left:22px;
    right:22px;
    height:1px;
    background:rgba(47,42,40,.13);
  }

  .act2-company-business-list li::after{
    content:"";
    position:absolute;
    top:18px;
    left:22px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(47,42,40,.28);
  }

  .act2-company-business-list li small{
    letter-spacing:.18em;
  }
}

@media(prefers-reduced-motion:reduce){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    animation:none;
    transform:scale(1.04);
  }
}

/* =========================================================
   ACT2 COMPANY PROFILE v316 — FLOWER EDGE / CARD ACCENT FIX
   v315 motion and layout preserved.
========================================================= */
@keyframes act2CompanyFlowerBreath{
  0%{
    transform:translateX(-26px) scale(1.13);
  }
  100%{
    transform:translateX(26px) scale(1.10);
  }
}

@media(min-width:768px){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    inset:-4%;
  }

  .act2-company-business-list li::before{
    top:15px;
    left:30px;
    right:30px;
  }

  .act2-company-business-list li::after{
    top:29px;
    left:30px;
  }
}

/* =========================================================
   ACT2 COMPANY PROFILE v317 — FLOWER MOTION CONTINUITY / CARD ACCENT
   v316 structure preserved; requested PC-only refinements.
========================================================= */
@keyframes act2CompanyFlowerBreath{
  0%{
    transform:translateX(0) scale(1);
  }
  50%{
    transform:translateX(26px) scale(1.055);
  }
  100%{
    transform:translateX(-26px) scale(1.025);
  }
}

@media(min-width:768px){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    animation:act2CompanyFlowerBreath 6s ease-in-out 1.05s infinite;
  }

  .act2-company-business-list li::before{
    top:9px;
  }

  .act2-company-business-list li::after{
    top:21px;
  }
}

/* =========================================================
   ACT2 COMPANY PROFILE v318 — SEAMLESS FLOWER LOOP / CARD ACCENT
   v317 structure preserved; PC-only refinements.
========================================================= */
@keyframes act2CompanyFlowerBreath{
  0%{
    transform:translateX(-26px) scale(1.025);
  }
  100%{
    transform:translateX(26px) scale(1.055);
  }
}

@media(min-width:768px){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    animation:act2CompanyFlowerBreath 6s ease-in-out 1.05s infinite alternate;
  }

  .act2-company-business-list li::after{
    display:none;
  }
}

/* =========================================================
   ACT2 COMPANY PROFILE v319 — OPEN-TO-BREATH CONTINUITY
   v318 layout preserved; flower starts from the exact open state.
========================================================= */
@keyframes act2CompanyFlowerBreath{
  0%{
    transform:translateX(0) scale(1);
  }
  50%{
    transform:translateX(26px) scale(1.055);
  }
  100%{
    transform:translateX(-26px) scale(1.025);
  }
}

@media(min-width:768px){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    animation:act2CompanyFlowerBreath 6s ease-in-out 1.05s infinite alternate;
  }
}

/* =========================================================
   ACT2 COMPANY PROFILE v320 — PC DIVIDERS / MOBILE POLISH
   v319 motion preserved; requested PC and mobile-only refinements.
========================================================= */
@media(min-width:768px){
  .act2-company-unified .act2-company-profile-facts{
    position:relative;
  }

  .act2-company-unified .act2-company-profile-facts > div{
    position:relative;
    border-top:0;
    border-right:0;
  }

  .act2-company-unified .act2-company-profile-facts::before,
  .act2-company-unified .act2-company-profile-facts::after{
    content:"";
    position:absolute;
    left:50%;
    width:1px;
    background:rgba(47,42,40,.07);
    transform:translateX(-50%);
    pointer-events:none;
  }

  .act2-company-unified .act2-company-profile-facts::before{
    top:32px;
    height:calc(50% - 58px);
  }

  .act2-company-unified .act2-company-profile-facts::after{
    top:calc(50% + 26px);
    bottom:28px;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(1)::after,
  .act2-company-unified .act2-company-profile-facts > div:nth-child(2)::after{
    content:"";
    position:absolute;
    bottom:0;
    height:1px;
    background:rgba(47,42,40,.07);
    pointer-events:none;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(1)::after{
    left:30px;
    right:26px;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(2)::after{
    left:26px;
    right:30px;
  }
}

@keyframes act2CompanyFlowerBreathMobile{
  0%{
    transform:translateX(0) scale(1.06);
  }
  50%{
    transform:translateX(18px) scale(1.11);
  }
  100%{
    transform:translateX(-18px) scale(1.08);
  }
}

@media(max-width:767px){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    inset:-7%;
    opacity:.36;
    transform:translateX(0) scale(1.06);
    animation:act2CompanyFlowerBreathMobile 5.4s ease-in-out .95s infinite alternate;
  }

  .act2-company-unified .act2-company-profile-facts > div{
    border-top:0;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(n+2){
    border-top:1px solid rgba(47,42,40,.08);
  }

  .act2-company-business-list li{
    overflow:hidden;
  }

  .act2-company-business-list li::before{
    content:"";
    position:absolute;
    top:9px;
    left:24px;
    right:24px;
    height:1px;
    background:rgba(47,42,40,.13);
  }

  .act2-company-business-list li::after{
    display:none;
  }
}

@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .act2-company-unified.is-open .act2-company-unified-left::after{
    animation:none;
    transform:scale(1.06);
  }
}


/* =========================================================
   ACT2 SECTION HEADER SCROLL LINES / MOBILE FLOWER SCALE v321
   Founder line behavior reused for Partner and Company only.
========================================================= */
.act2-partner-header,
.act2-company-header,
.act2-contact-header{
  position:relative;
  padding-bottom:28px;
}

.act2-partner-header::after,
.act2-company-header::after,
.act2-contact-header::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,rgba(47,42,40,.34),rgba(47,42,40,.08));
  transform:scaleX(var(--act2-header-line-progress,0));
  transform-origin:left center;
  will-change:transform;
  pointer-events:none;
}

/* Replace the old static Partner title underline with the shared header line. */
.act2-partner .act2-title::after{
  display:none;
}

@media(max-width:767px){
  .act2-partner-header,
  .act2-company-header,
  .act2-contact-header{
    padding-bottom:24px;
  }

  .act2-company-unified.is-open .act2-company-unified-left::after{
    inset:-27%;
  }
}

@media(prefers-reduced-motion:reduce){
  .act2-partner-header::after,
  .act2-contact-header::after,
  .act2-company-header::after{
    transform:scaleX(1);
  }
}


/* =========================================================
   ACT2 HEADER RHYTHM FINAL POLISH v322
   - Faster shared scroll-line progress is handled in script.js.
   - Header line remains after the complete header block (title + lead).
   - Desktop: only Group Partner title is reduced to the established common scale.
   - Mobile: common ACT2 titles are visually unified without breaking the long one-line Partner title.
========================================================= */
@media(min-width:761px){
  .act2-partner .act2-title{
    padding-bottom:0;
    font-size:clamp(34px,3.2vw,52px);
    line-height:1.35;
    letter-spacing:.04em;
  }
}

@media(max-width:760px){
  .act2-founder .act2-title,
  .act2-company .act2-title,
  .act2-contact .act2-title{
    font-size:28px;
  }

  .act2-partner .act2-title{
    padding-bottom:0;
    font-size:clamp(18px,5.2vw,24px);
    line-height:1.28;
    letter-spacing:.04em;
  }
}

/* =========================================================
   CONTACT D ART TEST v335
   Contact-only visual and interaction experiment.
========================================================= */
.act2-contact-panel-d-art{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);
  gap:clamp(48px,7vw,112px);
  min-height:610px;
  padding:clamp(58px,6vw,88px);
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%,rgba(218,188,181,.18),transparent 35%),
    linear-gradient(135deg,#fff 0%,#fff 56%,#fbf8f6 100%);
}

.act2-contact-panel-d-art .act2-contact-header{
  position:relative;
  z-index:2;
  align-self:center;
  margin:0;
  max-width:580px;
}

.act2-contact-d-device{
  --contact-progress:0;
  --contact-cta-progress:0;
  position:relative;
  z-index:1;
  align-self:center;
  min-height:470px;
  padding:42px 44px 36px;
  border:1px solid rgba(47,42,40,.07);
  border-radius:36px;
  background:rgba(255,255,255,.57);
  box-shadow:0 28px 70px rgba(68,53,48,.08),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(18px) saturate(.92);
  -webkit-backdrop-filter:blur(18px) saturate(.92);
  transform:translateY(calc((1 - var(--contact-progress)) * 20px));
  opacity:1;
  transition:box-shadow .5s ease,background .5s ease;
}

.act2-contact-d-device::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(47,42,40,.035);
  border-radius:27px;
  pointer-events:none;
}

.act2-contact-d-device.is-activated{
  background:rgba(255,255,255,.72);
  box-shadow:0 34px 82px rgba(68,53,48,.12),inset 0 1px 0 rgba(255,255,255,.95);
}

.act2-contact-d-kicker{
  margin:0 0 14px;
  color:rgba(47,42,40,.42);
  font-size:11px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.act2-contact-d-copy{
  margin:0;
  color:#2f2a28;
  font-family:var(--font-serif-ja,serif);
  font-size:clamp(27px,2.2vw,32px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.035em;
}

.act2-contact-d-copy span{
  display:block;
  white-space:nowrap;
}

.act2-contact-d-art{
  position:relative;
  display:grid;
  place-items:center;
  width:min(100%,260px);
  aspect-ratio:1.5;
  margin:8px auto 0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.act2-contact-d-logo{
  position:relative;
  display:block;
  width:105px;
  height:73px;
  overflow:hidden;
}

.act2-contact-d-draw{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  transform:translateZ(0);
  will-change:transform;
}

.act2-contact-d-draw-path{
  fill:none;
  stroke:#2f2a28;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-miterlimit:1;
  vector-effect:non-scaling-stroke;
  opacity:1;
  will-change:stroke-dashoffset;
}

.act2-contact-d-device.is-activated .act2-contact-d-draw{
  transform:scale(.975) translateZ(0);
  transition:transform .18s ease;
}

.act2-contact-d-touch{
  position:absolute;
  right:12px;
  bottom:12px;
  color:rgba(47,42,40,.34);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:calc(.2 + var(--contact-progress) * .8);
}

.act2-contact-d-cta{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  --contact-cta-press-y:0px;
  width:100%;
  min-height:78px;
  margin-top:16px;
  padding:0 28px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(158,155,153,.96) 0%,rgba(143,140,138,.96) 100%);
  color:rgba(255,255,255,.96);
  box-shadow:
    0 22px 52px rgba(47,42,40,.17),
    0 6px 16px rgba(47,42,40,.08),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(47,42,40,.08);
  cursor:pointer;
  opacity:1;
  transform:translateY(calc((1 - var(--contact-cta-progress)) * 20px + var(--contact-cta-press-y))) scale(1);
  transition:transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease,background .38s ease,border-color .3s ease;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
}

.act2-contact-d-cta:active{
  --contact-cta-press-y:2px;
  transform:translateY(calc((1 - var(--contact-cta-progress)) * 20px + var(--contact-cta-press-y))) scale(.99);
  box-shadow:
    0 12px 28px rgba(47,42,40,.14),
    0 3px 8px rgba(47,42,40,.07),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(47,42,40,.1);
}

.act2-contact-d-cta:active .act2-contact-d-cta-arrow{
  transform:translateX(4px);
}

.act2-contact-d-device.is-activated .act2-contact-d-cta{
  background:
    linear-gradient(180deg,rgba(151,148,146,.98) 0%,rgba(134,131,129,.98) 100%);
  border-color:rgba(255,255,255,.34);
  box-shadow:
    0 26px 58px rgba(47,42,40,.19),
    0 7px 18px rgba(47,42,40,.09),
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(47,42,40,.09);
}

.act2-contact-d-cta-small{
  color:rgba(255,255,255,calc(.28 + var(--contact-cta-progress) * .34));
  font-size:9px;
  letter-spacing:.18em;
}

.act2-contact-d-cta-label{
  color:rgba(255,255,255,calc(.28 + var(--contact-cta-progress) * .68));
  font-size:16px;
  letter-spacing:.08em;
  text-align:left;
}

.act2-contact-d-cta-arrow{
  color:rgba(255,255,255,calc(.28 + var(--contact-cta-progress) * .68));
  font-size:24px;
  transform:translateX(0);
  transition:transform .35s ease;
}

.act2-contact-d-device.is-activated .act2-contact-d-cta-arrow{
  transform:translateX(6px);
}

@media(max-width:760px){
  .act2-contact-panel-d-art{
    grid-template-columns:1fr;
    gap:34px;
    min-height:0;
    padding:34px 28px 30px;
  }

  .act2-contact-panel-d-art .act2-contact-header{
    align-self:auto;
  }

  .act2-contact-d-device{
    min-height:0;
    padding:30px 24px 24px;
    border-radius:28px;
  }

  .act2-contact-d-device::before{
    inset:12px;
    border-radius:21px;
  }

  .act2-contact-d-copy{
    font-size:27px;
    letter-spacing:.025em;
  }

  .act2-contact-d-art{
    width:min(100%,250px);
    margin-top:4px;
  }

  .act2-contact-d-logo{
    width:99px;
    height:69px;
  }

  .act2-contact-d-cta{
    min-height:72px;
    margin-top:14px;
    padding:0 20px;
    gap:13px;
    border-radius:21px;
  }

  .act2-contact-d-cta-label{
    font-size:15px;
  }
}

@media(prefers-reduced-motion:reduce){
  .act2-contact-d-device,
  .act2-contact-d-piece,
  .act2-contact-d-svg path,
  .act2-contact-d-axis,
  .act2-contact-d-cta{
    transition:none;
  }
}

/* =========================================================
   CONTACT MOBILE TYPOGRAPHY HIERARCHY v345
   - Mobile-only: soften the upper information block.
   - D art / CTA / desktop remain untouched.
========================================================= */
@media(max-width:760px){
  .act2-contact .act2-title{
    font-size:25px;
    line-height:1.42;
    letter-spacing:.035em;
  }

  .act2-contact .act2-lead{
    margin-top:24px;
    font-size:14px;
    line-height:1.95;
    color:rgba(47,42,40,.56);
  }
}


/* =========================================================
   SITE SIGNATURE / COPYRIGHT v346
   - Quiet final signature below Contact.
========================================================= */
.site-signature{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:34px 24px 38px;
  color:rgba(47,42,40,.34);
  text-align:center;
}

.site-signature-mark{
  display:block;
  width:27px;
  height:auto;
  overflow:visible;
  fill:currentColor;
}

.site-signature-copy{
  margin:0;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.075em;
  font-weight:500;
  white-space:nowrap;
}

@media(max-width:760px){
  .site-signature{
    gap:9px;
    padding:28px 20px 32px;
  }

  .site-signature-mark{
    width:24px;
  }

  .site-signature-copy{
    font-size:9px;
    letter-spacing:.055em;
  }
}

/* =========================================================
   CONTACT INTERNAL BREATHING ROOM v348
   - More vertical rhythm between copy, D artwork and CTA.
   - Visual/interaction styling remains unchanged.
========================================================= */
.act2-contact-d-device{
  min-height:530px;
  padding-top:46px;
  padding-bottom:44px;
}

.act2-contact-d-art{
  margin-top:28px;
}

.act2-contact-d-cta{
  margin-top:30px;
}

@media(max-width:760px){
  .act2-contact-d-device{
    min-height:620px;
    padding-top:34px;
    padding-bottom:38px;
  }

  .act2-contact-d-art{
    margin-top:28px;
  }

  .act2-contact-d-cta{
    margin-top:30px;
  }
}

/* =========================================================
   CONTACT MOBILE CARD BOTTOM TRIM v349
   - Preserve the v348 internal spacing.
   - Remove only the excessive empty space below the CTA.
========================================================= */
@media(max-width:760px){
  .act2-contact-d-device{
    min-height:0;
  }
}


/* =========================================================
   ACT2 GROUP MAP : SPLIT PLATES + SHALLOW VALLEY V358
   Scope: GROUP MAP only. Explorer and all other sections stay unchanged.
========================================================= */
.act2-partner-board.is-map .act2-partner-selector{
  position:relative;
  isolation:isolate;
  gap:clamp(38px,4.8vw,72px);
}

.act2-partner-board.is-map .act2-partner-selector::before{
  content:"";
  position:absolute;
  z-index:0;
  top:20px;
  bottom:20px;
  left:50%;
  width:clamp(18px,2.2vw,32px);
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(78,68,62,.035) 34%,
    rgba(55,48,44,.075) 50%,
    rgba(78,68,62,.035) 66%,
    rgba(255,255,255,0) 100%
  );
  box-shadow:
    inset 10px 0 18px rgba(53,46,42,.022),
    inset -10px 0 18px rgba(255,255,255,.72);
  pointer-events:none;
}

.act2-partner-board.is-map .act2-partner-organization{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  padding:clamp(18px,2.1vw,30px);
  border:1px solid rgba(73,63,57,.055);
  border-radius:clamp(30px,3vw,42px);
  background:linear-gradient(
    145deg,
    rgba(255,255,255,.58) 0%,
    rgba(255,255,255,.34) 54%,
    rgba(245,242,239,.42) 100%
  );
  box-shadow:
    0 22px 54px rgba(64,55,49,.035),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(65,56,50,.025);
}

.act2-partner-board.is-map .act2-partner-organization-duracle{
  background:linear-gradient(
    145deg,
    rgba(255,255,255,.62) 0%,
    rgba(250,247,244,.42) 100%
  );
}

.act2-partner-board.is-map .act2-partner-organization-waa{
  background:linear-gradient(
    145deg,
    rgba(255,255,255,.56) 0%,
    rgba(246,247,246,.42) 100%
  );
}

.act2-partner-board.is-map .act2-partner-department-button{
  transition:
    transform .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    filter .35s ease;
}

.act2-partner-board.is-map .act2-partner-department-button:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 30px rgba(60,51,46,.08);
}

.act2-partner-board.is-map .act2-partner-department-button:active{
  transform:translateY(-1px) scale(.992);
}

@media(max-width:760px){
  .act2-partner-board.is-map .act2-partner-selector{
    gap:54px;
  }

  .act2-partner-board.is-map .act2-partner-selector::before{
    top:50%;
    bottom:auto;
    left:18px;
    right:18px;
    width:auto;
    height:22px;
    transform:translateY(-50%);
    background:linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(78,68,62,.03) 34%,
      rgba(55,48,44,.068) 50%,
      rgba(78,68,62,.03) 66%,
      rgba(255,255,255,0) 100%
    );
    box-shadow:
      inset 0 8px 16px rgba(53,46,42,.018),
      inset 0 -8px 16px rgba(255,255,255,.68);
  }

  .act2-partner-board.is-map .act2-partner-organization{
    padding:16px;
    border-radius:30px;
  }
}

/* =========================================================
   ACT2 GROUP MAP : GUIDE ICON + TRUE GAP-CENTERED VALLEY v359
   - GROUP MAP guide uses a 2x2 overview glyph instead of swipe arrows.
   - Valley is anchored to the actual gap between organization plates.
========================================================= */
.act2-partner-board.is-map .act2-partner-guide-icon{
  position:relative;
  width:15px;
  height:15px;
  flex:0 0 15px;
  font-size:0;
}

.act2-partner-board.is-map .act2-partner-guide-icon::before{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:4px;
  height:4px;
  border-radius:1.5px;
  background:currentColor;
  box-shadow:
    7px 0 0 currentColor,
    0 7px 0 currentColor,
    7px 7px 0 currentColor;
}

.act2-partner-board.is-map .act2-partner-selector{
  --act2-map-gap:clamp(38px,4.8vw,72px);
  gap:var(--act2-map-gap);
}

/* v358 selector-centered valley is disabled. */
.act2-partner-board.is-map .act2-partner-selector::before{
  display:none;
}

/* Anchor the valley to the first plate's edge, so it is always exactly
   halfway through the real grid gap regardless of container dimensions. */
.act2-partner-board.is-map .act2-partner-organization-duracle::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:20px;
  bottom:20px;
  left:100%;
  width:var(--act2-map-gap);
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(78,68,62,.035) 34%,
    rgba(55,48,44,.075) 50%,
    rgba(78,68,62,.035) 66%,
    rgba(255,255,255,0) 100%
  );
  box-shadow:
    inset 10px 0 18px rgba(53,46,42,.022),
    inset -10px 0 18px rgba(255,255,255,.72);
  pointer-events:none;
}

@media(max-width:760px){
  .act2-partner-board.is-map .act2-partner-selector{
    --act2-map-gap:54px;
    gap:var(--act2-map-gap);
  }

  .act2-partner-board.is-map .act2-partner-organization-duracle::after{
    top:100%;
    bottom:auto;
    left:18px;
    right:18px;
    width:auto;
    height:var(--act2-map-gap);
    border-radius:999px;
    background:linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(78,68,62,.03) 34%,
      rgba(55,48,44,.068) 50%,
      rgba(78,68,62,.03) 66%,
      rgba(255,255,255,0) 100%
    );
    box-shadow:
      inset 0 8px 16px rgba(53,46,42,.018),
      inset 0 -8px 16px rgba(255,255,255,.68);
  }
}

/* =========================================================
   ACT2 GROUP MAP : REFINED DIVIDER + ACTION AFFORDANCE v360
   - Keep v359 gap-centered geometry; reduce the divider to a fine groove.
   - Make map departments visibly actionable without relying on a pointer.
   - Mark only confirmed external destinations in Explorer / WAA parent card.
========================================================= */
.act2-partner-board.is-map .act2-partner-organization-duracle::after{
  top:24px;
  bottom:24px;
  left:calc(100% + (var(--act2-map-gap) / 2) - 1px);
  width:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(62,54,49,.13),rgba(255,255,255,.88));
  box-shadow:-1px 0 3px rgba(55,48,44,.045),1px 0 3px rgba(255,255,255,.72);
}

.act2-partner-board.is-map .act2-partner-department-button::after{
  content:"→";
  top:16px;
  right:18px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:50%;
  background:rgba(255,255,255,.28);
  box-shadow:0 5px 14px rgba(54,47,43,.055),inset 0 1px 0 rgba(255,255,255,.58);
  font-size:14px;
  opacity:.78;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.act2-partner-board.is-map .act2-partner-department-button:hover::after{
  opacity:1;
  transform:translate3d(3px,0,0);
}

.act2-partner-main-card-waa[data-partner-external-url]{
  cursor:pointer;
}

.act2-partner-main-card-waa[data-partner-external-url]::before{
  content:"→";
  position:absolute;
  z-index:4;
  top:22px;
  right:22px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(255,255,255,.24);
  box-shadow:0 5px 14px rgba(54,47,43,.05),inset 0 1px 0 rgba(255,255,255,.55);
  font:400 14px/1 Arial,Helvetica,sans-serif;
  opacity:.72;
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease;
}

.act2-partner-main-card-waa[data-partner-external-url]:hover::before{
  opacity:1;
  transform:translateX(3px);
}

.act2-partner-brand-link{
  position:relative;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;
}

.act2-partner-brand-link:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(56,49,46,.08);
}

.act2-partner-brand-link-mark{
  position:absolute;
  top:8px;
  right:9px;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border:1px solid rgba(56,49,46,.10);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  font:400 11px/1 Arial,Helvetica,sans-serif;
  opacity:.62;
}

@media(max-width:760px){
  .act2-partner-board.is-map .act2-partner-organization-duracle::after{
    top:calc(100% + (var(--act2-map-gap) / 2) - 1px);
    bottom:auto;
    left:22px;
    right:22px;
    width:auto;
    height:2px;
    background:linear-gradient(180deg,rgba(62,54,49,.12),rgba(255,255,255,.88));
    box-shadow:0 -1px 3px rgba(55,48,44,.04),0 1px 3px rgba(255,255,255,.72);
  }

  .act2-partner-board.is-map .act2-partner-department-button::after{
    top:14px;
    right:14px;
    width:26px;
    height:26px;
    font-size:13px;
  }

  .act2-partner-main-card-waa[data-partner-external-url]::before{
    top:18px;
    right:18px;
    width:28px;
    height:28px;
    font-size:13px;
  }
}


/* =========================================================
   ACT2 PARTNER LINKS : CLEAR ACTION HIERARCHY v361
   - Main organization card remains the primary expand/collapse action.
   - Confirmed external destinations use explicit WEBSITE / VISIT actions.
   - GROUP MAP department cards expose an EXPLORE action.
========================================================= */
.act2-partner-main-card-waa[data-partner-external-url]::before{content:none!important;}

.act2-partner-organization-waa{position:relative;}
.act2-partner-main-website{
  position:absolute;
  z-index:12;
  top:22px;
  right:22px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:999px;
  background:rgba(255,255,255,.30);
  box-shadow:0 7px 18px rgba(54,47,43,.055),inset 0 1px 0 rgba(255,255,255,.66);
  color:rgba(48,43,40,.72);
  text-decoration:none;
  font:600 9px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.16em;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .3s ease;
}
.act2-partner-main-website span:last-child{font-size:13px;letter-spacing:0;transition:transform .35s cubic-bezier(.16,1,.3,1);}
.act2-partner-main-website:hover{transform:translateY(-2px);background:rgba(255,255,255,.46);box-shadow:0 10px 22px rgba(54,47,43,.08),inset 0 1px 0 rgba(255,255,255,.72);}
.act2-partner-main-website:hover span:last-child{transform:translate(2px,-2px);}

.act2-partner-brand-link-mark{
  top:50%;
  right:14px;
  width:auto;
  height:28px;
  padding:0 10px;
  transform:translateY(-50%);
  display:inline-flex;
  gap:6px;
  border-color:rgba(56,49,46,.09);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  font:600 8px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.14em;
  opacity:.78;
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,background .25s ease;
}
.act2-partner-brand-link-mark span:last-child{font-size:11px;letter-spacing:0;}
.act2-partner-brand-link:hover .act2-partner-brand-link-mark{transform:translate(2px,-50%);opacity:1;background:rgba(255,255,255,.94);}

.act2-partner-board.is-map .act2-partner-department-button::after{
  content:"EXPLORE  +";
  top:14px;
  right:14px;
  width:auto;
  min-width:72px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  font:600 8px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.12em;
  opacity:.72;
}
.act2-partner-board.is-map .act2-partner-department-button:hover::after{transform:translate3d(2px,0,0);opacity:1;}

@media(max-width:760px){
  .act2-partner-main-website{top:16px;right:16px;min-height:32px;padding:0 11px;font-size:8px;}
  .act2-partner-brand-link-mark{right:10px;height:26px;padding:0 8px;font-size:7px;}
  .act2-partner-board.is-map .act2-partner-department-button::after{top:12px;right:12px;min-width:66px;height:26px;padding:0 8px;font-size:7px;}
}

/* =========================================================
   ACT2 PARTNER ACTION POSITION POLISH v362
   - Keep WEBSITE actions clearly inside the WAA card.
   - Make GROUP MAP EXPLORE affordances explicit and reliably visible.
   - Give Explorer VISIT actions a dedicated right-side action zone.
========================================================= */

/* Old pseudo action is superseded by an explicit element so it cannot sit behind map artwork. */
.act2-partner-board.is-map .act2-partner-department-button::after{
  content:none!important;
}

.act2-partner-map-explore{
  display:none;
}
.act2-partner-board.is-map .act2-partner-map-explore{
  position:absolute!important;
  z-index:8!important;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:999px;
  background:rgba(255,255,255,.30);
  box-shadow:0 5px 14px rgba(54,47,43,.055),inset 0 1px 0 rgba(255,255,255,.62);
  color:rgba(52,46,42,.66);
  font:600 8px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.13em;
  pointer-events:none;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  opacity:.86;
  transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .25s ease,background .25s ease;
}
.act2-partner-map-explore span:last-child{
  font-size:12px;
  line-height:1;
  letter-spacing:0;
}
.act2-partner-board.is-map .act2-partner-department-button:hover .act2-partner-map-explore{
  transform:translateX(2px);
  opacity:1;
  background:rgba(255,255,255,.46);
}

/* WEBSITE belongs to the blue main card, not the surrounding organization plate. */
.act2-partner-board.is-map .act2-partner-main-website{
  top:44px;
  right:44px;
}
.act2-partner-board:not(.is-map) .act2-partner-main-website{
  top:34px;
  right:38px;
}

/* VISIT gets a reserved action lane: clear of every logo, but not pushed to the edge. */
.act2-partner-board:not(.is-map) .act2-partner-brand-link{
  position:relative;
  box-sizing:border-box;
  padding-left:18px;
  padding-right:104px;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-link .act2-partner-brand-link-mark{
  top:50%;
  right:24px;
  transform:translateY(-50%);
}
.act2-partner-board:not(.is-map) .act2-partner-brand-link:hover .act2-partner-brand-link-mark{
  transform:translate(2px,-50%);
}

@media(max-width:760px){
  .act2-partner-board.is-map .act2-partner-map-explore{
    top:11px;
    right:11px;
    min-height:25px;
    padding:0 8px;
    gap:5px;
    font-size:7px;
  }
  .act2-partner-board.is-map .act2-partner-main-website{
    top:30px;
    right:30px;
  }
  .act2-partner-board:not(.is-map) .act2-partner-main-website{
    top:24px;
    right:24px;
  }
  .act2-partner-board:not(.is-map) .act2-partner-brand-link{
    padding-left:12px;
    padding-right:82px;
  }
  .act2-partner-board:not(.is-map) .act2-partner-brand-link .act2-partner-brand-link-mark{
    right:14px;
  }
}

/* =========================================================
   ACT2 PARTNER ACTION LAYOUT POLISH v363
   - GROUP MAP WEBSITE sits comfortably inside the WAA card.
   - Explorer detail footer is a deliberate logo / VISIT two-zone layout.
   - Unlinked Duracle departments retain the same VISIT structure in a dormant state.
   - Smartphone GROUP MAP cards become a clear three-tier stack:
     department label / brand / EXPLORE.
========================================================= */

/* GROUP MAP: WEBSITE is intentionally inset from the top-right corner. */
.act2-partner-board.is-map .act2-partner-main-website{
  top:58px;
  right:58px;
}

/* Explorer detail footer: one shared composition for every department. */
.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
  position:relative;
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px;
  align-items:center;
  width:100%;
  min-height:58px;
  padding:0!important;
  text-decoration:none;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo::after{
  content:"";
  position:absolute;
  top:50%;
  right:88px;
  width:1px;
  height:34px;
  transform:translateY(-50%);
  background:linear-gradient(to bottom,rgba(62,53,49,0),rgba(62,53,49,.10) 28%,rgba(62,53,49,.10) 72%,rgba(62,53,49,0));
  pointer-events:none;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo img{
  grid-column:1;
  justify-self:center;
  margin:0!important;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo .act2-partner-brand-link-mark{
  position:static!important;
  grid-column:2;
  justify-self:center;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  margin:0;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-link:hover .act2-partner-brand-link-mark{
  transform:translateX(2px)!important;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-link-mark.is-inactive{
  opacity:.18;
  color:rgba(58,51,47,.42);
  border-color:rgba(58,51,47,.035);
  background:rgba(255,255,255,.24);
  box-shadow:none;
  pointer-events:none;
}
.act2-partner-board:not(.is-map) .act2-partner-brand-chip-inactive{
  cursor:default;
}

@media(max-width:760px){
  /* Keep WEBSITE comfortably inset on the stacked WAA parent card. */
  .act2-partner-board.is-map .act2-partner-main-website{
    top:22px;
    right:22px;
  }

  /* GROUP MAP smartphone cards: reserve distinct vertical zones. */
  .act2-partner-board.is-map .act2-partner-department-button{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:28px minmax(62px,1fr) 32px;
    align-items:center;
    padding:14px 14px 13px;
  }
  .act2-partner-board.is-map .act2-partner-department-number{
    grid-column:1;
    grid-row:1;
    align-self:center;
  }
  .act2-partner-board.is-map .act2-partner-department-name{
    grid-column:2;
    grid-row:1;
    align-self:center;
    padding-right:0;
  }
  .act2-partner-board.is-map .act2-partner-map-preview{
    grid-column:1 / -1;
    grid-row:2;
    align-self:center;
    justify-self:stretch;
    min-height:62px;
    height:100%;
    padding:5px 8px 3px;
  }
  .act2-partner-board.is-map .act2-partner-map-explore{
    position:relative!important;
    grid-column:1 / -1;
    grid-row:3;
    align-self:end;
    justify-self:center;
    top:auto!important;
    right:auto!important;
    min-height:25px;
    margin:3px 0 0;
    padding:0 9px;
    transform:none!important;
  }
  .act2-partner-board.is-map .act2-partner-department-button:hover .act2-partner-map-explore{
    transform:none!important;
  }

  /* Detail footer keeps the same two-zone system at smaller scale. */
  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
    grid-template-columns:minmax(0,1fr) 76px;
    min-height:54px;
  }
  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo::after{
    right:76px;
    height:30px;
  }
}


/* =========================================================
   ACT2 PARTNER WEBSITE POSITION RULE v364
   - GROUP MAP: WEBSITE is centered at the bottom of the WAA parent card.
   - EXPLORER: WEBSITE top edge aligns exactly with ASSOCIATION.
   - JS calculates the final coordinates from the live card geometry on PC/SP.
========================================================= */
.act2-partner-main-website{
  right:auto!important;
  bottom:auto!important;
}
.act2-partner-board.is-map .act2-partner-main-website:hover{
  transform:translateY(-2px);
}


/* =========================================================
   OWNER REVIEW ADJUSTMENTS v381
   - GROUP MAP: parent cards retain strong tone; child cards use an intentionally strong 50%-white pastel treatment for clear parent/child hierarchy.
   - Founder mobile body: paragraph-level flow, no forced line breaks.
========================================================= */
.act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-department-button,
.act2-partner-board.is-map .act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{
  background:linear-gradient(165deg,#e9efc4,#dee5b4);
}
.act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-department-button{
  background:linear-gradient(165deg,#f8d8d1,#f3c7c0);
}
.act2-partner-board.is-map .act2-partner-department-product .act2-partner-department-button,
.act2-partner-board.is-map .act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{
  background:linear-gradient(165deg,#d4edf0,#bfe1e7);
}
.act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-department-button,
.act2-partner-board.is-map .act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{
  background:linear-gradient(165deg,#e8e1f2,#dcd1e9);
}

@media (max-width:760px){
  .act2-founder-body .act2-founder-body-break{
    display:none;
  }
  .act2-founder-body p{
    word-break:normal;
    line-break:strict;
    text-wrap:pretty;
  }
}

/* =========================================================
   PARTNER COLOR HIERARCHY v382
   - Apply the same child-card pastel hierarchy in EXPLORER mode.
   - Parent cards, text, logos, controls and detail panels remain unchanged.
========================================================= */
.act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-department-button,
.act2-partner-board:not(.is-map) .act2-partner-organization-waa .act2-partner-department:nth-child(1) .act2-partner-department-button{
  background:linear-gradient(165deg,#e9efc4,#dee5b4);
}
.act2-partner-board:not(.is-map) .act2-partner-department-beauty .act2-partner-department-button{
  background:linear-gradient(165deg,#f8d8d1,#f3c7c0);
}
.act2-partner-board:not(.is-map) .act2-partner-department-product .act2-partner-department-button,
.act2-partner-board:not(.is-map) .act2-partner-organization-waa .act2-partner-department:nth-child(2) .act2-partner-department-button{
  background:linear-gradient(165deg,#d4edf0,#bfe1e7);
}
.act2-partner-board:not(.is-map) .act2-partner-department-duracle-salon .act2-partner-department-button,
.act2-partner-board:not(.is-map) .act2-partner-organization-waa .act2-partner-department:nth-child(3) .act2-partner-department-button{
  background:linear-gradient(165deg,#e8e1f2,#dcd1e9);
}


/* =========================================================
   PARTNER MOBILE TEXT BREAKS v384
   - Semantic mobile-only line breaks for partner copy.
========================================================= */
.act2-partner-sp-break{display:none;}
@media(max-width:760px){
  .act2-partner-sp-break{display:block;}
}

/* =========================================================
   v385 Partner child cards: remove ordinal numbering
   - Numbers can imply ranking/order, so hide them in both
     GROUP MAP and Explorer while preserving card detailing.
========================================================= */
.act2-partner-department-number{
  display:none!important;
}

.act2-partner-board:not(.is-map) .act2-partner-department-button{
  grid-template-columns:1fr auto;
}

.act2-partner-board.is-map .act2-partner-department-button{
  grid-template-columns:1fr;
}

/* =========================================================
   v386 Partner child cards: smartphone layout after ordinal removal
   - Keep the v384 three-zone smartphone composition.
   - Only the ordinal chip is removed; title / logo / EXPLORE retain
     their original mobile positions.
========================================================= */
@media(max-width:760px){
  .act2-partner-board.is-map .act2-partner-department-button{
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:28px minmax(62px,1fr) 32px;
    align-items:center;
    padding:14px 14px 13px;
  }

  .act2-partner-board.is-map .act2-partner-department-name{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:start;
    padding-right:0;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    grid-column:1 / -1;
    grid-row:2;
    align-self:center;
    justify-self:stretch;
    min-height:62px;
    height:100%;
    padding:5px 8px 3px;
  }

  .act2-partner-board.is-map .act2-partner-map-explore{
    position:relative!important;
    grid-column:1 / -1;
    grid-row:3;
    align-self:end;
    justify-self:center;
    top:auto!important;
    right:auto!important;
    min-height:25px;
    margin:3px 0 0;
    padding:0 9px;
    transform:none!important;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-button{
    grid-template-columns:minmax(0,1fr) auto;
  }
}

/* =========================================================
   v392 ACT2 INTERMEDIATE WIDTH SYSTEM
   - Dedicated tablet / narrow-window layouts only.
   - Desktop, ACT1 and LINE WebView behavior remain unchanged.
   - The Founder signature is the sole agreed mobile adjustment.
========================================================= */

/* Compact intermediate widths: preserve the stacked map, normalize its brands. */
@media (min-width:480px) and (max-width:760px){
  .act2-partner-board.is-map .act2-partner-map-preview{
    min-height:72px;
    padding:7px 10px 4px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:min(78%,150px);
    height:auto;
    max-width:150px;
    max-height:46px;
    transform:none;
    object-fit:contain;
  }
}

/* Wide intermediate Group Map: one organization lane, one shared card system. */
@media (min-width:761px) and (max-width:1100px){
  .act2-partner-board.is-map .act2-partner-selector{
    grid-template-columns:1fr;
    width:min(820px,calc(100% - 56px));
    gap:52px;
  }

  .act2-partner-board.is-map .act2-partner-selector::before{
    display:none;
  }

  .act2-partner-board.is-map .act2-partner-organization-duracle::after{
    top:calc(100% + 25px);
    bottom:auto;
    left:24px;
    right:24px;
    width:auto;
    height:2px;
    background:linear-gradient(180deg,rgba(62,54,49,.12),rgba(255,255,255,.88));
    box-shadow:0 -1px 3px rgba(55,48,44,.04),0 1px 3px rgba(255,255,255,.72);
  }

  .act2-partner-board.is-map .act2-partner-departments,
  .act2-partner-board.is-map .act2-partner-organization-duracle .act2-partner-departments{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .act2-partner-board.is-map .act2-partner-department-button{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:30px minmax(76px,1fr) 34px;
    align-items:center;
    min-height:174px;
    padding:16px 18px 15px;
  }

  .act2-partner-board.is-map .act2-partner-department-name{
    grid-column:1;
    grid-row:1;
    align-self:center;
    justify-self:start;
    padding-right:0;
    white-space:nowrap;
  }

  .act2-partner-board.is-map .act2-partner-map-preview{
    grid-column:1;
    grid-row:2;
    align-self:center;
    justify-self:stretch;
    min-height:76px;
    height:100%;
    margin:0;
    padding:8px 12px 4px;
  }

  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:min(72%,170px);
    height:auto;
    max-width:170px;
    max-height:48px;
    transform:none;
    object-fit:contain;
  }

  .act2-partner-board.is-map .act2-partner-map-explore{
    position:relative!important;
    grid-column:1;
    grid-row:3;
    align-self:end;
    justify-self:center;
    top:auto!important;
    right:auto!important;
    min-height:27px;
    margin:4px 0 0;
    padding:0 10px;
    transform:none!important;
  }

  .act2-partner-board.is-map .act2-partner-department-button:hover .act2-partner-map-explore{
    transform:none!important;
  }
}

/* Explorer details: stable card width, footer baseline and optical logo bounds. */
@media (min-width:480px) and (max-width:1100px){
  .act2-partner-board:not(.is-map) .act2-partner-department{
    flex:0 0 min(420px,72vw);
    width:min(420px,72vw);
  }

  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    height:340px;
    min-height:340px;
    padding:38px 24px 24px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
    top:auto;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chips{
    width:100%;
    margin-top:auto;
    padding-top:18px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
    grid-template-columns:minmax(0,1fr) 92px;
    width:100%;
    min-height:70px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo::after{
    right:92px;
    height:38px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo img,
  .act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-brand-chip-logo img,
  .act2-partner-board:not(.is-map) .act2-partner-department-commerce .act2-partner-brand-chip-logo img{
    width:min(78%,170px);
    height:auto;
    max-width:170px;
    max-height:48px;
    margin:0;
    transform:none;
    object-fit:contain;
  }
}

/* Founder signature: intermediate composition and the sole mobile adjustment. */
@media (min-width:761px) and (max-width:1100px){
  .act2-founder-signature{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    column-gap:18px;
    row-gap:14px;
  }

  .act2-founder-back{
    grid-column:1;
    grid-row:1;
    align-self:center;
    white-space:nowrap;
  }

  .act2-founder-brand{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    gap:9px;
  }

  .act2-founder-name{
    grid-column:2;
    grid-row:2;
    justify-self:end;
    white-space:nowrap;
  }
}

@media (max-width:760px){
  .act2-founder-signature{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    column-gap:14px;
    row-gap:18px;
  }

  .act2-founder-back{
    grid-column:1;
    grid-row:1;
    align-self:center;
    white-space:nowrap;
  }

  .act2-founder-brand{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    justify-content:flex-end;
    width:auto;
    gap:8px;
  }

  .act2-founder-name{
    grid-column:1 / -1;
    grid-row:2;
    justify-self:end;
    width:auto;
    text-align:right;
    white-space:nowrap;
  }
}

/* Company profile: keep the split panel, give the facts and businesses real room. */
@media (min-width:768px) and (max-width:1100px){
  .act2-company-unified{
    grid-template-columns:32% 68%;
  }

  .act2-company-unified .act2-company-profile-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:18px 30px 12px;
  }

  .act2-company-unified .act2-company-profile-facts::before,
  .act2-company-unified .act2-company-profile-facts::after{
    display:none;
  }

  .act2-company-unified .act2-company-profile-facts > div,
  .act2-company-unified .act2-company-profile-facts > div:last-child{
    grid-column:auto;
    min-height:140px;
    padding:24px 18px;
    border-top:0;
    border-right:0;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(1)::after,
  .act2-company-unified .act2-company-profile-facts > div:nth-child(2)::after{
    display:none;
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(3),
  .act2-company-unified .act2-company-profile-facts > div:nth-child(4){
    border-top:1px solid rgba(47,42,40,.07);
  }

  .act2-company-unified .act2-company-profile-facts > div:nth-child(3) dd{
    font-size:clamp(17px,2vw,21px);
    white-space:normal;
  }

  .act2-company-unified-business{
    padding:28px 30px 40px;
  }

  .act2-company-unified-business-heading{
    padding-left:18px;
  }

  .act2-company-business-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .act2-company-business-list li{
    min-height:132px;
  }
}

/* Contact: shared intermediate hierarchy; only the column count changes. */
@media (min-width:761px) and (max-width:900px){
  .act2-contact-panel-d-art{
    grid-template-columns:1fr;
    gap:36px;
    min-height:0;
    padding:42px 40px 38px;
  }

  .act2-contact-panel-d-art .act2-contact-header{
    align-self:auto;
  }

  .act2-contact-d-device{
    justify-self:center;
    width:min(100%,560px);
  }
}

@media (min-width:901px) and (max-width:1100px){
  .act2-contact-panel-d-art{
    grid-template-columns:minmax(270px,.9fr) minmax(340px,1.1fr);
    gap:32px;
    min-height:590px;
    padding:42px 40px;
  }

  .act2-contact-panel-d-art .act2-contact-header .act2-title{
    font-size:clamp(32px,3.5vw,42px);
    letter-spacing:.025em;
    white-space:nowrap;
  }

  .act2-contact-d-device{
    padding-left:30px;
    padding-right:30px;
  }
}

@media (min-width:761px) and (max-width:1100px){
  .act2-contact-d-cta{
    grid-template-columns:64px minmax(max-content,1fr) 24px;
    gap:12px;
    padding-left:22px;
    padding-right:22px;
  }

  .act2-contact-d-cta-label{
    white-space:nowrap;
  }
}

/* =========================================================
   v394 ACT2 PARTNER INTERMEDIATE OPTICAL BALANCE
   - Changes only the ACT2 partner Group Map / Explorer at 480-1279px.
   - Mobile reference at 428px and desktop reference from 1280px stay unchanged.
========================================================= */

/* Narrow / standard intermediate Group Map: compensate for each logo canvas. */
@media (min-width:480px) and (max-width:1100px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:min(78%,190px);
    max-width:190px;
    max-height:48px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:min(88%,200px);
    max-width:200px;
    max-height:68px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:min(58%,145px);
    max-width:145px;
    max-height:36px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:min(78%,190px);
    max-width:190px;
    max-height:46px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:min(78%,180px);
    max-width:180px;
    max-height:54px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:min(80%,185px);
    max-width:185px;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:min(76%,175px);
    max-width:175px;
    max-height:48px;
  }
}

/* Wide intermediate Group Map: restore the wordmark presence without entering desktop. */
@media (min-width:1101px) and (max-width:1279px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    max-width:min(190px,76%);
    max-height:46px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    max-width:min(215px,82%);
    max-height:62px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    max-width:min(145px,64%);
    max-height:36px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    max-width:min(190px,78%);
    max-height:46px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    max-width:min(190px,78%);
    max-height:50px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    max-width:min(190px,78%);
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    max-width:min(180px,76%);
    max-height:46px;
  }
}

/* Explorer: align the divider, logo footer and card bottom at intermediate widths. */
@media (min-width:480px) and (max-width:1279px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    display:grid;
    grid-template-rows:minmax(0,1fr) 92px;
    height:420px;
    min-height:420px;
    padding:44px 24px 24px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-detail-list,
  .act2-partner-board:not(.is-map) .act2-partner-detail-text{
    align-self:start;
    min-height:0;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chips{
    align-self:end;
    box-sizing:border-box;
    flex-wrap:nowrap;
    width:100%;
    height:92px;
    min-height:92px;
    max-height:92px;
    margin-top:0;
    padding-top:18px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
    top:auto;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
    align-self:center;
    min-height:70px;
  }
}

/* =========================================================
   v395 ACT2 EXPLORER FOOTER BASELINE
   - The sole added mobile exception: Explorer detail/footer geometry only.
   - Copy length can no longer move the divider or logo baseline.
========================================================= */
@media (max-width:479px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    display:grid;
    grid-template-rows:minmax(0,1fr) 82px;
    height:360px;
    min-height:360px;
    padding:64px 24px 32px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-detail-list,
  .act2-partner-board:not(.is-map) .act2-partner-detail-text{
    align-self:start;
    min-height:0;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chips{
    align-self:end;
    box-sizing:border-box;
    flex-wrap:nowrap;
    width:100%;
    height:82px;
    min-height:82px;
    max-height:82px;
    margin-top:0;
    padding-top:14px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
    top:auto;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
    align-self:center;
    min-height:54px;
  }
}

/* Desktop: preserve the established card size; lock only its internal footer baseline. */
@media (min-width:1280px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    display:grid;
    grid-template-rows:minmax(0,1fr) 76px;
    height:286px;
    min-height:286px;
    padding:64px 30px 34px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-detail-list,
  .act2-partner-board:not(.is-map) .act2-partner-detail-text{
    align-self:start;
    min-height:0;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chips{
    align-self:end;
    box-sizing:border-box;
    flex-wrap:nowrap;
    width:100%;
    height:76px;
    min-height:76px;
    max-height:76px;
    margin-top:0;
    padding-top:18px;
  }

  .act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
    top:auto;
  }

  .act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo{
    align-self:center;
    min-height:58px;
  }
}

/* =========================================================
   v398 ACT2 PARTNER FINAL PROPORTION SYSTEM
   - Group Map: intermediate logos use stable, card-relative ratios.
   - Explorer: one footer rhythm at every width; only the minimum
     text space changes with wrapping.
   - The approved <=479px and >=1280px Group Map endpoints stay intact.
========================================================= */

/* Compact intermediate map: continue the approved mobile optical ratios. */
@media (min-width:480px) and (max-width:760px){
  .act2-partner-board.is-map .act2-partner-map-preview img{
    width:82%;
    max-width:none;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:88%;
    max-width:none;
    max-height:54px;
  }

  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:78%;
    max-width:none;
    max-height:40px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:70%;
    max-width:none;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:86%;
    max-width:none;
    max-height:40px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:78%;
    max-width:none;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:90%;
    max-width:none;
    max-height:38px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:88%;
    max-width:none;
    max-height:40px;
  }
}

/* Wide intermediate map: use the approved desktop optical ratios explicitly.
   Explicit width prevents intrinsic SVG canvas sizes from making wordmarks jump. */
@media (min-width:761px) and (max-width:1279px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:62%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:72%;
    max-width:202px;
    max-height:58px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:49%;
    max-width:132px;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:72%;
    max-width:198px;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:62%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:70%;
    max-width:190px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:62%;
    max-width:170px;
    max-height:42px;
  }
}

/* Explorer shared geometry: identical divider/footer rhythm at every width. */
.act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
  display:grid;
  grid-template-rows:minmax(0,1fr) 88px;
  padding-top:60px;
  padding-bottom:30px;
}

.act2-partner-board:not(.is-map) .act2-partner-detail-list,
.act2-partner-board:not(.is-map) .act2-partner-detail-text{
  align-self:start;
  min-height:0;
}

.act2-partner-board:not(.is-map) .act2-partner-brand-chips,
.act2-partner-board:not(.is-map) .act2-partner-department-nursery .act2-partner-brand-chips{
  position:static;
  top:auto;
  align-self:end;
  box-sizing:border-box;
  flex-wrap:nowrap;
  width:100%;
  height:88px;
  min-height:88px;
  max-height:88px;
  margin-top:0;
  margin-bottom:0;
  padding-top:18px;
}

.act2-partner-board:not(.is-map) .act2-partner-brand-chip-logo,
.act2-partner-board:not(.is-map) .act2-partner-department-nursery.is-open .act2-partner-brand-chip-logo{
  top:auto;
  align-self:center;
  min-height:64px;
}

/* Mobile and compact intermediate need the same extra text room for wrapping. */
@media (max-width:760px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    height:360px;
    min-height:360px;
    padding-right:24px;
    padding-left:24px;
  }
}

/* Wide intermediate shortens smoothly as wrapping decreases. */
@media (min-width:761px) and (max-width:1279px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    height:clamp(326px,calc(366px - 3.125vw),342px);
    min-height:clamp(326px,calc(366px - 3.125vw),342px);
    padding-right:26px;
    padding-left:26px;
  }
}

/* Desktop gains measured breathing room while retaining its established layout. */
@media (min-width:1280px){
  .act2-partner-board:not(.is-map) .act2-partner-department.is-open .act2-partner-detail{
    height:326px;
    min-height:326px;
    padding-right:30px;
    padding-left:30px;
  }
}

/* =========================================================
   v399 ACT2 GROUP MAP CONTINUOUS LOGO SCALE
   - Intermediate widths only.
   - Every logo grows monotonically from the approved mobile size
     toward its approved desktop size without a 760/761px jump.
========================================================= */
@media (min-width:480px) and (max-width:1279px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:clamp(132px,calc(109.2px + 4.75vw),170px);
    max-width:82%;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:clamp(145px,calc(110.8px + 7.125vw),202px);
    max-width:88%;
    max-height:58px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:clamp(112px,calc(100px + 2.5vw),132px);
    max-width:70%;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:clamp(150px,calc(121.2px + 6vw),198px);
    max-width:86%;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:clamp(145px,calc(130px + 3.125vw),170px);
    max-width:78%;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:clamp(150px,calc(126px + 5vw),190px);
    max-width:90%;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:clamp(145px,calc(130px + 3.125vw),170px);
    max-width:88%;
    max-height:42px;
  }
}

/* =========================================================
   v400 ACT2 GROUP MAP PANEL-RELATIVE LOGO SYSTEM
   - Logo scale follows the actual preview panel, never the viewport.
   - Mobile-layout mode extends the approved smartphone balance.
   - PC-layout mode uses the former intermediate peak as a hard maximum.
========================================================= */

/* Smartphone layout mode: preserve its optical balance as panels widen. */
@media (min-width:480px) and (max-width:760px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:70%;
    max-width:145px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:77%;
    max-width:165px;
    max-height:58px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:60%;
    max-width:119px;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:80%;
    max-width:167px;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:77%;
    max-width:154px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:80%;
    max-width:164px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:77%;
    max-width:154px;
    max-height:42px;
  }
}

/* PC layout mode: panel-relative growth with the approved peak as its ceiling. */
@media (min-width:761px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:47.5%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:54%;
    max-width:202px;
    max-height:58px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:39%;
    max-width:132px;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:54.5%;
    max-width:198px;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:50%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:53.5%;
    max-width:190px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:50%;
    max-width:170px;
    max-height:42px;
  }
}

/* =========================================================
   v401 ACT2 GROUP MAP TRUE TWO-MODE SCALE
   - Stacked/mobile composition: <=1100px, small to large.
   - Two-column/PC composition: >=1101px, small to large.
   - The composition change may reset visual occupancy; neither
     composition is allowed to shrink inside its own width range.
========================================================= */

/* Keep the stacked composition non-decreasing across its internal 760/761px reflow. */
@media (min-width:761px) and (max-width:1100px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:54.7%;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:62.7%;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:44.9%;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:63%;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:58.1%;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:61.8%;
  }
}

/* Once the stacked board itself reaches its width ceiling, hold the nursery
   mark at that attained size instead of letting growing outer padding shrink it. */
@media (min-width:897px) and (max-width:1100px){
  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:202px;
  }
}

/* PC composition: begin smaller after reflow, then grow only with its panels.
   The previous intermediate peak remains the hard ceiling for every logo. */
@media (min-width:1101px){
  .act2-partner-board.is-map .act2-partner-map-preview img,
  .act2-partner-board.is-map .act2-partner-department-beauty .act2-partner-map-preview img{
    width:85%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-nursery .act2-partner-map-preview img{
    width:101%;
    max-width:202px;
    max-height:58px;
  }

  .act2-partner-board.is-map .act2-partner-department-product .act2-partner-map-preview img{
    width:66%;
    max-width:132px;
    max-height:34px;
  }

  .act2-partner-board.is-map .act2-partner-department-duracle-salon .act2-partner-map-preview img{
    width:99%;
    max-width:198px;
    max-height:44px;
  }

  .act2-partner-board.is-map .act2-partner-department-education .act2-partner-map-preview img{
    width:85%;
    max-width:170px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-commerce .act2-partner-map-preview img{
    width:95%;
    max-width:190px;
    max-height:42px;
  }

  .act2-partner-board.is-map .act2-partner-department-salon .act2-partner-map-preview img{
    width:85%;
    max-width:170px;
    max-height:42px;
  }
}

/* =========================================================
   v402 ACT2 COMPANY LOCATION FIXED LINE BREAK
   - Mobile and wide PC retain the approved address layout.
   - 768–1100px uses one intentional break before the street number.
========================================================= */
.act2-company-location-fixed-break{
  display:none;
}

@media (min-width:768px){
  .act2-company-unified .act2-company-profile-facts .act2-company-profile-location{
    white-space:nowrap;
  }
}

@media (min-width:768px) and (max-width:1100px){
  .act2-company-location-fixed-break{
    display:block;
  }
}

/* Company representative names: equal visual hierarchy */
.act2-company-unified .act2-company-profile-facts dd.act2-company-representatives{display:flex;flex-direction:column;gap:14px;}
.act2-company-representatives .act2-company-representative{display:flex;flex-direction:column;align-items:flex-start;}
.act2-company-representatives .act2-company-representative-role{display:block;margin:0 0 2px;font-size:11px;line-height:1.5;letter-spacing:.08em;color:rgba(47,42,40,.48);}
.act2-company-representatives .act2-company-representative-name{display:block;margin:0;font-size:inherit;line-height:1.55;letter-spacing:inherit;color:inherit;}
