@charset "UTF-8";
@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/CormorantGaramond-Regular.ttf") format("truetype");
  font-display: swap;
}
a,
label,
select,
button,
input[type=radio],
input[type=checkbox] {
  cursor: pointer;
}

html {
  overflow-y: scroll;
  overscroll-behavior: none;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1vw;
  }
}
@media screen and (max-width:767px) {
  html {
    font-size: 4.2666666667vw;
  }
}
html.-full {
  overflow: hidden;
  height: 100%;
}
html:has(dialog[open]) {
  overflow: hidden;
}
@media screen and (max-width:767px) {
  html:has(.is-sp-open) {
    height: 100svh;
    overflow: hidden;
  }
}

body {
  color: #333;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background-color: #fff;
  font-feature-settings: "palt";
  max-width: 100%;
  overflow-x: hidden;
}
body:has([data-page=index]) {
  background-color: #EFEFEF;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  body {
    font-size: 1.625rem;
  }
}
html.-full body {
  height: 100%;
}

@media screen and (max-width:767px) {
  ._pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  ._sp {
    display: none !important;
  }
}

._svgText {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

:root {
  --scrollbar: 0;
}

.none {
  display: none !important;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}

.parallaxTarget-wrapper {
  overflow: hidden;
  display: flex !important;
  align-items: flex-end !important;
}
.parallaxTarget-wrapper .img {
  height: 115% !important;
}
.parallaxTarget-wrapper .img[data-parallax-target=large] {
  height: 130% !important;
}
@media screen and (max-width:767px) {
  .parallaxTarget-wrapper .img[data-parallax-sp=false] {
    height: 100% !important;
  }
}

.p-kv .splide__track {
  height: 100%;
}
.p-kv .splide__track .parallaxTarget-wrapper {
  height: 100%;
}
.p-kv .splide__track .parallaxTarget-wrapper img {
  height: 115svh !important;
}
.p-kv .splide__track .parallaxTarget-wrapper img[data-parallax-target=large] {
  height: 130svh !important;
}
@media screen and (max-width:767px) {
  .p-kv .splide__track .parallaxTarget-wrapper img[data-parallax-sp=false] {
    height: 100svh !important;
  }
}

.p-story .parallaxTarget-wrapper {
  height: 100%;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
ul,
ol,
dl,
dd,
th,
td,
hr,
iframe,
fieldset,
legend,
button,
input,
textarea,
select,
option {
  margin: 0;
  padding: 0;
  border: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
small,
strong,
sub,
sup,
th {
  font-size: inherit;
  font-weight: inherit;
}

address,
em,
var,
cite,
dfn {
  font-style: normal;
}

caption,
th {
  text-align: left;
}

a,
ins,
abbr[title] {
  text-decoration: none;
}

html {
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  line-height: 1;
  text-size-adjust: 100%;
}

main {
  display: block;
}

ul,
ol {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: inherit;
}

q::before,
q::after {
  content: none;
}

sub,
sup {
  vertical-align: baseline;
}

mark {
  background: none;
  color: inherit;
}

button,
input,
textarea,
select {
  background: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

select {
  border-radius: 0;
  appearance: none;
}
select::-ms-expand {
  display: none;
}

video {
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}

@media screen and (min-width: 768px) {
  .c-hoverLineDisappear {
    background-image: linear-gradient(#333, #333);
    background-repeat: no-repeat;
    background-position: bottom 0px left;
    background-size: 100% 1px;
    transition: background-size 400ms;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .c-hoverLineDisappear:hover {
    background-position: bottom 0px right;
    background-size: 0 1px;
  }
}

.c-changeOpacity {
  opacity: 1;
  transition: opacity 400ms;
}
@media (hover: hover) {
  .c-changeOpacity:hover {
    transition: opacity 400ms;
    opacity: 0.5;
  }
}

.c-anchor-links {
  width: 100%;
}
.c-anchor-links .c-anchor-links-list {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-anchor-links .c-anchor-links-list {
    gap: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .c-anchor-links .c-anchor-links-list {
    gap: 1.25rem;
    flex-direction: column;
  }
}
.c-anchor-links .c-anchor-links-list .c-anchor-links-item {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item {
    padding: 0.75rem 1.25rem;
    gap: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item {
    gap: 1rem;
    border-bottom: 1px solid #D2D2D2;
    justify-content: space-between;
    width: 100%;
    position: relative;
  }
}
.c-anchor-links .c-anchor-links-list .c-anchor-links-item .c-anchor-links-link {
  display: flex;
  align-items: center;
  transition: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media screen and (max-width:767px) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item .c-anchor-links-link {
    justify-content: space-between;
    width: 100%;
    padding: 0rem 1.25rem 0.875rem 1.25rem;
  }
}
@media (hover: hover) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item .c-anchor-links-link:hover {
    opacity: 0.5;
    transition: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item .c-anchor-links-link:hover .arrow {
    transform: translateY(0.3125rem);
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}
.c-anchor-links .c-anchor-links-list .c-anchor-links-item .arrow {
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media screen and (min-width: 768px) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item .arrow {
    width: 0.875rem;
    height: 0.875rem;
    margin-left: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .c-anchor-links .c-anchor-links-list .c-anchor-links-item .arrow {
    width: 0.875rem;
    height: 0.875rem;
    z-index: -1;
  }
}

.c-btn-hoverFill {
  border: 1px solid #333;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media screen and (min-width: 768px) {
  .c-btn-hoverFill {
    margin: 0 auto;
    margin-top: 4.5rem;
    padding: 0.5625rem 2.4375rem;
    width: fit-content;
    overflow: hidden;
  }
}
@media screen and (max-width:767px) {
  .c-btn-hoverFill {
    margin-top: 2rem;
    padding: 0.75rem 2.5rem;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.c-btn-hoverFill .c-btn-hoverFill-text {
  width: fit-content;
}

@media (hover: hover) {
  a:hover .c-btn-hoverFill {
    background-color: #333;
    color: #fff;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}

@media screen and (min-width: 768px) {
  .c-breadcrumb {
    padding: 2.5rem 0;
  }
}
@media screen and (max-width:767px) {
  .c-breadcrumb {
    padding: 1.4375rem 0;
  }
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list {
    gap: 0.5rem;
  }
}
@media screen and (max-width:767px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list {
    gap: 0.5rem;
  }
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item {
  display: flex;
  align-items: center;
  line-height: 135%;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item {
    gap: 0.5rem;
    font-size: max(0.875rem, 12px);
  }
}
@media screen and (max-width:767px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item {
    gap: 0.5rem;
    font-size: max(0.875rem, 12px);
    font-style: normal;
    font-weight: 300;
    line-height: 135%;
  }
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item:not(:last-child) {
  color: #9E9E9E;
  font-family: "Hiragino Kaku Gothic Pro";
  font-style: normal;
  font-weight: 300;
  line-height: 135%;
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item:last-child .c-breadcrumb-link {
  cursor: none;
  pointer-events: none;
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item:last-child .arrow {
  display: none;
}
.c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item .c-breadcrumb-link {
  display: block;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item .arrow {
    width: 0.3125rem;
    height: 0.4375rem;
  }
}
@media screen and (max-width:767px) {
  .c-breadcrumb .c-breadcrumb-inner .c-breadcrumb-list .c-breadcrumb-item .arrow {
    width: 0.3125rem;
    height: 0.4375rem;
  }
}

.heading-l-jp {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .heading-l-jp {
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "游明朝", "Times New Roman", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
    font-weight: 300;
    font-size: 2.25rem;
    font-style: normal;
    line-height: 140%;
  }
}
@media screen and (max-width:767px) {
  .heading-l-jp {
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "游明朝", "Times New Roman", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
    font-weight: 300;
    font-size: 1.5rem;
    font-style: normal;
    line-height: 140%;
  }
}

.heading-m-jp {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .heading-m-jp {
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "游明朝", "Times New Roman", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
    font-weight: 300;
    font-size: 2rem;
    font-style: normal;
    line-height: 160%;
  }
}
@media screen and (max-width:767px) {
  .heading-m-jp {
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "游明朝", "Times New Roman", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
    font-weight: 300;
    font-size: 1.5rem;
    font-style: normal;
    line-height: 140%;
  }
}

.heading-l-en {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .heading-l-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 3.75rem;
    font-style: normal;
    line-height: 100%;
  }
}
@media screen and (max-width:767px) {
  .heading-l-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 2.5rem;
    font-style: normal;
    line-height: 120%;
  }
}

.heading-m-en {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .heading-m-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 2.5rem;
    font-style: normal;
    line-height: 140%;
  }
}
@media screen and (max-width:767px) {
  .heading-m-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 1.625rem;
    font-style: normal;
    line-height: 140%;
  }
}

.heading-s-en {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .heading-s-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    font-style: normal;
    line-height: 100%;
  }
}
@media screen and (max-width:767px) {
  .heading-s-en {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: max(1rem, 12px);
    font-style: normal;
    line-height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .text-l {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    font-style: normal;
    line-height: 240%;
  }
}
@media screen and (max-width:767px) {
  .text-l {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    font-style: normal;
    line-height: 240%;
  }
}

@media screen and (min-width: 768px) {
  .text-m {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    font-style: normal;
    line-height: 240%;
  }
}
@media screen and (max-width:767px) {
  .text-m {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    font-style: normal;
    line-height: 240%;
  }
}

.text-s {
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: max(0.875rem, 12px);
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
}
@media screen and (max-width:767px) {
  .text-s {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    font-style: normal;
    line-height: 180%;
  }
}

@media screen and (min-width: 768px) {
  .text-caption {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.75rem, 12px);
    font-style: normal;
    line-height: 180%;
  }
}
@media screen and (max-width:767px) {
  .text-caption {
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 300;
    font-size: max(0.75rem, 12px);
    font-style: normal;
    line-height: 180%;
  }
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  max-width: unset;
  max-height: unset;
  z-index: 999;
  display: none;
}
.c-modal[open] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-modal::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(73, 73, 77, 0.8);
  z-index: -1;
}
@media screen and (max-width:767px) {
  .c-modal::backdrop {
    height: 110vh;
  }
}
@media screen and (min-width: 768px) {
  .c-modal .c-modal-content {
    width: 54.5625rem;
    height: 30.6875rem;
  }
}
@media screen and (max-width:767px) {
  .c-modal .c-modal-content {
    width: 18.75rem;
    height: 10.5625rem;
  }
}
.c-modal .c-modal-content iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.c-modal .c-modal-closeBtn {
  cursor: pointer;
  position: fixed;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .c-modal .c-modal-closeBtn {
    height: 3.75rem;
    right: 3.75rem;
    top: 3.75rem;
    width: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .c-modal .c-modal-closeBtn {
    cursor: pointer;
    position: fixed;
    z-index: 10;
    height: 1.5625rem;
    right: 2rem;
    top: 2rem;
    width: 1.5625rem;
  }
}
.c-modal .c-modal-closeBtn .c-modal-closeBtn_inner {
  cursor: pointer;
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}
.c-modal .c-modal-closeBtn .c-modal-closeBtn_inner .line {
  cursor: pointer;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  bottom: 0;
  height: 0.125rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  transform: rotate(45deg);
}
.c-modal .c-modal-closeBtn .c-modal-closeBtn_inner .line:last-of-type {
  transform: rotate(-45deg);
}
.c-modal .c-modal-closeBtn .c-modal-closeBtn_inner .line .line-color {
  background-color: #fff;
  display: block;
  height: 100%;
  width: 100%;
}

[data-fadein-target] {
  opacity: 0;
  filter: blur(4px);
}
@media screen and (min-width: 768px) {
  [data-fadein-target] {
    transform: translateY(50px);
  }
}
@media screen and (max-width:767px) {
  [data-fadein-target] {
    transform: translateY(25px);
  }
}

.t-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #EFEFEF;
}
.t-footer ::selection {
  background-color: #333;
  color: #EFEFEF;
}
@media screen and (min-width: 768px) {
  .t-footer {
    padding-top: 4rem;
  }
}
@media screen and (max-width:767px) {
  .t-footer {
    gap: 2.5rem;
    padding: 2.5rem 0 1.5rem 0;
  }
}
.t-footer-logo {
  transition: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media screen and (min-width: 768px) {
  .t-footer-logo {
    margin-bottom: 5rem;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-footer-logo:hover {
    opacity: 0.4;
    transition: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}
@media screen and (min-width: 768px) {
  .t-footer-logo svg {
    width: 13.875rem;
    height: auto;
  }
}
@media screen and (max-width:767px) {
  .t-footer-logo svg {
    width: 10rem;
    height: auto;
  }
}
.t-footer-links {
  width: 100%;
  border-top: 1px solid #D2D2D2;
}
@media screen and (min-width: 768px) {
  .t-footer-links {
    padding-block: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2.5rem;
    padding-inline: 10rem;
  }
}
@media screen and (max-width:767px) {
  .t-footer-links {
    padding-top: 1.5rem;
    text-align: center;
  }
}
.t-footer-links .links {
  color: #666;
  display: flex;
}
@media screen and (min-width: 768px) {
  .t-footer-links .links {
    gap: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .t-footer-links .links {
    justify-content: center;
    gap: 3.875rem;
  }
}
.t-footer-links .item {
  font-weight: 300;
  line-height: 2.4;
}
@media screen and (min-width: 768px) {
  .t-footer-links .item {
    font-size: max(0.75rem, 10px);
    background-image: linear-gradient(#666, #666);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    transition: background-size 400ms;
    background-position: bottom 0.375rem left;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-footer-links .item:hover {
    background-size: 0 1px;
    background-position: bottom 0.375rem right;
  }
}
@media screen and (max-width:767px) {
  .t-footer-links .item {
    font-size: max(0.75rem, 10px);
  }
}
.t-footer-copyright {
  color: #666;
  font-weight: 300;
  line-height: 2.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
@media screen and (min-width: 768px) {
  .t-footer-copyright {
    font-size: max(0.625rem, 10px);
    transform: translateY(0rem);
  }
}
@media screen and (max-width:767px) {
  .t-footer-copyright {
    font-size: max(0.625rem, 10px);
    margin-top: 0.625rem;
    gap: 0.25rem;
  }
}
.t-footer-copyright .copyright-symbol {
  font-size: max(1.125rem, 10px);
}
@media screen and (max-width:767px) {
  .t-footer-copyright .copyright-symbol {
    font-size: max(1.125rem, 10px);
    transform: translateY(0.0625rem);
  }
}

.t-header {
  display: flex;
  align-items: center;
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2147483647;
}
.t-header ::selection {
  background-color: #EFEFEF;
  color: #333;
}
@media screen and (min-width: 768px) {
  .t-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8.375rem;
    background-color: #EFEFEF;
    z-index: -1;
    transform: translateY(-100%);
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}
@media screen and (max-width:767px) {
  .t-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4.125rem;
    background-color: #EFEFEF;
    z-index: -1;
    transform: translateY(-100%);
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}
.t-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #F5F5F5;
  z-index: -1;
  transition: transform 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(-100%);
}
@media screen and (min-width: 768px) {
  .t-header .t-header-menu-sp {
    display: none;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp {
    display: block;
    transform: translateY(calc(-100% - 4.125rem));
    transition: transform 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    height: calc(100vh - 4.125rem);
    background-color: transparent;
    z-index: 2147483647;
    position: fixed;
    top: 0;
    left: 0;
    margin-top: 4.125rem;
    overflow: hidden;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child {
    padding-inline: 1.875rem;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .sp-menu-title {
    margin-top: 1.9375rem;
    color: #333;
    font-family: "Cormorant Garamond";
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 38.4px */
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .sp-menu-list {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .sp-menu-list .list .item {
    border-bottom: 1px solid #D2D2D2;
    padding: 1rem 0.625rem;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .sp-menu-list .list .item .link {
    color: #333;
    font-family: "Hiragino Mincho ProN";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 300;
    line-height: 240%; /* 33.6px */
    position: relative;
    display: block;
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .sp-menu-list .list .item .link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.625rem;
    height: 0.75rem;
    background-image: url("/assets/img/index/1x/arrow-right.png");
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}
@media screen and (max-width:767px) {
  .t-header .t-header-menu-sp .child .button {
    display: flex;
    width: 18.4375rem;
    padding: 1rem 2.5rem;
    justify-content: center;
    align-items: center;
    border: 1px solid #333;
    margin-top: 3.5rem;
    color: #333;
    text-align: center;
    font-family: "Cormorant Garamond";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 20px */
    margin-inline: auto;
  }
}
.t-header.is-sp-open::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: -1;
  transition: transform 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(0);
}
.t-header.is-sp-open .t-header-menu-sp {
  transform: translateY(0);
  transition: transform 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow-y: scroll;
}
.t-header.is-sp-open .t-header-logo a svg path {
  fill: #333;
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header.is-sp-open .t-header-lang .item,
.t-header.is-sp-open .t-header-lang .slash {
  color: #333;
  transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  text-decoration: unset;
}
@media screen and (min-width: 768px) {
  .t-header.is-sp-open .t-header-lang .item {
    background-image: linear-gradient(#333, #333);
    background-repeat: no-repeat;
    background-position: bottom 0.0625rem right;
    background-size: 0 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header.is-sp-open .t-header-lang .item:hover {
    background-position: bottom 0.0625rem left;
    background-size: 100% 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
.t-header.is-sp-open .t-header-lang .item.-current {
  text-decoration: underline;
  text-decoration-color: #333;
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-sp-open .t-header-lang .item.-current .text {
  color: #333;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header.is-sp-open .t-header-lang .item .text {
  color: #333;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header.is-sp-open .t-header-lang .slash {
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header.is-sp-open .t-header-button-menu .t-header-button-menu-line {
  background-color: #333;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header.is-sp-open .t-header-button-menu .t-header-button-menu-line:nth-child(1) {
  transform: rotate(45deg) translateX(0.3125rem);
}
.t-header.is-sp-open .t-header-button-menu .t-header-button-menu-line:nth-child(2) {
  transform: rotate(-45deg) translateX(0.3125rem);
}
.t-header.is-bg-visible ::selection {
  background-color: #333;
  color: #EFEFEF;
}
.t-header.is-bg-visible::before {
  transform: translateY(0);
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-logo a svg path {
  fill: #333;
  transition: fill cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-menu .t-header-menu-pages {
  color: #333;
}
.t-header.is-bg-visible .t-header-menu .t-header-menu-pages .list .item .link {
  background-image: linear-gradient(#333, #333);
  transition: background-size cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media (hover: hover) {
  .t-header.is-bg-visible .t-header-menu .t-header-menu-pages .list .item .link:hover {
    background-position: bottom 0rem left;
    background-size: 100% 1px;
  }
}
.t-header.is-bg-visible .t-header-menu .t-header-lang .item,
.t-header.is-bg-visible .t-header-menu .t-header-lang .slash {
  color: #333;
  transition: background-size cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  text-decoration: unset;
}
@media screen and (min-width: 768px) {
  .t-header.is-bg-visible .t-header-menu .t-header-lang .item {
    background-image: linear-gradient(#333, #333);
    background-repeat: no-repeat;
    background-position: bottom 0.0625rem right;
    background-size: 0 1px;
    transition: background-size cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header.is-bg-visible .t-header-menu .t-header-lang .item:hover {
    background-position: bottom 0.0625rem left;
    background-size: 100% 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
.t-header.is-bg-visible .t-header-menu .t-header-lang .item.-current {
  text-decoration: underline;
  text-decoration-color: #333;
  background: none !important;
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-menu .t-header-lang .item.-current .text {
  color: #333;
  transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-menu .t-header-lang .item .text {
  color: #333;
  transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-menu .t-header-lang .slash {
  transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
.t-header.is-bg-visible .t-header-menu .t-header-button .button {
  border-color: #333;
  color: #333;
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media (hover: hover) {
  .t-header.is-bg-visible .t-header-menu .t-header-button .button:hover {
    background-color: #333;
    color: #EFEFEF;
  }
}
.t-header.is-bg-visible .t-header-menu .t-header-button .t-header-button-menu .t-header-button-menu-line {
  background-color: #333;
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 750ms;
}
@media screen and (min-width: 768px) {
  .t-header {
    justify-content: space-between;
    height: 8.375rem;
    padding: 3.125rem 3rem;
  }
}
@media screen and (max-width:767px) {
  .t-header {
    justify-content: space-between;
    padding: 1.25rem 1.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .t-header-logo {
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header-logo:hover {
    opacity: 0.4;
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) {
  .t-header-logo svg {
    width: 9.875rem;
    height: auto;
  }
}
@media screen and (max-width:767px) {
  .t-header-logo svg {
    width: 5rem;
    height: auto;
  }
}
.t-header-logo svg path {
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.t-header-menu {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width:767px) {
  .t-header-menu {
    gap: 1.5rem;
  }
}
.t-header-menu .t-header-menu-pages {
  color: #fff;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", YuMincho, "游明朝", "Times New Roman", "HGS明朝B", "ＭＳ Ｐ明朝", serif;
  text-align: center;
  font-size: max(1rem, 12px);
  font-style: normal;
  font-weight: 300;
  line-height: 240%; /* 38.4px */
}
@media screen and (min-width: 768px) {
  .t-header-menu .t-header-menu-pages {
    margin-right: 6.25rem;
  }
}
@media screen and (max-width:767px) {
  .t-header-menu .t-header-menu-pages {
    display: none;
  }
}
.t-header-menu .t-header-menu-pages .list {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 2.5rem;
}
.t-header-menu .t-header-menu-pages .list .item {
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (min-width: 768px) {
  .t-header-menu .t-header-menu-pages .list .item .link {
    background-image: linear-gradient(#fff, #fff);
    background-repeat: no-repeat;
    background-position: bottom 0rem right;
    background-size: 0 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header-menu .t-header-menu-pages .list .item .link:hover {
    background-position: bottom 0rem left;
    background-size: 100% 1px;
  }
}
.t-header-lang {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .t-header-lang {
    gap: 0.75rem;
    margin-right: 1.875rem;
  }
}
@media screen and (max-width:767px) {
  .t-header-lang {
    gap: 0.625rem;
  }
}
.t-header-lang .item,
.t-header-lang .slash {
  font-family: "Cormorant Garamond";
  color: #fff;
  font-weight: 400;
  line-height: 1;
  text-decoration: unset;
  text-decoration-color: #fff;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (min-width: 768px) {
  .t-header-lang .item,
  .t-header-lang .slash {
    font-size: max(1rem, 14px);
    background-image: linear-gradient(#fff, #fff);
    background-repeat: no-repeat;
    background-position: bottom 0.0625rem right;
    background-size: 0 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header-lang .item:hover,
  .t-header-lang .slash:hover {
    background-position: bottom 0.0625rem left;
    background-size: 100% 1px;
    transition: background-size 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (max-width:767px) {
  .t-header-lang .item,
  .t-header-lang .slash {
    font-size: max(1rem, 12px);
  }
}
.t-header-lang .item.-current,
.t-header-lang .slash.-current {
  transition: text-decoration-color 400ms 50ms cubic-bezier(0.25, 0.1, 0.25, 1);
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .t-header-lang .item.-current,
  .t-header-lang .slash.-current {
    background-size: 100% 1px;
    background-image: none;
  }
}
@media screen and (max-width:767px) {
  .t-header-lang .item.-current,
  .t-header-lang .slash.-current {
    text-decoration-color: #fff;
    transition: text-decoration-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
.t-header-lang .item.-current .text,
.t-header-lang .slash.-current .text {
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  color: #fff;
}
.t-header-lang .item .text,
.t-header-lang .slash .text {
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  color: #fff;
}
.t-header-lang .slash {
  pointer-events: none;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}
@media screen and (max-width:767px) {
  .t-header-button {
    display: flex;
    align-items: center;
  }
}
.t-header-button .button {
  display: block;
  font-family: "Cormorant Garamond";
  color: #fff;
  font-weight: 400;
  line-height: 1;
  border: 1px solid #fff;
  position: relative;
  overflow: hidden;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (min-width: 768px) {
  .t-header-button .button {
    padding: 0.4375rem 1.9375rem;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.0055rem;
  }
}
@media screen and (max-width:767px) {
  .t-header-button .button {
    display: none;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .t-header-button .button:hover {
    background-color: #fff;
    color: #333;
    transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media screen and (min-width: 768px) {
  .t-header-button .t-header-button-menu {
    display: none;
  }
}
@media screen and (max-width:767px) {
  .t-header-button .t-header-button-menu {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.t-header-button .t-header-button-menu .t-header-button-menu-line {
  width: 100%;
  height: 1px;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  background-color: #fff;
  display: block;
}
.t-header-button .t-header-button-menu .t-header-button-menu-line:nth-child(1) {
  margin-top: 0.0625rem;
}
.t-header-button .t-header-button-menu .t-header-button-menu-line:nth-child(2) {
  margin-top: 0.375rem;
}

body:has([data-page=index]) .t-header {
  animation: fadeIn 2000ms 4000ms forwards cubic-bezier(0.17, 0.67, 0.59, 0.87);
  opacity: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*# sourceMappingURL=main.css.map */
