:root {
  /* color */
  --color-main: #0084b9;
  --color-accent: #6997ac;
  --color-sub: #828282;
  --color-font: #383a3c;
  --color-font-opa-90: #383a3ce5;
  --color-base: #f0f0f0;
  --color-border: #6997ac;
  --color-white: #ffffff;
  --color-white-opa-40: #ffffff66;
  --color-white-opa-0: #ffffff00;
  --color-logo-txt: #000000;
  /* font family */
  --font-family-Noto: "Noto Sans JP";
  --font-family-Marcellus: "Marcellus";
  --font-family-Shippori: "Shippori Antique";
  /* font weight */
  --font-weight-normal: 400;
  --font-weight-title: 500;
  --font-weight-accent: 500;
  /* type scale */
  --font-size-h2: 2.5rem;
  --font-size-h2-en: 9rem;
  --font-size-h3: 1.75rem;
  --font-size-h3-en: 4rem;
  --font-size-h4: 1.5rem;
  --font-size-h4-sub: 0.875rem;
  --font-size-h5: 1.25rem;
  --font-size-h6: 1.125rem;
  --font-size-p: 1rem;
  --font-size-p-sm: 0.875rem;
  --font-size-caption: 0.75rem;
  --line-height-tight: 1.4;
  --line-height-base: 1.8;
  --line-height-statement: 2.4;
  --letter-spacing-4: 0.04em;
  --letter-spacing-8: 0.08em;
  --letter-spacing-16: 0.16em;
  /* content width */
  --content-width-full: 90rem;
  --content-width-inner: 65rem;
  --content-width-sm: 50rem;
  /* spacing and radius */
  --space-tb-lg: 12.5rem;
  --space-tb-md: 5rem;
  --space-tb-sm: 2.5rem;
  --space-tb-xs: 1rem;
  --space-lr-lg: 5rem;
  --gap-base: 3.5rem;
  --gap-col03: 2.5rem;
  --gap-col05: 1.5rem;
  --radius-md: 0.5rem;
  --margin-h2: 2.5rem;
  --margin-h3: 1.5rem;
  --margin-h4: 1rem;
  --margin-h5: 1rem;
  --margin-h6: 0.5rem;
  --margin-p: 1rem;
  /* effect and decorative size */
  --bg-deco-size-lg: 60rem;
  --bg-deco-size-base: 40rem;
  --bg-deco-blur: 25rem;
  /* static number token */
  --size-4: 0.25rem;
  --size-8: 0.5rem;
  --size-16: 1rem;
  --size-72: 4.5rem;
  --size-240: 15rem;
  /* fluid token (desktop default) */
  --size-fluid-144-120: 9rem;
  --size-fluid-64-24: 4rem;
  --size-fluid-24-16: 1.5rem;
  --size-fluid-24-8: 1.5rem;
  --size-fluid-16-8: 1rem;
}

@media screen and (max-width:768px ) {
  :root {
    --font-size-h2: 1.625rem;
    --font-size-h2-en: 4rem;
    --font-size-h3: 1.375rem;
    --font-size-h3-en: 3rem;
    --font-size-h4: 1.125rem;
    --font-size-h4-sub: 0.75rem;
    --font-size-h5: 1rem;
    --font-size-h6: 0.875rem;
    --font-size-p: 0.875rem;
    --font-size-p-sm: 0.8125rem;
    --font-size-caption: 0.75rem;
    --content-width-full: 23.5rem;
    --content-width-inner: 20.5rem;
    --space-tb-lg: 7.5rem;
    --space-tb-md: 4rem;
    --space-tb-sm: 2rem;
    --space-tb-xs: 1rem;
    --space-lr-lg: 1rem;
    --gap-base: 1rem;
    --gap-col03: 1rem;
    --gap-col05: 1rem;
    --margin-h2: 2rem;
    --margin-h3: 1rem;
    --margin-h4: 0.5rem;
    --margin-h5: 1rem;
    --margin-h6: 0.5rem;
    --margin-p: 1rem;
    --bg-deco-size-lg: 30rem;
    --bg-deco-size-base: 20rem;
    --bg-deco-blur: 12.5rem;
    --size-fluid-144-120: 7.5rem;
    --size-fluid-64-24: 1.5rem;
    --size-fluid-24-16: 1rem;
    --size-fluid-24-8: 0.5rem;
    --size-fluid-16-8: 0.5rem;
  }
}
.js-fade {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  will-change: opacity, transform, filter;
}

.js-fade.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fadeList > * {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease, -webkit-transform 0.8s ease, -webkit-filter 0.8s ease;
  will-change: opacity, transform, filter;
}

.js-fadeList.js-active > *.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

body {
  color: #1a1a1a;
  background-color: #ffffff;
  font-family: YakuHanJP, var(--font-family-Noto, "Noto Sans JP", sans-serif);
  font-weight: 400;
  line-height: 1.5;
  overflow-x: hidden;
  position: relative;
  font-size: 1.6rem;
  letter-spacing: 0.128em;
}
@media screen and (max-width:768px ) {
  body {
    font-size: 1.4rem;
  }
}
body.active {
  overflow: hidden;
}

body.hidden {
  overflow: hidden;
}

.splide, .splide__track {
  height: 100%;
}

.cmp-container {
  position: relative;
  z-index: 3;
}

/*
 * header
 * -------------------------------------------------------------------
 */
.Header.is-hidden {
  top: -80px;
}

#Header {
  position: relative;
  z-index: 5;
}

.Header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--color-white, #fff);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 80px;
  padding: 16px 144px;
  width: 100%;
}
@media screen and (max-width:1024px ) {
  .Header {
    padding: 16px 40px;
  }
}
@media screen and (max-width:768px ) {
  .Header {
    min-height: 64px;
    padding: 12px 24px;
  }
}
.Header__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 72px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .Header__inner {
    gap: 32px;
  }
}
.Header__logo {
  display: block;
  height: auto;
}
.Header__logo--ykk {
  width: 50px;
}
@media screen and (max-width:768px ) {
  .Header__logo--ykk {
    width: 40px;
  }
}
.Header__logo--phs {
  width: 166px;
}
@media screen and (max-width:768px ) {
  .Header__logo--phs {
    width: 138px;
  }
}

.l-inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .l-inner {
    max-width: 100%;
    width: auto;
    margin: 0 24px;
  }
}

.u-marA0 {
  margin: 0 !important;
}

.u-marA5 {
  margin: 5px !important;
}

.u-marA10 {
  margin: 10px !important;
}

.u-marA15 {
  margin: 15px !important;
}

.u-marA20 {
  margin: 20px !important;
}

.u-marA25 {
  margin: 25px !important;
}

.u-marA30 {
  margin: 30px !important;
}

.u-marA40 {
  margin: 40px !important;
}

.u-marA50 {
  margin: 50px !important;
}

.u-marA60 {
  margin: 60px !important;
}

.u-marA70 {
  margin: 70px !important;
}

.u-marA80 {
  margin: 80px !important;
}

.u-marA90 {
  margin: 90px !important;
}

.u-marT0 {
  margin-top: 0 !important;
}

.u-marT5 {
  margin-top: 5px !important;
}

.u-marT10 {
  margin-top: 10px !important;
}

.u-marT15 {
  margin-top: 15px !important;
}

.u-marT20 {
  margin-top: 20px !important;
}

.u-marT25 {
  margin-top: 25px !important;
}

.u-marT30 {
  margin-top: 30px !important;
}

.u-marT40 {
  margin-top: 40px !important;
}

.u-marT50 {
  margin-top: 50px !important;
}

.u-marT60 {
  margin-top: 60px !important;
}

.u-marT70 {
  margin-top: 70px !important;
}

.u-marT80 {
  margin-top: 80px !important;
}

.u-marT90 {
  margin-top: 90px !important;
}

.u-marT120 {
  margin-top: 120px !important;
}

.u-marT180 {
  margin-top: 180px !important;
}

.u-marB0 {
  margin-bottom: 0 !important;
}

.u-marB5 {
  margin-bottom: 5px !important;
}

.u-marB10 {
  margin-bottom: 10px !important;
}

.u-marB15 {
  margin-bottom: 15px !important;
}

.u-marB20 {
  margin-bottom: 20px !important;
}

.u-marB25 {
  margin-bottom: 25px !important;
}

.u-marB30 {
  margin-bottom: 30px !important;
}

.u-marB40 {
  margin-bottom: 40px !important;
}

.u-marB50 {
  margin-bottom: 50px !important;
}

.u-marB60 {
  margin-bottom: 60px !important;
}

.u-marB70 {
  margin-bottom: 70px !important;
}

.u-marB80 {
  margin-bottom: 80px !important;
}

.u-marB90 {
  margin-bottom: 90px !important;
}

.u-marL0 {
  margin-left: 0 !important;
}

.u-marL5 {
  margin-left: 5px !important;
}

.u-marL10 {
  margin-left: 10px !important;
}

.u-marL15 {
  margin-left: 15px !important;
}

.u-marL20 {
  margin-left: 20px !important;
}

.u-marL25 {
  margin-left: 25px !important;
}

.u-marL30 {
  margin-left: 30px !important;
}

.u-marL40 {
  margin-left: 40px !important;
}

.u-marL50 {
  margin-left: 50px !important;
}

.u-marL60 {
  margin-left: 60px !important;
}

.u-marL70 {
  margin-left: 70px !important;
}

.u-marL80 {
  margin-left: 80px !important;
}

.u-marL90 {
  margin-left: 90px !important;
}

.u-marR0 {
  margin-right: 0 !important;
}

.u-marR5 {
  margin-right: 5px !important;
}

.u-marR10 {
  margin-right: 10px !important;
}

.u-marR15 {
  margin-right: 15px !important;
}

.u-marR20 {
  margin-right: 20px !important;
}

.u-marR25 {
  margin-right: 25px !important;
}

.u-marR30 {
  margin-right: 30px !important;
}

.u-marR40 {
  margin-right: 40px !important;
}

.u-marR50 {
  margin-right: 50px !important;
}

.u-marR60 {
  margin-right: 60px !important;
}

.u-marR70 {
  margin-right: 70px !important;
}

.u-marR80 {
  margin-right: 80px !important;
}

.u-marR90 {
  margin-right: 90px !important;
}

@media print, screen and (min-width: 768px) {
  .u-marT0_pc {
    margin-top: 0 !important;
  }
  .u-marT5_pc {
    margin-top: 5px !important;
  }
  .u-marT10_pc {
    margin-top: 10px !important;
  }
  .u-marT15_pc {
    margin-top: 15px !important;
  }
  .u-marT20_pc {
    margin-top: 20px !important;
  }
  .u-marT25_pc {
    margin-top: 25px !important;
  }
  .u-marT30_pc {
    margin-top: 30px !important;
  }
  .u-marT40_pc {
    margin-top: 40px !important;
  }
  .u-marT50_pc {
    margin-top: 50px !important;
  }
  .u-marT60_pc {
    margin-top: 60px !important;
  }
  .u-marT70_pc {
    margin-top: 70px !important;
  }
  .u-marT80_pc {
    margin-top: 80px !important;
  }
  .u-marT90_pc {
    margin-top: 90px !important;
  }
  .u-marT120_pc {
    margin-top: 120px !important;
  }
  .u-marT180_pc {
    margin-top: 180px !important;
  }
  .u-marB0_pc {
    margin-bottom: 0 !important;
  }
  .u-marB5_pc {
    margin-bottom: 5px !important;
  }
  .u-marB10_pc {
    margin-bottom: 10px !important;
  }
  .u-marB15_pc {
    margin-bottom: 15px !important;
  }
  .u-marB20_pc {
    margin-bottom: 20px !important;
  }
  .u-marB25_pc {
    margin-bottom: 25px !important;
  }
  .u-marB30_pc {
    margin-bottom: 30px !important;
  }
  .u-marB40_pc {
    margin-bottom: 40px !important;
  }
  .u-marB50_pc {
    margin-bottom: 50px !important;
  }
  .u-marB60_pc {
    margin-bottom: 60px !important;
  }
  .u-marB70_pc {
    margin-bottom: 70px !important;
  }
  .u-marB80_pc {
    margin-bottom: 80px !important;
  }
  .u-marB90_pc {
    margin-bottom: 90px !important;
  }
  .u-marL0_pc {
    margin-left: 0 !important;
  }
  .u-marL5_pc {
    margin-left: 5px !important;
  }
  .u-marL10_pc {
    margin-left: 10px !important;
  }
  .u-marL15_pc {
    margin-left: 15px !important;
  }
  .u-marL20_pc {
    margin-left: 20px !important;
  }
  .u-marL25_pc {
    margin-left: 25px !important;
  }
  .u-marL30_pc {
    margin-left: 30px !important;
  }
  .u-marL40_pc {
    margin-left: 40px !important;
  }
  .u-marL50_pc {
    margin-left: 50px !important;
  }
  .u-marL60_pc {
    margin-left: 60px !important;
  }
  .u-marL70_pc {
    margin-left: 70px !important;
  }
  .u-marL80_pc {
    margin-left: 80px !important;
  }
  .u-marL90_pc {
    margin-left: 90px !important;
  }
  .u-marR0_pc {
    margin-right: 0 !important;
  }
  .u-marR5_pc {
    margin-right: 5px !important;
  }
  .u-marR10_pc {
    margin-right: 10px !important;
  }
  .u-marR15_pc {
    margin-right: 15px !important;
  }
  .u-marR20_pc {
    margin-right: 20px !important;
  }
  .u-marR25_pc {
    margin-right: 25px !important;
  }
  .u-marR30_pc {
    margin-right: 30px !important;
  }
  .u-marR40_pc {
    margin-right: 40px !important;
  }
  .u-marR50_pc {
    margin-right: 50px !important;
  }
  .u-marR60_pc {
    margin-right: 60px !important;
  }
  .u-marR70_pc {
    margin-right: 70px !important;
  }
  .u-marR80_pc {
    margin-right: 80px !important;
  }
  .u-marR90_pc {
    margin-right: 90px !important;
  }
}
@media screen and (max-width: 767px) {
  .u-marA0_sp {
    margin: 0 !important;
  }
  .u-marA5_sp {
    margin: 5px !important;
  }
  .u-marA10_sp {
    margin: 10px !important;
  }
  .u-marA15_sp {
    margin: 15px !important;
  }
  .u-marA20_sp {
    margin: 20px !important;
  }
  .u-marA25_sp {
    margin: 25px !important;
  }
  .u-marA30_sp {
    margin: 30px !important;
  }
  .u-marA40_sp {
    margin: 40px !important;
  }
  .u-marA50_sp {
    margin: 50px !important;
  }
  .u-marA60_sp {
    margin: 60px !important;
  }
  .u-marA70_sp {
    margin: 70px !important;
  }
  .u-marA80_sp {
    margin: 80px !important;
  }
  .u-marA90_sp {
    margin: 90px !important;
  }
  .u-marT0_sp {
    margin-top: 0 !important;
  }
  .u-marT5_sp {
    margin-top: 5px !important;
  }
  .u-marT10_sp {
    margin-top: 10px !important;
  }
  .u-marT15_sp {
    margin-top: 15px !important;
  }
  .u-marT20_sp {
    margin-top: 20px !important;
  }
  .u-marT25_sp {
    margin-top: 25px !important;
  }
  .u-marT30_sp {
    margin-top: 30px !important;
  }
  .u-marT40_sp {
    margin-top: 40px !important;
  }
  .u-marT50_sp {
    margin-top: 50px !important;
  }
  .u-marT60_sp {
    margin-top: 60px !important;
  }
  .u-marT70_sp {
    margin-top: 70px !important;
  }
  .u-marT80_sp {
    margin-top: 80px !important;
  }
  .u-marT90_sp {
    margin-top: 90px !important;
  }
  .u-marT120_sp {
    margin-top: 120px !important;
  }
  .u-marT180_sp {
    margin-top: 180px !important;
  }
  .u-marB0_sp {
    margin-bottom: 0 !important;
  }
  .u-marB5_sp {
    margin-bottom: 5px !important;
  }
  .u-marB10_sp {
    margin-bottom: 10px !important;
  }
  .u-marB15_sp {
    margin-bottom: 15px !important;
  }
  .u-marB20_sp {
    margin-bottom: 20px !important;
  }
  .u-marB25_sp {
    margin-bottom: 25px !important;
  }
  .u-marB30_sp {
    margin-bottom: 30px !important;
  }
  .u-marB40_sp {
    margin-bottom: 40px !important;
  }
  .u-marB50_sp {
    margin-bottom: 50px !important;
  }
  .u-marB60_sp {
    margin-bottom: 60px !important;
  }
  .u-marB70_sp {
    margin-bottom: 70px !important;
  }
  .u-marB80_sp {
    margin-bottom: 80px !important;
  }
  .u-marB90_sp {
    margin-bottom: 90px !important;
  }
  .u-marL0_sp {
    margin-left: 0 !important;
  }
  .u-marL5_sp {
    margin-left: 5px !important;
  }
  .u-marL10_sp {
    margin-left: 10px !important;
  }
  .u-marL15_sp {
    margin-left: 15px !important;
  }
  .u-marL20_sp {
    margin-left: 20px !important;
  }
  .u-marL25_sp {
    margin-left: 25px !important;
  }
  .u-marL30_sp {
    margin-left: 30px !important;
  }
  .u-marL40_sp {
    margin-left: 40px !important;
  }
  .u-marL50_sp {
    margin-left: 50px !important;
  }
  .u-marL60_sp {
    margin-left: 60px !important;
  }
  .u-marL70_sp {
    margin-left: 70px !important;
  }
  .u-marL80_sp {
    margin-left: 80px !important;
  }
  .u-marL90_sp {
    margin-left: 90px !important;
  }
  .u-marR0_sp {
    margin-right: 0 !important;
  }
  .u-marR5_sp {
    margin-right: 5px !important;
  }
  .u-marR10_sp {
    margin-right: 10px !important;
  }
  .u-marR15_sp {
    margin-right: 15px !important;
  }
  .u-marR20_sp {
    margin-right: 20px !important;
  }
  .u-marR25_sp {
    margin-right: 25px !important;
  }
  .u-marR30_sp {
    margin-right: 30px !important;
  }
  .u-marR40_sp {
    margin-right: 40px !important;
  }
  .u-marR50_sp {
    margin-right: 50px !important;
  }
  .u-marR60_sp {
    margin-right: 60px !important;
  }
  .u-marR70_sp {
    margin-right: 70px !important;
  }
  .u-marR80_sp {
    margin-right: 80px !important;
  }
  .u-marR90_sp {
    margin-right: 90px !important;
  }
}
.u-padA0 {
  padding: 0 !important;
}

.u-padA5 {
  padding: 5px !important;
}

.u-padA10 {
  padding: 10px !important;
}

.u-padA15 {
  padding: 15px !important;
}

.u-padA20 {
  padding: 20px !important;
}

.u-padA25 {
  padding: 25px !important;
}

.u-padA30 {
  padding: 30px !important;
}

.u-padA40 {
  padding: 40px !important;
}

.u-padA50 {
  padding: 50px !important;
}

.u-padA60 {
  padding: 60px !important;
}

.u-padA70 {
  padding: 70px !important;
}

.u-padA80 {
  padding: 80px !important;
}

.u-padA90 {
  padding: 90px !important;
}

.u-padT0 {
  padding-top: 0 !important;
}

.u-padT5 {
  padding-top: 5px !important;
}

.u-padT10 {
  padding-top: 10px !important;
}

.u-padT15 {
  padding-top: 15px !important;
}

.u-padT20 {
  padding-top: 20px !important;
}

.u-padT25 {
  padding-top: 25px !important;
}

.u-padT30 {
  padding-top: 30px !important;
}

.u-padT40 {
  padding-top: 40px !important;
}

.u-padT50 {
  padding-top: 50px !important;
}

.u-padT60 {
  padding-top: 60px !important;
}

.u-padT70 {
  padding-top: 70px !important;
}

.u-padT80 {
  padding-top: 80px !important;
}

.u-padT90 {
  padding-top: 90px !important;
}

.u-padB0 {
  padding-bottom: 0 !important;
}

.u-padB5 {
  padding-bottom: 5px !important;
}

.u-padB10 {
  padding-bottom: 10px !important;
}

.u-padB15 {
  padding-bottom: 15px !important;
}

.u-padB20 {
  padding-bottom: 20px !important;
}

.u-padB25 {
  padding-bottom: 25px !important;
}

.u-padB30 {
  padding-bottom: 30px !important;
}

.u-padB40 {
  padding-bottom: 40px !important;
}

.u-padB50 {
  padding-bottom: 50px !important;
}

.u-padB60 {
  padding-bottom: 60px !important;
}

.u-padB70 {
  padding-bottom: 70px !important;
}

.u-padB80 {
  padding-bottom: 80px !important;
}

.u-padB90 {
  padding-bottom: 90px !important;
}

.u-padL0 {
  padding-left: 0 !important;
}

.u-padL5 {
  padding-left: 5px !important;
}

.u-padL10 {
  padding-left: 10px !important;
}

.u-padL15 {
  padding-left: 15px !important;
}

.u-padL20 {
  padding-left: 20px !important;
}

.u-padL25 {
  padding-left: 25px !important;
}

.u-padL30 {
  padding-left: 30px !important;
}

.u-padL40 {
  padding-left: 40px !important;
}

.u-padL50 {
  padding-left: 50px !important;
}

.u-padL60 {
  padding-left: 60px !important;
}

.u-padL70 {
  padding-left: 70px !important;
}

.u-padL80 {
  padding-left: 80px !important;
}

.u-padL90 {
  padding-left: 90px !important;
}

.u-padR0 {
  padding-right: 0 !important;
}

.u-padR5 {
  padding-right: 5px !important;
}

.u-padR10 {
  padding-right: 10px !important;
}

.u-padR15 {
  padding-right: 15px !important;
}

.u-padR20 {
  padding-right: 20px !important;
}

.u-padR25 {
  padding-right: 25px !important;
}

.u-padR30 {
  padding-right: 30px !important;
}

.u-padR40 {
  padding-right: 40px !important;
}

.u-padR50 {
  padding-right: 50px !important;
}

.u-padR60 {
  padding-right: 60px !important;
}

.u-padR70 {
  padding-right: 70px !important;
}

.u-padR80 {
  padding-right: 80px !important;
}

.u-padR90 {
  padding-right: 90px !important;
}

@media print, screen and (min-width: 768px) {
  .u-padA0_pc {
    padding: 0 !important;
  }
  .u-padA5_pc {
    padding: 5px !important;
  }
  .u-padA10_pc {
    padding: 10px !important;
  }
  .u-padA15_pc {
    padding: 15px !important;
  }
  .u-padA20_pc {
    padding: 20px !important;
  }
  .u-padA25_pc {
    padding: 25px !important;
  }
  .u-padA30_pc {
    padding: 30px !important;
  }
  .u-padA40_pc {
    padding: 40px !important;
  }
  .u-padA50_pc {
    padding: 50px !important;
  }
  .u-padA60_pc {
    padding: 60px !important;
  }
  .u-padA70_pc {
    padding: 70px !important;
  }
  .u-padA80_pc {
    padding: 80px !important;
  }
  .u-padA90_pc {
    padding: 90px !important;
  }
  .u-padT0_pc {
    padding-top: 0 !important;
  }
  .u-padT5_pc {
    padding-top: 5px !important;
  }
  .u-padT10_pc {
    padding-top: 10px !important;
  }
  .u-padT15_pc {
    padding-top: 15px !important;
  }
  .u-padT20_pc {
    padding-top: 20px !important;
  }
  .u-padT25_pc {
    padding-top: 25px !important;
  }
  .u-padT30_pc {
    padding-top: 30px !important;
  }
  .u-padT40_pc {
    padding-top: 40px !important;
  }
  .u-padT50_pc {
    padding-top: 50px !important;
  }
  .u-padT60_pc {
    padding-top: 60px !important;
  }
  .u-padT70_pc {
    padding-top: 70px !important;
  }
  .u-padT80_pc {
    padding-top: 80px !important;
  }
  .u-padT90_pc {
    padding-top: 90px !important;
  }
  .u-padB0_pc {
    padding-bottom: 0 !important;
  }
  .u-padB5_pc {
    padding-bottom: 5px !important;
  }
  .u-padB10_pc {
    padding-bottom: 10px !important;
  }
  .u-padB15_pc {
    padding-bottom: 15px !important;
  }
  .u-padB20_pc {
    padding-bottom: 20px !important;
  }
  .u-padB25_pc {
    padding-bottom: 25px !important;
  }
  .u-padB30_pc {
    padding-bottom: 30px !important;
  }
  .u-padB40_pc {
    padding-bottom: 40px !important;
  }
  .u-padB50_pc {
    padding-bottom: 50px !important;
  }
  .u-padB60_pc {
    padding-bottom: 60px !important;
  }
  .u-padB70_pc {
    padding-bottom: 70px !important;
  }
  .u-padB80_pc {
    padding-bottom: 80px !important;
  }
  .u-padB90_pc {
    padding-bottom: 90px !important;
  }
  .u-padL0_pc {
    padding-left: 0 !important;
  }
  .u-padL5_pc {
    padding-left: 5px !important;
  }
  .u-padL10_pc {
    padding-left: 10px !important;
  }
  .u-padL15_pc {
    padding-left: 15px !important;
  }
  .u-padL20_pc {
    padding-left: 20px !important;
  }
  .u-padL25_pc {
    padding-left: 25px !important;
  }
  .u-padL30_pc {
    padding-left: 30px !important;
  }
  .u-padL40_pc {
    padding-left: 40px !important;
  }
  .u-padL50_pc {
    padding-left: 50px !important;
  }
  .u-padL60_pc {
    padding-left: 60px !important;
  }
  .u-padL70_pc {
    padding-left: 70px !important;
  }
  .u-padL80_pc {
    padding-left: 80px !important;
  }
  .u-padL90_pc {
    padding-left: 90px !important;
  }
  .u-padR0_pc {
    padding-right: 0 !important;
  }
  .u-padR5_pc {
    padding-right: 5px !important;
  }
  .u-padR10_pc {
    padding-right: 10px !important;
  }
  .u-padR15_pc {
    padding-right: 15px !important;
  }
  .u-padR20_pc {
    padding-right: 20px !important;
  }
  .u-padR25_pc {
    padding-right: 25px !important;
  }
  .u-padR30_pc {
    padding-right: 30px !important;
  }
  .u-padR40_pc {
    padding-right: 40px !important;
  }
  .u-padR50_pc {
    padding-right: 50px !important;
  }
  .u-padR60_pc {
    padding-right: 60px !important;
  }
  .u-padR70_pc {
    padding-right: 70px !important;
  }
  .u-padR80_pc {
    padding-right: 80px !important;
  }
  .u-padR90_pc {
    padding-right: 90px !important;
  }
}
@media screen and (max-width:768px ) {
  .u-padA0_sp {
    padding: 0 !important;
  }
  .u-padA5_sp {
    padding: 5px !important;
  }
  .u-padA10_sp {
    padding: 10px !important;
  }
  .u-padA15_sp {
    padding: 15px !important;
  }
  .u-padA20_sp {
    padding: 20px !important;
  }
  .u-padA25_sp {
    padding: 25px !important;
  }
  .u-padA30_sp {
    padding: 30px !important;
  }
  .u-padA40_sp {
    padding: 40px !important;
  }
  .u-padA50_sp {
    padding: 50px !important;
  }
  .u-padA60_sp {
    padding: 60px !important;
  }
  .u-padA70_sp {
    padding: 70px !important;
  }
  .u-padA80_sp {
    padding: 80px !important;
  }
  .u-padA90_sp {
    padding: 90px !important;
  }
  .u-padT0_sp {
    padding-top: 0 !important;
  }
  .u-padT5_sp {
    padding-top: 5px !important;
  }
  .u-padT10_sp {
    padding-top: 10px !important;
  }
  .u-padT15_sp {
    padding-top: 15px !important;
  }
  .u-padT20_sp {
    padding-top: 20px !important;
  }
  .u-padT25_sp {
    padding-top: 25px !important;
  }
  .u-padT30_sp {
    padding-top: 30px !important;
  }
  .u-padT40_sp {
    padding-top: 40px !important;
  }
  .u-padT50_sp {
    padding-top: 50px !important;
  }
  .u-padT60_sp {
    padding-top: 60px !important;
  }
  .u-padT70_sp {
    padding-top: 70px !important;
  }
  .u-padT80_sp {
    padding-top: 80px !important;
  }
  .u-padT90_sp {
    padding-top: 90px !important;
  }
  .u-padB0_sp {
    padding-bottom: 0 !important;
  }
  .u-padB5_sp {
    padding-bottom: 5px !important;
  }
  .u-padB10_sp {
    padding-bottom: 10px !important;
  }
  .u-padB15_sp {
    padding-bottom: 15px !important;
  }
  .u-padB20_sp {
    padding-bottom: 20px !important;
  }
  .u-padB25_sp {
    padding-bottom: 25px !important;
  }
  .u-padB30_sp {
    padding-bottom: 30px !important;
  }
  .u-padB40_sp {
    padding-bottom: 40px !important;
  }
  .u-padB50_sp {
    padding-bottom: 50px !important;
  }
  .u-padB60_sp {
    padding-bottom: 60px !important;
  }
  .u-padB70_sp {
    padding-bottom: 70px !important;
  }
  .u-padB80_sp {
    padding-bottom: 80px !important;
  }
  .u-padB90_sp {
    padding-bottom: 90px !important;
  }
  .u-padL0_sp {
    padding-left: 0 !important;
  }
  .u-padL5_sp {
    padding-left: 5px !important;
  }
  .u-padL10_sp {
    padding-left: 10px !important;
  }
  .u-padL15_sp {
    padding-left: 15px !important;
  }
  .u-padL20_sp {
    padding-left: 20px !important;
  }
  .u-padL25_sp {
    padding-left: 25px !important;
  }
  .u-padL30_sp {
    padding-left: 30px !important;
  }
  .u-padL40_sp {
    padding-left: 40px !important;
  }
  .u-padL50_sp {
    padding-left: 50px !important;
  }
  .u-padL60_sp {
    padding-left: 60px !important;
  }
  .u-padL70_sp {
    padding-left: 70px !important;
  }
  .u-padL80_sp {
    padding-left: 80px !important;
  }
  .u-padL90_sp {
    padding-left: 90px !important;
  }
  .u-padR0_sp {
    padding-right: 0 !important;
  }
  .u-padR5_sp {
    padding-right: 5px !important;
  }
  .u-padR10_sp {
    padding-right: 10px !important;
  }
  .u-padR15_sp {
    padding-right: 15px !important;
  }
  .u-padR20_sp {
    padding-right: 20px !important;
  }
  .u-padR25_sp {
    padding-right: 25px !important;
  }
  .u-padR30_sp {
    padding-right: 30px !important;
  }
  .u-padR40_sp {
    padding-right: 40px !important;
  }
  .u-padR50_sp {
    padding-right: 50px !important;
  }
  .u-padR60_sp {
    padding-right: 60px !important;
  }
  .u-padR70_sp {
    padding-right: 70px !important;
  }
  .u-padR80_sp {
    padding-right: 80px !important;
  }
  .u-padR90_sp {
    padding-right: 90px !important;
  }
}
.u-wid10Per {
  width: 10% !important;
}

.u-wid15Per {
  width: 15% !important;
}

.u-wid20Per {
  width: 20% !important;
}

.u-wid25Per {
  width: 25% !important;
}

.u-wid30Per {
  width: 30% !important;
}

.u-wid35Per {
  width: 35% !important;
}

.u-wid40Per {
  width: 40% !important;
}

.u-wid45Per {
  width: 45% !important;
}

.u-wid50Per {
  width: 50% !important;
}

.u-wid55Per {
  width: 55% !important;
}

.u-wid60Per {
  width: 60% !important;
}

.u-wid65Per {
  width: 65% !important;
}

.u-wid70Per {
  width: 70% !important;
}

.u-wid75Per {
  width: 75% !important;
}

.u-wid80Per {
  width: 80% !important;
}

.u-wid85Per {
  width: 85% !important;
}

.u-wid90Per {
  width: 90% !important;
}

.u-wid95Per {
  width: 95% !important;
}

.u-wid100Per {
  width: 100% !important;
}

.u-wid50 {
  max-width: 50px !important;
  width: 100%;
}

.u-wid100 {
  max-width: 100px !important;
  width: 100%;
}

.u-wid150 {
  max-width: 150px !important;
  width: 100%;
}

.u-wid200 {
  max-width: 200px !important;
  width: 100%;
}

.u-wid250 {
  max-width: 250px !important;
  width: 100%;
}

.u-wid300 {
  max-width: 300px !important;
  width: 100%;
}

.u-wid350 {
  max-width: 350px !important;
  width: 100%;
}

.u-wid400 {
  max-width: 400px !important;
  width: 100%;
}

.u-wid450 {
  max-width: 450px !important;
  width: 100%;
}

.u-wid500 {
  max-width: 500px !important;
  width: 100%;
}

.u-wid550 {
  max-width: 550px !important;
  width: 100%;
}

.u-wid600 {
  max-width: 600px !important;
  width: 100%;
}

.u-wid650 {
  max-width: 650px !important;
  width: 100%;
}

.u-wid700 {
  max-width: 700px !important;
  width: 100%;
}

.u-wid750 {
  max-width: 750px !important;
  width: 100%;
}

.u-wid800 {
  max-width: 800px !important;
  width: 100%;
}

.u-wid850 {
  max-width: 850px !important;
  width: 100%;
}

.u-wid900 {
  max-width: 900px !important;
  width: 100%;
}

.u-wid950 {
  max-width: 950px !important;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .u-wid10Per_pc {
    width: 10% !important;
  }
  .u-wid15Per_pc {
    width: 15% !important;
  }
  .u-wid20Per_pc {
    width: 20% !important;
  }
  .u-wid25Per_pc {
    width: 25% !important;
  }
  .u-wid30Per_pc {
    width: 30% !important;
  }
  .u-wid35Per_pc {
    width: 35% !important;
  }
  .u-wid40Per_pc {
    width: 40% !important;
  }
  .u-wid45Per_pc {
    width: 45% !important;
  }
  .u-wid50Per_pc {
    width: 50% !important;
  }
  .u-wid55Per_pc {
    width: 55% !important;
  }
  .u-wid60Per_pc {
    width: 60% !important;
  }
  .u-wid65Per_pc {
    width: 65% !important;
  }
  .u-wid70Per_pc {
    width: 70% !important;
  }
  .u-wid75Per_pc {
    width: 75% !important;
  }
  .u-wid80Per_pc {
    width: 80% !important;
  }
  .u-wid85Per_pc {
    width: 85% !important;
  }
  .u-wid90Per_pc {
    width: 90% !important;
  }
  .u-wid95Per_pc {
    width: 95% !important;
  }
  .u-wid100Per_pc {
    width: 100% !important;
  }
  .u-wid50_pc {
    max-width: 50px !important;
    width: 100%;
  }
  .u-wid100_pc {
    max-width: 100px !important;
    width: 100%;
  }
  .u-wid150_pc {
    max-width: 150px !important;
    width: 100%;
  }
  .u-wid200_pc {
    max-width: 200px !important;
    width: 100%;
  }
  .u-wid250_pc {
    max-width: 250px !important;
    width: 100%;
  }
  .u-wid300_pc {
    max-width: 300px !important;
    width: 100%;
  }
  .u-wid350_pc {
    max-width: 350px !important;
    width: 100%;
  }
  .u-wid400_pc {
    max-width: 400px !important;
    width: 100%;
  }
  .u-wid450_pc {
    max-width: 450px !important;
    width: 100%;
  }
  .u-wid500_pc {
    max-width: 500px !important;
    width: 100%;
  }
  .u-wid550_pc {
    max-width: 550px !important;
    width: 100%;
  }
  .u-wid600_pc {
    max-width: 600px !important;
    width: 100%;
  }
  .u-wid650_pc {
    max-width: 650px !important;
    width: 100%;
  }
  .u-wid700_pc {
    max-width: 700px !important;
    width: 100%;
  }
  .u-wid750_pc {
    max-width: 750px !important;
    width: 100%;
  }
  .u-wid800_pc {
    max-width: 800px !important;
    width: 100%;
  }
  .u-wid850_pc {
    max-width: 850px !important;
    width: 100%;
  }
  .u-wid900_pc {
    max-width: 900px !important;
    width: 100%;
  }
  .u-wid950_pc {
    max-width: 950px !important;
    width: 100%;
  }
}
@media screen and (max-width:768px ) {
  .u-wid10Per_sp {
    width: 10% !important;
  }
  .u-wid15Per_sp {
    width: 15% !important;
  }
  .u-wid20Per_sp {
    width: 20% !important;
  }
  .u-wid25Per_sp {
    width: 25% !important;
  }
  .u-wid30Per_sp {
    width: 30% !important;
  }
  .u-wid35Per_sp {
    width: 35% !important;
  }
  .u-wid40Per_sp {
    width: 40% !important;
  }
  .u-wid45Per_sp {
    width: 45% !important;
  }
  .u-wid50Per_sp {
    width: 50% !important;
  }
  .u-wid55Per_sp {
    width: 55% !important;
  }
  .u-wid60Per_sp {
    width: 60% !important;
  }
  .u-wid65Per_sp {
    width: 65% !important;
  }
  .u-wid70Per_sp {
    width: 70% !important;
  }
  .u-wid75Per_sp {
    width: 75% !important;
  }
  .u-wid80Per_sp {
    width: 80% !important;
  }
  .u-wid85Per_sp {
    width: 85% !important;
  }
  .u-wid90Per_sp {
    width: 90% !important;
  }
  .u-wid95Per_sp {
    width: 95% !important;
  }
  .u-wid100Per_sp {
    width: 100% !important;
  }
  .u-wid50_sp {
    max-width: 50px !important;
    width: 100%;
  }
  .u-wid100_sp {
    max-width: 100px !important;
    width: 100%;
  }
  .u-wid150_sp {
    max-width: 150px !important;
    width: 100%;
  }
  .u-wid200_sp {
    max-width: 200px !important;
    width: 100%;
  }
  .u-wid250_sp {
    max-width: 250px !important;
    width: 100%;
  }
  .u-wid300_sp {
    max-width: 300px !important;
    width: 100%;
  }
  .u-wid350_sp {
    max-width: 350px !important;
    width: 100%;
  }
  .u-wid400_sp {
    max-width: 400px !important;
    width: 100%;
  }
  .u-wid450_sp {
    max-width: 450px !important;
    width: 100%;
  }
  .u-wid500_sp {
    max-width: 500px !important;
    width: 100%;
  }
  .u-wid550_sp {
    max-width: 550px !important;
    width: 100%;
  }
  .u-wid600_sp {
    max-width: 600px !important;
    width: 100%;
  }
  .u-wid650_sp {
    max-width: 650px !important;
    width: 100%;
  }
  .u-wid700_sp {
    max-width: 700px !important;
    width: 100%;
  }
  .u-wid750_sp {
    max-width: 750px !important;
    width: 100%;
  }
  .u-wid800_sp {
    max-width: 800px !important;
    width: 100%;
  }
  .u-wid850_sp {
    max-width: 850px !important;
    width: 100%;
  }
  .u-wid900_sp {
    max-width: 900px !important;
    width: 100%;
  }
  .u-wid950_sp {
    max-width: 950px !important;
    width: 100%;
  }
}
.u-flex__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-flex__block--pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-flex__justify--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.u-flex__justify--spween {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.u-flex__justify--around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.u-flex__align--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width:768px ) {
  .u-flex__block--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .u-flex__block--pc {
    display: block;
  }
}
.u-sp {
  display: none !important;
}

@media screen and (max-width:768px ) {
  .u-pc {
    display: none !important;
  }
  .u-sp {
    display: block !important;
  }
}
.u-hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.u-hover:hover {
  opacity: 0.7;
}

.u-aliC {
  text-align: center;
}

.u-aliL {
  text-align: left;
}

.u-aliR {
  text-align: right;
}

.u-contC {
  margin: 0 auto;
}

.u-contL {
  margin-left: 0;
  margin-right: auto;
}

.u-contR {
  margin-left: auto;
  margin-right: 0;
}

@media print, screen and (min-width: 768px) {
  .u-aliC_pc {
    text-align: center;
  }
  .u-aliL_pc {
    text-align: left;
  }
  .u-aliR_pc {
    text-align: right;
  }
  .u-contC_pc {
    margin: 0 auto;
  }
  .u-contL_pc {
    margin-left: 0;
    margin-right: auto;
  }
  .u-contR_pc {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (max-width:768px ) {
  .u-aliC_sp {
    text-align: center;
  }
  .u-aliL_sp {
    text-align: left;
  }
  .u-aliR_sp {
    text-align: right;
  }
  .u-contC_sp {
    margin: 0 auto;
  }
  .u-contL_sp {
    margin-left: 0;
    margin-right: auto;
  }
  .u-contR_sp {
    margin-left: auto;
    margin-right: 0;
  }
}
.u-sp {
  display: none !important;
}

.u-sp-01 {
  display: none !important;
}

@media screen and (max-width:768px ) {
  .u-pc {
    display: none !important;
  }
  .u-sp {
    display: block !important;
  }
}
@media screen and (max-width:600px ) {
  .u-pc-01 {
    display: none !important;
  }
  .u-sp-01 {
    display: block !important;
  }
}
.u-anker-point {
  opacity: 0;
  position: relative;
  top: 64px;
}
.u-anker-point#info {
  top: 180px;
}
@media screen and (max-width:1024px ) {
  .u-anker-point#info {
    top: 150px;
  }
}
.u-anker-point#info-submit {
  top: 4px;
}
@media screen and (max-width:768px ) {
  .u-anker-point#info-submit {
    top: 60px;
  }
}
.u-anker-point#entry-submit {
  top: 4px;
}
@media screen and (max-width:768px ) {
  .u-anker-point#entry-submit {
    top: 60px;
  }
}

.u-scroll {
  color: var(--color-white, #FFF);
  font-family: var(--font-family-Noto, sans-serif);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  text-transform: capitalize;
  position: fixed;
  left: 120px;
  bottom: 89px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width:768px ) {
  .u-scroll {
    bottom: -55px;
    right: calc(100% - 28px);
    left: initial;
  }
}
.u-scroll::before {
  -webkit-animation: scroll 5s infinite;
          animation: scroll 5s infinite;
  background-color: var(--color-white, #FFF);
  bottom: -45px;
  content: "";
  height: 40px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  z-index: 2;
}
.u-scroll::after {
  background-color: var(--color-white, #FFF);
  bottom: -45px;
  content: "";
  height: 40px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  opacity: 0.5;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.MainContent {
  position: relative;
}
.MainContent__inner {
  position: relative;
  z-index: 1;
}

.TopFixedMovie {
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}
.TopFixedMovie::after {
  content: "";
  inset: 0;
  position: absolute;
}
.TopFixedMovie video {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.TopStatement {
  min-height: 1120px;
  padding: 320px 0 140px;
  position: relative;
}
@media screen and (max-width:768px ) {
  .TopStatement {
    min-height: auto;
    padding: 130px 0 72px;
  }
}
.TopStatement__inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  margin: 0 auto;
  max-width: 1040px;
  width: 93%;
}
@media screen and (max-width:768px ) {
  .TopStatement__inner {
    gap: 32px;
    width: 100%;
    padding: 0 28px;
  }
}
.TopStatement__hero {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  margin: 0;
  max-width: 300px;
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  width: 100%;
}
.TopStatement__hero.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.TopStatement__hero img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopStatement__hero {
    max-width: 176px;
  }
}
.TopStatement__wrap {
  -ms-flex-item-align: start;
      align-self: flex-start;
  max-width: 580px;
  width: 100%;
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  opacity: 0;
  margin-top: 150px;
}
.TopStatement__wrap.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (max-width:768px ) {
  .TopStatement__wrap {
    margin-top: 80px;
    max-width: 320px;
  }
}
.TopStatement__logos {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: start;
      align-self: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-filter: blur(8px);
          filter: blur(8px);
  gap: 120px;
  margin-top: 120px;
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
}
.TopStatement__logos.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (max-width:768px ) {
  .TopStatement__logos {
    gap: 48px;
    margin-top: 72px;
  }
}
.TopStatement__logo {
  display: block;
  height: auto;
}
.TopStatement__logo.--ykk {
  width: 160px;
}
@media screen and (max-width:768px ) {
  .TopStatement__logo.--ykk {
    width: 80px;
  }
}
.TopStatement__logo.--phs {
  width: 366px;
}
@media screen and (max-width:768px ) {
  .TopStatement__logo.--phs {
    width: 183px;
  }
}
.TopStatement__logosCross {
  height: 24px;
  position: relative;
  width: 24px;
}
.TopStatement__logosCross::before, .TopStatement__logosCross::after {
  background: #111;
  content: "";
  height: 75px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 1px;
}
.TopStatement__logosCross::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.TopStatement__logosCross::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width:768px ) {
  .TopStatement__logosCross {
    height: 16px;
    width: 16px;
  }
  .TopStatement__logosCross::before, .TopStatement__logosCross::after {
    height: 32px;
  }
}
.TopStatement__lines {
  display: grid;
  gap: 10px;
  width: 100%;
}
.TopStatement__lines:nth-of-type(2) {
  margin-top: 56px;
}
.TopStatement__lines:nth-of-type(3) {
  margin-top: 56px;
}
@media screen and (max-width:768px ) {
  .TopStatement__lines {
    gap: 8px;
  }
  .TopStatement__lines:nth-of-type(2) {
    margin-top: 40px;
  }
  .TopStatement__lines:nth-of-type(3) {
    margin-top: 40px;
  }
}
.TopStatement__text {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  margin: 0;
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease, -webkit-transform 0.6s ease, -webkit-filter 0.6s ease;
  height: 17px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text {
    height: 12px;
  }
}
.TopStatement__text:not(:first-child) {
  margin-top: 24px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text:not(:first-child) {
    margin-top: 16px;
  }
}
.TopStatement__text.js-active {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.TopStatement__text.--01 {
  width: 194.7px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--01 {
    width: 135px;
  }
}
.TopStatement__text.--02 {
  width: 340px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--02 {
    width: 240px;
  }
}
.TopStatement__text.--03 {
  width: 391px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--03 {
    width: 263px;
  }
}
.TopStatement__text.--04 {
  width: 422px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--04 {
    width: 277px;
  }
}
.TopStatement__text.--05 {
  width: 495px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--05 {
    width: 325px;
  }
}
.TopStatement__text.--06 {
  width: 475px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--06 {
    width: 310px;
  }
}
.TopStatement__text.--07 {
  width: 355px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--07 {
    width: 234px;
  }
}
.TopStatement__text.--08 {
  width: 486px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--08 {
    width: 318px;
  }
}
.TopStatement__text.--09 {
  width: 438px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--09 {
    width: 293px;
  }
}
.TopStatement__text.--10 {
  width: 382px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--10 {
    width: 256px;
  }
}
.TopStatement__text.--11 {
  width: 170px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--11 {
    width: 115px;
  }
}
.TopStatement__text.--12 {
  width: 297px;
}
@media screen and (max-width:768px ) {
  .TopStatement__text.--12 {
    width: 200px;
  }
}
.TopStatement__text img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  text-align: left;
}

.TopAbout {
  background: var(--color-base, #f0f0f0);
  overflow: hidden;
  padding: var(--space-tb-lg, 200px) 0;
  position: relative;
}
@media screen and (max-width:768px ) {
  .TopAbout {
    padding: 120px 0;
  }
}
.TopAbout__deco {
  pointer-events: none;
  position: absolute;
}
.TopAbout__deco--top {
  top: 0;
  left: 0;
  max-width: 580px;
  height: auto;
}
.TopAbout__deco--left {
  bottom: 0;
  left: 0;
  max-width: 680px;
  height: auto;
}
.TopAbout__deco--right {
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 500px;
  height: auto;
}
.TopAbout__deco img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.TopAbout__inner {
  position: relative;
  z-index: 1;
}
.TopAbout__header {
  padding-bottom: var(--margin-h2, 40px);
}
@media screen and (max-width:768px ) {
  .TopAbout__header {
    padding-bottom: var(--margin-h2, 32px);
  }
}
.TopAbout__title {
  color: var(--color-font, #383a3c);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h2, 40px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopAbout__title {
    font-size: 26px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .TopAbout__title span + span {
    margin-top: 4px;
  }
}
.TopAbout__lead {
  color: var(--color-font, #383a3c);
  display: grid;
  gap: var(--size-fluid-24-16, 24px);
  padding-bottom: var(--space-tb-md, 80px);
}
.TopAbout__lead p {
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopAbout__lead p {
    letter-spacing: 0.04em;
  }
}
.TopAbout__photo {
  margin: 0;
  padding-bottom: var(--space-tb-md, 80px);
  position: relative;
}
.TopAbout__photo img {
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.TopAbout__photo figcaption {
  color: var(--color-sub, #828282);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-caption, 12px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin-top: var(--size-8, 8px);
}
.TopAbout__photo figcaption span {
  display: inline-block;
  margin-right: 40px;
}
@media screen and (max-width:768px ) {
  .TopAbout__photo figcaption {
    letter-spacing: 0.04em;
  }
}

.TopAboutStrength {
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-white-opa-40, rgba(255, 255, 255, 0.4))), to(var(--color-white, #fff)));
  background: linear-gradient(180deg, var(--color-white-opa-40, rgba(255, 255, 255, 0.4)) 0%, var(--color-white, #fff) 100%);
  padding: var(--space-tb-md, 80px) var(--space-lr-lg, 80px);
  position: relative;
}
@media screen and (max-width:1024px ) {
  .TopAboutStrength {
    padding: 64px 40px;
  }
}
@media screen and (max-width:768px ) {
  .TopAboutStrength {
    padding: 40px 24px;
  }
}
.TopAboutStrength__heading {
  padding-bottom: var(--margin-p, 16px);
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__heading {
    padding-bottom: var(--space-tb-xs, 16px);
  }
}
.TopAboutStrength__en {
  position: absolute;
  color: var(--color-white, #fff);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h2-en, 144px);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  opacity: 0.7;
  position: absolute;
  right: 15px;
  top: -98px;
}
@media screen and (max-width:1024px ) {
  .TopAboutStrength__en {
    font-size: 80px;
    right: initial;
    left: 50%;
    top: -46px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: var(--Font-h2--en-size, 64px);
    white-space: nowrap;
  }
}
.TopAboutStrength__title {
  color: var(--Color-font, #383A3C);
  -webkit-font-feature-settings: "halt" on;
          font-feature-settings: "halt" on;
  /* jp/h2 */
  font-size: var(--Font-h2-size, 40px);
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 56px */
  letter-spacing: 3.2px;
  padding-bottom: 40px;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__title {
    font-size: 24px;
    padding-bottom: 32px;
  }
}
.TopAboutStrength__text {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__text {
    letter-spacing: 0.04em;
  }
}
.TopAboutStrength__image {
  margin: 0;
  padding: var(--margin-p, 16px) 0 var(--space-tb-sm, 40px);
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__image {
    padding: initial;
  }
}
.TopAboutStrength__image img {
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.TopAboutStrength__list {
  display: grid;
  gap: var(--gap-base, 56px);
  list-style: none;
  margin: 0;
  padding: var(--space-tb-sm, 40px) 0 0;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__list {
    gap: var(--space-tb-sm, 40px);
  }
}
.TopAboutStrength__item {
  display: grid;
  gap: var(--size-16, 16px);
  grid-template-columns: 44% 1fr;
  padding-bottom: var(--space-tb-sm, 40px);
}
@media screen and (max-width:1024px ) {
  .TopAboutStrength__item {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__item {
    gap: 8px;
    padding-bottom: var(--space-tb-sm, 40px);
  }
}
.TopAboutStrength__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.TopAboutStrength__box {
  -ms-flex-line-pack: start;
      align-content: start;
  display: grid;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__box {
    gap: 4px;
  }
}
.TopAboutStrength__sub {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-main, #0084b9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h4-sub, 14px);
  gap: var(--size-8, 8px);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
}
.TopAboutStrength__sub span {
  color: var(--color-sub, #828282);
}
.TopAboutStrength__itemTitle {
  color: var(--Color-font, #383A3C);
  -webkit-font-feature-settings: "halt" on;
          font-feature-settings: "halt" on;
  /* jp/h4 */
  font-family: var(--Font-h4-family, "Noto Sans JP");
  font-size: var(--Font-h4-size, 24px);
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 33.6px */
  letter-spacing: 1.92px;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__itemTitle {
    /* jp/h4 */
    font-family: var(--Font-h4-family, "Noto Sans JP");
    font-size: var(--Font-h4-size, 18px);
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 25.2px */
    letter-spacing: 1.44px;
  }
}
.TopAboutStrength__itemText {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopAboutStrength__itemText {
    letter-spacing: 0.04em;
  }
}

.TopSolutions {
  overflow: hidden;
  padding: var(--space-tb-lg, 200px) 0;
  position: relative;
}
.TopSolutions::before {
  background: var(--color-font-opa-90, rgba(56, 58, 60, 0.9));
  content: "";
  inset: 0;
  position: absolute;
  z-index: 0;
}
@media screen and (max-width:768px ) {
  .TopSolutions {
    padding: 80px 0;
  }
}
.TopSolutions__deco {
  pointer-events: none;
  position: absolute;
}
.TopSolutions__deco--left {
  top: 0;
  left: 0;
  max-width: 680px;
  height: auto;
}
.TopSolutions__deco--right {
  bottom: 0;
  right: 0;
  max-width: 660px;
  height: auto;
}
.TopSolutions__deco img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.TopSolutions__inner {
  position: relative;
  z-index: 1;
}
.TopSolutions__en {
  color: var(--color-sub, #828282);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h2-en, 144px);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  opacity: 0.7;
  position: absolute;
  right: -60px;
  top: -130px;
  white-space: nowrap;
}
@media screen and (max-width:1024px ) {
  .TopSolutions__en {
    font-size: 80px;
    right: 0;
    top: -80px;
  }
}
@media screen and (max-width:768px ) {
  .TopSolutions__en {
    font-size: var(--Font-h2--en-size, 64px);
    right: 0;
    top: -50px;
    z-index: -1;
  }
}
.TopSolutions__header {
  padding-bottom: var(--space-tb-sm, 40px);
}
@media screen and (max-width:768px ) {
  .TopSolutions__header {
    padding-bottom: 32px;
  }
}
.TopSolutions__title {
  color: var(--color-white, #fff);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h2, 40px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-h2, 40px);
}
@media screen and (max-width:768px ) {
  .TopSolutions__title {
    font-size: var(--Font-h2-size, 26px);
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .TopSolutions__title span + span {
    margin-top: 4px;
  }
}
.TopSolutions__lead {
  color: var(--color-white, #fff);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopSolutions__lead {
    letter-spacing: 0.04em;
  }
}
.TopSolutions__visual {
  position: relative;
  margin: 0;
  margin-bottom: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopSolutions__visual {
    margin-bottom: var(--space-tb-sm, 40px);
  }
}
.TopSolutions__visual::after {
  content: "";
  position: absolute;
  display: block;
  right: 16px;
  bottom: 50px;
  height: 40px;
  width: 40px;
  background: url("../image/icon/zoom_in.webp") no-repeat center/contain;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width:768px ) {
  .TopSolutions__visual::after {
    right: 6px;
    bottom: 16px;
    height: 32px;
    width: 32px;
  }
}
.TopSolutions__visual picture {
  position: relative;
}
.TopSolutions__visual img {
  display: block;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.TopSolutionsFeature {
  display: grid;
  gap: var(--gap-col03, 40px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0 0 var(--space-tb-md, 80px);
}
@media screen and (max-width:1024px ) {
  .TopSolutionsFeature {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature {
    gap: var(--space-tb-sm, 40px);
    padding-bottom: var(--space-tb-sm, 40px);
  }
}
.TopSolutionsFeature__item {
  padding-bottom: var(--space-tb-sm, 40px);
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature__item {
    padding-bottom: var(--space-tb-xs, 16px);
  }
}
.TopSolutionsFeature__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding-bottom: var(--margin-h4, 16px);
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature__head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.TopSolutionsFeature__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  width: var(--size-fluid-64-24, 64px);
}
.TopSolutionsFeature__icon img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature__icon {
    width: 48px;
  }
}
.TopSolutionsFeature__label {
  color: var(--color-white, #fff);
  display: block;
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h4, 24px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  min-height: 64px;
}
.TopSolutionsFeature__label span {
  color: var(--color-main, #0084b9);
  display: inline-block;
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h4-sub, 14px);
  margin-right: 8px;
  min-width: 22px;
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature__label {
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    min-height: auto;
  }
}
.TopSolutionsFeature__text {
  color: var(--color-white, #fff);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopSolutionsFeature__text {
    letter-spacing: 0.04em;
  }
}

.TopSolutionsExample {
  position: relative;
  background: var(--grd04, linear-gradient(180deg, var(--Color-white_opa-70, rgba(255, 255, 255, 0.7)) 0%, var(--Color-white, #FFF) 100%));
  padding: var(--space-tb-md, 80px) var(--space-lr-lg, 80px);
}
@media screen and (max-width:1024px ) {
  .TopSolutionsExample {
    padding: 64px 40px;
  }
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample {
    padding: 64px 16px;
  }
}
.TopSolutionsExample__en {
  position: absolute;
  color: var(--Color-sub, #828282);
  text-align: right;
  /* en/h3-section_deco */
  font-family: var(--Font-common-family_en, Marcellus);
  font-size: var(--Font-h3--en-size, 64px);
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 89.6px */
  letter-spacing: 2.56px;
  right: 15px;
  top: -28px;
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample__en {
    font-size: var(--Font-h3--en-size, 48px);
    top: -22px;
  }
}
.TopSolutionsExample__title {
  border-bottom: 1px solid var(--color-border, #6997ac);
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h5, 20px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--size-8, 8px);
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample__title {
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}
.TopSolutionsExample__text {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
  padding: var(--space-tb-xs, 16px) 0 var(--margin-p, 16px);
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample__text {
    letter-spacing: 0.04em;
  }
}
.TopSolutionsExample__gallery {
  display: grid;
  gap: var(--size-fluid-24-16, 24px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample__gallery {
    gap: var(--space-tb-xs, 16px);
    grid-template-columns: 1fr;
  }
}
.TopSolutionsExample__photo {
  margin: 0;
}
.TopSolutionsExample__photo img {
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.TopSolutionsExample__photo p {
  color: var(--color-sub, #828282);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-caption, 12px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-top: var(--size-4, 4px);
}
@media screen and (max-width:768px ) {
  .TopSolutionsExample__photo p {
    letter-spacing: 0.04em;
  }
}

.TopGlobal {
  background: var(--color-base, #f0f0f0);
  overflow: hidden;
  padding: var(--space-tb-lg, 200px) 0;
  position: relative;
}
@media screen and (max-width:768px ) {
  .TopGlobal {
    padding: 80px 0;
  }
}
.TopGlobal__deco {
  pointer-events: none;
  position: absolute;
}
.TopGlobal__deco--left {
  bottom: 0;
  left: 0;
  max-width: 660px;
  height: auto;
}
.TopGlobal__deco--right {
  top: 0;
  right: 0;
  max-width: 580px;
  height: auto;
}
.TopGlobal__deco img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.TopGlobal__inner {
  position: relative;
}
.TopGlobal__en {
  color: var(--color-white, #fff);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h2-en, 144px);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  position: absolute;
  right: -60px;
  top: -130px;
  z-index: 0;
}
@media screen and (max-width:1024px ) {
  .TopGlobal__en {
    font-size: 80px;
    right: 0;
    top: -80px;
  }
}
@media screen and (max-width:768px ) {
  .TopGlobal__en {
    font-size: var(--Font-h2--en-size, 64px);
    right: -12px;
    top: -50px;
  }
}
.TopGlobal__header, .TopGlobal__map,
.TopGlobal .TopGlobalCase {
  position: relative;
  z-index: 1;
}
.TopGlobal__header {
  padding-bottom: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopGlobal__header {
    padding-bottom: var(--space-tb-sm, 20px);
  }
}
.TopGlobal__title {
  color: var(--color-font, #383a3c);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h2, 40px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-h2, 40px);
}
@media screen and (max-width:768px ) {
  .TopGlobal__title {
    font-size: 26px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
}
.TopGlobal__lead {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopGlobal__lead {
    letter-spacing: 0.04em;
  }
}
.TopGlobal__map {
  margin: 0;
  padding-bottom: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopGlobal__map {
    padding-bottom: var(--space-tb-sm, 20px);
  }
}
.TopGlobal__map img {
  display: block;
  height: auto;
  width: 100%;
}
.TopGlobal__map figcaption {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-font, #383a3c);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-caption, 12px);
  gap: 8px 16px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin-top: var(--size-8, 8px);
}
@media screen and (max-width:768px ) {
  .TopGlobal__map figcaption {
    gap: 4px 12px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    letter-spacing: 0.04em;
  }
}
.TopGlobal__map figcaption .-ykk,
.TopGlobal__map figcaption .-phs {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.TopGlobal__map figcaption .-ykk::before,
.TopGlobal__map figcaption .-phs::before {
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 12px;
  margin-right: 6px;
  width: 12px;
}
.TopGlobal__map figcaption .-ykk::before {
  background: #008bc2;
}
.TopGlobal__map figcaption .-phs::before {
  background: #f6a202;
}

.TopGlobalCase {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-white-opa-40, rgba(255, 255, 255, 0.4))), to(var(--color-white, #fff)));
  background: linear-gradient(180deg, var(--color-white-opa-40, rgba(255, 255, 255, 0.4)) 0%, var(--color-white, #fff) 100%);
  padding: var(--space-tb-md, 80px) var(--space-lr-lg, 80px);
}
@media screen and (max-width:1024px ) {
  .TopGlobalCase {
    padding: 64px 40px;
  }
}
@media screen and (max-width:768px ) {
  .TopGlobalCase {
    padding: 72px 16px;
  }
}
.TopGlobalCase__en {
  position: absolute;
  color: var(--Color-white, #fff);
  text-align: right;
  /* en/h3-section_deco */
  font-family: var(--Font-common-family_en, Marcellus);
  font-size: var(--Font-h3--en-size, 64px);
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 89.6px */
  letter-spacing: 2.56px;
  right: 15px;
  top: -48px;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__en {
    font-size: var(--Font-h3--en-size, 48px);
    top: -37px;
  }
}
.TopGlobalCase__title {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h3, 28px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-h3, 24px);
  position: relative;
  padding-left: 8px;
}
.TopGlobalCase__title::before {
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-sub, #828282)), to(var(--color-main, #0084b9)));
  background: linear-gradient(180deg, var(--color-sub, #828282), var(--color-main, #0084b9));
  content: "";
  display: inline-block;
  height: 16px;
  margin-right: 16px;
  vertical-align: middle;
  width: 2px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__title::before {
    height: 8px;
    margin-right: 12px;
  }
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__title {
    font-size: 24px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
}
.TopGlobalCase__content {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: grid;
  gap: var(--size-fluid-16-8, 16px);
  grid-template-columns: 480px 40px minmax(0, 1fr);
}
@media screen and (max-width:1024px ) {
  .TopGlobalCase__content {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__content {
    gap: var(--space-tb-xs, 16px);
  }
}
.TopGlobalCase__cross {
  -ms-flex-item-align: center;
      align-self: center;
  height: 40px;
  margin: 0;
  position: relative;
  width: 40px;
}
.TopGlobalCase__cross::before, .TopGlobalCase__cross::after {
  background: color-mix(in srgb, var(--color-font, #383a3c) 40%, transparent);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: calc(50% - 1px);
  width: 100%;
}
.TopGlobalCase__cross::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.TopGlobalCase__cross::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width:1024px ) {
  .TopGlobalCase__cross {
    -ms-flex-item-align: center;
        align-self: center;
    justify-self: center;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__cross {
    height: 32px;
    width: 32px;
  }
}
.TopGlobalCase__col {
  display: grid;
  grid-template-rows: subgrid;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__col {
    grid-template-rows: initial;
  }
}
.TopGlobalCase__col.-products {
  width: 480px;
}
@media screen and (max-width:1024px ) {
  .TopGlobalCase__col.-products {
    width: auto;
  }
}
.TopGlobalCase__col.-network {
  min-width: 0;
}
.TopGlobalCase__colTitle {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h6, 18px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-p, 16px);
  text-align: center;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__colTitle {
    letter-spacing: 0.04em;
    text-align: left;
  }
}
.TopGlobalCase__products {
  background: var(--color-white, #fff);
  border: 1px solid color-mix(in srgb, var(--color-base, #f0f0f0) 70%, transparent);
  display: grid;
  gap: var(--size-fluid-24-16, 24px);
  list-style: none;
  margin: 0;
  padding: var(--size-fluid-24-16, 24px);
  position: relative;
  top: 35px;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__products {
    gap: var(--space-tb-sm, 20px);
    top: initial;
  }
}
.TopGlobalCase__product {
  border-bottom: 1px solid var(--Color-border, #6997AC);
  display: grid;
  gap: var(--size-fluid-24-16, 24px);
  grid-template-columns: 105px 1fr;
  padding: 0 0 var(--size-fluid-24-16, 24px);
}
.TopGlobalCase__product:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__product {
    gap: var(--space-tb-xs, 16px);
    grid-template-columns: 1fr;
    padding-bottom: var(--space-tb-sm, 20px);
  }
}
.TopGlobalCase__product img {
  display: block;
  height: auto;
  width: 100%;
}
.TopGlobalCase__productTitle {
  color: var(--color-accent, #6997ac);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h5, 20px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__productTitle {
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
}
.TopGlobalCase__productText {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__productText {
    letter-spacing: 0.04em;
  }
}
.TopGlobalCase__network {
  background: var(--color-white, #fff);
  border: 1px solid color-mix(in srgb, var(--color-base, #f0f0f0) 70%, transparent);
  list-style: none;
  margin: 0;
  padding: var(--size-fluid-24-16, 24px);
  position: relative;
  top: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__network {
    gap: initial;
    top: initial;
    padding: var(--size-fluid-24-16, 16px);
  }
}
.TopGlobalCase__network li {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
  position: relative;
  text-align: center;
  display: block;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__network li {
    letter-spacing: 0.04em;
  }
}
.TopGlobalCase__network li::after {
  background: var(--color-main, #0084b9);
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin: 24px auto;
}
@media screen and (max-width:768px ) {
  .TopGlobalCase__network li::after {
    margin: 16px auto;
  }
}
.TopGlobalCase__network li:last-child::after {
  display: none;
}
.TopGlobalCase__network li span {
  color: var(--color-main, #0084b9);
}
.TopGlobalCase__network li small {
  display: block;
  font-size: var(--font-size-p-sm, 14px);
}

.TopVoices {
  background: url(../image/bg/voices_bg.webp) no-repeat center center;
  background-size: cover;
  height: 100%;
  width: 100%;
  overflow: hidden;
  padding: var(--space-tb-lg, 200px) 0;
  position: relative;
}
@media screen and (max-width:768px ) {
  .TopVoices {
    padding: 80px 0;
  }
}
.TopVoices__deco {
  pointer-events: none;
  position: absolute;
}
.TopVoices__deco--left {
  top: 0;
  left: 0;
  max-width: 680px;
  height: auto;
}
.TopVoices__deco--right {
  bottom: 0;
  right: 0;
  max-width: 520px;
  height: auto;
}
.TopVoices__deco img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.TopVoices__inner {
  position: relative;
  z-index: 1;
}
.TopVoices__en {
  color: var(--color-white, #fff);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h2-en, 144px);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  position: absolute;
  right: -60px;
  top: -130px;
}
@media screen and (max-width:1024px ) {
  .TopVoices__en {
    font-size: 80px;
    right: 0;
    top: -80px;
  }
}
@media screen and (max-width:768px ) {
  .TopVoices__en {
    font-size: var(--Font-h2--en-size, 64px);
    right: -12px;
    top: -50px;
  }
}
.TopVoices__header {
  padding-bottom: var(--size-fluid-64-24, 64px);
}
@media screen and (max-width:768px ) {
  .TopVoices__header {
    padding-bottom: var(--space-tb-sm, 20px);
  }
}
.TopVoices__title {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h2, 40px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-h2, 40px);
}
@media screen and (max-width:768px ) {
  .TopVoices__title {
    font-size: 26px;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
}
.TopVoices__lead {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopVoices__lead {
    letter-spacing: 0.04em;
  }
}

.TopVoicesGroup {
  padding-bottom: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopVoicesGroup {
    padding-bottom: var(--space-tb-sm, 20px);
  }
}
.TopVoicesGroup:last-child {
  padding-bottom: 0;
}
.TopVoicesGroup__title {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h3, 28px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding: 0 0 var(--margin-h3, 24px);
  position: relative;
  padding-left: 8px;
}
.TopVoicesGroup__title::before {
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-sub, #828282)), to(var(--color-main, #0084b9)));
  background: linear-gradient(180deg, var(--color-sub, #828282), var(--color-main, #0084b9));
  content: "";
  display: inline-block;
  height: 16px;
  margin-right: 16px;
  vertical-align: middle;
  width: 2px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width:768px ) {
  .TopVoicesGroup__title::before {
    height: 8px;
    margin-right: 12px;
  }
}
@media screen and (max-width:768px ) {
  .TopVoicesGroup__title {
    font-size: 22px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    padding-left: 20px;
    text-indent: -13px;
  }
}
.TopVoicesGroup__list {
  display: grid;
  gap: var(--gap-col05, 24px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width:1024px ) {
  .TopVoicesGroup__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width:768px ) {
  .TopVoicesGroup__list {
    gap: var(--space-tb-sm, 20px);
    grid-template-columns: 1fr;
  }
}

.TopVoicesCard {
  display: grid;
  gap: var(--size-4, 4px);
  grid-template-rows: auto auto auto 1fr;
}
@media screen and (max-width:768px ) {
  .TopVoicesCard {
    gap: var(--size-8, 8px);
  }
}
.TopVoicesCard__image {
  aspect-ratio: 320/213;
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.TopVoicesCard__meta {
  color: var(--color-accent, #6997ac);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p-sm, 14px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding: var(--margin-h6, 8px) 0;
}
@media screen and (max-width:768px ) {
  .TopVoicesCard__meta {
    letter-spacing: 0.04em;
    padding: var(--size-4, 4px) 0;
  }
}
.TopVoicesCard__name {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-h4, 24px);
  font-weight: var(--font-weight-title, 500);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
  padding-bottom: var(--margin-h4, 16px);
}
@media screen and (max-width:768px ) {
  .TopVoicesCard__name {
    font-size: 20px;
    letter-spacing: 0.04em;
    padding-bottom: var(--size-4, 4px);
  }
}
.TopVoicesCard__text {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Noto, "Noto Sans JP"), sans-serif;
  font-size: var(--font-size-p, 16px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopVoicesCard__text {
    letter-spacing: 0.04em;
  }
}

.TopEnd {
  overflow: hidden;
  padding: 0 0 var(--space-tb-lg, 200px);
  position: relative;
}
@media screen and (max-width:768px ) {
  .TopEnd {
    padding-bottom: 100px;
  }
}
.TopEnd::before {
  content: "";
  position: absolute;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-white, #fff)), to(var(--color-white-opa-0, rgba(255, 255, 255, 0))));
  background: linear-gradient(180deg, var(--color-white, #fff) 0%, var(--color-white-opa-0, rgba(255, 255, 255, 0)) 100%);
  height: 200px;
  width: 100%;
  top: 0;
  left: 0;
}
@media screen and (max-width:768px ) {
  .TopEnd::before {
    height: 120px;
  }
}
.TopEnd::after {
  content: "";
  position: absolute;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-white, #fff)), to(var(--color-white-opa-0, rgba(255, 255, 255, 0))));
  background: linear-gradient(180deg, var(--color-white, #fff) 0%, var(--color-white-opa-0, rgba(255, 255, 255, 0)) 100%);
  height: 200px;
  width: 100%;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width:768px ) {
  .TopEnd::after {
    height: 120px;
  }
}
.TopEnd__inner {
  margin: 0 auto;
  max-width: 864px;
  padding: 200px 24px 0;
  text-align: center;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopEnd__inner {
    padding: 120px 24px 0;
  }
}
.TopEnd__title {
  max-width: 683px;
  margin: auto;
}
@media screen and (max-width:768px ) {
  .TopEnd__title {
    max-width: 246px;
  }
}
.TopEnd__title img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.TopEnd__text {
  height: 17px;
}
@media screen and (max-width:768px ) {
  .TopEnd__text {
    height: 12px;
  }
}
.TopEnd__text:not(:first-child) {
  margin-top: 24px;
}
@media screen and (max-width:768px ) {
  .TopEnd__text:not(:first-child) {
    margin-top: 16px;
  }
}
.TopEnd__text img {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  text-align: left;
}
.TopEnd__lead {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Shippori, "Shippori Antique"), serif;
  font-size: var(--font-size-h6, 18px);
  font-weight: var(--font-weight-normal, 400);
  letter-spacing: var(--letter-spacing-4, 0.04em);
  line-height: var(--line-height-statement, 2.4);
  margin: 0;
  padding-top: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopEnd__lead {
    font-size: 14px;
    line-height: 2.2;
    padding-top: 48px;
  }
}

.TopEndMovie {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--space-tb-xs, 16px);
  padding-top: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopEndMovie {
    gap: 12px;
    padding-top: 80px;
  }
}
.TopEndMovie__title {
  color: var(--color-font, #383a3c);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-h3, 28px);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-tight, 1.4);
  margin: 0;
}
@media screen and (max-width:768px ) {
  .TopEndMovie__title {
    letter-spacing: 0.04em;
  }
}
.TopEndMovie__thumb {
  border-radius: var(--radius-md, 8px);
  display: block;
  max-width: 560px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopEndMovie__thumb {
    border-radius: 4px;
  }
}
.TopEndMovie__thumb {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.TopEndMovie__thumb .TopEndMovie__play {
  -webkit-transform: translate(-50%, -50%) scale(1.04);
          transform: translate(-50%, -50%) scale(1.04);
}
.TopEndMovie__thumb:hover {
  opacity: 0.7;
}
.TopEndMovie__thumb::after {
  background: rgba(0, 0, 0, 0.4);
  content: "";
  inset: 0;
  position: absolute;
}
.TopEndMovie__thumb img {
  display: block;
  height: auto;
  width: 100%;
}
.TopEndMovie__play {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 1;
}
.TopEndMovie__playIcon {
  border: 1px solid var(--color-white, #fff);
  border-radius: 50%;
  height: 64px;
  position: relative;
  width: 64px;
}
@media screen and (max-width:768px ) {
  .TopEndMovie__playIcon {
    height: 48px;
    width: 48px;
  }
}
.TopEndMovie__playIcon::before {
  border-color: transparent transparent transparent var(--color-white, #fff);
  border-style: solid;
  border-width: 10px 0 10px 16px;
  content: "";
  left: 52%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-45%, -50%);
          transform: translate(-45%, -50%);
}
@media screen and (max-width:768px ) {
  .TopEndMovie__playIcon::before {
    border-width: 8px 0 8px 12px;
  }
}
.TopEndMovie__playText {
  color: var(--color-white, #fff);
  font-family: var(--font-family-Marcellus, "Marcellus"), serif;
  font-size: var(--font-size-p, 16px);
  letter-spacing: var(--letter-spacing-8, 0.08em);
  line-height: var(--line-height-base, 1.8);
}
@media screen and (max-width:768px ) {
  .TopEndMovie__playText {
    font-size: 14px;
    letter-spacing: 0.04em;
  }
}

#js-special-movie-modal {
  display: none;
}

.TopEndMovieModal {
  background: var(--color-black, #000);
  width: min(92vw, 960px);
}
.TopEndMovieModal__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 16/9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 280px;
  overflow: hidden;
  width: 100%;
}
.TopEndMovieModal__inner iframe,
.TopEndMovieModal__inner video,
.TopEndMovieModal__inner object,
.TopEndMovieModal__inner embed,
.TopEndMovieModal__inner > div {
  height: 100% !important;
  width: 100% !important;
}
.TopEndMovieModal__inner img {
  height: auto;
  max-width: 100%;
}

.TopEndLinks {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--size-fluid-64-24, 64px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: var(--space-tb-md, 80px);
}
@media screen and (max-width:768px ) {
  .TopEndLinks {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    padding-top: 48px;
  }
}
.TopEndLinks__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #cdcdcd;
  color: #222222;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7333333333;
  max-width: 100%;
  overflow: hidden;
  padding: 16px 24px;
  position: relative;
  z-index: 1;
  background-color: #ffffff;
  width: 100%;
}
@media screen and (max-width:768px ) {
  .TopEndLinks__item {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 769px) {
  .TopEndLinks__item {
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
  }
  .TopEndLinks__item::before {
    background-color: #0084b9;
    content: "";
    display: block;
    height: 100%;
    left: -100%;
    pointer-events: none;
    position: absolute;
    top: 0;
    -webkit-transition: left 0.3s ease-in-out;
    transition: left 0.3s ease-in-out;
    width: 100%;
    z-index: -1;
  }
  .TopEndLinks__item::after {
    -webkit-transition: background-image 0.3s ease-in-out;
    transition: background-image 0.3s ease-in-out;
  }
  .TopEndLinks__item:hover {
    color: #ffffff;
  }
  .TopEndLinks__item:hover img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .TopEndLinks__item:hover::before {
    left: 0;
  }
  .TopEndLinks__item:hover::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.708%22%20height%3D%2216.707%22%20viewBox%3D%220%200%2016.708%2016.707%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_20473%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2020473%22%20transform%3D%22translate(-264%20-1031.646)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_929%22%20data-name%3D%22%E3%83%91%E3%82%B9%20929%22%20d%3D%22M3192%2C1032l8%2C8-8%2C8%22%20transform%3D%22translate(-2920)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_930%22%20data-name%3D%22%E3%83%91%E3%82%B9%20930%22%20d%3D%22M3184%2C1040h16%22%20transform%3D%22translate(-2920)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  }
}
.TopEndLinks__item .icon.icon--blank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.TopEndLinks__item.-blank:after, .TopEndLinks__item[target=_blank]:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2216.003%22%20viewBox%3D%220%200%2018%2016.003%22%3E%20%3Cg%20id%3D%22icon_%E5%88%A5%E3%82%BF%E3%83%96%22%20transform%3D%22translate(-1575%20-378)%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_10%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%2010%22%20d%3D%22M22015%2C13614h-14v-12h1v11h13v1Z%22%20transform%3D%22translate(-20426%20-13220)%22%20fill%3D%22%230084b9%22%2F%3E%20%3Cpath%20id%3D%22Rectangle_4071_-_Outline%22%20data-name%3D%22Rectangle%204071%20-%20Outline%22%20d%3D%22M1%2C1V11H13V1H1M0%2C0H14V12H0Z%22%20transform%3D%22translate(1579%20378)%22%20fill%3D%22%230084b9%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  height: 16px;
  width: 18px;
}

.modaal-close {
  border-radius: initial !important;
}
.modaal-close:hover {
  background: initial;
}
@media screen and (max-width:768px ) {
  .modaal-close {
    top: -50px;
    right: -24px;
  }
}

.modaal-content-container {
  padding: initial !important;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
  background-color: #fff !important;
}

@media screen and (max-width:768px ) {
  .modaal-inner-wrapper {
    display: block;
    padding: initial;
  }
}

@media screen and (max-width:768px ) {
  .modaal-container {
    top: 50%;
    left: 44%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 90%;
    margin: 0 auto;
  }
}

#Footer {
  position: relative;
  z-index: 1;
}