@charset "UTF-8";
@font-face {
  font-family: "abolition-soft";
  src: local("Abolition Soft"), local("abolition-soft"), local("Abolition");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: #0c0c0c;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}
body.is-menu-open {
  overflow: hidden;
}

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

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

button, input, textarea, select {
  font: inherit;
}

button {
  color: inherit;
}

h1, h2, h3, p, ul, ol, dl, dd {
  margin-top: 0;
}

ul, ol {
  padding-left: 0;
}

li {
  list-style: none;
}

.site-main {
  overflow: clip;
}

.container {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.narrow {
  max-width: clamp(437.902778px, 56.944444vw, 820px);
}

.center {
  text-align: center;
}

.sp_only {
  display: none !important;
}

.font-display {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: 0.015em;
}

.section-space {
  padding-block: clamp(80.104167px, 10.416667vw, 150px);
}

.section-dark {
  color: #fff;
  background: #041125;
}

.section-blue {
  color: #fff;
  background: #0d3ce8;
}

.section-gray {
  background: #f0f0ee;
}

.section-training-aqua {
  background: #19d0c1;
}

.section-training-orange {
  background: #ff5a14;
}

.eyebrow {
  margin-bottom: clamp(14.952778px, 1.944444vw, 28px);
  font-size: clamp(5.874306px, 0.763889vw, 11px);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: clamp(4.272222px, 0.555556vw, 8px);
  left: clamp(4.272222px, 0.555556vw, 8px);
  padding: clamp(4.272222px, 0.555556vw, 8px) clamp(7.476389px, 0.972222vw, 14px);
  background: #fff;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: none;
}

.fade-up {
  opacity: 0;
  transform: translateY(clamp(12.816667px, 1.666667vw, 24px));
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-up.is-visible {
  opacity: 1;
  transform: none;
}

.rich-text > * + * {
  margin-top: 1.5em;
}
.rich-text h2 {
  margin-top: 3.2em;
  font-size: clamp(clamp(12.282639px, 1.597222vw, 23px), 3vw, clamp(18.156944px, 2.361111vw, 34px));
  line-height: 1.5;
}
.rich-text h3 {
  margin-top: 2.4em;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
}
.rich-text a {
  text-decoration: underline;
  text-underline-offset: clamp(2.136111px, 0.277778vw, 4px);
}
.rich-text img {
  width: 100%;
  margin-block: clamp(26.701389px, 3.472222vw, 50px);
}

@media (max-width: 768px) {
  body {
    font-size: 3.589744vw;
    line-height: 1.85;
  }
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: block !important;
  }
  br.sp_only {
    display: initial !important;
  }
  .container {
    width: min(100% - 10.25641vw, 307.692308vw);
  }
  .section-space {
    padding-block: 22.564103vw;
  }
  .eyebrow {
    margin-bottom: 4.615385vw;
  }
}
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  height: clamp(52.334722px, 6.805556vw, 98px);
  color: #fff;
  background: transparent;
  mix-blend-mode: difference;
  pointer-events: none;
  transition: background-color 0.3s ease, opacity 0.22s ease;
}
.site-header__logo {
  position: absolute;
  z-index: 2;
  top: clamp(19.225px, 2.5vw, 36px);
  left: clamp(30.973611px, 4.027778vw, 58px);
  width: clamp(26.701389px, 3.472222vw, 50px);
  height: clamp(26.701389px, 3.472222vw, 50px);
  pointer-events: auto;
  transition: top 0.45s cubic-bezier(0.22, 1, 0.36, 1), left 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.site-header__logo img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
.site-header__copyright {
  position: absolute;
  z-index: 2;
  top: clamp(29.371528px, 3.819444vw, 55px);
  left: 50vw;
  margin: 0;
  color: #fff;
  font: clamp(10.680556px, 1.388889vw, 20px)/1.15 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1px;
  white-space: nowrap;
  transform: translateX(-50%);
  transition: top 0.45s cubic-bezier(0.22, 1, 0.36, 1), color 0.3s ease;
}

.menu-toggle {
  position: absolute;
  z-index: 3;
  top: clamp(22.963194px, 2.986111vw, 43px);
  right: auto;
  left: calc(100vw - clamp(57.675px, 7.5vw, 108px));
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  transition: top 0.45s cubic-bezier(0.22, 1, 0.36, 1), right 0.45s cubic-bezier(0.22, 1, 0.36, 1), left 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.menu-toggle__icon {
  position: absolute;
  display: block;
  max-width: none;
  transition: opacity 0.28s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.menu-toggle__icon--menu {
  inset: 0;
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  filter: brightness(0) invert(1);
}
.menu-toggle__icon--close {
  top: 3px;
  left: 3px;
  width: clamp(22.429167px, 2.916667vw, 42px);
  height: clamp(22.429167px, 2.916667vw, 42px);
  opacity: 0;
  transform: rotate(-18deg) scale(0.82);
}
.menu-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.menu-toggle[aria-expanded=true] .menu-toggle__icon--menu {
  opacity: 0;
  transform: rotate(18deg) scale(0.82);
}
.menu-toggle[aria-expanded=true] .menu-toggle__icon--close {
  opacity: 1;
  transform: none;
}

.is-menu-open .site-header {
  background: transparent;
  mix-blend-mode: normal;
}
.is-menu-open .site-header__logo {
  top: clamp(19.225px, 2.5vw, 36px);
  left: clamp(30.973611px, 4.027778vw, 58px);
}
.is-menu-open .site-header__logo img {
  filter: brightness(0) invert(1);
}
.is-menu-open .site-header__copyright {
  top: clamp(29.371528px, 3.819444vw, 55px);
  color: #fff;
}
.is-menu-open .menu-toggle {
  top: clamp(22.963194px, 2.986111vw, 43px);
  right: auto;
  left: calc(100vw - clamp(57.675px, 7.5vw, 108px));
}

.global-menu {
  position: fixed;
  z-index: 1;
  inset: 0;
  min-height: 100vh;
  overflow-y: auto;
  color: #fff;
  background: #041125;
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.4s;
}
.global-menu.is-open {
  opacity: 1;
  visibility: visible;
}
.global-menu.is-open .global-menu__slogan {
  opacity: 1;
  transform: none;
}
.global-menu__inner {
  position: relative;
  width: 100%;
  min-height: max(100vh, clamp(384.5px, 50vw, 720px));
}
.global-menu__slogan {
  position: absolute;
  top: calc(50% + clamp(8.544444px, 1.111111vw, 16px));
  left: calc(50% - clamp(250.993056px, 32.638889vw, 470px));
  width: clamp(226.427778px, 29.444444vw, 424px);
  height: clamp(45.926389px, 5.972222vw, 86px);
  opacity: 0;
  transform: translateX(clamp(-18px, -1.25vw, -9.6125px));
  transition: opacity 0.6s 0.12s cubic-bezier(0.22, 1, 0.36, 1), transform 0.75s 0.12s cubic-bezier(0.22, 1, 0.36, 1);
}
.global-menu__slogan img {
  width: 100%;
  max-width: none;
  height: 100%;
  filter: brightness(0) invert(1);
}
.global-menu__nav {
  position: absolute;
  top: calc(50% - clamp(81.70625px, 10.625vw, 153px));
  left: calc(50% + clamp(108.941667px, 14.166667vw, 204px));
  width: clamp(152.197917px, 19.791667vw, 285px);
}
.global-menu__primary {
  display: flex;
  margin: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(17.088889px, 2.222222vw, 32px);
}
.global-menu__link {
  position: relative;
  display: block;
  width: -moz-max-content;
  width: max-content;
  height: clamp(13.350694px, 1.736111vw, 25px);
}
.global-menu__nav-icon {
  display: block;
  width: auto;
  max-width: none;
  height: clamp(13.350694px, 1.736111vw, 25px);
  overflow: visible;
  filter: brightness(0) invert(1);
  transition: opacity 0.22s ease;
}
.global-menu__text-label {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  gap: 1px;
  color: #fff;
  filter: none;
  font: clamp(17.088889px, 2.222222vw, 32px)/clamp(13.350694px, 1.736111vw, 25px) "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  white-space: nowrap;
}
.global-menu__text-label.global-menu__nav-icon--outline {
  color: transparent;
  -webkit-text-stroke: 1px #fff;
}
.global-menu__glyph {
  display: inline-block;
}
.global-menu__nav-icon--outline {
  position: relative;
  opacity: 1;
}
.global-menu__nav-icon--solid {
  position: absolute;
  inset: 0 auto auto 0;
  opacity: 0;
}
.global-menu__link:hover .global-menu__nav-icon--outline, .global-menu__link:focus-visible .global-menu__nav-icon--outline, .global-menu__link[aria-current=page] .global-menu__nav-icon--outline {
  opacity: 0;
}
.global-menu__link:hover .global-menu__nav-icon--solid, .global-menu__link:focus-visible .global-menu__nav-icon--solid, .global-menu__link[aria-current=page] .global-menu__nav-icon--solid {
  opacity: 1;
}
.global-menu.has-menu-char-motion .global-menu__nav-icon path,
.global-menu.has-menu-char-motion .global-menu__glyph {
  opacity: 0;
  transform: translateX(clamp(4.272222px, 0.555556vw, 8px));
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity 0.22s cubic-bezier(0.22, 1, 0.36, 1), transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}
.global-menu.has-menu-char-motion.is-open .global-menu__nav-icon path, .global-menu.has-menu-char-motion.is-open .global-menu__glyph {
  opacity: 1;
  transform: none;
  transition-delay: var(--global-menu-glyph-delay, 0s);
}

.site-footer {
  color: #041125;
  background: #fff;
}

.site-footer__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.single-works .site-footer__inner {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
}

.site-footer__nav {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
}

.site-footer__nav-column {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.site-footer__nav-column--contents {
  width: clamp(47.528472px, 6.180556vw, 89px);
  gap: clamp(9.6125px, 1.25vw, 18px);
}

.site-footer__nav-column--services {
  width: clamp(152.197917px, 19.791667vw, 285px);
  gap: clamp(6.408333px, 0.833333vw, 12px);
}

.site-footer__nav a {
  position: relative;
  display: flex;
  height: clamp(23.497222px, 3.055556vw, 44px);
  align-items: center;
}

.site-footer__nav-icon {
  display: block;
  width: auto;
  max-width: none;
  height: clamp(13.350694px, 1.736111vw, 25px);
  transition: opacity 0.2s ease;
}

.site-footer__nav-label {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  color: #041125;
  font: 400 clamp(17.088889px, 2.222222vw, 32px)/clamp(13.350694px, 1.736111vw, 25px) "abolition-soft", "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.site-footer__nav-label.site-footer__nav-icon--02 {
  color: transparent;
  -webkit-text-stroke: 1px #041125;
}

.site-footer__nav-icon--02 {
  opacity: 1;
}

.site-footer__nav-icon--01 {
  position: absolute;
  top: 50%;
  left: 0;
  opacity: 0;
  transform: translateY(-50%);
}

.site-footer__nav a:focus-visible {
  outline: 2px solid #041125;
  outline-offset: clamp(2.670139px, 0.347222vw, 5px);
}

.site-footer__nav a:hover .site-footer__nav-icon--02,
.site-footer__nav a:focus-visible .site-footer__nav-icon--02 {
  opacity: 0;
}
.site-footer__nav a:hover .site-footer__nav-icon--01,
.site-footer__nav a:focus-visible .site-footer__nav-icon--01 {
  opacity: 1;
}

.site-footer__slogan {
  width: 100%;
  margin-top: clamp(53.936806px, 7.013889vw, 101px);
}

.site-footer__slogan img {
  width: 100%;
  height: auto;
  aspect-ratio: 1200/243;
}

.site-footer__privacy {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  min-height: clamp(23.497222px, 3.055556vw, 44px);
  margin-top: clamp(12.816667px, 1.666667vw, 24px);
  align-items: center;
  gap: clamp(12.816667px, 1.666667vw, 24px);
  color: #595858;
}

.site-footer__privacy span {
  display: flex;
  width: clamp(60.345139px, 7.847222vw, 113px);
  align-items: center;
  justify-content: center;
  font: clamp(12.816667px, 1.666667vw, 24px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.2px;
  white-space: nowrap;
}

.site-footer__privacy img {
  width: clamp(16.020833px, 2.083333vw, 30px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  transform: rotate(-90deg);
  transition: transform 0.2s ease;
}

.site-footer__privacy:hover img {
  transform: rotate(-90deg) translateY(clamp(2.136111px, 0.277778vw, 4px));
}

@media (max-width: 980px) {
  .global-menu__inner {
    display: flex;
    min-height: max(100vh, clamp(384.5px, 50vw, 720px));
    padding: clamp(64.083333px, 8.333333vw, 120px) clamp(30.973611px, 4.027778vw, 58px) clamp(25.633333px, 3.333333vw, 48px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(26.701389px, 3.472222vw, 50px);
  }
  .global-menu__slogan, .global-menu__nav {
    position: static;
  }
  .global-menu__slogan {
    width: min(clamp(226.427778px, 29.444444vw, 424px), 100%);
    height: auto;
    aspect-ratio: 424/86;
  }
  .global-menu__nav {
    width: min(clamp(152.197917px, 19.791667vw, 285px), 100%);
  }
}
@media (max-width: 768px) {
  .site-header {
    height: 14.102564vw;
  }
  .site-header__logo {
    top: 3.846154vw;
    left: calc(50% - 42.307692vw);
    width: 6.410256vw;
    height: 6.410256vw;
  }
  .site-header__copyright {
    top: 5.128205vw;
    font-size: 3.589744vw;
    letter-spacing: 0.7px;
  }
  .menu-toggle {
    top: 3.846154vw;
    left: auto;
    right: calc(50% - 42.051282vw);
    width: 6.410256vw;
    height: 6.410256vw;
  }
  .menu-toggle__icon--menu {
    width: 6.410256vw;
    height: 6.410256vw;
  }
  .menu-toggle__icon--close {
    top: -2.5px;
    left: -2.5px;
    width: 7.692308vw;
    height: 7.692308vw;
  }
  .is-menu-open .site-header__logo {
    top: 4.615385vw;
    left: calc(50% - 42.307692vw);
    width: 6.410256vw;
    height: 6.410256vw;
  }
  .is-menu-open .site-header__copyright {
    top: 7.948718vw;
    font-size: 3.589744vw;
    line-height: 1.15;
    letter-spacing: 0.7px;
    transform: translate(-50%, -50%);
  }
  .is-menu-open .menu-toggle {
    top: 4.102564vw;
    right: 7.692308vw;
    width: 7.692308vw;
    height: 7.692308vw;
  }
  .is-menu-open .menu-toggle__icon--close {
    top: 1.875px;
    left: 1.875px;
    width: 6.730769vw;
    height: 6.730769vw;
  }
  .global-menu__inner {
    display: block;
    min-height: max(100vh, 135.641026vw);
    padding: 0;
  }
  .global-menu__slogan {
    position: absolute;
    top: 28.461538vw;
    left: calc(50% - 42.307692vw);
    display: flex;
    width: 18.255641vw;
    height: 90vw;
    aspect-ratio: auto;
    align-items: center;
    justify-content: center;
  }
  .global-menu__slogan img {
    width: 90vw;
    height: 18.255641vw;
    flex: 0 0 auto;
    transform: rotate(90deg);
  }
  .global-menu__nav {
    position: absolute;
    top: 28.461538vw;
    left: calc(50% - 8.461538vw);
    width: 50.154103vw;
  }
  .global-menu__primary {
    gap: 5.631282vw;
  }
  .global-menu__link, .global-menu__nav-icon {
    width: 100%;
    height: 100%;
  }
  .global-menu__primary li:nth-child(1) .global-menu__link {
    width: -moz-max-content;
    width: max-content;
    height: 4.416667vw;
  }
  .global-menu__primary li:nth-child(2) .global-menu__link {
    width: 12.142564vw;
    height: 4.372308vw;
  }
  .global-menu__primary li:nth-child(3) .global-menu__link {
    width: 9.151026vw;
    height: 4.423333vw;
  }
  .global-menu__primary li:nth-child(4) .global-menu__link {
    width: 50.154103vw;
    height: 4.405385vw;
  }
  .global-menu__primary li:nth-child(5) .global-menu__link {
    width: 28.332821vw;
    height: 4.392308vw;
  }
  .global-menu__primary li:nth-child(6) .global-menu__link {
    width: 23.229231vw;
    height: 4.407692vw;
  }
  .global-menu__primary li:nth-child(7) .global-menu__link {
    width: 7.918974vw;
    height: 4.439487vw;
  }
  .global-menu__primary li:nth-child(8) .global-menu__link {
    width: 14.430256vw;
    height: 4.392308vw;
  }
  .global-menu__text-label {
    width: -moz-max-content;
    width: max-content;
    gap: 0.686px;
    font-size: 5.641026vw;
    line-height: 4.416667vw;
  }
  .single-works .site-footer__inner {
    padding-top: 17.948718vw;
  }
}
@media (max-width: 768px) {
  .site-footer__inner {
    width: 84.615385vw;
  }
  .site-footer__nav {
    display: flex;
    min-height: 65.641026vw;
    align-items: flex-start;
    justify-content: space-between;
    border-top: 0;
  }
  .site-footer__nav-column--contents {
    width: 18.461538vw;
    gap: 1.538462vw;
  }
  .site-footer__nav-column--services {
    width: 56.410256vw;
    gap: 1.025641vw;
  }
  .site-footer__nav a {
    width: 100%;
    height: 12.307692vw;
    min-height: 12.307692vw;
    padding: 0;
    border-bottom: 0;
    align-items: center;
  }
  .site-footer__nav a::after {
    display: none;
  }
  .site-footer__nav-icon {
    width: auto;
    max-width: none;
    height: 4.615385vw;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: left center;
       object-position: left center;
  }
  .site-footer__nav-label {
    width: -moz-max-content;
    width: max-content;
    height: 4.615385vw;
    font-size: 5.641026vw;
    line-height: 4.615385vw;
  }
  .site-footer__nav a:hover .site-footer__nav-icon--02,
  .site-footer__nav a:focus-visible .site-footer__nav-icon--02 {
    opacity: 1;
  }
  .site-footer__nav a:hover .site-footer__nav-icon--01,
  .site-footer__nav a:focus-visible .site-footer__nav-icon--01 {
    opacity: 0;
  }
  .site-footer__slogan {
    margin-top: 7.121795vw;
  }
  .site-footer__slogan img {
    width: 84.615385vw;
    height: 17.16359vw;
    aspect-ratio: auto;
  }
  .site-footer__privacy {
    min-height: 12.307692vw;
    margin-top: 0;
    gap: 2.564103vw;
  }
  .site-footer__privacy span {
    width: 17.179487vw;
    font-size: 3.589744vw;
    line-height: 3.589744vw;
    letter-spacing: 0.7px;
  }
  .site-footer__privacy img {
    width: 3.589744vw;
    height: 3.589744vw;
  }
  .site-footer__privacy:hover img {
    transform: rotate(-90deg);
  }
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: clamp(42.722222px, 5.555556vw, 80px);
  align-items: flex-end;
  margin-bottom: clamp(37.381944px, 4.861111vw, 70px);
}
.section-heading h2 {
  margin: 0;
  font-size: clamp(clamp(36.313889px, 4.722222vw, 68px), 9vw, clamp(69.423611px, 9.027778vw, 130px));
  line-height: 0.82;
}
.section-heading > p {
  max-width: clamp(234.972222px, 30.555556vw, 440px);
}

.section-heading--compact h2 {
  font-size: clamp(clamp(29.905556px, 3.888889vw, 56px), 7vw, clamp(51.266667px, 6.666667vw, 96px));
}

.text-link {
  display: inline-flex;
  gap: clamp(12.816667px, 1.666667vw, 24px);
  align-items: center;
  padding-bottom: clamp(4.272222px, 0.555556vw, 8px);
  border-bottom: 1px solid;
  font: clamp(6.942361px, 0.902778vw, 13px)/1.4 "Bebas Neue";
  letter-spacing: 0.1em;
}
.text-link span {
  font: clamp(9.6125px, 1.25vw, 18px)/1 sans-serif;
}

.text-link--light {
  color: #fff;
}

.icon-arrow-up-right {
  --arrow-size: clamp(9.6125px, 1.25vw, 18px);
  position: relative;
  display: inline-block;
  width: var(--arrow-size);
  height: var(--arrow-size);
  flex: 0 0 auto;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.icon-arrow-up-right::before {
  position: absolute;
  top: calc(50% - 0.5px);
  left: 16%;
  width: 68%;
  height: 1px;
  background: currentColor;
  content: "";
  transform: rotate(-45deg);
  transform-origin: center;
}
.icon-arrow-up-right::after {
  position: absolute;
  top: 13%;
  right: 13%;
  width: 39%;
  height: 39%;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
}

.round-arrow {
  display: grid;
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(27.769444px, 3.611111vw, 52px);
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.round-arrow .icon-arrow-up-right {
  --arrow-size: clamp(10.146528px, 1.319444vw, 19px);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(30.973611px, 4.027778vw, 58px);
  padding: clamp(6.408333px, 0.833333vw, 12px) clamp(13.884722px, 1.805556vw, 26px);
  border: 1px solid #0c0c0c;
  gap: clamp(7.476389px, 0.972222vw, 14px);
  font-weight: 700;
}

.button--orange {
  color: #fff;
  border-color: #ff5a14;
  background: #ff5a14;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(3.204167px, 0.416667vw, 6px);
}

.chip {
  padding: clamp(2.136111px, 0.277778vw, 4px) clamp(4.80625px, 0.625vw, 9px);
  border: 1px solid #b8b8b8;
  border-radius: clamp(16.020833px, 2.083333vw, 30px);
  font-size: clamp(4.80625px, 0.625vw, 9px);
  line-height: 1.5;
  text-transform: uppercase;
}

.work-card__link {
  display: block;
}

.work-card__image-wrap {
  aspect-ratio: 1.45;
  overflow: hidden;
  background: #f0f0ee;
}

.work-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}

.work-card__link:hover .work-card__image {
  transform: scale(1.035);
}

.work-card__body {
  padding: clamp(11.748611px, 1.527778vw, 22px) 0 0;
}

.work-card__client {
  margin-bottom: clamp(2.670139px, 0.347222vw, 5px);
  color: #595858;
  font-size: clamp(5.340278px, 0.694444vw, 10px);
}

.work-card__title {
  margin-bottom: clamp(6.942361px, 0.902778vw, 13px);
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: 1.55;
}

.works-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(45.392361px, 5.902778vw, 85px) clamp(17.088889px, 2.222222vw, 32px);
}

.service-links {
  display: grid;
  gap: 2px;
}

.service-link {
  position: relative;
  min-height: clamp(154.868056px, 20.138889vw, 290px);
  overflow: hidden;
  color: #fff;
  background: #041125;
}
.service-link img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.7s;
}
.service-link:hover img {
  transform: scale(1.025);
}
.service-link:hover .icon-arrow-up-right {
  transform: translate(2px, -2px);
}
.service-link__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 17, 37, 0.82), rgba(4, 17, 37, 0.05));
}
.service-link__body {
  position: absolute;
  z-index: 1;
  left: clamp(29.371528px, 3.819444vw, 55px);
  bottom: clamp(24.03125px, 3.125vw, 45px);
  display: grid;
  gap: clamp(4.272222px, 0.555556vw, 8px);
}
.service-link__body strong {
  font-size: clamp(clamp(23.497222px, 3.055556vw, 44px), 6vw, clamp(41.654167px, 5.416667vw, 78px));
  line-height: 0.9;
}
.service-link__body small {
  max-width: clamp(224.291667px, 29.166667vw, 420px);
}
.service-link .round-arrow {
  position: absolute;
  z-index: 1;
  right: clamp(21.361111px, 2.777778vw, 40px);
  bottom: clamp(21.361111px, 2.777778vw, 40px);
}

.contact-banner {
  background: #fff;
}

.contact-banner a {
  display: flex;
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  min-height: clamp(75.297917px, 9.791667vw, 141px);
  margin-inline: auto;
  padding: clamp(21.361111px, 2.777778vw, 40px) clamp(17.088889px, 2.222222vw, 32px) clamp(20.827083px, 2.708333vw, 39px) clamp(22.963194px, 2.986111vw, 43px);
  align-items: center;
  justify-content: space-between;
  gap: clamp(21.361111px, 2.777778vw, 40px);
  color: #fff;
  background: #041125;
}

.contact-banner__lead {
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
}

.contact-banner__cta {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(16.554861px, 2.152778vw, 31px);
}

.contact-banner__title {
  font: clamp(17.088889px, 2.222222vw, 32px)/clamp(16.554861px, 2.152778vw, 31px) "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.6px;
}

.contact-banner__cta img {
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  transition: transform 0.25s ease;
}

.contact-banner a:hover .contact-banner__cta img {
  transform: translateX(clamp(2.136111px, 0.277778vw, 4px));
}

.page-hero {
  min-height: clamp(272.354167px, 35.416667vw, 510px);
  padding-top: clamp(112.145833px, 14.583333vw, 210px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: clamp(37.381944px, 4.861111vw, 70px);
}
.page-hero h1 {
  margin: 0;
  font: clamp(clamp(50.732639px, 6.597222vw, 95px), 17vw, clamp(128.166667px, 16.666667vw, 240px))/0.72 "Bebas Neue";
}
.page-hero .eyebrow {
  order: -1;
}

.pagination {
  margin-top: clamp(50.732639px, 6.597222vw, 95px);
}
.pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: clamp(4.272222px, 0.555556vw, 8px);
}
.pagination .page-numbers {
  display: grid;
  width: clamp(24.03125px, 3.125vw, 45px);
  height: clamp(24.03125px, 3.125vw, 45px);
  place-items: center;
  border: 1px solid #d8d8d4;
}
.pagination .current {
  color: #fff;
  background: #041125;
}

.service-section-title {
  margin-bottom: clamp(37.381944px, 4.861111vw, 70px);
}
.service-section-title h2 {
  margin-bottom: clamp(10.680556px, 1.388889vw, 20px);
  font-size: clamp(clamp(22.429167px, 2.916667vw, 42px), 6vw, clamp(41.654167px, 5.416667vw, 78px));
  line-height: 1.25;
}

.split-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(53.402778px, 6.944444vw, 100px);
  align-items: center;
}
.split-content h2 {
  font-size: clamp(clamp(18.156944px, 2.361111vw, 34px), 4.5vw, clamp(32.041667px, 4.166667vw, 60px));
  line-height: 1.45;
}
.split-content > img {
  width: 100%;
}

.check-list {
  display: grid;
  gap: clamp(5.874306px, 0.763889vw, 11px);
  margin: clamp(16.020833px, 2.083333vw, 30px) 0 0;
}
.check-list li {
  position: relative;
  padding-left: clamp(14.952778px, 1.944444vw, 28px);
}
.check-list li::before {
  position: absolute;
  left: 0;
  content: "✓";
  font-weight: 800;
}

.reason-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.reason-grid article {
  min-height: clamp(192.25px, 25vw, 360px);
  padding: clamp(20.293056px, 2.638889vw, 38px);
  background: #fff;
}
.reason-grid span {
  font: clamp(24.03125px, 3.125vw, 45px)/1 "Bebas Neue";
}
.reason-grid h3 {
  margin-top: clamp(29.371528px, 3.819444vw, 55px);
  font-size: clamp(11.748611px, 1.527778vw, 22px);
  line-height: 1.55;
}

.accordion-list {
  border-top: 1px solid #d8d8d4;
}
.accordion-list details {
  border-bottom: 1px solid #d8d8d4;
}
.accordion-list summary {
  display: flex;
  gap: clamp(11.748611px, 1.527778vw, 22px);
  align-items: center;
  padding: clamp(13.350694px, 1.736111vw, 25px) clamp(4.272222px, 0.555556vw, 8px);
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.accordion-list summary::after {
  margin-left: auto;
  content: "+";
  font-size: clamp(11.748611px, 1.527778vw, 22px);
}
.accordion-list details[open] summary::after {
  content: "−";
}
.accordion-list details > div {
  display: flex;
  gap: clamp(11.748611px, 1.527778vw, 22px);
  padding: 0 clamp(4.272222px, 0.555556vw, 8px) clamp(13.350694px, 1.736111vw, 25px);
}
.accordion-list details span {
  color: #0d3ce8;
  font: clamp(13.884722px, 1.805556vw, 26px)/1 "Bebas Neue";
}

@media (max-width: 980px) {
  .section-heading {
    gap: clamp(21.361111px, 2.777778vw, 40px);
  }
  .service-link {
    min-height: clamp(133.506944px, 17.361111vw, 250px);
  }
}
@media (max-width: 768px) {
  .section-heading {
    display: grid;
    gap: 7.179487vw;
    margin-bottom: 11.538462vw;
  }
  .section-heading h2 {
    font-size: 16.923077vw;
  }
  .works-grid {
    grid-template-columns: 1fr;
    gap: 15.384615vw;
  }
  .work-card__body {
    padding-top: 3.846154vw;
  }
  .service-link {
    min-height: 53.846154vw;
  }
  .service-link__body {
    left: 5.641026vw;
    bottom: 6.410256vw;
    right: 17.948718vw;
  }
  .service-link__body strong {
    font-size: 11.025641vw;
  }
  .service-link__body small {
    font-size: 2.564103vw;
  }
  .service-link .round-arrow {
    right: 4.615385vw;
    bottom: 5.641026vw;
    width: 10.769231vw;
    height: 10.769231vw;
  }
  .contact-banner a {
    width: min(100% - 10.25641vw, 84.615385vw);
    min-height: 62.564103vw;
    padding: 7.692308vw;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    gap: 6.153846vw;
  }
  .contact-banner__lead {
    display: block;
    width: 100%;
    font-size: 3.589744vw;
    line-height: 7.179487vw;
    letter-spacing: 0.7px;
  }
  .contact-banner__lead br {
    display: none;
  }
  .contact-banner__cta {
    align-self: flex-start;
    gap: 7.948718vw;
  }
  .contact-banner__title {
    font-size: 8.205128vw;
    line-height: 7.948718vw;
  }
  .contact-banner__cta img {
    width: 12.307692vw;
    height: 12.307692vw;
  }
  .page-hero {
    min-height: 92.307692vw;
    padding-top: 38.461538vw;
    padding-bottom: 11.538462vw;
  }
  .page-hero h1 {
    font-size: 24.102564vw;
    line-height: 0.78;
    overflow-wrap: anywhere;
  }
  .split-content {
    grid-template-columns: 1fr;
    gap: 11.538462vw;
  }
  .split-content h2 {
    font-size: 7.692308vw;
  }
  .reason-grid {
    grid-template-columns: 1fr;
  }
  .reason-grid article {
    min-height: 0;
    padding: 7.692308vw 6.410256vw;
  }
  .reason-grid h3 {
    margin-top: 7.692308vw;
  }
}
.home-opening {
  --home-opening-motion-screens: 4;
  --loader-layer-opacity: 1;
  --loader-media-opacity: 1;
  --loader-media-scale-x: 1.2;
  --loader-media-scale-y: 1.2;
  --loader-scene-first-opacity: 1;
  --loader-scene-second-opacity: 0;
  --loader-scene-third-opacity: 0;
  --loader-wordmark-opacity: 0;
  --loader-wordmark-scale: 2.55;
  position: relative;
  height: 600svh;
  background: #041125;
}

.home-opening__sticky {
  position: sticky;
  z-index: 2;
  top: 0;
  height: 100vh;
  overflow: hidden;
  background: #041125;
}

body.home .site-header {
  opacity: 0;
  transition: background-color 0.3s ease, opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

body.home.is-opening-visible .site-header,
body.home.is-menu-open .site-header {
  opacity: 1;
}

.site-header__copyright [data-header-copyright-text] {
  display: inline-block;
  margin-left: var(--header-copyright-gap, 0);
}

.site-loader {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  color: #fff;
  background: #041125;
  opacity: var(--loader-layer-opacity);
  pointer-events: none;
  will-change: opacity;
}
.site-loader__canvas {
  position: absolute;
  inset: 0;
  display: grid;
  height: 100%;
  overflow: hidden;
  place-items: center;
}
.site-loader__media-entrance {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  place-items: center;
  transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.home-opening.is-opening-visible .site-loader__media-entrance {
  opacity: 1;
}
.site-loader__media {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: var(--loader-media-opacity);
  backface-visibility: hidden;
  transform: scale3d(var(--loader-media-scale-x), var(--loader-media-scale-y), 1);
  transform-origin: center;
  will-change: opacity, transform;
}
.site-loader__scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  backface-visibility: hidden;
  will-change: opacity;
}
.site-loader__scene--first {
  opacity: var(--loader-scene-first-opacity);
  -o-object-position: center;
     object-position: center;
}
.site-loader__scene--second {
  opacity: var(--loader-scene-second-opacity);
  -o-object-position: center;
     object-position: center;
}
.site-loader__scene--third {
  opacity: var(--loader-scene-third-opacity);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.site-loader__wordmark {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50vw;
  width: min(88vw, clamp(837.355556px, 108.888889vw, 1568px));
  max-width: none;
  height: auto;
  margin: 0;
  opacity: var(--loader-wordmark-opacity);
  backface-visibility: hidden;
  transform: translate(-50%, -50%) scale3d(var(--loader-wordmark-scale), var(--loader-wordmark-scale), 1);
  transform-origin: center;
  will-change: opacity, transform;
}

.home-hero {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  height: 100%;
  overflow: hidden;
  background: #041125;
  place-items: center;
}

.home-hero__title {
  position: absolute;
  top: 50%;
  left: 50vw;
  width: min(88vw, clamp(837.355556px, 108.888889vw, 1568px));
  margin: 0;
  line-height: 0;
  transform: translate(-50%, -50%);
}

.home-hero__wordmark {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .home-opening {
    --home-opening-motion-screens: 3;
    height: 470svh;
  }
  .site-loader__scene--second,
  .site-loader__scene--third {
    inset: 50% auto auto 50%;
    width: 100%;
    height: auto;
    aspect-ratio: 8/5;
    transform: translate(-50%, -50%);
  }
}
.home-concept {
  height: clamp(734.822222px, 95.555556vw, 1376px);
}

.home-concept__inner {
  position: relative;
  height: 100%;
}

.home-concept__message {
  position: absolute;
  top: clamp(91.31875px, 11.875vw, 171px);
  left: 0;
  color: #fff;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: clamp(31.507639px, 4.097222vw, 59px);
  letter-spacing: 1.2px;
}
.home-concept__message p {
  margin: 0;
}

.home-concept__reveal-line {
  display: inline-grid;
  color: inherit;
}

.home-concept__message-sp {
  display: none;
}

.home-concept__reveal-layer {
  display: block;
  grid-area: 1/1;
  color: #fff;
  clip-path: inset(0 100% 0 0);
}

.home-concept__reveal-layer--lead {
  opacity: 0.3;
}

.home-concept__message.is-reveal-started .home-concept__reveal-layer--lead {
  animation: atraps-concept-line-wipe 2s cubic-bezier(0.22, 1, 0.36, 1) var(--concept-line-lead-delay, 0ms) both;
}

.home-concept__message.is-reveal-started .home-concept__reveal-layer--solid {
  animation: atraps-concept-line-wipe 2s cubic-bezier(0.22, 1, 0.36, 1) var(--concept-line-solid-delay, 450ms) both;
}

@keyframes atraps-concept-line-wipe {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0);
  }
}
.home-concept__motto {
  position: absolute;
  top: clamp(337.505556px, 43.888889vw, 632px);
  left: 0;
  color: #fff;
}
.home-concept__motto h2 {
  margin: 0 0 clamp(6.942361px, 0.902778vw, 13px);
  font: clamp(50.198611px, 6.527778vw, 94px)/0.75 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.509931px, 0.326389vw, 4.7px);
}
.home-concept__motto p {
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 600;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 1.6px;
}

.home-concept__emblem {
  position: absolute;
  top: clamp(351.924306px, 45.763889vw, 659px);
  right: 0;
  width: clamp(46.460417px, 6.041667vw, 87px);
  height: clamp(45.926389px, 5.972222vw, 86px);
}

.home-concept__works-label {
  position: absolute;
  right: 0;
  bottom: clamp(50.198611px, 6.527778vw, 94px);
  left: 0;
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #fff;
}

.home-works-entry {
  position: relative;
  background: #041125;
  isolation: isolate;
}

.home-works {
  --home-works-card-scale: 1;
  --home-works-card-offset: 0px;
  position: relative;
  z-index: 1;
  padding: clamp(53.402778px, 6.944444vw, 100px) 0;
  overflow: clip;
  border-radius: clamp(clamp(17.088889px, 2.222222vw, 32px), 2.23vw, clamp(22.963194px, 2.986111vw, 43px)) clamp(clamp(17.088889px, 2.222222vw, 32px), 2.23vw, clamp(22.963194px, 2.986111vw, 43px)) 0 0;
  background: #fff;
  backface-visibility: hidden;
  transform-origin: 50% 0;
}

.home-works-entry.is-card-reveal-ready .home-works {
  transform: translate3d(0, var(--home-works-card-offset), 0) scale3d(var(--home-works-card-scale), var(--home-works-card-scale), 1);
  will-change: transform;
}

.home-works-entry.is-card-reveal-complete .home-works {
  transform: none;
  will-change: auto;
}

.home-works__grid {
  display: flex;
  flex-direction: column;
  gap: clamp(26.701389px, 3.472222vw, 50px);
}

.home-works__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.home-works__row--last {
  gap: clamp(10.146528px, 1.319444vw, 19px);
}

.home-work {
  min-width: 0;
}

.home-work__link {
  display: block;
  color: inherit;
}

.home-work__image {
  position: relative;
  width: 100%;
  height: clamp(186.909722px, 24.305556vw, 350px);
  overflow: hidden;
  background: #f0f0ee;
}
.home-work__image img {
  display: block;
  max-width: none;
  transition: transform 0.6s ease;
}

.home-works__grid .home-work__link:hover .home-work__image img,
.home-works__grid .home-work__link:focus-visible .home-work__image img {
  transform: scale(1.035);
}

.home-work__image--asia {
  height: clamp(332.074493px, 43.182639vw, 621.83px);
}
.home-work__image--asia img {
  position: absolute;
  top: -34.75%;
  left: -8.89%;
  width: 114.22%;
  height: 165.36%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-work__image--persol img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}

.home-work__image--toraji img {
  position: absolute;
  top: -19.62%;
  left: -4.75%;
  width: 109.49%;
  height: 138.58%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-work__image--nikken {
  display: grid;
  height: clamp(180.026104px, 23.410417vw, 337.11px);
  grid-template-columns: 49.895% 50.105%;
}
.home-work__image--nikken img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-work__image--nikken.is-single {
  grid-template-columns: 1fr;
}

.home-work__image--movie {
  height: clamp(177.265181px, 23.051389vw, 331.94px);
}
.home-work__image--movie img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-work__image--fasford {
  height: clamp(177.297222px, 23.055556vw, 332px);
}
.home-work__image--fasford img {
  position: absolute;
  top: -21.22%;
  left: 0;
  width: 100%;
  height: 142.32%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-work__meta {
  display: flex;
  min-height: clamp(26.701389px, 3.472222vw, 50px);
  align-items: center;
  justify-content: space-between;
  gap: clamp(10.680556px, 1.388889vw, 20px);
  color: #595858;
}
.home-work__meta p {
  min-width: 0;
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.8px;
  white-space: nowrap;
}

.home-work--wide:first-child .home-work__meta {
  color: #0c0c0c;
}

.home-work__title-break-sp {
  display: none;
}

.home-work__tags {
  display: flex;
  flex: 0 0 auto;
  gap: clamp(5.340278px, 0.694444vw, 10px);
}
.home-work__tags span {
  display: grid;
  min-width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(14.41875px, 1.875vw, 27px);
  padding: 0 clamp(5.340278px, 0.694444vw, 10px);
  place-items: center;
  color: #002865;
  border: 1px solid #002865;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.75px;
}
.home-work__tags span:first-child:nth-last-child(3) {
  min-width: clamp(51.800694px, 6.736111vw, 97px);
}

.home-work-marquee {
  padding-bottom: 0;
  overflow: hidden;
  background: #fff;
}

.home-work-marquee__viewport {
  overflow: hidden;
}

.home-work-marquee__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  gap: clamp(12.775547px, 1.661319vw, 23.923px);
  margin-left: clamp(-85px, -5.902778vw, -45.392361px);
  animation: atraps-work-marquee 32s linear infinite;
  will-change: transform;
}

.home-work-marquee__group {
  display: flex;
  flex: none;
  gap: clamp(12.775547px, 1.661319vw, 23.923px);
}
.home-work-marquee__group img {
  flex: none;
  width: clamp(167.362703px, 21.763681vw, 313.397px);
  height: auto;
  aspect-ratio: 628/502;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-work-marquee__footer {
  display: flex;
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(16.020833px, 2.083333vw, 30px);
}
.home-work-marquee__footer a {
  display: flex;
  gap: clamp(16.020833px, 2.083333vw, 30px);
  align-items: center;
  color: #002865;
  font: clamp(12.816667px, 1.666667vw, 24px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.2px;
}
.home-work-marquee__footer a img {
  width: clamp(16.020833px, 2.083333vw, 30px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  transform: rotate(-90deg);
}

.home-work-marquee__line {
  width: 100%;
  height: clamp(2.670139px, 0.347222vw, 5px);
}

@keyframes atraps-work-marquee {
  to {
    transform: translateX(calc(-50% - clamp(6.38804px, 0.830694vw, 11.962px)));
  }
}
.home-method {
  padding: clamp(53.402778px, 6.944444vw, 100px) 0 0;
  background: #fff;
}

.home-method__inner {
  overflow: visible;
}

.home-method__title {
  width: calc(100% + clamp(16.020833px, 2.083333vw, 30px));
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0 0 clamp(42.722222px, 5.555556vw, 80px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.home-method__layout {
  display: grid;
  width: calc(100% + clamp(16.020833px, 2.083333vw, 30px));
  grid-template-columns: clamp(279.296528px, 36.319444vw, 523px) clamp(304.395833px, 39.583333vw, 570px);
  gap: clamp(73.161806px, 9.513889vw, 137px);
  align-items: center;
}

.method-list {
  display: grid;
  gap: clamp(17.088889px, 2.222222vw, 32px);
  margin: 0;
}

.method-step {
  display: grid;
  min-height: clamp(68.889583px, 8.958333vw, 129px);
  grid-template-columns: clamp(83.308333px, 10.833333vw, 156px) clamp(195.988194px, 25.486111vw, 367px);
  grid-template-rows: clamp(23.497222px, 3.055556vw, 44px) clamp(37.381944px, 4.861111vw, 70px);
  row-gap: clamp(8.010417px, 1.041667vw, 15px);
  color: #002865;
  cursor: default;
}

.method-step__name {
  grid-column: 1;
  grid-row: 1;
  font: clamp(32.041667px, 4.166667vw, 60px)/clamp(23.497222px, 3.055556vw, 44px) "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0;
}

.method-step__heading {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  align-items: flex-start;
  gap: clamp(11.748611px, 1.527778vw, 22px);
}
.method-step__heading span {
  display: grid;
  width: clamp(65.151389px, 8.472222vw, 122px);
  height: clamp(22.963194px, 2.986111vw, 43px);
  flex: 0 0 clamp(65.151389px, 8.472222vw, 122px);
  place-items: center;
  border: 1px solid #002865;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: clamp(13.350694px, 1.736111vw, 25px);
}
.method-step__heading em {
  padding-top: clamp(4.272222px, 0.555556vw, 8px);
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-style: normal;
  font-weight: 600;
  line-height: clamp(13.350694px, 1.736111vw, 25px);
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.method-step > p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: #595858;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(13.350694px, 1.736111vw, 25px);
  letter-spacing: 0;
  text-align: justify;
}

.method-diagram {
  position: relative;
  width: clamp(304.395833px, 39.583333vw, 570px);
  height: clamp(304.395833px, 39.583333vw, 570px);
  color: #002865;
}

.method-diagram__orbit {
  position: absolute;
  top: 15.965%;
  left: 15.965%;
  width: 68.07%;
  height: 68.07%;
}

.method-diagram__center,
.method-diagram__node {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid #002865;
  border-radius: 50%;
  background: #fff;
  font-family: "Abolition", "Bebas Neue", sans-serif;
  text-align: center;
}

.method-diagram__center {
  top: 31.58%;
  left: 31.58%;
  width: 36.84%;
  height: 36.84%;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  line-height: clamp(23.497222px, 3.055556vw, 44px);
}

.method-diagram__node {
  z-index: 1;
  width: 26.315%;
  height: 26.315%;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  line-height: clamp(23.497222px, 3.055556vw, 44px);
}

.method-diagram__node--notice {
  top: 0;
  left: 36.84%;
}

.method-diagram__node--create {
  top: 36.84%;
  left: 73.685%;
}

.method-diagram__node--grow {
  top: 73.685%;
  left: 37.02%;
}

.method-diagram__node--connect {
  top: 36.84%;
  left: 0;
}

@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .method-step {
    cursor: pointer;
  }
  .method-step__name,
  .method-step__heading span,
  .method-diagram__node {
    transition: color 0.28s ease, background-color 0.28s ease, transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .method-step:hover .method-step__name {
    transform: translateX(clamp(4.272222px, 0.555556vw, 8px));
  }
  .method-step:hover .method-step__heading span {
    color: #fff;
    background-color: #002865;
  }
  .home-method__layout:has(.method-step:nth-child(1):hover) .method-diagram__node--notice,
  .home-method__layout:has(.method-step:nth-child(2):hover) .method-diagram__node--create,
  .home-method__layout:has(.method-step:nth-child(3):hover) .method-diagram__node--grow,
  .home-method__layout:has(.method-step:nth-child(4):hover) .method-diagram__node--connect {
    color: #fff;
    background-color: #002865;
    transform: scale(1.08);
  }
}
.home-clients {
  padding: clamp(53.402778px, 6.944444vw, 100px) 0;
  overflow: hidden;
  background: #fff;
}

.home-clients__title {
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0 0 clamp(26.701389px, 3.472222vw, 50px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.home-clients__viewport {
  overflow: hidden;
}

.home-clients__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  gap: clamp(37.381944px, 4.861111vw, 70px);
  margin-left: clamp(-313px, -21.736111vw, -167.150694px);
  animation: atraps-clients-marquee 40s linear infinite;
  will-change: transform;
}

.home-clients__group {
  display: flex;
  height: clamp(52.86875px, 6.875vw, 99px);
  flex: none;
  align-items: center;
  gap: clamp(37.381944px, 4.861111vw, 70px);
}

.client-logo {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
}
.client-logo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.client-logo--01 {
  width: clamp(82.240278px, 10.694444vw, 154px);
  height: clamp(37.381944px, 4.861111vw, 70px);
}

.client-logo--02 {
  width: clamp(84.376389px, 10.972222vw, 158px);
  height: clamp(52.86875px, 6.875vw, 99px);
}

.client-logo--03 {
  width: clamp(122.292361px, 15.902778vw, 229px);
  height: clamp(26.701389px, 3.472222vw, 50px);
}

.client-logo--04 {
  width: clamp(156.470139px, 20.347222vw, 293px);
  height: clamp(26.701389px, 3.472222vw, 50px);
}

.client-logo--05 {
  width: clamp(185.49081px, 24.121042vw, 347.343px);
  height: clamp(21.852417px, 2.841667vw, 40.92px);
}

.client-logo--06 {
  width: clamp(75.831944px, 9.861111vw, 142px);
  height: clamp(21.361111px, 2.777778vw, 40px);
}

.client-logo--07 {
  width: clamp(112.145833px, 14.583333vw, 210px);
  height: clamp(26.701389px, 3.472222vw, 50px);
}

.client-logo--08 {
  width: clamp(133.506944px, 17.361111vw, 250px);
  height: clamp(17.622917px, 2.291667vw, 33px);
}

.client-logo--09 {
  position: relative;
  width: clamp(73.161806px, 9.513889vw, 137px);
  height: clamp(26.701389px, 3.472222vw, 50px);
}
.client-logo--09 .client-logo__symbol {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(26.701389px, 3.472222vw, 50px);
  height: clamp(26.701389px, 3.472222vw, 50px);
}
.client-logo--09 .client-logo__type {
  position: absolute;
  top: clamp(5.791531px, 0.753125vw, 10.845px);
  left: clamp(33.800754px, 4.395417vw, 63.294px);
  width: clamp(39.361051px, 5.118472vw, 73.706px);
  height: clamp(15.019531px, 1.953125vw, 28.125px);
}

@keyframes atraps-clients-marquee {
  to {
    transform: translateX(calc(-50% - clamp(18.690972px, 2.430556vw, 35px)));
  }
}
.home-skills {
  position: relative;
  height: var(--skills-scroll-height);
  background: #041125;
}

.home-skills__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: clamp(373.819444px, 48.611111vw, 700px);
  overflow: hidden;
  background: #041125;
}

.home-skills__panel {
  position: absolute;
  z-index: 1;
  inset: 0;
  visibility: hidden;
  overflow: hidden;
  color: #fff;
  opacity: 0;
  isolation: isolate;
  pointer-events: none;
  transition: opacity 0.58s ease, visibility 0s linear 0.72s;
}

.home-skills__panel.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.home-skills__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.72;
  transform: scale(1.025);
  transition: opacity 0.72s ease, transform 1.05s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.home-skills__panel.is-active .home-skills__background {
  opacity: 1;
  transform: scale(1);
}

.home-skills__canvas {
  position: relative;
  width: min(100%, clamp(769px, 100vw, 1440px));
  height: 100%;
  margin-inline: auto;
}

.home-skills__label {
  position: absolute;
  z-index: 2;
  top: 8.4%;
  left: 8.333%;
  width: 83.334%;
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.9);
}

.home-skills__name {
  position: absolute;
  z-index: 2;
  top: 19.82%;
  left: 8.333%;
  margin: 0;
  color: #fff;
  font: 700 clamp(50.732639px, 6.597222vw, 95px)/1.22 "Alexandria", "Noto Sans JP", sans-serif;
  letter-spacing: clamp(8.117222px, 1.055556vw, 15.2px);
  white-space: nowrap;
}
.home-skills__name span {
  display: block;
}

.home-skills__tags {
  position: absolute;
  z-index: 2;
  top: 46.15%;
  left: 8.333%;
  display: flex;
  height: clamp(10.680556px, 1.388889vw, 20px);
  align-items: flex-start;
  gap: clamp(7.476389px, 0.972222vw, 14px);
  color: #fff;
  font: 700 clamp(7.476389px, 0.972222vw, 14px)/clamp(10.680556px, 1.388889vw, 20px) "Alexandria", "Noto Sans JP", sans-serif;
  letter-spacing: 2.8px;
  white-space: nowrap;
}
.home-skills__tags img {
  width: 1px;
  height: clamp(10.680556px, 1.388889vw, 20px);
}

.home-skills__copy {
  position: absolute;
  z-index: 2;
  top: 53.05%;
  left: 8.333%;
  width: clamp(194.386111px, 25.277778vw, 364px);
  color: #fff;
}
.home-skills__copy h3 {
  margin: 0 0 clamp(5.874306px, 0.763889vw, 11px);
  font-size: clamp(16.020833px, 2.083333vw, 30px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 2.4px;
}
.home-skills__copy h3 span {
  display: block;
}
.home-skills__copy p {
  width: clamp(184.239583px, 23.958333vw, 345px);
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(14.952778px, 1.944444vw, 28px);
  letter-spacing: 1.28px;
  text-align: justify;
}

.home-skills__tools {
  position: absolute;
  z-index: 2;
  top: 78.98%;
  left: 8.333%;
  display: flex;
  width: -moz-max-content;
  width: max-content;
  flex-direction: column;
  align-items: center;
  gap: clamp(19.225px, 2.5vw, 36px);
}

.home-skills__label,
.home-skills__name,
.home-skills__tags,
.home-skills__copy {
  opacity: 0;
  transform: translateY(clamp(11.748611px, 1.527778vw, 22px));
  transition: opacity 0.48s ease, transform 0.68s cubic-bezier(0.2, 0.72, 0.2, 1);
}

.home-skills__panel.is-active .home-skills__label,
.home-skills__panel.is-active .home-skills__name,
.home-skills__panel.is-active .home-skills__tags,
.home-skills__panel.is-active .home-skills__copy {
  opacity: 1;
  transform: translateY(0);
}

.home-skills__panel.is-active .home-skills__label {
  transition-delay: 0.04s;
}

.home-skills__panel.is-active .home-skills__name {
  transition-delay: 0.1s;
}

.home-skills__panel.is-active .home-skills__tags {
  transition-delay: 0.16s;
}

.home-skills__panel.is-active .home-skills__copy {
  transition-delay: 0.22s;
}

.home-skills__tools {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.home-skills__panel.is-active .home-skills__tools {
  opacity: 1;
  transition-delay: 0.26s;
}

.home-skills__tool-row {
  position: relative;
  display: flex;
  height: clamp(50.198611px, 6.527778vw, 94px);
  align-items: flex-end;
  gap: clamp(13.350694px, 1.736111vw, 25px);
  padding-top: clamp(18.156944px, 2.361111vw, 34px);
}

.home-skills__tool-current-group {
  position: relative;
  display: flex;
  flex: none;
  align-items: flex-end;
  gap: clamp(13.350694px, 1.736111vw, 25px);
}

.home-skills__selector {
  position: absolute;
  top: clamp(-34px, -2.361111vw, -18.156944px);
  left: 50%;
  width: clamp(10.680556px, 1.388889vw, 20px);
  height: clamp(10.680556px, 1.388889vw, 20px);
  transform: translateX(-50%) rotate(180deg);
}

.home-skills__tool-button {
  position: relative;
  display: block;
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  flex: none;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: scale(1);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-skills__tool-button.is-current {
  width: clamp(32.041667px, 4.166667vw, 60px);
  height: clamp(32.041667px, 4.166667vw, 60px);
}

.home-skills__tool-button:not(.is-current):hover,
.home-skills__tool-button:not(.is-current).is-group-hovered {
  z-index: 2;
  transform: scale(1.12);
}

.home-skills__tool-button:focus-visible {
  z-index: 3;
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: clamp(2.670139px, 0.347222vw, 5px);
}

.home-skills__tool-button:not(.is-current):focus-visible {
  transform: scale(1.12);
}

.home-skills__tool {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-skills__tool-button.is-current .home-skills__tool {
  filter: drop-shadow(clamp(2.136111px, 0.277778vw, 4px) clamp(2.136111px, 0.277778vw, 4px) 2px rgba(12, 12, 12, 0.25));
}

.home-skills__dots {
  width: clamp(58.743056px, 7.638889vw, 110px);
  height: clamp(5.340278px, 0.694444vw, 10px);
}

.home-skills__pagination {
  display: none;
}

.home-skills__main {
  position: absolute;
  z-index: 1;
  top: 15.12%;
  left: 45.14%;
  width: min(51.875%, clamp(398.91875px, 51.875vw, 747px));
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
  transform: translate3d(clamp(22.429167px, 2.916667vw, 42px), clamp(8.544444px, 1.111111vw, 16px), 0) scale(0.965);
  transition: opacity 0.68s ease, transform 0.92s cubic-bezier(0.16, 1, 0.3, 1);
}

.home-skills__panel.is-active .home-skills__main {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition-delay: 0.08s;
}

@media (min-width: 681px) {
  .home-skills__panel:not(.is-active) .home-skills__label,
  .home-skills__panel:not(.is-active) .home-skills__name,
  .home-skills__panel:not(.is-active) .home-skills__tags,
  .home-skills__panel:not(.is-active) .home-skills__copy {
    opacity: 0;
    transform: translateY(clamp(-12px, -0.833333vw, -6.408333px));
    transition: opacity 0.12s ease, transform 0.16s ease;
  }
  .home-skills__panel:not(.is-active) .home-skills__tools {
    opacity: 0;
    transition: opacity 0.12s ease;
  }
  .home-skills__panel:not(.is-active) .home-skills__main {
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.52s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .home-skills__panel.is-active .home-skills__label {
    transition-delay: 0.16s;
  }
  .home-skills__panel.is-active .home-skills__name {
    transition-delay: 0.22s;
  }
  .home-skills__panel.is-active .home-skills__tags {
    transition-delay: 0.28s;
  }
  .home-skills__panel.is-active .home-skills__copy {
    transition-delay: 0.34s;
  }
  .home-skills__panel.is-active .home-skills__tools {
    transition-delay: 0.38s;
  }
  .home-skills__panel.is-active .home-skills__main {
    transition-delay: 0.16s;
  }
}
.home-service-cards {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.home-service-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.home-service-card {
  position: relative;
  isolation: isolate;
  display: block;
  overflow: hidden;
  aspect-ratio: 590/230;
  background: #041125;
}
.home-service-card::after {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: -55%;
  width: 36%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  content: "";
  mix-blend-mode: soft-light;
  opacity: 0;
  pointer-events: none;
  transform: skewX(-18deg) translate3d(-20%, 0, 0);
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease;
}
.home-service-card:focus-visible {
  outline: 3px solid #0d3ce8;
  outline-offset: clamp(2.136111px, 0.277778vw, 4px);
}

.home-service-card__media,
.home-service-card__overlay {
  position: absolute;
  inset: 0;
  display: block;
}

.home-service-card__media {
  z-index: 0;
  overflow: hidden;
}

.home-service-card__background {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.7s ease;
  will-change: transform;
}

.home-service-card__overlay {
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.65s ease, background-color 0.65s ease;
}

.home-service-card__title {
  position: absolute;
  z-index: 3;
  display: block;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
  transition: transform 0.72s cubic-bezier(0.16, 1, 0.3, 1), filter 0.72s ease;
  will-change: transform;
}

.home-service-card__arrow {
  position: absolute;
  z-index: 3;
  right: clamp(6.408333px, 0.833333vw, 12px);
  bottom: clamp(6.408333px, 0.833333vw, 12px);
  display: grid;
  width: clamp(19.225px, 2.5vw, 36px);
  height: clamp(19.225px, 2.5vw, 36px);
  place-items: center;
  pointer-events: none;
  transition: transform 0.62s cubic-bezier(0.16, 1, 0.3, 1), filter 0.62s ease;
  will-change: transform;
}
.home-service-card__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.home-service-card__product {
  position: absolute;
  top: -18%;
  display: block;
  width: 52%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), filter 0.72s ease;
  will-change: transform;
}

.home-service-card__product--white {
  left: 27%;
}

.home-service-card__product--black {
  left: 50%;
}

.home-service-card--training .home-service-card__background {
  -o-object-position: 50% 54%;
     object-position: 50% 54%;
}
.home-service-card--training .home-service-card__overlay {
  background: linear-gradient(90deg, rgba(4, 17, 37, 0.1), transparent 38%, rgba(0, 0, 0, 0.12));
}
.home-service-card--training .home-service-card__title {
  top: 50%;
  left: 50%;
  width: clamp(461.4px, 60vw, 864px);
  transform: translate3d(-50%, -50%, 0);
}

.home-service-card--creative .home-service-card__background {
  -o-object-position: 50% 68%;
     object-position: 50% 68%;
}
.home-service-card--creative .home-service-card__overlay {
  background: linear-gradient(90deg, rgba(203, 135, 0, 0.5), rgba(87, 157, 223, 0.38) 49%, rgba(20, 0, 101, 0.48));
  mix-blend-mode: multiply;
}
.home-service-card--creative .home-service-card__title {
  bottom: clamp(10.680556px, 1.388889vw, 20px);
  left: clamp(10.680556px, 1.388889vw, 20px);
  width: clamp(194.386111px, 25.277778vw, 364px);
}

.home-service-card--photo .home-service-card__background {
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.home-service-card--photo .home-service-card__overlay {
  background: rgba(4, 17, 37, 0.48);
}
.home-service-card--photo .home-service-card__title {
  bottom: clamp(10.680556px, 1.388889vw, 20px);
  left: clamp(10.680556px, 1.388889vw, 20px);
  width: clamp(150.061806px, 19.513889vw, 281px);
}

.home-service-card--note .home-service-card__background {
  -o-object-position: 50% 53%;
     object-position: 50% 53%;
}
.home-service-card--note .home-service-card__overlay {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.32));
}
.home-service-card--note .home-service-card__title {
  bottom: clamp(10.680556px, 1.388889vw, 20px);
  left: clamp(10.680556px, 1.388889vw, 20px);
  width: clamp(48.596528px, 6.319444vw, 91px);
}

.home-service-card--apparel {
  background: #010101;
}
.home-service-card--apparel .home-service-card__overlay {
  background: radial-gradient(circle at 76% 40%, rgba(255, 255, 255, 0.07), transparent 45%);
}

.home-service-card__title--apparel {
  bottom: clamp(10.680556px, 1.388889vw, 20px);
  left: clamp(10.680556px, 1.388889vw, 20px);
  display: flex;
  width: clamp(92.920833px, 12.083333vw, 174px);
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(3.738194px, 0.486111vw, 7px);
}
.home-service-card__title--apparel .home-service-card__title-line {
  display: block;
  height: auto;
}
.home-service-card__title--apparel .home-service-card__title-line--top {
  width: clamp(63.015278px, 8.194444vw, 118px);
}
.home-service-card__title--apparel .home-service-card__title-line--bottom {
  width: clamp(92.920833px, 12.083333vw, 174px);
}

@media (hover: hover) and (min-width: 769px) {
  .home-service-card:hover::after,
  .home-service-card:focus-visible::after {
    opacity: 0.72;
    transform: skewX(-18deg) translate3d(450%, 0, 0);
  }
  .home-service-card:hover .home-service-card__background,
  .home-service-card:focus-visible .home-service-card__background {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.055);
  }
  .home-service-card:hover .home-service-card__title,
  .home-service-card:focus-visible .home-service-card__title {
    filter: drop-shadow(0 clamp(4.272222px, 0.555556vw, 8px) clamp(8.544444px, 1.111111vw, 16px) rgba(0, 0, 0, 0.18));
  }
  .home-service-card:hover .home-service-card__arrow,
  .home-service-card:focus-visible .home-service-card__arrow {
    transform: translate3d(clamp(2.670139px, 0.347222vw, 5px), 0, 0);
  }
  .home-service-card:hover .home-service-card__product--white,
  .home-service-card:focus-visible .home-service-card__product--white {
    filter: brightness(1.04);
    transform: translate3d(clamp(-10px, -0.694444vw, -5.340278px), -3px, 0) rotate(-1.5deg) scale(1.035);
  }
  .home-service-card:hover .home-service-card__product--black,
  .home-service-card:focus-visible .home-service-card__product--black {
    filter: brightness(1.08);
    transform: translate3d(clamp(5.340278px, 0.694444vw, 10px), clamp(-5px, -0.347222vw, -2.670139px), 0) rotate(1.5deg) scale(1.035);
  }
  .home-service-card--training:hover .home-service-card__background,
  .home-service-card--training:focus-visible .home-service-card__background {
    transform: scale(1.04);
  }
  .home-service-card--creative:hover .home-service-card__background,
  .home-service-card--creative:focus-visible .home-service-card__background {
    transform: translate3d(clamp(-6px, -0.416667vw, -3.204167px), 0, 0) scale(1.065);
  }
  .home-service-card--note:hover .home-service-card__background,
  .home-service-card--note:focus-visible .home-service-card__background {
    transform: rotate(-0.35deg) scale(1.075);
  }
}
.home-service-card--wide {
  grid-column: 1/-1;
  aspect-ratio: 1200/365;
}

.home-about-preview {
  padding: clamp(53.402778px, 6.944444vw, 100px) 0 0;
  background: #fff;
}

.home-about-preview__title {
  height: clamp(33.64375px, 4.375vw, 63px);
  margin: 0 0 clamp(42.722222px, 5.555556vw, 80px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.8 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.home-about-preview__placeholder {
  width: 100%;
  height: clamp(193.852083px, 25.208333vw, 363px);
  background: #d9d9d9;
}

.home-news {
  padding: clamp(53.402778px, 6.944444vw, 100px) 0;
  background: #fff;
}

.home-news__title {
  height: clamp(33.64375px, 4.375vw, 63px);
  margin: 0 0 clamp(42.722222px, 5.555556vw, 80px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.8 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.home-news__list {
  display: flex;
  flex-direction: column;
  gap: clamp(8.544444px, 1.111111vw, 16px);
}

.home-news-row {
  display: grid;
  height: clamp(66.753472px, 8.680556vw, 125px);
  grid-template-columns: clamp(356.196528px, 46.319444vw, 667px) clamp(158.60625px, 20.625vw, 297px);
  justify-content: space-between;
  color: #0c0c0c;
}

.home-news-row__body {
  display: flex;
  height: clamp(66.753472px, 8.680556vw, 125px);
  flex-direction: column;
  justify-content: flex-end;
  gap: clamp(17.088889px, 2.222222vw, 32px);
}

.home-news-row__text {
  display: flex;
  width: clamp(280.364583px, 36.458333vw, 525px);
  flex-direction: column;
  gap: clamp(10.680556px, 1.388889vw, 20px);
}
.home-news-row__text time {
  height: clamp(8.752715px, 1.138194vw, 16.39px);
  font: clamp(12.356869px, 1.606875vw, 23.139px)/0.71 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.157px;
}

.home-news-row__title {
  margin: 0;
  color: #595858;
  font-size: clamp(8.237913px, 1.07125vw, 15.426px);
  font-weight: 600;
  line-height: clamp(12.871672px, 1.673819vw, 24.103px);
  text-align: justify;
}

.home-news-row__line {
  width: clamp(385.568056px, 50.138889vw, 722px);
  max-width: none;
  height: 1px;
}

.home-news-row__thumbnail-frame {
  display: block;
  width: clamp(158.60625px, 20.625vw, 297px);
  height: clamp(66.753472px, 8.680556vw, 125px);
  overflow: hidden;
}

.home-news-row__thumbnail {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.home-news + .contact-banner {
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

.news-list {
  border-top: 1px solid #d8d8d4;
}

.news-row {
  display: grid;
  grid-template-columns: clamp(74.763889px, 9.722222vw, 140px) 1fr clamp(18.690972px, 2.430556vw, 35px);
  gap: clamp(13.350694px, 1.736111vw, 25px);
  align-items: center;
  min-height: clamp(56.072917px, 7.291667vw, 105px);
  border-bottom: 1px solid #d8d8d4;
}
.news-row time {
  color: #595858;
  font-size: clamp(5.874306px, 0.763889vw, 11px);
}
.news-row strong {
  font-size: clamp(8.010417px, 1.041667vw, 15px);
}
.news-row .news-row__arrow {
  display: grid;
  width: clamp(18.690972px, 2.430556vw, 35px);
  height: clamp(18.690972px, 2.430556vw, 35px);
  place-items: center;
}
.news-row .icon-arrow-up-right {
  --arrow-size: clamp(9.6125px, 1.25vw, 18px);
}
.news-row:hover .icon-arrow-up-right {
  transform: translate(2px, -2px);
}

@media (max-width: 980px) {
  .home-skills__name {
    left: 6%;
    font-size: clamp(clamp(34.177778px, 4.444444vw, 64px), 9vw, clamp(46.994444px, 6.111111vw, 88px));
    letter-spacing: 0.12em;
  }
  .home-skills__label,
  .home-skills__tags,
  .home-skills__copy,
  .home-skills__tools {
    left: 6%;
  }
  .home-skills__main {
    left: 41%;
    width: 59%;
  }
  .home-news-row {
    grid-template-columns: minmax(0, 1fr) clamp(138.847222px, 18.055556vw, 260px);
    gap: clamp(21.361111px, 2.777778vw, 40px);
  }
  .home-news-row__line {
    width: 100%;
  }
  .home-news-row__thumbnail-frame {
    width: clamp(138.847222px, 18.055556vw, 260px);
  }
}
@media (max-width: 768px) {
  .home-hero {
    height: 100%;
    min-height: 0;
  }
  .home-concept {
    height: auto;
    min-height: 284.358974vw;
  }
  .home-concept__inner {
    display: flex;
    width: min(100% - 10.25641vw, 84.615385vw);
    height: auto;
    min-height: 284.358974vw;
    padding-top: 34.102564vw;
    flex-direction: column;
    align-items: flex-start;
  }
  .home-concept__message {
    position: static;
    width: calc(100% + 1px);
    flex: 0 0 auto;
    font-size: 4.102564vw;
    line-height: 10.25641vw;
    letter-spacing: 0.8px;
  }
  .home-concept__message br {
    display: none;
  }
  .home-concept__message p + p {
    margin-top: 0;
  }
  .home-concept__message-pc {
    display: none;
  }
  .home-concept__message-sp {
    display: inline-grid;
  }
  .home-concept__message-sp-line {
    display: grid;
  }
  .home-concept__motto {
    position: static;
    width: calc(100% + 1px);
    margin-top: 10.25641vw;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .home-concept__motto h2 {
    margin-bottom: 2.051282vw;
    font-size: clamp(17.435897vw, 22vw - 2.051282vw, 19.487179vw);
    line-height: 19.487179vw;
    letter-spacing: 0.04em;
  }
  .home-concept__motto p {
    font-size: 7.179487vw;
    line-height: 12.820513vw;
    letter-spacing: 1.4px;
  }
  .home-concept__emblem {
    position: static;
    width: 18.205128vw;
    height: 17.948718vw;
    margin-top: 27.179487vw;
    margin-left: calc(50% - 11.282051vw);
    flex: 0 0 auto;
  }
  .home-concept__works-label {
    position: static;
    width: -moz-max-content;
    width: max-content;
    margin: 27.179487vw 0 0;
    flex: 0 0 auto;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .home-works {
    padding: 7.692308vw 0 8.974359vw;
    border-radius: 0;
  }
  .home-works__grid {
    width: min(100% - 10.25641vw, 84.615385vw);
    gap: 12.820513vw;
  }
  .home-works__row {
    grid-template-columns: 1fr;
    gap: 12.820513vw;
  }
  .home-work__image {
    height: 50.195641vw;
  }
  .home-work__image--asia {
    height: 43.846154vw;
  }
  .home-work__image--toraji {
    height: 50.25641vw;
  }
  .home-work__image--persol img {
    -o-object-fit: fill;
       object-fit: fill;
    -o-object-position: center;
       object-position: center;
  }
  .home-work__image--nikken {
    height: 95.384615vw;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 47.692308vw);
  }
  .home-work__image--nikken.is-single {
    height: 47.692308vw;
    grid-template-rows: 1fr;
  }
  .home-work__image--movie,
  .home-work__image--fasford {
    height: 47.692308vw;
  }
  .home-work__meta {
    min-height: 0;
    padding-top: 2.051282vw;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4.102564vw;
  }
  .home-work__meta p {
    width: 100%;
    font-size: 3.589744vw;
    line-height: 4.615385vw;
    letter-spacing: 0.7px;
    white-space: normal;
  }
  .home-work__title-break-sp {
    display: block;
  }
  .home-work__tags {
    gap: 2.564103vw;
  }
  .home-work__tags span {
    min-width: 22.051282vw;
    height: 6.923077vw;
    padding-inline: 2.564103vw;
    font-size: 3.846154vw;
  }
  .home-work__tags span:first-child:nth-last-child(3) {
    min-width: 24.871795vw;
  }
  .home-work-marquee {
    padding-bottom: 0;
  }
  .home-work-marquee__track {
    gap: 5.871538vw;
    margin-left: calc(50% - 204.102564vw);
    animation-duration: 36s;
  }
  .home-work-marquee__group {
    gap: 5.871538vw;
  }
  .home-work-marquee__group img {
    width: 76.918462vw;
    height: auto;
  }
  .home-work-marquee__footer {
    width: min(100% - 15.384615vw, 84.615385vw);
    margin-top: 12.820513vw;
    gap: 6.153846vw;
  }
  .home-work-marquee__footer a {
    height: 7.692308vw;
    gap: 7.692308vw;
    font-size: 4.102564vw;
    letter-spacing: 0.8px;
  }
  .home-work-marquee__footer a span {
    display: grid;
    width: 24.102564vw;
    height: 7.692308vw;
    place-items: center;
  }
  .home-work-marquee__footer a img {
    width: 5.128205vw;
    height: 5.128205vw;
  }
  .home-work-marquee__line {
    height: 3px;
    margin-top: -3px;
  }
  @keyframes atraps-work-marquee {
    to {
      transform: translateX(calc(-50% - 2.935897vw));
    }
  }
  .home-method {
    padding: 25.641026vw 0 0;
  }
  .home-method__inner {
    width: min(100% - 15.384615vw, 84.615385vw);
  }
  .home-method__title {
    width: 100%;
    height: 10.25641vw;
    margin-bottom: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .home-method__layout {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 12.820513vw;
  }
  .method-list {
    gap: 8.205128vw;
  }
  .method-step {
    min-height: 0;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-rows: 11.282051vw auto;
    -moz-column-gap: 5.128205vw;
         column-gap: 5.128205vw;
    row-gap: 2.051282vw;
  }
  .method-step:last-child {
    -moz-column-gap: 4.615385vw;
         column-gap: 4.615385vw;
  }
  .method-step__name {
    grid-column: 1;
    grid-row: 1;
    padding-right: 1px;
    font-size: 10.25641vw;
    line-height: 11.282051vw;
  }
  .method-step__heading {
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    gap: 5.128205vw;
  }
  .method-step__heading span {
    width: auto;
    height: 9.230769vw;
    padding: 0 3.333333vw;
    flex-basis: auto;
    color: #fff;
    border: 0;
    background: #002865;
    font-size: 4.102564vw;
    line-height: 4.615385vw;
  }
  .method-step__heading em {
    padding-top: 0;
    font-size: 4.102564vw;
    line-height: 6.410256vw;
  }
  .method-step:last-child .method-step__heading {
    gap: 4.615385vw;
  }
  .method-step > p {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: 4.102564vw;
    font-weight: 500;
    line-height: 6.410256vw;
    text-align: justify;
  }
  .method-step:last-child > p {
    letter-spacing: -0.16px;
  }
  .method-diagram {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
  .method-diagram__center {
    border-width: 0.579px;
    font-size: 6.153846vw;
    line-height: 6.410256vw;
  }
  .method-diagram__node {
    border-width: 0.579px;
    font-size: 6.153846vw;
    line-height: 6.410256vw;
  }
  .home-clients {
    padding: 12.820513vw 0 25.641026vw;
  }
  .home-clients__title {
    width: 38.205128vw;
    height: 10.25641vw;
    margin-bottom: 9.10359vw;
    margin-left: 4.102564vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
    white-space: nowrap;
  }
  .home-clients__viewport {
    overflow: visible;
  }
  .home-clients__track {
    gap: 12.978205vw;
    margin-left: calc(100% - 229.889231vw);
    animation-duration: 36s;
  }
  .home-clients__group {
    height: 18.461538vw;
    gap: 12.978205vw;
  }
  .client-logo--01 {
    width: 28.552308vw;
    height: 12.965641vw;
  }
  .client-logo--02 {
    width: 29.293846vw;
    height: 18.355128vw;
  }
  .client-logo--03 {
    width: 42.457692vw;
    height: 9.297179vw;
  }
  .client-logo--04 {
    width: 54.32359vw;
    height: 9.270256vw;
  }
  .client-logo--05 {
    width: 64.398974vw;
    height: 7.586667vw;
  }
  .client-logo--06 {
    width: 26.327436vw;
    height: 7.456923vw;
  }
  .client-logo--07 {
    width: 38.934872vw;
    height: 9.289487vw;
  }
  .client-logo--08 {
    width: 46.351026vw;
    height: 6.130256vw;
  }
  .client-logo--09 {
    width: 25.400513vw;
    height: 9.301538vw;
  }
  .client-logo--09 .client-logo__symbol {
    width: 9.429231vw;
    height: 9.301538vw;
  }
  .client-logo--09 .client-logo__type {
    top: 2.017436vw;
    left: 11.734615vw;
    width: 13.665897vw;
    height: 5.232564vw;
  }
  @keyframes atraps-clients-marquee {
    to {
      transform: translateX(calc(-50% - 6.489103vw));
    }
  }
  .home-skills {
    height: var(--skills-scroll-height);
  }
  .home-skills__sticky {
    position: sticky;
    top: 0;
    display: block;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    height: var(--visible-viewport-height, 100dvh);
    min-height: 0;
    overflow: hidden;
    background: #041125;
  }
  .home-skills__panel {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.58s ease, visibility 0s linear 0.72s;
  }
  .home-skills__panel.is-active {
    z-index: 2;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .home-skills__canvas {
    display: grid;
    width: 100%;
    height: 100%;
    padding: 8.205128vw 6.153846vw max(3.076923vw, env(safe-area-inset-bottom, 0px));
    grid-template-rows: 7.179487vw auto 6.666667vw minmax(28.205128vw, 1fr) 19.487179vw auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }
  .home-skills__label,
  .home-skills__name,
  .home-skills__tags,
  .home-skills__copy,
  .home-skills__tools,
  .home-skills__main {
    position: relative;
    inset: auto;
  }
  .home-skills__label {
    grid-row: 1;
    width: -moz-max-content;
    width: max-content;
    height: 7.179487vw;
    font-size: 0;
    line-height: 7.179487vw;
    letter-spacing: 1.4px;
  }
  .home-skills__label::before {
    content: "SKILS";
    font-size: 7.179487vw;
    line-height: 7.179487vw;
    letter-spacing: 1.4px;
  }
  .home-skills__name {
    grid-row: 2;
    width: -moz-max-content;
    width: max-content;
    margin-top: 0;
    font-size: 8.717949vw;
    line-height: 9.74359vw;
    letter-spacing: 1.128205vw;
  }
  .home-skills__tags {
    grid-row: 3;
    max-width: 100%;
    height: 4.358974vw;
    margin-top: 1.794872vw;
    gap: 2.564103vw;
    overflow: hidden;
    font-size: 2.820513vw;
    line-height: 4.358974vw;
    letter-spacing: 1.5px;
    text-shadow: 0 1px 3px rgba(12, 12, 12, 0.32);
    white-space: nowrap;
  }
  .home-skills__tags img {
    width: 1px;
    height: 4.358974vw;
    flex: none;
  }
  .home-skills__main,
  .home-skills__panel--visual .home-skills__main,
  .home-skills__panel--movie .home-skills__main,
  .home-skills__panel--web .home-skills__main,
  .home-skills__panel--editorial .home-skills__main {
    grid-row: 4;
    align-self: center;
    justify-self: center;
    width: min(84vw, 82.051282vw);
    height: 100%;
    max-width: none;
    max-height: 73.333333vw;
    -o-object-fit: contain;
       object-fit: contain;
    opacity: 0;
    transform: translate3d(4.615385vw, 2.051282vw, 0) scale(0.97);
    transition: opacity 0.68s ease, transform 0.92s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    top: 0;
  }
  .home-skills__panel--graphic .home-skills__main,
  .home-skills__panel--editorial .home-skills__main {
    width: min(70vw, 68.205128vw);
  }
  .home-skills__panel.is-active .home-skills__main,
  .home-skills__panel--visual.is-active .home-skills__main,
  .home-skills__panel--movie.is-active .home-skills__main,
  .home-skills__panel--web.is-active .home-skills__main,
  .home-skills__panel--editorial.is-active .home-skills__main {
    opacity: 1;
    transform: none;
    transition-delay: 0.16s;
  }
  .home-skills__tools,
  .home-skills__panel--visual .home-skills__tools,
  .home-skills__panel--movie .home-skills__tools,
  .home-skills__panel--web .home-skills__tools,
  .home-skills__panel--editorial .home-skills__tools {
    grid-row: 5;
    align-self: center;
    justify-self: stretch;
    width: 100%;
    height: 16.923077vw;
    gap: 2.051282vw;
    transform: none;
  }
  .home-skills__tool-row {
    width: 100%;
    height: 13.333333vw;
    justify-content: center;
    gap: 2.307692vw;
    padding-top: 3.076923vw;
  }
  .home-skills__tool-current-group {
    gap: 2.307692vw;
  }
  .home-skills__selector {
    top: -5.128205vw;
    left: 50%;
    width: 3.333333vw;
    height: 3.333333vw;
    transform: translateX(-50%) rotate(180deg);
  }
  .home-skills__tool-button {
    width: 7.179487vw;
    height: 7.179487vw;
  }
  .home-skills__tool-button.is-current {
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .home-skills__copy,
  .home-skills__panel--visual .home-skills__copy,
  .home-skills__panel--movie .home-skills__copy,
  .home-skills__panel--web .home-skills__copy,
  .home-skills__panel--editorial .home-skills__copy {
    grid-row: 6;
    width: 100%;
    text-shadow: none;
  }
  .home-skills__copy h3,
  .home-skills__panel--visual .home-skills__copy h3,
  .home-skills__panel--movie .home-skills__copy h3,
  .home-skills__panel--web .home-skills__copy h3,
  .home-skills__panel--editorial .home-skills__copy h3 {
    margin-bottom: 2.051282vw;
    font-size: 5.128205vw;
    line-height: 7.948718vw;
    letter-spacing: 1.4px;
  }
  .home-skills__copy p,
  .home-skills__panel--visual .home-skills__copy p,
  .home-skills__panel--movie .home-skills__copy p,
  .home-skills__panel--web .home-skills__copy p,
  .home-skills__panel--editorial .home-skills__copy p {
    width: 100%;
    font-size: 3.333333vw;
    line-height: 5.128205vw;
    letter-spacing: 0.7px;
    text-align: justify;
  }
  .home-skills__panel:not(.is-active) .home-skills__label,
  .home-skills__panel:not(.is-active) .home-skills__name,
  .home-skills__panel:not(.is-active) .home-skills__tags,
  .home-skills__panel:not(.is-active) .home-skills__copy {
    opacity: 0;
    transform: translateY(-3.076923vw);
    transition: opacity 0.12s ease, transform 0.16s ease;
  }
  .home-skills__panel:not(.is-active) .home-skills__tools {
    opacity: 0;
    transition: opacity 0.12s ease;
  }
  .home-skills__panel:not(.is-active) .home-skills__main {
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.52s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .home-skills__panel.is-active .home-skills__label {
    transition-delay: 0.16s;
  }
  .home-skills__panel.is-active .home-skills__name {
    transition-delay: 0.22s;
  }
  .home-skills__panel.is-active .home-skills__tags {
    transition-delay: 0.28s;
  }
  .home-skills__panel.is-active .home-skills__copy {
    transition-delay: 0.34s;
  }
  .home-skills__panel.is-active .home-skills__tools {
    transition-delay: 0.38s;
  }
  .home-skills__dots {
    display: block;
    width: 17.435897vw;
    height: 1.538462vw;
  }
  .home-skills__pagination {
    display: none;
  }
  .home-service-cards {
    padding-top: 7.692308vw;
  }
  .home-service-cards__grid {
    width: min(100% - 10.25641vw, 84.615385vw);
    grid-template-columns: 1fr;
    gap: 3.846154vw;
  }
  .home-service-card {
    height: 23.076923vw;
    aspect-ratio: auto;
    background-color: #010101;
  }
  .home-service-card::after {
    display: none;
  }
  .home-service-card__background {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home-service-card__arrow {
    right: 0.846154vw;
    bottom: 0.897436vw;
    width: 2.538462vw;
    height: 2.538462vw;
  }
  .home-service-card--training {
    height: 33.333333vw;
  }
  .home-service-card--training .home-service-card__background {
    -o-object-position: 50% 47%;
       object-position: 50% 47%;
  }
  .home-service-card--training .home-service-card__title {
    top: 14.102564vw;
    left: 11.841795vw;
    width: 60.932051vw;
    height: 5.288462vw;
    transform: none;
  }
  .home-service-card--training .home-service-card__arrow {
    right: 0.846154vw;
    bottom: 0.879231vw;
  }
  .home-service-card--creative .home-service-card__background {
    -o-object-position: 50% 82%;
       object-position: 50% 82%;
  }
  .home-service-card--creative .home-service-card__title {
    bottom: 1.538462vw;
    left: 1.282051vw;
    width: 35.897436vw;
    height: 5.128205vw;
  }
  .home-service-card--creative .home-service-card__arrow {
    right: 0.923077vw;
    bottom: 1.013846vw;
  }
  .home-service-card--photo .home-service-card__background {
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .home-service-card--photo .home-service-card__title {
    right: auto;
    bottom: 0.916667vw;
    left: 1.410256vw;
    width: 27.692308vw;
    height: 5.128205vw;
  }
  .home-service-card--photo .home-service-card__arrow {
    right: 0.846154vw;
    bottom: 0.916667vw;
  }
  .home-service-card--note .home-service-card__background {
    -o-object-position: 50% 55%;
       object-position: 50% 55%;
  }
  .home-service-card--note .home-service-card__title {
    bottom: 1.410256vw;
    left: 1.410256vw;
    width: 8.974359vw;
    height: 5.128205vw;
  }
  .home-service-card--note .home-service-card__arrow {
    right: 0.846154vw;
    bottom: 1.410256vw;
  }
  .home-service-card--apparel {
    height: 23.846154vw;
  }
  .home-service-card--apparel .home-service-card__product {
    top: -2.051282vw;
    width: 42.952564vw;
    height: 42.952564vw;
  }
  .home-service-card--apparel .home-service-card__product--white {
    left: 22.051282vw;
  }
  .home-service-card--apparel .home-service-card__product--black {
    left: 39.737179vw;
  }
  .home-service-card--apparel .home-service-card__title--apparel {
    top: 12.051282vw;
    bottom: auto;
    left: 1.282051vw;
    width: 17.179487vw;
    height: 10.076923vw;
    gap: 0.846154vw;
    transform: none;
  }
  .home-service-card--apparel .home-service-card__title--apparel .home-service-card__title-line--top {
    width: 11.538462vw;
    height: 4.102564vw;
  }
  .home-service-card--apparel .home-service-card__title--apparel .home-service-card__title-line--bottom {
    width: 17.179487vw;
    height: 5.128205vw;
  }
  .home-service-card--apparel .home-service-card__arrow {
    right: 1.307692vw;
    bottom: 0.852564vw;
  }
  .home-service-card--wide {
    grid-column: 1;
  }
  .home-about-preview {
    padding: 25.641026vw 0 0;
  }
  .home-about-preview__title {
    height: 10.25641vw;
    margin-bottom: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .home-about-preview__placeholder {
    height: 51.282051vw;
    aspect-ratio: auto;
  }
  .home-about-preview > .container {
    width: min(100% - 10.25641vw, 84.615385vw);
  }
  .home-news {
    padding: 25.641026vw 0 12.820513vw;
  }
  .home-news > .container {
    width: min(100% - 10.25641vw, 84.615385vw);
  }
  .home-news__title {
    height: 10.25641vw;
    margin-bottom: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .home-news__list {
    gap: 6.153846vw;
  }
  .home-news-row {
    position: relative;
    height: 22.664103vw;
    grid-template-columns: 53.589744vw 25.641026vw;
    gap: 5.384615vw;
    align-items: start;
  }
  .home-news-row__body {
    display: block;
    height: 18.561538vw;
  }
  .home-news-row__text {
    width: 53.589744vw;
    gap: 5.128205vw;
  }
  .home-news-row__text time {
    height: 4.202564vw;
    font-size: 4.102564vw;
    line-height: 4.202564vw;
    letter-spacing: 0.8px;
  }
  .home-news-row__title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 3.589744vw;
    line-height: 4.615385vw;
    text-align: justify;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .home-news-row__line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 84.615385vw;
  }
  .home-news-row__thumbnail-frame {
    position: relative;
    width: 25.641026vw;
    height: 17.948718vw;
    margin-top: 1.195px;
  }
  .home-news-row__thumbnail {
    position: static;
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home-news + .contact-banner {
    padding-bottom: 12.820513vw;
  }
  .news-row {
    grid-template-columns: 1fr 6.410256vw;
    gap: 2.051282vw 3.846154vw;
    padding-block: 5.128205vw;
  }
  .news-row time {
    grid-column: 1;
  }
  .news-row strong {
    grid-column: 1;
  }
  .news-row span {
    grid-column: 2;
    grid-row: 1/3;
  }
}
.about-hero {
  position: relative;
  height: clamp(603.451389px, 78.472222vw, 1130px);
  overflow: hidden;
  color: #fff;
  background: #011024;
}

.about-hero__inner {
  position: relative;
  z-index: 2;
  height: 100%;
}

.about-hero h1 {
  position: absolute;
  top: clamp(129.76875px, 16.875vw, 243px);
  left: 0;
  width: 100%;
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #fff;
}

.about-hero__mark {
  position: absolute;
  z-index: 1;
  top: clamp(-21px, -1.458333vw, -11.214583px);
  left: calc(50% - clamp(13.350694px, 1.736111vw, 25px));
  width: clamp(621.074306px, 80.763889vw, 1163px);
  height: clamp(621.074306px, 80.763889vw, 1163px);
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.about-hero__mark-line {
  --about-mark-opacity: .68;
  fill: none;
  stroke: #7f8a96;
  stroke-width: 1px;
  stroke-linecap: square;
  stroke-linejoin: miter;
  opacity: var(--about-mark-opacity);
  shape-rendering: geometricPrecision;
  vector-effect: non-scaling-stroke;
}

.about-hero__content {
  position: absolute;
  top: clamp(274.490278px, 35.694444vw, 514px);
  left: 0;
  width: clamp(229.631944px, 29.861111vw, 430px);
}

.about-hero__content h2 {
  margin: 0 0 clamp(34.177778px, 4.444444vw, 64px);
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 1.2px;
}

.about-hero__title-break-sp {
  display: none;
}

.about-hero__copy {
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(19.759028px, 2.569444vw, 37px);
  letter-spacing: 0.8px;
  text-align: justify;
}

.about-hero__copy p {
  margin: 0;
}

.about-hero__reveal-line {
  display: grid;
  width: 100%;
  color: inherit;
}

.about-hero__reveal-layer {
  display: block;
  grid-area: 1/1;
  color: inherit;
  clip-path: inset(0 100% 0 0);
}

.about-hero__reveal-line--copy:not(.is-last) .about-hero__reveal-layer {
  -moz-text-align-last: justify;
       text-align-last: justify;
}

.about-hero__reveal-layer--lead {
  opacity: 0;
}

.about-hero.is-reveal-started .about-hero__reveal-layer--lead {
  animation: atraps-about-hero-line-wipe 2s cubic-bezier(0.22, 1, 0.36, 1) var(--about-hero-line-lead-delay, 0ms) both;
}

.about-hero.is-reveal-started .about-hero__reveal-layer--solid {
  animation: atraps-about-hero-line-wipe 2s cubic-bezier(0.22, 1, 0.36, 1) var(--about-hero-line-solid-delay, 450ms) both;
}

@keyframes atraps-about-hero-line-wipe {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0);
  }
}
.about-hero__side-copy {
  position: absolute;
  z-index: 2;
  top: clamp(129.76875px, 16.875vw, 243px);
  right: clamp(10.146528px, 1.319444vw, 19px);
  margin: 0;
  color: #fff;
  font: clamp(9.6125px, 1.25vw, 18px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0.9px;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.about-logo-story {
  position: relative;
  background: #fff;
}

.about-logo-story__layout {
  position: relative;
  display: grid;
  grid-template-columns: clamp(244.584722px, 31.805556vw, 458px) minmax(0, clamp(333.767361px, 43.402778vw, 625px));
  gap: clamp(62.48125px, 8.125vw, 117px);
  align-items: start;
}

.about-logo-story__visual {
  position: sticky;
  z-index: 2;
  top: max(clamp(10.680556px, 1.388889vw, 20px), 50svh - clamp(122.292361px, 15.902778vw, 229px));
  width: clamp(244.584722px, 31.805556vw, 458px);
  height: clamp(244.584722px, 31.805556vw, 458px);
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.about-logo-story__canvas {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.about-logo-story__fixed-label {
  display: none;
  margin: 0;
  color: #002865;
  font: clamp(22.429167px, 2.916667vw, 42px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 2.1px;
}

.about-logo-story__layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: var(--logo-layer-opacity, 0);
  transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity;
}

.about-logo-story__steps {
  position: relative;
}

.about-logo-step {
  display: flex;
  min-height: 100vh;
  padding: clamp(clamp(42.722222px, 5.555556vw, 80px), 12svh, clamp(69.423611px, 9.027778vw, 130px)) 0;
  flex-direction: column;
  justify-content: center;
  color: #041125;
  opacity: 0.34;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-logo-step.is-active {
  opacity: 1;
}

.about-logo-step__visual,
.about-logo-story__dots {
  display: none;
}

.about-logo-story.is-logo-slider-ready {
  height: var(--about-logo-story-height, 400svh);
}

.about-logo-story.is-logo-slider-ready .about-logo-story__layout {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.about-logo-story.is-logo-slider-ready .about-logo-story__visual {
  position: relative;
  top: auto;
  align-self: center;
  margin-top: 0;
}

.about-logo-story.is-logo-slider-ready .about-logo-story__fixed-label {
  position: absolute;
  z-index: 4;
  top: calc(50% - clamp(77.434028px, 10.069444vw, 145px));
  left: clamp(307.065972px, 39.930556vw, 575px);
  display: block;
}

.about-logo-story.is-logo-slider-ready .about-logo-story__steps {
  height: 100vh;
  overflow: hidden;
}

.about-logo-story.is-logo-slider-ready .about-logo-step {
  position: absolute;
  z-index: 1;
  inset: 0;
  min-height: 0;
  height: 100%;
  padding: calc(50svh - clamp(77.434028px, 10.069444vw, 145px)) 0 0;
  justify-content: flex-start;
  visibility: hidden;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, var(--logo-step-shift, 100%), 0);
  transition: transform 0.72s cubic-bezier(0.76, 0, 0.24, 1), opacity 0.24s ease, visibility 0s linear 0.72s;
  will-change: transform, opacity;
}

.about-logo-story.is-logo-slider-ready .about-logo-step__label {
  visibility: hidden;
}

.about-logo-story.is-logo-slider-ready .about-logo-step.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s, 0.12s, 0s;
}

.about-logo-step__label {
  height: clamp(20.293056px, 2.638889vw, 38px);
  margin: 0;
  color: #002865;
  font: clamp(22.429167px, 2.916667vw, 42px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 2.1px;
}

.about-logo-step__body {
  margin-top: clamp(34.177778px, 4.444444vw, 64px);
}

.about-logo-step__body h2 {
  margin: 0 0 clamp(17.088889px, 2.222222vw, 32px);
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 1.2px;
}

.about-logo-step__copy {
  width: min(100%, clamp(296.385417px, 38.541667vw, 555px));
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  text-align: justify;
}

.about-logo-step__copy p {
  margin: 0;
}

.about-belief {
  padding-block: clamp(51.266667px, 6.666667vw, 96px);
}

.about-belief__inner {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: clamp(34.177778px, 4.444444vw, 64px);
}
.about-belief__inner > .eyebrow {
  margin: 0;
  color: #041125;
  font: clamp(12.816667px, 1.666667vw, 24px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.2px;
}
.about-belief__inner > div {
  max-width: clamp(347.118056px, 45.138889vw, 650px);
}
.about-belief__inner h2 {
  margin: 0 0 clamp(21.361111px, 2.777778vw, 40px);
  font-size: clamp(clamp(27.769444px, 3.611111vw, 52px), 6vw, clamp(44.858333px, 5.833333vw, 84px));
  line-height: 1.2;
  letter-spacing: 2.1px;
}
.about-belief__inner > div > p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: clamp(19.225px, 2.5vw, 36px);
  letter-spacing: 0.9px;
}

.about-members {
  padding-block: clamp(63.549306px, 8.263889vw, 119px) clamp(53.402778px, 6.944444vw, 100px);
  color: #041125;
  background: #fff;
}

.about-members__statement {
  display: flex;
  flex-direction: column;
  gap: clamp(26.701389px, 3.472222vw, 50px);
  width: min(100%, clamp(481.159028px, 62.569444vw, 901px));
  margin-bottom: clamp(120.690278px, 15.694444vw, 226px);
  color: #002865;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 2.1px;
}

.about-members__statement p {
  margin: 0;
}

.about-members__title {
  margin: 0 0 clamp(34.177778px, 4.444444vw, 64px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.member-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34.177778px, 4.444444vw, 64px) clamp(10.680556px, 1.388889vw, 20px);
  align-items: start;
}

.member-card-shell {
  min-width: 0;
}

.member-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: clamp(336.4375px, 43.75vw, 630px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  color: #041125;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: color 0.35s ease, background-color 0.35s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.member-card.member-card--static {
  min-height: 0;
  cursor: default;
}

.member-card--static .member-card__body {
  min-height: 0;
}

.member-card--text-only .member-card__body {
  margin-top: 0;
}

.member-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 386/375;
  overflow: hidden;
  background: #d9d9d9;
}

.member-card__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.member-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-height: clamp(136.177083px, 17.708333vw, 255px);
  padding: clamp(16.554861px, 2.152778vw, 31px) clamp(10.680556px, 1.388889vw, 20px) clamp(18.690972px, 2.430556vw, 35px);
}

.member-card__role {
  display: block;
  margin-bottom: clamp(2.670139px, 0.347222vw, 5px);
  font: clamp(10.680556px, 1.388889vw, 20px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.member-card__name {
  display: block;
  margin-bottom: clamp(16.554861px, 2.152778vw, 31px);
  color: transparent;
  font: clamp(16.020833px, 2.083333vw, 30px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 2.4px;
  -webkit-text-stroke: 1px #041125;
  transition: -webkit-text-stroke-color 0.35s ease;
}

.member-card__summary {
  display: block;
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  font-weight: 400;
  line-height: clamp(10.413542px, 1.354167vw, 19.5px);
  letter-spacing: 0.65px;
  text-align: justify;
  min-height: clamp(51.266667px, 6.666667vw, 96px);
}

.member-card__action {
  display: flex;
  width: 100%;
  margin-top: auto;
  gap: clamp(6.408333px, 0.833333vw, 12px);
  align-items: center;
  justify-content: flex-end;
}

.member-card__action-label {
  font: clamp(9.6125px, 1.25vw, 18px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0.9px;
}

.member-card__action-icon {
  display: grid;
  width: clamp(20.293056px, 2.638889vw, 38px);
  height: clamp(20.293056px, 2.638889vw, 38px);
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: color 0.3s ease, background-color 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.member-card__action-icon .icon-arrow-up-right {
  --arrow-size: clamp(8.010417px, 1.041667vw, 15px);
}

@media (hover: hover) {
  .member-card[data-member-open]:hover {
    color: #fff;
    background: #002865;
  }
  .member-card[data-member-open]:hover .member-card__name {
    -webkit-text-stroke-color: #fff;
  }
  .member-card[data-member-open]:hover .member-card__action-icon {
    color: #002865;
    background: #fff;
    transform: scale(1.06);
  }
  .member-card[data-member-open]:hover .icon-arrow-up-right {
    transform: translate(1.5px, -1.5px);
  }
}
.member-card:focus-visible {
  outline: 3px solid #0d3ce8;
  outline-offset: clamp(2.136111px, 0.277778vw, 4px);
}

body.is-member-modal-open {
  overflow: hidden;
}

.member-modal {
  --member-profile-offset: clamp(50.732639px, 6.597222vw, 95px);
  --member-identity-offset: clamp(2.670139px, 0.347222vw, 5px);
  --member-cutout-top: -.13%;
  --member-cutout-left: 15.75%;
  --member-cutout-width: 68.5%;
  --member-cutout-height: 147.01%;
  position: fixed;
  z-index: 10000;
  inset: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 0.74s;
}

.member-modal--yudai {
  --member-profile-offset: clamp(53.402778px, 6.944444vw, 100px);
  --member-identity-offset: 0;
  --member-cutout-top: -31.2%;
  --member-cutout-left: -68.79%;
  --member-cutout-width: 229.55%;
  --member-cutout-height: 131.23%;
}

.member-modal[hidden] {
  display: none;
}

.member-modal.is-open {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.member-modal__dialog {
  width: 100%;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: #fff;
  background: #041125;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  will-change: opacity;
}

.member-modal.is-open .member-modal__dialog {
  opacity: 1;
  will-change: auto;
}

.member-modal__inner {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
  padding-bottom: clamp(34.177778px, 4.444444vw, 64px);
  transform: translate3d(clamp(clamp(12.816667px, 1.666667vw, 24px), 3vw, clamp(25.633333px, 3.333333vw, 48px)), 0, 0);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.member-modal.is-open .member-modal__inner {
  transform: none;
  will-change: auto;
}

.member-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: clamp(70.491667px, 9.166667vw, 132px);
  padding-top: clamp(49.130556px, 6.388889vw, 92px);
}

.member-modal__header p {
  margin: 0;
  font: clamp(17.088889px, 2.222222vw, 32px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.6px;
}

.member-modal__close {
  position: fixed;
  z-index: 2;
  top: clamp(49.130556px, 6.388889vw, 92px);
  right: max(clamp(21.361111px, 2.777778vw, 40px), (100vw - clamp(640.833333px, 83.333333vw, 1200px)) / 2);
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.member-modal__close img {
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  max-width: none;
}

.member-modal__close:hover {
  opacity: 0.68;
  transform: rotate(90deg);
}

.member-modal__close:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.55);
  outline-offset: clamp(2.136111px, 0.277778vw, 4px);
}

.member-modal__hero {
  position: relative;
  width: 100%;
  aspect-ratio: 1200/513;
  margin-top: clamp(46.994444px, 6.111111vw, 88px);
  overflow: hidden;
  background: #fff;
}

.member-modal__hero img {
  position: absolute;
  top: -0.06%;
  left: -0.76%;
  width: 101.56%;
  height: 158.48%;
  max-width: none;
}

.member-modal__hero--registered img {
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.member-modal__profile {
  display: grid;
  grid-template-columns: clamp(206.66875px, 26.875vw, 387px) clamp(320.416667px, 41.666667vw, 600px);
  gap: clamp(60.345139px, 7.847222vw, 113px);
  justify-content: center;
  margin-top: var(--member-profile-offset);
  padding-bottom: clamp(32.041667px, 4.166667vw, 60px);
}

.member-modal--with-cutout .member-modal__profile {
  padding-bottom: 0;
}

.member-modal--with-cutout .member-modal__story {
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

.member-modal__identity {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: var(--member-identity-offset);
}

.member-modal__role {
  margin: 0 0 clamp(5.874306px, 0.763889vw, 11px);
  font: clamp(22.429167px, 2.916667vw, 42px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 2.1px;
}

.member-modal__name-en {
  margin: 0;
  color: transparent;
  font: clamp(35.245833px, 4.583333vw, 66px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(1.762292px, 0.229167vw, 3.3px);
  -webkit-text-stroke: 1px #fff;
}

.member-modal__career {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  line-height: clamp(12.816667px, 1.666667vw, 24px);
  letter-spacing: 0.65px;
}

.member-modal__career p {
  margin: 0;
}

.member-modal__career p + p {
  margin-top: clamp(8.010417px, 1.041667vw, 15px);
}

.member-modal__story {
  min-width: 0;
}

.member-modal__story h3 {
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 600;
  line-height: clamp(32.041667px, 4.166667vw, 60px);
  letter-spacing: 1.6px;
}

.member-modal__biography {
  margin-top: clamp(34.177778px, 4.444444vw, 64px);
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: clamp(22.963194px, 2.986111vw, 43px);
  letter-spacing: 0.8px;
  text-align: justify;
}

.member-modal__biography p {
  margin: 0;
}

.member-modal__biography p + p {
  margin-top: clamp(22.963194px, 2.986111vw, 43px);
}

.member-modal__closing-visuals {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: clamp(32.041667px, 4.166667vw, 60px);
}

.member-modal__cutout {
  position: relative;
  width: clamp(140.983333px, 18.333333vw, 264px);
  aspect-ratio: 264/308;
  margin-left: clamp(17.622917px, 2.291667vw, 33px);
  overflow: hidden;
}

.member-modal__cutout img {
  position: absolute;
  top: var(--member-cutout-top);
  left: var(--member-cutout-left);
  width: var(--member-cutout-width);
  height: var(--member-cutout-height);
  max-width: none;
}

.member-modal__cutout--registered img {
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.member-modal__line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 0;
}

.about-company {
  padding: 0;
  color: #0c0c0c;
  background: #fff;
}

.about-company__overview {
  display: grid;
  grid-template-columns: minmax(clamp(123.894444px, 16.111111vw, 232px), 1fr) clamp(297.453472px, 38.680556vw, 557px);
  gap: clamp(42.722222px, 5.555556vw, 80px);
  align-items: start;
}

.about-company__overview > h2 {
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.about-company__details {
  width: clamp(297.453472px, 38.680556vw, 557px);
}

.company-data {
  margin: 0;
}

.company-data > div {
  display: grid;
  min-height: clamp(34.177778px, 4.444444vw, 64px);
  grid-template-columns: clamp(50.198611px, 6.527778vw, 94px) minmax(0, 1fr);
  gap: clamp(58.743056px, 7.638889vw, 110px);
  align-items: center;
  padding: clamp(8.544444px, 1.111111vw, 16px) 0;
  border-bottom: 1px solid #0c0c0c;
}

.company-data dt,
.company-data dd {
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.9px;
}

.company-data dt {
  font-weight: 600;
  white-space: nowrap;
}

.company-data dd {
  margin: 0;
  font-weight: 400;
  white-space: nowrap;
}

.company-map {
  width: clamp(297.453472px, 38.680556vw, 557px);
  height: auto;
  margin-top: clamp(24.565278px, 3.194444vw, 46px);
  aspect-ratio: 2008/1320;
  -o-object-fit: cover;
     object-fit: cover;
}

.company-data__break-sp {
  display: none;
}

.home-service-cards--about {
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

@media (max-width: 980px) {
  .about-members__statement {
    margin-bottom: clamp(85.444444px, 11.111111vw, 160px);
    font-size: clamp(18.156944px, 2.361111vw, 34px);
    line-height: 1.55;
  }
  .member-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .member-modal__inner {
    width: min(100% - clamp(32.041667px, 4.166667vw, 60px), clamp(640.833333px, 83.333333vw, 1200px));
  }
  .member-modal__close {
    right: max(clamp(16.020833px, 2.083333vw, 30px), (100vw - clamp(640.833333px, 83.333333vw, 1200px)) / 2);
  }
  .member-modal__profile {
    grid-template-columns: clamp(160.208333px, 20.833333vw, 300px) minmax(0, 1fr);
    gap: clamp(32.041667px, 4.166667vw, 60px);
  }
  .member-modal__name-en {
    font-size: clamp(26.701389px, 3.472222vw, 50px);
  }
  .member-modal__cutout {
    margin-left: 0;
  }
  .about-company__overview {
    grid-template-columns: 1fr;
    gap: clamp(37.381944px, 4.861111vw, 70px);
  }
  .about-company__details {
    width: 100%;
  }
  .company-map {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .about-hero {
    height: 237.948718vw;
    min-height: 0;
    padding: 0;
  }
  .about-hero__inner {
    width: 84.615385vw;
    height: 100%;
  }
  .about-hero h1 {
    position: absolute;
    top: 25.641026vw;
    left: 0;
    height: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 1;
    letter-spacing: 2px;
  }
  .about-hero__mark {
    top: 0;
    left: 0;
    width: 158.974359vw;
    height: 158.974359vw;
    opacity: 1;
  }
  .about-hero__content {
    position: absolute;
    top: 47.179487vw;
    left: 0;
    width: 84.615385vw;
    margin-top: 0;
  }
  .about-hero__content h2 {
    margin-bottom: 16.410256vw;
    font-size: 6.153846vw;
    line-height: 10.25641vw;
    letter-spacing: 1.2px;
  }
  .about-hero__title-break-sp {
    display: block;
  }
  .about-hero__copy {
    font-size: 4.102564vw;
    line-height: 9.487179vw;
    letter-spacing: 0.8px;
    text-align: left;
  }
  .about-hero__copy p + p {
    margin-top: 0;
  }
  .about-hero__copy p,
  .about-hero__copy [data-about-hero-copy-source] {
    overflow-wrap: normal;
    word-break: normal;
    line-break: strict;
  }
  .about-hero__reveal-line--copy,
  .about-hero__reveal-line--copy .about-hero__reveal-layer {
    white-space: nowrap;
  }
  .about-hero__copy .about-hero__reveal-line--copy .about-hero__reveal-layer {
    text-align: left;
    -moz-text-align-last: auto;
         text-align-last: auto;
  }
  .about-hero__side-copy {
    display: block;
    top: 25.641026vw;
    right: 7.692308vw;
    font-size: 2.564103vw;
    line-height: 1;
    letter-spacing: 0.5px;
  }
  .about-logo-story {
    height: 131.538462vw;
    overflow: hidden;
  }
  .about-logo-story__layout {
    position: relative;
    top: auto;
    display: block;
    width: 100%;
    height: 131.538462vw;
    overflow: visible;
  }
  .about-logo-story__visual {
    display: none;
  }
  .about-logo-story__steps {
    display: flex;
    width: 100%;
    height: 128.461538vw;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }
  .about-logo-story__steps::-webkit-scrollbar {
    display: none;
  }
  .about-logo-step {
    position: relative;
    inset: auto;
    display: block;
    min-width: 0;
    min-height: 0;
    width: 100%;
    height: 128.461538vw;
    padding: 11.538462vw 7.692308vw 0;
    flex: 0 0 100%;
    opacity: 1;
    pointer-events: auto;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transform: none;
    transition: none;
    will-change: auto;
  }
  .about-logo-step.is-active {
    opacity: 1;
  }
  .about-logo-step__label {
    height: 9.74359vw;
    font-size: 8.205128vw;
    line-height: 8.205128vw;
    letter-spacing: 1.6px;
  }
  .about-logo-step__visual {
    display: block;
    width: 37.179487vw;
    height: 37.179487vw;
    margin: 5.128205vw auto 0;
  }
  .about-logo-step__visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .about-logo-step__body {
    margin-top: 5.128205vw;
  }
  .about-logo-step__body h2 {
    display: flex;
    min-height: 15.897436vw;
    margin: 0;
    align-items: center;
    font-size: 5.384615vw;
    line-height: 7.948718vw;
    letter-spacing: 1.05px;
  }
  .about-logo-step__copy {
    width: 100%;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 0.7px;
    text-align: justify;
  }
  .about-logo-step__copy p + p {
    margin-top: 0;
  }
  .about-logo-story__dots {
    position: absolute;
    z-index: 3;
    top: 128.974359vw;
    left: 50%;
    display: flex;
    width: 21.794872vw;
    height: 2.564103vw;
    gap: 3.846154vw;
    transform: translateX(-50%);
  }
  .about-logo-story__dot {
    width: 2.564103vw;
    height: 2.564103vw;
    padding: 0;
    flex: 0 0 2.564103vw;
    border: 1px solid #002865;
    border-radius: 50%;
    background: rgba(0, 40, 101, 0.18);
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.25s ease;
  }
  .about-logo-story__dot.is-active {
    background: #002865;
    transform: scale(1.12);
  }
  .about-logo-story.is-logo-slider-ready {
    min-height: 0;
    overflow: visible;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__layout {
    display: flex;
    width: 100%;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    height: var(--visible-viewport-height, 100dvh);
    min-height: 0;
    padding: 14.102564vw 7.692308vw max(3.076923vw, env(safe-area-inset-bottom, 0px));
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 4.102564vw;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__fixed-label {
    position: static;
    order: 1;
    width: 100%;
    height: 9.74359vw;
    flex: 0 0 9.74359vw;
    margin: 0;
    font-size: 8.205128vw;
    line-height: 8.205128vw;
    letter-spacing: 1.6px;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__visual {
    position: relative;
    z-index: 3;
    top: auto;
    left: auto;
    display: block;
    order: 2;
    width: 33.846154vw;
    height: 33.846154vw;
    margin: 0 auto;
    flex: 0 0 33.846154vw;
    transform: none;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__steps {
    display: grid;
    order: 3;
    width: 100%;
    height: auto;
    margin: 0;
    flex: 0 0 auto;
    overflow: hidden;
    scroll-snap-type: none;
    touch-action: pan-y;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-step {
    position: relative;
    inset: auto;
    display: block;
    grid-area: 1/1;
    width: 100%;
    height: auto;
    padding: 0;
    align-self: start;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-step__label,
  .about-logo-story.is-logo-slider-ready .about-logo-step__visual {
    display: none;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-step__body {
    margin-top: 0;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__dots {
    position: static;
    order: 4;
    margin: 3.846154vw auto 0;
    flex: 0 0 2.564103vw;
    transform: none;
  }
  .about-belief {
    padding-block: 12.820513vw 11.282051vw;
  }
  .about-belief__inner {
    grid-template-columns: 1fr;
    gap: 6.153846vw;
  }
  .about-belief__inner > .eyebrow {
    font-size: 5.641026vw;
    letter-spacing: 1.1px;
  }
  .about-belief__inner h2 {
    margin-bottom: 6.153846vw;
    font-size: 10.25641vw;
    line-height: 1.35;
    letter-spacing: 2px;
  }
  .about-belief__inner > div > p {
    font-size: 4.358974vw;
    line-height: 7.948718vw;
    letter-spacing: 0.85px;
  }
  .about-members {
    padding-block: 12.820513vw 25.641026vw;
  }
  .about-members > .container {
    width: 84.615385vw;
  }
  .about-members__statement {
    gap: 5.641026vw;
    margin-bottom: 26.923077vw;
    font-size: 5.384615vw;
    line-height: 1.7;
    letter-spacing: 0.06em;
  }
  .about-members__title {
    height: 10.25641vw;
    margin-bottom: 8.205128vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .member-grid {
    grid-template-columns: 1fr;
    gap: 8.205128vw;
  }
  .member-card {
    min-height: 139.497692vw;
  }
  .member-card__media {
    position: relative;
    height: 82.204103vw;
    aspect-ratio: auto;
  }
  .member-card__media img {
    position: absolute;
    inset: 0;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .member-card--yudai {
    min-height: 152.820513vw;
    color: #041125;
    background: #fff;
  }
  .member-card--yudai .member-card__media {
    height: 81.780256vw;
  }
  .member-card--yudai .member-card__name {
    -webkit-text-stroke-color: #041125;
  }
  .member-card__body {
    width: 76.943077vw;
    min-height: 50.498205vw;
    margin: 6.795641vw auto 0;
    padding: 0;
    flex: 0 0 auto;
  }
  .member-card--yudai .member-card__body {
    width: 68.695385vw;
    min-height: 56.760513vw;
    margin-top: 6.681282vw;
    margin-bottom: 7.598462vw;
  }
  .member-card__role {
    margin-bottom: 1.096154vw;
    font-size: 4.615385vw;
    line-height: 5.918718vw;
    letter-spacing: 0.9px;
  }
  .member-card__name {
    margin-bottom: 6.795641vw;
    font-size: 8.205128vw;
    line-height: 5.918718vw;
    letter-spacing: 2.56px;
  }
  .member-card__summary {
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 0.7px;
    text-align: justify;
  }
  .member-card__action {
    gap: 2.564103vw;
  }
  .member-card__action-label {
    font-size: 4.358974vw;
    letter-spacing: 0.85px;
  }
  .member-card__action-icon {
    width: 9.230769vw;
    height: 9.230769vw;
  }
  .member-card__action-icon .icon-arrow-up-right {
    --arrow-size: 3.846154vw;
  }
  .member-modal__dialog {
    background: #011024;
  }
  .member-modal__inner {
    width: 84.615385vw;
    padding-bottom: 12.307692vw;
  }
  .member-modal__header {
    height: 26.923077vw;
    padding-top: 10.512821vw;
    align-items: flex-start;
  }
  .member-modal__header p {
    font-size: 6.153846vw;
    line-height: 8.205128vw;
    letter-spacing: 1.2px;
  }
  .member-modal__close,
  .member-modal__close img {
    width: 7.692308vw;
    height: 7.692308vw;
  }
  .member-modal__close {
    top: 10.769231vw;
    right: 7.692308vw;
    margin-top: 0;
  }
  .member-modal__hero {
    left: 50%;
    width: 148.717949vw;
    height: 63.589744vw;
    margin-top: 0;
    aspect-ratio: auto;
    transform: translateX(-50%);
  }
  .member-modal__profile {
    display: flex;
    width: 84.615385vw;
    gap: 0;
    margin-top: 10.25641vw;
    flex-direction: column;
    padding-bottom: 10.25641vw;
  }
  .member-modal--with-cutout .member-modal__story {
    padding-bottom: 0;
  }
  .member-modal__identity {
    display: contents;
    padding-top: 0;
  }
  .member-modal__role {
    order: 1;
    margin: 0 0 2.408718vw;
    font-size: 9.183077vw;
    line-height: 13.007436vw;
    letter-spacing: 1.791px;
  }
  .member-modal__name-en {
    order: 2;
    font-size: 14.358974vw;
    line-height: 13.007436vw;
    letter-spacing: 2.8px;
  }
  .member-modal__story {
    order: 3;
    margin-top: 8.205128vw;
  }
  .member-modal__story h3 {
    font-size: 6.153846vw;
    line-height: 10.25641vw;
    letter-spacing: 1.2px;
  }
  .member-modal__biography {
    margin-top: 8.205128vw;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 0.7px;
    text-align: justify;
  }
  .member-modal__biography p + p {
    margin-top: 6.153846vw;
  }
  .member-modal__career {
    position: relative;
    order: 4;
    margin-top: 32.820513vw;
    font-size: 3.333333vw;
    line-height: 6.153846vw;
    letter-spacing: 0.65px;
  }
  .member-modal__career::before {
    position: absolute;
    top: -16.410256vw;
    left: 1.282051vw;
    width: 6.410256vw;
    height: 1px;
    background: #fff;
    content: "";
  }
  .member-modal__career p + p {
    margin-top: 6.153846vw;
  }
  .member-modal__closing-visuals {
    order: 5;
    margin-top: 10.25641vw;
    padding-top: 0;
  }
  .member-modal__cutout {
    width: 38.461538vw;
    margin: 0;
  }
  .member-modal__line {
    width: 84.615385vw;
    height: 1px;
    margin-top: 0;
  }
  .about-company > .container {
    width: 84.615385vw;
  }
  .about-company__overview {
    display: flex;
    gap: 6.07641vw;
    flex-direction: column;
  }
  .about-company__overview > h2 {
    height: 10.785897vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .about-company__details {
    width: 100%;
  }
  .company-data > div {
    min-height: 9.487179vw;
    grid-template-columns: 18.717949vw minmax(0, 1fr);
    gap: 10.769231vw;
    padding: 0;
    border-bottom: 0;
  }
  .company-data > div:not(:last-child) {
    padding-bottom: 2.734359vw;
    margin-bottom: 2.734359vw;
    border-bottom: 1px solid #0c0c0c;
  }
  .company-data > div:nth-child(n+3) {
    align-items: center;
  }
  .company-data dt,
  .company-data dd {
    font-size: 3.589744vw;
    line-height: 4.709231vw;
    letter-spacing: 0.7px;
  }
  .company-data dt {
    width: 18.717949vw;
  }
  .company-data dd {
    white-space: nowrap;
  }
  .company-data__break-sp {
    display: inline;
  }
  .company-map {
    width: 84.615385vw;
    margin-top: 6.987949vw;
  }
}
body.has-about-motion .about-hero__mark {
  opacity: 1;
  scale: 1;
}

body.has-about-motion .about-hero__mark-line {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
}

body.has-about-motion .about-hero.is-about-hero-motion-visible .about-hero__mark-line {
  animation: atraps-about-mark-draw 2.8s cubic-bezier(0.45, 0, 0.2, 1) var(--about-mark-delay, 120ms) forwards;
}

body.has-about-motion .about-hero h1,
body.has-about-motion .about-hero__side-copy {
  opacity: 0;
  translate: clamp(-24px, -1.666667vw, -12.816667px) 0;
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), translate 1.05s cubic-bezier(0.16, 1, 0.3, 1);
}

body.has-about-motion .about-hero__side-copy {
  translate: 0 clamp(10.680556px, 1.388889vw, 20px);
  transition-delay: 0.18s;
}

body.has-about-motion .about-hero.is-about-hero-motion-visible .about-hero__mark,
body.has-about-motion .about-hero.is-about-hero-motion-visible h1,
body.has-about-motion .about-hero.is-about-hero-motion-visible .about-hero__side-copy {
  opacity: 1;
  scale: 1;
  translate: 0 0;
}

@keyframes atraps-about-mark-draw {
  0% {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  12% {
    opacity: var(--about-mark-opacity, 0.62);
  }
  100% {
    stroke-dashoffset: 0;
    opacity: var(--about-mark-opacity, 0.62);
  }
}
body.has-about-motion .about-motion {
  --about-motion-delay: 0ms;
  opacity: 0;
  filter: blur(3px);
  translate: 0 clamp(16.020833px, 2.083333vw, 30px);
  transition: opacity 0.82s cubic-bezier(0.22, 1, 0.36, 1), filter 0.9s cubic-bezier(0.22, 1, 0.36, 1), translate 0.95s cubic-bezier(0.16, 1, 0.3, 1), scale 1.05s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--about-motion-delay);
  will-change: opacity, filter, translate;
}

body.has-about-motion .about-motion--left {
  translate: clamp(-34px, -2.361111vw, -18.156944px) 0;
}

body.has-about-motion .about-motion--scale {
  filter: none;
  scale: 0.965;
  translate: 0 clamp(9.6125px, 1.25vw, 18px);
  will-change: opacity, translate, scale;
}

body.has-about-motion .about-motion.is-about-visible {
  opacity: 1;
  filter: none;
  scale: 1;
  translate: 0 0;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step__body > h2,
body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step__copy > p {
  opacity: 0;
  filter: blur(2.5px);
  translate: 0 clamp(7.476389px, 0.972222vw, 14px);
  transition: opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1), filter 0.82s cubic-bezier(0.22, 1, 0.36, 1), translate 0.88s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0s;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__body > h2,
body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__copy > p {
  opacity: 1;
  filter: none;
  translate: 0 0;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__body > h2 {
  transition-delay: 0.26s;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__copy > p:nth-child(1) {
  transition-delay: 0.36s;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__copy > p:nth-child(2) {
  transition-delay: 0.44s;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__copy > p:nth-child(3) {
  transition-delay: 0.52s;
}

body.has-about-motion .about-logo-story.is-logo-slider-ready .about-logo-step.is-active .about-logo-step__copy > p:nth-child(n+4) {
  transition-delay: 0.6s;
}

.works-archive {
  position: relative;
  padding: clamp(129.76875px, 16.875vw, 243px) 0 clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.works-archive__header {
  display: flex;
  min-height: clamp(37.915972px, 4.930556vw, 71px);
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(26.701389px, 3.472222vw, 50px);
}

.works-archive__header h1 {
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.works-filter {
  display: flex;
  max-width: 100%;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(5.340278px, 0.694444vw, 10px);
  padding: 0;
}

.works-filter__link {
  display: inline-flex;
  width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(14.41875px, 1.875vw, 27px);
  flex: 0 0 clamp(45.926389px, 5.972222vw, 86px);
  padding: 0 clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  color: #002865;
  border: 1px solid #002865;
  border-radius: 0;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.75px;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.works-filter__link--branding {
  width: clamp(51.800694px, 6.736111vw, 97px);
  flex-basis: clamp(51.800694px, 6.736111vw, 97px);
}

.works-filter__link:hover,
.works-filter__link:focus-visible,
.works-filter__link.is-current {
  color: #fff;
  background: #002865;
}

.works-filter__link:focus-visible {
  outline: 2px solid #0d3ce8;
  outline-offset: 3px;
}

.works-archive__grid {
  margin-top: clamp(49.130556px, 6.388889vw, 92px);
  gap: clamp(26.701389px, 3.472222vw, 50px) clamp(10.680556px, 1.388889vw, 20px);
}

.works-archive .work-card__image-wrap {
  aspect-ratio: 590/350;
}

.work-card__image--secondary,
.work-card__title-break-sp {
  display: none;
}

.works-archive .work-card__body {
  display: flex;
  min-height: clamp(26.701389px, 3.472222vw, 50px);
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(22.429167px, 2.916667vw, 42px);
}

.works-archive .work-card__client {
  display: none;
}

.works-archive .work-card__title {
  width: calc(100% - clamp(68.355556px, 8.888889vw, 128px));
  min-width: 0;
  flex: 1 1 clamp(246.720833px, 32.083333vw, 462px);
  margin: 0;
  overflow: hidden;
  color: #595858;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.works-archive .chips {
  width: clamp(45.926389px, 5.972222vw, 86px);
  flex: 0 0 clamp(45.926389px, 5.972222vw, 86px);
  justify-content: flex-end;
  gap: 0;
}

.works-archive .chip:not(:first-child) {
  display: none;
}

.works-archive .chip {
  display: inline-flex;
  width: clamp(45.926389px, 5.972222vw, 86px);
  min-width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(14.41875px, 1.875vw, 27px);
  padding: 0 clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  color: #002865;
  border: 1px solid #002865;
  border-radius: 0;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.75px;
  text-transform: none;
  white-space: nowrap;
}

.works-archive__empty {
  margin: clamp(49.130556px, 6.388889vw, 92px) 0 0;
  color: #595858;
}

.works-archive__side-copy {
  position: absolute;
  top: clamp(129.76875px, 16.875vw, 243px);
  right: clamp(10.680556px, 1.388889vw, 20px);
  margin: 0;
  color: #002865;
  font: clamp(6.942361px, 0.902778vw, 13px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0.65px;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.works-archive .pagination {
  margin-top: clamp(51.266667px, 6.666667vw, 96px);
}

.works-archive .pagination .nav-links {
  align-items: center;
  gap: clamp(24.03125px, 3.125vw, 45px);
}

.works-archive .pagination .page-numbers {
  display: inline-flex;
  width: auto;
  height: auto;
  color: #7c7c7c;
  border: 0;
  background: transparent;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: clamp(26.701389px, 3.472222vw, 50px);
}

.works-archive .pagination .page-numbers:not(.prev):not(.next) {
  min-width: clamp(5.340278px, 0.694444vw, 10px);
}

.works-archive .pagination .current {
  color: #002865;
  font-weight: 700;
}

.works-archive .pagination .prev,
.works-archive .pagination .next {
  width: clamp(26.701389px, 3.472222vw, 50px);
  height: clamp(26.701389px, 3.472222vw, 50px);
  justify-content: center;
  color: #002865;
  border: 1px solid #002865;
  border-radius: 50%;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
  transition: color 0.2s ease, background-color 0.2s ease;
}

.works-archive .pagination .prev:hover,
.works-archive .pagination .next:hover {
  color: #fff;
  background: #002865;
}

.work-detail {
  position: relative;
}

.work-detail__masthead {
  position: absolute;
  top: clamp(129.76875px, 16.875vw, 243px);
  right: 0;
  left: 0;
  height: clamp(37.915972px, 4.930556vw, 71px);
  pointer-events: none;
}

.work-detail__masthead-title {
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin: 0;
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.9 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.work-detail__side-copy {
  position: absolute;
  z-index: 2;
  top: clamp(129.76875px, 16.875vw, 243px);
  right: clamp(10.680556px, 1.388889vw, 20px);
  margin: 0;
  color: #041125;
  font: clamp(10.680556px, 1.388889vw, 20px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.work-detail__gallery {
  padding-top: clamp(221.0875px, 28.75vw, 414px);
  padding-bottom: 0;
}
.work-detail__gallery h1 {
  min-height: clamp(26.701389px, 3.472222vw, 50px);
  margin: 0 0 clamp(17.088889px, 2.222222vw, 32px);
  color: #0c0c0c;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.8px;
}

.work-detail__title-break {
  display: none;
}

.work-detail__gallery-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1200/622;
  overflow: hidden;
  background: #fff;
}

.work-detail__gallery-main {
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.18s ease;
}

.work-detail--asia-university-baseball .work-detail__gallery-main.is-featured {
  position: absolute;
  top: -34.75%;
  left: -8.89%;
  width: 114.22%;
  height: 165.36%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 981px) {
  .work-detail--nikken-corporate .work-detail__gallery-thumbnails,
  .work-detail--persol-career .work-detail__gallery-thumbnails {
    width: clamp(546.844444px, 71.111111vw, 1024px);
    flex-basis: clamp(546.844444px, 71.111111vw, 1024px);
    gap: clamp(8.010417px, 1.041667vw, 15px);
  }
  .work-detail--nikken-corporate .work-detail__gallery-thumbnail,
  .work-detail--persol-career .work-detail__gallery-thumbnail {
    width: clamp(102.921572px, 13.383819vw, 192.727px);
    height: clamp(53.402778px, 6.944444vw, 100px);
    flex-basis: clamp(102.921572px, 13.383819vw, 192.727px);
  }
  .work-detail--nikken-corporate .work-detail__gallery-thumbnails::after,
  .work-detail--persol-career .work-detail__gallery-thumbnails::after {
    flex-basis: calc(100% - clamp(102.921572px, 13.383819vw, 192.727px));
  }
}
.work-detail__gallery-main.is-switching {
  opacity: 0;
}

.work-detail__gallery-toolbar {
  display: flex;
  margin-top: clamp(16.020833px, 2.083333vw, 30px);
  align-items: flex-start;
}

.work-detail__gallery-thumbnails {
  display: flex;
  width: clamp(544.708333px, 70.833333vw, 1020px);
  min-width: 0;
  padding-top: clamp(2.670139px, 0.347222vw, 5px);
  flex: 0 1 clamp(544.708333px, 70.833333vw, 1020px);
  gap: clamp(9.345486px, 1.215278vw, 17.5px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}
.work-detail__gallery-thumbnails::after {
  width: 1px;
  height: 1px;
  flex: 0 0 calc(100% - clamp(101.465278px, 13.194444vw, 190px));
  content: "";
}

.work-detail__gallery-thumbnails::-webkit-scrollbar {
  display: none;
}

.work-detail__gallery-thumbnail {
  position: relative;
  width: clamp(101.465278px, 13.194444vw, 190px);
  height: clamp(52.334722px, 6.805556vw, 98px);
  padding: 0;
  flex: 0 0 clamp(101.465278px, 13.194444vw, 190px);
  overflow: hidden;
  cursor: pointer;
  border: 0;
  background: #fff;
}
.work-detail__gallery-thumbnail::after {
  position: absolute;
  border: 1px solid transparent;
  content: "";
  inset: 0;
  pointer-events: none;
  transition: border-color 0.2s ease;
}
.work-detail__gallery-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.work-detail__gallery-thumbnail:hover::after,
.work-detail__gallery-thumbnail:focus-visible::after,
.work-detail__gallery-thumbnail[aria-pressed=true]::after {
  border-color: #002865;
}

.work-detail__gallery-thumbnail:focus-visible,
.work-detail__gallery-controls button:focus-visible {
  outline: 2px solid #0d3ce8;
  outline-offset: 2px;
}

.work-detail__gallery-controls {
  display: flex;
  margin-left: auto;
  gap: clamp(2.670139px, 0.347222vw, 5px);
}
.work-detail__gallery-controls button {
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  padding: 0;
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.work-detail__gallery-controls img {
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
}
.work-detail__gallery-controls button:last-child img {
  transform: rotate(180deg);
}

.work-detail__gallery-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.work-detail__overview {
  margin-top: clamp(54.470833px, 7.083333vw, 102px);
  padding-bottom: 0;
}

.work-detail__overview.has-image {
  display: grid;
  align-items: start;
  grid-template-columns: clamp(326.825px, 42.5vw, 612px) clamp(279.830556px, 36.388889vw, 524px);
  gap: clamp(34.177778px, 4.444444vw, 64px);
}

.work-detail__overview-copy {
  display: flex;
  width: 100%;
  max-width: clamp(326.825px, 42.5vw, 612px);
  min-width: 0;
  flex-direction: column;
  gap: clamp(44.324306px, 5.763889vw, 83px);
}

.work-detail__overview-row {
  display: grid;
  min-width: 0;
  align-items: start;
  grid-template-columns: clamp(47.528472px, 6.180556vw, 89px) minmax(0, clamp(249.925px, 32.5vw, 468px));
  gap: clamp(29.371528px, 3.819444vw, 55px);
}
.work-detail__overview-row h2,
.work-detail__overview-row .work-detail__overview-label {
  margin: 0;
  color: #041125;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 600;
  line-height: clamp(11.748611px, 1.527778vw, 22px);
  letter-spacing: 0.9px;
}
.work-detail__overview-row > p,
.work-detail__overview-row > a,
.work-detail__overview-row .work-detail__overview-rich {
  margin: 0;
  color: #595858;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(12.816667px, 1.666667vw, 24px);
  letter-spacing: 0.8px;
}
.work-detail__overview-row > p,
.work-detail__overview-row .work-detail__overview-rich {
  text-align: justify;
}
.work-detail__overview-row > a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.work-detail__overview-rich p {
  margin: 0;
}
.work-detail__overview-rich p + p {
  margin-top: 1em;
}

.work-detail__overview-visual {
  position: relative;
  width: clamp(279.830556px, 36.388889vw, 524px);
  height: clamp(185.307639px, 24.097222vw, 347px);
  margin: 0;
  overflow: hidden;
}
.work-detail__overview-visual img {
  position: absolute;
  top: -45.53%;
  left: -29.6%;
  width: 159.18%;
  height: 180.28%;
  max-width: none;
}

.work-detail--nikken-corporate .work-detail__overview-visual img {
  top: -5.19%;
  left: 0;
  width: 100%;
  height: 113.26%;
}

.work-detail--persol-career .work-detail__overview-visual {
  -webkit-mask-image: url("../images/works/persol-overview-mask.svg");
  mask-image: url("../images/works/persol-overview-mask.svg");
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
.work-detail--persol-career .work-detail__overview-visual img {
  top: 0;
  left: -13.9%;
  width: 127.79%;
  height: 100.07%;
}

.work-detail--nikken-corporate .work-detail__overview-row > p,
.work-detail--nikken-corporate .work-detail__overview-rich {
  font-feature-settings: "palt";
}

.work-detail--persol-career .work-detail__overview-rich p + p {
  margin-top: 0;
}

.work-detail__credits {
  display: flex;
  min-height: clamp(99.329167px, 12.916667vw, 186px);
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  padding-bottom: 0;
  align-items: flex-start;
  justify-content: space-between;
}

.work-detail__credits-copy {
  width: clamp(117.486111px, 15.277778vw, 220px);
  color: #041125;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  white-space: nowrap;
}
.work-detail__credits-copy h2,
.work-detail__credits-copy p {
  margin: 0;
  font: inherit;
}

.work-detail__categories {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(5.340278px, 0.694444vw, 10px);
}

.work-detail__category {
  display: flex;
  width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(14.41875px, 1.875vw, 27px);
  padding: 0 clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border: 1px solid #002865;
  color: #002865;
  background: #fff;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.75px;
  white-space: nowrap;
}

.work-detail__category--branding {
  width: clamp(51.800694px, 6.736111vw, 97px);
}

@media (min-width: 981px) {
  .work-detail--nikken-corporate .work-detail__overview,
  .work-detail--persol-career .work-detail__overview {
    margin-top: clamp(53.402778px, 6.944444vw, 100px);
  }
  .work-detail--nikken-corporate .work-detail__credits {
    margin-top: clamp(55.538889px, 7.222222vw, 104px);
  }
  .work-detail--persol-career .work-detail__credits {
    min-height: clamp(82.774306px, 10.763889vw, 155px);
  }
}
.related-works {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.related-works__header {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(16.020833px, 2.083333vw, 30px);
}

.related-works__archive-link {
  display: flex;
  height: clamp(16.020833px, 2.083333vw, 30px);
  align-items: center;
  gap: clamp(16.020833px, 2.083333vw, 30px);
  color: #002865;
}
.related-works__archive-link span {
  display: flex;
  width: clamp(50.198611px, 6.527778vw, 94px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  align-items: center;
  justify-content: center;
  font: clamp(12.816667px, 1.666667vw, 24px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1.2px;
  white-space: nowrap;
}
.related-works__archive-link img {
  width: clamp(16.020833px, 2.083333vw, 30px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  transition: transform 0.2s ease;
  transform: rotate(-90deg);
}

.related-works__archive-link:hover img,
.related-works__archive-link:focus-visible img {
  transform: rotate(-90deg) translateY(clamp(2.136111px, 0.277778vw, 4px));
}

.related-works__line {
  display: block;
  width: 100%;
  height: clamp(2.670139px, 0.347222vw, 5px);
}

.related-works__grid {
  display: grid;
  margin-top: clamp(50.732639px, 6.597222vw, 95px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.related-works .work-card__image-wrap {
  position: relative;
  aspect-ratio: 590/350;
}

.related-works .work-card--persol-career .work-card__image {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.related-works .work-card--toraji-masters .work-card__image {
  position: absolute;
  top: -19.62%;
  left: -4.75%;
  width: 109.49%;
  height: 138.58%;
  max-width: none;
}

.related-works .work-card__body {
  display: flex;
  min-height: clamp(26.701389px, 3.472222vw, 50px);
  padding: 0;
  align-items: center;
  gap: clamp(22.429167px, 2.916667vw, 42px);
}

.related-works .work-card__client {
  display: none;
}

.related-works .work-card__title {
  min-width: 0;
  flex: 1 1 clamp(246.720833px, 32.083333vw, 462px);
  margin: 0;
  overflow: hidden;
  color: #595858;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 600;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.related-works .chips {
  width: clamp(45.926389px, 5.972222vw, 86px);
  flex: 0 0 clamp(45.926389px, 5.972222vw, 86px);
  justify-content: flex-end;
  gap: 0;
}

.related-works .chip:not(:first-child) {
  display: none;
}

.related-works .chip {
  display: inline-flex;
  width: clamp(45.926389px, 5.972222vw, 86px);
  min-width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(14.41875px, 1.875vw, 27px);
  padding: 0 clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  color: #002865;
  border: 1px solid #002865;
  border-radius: 0;
  background: #fff;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.75px;
  text-transform: none;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .work-detail__masthead {
    top: clamp(80.104167px, 10.416667vw, 150px);
    height: clamp(30.973611px, 4.027778vw, 58px);
  }
  .work-detail__masthead-title {
    height: clamp(30.973611px, 4.027778vw, 58px);
    font-size: clamp(34.177778px, 4.444444vw, 64px);
    letter-spacing: clamp(1.708889px, 0.222222vw, 3.2px);
  }
  .work-detail__side-copy {
    top: clamp(80.104167px, 10.416667vw, 150px);
    font-size: clamp(8.544444px, 1.111111vw, 16px);
    letter-spacing: 0.8px;
  }
  .work-detail__gallery {
    padding-top: clamp(138.847222px, 18.055556vw, 260px);
  }
  .work-detail__gallery-toolbar {
    gap: clamp(10.680556px, 1.388889vw, 20px);
  }
  .work-detail__gallery-thumbnails {
    width: auto;
    min-width: 0;
    flex: 1;
    gap: clamp(6.408333px, 0.833333vw, 12px);
  }
  .work-detail__gallery-thumbnails::after {
    flex-basis: calc(100% - clamp(80.104167px, 10.416667vw, 150px));
  }
  .work-detail__gallery-thumbnail {
    width: clamp(80.104167px, 10.416667vw, 150px);
    height: clamp(41.120139px, 5.347222vw, 77px);
    flex: 0 0 clamp(80.104167px, 10.416667vw, 150px);
  }
  .work-detail__gallery-controls {
    flex: 0 0 auto;
  }
  .work-detail__overview {
    margin-top: clamp(42.722222px, 5.555556vw, 80px);
  }
  .work-detail__overview.has-image {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(25.633333px, 3.333333vw, 48px);
  }
  .work-detail__overview-row {
    grid-template-columns: clamp(47.528472px, 6.180556vw, 89px) minmax(0, 1fr);
    gap: clamp(16.020833px, 2.083333vw, 30px);
  }
  .work-detail__overview-visual {
    width: min(100%, clamp(279.830556px, 36.388889vw, 524px));
    height: auto;
    margin-left: auto;
    aspect-ratio: 524/347;
  }
  .work-detail__credits {
    display: grid;
    grid-template-columns: clamp(117.486111px, 15.277778vw, 220px) minmax(0, 1fr);
    gap: clamp(21.361111px, 2.777778vw, 40px);
  }
  .work-detail__categories {
    flex-wrap: wrap;
  }
  .related-works .work-card__title {
    font-size: clamp(7.476389px, 0.972222vw, 14px);
  }
}
.news-detail header {
  padding-top: clamp(48.0625px, 6.25vw, 90px);
}
.news-detail header h1 {
  margin-block: clamp(13.350694px, 1.736111vw, 25px) clamp(37.381944px, 4.861111vw, 70px);
  font-size: clamp(clamp(20.293056px, 2.638889vw, 38px), 5vw, clamp(36.313889px, 4.722222vw, 68px));
  line-height: 1.4;
}
.news-detail header time {
  color: #595858;
  font-size: clamp(5.874306px, 0.763889vw, 11px);
}

.news-archive + .contact-banner,
.news-detail + .contact-banner {
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

@media (max-width: 768px) {
  .news-archive + .contact-banner,
  .news-detail + .contact-banner {
    padding-bottom: 12.820513vw;
  }
  .works-archive {
    padding: 25.641026vw 0 22.564103vw;
  }
  .works-archive > .container {
    width: 84.615385vw;
  }
  .works-archive__header {
    display: block;
    min-height: 0;
  }
  .works-archive__header h1 {
    height: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 1;
    letter-spacing: 2px;
  }
  .works-filter {
    display: none;
  }
  .works-archive__grid {
    margin-top: 10.25641vw;
    gap: 20.512821vw;
  }
  .works-archive .work-card__image-wrap {
    position: relative;
    width: 100%;
    height: 50.25641vw;
    aspect-ratio: auto;
  }
  .works-archive .work-card--asia-university-baseball .work-card__image-wrap {
    height: 43.846154vw;
  }
  .works-archive .work-card--asia-university-baseball .work-card__image {
    position: absolute;
    top: -34.75%;
    left: -8.89%;
    width: 114.22%;
    height: 165.36%;
    max-width: none;
  }
  .works-archive .work-card--persol-career .work-card__image {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .works-archive .work-card--toraji-masters .work-card__image {
    position: absolute;
    top: -19.62%;
    left: -4.75%;
    width: 109.49%;
    height: 138.58%;
    max-width: none;
  }
  .works-archive .work-card--nikken-corporate .work-card__image-wrap {
    display: grid;
    height: 95.384615vw;
    grid-template-rows: repeat(2, 47.692308vw);
  }
  .works-archive .work-card--nikken-corporate .work-card__image {
    position: static;
    width: 100%;
    height: 47.692308vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .works-archive .work-card--nikken-corporate .work-card__image--secondary {
    display: block;
  }
  .works-archive .work-card--yuma-ejiri .work-card__image-wrap,
  .works-archive .work-card--fasford-technology .work-card__image-wrap {
    height: 47.692308vw;
  }
  .works-archive .work-card--fasford-technology .work-card__image {
    position: absolute;
    top: -21.22%;
    left: 0;
    width: 100%;
    height: 142.32%;
    max-width: none;
  }
  .works-archive .work-card__body {
    display: grid;
    gap: 4.102564vw;
    padding-top: 2.051282vw;
  }
  .works-archive .work-card__title {
    width: 100%;
    flex: none;
    margin: 0;
    overflow: visible;
    font-size: 3.589744vw;
    line-height: 4.615385vw;
    letter-spacing: 0.7px;
    text-overflow: clip;
    white-space: normal;
  }
  .works-archive .work-card--asia-university-baseball .work-card__title {
    color: #0c0c0c;
  }
  .works-archive .work-card__title-break-sp {
    display: block;
  }
  .works-archive .chips {
    width: 100%;
    flex: none;
    justify-content: flex-start;
    gap: 2.564103vw;
  }
  .works-archive .chip:not(:first-child) {
    display: inline-flex;
  }
  .works-archive .chip {
    width: 22.051282vw;
    min-width: 22.051282vw;
    height: 6.923077vw;
    padding-inline: 2.564103vw;
    font-size: 3.846154vw;
    letter-spacing: 0.75px;
  }
  .works-archive .chip--branding {
    width: 24.871795vw;
    min-width: 24.871795vw;
  }
  .works-archive__empty {
    margin-top: 14.102564vw;
  }
  .works-archive__side-copy {
    display: block;
    top: 20.512821vw;
    right: 2.564103vw;
    color: #041125;
    font-size: 2.564103vw;
    line-height: 1;
    letter-spacing: 0.5px;
  }
  .work-detail__masthead {
    top: 25.641026vw;
    width: 84.615385vw;
    height: 10.25641vw;
  }
  .work-detail__masthead-title {
    height: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 1;
    letter-spacing: 2px;
  }
  .work-detail__side-copy {
    display: block;
    top: 25.641026vw;
    right: 2.564103vw;
    color: #041125;
    font-size: 2.564103vw;
    line-height: 1;
    letter-spacing: 0.5px;
  }
  .works-archive .pagination {
    margin-top: 15.384615vw;
  }
  .works-archive .pagination .nav-links {
    gap: 7.96359vw;
  }
  .works-archive .pagination .page-numbers {
    min-width: 0;
    color: #7c7c7c;
    font-family: "M PLUS 1p", sans-serif;
    font-size: 3.185385vw;
    font-weight: 800;
    line-height: 8.848462vw;
    letter-spacing: 0.994px;
  }
  .works-archive .pagination .prev,
  .works-archive .pagination .next {
    width: 8.848462vw;
    height: 8.848462vw;
    border: 0;
    border-radius: 0;
    color: transparent;
    background: transparent url("../images/icons/works-pagination-next.svg") center/contain no-repeat;
    font-size: 0;
  }
  .works-archive .pagination .prev {
    margin-right: 13.272821vw;
    transform: rotate(180deg);
  }
  .works-archive .pagination .next {
    margin-left: 13.272821vw;
  }
  .work-detail__gallery {
    width: 84.615385vw;
    padding-top: 46.153846vw;
    padding-bottom: 0;
  }
  .work-detail__gallery h1 {
    min-height: 0;
    margin-bottom: 4.102564vw;
    font-size: 3.589744vw;
    line-height: 4.615385vw;
    letter-spacing: 0.7px;
  }
  .work-detail__title-break {
    display: block;
  }
  .work-detail__gallery-toolbar {
    display: block;
    margin-top: 4.102564vw;
  }
  .work-detail__gallery-thumbnails {
    width: calc(100vw - 7.692308vw);
    padding-top: 0;
    gap: 3.076923vw;
  }
  .work-detail__gallery-thumbnails::after {
    flex-basis: calc(100% - 34.461538vw);
  }
  .work-detail__gallery-thumbnail {
    width: 34.461538vw;
    height: 22.358974vw;
    flex-basis: 34.461538vw;
  }
  .work-detail__gallery-thumbnail img {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .work-detail__gallery-thumbnail:nth-child(2) img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .work-detail__gallery-controls {
    margin-top: 6.153846vw;
    justify-content: center;
    gap: 0.820513vw;
  }
  .work-detail__gallery-controls button,
  .work-detail__gallery-controls img {
    width: 7.876923vw;
    height: 7.876923vw;
  }
  .work-detail__overview,
  .work-detail__overview.has-image {
    width: 84.615385vw;
    margin-top: 20.512821vw;
    padding-bottom: 0;
  }
  .work-detail__overview.has-image {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .work-detail__overview-copy {
    max-width: none;
    gap: 6.153846vw;
  }
  .work-detail__overview.has-image .work-detail__overview-copy {
    order: 2;
    margin-top: 6.153846vw;
  }
  .work-detail__overview-row {
    grid-template-columns: 1fr;
    gap: 6.153846vw;
  }
  .work-detail__overview-row h2,
  .work-detail__overview-row .work-detail__overview-label {
    font-size: 4.615385vw;
    line-height: 5.641026vw;
    letter-spacing: 0.9px;
  }
  .work-detail__overview-row > p,
  .work-detail__overview-row > a,
  .work-detail__overview-row .work-detail__overview-rich {
    font-size: 4.102564vw;
    line-height: 6.153846vw;
    letter-spacing: 0.8px;
  }
  .work-detail__overview-row--website {
    grid-template-columns: 22.820513vw minmax(0, 1fr);
    gap: 14.102564vw;
  }
  .work-detail__overview-visual {
    order: 1;
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 524/347;
  }
  .work-detail--asia-university-baseball .work-detail__overview-visual img {
    top: -42.52%;
    left: -28.27%;
    width: 156.52%;
    height: 177.27%;
  }
  .work-detail__credits {
    display: flex;
    width: 84.615385vw;
    min-height: 0;
    margin-top: 10.25641vw;
    padding-bottom: 0;
    flex-direction: column;
  }
  .work-detail__credits-copy {
    order: 2;
    width: 100%;
    margin-top: 10.25641vw;
    font-size: 3.589744vw;
    line-height: 7.179487vw;
    letter-spacing: 0.7px;
    white-space: normal;
  }
  .work-detail__credits-copy + .work-detail__categories {
    margin-top: 0;
  }
  .work-detail__categories {
    order: 1;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .related-works {
    margin-top: 10.25641vw;
    padding-bottom: 18.461538vw;
  }
  .related-works > .container {
    width: 84.615385vw;
  }
  .related-works__header {
    gap: 6.153846vw;
  }
  .related-works__archive-link {
    gap: 7.692308vw;
  }
  .related-works__archive-link span {
    width: 24.102564vw;
    font-size: 4.102564vw;
    letter-spacing: 0.8px;
  }
  .related-works__archive-link img {
    width: 5.128205vw;
    height: 5.128205vw;
  }
  .related-works__line {
    height: 3px;
  }
  .related-works__grid {
    margin-top: 16.410256vw;
    grid-template-columns: 1fr;
    gap: 20.512821vw;
  }
  .related-works .work-card__body {
    display: grid;
    min-height: 0;
    padding-top: 2.051282vw;
    gap: 4.102564vw;
  }
  .related-works .work-card__title {
    width: 100%;
    font-size: 3.589744vw;
    line-height: 4.615385vw;
    letter-spacing: 0.7px;
  }
  .related-works .chips {
    justify-content: flex-start;
  }
  .related-works .chip {
    width: 22.051282vw;
    min-width: 22.051282vw;
    height: 6.923077vw;
    padding-inline: 2.564103vw;
    font-size: 3.846154vw;
    letter-spacing: 0.75px;
  }
}
.service-page h2,
.service-page h3 {
  letter-spacing: 0.02em;
}

.photo-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #0c0c0c;
}

.photo-hero__grid {
  display: grid;
  width: 100%;
  aspect-ratio: 1440/996;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.photo-hero__tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.photo-hero__tile img {
  position: absolute;
  display: block;
  max-width: none;
}

.photo-hero__tile--1 img {
  top: 0;
  left: 0;
  width: 100%;
  height: 120.507%;
}

.photo-hero__tile--2 img {
  top: -8.349%;
  left: 0.02%;
  width: 99.97%;
  height: 120.475%;
}

.photo-hero__tile--3 img {
  top: -0.032%;
  left: 0;
  width: 100%;
  height: 120.517%;
}

.photo-hero__tile--4 img {
  top: 0;
  left: -0.04%;
  width: 100.04%;
  height: 120.53%;
}

.photo-hero__tile--5 img {
  top: -5.84%;
  left: -11.81%;
  width: 123.62%;
  height: 148.94%;
}

.photo-hero__tile--6 img {
  top: -10.32%;
  left: 0;
  width: 100%;
  height: 120.47%;
}

.photo-hero__title {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: min(69.375vw, clamp(533.49375px, 69.375vw, 999px));
  margin: 0;
  aspect-ratio: 999/194;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.photo-hero__title img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.photo-hero__title-sp {
  display: none;
}

.photo-hero__side-copy {
  position: absolute;
  z-index: 3;
  top: clamp(49.664583px, 6.458333vw, 93px);
  right: clamp(10.680556px, 1.388889vw, 20px);
  margin: 0;
  color: #041125;
  font: clamp(10.680556px, 1.388889vw, 20px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.photo-concept {
  position: relative;
  height: clamp(410.667361px, 53.402778vw, 769px);
  padding-top: clamp(42.188194px, 5.486111vw, 79px);
  overflow: hidden;
  color: #0c0c0c;
  background: #f2f2f3;
}

.photo-concept__visual {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: max(105%, clamp(807.45px, 105vw, 1512px));
  height: 100%;
  pointer-events: none;
}
.photo-concept__visual img {
  position: absolute;
  top: -3.52%;
  left: -18.96%;
  width: 122.72%;
  height: 107.04%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.photo-concept__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.photo-concept__label {
  display: flex;
  width: clamp(340.709722px, 44.305556vw, 638px);
  height: clamp(35.779861px, 4.652778vw, 67px);
  margin: 0 0 clamp(12.816667px, 1.666667vw, 24px);
  align-items: center;
  font: clamp(13.350694px, 1.736111vw, 25px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 1.25px;
}

.photo-concept__body {
  display: flex;
  flex-direction: column;
  gap: clamp(24.565278px, 3.194444vw, 46px);
  width: clamp(340.709722px, 44.305556vw, 638px);
}

.photo-concept h2 {
  margin: 0;
  font-size: clamp(28.8375px, 3.75vw, 54px);
  font-weight: 100;
  line-height: clamp(51.266667px, 6.666667vw, 96px);
  letter-spacing: 2.7px;
}

.photo-concept__copy {
  width: clamp(287.840972px, 37.430556vw, 539px);
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  text-align: justify;
}

.photo-concept__line {
  display: flex;
  width: clamp(170.354861px, 22.152778vw, 319px);
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin-top: clamp(30.973611px, 4.027778vw, 58px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: #fff;
  background: #06c755;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 500;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 1.2px;
  transition: color 0.25s ease, background-color 0.25s ease;
}

@media (hover: hover) {
  .photo-concept__line:hover {
    color: #fff;
    background: #041125;
  }
}
.photo-reasons {
  padding-top: clamp(49.664583px, 6.458333vw, 93px);
  background: #fff;
}

.photo-reasons__list {
  display: grid;
  gap: 0;
}

.photo-reason {
  display: grid;
  min-height: clamp(191.715972px, 24.930556vw, 359px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.photo-reason:nth-child(2) {
  margin-top: clamp(38.984028px, 5.069444vw, 73px);
}

.photo-reason:nth-child(3) {
  margin-top: clamp(35.779861px, 4.652778vw, 67px);
}

.photo-reason__media {
  position: relative;
  width: 100%;
  height: clamp(191.715972px, 24.930556vw, 359px);
  overflow: hidden;
  background: #d9d9d9;
}
.photo-reason__media img {
  position: absolute;
  max-width: none;
}

.photo-reason:nth-child(-n+2) .photo-reason__media img {
  top: -8.28%;
  left: -13.49%;
  width: 127.09%;
  height: 170.45%;
}

.photo-reason:nth-child(3) .photo-reason__media img {
  top: -15.98%;
  left: 0;
  width: 100%;
  height: 250.57%;
}

.photo-reason__content {
  position: relative;
}

.photo-reason__body {
  position: absolute;
  top: clamp(52.067708px, 6.770833vw, 97.5px);
  right: 0;
  left: clamp(29.905556px, 3.888889vw, 56px);
}

.photo-reason:nth-child(2) .photo-reason__body {
  top: clamp(17.355903px, 2.256944vw, 32.5px);
}

.photo-reason:nth-child(3) .photo-reason__body {
  top: clamp(27.235417px, 3.541667vw, 51px);
}

.photo-reason__heading {
  position: relative;
  padding-left: clamp(58.743056px, 7.638889vw, 110px);
}
.photo-reason__heading span {
  position: absolute;
  top: 50%;
  left: 0;
  display: flex;
  width: clamp(36.847917px, 4.791667vw, 69px);
  height: clamp(35.779861px, 4.652778vw, 67px);
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  font: clamp(29.371528px, 3.819444vw, 55px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 2.75px;
  transform: translateY(calc(-50% + clamp(2.403125px, 0.3125vw, 4.5px)));
}
.photo-reason__heading h2 {
  margin: 0;
  font-size: clamp(18.690972px, 2.430556vw, 35px);
  font-weight: 100;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 1.75px;
}

.photo-reason:nth-child(2) .photo-reason__heading span {
  left: 1px;
  width: clamp(40.586111px, 5.277778vw, 76px);
  transform: translateY(calc(-50% + clamp(3.204167px, 0.416667vw, 6px)));
}

.photo-reason:nth-child(3) .photo-reason__heading span {
  left: clamp(4.80625px, 0.625vw, 9px);
  width: clamp(36.313889px, 4.722222vw, 68px);
  transform: translateY(calc(-50% + 1px));
}

.photo-reason__body > p {
  max-width: clamp(231.768056px, 30.138889vw, 434px);
  margin: clamp(24.565278px, 3.194444vw, 46px) 0 0 clamp(58.743056px, 7.638889vw, 110px);
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  text-align: justify;
  white-space: nowrap;
}

.photo-plan-selector {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.photo-plan-selector__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.photo-plan-card {
  position: relative;
  height: clamp(398.384722px, 51.805556vw, 746px);
  overflow: hidden;
  color: #0c0c0c;
  text-align: center;
}

.photo-plan-card--student {
  background: #d9d9d9;
}

.photo-plan-card--night {
  background-color: #bcbcbc;
  background-image: url(../images/services/photo/plan-night-01.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.photo-plan-card__heading {
  position: absolute;
  top: clamp(241.914583px, 31.458333vw, 453px);
  left: 50%;
  width: min(clamp(202.396528px, 26.319444vw, 379px), 100% - clamp(32.041667px, 4.166667vw, 60px));
  transform: translateX(-50%);
}
.photo-plan-card__heading h2 {
  margin: 0;
  font: clamp(26.701389px, 3.472222vw, 50px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  text-transform: uppercase;
  white-space: nowrap;
}
.photo-plan-card__heading p {
  margin: clamp(16.554861px, 2.152778vw, 31px) 0 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
}
.photo-plan-card__heading strong {
  display: block;
  margin-top: clamp(5.340278px, 0.694444vw, 10px);
  font-size: clamp(13.884722px, 1.805556vw, 26px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 1.3px;
}

.photo-plan-card__line {
  display: block;
  width: clamp(27.235417px, 3.541667vw, 51px);
  height: 1px;
  margin: clamp(17.088889px, 2.222222vw, 32px) auto 0;
  background: #0c0c0c;
}

.photo-plan-card__tagline {
  position: absolute;
  right: clamp(13.350694px, 1.736111vw, 25px);
  bottom: clamp(22.429167px, 2.916667vw, 42px);
  left: clamp(13.350694px, 1.736111vw, 25px);
  margin: 0;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 1px;
  white-space: nowrap;
}

.photo-plan-card__hit {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  color: #0c0c0c;
  background: transparent;
  cursor: pointer;
}

.photo-plan-card__hit:focus-visible {
  outline: 3px solid #0d3ce8;
  outline-offset: clamp(-6px, -0.416667vw, -3.204167px);
}

body.is-photo-plan-modal-open {
  overflow: hidden;
}

.photo-plan-modal {
  position: fixed;
  z-index: 10001;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(21.361111px, 2.777778vw, 40px);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.photo-plan-modal[hidden] {
  display: none;
}

.photo-plan-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.photo-plan-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: rgba(4, 17, 37, 0.76);
  cursor: pointer;
}

.photo-plan-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(clamp(373.819444px, 48.611111vw, 700px), 100%);
  max-height: calc(100dvh - clamp(42.722222px, 5.555556vw, 80px));
  padding: clamp(33.109722px, 4.305556vw, 62px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  opacity: 0;
  transform: translateY(clamp(12.816667px, 1.666667vw, 24px)) scale(0.985);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.photo-plan-modal.is-open .photo-plan-modal__dialog {
  opacity: 1;
  transform: none;
}

.photo-plan-modal__close {
  position: absolute;
  top: clamp(11.748611px, 1.527778vw, 22px);
  right: clamp(11.748611px, 1.527778vw, 22px);
  padding: 0;
  border: 0;
  background: transparent;
  font: clamp(6.408333px, 0.833333vw, 12px)/1 "Aboreto", serif;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.photo-plan-modal__close span {
  margin-right: clamp(2.670139px, 0.347222vw, 5px);
  font: clamp(10.680556px, 1.388889vw, 20px)/1 sans-serif;
  vertical-align: -2px;
}

.photo-plan-modal__close:hover {
  opacity: 0.55;
}

.photo-plan-modal__close:focus-visible {
  outline: 2px solid #0d3ce8;
  outline-offset: clamp(2.136111px, 0.277778vw, 4px);
}

.photo-plan-modal__label {
  margin: 0 0 clamp(11.748611px, 1.527778vw, 22px);
  font: clamp(7.476389px, 0.972222vw, 14px)/1 "Aboreto", serif;
  letter-spacing: 0.1em;
}

.photo-plan-modal__dialog h2 {
  margin: 0;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.06em;
}

.photo-plan-modal__lead {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
  font-size: clamp(9.078472px, 1.180556vw, 17px);
  font-weight: 300;
  letter-spacing: 0.05em;
}

.photo-plan-modal__visual {
  width: 100%;
  aspect-ratio: 16/7;
  margin-top: clamp(20.293056px, 2.638889vw, 38px);
  background: #d9d9d9;
}

.photo-plan-modal__copy {
  margin: clamp(17.088889px, 2.222222vw, 32px) 0 0;
  font-size: clamp(7.476389px, 0.972222vw, 14px);
  line-height: 2;
  letter-spacing: 0.04em;
}

.photo-plan-modal__contact {
  display: inline-flex;
  min-height: clamp(27.769444px, 3.611111vw, 52px);
  margin-top: clamp(16.020833px, 2.083333vw, 30px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(11.748611px, 1.527778vw, 22px);
  align-items: center;
  justify-content: center;
  border: 1px solid #0c0c0c;
  font-weight: 600;
  transition: color 0.25s ease, background-color 0.25s ease;
}

.photo-plan-modal__contact:hover {
  color: #fff;
  background: #0c0c0c;
}

.photo-plan-modal--student .photo-plan-modal__backdrop {
  background: rgba(12, 12, 12, 0.68);
}

.photo-plan-modal--student .photo-plan-modal__dialog {
  width: clamp(427.222222px, 55.555556vw, 800px);
  height: clamp(426.688194px, 55.486111vw, 799px);
  max-height: calc(100dvh - clamp(42.722222px, 5.555556vw, 80px));
  padding: 0;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  overflow: auto;
  color: #757575;
}

.photo-plan-modal--student .photo-plan-modal__close {
  top: clamp(10.680556px, 1.388889vw, 20px);
  right: clamp(10.680556px, 1.388889vw, 20px);
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  padding: 0;
}
.photo-plan-modal--student .photo-plan-modal__close img {
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  max-width: none;
}

.photo-plan-modal--student .photo-plan-modal__dialog > h2 {
  height: clamp(16.554861px, 2.152778vw, 31px);
  margin: clamp(36.313889px, 4.722222vw, 68px) auto 0;
  color: #0c0c0c;
  font: clamp(19.225px, 2.5vw, 36px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.student-plan-table {
  margin-top: clamp(33.64375px, 4.375vw, 63px);
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
}

.student-plan-mobile,
.night-plan-mobile {
  display: none;
}

.student-plan-table__plans {
  display: grid;
  width: clamp(335.903472px, 43.680556vw, 629px);
  height: clamp(27.235417px, 3.541667vw, 51px);
  margin-left: clamp(72.627778px, 9.444444vw, 136px);
  grid-template-columns: clamp(93.988889px, 12.222222vw, 176px) clamp(123.894444px, 16.111111vw, 232px) clamp(118.020139px, 15.347222vw, 221px);
  color: #0c0c0c;
  font: clamp(9.6125px, 1.25vw, 18px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  text-align: center;
  text-transform: uppercase;
}

.student-plan-table__plan {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(5.340278px, 0.694444vw, 10px);
  white-space: nowrap;
}

.student-plan-table__plan--mini {
  background: #fac2ff;
}

.student-plan-table__plan--standard {
  background: #91ffef;
}

.student-plan-table__plan--friend {
  background: #ffd75e;
}

.student-plan-table__body {
  width: clamp(403.190972px, 52.430556vw, 755px);
  margin-top: clamp(7.476389px, 0.972222vw, 14px);
}

.student-plan-table__row {
  position: relative;
  display: grid;
  height: clamp(33.64375px, 4.375vw, 63px);
  grid-template-columns: clamp(73.161806px, 9.513889vw, 137px) clamp(93.988889px, 12.222222vw, 176px) clamp(123.894444px, 16.111111vw, 232px) clamp(112.145833px, 14.583333vw, 210px);
  align-items: start;
}
.student-plan-table__row::after {
  position: absolute;
  right: clamp(-10px, -0.694444vw, -5.340278px);
  bottom: clamp(2.670139px, 0.347222vw, 5px);
  left: clamp(18.690972px, 2.430556vw, 35px);
  height: 1px;
  background: #757575;
  content: "";
}
.student-plan-table__row > div {
  display: flex;
  height: clamp(17.088889px, 2.222222vw, 32px);
  margin-top: clamp(4.80625px, 0.625vw, 9px);
  align-items: center;
  justify-content: center;
  border-left: 1px solid #757575;
  white-space: nowrap;
}
.student-plan-table__row > div:first-child {
  border-left: 0;
}

.student-plan-table__span-two {
  grid-column: span 2;
}

.student-plan-table__span-three {
  grid-column: span 3;
}

.student-plan-options {
  margin-top: clamp(15.486806px, 2.013889vw, 29px);
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
}

.student-plan-options h3 {
  margin: 0;
  color: #0c0c0c;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  text-align: center;
}

.student-plan-options__grid {
  display: grid;
  width: clamp(389.840278px, 50.694444vw, 730px);
  margin: clamp(21.895139px, 2.847222vw, 41px) auto 0;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(6.408333px, 0.833333vw, 12px) clamp(23.497222px, 3.055556vw, 44px);
}

.student-plan-options__item {
  display: grid;
  height: clamp(17.088889px, 2.222222vw, 32px);
  grid-template-columns: clamp(111.611806px, 14.513889vw, 209px) clamp(71.559722px, 9.305556vw, 134px);
  text-align: center;
}
.student-plan-options__item span,
.student-plan-options__item strong {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #757575;
  font-weight: 300;
  white-space: nowrap;
}
.student-plan-options__item strong {
  border-left: 0;
  background: #f5f5f5;
}

.student-plan-options > p {
  margin: clamp(11.748611px, 1.527778vw, 22px) 0 0 clamp(18.690972px, 2.430556vw, 35px);
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.65px;
  white-space: nowrap;
}

.photo-plan-modal--night .photo-plan-modal__backdrop {
  background: rgba(12, 12, 12, 0.68);
}

.photo-plan-modal--night .photo-plan-modal__dialog {
  width: clamp(427.222222px, 55.555556vw, 800px);
  height: clamp(403.725px, 52.5vw, 756px);
  max-height: calc(100dvh - clamp(42.722222px, 5.555556vw, 80px));
  padding: 0;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  overflow: auto;
  color: #fff;
  background: #666;
}

.photo-plan-modal--night .photo-plan-modal__close {
  top: clamp(10.680556px, 1.388889vw, 20px);
  right: clamp(10.680556px, 1.388889vw, 20px);
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  padding: 0;
}
.photo-plan-modal--night .photo-plan-modal__close img {
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
  max-width: none;
}

.photo-plan-modal--night .photo-plan-modal__dialog > h2 {
  height: clamp(16.554861px, 2.152778vw, 31px);
  margin: clamp(36.313889px, 4.722222vw, 68px) auto 0;
  color: #fff;
  font: clamp(19.225px, 2.5vw, 36px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.night-plan-table__plan--basic {
  color: #0c0c0c;
  background: #ebebeb;
}

.night-plan-table__plan--premium {
  color: #fff;
  background: #2f2f2f;
}

.night-plan-table__plan--vip {
  color: #0c0c0c;
  background: #ae8853;
}

.night-plan-table__body {
  width: clamp(408.53125px, 53.125vw, 765px);
}

.night-plan-table .student-plan-table__row::after {
  right: 0;
  background: #969696;
}
.night-plan-table .student-plan-table__row > div {
  border-left-color: #969696;
}

.night-plan-options {
  margin-top: clamp(19.225px, 2.5vw, 36px);
}

.night-plan-options h3 {
  color: #fff;
}

.night-plan-options .student-plan-options__item span {
  color: #fff;
  border-color: #969696;
}
.night-plan-options .student-plan-options__item strong {
  color: #757575;
  border-color: #757575;
  background: #f5f5f5;
}

.night-plan-options > p {
  margin-top: clamp(7.476389px, 0.972222vw, 14px);
  color: #fff;
}

.photo-enhancement {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
  background: #fff;
}

.photo-enhancement__options {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(550.582639px, 71.597222vw, 1031px));
  margin-inline: auto;
  text-align: center;
}

.photo-enhancement__options h2 {
  margin: 0;
  font: clamp(26.701389px, 3.472222vw, 50px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
}

.photo-enhancement__options ul {
  display: grid;
  margin: clamp(34.177778px, 4.444444vw, 64px) 0 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.photo-enhancement__options li {
  display: flex;
  height: clamp(38.984028px, 5.069444vw, 73px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border: 1px solid #757575;
  color: #757575;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 100;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 1.2px;
  white-space: nowrap;
}

.photo-enhancement__options > p {
  margin: clamp(17.088889px, 2.222222vw, 32px) 0 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 300;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
}

.photo-enhancement__feature {
  display: grid;
  height: clamp(240.3125px, 31.25vw, 450px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.photo-enhancement__feature--retouch {
  margin-top: clamp(64.617361px, 8.402778vw, 121px);
}

.photo-enhancement__feature--design {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}

.photo-enhancement__text {
  min-width: 0;
  padding-top: clamp(17.622917px, 2.291667vw, 33px);
}

.photo-enhancement__copy {
  width: clamp(271.286111px, 35.277778vw, 508px);
}

.photo-enhancement__feature--retouch .photo-enhancement__copy {
  margin-left: max(clamp(21.361111px, 2.777778vw, 40px), (100vw - clamp(640.833333px, 83.333333vw, 1200px)) / 2);
}

.photo-enhancement__feature--design .photo-enhancement__copy {
  margin-left: clamp(56.606944px, 7.361111vw, 106px);
}

.photo-enhancement__label {
  display: flex;
  height: clamp(35.779861px, 4.652778vw, 67px);
  margin: 0;
  align-items: center;
  font: clamp(13.350694px, 1.736111vw, 25px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 1.25px;
}

.photo-enhancement__body {
  display: flex;
  margin-top: clamp(17.088889px, 2.222222vw, 32px);
  flex-direction: column;
  gap: clamp(17.088889px, 2.222222vw, 32px);
}

.photo-enhancement__body h2 {
  margin: 0;
  font-size: clamp(28.8375px, 3.75vw, 54px);
  font-weight: 100;
  line-height: clamp(51.266667px, 6.666667vw, 96px);
  letter-spacing: 2.7px;
  white-space: nowrap;
}

.photo-enhancement__body > p {
  width: clamp(261.139583px, 33.958333vw, 489px);
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  text-align: justify;
}

.photo-enhancement__comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.photo-enhancement__comparison > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.photo-enhancement__before,
.photo-enhancement__media {
  background: #bcbcbc;
}

.photo-enhancement__after {
  background: #dddada;
}

.photo-enhancement__comparison span {
  font: clamp(13.350694px, 1.736111vw, 25px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 1.25px;
}

.photo-enhancement__media {
  width: 100%;
  height: clamp(240.3125px, 31.25vw, 450px);
}

.photo-faq {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  padding: clamp(42.722222px, 5.555556vw, 80px) 0 clamp(29.905556px, 3.888889vw, 56px);
  color: #fff;
  background: #0c0c0c;
}

.photo-faq__inner {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.photo-faq h2 {
  display: flex;
  height: clamp(27.235417px, 3.541667vw, 51px);
  margin: 0;
  align-items: center;
  justify-content: center;
  font: clamp(26.701389px, 3.472222vw, 50px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 0;
}

.photo-faq__list {
  display: grid;
  margin-top: clamp(28.8375px, 3.75vw, 54px);
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.photo-faq__item {
  width: 100%;
}

.photo-faq__question {
  position: relative;
  display: flex;
  width: 100%;
  min-height: clamp(27.235417px, 3.541667vw, 51px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(34.177778px, 4.444444vw, 64px) clamp(5.340278px, 0.694444vw, 10px) clamp(13.350694px, 1.736111vw, 25px);
  align-items: center;
  border: 0;
  color: #0c0c0c;
  background: #fff;
  font: inherit;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.9px;
  text-align: left;
  cursor: pointer;
}

.photo-faq__question img {
  position: absolute;
  top: 50%;
  right: 0;
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  transform: translateY(-50%);
  transition: clip-path 0.3s ease;
}

.photo-faq__question[aria-expanded=true] img {
  clip-path: inset(48% 0 46%);
}

.photo-faq__question:focus-visible {
  z-index: 1;
  outline: 3px solid #0d3ce8;
  outline-offset: -3px;
}

.photo-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 0.35s ease, visibility 0s linear 0.35s;
}

.photo-faq__answer-inner {
  min-height: 0;
  overflow: hidden;
  color: #0c0c0c;
  background: #d3d3d3;
}

.photo-faq__answer p {
  display: flex;
  min-height: clamp(27.235417px, 3.541667vw, 51px);
  margin: 0;
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(13.350694px, 1.736111vw, 25px);
  align-items: center;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.9px;
}

.photo-faq__item.is-open .photo-faq__answer {
  grid-template-rows: 1fr;
  visibility: visible;
  transition-delay: 0s;
}

.photo-faq__note {
  margin: clamp(34.177778px, 4.444444vw, 64px) 0 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.9px;
  text-align: center;
}

.photo-access {
  padding-top: clamp(59.277083px, 7.708333vw, 111px);
  background: #fff;
}

.photo-access__inner {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.photo-access__columns {
  display: grid;
  grid-template-columns: minmax(0, 508fr) minmax(0, 600fr);
  gap: clamp(clamp(21.361111px, 2.777778vw, 40px), 6.3889vw, clamp(49.130556px, 6.388889vw, 92px));
}

.photo-access__label {
  display: flex;
  width: 100%;
  height: clamp(35.779861px, 4.652778vw, 67px);
  margin: 0;
  align-items: center;
  font: clamp(13.350694px, 1.736111vw, 25px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 1.25px;
}

.photo-access__body {
  display: flex;
  margin-top: clamp(17.088889px, 2.222222vw, 32px);
  flex-direction: column;
  gap: clamp(17.088889px, 2.222222vw, 32px);
}

.photo-access__body h2 {
  margin: 0;
  font-size: clamp(28.8375px, 3.75vw, 54px);
  font-weight: 100;
  line-height: clamp(51.266667px, 6.666667vw, 96px);
  letter-spacing: 2.7px;
  white-space: nowrap;
}

.photo-access__body p {
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.8px;
  text-align: justify;
  white-space: nowrap;
}

.photo-access__map {
  display: block;
  width: 100%;
  height: auto;
  margin-top: clamp(18.690972px, 2.430556vw, 35px);
  aspect-ratio: 508/365;
  -o-object-fit: cover;
     object-fit: cover;
}

.photo-access__line {
  display: flex;
  width: min(clamp(170.354861px, 22.152778vw, 319px), 100%);
  height: clamp(37.915972px, 4.930556vw, 71px);
  margin-top: clamp(29.371528px, 3.819444vw, 55px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  background: #d9d9d9;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 500;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 1.2px;
  transition: color 0.25s ease, background-color 0.25s ease;
}

.photo-access__line--sp,
.photo-access__address--sp {
  display: none;
}

.photo-access__visual {
  display: grid;
  width: 100%;
  margin-top: clamp(67.2875px, 8.75vw, 126px);
  aspect-ratio: 600/628;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.photo-access__visual-main {
  grid-column: 1/-1;
  background: #d9d9d9;
}

.photo-access__visual-sub {
  background: #f4f4f4;
}

.photo-access__visual-sub--dark {
  background: #b5b5b5;
}

.photo-access__address {
  margin-top: clamp(29.371528px, 3.819444vw, 55px);
}

.photo-access__address p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.9px;
  white-space: nowrap;
}

.photo-access__address p:last-child {
  font-weight: 600;
}

.photo-access__divider {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: clamp(34.177778px, 4.444444vw, 64px);
}

@media (hover: hover) {
  .photo-access__line:hover {
    color: #fff;
    background: #041125;
  }
}
.photo-gallery {
  height: clamp(825.606944px, 107.361111vw, 1546px);
  margin-top: clamp(38.45px, 5vw, 72px);
  padding: clamp(48.0625px, 6.25vw, 90px) 0 clamp(34.177778px, 4.444444vw, 64px);
  color: #fff;
  background: #757575;
}

.photo-gallery__inner {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.photo-gallery h2 {
  display: flex;
  height: clamp(27.235417px, 3.541667vw, 51px);
  margin: 0;
  align-items: center;
  justify-content: center;
  font: clamp(26.701389px, 3.472222vw, 50px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 0;
}

.photo-gallery__grid {
  display: grid;
  margin-top: clamp(28.8375px, 3.75vw, 54px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.photo-gallery__item {
  width: 100%;
  aspect-ratio: 285/356;
  overflow: hidden;
}

.photo-gallery__item--photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.photo-gallery__item--dummy {
  background: #bcbcbc;
}

.photo-gallery__socials {
  display: grid;
  width: clamp(452.855556px, 58.888889vw, 848px);
  margin: clamp(34.177778px, 4.444444vw, 64px) auto 0;
  grid-template-columns: repeat(2, clamp(221.0875px, 28.75vw, 414px));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.photo-gallery__social {
  display: flex;
  height: clamp(61.413194px, 7.986111vw, 115px);
  padding: clamp(9.6125px, 1.25vw, 18px) clamp(22.963194px, 2.986111vw, 43px) clamp(9.6125px, 1.25vw, 18px) clamp(23.497222px, 3.055556vw, 44px);
  align-items: center;
  gap: clamp(21.361111px, 2.777778vw, 40px);
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
}

.photo-gallery__social--student {
  color: #0c0c0c;
  background: #91ffef;
}

.photo-gallery__social--night {
  color: #fff;
  background: #323232;
}

.photo-gallery__social-label {
  display: flex;
  width: clamp(127.632639px, 16.597222vw, 239px);
  flex-direction: column;
  gap: clamp(2.670139px, 0.347222vw, 5px);
  align-items: center;
  font-family: "Aboreto", serif;
  text-align: center;
  text-transform: uppercase;
}

.photo-gallery__social-label strong {
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
}

.photo-gallery__social-label span {
  font-size: clamp(10.680556px, 1.388889vw, 20px);
  line-height: clamp(16.554861px, 2.152778vw, 31px);
}

.photo-gallery__social-icon {
  display: flex;
  width: clamp(25.633333px, 3.333333vw, 48px);
  height: clamp(25.633333px, 3.333333vw, 48px);
  align-items: center;
  justify-content: center;
}

.photo-gallery__social-icon img {
  width: clamp(21.361111px, 2.777778vw, 40px);
  height: clamp(21.361111px, 2.777778vw, 40px);
}

.photo-concept,
.photo-plan-selector,
.photo-enhancement,
.photo-faq,
.photo-access,
.photo-gallery {
  scroll-margin-top: clamp(52.334722px, 6.805556vw, 98px);
}

.photo-studio-footer {
  height: clamp(153.8px, 20vw, 288px);
  padding: clamp(34.177778px, 4.444444vw, 64px) 0 clamp(5.340278px, 0.694444vw, 10px);
  color: #0c0c0c;
  background: #fff;
}

.photo-studio-footer__inner {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.photo-studio-footer__top {
  display: flex;
  height: clamp(37.915972px, 4.930556vw, 71px);
  align-items: flex-start;
  justify-content: space-between;
}

.photo-studio-footer__logo {
  display: block;
  width: clamp(79.036111px, 10.277778vw, 148px);
  height: clamp(29.371528px, 3.819444vw, 55px);
  margin-top: clamp(4.272222px, 0.555556vw, 8px);
}

.photo-studio-footer__logo img {
  width: clamp(79.036111px, 10.277778vw, 148px);
  height: clamp(29.371528px, 3.819444vw, 55px);
}

.photo-studio-footer__line {
  display: flex;
  width: clamp(170.354861px, 22.152778vw, 319px);
  height: clamp(37.915972px, 4.930556vw, 71px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  background: #d9d9d9;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 500;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 1.2px;
  transition: color 0.25s ease, background-color 0.25s ease;
}

.photo-studio-footer__nav {
  display: grid;
  margin-top: clamp(25.633333px, 3.333333vw, 48px);
  grid-template-columns: repeat(6, clamp(80.104167px, 10.416667vw, 150px));
  gap: clamp(32.041667px, 4.166667vw, 60px);
}

.photo-studio-footer__nav a {
  display: flex;
  width: clamp(80.104167px, 10.416667vw, 150px);
  flex-direction: column;
  gap: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  font: clamp(9.6125px, 1.25vw, 18px)/clamp(16.554861px, 2.152778vw, 31px) "Aboreto", serif;
  letter-spacing: 0.9px;
  text-align: center;
  text-transform: uppercase;
}

.photo-studio-footer__nav img {
  width: clamp(80.104167px, 10.416667vw, 150px);
  height: 1px;
  transition: opacity 0.2s ease;
}

.photo-studio-footer__copyright {
  margin: clamp(18.156944px, 2.361111vw, 34px) 0 0;
  font: clamp(6.942361px, 0.902778vw, 13px)/normal "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0.65px;
  text-align: center;
  white-space: nowrap;
}

@media (hover: hover) {
  .photo-studio-footer__line:hover {
    color: #fff;
    background: #041125;
  }
  .photo-studio-footer__nav a:hover img {
    opacity: 0.35;
  }
}
@media (min-width: 681px) and (max-width: 1279px) {
  .photo-concept__visual {
    width: 100%;
  }
  .photo-concept__visual img {
    left: -12%;
    width: 124%;
  }
  .photo-concept__label,
  .photo-concept__body {
    width: min(53.17vw, clamp(340.709722px, 44.305556vw, 638px));
  }
  .photo-concept h2 {
    font-size: clamp(clamp(19.225px, 2.5vw, 36px), 4.21875vw, clamp(28.8375px, 3.75vw, 54px));
    line-height: 1.78;
  }
  .photo-concept__copy {
    width: min(100%, clamp(287.840972px, 37.430556vw, 539px));
    font-size: clamp(clamp(6.942361px, 0.902778vw, 13px), 1.25vw, clamp(8.544444px, 1.111111vw, 16px));
  }
  .photo-plan-card__heading {
    width: calc(100% - clamp(25.633333px, 3.333333vw, 48px));
  }
  .photo-plan-card__heading h2 {
    font-size: clamp(clamp(20.293056px, 2.638889vw, 38px), 3.90625vw, clamp(26.701389px, 3.472222vw, 50px));
  }
  .photo-plan-card__tagline {
    right: clamp(12.816667px, 1.666667vw, 24px);
    left: clamp(12.816667px, 1.666667vw, 24px);
    font-size: clamp(clamp(6.942361px, 0.902778vw, 13px), 1.25vw, clamp(8.544444px, 1.111111vw, 16px));
    white-space: normal;
  }
  .photo-enhancement__options {
    width: min(100% - clamp(34.177778px, 4.444444vw, 64px), clamp(550.582639px, 71.597222vw, 1031px));
  }
  .photo-enhancement__options li {
    font-size: clamp(clamp(8.010417px, 1.041667vw, 15px), 1.875vw, clamp(12.816667px, 1.666667vw, 24px));
    line-height: 1.4;
    white-space: normal;
  }
  .photo-enhancement__copy {
    width: auto;
  }
  .photo-enhancement__feature--retouch .photo-enhancement__copy {
    margin-right: clamp(12.816667px, 1.666667vw, 24px);
    margin-left: clamp(clamp(17.088889px, 2.222222vw, 32px), 3.125vw, clamp(21.361111px, 2.777778vw, 40px));
  }
  .photo-enhancement__feature--design .photo-enhancement__copy {
    margin-right: clamp(17.088889px, 2.222222vw, 32px);
    margin-left: clamp(clamp(17.088889px, 2.222222vw, 32px), 7.3611vw, clamp(56.606944px, 7.361111vw, 106px));
  }
  .photo-enhancement__body h2,
  .photo-access__body h2 {
    font-size: clamp(clamp(17.088889px, 2.222222vw, 32px), 4.21875vw, clamp(28.8375px, 3.75vw, 54px));
    line-height: 1.78;
    white-space: normal;
  }
  .photo-enhancement__body > p {
    width: 100%;
    font-size: clamp(clamp(6.942361px, 0.902778vw, 13px), 1.25vw, clamp(8.544444px, 1.111111vw, 16px));
    text-align: left;
  }
  .photo-access__inner,
  .photo-gallery__inner,
  .photo-faq__inner,
  .photo-studio-footer__inner {
    width: min(100% - clamp(34.177778px, 4.444444vw, 64px), clamp(640.833333px, 83.333333vw, 1200px));
  }
  .photo-access__columns {
    gap: clamp(clamp(17.088889px, 2.222222vw, 32px), 6.3889vw, clamp(49.130556px, 6.388889vw, 92px));
  }
  .photo-access__body p,
  .photo-access__address p {
    font-size: clamp(clamp(6.942361px, 0.902778vw, 13px), 1.25vw, clamp(9.6125px, 1.25vw, 18px));
    text-align: left;
    white-space: normal;
  }
  .photo-gallery {
    height: auto;
  }
  .photo-gallery__grid {
    gap: clamp(clamp(6.408333px, 0.833333vw, 12px), 1.5625vw, clamp(10.680556px, 1.388889vw, 20px));
  }
  .photo-gallery__socials {
    width: min(100%, clamp(452.855556px, 58.888889vw, 848px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(clamp(6.408333px, 0.833333vw, 12px), 1.5625vw, clamp(10.680556px, 1.388889vw, 20px));
  }
  .photo-gallery__social {
    min-width: 0;
    padding-inline: clamp(clamp(9.6125px, 1.25vw, 18px), 3.0556vw, clamp(23.497222px, 3.055556vw, 44px));
    gap: clamp(clamp(6.408333px, 0.833333vw, 12px), 2.7778vw, clamp(21.361111px, 2.777778vw, 40px));
  }
  .photo-gallery__social-label {
    width: auto;
    min-width: 0;
    flex: 1;
  }
  .photo-gallery__social-label strong {
    font-size: clamp(clamp(13.350694px, 1.736111vw, 25px), 3.28125vw, clamp(22.429167px, 2.916667vw, 42px));
  }
  .photo-gallery__social-label span {
    font-size: clamp(clamp(6.942361px, 0.902778vw, 13px), 1.5625vw, clamp(10.680556px, 1.388889vw, 20px));
  }
  .photo-studio-footer {
    height: auto;
    min-height: clamp(153.8px, 20vw, 288px);
  }
  .photo-studio-footer__nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(clamp(8.544444px, 1.111111vw, 16px), 4.1667vw, clamp(32.041667px, 4.166667vw, 60px));
  }
  .photo-studio-footer__nav a,
  .photo-studio-footer__nav img {
    width: 100%;
  }
  .photo-studio-footer__nav a {
    min-width: 0;
    font-size: clamp(clamp(6.408333px, 0.833333vw, 12px), 1.40625vw, clamp(9.6125px, 1.25vw, 18px));
  }
}
.creative-hero {
  position: relative;
  min-height: clamp(512.666667px, 66.666667vw, 960px);
  padding-top: clamp(90.784722px, 11.805556vw, 170px);
  color: #fff;
  background: #0d3ce8;
  overflow: hidden;
}

.creative-hero__inner {
  position: relative;
  z-index: 2;
}
.creative-hero__inner h1 {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 clamp(29.371528px, 3.819444vw, 55px);
  font-size: clamp(clamp(69.423611px, 9.027778vw, 130px), 20vw, clamp(152.197917px, 19.791667vw, 285px));
  line-height: 0.68;
}

.creative-hero__kicker {
  font-size: clamp(6.408333px, 0.833333vw, 12px);
  letter-spacing: 0.2em;
}

.creative-hero__lead {
  display: flex;
  gap: clamp(48.0625px, 6.25vw, 90px);
  align-items: end;
}
.creative-hero__lead strong {
  font-size: clamp(14.952778px, 1.944444vw, 28px);
  line-height: 1.65;
}
.creative-hero__lead p {
  max-width: clamp(208.270833px, 27.083333vw, 390px);
  margin: 0;
}

.creative-badges {
  display: flex;
  gap: clamp(5.340278px, 0.694444vw, 10px);
  margin-top: clamp(24.03125px, 3.125vw, 45px);
}
.creative-badges span {
  padding: clamp(4.272222px, 0.555556vw, 8px) clamp(9.6125px, 1.25vw, 18px);
  border: 1px solid #fff;
  border-radius: clamp(16.020833px, 2.083333vw, 30px);
  font-size: clamp(5.874306px, 0.763889vw, 11px);
}

.creative-hero__art {
  position: absolute;
  z-index: 1;
  inset: auto 0 -5%;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.creative-hero__art img {
  width: 26%;
}

.creative-answer img {
  width: clamp(64.083333px, 8.333333vw, 120px);
  margin: 0 auto clamp(24.03125px, 3.125vw, 45px);
}

.creative-answer h2 {
  font-size: clamp(clamp(20.827083px, 2.708333vw, 39px), 5.5vw, clamp(38.45px, 5vw, 72px));
  line-height: 1.4;
}

.creative-answer p:last-child {
  max-width: clamp(341.777778px, 44.444444vw, 640px);
  margin: clamp(18.690972px, 2.430556vw, 35px) auto 0;
}

.support-pair {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10.680556px, 1.388889vw, 20px);
}
.support-pair article {
  padding: clamp(20.293056px, 2.638889vw, 38px);
  border: 1px solid #d8d8d4;
}
.support-pair img {
  width: 100%;
  height: clamp(181.569444px, 23.611111vw, 340px);
  -o-object-fit: contain;
     object-fit: contain;
}
.support-pair span {
  font: clamp(6.408333px, 0.833333vw, 12px)/1 "Bebas Neue";
  letter-spacing: 0.1em;
}
.support-pair h3 {
  margin: clamp(13.350694px, 1.736111vw, 25px) 0 clamp(8.010417px, 1.041667vw, 15px);
  font-size: clamp(16.020833px, 2.083333vw, 30px);
}

.creative-stat__inner {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: clamp(53.402778px, 6.944444vw, 100px);
  align-items: end;
}
.creative-stat__inner h2 {
  font-size: clamp(clamp(19.225px, 2.5vw, 36px), 5vw, clamp(34.177778px, 4.444444vw, 64px));
  line-height: 1.5;
}

.creative-stat__number {
  text-align: center;
}
.creative-stat__number strong {
  display: block;
  color: #ffea00;
  font-size: clamp(clamp(74.763889px, 9.722222vw, 140px), 18vw, clamp(128.166667px, 16.666667vw, 240px));
  line-height: 0.8;
}
.creative-stat__number strong small {
  font-size: 0.28em;
}
.creative-stat__number p {
  max-width: clamp(149.527778px, 19.444444vw, 280px);
  margin: clamp(18.690972px, 2.430556vw, 35px) auto 0;
}

.issue-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.issue-grid article {
  padding: clamp(14.952778px, 1.944444vw, 28px);
  background: #fff;
}
.issue-grid img {
  width: 100%;
  height: clamp(112.145833px, 14.583333vw, 210px);
  -o-object-fit: contain;
     object-fit: contain;
}
.issue-grid span {
  font: clamp(6.942361px, 0.902778vw, 13px)/1 "Bebas Neue";
}
.issue-grid h3 {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
  font-size: clamp(9.078472px, 1.180556vw, 17px);
}

.monthly-card {
  padding: clamp(34.711806px, 4.513889vw, 65px);
  color: #0c0c0c;
  background: #fff;
}
.monthly-card > p {
  font: clamp(9.6125px, 1.25vw, 18px)/1 "Bebas Neue";
  letter-spacing: 0.12em;
}
.monthly-card > div {
  display: flex;
  gap: clamp(13.350694px, 1.736111vw, 25px);
  align-items: end;
  justify-content: center;
  margin-block: clamp(21.361111px, 2.777778vw, 40px);
}
.monthly-card > div > span {
  padding: clamp(4.272222px, 0.555556vw, 8px) clamp(6.408333px, 0.833333vw, 12px);
  color: #fff;
  background: #0c0c0c;
}
.monthly-card > div strong {
  color: #0d3ce8;
  font-size: clamp(64.083333px, 8.333333vw, 120px);
  line-height: 0.8;
}
.monthly-card > div strong small {
  font: clamp(9.6125px, 1.25vw, 18px)/1 "Noto Sans JP";
}
.monthly-card ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(6.408333px, 0.833333vw, 12px) clamp(16.020833px, 2.083333vw, 30px);
  padding: clamp(13.350694px, 1.736111vw, 25px);
  background: #f0f0ee;
}
.monthly-card ul li::before {
  content: "✓ ";
  color: #0d3ce8;
}
.monthly-card > small {
  display: block;
  margin-top: clamp(9.6125px, 1.25vw, 18px);
}

.flow-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #d8d8d4;
}
.flow-list li {
  min-height: clamp(138.847222px, 18.055556vw, 260px);
  padding: clamp(14.952778px, 1.944444vw, 28px);
  border-right: 1px solid #d8d8d4;
}
.flow-list span {
  font: clamp(6.408333px, 0.833333vw, 12px)/1 "Bebas Neue";
}
.flow-list h3 {
  margin: clamp(32.041667px, 4.166667vw, 60px) 0 clamp(8.010417px, 1.041667vw, 15px);
}

.creative-flow__body {
  position: relative;
  padding-bottom: clamp(101.465278px, 13.194444vw, 190px);
}
.creative-flow__body > img {
  position: absolute;
  right: 5%;
  bottom: 0;
  width: clamp(96.125px, 12.5vw, 180px);
}

.contact-banner--creative a {
  background: #0d3ce8;
}

.creative-partner {
  --cp-navy: #002865;
  --cp-blue: #8bbae4;
  --cp-sky: #cfeeff;
  --cp-yellow: #fff000;
  --cp-cream: #fffaf0;
  color: var(--cp-navy);
  background: #fff;
  font-weight: 400;
}
.creative-partner h2,
.creative-partner h3 {
  color: inherit;
  letter-spacing: 0.04em;
}
.creative-partner em {
  color: #0e5fbc;
  font-style: normal;
}

.creative-partner.has-creative-motion .creative-motion {
  --creative-motion-delay: 0ms;
  opacity: 0;
  filter: blur(3px);
  translate: 0 clamp(14.952778px, 1.944444vw, 28px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.85s cubic-bezier(0.22, 1, 0.36, 1), translate 0.95s cubic-bezier(0.16, 1, 0.3, 1), scale 1s cubic-bezier(0.16, 1, 0.3, 1), clip-path 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--creative-motion-delay);
  will-change: opacity, filter, translate;
}

.creative-partner.has-creative-motion .creative-motion--left {
  translate: clamp(-34px, -2.361111vw, -18.156944px) 0;
}

.creative-partner.has-creative-motion .creative-motion--right {
  translate: clamp(18.156944px, 2.361111vw, 34px) 0;
}

.creative-partner.has-creative-motion .creative-motion--scale {
  filter: none;
  scale: 0.94;
  translate: 0 clamp(8.544444px, 1.111111vw, 16px);
  will-change: opacity, translate, scale;
}

.creative-partner.has-creative-motion .creative-motion.is-creative-visible {
  opacity: 1;
  filter: none;
  scale: 1;
  translate: 0 0;
}

.creative-partner.has-creative-motion .cp-hero__title,
.creative-partner.has-creative-motion .cp-hero__statement,
.creative-partner.has-creative-motion .cp-hero__achievements,
.creative-partner.has-creative-motion .cp-hero__cta > * {
  opacity: 0;
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), filter 1s cubic-bezier(0.22, 1, 0.36, 1), translate 1.05s cubic-bezier(0.16, 1, 0.3, 1), scale 1.15s cubic-bezier(0.16, 1, 0.3, 1), clip-path 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, filter, translate, scale, clip-path;
}

.creative-partner.has-creative-motion .cp-hero__title {
  clip-path: inset(0 50% 0 50%);
  filter: blur(2px);
  scale: 0.985;
  transition-delay: 0.06s;
}

.creative-partner.has-creative-motion .cp-hero__statement {
  clip-path: inset(0 100% 0 0);
  transition-delay: 0.28s;
}

.creative-partner.has-creative-motion .cp-hero__achievements {
  filter: blur(clamp(3.204167px, 0.416667vw, 6px));
  scale: 1;
  translate: 0 0;
  transition: opacity 1.35s cubic-bezier(0.22, 1, 0.36, 1), filter 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}

.creative-partner.has-creative-motion .cp-hero__cta > p {
  clip-path: inset(0 100% 0 0);
  translate: clamp(-18px, -1.25vw, -9.6125px) 0;
  transition-delay: 0.68s;
}

.creative-partner.has-creative-motion .cp-hero__cta > a {
  scale: 0.97;
  translate: 0 clamp(9.6125px, 1.25vw, 18px);
  transition-delay: 0.86s;
}

.creative-partner.has-creative-motion.is-creative-hero-visible .cp-hero__title,
.creative-partner.has-creative-motion.is-creative-hero-visible .cp-hero__statement,
.creative-partner.has-creative-motion.is-creative-hero-visible .cp-hero__cta > * {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  filter: none;
  scale: 1;
  translate: 0 0;
}

.creative-partner.has-creative-motion .cp-hero__achievements.is-creative-achievements-visible {
  opacity: 1;
  filter: none;
}

.cp-shell {
  width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(640.833333px, 83.333333vw, 1200px));
  margin-inline: auto;
}

.cp-section {
  padding-block: clamp(74.763889px, 9.722222vw, 140px);
}

.cp-label {
  margin: 0 0 clamp(16.020833px, 2.083333vw, 30px);
  font: 700 clamp(6.408333px, 0.833333vw, 12px)/1.2 "Alexandria", sans-serif;
  letter-spacing: 0.18em;
}

.cp-section-heading h2,
.cp-intro__content h2,
.cp-team__content h2,
.cp-flow__heading h2,
.cp-cta h2 {
  margin: 0;
  font-size: clamp(clamp(22.429167px, 2.916667vw, 42px), 5vw, clamp(36.313889px, 4.722222vw, 68px));
  font-weight: 700;
  line-height: 1.45;
}

.cp-section-heading--center {
  margin-bottom: clamp(38.45px, 5vw, 72px);
  text-align: center;
}

.cp-section-heading--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(42.722222px, 5.555556vw, 80px);
  margin-bottom: clamp(38.45px, 5vw, 72px);
}

.cp-section-heading--split > p {
  width: clamp(181.569444px, 23.611111vw, 340px);
  margin: 0 0 clamp(4.272222px, 0.555556vw, 8px);
  color: rgba(0, 40, 101, 0.7);
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  line-height: 2;
}

.cp-section-heading--split > img {
  width: clamp(67.2875px, 8.75vw, 126px);
  height: auto;
  margin-right: 7%;
}

.cp-button {
  display: inline-flex;
  min-width: clamp(123.894444px, 16.111111vw, 232px);
  height: clamp(36.313889px, 4.722222vw, 68px);
  padding: clamp(4.272222px, 0.555556vw, 8px) clamp(4.272222px, 0.555556vw, 8px) clamp(4.272222px, 0.555556vw, 8px) clamp(14.952778px, 1.944444vw, 28px);
  align-items: center;
  justify-content: space-between;
  gap: clamp(13.884722px, 1.805556vw, 26px);
  border: 2px solid var(--cp-navy);
  border-radius: clamp(53.402778px, 6.944444vw, 100px);
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.cp-button img {
  width: clamp(26.701389px, 3.472222vw, 50px);
  height: clamp(26.701389px, 3.472222vw, 50px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  border-radius: 50%;
}

.cp-button:hover {
  transform: translateY(-3px);
}

.cp-button--navy {
  color: #fff;
  background: var(--cp-navy);
}

.cp-button--navy img {
  background: #0e5fbc;
}

.cp-button--white {
  color: var(--cp-navy);
  border-color: #fff;
  background: #fff;
}

.cp-button--white img {
  background: var(--cp-navy);
}

.cp-hero {
  overflow: hidden;
  background: #fff;
}

.cp-hero__title {
  width: min(100vw - clamp(128.166667px, 16.666667vw, 240px), clamp(640.833333px, 83.333333vw, 1200px));
  margin: 0 auto;
  padding: clamp(106.805556px, 13.888889vw, 200px) 0 clamp(18.690972px, 2.430556vw, 35px);
  line-height: 0;
}

.cp-hero__title img {
  display: block;
  width: 100%;
  height: auto;
}

.cp-hero__statement {
  display: flex;
  width: min(100vw - clamp(128.166667px, 16.666667vw, 240px), clamp(640.833333px, 83.333333vw, 1200px));
  min-height: clamp(50.732639px, 6.597222vw, 95px);
  margin: 0 auto;
  padding: clamp(9.6125px, 1.25vw, 18px) clamp(21.361111px, 2.777778vw, 40px);
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--cp-navy);
  font-size: clamp(clamp(14.952778px, 1.944444vw, 28px), 3vw, clamp(22.963194px, 2.986111vw, 43px));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}

.cp-hero__mobile-break {
  display: none;
}

.cp-hero__bottom {
  display: grid;
  min-height: clamp(242.448611px, 31.527778vw, 454px);
  padding-top: clamp(34.177778px, 4.444444vw, 64px);
  padding-bottom: clamp(20.293056px, 2.638889vw, 38px);
  grid-template-columns: minmax(0, 1fr) clamp(221.621528px, 28.819444vw, 415px);
  gap: clamp(29.371528px, 3.819444vw, 55px);
  align-items: start;
}

.cp-hero__achievements {
  display: block;
  width: min(100%, clamp(375.955556px, 48.888889vw, 704px));
  height: auto;
  margin-left: clamp(-120px, -8.333333vw, -64.083333px);
}

.cp-hero__cta {
  margin-top: clamp(24.565278px, 3.194444vw, 46px);
}

.cp-hero__cta p {
  margin: 0 0 clamp(16.020833px, 2.083333vw, 30px);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.cp-hero__cta a {
  display: flex;
  width: clamp(221.621528px, 28.819444vw, 415px);
  min-height: clamp(37.381944px, 4.861111vw, 70px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #fff;
  background: linear-gradient(100deg, #c59837 0%, #e0bc66 28%, #b98626 61%, #e4c770 100%);
  box-shadow: 0 clamp(4.80625px, 0.625vw, 9px) clamp(10.680556px, 1.388889vw, 20px) rgba(112, 79, 9, 0.2);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.cp-hero__cta a:hover {
  box-shadow: 0 clamp(6.942361px, 0.902778vw, 13px) clamp(13.884722px, 1.805556vw, 26px) rgba(112, 79, 9, 0.28);
  transform: translateY(-3px);
}

.cp-intro {
  position: relative;
  z-index: 1;
  height: clamp(847.502083px, 110.208333vw, 1587px);
  padding: 0;
  isolation: isolate;
  overflow: hidden;
}

.cp-intro::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 50vh;
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: -1;
  background: var(--cp-navy);
}

.cp-intro::before {
  position: absolute;
  z-index: 0;
  top: clamp(5.340278px, 0.694444vw, 10px);
  left: clamp(-40px, -2.777778vw, -21.361111px);
  width: calc(100% + clamp(42.722222px, 5.555556vw, 80px));
  height: clamp(865.125px, 112.5vw, 1620px);
  border-radius: 50% 50% 0 0/clamp(96.125px, 12.5vw, 180px) clamp(96.125px, 12.5vw, 180px) 0 0;
  background: var(--cp-navy);
  content: "";
}

.cp-intro__inner {
  position: relative;
  z-index: 1;
  height: 100%;
}

.cp-intro__worry {
  position: absolute;
  top: clamp(94.522917px, 12.291667vw, 177px);
  left: clamp(-36px, -2.5vw, -19.225px);
  display: block;
  width: clamp(264.34375px, 34.375vw, 495px);
  height: clamp(363.672917px, 47.291667vw, 681px);
}

.cp-intro__puzzles {
  position: absolute;
  top: clamp(93.988889px, 12.222222vw, 176px);
  right: clamp(-75px, -5.208333vw, -40.052083px);
  display: block;
  width: clamp(144.721528px, 18.819444vw, 271px);
  height: clamp(128.700694px, 16.736111vw, 241px);
}

.cp-intro__copy {
  position: absolute;
  top: clamp(175.161111px, 22.777778vw, 328px);
  left: clamp(286.238889px, 37.222222vw, 536px);
  width: clamp(278.7625px, 36.25vw, 522px);
  color: #fff;
}

.cp-intro__copy h2 {
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(34.711806px, 4.513889vw, 65px);
  letter-spacing: 2.56px;
  white-space: nowrap;
}

.cp-intro__copy p {
  margin: clamp(17.088889px, 2.222222vw, 32px) 0 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 1.44px;
  text-align: justify;
}

.cp-intro__conclusion {
  position: absolute;
  top: clamp(422.415972px, 54.930556vw, 791px);
  left: clamp(286.238889px, 37.222222vw, 536px);
  width: clamp(237.108333px, 30.833333vw, 444px);
  margin: 0;
  padding-bottom: clamp(8.544444px, 1.111111vw, 16px);
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 1.92px;
  text-align: center;
  white-space: nowrap;
}

.cp-intro__support {
  position: absolute;
  inset: 0;
}

.cp-intro__support-card {
  position: absolute;
  top: clamp(582.090278px, 75.694444vw, 1090px);
  left: 0;
  width: clamp(640.833333px, 83.333333vw, 1200px);
  height: clamp(165.548611px, 21.527778vw, 310px);
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: var(--cp-navy);
  background: #fff;
  text-align: center;
}

.cp-intro__support-label {
  position: absolute;
  z-index: 3;
  top: clamp(-35px, -2.430556vw, -18.690972px);
  left: 50%;
  display: flex;
  width: clamp(310.270139px, 40.347222vw, 581px);
  height: clamp(37.381944px, 4.861111vw, 70px);
  margin: 0;
  align-items: center;
  justify-content: center;
  background: #faee00;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: clamp(34.711806px, 4.513889vw, 65px);
  letter-spacing: clamp(1.794333px, 0.233333vw, 3.36px);
  transform: translateX(-50%);
  white-space: nowrap;
}

.cp-intro__support-card h3 {
  margin: clamp(28.303472px, 3.680556vw, 53px) 0 0;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: clamp(33.109722px, 4.305556vw, 62px);
  letter-spacing: clamp(1.794333px, 0.233333vw, 3.36px);
}

.cp-intro__support-card > p:not(.cp-intro__support-label) {
  width: clamp(375.955556px, 48.888889vw, 704px);
  margin: clamp(13.350694px, 1.736111vw, 25px) auto 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 700;
  line-height: clamp(14.952778px, 1.944444vw, 28px);
  letter-spacing: 1.28px;
}

.cp-intro__support-card > a {
  position: absolute;
  top: clamp(182.6375px, 23.75vw, 342px);
  left: 50%;
  display: flex;
  width: clamp(221.621528px, 28.819444vw, 415px);
  min-height: clamp(37.381944px, 4.861111vw, 70px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #fff;
  background: linear-gradient(100deg, #aa7421 0%, #d6b25f 33%, #edd17f 51%, #aa7421 69%, #d6b25f 86%, #aa7421 100%);
  box-shadow: 0 clamp(4.272222px, 0.555556vw, 8px) clamp(9.6125px, 1.25vw, 18px) rgba(112, 79, 9, 0.18);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.93px;
  transform: translateX(-50%);
  transition: box-shadow 0.25s ease, margin-top 0.25s ease;
}

.cp-intro__support-card > a:hover {
  margin-top: -3px;
  box-shadow: 0 clamp(6.408333px, 0.833333vw, 12px) clamp(12.816667px, 1.666667vw, 24px) rgba(112, 79, 9, 0.28);
}

.cp-intro__support-figure {
  position: absolute;
  z-index: 2;
  display: block;
}

.cp-intro__support-figure--left {
  top: clamp(515.336806px, 67.013889vw, 965px);
  left: clamp(20.293056px, 2.638889vw, 38px);
  width: clamp(101.999306px, 13.263889vw, 191px);
  height: clamp(288.375px, 37.5vw, 540px);
}

.cp-intro__support-figure--right {
  top: clamp(544.174306px, 70.763889vw, 1019px);
  right: clamp(30.439583px, 3.958333vw, 57px);
  width: clamp(90.784722px, 11.805556vw, 170px);
  height: clamp(259.5375px, 33.75vw, 486px);
}

.cp-reality {
  --cp-reality-notch-depth: clamp(clamp(19.759028px, 2.569444vw, 37px), 9.4792vw, clamp(72.894792px, 9.479167vw, 136.5px));
  --cp-reality-background-height: clamp(clamp(97.727083px, 12.708333vw, 183px), 47.0139vw, clamp(361.536806px, 47.013889vw, 677px));
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  background: var(--cp-navy);
}

.cp-reality::before {
  position: absolute;
  z-index: 0;
  top: var(--cp-reality-notch-depth);
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  content: "";
}

.cp-reality__background {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: var(--cp-reality-background-height);
  pointer-events: none;
}

.cp-reality__inner {
  position: relative;
  z-index: 1;
  padding-top: clamp(148.459722px, 19.305556vw, 278px);
  padding-bottom: clamp(52.86875px, 6.875vw, 99px);
  border-bottom: 1px solid #595857;
}

.cp-reality__heading {
  text-align: center;
}

.cp-reality__heading h2 {
  margin: 0;
  color: var(--cp-navy);
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: 0.02em;
}

.cp-reality__heading p {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
  color: #595857;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

.cp-reality__problems {
  display: block;
  width: clamp(539.368056px, 70.138889vw, 1010px);
  height: auto;
  margin: clamp(38.45px, 5vw, 72px) auto 0;
}

.cp-reality__problems-mobile {
  display: none;
}

.cp-reality__solution {
  display: grid;
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
  grid-template-columns: clamp(171.956944px, 22.361111vw, 322px) clamp(296.919444px, 38.611111vw, 556px) clamp(171.956944px, 22.361111vw, 322px);
  align-items: center;
}

.cp-reality__card {
  height: clamp(220.019444px, 28.611111vw, 412px);
  border: 1px solid #595857;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: #0c0c0c;
  background: #fff;
}

.cp-reality__card--left {
  padding: clamp(16.020833px, 2.083333vw, 30px) clamp(32.041667px, 4.166667vw, 60px);
}

.cp-reality__card--right {
  padding: clamp(16.020833px, 2.083333vw, 30px) clamp(24.03125px, 3.125vw, 45px);
}

.cp-reality__card dl {
  display: grid;
  height: 100%;
  margin: 0;
  grid-template-rows: repeat(3, 1fr);
}

.cp-reality__card dl > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cp-reality__card dl > div + div {
  border-top: 1px solid #595857;
}

.cp-reality__card dt {
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.cp-reality__card dd {
  margin: 3px 0 0;
  color: #aa7421;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.cp-reality__logo {
  display: block;
  width: clamp(296.919444px, 38.611111vw, 556px);
  height: clamp(114.281944px, 14.861111vw, 214px);
}

.cp-reality__logo-lockup {
  display: grid;
  place-items: center;
}

.cp-reality__logo--mobile,
.cp-reality__logo-caption,
.cp-reality__cta-action,
.cp-fit__mobile-break {
  display: none;
}

.cp-reality__cta {
  position: relative;
  display: block;
  height: clamp(50.78978px, 6.604653vw, 95.107px);
  margin-top: clamp(32.041667px, 4.166667vw, 60px);
  padding: 0;
  overflow: hidden;
  color: #0c0c0c;
  background: var(--cp-navy);
  font-size: clamp(15.184546px, 1.974583vw, 28.434px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  transition: filter 0.25s ease;
}

.cp-reality__cta::before {
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 57.782%;
  background: #d6b25f;
  clip-path: polygon(0 0, 100% 0, 88.32% 100%, 0 100%);
  content: "";
}

.cp-reality__cta span,
.cp-reality__cta img {
  position: relative;
  z-index: 1;
}

.cp-reality__cta-break {
  display: none;
}

.cp-reality__cta .cp-reality__cta-question,
.cp-reality__cta .cp-reality__cta-action,
.cp-reality__cta img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.cp-reality__cta .cp-reality__cta-question {
  left: 6.667%;
  color: #0c0c0c;
  white-space: nowrap;
}

.cp-reality__cta .cp-reality__cta-action {
  left: 62.667%;
  display: block;
  width: 31.019%;
  color: #fff;
  white-space: nowrap;
}

.cp-reality__cta img {
  right: 5.799%;
  display: block;
  width: clamp(27.452232px, 3.569861vw, 51.406px);
  height: clamp(27.452232px, 3.569861vw, 51.406px);
}

.cp-reality__cta:hover {
  filter: brightness(1.07);
}

.cp-fit {
  height: auto;
  padding-bottom: 2px;
  overflow: hidden;
  background: #fff;
}

.cp-fit__inner {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
}

.cp-fit__inner h2 {
  margin: 0;
  color: var(--cp-navy);
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: 0.02em;
  text-align: center;
}

.cp-fit__list {
  display: grid;
  margin: clamp(34.177778px, 4.444444vw, 64px) 0 0;
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.cp-fit__list li {
  display: flex;
  min-height: clamp(34.177778px, 4.444444vw, 64px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(12.816667px, 1.666667vw, 24px);
  align-items: center;
  justify-content: center;
  border: 1px solid #595857;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: #0c0c0c;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: 1.84;
  letter-spacing: 0.01em;
  text-align: center;
}

.cp-fit__stage {
  position: relative;
  height: clamp(230.165972px, 29.930556vw, 431px);
  margin-top: clamp(-14px, -0.972222vw, -7.476389px);
}

.cp-fit__person {
  position: absolute;
  z-index: 2;
  display: block;
  height: auto;
}

.cp-fit__person--left {
  top: 0;
  left: clamp(-100px, -6.944444vw, -53.402778px);
  width: clamp(319.882639px, 41.597222vw, 599px);
}

.cp-fit__person--right {
  top: clamp(4.80625px, 0.625vw, 9px);
  right: clamp(-124px, -8.611111vw, -66.219444px);
  width: clamp(326.825px, 42.5vw, 612px);
}

.cp-fit__offer {
  position: absolute;
  z-index: 3;
  top: clamp(35.779861px, 4.652778vw, 67px);
  left: 50%;
  width: clamp(267.013889px, 34.722222vw, 500px);
  color: #0c0c0c;
  text-align: center;
  transform: translateX(-50%);
}

.cp-fit__offer p {
  margin: 0;
  font-size: clamp(16.020833px, 2.083333vw, 30px);
  font-weight: 700;
  line-height: 1.47;
}

.cp-fit__offer-title {
  display: block;
  width: clamp(198.658333px, 25.833333vw, 372px);
  height: clamp(60.879167px, 7.916667vw, 114px);
  margin: clamp(5.340278px, 0.694444vw, 10px) auto 0;
}

.cp-fit__band {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  height: clamp(75.831944px, 9.861111vw, 142px);
  padding-bottom: clamp(20.293056px, 2.638889vw, 38px);
  align-items: center;
  justify-content: center;
  color: #fff;
}

.cp-fit__band > img {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.cp-fit__band p {
  position: relative;
  z-index: 3;
  margin: 0;
  font-size: clamp(13.350694px, 1.736111vw, 25px);
  font-weight: 700;
  line-height: 1.76;
  letter-spacing: 0.01em;
  text-align: center;
}

.cp-plans {
  height: clamp(379.159722px, 49.305556vw, 710px);
  background: #fff;
}

.cp-plans__inner {
  padding-top: clamp(44.858333px, 5.833333vw, 84px);
}

.cp-plans__inner > h2 {
  margin: 0;
  color: #0c0c0c;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(23.497222px, 3.055556vw, 44px);
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}

.cp-plans__mobile-mark,
.cp-plans__note-break,
.cp-fit__band-break {
  display: none;
}

.cp-plans__grid {
  display: grid;
  margin-top: clamp(28.8375px, 3.75vw, 54px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12.282639px, 1.597222vw, 23px);
  align-items: start;
}

.cp-plans__column {
  position: relative;
  display: grid;
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.cp-plans__column h3 {
  display: grid;
  height: clamp(63.015278px, 8.194444vw, 118px);
  margin: 0;
  place-items: center;
  border: 1px solid var(--cp-navy);
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: var(--cp-navy);
  background: #fff5d9;
  font: clamp(37.381944px, 4.861111vw, 70px)/clamp(23.497222px, 3.055556vw, 44px) "Abolition", "Bebas Neue", sans-serif;
  text-transform: uppercase;
}

.cp-plans__services {
  display: grid;
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.cp-plans__service {
  display: flex;
  height: clamp(65.685417px, 8.541667vw, 123px);
  padding: clamp(9.6125px, 1.25vw, 18px) clamp(4.272222px, 0.555556vw, 8px) clamp(3.738194px, 0.486111vw, 7px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(3.738194px, 0.486111vw, 7px);
  border: 1px solid var(--cp-navy);
  border-radius: clamp(4.272222px, 0.555556vw, 8px);
  color: var(--cp-navy);
  background: #e9f8ff;
  text-align: center;
}

.cp-plans__service strong {
  font: clamp(27.769444px, 3.611111vw, 52px)/clamp(17.622917px, 2.291667vw, 33px) "Abolition", "Bebas Neue", sans-serif;
  text-transform: uppercase;
}

.cp-plans__service span {
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(17.622917px, 2.291667vw, 33px);
}

.cp-plans__price {
  position: absolute;
  top: clamp(56.606944px, 7.361111vw, 106px);
  left: 50%;
  display: flex;
  height: clamp(113.747917px, 14.791667vw, 213px);
  align-items: flex-end;
  justify-content: center;
  color: #0c0c0c;
  font-weight: 700;
  text-align: center;
  transform: translateX(-50%);
  white-space: nowrap;
}

.cp-plans__price span {
  display: flex;
  width: clamp(46.460417px, 6.041667vw, 87px);
  height: clamp(32.575694px, 4.236111vw, 61px);
  align-items: center;
  justify-content: center;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  line-height: clamp(36.161157px, 4.702361vw, 67.714px);
}

.cp-plans__price span:last-child {
  width: clamp(65.685417px, 8.541667vw, 123px);
}

.cp-plans__price strong {
  display: flex;
  width: clamp(87.580556px, 11.388889vw, 164px);
  height: clamp(113.747917px, 14.791667vw, 213px);
  margin-inline: clamp(-5px, -0.347222vw, -2.670139px);
  align-items: center;
  justify-content: center;
  color: #aa7421;
  font-size: clamp(117.486111px, 15.277778vw, 220px);
  line-height: clamp(36.161157px, 4.702361vw, 67.714px);
}

.cp-plans__cta {
  position: absolute;
  top: clamp(178.899306px, 23.263889vw, 335px);
  left: 50%;
  display: flex;
  width: clamp(205.066667px, 26.666667vw, 384px);
  min-height: clamp(37.381944px, 4.861111vw, 70px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #fff;
  background: linear-gradient(100deg, #aa7421 0%, #d6b25f 33%, #edd17f 51%, #aa7421 69%, #d6b25f 86%, #aa7421 100%);
  box-shadow: 0 clamp(4.272222px, 0.555556vw, 8px) clamp(9.6125px, 1.25vw, 18px) rgba(112, 79, 9, 0.18);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.93px;
  transform: translateX(-50%);
  transition: box-shadow 0.25s ease, margin-top 0.25s ease;
}

.cp-plans__cta:hover {
  margin-top: -3px;
  box-shadow: 0 clamp(6.408333px, 0.833333vw, 12px) clamp(12.816667px, 1.666667vw, 24px) rgba(112, 79, 9, 0.28);
}

.cp-plans__note {
  margin: clamp(23.497222px, 3.055556vw, 44px) 0 0;
  color: #0c0c0c;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(23.497222px, 3.055556vw, 44px);
  letter-spacing: 0.01em;
  text-align: center;
}

.cp-footer-works {
  padding-bottom: clamp(42.722222px, 5.555556vw, 80px);
  overflow: hidden;
  background: #fff;
}

.creative-partner .cp-footer-works {
  padding-top: clamp(30.439583px, 3.958333vw, 57px);
}

.cp-footer-works__inner {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
  border-top: 1px solid #5f5f5f;
}

.creative-partner .cp-footer-works__title,
.service-training .cp-footer-works__title {
  height: clamp(33.64375px, 4.375vw, 63px);
  margin: 0 0 clamp(42.722222px, 5.555556vw, 80px);
  color: transparent;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.8 "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
  -webkit-text-stroke: 1px #002865;
}

.cp-footer-works__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.cp-footer-works__grid .home-work__image {
  height: clamp(186.909722px, 24.305556vw, 350px);
}

.cp-footer-works__grid .home-work__meta {
  color: #595858;
}

.cp-footer-works__marquee {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}

.cp-footer-about__link {
  display: grid;
  place-items: center;
  color: #999;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  letter-spacing: 0.05em;
}

.creative-partner .cp-footer-about .home-about-preview__title {
  color: transparent;
  font-weight: 400;
}

.cp-footer-services {
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

.service-training .training-footer-works {
  padding-top: clamp(53.402778px, 6.944444vw, 100px);
  padding-bottom: clamp(53.402778px, 6.944444vw, 100px);
}

.cp-answer {
  position: relative;
  overflow: hidden;
  background: var(--cp-yellow);
  text-align: center;
}

.cp-answer__inner {
  position: relative;
  z-index: 2;
}

.cp-answer__pieces {
  width: clamp(65.151389px, 8.472222vw, 122px);
  height: auto;
  margin: 0 auto clamp(22.429167px, 2.916667vw, 42px);
}

.cp-answer h2 {
  margin: 0;
  font-size: clamp(clamp(23.497222px, 3.055556vw, 44px), 6vw, clamp(43.790278px, 5.694444vw, 82px));
  font-weight: 700;
  line-height: 1.45;
}

.cp-answer h2 em {
  color: var(--cp-navy);
  background: linear-gradient(transparent 72%, #fff 72%);
}

.cp-answer__inner > p:last-child {
  max-width: clamp(384.5px, 50vw, 720px);
  margin: clamp(22.429167px, 2.916667vw, 42px) auto 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: 2.15;
}

.cp-answer__puzzle {
  position: absolute;
  width: clamp(112.145833px, 14.583333vw, 210px);
  height: clamp(112.145833px, 14.583333vw, 210px);
  border: clamp(2.136111px, 0.277778vw, 4px) solid var(--cp-navy);
  border-radius: clamp(18.156944px, 2.361111vw, 34px);
  background: #f26b3a;
  transform: rotate(18deg);
}

.cp-answer__puzzle::before,
.cp-answer__puzzle::after {
  position: absolute;
  width: clamp(38.45px, 5vw, 72px);
  height: clamp(38.45px, 5vw, 72px);
  border: clamp(2.136111px, 0.277778vw, 4px) solid var(--cp-navy);
  border-radius: 50%;
  background: inherit;
  content: "";
}

.cp-answer__puzzle::before {
  top: clamp(-36px, -2.5vw, -19.225px);
  left: clamp(36.313889px, 4.722222vw, 68px);
}

.cp-answer__puzzle::after {
  top: clamp(36.313889px, 4.722222vw, 68px);
  right: clamp(-36px, -2.5vw, -19.225px);
}

.cp-answer__puzzle--left {
  bottom: clamp(-75px, -5.208333vw, -40.052083px);
  left: clamp(-75px, -5.208333vw, -40.052083px);
}

.cp-answer__puzzle--right {
  top: clamp(-75px, -5.208333vw, -40.052083px);
  right: clamp(-75px, -5.208333vw, -40.052083px);
  background: var(--cp-blue);
  transform: rotate(-22deg);
}

.cp-strengths {
  background: #fff;
}

.cp-strength-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(11.748611px, 1.527778vw, 22px);
}

.cp-strength-card {
  position: relative;
  min-height: clamp(357.798611px, 46.527778vw, 670px);
  padding: clamp(22.429167px, 2.916667vw, 42px);
  border: 3px solid var(--cp-navy);
  border-radius: clamp(12.816667px, 1.666667vw, 24px);
  overflow: hidden;
}

.cp-strength-card--blue {
  background: var(--cp-blue);
}

.cp-strength-card--yellow {
  background: var(--cp-yellow);
}

.cp-strength-card__number {
  position: absolute;
  top: clamp(12.816667px, 1.666667vw, 24px);
  right: clamp(16.020833px, 2.083333vw, 30px);
  font: 700 clamp(42.722222px, 5.555556vw, 80px)/1 "Alexandria", sans-serif;
  opacity: 0.14;
}

.cp-strength-card__copy {
  position: relative;
  z-index: 2;
  width: 62%;
}

.cp-strength-card__copy > p:first-child {
  margin-bottom: clamp(14.952778px, 1.944444vw, 28px);
  font: 700 clamp(6.942361px, 0.902778vw, 13px)/1 "Alexandria", sans-serif;
  letter-spacing: 0.18em;
}

.cp-strength-card h3 {
  margin: 0 0 clamp(13.350694px, 1.736111vw, 25px);
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  line-height: 1.55;
}

.cp-strength-card__copy > p:last-child {
  margin: 0;
  font-size: clamp(7.476389px, 0.972222vw, 14px);
  line-height: 2;
}

.cp-strength-card > img {
  position: absolute;
  z-index: 1;
  right: clamp(10.680556px, 1.388889vw, 20px);
  bottom: 0;
  width: clamp(109.475694px, 14.236111vw, 205px);
  max-height: clamp(261.673611px, 34.027778vw, 490px);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom;
     object-position: bottom;
}

.cp-stat {
  position: relative;
  min-height: clamp(554.854861px, 72.152778vw, 1039px);
  padding: clamp(116.952083px, 15.208333vw, 219px) 0 clamp(116.418056px, 15.138889vw, 218px);
  isolation: isolate;
  overflow: hidden;
  background: var(--cp-navy);
}

.cp-stat__background {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cp-stat__inner {
  position: relative;
  z-index: 1;
}

.cp-stat__top {
  display: grid;
  grid-template-columns: clamp(253.663194px, 32.986111vw, 475px) minmax(0, 1fr);
  gap: clamp(32.041667px, 4.166667vw, 60px);
  align-items: start;
}

.cp-stat__number {
  margin: clamp(4.272222px, 0.555556vw, 8px) 0 0;
}

.cp-stat__number img {
  display: block;
  width: clamp(253.663194px, 32.986111vw, 475px);
  height: clamp(174.093056px, 22.638889vw, 326px);
}

.cp-stat__headline h2 {
  margin: 0;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: 0.08em;
  text-align: justify;
}

.cp-stat__source {
  display: grid;
  gap: clamp(5.340278px, 0.694444vw, 10px);
  margin-top: clamp(29.371528px, 3.819444vw, 55px);
}

.cp-stat__source p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.cp-stat__source a {
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  color: #0c0c0c;
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  word-break: break-all;
}

.cp-stat__body {
  width: clamp(459.797917px, 59.791667vw, 861px);
  min-height: clamp(101.465278px, 13.194444vw, 190px);
  margin-top: clamp(41.654167px, 5.416667vw, 78px);
  padding: clamp(14.952778px, 1.944444vw, 28px) clamp(6.942361px, 0.902778vw, 13px) clamp(13.884722px, 1.805556vw, 26px);
  border-top: 1px solid rgba(0, 40, 101, 0.7);
  border-bottom: 1px solid rgba(0, 40, 101, 0.7);
}

.cp-stat__body p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 2.34;
  letter-spacing: 0.08em;
  text-align: justify;
}

.cp-stat__character {
  position: absolute;
  top: clamp(159.140278px, 20.694444vw, 298px);
  right: 0;
  width: clamp(140.449306px, 18.263889vw, 263px);
  height: clamp(162.344444px, 21.111111vw, 304px);
  -o-object-fit: contain;
     object-fit: contain;
}

.cp-insight {
  position: relative;
  z-index: 2;
  min-height: clamp(459.797917px, 59.791667vw, 861px);
  padding-top: clamp(35.779861px, 4.652778vw, 67px);
  overflow: visible;
  color: #fff;
  background: var(--cp-navy);
}

.cp-insight__inner {
  display: grid;
  grid-template-areas: "label ." "copy fields" "illustration illustration";
  grid-template-columns: minmax(0, clamp(344.981944px, 44.861111vw, 646px)) minmax(0, clamp(295.851389px, 38.472222vw, 554px));
  align-items: start;
}

.cp-insight__label {
  position: relative;
  display: flex;
  width: clamp(173.025px, 22.5vw, 324px);
  height: clamp(28.8375px, 3.75vw, 54px);
  margin: 0;
  grid-area: label;
  align-items: center;
  justify-content: center;
  background: #d6b25f;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.cp-insight__label::after {
  position: absolute;
  bottom: clamp(-25px, -1.736111vw, -13.350694px);
  left: clamp(77.434028px, 10.069444vw, 145px);
  width: clamp(18.156944px, 2.361111vw, 34px);
  height: clamp(18.156944px, 2.361111vw, 34px);
  background: #d6b25f;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}

.cp-insight__copy {
  width: 100%;
  margin-top: clamp(30.439583px, 3.958333vw, 57px);
  grid-area: copy;
}

.cp-insight__copy h2 {
  margin: 0;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: 1.79;
  letter-spacing: 0.08em;
  text-align: justify;
}

.cp-insight__copy h2 em {
  color: #d6b25f;
  font-style: normal;
}

.cp-insight__copy > p {
  width: clamp(288.375px, 37.5vw, 540px);
  margin: clamp(17.088889px, 2.222222vw, 32px) 0 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 2.34;
  letter-spacing: 0.08em;
  text-align: justify;
}

.cp-insight__fields {
  width: clamp(295.851389px, 38.472222vw, 554px);
  margin-top: clamp(41.120139px, 5.347222vw, 77px);
  grid-area: fields;
}

.cp-insight__fields > p {
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: 1.38;
  text-align: center;
  white-space: nowrap;
}

.cp-insight__field-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(9.6125px, 1.25vw, 18px);
}

.cp-insight__field-row--three {
  margin-top: clamp(30.439583px, 3.958333vw, 57px);
}

.cp-insight__field-row--four {
  margin-top: clamp(11.748611px, 1.527778vw, 22px);
}

.cp-insight__field-row span {
  display: grid;
  width: clamp(66.753472px, 8.680556vw, 125px);
  height: clamp(66.753472px, 8.680556vw, 125px);
  flex: 0 0 clamp(66.753472px, 8.680556vw, 125px);
  place-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}

.cp-insight__illustration {
  display: block;
  width: clamp(311.872222px, 40.555556vw, 584px);
  height: clamp(207.736806px, 27.013889vw, 389px);
  margin: clamp(35.245833px, 4.583333vw, 66px) auto 0;
  grid-area: illustration;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  bottom: clamp(-150px, -10.416667vw, -80.104167px);
  left: 50%;
  transform: translate(-50%, 0);
}

.cp-deliverables {
  color: #fff;
  background: var(--cp-navy);
}

.cp-deliverables .cp-section-heading--split > p {
  color: rgba(255, 255, 255, 0.7);
}

.cp-deliverable-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.42);
}

.cp-deliverable-list li {
  display: grid;
  min-height: clamp(56.072917px, 7.291667vw, 105px);
  padding: clamp(14.952778px, 1.944444vw, 28px) clamp(11.748611px, 1.527778vw, 22px);
  grid-template-columns: clamp(25.633333px, 3.333333vw, 48px) 1fr auto;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.42);
  gap: clamp(9.6125px, 1.25vw, 18px);
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 600;
}

.cp-deliverable-list li:nth-child(odd) {
  border-right: 1px solid rgba(255, 255, 255, 0.42);
}

.cp-deliverable-list span {
  color: var(--cp-yellow);
  font: 700 clamp(6.408333px, 0.833333vw, 12px)/1 "Alexandria", sans-serif;
}

.cp-deliverable-list i {
  display: grid;
  width: clamp(20.293056px, 2.638889vw, 38px);
  height: clamp(20.293056px, 2.638889vw, 38px);
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  font-style: normal;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.cp-deliverable-list .icon-arrow-up-right {
  --arrow-size: clamp(8.010417px, 1.041667vw, 15px);
}

.cp-deliverable-list li:hover i {
  color: var(--cp-navy);
  background: var(--cp-yellow);
}

.cp-deliverable-list li:hover .icon-arrow-up-right {
  transform: translate(1.5px, -1.5px);
}

.cp-team {
  background: #eaf5fb;
}

.cp-team__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(48.0625px, 6.25vw, 90px);
  align-items: center;
}

.cp-team__visual {
  position: relative;
  min-height: clamp(299.055556px, 38.888889vw, 560px);
  margin: 0;
  border: 3px solid var(--cp-navy);
  border-radius: clamp(16.020833px, 2.083333vw, 30px);
  overflow: hidden;
  background: var(--cp-yellow);
}

.cp-team__visual::before {
  position: absolute;
  top: clamp(-120px, -8.333333vw, -64.083333px);
  left: clamp(-80px, -5.555556vw, -42.722222px);
  width: clamp(165.548611px, 21.527778vw, 310px);
  height: clamp(165.548611px, 21.527778vw, 310px);
  border: 3px solid var(--cp-navy);
  border-radius: 50%;
  background: var(--cp-blue);
  content: "";
}

.cp-team__visual img {
  position: absolute;
  z-index: 1;
  right: clamp(-40px, -2.777778vw, -21.361111px);
  bottom: 0;
  width: 110%;
  max-width: none;
}

.cp-team__content > p:not(.cp-label) {
  margin: clamp(18.690972px, 2.430556vw, 35px) 0 0;
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  line-height: 2.1;
}

.cp-team__content ul {
  display: grid;
  gap: clamp(6.408333px, 0.833333vw, 12px);
  margin: clamp(18.690972px, 2.430556vw, 35px) 0 0;
}

.cp-team__content li {
  position: relative;
  padding: clamp(6.942361px, 0.902778vw, 13px) clamp(9.6125px, 1.25vw, 18px) clamp(6.942361px, 0.902778vw, 13px) clamp(25.633333px, 3.333333vw, 48px);
  border: 2px solid var(--cp-navy);
  border-radius: clamp(26.701389px, 3.472222vw, 50px);
  background: #fff;
  font-weight: 600;
}

.cp-team__content li::before {
  position: absolute;
  top: 50%;
  left: clamp(9.6125px, 1.25vw, 18px);
  display: grid;
  width: clamp(10.680556px, 1.388889vw, 20px);
  height: clamp(10.680556px, 1.388889vw, 20px);
  place-items: center;
  border-radius: 50%;
  background: var(--cp-yellow);
  content: "✓";
  font-size: clamp(6.408333px, 0.833333vw, 12px);
  transform: translateY(-50%);
}

.cp-plan {
  background: var(--cp-blue);
}

.cp-plan-card {
  width: min(100%, clamp(469.944444px, 61.111111vw, 880px));
  margin-inline: auto;
  padding: clamp(30.973611px, 4.027778vw, 58px) clamp(37.381944px, 4.861111vw, 70px);
  border: 3px solid var(--cp-navy);
  border-radius: clamp(14.952778px, 1.944444vw, 28px);
  background: #fff;
  box-shadow: clamp(8.010417px, 1.041667vw, 15px) clamp(8.010417px, 1.041667vw, 15px) 0 var(--cp-navy);
}

.cp-plan-card__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16.020833px, 2.083333vw, 30px);
  padding-bottom: clamp(13.350694px, 1.736111vw, 25px);
  border-bottom: 2px solid var(--cp-navy);
}

.cp-plan-card__heading p {
  margin: 0;
  font: 700 clamp(11.748611px, 1.527778vw, 22px)/1 "Alexandria", sans-serif;
  letter-spacing: 0.08em;
}

.cp-plan-card__heading span {
  padding: clamp(3.204167px, 0.416667vw, 6px) clamp(7.476389px, 0.972222vw, 14px);
  border-radius: clamp(21.361111px, 2.777778vw, 40px);
  color: #fff;
  background: var(--cp-navy);
  font-size: clamp(6.408333px, 0.833333vw, 12px);
  font-weight: 700;
}

.cp-plan-card__price {
  display: flex;
  margin: clamp(27.769444px, 3.611111vw, 52px) 0 clamp(23.497222px, 3.055556vw, 44px);
  align-items: flex-end;
  justify-content: center;
  gap: clamp(6.408333px, 0.833333vw, 12px);
}

.cp-plan-card__price span {
  margin-bottom: clamp(6.408333px, 0.833333vw, 12px);
  padding: clamp(3.204167px, 0.416667vw, 6px) clamp(5.340278px, 0.694444vw, 10px);
  color: #fff;
  background: var(--cp-navy);
  font-size: clamp(6.942361px, 0.902778vw, 13px);
}

.cp-plan-card__price strong {
  font: 700 clamp(clamp(39.518056px, 5.138889vw, 74px), 9vw, clamp(65.151389px, 8.472222vw, 122px))/0.75 "Alexandria", sans-serif;
  letter-spacing: -0.07em;
}

.cp-plan-card__price small {
  margin-bottom: clamp(3.738194px, 0.486111vw, 7px);
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
}

.cp-plan-card ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(6.408333px, 0.833333vw, 12px) clamp(12.816667px, 1.666667vw, 24px);
  margin: 0;
  padding: clamp(14.952778px, 1.944444vw, 28px) clamp(16.020833px, 2.083333vw, 30px);
  background: #edf6fb;
}

.cp-plan-card li {
  position: relative;
  padding-left: clamp(13.884722px, 1.805556vw, 26px);
  font-size: clamp(7.476389px, 0.972222vw, 14px);
}

.cp-plan-card li::before {
  position: absolute;
  left: 0;
  color: #0e5fbc;
  content: "✓";
  font-weight: 800;
}

.cp-plan-card__note {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
  color: rgba(0, 40, 101, 0.65);
  font-size: clamp(5.874306px, 0.763889vw, 11px);
}

.cp-flow {
  background: #fff;
}

.cp-flow__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(37.381944px, 4.861111vw, 70px);
  margin-bottom: clamp(37.381944px, 4.861111vw, 70px);
}

.cp-flow__heading h2 {
  font-size: clamp(clamp(21.361111px, 2.777778vw, 40px), 4.5vw, clamp(32.041667px, 4.166667vw, 60px));
}

.cp-flow__heading > img {
  width: min(45%, clamp(229.631944px, 29.861111vw, 430px));
  height: auto;
}

.cp-flow-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  border-top: 3px solid var(--cp-navy);
  border-bottom: 3px solid var(--cp-navy);
}

.cp-flow-list li {
  position: relative;
  min-height: clamp(165.548611px, 21.527778vw, 310px);
  padding: clamp(16.020833px, 2.083333vw, 30px) clamp(12.816667px, 1.666667vw, 24px);
  border-right: 1px solid var(--cp-navy);
}

.cp-flow-list li:last-child {
  border-right: 0;
}

.cp-flow-list li:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(-15px, -1.041667vw, -8.010417px);
  display: grid;
  width: clamp(16.020833px, 2.083333vw, 30px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--cp-navy);
  content: "→";
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  transform: translateY(-50%);
}

.cp-flow-list span {
  display: block;
  color: #0e5fbc;
  font: 700 clamp(25.633333px, 3.333333vw, 48px)/1 "Alexandria", sans-serif;
}

.cp-flow-list small {
  display: block;
  margin-top: clamp(5.340278px, 0.694444vw, 10px);
  font: 700 clamp(5.340278px, 0.694444vw, 10px)/1 "Alexandria", sans-serif;
  letter-spacing: 0.15em;
}

.cp-flow-list h3 {
  margin: clamp(29.371528px, 3.819444vw, 55px) 0 clamp(8.010417px, 1.041667vw, 15px);
  font-size: clamp(11.214583px, 1.458333vw, 21px);
}

.cp-flow-list p {
  margin: 0;
  color: rgba(0, 40, 101, 0.68);
  font-size: clamp(6.942361px, 0.902778vw, 13px);
  line-height: 1.9;
}

.cp-voices {
  background: #fff8cc;
}

.cp-voice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(12.816667px, 1.666667vw, 24px);
}

.cp-voice-card {
  border: 3px solid var(--cp-navy);
  border-radius: clamp(12.816667px, 1.666667vw, 24px);
  overflow: hidden;
  background: #fff;
}

.cp-voice-card > img {
  width: 100%;
  height: clamp(165.548611px, 21.527778vw, 310px);
  padding: clamp(12.816667px, 1.666667vw, 24px) clamp(12.816667px, 1.666667vw, 24px) 0;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center bottom;
     object-position: center bottom;
  background: var(--cp-sky);
}

.cp-voice-card > div {
  padding: clamp(18.156944px, 2.361111vw, 34px);
}

.cp-voice-card p {
  margin: 0;
  font-size: clamp(9.078472px, 1.180556vw, 17px);
  font-weight: 600;
  line-height: 1.9;
}

.cp-voice-card span {
  display: block;
  margin-top: clamp(11.748611px, 1.527778vw, 22px);
  color: rgba(0, 40, 101, 0.62);
  font-size: clamp(6.408333px, 0.833333vw, 12px);
}

.cp-cta {
  position: relative;
  margin-bottom: clamp(48.0625px, 6.25vw, 90px);
  padding-block: clamp(80.104167px, 10.416667vw, 150px);
  overflow: hidden;
  color: #fff;
  background: var(--cp-navy);
  text-align: center;
}

.cp-cta__inner {
  position: relative;
  z-index: 2;
}

.cp-cta h2 {
  font-size: clamp(clamp(23.497222px, 3.055556vw, 44px), 6vw, clamp(41.654167px, 5.416667vw, 78px));
}

.cp-cta__inner > p:not(.cp-label) {
  margin: clamp(18.690972px, 2.430556vw, 35px) 0 clamp(24.03125px, 3.125vw, 45px);
  font-size: clamp(8.010417px, 1.041667vw, 15px);
  line-height: 2;
}

.cp-cta__shape {
  position: absolute;
  z-index: 1;
  border: 3px solid #fff;
  pointer-events: none;
}

.cp-cta__shape--one {
  top: clamp(-90px, -6.25vw, -48.0625px);
  left: clamp(-70px, -4.861111vw, -37.381944px);
  width: clamp(149.527778px, 19.444444vw, 280px);
  height: clamp(149.527778px, 19.444444vw, 280px);
  border-radius: 50%;
  background: var(--cp-yellow);
}

.cp-cta__shape--two {
  right: clamp(-100px, -6.944444vw, -53.402778px);
  bottom: clamp(-120px, -8.333333vw, -64.083333px);
  width: clamp(176.229167px, 22.916667vw, 330px);
  height: clamp(176.229167px, 22.916667vw, 330px);
  border-radius: clamp(19.225px, 2.5vw, 36px);
  background: var(--cp-blue);
  transform: rotate(30deg);
}

.service-training {
  overflow: hidden;
  font-weight: 500;
}

.service-training.has-training-motion .training-motion {
  --training-motion-delay: 0ms;
  opacity: 0;
  filter: blur(3px);
  translate: 0 clamp(14.952778px, 1.944444vw, 28px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.8s cubic-bezier(0.22, 1, 0.36, 1), translate 0.95s cubic-bezier(0.16, 1, 0.3, 1), scale 1s cubic-bezier(0.16, 1, 0.3, 1), clip-path 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--training-motion-delay);
  will-change: opacity, filter, translate;
}

.service-training.has-training-motion .training-motion--left {
  translate: clamp(-32px, -2.222222vw, -17.088889px) 0;
}

.service-training.has-training-motion .training-motion--right {
  translate: clamp(17.088889px, 2.222222vw, 32px) 0;
}

.service-training.has-training-motion .training-motion--scale {
  filter: none;
  scale: 0.94;
  translate: 0 clamp(9.6125px, 1.25vw, 18px);
  will-change: opacity, translate, scale;
}

.service-training.has-training-motion .training-motion.is-training-visible {
  opacity: 1;
  filter: none;
  scale: 1;
  translate: 0 0;
}

.service-training.has-training-motion .training-hero__marquee,
.service-training.has-training-motion .training-hero__lead span,
.service-training.has-training-motion .training-hero__copy h1 > *,
.service-training.has-training-motion .training-hero__copy > a,
.service-training.has-training-motion .training-hero__circle {
  opacity: 0;
  transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), filter 1.05s cubic-bezier(0.22, 1, 0.36, 1), translate 1.1s cubic-bezier(0.16, 1, 0.3, 1), scale 1.25s cubic-bezier(0.16, 1, 0.3, 1), clip-path 1.25s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, filter, translate, scale, clip-path;
}

.service-training.has-training-motion .training-hero__marquee {
  clip-path: inset(0 50% 0 50%);
  filter: blur(2px);
  scale: 0.985;
  transition-delay: 0.08s;
}

.service-training.has-training-motion .training-hero__lead span,
.service-training.has-training-motion .training-hero__copy h1 > * {
  clip-path: inset(0 100% 0 0);
  filter: none;
  translate: clamp(-20px, -1.388889vw, -10.680556px) 0;
}

.service-training.has-training-motion .training-hero__lead span:nth-child(1) {
  transition-delay: 0.28s;
}

.service-training.has-training-motion .training-hero__lead span:nth-child(2) {
  transition-delay: 0.42s;
}

.service-training.has-training-motion .training-hero__copy h1 > *:nth-child(1) {
  transition-delay: 0.68s;
}

.service-training.has-training-motion .training-hero__copy h1 > *:nth-child(2) {
  transition-delay: 0.79s;
}

.service-training.has-training-motion .training-hero__copy h1 > *:nth-child(3) {
  transition-delay: 0.9s;
}

.service-training.has-training-motion .training-hero__copy > a {
  scale: 0.97;
  translate: 0 clamp(10.680556px, 1.388889vw, 20px);
  transition-delay: 1.08s;
}

.service-training.has-training-motion .training-hero__circle {
  filter: blur(3px);
  scale: 0.55;
  translate: clamp(-24px, -1.666667vw, -12.816667px) clamp(9.6125px, 1.25vw, 18px);
  transition-delay: 0.78s;
}

.service-training.has-training-motion.is-training-hero-visible .training-hero__marquee,
.service-training.has-training-motion.is-training-hero-visible .training-hero__lead span,
.service-training.has-training-motion.is-training-hero-visible .training-hero__copy h1 > *,
.service-training.has-training-motion.is-training-hero-visible .training-hero__copy > a,
.service-training.has-training-motion.is-training-hero-visible .training-hero__circle {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  filter: none;
  scale: 1;
  translate: 0 0;
}

.service-training.has-training-motion.is-training-hero-visible .training-hero__circle {
  animation: training-hero-circle-breathe 5s ease-in-out 2.1s infinite alternate;
  transform-origin: center bottom;
}

@keyframes training-hero-circle-breathe {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.035);
  }
}
.training-hero {
  position: relative;
  height: clamp(729.481944px, 94.861111vw, 1366px);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.training-hero__marquee {
  --training-hero-marquee-width: clamp(1336.1375px, 173.75vw, 2502px);
  --training-hero-marquee-half: clamp(668.06875px, 86.875vw, 1251px);
  --training-hero-marquee-offset: clamp(42.722222px, 5.555556vw, 80px);
  --training-hero-marquee-height: clamp(164.480556px, 21.388889vw, 308px);
  position: absolute;
  top: clamp(74.763889px, 9.722222vw, 140px);
  left: 0;
  width: 100%;
  height: var(--training-hero-marquee-height);
  overflow: hidden;
}

.training-hero__marquee-track {
  position: absolute;
  top: 0;
  left: calc(50% + var(--training-hero-marquee-offset) - var(--training-hero-marquee-half));
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: training-hero-marquee 32s linear infinite;
  will-change: transform;
}

.training-hero__marquee-track img {
  display: block;
  width: var(--training-hero-marquee-width);
  height: var(--training-hero-marquee-height);
  max-width: none;
  flex: 0 0 var(--training-hero-marquee-width);
  -o-object-fit: contain;
     object-fit: contain;
}

@keyframes training-hero-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.training-hero__lead {
  position: absolute;
  z-index: 3;
  top: clamp(250.993056px, 32.638889vw, 470px);
  left: calc(50% - clamp(317.746528px, 41.319444vw, 595px));
  width: clamp(384.5px, 50vw, 720px);
  margin: 0;
  color: #00cabc;
  font-size: clamp(33.109722px, 4.305556vw, 62px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.training-hero__lead span {
  display: block;
  white-space: nowrap;
}

.training-hero__lead em {
  color: #ff5900;
  font-style: normal;
}

.training-hero__copy {
  position: absolute;
  z-index: 3;
  top: clamp(426.154167px, 55.416667vw, 798px);
  left: calc(50% - clamp(317.746528px, 41.319444vw, 595px));
  width: clamp(246.186806px, 32.013889vw, 461px);
}

.training-hero__copy h1 {
  margin: 0;
  color: #595857;
  font-size: clamp(19.225px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: 0.08em;
}

.training-hero__copy h1 span,
.training-hero__copy h1 em {
  display: block;
}

.training-hero__copy h1 em {
  color: #f04b0d;
  font-style: normal;
}

.training-hero__copy a {
  display: flex;
  width: clamp(221.621528px, 28.819444vw, 415px);
  min-height: clamp(37.381944px, 4.861111vw, 70px);
  margin-top: clamp(48.596528px, 6.319444vw, 91px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #fff;
  background: linear-gradient(100deg, #aa7421 0%, #d6b25f 33%, #edd17f 51%, #aa7421 69%, #d6b25f 86%, #aa7421 100%);
  box-shadow: 0 clamp(4.272222px, 0.555556vw, 8px) clamp(9.6125px, 1.25vw, 18px) rgba(112, 79, 9, 0.18);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.03em;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.training-hero__copy a:hover {
  box-shadow: 0 clamp(6.408333px, 0.833333vw, 12px) clamp(12.816667px, 1.666667vw, 24px) rgba(112, 79, 9, 0.28);
  transform: translateY(-3px);
}

.training-hero__art {
  position: absolute;
  z-index: 2;
  top: clamp(299.055556px, 38.888889vw, 560px);
  left: calc(50% + clamp(197.05625px, 25.625vw, 369px));
  width: clamp(484.897222px, 63.055556vw, 908px);
  aspect-ratio: 702/540;
  overflow: visible;
  transform: translateX(-50%);
}

.training-hero__art picture {
  display: block;
  width: 100%;
  height: 100%;
}

.training-hero__art img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.training-hero__circle {
  position: absolute;
  z-index: 1;
  top: clamp(639.765278px, 83.194444vw, 1198px);
  left: clamp(-84px, -5.833333vw, -44.858333px);
  display: block;
  width: clamp(178.899306px, 23.263889vw, 335px);
  height: clamp(89.716667px, 11.666667vw, 168px);
}

.training-about {
  position: relative;
  height: clamp(694.236111px, 90.277778vw, 1300px);
  overflow: hidden;
  color: #5f5f5f;
  background: #00d4c2;
}

.training-about::before {
  position: absolute;
  z-index: 0;
  bottom: clamp(54.470833px, 7.083333vw, 102px);
  left: calc(50% + clamp(4.272222px, 0.555556vw, 8px));
  width: clamp(2180.969444px, 283.611111vw, 4084px);
  height: clamp(2180.969444px, 283.611111vw, 4084px);
  border-radius: 50%;
  background: #fff;
  content: "";
  transform: translateX(-50%);
}

.training-about > * {
  z-index: 1;
}

.training-about__plus {
  position: absolute;
  top: 0;
  left: calc(50% + clamp(229.631944px, 29.861111vw, 430px));
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}
.training-about__plus::before, .training-about__plus::after {
  position: absolute;
  background: #00d4c2;
  content: "";
}
.training-about__plus::before {
  top: clamp(10.146528px, 1.319444vw, 19px);
  left: 0;
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(7.476389px, 0.972222vw, 14px);
}
.training-about__plus::after {
  top: 0;
  left: clamp(10.146528px, 1.319444vw, 19px);
  width: clamp(7.476389px, 0.972222vw, 14px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}

.training-about__shape {
  position: absolute;
  display: block;
  max-width: none;
}

.training-about__shape--right {
  top: clamp(187.44375px, 24.375vw, 351px);
  left: calc(50% + clamp(320.950694px, 41.736111vw, 601px));
  width: clamp(37.915972px, 4.930556vw, 71px);
  height: clamp(75.297917px, 9.791667vw, 141px);
}

.training-about__shape--left {
  top: clamp(420.813889px, 54.722222vw, 788px);
  left: clamp(-51px, -3.541667vw, -27.235417px);
  width: clamp(72.09375px, 9.375vw, 135px);
  height: clamp(36.847917px, 4.791667vw, 69px);
}

.training-about__label {
  position: absolute;
  top: clamp(24.03125px, 3.125vw, 45px);
  left: 50%;
  width: clamp(312.40625px, 40.625vw, 585px);
  margin: 0;
  padding-bottom: clamp(12.816667px, 1.666667vw, 24px);
  border-bottom: 1px solid #00d4c2;
  color: #00cabc;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(34.711806px, 4.513889vw, 65px);
  letter-spacing: 0.08em;
  text-align: center;
  transform: translateX(-50%);
}

.training-about__heading {
  position: absolute;
  top: clamp(101.465278px, 13.194444vw, 190px);
  left: 50%;
  width: clamp(532.959722px, 69.305556vw, 998px);
  margin: 0;
  font-weight: 700;
  letter-spacing: 0.08em;
  transform: translateX(-50%);
}

.training-about__heading > span {
  display: block;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  line-height: clamp(52.86875px, 6.875vw, 99px);
}

.training-about__heading strong {
  display: block;
  color: #00cabc;
  font-size: clamp(33.109722px, 4.305556vw, 62px);
  line-height: clamp(52.86875px, 6.875vw, 99px);
}

.training-about__heading em {
  color: #ff5900;
  font-style: normal;
}

.training-about__features {
  position: absolute;
  top: clamp(286.238889px, 37.222222vw, 536px);
  left: 50%;
  display: grid;
  width: clamp(508.394444px, 66.111111vw, 952px);
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, clamp(162.344444px, 21.111111vw, 304px));
  gap: clamp(10.680556px, 1.388889vw, 20px);
  list-style: none;
  transform: translateX(-50%);
}

.training-about__features li {
  min-width: 0;
  text-align: center;
}

.training-about__features article {
  position: relative;
  display: flex;
  height: clamp(79.570139px, 10.347222vw, 149px);
  margin-top: clamp(32.041667px, 4.166667vw, 60px);
  align-items: center;
  justify-content: center;
  border: 1px solid #5f5f5f;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  background: #fff;
}

.training-about__features article > span {
  position: absolute;
  top: clamp(-61px, -4.236111vw, -32.575694px);
  left: 50%;
  display: flex;
  width: clamp(45.926389px, 5.972222vw, 86px);
  height: clamp(45.926389px, 5.972222vw, 86px);
  align-items: center;
  justify-content: center;
  border: 1px solid #0c0c0c;
  border-radius: 50%;
  background: #fff;
  font-size: clamp(15.486806px, 2.013889vw, 29px);
  font-weight: 700;
  line-height: clamp(18.156944px, 2.361111vw, 34px);
  letter-spacing: 0.08em;
  transform: translateX(-50%);
}

.training-about__features article::after {
  position: absolute;
  bottom: clamp(-19px, -1.319444vw, -10.146528px);
  left: 50%;
  border-top: clamp(10.680556px, 1.388889vw, 20px) solid #5f5f5f;
  border-right: clamp(6.408333px, 0.833333vw, 12px) solid transparent;
  border-left: clamp(6.408333px, 0.833333vw, 12px) solid transparent;
  content: "";
  transform: translateX(-50%);
}

.training-about__features h3 {
  margin: 0;
  color: #5f5f5f;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
}

.training-about__features li > p {
  margin: clamp(27.769444px, 3.611111vw, 52px) clamp(-10px, -0.694444vw, -5.340278px) 0;
  color: #ff5900;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
  font-weight: 700;
  line-height: clamp(18.156944px, 2.361111vw, 34px);
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.training-about__statement {
  position: absolute;
  top: clamp(485.43125px, 63.125vw, 909px);
  left: calc(50% - clamp(247.788889px, 32.222222vw, 464px));
  width: auto;
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(27.235417px, 3.541667vw, 51px);
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.training-about__statement mark {
  padding: 0 0.14em;
  color: inherit;
  background: #c4f7ea;
}

.training-about__person {
  position: absolute;
  top: clamp(563.399306px, 73.263889vw, 1055px);
  left: 50%;
  display: block;
  width: clamp(120.690278px, 15.694444vw, 226px);
  height: clamp(130.836806px, 17.013889vw, 245px);
  transform: translateX(-50%);
}

.training-label {
  display: inline-block;
  padding: clamp(3.204167px, 0.416667vw, 6px) clamp(6.408333px, 0.833333vw, 12px);
  color: #fff;
  background: #0c0c0c;
  font-size: clamp(5.874306px, 0.763889vw, 11px);
  letter-spacing: 0.13em;
}

.training-comparison {
  position: relative;
  height: clamp(738.560417px, 96.041667vw, 1383px);
  overflow: hidden;
  color: #fff;
  background: #00d4c2;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 50% 100%, 0 92%);
}

.training-comparison > h2 {
  position: absolute;
  top: clamp(32.575694px, 4.236111vw, 61px);
  left: 50%;
  width: clamp(375.421528px, 48.819444vw, 703px);
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
  text-align: center;
  transform: translateX(-50%);
}

.training-comparison__lead {
  position: absolute;
  top: clamp(89.182639px, 11.597222vw, 167px);
  left: calc(50% - clamp(187.977778px, 24.444444vw, 352px));
  width: clamp(375.955556px, 48.888889vw, 704px);
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: clamp(17.622917px, 2.291667vw, 33px);
  letter-spacing: 0.08em;
  text-align: justify;
}

.training-comparison__plus {
  position: absolute;
  top: clamp(91.852778px, 11.944444vw, 172px);
  left: calc(50% + clamp(275.024306px, 35.763889vw, 515px));
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}
.training-comparison__plus::before, .training-comparison__plus::after {
  position: absolute;
  background: #fff;
  content: "";
}
.training-comparison__plus::before {
  top: clamp(10.146528px, 1.319444vw, 19px);
  left: 0;
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(7.476389px, 0.972222vw, 14px);
}
.training-comparison__plus::after {
  top: 0;
  left: clamp(10.146528px, 1.319444vw, 19px);
  width: clamp(7.476389px, 0.972222vw, 14px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}

.training-comparison__bubble {
  position: absolute;
  border-radius: 50%;
  background: #fff;
}

.training-comparison__bubble--large {
  top: clamp(119.622222px, 15.555556vw, 224px);
  left: clamp(-79px, -5.486111vw, -42.188194px);
  width: clamp(106.271528px, 13.819444vw, 199px);
  height: clamp(106.271528px, 13.819444vw, 199px);
}

.training-comparison__bubble--small {
  top: clamp(238.710417px, 31.041667vw, 447px);
  left: clamp(53.936806px, 7.013889vw, 101px);
  width: clamp(20.293056px, 2.638889vw, 38px);
  height: clamp(20.293056px, 2.638889vw, 38px);
}

.training-comparison__grid {
  position: absolute;
  top: clamp(193.852083px, 25.208333vw, 363px);
  left: 50%;
  display: grid;
  width: clamp(378.091667px, 49.166667vw, 708px);
  grid-template-columns: repeat(2, clamp(162.344444px, 21.111111vw, 304px));
  gap: clamp(53.402778px, 6.944444vw, 100px);
  transform: translateX(-50%);
}

.training-comparison__column {
  position: relative;
  width: clamp(162.344444px, 21.111111vw, 304px);
  height: clamp(448.583333px, 58.333333vw, 840px);
}

.training-comparison__column > h3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(27.235417px, 3.541667vw, 51px);
  margin: 0;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(27.235417px, 3.541667vw, 51px);
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}

.training-comparison__column--program > h3 {
  font: 400 clamp(24.565278px, 3.194444vw, 46px)/clamp(27.235417px, 3.541667vw, 51px) "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.training-comparison__arrow {
  position: absolute;
  z-index: 0;
  top: clamp(93.454861px, 12.152778vw, 175px);
  left: calc(50% + clamp(5.874306px, 0.763889vw, 11px));
  display: block;
  height: clamp(11.797688px, 1.53416vw, 22.0919px);
  max-width: none;
  transform: rotate(90deg);
  transform-origin: top left;
}

.training-comparison__column--school .training-comparison__arrow {
  width: clamp(273.689236px, 35.590278vw, 512.5px);
}

.training-comparison__column--program .training-comparison__arrow {
  width: clamp(322.285764px, 41.909722vw, 603.5px);
}

.training-comparison__column ol {
  position: absolute;
  z-index: 1;
  top: clamp(60.345139px, 7.847222vw, 113px);
  left: 0;
  display: grid;
  width: clamp(162.344444px, 21.111111vw, 304px);
  margin: 0;
  padding: 0;
  gap: clamp(10.680556px, 1.388889vw, 20px);
  list-style: none;
}

.training-comparison__column li {
  display: flex;
  width: clamp(162.344444px, 21.111111vw, 304px);
  height: clamp(33.64375px, 4.375vw, 63px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #5f5f5f;
  background: #fff;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
  text-align: center;
}

.training-comparison__duration {
  position: absolute;
  z-index: 1;
  top: clamp(293.715278px, 38.194444vw, 550px);
  left: clamp(71.025694px, 9.236111vw, 133px);
  width: clamp(17.088889px, 2.222222vw, 32px);
  color: #fff;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(14.41875px, 1.875vw, 27px);
  letter-spacing: 0.08em;
  text-align: center;
  writing-mode: vertical-rl;
  background: #00D4C2;
  padding: clamp(5.340278px, 0.694444vw, 10px) 0;
}

.training-comparison__outcome {
  position: absolute;
  z-index: 1;
  left: 0;
  display: flex;
  width: clamp(162.344444px, 21.111111vw, 304px);
  margin: 0;
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #5f5f5f;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
  text-align: center;
}

.training-comparison__column--school .training-comparison__outcome {
  top: clamp(370.615278px, 48.194444vw, 694px);
  height: clamp(77.968056px, 10.138889vw, 146px);
  background: #fffeea;
}

.training-comparison__column--program .training-comparison__outcome {
  top: clamp(414.939583px, 53.958333vw, 777px);
  height: clamp(33.64375px, 4.375vw, 63px);
  background: #ffc1be;
}

.training-process {
  position: relative;
  height: clamp(614.131944px, 79.861111vw, 1150px);
  overflow: hidden;
  color: #0c0c0c;
  background: #fff;
}

.training-process__art {
  position: absolute;
  top: 0;
  left: calc(50% + clamp(207.736806px, 27.013889vw, 389px));
  display: block;
  width: clamp(113.213889px, 14.722222vw, 212px);
  height: clamp(90.784722px, 11.805556vw, 170px);
}

.training-process > h2 {
  position: absolute;
  top: clamp(43.25625px, 5.625vw, 81px);
  left: 50%;
  margin: 0;
  color: #00cabc;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.training-process__grid {
  position: absolute;
  top: clamp(101.465278px, 13.194444vw, 190px);
  left: 50%;
  display: grid;
  width: clamp(641.367361px, 83.402778vw, 1201px);
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, clamp(206.66875px, 26.875vw, 387px));
  gap: clamp(10.680556px, 1.388889vw, 20px);
  list-style: none;
  transform: translateX(-50%);
}

.training-process__grid li {
  display: flex;
  width: clamp(206.66875px, 26.875vw, 387px);
  height: clamp(182.103472px, 23.680556vw, 341px);
  padding: clamp(17.622917px, 2.291667vw, 33px) clamp(7.476389px, 0.972222vw, 14px) clamp(17.088889px, 2.222222vw, 32px);
  flex-direction: column;
  gap: clamp(14.952778px, 1.944444vw, 28px);
  align-items: center;
  border: 1px solid #00d4c2;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
}

.training-process__grid span {
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  letter-spacing: 0.08em;
}

.training-process__grid i {
  display: block;
  width: clamp(25.099306px, 3.263889vw, 47px);
  height: 1px;
  flex: 0 0 1px;
  background: #5f5f5f;
}

.training-process__grid h3 {
  margin: 0;
  color: #00cabc;
  font-size: clamp(21.361111px, 2.777778vw, 40px);
  font-weight: 700;
  line-height: clamp(24.03125px, 3.125vw, 45px);
  text-align: center;
  white-space: nowrap;
}

.training-process__grid p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: clamp(18.156944px, 2.361111vw, 34px);
  letter-spacing: 0.03em;
  text-align: center;
}

.training-process__message {
  position: absolute;
  top: clamp(510.530556px, 66.388889vw, 956px);
  left: 50%;
  margin: 0;
  color: #5f5f5f;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(28.303472px, 3.680556vw, 53px);
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.training-process__message em {
  color: #ff5900;
  font-style: normal;
}

.training-support {
  position: relative;
  z-index: 2;
  height: clamp(573.545833px, 74.583333vw, 1074px);
  overflow: hidden;
  background: transparent;
}

.training-support__arch {
  position: absolute;
  z-index: 0;
  top: calc(100% - 13.8vw);
  left: 50%;
  display: block;
  width: 195vw;
  height: 195vw;
  border: 3px solid #00cabc;
  border-radius: 50%;
  pointer-events: none;
  transform: translateX(-50%);
}

.training-support__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.training-support__pointer,
.training-support__visual-sp {
  display: none;
}

.training-support__visual {
  position: absolute;
  top: clamp(6.408333px, 0.833333vw, 12px);
  left: 50%;
  display: block;
  width: clamp(640.833333px, 83.333333vw, 1200px);
  height: clamp(315.076389px, 40.972222vw, 590px);
  max-width: none;
  transform: translateX(-50%);
}

.training-support__cta {
  position: absolute;
  top: clamp(374.8875px, 48.75vw, 702px);
  left: 50%;
  display: flex;
  width: clamp(221.621528px, 28.819444vw, 415px);
  min-height: clamp(37.381944px, 4.861111vw, 70px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border-radius: clamp(10.680556px, 1.388889vw, 20px);
  color: #fff;
  background: linear-gradient(100deg, #aa7421 0%, #d6b25f 33%, #edd17f 51%, #aa7421 69%, #d6b25f 86%, #aa7421 100%);
  box-shadow: 0 clamp(4.272222px, 0.555556vw, 8px) clamp(9.6125px, 1.25vw, 18px) rgba(112, 79, 9, 0.18);
  font-size: clamp(16.554861px, 2.152778vw, 31px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.03em;
  transform: translateX(-50%);
  transition: box-shadow 0.25s ease, margin-top 0.25s ease;
}

.training-support__cta:hover {
  margin-top: -3px;
  box-shadow: 0 clamp(6.408333px, 0.833333vw, 12px) clamp(12.816667px, 1.666667vw, 24px) rgba(112, 79, 9, 0.28);
}

.training-support__plus {
  position: absolute;
  top: clamp(437.902778px, 56.944444vw, 820px);
  left: clamp(50.198611px, 6.527778vw, 94px);
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}
.training-support__plus::before, .training-support__plus::after {
  position: absolute;
  background: #ffcf4c;
  content: "";
}
.training-support__plus::before {
  top: clamp(10.146528px, 1.319444vw, 19px);
  left: 0;
  width: clamp(27.769444px, 3.611111vw, 52px);
  height: clamp(7.476389px, 0.972222vw, 14px);
}
.training-support__plus::after {
  top: 0;
  left: clamp(10.146528px, 1.319444vw, 19px);
  width: clamp(7.476389px, 0.972222vw, 14px);
  height: clamp(27.769444px, 3.611111vw, 52px);
}

.training-support__circle {
  position: absolute;
  top: clamp(515.870833px, 67.083333vw, 966px);
  left: calc(50% + clamp(297.9875px, 38.75vw, 558px));
  width: clamp(115.884028px, 15.069444vw, 217px);
  height: clamp(57.675px, 7.5vw, 108px);
  border-radius: clamp(115.884028px, 15.069444vw, 217px) clamp(115.884028px, 15.069444vw, 217px) 0 0;
  background: #00d4c2;
}

.training-benefits {
  position: relative;
  z-index: 1;
  height: clamp(587.430556px, 76.388889vw, 1100px);
  margin-top: clamp(-54px, -3.75vw, -28.8375px);
  overflow: hidden;
  color: #5f5f5f;
  background: #fff;
}

.training-benefits__label {
  position: absolute;
  top: 0;
  left: 50%;
  width: clamp(312.40625px, 40.625vw, 585px);
  margin: 0;
  padding-bottom: clamp(12.816667px, 1.666667vw, 24px);
  border-bottom: 1px solid #5f5f5f;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(34.711806px, 4.513889vw, 65px);
  letter-spacing: 0.08em;
  text-align: center;
  transform: translateX(-50%);
}

.training-benefits__copy {
  position: absolute;
  top: clamp(102.533333px, 13.333333vw, 192px);
  left: calc(50% - clamp(320.416667px, 41.666667vw, 600px));
  width: clamp(210.406944px, 27.361111vw, 394px);
}

.training-benefits__copy h2 {
  width: clamp(261.673611px, 34.027778vw, 490px);
  margin: 0;
  color: #00cabc;
  font-size: clamp(33.109722px, 4.305556vw, 62px);
  font-weight: 700;
  line-height: clamp(52.86875px, 6.875vw, 99px);
  letter-spacing: 0.08em;
}

.training-benefits__copy p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 700;
  line-height: clamp(18.690972px, 2.430556vw, 35px);
  letter-spacing: 0.08em;
  text-align: justify;
}

.training-benefits__copy h2 + p {
  margin-top: clamp(18.690972px, 2.430556vw, 35px);
}

.training-benefits__copy p + h3 {
  margin-top: clamp(18.690972px, 2.430556vw, 35px);
}

.training-benefits__copy h3 {
  margin: 0;
  color: #00cabc;
  font-size: clamp(17.088889px, 2.222222vw, 32px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.08em;
}

.training-benefits__copy h3 em {
  color: #ff5900;
  font-style: normal;
}

.training-benefits__copy h3 + p {
  margin-top: clamp(20.293056px, 2.638889vw, 38px);
  letter-spacing: 0.04em;
}

.training-benefits__chart {
  position: absolute;
  top: clamp(119.088194px, 15.486111vw, 223px);
  left: calc(50% - clamp(59.811111px, 7.777778vw, 112px));
  display: block;
  width: clamp(380.227778px, 49.444444vw, 712px);
  height: clamp(341.24375px, 44.375vw, 639px);
  max-width: none;
}

.training-benefits__chart-sp {
  display: none;
}

.training-benefits__legend {
  position: absolute;
  top: clamp(514.26875px, 66.875vw, 963px);
  left: 50%;
  display: flex;
  gap: clamp(34.177778px, 4.444444vw, 64px);
  align-items: center;
  transform: translateX(-50%);
}

.training-benefits__legend span {
  display: flex;
  gap: clamp(12.816667px, 1.666667vw, 24px);
  align-items: center;
  color: #0c0c0c;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(23.497222px, 3.055556vw, 44px);
  white-space: nowrap;
}

.training-benefits__legend i {
  display: block;
  width: clamp(49.664583px, 6.458333vw, 93px);
  height: clamp(9.6125px, 1.25vw, 18px);
  background: #c0cdcb;
}

.training-benefits__legend span:last-child i {
  background: #c4f7ea;
}

.training-audience {
  position: relative;
  height: clamp(661.126389px, 85.972222vw, 1238px);
  overflow: hidden;
  color: #0c0c0c;
  background: #fff;
}

.training-audience__marquee {
  --training-audience-marquee-width: clamp(1336.1375px, 173.75vw, 2502px);
  --training-audience-marquee-half: clamp(668.06875px, 86.875vw, 1251px);
  --training-audience-marquee-offset: clamp(42.722222px, 5.555556vw, 80px);
  --training-audience-marquee-height: clamp(164.480556px, 21.388889vw, 308px);
  position: absolute;
  top: clamp(3.738194px, 0.486111vw, 7px);
  left: 0;
  width: 100%;
  height: var(--training-audience-marquee-height);
  overflow: hidden;
}

.training-audience__marquee-track {
  position: absolute;
  top: 0;
  left: calc(50% + var(--training-audience-marquee-offset) - var(--training-audience-marquee-half));
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: training-audience-marquee 32s linear infinite;
  will-change: transform;
}

.training-audience__marquee-track img {
  display: block;
  width: var(--training-audience-marquee-width);
  height: var(--training-audience-marquee-height);
  max-width: none;
  flex: 0 0 var(--training-audience-marquee-width);
  -o-object-fit: contain;
     object-fit: contain;
}

@keyframes training-audience-marquee {
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.training-audience__inner {
  position: absolute;
  top: clamp(221.621528px, 28.819444vw, 415px);
  left: 50%;
  width: clamp(640.833333px, 83.333333vw, 1200px);
  transform: translateX(-50%);
}

.training-audience__recommendations h2 {
  display: flex;
  height: clamp(22.963194px, 2.986111vw, 43px);
  margin: 0;
  align-items: center;
  justify-content: center;
  color: #00cabc;
  font-size: clamp(22.429167px, 2.916667vw, 42px);
  font-weight: 700;
  line-height: clamp(40.052083px, 5.208333vw, 75px);
  letter-spacing: 0.04em;
  text-align: center;
}

.training-audience__recommendations ul {
  display: flex;
  margin: clamp(34.177778px, 4.444444vw, 64px) 0 0;
  padding: 0;
  flex-direction: column;
  gap: clamp(10.680556px, 1.388889vw, 20px);
  list-style: none;
}

.training-audience__recommendations li {
  display: flex;
  box-sizing: border-box;
  height: clamp(34.177778px, 4.444444vw, 64px);
  min-height: clamp(34.177778px, 4.444444vw, 64px);
  padding: clamp(5.340278px, 0.694444vw, 10px);
  align-items: center;
  justify-content: center;
  border: 1px solid #0c0c0c;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 700;
  line-height: clamp(23.497222px, 3.055556vw, 44px);
  text-align: center;
}

.training-audience__career {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}

.training-audience__career-visual {
  display: block;
  width: clamp(640.833333px, 83.333333vw, 1200px);
  height: auto;
}

.training-audience__career-mobile {
  display: none;
}

.training-faq {
  padding: clamp(53.402778px, 6.944444vw, 100px) max(clamp(16.020833px, 2.083333vw, 30px), (100% - clamp(640.833333px, 83.333333vw, 1200px)) / 2);
  color: #0c0c0c;
  background: #00d4c2;
}

.training-faq__inner {
  width: 100%;
  max-width: clamp(640.833333px, 83.333333vw, 1200px);
  margin: 0 auto;
}

.training-faq h2 {
  display: flex;
  height: clamp(29.905556px, 3.888889vw, 56px);
  margin: 0;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Abolition", "Bebas Neue", sans-serif;
  font-weight: 400;
  line-height: clamp(29.905556px, 3.888889vw, 56px);
}

.training-faq h2 span {
  font-size: clamp(48.234991px, 6.272431vw, 90.323px);
}

.training-faq h2 small {
  margin: 0 clamp(3.738194px, 0.486111vw, 7px);
  font-size: clamp(28.941101px, 3.763472vw, 54.194px);
  position: relative;
  top: clamp(5.340278px, 0.694444vw, 10px);
}

.training-faq__list {
  display: flex;
  margin-top: clamp(34.177778px, 4.444444vw, 64px);
  flex-direction: column;
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.training-faq details {
  width: 100%;
}

.training-faq summary {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: clamp(27.235417px, 3.541667vw, 51px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(38.984028px, 5.069444vw, 73px) clamp(5.340278px, 0.694444vw, 10px) clamp(13.350694px, 1.736111vw, 25px);
  align-items: center;
  color: #0c0c0c;
  background: #fff;
  cursor: pointer;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 600;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.05em;
  list-style: none;
}

.training-faq summary::-webkit-details-marker {
  display: none;
}

.training-faq summary::before,
.training-faq summary::after {
  position: absolute;
  top: 50%;
  right: clamp(7.476389px, 0.972222vw, 14px);
  display: block;
  width: clamp(10.680556px, 1.388889vw, 20px);
  height: 3px;
  background: #0c0c0c;
  content: "";
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.training-faq summary::after {
  transform: translateY(-50%) rotate(90deg);
}

.training-faq details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.training-faq details:not([open]) > div {
  display: none;
}

.training-faq details[open] > div {
  display: flex;
  box-sizing: border-box;
  min-height: clamp(27.235417px, 3.541667vw, 51px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(13.350694px, 1.736111vw, 25px);
  align-items: center;
  background: #c4f7ea;
}

.training-faq details p {
  margin: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 400;
  line-height: clamp(16.554861px, 2.152778vw, 31px);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.small-art {
  width: clamp(64.083333px, 8.333333vw, 120px);
  margin: 0 auto clamp(18.690972px, 2.430556vw, 35px);
}

.target-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(5.340278px, 0.694444vw, 10px);
}
.target-grid p {
  margin: 0;
  padding: clamp(13.350694px, 1.736111vw, 25px) clamp(16.020833px, 2.083333vw, 30px);
  border: 2px solid #0c0c0c;
  border-radius: clamp(6.408333px, 0.833333vw, 12px);
  font-weight: 700;
}
.target-grid p::before {
  content: "✓";
  margin-right: clamp(6.408333px, 0.833333vw, 12px);
  color: #ff5a14;
}

@media (max-width: 980px) {
  .photo-reason__body {
    top: 50%;
    right: clamp(13.350694px, 1.736111vw, 25px);
    left: clamp(17.088889px, 2.222222vw, 32px);
    transform: translateY(-50%);
  }
  .photo-reason:nth-child(2) .photo-reason__body,
  .photo-reason:nth-child(3) .photo-reason__body {
    top: 50%;
  }
  .photo-reason__heading {
    padding-left: clamp(40.586111px, 5.277778vw, 76px);
  }
  .photo-reason__heading span {
    width: clamp(28.8375px, 3.75vw, 54px);
    font-size: clamp(22.429167px, 2.916667vw, 42px);
  }
  .photo-reason__heading h2 {
    font-size: clamp(14.952778px, 1.944444vw, 28px);
    line-height: 1.65;
  }
  .photo-reason__body > p {
    margin-left: clamp(40.586111px, 5.277778vw, 76px);
    font-size: clamp(7.476389px, 0.972222vw, 14px);
    line-height: 1.9;
    text-align: left;
    white-space: normal;
  }
  .creative-hero {
    min-height: clamp(453.923611px, 59.027778vw, 850px);
  }
  .creative-hero__lead {
    gap: clamp(24.03125px, 3.125vw, 45px);
  }
  .creative-stat__inner {
    gap: clamp(26.701389px, 3.472222vw, 50px);
  }
  .cp-section {
    padding-block: clamp(58.743056px, 7.638889vw, 110px);
  }
  .cp-hero__title,
  .cp-hero__statement {
    width: calc(100% - clamp(53.402778px, 6.944444vw, 100px));
  }
  .cp-hero__title {
    padding: clamp(12.816667px, 1.666667vw, 24px) 0 clamp(28.8375px, 3.75vw, 54px);
  }
  .cp-hero__statement {
    min-height: clamp(59.811111px, 7.777778vw, 112px);
  }
  .cp-hero__bottom {
    min-height: 0;
    padding-top: clamp(38.45px, 5vw, 72px);
    grid-template-columns: minmax(0, 1fr) clamp(176.229167px, 22.916667vw, 330px);
    gap: clamp(16.020833px, 2.083333vw, 30px);
  }
  .cp-hero__achievements {
    margin-left: clamp(-50px, -3.472222vw, -26.701389px);
  }
  .cp-hero__cta {
    margin-top: clamp(18.690972px, 2.430556vw, 35px);
  }
  .cp-hero__cta p {
    font-size: clamp(12.816667px, 1.666667vw, 24px);
  }
  .cp-hero__cta a {
    width: clamp(176.229167px, 22.916667vw, 330px);
    min-height: clamp(33.109722px, 4.305556vw, 62px);
    font-size: clamp(12.816667px, 1.666667vw, 24px);
  }
  .cp-team__grid {
    gap: clamp(25.633333px, 3.333333vw, 48px);
  }
  .cp-intro {
    height: clamp(801.041667px, 104.166667vw, 1500px);
  }
  .cp-intro::before {
    height: clamp(769px, 100vw, 1440px);
  }
  .cp-intro__worry {
    top: clamp(96.125px, 12.5vw, 180px);
    left: 0;
    width: clamp(192.25px, 25vw, 360px);
    height: auto;
  }
  .cp-intro__puzzles {
    top: clamp(96.125px, 12.5vw, 180px);
    right: 0;
    width: clamp(96.125px, 12.5vw, 180px);
    height: auto;
  }
  .cp-intro__copy {
    top: clamp(186.909722px, 24.305556vw, 350px);
    left: 42%;
    width: 56%;
  }
  .cp-intro__copy h2 {
    font-size: clamp(13.884722px, 1.805556vw, 26px);
    line-height: 1.8;
    letter-spacing: 0.07em;
    white-space: normal;
  }
  .cp-intro__copy p {
    margin-top: clamp(12.816667px, 1.666667vw, 24px);
    font-size: clamp(7.476389px, 0.972222vw, 14px);
    line-height: 2.2;
    letter-spacing: 0.06em;
    text-align: left;
  }
  .cp-intro__conclusion {
    top: clamp(405.861111px, 52.777778vw, 760px);
    left: 42%;
    width: 50%;
    font-size: clamp(10.146528px, 1.319444vw, 19px);
    line-height: 1.8;
    letter-spacing: 0.06em;
    white-space: normal;
  }
  .cp-intro__support-card {
    top: clamp(534.027778px, 69.444444vw, 1000px);
    width: 100%;
    height: clamp(160.208333px, 20.833333vw, 300px);
  }
  .cp-intro__support-label {
    width: clamp(267.013889px, 34.722222vw, 500px);
    height: clamp(33.109722px, 4.305556vw, 62px);
    font-size: clamp(18.156944px, 2.361111vw, 34px);
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .cp-intro__support-card h3 {
    margin-top: clamp(25.633333px, 3.333333vw, 48px);
    font-size: clamp(18.156944px, 2.361111vw, 34px);
    line-height: 1.55;
    letter-spacing: 0.06em;
  }
  .cp-intro__support-card > p:not(.cp-intro__support-label) {
    width: 64%;
    margin-top: clamp(10.680556px, 1.388889vw, 20px);
    font-size: clamp(6.942361px, 0.902778vw, 13px);
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .cp-intro__support-card > a {
    top: clamp(173.559028px, 22.569444vw, 325px);
    width: clamp(192.25px, 25vw, 360px);
    min-height: clamp(34.177778px, 4.444444vw, 64px);
    font-size: clamp(13.350694px, 1.736111vw, 25px);
  }
  .cp-intro__support-figure--left {
    top: clamp(491.305556px, 63.888889vw, 920px);
    left: clamp(2.670139px, 0.347222vw, 5px);
    width: clamp(80.104167px, 10.416667vw, 150px);
    height: auto;
  }
  .cp-intro__support-figure--right {
    top: clamp(507.326389px, 65.972222vw, 950px);
    right: clamp(2.670139px, 0.347222vw, 5px);
    width: clamp(72.09375px, 9.375vw, 135px);
    height: auto;
  }
  .cp-strength-grid {
    grid-template-columns: 1fr;
  }
  .cp-strength-card {
    min-height: clamp(304.395833px, 39.583333vw, 570px);
  }
  .cp-strength-card__copy {
    width: 66%;
  }
  .cp-strength-card > img {
    right: 8%;
    width: clamp(101.465278px, 13.194444vw, 190px);
    max-height: clamp(224.291667px, 29.166667vw, 420px);
  }
  .cp-stat {
    min-height: 0;
    padding: clamp(80.104167px, 10.416667vw, 150px) 0 clamp(85.444444px, 11.111111vw, 160px);
  }
  .cp-stat__top {
    grid-template-columns: clamp(192.25px, 25vw, 360px) minmax(0, 1fr);
    gap: clamp(18.690972px, 2.430556vw, 35px);
  }
  .cp-stat__number {
    align-self: center;
  }
  .cp-stat__number img {
    width: clamp(192.25px, 25vw, 360px);
    height: auto;
  }
  .cp-stat__headline h2 {
    font-size: clamp(17.088889px, 2.222222vw, 32px);
  }
  .cp-stat__source {
    margin-top: clamp(20.293056px, 2.638889vw, 38px);
  }
  .cp-stat__source p {
    font-size: clamp(8.010417px, 1.041667vw, 15px);
  }
  .cp-stat__body {
    width: calc(100% - clamp(112.145833px, 14.583333vw, 210px));
    margin-top: clamp(34.177778px, 4.444444vw, 64px);
  }
  .cp-stat__body p {
    font-size: clamp(8.010417px, 1.041667vw, 15px);
    line-height: 2.2;
  }
  .cp-stat__character {
    top: clamp(173.559028px, 22.569444vw, 325px);
    width: clamp(96.125px, 12.5vw, 180px);
    height: auto;
  }
  .cp-insight {
    height: auto;
    padding-top: clamp(53.402778px, 6.944444vw, 100px);
  }
  .cp-insight__inner {
    display: flex;
    flex-direction: column;
  }
  .cp-insight__label {
    width: clamp(144.1875px, 18.75vw, 270px);
    height: clamp(26.701389px, 3.472222vw, 50px);
    font-size: clamp(18.156944px, 2.361111vw, 34px);
  }
  .cp-insight__label::after {
    left: clamp(63.015278px, 8.194444vw, 118px);
  }
  .cp-insight__copy {
    width: 100%;
    margin-top: clamp(37.381944px, 4.861111vw, 70px);
  }
  .cp-insight__copy h2 {
    font-size: clamp(19.225px, 2.5vw, 36px);
    line-height: 1.75;
    text-align: left;
  }
  .cp-insight__copy > p {
    width: min(100%, clamp(331.097222px, 43.055556vw, 620px));
    margin-top: clamp(18.156944px, 2.361111vw, 34px);
    font-size: clamp(8.544444px, 1.111111vw, 16px);
    line-height: 2.2;
    text-align: left;
  }
  .cp-insight__fields {
    width: min(100%, clamp(295.851389px, 38.472222vw, 554px));
    margin: clamp(34.711806px, 4.513889vw, 65px) auto 0;
  }
  .cp-insight__fields > p {
    font-size: clamp(13.884722px, 1.805556vw, 26px);
  }
  .cp-insight__field-row--three {
    margin-top: clamp(22.429167px, 2.916667vw, 42px);
  }
  .cp-insight__illustration {
    display: block;
    width: min(100%, clamp(267.013889px, 34.722222vw, 500px));
    height: auto;
    margin: clamp(29.371528px, 3.819444vw, 55px) auto 0;
  }
  .cp-reality__inner {
    padding-top: clamp(96.125px, 12.5vw, 180px);
    padding-bottom: clamp(42.722222px, 5.555556vw, 80px);
  }
  .cp-reality__heading h2 {
    font-size: clamp(19.225px, 2.5vw, 36px);
  }
  .cp-reality__heading p {
    font-size: clamp(10.680556px, 1.388889vw, 20px);
  }
  .cp-reality__problems {
    width: 100%;
    margin-top: clamp(32.041667px, 4.166667vw, 60px);
  }
  .cp-reality__solution {
    margin-top: clamp(42.722222px, 5.555556vw, 80px);
    grid-template-areas: "logo logo" "left right";
    grid-template-columns: repeat(2, minmax(0, clamp(171.956944px, 22.361111vw, 322px)));
    gap: clamp(24.03125px, 3.125vw, 45px) clamp(16.020833px, 2.083333vw, 30px);
    justify-content: center;
  }
  .cp-reality__card--left {
    grid-area: left;
  }
  .cp-reality__card--right {
    grid-area: right;
  }
  .cp-reality__logo-lockup {
    width: min(100%, clamp(296.919444px, 38.611111vw, 556px));
    grid-area: logo;
    justify-self: center;
  }
  .cp-reality__logo {
    width: 100%;
    height: auto;
  }
  .cp-reality__cta {
    height: clamp(45.392361px, 5.902778vw, 85px);
    margin-top: clamp(26.701389px, 3.472222vw, 50px);
    padding-right: clamp(24.03125px, 3.125vw, 45px);
    padding-left: clamp(24.03125px, 3.125vw, 45px);
    font-size: clamp(11.748611px, 1.527778vw, 22px);
  }
  .cp-reality__cta img {
    width: clamp(24.565278px, 3.194444vw, 46px);
    height: clamp(24.565278px, 3.194444vw, 46px);
  }
  .cp-fit {
    height: auto;
  }
  .cp-fit__inner {
    padding-top: clamp(80.104167px, 10.416667vw, 150px);
  }
  .cp-fit__inner h2 {
    font-size: clamp(19.225px, 2.5vw, 36px);
  }
  .cp-fit__list {
    margin-top: clamp(29.371528px, 3.819444vw, 55px);
    gap: clamp(8.544444px, 1.111111vw, 16px);
  }
  .cp-fit__list li {
    min-height: clamp(32.041667px, 4.166667vw, 60px);
    font-size: clamp(10.146528px, 1.319444vw, 19px);
    line-height: 1.6;
  }
  .cp-fit__stage {
    height: clamp(208.270833px, 27.083333vw, 390px);
    margin-top: clamp(13.350694px, 1.736111vw, 25px);
  }
  .cp-fit__person--left {
    top: clamp(29.371528px, 3.819444vw, 55px);
    left: clamp(-120px, -8.333333vw, -64.083333px);
    width: clamp(256.333333px, 33.333333vw, 480px);
  }
  .cp-fit__person--right {
    top: clamp(32.041667px, 4.166667vw, 60px);
    right: clamp(-120px, -8.333333vw, -64.083333px);
    left: auto;
    width: clamp(261.673611px, 34.027778vw, 490px);
  }
  .cp-fit__offer {
    top: clamp(26.701389px, 3.472222vw, 50px);
    width: clamp(229.631944px, 29.861111vw, 430px);
  }
  .cp-fit__offer p {
    font-size: clamp(12.816667px, 1.666667vw, 24px);
  }
  .cp-fit__offer-title {
    width: clamp(170.888889px, 22.222222vw, 320px);
    height: auto;
    margin-top: clamp(3.738194px, 0.486111vw, 7px);
  }
  .cp-fit__band {
    height: clamp(69.423611px, 9.027778vw, 130px);
    padding-bottom: clamp(17.088889px, 2.222222vw, 32px);
  }
  .cp-fit__band p {
    font-size: clamp(9.6125px, 1.25vw, 18px);
  }
  .cp-plans__inner > h2 {
    font-size: clamp(13.350694px, 1.736111vw, 25px);
  }
  .cp-plans__grid {
    gap: clamp(8.010417px, 1.041667vw, 15px);
  }
  .cp-plans__column h3 {
    font-size: clamp(27.769444px, 3.611111vw, 52px);
  }
  .cp-plans__service strong {
    font-size: clamp(22.429167px, 2.916667vw, 42px);
  }
  .cp-plans__service span {
    font-size: clamp(8.010417px, 1.041667vw, 15px);
  }
  .cp-plans__price {
    transform: translateX(-50%) scale(0.78);
    transform-origin: center bottom;
  }
  .cp-plans__cta {
    width: 100%;
    font-size: clamp(13.350694px, 1.736111vw, 25px);
  }
  .cp-plans__note {
    font-size: clamp(10.680556px, 1.388889vw, 20px);
  }
  .cp-footer-works__inner {
    padding-top: clamp(42.722222px, 5.555556vw, 80px);
  }
  .cp-footer-works__grid .home-work__image {
    height: auto;
    aspect-ratio: 590/350;
  }
  .cp-footer-works__grid .home-work__image--toraji img {
    top: -19.62%;
    height: 138.58%;
  }
  .cp-footer-about__link {
    font-size: clamp(10.680556px, 1.388889vw, 20px);
  }
  .cp-team__visual {
    min-height: clamp(250.993056px, 32.638889vw, 470px);
  }
  .cp-plan-card {
    width: min(100% - clamp(16.020833px, 2.083333vw, 30px), clamp(437.902778px, 56.944444vw, 820px));
  }
  .cp-flow-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .cp-flow-list li:nth-child(2) {
    border-right: 0;
  }
  .cp-flow-list li:nth-child(-n+2) {
    border-bottom: 1px solid var(--cp-navy);
  }
  .cp-flow-list li:nth-child(2)::after {
    display: none;
  }
  .training-hero {
    height: clamp(640.833333px, 83.333333vw, 1200px);
  }
  .training-hero__marquee {
    --training-hero-marquee-width: clamp(1121.458333px, 145.833333vw, 2100px);
    --training-hero-marquee-half: clamp(560.729167px, 72.916667vw, 1050px);
    --training-hero-marquee-offset: clamp(26.701389px, 3.472222vw, 50px);
    --training-hero-marquee-height: clamp(138.313194px, 17.986111vw, 259px);
    top: clamp(58.743056px, 7.638889vw, 110px);
    height: clamp(138.313194px, 17.986111vw, 259px);
  }
  .training-hero__marquee-track {
    animation-duration: 27s;
  }
  .training-hero__lead {
    top: clamp(213.611111px, 27.777778vw, 400px);
    left: clamp(26.701389px, 3.472222vw, 50px);
    width: clamp(315.076389px, 40.972222vw, 590px);
    font-size: clamp(24.565278px, 3.194444vw, 46px);
  }
  .training-hero__copy {
    top: clamp(368.479167px, 47.916667vw, 690px);
    left: clamp(26.701389px, 3.472222vw, 50px);
    width: clamp(213.611111px, 27.777778vw, 400px);
  }
  .training-hero__copy h1 {
    font-size: clamp(17.088889px, 2.222222vw, 32px);
  }
  .training-hero__copy a {
    width: clamp(192.25px, 25vw, 360px);
    min-height: clamp(35.245833px, 4.583333vw, 66px);
    margin-top: clamp(37.381944px, 4.861111vw, 70px);
    font-size: clamp(14.41875px, 1.875vw, 27px);
  }
  .training-hero__art {
    top: clamp(309.736111px, 40.277778vw, 580px);
    left: calc(50% + clamp(138.847222px, 18.055556vw, 260px));
    width: clamp(331.097222px, 43.055556vw, 620px);
  }
  .training-hero__circle {
    top: clamp(551.116667px, 71.666667vw, 1032px);
    left: clamp(-70px, -4.861111vw, -37.381944px);
    width: clamp(149.527778px, 19.444444vw, 280px);
    height: auto;
  }
  .training-about {
    height: auto;
    padding: clamp(37.381944px, 4.861111vw, 70px) clamp(16.020833px, 2.083333vw, 30px) clamp(42.722222px, 5.555556vw, 80px);
  }
  .training-about::before {
    bottom: clamp(26.701389px, 3.472222vw, 50px);
    width: clamp(1495.277778px, 194.444444vw, 2800px);
    height: clamp(1495.277778px, 194.444444vw, 2800px);
  }
  .training-about__plus {
    top: clamp(-10px, -0.694444vw, -5.340278px);
    right: 9%;
    left: auto;
  }
  .training-about__shape--right {
    top: clamp(170.888889px, 22.222222vw, 320px);
    right: clamp(-20px, -1.388889vw, -10.680556px);
    left: auto;
  }
  .training-about__shape--left {
    top: clamp(405.861111px, 52.777778vw, 760px);
    left: clamp(-70px, -4.861111vw, -37.381944px);
  }
  .training-about__label,
  .training-about__heading,
  .training-about__features,
  .training-about__statement,
  .training-about__person {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
  .training-about__label {
    width: min(100%, clamp(312.40625px, 40.625vw, 585px));
    margin: 0 auto;
  }
  .training-about__heading {
    width: min(100%, clamp(453.923611px, 59.027778vw, 850px));
    margin: clamp(29.371528px, 3.819444vw, 55px) auto 0;
  }
  .training-about__heading > span {
    font-size: clamp(18.156944px, 2.361111vw, 34px);
    line-height: 1.8;
  }
  .training-about__heading strong {
    font-size: clamp(24.565278px, 3.194444vw, 46px);
    line-height: 1.6;
  }
  .training-about__features {
    width: 100%;
    margin: clamp(53.402778px, 6.944444vw, 100px) auto 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(7.476389px, 0.972222vw, 14px);
  }
  .training-about__features h3 {
    font-size: clamp(9.6125px, 1.25vw, 18px);
    line-height: 1.9;
  }
  .training-about__features li > p {
    margin-right: clamp(-15px, -1.041667vw, -8.010417px);
    margin-left: clamp(-15px, -1.041667vw, -8.010417px);
    font-size: clamp(8.010417px, 1.041667vw, 15px);
    line-height: 1.8;
  }
  .training-about__statement {
    width: min(100%, clamp(453.923611px, 59.027778vw, 850px));
    margin: clamp(42.722222px, 5.555556vw, 80px) auto 0;
    font-size: clamp(13.884722px, 1.805556vw, 26px);
    line-height: 1.8;
    white-space: normal;
  }
  .training-about__person {
    width: clamp(120.690278px, 15.694444vw, 226px);
    height: auto;
    margin: clamp(26.701389px, 3.472222vw, 50px) auto 0;
  }
  .training-comparison > h2 {
    width: calc(100% - clamp(42.722222px, 5.555556vw, 80px));
  }
  .training-comparison__lead {
    left: 50%;
    width: min(100% - clamp(42.722222px, 5.555556vw, 80px), clamp(375.955556px, 48.888889vw, 704px));
    transform: translateX(-50%);
  }
  .training-comparison__plus {
    right: 9%;
    left: auto;
  }
  .training-comparison__grid {
    width: clamp(346.05px, 45vw, 648px);
    gap: clamp(21.361111px, 2.777778vw, 40px);
  }
  .training-process {
    height: auto;
    padding: clamp(53.402778px, 6.944444vw, 100px) clamp(16.020833px, 2.083333vw, 30px) clamp(58.743056px, 7.638889vw, 110px);
  }
  .training-process__art {
    top: 0;
    right: clamp(5.340278px, 0.694444vw, 10px);
    left: auto;
    width: clamp(90.784722px, 11.805556vw, 170px);
    height: auto;
  }
  .training-process > h2,
  .training-process__grid,
  .training-process__message {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    transform: none;
  }
  .training-process > h2 {
    font-size: clamp(14.952778px, 1.944444vw, 28px);
    white-space: normal;
  }
  .training-process__grid {
    margin: clamp(48.0625px, 6.25vw, 90px) auto 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .training-process__grid li {
    width: 100%;
  }
  .training-process__grid h3 {
    font-size: clamp(16.020833px, 2.083333vw, 30px);
  }
  .training-process__grid p {
    font-size: clamp(7.476389px, 0.972222vw, 14px);
    line-height: 2;
  }
  .training-process__message {
    margin-top: clamp(34.711806px, 4.513889vw, 65px);
    font-size: clamp(13.350694px, 1.736111vw, 25px);
    line-height: 1.8;
    white-space: normal;
  }
  .training-support {
    height: auto;
    padding: clamp(10.680556px, 1.388889vw, 20px) clamp(16.020833px, 2.083333vw, 30px) clamp(53.402778px, 6.944444vw, 100px);
  }
  .training-support__visual {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    transform: none;
  }
  .training-support__cta {
    position: relative;
    top: auto;
    left: auto;
    margin: clamp(37.381944px, 4.861111vw, 70px) auto 0;
    transform: none;
  }
  .training-support__cta:hover {
    margin-top: clamp(35.779861px, 4.652778vw, 67px);
  }
  .training-support__plus {
    top: auto;
    bottom: clamp(14.952778px, 1.944444vw, 28px);
    left: clamp(21.361111px, 2.777778vw, 40px);
  }
  .training-support__circle {
    top: auto;
    right: clamp(-60px, -4.166667vw, -32.041667px);
    bottom: 0;
    left: auto;
  }
  .training-benefits {
    height: auto;
    margin-top: clamp(-40px, -2.777778vw, -21.361111px);
    padding: clamp(37.381944px, 4.861111vw, 70px) clamp(16.020833px, 2.083333vw, 30px) clamp(53.402778px, 6.944444vw, 100px);
  }
  .training-benefits__label,
  .training-benefits__copy,
  .training-benefits__chart,
  .training-benefits__legend {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
  .training-benefits__label {
    width: min(100%, clamp(312.40625px, 40.625vw, 585px));
    margin: 0 auto;
  }
  .training-benefits__copy {
    width: min(100%, clamp(341.777778px, 44.444444vw, 640px));
    margin: clamp(37.381944px, 4.861111vw, 70px) auto 0;
  }
  .training-benefits__copy h2 {
    width: auto;
    font-size: clamp(25.633333px, 3.333333vw, 48px);
    line-height: 1.65;
  }
  .training-benefits__copy h2 + p {
    margin-top: clamp(14.952778px, 1.944444vw, 28px);
  }
  .training-benefits__copy h3 {
    margin-top: clamp(26.701389px, 3.472222vw, 50px);
  }
  .training-benefits__copy h3 + p {
    margin-top: clamp(13.350694px, 1.736111vw, 25px);
  }
  .training-benefits__chart {
    width: min(100%, clamp(380.227778px, 49.444444vw, 712px));
    height: auto;
    margin: clamp(37.381944px, 4.861111vw, 70px) auto 0;
  }
  .training-benefits__legend {
    justify-content: center;
    margin-top: clamp(18.690972px, 2.430556vw, 35px);
  }
  .training-audience {
    height: auto;
    min-height: clamp(523.347222px, 68.055556vw, 980px);
    padding: clamp(176.229167px, 22.916667vw, 330px) clamp(16.020833px, 2.083333vw, 30px) clamp(53.402778px, 6.944444vw, 100px);
  }
  .training-audience__marquee {
    --training-audience-marquee-width: clamp(961.25px, 125vw, 1800px);
    --training-audience-marquee-half: clamp(480.625px, 62.5vw, 900px);
    --training-audience-marquee-offset: clamp(26.701389px, 3.472222vw, 50px);
    --training-audience-marquee-height: clamp(118.554167px, 15.416667vw, 222px);
    top: clamp(10.680556px, 1.388889vw, 20px);
    height: clamp(118.554167px, 15.416667vw, 222px);
  }
  .training-audience__marquee-track {
    animation-duration: 27s;
  }
  .training-audience__inner {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    transform: none;
  }
  .training-audience__recommendations h2 {
    height: auto;
    font-size: clamp(19.225px, 2.5vw, 36px);
    line-height: 1.5;
  }
  .training-audience__recommendations ul {
    margin-top: clamp(26.701389px, 3.472222vw, 50px);
  }
  .training-audience__recommendations li {
    min-height: clamp(32.041667px, 4.166667vw, 60px);
    font-size: clamp(10.680556px, 1.388889vw, 20px);
    line-height: 1.7;
  }
  .training-audience__career {
    margin-top: clamp(42.722222px, 5.555556vw, 80px);
  }
  .training-audience__career-visual {
    width: 100%;
  }
  .training-faq {
    padding: clamp(48.0625px, 6.25vw, 90px) clamp(16.020833px, 2.083333vw, 30px);
  }
}
@media (max-width: 768px) {
  .photo-hero {
    height: 170.753333vw;
    padding-top: 15.128205vw;
    background: #fff;
  }
  .photo-hero__grid {
    height: 155.625128vw;
    aspect-ratio: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .photo-hero__title {
    top: 82.564103vw;
    width: 34.871795vw;
    height: 30.769231vw;
    aspect-ratio: auto;
    transform: translateX(-50%);
  }
  .photo-hero__title-pc {
    display: none;
  }
  .photo-hero__title-sp {
    position: absolute;
    inset: 0;
    display: block;
  }
  .photo-hero__title-line {
    position: absolute;
    display: block;
    height: 13.953846vw;
    overflow: hidden;
  }
  .photo-hero__title-line img {
    position: absolute;
    top: 0;
    width: 71.853846vw;
    height: 13.953846vw;
    max-width: none;
  }
  .photo-hero__title-line--photo {
    top: 0;
    left: 1.073846vw;
    width: 32.708718vw;
  }
  .photo-hero__title-line--photo img {
    left: 0;
  }
  .photo-hero__title-line--studio {
    bottom: 0;
    left: 0;
    width: 34.871795vw;
  }
  .photo-hero__title-line--studio img {
    left: -37.323077vw;
  }
  .photo-hero__side-copy {
    display: none;
  }
  .photo-concept {
    height: 179.487179vw;
    min-height: 0;
    padding: 31.282051vw 0 0;
  }
  .photo-concept__label {
    width: 100%;
    height: auto;
    margin-bottom: 4.102564vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-concept__body {
    gap: 10.25641vw;
    width: 100%;
  }
  .photo-concept h2 {
    font-size: 8.974359vw;
    line-height: 15.384615vw;
    letter-spacing: 1.75px;
  }
  .photo-concept__copy {
    width: 100%;
    font-size: 4.102564vw;
    line-height: 6.666667vw;
    letter-spacing: 0.8px;
    text-align: justify;
  }
  .photo-concept__line {
    width: 84.615385vw;
    height: 12.820513vw;
    margin-top: 20.512821vw;
    font-size: 5.641026vw;
    line-height: 1;
    letter-spacing: 1.25px;
  }
  .photo-reasons {
    padding: 45.128205vw 0 24.871795vw;
  }
  .photo-reasons__list {
    width: 100%;
    gap: 25.641026vw;
  }
  .photo-reason {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .photo-reason:nth-child(2),
  .photo-reason:nth-child(3) {
    margin-top: 0;
  }
  .photo-reason__media {
    width: 100%;
    height: 64.102564vw;
    aspect-ratio: auto;
  }
  .photo-reason__content {
    min-height: 0;
  }
  .photo-reason__body,
  .photo-reason:nth-child(2) .photo-reason__body,
  .photo-reason:nth-child(3) .photo-reason__body {
    position: static;
    width: 84.615385vw;
    padding-top: 10.25641vw;
    margin-inline: auto;
    transform: none;
  }
  .photo-reason__heading {
    padding-left: 16.923077vw;
  }
  .photo-reason__heading span {
    left: 0;
    width: 12.307692vw;
    height: 12.051282vw;
    font-size: 10.25641vw;
    line-height: 7.948718vw;
    letter-spacing: 0.05em;
    transform: translateY(-50%);
  }
  .photo-reason__heading h2 {
    font-size: 8.205128vw;
    line-height: 13.589744vw;
    letter-spacing: 1.6px;
  }
  .photo-reason:nth-child(2) .photo-reason__heading span,
  .photo-reason:nth-child(3) .photo-reason__heading span {
    left: 0;
    width: 12.307692vw;
    transform: translateY(-50%);
  }
  .photo-reason:nth-child(2) .photo-reason__heading h2 {
    width: 69.230769vw;
  }
  .photo-reason__body > p {
    width: 67.692308vw;
    max-width: none;
    margin: 8.205128vw 0 0 16.923077vw;
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
    text-align: justify;
  }
  .photo-reason:nth-child(2) .photo-reason__body > p {
    line-height: 6.666667vw;
  }
  .photo-plan-selector {
    padding-top: 0;
  }
  .photo-plan-selector__grid {
    grid-template-columns: 1fr;
  }
  .photo-plan-card {
    height: 103.611026vw;
  }
  .photo-plan-card__heading {
    top: 15.277949vw;
    width: 67.435897vw;
  }
  .photo-plan-card__heading h2 {
    font-size: 8.205128vw;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .photo-plan-card__heading p {
    margin-top: 4.444359vw;
    font-size: 3.076923vw;
    line-height: 4.305641vw;
  }
  .photo-plan-card__heading strong {
    margin-top: 1.388974vw;
    font-size: 4.102564vw;
    line-height: 4.305641vw;
  }
  .photo-plan-card__line {
    width: 7.083333vw;
    margin-top: 4.444359vw;
  }
  .photo-plan-card__tagline {
    right: 7.692308vw;
    bottom: 5.78vw;
    left: 7.692308vw;
    font-size: 3.076923vw;
    line-height: 4.305641vw;
    letter-spacing: 0.6px;
    white-space: nowrap;
  }
  .photo-plan-modal {
    padding: 2.564103vw;
    align-items: end;
  }
  .photo-plan-modal__dialog {
    width: 100%;
    max-height: calc(100dvh - 5.128205vw);
    padding: 14.871795vw 6.153846vw 7.692308vw;
  }
  .photo-plan-modal__close {
    top: 5.128205vw;
    right: 5.128205vw;
  }
  .photo-plan-modal__label {
    margin-bottom: 4.358974vw;
    font-size: 3.076923vw;
  }
  .photo-plan-modal__dialog h2 {
    font-size: 6.923077vw;
    line-height: 1.55;
  }
  .photo-plan-modal__lead {
    margin-top: 3.589744vw;
    font-size: 3.589744vw;
  }
  .photo-plan-modal__visual {
    margin-top: 7.179487vw;
  }
  .photo-plan-modal__copy {
    margin-top: 6.153846vw;
    font-size: 3.333333vw;
    line-height: 1.9;
  }
  .photo-plan-modal__contact {
    width: 100%;
    margin-top: 6.153846vw;
    font-size: 3.333333vw;
  }
  .photo-plan-modal--student .photo-plan-modal__dialog,
  .photo-plan-modal--night .photo-plan-modal__dialog {
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 5.128205vw);
    padding: 14.358974vw 4.615385vw 6.666667vw;
    border-radius: 2.564103vw;
  }
  .photo-plan-modal--student .photo-plan-modal__close,
  .photo-plan-modal--night .photo-plan-modal__close {
    top: 3.589744vw;
    right: 3.589744vw;
    width: 8.717949vw;
    height: 8.717949vw;
  }
  .photo-plan-modal--student .photo-plan-modal__close img,
  .photo-plan-modal--night .photo-plan-modal__close img {
    width: 8.717949vw;
    height: 8.717949vw;
  }
  .photo-plan-modal--student .photo-plan-modal__dialog > h2,
  .photo-plan-modal--night .photo-plan-modal__dialog > h2 {
    height: auto;
    margin: 0;
    font-size: 7.179487vw;
    line-height: 1;
  }
  .student-plan-table {
    margin-top: 9.230769vw;
    font-size: 2.820513vw;
    line-height: 1.45;
    letter-spacing: 0.02em;
  }
  .student-plan-table__plans {
    width: 100%;
    height: auto;
    margin-left: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    font-size: 2.820513vw;
    line-height: 1.25;
  }
  .student-plan-table__plan {
    min-height: 12.307692vw;
    padding: 1.794872vw 3px;
    white-space: normal;
  }
  .student-plan-table__body {
    width: 100%;
    margin-top: 2.564103vw;
  }
  .student-plan-table__row {
    height: 14.871795vw;
    grid-template-columns: 18.461538vw repeat(3, minmax(0, 1fr));
  }
  .student-plan-table__row::after {
    right: 0;
    bottom: 1.025641vw;
    left: 0;
  }
  .student-plan-table__row > div {
    height: 9.74359vw;
    margin-top: 1.794872vw;
    padding: 0 3px;
    white-space: normal;
    text-align: center;
  }
  .student-plan-options {
    margin-top: 5.641026vw;
    font-size: 2.820513vw;
    line-height: 1.45;
    letter-spacing: 0.02em;
  }
  .student-plan-options h3 {
    font-size: 3.333333vw;
    line-height: 1.5;
  }
  .student-plan-options__grid {
    width: 100%;
    margin-top: 6.153846vw;
    grid-template-columns: 1fr;
    gap: 2.051282vw;
  }
  .student-plan-options__item {
    height: 9.230769vw;
    grid-template-columns: minmax(0, 1fr) 22.564103vw;
  }
  .student-plan-options__item span,
  .student-plan-options__item strong {
    white-space: normal;
  }
  .student-plan-options > p {
    margin: 3.846154vw 0 0;
    font-size: 2.564103vw;
    line-height: 1.6;
    letter-spacing: 0.02em;
    white-space: normal;
  }
  .photo-plan-modal--student {
    padding: 5.128205vw 7.692308vw;
    align-items: center;
  }
  .photo-plan-modal--student .photo-plan-modal__backdrop {
    background: rgba(82, 82, 82, 0.8);
  }
  .photo-plan-modal--student .photo-plan-modal__dialog {
    width: 84.615385vw;
    height: auto;
    max-height: calc(100dvh - 10.25641vw);
    padding: 0 0 7.692308vw;
    border-radius: 2.564103vw;
    scrollbar-width: none;
  }
  .photo-plan-modal--student .photo-plan-modal__dialog::-webkit-scrollbar {
    display: none;
  }
  .photo-plan-modal--student .photo-plan-modal__close {
    top: 5.128205vw;
    right: 5.128205vw;
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .photo-plan-modal--student .photo-plan-modal__close img {
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .photo-plan-modal--student .photo-plan-modal__dialog > h2 {
    height: 7.948718vw;
    margin: 17.435897vw auto 0;
    font-size: 9.230769vw;
    line-height: 7.948718vw;
  }
  .photo-plan-modal--student .student-plan-table--pc {
    display: none;
  }
  .student-plan-mobile {
    display: flex;
    width: 64.102564vw;
    margin: 6.153846vw auto 0;
    flex-direction: column;
    gap: 10.25641vw;
  }
  .student-plan-mobile__card h3 {
    display: flex;
    height: 13.076923vw;
    margin: 0;
    padding: 2.564103vw;
    align-items: center;
    justify-content: center;
    color: #0c0c0c;
    font: 4.615385vw/7.948718vw "Aboreto", serif;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .student-plan-mobile__card--mini h3 {
    background: #fac2ff;
  }
  .student-plan-mobile__card--standard h3 {
    background: #91ffef;
  }
  .student-plan-mobile__card--friend h3 {
    background: #ffd75e;
  }
  .student-plan-mobile__card dl {
    display: flex;
    padding: 0 0 4.102564vw;
    margin: 6.153846vw 0 0;
    border-bottom: 1px solid #757575;
    flex-direction: column;
    gap: 8.205128vw;
  }
  .student-plan-mobile__card dl > div {
    position: relative;
    display: grid;
    min-height: 13.076923vw;
    grid-template-columns: 25.641026vw 38.461538vw;
    align-items: center;
  }
  .student-plan-mobile__card dl > div:not(:last-child)::after {
    position: absolute;
    right: 0;
    bottom: -4.102564vw;
    left: 0;
    height: 1px;
    background: #757575;
    content: "";
  }
  .student-plan-mobile__card dt,
  .student-plan-mobile__card dd {
    display: flex;
    min-width: 0;
    min-height: 8.205128vw;
    margin: 0;
    align-items: center;
    justify-content: center;
    color: #757575;
    font-size: 4.102564vw;
    font-weight: 300;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
    text-align: center;
  }
  .student-plan-mobile__card dd {
    border-left: 1px solid #757575;
  }
  .student-plan-mobile__data-row {
    min-height: 21.025641vw !important;
  }
  .photo-plan-modal--student .student-plan-options {
    width: 64.102564vw;
    margin: 10.25641vw auto 0;
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
  }
  .photo-plan-modal--student .student-plan-options h3 {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
  }
  .photo-plan-modal--student .student-plan-options__grid {
    width: 64.102564vw;
    margin-top: 3.846154vw;
    grid-template-columns: 1fr;
    gap: 3.846154vw;
  }
  .photo-plan-modal--student .student-plan-options__item {
    height: 8.205128vw;
    grid-template-columns: 43.589744vw 20.512821vw;
  }
  .photo-plan-modal--student .student-plan-options__item span,
  .photo-plan-modal--student .student-plan-options__item strong {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    white-space: nowrap;
  }
  .photo-plan-modal--student .student-plan-options > p {
    width: 64.102564vw;
    margin: 10.25641vw 0 0;
    font-size: 3.333333vw;
    line-height: 5.128205vw;
    letter-spacing: 0.65px;
  }
  .photo-plan-modal--night {
    padding: 5.128205vw 7.692308vw;
    align-items: center;
  }
  .photo-plan-modal--night .photo-plan-modal__backdrop {
    background: rgba(82, 82, 82, 0.8);
  }
  .photo-plan-modal--night .photo-plan-modal__dialog {
    width: 84.615385vw;
    height: auto;
    max-height: calc(100dvh - 10.25641vw);
    padding: 0 0 11.538462vw;
    border-radius: 2.564103vw;
    scrollbar-width: none;
  }
  .photo-plan-modal--night .photo-plan-modal__dialog::-webkit-scrollbar {
    display: none;
  }
  .photo-plan-modal--night .photo-plan-modal__close {
    top: 5.128205vw;
    right: 5.128205vw;
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .photo-plan-modal--night .photo-plan-modal__close img {
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .photo-plan-modal--night .photo-plan-modal__dialog > h2 {
    height: 7.948718vw;
    margin: 17.435897vw auto 0;
    font-size: 9.230769vw;
    line-height: 7.948718vw;
  }
  .photo-plan-modal--night .night-plan-table--pc {
    display: none;
  }
  .night-plan-mobile {
    display: flex;
    width: 64.102564vw;
    margin: 6.153846vw auto 0;
    flex-direction: column;
    gap: 10.25641vw;
  }
  .night-plan-mobile__card dl {
    border-bottom-color: #969696;
  }
  .night-plan-mobile__card dl > div:not(:last-child)::after {
    background: #969696;
  }
  .night-plan-mobile__card dt,
  .night-plan-mobile__card dd {
    color: #fff;
  }
  .night-plan-mobile__card dd {
    border-left-color: #969696;
  }
  .night-plan-mobile__card--basic h3 {
    color: #0c0c0c;
    background: #ebebeb;
  }
  .night-plan-mobile__card--premium h3 {
    color: #fff;
    background: #2f2f2f;
  }
  .night-plan-mobile__card--vip h3 {
    color: #0c0c0c;
    background: #ae8853;
  }
  .photo-plan-modal--night .night-plan-options {
    width: 64.102564vw;
    margin: 10.25641vw auto 0;
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
  }
  .photo-plan-modal--night .night-plan-options h3 {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
  }
  .photo-plan-modal--night .student-plan-options__grid {
    width: 64.102564vw;
    margin-top: 3.846154vw;
    grid-template-columns: 1fr;
    gap: 3.846154vw;
  }
  .photo-plan-modal--night .student-plan-options__item {
    height: 8.205128vw;
    grid-template-columns: 41.025641vw 23.076923vw;
  }
  .photo-plan-modal--night .student-plan-options__item span,
  .photo-plan-modal--night .student-plan-options__item strong {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    white-space: nowrap;
  }
  .photo-plan-modal--night .night-plan-options > p {
    width: 80vw;
    margin: 10.25641vw 0 0 -6.923077vw;
    font-size: 3.333333vw;
    line-height: 5.128205vw;
    letter-spacing: 0.65px;
  }
  .night-plan-options {
    margin-top: 5.641026vw;
  }
  .night-plan-options > p {
    margin-top: 3.846154vw;
  }
  .photo-enhancement {
    padding-top: 20.512821vw;
  }
  .photo-enhancement__options {
    width: 84.615385vw;
  }
  .photo-enhancement__options h2 {
    font-size: 8.205128vw;
    line-height: 7.948718vw;
  }
  .photo-enhancement__options ul {
    margin-top: 8.205128vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4.476667vw;
  }
  .photo-enhancement__options li {
    height: 16.527949vw;
    padding: 2.238205vw;
    font-size: 4.102564vw;
    line-height: 11.863077vw;
    letter-spacing: 0.8px;
    white-space: nowrap;
  }
  .photo-enhancement__options > p {
    margin-top: 8.205128vw;
    font-size: 4.102564vw;
    line-height: 7.948718vw;
  }
  .photo-enhancement__feature {
    height: auto;
    grid-template-columns: 1fr;
  }
  .photo-enhancement__feature--retouch {
    margin-top: 10.25641vw;
  }
  .photo-enhancement__feature--design {
    margin-top: 20.512821vw;
  }
  .photo-enhancement__text {
    padding: 0;
  }
  .photo-enhancement__copy,
  .photo-enhancement__feature--retouch .photo-enhancement__copy,
  .photo-enhancement__feature--design .photo-enhancement__copy {
    width: 84.615385vw;
    margin-inline: auto;
  }
  .photo-enhancement__label {
    height: 7.948718vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-enhancement__body {
    margin-top: 2.051282vw;
    gap: 6.153846vw;
  }
  .photo-enhancement__body h2 {
    font-size: 8.205128vw;
    line-height: 15.384615vw;
    letter-spacing: 1.6px;
  }
  .photo-enhancement__body > p {
    width: 100%;
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
    text-align: justify;
  }
  .photo-enhancement__comparison {
    height: 207.222308vw;
    aspect-ratio: auto;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 103.611026vw);
  }
  .photo-enhancement__comparison span {
    font-size: 4.102564vw;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .photo-enhancement__media {
    height: 103.611026vw;
    aspect-ratio: auto;
  }
  .photo-enhancement__feature--design .photo-enhancement__text {
    order: -1;
    padding: 0 0 8.205128vw;
  }
  .photo-faq {
    margin-top: 69.860256vw;
    padding: 13.589744vw 0 17.692308vw;
  }
  .photo-faq__inner {
    width: 84.615385vw;
  }
  .photo-faq h2 {
    height: 7.948718vw;
    font-size: 8.205128vw;
    line-height: 7.948718vw;
    justify-content: flex-start;
  }
  .photo-faq__list {
    margin-top: 16.410256vw;
    gap: 5.128205vw;
  }
  .photo-faq__question {
    min-height: 21.025641vw;
    padding: 2.564103vw 12.307692vw 2.564103vw 6.410256vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-faq__question img {
    right: 0;
    width: 12.307692vw;
    height: 12.307692vw;
  }
  .photo-faq__answer p {
    min-height: 21.025641vw;
    padding: 2.564103vw 6.410256vw;
    align-items: flex-start;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-faq__note {
    margin-top: 16.410256vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-access {
    padding-top: 25.641026vw;
  }
  .photo-access__inner {
    width: 84.615385vw;
  }
  .photo-access__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .photo-access__label {
    height: 7.948718vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.9px;
  }
  .photo-access__body {
    margin-top: 6.153846vw;
    gap: 6.153846vw;
  }
  .photo-access__body h2 {
    font-size: 8.205128vw;
    line-height: 15.384615vw;
    letter-spacing: 1.6px;
  }
  .photo-access__body p {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
    text-align: justify;
    white-space: normal;
  }
  .photo-access__map {
    height: 60.769231vw;
    margin-top: 10.25641vw;
    aspect-ratio: auto;
  }
  .photo-access__line {
    width: 81.794872vw;
    height: 18.205128vw;
    margin: 10.25641vw auto 0;
    font-size: 6.153846vw;
    line-height: 13.589744vw;
    letter-spacing: 1.2px;
  }
  .photo-access__line--pc,
  .photo-access__right .photo-access__address {
    display: none;
  }
  .photo-access__line--sp,
  .photo-access__address--sp {
    display: flex;
  }
  .photo-access__address--sp {
    margin-top: 2.051282vw;
    flex-direction: column;
  }
  .photo-access__visual {
    margin-top: 10.25641vw;
  }
  .photo-access__address {
    margin-top: 2.051282vw;
  }
  .photo-access__address p {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
    white-space: normal;
  }
  .photo-access__divider {
    margin-top: 20.512821vw;
  }
  .photo-gallery {
    height: auto;
    margin-top: 20.25641vw;
    padding: 15.384615vw 0;
  }
  .photo-gallery__inner {
    width: 84.615385vw;
  }
  .photo-gallery h2 {
    height: 7.948718vw;
    font-size: 8.205128vw;
    line-height: 7.948718vw;
  }
  .photo-gallery__grid {
    margin-top: 10.25641vw;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.868205vw;
  }
  .photo-gallery__item--dummy {
    display: none;
  }
  .photo-gallery__socials {
    width: 100%;
    margin-top: 10.25641vw;
    grid-template-columns: 1fr;
    gap: 4.087692vw;
  }
  .photo-gallery__social {
    height: 23.504359vw;
    padding: 3.678974vw 8.788462vw 3.678974vw 8.992821vw;
    justify-content: center;
    gap: 8.175385vw;
  }
  .photo-gallery__social-label {
    width: 48.717949vw;
    gap: 2px;
  }
  .photo-gallery__social-label strong {
    font-size: 8.205128vw;
    line-height: 6.335897vw;
  }
  .photo-gallery__social-label span {
    font-size: 4.102564vw;
    line-height: 6.335897vw;
  }
  .photo-gallery__social-icon {
    width: 10.25641vw;
    height: 10.25641vw;
  }
  .photo-gallery__social-icon img {
    width: 8.717949vw;
    height: 8.717949vw;
  }
  .photo-concept,
  .photo-plan-selector,
  .photo-enhancement,
  .photo-faq,
  .photo-access,
  .photo-gallery {
    scroll-margin-top: 14.358974vw;
  }
  .photo-studio-footer {
    height: 127.064103vw;
    padding: 0;
    margin-top: 25.641026vw;
  }
  .photo-studio-footer__inner {
    width: 84.615385vw;
  }
  .photo-studio-footer__top {
    height: 12.820513vw;
    align-items: center;
  }
  .photo-studio-footer__logo {
    width: 34.498718vw;
    height: 12.820513vw;
    margin-top: 0;
  }
  .photo-studio-footer__logo img {
    width: 34.498718vw;
    height: 12.820513vw;
    aspect-ratio: auto;
  }
  .photo-studio-footer__line {
    width: 43.076923vw;
    height: 10.25641vw;
    border-radius: 1.336154vw;
    font-size: 4.102564vw;
    line-height: 7.082051vw;
  }
  .photo-studio-footer__nav {
    margin-top: 20.512821vw;
    grid-template-columns: repeat(2, 35.25641vw);
    gap: 14.102564vw;
  }
  .photo-studio-footer__nav a {
    width: 100%;
    gap: 2.350513vw;
    font-size: 4.230769vw;
    line-height: 7.28641vw;
  }
  .photo-studio-footer__nav img {
    width: 100%;
    height: 1px;
  }
  .photo-studio-footer__copyright {
    margin-top: 20.512821vw;
    font-size: 3.333333vw;
    letter-spacing: 0.65px;
    white-space: nowrap;
  }
  .creative-hero {
    min-height: 194.871795vw;
    padding-top: 33.333333vw;
  }
  .creative-hero__inner h1 {
    font-size: 25.641026vw;
  }
  .creative-hero__lead {
    display: grid;
    gap: 6.410256vw;
  }
  .creative-hero__lead strong {
    font-size: 5.384615vw;
  }
  .creative-hero__art img {
    width: 43%;
  }
  .support-pair,
  .creative-stat__inner,
  .issue-grid {
    grid-template-columns: 1fr;
  }
  .support-pair img {
    height: 64.102564vw;
  }
  .creative-stat__number strong {
    font-size: 37.179487vw;
  }
  .issue-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .issue-grid article {
    padding: 4.358974vw;
  }
  .issue-grid img {
    height: 33.333333vw;
  }
  .monthly-card {
    padding: 8.974359vw 5.641026vw;
  }
  .monthly-card > div {
    align-items: center;
  }
  .monthly-card > div strong {
    font-size: 19.230769vw;
  }
  .monthly-card ul {
    grid-template-columns: 1fr;
  }
  .flow-list {
    grid-template-columns: 1fr 1fr;
  }
  .flow-list li {
    min-height: 56.410256vw;
  }
  .flow-list h3 {
    margin-top: 9.74359vw;
  }
  .cp-shell {
    width: calc(100% - 10.25641vw);
  }
  .cp-section {
    padding-block: 20.512821vw;
  }
  .cp-label {
    margin-bottom: 5.128205vw;
    font-size: 2.564103vw;
  }
  .cp-section-heading h2,
  .cp-intro__content h2,
  .cp-team__content h2,
  .cp-flow__heading h2,
  .cp-cta h2 {
    font-size: 8.717949vw;
    line-height: 1.55;
  }
  .cp-section-heading--center {
    margin-bottom: 11.538462vw;
    text-align: left;
  }
  .cp-section-heading--split {
    display: grid;
    gap: 7.692308vw;
    margin-bottom: 11.538462vw;
  }
  .cp-section-heading--split > p {
    width: 100%;
    font-size: 3.333333vw;
  }
  .cp-section-heading--split > img {
    width: 21.794872vw;
    margin: 0 8% 0 auto;
  }
  .cp-button {
    width: 100%;
    max-width: 80.769231vw;
    height: 15.384615vw;
    padding-left: 6.153846vw;
    font-size: 3.333333vw;
  }
  .cp-button img {
    width: 11.282051vw;
    height: 11.282051vw;
  }
  .cp-hero__title,
  .cp-hero__statement {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
  }
  .cp-hero__title {
    margin-bottom: 2.471026vw;
    padding: 25.641026vw 0 0;
  }
  .cp-hero__statement {
    min-height: 18.205128vw;
    padding: 3px;
    font-size: 5.641026vw;
    line-height: 8.205128vw;
    letter-spacing: 1.76px;
  }
  .cp-hero__mobile-break {
    display: block;
  }
  .cp-hero__bottom {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
    min-height: 0;
    padding-top: 8.205128vw;
    padding-bottom: 13.846154vw;
    grid-template-columns: 1fr;
    gap: 4.102564vw;
  }
  .cp-hero__achievements {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  .cp-hero__cta {
    width: 100%;
    margin-top: 0;
  }
  .cp-hero__cta p {
    margin-bottom: 4.102564vw;
    color: #0c0c0c;
    font-size: 4.615385vw;
    line-height: 6.153846vw;
    letter-spacing: 0.54px;
    text-align: left;
  }
  .cp-hero__desktop-break {
    display: none;
  }
  .cp-hero__cta a {
    width: 100%;
    min-height: 11.770256vw;
    padding: 2.038974vw;
    border-radius: 2.564103vw;
    background-image: linear-gradient(186.345deg, #aa7421 43.595%, #d6b25f 29.885%, #edd17f 22.269%, #aa7421 31.046%, #d6b25f 64.558%, #edd17f 84.361%, #aa7421 108.73%);
    font-size: 5.128205vw;
    line-height: 7.692308vw;
    letter-spacing: 1px;
  }
  .cp-team__grid {
    grid-template-columns: 1fr;
    gap: 12.820513vw;
  }
  .cp-intro {
    height: 176.923077vw;
  }
  .cp-intro::after {
    display: none;
  }
  .cp-intro::before {
    top: 0;
    left: 50%;
    width: 287.179487vw;
    height: 176.923077vw;
    border-radius: 50% 50% 0 0;
    transform: translateX(-50%);
  }
  .cp-intro__worry {
    top: 51.538462vw;
    left: 5.897436vw;
    width: 18.717949vw;
    height: 25.641026vw;
  }
  .cp-intro__puzzles {
    top: 35.641026vw;
    right: auto;
    left: 4.871795vw;
    width: 16.666667vw;
    height: 14.871795vw;
  }
  .cp-intro__copy {
    top: 13.076923vw;
    left: 4.615385vw;
    width: 82.051282vw;
    text-align: left;
  }
  .cp-intro__copy h2 {
    font-size: 6.153846vw;
    line-height: 8.205128vw;
    letter-spacing: 1.92px;
    white-space: nowrap;
  }
  .cp-intro__copy p {
    width: 57.948718vw;
    margin: 6.153846vw 0 0 24.615385vw;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 1.12px;
    text-align: justify;
  }
  .cp-intro__conclusion {
    top: 87.948718vw;
    left: 2.564103vw;
    width: 84.615385vw;
    padding-bottom: 2.051282vw;
    font-size: 4.615385vw;
    line-height: 4.615385vw;
    letter-spacing: 1.44px;
    white-space: nowrap;
  }
  .cp-intro__support-card {
    top: 111.538462vw;
    left: 3.076923vw;
    width: 83.589744vw;
    height: 38.461538vw;
    border-radius: 1.388974vw;
  }
  .cp-intro__support-label {
    top: -2.466667vw;
    width: auto;
    height: 4.861026vw;
    padding: 1.041795vw 2.564103vw 1.388974vw;
    font-size: 3.589744vw;
    line-height: 4.513846vw;
    letter-spacing: 1.12px;
  }
  .cp-intro__support-card h3 {
    margin-top: 3.894872vw;
    font-size: 3.846154vw;
    line-height: 5.128205vw;
    letter-spacing: 0.75px;
  }
  .cp-intro__support-card > p:not(.cp-intro__support-label) {
    width: 48.717949vw;
    margin-top: 3px;
    font-size: 3.076923vw;
    line-height: 4.102564vw;
    letter-spacing: 0.96px;
  }
  .cp-intro__support-card > p:not(.cp-intro__support-label) br {
    display: none;
  }
  .cp-intro__support-card > a {
    top: 40vw;
    width: -moz-max-content;
    width: max-content;
    min-height: 0;
    padding: 1.282051vw 7.692308vw;
    border-radius: 1.388974vw;
    font-size: 3.589744vw;
    line-height: 3.472308vw;
    letter-spacing: 0.42px;
  }
  .cp-intro__support-figure--left {
    top: 117.948718vw;
    left: 4.615385vw;
    width: 14.358974vw;
    height: 40.25641vw;
  }
  .cp-intro__support-figure--right {
    top: 121.794872vw;
    right: 5.384615vw;
    width: 12.564103vw;
    height: 36.153846vw;
  }
  .cp-reality__inner {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
    padding-top: 30.769231vw;
    padding-bottom: 15.384615vw;
  }
  .cp-reality__heading {
    width: 100vw;
    margin-left: -7.692308vw;
  }
  .cp-reality__heading h2 {
    font-size: 6.153846vw;
    line-height: 6.466154vw;
  }
  .cp-reality__heading p {
    margin-top: 3.007436vw;
    font-size: 3.589744vw;
    line-height: 2.55641vw;
  }
  .cp-reality__problems {
    display: none;
  }
  .cp-reality__problems-mobile {
    display: grid;
    width: 84.615385vw;
    height: 136.764872vw;
    margin-top: 12.307692vw;
    grid-template-columns: repeat(2, 40.25641vw);
    grid-template-rows: repeat(3, 40.118205vw);
    gap: 8.205128vw 4.102564vw;
  }
  .cp-reality__problems-mobile span {
    display: block;
    width: 40.25641vw;
    height: 40.118205vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }
  .cp-reality__problems-mobile span:nth-child(1) {
    background-image: url(../images/services/creative/issue-1.svg);
  }
  .cp-reality__problems-mobile span:nth-child(2) {
    background-image: url(../images/services/creative/issue-2.svg);
  }
  .cp-reality__problems-mobile span:nth-child(3) {
    background-image: url(../images/services/creative/issue-3.webp);
  }
  .cp-reality__problems-mobile span:nth-child(4) {
    background-image: url(../images/services/creative/issue-4.webp);
  }
  .cp-reality__problems-mobile span:nth-child(5) {
    background-image: url(../images/services/creative/issue-5.svg);
  }
  .cp-reality__problems-mobile span:nth-child(6) {
    background-image: url(../images/services/creative/issue-6.svg);
  }
  .cp-reality__solution {
    position: relative;
    width: 82.564103vw;
    height: 334.213077vw;
    margin-top: 12.307692vw;
    margin-left: 1.282051vw;
    grid-template-areas: "left" "logo" "right";
    grid-template-columns: 82.564103vw;
    grid-template-rows: 105.641026vw 55.751538vw 105.641026vw;
    gap: 33.589744vw;
  }
  .cp-reality__logo-lockup {
    position: relative;
    width: 68.546667vw;
    height: 55.751538vw;
    place-items: start center;
  }
  .cp-reality__card {
    position: relative;
    width: 82.564103vw;
    height: 105.641026vw;
  }
  .cp-reality__card--left {
    padding: 12.564103vw 15.384615vw 12.307692vw 15.641026vw;
  }
  .cp-reality__card--right {
    padding: 11.538462vw 11.794872vw 11.282051vw 11.538462vw;
  }
  .cp-reality__card--left::after,
  .cp-reality__card--right::before {
    position: absolute;
    left: 50%;
    width: 4.358974vw;
    height: 23.333333vw;
    background: var(--cp-navy);
    clip-path: polygon(44% 0, 56% 0, 56% 78%, 100% 78%, 50% 100%, 0 78%, 44% 78%);
    content: "";
    transform: translateX(-50%);
  }
  .cp-reality__card--left::after {
    top: 100%;
  }
  .cp-reality__card--right::before {
    top: -23.333333vw;
  }
  .cp-reality__card dl {
    display: flex;
    flex-direction: column;
  }
  .cp-reality__card dl > div {
    flex: none;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .cp-reality__card dl > div:nth-child(1) {
    height: 25.897436vw;
  }
  .cp-reality__card dl > div:nth-child(2) {
    height: 31.538462vw;
    padding-top: 7.692308vw;
  }
  .cp-reality__card dl > div:nth-child(3) {
    padding-top: 7.692308vw;
  }
  .cp-reality__card dt {
    font-size: 4.615385vw;
    line-height: 6.410256vw;
    letter-spacing: 0.9px;
  }
  .cp-reality__card dd {
    margin-top: 3px;
    font-size: 6.153846vw;
    line-height: 8.461538vw;
    letter-spacing: 1.2px;
  }
  .cp-reality__logo--desktop {
    display: none;
  }
  .cp-reality__logo--mobile {
    display: block;
    width: 68.546667vw;
    height: 43.981538vw;
  }
  .cp-reality__logo-caption {
    position: absolute;
    top: 47.29vw;
    left: 0;
    display: block;
    width: 68.546667vw;
    margin: 0;
    color: #0c0c0c;
    font-size: 7.948718vw;
    font-weight: 600;
    line-height: 8.461538vw;
    letter-spacing: 1.55px;
    text-align: center;
  }
  .cp-reality__cta {
    display: block;
    width: 84.615385vw;
    height: 30vw;
    margin-top: 10.25641vw;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(to bottom, transparent 0 6.153846vw, var(--cp-navy) 6.153846vw 100%);
    font-size: 4.615385vw;
    line-height: 8.205128vw;
    letter-spacing: 0;
  }
  .cp-reality__cta::before {
    inset: 0 0 auto;
    width: 100%;
    height: 17.435897vw;
    background: #d6b25f;
    clip-path: polygon(0 0, 100% 0, 100% 82.16%, 50% 100%, 0 82.16%);
  }
  .cp-reality__cta .cp-reality__cta-question {
    position: absolute;
    top: 3.589744vw;
    left: 3.076923vw;
    display: block;
    width: 78.461538vw;
    max-width: none;
    color: #000;
    text-align: center;
    white-space: nowrap;
    transform: none;
  }
  .cp-reality__cta-break {
    display: none;
  }
  .cp-reality__cta .cp-reality__cta-action {
    position: absolute;
    top: 19.74359vw;
    left: 12.564103vw;
    display: block;
    width: 50.512821vw;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    transform: none;
  }
  .cp-reality__cta img {
    position: absolute;
    top: 20.25641vw;
    right: 12.307692vw;
    width: 7.179487vw;
    height: 7.179487vw;
    transform: none;
  }
  .cp-reality__inner {
    padding-bottom: 20.512821vw;
  }
  .cp-fit__inner {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
    padding-top: 20.512821vw;
  }
  .cp-fit__inner h2 {
    font-size: 8.205128vw;
    line-height: 10.25641vw;
  }
  .cp-fit__list {
    margin-top: 8.205128vw;
    gap: 5.128205vw;
  }
  .cp-fit__list li {
    box-sizing: border-box;
    height: 21.538462vw;
    min-height: 21.538462vw;
    padding: 2.564103vw;
    font-size: 4.615385vw;
    line-height: 8.205128vw;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .cp-fit__mobile-break {
    display: block;
  }
  .cp-fit__stage {
    height: 84.74359vw;
    margin-top: 23.846154vw;
  }
  .cp-fit__person--left {
    top: 40vw;
    left: 0;
    width: 35.997692vw;
    height: 21.153846vw;
  }
  .cp-fit__person--right {
    top: 40.540769vw;
    right: 0;
    left: auto;
    width: 36.778974vw;
    height: 20.613077vw;
  }
  .cp-fit__offer {
    top: 0;
    width: 100vw;
  }
  .cp-fit__offer p {
    height: 10.25641vw;
    font-size: 6.823846vw;
    line-height: 10.008205vw;
  }
  .cp-fit__offer-title {
    width: 84.615385vw;
    height: 25.930513vw;
    margin-top: 2.02641vw;
  }
  .cp-fit__band {
    height: 27.809744vw;
    padding: 6.591538vw 0 0;
    align-items: flex-start;
    clip-path: none;
  }
  .cp-fit__band p {
    font-size: 4.102564vw;
    line-height: 6.153846vw;
  }
  .cp-fit__band-break {
    display: block;
  }
  .cp-fit {
    height: auto;
  }
  .cp-plans {
    height: auto;
  }
  .cp-plans__inner {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
    padding-top: 20.512821vw;
    padding-bottom: 0;
  }
  .cp-plans__inner > h2 {
    height: 33.846154vw;
    font-size: 6.153846vw;
    line-height: 11.282051vw;
    white-space: nowrap;
  }
  .cp-plans__heading-line {
    display: block;
  }
  .cp-plans__desktop-mark {
    display: none;
  }
  .cp-plans__mobile-mark {
    display: inline;
  }
  .cp-plans__grid {
    position: relative;
    display: block;
    width: 84.615385vw;
    height: 274.822051vw;
    margin-top: 10.25641vw;
  }
  .cp-plans__column,
  .cp-plans__services {
    display: contents;
  }
  .cp-plans__column--standard {
    min-height: 0;
  }
  .cp-plans__column h3 {
    position: absolute;
    left: 0;
    width: 84.615385vw;
    height: 20.512821vw;
    border-radius: 2.197692vw;
    font-size: 14.358974vw;
    line-height: 9.670256vw;
  }
  .cp-plans__column--starter h3 {
    top: 0;
  }
  .cp-plans__column--standard h3 {
    top: 25.567692vw;
  }
  .cp-plans__column--growth h3 {
    top: 51.135641vw;
  }
  .cp-plans__service {
    position: absolute;
    left: 0;
    width: 84.615385vw;
    height: 27.033077vw;
    padding: 3.931538vw 1.638205vw 1.638205vw;
    gap: 1.638205vw;
    border-width: 0.639px;
    border-radius: 1.638205vw;
  }
  .cp-plans__column--starter .cp-plans__service:nth-child(1) {
    top: 76.776667vw;
  }
  .cp-plans__column--starter .cp-plans__service:nth-child(2) {
    top: 108.205128vw;
  }
  .cp-plans__column--growth .cp-plans__service:nth-child(1) {
    top: 139.63359vw;
  }
  .cp-plans__column--growth .cp-plans__service:nth-child(2) {
    top: 171.062308vw;
  }
  .cp-plans__service strong {
    font-size: 10.25641vw;
    line-height: 7.207692vw;
  }
  .cp-plans__service span {
    font-size: 4.102564vw;
    line-height: 7.207692vw;
  }
  .cp-plans__price {
    top: 208.351795vw;
    left: 0;
    width: 84.615385vw;
    height: 46.935128vw;
    transform: none;
  }
  .cp-plans__price span {
    width: 19.170769vw;
    height: 13.441538vw;
    font-size: 7.051282vw;
    line-height: 14.921026vw;
  }
  .cp-plans__price span:last-child {
    width: 27.103333vw;
  }
  .cp-plans__price strong {
    width: 36.137949vw;
    height: 46.935128vw;
    margin-inline: -1.101795vw;
    font-size: 48.461538vw;
    line-height: 14.921026vw;
  }
  .cp-plans__cta {
    top: 259.389487vw;
    left: 0;
    width: 84.615385vw;
    min-height: 15.432821vw;
    padding: 2.20359vw;
    border-radius: 4.407179vw;
    background-image: linear-gradient(188.295deg, #aa7421 43.595%, #d6b25f 29.885%, #edd17f 22.269%, #aa7421 31.046%, #d6b25f 64.558%, #edd17f 84.361%, #aa7421 108.73%);
    font-size: 6.666667vw;
    line-height: 11.017692vw;
    letter-spacing: 0.78px;
    transform: none;
  }
  .cp-plans__note {
    margin-top: 10.25641vw;
    font-size: 4.615385vw;
    line-height: 8.205128vw;
    letter-spacing: 0;
  }
  .cp-plans__note-break {
    display: block;
  }
  .cp-footer-works {
    padding-bottom: 12.820513vw;
  }
  .creative-partner .cp-footer-works {
    padding-top: 20.512821vw;
    padding-bottom: 20.632564vw;
  }
  .cp-footer-works__inner {
    width: min(100% - 10.25641vw, 84.615385vw);
    padding-top: 12.820513vw;
  }
  .creative-partner .cp-footer-works__inner {
    padding-top: 20.25641vw;
  }
  .creative-partner .cp-footer-works__title,
  .service-training .cp-footer-works__title {
    height: 10.25641vw;
    margin-bottom: 10.25641vw;
    font-size: 10.25641vw;
    line-height: 10.25641vw;
    letter-spacing: 2px;
  }
  .creative-partner .cp-footer-works__title {
    display: none;
  }
  .cp-footer-works__grid {
    grid-template-columns: 1fr;
    gap: 12.820513vw;
  }
  .cp-footer-works__marquee {
    margin-top: 12.820513vw;
  }
  .creative-partner .cp-footer-works__grid {
    gap: 20.512821vw;
  }
  .creative-partner .cp-footer-works__marquee {
    margin-top: 23.246154vw;
  }
  .creative-partner .cp-footer-works__marquee .home-work-marquee__track,
  .creative-partner .cp-footer-works__marquee .home-work-marquee__group {
    gap: 5.626923vw;
  }
  .creative-partner .cp-footer-works__marquee .home-work-marquee__track {
    margin-left: calc(50% - 195.641026vw);
    animation-name: atraps-cp-work-marquee;
  }
  .creative-partner .cp-footer-works__marquee .home-work-marquee__group img {
    width: 73.713333vw;
    height: auto;
  }
  .creative-partner .cp-footer-works__marquee .home-work-marquee__footer {
    margin-top: 23.171026vw;
  }
  .creative-partner .contact-banner__lead {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.8px;
  }
  .cp-footer-about__link {
    font-size: 4.102564vw;
  }
  .cp-footer-services {
    padding-top: 12.820513vw;
    padding-bottom: 17.948718vw;
  }
  .creative-partner .cp-footer-services {
    padding-top: 12.564103vw;
    padding-bottom: 15.941026vw;
  }
  .creative-partner .cp-footer-about {
    display: none;
  }
  @keyframes atraps-cp-work-marquee {
    to {
      transform: translateX(calc(-50% - 2.81359vw));
    }
  }
  .service-training .training-footer-works {
    padding-top: 12.820513vw;
    padding-bottom: 12.820513vw;
  }
  .cp-answer__pieces {
    width: 21.794872vw;
    margin-bottom: 7.692308vw;
  }
  .cp-answer h2 {
    font-size: 9.487179vw;
    line-height: 1.5;
  }
  .cp-answer__inner > p:last-child {
    margin-top: 7.692308vw;
    font-size: 3.589744vw;
    line-height: 2;
    text-align: left;
  }
  .cp-answer__puzzle {
    width: 30.769231vw;
    height: 30.769231vw;
    border-radius: 5.641026vw;
  }
  .cp-answer__puzzle::before,
  .cp-answer__puzzle::after {
    width: 11.282051vw;
    height: 11.282051vw;
  }
  .cp-answer__puzzle::before {
    top: -6.153846vw;
    left: 9.230769vw;
  }
  .cp-answer__puzzle::after {
    top: 9.230769vw;
    right: -6.153846vw;
  }
  .cp-strength-grid {
    grid-template-columns: 1fr;
    gap: 4.102564vw;
  }
  .cp-strength-card {
    min-height: 138.461538vw;
    padding: 7.179487vw;
    border-radius: 4.615385vw;
  }
  .cp-strength-card__number {
    top: 5.128205vw;
    right: 5.128205vw;
    font-size: 14.871795vw;
  }
  .cp-strength-card__copy {
    width: 72%;
  }
  .cp-strength-card h3 {
    font-size: 6.410256vw;
  }
  .cp-strength-card__copy > p:last-child {
    font-size: 3.333333vw;
    line-height: 1.9;
  }
  .cp-strength-card > img {
    right: 1.282051vw;
    width: 37.179487vw;
    max-height: 82.051282vw;
  }
  .cp-stat {
    z-index: 2;
    margin-top: -10.25641vw;
    padding: 16.410256vw 0 19.487179vw;
  }
  .cp-stat__inner {
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
  }
  .cp-stat__top {
    height: 45.384615vw;
    grid-template-columns: 38.461538vw 42.307692vw;
    gap: 3.846154vw;
  }
  .cp-stat__number {
    margin: 0;
    align-self: start;
  }
  .cp-stat__number img {
    width: 38.461538vw;
    height: 25.874359vw;
  }
  .cp-stat__headline h2 {
    margin-top: 2px;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 0.7px;
    text-align: justify;
  }
  .cp-stat__source {
    position: absolute;
    top: 29.976923vw;
    left: 0;
    width: 64.358974vw;
    gap: 3px;
    margin-top: 0;
  }
  .cp-stat__source p {
    font-size: 2.564103vw;
    line-height: 2.099487vw;
    letter-spacing: 0.5px;
    white-space: nowrap;
  }
  .cp-stat__source a {
    font-size: 2.564103vw;
    line-height: 2.099487vw;
    letter-spacing: 0.5px;
    white-space: nowrap;
  }
  .cp-stat__body {
    width: 84.615385vw;
    height: 45.128205vw;
    min-height: 45.128205vw;
    margin-top: 0;
    padding: 3.846154vw 0;
    border-color: var(--cp-navy);
  }
  .cp-stat__body p {
    width: 82.820513vw;
    margin-left: 1.282051vw;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 1.12px;
    text-align: justify;
  }
  .cp-stat__character {
    position: absolute;
    top: 26.153846vw;
    right: 0;
    display: block;
    width: 16.923077vw;
    height: 19.487179vw;
    margin: 0;
  }
  .cp-insight {
    min-height: 0;
    padding: 12.820513vw 0 25.641026vw;
    overflow: visible;
  }
  .cp-insight__inner {
    display: flex;
    width: 84.615385vw;
    max-width: calc(100% - 10.25641vw);
    flex-direction: column;
  }
  .cp-insight__label {
    width: 41.226154vw;
    height: 6.871026vw;
    margin-left: 1.282051vw;
    font-size: 5.344103vw;
    line-height: 9.543077vw;
    letter-spacing: 1.667px;
  }
  .cp-insight__label::after {
    bottom: -3.181026vw;
    left: 18.45vw;
    width: 4.326154vw;
    height: 4.326154vw;
  }
  .cp-insight__copy {
    width: 84.615385vw;
    margin: 3.406667vw 0 0 1.282051vw;
  }
  .cp-insight__copy h2 {
    font-size: 5.344103vw;
    line-height: 9.543077vw;
    letter-spacing: 1.667px;
    text-align: justify;
  }
  .cp-insight__copy > p {
    width: 84.615385vw;
    margin-top: 4.17vw;
    font-size: 3.589744vw;
    line-height: 6.153846vw;
    letter-spacing: 1.12px;
    text-align: justify;
  }
  .cp-insight__fields {
    width: 84.615385vw;
    margin: 5.871795vw 0 0 2.021px;
  }
  .cp-insight__fields > p {
    font-size: 4.887436vw;
    line-height: 6.720256vw;
    white-space: nowrap;
  }
  .cp-insight__field-row {
    gap: 2.729487vw;
  }
  .cp-insight__field-row--three {
    margin-top: 4.306923vw;
  }
  .cp-insight__field-row--four {
    margin-top: 3.360256vw;
  }
  .cp-insight__field-row span {
    width: 19.106667vw;
    height: 19.106667vw;
    flex-basis: 19.106667vw;
    border-width: 0.56px;
    font-size: 2.749231vw;
    line-height: 4.123846vw;
    letter-spacing: 0.858px;
  }
  .cp-insight__illustration {
    width: 58.974359vw;
    height: 39.230769vw;
    max-width: none;
    margin: 5.861538vw auto 0;
    bottom: -17.948718vw;
  }
  .cp-deliverable-list {
    grid-template-columns: 1fr;
  }
  .cp-deliverable-list li {
    min-height: 21.025641vw;
    padding: 5.128205vw 2.051282vw;
    grid-template-columns: 8.974359vw 1fr auto;
    gap: 2.564103vw;
    font-size: 3.589744vw;
  }
  .cp-deliverable-list li:nth-child(odd) {
    border-right: 0;
  }
  .cp-deliverable-list i {
    width: 8.205128vw;
    height: 8.205128vw;
  }
  .cp-team__visual {
    min-height: 93.589744vw;
  }
  .cp-team__visual img {
    right: -5.128205vw;
    width: 120%;
  }
  .cp-team__content > p:not(.cp-label) {
    margin-top: 7.179487vw;
    font-size: 3.589744vw;
    line-height: 2;
  }
  .cp-team__content li {
    padding: 2.820513vw 3.589744vw 2.820513vw 10.769231vw;
    font-size: 3.076923vw;
  }
  .cp-plan-card {
    width: calc(100% - 2.051282vw);
    padding: 8.205128vw 5.128205vw;
    border-radius: 4.615385vw;
    box-shadow: 2.051282vw 2.051282vw 0 var(--cp-navy);
  }
  .cp-plan-card__heading {
    display: grid;
    gap: 3.589744vw;
  }
  .cp-plan-card__heading p {
    font-size: 4.358974vw;
  }
  .cp-plan-card__heading span {
    width: -moz-max-content;
    width: max-content;
  }
  .cp-plan-card__price {
    margin: 10.769231vw -2.564103vw 8.974359vw;
    gap: 1.538462vw;
  }
  .cp-plan-card__price span {
    margin-bottom: 2.051282vw;
    font-size: 2.564103vw;
  }
  .cp-plan-card__price strong {
    font-size: clamp(13.846154vw, 18vw, 18.974359vw);
  }
  .cp-plan-card__price small {
    margin-bottom: 1.025641vw;
    font-size: 3.333333vw;
  }
  .cp-plan-card ul {
    grid-template-columns: 1fr;
    padding: 5.641026vw;
  }
  .cp-plan-card li {
    font-size: 3.076923vw;
  }
  .cp-flow__heading {
    display: grid;
    gap: 9.74359vw;
    margin-bottom: 11.538462vw;
  }
  .cp-flow__heading h2 {
    font-size: 7.692308vw;
    letter-spacing: 0.02em;
  }
  .cp-flow__heading > img {
    width: 100%;
    max-width: 92.307692vw;
  }
  .cp-flow-list {
    grid-template-columns: 1fr;
  }
  .cp-flow-list li {
    min-height: 0;
    padding: 7.179487vw 5.641026vw 8.974359vw;
    border-right: 0;
    border-bottom: 1px solid var(--cp-navy);
  }
  .cp-flow-list li:nth-child(-n+2) {
    border-bottom: 1px solid var(--cp-navy);
  }
  .cp-flow-list li:last-child {
    border-bottom: 0;
  }
  .cp-flow-list li:not(:last-child)::after {
    top: auto;
    right: 5.641026vw;
    bottom: -3.846154vw;
    content: "↓";
    transform: none;
  }
  .cp-flow-list li:nth-child(2)::after {
    display: grid;
  }
  .cp-flow-list span {
    font-size: 9.74359vw;
  }
  .cp-flow-list h3 {
    margin: 8.205128vw 0 3.076923vw;
  }
  .cp-voice-grid {
    grid-template-columns: 1fr;
    gap: 4.102564vw;
  }
  .cp-voice-card > img {
    height: 60.25641vw;
  }
  .cp-voice-card > div {
    padding: 6.410256vw;
  }
  .cp-voice-card p {
    font-size: 3.589744vw;
  }
  .cp-cta {
    margin-bottom: 16.666667vw;
    padding-block: 25.641026vw;
  }
  .cp-cta__inner > p:not(.cp-label) {
    margin: 7.179487vw 0 8.974359vw;
    font-size: 3.333333vw;
  }
  .cp-cta__inner > p:not(.cp-label) br {
    display: none;
  }
  .cp-cta__shape--one {
    top: -16.666667vw;
    left: -17.948718vw;
    width: 43.589744vw;
    height: 43.589744vw;
  }
  .cp-cta__shape--two {
    right: -20.512821vw;
    bottom: -23.076923vw;
    width: 51.282051vw;
    height: 51.282051vw;
  }
  .training-hero {
    height: 179.74359vw;
  }
  .training-hero::before,
  .training-hero::after {
    position: absolute;
    content: "";
    pointer-events: none;
  }
  .training-hero::before {
    z-index: 1;
    top: 130.769231vw;
    left: 56.153846vw;
    width: 64.615385vw;
    height: 64.615385vw;
    border-radius: 50%;
    background: #00d4c2;
  }
  .training-hero::after {
    z-index: 2;
    top: 155.897436vw;
    right: 0;
    left: 0;
    height: 44.358974vw;
    background: #fff;
  }
  .training-hero__marquee {
    --training-hero-marquee-width: 256.705128vw;
    --training-hero-marquee-half: 128.352564vw;
    --training-hero-marquee-offset: 9.121795vw;
    --training-hero-marquee-height: 31.794872vw;
    top: 20.512821vw;
    height: var(--training-hero-marquee-height);
  }
  .training-hero__marquee-track {
    animation-duration: 16s;
  }
  .training-hero__lead {
    z-index: 5;
    top: 62.358974vw;
    left: 7.692308vw;
    width: 84.615385vw;
    color: #00d4c2;
    font-size: 8.717949vw;
    line-height: 14.113077vw;
    letter-spacing: 0.08em;
  }
  .training-hero__art {
    z-index: 3;
    top: 126.153846vw;
    left: 46.666667vw;
    width: 55.384615vw;
    height: 42.307692vw;
    transform: none;
  }
  .training-hero__copy {
    z-index: 5;
    top: 95.730769vw;
    left: 7.692308vw;
    width: 84.838205vw;
  }
  .training-hero__copy h1 {
    color: #595858;
    font-size: 7.179487vw;
    line-height: 12.564103vw;
    letter-spacing: 0.074em;
  }
  .training-hero__copy a {
    position: absolute;
    top: 69.666667vw;
    left: 0;
    width: 84.615385vw;
    min-height: 11.770256vw;
    margin: 0;
    padding: 2.038974vw;
    border-radius: 2.564103vw;
    font-size: 5.128205vw;
    line-height: 7.692308vw;
    letter-spacing: 0.05em;
  }
  .training-hero__circle {
    z-index: 4;
    top: 154.102564vw;
    left: -10.769231vw;
    width: 25.897436vw;
    height: auto;
  }
  .training-about {
    height: 396.666667vw;
    padding: 0;
  }
  .training-about::before {
    top: 125.128205vw;
    bottom: auto;
    width: 256.410256vw;
    height: 256.410256vw;
  }
  .training-about::after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 336.153846vw;
    background: #fff;
    content: "";
  }
  .training-about__plus {
    display: block;
    top: 39.553077vw;
    right: auto;
    left: 87.692308vw;
    width: 3.412051vw;
    height: 4.133333vw;
  }
  .training-about__plus::before {
    top: 1.65641vw;
    width: 3.412051vw;
    height: 0.820513vw;
  }
  .training-about__plus::after {
    left: 1.295897vw;
    width: 0.820513vw;
    height: 4.133333vw;
  }
  .training-about__shape--right {
    top: 39.866667vw;
    right: 2.564103vw;
    left: 92.307692vw;
    width: 4.920256vw;
    height: 9.771282vw;
  }
  .training-about__shape--left {
    top: 70.151282vw;
    left: -2.564103vw;
    width: 9.355385vw;
    height: 4.781795vw;
  }
  .training-about__label {
    position: absolute;
    top: 8.717949vw;
    left: 50%;
    width: 84.615385vw;
    margin: 0;
    padding-bottom: 3.94vw;
    font-size: 4.102564vw;
    line-height: 4.265128vw;
    letter-spacing: 0.08em;
    transform: translateX(-50%);
  }
  .training-about__heading {
    position: absolute;
    top: 24.358974vw;
    left: 7.692308vw;
    width: 84.615385vw;
    height: 51.538462vw;
    margin: 0;
    transform: none;
  }
  .training-about__heading > span {
    margin-bottom: 2.051282vw;
    font-size: 4.102564vw;
    line-height: 8.39359vw;
    letter-spacing: 0.08em;
  }
  .training-about__heading strong {
    font-size: 8.205128vw;
    line-height: 10.25641vw;
    letter-spacing: 0.08em;
  }
  .training-about__heading em {
    display: block;
  }
  .training-about__features {
    position: absolute;
    top: 78.717949vw;
    left: 11.025641vw;
    display: flex;
    width: 77.948718vw;
    height: 211.025641vw;
    margin: 0;
    flex-direction: column;
    gap: 5.128205vw;
    transform: none;
  }
  .training-about__features li {
    position: relative;
    height: 66.923077vw;
    flex: 0 0 66.923077vw;
  }
  .training-about__features article {
    width: 77.948718vw;
    height: 30.769231vw;
    margin: 13.333333vw 0 0;
    border-radius: 2.564103vw;
  }
  .training-about__features li:last-child article {
    border-radius: 5.128205vw;
  }
  .training-about__features article > span {
    top: -13.589744vw;
    width: 17.948718vw;
    height: 17.948718vw;
    padding-bottom: 1.025641vw;
    border-radius: 11.025641vw;
    font-size: 6.153846vw;
    line-height: 8.717949vw;
    letter-spacing: 0.08em;
  }
  .training-about__features article::after {
    bottom: -5.384615vw;
    border-top-width: 5.384615vw;
    border-right-width: 3.589744vw;
    border-left-width: 3.589744vw;
  }
  .training-about__features h3 {
    position: relative;
    top: 1.666667vw;
    font-size: 4.615385vw;
    line-height: 8.205128vw;
    letter-spacing: 0.08em;
  }
  .training-about__features li > p {
    position: absolute;
    top: 51.538462vw;
    left: 50%;
    width: -moz-max-content;
    width: max-content;
    margin: 0;
    font-size: 4.615385vw;
    line-height: 7.692308vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .training-about__statement {
    position: absolute;
    top: 300vw;
    left: 7.692308vw;
    width: 84.615385vw;
    height: 51.282051vw;
    margin: 0;
    font-size: 6.153846vw;
    line-height: 10.25641vw;
    letter-spacing: 0.08em;
    text-align: justify;
    transform: none;
  }
  .training-about__statement br {
    display: none;
  }
  .training-about__person {
    position: absolute;
    top: 358.974359vw;
    left: 32.564103vw;
    width: 34.769231vw;
    height: 37.692308vw;
    margin: 0;
    transform: none;
  }
  .training-comparison {
    height: 591.025641vw;
    margin-top: -2.051282vw;
    padding: 0;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7.692308vw), 50% 100%, 0 calc(100% - 7.692308vw));
  }
  .training-comparison > h2,
  .training-comparison__lead,
  .training-comparison__grid {
    position: absolute;
    transform: none;
  }
  .training-comparison > h2 {
    top: 16.923077vw;
    left: 10.512821vw;
    width: 79.230769vw;
    font-size: 6.153846vw;
    line-height: 11.538462vw;
    letter-spacing: 0.073em;
    white-space: normal;
  }
  .training-comparison__lead {
    top: 45.128205vw;
    left: 7.692308vw;
    width: 84.615385vw;
    margin: 0;
    font-size: 4.102564vw;
    line-height: 8.461538vw;
    letter-spacing: 0.08em;
    text-align: justify;
  }
  .training-comparison__lead br {
    display: none;
  }
  .training-comparison__plus {
    top: 0;
    right: auto;
    left: 79.230769vw;
    width: 7.692308vw;
    height: 7.692308vw;
  }
  .training-comparison__plus::before {
    top: 2.833846vw;
    width: 7.692308vw;
    height: 2.024359vw;
  }
  .training-comparison__plus::after {
    left: 2.833846vw;
    width: 2.024359vw;
    height: 7.692308vw;
  }
  .training-comparison__bubble--large {
    top: 238.205128vw;
    left: -10.512821vw;
    width: 25.641026vw;
    height: 25.641026vw;
  }
  .training-comparison__bubble--small {
    display: none;
  }
  .training-comparison__grid {
    top: 105.128205vw;
    left: 50%;
    display: flex;
    width: 77.948718vw;
    height: 456.410256vw;
    margin: 0;
    flex-direction: column;
    gap: 25.641026vw;
    transform: translateX(-50%);
  }
  .training-comparison__column {
    width: 77.948718vw;
    height: 215.384615vw;
  }
  .training-comparison__column > h3 {
    width: 77.948718vw;
    height: 13.076923vw;
    font-size: 8.205128vw;
    line-height: 13.076923vw;
  }
  .training-comparison__column--program > h3 {
    font-size: 11.794872vw;
  }
  .training-comparison__arrow {
    top: 44.871795vw;
    left: calc(50% + 2.820513vw);
    height: 5.66459vw;
  }
  .training-comparison__column--school .training-comparison__arrow {
    width: 131.410256vw;
  }
  .training-comparison__column--program .training-comparison__arrow {
    width: 154.74359vw;
  }
  .training-comparison__column ol {
    top: 28.974359vw;
    width: 77.948718vw;
    gap: 5.128205vw;
  }
  .training-comparison__column li,
  .training-comparison__outcome {
    width: 77.948718vw;
    font-size: 6.153846vw;
    line-height: 11.538462vw;
  }
  .training-comparison__column li {
    height: 16.153846vw;
    border-radius: 5.128205vw;
  }
  .training-comparison__duration {
    top: 141.025641vw;
    left: 34.102564vw;
    width: 8.205128vw;
    padding: 2.564103vw 0;
    font-size: 6.153846vw;
    line-height: 6.923077vw;
  }
  .training-comparison__outcome {
    border-radius: 5.128205vw;
  }
  .training-comparison__column--school .training-comparison__outcome {
    top: 177.948718vw;
    height: 37.435897vw;
  }
  .training-comparison__column--program .training-comparison__outcome {
    top: 199.230769vw;
    height: 16.153846vw;
  }
  .training-process {
    padding: 46.666667vw 5.128205vw 10.25641vw;
  }
  .training-process__art {
    top: 11.538462vw;
    right: auto;
    left: 70.25641vw;
    width: 29.487179vw;
    height: 23.645385vw;
  }
  .training-process > h2 {
    position: absolute;
    top: 15.128205vw;
    left: 7.692308vw;
    width: 65.897436vw;
    margin: 0;
    color: #00d4c2;
    font-size: 6.153846vw;
    line-height: 8.205128vw;
    letter-spacing: 0.08em;
    text-align: left;
    transform: none;
    white-space: nowrap;
  }
  .training-process > h2 span {
    display: block;
  }
  .training-process__grid {
    left: 0.5px;
    width: 84.615385vw;
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 4.372821vw;
  }
  .training-process__grid li {
    height: 74.557692vw;
    padding: 7.215385vw 3.061026vw 6.996667vw 3.279744vw;
    gap: 6.122051vw;
    border-width: 0.853px;
    border-radius: 2.18641vw;
  }
  .training-process__grid span {
    font-size: 4.615385vw;
    line-height: 9.838974vw;
  }
  .training-process__grid i {
    width: 10.27641vw;
  }
  .training-process__grid h3 {
    color: #00d4c2;
    font-size: 8.205128vw;
    line-height: 9.838974vw;
  }
  .training-process__grid p {
    font-size: 3.846154vw;
    line-height: 7.433846vw;
  }
  .training-process__message {
    left: 0.5px;
    width: 79.230769vw;
    margin: 10.25641vw auto 0;
    font-size: 6.153846vw;
    line-height: 13.589744vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .training-process__message span {
    display: block;
  }
  .training-process__message br {
    display: none;
  }
  .training-support {
    height: 310.276154vw;
    padding: 0;
  }
  .training-support__arch {
    display: none;
  }
  .training-support__title {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 3.333333vw;
    display: flex;
    width: 93.076923vw;
    height: 22.820513vw;
    padding: 2.564103vw 5.128205vw 3.846154vw;
    overflow: visible;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    clip: auto;
    border-radius: 2.564103vw;
    color: #fff;
    background: #00d4c2;
    font-size: 5.128205vw;
    font-weight: 700;
    line-height: 8.205128vw;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .training-support__title span {
    display: block;
  }
  .training-support__pointer {
    position: absolute;
    z-index: 2;
    top: 18.994103vw;
    left: calc(50% - 4.615385vw);
    display: flex;
    width: 8.974359vw;
    height: 8.974359vw;
    align-items: flex-start;
    justify-content: center;
  }
  .training-support__pointer img {
    display: block;
    width: 7.772051vw;
    height: 6.730769vw;
    transform: rotate(180deg);
  }
  .training-support__visual {
    display: none;
  }
  .training-support__visual-sp {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
  }
  .training-support__badges {
    position: absolute;
    top: 33.076923vw;
    left: 7.692308vw;
    display: grid;
    width: 84.615385vw;
    height: 84.820769vw;
    grid-template-columns: repeat(2, 40.334103vw);
    grid-template-rows: repeat(2, 40.436667vw);
    gap: 3.947179vw;
  }
  .training-support__badges img {
    display: block;
    width: 40.334103vw;
    height: 40.436667vw;
    max-width: none;
  }
  .training-support__heading {
    position: absolute;
    top: 132.256667vw;
    left: 13.589744vw;
    display: block;
    width: 72.777179vw;
    height: 23.024872vw;
    max-width: none;
  }
  .training-support__person {
    position: absolute;
    z-index: 2;
    top: 157.435897vw;
    left: 63.672564vw;
    display: block;
    width: 33.571282vw;
    height: 40.512821vw;
    max-width: none;
  }
  .training-support__result {
    position: absolute;
    top: 169.640513vw;
    left: 7.692308vw;
    display: block;
    width: 84.615641vw;
    height: 103.842564vw;
    max-width: none;
  }
  .training-support__cta {
    position: absolute;
    z-index: 2;
    top: 289.763333vw;
    left: 7.692308vw;
    width: 84.615385vw;
    height: 20.512821vw;
    min-height: 20.512821vw;
    margin: 0;
    padding: 2.038974vw;
    border-radius: 2.564103vw;
    font-size: 7.179487vw;
    line-height: 10.194615vw;
    transform: none;
  }
  .training-support__cta:hover {
    margin-top: 0;
  }
  .training-support__plus {
    top: 255.917179vw;
    left: 3.333333vw;
    display: block;
    width: 13.333333vw;
    height: 13.333333vw;
  }
  .training-support__plus::before {
    top: 4.912308vw;
    width: 13.333333vw;
    height: 3.508718vw;
  }
  .training-support__plus::after {
    left: 4.912308vw;
    width: 3.508718vw;
    height: 13.333333vw;
  }
  .training-support__circle {
    display: none;
  }
  .training-benefits {
    height: 390.512821vw;
    margin-top: 0;
    padding: 0;
  }
  .training-benefits::before {
    position: absolute;
    z-index: 0;
    top: 23.846154vw;
    left: 50%;
    width: 256.410256vw;
    height: 256.410256vw;
    clip-path: inset(0 0 27.948718vw 0);
    border: 2px solid #00d4c2;
    border-radius: 50%;
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
  }
  .training-benefits::after {
    position: absolute;
    z-index: 1;
    top: 29.74359vw;
    left: 86.923077vw;
    width: 20vw;
    height: 10.512821vw;
    border-radius: 20vw 20vw 0 0;
    background: #00d4c2;
    content: "";
    pointer-events: none;
  }
  .training-benefits__label {
    position: absolute;
    top: 49.230769vw;
    left: 7.692308vw;
    width: 84.871795vw;
    height: 22.820513vw;
    margin: 0;
    padding: 0;
    border: 0;
    color: #595858;
    font-size: 5.641026vw;
    line-height: 16.666667vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
    transform: none;
  }
  .training-benefits__label::after {
    position: absolute;
    top: 20.769231vw;
    left: 0.5px;
    width: 84.615385vw;
    height: 1px;
    background: #595858;
    content: "";
  }
  .training-benefits__copy {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    transform: none;
  }
  .training-benefits__copy h2 {
    position: absolute;
    top: 84.358974vw;
    left: 7.692308vw;
    width: 84.615385vw;
    margin: 0;
    color: #00d4c2;
    font-size: 10.25641vw;
    line-height: 17.948718vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .training-benefits__copy p {
    position: absolute;
    left: 7.692308vw;
    width: 83.138205vw;
    margin: 0;
    font-size: 4.102564vw;
    line-height: 8.461538vw;
  }
  .training-benefits__copy h2 + p {
    top: 144.102564vw;
    margin: 0;
    letter-spacing: 0.08em;
  }
  .training-benefits__copy h3 {
    position: absolute;
    top: 183.95641vw;
    left: 7.704359vw;
    width: 84.615385vw;
    margin: 0;
    color: #00d4c2;
    font-size: 7.179487vw;
    line-height: 11.282051vw;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }
  .training-benefits__copy p + h3 {
    margin-top: 0;
  }
  .training-benefits__copy h3 + p {
    top: 213.075641vw;
    margin: 0;
    letter-spacing: 0.04em;
  }
  .training-benefits__chart {
    display: none;
  }
  .training-benefits__chart-sp {
    position: absolute;
    inset: 0;
    display: block;
  }
  .training-benefits__radar {
    position: absolute;
    top: 238.461538vw;
    left: 3.076923vw;
    display: block;
    width: 93.846154vw;
    height: 84.102564vw;
    max-width: none;
  }
  .training-benefits__mascot {
    position: absolute;
    top: 307.948718vw;
    left: 39.74359vw;
    display: block;
    width: 20.512821vw;
    height: 25.641026vw;
    max-width: none;
  }
  .training-benefits__legend {
    position: absolute;
    top: 340.25641vw;
    left: 29.205128vw;
    display: flex;
    width: 41.846154vw;
    height: 16.410256vw;
    margin: 0;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    transform: none;
  }
  .training-benefits__legend span {
    gap: 4.923077vw;
    font-size: 3.589744vw;
    line-height: 8.205128vw;
  }
  .training-benefits__legend i {
    width: 15.384615vw;
    height: 3.282051vw;
  }
  .training-audience {
    z-index: 2;
    height: 209.794872vw;
    min-height: 0;
    overflow: visible;
    padding: 0;
  }
  .training-audience__marquee {
    --training-audience-marquee-width: 256.705128vw;
    --training-audience-marquee-half: 128.352564vw;
    --training-audience-marquee-offset: 9.121795vw;
    --training-audience-marquee-height: 31.794872vw;
    top: -23.589744vw;
    height: var(--training-audience-marquee-height);
  }
  .training-audience__marquee-track {
    animation-duration: 16s;
  }
  .training-audience__inner {
    position: absolute;
    top: 18.25641vw;
    left: 7.692308vw;
    width: 84.615385vw;
    transform: none;
  }
  .training-audience__recommendations h2 {
    height: 19.230769vw;
    color: #00d4c2;
    font-size: 6.153846vw;
    line-height: 19.230769vw;
    letter-spacing: 0;
  }
  .training-audience__recommendations ul {
    margin-top: 4.102564vw;
    gap: 5.128205vw;
  }
  .training-audience__recommendations li {
    width: 84.615385vw;
    height: 12.820513vw;
    min-height: 12.820513vw;
    padding: 2.564103vw;
    border-radius: 2.564103vw;
    font-size: 4.102564vw;
    line-height: 7.692308vw;
    white-space: nowrap;
  }
  .training-audience__recommendations li:first-child,
  .training-audience__recommendations li:last-child {
    height: 20.512821vw;
    min-height: 20.512821vw;
  }
  .training-audience__multiline span {
    display: block;
  }
  .training-audience__career {
    margin-top: 10.25641vw;
  }
  .training-audience__career-visual {
    display: none;
  }
  .training-audience__career-mobile {
    display: flex;
    width: 84.615385vw;
    height: 75.897436vw;
    flex-direction: column;
    gap: 17.179487vw;
    align-items: center;
  }
  .training-audience__career-heading {
    display: block;
    width: 84.615385vw;
    height: 18.461538vw;
    max-width: none;
  }
  .training-audience__career-people {
    display: block;
    width: 51.282051vw;
    height: 40.25641vw;
    max-width: none;
  }
  .training-faq {
    margin-top: 20.512821vw;
    padding: 12.820513vw 7.692308vw;
  }
  .training-faq h2 {
    height: 14.358974vw;
    line-height: 14.358974vw;
  }
  .training-faq h2 span {
    font-size: 23.159744vw;
  }
  .training-faq h2 small {
    margin-inline: 1.794872vw;
    font-size: 13.895897vw;
  }
  .training-faq__list {
    margin-top: 16.410256vw;
    gap: 5.128205vw;
  }
  .training-faq summary {
    min-height: 13.076923vw;
    padding: 2.564103vw 13.846154vw 2.564103vw 6.410256vw;
    font-size: 4.615385vw;
    line-height: 7.948718vw;
    letter-spacing: 0.05em;
  }
  .training-faq summary::before,
  .training-faq summary::after {
    right: 3.589744vw;
    width: 5.128205vw;
    height: 3px;
  }
  .training-faq details[open] > div {
    min-height: 37.435897vw;
    padding: 6.410256vw;
  }
  .training-faq details p {
    width: 71.794872vw;
    font-size: 4.102564vw;
    line-height: 6.153846vw;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .service-training .training-footer-works {
    padding-top: 20.512821vw;
    padding-bottom: 20.512821vw;
  }
  .service-training .training-footer-works .cp-footer-works__inner {
    padding-top: 20.512821vw;
  }
  .service-training .training-footer-works .cp-footer-works__title {
    display: none;
  }
  .service-training .training-footer-works .cp-footer-works__grid {
    gap: 20.512821vw;
  }
  .service-training .training-footer-works .cp-footer-works__marquee {
    margin-top: 20.512821vw;
  }
  .service-training .training-footer-works .home-work-marquee__track,
  .service-training .training-footer-works .home-work-marquee__group {
    gap: 6.134103vw;
  }
  .service-training .training-footer-works .home-work-marquee__track {
    margin-left: -78.717949vw;
  }
  .service-training .training-footer-works .home-work-marquee__group img {
    width: 80.358205vw;
    height: auto;
  }
  .service-training .training-footer-works .home-work-marquee__footer {
    margin-top: 20.512821vw;
  }
  .service-training .contact-banner a {
    min-height: 73.589744vw;
  }
  .service-training .contact-banner__lead {
    font-size: 4.102564vw;
    line-height: 7.948718vw;
    letter-spacing: 0.05em;
  }
  .service-training .cp-footer-about {
    display: none;
  }
  .service-training .cp-footer-services {
    padding-top: 20.512821vw;
    padding-bottom: 30.634103vw;
  }
  .target-grid {
    grid-template-columns: 1fr;
  }
}
.coming-soon {
  padding-block: clamp(101.465278px, 13.194444vw, 190px) clamp(64.083333px, 8.333333vw, 120px);
  text-align: center;
}

.coming-soon__label {
  margin: 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.coming-soon__title {
  margin: clamp(12.816667px, 1.666667vw, 24px) 0 0;
  font-size: clamp(51.266667px, 6.666667vw, 96px);
  line-height: 1.1;
}

.coming-soon__message {
  margin: clamp(14.952778px, 1.944444vw, 28px) 0 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: 2;
}

.coming-soon__back {
  margin-top: clamp(21.361111px, 2.777778vw, 40px);
}

.contact-layout {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: clamp(64.083333px, 8.333333vw, 120px);
  align-items: start;
}

.contact-intro {
  position: sticky;
  top: clamp(64.083333px, 8.333333vw, 120px);
}
.contact-intro h2 {
  margin-bottom: clamp(16.020833px, 2.083333vw, 30px);
  font-size: clamp(20.293056px, 2.638889vw, 38px);
  line-height: 1.5;
}
.contact-intro dl {
  margin-top: clamp(24.03125px, 3.125vw, 45px);
}
.contact-intro dl > div {
  padding: clamp(8.010417px, 1.041667vw, 15px) 0;
  border-bottom: 1px solid #d8d8d4;
}
.contact-intro dl dt {
  font-size: clamp(5.340278px, 0.694444vw, 10px);
}
.contact-intro dl dd {
  margin: 2px 0 0;
  font-weight: 700;
}

.contact-form {
  padding: clamp(29.371528px, 3.819444vw, 55px);
  background: #f0f0ee;
}

.contact-form__notice {
  padding: clamp(26.701389px, 3.472222vw, 50px);
  text-align: center;
  border: 1px dashed #aaa;
}

.wpcf7-form {
  display: grid;
  gap: clamp(13.884722px, 1.805556vw, 26px);
}
.wpcf7-form label {
  display: grid;
  gap: clamp(4.272222px, 0.555556vw, 8px);
  font-size: clamp(6.408333px, 0.833333vw, 12px);
  font-weight: 700;
}
.wpcf7-form input:not([type=submit]), .wpcf7-form textarea, .wpcf7-form select {
  width: 100%;
  padding: clamp(8.010417px, 1.041667vw, 15px);
  border: 1px solid #d8d8d4;
  border-radius: 0;
  background: #fff;
}
.wpcf7-form textarea {
  height: clamp(96.125px, 12.5vw, 180px);
  resize: vertical;
}
.wpcf7-form input[type=submit] {
  width: 100%;
  min-height: clamp(33.109722px, 4.305556vw, 62px);
  color: #fff;
  border: 0;
  background: #041125;
  cursor: pointer;
}
.wpcf7-form .wpcf7-spinner {
  display: none;
}

.contact-preparing,
.news-preparing {
  display: grid;
  min-height: clamp(160.208333px, 20.833333vw, 300px);
  place-items: center;
  text-align: center;
}

.contact-preparing__message,
.news-preparing__message {
  margin: 0;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 1.2px;
}

.legal-page .rich-text h2:first-child {
  margin-top: 0;
}

.not-found {
  min-height: 80svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.not-found h1 {
  margin: 0;
  font-size: clamp(128.166667px, 16.666667vw, 240px);
  line-height: 0.8;
}
.not-found .button {
  margin-top: clamp(18.690972px, 2.430556vw, 35px);
}

@media (max-width: 768px) {
  .coming-soon {
    padding-block: 38.461538vw 20.512821vw;
  }
  .coming-soon__label {
    font-size: 3.589744vw;
  }
  .coming-soon__title {
    margin-top: 5.128205vw;
    font-size: 15.384615vw;
  }
  .coming-soon__message {
    margin-top: 6.153846vw;
    font-size: 3.589744vw;
  }
  .coming-soon__back {
    margin-top: 8.205128vw;
  }
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 14.102564vw;
  }
  .contact-intro {
    position: static;
  }
  .contact-intro h2 {
    font-size: 7.179487vw;
  }
  .contact-form {
    padding: 6.410256vw 5.128205vw;
  }
  .contact-form__notice {
    padding: 7.692308vw 3.846154vw;
  }
  .contact-preparing,
  .news-preparing {
    min-height: 56.410256vw;
  }
  .contact-preparing__message,
  .news-preparing__message {
    font-size: 4.615385vw;
    line-height: 1.9;
    letter-spacing: 0.9px;
  }
  .not-found h1 {
    font-size: 38.461538vw;
  }
}
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.content-heading {
  margin: 0;
  color: transparent;
  -webkit-text-stroke: 1px #041125;
  font: clamp(42.722222px, 5.555556vw, 80px)/0.89 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: clamp(2.136111px, 0.277778vw, 4px);
}

.inquiry-page, .legal-page, .news-page, .news-detail {
  padding-top: clamp(129.76875px, 16.875vw, 243px);
  padding-bottom: clamp(64.083333px, 8.333333vw, 120px);
}

.inquiry-layout {
  display: grid;
  grid-template-columns: minmax(0, 327fr) minmax(0, 736fr);
  -moz-column-gap: clamp(73.161806px, 9.513889vw, 137px);
       column-gap: clamp(73.161806px, 9.513889vw, 137px);
  align-items: start;
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}

.inquiry-intro h2 {
  margin: 0;
  color: #041125;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 1.2px;
}
.inquiry-intro p {
  margin: clamp(21.361111px, 2.777778vw, 40px) 0 0;
  color: #3e3a39;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.8px;
}
.inquiry-intro p + p {
  margin-top: clamp(26.701389px, 3.472222vw, 50px);
}

.inquiry-form, .inquiry-download {
  min-width: 0;
}

.inquiry-form .wpcf7-form {
  display: block;
}
.inquiry-form .wpcf7-form label {
  display: block;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.65;
}
.inquiry-form .wpcf7-form input:not([type=checkbox]):not([type=submit]), .inquiry-form .wpcf7-form textarea {
  width: 100%;
  min-height: clamp(26.701389px, 3.472222vw, 50px);
  margin-top: clamp(5.340278px, 0.694444vw, 10px);
  padding: clamp(5.340278px, 0.694444vw, 10px) clamp(10.680556px, 1.388889vw, 20px);
  border: 1px solid #757575;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: #041125;
  background: #fff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.inquiry-form .wpcf7-form input::-moz-placeholder, .inquiry-form .wpcf7-form textarea::-moz-placeholder {
  color: #8b8b8b;
}
.inquiry-form .wpcf7-form input::placeholder, .inquiry-form .wpcf7-form textarea::placeholder {
  color: #8b8b8b;
}
.inquiry-form .wpcf7-form textarea {
  height: auto;
  resize: vertical;
}
.inquiry-form .wpcf7-form input[type=checkbox] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  padding: 0;
  flex: none;
  accent-color: #041125;
}
.inquiry-form .wpcf7-form :is(input, textarea, button):focus-visible {
  outline: 2px solid #002865;
  outline-offset: 3px;
}
.inquiry-form .wpcf7-form .wpcf7-not-valid-tip {
  margin-top: clamp(4.272222px, 0.555556vw, 8px);
  font-size: 0.875rem;
}
.inquiry-form .wpcf7-form .wpcf7-response-output {
  margin: clamp(12.816667px, 1.666667vw, 24px) 0 0;
  padding: clamp(6.408333px, 0.833333vw, 12px);
  font-size: 1rem;
}

.inquiry-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #041125;
}

.inquiry-field + .inquiry-field {
  margin-top: clamp(17.088889px, 2.222222vw, 32px);
}

.inquiry-field legend {
  padding: 0;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  font-weight: 600;
  line-height: 1.65;
}

.required-mark {
  display: inline;
  margin-left: 0.2em;
  color: #ff5900;
}

.inquiry-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
}

.inquiry-choices small {
  margin-left: 0.5em;
  font-size: 0.85em;
  font-weight: 400;
}
.inquiry-choices .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10.680556px, 1.388889vw, 20px);
  margin-top: clamp(10.680556px, 1.388889vw, 20px);
}
.inquiry-choices .wpcf7-list-item {
  margin: 0;
}
.inquiry-choices .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: clamp(6.408333px, 0.833333vw, 12px);
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 400;
  cursor: pointer;
}

.inquiry-other {
  margin-top: clamp(10.680556px, 1.388889vw, 20px);
}

.inquiry-other[hidden] {
  display: none;
}

.inquiry-consent {
  margin-top: clamp(42.722222px, 5.555556vw, 80px);
  text-align: center;
}
.inquiry-consent p {
  margin: 0;
  font-size: clamp(7.476389px, 0.972222vw, 14px);
  line-height: 1.7;
}
.inquiry-consent a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.inquiry-consent .wpcf7-acceptance {
  display: inline-block;
  margin-top: clamp(20.293056px, 2.638889vw, 38px);
}
.inquiry-consent .wpcf7-list-item {
  margin: 0;
}
.inquiry-consent .wpcf7-list-item label {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10.680556px, 1.388889vw, 20px);
  font-size: clamp(9.6125px, 1.25vw, 18px);
}

.inquiry-submit {
  margin-top: clamp(26.701389px, 3.472222vw, 50px);
  text-align: center;
}
.inquiry-submit button {
  display: block;
  width: 100%;
  min-height: clamp(34.177778px, 4.444444vw, 64px);
  padding: clamp(7.476389px, 0.972222vw, 14px) clamp(10.680556px, 1.388889vw, 20px);
  border: 0;
  border-radius: clamp(5.340278px, 0.694444vw, 10px);
  color: #fff;
  background: #041125;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  cursor: pointer;
}
.inquiry-submit button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.inquiry-status {
  margin: clamp(8.544444px, 1.111111vw, 16px) 0 0;
  font-size: 0.875rem;
}

.inquiry-page--contact .inquiry-consent {
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}
.inquiry-page--contact .inquiry-consent p {
  color: #404040;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: left;
}
.inquiry-page--contact .inquiry-consent a {
  color: #002865;
}
.inquiry-page--contact .inquiry-consent .wpcf7-acceptance {
  display: block;
  margin-top: clamp(26.701389px, 3.472222vw, 50px);
}
.inquiry-page--contact .inquiry-consent .wpcf7-list-item {
  display: block;
}
.inquiry-page--contact .inquiry-consent .wpcf7-list-item label {
  gap: clamp(9.078472px, 1.180556vw, 17px);
  color: #404040;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 500;
  line-height: clamp(14.41875px, 1.875vw, 27px);
  letter-spacing: 1.34px;
  cursor: pointer;
}
.inquiry-page--contact .inquiry-consent input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: clamp(16.020833px, 2.083333vw, 30px);
  height: clamp(16.020833px, 2.083333vw, 30px);
  border: 1px solid #000;
  border-radius: clamp(2.670139px, 0.347222vw, 5px);
  background: #fff;
  accent-color: #002865;
  cursor: pointer;
}
.inquiry-page--contact .inquiry-consent input[type=checkbox]:checked {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.inquiry-page--contact .inquiry-submit button {
  background: #002865;
  font-size: clamp(9.6125px, 1.25vw, 18px);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.document-preview {
  --document-slide-width: calc(736 * 1px);
  --document-slide-gap: calc(20 * 1px);
  --document-edge-space: max(clamp(21.361111px, 2.777778vw, 40px), calc((100vw - clamp(640.833333px, 83.333333vw, 1200px)) / 2));
}

.document-preview__track {
  display: flex;
  width: calc(100% + var(--document-edge-space));
  gap: var(--document-slide-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  cursor: grab;
}
.document-preview__track::after {
  content: "";
  flex: 0 0 max(0px, 100% - var(--document-slide-width) - var(--document-slide-gap));
}
.document-preview__track:focus-visible {
  outline: 2px solid #002865;
  outline-offset: 3px;
}
.document-preview__track.is-dragging {
  scroll-snap-type: none;
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.document-preview[data-preview-count="1"] .document-preview__track {
  cursor: auto;
}
.document-preview[data-preview-count="1"] .document-preview__track::after {
  display: none;
}

.document-preview__track::-webkit-scrollbar {
  display: none;
}

.document-preview__slide {
  flex: 0 0 var(--document-slide-width);
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.document-preview__slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 736/520;
  -o-object-fit: contain;
     object-fit: contain;
}

.document-preview__controls {
  display: flex;
  width: var(--document-slide-width);
  justify-content: center;
  gap: clamp(2.670139px, 0.347222vw, 5px);
  margin-top: clamp(8.010417px, 1.041667vw, 15px);
}
.document-preview__controls button {
  width: clamp(25.633333px, 3.333333vw, 48px);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.document-preview__controls button:disabled {
  opacity: 0.3;
  cursor: default;
}
.document-preview__controls img {
  width: 100%;
  aspect-ratio: 1;
}
.document-preview__controls [data-preview-next] img {
  transform: rotate(180deg);
}

.inquiry-download > .inquiry-form {
  margin-top: clamp(32.041667px, 4.166667vw, 60px);
}

.thanks-page {
  min-height: 100svh;
  padding-top: clamp(159.140278px, 20.694444vw, 298px);
  padding-bottom: clamp(85.444444px, 11.111111vw, 160px);
  text-align: center;
}
.thanks-page h1 {
  margin: 0;
  color: #041125;
  font: clamp(64.083333px, 8.333333vw, 120px)/1 "Abolition", "Bebas Neue", sans-serif;
  letter-spacing: 3px;
}
.thanks-page h2 {
  margin: clamp(17.088889px, 2.222222vw, 32px) 0 0;
  color: #041125;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
}
.thanks-page p {
  margin: clamp(64.083333px, 8.333333vw, 120px) 0 0;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
}

@media (max-width: 768px) {
  .inquiry-page, .legal-page, .news-page, .news-detail {
    width: min(100% - 10.25641vw, 84.615385vw);
    padding-top: 25.641026vw;
    padding-bottom: 20.512821vw;
  }
  .content-heading {
    font-size: 10.25641vw;
    letter-spacing: 2px;
  }
  .inquiry-layout {
    grid-template-columns: 1fr;
    gap: 12.820513vw;
    margin-top: 12.820513vw;
  }
  .inquiry-intro h2 {
    font-size: 5.641026vw;
    line-height: 1.6;
  }
  .inquiry-intro p {
    margin-top: 6.410256vw;
    font-size: 1rem;
    line-height: 1.8;
  }
  .inquiry-intro p + p {
    margin-top: 6.153846vw;
  }
  .inquiry-form .wpcf7-form label {
    font-size: 1rem;
  }
  .inquiry-form .wpcf7-form input:not([type=checkbox]):not([type=submit]), .inquiry-form .wpcf7-form textarea {
    min-height: 3rem;
    font-size: 1rem;
    padding: 0.65rem 0.75rem;
    margin-top: 2.564103vw;
    border-radius: 1.538462vw;
  }
  .inquiry-field + .inquiry-field {
    margin-top: 6.153846vw;
  }
  .inquiry-field legend {
    font-size: 1rem;
  }
  .inquiry-pair {
    gap: 3.076923vw;
  }
  .inquiry-choices .wpcf7-checkbox {
    grid-template-columns: 1fr;
    gap: 4.102564vw;
  }
  .inquiry-choices .wpcf7-list-item label {
    font-size: 1rem;
  }
  .inquiry-consent {
    margin-top: 10.25641vw;
  }
  .inquiry-consent p {
    font-size: 0.875rem;
  }
  .inquiry-consent .wpcf7-acceptance {
    margin-top: 6.153846vw;
  }
  .inquiry-consent .wpcf7-list-item label {
    gap: 3.589744vw;
    font-size: 1rem;
  }
  .inquiry-submit {
    margin-top: 8.205128vw;
  }
  .inquiry-submit button {
    min-height: 3rem;
    border-radius: 1.538462vw;
    padding: 0.75rem;
    font-size: 1rem;
  }
  .inquiry-page--contact .inquiry-consent {
    margin-top: 10.25641vw;
  }
  .inquiry-page--contact .inquiry-consent p {
    font-size: 0.875rem;
  }
  .inquiry-page--contact .inquiry-consent .wpcf7-acceptance {
    margin-top: 6.153846vw;
  }
  .inquiry-page--contact .inquiry-consent .wpcf7-list-item label {
    gap: 3.589744vw;
    font-size: 1rem;
    line-height: 1.7;
  }
  .inquiry-page--contact .inquiry-consent input[type=checkbox] {
    width: 7.692308vw;
    height: 7.692308vw;
    border-radius: 1.282051vw;
  }
  .inquiry-page--contact .inquiry-submit button {
    font-size: 1rem;
  }
  .document-preview {
    --document-slide-width: 84.615385vw;
    --document-slide-gap: 5.128205vw;
    --document-edge-space: calc((100vw - 100%) / 2);
  }
  .document-preview__controls {
    margin-top: 4.615385vw;
    gap: 4.102564vw;
  }
  .document-preview__controls button {
    width: 10.25641vw;
  }
  .inquiry-download > .inquiry-form {
    margin-top: 12.820513vw;
  }
  .thanks-page {
    padding-top: 56.410256vw;
  }
  .thanks-page h1 {
    font-size: 16.410256vw;
  }
  .thanks-page h2 {
    font-size: 4.615385vw;
    margin-top: 6.153846vw;
  }
  .thanks-page p {
    font-size: 1rem;
    margin-top: 15.384615vw;
    line-height: 1.8;
  }
}
@media (min-width: 769px) {
  .inquiry-page--contact .inquiry-intro h2 {
    white-space: nowrap;
    letter-spacing: 1px;
  }
  .inquiry-page--contact .inquiry-intro p {
    margin-top: clamp(26.701389px, 3.472222vw, 50px);
  }
  .inquiry-page--download .inquiry-layout {
    margin-top: clamp(47.528472px, 6.180556vw, 89px);
  }
  .inquiry-page--download .inquiry-intro p {
    max-width: clamp(153.265972px, 19.930556vw, 287px);
    margin-top: clamp(13.884722px, 1.805556vw, 26px);
  }
}
.news-page > .content-heading, .news-detail > .content-heading {
  line-height: 0.8;
}

.news-page__list {
  display: grid;
  gap: clamp(16.020833px, 2.083333vw, 30px);
  margin-top: clamp(53.402778px, 6.944444vw, 100px);
}

.home-news-row {
  display: block;
  height: auto;
}

.home-news-row__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(158.60625px, 20.625vw, 297px);
  gap: clamp(42.722222px, 5.555556vw, 80px);
  align-items: end;
}

.home-news-row__body {
  width: 100%;
  height: auto;
  min-height: clamp(66.753472px, 8.680556vw, 125px);
  padding-bottom: clamp(10.680556px, 1.388889vw, 20px);
  border-bottom: 1px solid #757575;
}

.home-news-row__text {
  width: 100%;
}

.home-news-row__title {
  overflow-wrap: anywhere;
}

.home-news-row__thumbnail {
  transition: transform 0.3s ease;
}

@media (hover: hover) {
  .home-news-row__link:hover .home-news-row__thumbnail {
    transform: scale(1.03);
  }
}
.home-news-row__link:focus-visible {
  outline: 2px solid #002865;
  outline-offset: clamp(3.204167px, 0.416667vw, 6px);
}

.news-page .pagination {
  margin-top: clamp(42.722222px, 5.555556vw, 80px);
}
.news-page .pagination .nav-links {
  gap: clamp(13.350694px, 1.736111vw, 25px);
}
.news-page .pagination .page-numbers {
  width: auto;
  min-width: clamp(12.816667px, 1.666667vw, 24px);
  border: 0;
  color: #041125;
  background: transparent;
}
.news-page .pagination .current {
  text-decoration: underline;
  text-underline-offset: clamp(3.204167px, 0.416667vw, 6px);
}

.news-detail__article {
  max-width: clamp(427.222222px, 55.555556vw, 800px);
  margin: clamp(53.402778px, 6.944444vw, 100px) auto 0;
}
.news-detail__article > header {
  margin-top: clamp(33.64375px, 4.375vw, 63px);
  padding: 0 0 clamp(16.020833px, 2.083333vw, 30px);
  border-bottom: 1px solid #757575;
}
.news-detail__article header time {
  display: block;
  color: #595858;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: 1.5;
}
.news-detail__article header h1 {
  margin: clamp(6.408333px, 0.833333vw, 12px) 0 0;
  color: #041125;
  font-size: clamp(12.816667px, 1.666667vw, 24px);
  font-weight: 600;
  line-height: 1.5;
}

.news-detail__hero {
  margin: 0;
}
.news-detail__hero img {
  width: 100%;
  height: auto;
}

.news-detail__body {
  margin-top: clamp(20.293056px, 2.638889vw, 38px);
  color: #3e3a39;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  line-height: 1.9;
}
.news-detail__body p {
  margin-bottom: 0;
}
.news-detail__body h2 {
  margin-top: clamp(32.041667px, 4.166667vw, 60px);
  color: #041125;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
  line-height: 1.6;
}
.news-detail__body figure {
  margin: clamp(16.020833px, 2.083333vw, 30px) 0 0;
}
.news-detail__body img {
  width: 100%;
  height: auto;
  margin: 0;
}
.news-detail__body li {
  list-style: none;
}

.news-detail__related {
  margin-top: clamp(64.083333px, 8.333333vw, 120px);
}
.news-detail__related h2 {
  margin: 0;
  padding-bottom: clamp(8.544444px, 1.111111vw, 16px);
  border-bottom: 1px solid #041125;
  color: #041125;
  font: clamp(12.816667px, 1.666667vw, 24px)/1 "Abolition", "Bebas Neue", sans-serif;
  text-align: right;
}
.news-detail__related .news-page__list {
  margin-top: clamp(26.701389px, 3.472222vw, 50px);
}

.legal-page__subtitle {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
  color: #041125;
  font-size: clamp(10.680556px, 1.388889vw, 20px);
}

.legal-page__body {
  max-width: clamp(512.666667px, 66.666667vw, 960px);
  margin: clamp(42.722222px, 5.555556vw, 80px) auto 0;
  color: #3e3a39;
  font-size: 1rem;
  line-height: 2;
}
.legal-page__body h2 {
  margin: clamp(25.633333px, 3.333333vw, 48px) 0 clamp(10.680556px, 1.388889vw, 20px);
  font-size: 1.25rem;
  line-height: 1.7;
  color: #041125;
}
.legal-page__body p {
  margin-bottom: 0;
}
.legal-page__body ul {
  margin: clamp(10.680556px, 1.388889vw, 20px) 0 0;
}
.legal-page__body li + li {
  margin-top: clamp(4.272222px, 0.555556vw, 8px);
}
.legal-page__body .legal-date {
  margin-top: clamp(21.361111px, 2.777778vw, 40px);
  text-align: right;
}

@media (max-width: 768px) {
  .news-page__list {
    margin-top: 12.820513vw;
    gap: 6.153846vw;
  }
  .home-news-row {
    height: auto;
  }
  .home-news-row__link {
    grid-template-columns: minmax(0, 1fr) 25.641026vw;
    gap: 5.384615vw;
    align-items: start;
    padding-bottom: 4.102564vw;
    border-bottom: 1px solid #757575;
  }
  .home-news-row__body {
    min-height: 0;
    height: auto;
    padding: 0;
    border: 0;
  }
  .home-news-row__text {
    width: 100%;
  }
  .home-news-row__thumbnail-frame {
    width: 25.641026vw;
    height: 17.948718vw;
    margin-top: 0;
  }
  .home-news-row__title {
    font-size: 3.589744vw;
    line-height: 1.4;
  }
  .news-page .pagination {
    margin-top: 12.820513vw;
  }
  .news-page .pagination .nav-links {
    gap: 5.128205vw;
  }
  .news-detail__article {
    margin-top: 12.820513vw;
  }
  .news-detail__article > header {
    margin-top: 7.692308vw;
    padding-bottom: 6.153846vw;
  }
  .news-detail__article header time {
    font-size: 3.589744vw;
  }
  .news-detail__article header h1 {
    margin-top: 3.076923vw;
    font-size: 5.128205vw;
  }
  .news-detail__body {
    margin-top: 8.974359vw;
    font-size: 1rem;
  }
  .news-detail__body h2 {
    margin-top: 10.25641vw;
    font-size: 4.615385vw;
  }
  .news-detail__body figure {
    margin-top: 6.153846vw;
  }
  .news-detail__related {
    margin-top: 15.384615vw;
  }
  .news-detail__related .news-page__list {
    margin-top: 7.692308vw;
  }
  .legal-page__subtitle {
    font-size: 4.102564vw;
    margin-top: 4.102564vw;
  }
  .legal-page__body {
    margin-top: 12.820513vw;
  }
  .legal-page__body h2 {
    margin-top: 8.205128vw;
    margin-bottom: 4.102564vw;
  }
}
.site-loader__media {
  clip-path: inset(var(--loader-media-clip, 0%) 0);
}

.home-concept__reveal-line {
  display: inline;
  color: #fff;
}

.home-concept__message-sp {
  display: none;
}

.home-concept__motto.is-concept-reveal-ready > h2, .home-concept__motto.is-concept-reveal-ready > p {
  width: -moz-fit-content;
  width: fit-content;
  clip-path: inset(-0.2em 100% -0.2em 0);
}
.home-concept__motto.is-concept-reveal-ready.is-visible > h2, .home-concept__motto.is-concept-reveal-ready.is-visible > p {
  animation: atraps-concept-motto-wipe 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.home-concept__motto.is-concept-reveal-ready.is-visible > p {
  animation-delay: 0.8s;
}

@keyframes atraps-concept-motto-wipe {
  from {
    clip-path: inset(-0.2em 100% -0.2em 0);
  }
  to {
    clip-path: inset(-0.2em 0 -0.2em 0);
  }
}
.outline-cycle__text {
  position: relative;
  display: inline-block;
}

.outline-cycle__fill {
  position: absolute;
  inset: 0;
  color: var(--outline-fill-color);
  pointer-events: none;
  clip-path: inset(-0.2em 100% -0.2em -1px);
  animation: atraps-outline-fill 0.667s linear forwards paused;
}

.outline-cycle.is-in-view .outline-cycle__fill {
  animation-play-state: running;
}

@keyframes atraps-outline-fill {
  from {
    clip-path: inset(-0.2em 100% -0.2em -1px);
  }
  to {
    clip-path: inset(-0.2em -1px);
  }
}
.site-footer__slogan svg {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer__slogan path {
  stroke: #041125;
  stroke-width: 1.5;
  animation: atraps-footer-fill 3s steps(1, end) infinite;
}

@keyframes atraps-footer-fill {
  0%, 100% {
    fill: #041125;
  }
  50% {
    fill: transparent;
  }
}
.method-diagram__node {
  cursor: default;
}

.method-step.is-highlighted .method-step__heading span,
.method-diagram__node.is-highlighted {
  color: #fff;
  background: #002865;
}

.method-step.is-highlighted .method-step__name {
  transform: translateX(clamp(4.272222px, 0.555556vw, 8px));
}

.method-diagram__node:focus-visible {
  outline: 3px solid #041125;
  outline-offset: clamp(2.136111px, 0.277778vw, 4px);
}

.member-modal {
  transition: visibility 0s linear 0.6s;
}

.member-modal__dialog {
  opacity: 1;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.member-modal.is-open .member-modal__dialog {
  transform: none;
}

.member-modal__inner {
  transform: none;
  transition: none;
}

.member-modal__cutout[data-cutout-reveal] {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.member-modal__cutout[data-cutout-reveal].is-visible {
  opacity: 1;
}

.member-card__media {
  position: relative;
}

.member-card__hover-photo {
  display: none;
}

@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .member-card__hover-photo {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .member-card:hover .member-card__hover-photo,
  .member-card:focus-visible .member-card__hover-photo {
    opacity: 1;
  }
}
.home-service-card__apparel-mobile {
  display: none;
}

@media (min-width: 769px) {
  .home-skills__canvas {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(clamp(12.816667px, 1.666667vw, 24px), 6.5vh, clamp(44.858333px, 5.833333vw, 84px)) 8.333% clamp(37.381944px, 4.861111vw, 70px);
  }
  .home-skills__label, .home-skills__name, .home-skills__tags, .home-skills__copy, .home-skills__tools {
    position: relative;
    inset: auto;
    flex: none;
  }
  .home-skills__label {
    height: auto;
    font-size: min(5.556vw, 7.1vh, clamp(42.722222px, 5.555556vw, 80px));
  }
  .home-skills__name {
    margin-top: min(3.4vh, clamp(23.497222px, 3.055556vw, 44px));
    font-size: min(6.6vw, 9.2vh, clamp(50.732639px, 6.597222vw, 95px));
    line-height: 1.15;
  }
  .home-skills__tags {
    margin-top: min(2.5vh, clamp(16.020833px, 2.083333vw, 30px));
    height: auto;
  }
  .home-skills__copy {
    margin-top: min(4vh, clamp(26.701389px, 3.472222vw, 50px));
  }
  .home-skills__copy h3 {
    font-size: min(2.083vw, 3vh, clamp(16.020833px, 2.083333vw, 30px));
    line-height: 1.65;
  }
  .home-skills__copy p {
    font-size: clamp(0.875rem, 1.112vw, 1rem);
    line-height: 1.75;
  }
  .home-skills__tools {
    margin-top: min(2.5vh, clamp(17.088889px, 2.222222vw, 32px));
    gap: min(2vh, clamp(13.350694px, 1.736111vw, 25px));
  }
  .home-skills__tool-row {
    padding-top: clamp(10.680556px, 1.388889vw, 20px);
    height: auto;
  }
}
@media (max-width: 768px) {
  .home-concept__message-pc {
    display: none;
  }
  .home-concept__message-sp {
    display: inline;
  }
  .home-concept__message-sp-line {
    display: block;
  }
  .home-method__layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .method-diagram {
    order: -1;
    margin: 0 auto;
  }
  .method-list {
    margin-top: 7.692308vw;
    gap: 5.128205vw;
  }
  .method-step {
    row-gap: 2.564103vw;
  }
  .method-step > p {
    font-size: 3.333333vw;
    line-height: 5vw;
  }
  .member-card--yudai .member-card__body {
    width: 76.943077vw;
    min-height: 0;
    margin-top: 6.795641vw;
    margin-bottom: 0;
  }
  .member-card__body {
    min-height: 0;
  }
  .home-service-card__apparel-mobile {
    display: block;
    width: 100%;
    height: auto;
  }
  .home-service-card--apparel .home-service-card__title-line {
    display: none;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__layout {
    justify-content: flex-start;
    padding-top: 20.512821vw;
  }
  .about-logo-story.is-logo-slider-ready .about-logo-story__visual {
    width: min(55vw, 28svh);
    height: min(55vw, 28svh);
    flex: 0 0 auto;
    aspect-ratio: 1;
  }
  .home-works > .container {
    width: calc(100% - 7.692308vw);
    max-width: 92.307692vw;
  }
  .home-works__grid, .home-works__row {
    gap: 5.128205vw;
  }
  .home-work__image {
    height: auto;
    aspect-ratio: 590/350;
  }
  .home-work__image--asia {
    height: auto;
    aspect-ratio: 1200/621.83;
  }
  .home-work__image--nikken {
    height: auto;
    aspect-ratio: 360/405;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .home-work__image--nikken.is-single, .home-work__image--movie, .home-work__image--fasford {
    height: auto;
    aspect-ratio: 16/9;
  }
  .home-work__meta {
    width: calc(100% - 7.692308vw);
    margin-inline: auto;
    padding-top: 2.564103vw;
    gap: 2.564103vw;
  }
  .home-work__meta p {
    line-height: 5.128205vw;
  }
  .home-work-marquee__track, .home-work-marquee__group {
    gap: 2.564103vw;
  }
  @keyframes atraps-work-marquee {
    to {
      transform: translateX(calc(-50% - 1.282051vw));
    }
  }
  .home-service-cards {
    padding-top: 3.846154vw;
  }
  .home-service-cards__grid {
    width: calc(100% - 7.692308vw);
    max-width: 92.307692vw;
    gap: 2.564103vw;
  }
  .home-service-card, .home-service-card--training, .home-service-card--apparel {
    height: auto;
    aspect-ratio: 36/17;
  }
  .home-service-card .home-service-card__title {
    top: 50%;
    bottom: auto;
    left: 50%;
    right: auto;
    height: auto;
    transform: translate(-50%, -50%);
  }
  .home-service-card--training .home-service-card__title {
    width: 65%;
  }
  .home-service-card--creative .home-service-card__title {
    width: 65%;
  }
  .home-service-card--photo .home-service-card__title {
    width: 52.222%;
  }
  .home-service-card--note .home-service-card__title {
    width: 20%;
  }
  .home-service-card--apparel .home-service-card__product {
    top: -15.3%;
    width: 71.884%;
    height: auto;
  }
  .home-service-card--apparel .home-service-card__product--white {
    left: 1.666%;
  }
  .home-service-card--apparel .home-service-card__product--black {
    left: 31.265%;
  }
  .home-service-card--apparel .home-service-card__title--apparel {
    width: 34.255%;
    height: auto;
  }
  .home-service-card .home-service-card__arrow {
    width: 3.333333vw;
    height: 3.333333vw;
    right: 1.538462vw;
    bottom: 1.538462vw;
  }
}
.home-about-preview > .container {
  width: 100%;
  max-width: none;
}

.home-about-preview__title {
  margin-bottom: 0;
  margin-left: max((100vw - clamp(640.833333px, 83.333333vw, 1200px)) / 2, 8.333vw);
}

.home-about-preview .about-banner {
  margin-top: clamp(42.722222px, 5.555556vw, 80px);
}

.about-banner {
  display: block;
  overflow: hidden;
  color: #fff;
  background: #041125;
}

.about-banner__inner {
  width: 100%;
  max-width: clamp(769px, 100vw, 1440px);
  margin-inline: auto;
  padding: clamp(91.852778px, 11.944444vw, 172px) clamp(66.219444px, 8.611111vw, 124px) clamp(92.386806px, 12.013889vw, 173px);
  background: url("../images/home/about-background-pc.webp") center/cover no-repeat;
}

.about-banner__copy {
  width: -moz-fit-content;
  width: fit-content;
}

.about-banner__title {
  margin: 0;
  font-size: clamp(16.020833px, 2.083333vw, 30px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.08em;
}

.about-banner__subtitle {
  margin: clamp(-7px, -0.486111vw, -3.738194px) 0 0;
  font-size: clamp(8.544444px, 1.111111vw, 16px);
  font-weight: 700;
  line-height: clamp(26.701389px, 3.472222vw, 50px);
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
  .home-about-preview__title {
    margin-left: 7.692308vw;
  }
  .home-about-preview .about-banner {
    margin-top: 10.25641vw;
  }
  .about-banner__inner {
    padding: 12.820513vw 7.692308vw 10.512821vw;
    background-image: url("../images/home/about-background-sp.webp");
  }
  .about-banner__title {
    font-size: 5.128205vw;
    line-height: 7.692308vw;
  }
  .about-banner__subtitle {
    margin-top: 3.333333vw;
    font-size: 3.333333vw;
    font-weight: 400;
    line-height: 5vw;
  }
}