@charset "UTF-8";
/* ===================================================================
CSS information

file name  : homepage.css
author     : AROUND TAKAYAMA Renew
style info : トップページ
=================================================================== */
/* cspell:disable-next-line */
@font-face {
  font-family: 'Lulo Clean';
  src: url("../../../ascend/fonts/FontsFree-Net-Lulo-Clean-W01-One-Bold.ttf") format("truetype");
}
/* font-awesome */
/* -----------------------------------------------------------
	スライド　用
----------------------------------------------------------- */
/*Animate */
/* -----------------------------------------------------------
	ホテル リブランド用
----------------------------------------------------------- */
/* ===========================
	PC/SP_JP（Noto Sans JP）
   =========================== */
/* ===========================
	PC/SP_LULO（LuloCleanOne-Bold）
   =========================== */
/* ===========================
	PC/SP_MON（Montserrat SemiBold）
   =========================== */
/* cspell:disable-next-line */
@font-face {
  font-family: 'Lulo Clean';
  src: url("../../../ascend/fonts/FontsFree-Net-Lulo-Clean-W01-One-Bold.ttf") format("truetype");
}
/* font-awesome */
/* -----------------------------------------------------------
	スライド　用
----------------------------------------------------------- */
/*Animate */
/* -----------------------------------------------------------
	ホテル リブランド用
----------------------------------------------------------- */
/* ===========================
	PC/SP_JP（Noto Sans JP）
   =========================== */
/* ===========================
	PC/SP_LULO（LuloCleanOne-Bold）
   =========================== */
/* ===========================
	PC/SP_MON（Montserrat SemiBold）
   =========================== */
#page {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px !important;
}
@media only screen and (max-width: 767px) {
  #page {
    font-family: "Noto Sans JP", sans-serif;
  }
}

body.is-gmenu-open,
body.is-gmenu-noscroll {
  overflow: hidden;
}

.en_lulo {
  font-family: "Lulo Clean", sans-serif;
}
@media only screen and (max-width: 767px) {
  .en_lulo {
    font-family: "Lulo Clean", sans-serif;
  }
}

.en_mon {
  font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  .en_mon {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}

a {
  color: #005184;
  text-decoration: none;
}

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

/* -----------------------------------------------------------
	layout
----------------------------------------------------------- */
.l_container {
  width: 100%;
  max-width: 100%;
  padding-left: 120px;
  padding-right: 120px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .l_container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.l_row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

.l_col {
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

.l_col_1 {
  width: 8.33333%;
}

.l_col_2 {
  width: 16.66667%;
}

.l_col_3 {
  width: 25%;
}

.l_col_4 {
  width: 33.33333%;
}

.l_col_5 {
  width: 41.66667%;
}

.l_col_6 {
  width: 50%;
}

.l_col_7 {
  width: 58.33333%;
}

.l_col_8 {
  width: 66.66667%;
}

.l_col_9 {
  width: 75%;
}

.l_col_10 {
  width: 83.33333%;
}

.l_col_11 {
  width: 91.66667%;
}

.l_col_12 {
  width: 100%;
}

/* -----------------------------------------------------------
	ローディング画面
----------------------------------------------------------- */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}
.loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.loading__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .loading__logos {
    flex-direction: column;
    gap: 32px;
  }
}
.loading__logo {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.loading__logo.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.loading__logo--around .loading__logo-img {
  height: 60px;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .loading__logo--around .loading__logo-img {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
.loading__logo--ascend .loading__logo-img {
  height: 40px;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .loading__logo--ascend .loading__logo-img {
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
.loading__logo-img {
  display: block;
  max-width: 100%;
  height: auto;
}
.loading__progress {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .loading__progress {
    bottom: 40px;
    width: 150px;
  }
}
.loading__progress-bar {
  width: 0;
  height: 100%;
  background-color: #fff;
  transition: width 0.1s linear;
}

/* -----------------------------------------------------------
	スクロールフェードインアニメーション
----------------------------------------------------------- */
.js-scroll-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.js-scroll-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.js-scroll-fade:focus-within {
  opacity: 1;
  transform: translateY(0);
}
@media only screen and (max-width: 1079px) {
  .js-scroll-fade--pc-only {
    opacity: 1;
    transform: none;
  }
}
.js-scroll-fade--tab-sp-only {
  opacity: 1;
  transform: none;
}
@media only screen and (max-width: 1079px) {
  .js-scroll-fade--tab-sp-only {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  .js-scroll-fade--tab-sp-only.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
  .js-scroll-fade--tab-sp-only:focus-within {
    opacity: 1;
    transform: translateY(0);
  }
}

/* -----------------------------------------------------------
	MV セクション
----------------------------------------------------------- */
.con_mv {
  position: relative;
  height: 95svh;
  min-height: 600px;
  overflow: hidden;
}
.con_mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.con_mv .scrolldown {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 140%;
  font-weight: 600;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .con_mv .scrolldown {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .con_mv .scrolldown {
    bottom: 2rem;
    left: 2rem;
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 1079px) and (max-width: 767px) {
  .con_mv .scrolldown {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}

.con_mv .scrolldown__link {
  color: #FFFFFF;
  letter-spacing: 0.56px;
  text-decoration: none;
}

/* -----------------------------------------------------------
	MV スライダー
----------------------------------------------------------- */
.mv-slider {
  position: relative;
  width: 100%;
  height: 95svh;
  min-height: 600px;
  overflow: hidden;
}
.mv-slider__swiper {
  width: 100%;
  height: 100%;
}
.mv-slider__slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mv-slider__slide--split {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100%;
  height: 100%;
  gap: 0;
}
@media only screen and (max-width: 1079px) {
  .mv-slider__slide--split {
    flex-direction: column !important;
  }
}
.mv-slider__split-left, .mv-slider__split-right {
  flex: 1 1 50%;
  width: 50%;
  max-width: 50%;
  height: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 1079px) {
  .mv-slider__split-left, .mv-slider__split-right {
    flex: 1 1 50%;
    width: 100%;
    max-width: 100%;
    height: 50%;
  }
}
.mv-slider__slide--single {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mv-slider__img-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mv-slider__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.08);
}
.swiper-slide-active .mv-slider__img-wrap img, .swiper-slide-duplicate-active .mv-slider__img-wrap img {
  animation: kenBurnsZoom 6s ease-out forwards;
}
.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) .mv-slider__img-wrap img {
  transform: scale(1.08);
  animation: none;
}
.mv-slider .swiper-button-prev,
.mv-slider .swiper-button-next,
.mv-slider .swiper-pagination {
  display: none !important;
}

@keyframes kenBurnsZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.08);
  }
}
/* -----------------------------------------------------------
	MV コピー（スライドに影響されない固定表示）
----------------------------------------------------------- */
.mv-copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  text-align: center;
  color: #FFFFFF;
  pointer-events: none;
}
@media only screen and (max-width: 1079px) {
  .mv-copy {
    gap: 14px;
  }
}
.mv-copy__en {
  font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .mv-copy__en {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .mv-copy__en {
    font-size: 26px;
    line-height: 1.2;
  }
}
.mv-copy__jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .mv-copy__jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .mv-copy__jp {
    font-size: 14px;
  }
}

.p-top-hero {
  position: relative;
  padding: 80px 0 60px;
  background: #f5f5f5;
}
@media only screen and (max-width: 767px) {
  .p-top-hero {
    padding: 50px 0 40px;
  }
}
.p-top-hero__title {
  text-align: center;
  font-size: 200%;
  letter-spacing: .08em;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .p-top-hero__title {
    font-size: 175%;
  }
}
@media only screen and (max-width: 767px) {
  .p-top-hero__title {
    font-size: 138%;
  }
}
.p-top-hero__lead {
  margin-top: 20px;
  text-align: center;
  font-size: 88%;
}

.p-top-section {
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  .p-top-section {
    padding: 40px 0;
  }
}
.p-top-section__title {
  text-align: center;
  font-size: 125%;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .p-top-section__title {
    font-size: 113%;
  }
}
@media only screen and (max-width: 767px) {
  .p-top-section__title {
    font-size: 100%;
  }
}

/* -----------------------------------------------------------
	重要なお知らせ
----------------------------------------------------------- */
.important-notice {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  padding: 0 120px;
  margin-top: 1.375rem;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .important-notice {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .important-notice {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .important-notice {
    margin-top: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .important-notice {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
}
.important-notice__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  padding: 16px 26px;
  background-color: #F5F5F5;
  border-radius: 99px;
}
@media only screen and (max-width: 767px) {
  .important-notice__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 20px;
    border-radius: 0;
    gap: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .important-notice__inner > .important-notice__label,
  .important-notice__inner > .important-notice__nav {
    display: none;
  }
}
.important-notice__header {
  display: none;
}
@media only screen and (max-width: 767px) {
  .important-notice__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
  }
}
.important-notice__label {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.important-notice__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.important-notice__label-text {
  font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #A6A6A6;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .important-notice__label-text {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}
.important-notice__divider {
  width: 1px;
  height: 22px;
  background-color: #C8C8C8;
  margin: 0 16px;
  flex-shrink: 0;
  transform: rotate(0deg);
}
@media only screen and (max-width: 767px) {
  .important-notice__divider {
    display: none;
  }
}
.important-notice__slider {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .important-notice__slider {
    width: 100%;
  }
}
.important-notice__slider-wrapper {
  display: flex;
  transition: transform 0.3s ease;
}
.important-notice__slide {
  flex: 0 0 100%;
  min-width: 0;
}
.important-notice__link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}
.important-notice__date {
  font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #808080;
  letter-spacing: 0.04em;
  line-height: 1.4;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .important-notice__date {
    font-family: "Montserrat SemiBold", "Montserrat", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .important-notice__date {
    font-size: 12px;
    letter-spacing: 0.02em;
  }
}
.important-notice__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.08em;
  line-height: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .important-notice__title {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .important-notice__title {
    line-height: 1.4;
  }
}
.important-notice__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-left: 16px;
}
@media only screen and (max-width: 767px) {
  .important-notice__nav {
    margin-left: 0;
  }
}
.important-notice__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 22px;
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid #C8C8C8;
  border-radius: 99px;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(5px);
  position: relative;
  overflow: hidden;
}
.important-notice__nav-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #d9d9d9;
  mix-blend-mode: soft-light;
}
@media only screen and (max-width: 767px) {
  .important-notice__nav-btn {
    width: 40px;
    height: 20px;
  }
}
.important-notice__nav-btn:hover {
  background: rgba(255, 255, 255, 0.5);
}
.important-notice__nav-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.important-notice__nav-btn svg {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
}

/* -----------------------------------------------------------
	クーポン情報
----------------------------------------------------------- */
.coupon-section {
  position: relative;
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  .coupon-section {
    padding: 48px 0;
  }
}
.coupon-section__inner {
  width: 100%;
  max-width: 1246px;
  margin: 0 auto;
  padding: 0 23px;
}
@media only screen and (min-width: 1079px) and (max-width: 1246px) {
  .coupon-section__inner {
    max-width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .coupon-section__inner {
    width: 90%;
  }
}
@media only screen and (max-width: 1079px) {
  .coupon-section__inner {
    padding: 0;
  }
}
.coupon-section__slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 44px;
}
@media only screen and (max-width: 767px) {
  .coupon-section__slider-wrap {
    gap: 0;
    margin: 0;
    padding: 0;
  }
}
.coupon-section__slider {
  width: 100%;
  max-width: 1154px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .coupon-section__slider {
    max-width: 100%;
    overflow: visible;
  }
}
.coupon-section__slider .swiper-wrapper {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .coupon-section__slider .swiper-wrapper {
    justify-content: left;
  }
}
.coupon-section__slide {
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .coupon-section__slide {
    width: 264px !important;
  }
}
.coupon-section__card {
  display: block;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #C8C8C8;
  transition: opacity 0.2s ease;
}
@media only screen and (max-width: 767px) {
  .coupon-section__card {
    border-radius: 8px;
    border: none;
  }
}
.coupon-section__card:hover {
  opacity: 0.8;
}
.coupon-section__card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 370 / 208;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .coupon-section__card-img {
    width: 264px;
    height: 148px;
    aspect-ratio: 264 / 148;
  }
}
.coupon-section__nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 26px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(230, 230, 230, 0.3);
  border-radius: 99px;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(5px);
  overflow: hidden;
  z-index: 10;
}
.coupon-section__nav-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #d9d9d9;
  mix-blend-mode: soft-light;
}
.coupon-section__nav-btn--prev {
  left: 0;
}
@media only screen and (min-width: 1079px) and (max-width: 1246px) {
  .coupon-section__nav-btn--prev {
    left: -3rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .coupon-section__nav-btn--prev {
    left: -3rem;
  }
}
@media only screen and (max-width: 767px) {
  .coupon-section__nav-btn--prev {
    display: none;
  }
}
.coupon-section__nav-btn--next {
  right: 0;
}
@media only screen and (min-width: 1079px) and (max-width: 1246px) {
  .coupon-section__nav-btn--next {
    right: -3rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .coupon-section__nav-btn--next {
    right: -3rem;
  }
}
@media only screen and (max-width: 767px) {
  .coupon-section__nav-btn--next {
    display: none;
  }
}
.coupon-section__nav-btn:hover {
  background: rgba(255, 255, 255, 0.4);
}
.coupon-section__nav-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.coupon-section__nav-btn svg {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 16px;
}

/* -----------------------------------------------------------
	セクション間グラデーション
----------------------------------------------------------- */
.section-gradient {
  width: 100%;
  height: 50px;
  background: linear-gradient(to bottom, #ffffff 0%, #f5f5f5 100%);
}

/* -----------------------------------------------------------
	フルスクリーンセクション（メインコンテンツ）
----------------------------------------------------------- */
.fullpage-sections {
  position: relative;
  width: 100%;
  background-color: #F5F5F5;
}

/* -----------------------------------------------------------
	フルスクリーンセクション：static表示モード（スクロール連動無効）
	- PC用スタイルは維持しつつ「非表示/固定前提」だけ解除する
----------------------------------------------------------- */
.fullpage-sections--static .section-indicator {
  display: none !important;
}
.fullpage-sections--static .fp-backgrounds {
  display: none !important;
}
.fullpage-sections--static .fp-fixed-container {
  position: static !important;
  width: 100%;
  height: auto;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.fullpage-sections--static .fp-content {
  position: static !important;
  width: 100%;
  height: auto;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.fullpage-sections--static .fp-scroll-spacer {
  display: none !important;
  height: auto !important;
}

/* -----------------------------------------------------------
	フルスクリーンセクション：SPレイアウト強制モード
	- PC幅でも Tab/SP と同じ「通常フロー表示」にする
	- JSのフルページ処理はスキップ（homepage.js側で判定）
----------------------------------------------------------- */
.fullpage-sections--sp-layout .section-indicator {
  display: none !important;
}
.fullpage-sections--sp-layout .fp-backgrounds {
  display: none !important;
}
.fullpage-sections--sp-layout .fp-fixed-container {
  position: static !important;
  width: 100%;
  height: auto;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: flex;
  flex-direction: column;
}
.fullpage-sections--sp-layout .fp-content {
  position: static !important;
  width: 100%;
  height: auto;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  margin-bottom: 6rem;
  z-index: 0;
}
@media only screen and (min-width: 1080px) {
  .fullpage-sections--sp-layout .fp-content {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .fullpage-sections--sp-layout .fp-content {
    margin-bottom: 4rem;
  }
}
.fullpage-sections--sp-layout .fp-scroll-spacer {
  display: none !important;
  height: auto !important;
}

/* -----------------------------------------------------------
	セクションインジケーター（右側固定）
----------------------------------------------------------- */
.section-indicator {
  position: fixed;
  right: 120px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  opacity: 0;
  visibility: visible;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width: 1079px) {
  .section-indicator {
    display: none;
  }
}
.section-indicator.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.section-indicator:focus-within {
  opacity: 1;
  pointer-events: auto;
}
.section-indicator__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
}
.section-indicator__item:hover .section-indicator__tooltip, .section-indicator__item:focus-visible .section-indicator__tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}
.section-indicator__item:focus-visible {
  outline: 2px solid #625D20;
  outline-offset: 6px;
}
.section-indicator__item.is-current .section-indicator__dot {
  width: 6px;
  height: 6px;
  background-color: #625D20;
}
.section-indicator__item.is-current .section-indicator__dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border: 1px solid #625D20;
  border-radius: 50%;
}
.section-indicator__dot {
  position: relative;
  width: 4px;
  height: 4px;
  background-color: #808080;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.section-indicator__tooltip {
  position: absolute;
  right: calc(100% + 16px);
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  font-family: "Lulo Clean", sans-serif;
  font-size: 12px;
  color: #808080;
  letter-spacing: -0.08em;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .section-indicator__tooltip {
    font-family: "Lulo Clean", sans-serif;
  }
}
.section-indicator__line {
  width: 1px;
  height: 40px;
  position: relative;
  overflow: hidden;
}
.section-indicator__line::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(to bottom, #808080 0px, #808080 1px, transparent 1px, transparent 3px);
}
.section-indicator__line.is-active::before {
  background: #808080;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .section-indicator {
    display: none !important;
  }
}

/* -----------------------------------------------------------
	背景画像コンテナ（固定表示・フェード切り替え）
----------------------------------------------------------- */
.fp-backgrounds {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
@media only screen and (max-width: 1079px) {
  .fp-backgrounds {
    display: none;
  }
}
.fp-backgrounds.is-visible {
  opacity: 1;
  visibility: visible;
}
.fp-backgrounds.is-released {
  position: absolute;
  top: var(--fp-release-top, 0);
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: none;
}
.fp-backgrounds__item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 144px);
  height: calc(100% + 180px);
  opacity: 0;
  transition: opacity 0.8s ease;
}
.fp-backgrounds__item.is-visible {
  opacity: 1;
}
.fp-backgrounds__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(10px);
}
.fp-backgrounds__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

/* -----------------------------------------------------------
	フルページセクション（フェード切り替え方式）
----------------------------------------------------------- */
.fullpage-sections {
  position: relative;
  width: 100%;
}

.fp-fixed-container {
  position: static !important;
  width: 100%;
  height: auto;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: flex;
  flex-direction: column;
}
.fp-fixed-container.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.fp-fixed-container.is-released {
  position: absolute;
  top: var(--fp-release-top, 0);
  left: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}

.fp-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  pointer-events: none;
}
@media only screen and (max-width: 1079px) {
  .fp-content {
    position: static !important;
    width: 100%;
    height: auto;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin-bottom: 4.25rem;
    z-index: 0;
  }
}
@media only screen and (max-width: 767px) {
  .fp-content {
    padding: 0 20px;
  }
}
.fp-content.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.fp-content--intro {
  background-color: #F5F5F5;
}
@media only screen and (max-width: 1079px) {
  .fp-content--intro {
    padding-bottom: 150px;
  }
}
.fp-content__phase {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
@media only screen and (max-width: 1079px) {
  .fp-content__phase {
    position: static !important;
    width: 100%;
    height: auto;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
.fp-content__phase.is-active {
  opacity: 1;
  visibility: visible;
}
.fp-content__phase--text {
  z-index: 10;
  background-color: #F5F5F5;
}
@media only screen and (max-width: 1079px) {
  .fp-content__phase--text {
    display: flex;
  }
}
.fp-content__phase--image {
  z-index: 8;
  background-color: #F5F5F5;
}
@media only screen and (max-width: 1079px) {
  .fp-content__phase--image {
    display: none;
  }
}

.fp-scroll-spacer {
  height: 500vh;
}
@media only screen and (max-width: 1079px) {
  .fp-scroll-spacer {
    display: none;
  }
}

/* -----------------------------------------------------------
	フェーズ1: テキストコンテンツ（1-1）
----------------------------------------------------------- */
.fp-phase-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.fp-phase-text__lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #808080;
  letter-spacing: 0.08em;
  line-height: 1.16;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin-bottom: 26px;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  .fp-phase-text__lead {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-text__lead {
    font-size: 14px;
    margin-bottom: 20px;
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.fp-phase-text__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media only screen and (max-width: 1079px) {
  .fp-phase-text__title-wrap {
    gap: 8px;
  }
}
.fp-phase-text__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 32px;
  color: #000000;
  letter-spacing: -0.08em;
  line-height: 1.4;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.4s;
}
@media only screen and (max-width: 767px) {
  .fp-phase-text__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-text__title-en {
    font-size: 26px;
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.fp-phase-text__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.12em;
  line-height: 1.4;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
  animation-delay: 0.6s;
}
@media only screen and (max-width: 767px) {
  .fp-phase-text__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-text__title-jp {
    font-size: 18px;
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.fp-phase-text__line {
  width: 1px;
  height: 80px;
  margin-top: 26px;
  position: relative;
  overflow: hidden;
  background-color: rgba(128, 128, 128, 0.3);
}
@media only screen and (max-width: 1079px) {
  .fp-phase-text__line {
    height: 80px;
    margin-top: 20px;
  }
}
.fp-phase-text__line-bar {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #808080;
  animation: lineScroll 1.5s infinite;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes lineScroll {
  0% {
    transform: scaleY(0);
    transform-origin: 0 0;
  }
  50% {
    transform: scaleY(1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scaleY(1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scaleY(0);
    transform-origin: 0 100%;
  }
}
/* -----------------------------------------------------------
	フェーズ2: 画像コンテンツ（1-2）スケール＆ぼかし遷移
----------------------------------------------------------- */
.fp-phase-image {
  --scale-progress: 0;
  --image-width: 400px;
  --image-height: 400px;
  width: var(--image-width);
  height: var(--image-height);
  overflow: hidden;
  position: relative;
  transition: width 0.1s ease-out, height 0.1s ease-out;
}
.fp-section__phase--image.is-fullscreen .fp-phase-image {
  width: calc(100% + 144px);
  height: calc(100% + 180px);
  transition: none;
}
.fp-phase-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.4s ease;
}
.fp-section__phase--image.is-blurred .fp-phase-image__img, .fp-section__phase--image.is-fullscreen .fp-phase-image__img {
  filter: blur(10px);
}
.fp-phase-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.4s ease;
}
.fp-section__phase--image.is-fullscreen .fp-phase-image::after {
  opacity: 1;
}

/* -----------------------------------------------------------
	フェーズ3: 詳細コンテンツ
----------------------------------------------------------- */
.fp-phase-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  text-align: center;
  color: #FFFFFF;
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail {
    width: 100%;
    max-width: 700px;
    gap: 48px;
    color: #000000;
    padding: 4.25rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .fp-phase-detail {
    max-width: 336px;
  }
}
.fp-phase-detail__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail__header {
    gap: 0;
  }
}
.fp-phase-detail__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 32px;
  color: #808080;
  letter-spacing: -0.08em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .fp-phase-detail__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail__title-en {
    font-size: 26px;
  }
}
.fp-phase-detail__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #A6A6A6;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .fp-phase-detail__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail__title-jp {
    font-size: 14px;
  }
}
.fp-phase-detail__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.08em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .fp-phase-detail__text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail__text {
    font-size: 14px;
    line-height: 2;
  }
}
.fp-phase-detail__thumbnail {
  order: -1;
  width: 90%;
  max-width: 600px;
  height: auto;
  border-radius: 4px;
  aspect-ratio: 300 / 200;
  overflow: hidden;
}
.fp-phase-detail__thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fp-phase-detail__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  background-color: #000000;
  border: none;
  border-radius: 99px;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(5px);
  transition: all 0.2s ease;
}
@media only screen and (max-width: 767px) {
  .fp-phase-detail__btn {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.fp-phase-detail__btn:hover {
  background: rgba(255, 255, 255, 0.1);
  background-color: #000000;
}
@media only screen and (max-width: 1079px) {
  .fp-phase-detail__btn {
    padding: 6px 18px;
    height: 36px;
    font-size: 14px;
  }
}

@media only screen and (max-width: 1079px) {
  .fp-content[data-section="1"],
  .fp-content[data-section="2"],
  .fp-content[data-section="3"] {
    background-color: transparent;
  }
}

/* -----------------------------------------------------------
	ホテルについてセクション（スクロール固定＋パララックス）
----------------------------------------------------------- */
.about-section {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #1a1a1a 0%, #262626 100%);
  overflow: visible;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section {
    background: #262626;
    overflow: hidden;
    min-height: 750px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section {
    background: #262626;
    overflow: hidden;
    min-height: auto;
  }
}
.about-section__spacer {
  height: 500vh;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__spacer {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__spacer {
    display: none;
  }
}
.about-section__fixed-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.about-section__fixed-container.is-hidden-outside {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.about-section__fixed-container.is-active {
  opacity: 1;
  pointer-events: auto;
}
.about-section__fixed-container.is-released {
  position: absolute;
  top: auto;
  bottom: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__fixed-container {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    height: auto;
    min-height: 750px;
    opacity: 1;
    pointer-events: auto;
  }
  .about-section__fixed-container.is-active, .about-section__fixed-container.is-released, .about-section__fixed-container.is-hidden-outside {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__fixed-container {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    height: auto;
    min-height: auto;
    opacity: 1;
    pointer-events: auto;
  }
  .about-section__fixed-container.is-active, .about-section__fixed-container.is-released, .about-section__fixed-container.is-hidden-outside {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
.about-section__bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
  z-index: 1;
}
.about-section__bg-layer.is-active {
  opacity: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__bg-layer {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__bg-layer {
    display: none;
  }
}
.about-section__scroll-images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-images {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-images {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}
.about-section__scroll-img {
  position: absolute;
  will-change: transform;
  transform: translateY(0);
}
.about-section__scroll-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img {
    position: absolute;
    transform: none !important;
  }
  .about-section__scroll-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img {
    position: absolute;
    transform: none !important;
  }
  .about-section__scroll-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.about-section__scroll-img--map {
  top: 0;
  right: auto;
  left: 30px;
  width: 583px;
  height: 430px;
  opacity: 0.3;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    top: 257px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    top: 257px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    width: 315px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    width: 186px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    height: 374px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    height: 374px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    opacity: 1;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--map {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--map {
    mix-blend-mode: exclusion;
  }
  .about-section__scroll-img--map img {
    object-position: left center;
  }
}
.about-section__scroll-img--1 {
  top: 140px;
  right: 0;
  width: 360px;
  height: 360px;
  z-index: 3;
}
@media only screen and (max-width: 1079px) {
  .about-section__scroll-img--1 {
    display: none;
  }
}
.about-section__scroll-img--2 {
  top: 954px;
  right: 0;
  width: 312px;
  height: 235px;
  z-index: 4;
}
@media only screen and (max-width: 1079px) {
  .about-section__scroll-img--2 {
    display: none;
  }
}
.about-section__scroll-img--3 {
  top: 614px;
  left: 0;
  right: auto;
  width: 522px;
  height: 695px;
  z-index: 2;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--3 {
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--3 {
    top: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--3 {
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--3 {
    left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--3 {
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--3 {
    right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--3 {
    width: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--3 {
    width: 184px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--3 {
    height: 360px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--3 {
    height: 224px;
  }
}
@media only screen and (max-width: 1079px) {
  .about-section__scroll-img--3::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #262626 0%, rgba(0, 0, 0, 0) 100%);
  }
}
.about-section__scroll-img--4 {
  top: 1089px;
  left: 913px;
  width: 230px;
  height: 172px;
  z-index: 5;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    top: 70%;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--4 {
    top: 65%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--4 {
    left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    width: 250px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--4 {
    width: 112px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--4 {
    height: 84px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    aspect-ratio: 112 / 84;
  }
}
@media only screen and (max-width: 1079px) {
  .about-section__scroll-img--4 {
    right: 0;
  }
}
.about-section__scroll-img--5 {
  top: 1248px;
  left: 231px;
  width: 360px;
  height: 360px;
  z-index: 3;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--5 {
    top: 800px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--5 {
    top: 894px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--5 {
    left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--5 {
    left: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--5 {
    width: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--5 {
    width: 240px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--5 {
    height: 240px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--5 {
    height: 240px;
  }
}
.about-section__scroll-img--6 {
  top: 1341px;
  left: 721px;
  right: auto;
  width: 400px;
  height: 533px;
  z-index: 2;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    top: 1000px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--6 {
    top: 1190px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--6 {
    left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--6 {
    right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    width: 350px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--6 {
    width: 258px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__scroll-img--6 {
    height: 145px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__scroll-img--6 {
    aspect-ratio: 258 / 145;
  }
}
.about-section__content-fixed {
  position: absolute;
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  padding: 0;
  transform: translateX(-50%);
  z-index: 10;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    position: relative;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    top: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    top: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    max-width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    padding: 11rem 2.5rem 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    padding: 10rem 2.5rem 35rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__content-fixed {
    transform: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__content-fixed {
    transform: none;
  }
}
.about-section__title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  height: fit-content;
  margin-bottom: 0;
  padding-top: 20svh;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title {
    align-items: baseline;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title {
    align-items: baseline;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title {
    gap: 0.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title {
    gap: 0.25rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title {
    padding-top: 0;
  }
}
.about-section__title-text {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: .25rem;
}
.about-section__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.08em;
  color: #FFFFFF;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .about-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title-en {
    font-size: 14px;
  }
}
.about-section__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #E5E5E5;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .about-section__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title-jp {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title-jp {
    font-size: 12px;
  }
}
.about-section__title-line {
  width: 96px;
  height: 1px;
  background-color: #818181;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__title-line {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__title-line {
    display: none;
  }
}
.about-section__text-area {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 50%;
  max-width: 500px;
  padding-top: 20svh;
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-area {
    gap: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-area {
    gap: 3.5rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-area {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-area {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-area {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-area {
    max-width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-area {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-area {
    padding-top: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-area {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-area {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 1079px) {
  .about-section__text-area {
    position: static;
    left: auto;
    top: auto;
  }
}
.about-section__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 200%;
  font-weight: normal;
  letter-spacing: 0.08em;
  color: #E5E5E5;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .about-section__text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text {
    color: #DBDBDB;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text {
    color: #DBDBDB;
  }
}
.about-section__text .about-header-text {
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text .about-header-text {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text .about-header-text {
    font-size: 16px;
  }
}
.about-section__text-box {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .about-section__text-box {
    gap: 1rem;
  }
}
.about-section__buttons {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 22px;
  align-self: flex-start;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__buttons {
    position: static;
    width: auto;
    left: auto;
    top: auto;
    gap: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__buttons {
    position: static;
    width: auto;
    left: auto;
    top: auto;
    gap: 16px;
  }
}
.about-section__btn-group {
  display: flex;
  flex-direction: row;
  gap: 1.375rem;
  align-items: center;
  width: auto;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__btn-group {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__btn-group {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__btn-group {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__btn-group {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__btn-group {
    width: 100%;
  }
}
@media only screen and (max-width: 1079px) {
  .about-section__btn-group {
    margin-bottom: 1.375rem;
  }
}
.about-section__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  background: transparent;
  border: 1px solid #ebebeb;
  border-radius: 99px;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: normal;
  letter-spacing: 0.08em;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(5px);
  transition: all 0.2s ease;
}
@media only screen and (max-width: 767px) {
  .about-section__btn {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.about-section__btn::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: rgba(224, 224, 224, 0.1);
  mix-blend-mode: soft-light;
}
@media only screen and (max-width: 767px) {
  .about-section__btn {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .about-section__btn {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.about-section__btn-text {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .about-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.about-section__text-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.about-section__text-link:hover {
  opacity: 0.8;
}
.about-section__text-link-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .about-section__text-link-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-link-text {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-link-text {
    font-size: 13px;
  }
}
.about-section__text-link-icon {
  position: relative;
  width: 46px;
  height: 24px;
}
.about-section__text-link-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 22px;
  transform: translate(-50%, -50%);
  background: url(../images/common/ic_arrow_right_normal.svg) center/contain no-repeat;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section__text-link-icon {
    width: 40px;
    height: 20px;
  }
  .about-section__text-link-icon::after {
    width: 40px;
    height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .about-section__text-link-icon {
    width: 36px;
    height: 18px;
  }
  .about-section__text-link-icon::after {
    width: 36px;
    height: 18px;
  }
}
.about-section__text-link-icon-blur {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0.01);
}
.about-section__text-link-icon-bg {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background-color: #e0e0e0;
  mix-blend-mode: soft-light;
}
.about-section__text-link-icon svg {
  position: relative;
  z-index: 1;
}
.about-section .js-about-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.about-section .js-about-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.about-section .js-about-fade.is-fading-out {
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
}
.about-section .js-about-fade.is-collapsed {
  display: none;
  opacity: 0;
  transform: none;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .about-section .js-about-fade {
    opacity: 1 !important;
    transform: none !important;
    display: block !important;
    pointer-events: auto !important;
  }
  .about-section .js-about-fade.is-collapsed, .about-section .js-about-fade.is-fading-out {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    margin: initial;
    padding: initial;
    pointer-events: auto !important;
  }
}
@media only screen and (max-width: 767px) {
  .about-section .js-about-fade {
    opacity: 1 !important;
    transform: none !important;
    display: block !important;
    pointer-events: auto !important;
  }
  .about-section .js-about-fade.is-collapsed, .about-section .js-about-fade.is-fading-out {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    margin: initial;
    padding: initial;
    pointer-events: auto !important;
  }
}

/* -----------------------------------------------------------
	背景グラデーションエリア
----------------------------------------------------------- */
.bg-gradation-area {
  position: relative;
  width: 100%;
  height: 400px;
  background: linear-gradient(180deg, #262626 0%, rgba(38, 38, 38, 0) 100%);
}
@media only screen and (max-width: 1079px) {
  .bg-gradation-area {
    height: 10rem;
  }
}

/* -----------------------------------------------------------
	アクセスセクション
----------------------------------------------------------- */
.access-section {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: 5rem auto;
  padding: 120px 0;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .access-section {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section {
    padding: 80px 0;
  }
}
.access-section__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 460px;
  margin-right: auto;
  padding: 0 40px;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__inner {
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__inner {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
}
.access-section__map {
  position: absolute;
  top: 0;
  right: -10%;
  flex: 0 0 auto;
  width: 750px;
  height: auto;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map {
    right: -15%;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__map {
    right: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__map {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map {
    max-width: 600px;
    height: auto;
    aspect-ratio: 360 / 280;
  }
}
.access-section__map-svg {
  width: 100%;
  height: auto;
}
.access-section__map-svg img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map-pin {
    top: 15%;
    right: 20%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map-pin-line {
    height: 60px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map-label-top {
    font-size: 16px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__map-label-bottom {
    font-size: 18px;
  }
}
.access-section__content {
  flex: 0 0 auto;
  width: 100%;
  margin-top: 12rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__content {
    width: 100%;
    max-width: 400px;
  }
}
.access-section__title {
  display: flex;
  align-items: flex-end;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .access-section__title {
    align-items: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__title {
    margin-bottom: 30px;
  }
}
.access-section__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 32px;
  line-height: 140%;
  font-weight: normal;
  color: #808080;
  letter-spacing: -0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__title-en {
    font-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__title-en {
    font-family: "Lulo Clean", sans-serif;
    font-size: 26px;
    line-height: 120%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}

.access-section__title-separator {
  display: block;
  width: 16px;
  height: 1px;
  background-color: #808080;
  transform: rotate(120deg);
  margin: 0 0.5rem;
}
@media only screen and (max-width: 767px) {
  .access-section__title-separator {
    margin: 0.5rem 0.5rem 0 0.5rem;
  }
}
.access-section__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  color: #a6a6a6;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__title-jp {
    margin-top: .5rem;
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.access-section__text-area {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__text-area {
    gap: 18px;
  }
}
.access-section__address-block {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.access-section__address {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: normal;
  color: #000;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__address {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__address {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__address {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.access-section__google-map {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: fit-content;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.access-section__google-map:hover {
  opacity: 0.7;
}
.access-section__google-map-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: normal;
  color: #000;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__google-map-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__google-map-text {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__google-map-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.access-section__google-map-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 22px;
  border: 1px solid #ebebeb;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.01);
  backdrop-filter: blur(5px);
  color: #666;
}
.access-section__tel {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__tel {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.access-section__tel-label {
  color: #808080;
}
.access-section__tel-number {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .access-section__tel-number {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.access-section__divider {
  width: 100%;
  height: 1px;
  background-color: #c8c8c8;
}
.access-section__parking {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.access-section__parking-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.access-section__parking-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: normal;
  color: #000;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__parking-item {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.access-section__parking-item span {
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .access-section__parking-item span {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__parking-item {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__parking-item {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.access-section__parking-dot {
  flex-shrink: 0;
  width: 4px;
  height: 4px;
  background-color: #625D20;
  border-radius: 50%;
}
.access-section__parking-note {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #808080;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .access-section__parking-note {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.access-section__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 10px 26px;
  background-color: #000;
  border-radius: 99px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.access-section__btn:hover {
  opacity: 0.7;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .access-section__btn {
    width: 100%;
    justify-content: center;
  }
}
.access-section__btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 140%;
  font-weight: normal;
  color: #fff;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .access-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .access-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 140%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .access-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}

/* -----------------------------------------------------------
	観光情報セクション（YOUR HIDA TAKAYAMA JOURNEY）
----------------------------------------------------------- */
.journey-section {
  position: relative;
  width: 100%;
  padding: 100px 0 120px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .journey-section {
    padding: 60px 0 80px;
  }
}
.journey-section__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.journey-section__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.journey-section__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-left: 7.5rem;
  padding-left: 5rem;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .journey-section__inner {
    margin-left: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .journey-section__inner {
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .journey-section__inner {
    padding-left: 0;
  }
}
.journey-section__header {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .journey-section__header {
    margin-bottom: 30px;
    text-align: center;
  }
}
.journey-section__title {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media only screen and (max-width: 767px) {
  .journey-section__title {
    gap: 8px;
  }
}
.journey-section__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 32px;
  line-height: 140%;
  font-weight: normal;
  color: #808080;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  .journey-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .journey-section__title-en {
    font-family: "Lulo Clean", sans-serif;
    font-size: 26px;
    line-height: 120%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .journey-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}

.journey-section__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #808080;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .journey-section__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .journey-section__title-jp {
    font-size: 12px;
  }
}
.journey-section__slider-wrap {
  width: 100%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .journey-section__slider-wrap {
    margin-bottom: 30px;
  }
}
.journey-section__slider {
  overflow: visible;
}
.journey-section__slider .swiper-wrapper {
  align-items: stretch;
}
.journey-section__line-break {
  width: 100%;
  max-width: 1200px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
  margin: 3rem 0;
}
@media only screen and (max-width: 767px) {
  .journey-section__line-break {
    display: none;
  }
}
.journey-section__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80svw;
  max-width: 1200px;
}
@media only screen and (max-width: 767px) {
  .journey-section__footer {
    flex-direction: column;
    margin: auto;
  }
}
.journey-section__nav {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media only screen and (max-width: 767px) {
  .journey-section__nav {
    display: none;
  }
}
.journey-section__nav-btn {
  width: 44px;
  height: 22px;
  border: 1px solid #c8c8c8;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.01);
  backdrop-filter: blur(5px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.journey-section__nav-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}
.journey-section__nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.journey-section__nav-btn svg {
  color: #fff;
}
.journey-section__scrollbar {
  width: 77.5px;
  height: 2px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 1px;
  position: relative;
  overflow: hidden;
}
.journey-section__scrollbar-drag {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1px;
  transition: left 0.3s ease-out, width 0.3s ease-out;
}
.journey-section__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  background: transparent;
  border: 1px solid #ebebeb;
  border-radius: 99px;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(5px);
  transition: all 0.2s ease;
}
@media only screen and (max-width: 767px) {
  .journey-section__btn {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.journey-section__btn::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: rgba(224, 224, 224, 0.1);
  mix-blend-mode: soft-light;
}
.journey-section__btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .journey-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .journey-section {
    padding: 80px 0 100px;
  }
  .journey-section__inner {
    padding: 0 40px;
  }
  .journey-section__title-en {
    font-size: 26px;
  }
}

.journey-card {
  width: 35% !important;
  max-width: 444px !important;
  border-radius: 4px;
  text-decoration: none;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .journey-card {
    width: 50% !important;
  }
}
@media only screen and (max-width: 767px) {
  .journey-card {
    width: calc(100vw - 60px) !important;
  }
}
.journey-card__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 0;
  padding: 4rem 2.75rem 1.4rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
@media only screen and (max-width: 767px) {
  .journey-card__inner {
    padding: 3.5rem 1.25rem 1.25rem;
  }
}
.journey-card__inner::before {
  content: '';
  position: absolute;
  inset: -1px;
  background: rgba(224, 224, 224, 0.1);
  mix-blend-mode: soft-light;
}
.journey-card__accent {
  position: absolute;
  top: 0;
  width: 24px;
  height: 4px;
  border-radius: 0 0 2px 2px;
  background-color: #625D20;
}
.journey-card__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #1A1A1A;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .journey-card__title {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .journey-card__title {
    font-size: 16px;
  }
}
.journey-card__desc {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #666;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-bottom: 20px;
  flex-grow: 1;
}
@media only screen and (max-width: 767px) {
  .journey-card__desc {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .journey-card__desc {
    font-size: 13px;
    margin-bottom: 16px;
  }
}
.journey-card__img {
  width: 100%;
  aspect-ratio: 292 / 200;
  overflow: hidden;
  margin-bottom: 16px;
}
.journey-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.journey-card:hover .journey-card__img img {
  transform: scale(1.05);
}
.journey-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.journey-card__num {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #1A1A1A;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .journey-card__num {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.journey-card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #1A1A1A;
  transition: opacity 0.3s ease;
}
.journey-card__link:hover {
  opacity: 0.6;
}

/* -----------------------------------------------------------
	新着情報セクション（NEWS）
----------------------------------------------------------- */
.news-section {
  position: relative;
  width: 100%;
  padding: 80px 0 100px;
  background-color: #FFFFFF;
}
@media only screen and (max-width: 767px) {
  .news-section {
    padding: 60px 0 80px;
  }
}
.news-section__inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .news-section__inner {
    flex-direction: column;
    gap: 24px;
    padding: 0 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .news-section__inner {
    flex-direction: column;
    gap: 32px;
    padding: 0 40px;
  }
}
.news-section__header {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .news-section__header {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .news-section__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.news-section__title {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media only screen and (max-width: 767px) {
  .news-section__title {
    gap: 2px;
  }
}
.news-section__title-en {
  font-family: "Lulo Clean", sans-serif;
  font-size: 32px;
  line-height: 140%;
  font-weight: normal;
  color: #808080;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  .news-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .news-section__title-en {
    font-family: "Lulo Clean", sans-serif;
    font-size: 26px;
    line-height: 120%;
    font-weight: normal;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .news-section__title-en {
    font-family: "Lulo Clean", sans-serif;
  }
}

.news-section__title-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  line-height: 140%;
  font-weight: normal;
  color: #808080;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .news-section__title-jp {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.news-section__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background-color: #000000;
  border-radius: 99px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.news-section__btn:hover {
  opacity: 0.7;
}
.news-section__btn-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 767px) {
  .news-section__btn-text {
    font-family: "Noto Sans JP", sans-serif;
  }
}
.news-section__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 62.5%;
  max-width: 900px;
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
  .news-section__list {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .news-section__list {
    width: 100%;
  }
}
.news-section__item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 1.25rem 0;
  border-bottom: 1px solid #E6E6E6;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .news-section__item {
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
  }
}
.news-section__item:first-child {
  border-top: 1px solid #E6E6E6;
}
.news-section__date {
  flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #808080;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .news-section__date {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .news-section__date {
    font-size: 12px;
  }
}
.news-section__item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #000000;
  line-height: 1.6;
  letter-spacing: 0.04em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .news-section__item-title {
    font-family: "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .news-section__item-title {
    font-size: 14px;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

/* -----------------------------------------------------------
	自動横スクロールスライダー（Photo Slider）
----------------------------------------------------------- */
.photo-slider-section {
  position: relative;
  width: 100%;
  padding: 80px 0;
  background-color: #FFFFFF;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .photo-slider-section {
    padding: 60px 0;
  }
}

.photo-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.photo-slider__track {
  display: flex;
  align-items: flex-end;
  gap: 1.625rem;
  width: max-content;
  animation: photoSliderScroll 40s linear infinite;
}
@media only screen and (max-width: 767px) {
  .photo-slider__track {
    animation: photoSliderScroll 60s linear infinite;
  }
}
.photo-slider__item {
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
  width: auto;
  height: 400px;
}
@media only screen and (max-width: 767px) {
  .photo-slider__item {
    height: 200px;
  }
}
.photo-slider__item:nth-child(odd) {
  height: 320px;
}
@media only screen and (max-width: 767px) {
  .photo-slider__item:nth-child(odd) {
    height: 160px;
  }
}
.photo-slider__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes photoSliderScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-2756px - 1.625rem * 6));
  }
}
