body.itoh-split-enabled{
  --color-brand: #01009a;
  --color-brand-dark: #000878;
  --color-brand-light: rgba(1, 0, 154, 0.08);
  --color-white: #ffffff;
  --color-black: #111111;
  --color-gray: #666666;
  --color-gray-light: #e8e8ec;
  --color-bg-left: #f8f8fa;

  --font-jp: Chillax, sans-serif;

  --hero-padding: clamp(1.5rem, 3.5vw, 3rem);
  --site-header-control-size: 3.25rem;
  --site-header-align-y: calc(var(--hero-padding) + var(--site-header-control-size) / 2);
  --split-left: 38fr;
  --split-right: 62fr;
  --transition-base: 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-split: 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-curtain: 2s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-menu: 1.05s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-nav-reveal: 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-news-preview: 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  --about-slide-interval: 6s;
  --about-body-width: 28rem;
  --split-left-percent: 38%;
  --loader-duration: 3.4s cubic-bezier(0.16, 1, 0.3, 1);
  --loader-split-right: calc(100% - var(--split-left-percent));
  --radius-button: 0.375rem;
}
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *)),
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *))::before,
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *))::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html:has(> body.itoh-split-enabled){
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
}
body.itoh-split-enabled{
  font-family: var(--font-jp);
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-black);
  background: var(--color-white);
  overflow-x: hidden;
}
body.itoh-split-enabled.is-loading{
  overflow-y:scroll;
}
body.itoh-split-enabled.is-loading-exit,
body.itoh-split-enabled.is-loaded{
  overflow-x: hidden;
  overflow-y: auto;
}
body.itoh-split-enabled.is-nav-open{
  overflow-x: hidden;
  overflow-y: auto;
}

body.itoh-split-enabled img,
body.itoh-split-enabled video{
  display: block;
  max-width: 100%;
  height: auto;
}
body.itoh-split-enabled a{
  color: inherit;
  text-decoration: none;
}
body.itoh-split-enabled button{
  font: inherit;
  border: none;
  background: none;
  cursor: pointer;
}
body.itoh-split-enabled ul{
  list-style: none;
}
body.itoh-split-enabled .loader{
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events:auto;
}
body.itoh-split-enabled .loader__curtain{
  position: absolute;
  inset: 0;
  width: 100%;
  background: var(--color-brand);
  clip-path: inset(0 0 0 0);
  will-change: clip-path;
}
body.itoh-split-enabled .loader__content{
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  padding: var(--hero-padding);
  opacity: 1;
  transition: opacity 0.45s ease;
}
body.itoh-split-enabled.is-loading-exit .loader__content{
  opacity: 0;
}
body.itoh-split-enabled .loader__brand {color:#fff;font-weight:700;font-size:1.5rem;}
html.itoh-skip-loader body.itoh-split-enabled .loader {display:none;}
body.itoh-split-enabled .loader__logo{
  width: clamp(9rem, 16vw, 13rem);
  height: auto;
  filter: brightness(0) invert(1);
}
body.itoh-split-enabled .loader__bar{
  width: min(12rem, 42vw);
  height: 2px;
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}
body.itoh-split-enabled .loader__bar-fill{
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  transform-origin: left center;
  transform: scaleX(0);
  animation: itoh-loaderBarFill 2.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
body.itoh-split-enabled .loader__text{
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
}
body.itoh-split-enabled.is-loading-exit .loader__curtain{
  animation: itoh-loaderCurtainExit var(--loader-duration) forwards;
}
@keyframes itoh-loaderBarFill{
  0% { transform: scaleX(0); }
  70% { transform: scaleX(0.85); }
  100% { transform: scaleX(1); }
}
@keyframes itoh-loaderCurtainExit{
  
  0% {
    clip-path: inset(0 0 0 0);
  }

  38% {
    clip-path: inset(0 0 0 var(--split-left-percent));
  }

  
  54% {
    clip-path: inset(0 0 0 var(--split-left-percent));
  }

  
  88%,
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes itoh-loaderVideoReveal{
  0%,
  53% {
    opacity: 0;
  }

  54%,
  100% {
    opacity: 1;
  }
}
body.itoh-split-enabled.is-loaded .loader{
  display: none;
}
body.itoh-split-enabled .split-layout{
  display: grid;
  grid-template-columns: var(--split-left) var(--split-right);
  transition: grid-template-columns var(--transition-split);
  --split-left-percent: 38%;
}
body.itoh-split-enabled .split-layout.is-split-balanced{
  --split-left: 50fr;
  --split-right: 50fr;
  --split-left-percent: 50%;
}
body.itoh-split-enabled.is-split-balanced{
  --split-left-percent: 50%;
}
body.itoh-split-enabled .split-layout__main{
  min-width: 0;
}
body.itoh-split-enabled .split-layout__visual{
  position: sticky;
  top: 0;
  align-self: start;
  width: 100%;
  height: calc(var(--itoh-vh, 1svh) * 100);
  height: calc(var(--itoh-vh, 1svh) * 100);
  background: var(--color-black);
  opacity: 0;
}
body.itoh-split-enabled.is-loading-exit .split-layout__visual{
  animation: itoh-loaderVideoReveal var(--loader-duration) forwards;
}
body.itoh-split-enabled.is-loaded .split-layout__visual{
  opacity: 1;
}
body.itoh-split-enabled .hero{
  position: relative;
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  background: transparent;
}
body.itoh-split-enabled .hero__left{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  padding-block: clamp(5rem, calc(var(--itoh-vh, 1svh) * 12), 7rem);
  box-sizing: border-box;
  overflow: hidden;
  background:
    linear-gradient(155deg, var(--color-bg-left) 0%, var(--color-white) 42%, var(--color-white) 100%);
}
body.itoh-split-enabled .hero__left-header{
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  visibility: hidden;
}
body.itoh-split-enabled .hero__logo{
  position: fixed;
  top: var(--site-header-align-y);
  left: var(--hero-padding);
  z-index: 110;
  display: inline-block;
  transform: translateY(-50%);
}
body.itoh-split-enabled .hero__logo-img{
  width: clamp(8rem, 14vw, 12.5rem);
  height: auto;
  opacity: 0;
  transform: translateX(-1.25rem);
  transition: opacity var(--transition-base);
}
body.itoh-split-enabled .hero__logo-img--white{
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: none;
  pointer-events: none;
}
body.itoh-split-enabled.is-loaded .hero__logo-img--default{
  animation: none;
  opacity: 1;
  transform: none;
}
body.itoh-split-enabled.is-loading-exit .hero__logo-img--default{
  animation: itoh-heroItemReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s forwards;
}
body.itoh-split-enabled.is-nav-open .hero__logo-img--default{
  opacity: 0;
}
body.itoh-split-enabled.is-nav-open .hero__logo-img--white{
  opacity: 1;
}
body.itoh-split-enabled .hero__left-deco{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
body.itoh-split-enabled .hero__deco-slash{
  position: absolute;
  top: -15%;
  height: 130%;
  transform-origin: center center;
}
body.itoh-split-enabled .hero__deco-slash--main{
  right: clamp(1.5rem, 5vw, 3.5rem);
  width: 3px;
  background: var(--color-brand);
  transform: rotate(-16deg);
  opacity: 0.85;
}
body.itoh-split-enabled .hero__deco-slash--sub{
  right: clamp(2.5rem, 7vw, 5rem);
  width: 1px;
  background: rgba(1, 0, 154, 0.2);
  transform: rotate(-16deg);
}
body.itoh-split-enabled .hero__deco-block,
body.itoh-split-enabled .about__deco-block,
body.itoh-split-enabled .news__deco-block,
body.itoh-split-enabled .guide__deco-block{
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: clamp(3rem, 8vw, 5rem);
  height: clamp(0.4rem, 1vw, 0.6rem);
  background: var(--color-brand);
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
  pointer-events: none;
}
body.itoh-split-enabled .hero__copy{
  position: relative;
  z-index: 2;
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin-top: 0;
  padding:
    0
    var(--hero-padding)
    0;
}
body.itoh-split-enabled .hero__copy > *{
  opacity: 0;
  transform: translateX(-1.75rem);
}
body.itoh-split-enabled.is-loading-exit .hero__copy > .hero__eyebrow{
  animation: itoh-heroItemReveal 0.95s cubic-bezier(0.16, 1, 0.3, 1) 1.05s forwards;
}
body.itoh-split-enabled.is-loading-exit .hero__copy > .hero__since{
  animation: itoh-heroItemReveal 0.95s cubic-bezier(0.16, 1, 0.3, 1) 1.2s forwards;
}
body.itoh-split-enabled.is-loading-exit .hero__copy > .hero__title{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 1.32s forwards;
}
body.itoh-split-enabled.is-loading-exit .hero__copy > .hero__lead{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 1.5s forwards;
}
body.itoh-split-enabled.is-loading-exit .hero__copy > .hero__cta{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 1.68s forwards;
}
body.itoh-split-enabled.is-loaded .hero__copy > *{
  opacity: 1;
  transform: none;
}
@keyframes itoh-heroItemReveal{
  from {
    opacity: 0;
    transform: translateX(-1.75rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
body.itoh-split-enabled .hero__eyebrow{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--color-brand);
}
body.itoh-split-enabled .hero__eyebrow-rule{
  display: block;
  width: clamp(1.5rem, 3vw, 2.5rem);
  height: 2px;
  background: var(--color-brand);
  flex-shrink: 0;
}
body.itoh-split-enabled .hero__since{
  margin-bottom: clamp(0.75rem, calc(var(--itoh-vh, 1svh) * 2), 1.25rem);
  font-size: clamp(0.6875rem, 0.85vw, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-gray);
}
body.itoh-split-enabled .hero__title{
  font-size: clamp(2.875rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: 0.01em;
  color: var(--color-black);
}
body.itoh-split-enabled .hero__title-line{
  display: block;
}
body.itoh-split-enabled .hero__title-line--accent{
  margin-top: 0.1em;
}
body.itoh-split-enabled .hero__title-accent{
  display: inline-block;
  margin-right: 0.05em;
  font-size: 1.08em;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: var(--color-brand);
  -webkit-text-stroke: 0.5px transparent;
}
body.itoh-split-enabled .hero__lead{
  margin-top: clamp(1.5rem, calc(var(--itoh-vh, 1svh) * 3), 2rem);
  padding-left: clamp(0.75rem, 1.5vw, 1rem);
  border-left: 2px solid var(--color-brand);
  font-size: clamp(0.9375rem, 1.35vw, 1.125rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: var(--color-gray);
}
body.itoh-split-enabled .hero__menu{
  position: fixed;
  z-index: 110;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-brand);
  border: none;
  border-radius: var(--radius-button);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  box-sizing: border-box;
  transition:
    background var(--transition-base),
    align-items var(--transition-base),
    padding var(--transition-base);
}
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){body.itoh-split-enabled .hero__menu{
    --menu-size: 3.25rem;
    top: var(--site-header-align-y);
    left: calc(var(--split-left-percent) - var(--menu-size) - var(--hero-padding));
    transform: translateY(-50%);
    align-items: flex-end;
    gap: 7px;
    width: var(--menu-size);
    height: var(--menu-size);
    padding: 0.625rem;
    overflow: visible;
    transition:
      left var(--transition-split),
      background var(--transition-base),
      align-items var(--transition-base),
      padding var(--transition-base);
  }
body.itoh-split-enabled .hero__menu-line--1{
    width: 1.875rem;
  }
body.itoh-split-enabled .hero__menu-line--2{
    width: 1.875rem;
  }
body.itoh-split-enabled .hero__menu-line--3{
    width: 1.875rem;
  }
body.itoh-split-enabled.is-loading-exit .hero__menu{
    animation: itoh-heroHeaderReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s forwards;
  }

}
@keyframes itoh-heroHeaderReveal{
  from {
    opacity: 0;
    transform: translate(-1.75rem, -50%);
  }

  to {
    opacity: 1;
    transform: translateY(-50%);
  }
}
body.itoh-split-enabled.is-loading-exit .hero__menu{
  visibility: visible;
}
body.itoh-split-enabled.is-loaded .hero__menu{
  opacity: 1;
  visibility: visible;
  animation: none;
  transform: translateY(-50%);
}
body.itoh-split-enabled .hero__menu:hover{
  background: var(--color-brand-dark);
}
body.itoh-split-enabled.is-nav-open .hero__menu{
  align-items: center;
  padding: 0.625rem;
  background: var(--color-white);
}
body.itoh-split-enabled.is-nav-open .hero__menu-line{
  background: var(--color-brand);
}
body.itoh-split-enabled .hero__menu-line{
  display: block;
  height: 2px;
  background: var(--color-white);
  border-radius: 1px;
  transform-origin: center center;
  transition:
    transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.24s ease,
    background 0.2s ease;
}
body.itoh-split-enabled.is-nav-open .hero__menu-line--2{
  opacity: 0;
}
body.itoh-split-enabled .hero__nav{
  position: fixed;
  top: 0;
  left: 0;
  width: var(--split-left-percent);
  height: calc(var(--itoh-vh, 1svh) * 100);
  height: calc(var(--itoh-vh, 1svh) * 100);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    clamp(4rem, calc(var(--itoh-vh, 1svh) * 9), 5rem)
    clamp(1rem, 2.5vw, 1.75rem);
  background: transparent;
  clip-path: circle(0px at var(--menu-origin-x, 30vw) var(--menu-origin-y, 3rem));
  visibility: hidden;
  pointer-events: none;
  overflow-x: hidden;
  overflow-y: auto;
  transition:
    width var(--transition-split),
    clip-path var(--transition-nav-reveal),
    visibility 0s linear 1.4s;
}
body.itoh-split-enabled.is-nav-open .hero__nav{
  clip-path: circle(150vmax at var(--menu-origin-x, 30vw) var(--menu-origin-y, 3rem));
  visibility: visible;
  pointer-events: auto;
  transition:
    width var(--transition-split),
    clip-path var(--transition-nav-reveal),
    visibility 0s linear 0s;
}
body.itoh-split-enabled .hero__nav-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
body.itoh-split-enabled .hero__nav-bg-gradient{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    125deg,
    #00045a 0%,
    var(--color-brand-dark) 16%,
    var(--color-brand) 36%,
    #2d22e8 52%,
    #01009a 68%,
    #000878 84%,
    #00034a 100%
  );
  background-size: 320% 320%;
  background-position: 0% 35%;
}
body.itoh-split-enabled.is-nav-open .hero__nav-bg-gradient{
  animation: itoh-navGradientDrift 16s ease-in-out infinite;
}
@keyframes itoh-navGradientDrift{
  0%,
  100% {
    background-position: 0% 35%;
  }

  33% {
    background-position: 85% 75%;
  }

  66% {
    background-position: 100% 25%;
  }
}
body.itoh-split-enabled .hero__nav-panel{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 34rem;
  margin: auto;
}
body.itoh-split-enabled .hero__nav-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.75rem, calc(var(--itoh-vh, 1svh) * 4), 2.5rem) clamp(1rem, 2.5vw, 1.75rem);
}
body.itoh-split-enabled .hero__nav-group{
  min-width: 0;
}
body.itoh-split-enabled .hero__nav-parent{
  display: block;
  font-size: clamp(1.0625rem, 1.85vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: var(--color-white);
  transition: color var(--transition-base), opacity var(--transition-base);
}
body.itoh-split-enabled .hero__nav-parent:hover,
body.itoh-split-enabled .hero__nav-parent:focus-visible{
  color: var(--color-white);
  opacity: 0.78;
}
body.itoh-split-enabled .hero__nav-sublist{
  margin-top: 0.75rem;
  padding-left: 1.125rem;
  border-left: 2px solid rgba(255, 255, 255, 0.22);
}
body.itoh-split-enabled .hero__nav-sublist li + li{
  margin-top: 0.4375rem;
}
body.itoh-split-enabled .hero__nav-sublink{
  display: block;
  font-size: clamp(0.875rem, 1.45vw, 0.9375rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
  transition: color var(--transition-base);
}
body.itoh-split-enabled .hero__nav-sublink:hover,
body.itoh-split-enabled .hero__nav-sublink:focus-visible{
  color: var(--color-white);
}
body.itoh-split-enabled .hero__nav-sns{
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 2.75rem);
  padding-top: clamp(1.25rem, calc(var(--itoh-vh, 1svh) * 3), 1.75rem);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
body.itoh-split-enabled .hero__nav-sns-label{
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: rgba(255, 255, 255, 0.62);
}
body.itoh-split-enabled .hero__nav-sns-list{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.875rem;
}
body.itoh-split-enabled .hero__nav-sns-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  color: var(--color-white);
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  overflow: visible;
  transition:
    color var(--transition-base),
    background var(--transition-base),
    transform var(--transition-base);
}
body.itoh-split-enabled .hero__nav-sns-link:hover,
body.itoh-split-enabled .hero__nav-sns-link:focus-visible{
  color: var(--color-brand);
  background: var(--color-white);
  transform: translateY(-2px);
}
body.itoh-split-enabled .hero__nav-sns-icon{
  display: block;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  fill: currentColor;
  overflow: visible;
}
body.itoh-split-enabled .hero__nav-sns-icon--instagram{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.itoh-split-enabled .hero__nav-sns-icon--instagram .hero__nav-sns-icon-dot{
  fill: currentColor;
  stroke: none;
}
body.itoh-split-enabled .hero__nav-sns-youtube-body{
  fill: currentColor;
}
body.itoh-split-enabled .hero__nav-sns-youtube-play{
  fill: var(--color-brand);
}
body.itoh-split-enabled .hero__nav-sns-link:hover .hero__nav-sns-youtube-play,
body.itoh-split-enabled .hero__nav-sns-link:focus-visible .hero__nav-sns-youtube-play{
  fill: var(--color-white);
}
body.itoh-split-enabled .hero__media{
  position: absolute;
  inset: 0;
  overflow: hidden;
}
body.itoh-split-enabled .hero__video{
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transition: opacity 0.5s ease;
}
body.itoh-split-enabled .hero__about-slideshow{
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--transition-news-preview),
    visibility var(--transition-news-preview);
}
body.itoh-split-enabled .hero__about-slides{
  position: absolute;
  inset: 0;
  overflow: hidden;
}
body.itoh-split-enabled .hero__about-slide{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--transition-news-preview),
    visibility var(--transition-news-preview);
}
body.itoh-split-enabled .hero__about-slide.is-active{
  opacity: 1;
  visibility: visible;
}
body.itoh-split-enabled .hero__about-controls{
  position: absolute;
  right: clamp(1rem, 2vw, 1.5rem);
  bottom: clamp(1rem, calc(var(--itoh-vh, 1svh) * 2.5), 1.5rem);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.625rem;
  background: rgba(0, 0, 0, 0.42);
  border-radius: 999px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--transition-base),
    visibility var(--transition-base);
  pointer-events: none;
}
body.itoh-split-enabled .split-layout.is-about-active .hero__about-controls{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.itoh-split-enabled .hero__about-counter{
  flex-shrink: 0;
  min-width: 2.75rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
  line-height: 1;
  color: var(--color-white);
  text-align: center;
}
body.itoh-split-enabled .hero__about-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--color-white);
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  cursor: pointer;
  transition:
    color var(--transition-base),
    background var(--transition-base),
    border-color var(--transition-base);
}
body.itoh-split-enabled .hero__about-btn:hover,
body.itoh-split-enabled .hero__about-btn:focus-visible{
  color: var(--color-brand);
  background: var(--color-white);
  border-color: var(--color-white);
}
body.itoh-split-enabled .hero__about-btn:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
body.itoh-split-enabled .hero__about-btn-icon{
  display: block;
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.itoh-split-enabled .hero__about-progress{
  width: clamp(4.5rem, 10vw, 6.5rem);
  height: 3px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.28);
  border-radius: 999px;
}
body.itoh-split-enabled .hero__about-progress-fill{
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: left center;
}
body.itoh-split-enabled .hero__about-progress-fill.is-running{
  animation: itoh-aboutSlideProgress var(--about-slide-interval, 6s) linear forwards;
}
@keyframes itoh-aboutSlideProgress{
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}
body.itoh-split-enabled .hero__news-image{
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--transition-news-preview),
    visibility var(--transition-news-preview);
}
body.itoh-split-enabled .hero__news-image.is-active{
  z-index: 4;
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__news-image.is-active{
  opacity: 1;
  visibility: visible;
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__video,
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__video.is-ready{
  opacity: 0;
  transition: opacity var(--transition-news-preview);
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__about-slideshow{
  opacity: 0;
  visibility: hidden;
  animation: none;
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__about-controls{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__curtain{
  transform: scaleX(0);
  animation: none;
}
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__about-slideshow{
  animation: itoh-heroImageReveal var(--transition-curtain) forwards;
}
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__video.is-ready{
  animation: itoh-heroVideoHide var(--transition-curtain) forwards;
}
body.itoh-split-enabled .hero__contact-image{
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  visibility: hidden;
}
body.itoh-split-enabled .split-layout.is-contact-active .split-layout__visual.is-curtain-run .hero__contact-image{
  animation: itoh-heroImageReveal var(--transition-curtain) forwards;
}
body.itoh-split-enabled .split-layout.is-contact-active .split-layout__visual.is-curtain-run .hero__about-slideshow{
  animation: none;
  opacity: 0;
  visibility: hidden;
}
body.itoh-split-enabled .split-layout.is-contact-active .hero__about-controls{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body.itoh-split-enabled .split-layout__visual:not(.is-curtain-run) .hero__contact-image{
  animation: none;
  opacity: 0;
  visibility: hidden;
}
body.itoh-split-enabled .split-layout:not(.is-contact-active) .hero__contact-image{
  opacity: 0;
  visibility: hidden;
  animation: none;
}
body.itoh-split-enabled .split-layout__visual.is-visual-preview .hero__contact-image{
  opacity: 0;
  visibility: hidden;
  animation: none;
}
@keyframes itoh-heroImageReveal{
  0%,
  39.999% {
    opacity: 0;
    visibility: hidden;
  }

  40%,
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes itoh-heroVideoHide{
  0%,
  39.999% {
    opacity: 1;
  }

  40%,
  100% {
    opacity: 0;
  }
}
body.itoh-split-enabled .split-layout__visual:not(.is-curtain-run) .hero__about-slideshow{
  animation: none;
  opacity: 0;
  visibility: hidden;
}
body.itoh-split-enabled .split-layout__visual:not(.is-curtain-run) .hero__video.is-ready{
  animation: none;
}
body.itoh-split-enabled .hero__curtain{
  position: absolute;
  inset: 0;
  z-index: 4;
  background: var(--color-brand);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
  will-change: transform;
}
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__curtain{
  animation: itoh-heroCurtainTwoPhase var(--transition-curtain) forwards;
}
@keyframes itoh-heroCurtainTwoPhase{
  
  0% {
    transform: scaleX(0);
    transform-origin: left center;
  }

  40% {
    transform: scaleX(1);
    transform-origin: left center;
  }

  
  40.001% {
    transform: translate3d(0, 0, 0) scaleX(1);
    transform-origin: left center;
  }

  100% {
    transform: translate3d(101%, 0, 0) scaleX(1);
    transform-origin: left center;
  }
}
body.itoh-split-enabled .hero__media-fallback{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, var(--color-brand-dark) 0%, var(--color-brand) 50%, #1a1a2e 100%);
  transition: opacity 0.4s ease;
}
body.itoh-split-enabled .about{
  position: relative;
  height: calc(var(--itoh-vh, 1svh) * 100);
  height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  background: var(--color-white);
}
body.itoh-split-enabled .about__inner{
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  padding-inline: var(--hero-padding);
}
body.itoh-split-enabled .about__head{
  flex: 0 0 auto;
  width: 100%;
  max-width: 36rem;
}
body.itoh-split-enabled .about__body{
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4), 3rem);
}
body.itoh-split-enabled .about__body .about__text,
body.itoh-split-enabled .about__body .about__cta{
  width: 100%;
  max-width: var(--about-body-width);
}
body.itoh-split-enabled .about__head > *,
body.itoh-split-enabled .about__body > *{
  opacity: 0;
  transform: translateX(-1.75rem);
}
body.itoh-split-enabled .about.is-inview .about__head > .about__label{
  animation: itoh-heroItemReveal 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards;
}
body.itoh-split-enabled .about.is-inview .about__head > .about__title{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}
body.itoh-split-enabled .about.is-inview .about__body > .about__text:nth-of-type(1){
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
}
body.itoh-split-enabled .about.is-inview .about__body > .about__text:nth-of-type(2){
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}
body.itoh-split-enabled .about.is-inview .about__body > .about__cta{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.65s forwards;
}
body.itoh-split-enabled .about__figure{
  display: none;
}
body.itoh-split-enabled .about__title{
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--color-black);
}
body.itoh-split-enabled .about__title-accent{
  color: var(--color-brand);
}
body.itoh-split-enabled .about__text{
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--color-gray);
}
body.itoh-split-enabled .about__body .about__text + .about__text{
  margin-top: clamp(1.25rem, calc(var(--itoh-vh, 1svh) * 2.5), 1.75rem);
}
body.itoh-split-enabled .about__cta{
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 3rem);
}
body.itoh-split-enabled .about .about__label{
  color: var(--color-brand);
}
body.itoh-split-enabled .about .about__label-rule{
  background: var(--color-brand);
}
body.itoh-split-enabled .about .about__deco-block{
  background: var(--color-brand);
}
body.itoh-split-enabled .news{
  position: relative;
  padding: 0;
  background: var(--color-bg-left);
}
body.itoh-split-enabled .news__inner{
  width: 100%;
  max-width: none;
  min-width: 0;
  padding:
    clamp(3rem, calc(var(--itoh-vh, 1svh) * 8), 5rem)
    var(--hero-padding)
    clamp(4rem, calc(var(--itoh-vh, 1svh) * 10), 6rem);
}
body.itoh-split-enabled .news__inner > *{
  opacity: 0;
  transform: translateX(-1.75rem);
}
body.itoh-split-enabled .news.is-inview .news__inner > .news__label{
  animation: itoh-heroItemReveal 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards;
}
body.itoh-split-enabled .news.is-inview .news__inner > .news__title{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}
body.itoh-split-enabled .news.is-inview .news__inner > .news__list{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
}
body.itoh-split-enabled .news.is-inview .news__inner > .news__cta{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}
body.itoh-split-enabled .news__label,
body.itoh-split-enabled .about__label{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-brand);
}
body.itoh-split-enabled .news__label-rule,
body.itoh-split-enabled .about__label-rule{
  display: block;
  width: clamp(1.5rem, 3vw, 2.5rem);
  height: 2px;
  background: var(--color-brand);
  flex-shrink: 0;
}
body.itoh-split-enabled .news__title{
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--color-black);
}
body.itoh-split-enabled .news__list{
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4), 2.75rem);
  border-top: 1px solid var(--color-gray-light);
}
body.itoh-split-enabled .news__item{
  border-bottom: 1px solid var(--color-gray-light);
}
body.itoh-split-enabled .news__link{
  display: block;
  padding: clamp(1.125rem, calc(var(--itoh-vh, 1svh) * 2.5), 1.5rem) 0;
  transition: color var(--transition-base);
}
body.itoh-split-enabled .news__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem 0.875rem;
  margin-bottom: 0.625rem;
}
body.itoh-split-enabled .news__link:hover .news__item-title,
body.itoh-split-enabled .news__link:focus-visible .news__item-title,
body.itoh-split-enabled .news__link.is-active .news__item-title{
  color: var(--color-brand);
}
body.itoh-split-enabled .news__item-title{
  display: block;
  font-size: clamp(0.9375rem, 1.2vw, 1rem);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--color-black);
  transition: color var(--transition-base);
}
body.itoh-split-enabled .news__date{
  font-size: clamp(0.8125rem, 1vw, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--color-gray);
  white-space: nowrap;
}
body.itoh-split-enabled .news__cat{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  padding: 0.35rem 0.625rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-brand);
  background: var(--color-brand-light);
  border-radius: var(--radius-button);
}
body.itoh-split-enabled .news__cta{
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 3rem);
}
body.itoh-split-enabled .guide{
  position: relative;
  padding: 0;
  background: var(--color-bg-left);
}
body.itoh-split-enabled .guide__inner{
  width: 100%;
  max-width: none;
  padding:
    clamp(2.5rem, calc(var(--itoh-vh, 1svh) * 6), 4rem)
    var(--hero-padding)
    clamp(3.5rem, calc(var(--itoh-vh, 1svh) * 8), 5rem);
}
body.itoh-split-enabled .guide__inner > *{
  opacity: 0;
  transform: translateX(-1.75rem);
}
body.itoh-split-enabled .guide.is-inview .guide__inner > .guide__list{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}
body.itoh-split-enabled .guide__list{
  display: grid;
  gap: clamp(1.75rem, calc(var(--itoh-vh, 1svh) * 3.5), 2.5rem);
}
body.itoh-split-enabled .guide__item{
  border-bottom: 1px solid var(--color-gray-light);
}
body.itoh-split-enabled .guide__item:last-child{
  border-bottom: none;
}
body.itoh-split-enabled .guide__card{
  display: grid;
  grid-template-columns: clamp(4.5rem, 11vw, 6.25rem) minmax(0, 1fr);
  gap: clamp(1rem, 2.2vw, 1.5rem);
  align-items: start;
  padding-block: clamp(1.25rem, calc(var(--itoh-vh, 1svh) * 2.5), 1.75rem);
  color: inherit;
  text-decoration: none;
  transition: opacity var(--transition-base);
}
body.itoh-split-enabled .guide__card:hover,
body.itoh-split-enabled .guide__card:focus-visible,
body.itoh-split-enabled .guide__card.is-active{
  opacity: 1;
}
body.itoh-split-enabled .guide__card:focus-visible{
  outline: 2px solid var(--color-brand);
  outline-offset: 4px;
  border-radius: var(--radius-button);
}
body.itoh-split-enabled .guide__thumb{
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: clamp(0.75rem, 1.5vw, 1.125rem);
  background: var(--color-gray-light);
}
body.itoh-split-enabled .guide__thumb-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
body.itoh-split-enabled .guide__card:hover .guide__thumb-img,
body.itoh-split-enabled .guide__card:focus-visible .guide__thumb-img,
body.itoh-split-enabled .guide__card.is-active .guide__thumb-img{
  transform: scale(1.05);
}
body.itoh-split-enabled .guide__content{
  min-width: 0;
  padding-top: 0.125rem;
}
body.itoh-split-enabled .guide__head{
  display: flex;
  align-items: center;
  gap: clamp(0.625rem, 1.2vw, 1rem);
}
body.itoh-split-enabled .guide__num{
  flex-shrink: 0;
  font-size: clamp(1.375rem, 2.2vw, 1.875rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--color-black);
}
body.itoh-split-enabled .guide__heading{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.375rem 0.875rem;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
body.itoh-split-enabled .guide__heading-en{
  font-size: clamp(0.875rem, 1.25vw, 1.0625rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--color-black);
}
body.itoh-split-enabled .guide__heading-ja{
  font-size: clamp(0.8125rem, 1.05vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: var(--color-gray);
}
body.itoh-split-enabled .guide__dot{
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  margin-left: auto;
  border-radius: 50%;
  background: #4fa3e0;
  opacity: 0.28;
  transform: scale(0.92);
  transition:
    opacity var(--transition-base),
    transform var(--transition-base),
    background var(--transition-base);
}
body.itoh-split-enabled .guide__card:hover .guide__dot,
body.itoh-split-enabled .guide__card:focus-visible .guide__dot,
body.itoh-split-enabled .guide__card.is-active .guide__dot{
  opacity: 1;
  transform: scale(1);
  background: var(--color-brand);
}
body.itoh-split-enabled .guide__rule{
  margin: clamp(0.75rem, calc(var(--itoh-vh, 1svh) * 1.5), 1rem) 0;
  border: 0;
  height: 1px;
  background: var(--color-gray-light);
}
body.itoh-split-enabled .guide__desc{
  font-size: clamp(0.8125rem, 1.05vw, 0.9375rem);
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: var(--color-gray);
}
body.itoh-split-enabled .guide__cta{
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(1rem, calc(var(--itoh-vh, 1svh) * 2.2), 1.25rem);
}
body.itoh-split-enabled .guide__cta.hero__cta{
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: clamp(1rem, 2vw, 1.75rem);
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 3rem);
}
body.itoh-split-enabled .guide__link{
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  color: var(--color-brand);
  transition: color var(--transition-base);
}
body.itoh-split-enabled .guide__link-text{
  font-size: clamp(1.0625rem, 1.6vw, 1.1875rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
body.itoh-split-enabled .guide__link-icon{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.875rem;
  height: 2.875rem;
  overflow: hidden;
  color: var(--color-brand);
  border: 1.5px solid var(--color-brand);
  border-radius: 50%;
  transition:
    color var(--transition-base),
    background var(--transition-base),
    border-color var(--transition-base);
}
body.itoh-split-enabled .guide__link-arrow{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
body.itoh-split-enabled .guide__link-arrow--in{
  transform: translateX(-130%);
}
body.itoh-split-enabled .guide__link-arrow-svg{
  display: block;
  width: 1.3125rem;
  height: 1.3125rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.itoh-split-enabled .guide__link:hover,
body.itoh-split-enabled .guide__link:focus-visible{
  color: var(--color-brand-dark);
}
body.itoh-split-enabled .guide__link:hover .guide__link-icon,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-icon{
  color: var(--color-white);
  background: var(--color-brand);
  border-color: var(--color-brand);
}
body.itoh-split-enabled .guide__link:hover .guide__link-arrow--out,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-arrow--out{
  transform: translateX(130%);
}
body.itoh-split-enabled .guide__link:hover .guide__link-arrow--in,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-arrow--in{
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce){body.itoh-split-enabled .guide__link-arrow{
    transition: none;
  }
body.itoh-split-enabled .guide__link-arrow--in{
    transform: translateX(0);
    opacity: 0;
  }
body.itoh-split-enabled .guide__link:hover .guide__link-arrow--out,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-arrow--out,
body.itoh-split-enabled .guide__link:hover .guide__link-arrow--in,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-arrow--in{
    transform: none;
    opacity: 1;
  }
body.itoh-split-enabled .guide__link:hover .guide__link-arrow--out,
body.itoh-split-enabled .guide__link:focus-visible .guide__link-arrow--out{
    opacity: 0;
  }

}
body.itoh-split-enabled .guide__link:focus-visible{
  outline: 2px solid var(--color-brand);
  outline-offset: 4px;
  border-radius: var(--radius-button);
}
body.itoh-split-enabled .contact{
  position: relative;
  height: calc(var(--itoh-vh, 1svh) * 100);
  height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  min-height: calc(var(--itoh-vh, 1svh) * 100);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  background: var(--color-white);
}
body.itoh-split-enabled .contact__inner{
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  padding-inline: var(--hero-padding);
}
body.itoh-split-enabled .contact__head{
  flex: 0 0 auto;
  width: 100%;
  max-width: 36rem;
}
body.itoh-split-enabled .contact__body{
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4), 3rem);
}
body.itoh-split-enabled .contact__body .contact__lead,
body.itoh-split-enabled .contact__body .contact__cta{
  width: 100%;
  max-width: var(--about-body-width);
}
body.itoh-split-enabled .contact__head > *,
body.itoh-split-enabled .contact__body > *{
  opacity: 0;
  transform: translateX(-1.75rem);
}
body.itoh-split-enabled .contact.is-inview .contact__head > .contact__label{
  animation: itoh-heroItemReveal 0.95s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards;
}
body.itoh-split-enabled .contact.is-inview .contact__head > .contact__title{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}
body.itoh-split-enabled .contact.is-inview .contact__body > .contact__lead{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
}
body.itoh-split-enabled .contact.is-inview .contact__body > .contact__cta{
  animation: itoh-heroItemReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}
body.itoh-split-enabled .contact__title{
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--color-black);
}
body.itoh-split-enabled .contact__lead{
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--color-gray);
}
body.itoh-split-enabled .contact__cta{
  margin-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 3rem);
}
body.itoh-split-enabled .contact__label{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-size: clamp(0.75rem, 1vw, 0.875rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-brand);
}
body.itoh-split-enabled .contact__label-rule{
  display: block;
  width: clamp(1.5rem, 3vw, 2.5rem);
  height: 2px;
  background: var(--color-brand);
  flex-shrink: 0;
}
body.itoh-split-enabled .hero__video.is-ready{
  opacity: 1;
}
body.itoh-split-enabled .hero__media:has(.hero__video.is-ready) .hero__media-fallback{
  opacity: 0;
}
body.itoh-split-enabled .site-footer{
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  color: var(--color-white);
  background: var(--color-brand);
}
body.itoh-split-enabled .site-footer__inner{
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding:
    clamp(3rem, calc(var(--itoh-vh, 1svh) * 7), 4.5rem)
    var(--hero-padding)
    clamp(1.75rem, calc(var(--itoh-vh, 1svh) * 4), 2.5rem);
}
body.itoh-split-enabled .site-footer__main{
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4.5), 3rem);
}
body.itoh-split-enabled .site-footer__brand{
  max-width: 24rem;
}
body.itoh-split-enabled .site-footer__logo{
  display: inline-block;
}
body.itoh-split-enabled .site-footer__logo img{
  width: clamp(7.5rem, 12vw, 10rem);
  height: auto;
}
body.itoh-split-enabled .site-footer__address{
  margin-top: clamp(1rem, calc(var(--itoh-vh, 1svh) * 2), 1.25rem);
  font-style: normal;
  font-size: clamp(0.8125rem, 1vw, 0.875rem);
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.82);
}
body.itoh-split-enabled .site-footer__tel{
  color: inherit;
  text-decoration: none;
  transition: opacity var(--transition-base);
}
body.itoh-split-enabled .site-footer__tel:hover,
body.itoh-split-enabled .site-footer__tel:focus-visible{
  opacity: 0.78;
}
body.itoh-split-enabled .site-footer__tel:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 3px;
}
body.itoh-split-enabled .site-footer__tagline{
  margin-top: 0.875rem;
  font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.72);
}
body.itoh-split-enabled .site-footer__nav-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, calc(var(--itoh-vh, 1svh) * 3), 2.25rem) clamp(1rem, 2.5vw, 2rem);
}
body.itoh-split-enabled .site-footer__nav-group{
  min-width: 0;
}
body.itoh-split-enabled .site-footer__nav-parent{
  display: block;
  font-size: clamp(0.9375rem, 1.15vw, 1.0625rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: var(--color-white);
  text-decoration: none;
  transition: opacity var(--transition-base);
}
body.itoh-split-enabled .site-footer__nav-parent:hover,
body.itoh-split-enabled .site-footer__nav-parent:focus-visible{
  opacity: 0.78;
}
body.itoh-split-enabled .site-footer__nav-parent:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 3px;
}
body.itoh-split-enabled .site-footer__nav-sublist{
  list-style: none;
  margin-top: 0.625rem;
  padding-left: 0.875rem;
  border-left: 2px solid rgba(255, 255, 255, 0.22);
}
body.itoh-split-enabled .site-footer__nav-sublist li + li{
  margin-top: 0.375rem;
}
body.itoh-split-enabled .site-footer__nav-sublink{
  display: block;
  font-size: clamp(0.75rem, 0.95vw, 0.8125rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: color var(--transition-base);
}
body.itoh-split-enabled .site-footer__nav-sublink:hover,
body.itoh-split-enabled .site-footer__nav-sublink:focus-visible{
  color: var(--color-white);
}
body.itoh-split-enabled .site-footer__nav-sublink:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}
body.itoh-split-enabled .site-footer__sub{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  margin-top: clamp(2.5rem, calc(var(--itoh-vh, 1svh) * 5), 3.25rem);
  padding-top: clamp(1.5rem, calc(var(--itoh-vh, 1svh) * 3), 2rem);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
body.itoh-split-enabled .site-footer__legal{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}
body.itoh-split-enabled .site-footer__legal-link{
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color var(--transition-base);
}
body.itoh-split-enabled .site-footer__legal-link:hover,
body.itoh-split-enabled .site-footer__legal-link:focus-visible{
  color: var(--color-white);
}
body.itoh-split-enabled .site-footer__legal-link:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 3px;
}
body.itoh-split-enabled .site-footer__sns{
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
body.itoh-split-enabled .site-footer__sns-label{
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}
body.itoh-split-enabled .site-footer__sns-list{
  list-style: none;
  display: flex;
  gap: 0.625rem;
}
body.itoh-split-enabled .site-footer__sns-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-white);
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  transition:
    color var(--transition-base),
    background var(--transition-base),
    transform var(--transition-base);
}
body.itoh-split-enabled .site-footer__sns-link:hover,
body.itoh-split-enabled .site-footer__sns-link:focus-visible{
  color: var(--color-brand);
  background: var(--color-white);
  transform: translateY(-2px);
}
body.itoh-split-enabled .site-footer__sns-link:focus-visible{
  outline: 2px solid var(--color-white);
  outline-offset: 3px;
}
body.itoh-split-enabled .site-footer__sns-icon{
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}
body.itoh-split-enabled .site-footer__sns-icon--instagram{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.itoh-split-enabled .site-footer__sns-icon--instagram .site-footer__sns-icon-dot{
  fill: currentColor;
  stroke: none;
}
body.itoh-split-enabled .site-footer__sns-youtube-body{
  fill: currentColor;
}
body.itoh-split-enabled .site-footer__sns-youtube-play{
  fill: var(--color-brand);
}
body.itoh-split-enabled .site-footer__sns-link:hover .site-footer__sns-youtube-play,
body.itoh-split-enabled .site-footer__sns-link:focus-visible .site-footer__sns-youtube-play{
  fill: var(--color-white);
}
body.itoh-split-enabled .site-footer__copy{
  margin-top: clamp(1.5rem, calc(var(--itoh-vh, 1svh) * 3), 2rem);
  text-align: center;
}
body.itoh-split-enabled .site-footer__copy small{
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.58);
}
@media (max-width: 1024px){body.itoh-split-enabled .site-footer__nav-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){body.itoh-split-enabled .site-footer__nav-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1rem;
  }
body.itoh-split-enabled .site-footer__sub{
    flex-direction: column;
    align-items: flex-start;
  }

}
@media (max-width: 1024px){body.itoh-split-enabled{
    --split-left-percent: 42%;
  }
body.itoh-split-enabled .split-layout{
    --split-left: 42fr;
    --split-right: 58fr;
    --split-left-percent: 42%;
  }
body.itoh-split-enabled .split-layout.is-split-balanced{
    --split-left: 50fr;
    --split-right: 50fr;
    --split-left-percent: 50%;
  }
body.itoh-split-enabled .hero__title{
    font-size: clamp(2.375rem, 5.5vw, 3.75rem);
  }

}
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){body.itoh-split-enabled{
    --site-header-control-size: 2.75rem;
    --site-header-align-y: calc(
      max(0.75rem, env(safe-area-inset-top, 0px)) + var(--site-header-control-size) / 2
    );
  }
html:has(> body.itoh-split-enabled),
body.itoh-split-enabled{
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }
body.itoh-split-enabled .split-layout{
    display: flex;
    flex-direction: column;
    transition: none;
    --split-left-percent: 100%;
  }
body.itoh-split-enabled .split-layout.is-split-balanced{
    --split-left: 1fr;
    --split-right: 1fr;
    --split-left-percent: 100%;
  }
body.itoh-split-enabled .split-layout__main{
    display: contents;
  }
body.itoh-split-enabled .split-layout__visual{
    position: relative;
    order: 1;
    z-index: 1;
    flex: 0 0 calc(var(--itoh-vh, 1svh) * 50);
    height: calc(var(--itoh-vh, 1svh) * 50);
    opacity: 1;
  }
body.itoh-split-enabled .hero{
    order: 2;
    display: flex;
    flex-direction: column;
    flex: 1 0 calc(var(--itoh-vh, 1svh) * 50);
    min-height: calc(var(--itoh-vh, 1svh) * 50);
  }
body.itoh-split-enabled .hero__left{
    flex: 1;
    min-height: 100%;
    justify-content: center;
    padding-block: clamp(1.5rem, calc(var(--itoh-vh, 1svh) * 4), 2.5rem);
  }
body.itoh-split-enabled .hero__copy{
    justify-content: center;
  }
body.itoh-split-enabled .about{
    order: 3;
    height: auto;
    min-height: auto;
    overflow: visible;
    padding-top: 0;
    display: block;
    justify-content: flex-start;
    background: none;
  }
body.itoh-split-enabled .about__title,
body.itoh-split-enabled .about__title-accent{
    color: var(--color-black);
  }
body.itoh-split-enabled .about__text{
    color: var(--color-gray);
  }
body.itoh-split-enabled .about .about__label{
    color: var(--color-brand);
  }
body.itoh-split-enabled .about .about__label-rule,
body.itoh-split-enabled .about .about__deco-block{
    background: var(--color-brand);
  }
body.itoh-split-enabled .about__inner{
    display: block;
    overflow: visible;
    max-height: none;
    padding:
      0
      var(--hero-padding)
      clamp(4rem, calc(var(--itoh-vh, 1svh) * 10), 5rem);
  }
body.itoh-split-enabled .about__head{
    padding-top: 0;
  }
body.itoh-split-enabled .about__body{
    display: block;
    padding-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4), 3rem);
    padding-bottom: 0;
  }
body.itoh-split-enabled .about__body .about__text + .about__text{
    margin-top: clamp(1.25rem, calc(var(--itoh-vh, 1svh) * 2.5), 1.75rem);
  }
body.itoh-split-enabled .about__figure{
    display: block;
    margin: 0 calc(-1 * var(--hero-padding)) clamp(2rem, calc(var(--itoh-vh, 1svh) * 5), 2.5rem);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-gray-light);
  }
body.itoh-split-enabled .about__figure-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
body.itoh-split-enabled .hero__about-slideshow,
body.itoh-split-enabled .hero__contact-image,
body.itoh-split-enabled .hero__curtain{
    display: none;
  }
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__video,
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__video.is-ready{
    animation: none;
    opacity: 1;
  }
body.itoh-split-enabled .split-layout.is-about-active .hero__about-slideshow,
body.itoh-split-enabled .split-layout.is-about-active .hero__video.is-ready{
    opacity: 1;
    visibility: visible;
    animation: none;
  }
body.itoh-split-enabled .news{
    order: 4;
  }
body.itoh-split-enabled .guide{
    order: 5;
  }
body.itoh-split-enabled .guide__card{
    grid-template-columns: clamp(4rem, 20vw, 5.25rem) minmax(0, 1fr);
    gap: 0.875rem;
    padding-block: 1.125rem;
  }
body.itoh-split-enabled .guide__dot{
    width: 0.5rem;
    height: 0.5rem;
  }
body.itoh-split-enabled .contact{
    order: 6;
    height: auto;
    min-height: auto;
    overflow: visible;
    padding-top: 0;
    display: block;
    justify-content: flex-start;
    background: none;
  }
body.itoh-split-enabled .contact__inner{
    display: block;
    padding:
      2rem
      var(--hero-padding)
      clamp(4rem, calc(var(--itoh-vh, 1svh) * 10), 5rem);
  }
body.itoh-split-enabled .contact__body{
    display: block;
    padding-top: clamp(2rem, calc(var(--itoh-vh, 1svh) * 4), 3rem);
    padding-bottom: 0;
  }
body.itoh-split-enabled .site-footer{
    order: 7;
  }
body.itoh-split-enabled .hero__title{
    font-size: clamp(2.25rem, 10vw, 3.25rem);
  }
body.itoh-split-enabled .hero__deco-slash--main{
    right: 1rem;
  }
body.itoh-split-enabled .hero__logo{
    top: var(--site-header-align-y);
    left: max(1rem, env(safe-area-inset-left, 0px));
    z-index: 120;
    transform: translateY(-50%);
  }
body.itoh-split-enabled .hero__logo-img{
    width: clamp(6.5rem, 34vw, 8.5rem);
  }
body.itoh-split-enabled.is-loading-exit .hero__logo-img--default,
body.itoh-split-enabled.is-loaded.is-header-over-video:not(.is-nav-open) .hero__logo-img--default{
    opacity: 0;
    animation: none;
  }
body.itoh-split-enabled.is-loading-exit .hero__logo-img--white,
body.itoh-split-enabled.is-loaded.is-header-over-video:not(.is-nav-open) .hero__logo-img--white{
    opacity: 1;
    transform: none;
  }
body.itoh-split-enabled.is-loading-exit .hero__logo-img--white{
    animation: itoh-heroItemReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s forwards;
  }
body.itoh-split-enabled .hero__menu{
    --menu-size: 2.75rem;
    top: var(--site-header-align-y);
    right: max(1rem, env(safe-area-inset-right, 0px));
    left: unset;
    z-index: 120;
    width: var(--menu-size);
    min-width: var(--menu-size);
    max-width: var(--menu-size);
    height: var(--menu-size);
    padding: 0.625rem;
    align-items: flex-end;
    gap: 7px;
    overflow: visible;
    transform: translateY(-50%);
  }
body.itoh-split-enabled.is-loading-exit .hero__menu{
    animation: itoh-heroMenuRevealMobile 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.85s forwards;
  }
body.itoh-split-enabled.is-loaded .hero__menu{
    transform: translateY(-50%);
  }
body.itoh-split-enabled .hero__menu-line--1{
    width: 1.5rem;
  }
body.itoh-split-enabled .hero__menu-line--2{
    width: 1.5rem;
  }
body.itoh-split-enabled .hero__menu-line--3{
    width: 1.5rem;
  }
body.itoh-split-enabled.is-nav-open .hero__menu{
    align-items: center;
    padding: 0.625rem;
  }
@keyframes itoh-heroMenuRevealMobile{
    from {
      opacity: 0;
      transform: translateY(calc(-50% - 0.5rem));
    }

    to {
      opacity: 1;
      transform: translateY(-50%);
    }
  }
body.itoh-split-enabled .hero__nav{
    width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
body.itoh-split-enabled .hero__nav-panel{
    max-width: 28rem;
  }
@keyframes itoh-loaderCurtainExit{
    0% {
      clip-path: inset(0 0 0 0);
    }

    100% {
      clip-path: inset(0 0 0 100%);
    }
  }
@keyframes itoh-loaderVideoReveal{
    0%,
    18% {
      opacity: 0;
    }

    32%,
    100% {
      opacity: 1;
    }
  }

}
@media (prefers-reduced-motion: reduce){html:has(> body.itoh-split-enabled){
    scroll-behavior: auto;
  }
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *)),
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *))::before,
body.itoh-split-enabled *:not(:where(#wpadminbar, #wpadminbar *))::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
body.itoh-split-enabled .hero__copy,
body.itoh-split-enabled .hero__copy > *,
body.itoh-split-enabled .about__head > *,
body.itoh-split-enabled .about__body > *,
body.itoh-split-enabled .news__inner > *,
body.itoh-split-enabled .guide__inner > *,
body.itoh-split-enabled .contact__head > *,
body.itoh-split-enabled .contact__body > *,
body.itoh-split-enabled .hero__logo-img,
body.itoh-split-enabled .split-layout__visual,
body.itoh-split-enabled .hero__logo,
body.itoh-split-enabled .hero__menu{
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    animation: none !important;
  }
body.itoh-split-enabled .loader{
    display: none !important;
  }
body.itoh-split-enabled .split-layout.is-split-balanced{
    --split-left: 38fr;
    --split-right: 62fr;
  }
body.itoh-split-enabled.is-nav-open .hero__nav{
    clip-path: none;
  }
body.itoh-split-enabled.is-nav-open .hero__nav-bg-gradient{
    animation: none !important;
    background-position: 0% 35%;
  }
body.itoh-split-enabled .split-layout.is-about-active .hero__about-slideshow{
    opacity: 1;
    visibility: visible;
  }
body.itoh-split-enabled .split-layout.is-contact-active .hero__contact-image{
    opacity: 1;
    visibility: visible;
  }
body.itoh-split-enabled .split-layout.is-about-active .hero__video.is-ready{
    opacity: 0;
  }
body.itoh-split-enabled .split-layout.is-contact-active .hero__video.is-ready{
    opacity: 0;
  }
body.itoh-split-enabled .split-layout__visual.is-curtain-run .hero__curtain{
    animation: none;
    transform: scaleX(0);
  }

}
body.itoh-split-enabled.is-outside-hero .split-layout__visual .hero__video{
  opacity: 0;
  visibility: hidden;
  animation: none;
}
body.itoh-split-enabled .hero__menu-icon{
  position: relative;
  display: block;
  flex: 0 0 20px;
  width: 100%;
  height: 20px;
}
body.itoh-split-enabled .hero__menu-icon .hero__menu-line{
  position: absolute;
  right: 50%;
  margin: 0;
  transform: translateX(50%) rotate(0deg);
}
body.itoh-split-enabled .hero__menu-icon .hero__menu-line--1{ top: 0; }
body.itoh-split-enabled .hero__menu-icon .hero__menu-line--2{ top: 9px; }
body.itoh-split-enabled .hero__menu-icon .hero__menu-line--3{ top: 18px; }
body.itoh-split-enabled.is-nav-open .hero__menu-icon .hero__menu-line--1{
  right: 50%;
  transform: translate(50%, 9px) rotate(45deg);
}
body.itoh-split-enabled.is-nav-open .hero__menu-icon .hero__menu-line--2{
  right: 50%;
  transform: translateX(50%);
}
body.itoh-split-enabled.is-nav-open .hero__menu-icon .hero__menu-line--3{
  right: 50%;
  transform: translate(50%, -9px) rotate(-45deg);
}
@media (prefers-reduced-motion: reduce){body.itoh-split-enabled .hero__menu-icon,
body.itoh-split-enabled.is-nav-open .hero__menu-icon{
    transform: none;
    transition: none;
  }

}
html:has(> body.itoh-split-enabled).itoh-layout-restoring .split-layout,
html:has(> body.itoh-split-enabled).itoh-layout-restoring .hero__menu,
html:has(> body.itoh-split-enabled).itoh-layout-restoring .hero__nav,
html:has(> body.itoh-split-enabled).itoh-layout-restoring .hero__nav-bg{
  transition: none;
}
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){html:has(> body.itoh-split-enabled).itoh-restore-balanced body,
html:has(> body.itoh-split-enabled).itoh-restore-balanced .split-layout{
    --split-left-percent: 50%;
  }
html:has(> body.itoh-split-enabled).itoh-restore-balanced .split-layout{
    --split-left: 50fr;
    --split-right: 50fr;
  }

}
body.itoh-split-enabled .split-layout__visual.is-restored-panel.is-curtain-run .hero__curtain{
  animation: none;
  transform: translate3d(101%, 0, 0) scaleX(1);
}
body.itoh-split-enabled .split-layout.is-about-active .split-layout__visual.is-restored-panel .hero__about-slideshow,
body.itoh-split-enabled .split-layout.is-contact-active .split-layout__visual.is-restored-panel .hero__contact-image{
  animation: none;
  opacity: 1;
  visibility: visible;
}
html:has(> body.itoh-split-enabled).itoh-nav-open.lenis.lenis-stopped{
  overflow-x: hidden;
  overflow-y: auto;
}


body.itoh-split-enabled .hero__nav-grid,body.itoh-split-enabled .site-footer__nav-grid{list-style:none;padding:0;margin:0;}
body.itoh-split-enabled .itoh-page-content{display:contents;}
body.itoh-split-enabled .itoh-sns-image{width:24px;height:24px;object-fit:contain;}
body.itoh-split-enabled .site-footer__legal a{color:inherit;}
body.itoh-split-enabled .itoh-skip-link{position:fixed;left:1rem;top:-5rem;z-index:10000;background:white;color:#01009a;padding:1rem;}
body.itoh-split-enabled .itoh-skip-link:focus{top:1rem;}
html.itoh-menu-lock{overflow-y:auto;}
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){body.itoh-split-enabled.admin-bar{--hero-padding:clamp(1.5rem,3.5vw,3rem);--site-header-align-y:calc(var(--hero-padding) + var(--site-header-control-size)/2 + 32px);}body.itoh-split-enabled.admin-bar .hero__nav{top:32px;height:calc(calc(var(--itoh-vh, 1svh) * 100) - 32px);}body.itoh-split-enabled.admin-bar .split-layout__visual{top:32px;height:calc(calc(var(--itoh-vh, 1svh) * 100) - 32px);}}

/* タイトルはテキストエリアの改行を維持。強調色はCSSだけで管理。 */
body.itoh-split-enabled .hero__title {
  font-size: clamp(2.5rem, 4vw, 4rem);
  overflow-wrap: anywhere;
}
body.itoh-split-enabled .hero__title-line + .hero__title-line { margin-top: 0.1em; }
body.itoh-split-enabled .hero__title .itoh-title-word[data-word="IT"] { color: var(--color-brand); }
body.itoh-split-enabled .hero__media-fallback img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.itoh-split-enabled.is-outside-hero .hero__media .hero__media-fallback,
body.itoh-split-enabled.is-outside-hero .hero__media:has(.hero__video.is-ready) .hero__media-fallback { opacity:1; }
body.itoh-split-enabled .hero__logo-text { font-weight:700; color:var(--color-brand); }
body.itoh-split-enabled.is-nav-open .hero__logo-text { color:white; }
body.itoh-split-enabled .hero__nav-sublist .hero__nav-group,
body.itoh-split-enabled .site-footer__nav-sublist .site-footer__nav-group { margin:0; }
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){ body.itoh-split-enabled .hero__title { font-size:clamp(2.4rem,8vw,3rem); } }

/* 右の列は本文より前に配置し、フッター下へ自動配置されないよう明示。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
  body.itoh-split-enabled #splitLayout {
    display:grid !important;
    grid-template-columns:minmax(0,var(--split-left)) minmax(0,var(--split-right));
    align-items:start;
    width:100%;
    max-width:none;
  }
  body.itoh-split-enabled #splitLayout > .split-layout__main {grid-column:1; grid-row:1; width:100%; min-width:0;}
  body.itoh-split-enabled #splitLayout > .split-layout__visual {grid-column:2; grid-row:1; width:100%; min-width:0; position:sticky; top:0;}
}
body.itoh-split-enabled .hero__media {position:relative; width:100%; height:100%; overflow:hidden;}
body.itoh-split-enabled .hero__media > .hero__video {display:block; position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; opacity:1; visibility:visible; animation:none; z-index:1;}
body.itoh-split-enabled.is-outside-hero .hero__media > .hero__video {opacity:0; visibility:hidden;}
body.itoh-split-enabled .hero__media > .hero__media-fallback {z-index:0;}

/* 本文用右エリアは未実装。共通パーツはヒーロー動画とフッター画像だけ。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled #splitLayout {--split-left:38fr;--split-right:62fr;--split-left-percent:38%;}
 body.itoh-split-enabled #splitLayout.is-split-balanced {--split-left:50fr;--split-right:50fr;--split-left-percent:50%;}
}
@media (min-width:769px) and (max-width:1100px) and (orientation:landscape), (min-width:1025px) and (max-width:1100px){body.itoh-split-enabled #splitLayout:not(.is-split-balanced){--split-left:42fr;--split-right:58fr;--split-left-percent:42%;}}
body.itoh-split-enabled #splitVisual > .hero__media > .hero__video {display:block !important;opacity:1 !important;visibility:visible !important;}
body.itoh-split-enabled.is-outside-hero #splitVisual > .hero__media > .hero__video,
body.itoh-split-enabled #splitVisual.itoh-video-error > .hero__media > .hero__video {opacity:0 !important;visibility:hidden !important;}
body.itoh-split-enabled #splitLayout .itoh-footer-visual {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;visibility:hidden;transition:opacity 0.6s ease,visibility 0.6s ease;}
body.itoh-split-enabled #splitLayout.is-footer-active .itoh-footer-visual {opacity:1;visibility:visible;}
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){body.itoh-split-enabled .itoh-footer-visual {display:none;}}
@media(prefers-reduced-motion:reduce){body.itoh-split-enabled .itoh-footer-visual {transition:none;}}

/* 右の表示枠は文書の高さへ加算しない。左本文の末尾がページ末尾になる。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled #splitLayout{display:block !important;position:relative;}
 body.itoh-split-enabled #splitLayout > .split-layout__main{display:block;width:var(--split-left-percent);transition:width var(--transition-split);}
 body.itoh-split-enabled #splitLayout > .split-layout__visual{position:fixed;inset:0 0 auto var(--split-left-percent);width:auto;height:calc(var(--itoh-vh, 1svh) * 100);transition:left var(--transition-split);}
 body.itoh-split-enabled .site-footer{height:auto;min-height:0;margin-bottom:0;}
}
@media(prefers-reduced-motion:reduce){body.itoh-split-enabled #splitLayout > .split-layout__main,body.itoh-split-enabled #splitLayout > .split-layout__visual{transition:none;}}

/* メニュー上部は固定ロゴ・閉じるボタン専用の余白にする。 */
body.itoh-split-enabled .hero__nav {
  --itoh-menu-header:calc(var(--hero-padding) + var(--site-header-control-size) + 1.25rem);
  align-items:flex-start;
  padding-top:var(--itoh-menu-header);
  padding-bottom:1.25rem;
  overflow:hidden;
}
body.itoh-split-enabled .hero__nav-panel {
  margin:0;
  transform:scale(var(--itoh-menu-scale,1));
  transform-origin:top center;
}
body.itoh-split-enabled .hero__nav-grid {row-gap:clamp(1rem,calc(var(--itoh-vh, 1svh) * 2.3),1.5rem);}
body.itoh-split-enabled .hero__nav-parent {font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.35;}
body.itoh-split-enabled .hero__nav-sublist {margin-top:0.5rem;padding-left:0.875rem;}
body.itoh-split-enabled .hero__nav-sublist li + li {margin-top:0.25rem;}
body.itoh-split-enabled .hero__nav-sublink {font-size:clamp(0.8125rem,1vw,0.875rem);line-height:1.45;}
body.itoh-split-enabled .hero__nav-sns {margin-top:1.25rem;padding-top:0.875rem;}
body.itoh-split-enabled .hero__nav-sns-list {margin-top:0.5rem;}
body.itoh-split-enabled .hero__nav-sns-link {width:2.5rem;height:2.5rem;}
body.itoh-split-enabled .hero__nav.is-menu-scrollable .hero__nav-panel {
  transform:none;
  max-height:calc(calc(var(--itoh-vh, 1svh) * 100) - var(--itoh-menu-header) - 1.25rem);
  overflow-y:auto;
  overscroll-behavior:contain;
}
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){
 body.itoh-split-enabled .hero__nav {--itoh-menu-header:calc(max(0.75rem,env(safe-area-inset-top,0px)) + var(--site-header-control-size) + 1.25rem);}
 body.itoh-split-enabled .hero__nav-panel {max-width:34rem;}
}

/* スマホ：固定ページをヒーローの後にまとめ、メニューを上下にバランスよく配置。 */
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){
 body.itoh-split-enabled #splitLayout {--itoh-mobile-screen-height:calc(var(--itoh-vh, 1svh) * 100);}
 body.itoh-split-enabled #splitLayout > .split-layout__visual {flex-basis:calc(var(--itoh-mobile-screen-height)/2);height:calc(var(--itoh-mobile-screen-height)/2);}
 body.itoh-split-enabled #splitLayout > .split-layout__main > .hero {flex:0 0 auto;min-height:calc(var(--itoh-mobile-screen-height)/2 + env(safe-area-inset-bottom,0px));}
 body.itoh-split-enabled #splitLayout > .split-layout__main > .hero > .hero__left {min-height:0;padding-bottom:calc(clamp(1.5rem,calc(var(--itoh-vh, 1svh) * 4),2.5rem) + env(safe-area-inset-bottom,0px));}
 body.itoh-split-enabled #splitLayout > .split-layout__main {display:flex;flex-direction:column;order:2;width:100%;min-width:0;}
 body.itoh-split-enabled #splitLayout > .split-layout__main > .itoh-page-content {display:block;order:3;width:100%;}
 body.itoh-split-enabled .hero__nav {align-items:center;}
 body.itoh-split-enabled .hero__nav-grid {row-gap:clamp(1.5rem,calc(var(--itoh-vh, 1svh) * 4),2.25rem);}
 body.itoh-split-enabled .hero__nav-parent {font-size:1.0625rem;}
 body.itoh-split-enabled .hero__nav-sublink {font-size:.875rem;line-height:1.5;}
 body.itoh-split-enabled .hero__nav.is-menu-scrollable {align-items:flex-start;}
}
@media(prefers-reduced-motion:reduce){body.itoh-split-enabled .hero__nav-panel {transition:none;}}

/* PCメニュー：一覧を下げ、左エリアの横幅を使って余白のバランスを整える。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled .hero__nav {
  --itoh-menu-header:calc(var(--hero-padding) + var(--site-header-control-size) + 2.75rem);
  padding-left:var(--hero-padding);
  padding-right:var(--hero-padding);
 }
 body.itoh-split-enabled .hero__nav-panel {max-width:none;width:100%;}
 body.itoh-split-enabled .hero__nav-grid {column-gap:clamp(1.5rem,3vw,3rem);row-gap:clamp(1.25rem,calc(var(--itoh-vh, 1svh) * 3),2rem);}
 body.itoh-split-enabled .hero__nav-parent {font-size:clamp(1.125rem,1.3vw,1.375rem);line-height:1.4;}
 body.itoh-split-enabled .hero__nav-sublink {font-size:clamp(0.9375rem,1.05vw,1rem);line-height:1.55;}
 body.itoh-split-enabled .hero__nav-sublist li + li {margin-top:0.3125rem;}
 body.itoh-split-enabled .hero__nav-sns {margin-top:1.5rem;padding-top:1rem;}
 body.itoh-split-enabled .hero__nav-sns-link {width:2.75rem;height:2.75rem;}
}

/* 2列のメニューを、下の横線と同じ幅いっぱいへ配置する。 */
body.itoh-split-enabled .hero__nav-grid {
 --itoh-nav-gap:clamp(1.5rem,3vw,3rem);
 grid-template-columns:repeat(2,minmax(0,1fr));
 column-gap:var(--itoh-nav-gap);
 justify-content:center;
}
body.itoh-split-enabled .site-footer__nav-grid {
 --itoh-nav-gap:clamp(1rem,2.5vw,2rem);
 grid-template-columns:repeat(2,minmax(0,1fr));
 column-gap:var(--itoh-nav-gap);
 justify-content:center;
}
@media(max-width:1024px){
 body.itoh-split-enabled .site-footer__nav-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px), (max-width:1024px) and (orientation:portrait){
 body.itoh-split-enabled .hero__nav-grid,body.itoh-split-enabled .site-footer__nav-grid {--itoh-nav-gap:1rem;}
}
/* 5:5では列間を広げ、左右の余白の均等さは維持する。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled.is-split-balanced .hero__nav-grid {--itoh-nav-gap:clamp(3rem,10vw,10rem);}
 body.itoh-split-enabled #splitLayout > .split-layout__main {overflow-x:clip;}
 body.itoh-split-enabled #splitLayout > .split-layout__main > .itoh-page-content {display:block;width:var(--itoh-page-width,100%);transition:width var(--transition-split);}
}
/* iPad横向きも、メニューと本文・右画像で同じ42:58を使う。 */
@media (min-width:769px) and (max-width:1100px) and (orientation:landscape), (min-width:1025px) and (max-width:1100px){
 body.itoh-split-enabled:not(.is-split-balanced) {--split-left-percent:42%;}
}
@media(prefers-reduced-motion:reduce){body.itoh-split-enabled .itoh-page-content{transition:none !important;}}

/* メニューのリンクは文字の幅だけにする。列幅・配置は変更しない。 */
body.itoh-split-enabled .hero__nav-parent,
body.itoh-split-enabled .hero__nav-sublink,
body.itoh-split-enabled .site-footer__nav-parent,
body.itoh-split-enabled .site-footer__nav-sublink {display:inline;width:auto;max-width:100%;}
body.itoh-split-enabled .hero__logo {transition:opacity .35s ease,visibility .35s ease;}
body.itoh-split-enabled.is-header-in-footer .hero__logo {opacity:0;visibility:hidden;pointer-events:none;}
body.itoh-split-enabled.is-header-in-footer.is-nav-open .hero__logo {opacity:1;visibility:visible;}
/* 固定の右枠はバーが消えた後の領域まで覆い、画像のサイズはバーに追従させない。 */
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled #splitLayout > .split-layout__visual {min-height:100lvh;}
 body.itoh-split-enabled.admin-bar #splitLayout > .split-layout__visual {min-height:calc(100lvh - 32px);}
}
/* メニューの背景は現在の画面を覆う。本文・メニュー文字の寸法は固定値を使用。 */
body.itoh-split-enabled .hero__nav {height:100dvh;}
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled.admin-bar .hero__nav {height:calc(100dvh - 32px);}
}
@media (min-width:769px) and (orientation:landscape), (min-width:1025px){
 body.itoh-split-enabled .itoh-page-content .itp-contact {width:var(--itoh-contact-width,100%);max-width:100%;transition:width var(--transition-split);}
}
@media(prefers-reduced-motion:reduce){body.itoh-split-enabled .hero__logo,body.itoh-split-enabled .itoh-page-content .itp-contact{transition:none !important;}}
