@charset "UTF-8";
@font-face {
  font-family: "CabinetGrotesk-Variable";
  src: url("../fonts/CabinetGrotesk-Variable.ttf") format("truetype");
  font-display: swap;
}
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu,
summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

::-moz-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

:focus {
  outline: 2px ridge #8A0000;
  outline-offset: 8px;
}
:focus:not(:focus-visible) {
  outline: 0;
}

html {
  scroll-behavior: auto;
}
html ::-moz-selection {
  color: #FAFAFA;
  background: #8A0000;
}
html ::selection {
  color: #FAFAFA;
  background: #8A0000;
}

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

body {
  position: relative;
  color: #1C1C1C;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.971rem + 0.13vw, 1.125rem);
  font-weight: 400;
  line-height: normal;
  background: #FAFAFA;
}

hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  gap: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  -webkit-padding-after: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
          padding-block-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
hgroup p {
  text-transform: capitalize;
  font-weight: 600;
  line-height: 0.62;
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-size: clamp(4rem, 2.615rem + 6.15vw, 10rem);
}
hgroup h2 {
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  font-weight: 500;
  line-height: 1.2;
}

section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  padding-block: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
  margin-inline: auto;
}

textarea::-webkit-input-placeholder, input::-webkit-input-placeholder {
  color: rgba(153, 153, 153, 0.6);
  font-size: 90%;
}

textarea::-moz-placeholder, input::-moz-placeholder {
  color: rgba(153, 153, 153, 0.6);
  font-size: 90%;
}

textarea:-ms-input-placeholder, input:-ms-input-placeholder {
  color: rgba(153, 153, 153, 0.6);
  font-size: 90%;
}

textarea::-ms-input-placeholder, input::-ms-input-placeholder {
  color: rgba(153, 153, 153, 0.6);
  font-size: 90%;
}

textarea::placeholder,
input::placeholder {
  color: rgba(153, 153, 153, 0.6);
  font-size: 90%;
}

.l-header {
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 1.125rem 1rem;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem) 1.25rem;
  background: #FAFAFA;
  border-bottom: 1px solid #1C1C1C;
  gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
}
.l-header-logo {
  width: clamp(18.125rem, 14.768rem + 5.25vw, 21.063rem);
}
.l-header-nav {
  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;
  gap: clamp(1rem, -0.235rem + 1.93vw, 1.5rem);
}
.l-header-nav-anchor_wrap {
  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;
  gap: clamp(1rem, -0.235rem + 1.93vw, 1.5rem);
}
.l-header-nav-anchor_wrap .list a {
  font-weight: 500;
  display: block;
  overflow: hidden;
  letter-spacing: 0.1em;
}
.l-header-nav-anchor_wrap .list a.is-active {
  color: #8A0000;
}
.l-header-nav-anchor_wrap .list a.is-active {
  cursor: initial;
}
@media (any-hover: hover) {
  .l-header-nav-anchor_wrap .list a:hover span {
    color: #8A0000;
  }
}
.l-header-nav-anchor_wrap .list .text-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header-nav-anchor_wrap .list .after {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header-nav-anchor_wrap .list .before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header-nav-anchor_wrap .list .before span, .l-header-nav-anchor_wrap .list .after span {
  line-height: 1.1;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}
.l-header-nav-anchor_wrap .list .after span {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.l-header-nav-btns {
  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;
  gap: 1rem;
}
.l-header-nav-btns-btn {
  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;
  font-weight: 500;
  height: 54px;
  width: 184px;
}
.l-header-nav-btns-btn__download {
  border-radius: 100vmax;
  color: #FAFAFA;
  border: 1px solid #1C1C1C;
  background: #1C1C1C;
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-header-nav-btns-btn__download:hover {
    color: #1C1C1C;
    background: #FAFAFA;
  }
}
.l-header-nav-btns-btn__contact {
  border-radius: 100vmax;
  color: #FAFAFA;
  border: 1px solid #8A0000;
  background: #8A0000;
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-header-nav-btns-btn__contact:hover {
    color: #8A0000;
    background: #FAFAFA;
  }
}
.l-header-sp {
  position: relative;
  z-index: 9999;
}
.l-header-sp .hamburger {
  cursor: pointer;
  position: relative;
  z-index: 10;
  display: block;
  width: 88px;
  height: 60px;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  background-color: transparent;
}
.l-header-sp .hamburger.-active .hamburger__line {
  background-color: transparent;
}
.l-header-sp .hamburger.-active .hamburger__line::before {
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-header-sp .hamburger.-active .hamburger__line::after {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.l-header-sp .hamburger.-active .hamburger__text::before {
  content: "close";
}
.l-header-sp .hamburger__line {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 34px;
  height: 2px;
  background-color: #8A0000;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.l-header-sp .hamburger__line:before, .l-header-sp .hamburger__line:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #8A0000;
  -webkit-transition: inherit;
  transition: inherit;
}
.l-header-sp .hamburger__line:before {
  top: -6px;
}
.l-header-sp .hamburger__line:after {
  top: 6px;
}
.l-header-sp .hamburger__text {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header-sp .hamburger__text::before {
  content: "menu";
  text-align: center;
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-transform: capitalize;
}
.l-header-sp .header__nav-area {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 9;
  width: 100%;
  height: 100dvh;
  visibility: hidden;
  padding-inline: 0;
  padding-block: 48px 0;
  border-bottom: none;
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
}
.l-header-sp .header__nav-area.-active {
  right: 0;
  visibility: visible;
}
.l-header-sp .global-navigation {
  overflow: auto;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  background: #FAFAFA;
  border-left: 1px solid #1C1C1C;
  border-bottom: 1px solid #1C1C1C;
}
.l-header-sp .global-navigation__link {
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
  padding: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  border-top: 1px solid #1C1C1C;
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
.l-header-sp .global-navigation__link::after {
  content: "";
  background: url(../img/icon-arrow__circle__black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 1.25rem;
  height: 1.25rem;
}
.l-header-sp .global-navigation__link.-active::after {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
.l-header-sp .global-navigation__link.-accordion {
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0;
}
.l-header-sp .global-navigation__link.-accordion::after {
  content: "";
  display: block;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 5px;
  width: 2px;
  background-color: #ed3242;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.l-header-sp .global-navigation__link.-accordion::before {
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  background-color: #ed3242;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header-sp .global-navigation__list {
  border-bottom: 1px solid #1C1C1C;
}
.l-header-sp .global-navigation__list-conversion li:last-child {
  background: #8A0000;
  color: #FAFAFA;
}
.l-header-sp .global-navigation__list-conversion li:last-child a::after {
  content: "";
  background: url(../img/icon-arrow__circle__white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 1.25rem;
  height: 1.25rem;
}
.l-header-sp .global-navigation .accordion {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.l-header-sp .global-navigation .accordion.-active {
  height: auto;
  padding-top: 10px;
  visibility: visible;
}
@media only screen and (max-width: 1024px) {
  .l-header {
    padding-block: 3px 0;
  }
  .l-header-nav {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .l-header-logo {
    width: clamp(13.5rem, 9.429rem + 18.09vw, 18.125rem);
  }
}
.l-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem);
  padding-block: clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem) clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  background: #FAFAFA;
}
.l-footer-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(1.406rem, 1.082rem + 1.44vw, 2.813rem);
}
.l-footer-top-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-footer-top-right-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
}
.l-footer-top-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-footer-top-left > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.313rem;
}
.l-footer-top-left > div p:first-child {
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  font-weight: 500;
}
.l-footer-top-left > div:first-child {
  -webkit-padding-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
          padding-inline-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  -webkit-margin-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
          margin-inline-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  border-right: 1px solid #1C1C1C;
}
.l-footer-bottom p {
  text-align: center;
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .l-footer-top-right-links {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  }
  .l-footer-top-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  }
  .l-footer-top-left > div {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  }
  .l-footer-top-left > div:first-child {
    border-right: none;
  }
}

#top .l-header {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.l-top-mv {
  position: relative;
  overflow: hidden;
}
.l-top-mv-top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-height: 90vh;
  height: 740px;
}
.l-top-mv-top-ttl {
  position: relative;
  z-index: 1;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  -webkit-padding-start: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
          padding-inline-start: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  -webkit-padding-after: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
          padding-block-end: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-top-mv-top-ttl p {
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  font-weight: 500;
  line-height: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.l-top-mv-top-ttl p span {
  font-size: 1.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  background: #FAFAFA;
  border: 1px solid #1C1C1C;
}
.l-top-mv-top-ttl p span:first-child {
  position: relative;
  z-index: 1;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  border-bottom: none;
}
.l-top-mv-top-ttl p span.curtainLefttoRight.visible:before {
  top: initial;
  bottom: 0;
}
.l-top-mv-top-ttl h1 {
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #FAFAFA;
  font-size: clamp(3.5rem, 0.577rem + 4.57vw, 4.688rem);
  font-weight: 700;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-top-mv-top-ttl h1 span {
  display: inline-block;
  background: #1C1C1C;
  padding: 0rem 0rem clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem) clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
}
.l-top-mv-top-ttl h1 span:last-child {
  -webkit-padding-end: 0.75rem;
          padding-inline-end: 0.75rem;
}
.l-top-mv-top-ttl h1 span.curtainLefttoRight.visible:before {
  top: initial;
  bottom: 0;
}
.l-top-mv-top-bg {
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(57.89%, rgba(0, 0, 0, 0)), color-stop(76.28%, rgba(0, 0, 0, 0.6)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 57.89%, rgba(0, 0, 0, 0.6) 76.28%);
}
.l-top-mv-top-circleBg {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  z-index: -1;
  overflow: hidden;
  position: relative;
  position: fixed;
  top: -5%;
  left: 0;
}
.l-top-mv-top-circleBg-inner {
  background: #1C1C1C;
}
.l-top-mv-top-circleBg-inner-slider {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
  -webkit-transform: rotate(-4.966deg) translateY(-75px);
          transform: rotate(-4.966deg) translateY(-75px);
}
.l-top-mv-top-circleBg-inner-slider .is-mv-slide-left,
.l-top-mv-top-circleBg-inner-slider .is-mv-slide-right {
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.l-top-mv-top-circleBg-inner-slider .is-mv-slide-right {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.l-top-mv-top-circleBg-inner-slider .scroll-infinity__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
}
.l-top-mv-top-circleBg-inner-slider .scroll-infinity__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
}
.l-top-mv-top-circleBg-inner-slider .scroll-infinity__list--right {
  -webkit-animation: infinity-scroll-right 80s infinite linear 0.5s both;
          animation: infinity-scroll-right 80s infinite linear 0.5s both;
}
@-webkit-keyframes infinity-scroll-right {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes infinity-scroll-right {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
.l-top-mv-top-circleBg-inner-slider .scroll-infinity__list--left {
  -webkit-animation: infinity-scroll-left 80s infinite linear 0.5s both;
          animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.l-top-mv-top-circleBg-inner-slider .scroll-infinity__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: max(115vw, 1850px);
}
@media only screen and (max-width: 1024px) {
  .l-top-mv {
    z-index: -1;
  }
  .l-top-mv-top hgroup {
    -webkit-padding-end: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
            padding-inline-end: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  }
}
@media only screen and (max-width: 768px) {
  .l-top-mv-top {
    max-height: 75vh;
  }
  .l-top-mv-top hgroup {
    max-width: 100%;
    width: 560px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .l-top-mv-top hgroup p {
    width: 100%;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .l-top-mv-top hgroup p span {
    font-size: clamp(1rem, 4.5vw, 1.5rem);
  }
  .l-top-mv-top hgroup h1 {
    width: 100%;
    font-size: clamp(1rem, 10vw, 3.688rem);
  }
  .l-top-mv-top hgroup h1 span {
    -webkit-padding-end: 0.75rem;
            padding-inline-end: 0.75rem;
  }
  .l-top-mv-top hgroup h1 span:first-child {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  .l-top-mv-top-circleBg-inner-slider .scroll-infinity__item {
    width: 280vw;
  }
  .l-top-mv-top-bg {
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
}
.l-top-logo {
  padding-block: 2rem;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  background: #fff;
  border-top: 1px solid #1C1C1C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}
.l-top-logo > p {
  text-align: center;
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  font-weight: 600;
}
.l-top-logo-wrapper {
  max-width: 1400px;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[8];
  grid-template-columns: repeat(8, 1fr);
}
@media only screen and (max-width: 1024px) {
  .l-top-logo-wrapper {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (max-width: 768px) {
  .l-top-logo {
    padding-inline: 0.5rem;
  }
  .l-top-logo > p {
    -webkit-margin-after: 0.5rem;
            margin-block-end: 0.5rem;
  }
  .l-top-logo-wrapper {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    -webkit-padding-end: 0.25rem;
            padding-inline-end: 0.25rem;
  }
}
.l-top-intro {
  -webkit-padding-after: clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem);
          padding-block-end: clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem);
  background: #FAFAFA;
}
.l-top-intro-about {
  border-top: 1px solid #1C1C1C;
  border-bottom: 1px solid #1C1C1C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.l-top-intro-about-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  -webkit-padding-before: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
          padding-block-start: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  -webkit-padding-after: clamp(2.5rem, 1.995rem + 2.24vw, 4.688rem);
          padding-block-end: clamp(2.5rem, 1.995rem + 2.24vw, 4.688rem);
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  border-right: 1px solid #1C1C1C;
}
.l-top-intro-about-left-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
}
.l-top-intro-about-left-example {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
}
.l-top-intro-about-left-example p {
  line-height: 1;
  text-transform: uppercase;
  font-weight: 600;
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  border: 1px solid #1C1C1C;
  padding: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem) clamp(0.625rem, -6.125rem + 10vw, 1.875rem);
  word-break: keep-all;
}
.l-top-intro-about-left-example p:last-child {
  border: none;
  text-transform: none;
}
.l-top-intro-about-left .curtainLefttoRight.visible:before {
  top: 0;
}
.l-top-intro-about-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  -webkit-padding-before: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
          padding-block-start: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  -webkit-padding-after: clamp(2.5rem, 1.995rem + 2.24vw, 4.688rem);
          padding-block-end: clamp(2.5rem, 1.995rem + 2.24vw, 4.688rem);
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-top-intro-about-right-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-top-intro-about-right-ttl h2 {
  font-size: 3.875rem;
  font-weight: 700;
  line-height: 1.5;
}
.l-top-intro-about-right p {
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  font-weight: 500;
  line-height: 1.95;
}
.l-top-intro-about-right .curtainLefttoRight.visible:before {
  top: 0;
}
@media only screen and (max-width: 1024px) {
  .l-top-intro-about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 768px) {
  .l-top-intro-about-left {
    border-bottom: 1px solid #1C1C1C;
  }
  .l-top-intro-about-left-example {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .l-top-intro-about-right-ttl h2 {
    font-size: min(max(11.183vw, 1rem), 55px);
  }
  .l-top-intro-about-right p {
    font-size: clamp(0.954rem, 4.244vw, 21px);
  }
}
.l-top-intro-achievements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #1C1C1C;
}
.l-top-intro-achievements-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  padding: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem) clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  max-width: 100%;
  width: 100%;
  border-right: 1px solid #1C1C1C;
}
.l-top-intro-achievements-detail:last-child {
  border: none;
}
.l-top-intro-achievements-detail-ttl {
  max-width: 100%;
  width: 100%;
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  font-weight: 500;
  text-align: start;
}
.l-top-intro-achievements-detail-ttl span {
  font-size: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
  font-weight: 400;
}
.l-top-intro-achievements-detail-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
}
.l-top-intro-achievements-detail-numbers-number {
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-size: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
  font-weight: 700;
  line-height: 0.7;
}
.l-top-intro-achievements-detail-numbers-unit {
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
}
@media only screen and (max-width: 768px) {
  .l-top-intro-achievements {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-top-intro-achievements-detail {
    border-bottom: 1px solid #1C1C1C;
  }
}
.l-top-works hgroup {
  z-index: 1;
  margin-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  border: none;
}
.l-top-works-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
}
.l-top-works-wrapper-example {
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  margin-inline: auto;
  width: 100%;
  position: relative;
  z-index: 1;
  display: -ms-grid;
  display: grid;
  gap: 40px;
}
.l-top-works-wrapper-example-display {
  max-width: 870px;
  margin-inline: auto;
}
.l-top-works-wrapper-example-display-contents {
  display: none;
}
.l-top-works-wrapper-example-display-contents.is-active {
  display: block;
}
.l-top-works-wrapper-example-display-contents .splide > p {
  font-size: clamp(1.25rem, -0.625rem + 3.91vw, 1.875rem);
  font-weight: 700;
  line-height: 1.2;
  -webkit-padding-after: clamp(0.5rem, -0.25rem + 1.56vw, 0.75rem);
          padding-block-end: clamp(0.5rem, -0.25rem + 1.56vw, 0.75rem);
}
.l-top-works-wrapper-example-display-contents .splide .splide__arrow {
  background: initial;
}
.l-top-works-wrapper-example-display-contents .splide .splide__arrow svg {
  width: 2.5rem;
  height: 2.5rem;
}
.l-top-works-wrapper-example-display-contents .splide .splide__arrow--prev {
  right: calc(100% + 1.5rem);
  left: initial;
}
.l-top-works-wrapper-example-display-contents .splide .splide__arrow--next {
  right: initial;
  left: calc(100% + 1.5rem);
}
.l-top-works-wrapper-example-display-contents .splide .splide__track {
  border: 1px solid #1C1C1C;
  aspect-ratio: 16/9;
}
.l-top-works-wrapper-example-display-contents .splide .splide__track video {
  width: 100%;
  height: auto;
}
.l-top-works-wrapper-example-display-contents .splide .splide__pagination__page {
  background: #ddd;
}
.l-top-works-wrapper-example-display-contents .splide .splide__pagination__page.is-active {
  background: #bbb;
}
.l-top-works-wrapper-example-thumbs {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(1rem, 0.25rem + 1.56vw, 1.25rem) 1fr clamp(1rem, 0.25rem + 1.56vw, 1.25rem) 1fr clamp(1rem, 0.25rem + 1.56vw, 1.25rem) 1fr clamp(1rem, 0.25rem + 1.56vw, 1.25rem) 1fr;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(1rem, 0.25rem + 1.56vw, 1.25rem);
  margin-inline: auto;
}
.l-top-works-wrapper-example-thumbs button {
  max-width: 240px;
  cursor: pointer;
  display: -ms-grid;
  display: grid;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.l-top-works-wrapper-example-thumbs button span {
  font-size: clamp(0.813rem, -1.212rem + 3vw, 1rem);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #1C1C1C;
  color: #FAFAFA;
  padding: 0.25rem 0.5rem;
  outline: 4px solid rgba(255, 255, 255, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.l-top-works-wrapper-example-thumbs button figure {
  overflow: clip;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: clamp(0.375rem, -0.75rem + 2.34vw, 0.75rem);
  border: 1px solid #1C1C1C;
  background: #FAFAFA;
  outline: 4px solid rgba(255, 255, 255, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.l-top-works-wrapper-example-thumbs button figure img {
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.l-top-works-wrapper-example-thumbs button.is-active span {
  background: #8A0000;
  outline: 4px solid #8A0000;
}
.l-top-works-wrapper-example-thumbs button.is-active figure {
  outline: 4px solid #8A0000;
}
@media (any-hover: hover) {
  .l-top-works-wrapper-example-thumbs button:hover:not(.is-active) span {
    background: dimgray;
  }
  .l-top-works-wrapper-example-thumbs button:hover:not(.is-active) figure {
    border-color: #828282;
  }
  .l-top-works-wrapper-example-thumbs button:hover:not(.is-active) figure img {
    -webkit-filter: opacity(0.5);
            filter: opacity(0.5);
  }
}
.l-top-works-wrapper-slider {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  z-index: 1;
}
.l-top-works-wrapper-slider .scroll-infinity__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
}
.l-top-works-wrapper-slider .scroll-infinity__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
}
.l-top-works-wrapper-slider .scroll-infinity__list--right {
  -webkit-animation: infinity-scroll-right 80s infinite linear 0.5s both;
          animation: infinity-scroll-right 80s infinite linear 0.5s both;
}
@keyframes infinity-scroll-right {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
.l-top-works-wrapper-slider .scroll-infinity__list--left {
  -webkit-animation: infinity-scroll-left 80s infinite linear 0.5s both;
          animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.l-top-works-wrapper-slider .scroll-infinity__item {
  width: 25vw;
}
.l-top-works-wrapper-slider .scroll-infinity__item img {
  border: 1px solid #1C1C1C;
  pointer-events: none;
}
.l-top-works-btn {
  border-radius: 100vmax;
  z-index: 1;
  width: 29.0625rem;
  max-width: 100%;
  margin-inline: auto;
  padding: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem) clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  background: #8A0000;
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  color: #FAFAFA;
  font-weight: 500;
  text-align: center;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  border: 2px solid #8A0000;
}
.l-top-works-btn-svg_wrapper {
  position: absolute;
  top: 50%;
  right: 2.5%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-top-works-btn-svg_wrapper path {
  stroke: #FAFAFA;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-top-works-btn:hover {
    background: #FAFAFA;
    color: #8A0000;
    opacity: 0.99;
  }
  .l-top-works-btn:hover path {
    fill: #8A0000;
    stroke: #8A0000;
  }
}
.l-top-works-bg {
  overflow: hidden;
}
.l-top-works-bg-img {
  position: absolute;
  top: 10%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: initial;
  opacity: 0.5;
}
@media only screen and (max-width: 1024px) {
  .l-top-works {
    background: url(../img/bg-grid.svg);
    background-repeat: repeat;
    background-size: 150%;
    background-position: top center;
  }
  .l-top-works-wrapper-example-display {
    max-width: 86%;
  }
  .l-top-works-wrapper-example-display-contents .splide .splide__arrow svg {
    width: 1.5rem;
    height: 1.5rem;
  }
  .l-top-works-wrapper-example-display-contents .splide .splide__arrow--prev {
    right: 102%;
    left: initial;
  }
  .l-top-works-wrapper-example-display-contents .splide .splide__arrow--next {
    right: initial;
    left: 102%;
  }
  .l-top-works-wrapper-example-thumbs {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .l-top-works-wrapper-example-thumbs button {
    max-width: initial;
  }
  .l-top-works-wrapper-example-thumbs button span {
    font-size: 0.875rem;
  }
  .l-top-works-wrapper-modal_box {
    z-index: initial;
  }
}
@media only screen and (max-width: 768px) {
  .l-top-works-wrapper {
    gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  }
  .l-top-works-wrapper-example-thumbs {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .l-top-works-wrapper-slider {
    gap: 0;
  }
  .l-top-works-wrapper-slider .scroll-infinity__wrap {
    gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
  }
  .l-top-works-wrapper-slider .scroll-infinity__list {
    gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
  }
  .l-top-works-wrapper-slider .scroll-infinity__item {
    width: 55.5555555556vw;
  }
  .l-top-works-btn {
    width: initial;
    margin-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  }
}
.l-top-features hgroup p {
  position: absolute;
  top: 0;
  left: 0;
}
.l-top-features hgroup h2 {
  z-index: 0;
  font-size: clamp(3rem, 2.899rem + 0.45vw, 3.438rem);
  font-weight: 700;
  line-height: 1.2;
}
.l-top-features hgroup .curtainLefttoRight.visible:before {
  top: 0;
}
.l-top-features-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
}
.l-top-features-wrapper > img,
.l-top-features-wrapper svg {
  width: clamp(23.5rem, -35.357rem + 91.96vw, 75rem);
}
.l-top-features-wrapper-inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem) 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: 1fr clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem) 1fr;
  grid-template-rows: 1fr 1fr;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-top-features-wrapper-inner > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.l-top-features-wrapper-inner > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.l-top-features-wrapper-inner > *:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.l-top-features-wrapper-inner > *:nth-child(4) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.l-top-features-wrapper-inner-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
  border: 1px solid #1C1C1C;
  background: #FAFAFA;
  padding: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-top-features-wrapper-inner-detail img {
  width: clamp(2rem, 1.654rem + 1.54vw, 3.5rem);
}
.l-top-features-wrapper-inner-detail h3 {
  font-size: clamp(1rem, 0.798rem + 0.9vw, 1.875rem);
  font-weight: 500;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-top-features-wrapper-inner-detail .curtainLefttoRight.visible:before {
  top: 0;
}
.l-top-features-wrapper-inner-detail > div p:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.313rem;
  font-size: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
}
.l-top-features-wrapper-inner-detail > div p:last-child::before {
  content: "※";
}
@media only screen and (max-width: 1024px) {
  .l-top-features {
    padding-block: clamp(4rem, 3.178rem + 3.65vw, 7.56rem) 0;
  }
  .l-top-features hgroup h2 {
    font-size: clamp(2.45rem, 1.966rem + 2.15vw, 3rem);
  }
  .l-top-features-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 0.313rem;
  }
  .l-top-features-wrapper > img,
  .l-top-features-wrapper svg {
    max-width: 100%;
    width: 40rem;
  }
}
@media only screen and (max-width: 768px) {
  .l-top-features-wrapper-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-top-price .m-hgroup_box {
  border-bottom: 0;
}
.l-top-price-wrapper {
  width: 1220px;
  max-width: 100%;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.l-top-price-wrapper > div h3 {
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  font-weight: 500;
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
}
.l-top-price-wrapper ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0.25rem, -0.5rem + 1.56vw, 0.5rem);
}
.l-top-price-wrapper ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.l-top-price-wrapper ul li::before {
  content: "";
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  aspect-ratio: 1/1;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19' fill='none'><path d='M18 5.30538V15.6661C18 17.4922 16.5059 18.9863 14.6798 18.9863H3.32022C1.4941 18.9863 0 17.4922 0 15.6661V4.30654C0 2.48043 1.4941 0.986328 3.32022 0.986328H14.6798C15.6958 0.986328 16.6088 1.44894 17.2186 2.17331L8.52023 10.8717L4.56917 6.92122L2.61301 8.87738L8.52023 14.7851L18 5.30538Z' fill='%231C1C1C'/></svg>") no-repeat center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.l-top-price-wrapper-plans {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-top-price-wrapper-plans-plan {
  width: 100%;
  border: 1px solid #1C1C1C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  gap: clamp(1rem, -0.5rem + 3.13vw, 1.5rem);
  padding: clamp(1rem, -0.5rem + 3.13vw, 1.5rem) 1rem;
  background: #FAFAFA;
}
.l-top-price-wrapper-plans-plan h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-top-price-wrapper-plans-plan h3 span {
  font-size: clamp(1.375rem, 0.25rem + 2.34vw, 1.75rem);
  font-weight: 700;
}
.l-top-price-wrapper-plans-plan img {
  width: auto;
  max-height: 120px;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-top-price-wrapper-plans-plan-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.5rem, -1rem + 3.13vw, 1rem);
}
.l-top-price-wrapper-plans-plan-detail-cost {
  height: 51px;
  font-weight: 500;
  line-height: normal;
  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;
}
.l-top-price-wrapper-plans-plan-detail-cost > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: clamp(0.25rem, -0.5rem + 1.56vw, 0.5rem);
  line-height: 1.2;
}
.l-top-price-wrapper-plans-plan-detail-cost strong {
  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;
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
}
.l-top-price-wrapper-plans-plan ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.l-top-price-wrapper-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  background: #FAFAFA;
  border: 1px solid #1C1C1C;
}
.l-top-price-wrapper-option-ttl {
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  font-weight: 500;
  line-height: 1.2;
}
.l-top-price-wrapper-option ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
.l-top-price-wrapper-option-caution {
  font-size: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
}
.l-top-price-btn {
  border-radius: 100vmax;
  z-index: 1;
  width: 29.0625rem;
  max-width: 100%;
  margin-inline: auto;
  padding: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem) clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  background: #8A0000;
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  color: #FAFAFA;
  font-weight: 500;
  text-align: center;
  position: relative;
  display: inline-block;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  border: 2px solid #8A0000;
}
.l-top-price-btn-svg_wrapper {
  position: absolute;
  top: 50%;
  right: 2.5%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-top-price-btn-svg_wrapper path {
  stroke: #FAFAFA;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-top-price-btn:hover {
    background: #FAFAFA;
    color: #8A0000;
    opacity: 0.99;
  }
  .l-top-price-btn:hover path {
    fill: #8A0000;
    stroke: #8A0000;
  }
}
.l-top-price-bg {
  background: url(/assets/img/bg-price.webp) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}
@media only screen and (max-width: 1024px) {
  .l-top-price-wrapper-plans {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 768px) {
  .l-top-price-wrapper-plans-plan img {
    max-height: 100px;
  }
  .l-top-price-wrapper-plans-plan-detail-cost {
    height: initial;
  }
  .l-top-price-wrapper-plans-plan-detail-cost > span img {
    width: clamp(4rem, 2.373rem + 5.48vw, 5rem);
  }
  .l-top-price-wrapper-option ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .l-top-price-btn-svg_wrapper svg {
    width: 1.5rem;
  }
  .l-top-price-bg {
    background-position: center right !important;
  }
}
.l-top-flow-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-top-flow-inner h3 {
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
}
.l-top-flow-inner-img_box {
  max-width: 100%;
  overflow: auto;
}
.l-top-flow-inner-img_box > img {
  min-width: 1100px;
}
.l-top-flow-inner-detail {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 1px solid #1C1C1C;
}
.l-top-flow-inner-detail-box {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.313rem, 0.24rem + 0.32vw, 0.625rem);
  padding: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  background: #FAFAFA;
  border-right: 1px solid #1C1C1C;
}
.l-top-flow-inner-detail-box:last-child {
  border: none;
}
.l-top-flow-inner-detail-box-ttl {
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .l-top-flow-inner-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-top-flow-inner-detail-box {
    border-right: none;
    border-bottom: 1px solid #1C1C1C;
  }
}
.l-cta {
  position: relative;
  padding-block: clamp(2.5rem, 1.995rem + 2.24vw, 4.688rem);
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  overflow: hidden;
}
.l-cta-wrapper {
  margin-inline: auto;
  max-width: 60rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
}
.l-cta-wrapper h2 {
  text-align: center;
  font-size: clamp(1.5rem, 1.413rem + 0.38vw, 1.875rem);
  font-weight: 500;
  color: #FAFAFA;
  -webkit-padding-after: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
          padding-block-end: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  border-bottom: 1px solid #C2C2C2;
}
.l-cta-wrapper-btns {
  position: relative;
  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;
  gap: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  max-width: 100%;
  width: 100%;
}
.l-cta-wrapper-btns-btn {
  border-radius: 100vmax;
  max-width: 100%;
  width: 100%;
  display: inline-block;
  padding-block: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  padding-inline: clamp(2rem, 0.5rem + 3.13vw, 2.5rem);
  background: #FAFAFA;
  border: 2px solid #1C1C1C;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  position: relative;
}
.l-cta-wrapper-btns-btn p {
  font-weight: 500;
}
.l-cta-wrapper-btns-btn p span {
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 1.856rem + 0.64vw, 2.625rem);
}
.l-cta-wrapper-btns-btn-svg_wrapper {
  position: absolute;
  top: 50%;
  right: 2.5%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-cta-wrapper-btns-btn-svg_wrapper path {
  stroke: #1C1C1C;
  -webkit-transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-cta-wrapper-btns-btn:hover {
    color: #FAFAFA;
    background: #1C1C1C;
  }
  .l-cta-wrapper-btns-btn:hover path {
    fill: #FAFAFA;
    stroke: #FAFAFA;
  }
}
.l-cta-wrapper-btns-btn__contact {
  position: relative;
  color: #FAFAFA;
  background: #8A0000;
  border: 2px solid #8A0000;
}
.l-cta-wrapper-btns-btn__contact path {
  stroke: #8A0000;
}
@media (any-hover: hover) {
  .l-cta-wrapper-btns-btn__contact:hover {
    color: #8A0000;
    background: #FAFAFA;
  }
  .l-cta-wrapper-btns-btn__contact:hover path {
    fill: #8A0000;
    stroke: #8A0000;
  }
}
.l-cta-wrapper-tel {
  border-radius: 100vmax;
  max-width: 100%;
  width: 25rem;
  color: #FAFAFA;
  text-align: center;
  -webkit-padding-before: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
          padding-block-start: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem);
  pointer-events: none;
}
.l-cta-wrapper-tel span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "CabinetGrotesk-Variable", "Noto Sans JP", sans-serif;
  font-size: clamp(1.75rem, 1.663rem + 0.38vw, 2.125rem);
  font-weight: 500;
  line-height: 1;
}
.l-cta-wrapper-tel span::before {
  display: inline-block;
  content: "";
  background: url(../img/icon-phone.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 1.75rem;
  height: 1.75rem;
  -webkit-margin-end: 0.313rem;
          margin-inline-end: 0.313rem;
}
.l-cta-bg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: initial;
}
@media only screen and (max-width: 1024px) {
  .l-cta {
    background: url(../img/bg-cta.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .l-cta-wrapper-btns {
    max-width: 400px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 768px) {
  .l-cta-wrapper h2 {
    text-align: start;
  }
  .l-cta-wrapper-tel {
    padding: clamp(0.938rem, 0.721rem + 0.96vw, 1.875rem) clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
    border: 1px solid #FAFAFA;
    pointer-events: all;
  }
}
.l-frame {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  border: 4px solid #8A0000;
  z-index: 100;
}
.l-request {
  border-bottom: 1px solid #1C1C1C;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-request section {
  -webkit-padding-before: 1rem;
          padding-block-start: 1rem;
}
.l-request hgroup {
  max-width: 100%;
  width: 100%;
  -webkit-padding-before: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
          padding-block-start: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
  border-bottom: 1px solid #C2C2C2;
}
.l-request hgroup p {
  font-size: clamp(4rem, 3.077rem + 4.1vw, 8rem);
}
.l-request-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-request-wrapper-left {
  width: 100%;
}
.l-request-wrapper-left p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-request-wrapper-right {
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .l-request hgroup {
    -webkit-margin-before: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
            margin-block-start: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  }
}
@media only screen and (max-width: 768px) {
  .l-request hgroup {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.l-contact {
  border-bottom: 1px solid #1C1C1C;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-contact section {
  -webkit-padding-before: 1rem;
          padding-block-start: 1rem;
}
.l-contact hgroup {
  max-width: 100%;
  width: 100%;
  -webkit-padding-before: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
          padding-block-start: clamp(4rem, 3.178rem + 3.65vw, 7.56rem);
  border-bottom: 1px solid #C2C2C2;
}
.l-contact hgroup p {
  font-size: clamp(4rem, 3.077rem + 4.1vw, 8rem);
}
.l-contact-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-contact-wrapper-left {
  width: 100%;
}
.l-contact-wrapper-left p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-contact-wrapper-right {
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .l-contact hgroup {
    -webkit-margin-before: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
            margin-block-start: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  }
}
@media only screen and (max-width: 768px) {
  .l-contact hgroup {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.l-thanks {
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  border-bottom: 1px solid #1C1C1C;
}
.l-thanks-box {
  max-width: 1024px;
  width: 100%;
  margin-inline: auto;
  padding-block: clamp(4rem, 3.178rem + 3.65vw, 7.56rem) clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem);
  margin-block: clamp(4rem, 3.178rem + 3.65vw, 7.56rem) clamp(2.813rem, 2.163rem + 2.88vw, 5.625rem);
}
.l-thanks-box h2 {
  font-size: clamp(1.25rem, 1.192rem + 0.26vw, 1.5rem);
  -webkit-margin-after: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
          margin-block-end: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-thanks-box a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.625rem, 0.553rem + 0.32vw, 0.938rem);
  -webkit-margin-before: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
          margin-block-start: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  font-size: clamp(1rem, 0.942rem + 0.26vw, 1.25rem);
  line-height: 1;
  color: #FAFAFA;
  background: #8A0000;
  padding: clamp(1rem, 0.942rem + 0.26vw, 1.25rem) clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .l-thanks-box a:hover {
    opacity: 0.7;
  }
}
.l-form {
  max-width: 1024px;
  margin-inline: auto;
}
.l-form__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}
.l-form__table-th__required::after {
  content: " *";
  color: red;
  font-weight: 600;
  position: absolute;
  right: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding-right: 20px;
}
.l-form__table th,
.l-form__table td {
  padding: 12px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 768px) {
  .l-form__table th,
  .l-form__table td {
    display: block;
  }
}
.l-form__table th {
  position: relative;
  background: #eee;
  font-weight: 600;
  width: 25%;
  text-align: right;
  padding-right: 40px;
}
@media only screen and (max-width: 768px) {
  .l-form__table th {
    background: none;
    text-align: start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: none;
    margin-top: 15px;
    padding-bottom: 5px;
  }
}
.l-form__table td {
  background: #ffffff;
}
@media only screen and (max-width: 768px) {
  .l-form__table td {
    border-top: 1px solid #ccc;
  }
}
.l-form__input, .l-form__textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
}
.l-form__textarea {
  resize: vertical;
}
.l-form__link {
  font-weight: 700;
  text-decoration: underline;
}
.l-form__link:hover {
  text-decoration: none;
}
.l-form__privacy-text {
  font-size: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
}
.l-form__checkbox {
  cursor: pointer;
  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;
  margin-block: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
}
.l-form__checkbox-label {
  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;
}
.l-form__checkbox-label p {
  position: relative;
}
.l-form__checkbox-label p::after {
  content: "*";
  color: red;
  font-weight: 600;
  position: absolute;
  right: -12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-form__checkbox-label input[type=checkbox] {
  margin-right: 8px;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.l-form__submit {
  margin-inline: auto;
  display: block;
  padding: 10px 20px;
  color: #FAFAFA;
  background: #8A0000;
  margin-inline: auto;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.l-form__submit:hover {
  opacity: 0.6;
}
.l-form input:user-invalid,
.l-form textarea:user-invalid {
  background-color: rgb(255, 229, 229);
  border: 1px solid rgb(255, 86, 86);
}
@media only screen and (max-width: 768px) {
  .l-form__submit {
    -webkit-margin-before: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
            margin-block-start: clamp(1.875rem, 1.442rem + 1.92vw, 3.75rem);
  }
}

.m-sec_inner {
  position: relative;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  border-top: 1px solid #1C1C1C;
  border-bottom: 1px solid #1C1C1C;
  background: #FAFAFA;
}
.m-sec_bg {
  position: relative;
  padding-inline: clamp(1.25rem, 0.962rem + 1.28vw, 2.5rem);
  background: url(/assets/img/bg-noise.gif);
  background-repeat: repeat;
}
.m-sec_inner:has(.l-top-works), .m-sec_bg:has(.l-top-works) {
  padding-inline: 0;
}
.m-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
  -webkit-transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
@media (any-hover: hover) {
  .m-link:hover {
    opacity: 0.6;
  }
}
.m-link-target_blank::after {
  display: inline-block;
  content: "";
  background: url(../img/icon-window.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
  height: clamp(0.875rem, 0.846rem + 0.13vw, 1rem);
  -webkit-margin-start: 0.313rem;
          margin-inline-start: 0.313rem;
}
.m-dn-0 {
  display: none !important;
}
.m-dn-1 {
  display: none;
}
@media only screen and (max-width: 1024px) {
  .m-dn-1 {
    display: block;
  }
}
.m-dn-2 {
  display: none;
}
@media only screen and (max-width: 1024px) {
  .m-dn-2 {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .m-dn-2 {
    display: none;
  }
}
.m-dn-3 {
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .m-dn-3 {
    display: none !important;
  }
}
.m-dn-4 {
  display: block;
}
@media only screen and (max-width: 1024px) {
  .m-dn-4 {
    display: none !important;
  }
}
.m-dn-5 {
  display: none;
}
@media only screen and (max-width: 768px) {
  .m-dn-5 {
    display: block !important;
  }
}
.m-dn-6 {
  display: block;
}
@media only screen and (max-width: 1024px) {
  .m-dn-6 {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .m-dn-6 {
    display: block;
  }
}
.m-hgroup_box {
  width: 100%;
  border-bottom: 1px solid #C2C2C2;
}

.curtainLefttoRight {
  position: relative;
}
.curtainLefttoRight.visible {
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
          animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-animation-name: curtainLeftFadeIn;
          animation-name: curtainLeftFadeIn;
}
@-webkit-keyframes curtainLeftFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes curtainLeftFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.curtainLefttoRight.visible:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: -10%;
  left: 0;
  z-index: 9;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  background-color: #1C1C1C;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
          animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: curtainLeft;
          animation-name: curtainLeft;
}
@-webkit-keyframes curtainLeft {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes curtainLeft {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

.gradient-text {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
}

.opening {
  pointer-events: none;
  position: relative;
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.opening-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 1;
}
.opening-img_box {
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  width: 100%;
  height: 100%;
  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;
}
.opening-img_box-logo {
  max-width: 80vw;
  width: 20.0625rem;
  height: auto;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
@media only screen and (max-width: 768px) {
  .opening-img_box-logo {
    max-width: 40vw;
  }
}
.opening-img_box-black {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10002;
  width: 100%;
  height: 100%;
  background-color: #000;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}