@charset "UTF-8";
/*
  File Name   : top.css
  Description : Write top content styles
*/
/* TOP共通パーツ
============================================================ */
.top .top-section-hl__en {
  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 0;
  color: #D3CDCD;
  font-family: var(--color_sub);
  font-size: 100px;
  font-weight: 100;
  line-height: 1.2em;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
}
@media only screen and (max-width: 1024px) {
  .top .top-section-hl__en {
    font-size: 60px;
  }
}
.top .top-section-hl__en > span {
  display: block;
}
.top .top-section-hl__jp {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.9em;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  .top .top-section-hl__jp {
    font-size: 24px;
  }
}
.top .top-moreBtn {
  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;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 250px;
  min-height: 3.25em;
  color: var(--color_font);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--color_font);
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}
.top .top-moreBtn.isSmall {
  min-width: 150px;
  min-height: 38px;
}
.top .top-moreBtn:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1025px) {
  .top .top-moreBtn:hover {
    color: #fff;
    background-color: rgba(64, 64, 64, 0.8);
  }
}
.top .top-slider-bottomBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: 100%;
  gap: 0 50px;
}
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0 10px;
}
@media only screen and (max-width: 1024px) {
  .top .top-slider-bottomBlock .bottomBlock-prevNextBtns {
    display: none;
  }
}
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns .prevBtn,
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns .nextBtn {
  position: relative;
  display: block;
  width: 30px;
  height: 100%;
  background-color: #fff;
  border: 1px solid var(--color_accent);
  padding: 0 0 0;
  margin: 0 0 0;
  cursor: pointer;
}
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns .prevBtn::after,
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns .nextBtn::after {
  content: "";
  position: absolute;
  display: block;
  width: 12px;
  height: auto;
  aspect-ratio: 1/1;
  top: 50%;
  right: 50%;
  border: 1px solid var(--color_accent);
  border-bottom: none;
  border-left: none;
  -webkit-transform: translate(30%, -50%) rotate(45deg);
          transform: translate(30%, -50%) rotate(45deg);
}
.top .top-slider-bottomBlock .bottomBlock-prevNextBtns .prevBtn {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.top .top-noneTxt {
  font-size: 1.2em;
  font-weight: 400;
  text-align: center;
}

/* KV
============================================================ */
.top-kv {
  position: relative;
}
.top-kv::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(106, 106, 106, 0.2);
  z-index: 2;
}
.top-kv .top-kv-slider .top-kv-slider-wrapper .top-kv-slider-item .top-kv-slider-item-img {
  position: relative;
  display: block;
  width: 100%;
  height: calc(100vh - var(--height-header));
  height: calc(100dvh - var(--height-header));
  min-height: 500px;
}
@media only screen and (max-width: 1024px) {
  .top-kv .top-kv-slider .top-kv-slider-wrapper .top-kv-slider-item .top-kv-slider-item-img {
    height: calc(100vh - var(--height-header_mbl));
    height: calc(100dvh - var(--height-header_mbl));
    min-height: 360px;
  }
}
.top-kv .top-kv-slider .top-kv-slider-wrapper .top-kv-slider-item .top-kv-slider-item-img > img {
  position: absolute;
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.top-kv .top-kv-slider-catch {
  position: absolute;
  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;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.75em 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: #fff;
  font-family: var(--fontFamily_sub);
  font-size: 2.86458333vw;
  font-weight: 400;
  line-height: 1em;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  z-index: 3;
}
@media only screen and (max-width: 1024px) {
  .top-kv .top-kv-slider-catch {
    font-size: 8.53333333vw;
    font-size: clamp(27px, 8.53333333vw, 50px);
    gap: 0.5em 0;
  }
}
.top-kv .top-kv-slider-catch > span {
  display: block;
}
.top-kv .top-kv-slider-catch > span:first-child {
  font-size: 0.8em;
}
.top-kv .top-kv-scrollLine {
  position: absolute;
  display: block;
  width: 1px;
  height: 150px;
  bottom: 0;
  right: 50%;
  -webkit-transform: translate(50%, 50%) scale(1, 0);
          transform: translate(50%, 50%) scale(1, 0);
  background-color: var(--color_main);
  -webkit-animation: keyTopKvScrollLine 3s ease forwards infinite;
          animation: keyTopKvScrollLine 3s ease forwards infinite;
  z-index: 4;
}
@media only screen and (max-width: 1024px) {
  .top-kv .top-kv-scrollLine {
    height: 120px;
  }
}
@-webkit-keyframes keyTopKvScrollLine {
  0% {
    -webkit-transform: translate(50%, 50%) scale(1, 0);
            transform: translate(50%, 50%) scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: translate(50%, 50%) scale(1, 1);
            transform: translate(50%, 50%) scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: translate(50%, 50%) scale(1, 1);
            transform: translate(50%, 50%) scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: translate(50%, 50%) scale(1, 0);
            transform: translate(50%, 50%) scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes keyTopKvScrollLine {
  0% {
    -webkit-transform: translate(50%, 50%) scale(1, 0);
            transform: translate(50%, 50%) scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: translate(50%, 50%) scale(1, 1);
            transform: translate(50%, 50%) scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: translate(50%, 50%) scale(1, 1);
            transform: translate(50%, 50%) scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: translate(50%, 50%) scale(1, 0);
            transform: translate(50%, 50%) scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

/* NEWS
============================================================ */
.top-news {
  padding: 138px 0 119px;
}
@media only screen and (max-width: 1024px) {
  .top-news {
    padding: 150px 0 50px;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-newsInner {
    display: grid;
    grid-template-columns: 320px minmax(auto, 700px);
    grid-template-rows: auto 40px;
    grid-column-gap: 50px;
    grid-row-gap: 34px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-news .top-news-hl {
    grid-area: 1/1/2/2;
  }
  .top-news .top-news-moreBtn {
    grid-area: 2/1/3/2;
  }
  .top-news .com-news-list {
    grid-area: 1/2/3/3;
  }
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-hl {
    text-align: center;
  }
}
.top-news .com-news-list {
  margin: 30px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-news .com-news-list {
    max-width: 800px;
    margin: 30px auto 0;
  }
}
.top-news .com-news-list > ul {
  border-top: none;
}
.top-news .com-news-list > ul > li > a {
  font-size: 14px;
  padding: 0.75em 1.7em 0.75em 0.7em;
}
@media only screen and (max-width: 599px) {
  .top-news .com-news-list > ul > li > a {
    padding: 1.4em 1.5em 0.9em 0;
  }
}
.top-news .com-news-list > ul > li > a .date {
  min-width: 7.9em;
}
@media only screen and (max-width: 1024px) {
  .top-news .top-news-moreBtn {
    margin: 51px auto 0;
  }
}

/* WEDDING IN IZUMO
============================================================ */
.top-weddingInIzumo {
  position: relative;
  padding: 170px 0 217px;
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumo {
    padding: 110px 0 89px;
  }
}
.top-weddingInIzumo::before {
  content: "";
  position: absolute;
  display: block;
  width: calc((100% - (100% - var(--width_base)) * 0.5) - 260px);
  height: calc(100% - 77px);
  top: 0;
  left: 0;
  background-color: rgba(255, 0, 0, 0.1);
  background: -webkit-linear-gradient(225deg, #fff 0%, #fff 9.85%, #eae7e7 41.38%, #fff 52.22%, #dedbdb 100%);
  background: linear-gradient(225deg, #fff 0%, #fff 9.85%, #eae7e7 41.38%, #fff 52.22%, #dedbdb 100%);
  z-index: -1;
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumo::before {
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(250deg, #fff 0%, #fff 10.49%, #eae7e7 36.38%, #fff 48.57%, #dedbdb 100%);
    background: linear-gradient(200deg, #fff 0%, #fff 10.49%, #eae7e7 36.38%, #fff 48.57%, #dedbdb 100%);
  }
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumo::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 200px;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(transparent));
    background: -webkit-linear-gradient(#fff, transparent);
    background: linear-gradient(#fff, transparent);
    pointer-events: none;
  }
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumoInner {
    max-width: 800px;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumoInner {
    padding: 0 0 0;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-enTitle {
  position: relative;
  letter-spacing: 0em;
  text-indent: 0em;
  z-index: 1;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-enTitle {
    font-size: min(9.0vw, 60px);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumo .top-weddingInIzumo-enTitle {
    padding: 0 0 0 var(--sidePadding_base_mbl);
    font-size: clamp(51px,16vw,60px);
  }
}
.top-weddingInIzumo .top-weddingInIzumo-enTitle > span:nth-child(2) {
  padding: 0 0 0 2.05em;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-enTitle > span:nth-child(2) {
    padding: 0 0 0 0.35em;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumo .top-weddingInIzumo-enTitle > span:nth-child(2) {
    padding: 0 0 0 0.9em;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-pictWrap {
  position: absolute;
  display: block;
  width: 50%;
  max-width: 780px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  top: 200px;
  left: 50%;
}
@media print, screen and (min-width: 1025px) and (max-width: 1559px) {
  .top-weddingInIzumo .top-weddingInIzumo-pictWrap {
    width: 50%;
    left: auto;
    right: 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-pictWrap {
    position: absolute;
    width: min(100% - var(--sidePadding_base_mbl), calc(100% - ((100% - 800px) * 0.5) - var(--sidePadding_base_mbl)));
    max-width: initial;
    top: 160px;
    right: 0;
    left: auto;
    -webkit-transform: none;
            transform: none;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumo .top-weddingInIzumo-pictWrap {
    position: static;
    width: calc(100% - var(--sidePadding_base_mbl));
    max-width: initial;
    margin: -29px 0 0 auto;
    -webkit-transform: none;
            transform: none;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-pictWrap .top-weddingInIzumo-pict {
  position: relative;
  width: 100%;
  height: 950px;
  overflow: hidden;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-pictWrap .top-weddingInIzumo-pict {
    height: 350px;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumo .top-weddingInIzumo-pictWrap .top-weddingInIzumo-pict {
    height: 330px;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-pictWrap .top-weddingInIzumo-pict > img {
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media print, screen and (min-width: 1025px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock {
    width: 40%;
    padding: 0 50px 0 0;
    margin: 24px 0 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock {
    width: 100%;
    margin: 380px 0 0;
  }
}
@media only screen and (max-width: 599px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock {
    width: 100%;
    padding: 0 var(--sidePadding_base_mbl) 0;
    margin: 35px 0 0;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-textBlock__hl {
  font-size: 26px;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.2em;
  text-indent: 0em;
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock__hl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 24px;
    line-height: 1.8em;
    gap: 0 0.5em;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-textBlock__hl > span {
  display: block;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock__hl > span {
    display: inline-block;
  }
}
.top-weddingInIzumo .top-weddingInIzumo-textBlock__descriptionBox {
  margin: 30px 0 0;
}
.top-weddingInIzumo .top-weddingInIzumo-textBlock__descriptionBox > *:first-child {
  margin-top: 0;
}
.top-weddingInIzumo .top-weddingInIzumo-textBlock__descriptionBox > P {
  font-size: 14px;
  line-height: 2.625em;
  letter-spacing: 0.1em;
  text-indent: 0em;
  margin: 41px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-weddingInIzumo .top-weddingInIzumo-textBlock__descriptionBox > P {
    margin: 24px 0 0;
  }
}

/* IZUMO OYASHIRO
============================================================ */
.top-izumoOyashiro {
  position: relative;
  padding: 76px 0 min(5.21%, 100px);
  margin: 200px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro {
    padding: 0 0 0;
    margin: 110px 0 0;
  }
}
.top-izumoOyashiro .pictBlock {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: min(79.6875%, 1530px);
  height: 100%;
  top: 0;
  right: 50%;
  -webkit-transform: translate(37.25%, 0);
          transform: translate(37.25%, 0);
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock {
    position: absolute;
    width: 100%;
    max-width: 650px;
    height: clamp(480px, 151.733vw, 658px);
    top: 74px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock {
    top: 50px;
    max-width: 760px;
    height: 495px;
  }
}
.top-izumoOyashiro .pictBlockInner {
  position: relative;
  display: block;
  width: 100%;
}
.top-izumoOyashiro .pictBlock__pict {
  position: absolute;
}
.top-izumoOyashiro .pictBlock__pict:nth-child(1) {
  width: min(60.8%, 930px);
  bottom: 21.5%;
  left: 0;
  z-index: 1;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock__pict:nth-child(1) {
    width: 92%;
    max-width: 414px;
    top: 0;
    bottom: auto;
    left: 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock__pict:nth-child(1) {
    max-width: 477px;
    aspect-ratio: 1/0.75;
  }
}
@media print, screen and (min-width: 1025px) {
  .top-izumoOyashiro .pictBlock__pict:nth-child(1) > img {
    min-height: 518px;
  }
}
.top-izumoOyashiro .pictBlock__pict:nth-child(2) {
  width: min(43.14%, 660px);
  height: auto;
  aspect-ratio: 660/425;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock__pict:nth-child(2) {
    width: 84.8%;
    aspect-ratio: 318/225;
    max-width: 382px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-izumoOyashiro .pictBlock__pict:nth-child(2) {
    max-width: 382px;
  }
}
.top-izumoOyashiroInner {
  position: relative;
  max-width: calc(1570px + (var(--sidePadding_base) * 2));
  padding-bottom: min(23.49vw, 451px);
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiroInner {
    max-width: 800px;
    padding-bottom: 100px;
  }
}
.top-izumoOyashiroInner::before {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% - ((100% - var(--width_base)) * 0.5) - var(--sidePadding_base));
  height: calc(100% - 104px);
  top: 104px;
  right: var(--sidePadding_base);
  background: -webkit-linear-gradient(225deg, #fcfcfc 0%, #ebe8e8 25.12%, #fcfafa 33.5%, #dddada 56.16%, #efecec 100%);
  background: linear-gradient(225deg, #fcfcfc 0%, #ebe8e8 25.12%, #fcfafa 33.5%, #dddada 56.16%, #efecec 100%);
  z-index: -1;
  pointer-events: none;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-izumoOyashiroInner::before {
    width: calc(100% - (var(--sidePadding_base) * 2));
  }
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiroInner::before {
    width: 100vw;
    min-width: var(--width_min_base);
    height: calc(100% - 250px);
    top: 250px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
    background: -webkit-linear-gradient(225deg, #fcfcfc 0%, #ebe8e8 32.32%, #fcfafa 44.67%, #eae7e7 56.16%, #efecec 100%);
    background: linear-gradient(225deg, #fcfcfc 0%, #ebe8e8 32.32%, #fcfafa 44.67%, #eae7e7 56.16%, #efecec 100%);
  }
}
@media print, screen and (min-width: 1025px) {
  .top-izumoOyashiro .top-izumoOyashiro-enTitle {
    position: relative;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0 0.3em;
    z-index: 1;
    letter-spacing: 0em;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-izumoOyashiro .top-izumoOyashiro-enTitle {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 0.35em;
    font-size: min(9.0vw, 60px);
  }
}
@media only screen and (max-width: 599px) {
  .top-izumoOyashiro .top-izumoOyashiro-enTitle {
    font-size: clamp(51px,15.8vw,60px);
    letter-spacing: 0em;
  }
}
.top-izumoOyashiro .txtBlock {
  width: min(calc(50% - 50px), 696px);
  padding: 0 var(--sidePadding_base) 0 0;
  margin: 80px 0 0 auto;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro .txtBlock {
    width: 100%;
    padding: clamp(460px, calc(658px - 24px), calc(151.733vw - 24px)) 0 0;
    margin: 0 0 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-izumoOyashiro .txtBlock {
    padding-top: 419px;
  }
}
.top-izumoOyashiro .txtBlock__descriptionBox {
  margin: 36px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-izumoOyashiro .txtBlock__descriptionBox {
    margin: 28px 0 0;
  }
}
.top-izumoOyashiro .txtBlock__descriptionBox > P {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.4em;
  letter-spacing: 0.08em;
}
.top-izumoOyashiro .txtBlock__moreBtn {
  margin: 44px 0 0;
}

/* WEDDING PLAN
============================================================ */
.top-weddingPlan {
  position: relative;
  padding: 0 0 148px;
  margin: 170px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan {
    padding-bottom: 98px;
    margin-top: 111px;
  }
}
.top-weddingPlan::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: calc(100% - 67px);
  top: 67px;
  left: 0;
  background: -webkit-linear-gradient(225deg, #fff 0%, #e8e4e4 31.06%, #fdfdfd 36.45%, #edebeb 66.01%, #fff 74.38%, #e0dada 100%);
  background: linear-gradient(225deg, #fff 0%, #e8e4e4 31.06%, #fdfdfd 36.45%, #edebeb 66.01%, #fff 74.38%, #e0dada 100%);
  z-index: -1;
  pointer-events: none;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan::before {
    top: 300px;
    height: calc(100% - 300px);
    background: -webkit-linear-gradient(225deg, #fff 0%, #e8e4e4 12.32%, #fdfdfd 24.63%, #edebeb 71.54%, #fff 81.97%, #e0dada 100%);
    background: linear-gradient(225deg, #fff 0%, #e8e4e4 12.32%, #fdfdfd 24.63%, #edebeb 71.54%, #fff 81.97%, #e0dada 100%);
  }
}
.top-weddingPlan .top-weddingPlan-headerBlock .top-weddingPlan-hl {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0.35em;
  letter-spacing: 0em;
  text-indent: 0em;
}
@media only screen and (max-width: 599px) {
  .top-weddingPlan .top-weddingPlan-headerBlock .top-weddingPlan-hl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0 0;
    font-size: clamp(50px,15.8vw,60px);
  }
}
.top-weddingPlan .top-weddingPlan-slider {
  width: calc(100% - ((100% - var(--width_base)) * 0.5));
  margin: 84px 0 0 auto;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-weddingPlan .top-weddingPlan-slider {
    width: calc(100% - var(--sidePadding_base));
  }
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider {
    width: calc(100% - var(--sidePadding_base_mbl));
    margin-top: 52px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem {
  width: 398px;
  height: auto;
  border: 1px solid var(--color_accent);
  background-color: #fff;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem {
    width: 298px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItemInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItemInner::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: auto;
  aspect-ratio: 15/5;
  bottom: 12px;
  right: 12px;
  -webkit-mask: url(../images/common/arrow.svg);
          mask: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color_main);
  pointer-events: none;
  -webkit-transition: right 0.2s ease-in;
  transition: right 0.2s ease-in;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__pict {
  overflow: hidden;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__pict > img {
  aspect-ratio: 400/280;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 30px 37px;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock {
    padding: 26px 24px 39px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock > *:first-child {
  margin-top: 0;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--hl {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
  margin: 0 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--hl {
    font-size: 18px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--description {
  min-height: 4em;
  font-size: 14px;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.02em;
  text-indent: 0.02em;
  text-align: center;
  margin: 14px 0 0;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  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;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center;
  gap: 0.25em 0;
  width: 100%;
  background-color: #EDEAEA;
  padding: 12px 12px;
  margin: 17px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price {
    padding: 10px 10px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxtGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-line-pack: baseline;
      align-content: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  text-align: center;
  gap: 0.25em 0.5em;
  width: 100%;
  background-color: #EDEAEA;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .beforeTxt {
  font-size: 14px;
  line-height: 1.4em;
  letter-spacing: 0em;
  text-indent: 0em;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .beforeTxt {
    font-size: 15px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .afterTxt {
  width: 100%;
  font-size: 14px;
  line-height: 1.4em;
  letter-spacing: 0em;
  text-indent: 0em;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .afterTxt {
    font-size: 14px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-line-pack: baseline;
      align-content: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 0.2em;
  letter-spacing: 0em;
  text-indent: 0em;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxt > * {
  display: block;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxt > em {
  font-size: 18px;
  line-height: 1.4em;
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxt > em {
    font-size: 16px;
  }
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem__txtBlock--price .priceTxt > small {
  font-size: 14px;
  line-height: 1.4em;
}
.top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem .slideItemInner:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1025px) {
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem .slideItemInner:hover::after {
    right: 4px;
  }
  .top-weddingPlan .top-weddingPlan-slider .top-weddingPlan-slider-wrapper .slideItem .slideItemInner:hover .slideItem__pict > img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
.top-weddingPlan .top-weddingPlan-slider-bottomBlock {
  width: calc(100% - ((100% - var(--width_base))));
  padding-left: 0;
  margin: 47px auto 0 0;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-weddingPlan .top-weddingPlan-slider-bottomBlock {
    width: calc(100% - var(--sidePadding_base));
  }
}
@media only screen and (max-width: 1024px) {
  .top-weddingPlan .top-weddingPlan-slider-bottomBlock {
    width: calc(100% - var(--sidePadding_base_mbl));
    margin-top: 52px;
  }
}

/* SEPARATER 01
============================================================ */
.top-separater__01 {
  position: relative;
  display: block;
  width: 100%;
  height: 550px;
  overflow: hidden;
}
@media only screen and (max-width: 1024px) {
  .top-separater__01 {
    height: 260px;
    margin: 100px 0 0;
  }
}
.top-separater__01::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #2E1050;
  opacity: 0.08;
  pointer-events: none;
}
.top-separater__01 > img {
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  -o-object-position: left center;
     object-position: left center;
}

/* RECEPTION HALL
============================================================ */
.top-ReceptionHall {
  padding: 18px 0 0;
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall {
    padding: 0 0 0;
  }
}
.top-ReceptionHallInner {
  position: relative;
  padding: 0 0 0;
}
@media print, screen and (min-width: 1025px) and (max-width: 1369px) {
  .top-ReceptionHallInner {
    max-width: 1370px;
    padding: 0 var(--sidePadding_base) 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHallInner {
    max-width: 800px;
    padding: 0 var(--sidePadding_base_mbl) 0;
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHallInner {
    padding: 0 0 0;
  }
}
.top-ReceptionHallInner::before {
  content: "";
  position: absolute;
  display: block;
  width: 87%;
  height: calc(100% - 186px);
  top: 186px;
  left: -80px;
  background: -webkit-linear-gradient(45deg, #fcf9f9 0%, #fdfcfc 10.34%, #ebe8e8 39.41%, #f8f7f7 53.2%, #e6dfdf 100%);
  background: linear-gradient(45deg, #fcf9f9 0%, #fdfcfc 10.34%, #ebe8e8 39.41%, #f8f7f7 53.2%, #e6dfdf 100%);
  z-index: -1;
}
@media print, screen and (min-width: 1025px) and (max-width: 1479px) {
  .top-ReceptionHallInner::before {
    left: calc(var(--sidePadding_base) * -1);
  }
}
@media print, screen and (min-width: 1025px) and (max-width: 1369px) {
  .top-ReceptionHallInner::before {
    left: var(--sidePadding_base);
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHallInner::before {
    width: 82%;
    height: calc(100% - 48px);
    top: 48px;
    left: var(--sidePadding_base_mbl);
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHallInner::before {
    top: -20px;
    left: 0;
    width: 100%;
    height: calc(100% + 20px);
    background: -webkit-linear-gradient(45deg, #f5efef 0%, #fdfcfc 10.34%, #ebe8e8 39.41%, #f8f7f7 53.2%, #f5f0f0 100%);
    background: linear-gradient(45deg, #f5efef 0%, #fdfcfc 10.34%, #ebe8e8 39.41%, #f8f7f7 53.2%, #f5f0f0 100%);
  }
}
.top-ReceptionHall .top-ReceptionHall-pict {
  position: absolute;
  display: block;
  width: calc(100% - 670px);
  max-width: 590px;
  top: 0;
  right: calc(var(--sidePadding_base) * -1);
  -webkit-transform: translateY(-12.87671233%);
          transform: translateY(-12.87671233%);
}
@media print, screen and (min-width: 1025px) and (max-width: 1369px) {
  .top-ReceptionHall .top-ReceptionHall-pict {
    right: var(--sidePadding_base);
    width: calc(100% - clamp(600px, 47.88vw ,632px) - 110px);
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-pict {
    width: 35%;
    max-width: 280px;
    right: var(--sidePadding_base_mbl);
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-pict {
    position: static;
    width: 58.66666667%;
    margin: -50px 0 0 auto;
    -webkit-transform: translate(-10px, 0);
            transform: translate(-10px, 0);
  }
}
.top-ReceptionHall .top-ReceptionHall-pict > img {
  aspect-ratio: 590/730;
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-pict > img {
    aspect-ratio: 220/234;
  }
}
.top-ReceptionHall .top-ReceptionHall-contentsContainer {
  position: relative;
  max-width: clamp(600px, 47.88vw ,662px);
  margin: 0 0 0;
  z-index: 1;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer {
    max-width: initial;
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer {
    max-width: initial;
  }
}
.top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-enTitle {
  text-align: right;
  letter-spacing: 0.01em;
  text-indent: 0.01em;
}
@media only screen and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-enTitle {
    letter-spacing: 0em;
    text-indent: 0em;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-enTitle {
    width: 55%;
    font-size: min(8.0vw, 60px);
    max-width: 440px;
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-enTitle {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: clamp(50px,15.8vw,60px);
    margin: -40px 0 0;
  }
}
.top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock {
  min-height: 466px;
  padding: 30px var(--sidePadding_base) 70px;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock {
    width: 100%;
    max-width: 440px;
    min-height: initial;
    padding: 10px 0 40px calc(var(--sidePadding_base_mbl) * 2);
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock {
    min-height: initial;
    padding: 0 var(--sidePadding_base_mbl) 100px;
  }
}
.top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock .top-ReceptionHall-description {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.4em;
  letter-spacing: 0.08em;
  margin: 36px 0 0;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock .top-ReceptionHall-description {
    letter-spacing: 0.04em;
    margin: 27px 0 0;
  }
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock .top-ReceptionHall-description {
    letter-spacing: 0.04em;
    margin: 27px 0 0;
  }
}
.top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock .top-ReceptionHall-moreBtn {
  margin: 45px 0 0;
}
@media only screen and (max-width: 599px) {
  .top-ReceptionHall .top-ReceptionHall-contentsContainer .top-ReceptionHall-TxtBlock .top-ReceptionHall-moreBtn {
    margin: 35px 0 0;
  }
}

/* CUISINE
============================================================ */
.top-cuisine {
  padding: 168px 0 175px;
}
@media only screen and (max-width: 1024px) {
  .top-cuisine {
    padding-top: 110px;
    padding-bottom: 110px;
  }
}
.top-cuisineInner {
  position: relative;
  min-height: min(47.98vw, 710px);
}
@media only screen and (max-width: 1024px) {
  .top-cuisineInner {
    max-width: 800px;
  }
}
.top-cuisine .top-cuisine-enTitle {
  position: relative;
  text-align: right;
  letter-spacing: 0em;
  text-indent: 0em;
  padding: 0 0 0.35em;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-cuisine .top-cuisine-enTitle {
    width: 45%;
    text-align: left;
    padding: 0 0 0.35em 34px;
    margin: 0 0 0 auto;
  }
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-enTitle {
    width: 100%;
    text-align: right;
    padding: 0 0 0;
  }
}
.top-cuisine .top-cuisine-enTitle::before {
  content: "";
  position: absolute;
  display: block;
  width: 50vw;
  height: 1px;
  bottom: 0;
  right: calc((100vw - var(--width_base)) * 0.5 * -1);
  background-color: #DBD5D5;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-cuisine .top-cuisine-enTitle::before {
    right: calc(var(--sidePadding_base) * -1);
    width: 100%;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-cuisine .top-cuisine-enTitle::before {
    width: calc(50vw + 250px);
    right: -250px;
  }
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-enTitle::before {
    content: none;
  }
}
.top-cuisine .top-cuisine-pict {
  position: absolute;
  width: calc(100vw - var(--sidePadding_base) - 443px);
  width: calc(100vw - 443px - ((100vw - var(--width_base)) * 0.5) - var(--sidePadding_base));
  max-width: 868px;
  top: 31px;
  right: calc(443px + var(--sidePadding_base));
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-cuisine .top-cuisine-pict {
    width: calc(100% - 443px - (var(--sidePadding_base) * 2));
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-cuisine .top-cuisine-pict {
    width: 52%;
    left: var(--sidePadding_base_mbl);
    right: auto;
  }
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-pict {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 90%;
    margin: 26px 0 0 calc(var(--sidePadding_base_mbl) * -1);
  }
}
@media only screen and (max-width: 599px) {
  .top-cuisine .top-cuisine-pict {
    width: calc(100% + var(--sidePadding_base_mbl));
    max-width: 450px;
  }
}
.top-cuisine .top-cuisine-txt {
  width: 443px;
  padding: 44px 0 44px 50px;
  margin: 0 0 0 auto;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-cuisine .top-cuisine-txt {
    width: 45%;
    text-align: left;
    margin: 0 0 0 auto;
    padding: 30px 0 30px 40px;
  }
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-txt {
    width: 100%;
    padding: 0 0 0;
    margin: 35px 0 0;
  }
}
.top-cuisine .top-cuisine-txt__description {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.4em;
  letter-spacing: 0.07em;
  margin: 37px 0 0;
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-txt__description {
    margin-top: 28px;
  }
}
.top-cuisine .top-cuisine-moreBtn {
  margin: 43px 0 0;
}
@media print, screen and (max-width: 799px) {
  .top-cuisine .top-cuisine-moreBtn {
    margin-top: 34px;
  }
}

/* STAY
============================================================ */
.top-stayInner {
  position: relative;
  padding-bottom: 34px;
}
@media only screen and (max-width: 1024px) {
  .top-stayInner {
    max-width: 800px;
    padding: 0 0 99px;
  }
}
.top-stayInner::before {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  min-width: var(--width_min_base);
  height: calc(100% - 117px - 34px);
  top: 117px;
  right: 50%;
  -webkit-transform: translate(50%, 0);
          transform: translate(50%, 0);
  z-index: -1;
  pointer-events: none;
  background: -webkit-linear-gradient(200deg, #e0dcdc 0%, #afa9a9 49.75%, #e0dddd 72.41%, #d0cccc 82.27%, #cbc4c4 100%);
  background: linear-gradient(250deg, #e0dcdc 0%, #afa9a9 49.75%, #e0dddd 72.41%, #d0cccc 82.27%, #cbc4c4 100%);
}
@media only screen and (max-width: 1024px) {
  .top-stayInner::before {
    top: 148px;
    height: calc(100% - 148px);
    background: -webkit-linear-gradient(240deg, #fff 0%, #d8d6d6 25.03%, #cccaca 29.13%, #e0dddd 60.42%, #ededed 74.26%, #cbc4c4 100%);
    background: linear-gradient(210deg, #fff 0%, #d8d6d6 25.03%, #cccaca 29.13%, #e0dddd 60.42%, #ededed 74.26%, #cbc4c4 100%);
  }
}
.top-stay .top-stay-enTitle {
  display: block;
  line-height: 1.1em;
  letter-spacing: 0.02em;
  text-indent: 0em;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-enTitle {
    position: relative;
    line-height: 1.2em;
    padding: 0 var(--sidePadding_base_mbl) 0;
    z-index: 1;
  }
}
.top-stay .top-stay-enTitle > span:nth-child(even) {
  color: #F5F4F4;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-enTitle > span > span {
    display: block;
  }
}
.top-stay .top-stay-pictBlock {
  position: absolute;
  width: min(915px, calc(100vw - (var(--sidePadding_base) * 2) - 350px));
  height: auto;
  aspect-ratio: 915/761;
  top: 0;
  right: -135px;
  z-index: -1;
}
@media print, screen and (min-width: 1025px) and (max-width: 1589px) {
  .top-stay .top-stay-pictBlock {
    width: calc(100% - 350px - (var(--sidePadding_base) * 2));
    right: calc((100vw - 100%) * 0.5 * -1 + var(--sidePadding_base));
  }
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    margin: 0 0 0 auto;
    aspect-ratio: initial;
  }
}
@media print, screen and (min-width: 800px) and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock {
    position: absolute;
    right: 0;
    width: calc(100% - 350px - 20px);
    max-width: 500px;
    margin-top: -228px;
  }
}
@media print, screen and (max-width: 799px) {
  .top-stay .top-stay-pictBlock {
    width: 80%;
    max-width: 500px;
    margin-top: -236px;
  }
}
@media only screen and (max-width: 599px) {
  .top-stay .top-stay-pictBlock {
    width: 100%;
    max-width: 375px;
    margin-top: -175px;
  }
}
.top-stay .top-stay-pictBlock .pict {
  position: absolute;
  display: block;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock .pict {
    position: static;
  }
}
.top-stay .top-stay-pictBlock .pict__01 {
  width: min(600px, 65.58%);
  top: 25px;
  right: 0;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock .pict__01 {
    width: 75%;
    margin: 0 0 0 auto;
  }
}
.top-stay .top-stay-pictBlock .pict__01 > img {
  aspect-ratio: 600/450;
}
.top-stay .top-stay-pictBlock .pict__02 {
  width: min(464px, 50.72%);
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock .pict__02 {
    position: relative;
    width: 68%;
    margin: -6.5% auto 0 0;
  }
}
.top-stay .top-stay-pictBlock .pict__02 > img {
  aspect-ratio: 464/362;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-pictBlock .pict__02 > img {
    aspect-ratio: 255/180;
  }
}
.top-stay .top-stay-txtBlock {
  max-width: 350px;
  min-height: 507px;
  padding: 83px 40px 83px 0;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-txtBlock {
    padding: 0 var(--sidePadding_base_mbl) 0;
    min-height: initial;
    margin: 36px 0 0;
  }
}
.top-stay .top-stay-txtBlock__description {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.4em;
  letter-spacing: 0.08em;
  text-indent: 0em;
  margin: 37px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-txtBlock__description {
    margin-top: 28px;
  }
}
.top-stay .top-stay-txtBlock__moreBtn {
  margin: 44px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-stay .top-stay-txtBlock__moreBtn {
    margin-top: 34px;
  }
}

/* CAMPAIGN FAIR
============================================================ */
.top-campaignFair {
  padding: 169px 0 150px;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair {
    padding: 110px 0 100px;
  }
}
.top-campaignFair .top-campaignFair-hl {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.02em;
  text-indent: 0.02em;
}
@media only screen and (max-width: 599px) {
  .top-campaignFair .top-campaignFair-hl {
    -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;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    font-size: clamp(50px,15.8vw,60px);
    letter-spacing: 0em;
    text-indent: 0em;
  }
}
.top-campaignFair .top-campaignFair-slider {
  margin: 84px 0 0;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider {
    margin: 64px 0 0;
  }
}
@media only screen and (max-width: 599px) {
  .top-campaignFair .top-campaignFair-slider {
    max-width: calc(100% - var(--sidePadding_base_mbl));
    margin: 63px 0 0 auto;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem {
  display: block;
  height: auto;
  width: 380px;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem {
    width: 260px;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItemInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItemInner::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 4px;
  bottom: 6px;
  right: 10px;
  -webkit-mask: url(../images/common/arrow.svg);
          mask: url(../images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right center;
          mask-position: right center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--color_accent);
  -webkit-transition: right 0.2s ease-in;
  transition: right 0.2s ease-in;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItemInner::after {
    right: 0;
    bottom: 0;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__pict {
  display: block;
  overflow: hidden;
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__pict > img {
  aspect-ratio: 380/300;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__pict > img {
    aspect-ratio: 260/177;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock {
  padding: 20px 0;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock {
    padding: 20px 0 11px;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock--hl {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock--hl {
    font-size: 15px;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock--description {
  font-size: 14px;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.02em;
  text-indent: 0em;
  text-align: justify;
  margin: 17px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem__txtBlock--description {
    line-height: 1.8em;
    margin-top: 9px;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem .slideItemInner:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1025px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem .slideItemInner:hover::after {
    right: 4px;
  }
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-wrapper .slideItem .slideItemInner:hover .slideItem__pict > img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media only screen and (max-width: 599px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlockWrap {
    padding-left: 0;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock {
  position: relative;
  margin: 44px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock {
    width: 100%;
    margin: 52px auto 0;
  }
}
@media only screen and (max-width: 599px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock {
    padding: 0 var(--sidePadding_base_mbl) 0 0;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock .bottomBlock-moreBtn {
  margin: 0 auto 0;
}
@media only screen and (max-width: 599px) {
  .top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock .bottomBlock-moreBtn {
    margin: 0 0 0;
  }
}
.top-campaignFair .top-campaignFair-slider .top-campaignFair-slider-bottomBlock .bottomBlock-prevNextBtns {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

/* PHOTO GALLERY
============================================================ */
.top-photoGalleryInner {
  position: relative;
  display: block;
  text-decoration: none;
}
.top-photoGalleryInner::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(173, 151, 151, 0.3);
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
.top-photoGallery .top-photoGallery-txtBlock {
  position: absolute;
  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;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 599px) {
  .top-photoGallery .top-photoGallery-txtBlock {
    padding: 0 0 16px;
  }
}
.top-photoGallery .top-photoGallery-txtBlock .top-photoGallery-hl {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 0.275em;
  color: #fff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
@media only screen and (max-width: 599px) {
  .top-photoGallery .top-photoGallery-txtBlock .top-photoGallery-hl {
    line-height: 1.15em;
  }
}
.top-photoGallery .top-photoGallery-txtBlock .top-photoGallery-moreBtn {
  background-color: #FFF;
  margin: 45px auto 0;
  pointer-events: none;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-photoGallery .top-photoGallery-txtBlock .top-photoGallery-moreBtn {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 599px) {
  .top-photoGallery .top-photoGallery-txtBlock .top-photoGallery-moreBtn {
    margin-top: 82px;
  }
}
.top-photoGallery .top-photoGallery-pictBlock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 599px) {
  .top-photoGallery .top-photoGallery-pictBlock {
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-photoGallery .top-photoGallery-pictBlock > img {
  aspect-ratio: 480/550;
}
@media print, screen and (min-width: 1025px) and (max-width: 1259px) {
  .top-photoGallery .top-photoGallery-pictBlock > img {
    aspect-ratio: 188/308;
  }
}
@media only screen and (max-width: 1024px) {
  .top-photoGallery .top-photoGallery-pictBlock > img {
    aspect-ratio: 188/308;
  }
}
.top-photoGallery .top-photoGalleryInner:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1025px) {
  .top-photoGallery .top-photoGalleryInner:hover::before {
    background-color: rgba(216, 207, 207, 0.55);
  }
  .top-photoGallery .top-photoGalleryInner:hover .top-photoGallery-txtBlock .top-photoGallery-moreBtn {
    color: #fff;
    background-color: rgba(64, 64, 64, 0.8);
  }
}

/* LINKS
============================================================ */
.top-links {
  padding: 150px 0;
  background: -webkit-linear-gradient(211deg, #fff 0%, #e3dfdf 35.47%, #f7f4f4 60.1%, #ebe8e8 100%);
  background: linear-gradient(239deg, #fff 0%, #e3dfdf 35.47%, #f7f4f4 60.1%, #ebe8e8 100%);
}
@media only screen and (max-width: 1024px) {
  .top-links {
    padding: 100px 0;
    background: -webkit-linear-gradient(225deg, #fff 0%, #e3dfdf 35.47%, #f7f4f4 60.1%, #ebe8e8 100%);
    background: linear-gradient(225deg, #fff 0%, #e3dfdf 35.47%, #f7f4f4 60.1%, #ebe8e8 100%);
  }
}
.top-linksInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  width: 100%;
}
@media only screen and (max-width: 1024px) {
  .top-linksInner {
    gap: 20px;
  }
}
.top-linksInner .linkBtn {
  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;
  -ms-flex-line-pack: center;
      align-content: center;
  width: calc(50% - 20px);
  max-width: 550px;
  min-height: 150px;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 0em;
  text-indent: 0em;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  padding: 20px;
  -webkit-box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 1024px) {
  .top-linksInner .linkBtn {
    min-height: 100px;
    font-size: 20px;
  }
}
@media only screen and (max-width: 599px) {
  .top-linksInner .linkBtn {
    width: 100%;
    max-width: 450px;
  }
}
.top-linksInner .linkBtn::before {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 1px solid var(--color_accent);
  pointer-events: none;
}