.c-container {
  overflow: hidden;
}

.c-main {

}


.c-3ColumnLayout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5%;
}
.c-3ColumnLayout__column {}
.c-3ColumnLayout__column\:2span {
  grid-column: span 2;
}
@media screen and (max-width: 1023px) {
  .c-3ColumnLayout {
    display: block;
  }
}


.c-2ColumnLayout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6%;
}
.c-2ColumnLayout__column {}
@media screen and (max-width: 1023px) {
  .c-2ColumnLayout {
    display: block;
  }
}


.c-indentLayout {
  padding-left: calc(30 / var(--ref-l) * 1rem);
}
@media screen and (max-width: 1023px) {
  .c-indentLayout {
    padding-left: 0;
  }
}


.c-svg {
  display: block;
  width: 1em;
  height: auto;
  max-width: 100%;
  path {
    fill: currentColor;
  }
}

.c-video {
  position: relative;
  aspect-ratio: 16 / 9;
  iframe {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}


/*
 * .c-button
 */
.c-button {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  border: solid 1px var(--color-black);
  padding-inline: 2em;
  max-width: 100%;
  min-width: calc(350 / var(--ref-l) * 1rem);
  height: calc(60 / var(--ref-l) * 1rem);
  color: var(--color-black);
  font-size: calc(22 / var(--ref-l) * 1rem);
  text-decoration: none;
  line-height: 1.2;
  transition: all 0.3s ease-out;
  [lang='en'] & {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }
  &::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: calc(-25 / var(--ref-l) * 1rem);
    width: calc(40 / var(--ref-l) * 1rem);
    height: calc(10 / var(--ref-l) * 1rem);
    margin-top: calc(-3 / var(--ref-l) * 1rem);
    background-color: var(--color-primary);
    clip-path: polygon(0 100%, 100% 100%, calc(100% - 10 / var(--ref-l) * 1rem) 0, calc(100% - 10 / var(--ref-l) * 1rem - 1 / 1.414 / var(--ref-l) * 1rem) calc(1 / 1.414 / var(--ref-l) * 1rem), calc(100% - 1 / var(--ref-l) * 1rem - 2 / 1.414 / var(--ref-l) * 1rem) calc(100% - 1 / var(--ref-l) * 1rem), 0 calc(100% - 1 / var(--ref-l) * 1rem));
  }
  &:hover, &:focus {
    background-color: var(--color-black);
    color: var(--color-white);
    &::after {
      animation: button-arrow-pc 0.5s ease forwards;
    }
  }
}
@media screen and (max-width: 1023px) {
  .c-button {
    padding-inline: 2em;
    width: calc(320 / var(--ref-s) * 1rem);
    max-width: calc(100% - 25 / var(--ref-s) * 1rem);
    min-width: auto;
    height: calc(60 / var(--ref-s) * 1rem);
    font-size: calc(16 / var(--ref-s) * 1rem);
    [lang='en'] & {
      font-size: calc(20 / var(--ref-s) * 1rem);
    }
    &::after {
      right: calc(-25 / var(--ref-s) * 1rem);
      width: calc(40 / var(--ref-s) * 1rem);
      height: calc(10 / var(--ref-s) * 1rem);
      margin-top: calc(-3 / var(--ref-s) * 1rem);
      clip-path: polygon(0 100%, 100% 100%, calc(100% - 10 / var(--ref-s) * 1rem) 0, calc(100% - 10 / var(--ref-s) * 1rem - 1 / 1.414 / var(--ref-s) * 1rem) calc(1 / 1.414 / var(--ref-s) * 1rem), calc(100% - 1 / var(--ref-s) * 1rem - 2 / 1.414 / var(--ref-s) * 1rem) calc(100% - 1 / var(--ref-s) * 1rem), 0 calc(100% - 1 / var(--ref-s) * 1rem));
    }
    &:hover, &:focus {
      &::after {
        animation: button-arrow-sp 0.5s ease forwards;
      }
    }
  }
}
@keyframes button-arrow-pc {
  0% {
    opacity: 0;
    transform: translate(calc(-30 / var(--ref-l) * 1rem), 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes button-arrow-sp {
  0% {
    opacity: 0;
    transform: translate(calc(-30 / var(--ref-s) * 1rem), 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}


/*
 * .c-socialNav
 */
.c-socialNav {
  display: flex;
  gap: calc(15 / var(--ref-l) * 1rem);
  font-size: calc(38 / var(--ref-l) * 1rem);
}
.c-socialNav__link {
  display: block;
  transition: all 0.3s ease;
  color: currentColor;
  &:hover {
    transform-origin: center center;
    transform: scale(1.1);
  }
}


/*
 * .c-header
 */
.c-header {
  position: relative;
  z-index: 10000;
  color: var(--color-white);
}
.c-header__logo {
  position: absolute;
  top: 0;
  left: calc(25 / var(--ref-l) * 1rem);
  width: calc(166 / var(--ref-l) * 1rem);
}
.c-header__bar {
  position: absolute;
  top: calc(20 / var(--ref-l) * 1rem);
  right: calc(25 / var(--ref-l) * 1rem);
  display: flex;
  align-items: center;
  gap: calc(15 / var(--ref-l) * 1rem);
}
.c-header__cart {
}
.c-header__myaccount {
}
.c-header__link {
  display: flex;
  padding: 0 calc(7.5 / var(--ref-l) * 1rem);
  border-radius: calc(4 / var(--ref-l) * 1rem);
  justify-content: center;
  align-items: center;
  height: calc(38 / var(--ref-l) * 1rem);
  text-decoration: none;
  transition: all 0.3s ease;
  line-height: 1.2;
  &:hover {
    background-color: rgba(255,255,255,0.2);
  }
}
.c-header__socialNavigation {
}
.c-header__toggleMobileNavigation {
  display: none;
}
.c-header__navigation {
  position: absolute;
  top: calc(70 / var(--ref-l) * 1rem);
  right: calc(25 / var(--ref-l) * 1rem);
  margin-right: -1em;
}
@media screen and (max-width: 1023px) {
  .c-header {
    ._scrolled_ & {
      color: var(--color-black);
    }
    .c-mobileNaviDialog & {
      color: var(--color-white);
    }
  }
  .c-header__logo {
    top: 0;
    left: 0;
    width: calc(76 / var(--ref-s) * 1rem);
  }
  .c-header__bar {
    position: fixed;
    top: calc(10 / var(--ref-s) * 1rem);
    right: calc(8 / var(--ref-s) * 1rem);
    gap: calc(15 / var(--ref-s) * 1rem);
    .c-mobileNaviDialog & {
      position: absolute;
    }
  }
  .c-header__navigation,
  .c-header__socialNavigation {
    display: none;
  }
  .c-header__toggleMobileNavigation {
    display: block;
  }
}


/*
 * .c-toggleMobileNav
 */
.c-toggleMobileNav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(8 / var(--ref-s) * 1rem);
  aspect-ratio: 1 / 1;
  width: calc(60 / var(--ref-s) * 1rem);
  border: none;
  border-radius: 50%;
  background-color: var(--color-primary);
  &::before, &::after {
    content: '';
    display: block;
    background-color: var(--color-white);
    width: calc(35 / var(--ref-s) * 1rem);
    height: calc(1 / var(--ref-s) * 1rem);
    transform-origin: center center;
    transition: all 0.3s ease;
  }
  &:not(._closed_) {
    &::before {
      transform: translate(0, calc(4 / var(--ref-s) * 1rem)) rotate(45deg);
    }
    &::after {
      transform: translate(0, calc(-4 / var(--ref-s) * 1rem)) rotate(-45deg);
    }
  }
}


/*
 * .c-headerNav
 */
.c-headerNav {
}
.c-headerNav__list {
  display: flex;
  align-items: center;
  justify-content: end;
  flex-wrap: wrap;
  [lang='en'] & {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: calc(22 / var(--ref-l) * 1rem);
  }
  > .menu-item {
    position: relative;
    &:not(:last-child)::after {
      content: '|';
    }
    > a {
      display: inline-flex;
      padding: calc(5 / var(--ref-l) * 1rem) 1em;
      text-decoration: none;
      align-items: center;
      height: calc(40 / var(--ref-l) * 1rem);
      [lang='en'] & {
        align-items: baseline;
      }
      &:hover {
        text-decoration: underline;
      }
    }
    &:has(.sub-menu) > a {
      &::after {
        content: '';
        margin-left: 0.5em;
        background-color: var(--color-primary);
        display: block;
        width: 0.8em;
        height: 0.8em;
        clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
      }
      [lang='en'] & {
        &::after {
          width: calc(9 / 22 * 1em);
          height: calc(9.5 / 22 * 1em);
        }
      }
    }
    &:has(.sub-menu):hover > a::after {
      transform: rotate(180deg);
    }
    &:hover, &:has(*:focus) {
      .sub-menu {
        opacity: 1;
        pointer-events: all;
      }
    }
  }
  .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    width: calc(250 / var(--ref-l) * 1rem);
    background-color: var(--color-primary);
    opacity: 0;
    pointer-events: none;
    padding: calc(10 / var(--ref-l) * 1rem) calc(20 / var(--ref-l) * 1rem);
    font-size: calc(16 / 18 * 1em);
    transition: all 0.3s ease;
    [lang='en'] & {
      font-size: calc(18 / var(--ref-l) * 1rem);
    }
    > .menu-item {
      display: block;
      &:not(:last-child) {
        border-bottom: dashed 1px rgba(255,255,255,0.5);
      }
      > a {
        display: inline-flex;
        padding: calc(5 / var(--ref-l) * 1rem) 1em;
        text-decoration: none;
        align-items: center;
        min-height: calc(40 / var(--ref-l) * 1rem);
        width: 100%;
        padding-inline: 0.5em;
        &:hover {
          text-decoration: underline;
        }
      }
    }
  }
}


/*
 * .c-footerWave
 */
.c-footerWave {
  height: calc(180 / var(--ref-l) * 1rem);
  width: 100%;
  background: var(--color-white) url('../images/common/footer-div-wave.svg') repeat-x center bottom / auto 100%;
}
@media screen and (max-width: 1023px) {
  .c-footerWave {
    height: calc(110 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-footer
 */
.c-footer {
  background-color: var(--color-black);
  color: var(--color-white);
}
.c-footer__inner {
  width: var(--inner-width-max);
  max-width: var(--inner-max-width);
  margin-inline: auto;
  padding-block: calc(45 / var(--ref-l) * 1rem) calc(50 / var(--ref-l) * 1rem);
}
.c-footer__navigation {
  margin-top: calc(35 / var(--ref-l) * 1rem);
}
.c-footer__socialNavigation {
  margin-top: calc(45 / var(--ref-l) * 1rem);
  .c-socialNav {
    gap: calc(35 / var(--ref-l) * 1rem);
    color: var(--color-gray1);
  }
}
.c-footer__info {
  margin-top: calc(40 / var(--ref-l) * 1rem);
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: calc(20 / var(--ref-l) * 1rem) calc(12 / var(--ref-l) * 1rem);
}
.c-footer__logo {
  width: calc(100 / var(--ref-l) * 1rem);
  margin-bottom: calc(-15 / var(--ref-l) * 1rem);
}
.c-footer__address {
  font-size: calc(16 / var(--ref-l) * 1rem);
  [lang='en'] & {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: calc(18 / var(--ref-l) * 1rem);
  }
}
.c-footer__map {
  position: relative;
  aspect-ratio: 635 / 392;
  iframe {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.c-footer__copyright {
  padding: calc(15 / var(--ref-l) * 1rem) 6%;
  background-color: var(--color-gray3);
  color: var(--color-black);
  font-size: calc(14 / var(--ref-l) * 1rem);
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .c-footer {
  }
  .c-footer__inner {
    padding-block: calc(30 / var(--ref-s) * 1rem) calc(30 / var(--ref-s) * 1rem);
  }
  .c-footer__navigation {
    margin-top: calc(25 / var(--ref-s) * 1rem);
  }
  .c-footer__socialNavigation {
    margin-top: calc(30 / var(--ref-s) * 1rem);
    .c-socialNav {
      gap: calc(35 / var(--ref-s) * 1rem);
      justify-content: center;
    }
  }
  .c-footer__info {
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-top: calc(25 / var(--ref-s) * 1rem);
  }
  .c-footer__logo {
    width: calc(122 / var(--ref-s) * 1rem);
    margin-bottom: 0;
  }
  .c-footer__address {
    font-size: calc(14 / var(--ref-s) * 1rem);
    text-align: center;
    [lang='en'] & {
      font-size: calc(18 / var(--ref-s) * 1rem);
    }
  }
  .c-footer__map {
    margin-top: calc(20 / var(--ref-s) * 1rem);
  }
  .c-footer__copyright {
    padding: calc(9 / var(--ref-s) * 1rem) 3%;
    font-size: calc(12 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-footerContact
 */
.c-footerContact {
}
.c-footerContact__header {
  display: grid;
  gap: calc(35 / var(--ref-l) * 1rem);
  margin-bottom: calc(40 / var(--ref-l) * 1rem);
}
.c-footerContact__title {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--color-gray3);
  font-size: calc(180 / var(--ref-l) * 1rem);
  line-height: 0.65;
  &::first-letter {
    color: var(--color-primary);
  }
}
.c-footerContact__subTitle {
  padding-left: calc(30 / var(--ref-l) * 1rem);
  font-size: calc(26 / var(--ref-l) * 1rem);
  line-height: 1;
}
.c-footerContact__body {
  padding-left: calc(30 / var(--ref-l) * 1rem);
}
.c-footerContact__tel {
  display: flex;
  align-items: center;
  gap: 0.25em;
  font-size: calc(40 / var(--ref-l) * 1rem);
  line-height: 1;
}
.c-footerContact__telIcon {
}
.c-footerContact__businessTime {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 1em;
  margin-top: calc(20 / var(--ref-l) * 1rem);
  font-size: calc(18 / var(--ref-l) * 1rem);
  small {
    font-size: calc(14 / var(--ref-l) * 1rem);
  }
}
.c-footerContact__mailformButton {
  margin-top: calc(25 / var(--ref-l) * 1rem);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px var(--color-white);
  border-radius: calc(5 / var(--ref-l) * 1rem);
  width: calc(260 / var(--ref-l) * 1rem);
  height: calc(40 / var(--ref-l) * 1rem);
  color: var(--color-white);
  font-size: calc(18 / var(--ref-l) * 1rem);
  text-decoration: none;
  transition: all 0.3s ease;
  &:hover, &:focus {
    background-color: var(--color-white);
    color: var(--color-black);
  }
  [lang='en'] & {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: calc(22 / var(--ref-l) * 1rem);
  }
}
.c-footerContact__mailformButtonIcon {
  position: absolute;
  left: calc(20 / var(--ref-l) * 1rem);
  font-size: calc(28 / var(--ref-l) * 1rem);
}
@media screen and (max-width: 1023px) {
  .c-footerContact__header {
    gap: calc(20 / var(--ref-s) * 1rem);
    justify-items: center;
    margin-bottom: calc(15 / var(--ref-s) * 1rem);
  }
  .c-footerContact__title {
    font-size: calc(76 / var(--ref-s) * 1rem);
  }
  .c-footerContact__subTitle {
    padding-left: 0;
    font-size: calc(18 / var(--ref-s) * 1rem);
  }
  .c-footerContact__body {
    padding-left: 0;
    display: grid;
    justify-items: center;
  }
  .c-footerContact__tel {
    font-size: calc(22 / var(--ref-s) * 1rem);
  }
  .c-footerContact__telIcon {
  }
  .c-footerContact__businessTime {
    flex-direction: column;
    align-items: center;
    margin-top: calc(15 / var(--ref-s) * 1rem);
    font-size: calc(14 / var(--ref-s) * 1rem);
    text-align: center;
    small {
      font-size: calc(14 / var(--ref-s) * 1rem);
    }
  }
  .c-footerContact__mailformButton {
    margin-top: calc(20 / var(--ref-s) * 1rem);
    border-radius: calc(8 / var(--ref-s) * 1rem);
    width: calc(230 / var(--ref-s) * 1rem);
    height: calc(36 / var(--ref-s) * 1rem);
    font-size: calc(16 / var(--ref-s) * 1rem);
    [lang='en'] & {
      font-size: calc(20 / var(--ref-s) * 1rem);
    }
    &:hover, &:focus {
    }
  }
  .c-footerContact__mailformButtonIcon {
    left: calc(16 / var(--ref-s) * 1rem);
    font-size: calc(24 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-footerNav
 */
.c-footerNav {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.c-footerNav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 0;
  > .menu-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(6 / var(--ref-l) * 1rem);
    &::before,
    &::after {
      content: '';
      display: block;
      width: 0.5px;
      height: 1em;
      background-color: currentColor;
    }
    &::before {
      margin-left: -0.5px;
    }
    &::after {
    }
    a {
      text-decoration: none;
      &:hover {
        text-decoration: underline;
      }
    }
  }
}
@media screen and (max-width: 1023px) {
  .c-footerNav {
  }
  .c-footerNav__list {
    justify-content: center;
    > .menu-item {
      gap: calc(8 / var(--ref-s) * 1rem);
      &::before {
      }
      &::after {
      }
      a {
        &:hover {
        }
      }
    }
  }
}


/*
 * .c-mobileNaviDialog
 */
.c-mobileNaviDialog {
  position: relative;
  border: none;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  pointer-events: none;
  background-color: rgba(0,0,0,0.9);
  color: var(--color-white);
  &::backdrop {
    background-color: transparent;
  }
  &[open] {
    pointer-events: all;
    animation: openMobileNaviDialog 0.3s ease forwards;
  }
  &._closed_ {
    animation: closeMobileNaviDialog 0.3s ease forwards;
  }
}
.c-mobileNaviDialog__inner {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  touch-action: pan-y;
  overscroll-behavior-y: none;
  mask-image: linear-gradient(to bottom, transparent calc(70 / var(--ref-s) * 1rem), #000 calc(120 / var(--ref-s) * 1rem), #000 calc(100% - 60 / var(--ref-s) * 1rem), transparent);
}
.c-mobileNaviDialog__contents {
  min-height: calc(100% + 1px);
  padding: calc(120 / var(--ref-s) * 1rem) calc(75 / 375 / 2 * 100%) calc(90 / var(--ref-s) * 1rem);
}
.c-mobileNaviDialog__navigation {}
.c-mobileNaviDialog__socialNavigation {
  margin-top: calc(35 / var(--ref-s) * 1rem);
  .c-socialNav {
    font-size: calc(40 / var(--ref-s) * 1rem);
    justify-content: center;
    gap: calc(25 / var(--ref-s) * 1rem);
  }
}
@keyframes openMobileNaviDialog {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes closeMobileNaviDialog {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/*
 * .c-mobileNav
 */
.c-mobileNav {}
.c-mobileNav__list {
  display: grid;
  gap: calc(10 / var(--ref-s) * 1rem);
  [lang='en'] & {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }
  & > .menu-item {
    padding-bottom: calc(5 / var(--ref-s) * 1rem);
    border-bottom: dashed 1px var(--color-primary);
    & > a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: calc(40 / var(--ref-s) * 1rem);
      font-size: calc(16 / var(--ref-s) * 1rem);
      text-decoration: none;
      [lang='en'] & {
        align-items: baseline;
        font-size: calc(20 / var(--ref-s) * 1rem);
      }
    }
    &:has(.sub-menu) > a {
      &::after {
        content: '';
        margin-left: 0.5em;
        background-color: var(--color-primary);
        display: block;
        width: 0.8em;
        height: 0.8em;
        clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
      }
      [lang='en'] & {
        &::after {
          width: calc(8 / 20 * 1em);
          height: calc(8.5 / 20 * 1em);
        }
      }
    }
  }
  .sub-menu {
    display: none;
    background-color: var(--color-primary);
    padding: calc(15 / var(--ref-s) * 1rem) calc(20 / var(--ref-s) * 1rem);
    > .menu-item {
      &:not(:last-child) {
        border-bottom: dashed 1px rgba(255,255,255,0.5);
        margin-bottom: calc(5 / var(--ref-s) * 1rem);
      }
      a {
        display: flex;
        justify-content: center;
        align-items: center;
        height: calc(35 / var(--ref-s) * 1rem);
        font-size: calc(14 / var(--ref-s) * 1rem);
        text-decoration: none;
        [lang='en'] & {
          font-size: calc(18 / var(--ref-s) * 1rem);
        }
      }
    }
  }
}


/*
 * .c-homeMv
 */
.c-homeMv {
  aspect-ratio: 1920 / 1080;
  width: 100%;
  max-height: 100svh;
  position: relative;
  display: flex;
  background: url('../images/home/mv@2x.jpg.webp') no-repeat center center / cover;
}
.c-homeMv__inner {
  display: flex;
  width: 100%;
  height: 100%;
  max-height: 100svh;
  justify-content: center;
  align-items: center;
  background: url('../images/home/mv-dots.svg') repeat left top / 120px;
}
.c-homeMv__img {
  display: block;
  aspect-ratio: 661.1248 / 814.6332;
  width: auto;
  height: calc(810 / 1080 * 100%);
  max-height: calc(814.6332 / var(--ref-l) * 1rem);
}
.c-homeMv__banner {
  display: block;
  aspect-ratio: 385.2821 / 357.0445;
  width: auto;
  height: calc(357 / 1080 * 100%);
  max-height: calc(357.0445 / var(--ref-l) * 1rem);
  position: absolute;
  top: calc(200 / 1080 * 100%);
  left: 50%;
  margin-left: calc(170 / 1920 * 100%);
  transition: all 0.3s ease;
  &:hover {
    transform-origin: center center;
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .c-homeMv {
    aspect-ratio: 375 / 667;
    max-height: calc(700 / var(--ref-s) * 1rem);
  }
  .c-homeMv__inner {
    display: block;
    padding-top: calc(50 / var(--ref-s) * 1rem);
    max-height: calc(700 / var(--ref-s) * 1rem);
  }
  .c-homeMv__img {
    aspect-ratio: 278.9413 / 421.3503;
    width: calc(280 / var(--ref-s) * 1rem);
    height: auto;
    max-height: none;
    margin-inline: auto;
  }
  .c-homeMv__banner {
    position: static;
    width: calc(256 / var(--ref-s) * 1rem);
    height: auto;
    max-height: none;
    margin-top: calc(20 / var(--ref-s) * 1rem);
    margin-inline: auto;
  }
}


/*
 * .c-homeNews
 */
.c-homeNews {
  background-color: var(--color-gray1);
  color: var(--color-black);
}
.c-homeNews__inner {
  width: var(--inner-width-max);
  max-width: var(--inner-max-width);
  margin-inline: auto;
  padding-block: calc(120 / var(--ref-l) * 1rem) calc(100 / var(--ref-l) * 1rem);
}
.c-homeNews__header {
}
.c-homeNews__title {
  font-size: calc(46 / var(--ref-l) * 1rem);
  line-height: 1;
  border-bottom: solid 1px var(--color-black);
  padding-bottom: calc(20 / var(--ref-l) * 1rem);
  [lang='en'] & {
    font-size: calc(58 / var(--ref-l) * 1rem);
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }
}
.c-homeNews__subTitle {
  margin-top: calc(20 / var(--ref-l) * 1rem);
  color: var(--color-primary);
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: calc(22 / var(--ref-l) * 1rem);
  line-height: 1;
}
.c-homeNews__actions {
  margin-top: calc(50 / var(--ref-l) * 1rem);
}
@media screen and (max-width: 1023px) {
  .c-homeNews__inner {
    padding-block: calc(70 / var(--ref-s) * 1rem) calc(50 / var(--ref-s) * 1rem);
  }
  .c-homeNews__header {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin-bottom: calc(20 / var(--ref-s) * 1rem);
  }
  .c-homeNews__title {
    font-size: calc(28 / var(--ref-s) * 1rem);
    padding-bottom: calc(15 / var(--ref-s) * 1rem);
    [lang='en'] & {
      font-size: calc(32 / var(--ref-s) * 1rem);
    }
  }
  .c-homeNews__subTitle {
    margin-top: calc(15 / var(--ref-s) * 1rem);
    font-size: calc(14 / var(--ref-s) * 1rem);
  }
  .c-homeNews__actions {
    margin-top: calc(30 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-recentPosts
 */
.c-recentPosts {
}
.c-recentPosts__list {
  margin-top: calc(-20 / var(--ref-l) * 1rem);
}
.c-recentPosts__listItem {
  border-bottom: dashed 1px var(--color-black);
}
.c-recentPosts__postLink {
  text-decoration: none;
  display: grid;
  padding-block: calc(20 / var(--ref-l) * 1rem);
  &:hover {
    .c-recentPosts__postTitle {
      color: var(--color-primary-hover);
    }
  }
}
.c-recentPosts__postOptions {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1em;
  margin-bottom: calc(20 / var(--ref-l) * 1rem - 0.5em);
}
.c-recentPosts__postDate {
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  color: var(--color-gray5);
}
.c-recentPosts__postTag\:new {
  display: inline-flex;
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: calc(20 / var(--ref-l) * 1rem);
  padding: calc(2 / var(--ref-l) * 1rem) calc(8 / var(--ref-l) * 1rem);
  color: var(--color-white);
  background-color: var(--color-primary);
}
.c-recentPosts__postTitle {
}
@media screen and (max-width: 1023px) {
  .c-recentPosts {
  }
  .c-recentPosts__list {
    margin-top: calc(-15 / var(--ref-s) * 1rem);
  }
  .c-recentPosts__listItem {
  }
  .c-recentPosts__postLink {
    padding-block: calc(15 / var(--ref-s) * 1rem);
    &:hover {
      .c-recentPosts__postTitle {
      }
    }
  }
  .c-recentPosts__postOptions {
    margin-bottom: calc(15 / var(--ref-s) * 1rem - 0.5em);
  }
  .c-recentPosts__postDate {
  }
  .c-recentPosts__postTag\:new {
    line-height: calc(20 / var(--ref-s) * 1rem);
    padding: calc(2 / var(--ref-s) * 1rem) calc(8 / var(--ref-s) * 1rem);
  }
  .c-recentPosts__postTitle {
  }
}


/*
 * .c-homeIntro
 */
.c-homeIntro {
  background-color: var(--color-white);
  color: var(--color-black)
}
.c-homeIntro__inner {
  width: var(--inner-width-740);
  max-width: var(--inner-max-width);
  padding-block: calc(120 / var(--ref-l) * 1rem);
  margin-inline: auto;
}
.c-homeIntro__title {
  width: calc(378 / var(--ref-l) * 1rem);
  margin-inline: auto;
  margin-bottom: calc(50 / var(--ref-l) * 1rem);
}
.c-homeIntro__description {
  font-size: calc(20 / var(--ref-l) * 1rem);
  font-weight: 700;
  line-height: 2;
  text-align: center;
  margin-bottom: calc(65 / var(--ref-l) * 1rem);
  [lang='en'] & {
    font-size: calc(22 / var(--ref-l) * 1rem);
    text-align: left;
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
  }
  em {
    font-style: normal;
    color: var(--color-primary);
  }
}
.c-homeIntro__image {
  width: calc(453 / var(--ref-l) * 1rem);
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .c-homeIntro {
  }
  .c-homeIntro__inner {
    padding-block: calc(60 / var(--ref-s) * 1rem);
  }
  .c-homeIntro__title {
    width: calc(245 / var(--ref-s) * 1rem);
    margin-bottom: calc(35 / var(--ref-s) * 1rem);
  }
  .c-homeIntro__description {
    font-size: calc(16 / var(--ref-s) * 1rem);
    text-align: left;
    margin-bottom: calc(35 / var(--ref-s) * 1rem);
    [lang='en'] & {
      font-size: calc(18 / var(--ref-s) * 1rem);
    }
    em {
    }
  }
  .c-homeIntro__image {
    width: calc(272 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-homeVideo
 */
.c-homeVideo {
  background-color: var(--color-black);
}
.c-homeVideo__inner {
  width: var(--inner-width-1000);
  max-width: var(--inner-max-width);
  padding-block: calc(75 / var(--ref-l) * 1rem) calc(120 / var(--ref-l) * 1rem);
  margin-inline: auto;
}
.c-homeVideo__header {
  display: grid;
  justify-items: center;
  gap: calc(20 / var(--ref-l) * 1rem);
  margin-bottom: calc(60 / var(--ref-l) * 1rem);
  text-align: center;
  &::before {
    content: '';
    display: block;
    background: url('../images/common/illust-knife.svg') no-repeat center center / contain;
    aspect-ratio: 140 / 16;
    width: calc(140 / var(--ref-l) * 1rem);
  }
}
.c-homeVideo__title {
  font-size: calc(48 / var(--ref-l) * 1rem);
  line-height: 1;
  [lang='en'] & {
    font-size: calc(42 / var(--ref-l) * 1rem);
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
  }
}
.c-homeVideo__subTitle {
  font-size: calc(24 / var(--ref-l) * 1rem);
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .c-homeVideo {
  }
  .c-homeVideo__inner {
    padding-block: calc(40 / var(--ref-s) * 1rem) calc(60 / var(--ref-s) * 1rem);
  }
  .c-homeVideo__header {
    gap: calc(15 / var(--ref-s) * 1rem);
    margin-bottom: calc(35 / var(--ref-s) * 1rem);
    &::before {
      width: calc(85 / var(--ref-s) * 1rem);
    }
  }
  .c-homeVideo__title {
    font-size: calc(28 / var(--ref-s) * 1rem);
    [lang='en'] & {
      font-size: calc(22 / var(--ref-s) * 1rem);
    }
  }
  .c-homeVideo__subTitle {
    font-size: calc(14 / var(--ref-s) * 1rem);
  }
}


/*
 * .c-homePreRegistrationPR
 */
.c-homePreRegistrationPR {
  background-color: var(--color-white);
  color: var(--color-black);
}
.c-homePreRegistrationPR__inner {
  width: var(--inner-width-740);
  max-width: var(--inner-max-width);
  margin-inline: auto;
  padding-block: calc(70 / var(--ref-l) * 1rem) calc(50 / var(--ref-l) * 1rem);
}
.c-homePreRegistrationPR__banner {
  display: block;
  transition: all 0.3s ease;
  &:hover {
    transform-origin: center center;
    transform: scale(1.05);
  }
}
@media screen and (max-width: 1023px) {
  .c-homePreRegistrationPR {
  }
  .c-homePreRegistrationPR__inner {
    padding-block: calc(35 / var(--ref-s) * 1rem) calc(30 / var(--ref-s) * 1rem);
  }
  .c-homePreRegistrationPR__banner {
    &:hover {
    }
  }
}