@charset "UTF-8";
:root{
  --inner:1232px;
  --padding-inline:16px;
}
:root{
  --font-family-base:"Noto Sans JP", "Noto Sans", sans-serif;
  --font-family-second:"Noto Serif JP", "Noto Serif", serif;
  --font-family-third:"Inter", sans-serif;
}

:root{
  --font-weight-light:300;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-extrabold:800;
  --font-weight-black:900;
}

:root{
  --black:#000;
  --white:#fff;
  --text-heading-color:#222222;
  --text-base-color:#444444;
  --main-blue:#3679A8;
  --main-blue02:#7FB5D8;
  --main-blue03:#335b8d;
  --light-blue:#DEF0FF;
  --main-gray:#EEEEEE;
  --bg-gray:#F8F7F1;
  --bg-gray02:#FAF8F8;
}

:root{
  --z-index-to-top:200;
  --z-index-floating-btn:300;
  --z-index-drawer:1000;
  --z-index-header:10000;
}

:root{
  --cq-ref-mobile:375;
  --cq-ref:1440;
  --fluid-basis-mobile:(100vw - 320px) / (375 - 320);
  --fluid-basis:(100vw - 768px) / (1440 - 768);
  --fluid-basis-2:(100vw - 1440px) / (1800 - 1440);
}

:root{
  --duration-short:0.2s;
  --duration-base:0.3s;
  --duration-long:0.5s;
  --duration-extra-long:0.8s;
  --ease-smooth-bounce:cubic-bezier(.48, .07, .33, .79);
}

body{
  color:var(--black);
  font-family:var(--font-family-base);
}

.u-desktop{
  display:none;
}

.u-desktop-inline{
  display:none;
}

.u-mobile-inline{
  display:inline;
}
html{
  font-size:16px;
}

html{
  scroll-padding-top:3.125rem;
}

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

html{
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
       text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  word-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-break:strict;
  line-height:1.5;
  margin:0;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
  word-break:normal;
}

ul,
ol,
button,
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
time,
small{
  margin:0;
  padding:0;
}

ul,
ol{
  list-style:none;
}

a:not([class]){
  -webkit-text-decoration-skip:ink;
          text-decoration-skip-ink:auto;
}

a,
span,
button{
  display:inline-block;
}

small,
time,
figure{
  border:0;
  font:inherit;
  font-size:100%;
  vertical-align:baseline;
}

address{
  font-style:normal;
}

img{
  display:block;
  max-width:100%;
  width:100%;
}

article > * + *{
  margin-top:1em;
}

input,
button,
textarea,
select{
  font:inherit;
}

input,
button,
select,
textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:transparent;
  border:none;
  border-radius:0;
  outline:none;
}

textarea{
  resize:vertical;
}

input[type=checkbox],
input[type=radio]{
  border:0;
  clip-path:polygon(0 0, 0 0, 0 0, 0 0);
  height:1px;
  margin:-1px;
  padding:0;
  position:absolute;
  width:1px;
}

input[type=submit],
input[type=button],
label,
button,
select{
  cursor:pointer;
}

a{
  -webkit-text-decoration:none;
  color:inherit;
  text-decoration:none;
  transition:0.3s;
}

button{
  color:inherit;
}
a{
  -webkit-tap-highlight-color:transparent;
}

button{
  -webkit-tap-highlight-color:transparent;
}

.inner{
  margin-left:auto;
  margin-right:auto;
  max-width:500px;
  padding-left:16px;
  padding-right:16px;
  width:100%;
}

.not-found{
  margin-top:3.125rem;
}

.not-found__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.not-found__body{
  padding-block:3.75rem 5rem;
  text-align:center;
}

.not-found__number{
  color:var(--light-blue);
  font-family:var(--font-family-third);
  font-size:7.5rem;
  font-weight:var(--font-weight-extrabold);
  letter-spacing:0.05em;
  line-height:1;
}

.not-found__title{
  color:var(--text-heading-color);
  font-size:1.125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.08em;
  margin-top:1rem;
}

.not-found__text{
  color:var(--text-base-color);
  font-size:0.875rem;
  letter-spacing:0.05em;
  line-height:1.8;
  margin-top:1rem;
}

.not-found__btn-wrap{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}

.not-found-recommend-info{
  margin-top:5.625rem;
  padding-bottom:11.25rem;
}

.not-found-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-about{
  margin-top:7.5rem;
}

.camp-about__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-about__text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:1.5;
  margin-top:1.25rem;
  text-align:center;
}

.camp-about__content{
  margin-top:3.125rem;
}

.camp-about__content-block-img{
  aspect-ratio:185/104;
  height:auto;
  object-fit:cover;
}

.camp-about__content-block-btn-wrap{
  margin-top:1.875rem;
}

.camp-about__content-text{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
}

.camp-about__content-text-line{
  display:inline;
}

.camp-area-info{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.camp-area-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-area-info__img-wrap{
  margin-top:3.125rem;
}

.camp-area-info__img{
  height:auto;
}

.camp-area-info__btn-wrap{
  margin-top:1.875rem;
  text-align:center;
}

.camp-feature{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.camp-feature__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-feature__swiper{
  margin-top:3.75rem;
}

.camp-feature__pagination{
  align-items:center !important;
  bottom:0.9375rem !important;
  display:flex !important;
  gap:0.5625rem !important;
  justify-content:flex-end !important;
  left:auto !important;
  right:0.9375rem !important;
  top:auto !important;
  width:auto !important;
  z-index:2 !important;
}

.camp-feature__pagination .swiper-pagination-bullet{
  margin:0 !important;
}

.camp-feature__pagination .swiper-pagination-bullet{
  aspect-ratio:1/1;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  height:100%;
  margin:0;
  opacity:1;
  width:0.5625rem;
}

.camp-feature__pagination .swiper-pagination-bullet-active{
  background-color:var(--main-blue03);
}

.camp-feature__slide-img{
  aspect-ratio:1193/671;
  height:100%;
  object-fit:cover;
}

.camp-feature__swiper .swiper-slide.swiper-slide-active .camp-feature__slide-img-wrap,
.camp-feature__swiper .swiper-slide.swiper-slide-duplicate-active .camp-feature__slide-img-wrap,
.camp-feature__swiper .swiper-slide.swiper-slide-prev .camp-feature__slide-img-wrap{
  animation:scale 8s linear 0s normal both;
  transform-origin:left center;
  will-change:transform;
}
.camp-feature__list{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  margin-top:1.875rem;
}

.camp-feature__item{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
}

.camp-feature__item-title{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.0113125em;
}

.camp-feature__item-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.0113125em;
}

.camp-recommend-info{
  margin-top:7.5rem;
  padding-bottom:11.25rem;
}

.camp-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-reserve{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.camp-reserve__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.camp-reserve__intro{
  margin-top:3.75rem;
}

.camp-reserve__intro-title{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
  padding-inline:1.875rem;
  position:relative;
  width:fit-content;
}

.camp-reserve__intro-title::before{
  background-color:var(--text-base-color);
  content:"";
  height:100%;
  left:0.9375rem;
  position:absolute;
  top:50%;
  translate:0 -50%;
  width:1px;
}

.camp-reserve__intro-title::after{
  background-color:var(--text-base-color);
  content:"";
  height:100%;
  position:absolute;
  right:0.9375rem;
  top:50%;
  translate:0 -50%;
  width:1px;
}

.camp-reserve__intro-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
}

.camp-reserve__intro-text--mt{
  margin-top:1.875rem;
}

.camp-reserve__intro-text--mt-large{
  margin-top:2.5rem;
}

.camp-reserve__content{
  margin-top:3.75rem;
}

.camp-reserve__table{
  border:1px solid #444;
}

.camp-reserve__row{
  align-items:stretch;
  display:flex;
}

.camp-reserve__row + .camp-reserve__row{
  border-top:1px solid #444;
}

.camp-reserve__label{
  align-items:center;
  background-color:#F4F4F4;
  color:var(--text-base-color);
  display:flex;
  flex-shrink:0;
  font-size:0.8125rem;
  font-weight:var(--font-weight-bold);
  justify-content:center;
  padding:0.75rem 0.5rem;
  text-align:center;
  width:28%;
}

.camp-reserve__desc{
  border-left:1px solid #444;
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.5625rem 0.5625rem 1.5625rem 0.75rem;
}

.camp-reserve__desc-text{
  color:var(--text-base-color);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  line-height:2;
}

.camp-reserve__desc-text-bold{
  font-size:0.875rem;
  font-weight:var(--font-weight-bold);
}

.camp-reserve__desc-text--mt{
  margin-top:1.25rem;
}

.camp-reserve__desc-link{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
}

.facilities-bg-wrap{
  overflow-x:clip;
  position:relative;
}
.facilities-bg-wrap::before{
  background:linear-gradient(115deg, rgba(255, 255, 255, 0.11) 8.65%, rgba(0, 200, 255, 0.3) 77.66%), linear-gradient(180deg, #EBF1FF 0%, #CFDAF5 100%);
  content:"";
  height:100%;
  left:0;
  opacity:0.56;
  position:absolute;
  top:0;
  width:100%;
  z-index:-1;
}

.facilities-floor{
  margin-top:7.5rem;
  padding-bottom:6.25rem;
}

.facilities-floor__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.facilities-floor__content{
  margin-top:3.125rem;
}

.facilities-map{
  margin-top:5.625rem;
  padding-top:0.625rem;
}

.facilities-map__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.facilities-map__content{
  margin-top:3.75rem;
}

.facilities-map__img{
  height:auto;
}

.facilities-recommend-info{
  margin-top:6.875rem;
  padding-bottom:11.25rem;
}

.facilities-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.facility-introduction{
  margin-top:8.75rem;
  padding-top:3.75rem;
}

.facility-introduction__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.facility-introduction__content{
  margin-top:5rem;
}

.guide-access{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.guide-access__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.guide-access__table{
  border:1px solid #444;
  margin-top:2.5rem;
}

.guide-access__row{
  align-items:stretch;
  display:flex;
  min-height:5.5625rem;
}

.guide-access__row + .guide-access__row{
  border-top:1px solid #444;
}

.guide-access__row--last{
  min-height:23.0625rem;
}

.guide-access__label{
  align-items:center;
  background-color:#F4F4F4;
  color:var(--text-base-color);
  display:flex;
  flex-shrink:0;
  font-size:0.875rem;
  font-weight:var(--font-weight-bold);
  justify-content:center;
  line-height:normal;
  padding:0.75rem;
  text-align:center;
  width:30%;
}

.guide-access__desc{
  border-left:1px solid #444;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:0.9375rem;
  justify-content:center;
  padding:0.75rem;
}

.guide-access__desc-text{
  color:var(--text-base-color);
  font-size:0.875rem;
  font-weight:var(--font-weight-regular);
  line-height:1.8;
}

.guide-map{
  margin-top:3.75rem;
}

.guide-map__iframe{
  aspect-ratio:127/98;
  border:0;
  display:block;
  width:100%;
}

.guide-access-detail{
  margin-top:3.75rem;
}

.guide-access-detail__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.guide-access-detail__img{
  height:auto;
  width:100%;
}

.guide-access-detail__content{
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  margin-top:2rem;
}

.guide-access-detail__section{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.guide-access-detail__heading{
  color:var(--main-blue);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  line-height:24px;
}

.guide-access-detail__group{
  display:flex;
  flex-direction:column;
}

.guide-access-detail__sub-heading{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  line-height:24px;
}

.guide-access-detail__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  line-height:1.6;
  margin-top:0.625rem;
}

.guide-admission{
  margin-top:5rem;
  padding-top:0.625rem;
}

.guide-admission__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.guide-admission__content{
  background:url("../images/guide/guide-admission-bg.webp") no-repeat center center/cover;
  border-radius:0.3125rem;
  margin-top:2.5rem;
  padding-block:2.5rem;
}

.guide-admission__box{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
  padding-inline:1.25rem;
}

.guide-admission__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.07em;
}

.guide-admission__list{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.guide-admission__item{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.07em;
  text-indent:hanging 1em;
}

.guide-calendar{
  margin-top:6.25rem;
  overflow-x:clip;
  padding-top:0.625rem;
}

.guide-calendar__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.guide-calendar__bg-content{
  position:relative;
  z-index:1;
}

.guide-calendar__bg-content::before{
  background:linear-gradient(68deg, rgba(255, 255, 255, 0.11) 16.63%, rgba(0, 200, 255, 0.3) 94.24%), linear-gradient(180deg, #EBF1FF 0%, #CFDAF5 100%);
  content:"";
  height:100%;
  opacity:0.47;
  position:absolute;
  top:0;
  width:100cqi;
  z-index:-1;
}

.guide-calendar__content{
  margin-inline:auto;
}

.guide-page-nav{
  margin-top:5.375rem;
}

.guide-price-hours{
  margin-top:5rem;
  padding-top:0.625rem;
}

.guide-price-hours__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.guide-price-hours__table{
  border:1px solid #444;
  margin-top:3.125rem;
}

.guide-price-hours__row{
  align-items:stretch;
  display:flex;
}

.guide-price-hours__row + .guide-price-hours__row{
  border-top:1px solid #444;
}

.guide-price-hours__label{
  align-items:center;
  background-color:#F4F4F4;
  color:var(--text-base-color);
  display:flex;
  flex-shrink:0;
  font-size:0.8125rem;
  font-weight:var(--font-weight-bold);
  justify-content:center;
  padding:0.75rem 0.5rem;
  text-align:center;
  width:28%;
}

.guide-price-hours__desc{
  border-left:1px solid #444;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:0.25rem;
  padding:1.5625rem 0.75rem;
}

.guide-price-hours__desc--gap{
  gap:0.5rem;
}

.guide-price-hours__desc-group{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.guide-price-hours__desc-group + .guide-price-hours__desc-group{
  margin-top:0.75rem;
}

.guide-price-hours__desc-text{
  color:var(--text-base-color);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
}

.guide-price-hours__desc-text--bold{
  font-weight:var(--font-weight-bold);
}

.guide-price-hours__desc-text--bold + .guide-price-hours__desc-group{
  margin-top:0.5rem;
}

.guide-price-hours__desc-link{
  -webkit-text-decoration:underline;
  align-items:center;
  color:var(--main-blue);
  display:flex;
  font-size:0.8125rem;
  font-weight:var(--font-weight-semibold);
  gap:0.25rem;
  letter-spacing:0.07em;
  margin-top:0.25rem;
  text-decoration:underline;
  text-decoration-color:var(--main-blue);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  transition:color var(--duration-short) ease;
  will-change:opacity;
}

.guide-price-hours__desc-link-icon{
  height:auto;
  object-fit:contain;
  width:1rem;
}

.guide-recommend-info{
  margin-top:6.875rem;
  padding-bottom:11.25rem;
}

.guide-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumi-restaurant{
  overflow-x:clip;
  padding-block:8.125rem 1.875rem;
  position:relative;
}

.izumi-restaurant::before{
  aspect-ratio:1192/2991;
  background:url("../images/izumi-restaurant/bg-izumi-restaurant-deco_01.svg") no-repeat center center/contain;
  content:"";
  position:absolute;
  right:-10%;
  top:-1%;
  width:clamp(0px, 47600 / var(--cq-ref-mobile) * 1cqi, 476px);
  z-index:-1;
}

.izumi-restaurant::after{
  aspect-ratio:225/452;
  background:url("../images/izumi-restaurant/bg-izumi-restaurant-deco_02.svg") no-repeat center center/contain;
  bottom:1%;
  content:"";
  left:-2%;
  position:absolute;
  width:clamp(0px, 30500 / var(--cq-ref-mobile) * 1cqi, 305px);
  z-index:-1;
}

.izumi-restaurant__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumi-restaurant__intro-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
}

.izumi-restaurant__block01{
  display:grid;
  gap:1.4375rem;
  grid-template-columns:1fr;
  margin-top:3.5625rem;
}

.izumi-restaurant__block01-left-img-wrap{
  border-radius:0.9375rem;
}

.izumi-restaurant__block01-left-img{
  aspect-ratio:792/488;
  border-radius:0.9375rem;
  height:auto;
  object-fit:cover;
}

.izumi-restaurant__block01-left-text{
  color:var(--text-base-color);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  margin-top:0.9375rem;
  text-align:right;
}

.izumi-restaurant__block01-right{
  margin-left:auto;
  width:18rem;
}

.izumi-restaurant__block01-right-img{
  height:auto;
}

.izumi-restaurant__block02-img-wrap01{
  width:80.5%;
}

.izumi-restaurant__block02-img01{
  height:auto;
}

.izumi-restaurant__block02-img-wrap02{
  margin-left:auto;
  margin-top:-1.5625rem;
  width:80.7%;
}

.izumi-restaurant__block02-img02{
  height:auto;
}

.izumi-restaurant__block03{
  margin-top:12rem;
}

.izumi-restaurant__block03-img{
  aspect-ratio:1088/612;
  border-radius:0.9375rem;
  height:auto;
  object-fit:cover;
}

.izumi-restaurant__block03-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
}

.izumi-restaurant__block03-text-line{
  display:inline;
}

.izumi-restaurant-menu{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumi-restaurant-menu__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumi-restaurant-menu__content{
  display:grid;
  gap:3.75rem;
  grid-template-columns:1fr;
  margin-top:2.5rem;
}

.izumi-restaurant-menu__col{
  display:flex;
  flex-direction:column;
  gap:2.5rem;
}

.izumi-restaurant-menu__group-head{
  background:#F4F4F4;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:2.75rem;
  padding:0.5rem 1.3125rem;
}

.izumi-restaurant-menu__group-head--set{
  padding:0.125rem 1.0625rem;
}
.izumi-restaurant-menu__group-head--set .izumi-restaurant-menu__group-title{
  margin-left:0.3125rem;
}

.izumi-restaurant-menu__group-title{
  align-items:center;
  color:var(--text-base-color);
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-bold);
}
.izumi-restaurant-menu__group-title::before{
  content:"|";
  margin-right:1.1875rem;
  transform:translateY(-1px);
}
.izumi-restaurant-menu__group-title::after{
  content:"|";
  margin-left:1.1875rem;
  transform:translateY(-1px);
}

.izumi-restaurant-menu__group-note{
  color:var(--text-base-color);
  font-size:0.75rem;
  font-weight:var(--font-weight-medium);
  line-height:normal;
}

.izumi-restaurant-menu__list{
  padding-inline:1.1875rem;
}

.izumi-restaurant-menu__row{
  display:flex;
  gap:0.75rem;
  justify-content:space-between;
  padding-block:0.5625rem;
}

.izumi-restaurant-menu__row:first-child{
  margin-top:0.5625rem;
}

.izumi-restaurant-menu__name{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-bold);
}

.izumi-restaurant-menu__price{
  color:var(--text-base-color);
  flex-shrink:0;
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  width:4.375rem;
}

.izumi-restaurant-menu__note{
  margin-top:4.375rem;
}

.izumi-restaurant-menu__note-text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-regular);
}

.izumi-restaurant-menu__note-text--mt{
  margin-top:0.625rem;
}

.izumi-restaurant-menu__note-text--set{
  display:grid;
  grid-template-columns:5.3125rem 1fr;
}

.izumi-restaurant-recommend-info{
  margin-top:6.875rem;
  padding-bottom:11.25rem;
}

.izumi-restaurant-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-access{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-access__inner{
  grid-column-gap:1rem;
  -moz-column-gap:1rem;
  grid-row-gap:0rem;
       column-gap:1rem;
  display:grid;
  grid-template-columns:auto 1fr;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  row-gap:0rem;
}

.izumisou-access__content{
  display:contents;
}

.izumisou-access__inner > .izumisou-section-heading{
  grid-column:1;
  grid-row:1;
}

.izumisou-access__address-box{
  background-color:#F1F1F1;
  border-radius:5px;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  grid-column:2;
  grid-row:1;
  height:fit-content;
  padding:1rem 1.25rem;
  width:fit-content;
}

.izumisou-access__map{
  grid-column:1/-1;
  grid-row:2;
  margin-top:1.5rem;
}

.izumisou-access__address-name{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
}

.izumisou-access__address-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
}

.izumisou-access__col-text--mt{
  margin-top:0.625rem;
}

.izumisou-access__iframe{
  aspect-ratio:400/300;
  display:block;
  height:100%;
  width:100%;
}

.izumisou-access__grid{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  grid-column:1/-1;
  grid-row:3;
  margin-top:1.875rem;
}

.izumisou-access__col{
  display:flex;
  flex-direction:column;
}

.izumisou-access__col-title{
  color:var(--text-base-color);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
}

.izumisou-access__col-subtitle{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  margin-top:0.625rem;
}

.izumisou-access__col-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:24px;
}

.izumisou-access__list{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.izumisou-access__list-item{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:24px;
}
.izumisou-access__list-item::before{
  content:"・";
}

.izumisou-access__col-note{
  color:var(--text-base-color);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  margin-top:0.625rem;
}

.izumisou-facilities{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-facilities__inner{
  grid-column-gap:1.25rem;
  -moz-column-gap:1.25rem;
  grid-row-gap:1rem;
       column-gap:1.25rem;
  display:grid;
  grid-template-columns:auto 1fr;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  row-gap:1rem;
}

.izumisou-facilities__content{
  display:contents;
}

.izumisou-facilities__inner > .izumisou-section-heading{
  grid-column:1;
  grid-row:1/3;
}

.izumisou-facilities__group{
  grid-column:2;
}
.izumisou-facilities__group:first-child{
  grid-row:1;
}
.izumisou-facilities__group:nth-child(2){
  grid-row:2;
}

.izumisou-facilities__label{
  background-color:var(--main-blue);
  border-radius:0.125rem;
  color:var(--white);
  display:inline-block;
  font-size:0.8125rem;
  font-weight:var(--font-weight-semibold);
  padding:0.25rem 0.75rem;
}

.izumisou-facilities__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  margin-top:0.625rem;
}

.izumisou-facilities__grid{
  display:grid;
  gap:1rem 0.625rem;
  grid-column:1/-1;
  grid-row:3;
  grid-template-columns:repeat(2, 1fr);
  margin-top:1.25rem;
}

.izumisou-facilities__img{
  aspect-ratio:335/240;
  height:auto;
  object-fit:cover;
  width:100%;
}

.izumisou-floating-btn{
  opacity:0;
  pointer-events:none;
  position:fixed;
  right:0;
  top:50%;
  transition:opacity var(--duration-long) ease;
  translate:0 -50%;
  z-index:var(--z-index-floating-btn);
}
.izumisou-floating-btn.is-scroll{
  opacity:1;
  pointer-events:auto;
}

.izumisou-floating-btn__btn{
  align-items:center;
  background:#ECC23B;
  border:1px solid #ECC23B;
  border-radius:0.3125rem 0 0 0.3125rem;
  color:var(--white);
  display:flex;
  font-size:0.8125rem;
  font-weight:var(--font-weight-semibold);
  justify-content:center;
  letter-spacing:0.45em;
  min-height:9.375rem;
  min-width:1.5rem;
  text-orientation:mixed;
  transition:background var(--duration-short) ease, color var(--duration-short) ease;
  white-space:nowrap;
  writing-mode:vertical-rl;
}

.izumisou-floor{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-floor__inner{
  display:flex;
  gap:1rem;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-floor__content{
  flex:1;
  margin-top:1.25rem;
}

.izumisou-floor__img{
  height:auto;
  width:100%;
}

.izumisou-intro{
  padding-top:3rem;
}

.izumisou-intro__inner{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-inline:auto;
  max-width:calc(54.1875rem + var(--padding-inline) * 2);
  padding-inline:var(--padding-inline);
}

.izumisou-intro__text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-regular);
}

.izumisou-intro__img-wrap{
  margin-inline:auto;
  margin-top:2.5rem;
  max-width:78.75rem;
  padding-inline:var(--padding-inline);
  text-align:center;
}

.izumisou-intro__img{
  height:auto;
  width:100%;
}

.izumisou-meal{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-meal__inner{
  display:grid;
  gap:0 1.25rem;
  grid-template-columns:auto 1fr;
  margin-inline:auto;
  margin-top:1.875rem;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-meal__content{
  display:contents;
}

.izumisou-meal__inner > .izumisou-section-heading{
  grid-column:1;
  grid-row:1;
}

.izumisou-meal__grid{
  display:grid;
  gap:1rem 0.625rem;
  grid-column:2;
  grid-row:1;
  grid-template-columns:repeat(2, 1fr);
}

.izumisou-meal__img{
  aspect-ratio:113/85;
  height:auto;
  object-fit:cover;
  width:100%;
}

.izumisou-meal__caption{
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  margin-top:0.5rem;
  text-align:center;
}

.izumisou-meal__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  grid-column:1/-1;
  grid-row:2;
  line-height:1.8;
  margin-top:1.25rem;
  text-align:left;
}

.izumisou-mv{
  height:auto;
}

.izumisou-mv__slider-wrap{
  position:relative;
}

.izumisou-mv__slide-img-wrap{
  aspect-ratio:16/5;
}

.izumisou-mv__slide-img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.izumisou-mv__vertical-copy{
  display:none;
}

.izumisou-mv__vertical-copy-line{
  background:rgba(89, 83, 83, 0.62);
  font-family:var(--font-family-second);
  font-size:clamp(9px, 2000 / var(--cq-ref) * 1cqw, 30px);
  font-weight:var(--font-weight-medium);
  height:fit-content;
  letter-spacing:0.44em;
  padding-block:0.3125rem;
  padding-inline:1rem;
  text-orientation:mixed;
  writing-mode:vertical-rl;
}

.izumisou-mv__header{
  background-color:var(--white);
  border-radius:0 5px 0 0;
  bottom:-2.8125rem;
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  left:0;
  position:absolute;
  z-index:2;
}

.izumisou-mv__eyebrow{
  color:var(--text-base-color);
  display:block;
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
}

.izumisou-mv__title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.13em;
  line-height:1;
  text-align:center;
}

.izumisou-mv__pagination{
  align-items:center !important;
  bottom:0.3125rem !important;
  display:flex !important;
  gap:0.5625rem !important;
  justify-content:center !important;
  left:90% !important;
  position:absolute !important;
  transform:translateX(-50%) !important;
  width:fit-content !important;
  z-index:2 !important;
}
.izumisou-mv__pagination .swiper-pagination-bullet{
  background-color:#d9d9d9 !important;
  opacity:1 !important;
}
.izumisou-mv__pagination .swiper-pagination-bullet-active{
  background-color:var(--main-blue) !important;
}

.izumisou-mv__pagination .swiper-pagination-bullet{
  margin:0 !important;
}

.izumisou-mv__pagination .swiper-pagination-bullet{
  aspect-ratio:1/1;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  height:100%;
  margin:0;
  opacity:1;
  width:0.5625rem;
}

.izumisou-mv__swiper .swiper-slide.swiper-slide-active .izumisou-mv__slide-img-wrap,
.izumisou-mv__swiper .swiper-slide.swiper-slide-duplicate-active .izumisou-mv__slide-img-wrap,
.izumisou-mv__swiper .swiper-slide.swiper-slide-prev .izumisou-mv__slide-img-wrap{
  animation:izumisouMvScale 8s linear 0s normal both;
  transform-origin:left center;
  will-change:transform;
}

@keyframes izumisouMvScale{
  0%{
    transform:scale(1);
  }
  100%{
    transform:scale(1.05);
  }
}
.izumisou-onsen{
  margin-top:3.75rem;
  padding-top:0.625rem;
}

.izumisou-onsen__inner{
  display:grid;
  gap:3.3125rem 1.6875rem;
  grid-template-columns:auto 1fr;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-onsen__content{
  display:contents;
}

.izumisou-onsen__inner > .izumisou-section-heading{
  grid-column:1;
  grid-row:1;
}

.izumisou-onsen__row--top{
  display:flex;
  flex-direction:column;
  gap:1rem;
  grid-column:2;
  grid-row:1;
}

.izumisou-onsen__row--bottom{
  display:flex;
  flex-direction:column-reverse;
  gap:1rem;
  grid-column:1/-1;
  grid-row:2;
}

.izumisou-onsen__text-block--top{
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.izumisou-onsen__img{
  height:auto;
}

.izumisou-onsen__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
}

.izumisou-page-nav{
  margin-top:5.375rem;
}

.izumisou-price{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-price__inner{
  display:flex;
  gap:1.5rem;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-price__content{
  flex:1;
}

.izumisou-price__table-scroll{
  -webkit-overflow-scrolling:touch;
  overflow-x:auto;
}

.izumisou-price__table{
  border:1px solid #444;
  border-collapse:separate;
  border-spacing:0;
  min-width:30rem;
  width:100%;
}

.izumisou-price__th{
  background-color:#F4F4F4;
  border-bottom:1px solid #444;
  border-right:1px solid #444;
  color:var(--text-base-color);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  padding:0.71875rem 1.1875rem;
  text-align:center;
}
.izumisou-price__th:last-child{
  border-right:none;
}

.izumisou-price__row-th{
  background:#F4F4F4;
  border-bottom:1px solid #444;
  border-right:1px solid #444;
  color:var(--text-base-color);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  padding:0.71875rem 1.1875rem;
  text-align:center;
}

.izumisou-price__table tbody tr:last-child .izumisou-price__row-th,
.izumisou-price__table tbody tr:last-child .izumisou-price__td{
  border-bottom:none;
}

.izumisou-price__td{
  border-bottom:1px solid #444;
  border-right:1px solid #444;
  font-size:1.25rem;
  font-weight:var(--font-weight-regular);
  padding:0.78125rem 1.5rem;
  text-align:center;
}
.izumisou-price__td:last-child{
  border-right:none;
}

.izumisou-price__notes{
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}

.izumisou-price__note{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
}

.izumisou-price__btn{
  align-items:center;
  background-color:#ECC23B;
  border:1px solid #ECC23B;
  border-radius:0.25rem;
  color:var(--white);
  display:inline-flex;
  flex-direction:column;
  font-weight:var(--font-weight-semibold);
  gap:0.25rem;
  justify-content:center;
  padding-block:0.5rem;
  padding-inline:1.5rem;
  position:relative;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
  white-space:nowrap;
  width:fit-content;
}
.izumisou-price__btn::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  content:"";
  pointer-events:none;
  position:absolute;
  right:0.375rem;
  top:0.375rem;
  transition:background-image var(--duration-short) ease;
  width:0.75rem;
}

.izumisou-price__btn-sub{
  font-size:0.75rem;
  line-height:1.2;
}

.izumisou-price__btn-main{
  font-size:0.9375rem;
  line-height:1.2;
}

.izumisou-price__contact{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  margin-top:1.25rem;
}

.izumisou-price__contact-head{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:24px;
}

.izumisou-price__contact-text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:24px;
}

.izumisou-recommend-info{
  margin-top:5.625rem;
  padding-bottom:11.25rem;
}

.izumisou-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-reviews{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-reviews__inner{
  display:flex;
  gap:1.25rem;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-reviews__content{
  display:flex;
  flex:1;
  flex-direction:column;
  margin-top:3.125rem;
}

.izumisou-reviews__text{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:24px;
}

.izumisou-reviews__btn{
  align-self:center;
  margin-top:3.125rem;
  position:relative;
}
.izumisou-reviews__btn::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link_blue.webp") no-repeat center/contain;
  content:"";
  pointer-events:none;
  position:absolute;
  right:0.3125rem;
  top:0.3125rem;
  transition:background-image var(--duration-short) ease;
  width:0.4375rem;
}

.izumisou-rooms{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.izumisou-rooms__inner{
  display:grid;
  gap:1.25rem;
  grid-template-columns:auto 1fr;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.izumisou-rooms__content{
  display:contents;
}

.izumisou-rooms__inner > .izumisou-section-heading{
  grid-column:1;
  grid-row:1;
}

.izumisou-rooms__grid{
  grid-column:2;
  grid-row:1;
}

.izumisou-rooms__notes{
  grid-column:1/-1;
  grid-row:2;
}

.izumisou-rooms__grid{
  display:grid;
  gap:1rem 0.625rem;
  grid-template-columns:repeat(2, 1fr);
}

.izumisou-rooms__img{
  aspect-ratio:340/255;
  height:auto;
  object-fit:cover;
  width:100%;
}

.izumisou-rooms__caption{
  color:var(--text-base-color);
  font-size:0.8125rem;
  font-weight:var(--font-weight-regular);
  line-height:1.5;
  margin-top:0.5rem;
  text-align:center;
}

.izumisou-rooms__notes{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
  margin-top:1.25rem;
}

.izumisou-rooms__note{
  color:var(--text-base-color);
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  line-height:1.8;
}

.izumisou-rooms__note-link{
  -webkit-text-decoration:underline;
  text-decoration:underline;
  text-underline-offset:0.1875rem;
}

.izumisou-section-heading{
  align-items:center;
  display:flex;
  flex-direction:column;
  flex-shrink:0;
}

.izumisou-section-heading__title{
  color:var(--main-blue);
  font-size:1.125rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.2em;
  text-orientation:mixed;
  white-space:nowrap;
  writing-mode:vertical-rl;
}

.izumisou-section-heading__title--onsen{
  letter-spacing:0.4em;
}

.izumisou-section-heading__line{
  background-color:var(--main-blue);
  display:block;
  height:5.1875rem;
  margin-top:0.375rem;
  width:1px;
}

.archive-news{
  padding-block:6.25rem;
}

.archive-news__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.archive-news__list{
  display:grid;
  gap:3.125rem;
  grid-template-columns:1fr;
}

.archive-news__link{
  display:flex;
  flex-direction:column;
}

.archive-news__thumb{
  border-radius:4px;
  overflow:hidden;
}

.archive-news__thumb-img{
  aspect-ratio:16/9;
  border-radius:4px;
  height:100%;
  object-fit:cover;
  transition:transform var(--duration-short) ease;
}

.archive-news__meta{
  align-items:center;
  display:flex;
  flex-direction:row;
  gap:0.5rem;
  justify-content:space-between;
  margin-top:0.625rem;
}

.archive-news__date{
  color:#868686;
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.13em;
}

.archive-news__category{
  background-color:var(--main-blue);
  border-radius:0.25rem;
  color:var(--white);
  flex-shrink:0;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  padding:0.0625rem 0.25rem;
}

.archive-news__title{
  line-clamp:2;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  display:-webkit-box;
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.13em;
  margin-top:0.1875rem;
  overflow:hidden;
  text-overflow:ellipsis;
}

.archive-news__excerpt{
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-size:0.9375rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
  margin-top:0.375rem;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color var(--duration-short) ease;
}

.archive-news__pagination{
  margin-top:3.125rem;
}

.news-single{
  padding-block:3.75rem 6.25rem;
}

.news-single__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.news-single__header{
  align-items:center;
  display:flex;
  flex-direction:column;
}

.news-single__title{
  color:var(--main-blue);
  font-size:32px;
  font-weight:var(--font-weight-extrabold);
  letter-spacing:0.1155555556em;
}

.news-single__date{
  color:var(--main-blue);
  font-size:15px;
  font-weight:var(--font-weight-extrabold);
  margin-top:5px;
}

.news-single__category{
  background-color:var(--main-blue);
  color:var(--white);
  font-size:15px;
  font-weight:var(--font-weight-extrabold);
  margin-top:5px;
  min-width:120px;
  padding:5px 10px;
  text-align:center;
}

.news-single__content{
  margin-top:60px;
}
.news-single__content h2{
  font-size:32px;
  margin-top:20px;
}
.news-single__content h3{
  font-size:25px;
  margin-top:10px;
}
.news-single__content h4{
  font-size:20px;
  margin-top:10px;
}
.news-single__content h5{
  font-size:18px;
  margin-top:10px;
}
.news-single__content p{
  font-size:15px;
  font-weight:var(--font-weight-medium);
  line-height:1.6;
  margin-top:10px;
}
.news-single__content a{
  -webkit-text-decoration:underline currentColor;
  color:#2271b1;
  font-size:15px;
  font-weight:var(--font-weight-medium);
  text-decoration:underline;
          text-decoration:underline currentColor;
  will-change:opacity;
}
.news-single__content a:hover{
  -webkit-text-decoration:none;
  text-decoration:none;
}
.news-single__content ul{
  margin-top:15px;
}
.news-single__content ul li{
  font-size:15px;
  font-weight:var(--font-weight-medium);
  line-height:1.5;
  padding-left:20px;
  text-indent:-14px;
}
.news-single__content ul li:not(:first-of-type), .news-single__content ol li:not(:first-of-type){
  margin-top:5px;
}
.news-single__content ul li::before{
  background-color:#000;
  border-radius:50%;
  content:"";
  display:inline-block;
  height:5px;
  margin-right:3px;
  margin-right:7px;
  position:relative;
  top:-3px;
  width:5px;
}
.news-single__content ol{
  counter-reset:number;
  font-weight:var(--font-weight-medium);
  margin-top:15px;
}
.news-single__content ol li{
  font-size:15px;
  font-weight:var(--font-weight-medium);
  line-height:1.5;
  padding-left:20px;
  text-indent:-8px;
}
.news-single__content ol li::before{
  color:#000;
  content:counter(number) ".";
  counter-increment:number;
  display:inline-block;
  line-height:1;
  margin-right:3px;
}
.news-single__content figure{
  margin-top:15px;
}

.news-single__archive-link{
  margin-top:3.75rem;
  text-align:center;
}

.news-single__archive-link .btn-link{
  font-size:1rem;
}

.news-single__recommend-info{
  margin-top:6.25rem;
}

.panoramanoyu-feature{
  margin-top:2.375rem;
  overflow-x:clip;
  padding-top:0.625rem;
}

.panoramanoyu-feature__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.panoramanoyu-feature__title-wrap{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  text-align:center;
}

.panoramanoyu-feature__blocks{
  display:flex;
  flex-direction:column;
  gap:5rem;
  margin-top:5rem;
}

.panoramanoyu-feature__block-inner{
  display:flex;
  flex-direction:column;
}

.panoramanoyu-feature__block-body{
  display:contents;
}

.panoramanoyu-feature__block-img-wrap{
  order:2;
}

.panoramanoyu-feature__block-img{
  height:auto;
  width:100%;
}

.panoramanoyu-feature__block-heading{
  font-feature-settings:"vrt2" on;
  color:var(--black);
  font-family:var(--font-family-second);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.4em;
  order:1;
  writing-mode:vertical-rl;
}

.panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-heading{
  align-self:flex-start;
  margin-right:auto;
}

.panoramanoyu-feature__block-text-wrap{
  display:flex;
  flex-direction:column;
  gap:1rem;
  order:3;
}

.panoramanoyu-feature__block-text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:24px;
}

.panoramanoyu-feature__block-link{
  align-self:flex-end;
}

.panoramanoyu-feature__block-link--left{
  align-self:flex-start;
}

.panoramanoyu-feature__cta{
  display:flex;
  justify-content:center;
  margin-top:7.5rem;
}

.panoramanoyu-intro{
  margin-top:3rem;
}

.panoramanoyu-intro__inner{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.panoramanoyu-page-nav{
  margin-top:5.375rem;
}

.panoramanoyu-quality{
  margin-top:5rem;
  padding-top:0.625rem;
}

.panoramanoyu-quality__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.panoramanoyu-quality__img-wrap{
  margin-top:3.125rem;
}

.panoramanoyu-quality__img{
  height:auto;
  width:100%;
}

.panoramanoyu-quality__list{
  display:flex;
  flex-direction:column;
  gap:1.875rem;
  margin-top:2.5rem;
}

.panoramanoyu-quality__item{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}

.panoramanoyu-quality__label{
  background-color:#D9D9D9;
  color:var(--text-base-color);
  display:inline-block;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  min-width:6.25rem;
  padding:0.0625rem 0.375rem 0.0625rem 0.375rem;
  width:fit-content;
}

.panoramanoyu-quality__desc{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  line-height:normal;
}

.panoramanoyu-recommend-info{
  margin-top:6.875rem;
  padding-bottom:11.25rem;
}

.panoramanoyu-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.sightseeing-info{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.sightseeing-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.sightseeing-info__content{
  margin-top:3.125rem;
}

.sightseeing-map{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.sightseeing-map__inner{
  margin:0 auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.sightseeing-map__content{
  display:grid;
  gap:5rem;
  grid-template-columns:1fr;
  margin-top:3.75rem;
}

.sightseeing-map__content-left{
  display:contents;
}

.sightseeing-map__block-link{
  display:block;
  transition:opacity var(--duration-short) ease;
}

.sightseeing-map__block-title{
  color:var(--main-blue);
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  text-align:center;
}

.sightseeing-map__block-title::after{
  aspect-ratio:1;
  background:url("../images/common/icon-pdf.svg") no-repeat center center/contain;
  content:"";
  display:inline-block;
  transform:translateY(3px);
  width:1.125rem;
}

.sightseeing-map__block-map-img{
  height:auto;
  margin-top:1.25rem;
}

.sightseeing-map__block-text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  margin-top:0.625rem;
  text-align:center;
}

.sightseeing-map__content-right{
  display:contents;
}

.sightseeing-recommend-info{
  margin-top:6.875rem;
  padding-bottom:11.25rem;
}

.sightseeing-recommend-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.ski-resort{
  margin-top:7.5rem;
  padding-top:0.625rem;
}

.ski-resort__inner{
  margin:0 auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.ski-resort__text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  margin-top:0.5rem;
  text-align:center;
}

.ski-resort__content{
  margin-top:3.125rem;
}

.sticky-block{
  margin-top:5.625rem;
}

.sticky-block__main{
  min-width:0;
}

.sticky-block__side{
  z-index:1;
}

.sticky-block__side-catch-img{
  display:block;
  height:auto;
  object-fit:contain;
  width:100%;
}

.top-bg-blue{
  overflow-x:clip;
  position:relative;
}
.top-bg-blue::before{
  aspect-ratio:2329/2048;
  background-image:url("../images/top/bg-blue.svg");
  background-position:top;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  height:auto;
  left:-30%;
  position:absolute;
  top:50.7%;
  translate:-50% -50%;
  width:135.375rem;
  z-index:-1;
}
.top-bg-blue::after{
  aspect-ratio:1/1;
  background-image:url("../images/top/deco-circle-line.svg");
  background-position:top;
  background-repeat:no-repeat;
  background-size:contain;
  bottom:-3.75rem;
  content:"";
  position:absolute;
  right:-3.125rem;
  width:clamp(10px, 11700 / var(--cq-ref-mobile) * 1cqi, 247px);
}

.top-full-width-img{
  margin-top:5.625rem;
}

.top-full-width-img__img{
  height:auto;
  width:100%;
}

.top-full-width-slide{
  container-type:inline-size;
}

.top-full-width-slide__copy{
  align-items:flex-start;
  flex-direction:row;
  pointer-events:none;
  position:absolute;
  z-index:3;
}

.top-full-width-slide__copy--desktop{
  display:none;
}

.top-full-width-slide__copy--sp{
  display:flex;
  flex-direction:row;
  gap:0.625rem;
  left:1.5625rem;
  opacity:1;
  top:1.25rem;
  transition:opacity 0.6s ease, visibility 0.6s ease;
  visibility:visible;
}

.top-full-width-slide__copy--sp.is-hidden{
  opacity:0;
  visibility:hidden;
}

.top-full-width-slide__copy-line{
  font-feature-settings:"vrt2" on;
  color:#FFF;
  font-family:var(--font-family-second);
  font-size:min(16px, 1200 / var(--cq-ref-mobile) * 1cqw);
  font-weight:var(--font-weight-medium);
  letter-spacing:0.5em;
  writing-mode:vertical-rl;
}

.top-full-width-slide__copy--sp .top-full-width-slide__copy-line:nth-child(1){
  margin-top:0;
  order:3;
}

.top-full-width-slide__copy--sp .top-full-width-slide__copy-line:nth-child(2){
  margin-top:0.625rem;
  order:2;
}

.top-full-width-slide__copy--sp .top-full-width-slide__copy-line:nth-child(3){
  margin-top:1.375rem;
  order:1;
}

.top-full-width-slide__swiper{
  position:relative;
}

.top-full-width-slide__pagination{
  align-items:center !important;
  bottom:0.9375rem !important;
  display:flex !important;
  gap:0.5625rem !important;
  justify-content:flex-end !important;
  left:auto !important;
  right:1.5625rem !important;
  top:auto !important;
  width:auto !important;
  z-index:2 !important;
}

.top-full-width-slide__pagination .swiper-pagination-bullet{
  margin:0 !important;
}

.top-full-width-slide__pagination .swiper-pagination-bullet{
  aspect-ratio:1/1;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  height:100%;
  margin:0;
  opacity:1;
  width:0.5625rem;
}

.top-full-width-slide__pagination .swiper-pagination-bullet-active{
  background-color:var(--main-blue03);
}

.top-full-width-slide__slide-img{
  aspect-ratio:442/193;
  height:100%;
  object-fit:cover;
}

.top-full-width-slide__swiper .swiper-slide.swiper-slide-active .top-full-width-slide__slide-img-wrap,
.top-full-width-slide__swiper .swiper-slide.swiper-slide-duplicate-active .top-full-width-slide__slide-img-wrap,
.top-full-width-slide__swiper .swiper-slide.swiper-slide-prev .top-full-width-slide__slide-img-wrap{
  animation:scale 8s linear 0s normal both;
  transform-origin:left center;
  will-change:transform;
}

@keyframes scale{
  0%{
    transform:scale(1);
  }
  100%{
    transform:scale(1.05);
  }
}
.top-info{
  padding-top:3.8125rem;
}

.top-info__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.top-info__grid{
  display:flex;
  flex-direction:column;
  gap:4.125rem;
}

.top-info__title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.02em;
  text-align:center;
}

.top-info__price-table-wrap{
  margin-top:1.25rem;
}

.top-info__price-table{
  border:1px solid #444;
  border-collapse:separate;
  border-spacing:0;
  font-size:0.9375rem;
  width:100%;
}

.top-info__price-table th,
.top-info__price-table td{
  border:none;
  border-bottom:1px solid #444;
  border-right:1px solid #444;
  font-weight:var(--font-weight-medium);
  vertical-align:middle;
}

.top-info__price-table thead th:last-child,
.top-info__price-table tbody td:last-child{
  border-right:none;
}

.top-info__price-table tbody tr:last-child th,
.top-info__price-table tbody tr:last-child td{
  border-bottom:none;
}

.top-info__price-table thead th{
  background-color:#F4F4F4;
  color:var(--text-heading-color);
  font-weight:var(--font-weight-semibold);
  text-align:center;
}

.top-info__price-table tbody th{
  text-align:left;
  width:45%;
}

.top-info__price-table tbody td{
  text-align:center;
}

.top-info__price-cell{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:0.875rem;
}

.top-info__actions{
  display:grid;
  gap:0.75rem;
  grid-template-columns:repeat(2, 1fr);
  margin-top:1.5rem;
  padding-inline:1.1875rem;
}

.top-info__btn{
  align-items:center;
  background-color:#ECC23B;
  border:1px solid #ECC23B;
  border-radius:0.25rem;
  color:var(--white);
  display:inline-flex;
  flex-direction:column;
  font-weight:var(--font-weight-semibold);
  justify-content:center;
  position:relative;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
}
.top-info__btn::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  content:"";
  left:auto;
  pointer-events:none;
  position:absolute;
  right:0.375rem;
  top:0.375rem;
  transition:background-image var(--duration-short) ease;
  width:0.75rem;
}

.top-info__btn-label-sub{
  font-size:0.75rem;
}

.top-info__btn-label-main{
  font-size:0.9375rem;
}

.top-intro{
  background:linear-gradient(180deg, #fff 0%, #fff 42%, rgba(10, 154, 255, 0.05) 42%, rgba(10, 154, 255, 0.05) 100%);
  margin-top:2.1875rem;
  padding-bottom:2.0625rem;
}

.top-intro__inner{
  padding-inline:var(--padding-inline);
}

.top-intro__cta-wrap{
  text-align:center;
}

.top-intro__body{
  align-items:flex-start;
  display:flex;
  flex-direction:row;
  gap:0.75rem;
  margin-left:calc(50% - 50cqi);
  margin-top:8.125rem;
}

.top-intro__media{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.top-intro__media-frame{
  border-radius:0 5px 5px 0;
  margin-top:3.125rem;
  overflow:hidden;
}

.top-intro__media-img{
  height:auto;
  width:100%;
}

.top-intro__caption{
  font-feature-settings:"vrt2" on;
  color:var(--main-blue);
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.06em;
  margin-left:16px;
  margin-top:0.625rem;
  text-align:center;
  width:fit-content;
}

.top-intro__aside{
  display:flex;
  flex-direction:row;
  flex-shrink:0;
  gap:0.5rem;
}

.top-intro__catch-main,
.top-intro__catch-sub{
  white-space:nowrap;
  writing-mode:vertical-rl;
}

.top-intro__catch-sub{
  font-feature-settings:"vrt2" on;
  color:var(--main-blue);
  display:none;
  font-family:var(--font-family-second);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.3em;
  line-height:1.35;
  margin-top:4.5625rem;
}

.top-intro__catch-main{
  font-feature-settings:"vrt2" on;
  color:#3679A8;
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.3em;
}

.top-izumiso{
  margin-top:9.375rem;
  overflow-x:clip;
  position:relative;
}

.top-izumiso__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
  position:relative;
}

.top-izumiso__deco{
  pointer-events:none;
  position:absolute;
  right:-2.8125rem;
  top:-7.5rem;
  width:min(250px, 18200 / var(--cq-ref-mobile) * 1cqi);
  z-index:0;
}

.top-izumiso__deco-img{
  height:auto;
  width:100%;
}

.top-izumiso__header{
  align-items:flex-end;
  border-bottom:1px solid var(--main-blue);
  display:flex;
  flex-direction:column;
  margin-left:calc(50% - 50cqi);
  margin-right:6.5rem;
  padding-bottom:0.625rem;
  position:relative;
  text-align:right;
  z-index:1;
}

.top-izumiso__eyebrow{
  color:var(--main-blue);
  font-family:var(--font-family-second);
  font-size:0.6875rem;
  font-weight:var(--font-weight-extrabold);
}

.top-izumiso__title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-bold);
}

.top-izumiso__main{
  display:flex;
  flex-direction:column;
  margin-top:1.8125rem;
}

.top-izumiso__row{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-izumiso__swiper-box{
  position:relative;
  width:100%;
}

.top-izumiso__swiper{
  aspect-ratio:984/532;
  border-radius:1.25rem;
  border-radius:5px;
  overflow:hidden;
  position:relative;
}

.top-izumiso__swiper .swiper-wrapper,
.top-izumiso__swiper .swiper-slide{
  height:100%;
}

.top-izumiso__slide-img-wrap{
  height:100%;
  overflow:hidden;
}

.top-izumiso__slide-img{
  height:100%;
  object-fit:cover;
  width:100%;
}

.top-izumiso__swiper .swiper-slide.swiper-slide-active .top-izumiso__slide-img-wrap,
.top-izumiso__swiper .swiper-slide.swiper-slide-duplicate-active .top-izumiso__slide-img-wrap,
.top-izumiso__swiper .swiper-slide.swiper-slide-prev .top-izumiso__slide-img-wrap{
  animation:top-izumiso-scale 8s linear 0s normal both;
  transform-origin:left center;
  will-change:transform;
}

@keyframes top-izumiso-scale{
  0%{
    transform:scale(1);
  }
  100%{
    transform:scale(1.05);
  }
}
.top-izumiso__pagination{
  align-items:center !important;
  bottom:0.625rem !important;
  display:flex !important;
  gap:0.5625rem !important;
  justify-content:flex-start !important;
  left:1rem !important;
  right:auto !important;
  top:auto !important;
  width:auto !important;
  z-index:2 !important;
}

.top-izumiso__pagination .swiper-pagination-bullet{
  margin:0 !important;
}

.top-izumiso__pagination .swiper-pagination-bullet{
  aspect-ratio:1/1;
  background-color:var(--white);
  border-radius:calc(infinity * 1px);
  flex-shrink:0;
  opacity:1;
  width:0.5625rem;
}

.top-izumiso__pagination .swiper-pagination-bullet-active{
  background-color:var(--main-blue);
}

.top-izumiso__aside{
  display:none;
}

.top-izumiso__copy--desktop{
  display:none;
}

.top-izumiso__copy-line{
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.19em;
}

.top-izumiso__copy-line--lead{
  margin-left:1.4375rem;
}

.top-izumiso__copy--sp{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  margin-left:1.25rem;
  margin-top:1.0625rem;
}

.top-izumiso__actions{
  margin-top:2.8125rem;
  text-align:center;
}

.top-location{
  margin-top:3.6875rem;
}

.top-location__inner{
  margin-inline:auto;
  max-width:var(--inner);
  padding-inline:var(--padding-inline);
}

.top-location__body{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}

.top-location__media-wrap{
  align-items:flex-start;
  display:flex;
  flex-direction:row;
  gap:0.75rem;
  min-width:0;
}

.top-location__media{
  flex:1;
  min-width:0;
}

.top-location__media-frame{
  border-radius:0 5px 5px 0;
  overflow:hidden;
}

.top-location__media-img{
  aspect-ratio:164/93;
  height:auto;
  width:100%;
}

.top-location__eyebrow{
  font-feature-settings:"vrt2" on;
}

.top-location__eyebrow--sp{
  color:var(--main-blue);
  flex-shrink:0;
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.7em;
  writing-mode:vertical-rl;
}

.top-location__eyebrow--pc{
  color:var(--main-blue);
  display:none;
  font-family:var(--font-family-second);
  font-size:1.25rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.5em;
  position:relative;
  writing-mode:vertical-rl;
  z-index:2;
}

.top-location__eyebrow-separator{
  align-items:center;
  display:inline-flex;
  justify-content:center;
  letter-spacing:0.1em;
  line-height:1;
  margin-inline:0.125rem 0.375rem;
  rotate:90deg;
  transform-origin:center;
}

.top-location__content{
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
}

.top-location__titles{
  align-items:flex-start;
  display:flex;
  flex-direction:row;
  gap:0.625rem;
  position:relative;
}
.top-location__titles::before{
  aspect-ratio:382/171;
  background-image:url("../images/top/deco-dot.svg");
  background-position:center;
  background-size:contain;
  content:"";
  left:40%;
  position:absolute;
  top:13%;
  translate:-50% -50%;
  width:23.875rem;
  z-index:1;
}

.top-location__title{
  color:var(--main-blue);
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.19em;
  position:relative;
  z-index:2;
}

.top-location__lead{
  color:var(--main-blue);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.03em;
  line-height:1.8;
  margin-top:2.5rem;
}

.top-location__areas{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  margin-top:2.5rem;
}

.top-location__area{
  display:flex;
  flex-direction:column;
  gap:0.625rem;
}

.top-location__area-label{
  align-self:flex-start;
  background-color:var(--main-blue);
  color:var(--white);
  display:inline-flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-bold);
  line-height:1.4;
  min-width:8.8125rem;
  padding:0.375rem 0.875rem;
}

.top-location__area-body{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.top-location__area-line{
  color:var(--main-blue);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  line-height:1.65;
}

.top-location__cta-wrap{
  margin-top:2.25rem;
  text-align:center;
}

.top-location__cta-wrap .btn-link{
  padding:0.4375rem 1.25rem;
}

.top-mv__frame{
  margin-inline:auto;
  max-width:min(505px, 35600 / var(--cq-ref-mobile) * 1cqi);
  position:relative;
}

.top-mv__img-wrap{
  position:relative;
  z-index:1;
}

.top-mv__img{
  height:auto;
  object-fit:contain;
  width:100%;
}

.top-mv__clouds{
  inset:0;
  pointer-events:none;
  position:absolute;
  z-index:2;
}

.top-mv__cloud{
  pointer-events:none;
  position:absolute;
  will-change:transform, opacity;
  z-index:2;
}

.top-mv__cloud-img{
  animation:move_clouds_left 25s linear infinite;
  height:auto;
  object-fit:contain;
  width:100%;
}

.top-mv__cloud--1{
  left:66%;
  right:auto;
  top:14%;
  transform:translateX(-50%);
  width:min(143px, 10300 / var(--cq-ref-mobile) * 1cqi);
}

.top-mv__cloud--1 .top-mv__cloud-img{
  animation-delay:0s;
  animation-duration:27s;
}

.top-mv__cloud--2{
  left:8%;
  right:auto;
  top:46%;
  transform:translateY(-50%);
  width:min(135px, 10500 / var(--cq-ref-mobile) * 1cqi);
}

.top-mv__cloud--2 .top-mv__cloud-img{
  animation-delay:-6s;
  animation-duration:27s;
}

.top-mv__cloud--3{
  bottom:15%;
  left:auto;
  right:9%;
  top:auto;
  width:min(90px, 6600 / var(--cq-ref-mobile) * 1cqi);
}

.top-mv__cloud--3 .top-mv__cloud-img{
  animation-delay:-12s;
  animation-duration:30s;
}

@keyframes move_clouds_left{
  0%{
    opacity:0;
    transform:translateX(100%);
  }
  20%{
    opacity:1;
  }
  80%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translateX(-100%);
  }
}
.top-news{
  margin-top:5.625rem;
}

.top-news__inner{
  margin-inline:auto;
  max-width:37.5rem;
}

.top-news__filters{
  border-bottom:1px solid rgba(68, 68, 68, 0.6392156863);
  padding-bottom:0.375rem;
  text-align:center;
}

.top-news__filter-list{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.top-news__filter-item{
  align-items:center;
  display:inline-flex;
  gap:0.5rem;
}
.top-news__filter-item:not(:last-child)::after{
  content:"|";
  margin-right:0.5rem;
}

.top-news__filter-link{
  background-image:linear-gradient(var(--black), var(--black));
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.026em;
  transition:background-size var(--duration-base) ease;
}
.top-news__filter-link.is-current{
  background-image:none;
  color:var(--main-blue);
}

.top-news__empty{
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.032em;
  line-height:1.5;
  margin-top:1.5rem;
}

.top-news__list{
  display:flex;
  flex-direction:column;
  gap:1.125rem;
  margin-top:1.5rem;
}

.top-news__link{
  display:grid;
  gap:0 0.75rem;
  grid-template-columns:auto 1fr;
}

.top-news__date{
  flex-shrink:0;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.032em;
  line-height:1.5;
  white-space:nowrap;
}

.top-news__title{
  min-width:0;
}

.top-news__title-text{
  -webkit-box-decoration-break:slice;
  background-image:linear-gradient(var(--black), var(--black));
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  box-decoration-break:slice;
  display:inline-block;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.032em;
  padding-bottom:0.1875rem;
  transition:background-size var(--duration-base) ease;
}

.top-news__more{
  border-bottom:1px solid rgba(68, 68, 68, 0.6392156863);
  margin-top:0.3125rem;
  padding-bottom:0.625rem;
  text-align:end;
}

.top-news__more-link{
  background-image:linear-gradient(var(--black), var(--black));
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.0042857143em;
  transition:background-size var(--duration-base) ease;
}

.top-recommend-info{
  margin-top:7.875rem;
  padding-bottom:13.75rem;
}

.top-recommend-info__inner{
  margin-inline:auto;
  max-width:75rem;
  padding-inline:var(--padding-inline);
}

.top-restaurant-izumi{
  margin-top:9.3125rem;
  overflow-x:clip;
}

.top-restaurant-izumi__inner{
  margin-inline:auto;
  max-width:var(--inner);
}

.top-restaurant-izumi__deco-wrap{
  display:flex;
  grid-area:deco;
  justify-content:center;
}

.top-restaurant-izumi__deco-img{
  height:auto;
}

.top-restaurant-izumi__header{
  align-items:flex-start;
  border-bottom:1px solid var(--main-blue);
  display:flex;
  flex-direction:column;
  margin-left:3.125rem;
  padding-bottom:0.625rem;
  text-align:right;
}

.top-restaurant-izumi__eyebrow{
  color:var(--main-blue);
  font-family:var(--font-family-second);
  font-size:0.6875rem;
  font-weight:var(--font-weight-bold);
}

.top-restaurant-izumi__title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.06em;
}

.top-restaurant-izumi__visual{
  display:flex;
  flex-direction:column;
  gap:0;
  position:relative;
}

.top-restaurant-izumi__copy{
  align-self:flex-start;
  position:absolute;
  z-index:2;
}

.top-restaurant-izumi__text-wrap{
  background-color:var(--white);
  border-radius:10px;
  display:flex;
  flex-direction:column;
  gap:0.1875rem;
  padding:1rem 0.75rem 1rem 1rem;
  text-orientation:mixed;
  writing-mode:vertical-rl;
}

.top-restaurant-izumi__text-line{
  font-feature-settings:"vrt2" on;
  font-family:var(--font-family-second);
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.5em;
  white-space:nowrap;
}

.top-restaurant-izumi__photo-wrap{
  border-radius:5px 0 0 5px;
  height:100%;
  margin-top:1.875rem;
  overflow:hidden;
}

.top-restaurant-izumi__photo-img{
  border-radius:5px 0 0 5px;
  height:auto;
  object-fit:cover;
  width:100%;
}

.top-restaurant-izumi__actions{
  margin-top:3.125rem;
  text-align:center;
}
.js-fade-in{
  opacity:0;
  transition:opacity var(--duration-extra-long) ease-in-out;
}
.js-fade-in.is-active{
  opacity:1;
}
.js-fade-up{
  opacity:0;
  transition:opacity var(--duration-extra-long) ease-in-out, translate var(--duration-extra-long) ease-in-out;
  translate:0 10px;
}
.js-fade-up.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-left{
  opacity:0;
  transition:opacity var(--duration-extra-long) ease-in-out, translate var(--duration-extra-long) ease-in-out;
  translate:-5px 0;
}
.js-slide-left.is-active{
  opacity:1;
  translate:0 0;
}
.js-slide-right{
  opacity:0;
  transition:opacity var(--duration-extra-long) ease-in-out, translate var(--duration-extra-long) ease-in-out;
  translate:5px 0;
}
.js-slide-right.is-active{
  opacity:1;
  translate:0 0;
}

.js-scaleImg{
  overflow:hidden;
}
.js-scaleImg img{
  opacity:0;
  scale:1.05;
  transition:scale 1.1s ease-in-out, opacity 1.1s ease-in-out;
}
.js-scaleImg.is-active img{
  opacity:1;
  scale:1;
}

.js-slide-text{
  opacity:0;
  transition:opacity 1s cubic-bezier(0.645, 0.045, 0.355, 1), translate 1s cubic-bezier(0.645, 0.045, 0.355, 1);
  translate:-10px 0;
  will-change:opacity, translate;
}
.js-slide-text.is-active{
  opacity:1;
  translate:0 0;
}

.js-top-restaurant-izumi-visual .top-restaurant-izumi__text-wrap{
  opacity:0;
  transition:opacity 1.1s ease-in-out;
  transition-delay:0.2s;
  will-change:opacity;
}
.js-top-restaurant-izumi-visual .top-restaurant-izumi__photo-wrap{
  overflow:hidden;
}
.js-top-restaurant-izumi-visual .top-restaurant-izumi__photo-wrap img{
  opacity:0;
  scale:1.05;
  transition:scale 1.1s ease-in-out, opacity 1.1s ease-in-out;
  will-change:scale, opacity;
}
.js-top-restaurant-izumi-visual.is-active .top-restaurant-izumi__photo-wrap img{
  opacity:1;
  scale:1;
}
.js-top-restaurant-izumi-visual.is-active .top-restaurant-izumi__text-wrap{
  opacity:1;
}

.js-izumisou-heading .izumisou-section-heading__title{
  opacity:0;
  transition:opacity 1.1s ease-in-out;
  will-change:opacity;
}
.js-izumisou-heading .izumisou-section-heading__line{
  height:0;
  transition:height 1.1s ease-in-out;
  transition-delay:0.5s;
  will-change:height;
}
.js-izumisou-heading.is-active .izumisou-section-heading__line{
  height:5.1875rem;
}
.js-izumisou-heading.is-active .izumisou-section-heading__title{
  opacity:1;
}

.js-panoramanoyu-feature-block .panoramanoyu-feature__block-img-wrap{
  overflow:hidden;
}
.js-panoramanoyu-feature-block .panoramanoyu-feature__block-img-wrap img{
  opacity:0;
  transform:scale(1.03);
  transition:transform 0.9s ease-in-out, opacity 0.9s ease-in-out;
  will-change:transform, opacity;
}
.js-panoramanoyu-feature-block .panoramanoyu-feature__block-heading{
  opacity:0;
  transform:translateX(-5px);
}
.js-panoramanoyu-feature-block .panoramanoyu-feature__block-text-wrap{
  opacity:0;
  transform:translateY(10px);
}
.js-panoramanoyu-feature-block.is-active .panoramanoyu-feature__block-img-wrap img{
  opacity:1;
  transform:scale(1);
  transition:transform 0.9s ease-in-out, opacity 0.9s ease-in-out;
  transition-delay:0.3s;
  will-change:transform, opacity;
}
.js-panoramanoyu-feature-block.is-active .panoramanoyu-feature__block-heading{
  opacity:1;
  position:relative;
  transform:translateX(0);
  transition:transform 0.9s ease-in-out, opacity 0.9s ease-in-out;
  will-change:transform, opacity;
  z-index:1;
}
.js-panoramanoyu-feature-block.is-active .panoramanoyu-feature__block-text-wrap{
  opacity:1;
  transform:translateY(0);
  transition:transform 0.9s ease-in-out, opacity 0.9s ease-in-out;
  transition-delay:1.2s;
  will-change:transform, opacity;
}

:root{
  --delay-1:0.1s;
  --delay-2:0.2s;
  --delay-3:0.3s;
  --delay-4:0.4s;
  --delay-5:0.5s;
}

.--delay-1{
  transition-delay:var(--delay-1);
}

.--delay-2{
  transition-delay:var(--delay-2);
}

.--delay-3{
  transition-delay:var(--delay-3);
}

.--delay-4{
  transition-delay:var(--delay-4);
}

.--delay-5{
  transition-delay:var(--delay-5);
}
.breadcrumb-wrapper{
  margin-top:3.4375rem;
}

.breadcrumb{
  background-color:#DEF0FF;
  padding-block:0.125rem;
}

.breadcrumb__list{
  align-items:center;
  display:flex;
  padding-inline:0.6875rem;
}

.breadcrumb__item{
  align-items:center;
  color:#7C7C7C;
  display:flex;
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
}

.breadcrumb__item::after{
  content:"＞";
  display:inline-block;
  margin-inline:0.3125rem;
}

.breadcrumb__item:last-child::after{
  content:none;
}

.breadcrumb__link{
  transition:opacity var(--duration-short) ease;
}

.btn-link{
  align-items:center;
  background-color:transparent;
  border:1px solid var(--main-blue);
  border-radius:4px;
  color:var(--main-blue);
  display:inline-flex;
  font-size:0.9375rem;
  font-weight:var(--font-weight-semibold);
  justify-content:center;
  letter-spacing:0.13em;
  min-width:8.125rem;
  padding:0.5rem 0.625rem;
  width:fit-content;
}
.btn-link{
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
}

.btn-link--large{
  padding:0.75rem 0.9375rem;
}

.card-list{
  display:grid;
  gap:5rem;
  grid-template-columns:1fr;
}

.card-list__item-img{
  aspect-ratio:1060/512;
  height:100%;
  object-fit:cover;
}

.card-list__item-content{
  margin-top:1rem;
}

.card-list__item-title{
  align-items:center;
  color:var(--text-heading-color);
  display:flex;
  font-family:"Noto Sans JP";
  font-size:1.375rem;
  font-weight:var(--font-weight-medium);
}

.card-list__item-text{
  color:var(--text-base-color);
  font-size:1rem;
  font-weight:var(--font-weight-medium);
  margin-top:0.25rem;
}

.card-list__item-link{
  -webkit-text-decoration:underline;
  text-decoration:underline;
}

.card-list__item-external-link{
  background:var(--main-blue);
  border:1px solid var(--main-blue);
  border-radius:0.1875rem;
  color:var(--white);
  display:inline-block;
  font-size:1rem;
  font-weight:var(--font-weight-regular);
  margin-left:1.25rem;
  padding:0.0625rem 1rem 0.0625rem 0.625rem;
  position:relative;
  text-align:center;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease;
}
.card-list__item-external-link::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  content:"";
  position:absolute;
  right:0.1875rem;
  top:0.1875rem;
  transition:background-image var(--duration-short) ease;
  width:0.5625rem;
}

.footer{
  background-color:var(--main-blue03);
  background-image:url("../images/common/footer-bg.webp");
  background-position:center bottom;
  background-repeat:no-repeat;
  background-size:cover;
  color:var(--white);
  display:block;
  padding-block:1.875rem 0.625rem;
}

.footer__body{
  align-items:flex-start;
  display:grid;
  gap:1.5rem 2.25rem;
  grid-template-columns:1fr 1fr;
}

.footer__heading{
  color:var(--white);
  font-family:var(--font-family-third);
  font-size:0.8125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1056em;
}

.footer__heading-slot{
  display:none;
}

.footer__list{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:0.125rem;
}

.footer__col--plain .footer__list{
  gap:0.25rem;
  margin-top:0;
}

.footer__col--plain .footer__link:not(.footer__link--external){
  font-family:var(--font-family-third);
  font-size:0.8125rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.1056em;
}

.footer__link{
  color:var(--white);
  display:inline-flex;
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  gap:0.375rem;
  letter-spacing:0.077em;
  transition:opacity var(--duration-short) ease;
}

.footer__link--external{
  gap:0.25rem;
}

.footer__icon-external{
  aspect-ratio:1;
  flex-shrink:0;
  object-fit:contain;
  width:0.5625rem;
}

.footer__col--brand{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-top:0.5rem;
}

.footer__logo-link{
  display:none;
}
.footer__logo-link{
  transition:opacity var(--duration-short) ease;
}

.footer__logo-img{
  filter:brightness(0) invert(1);
  height:auto;
  width:100%;
}

.footer__actions{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  gap:2.875rem;
  margin-inline:0;
  margin-top:0;
  max-width:none;
  width:100%;
}

.footer__action-btn{
  align-items:center;
  background-color:transparent;
  border:1px solid var(--white);
  border-radius:4px;
  color:var(--white);
  display:flex;
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  justify-content:center;
  letter-spacing:0.08em;
  line-height:1.4;
  min-height:1.5rem;
  min-width:7.5625rem;
  padding:0.1875rem 0.1875rem;
  position:relative;
  text-align:center;
}
.footer__action-btn{
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
}

.footer__action-btn--reserve .footer__action-label::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  content:"";
  pointer-events:none;
  position:absolute;
  right:0.25rem;
  top:0.1875rem;
  transition:background-image var(--duration-short) ease;
  width:0.5625rem;
}

.footer__copyright{
  margin-top:1.5rem;
  text-align:center;
}

.footer__copyright-text{
  color:var(--white);
  font-family:var(--font-family-base);
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
}
.footer__copyright-text{
  transition:opacity var(--duration-short) ease;
}

.footer__list--sub .footer__link{
  flex-direction:column;
  font-weight:var(--font-weight-medium);
  gap:0.1875rem;
  letter-spacing:0.13em;
}

.footer__link-sub{
  display:inline;
  font-size:0.5625rem;
  font-weight:var(--font-weight-medium);
  letter-spacing:0.03em;
}

.footer__logo-wrap{
  align-items:center;
  display:flex;
  gap:0.625rem;
  margin-top:0.4375rem;
}

.footer__logo-kmh{
  height:auto;
  object-fit:contain;
  width:1.625rem;
}

.footer__logo-fitz{
  height:auto;
  object-fit:contain;
  width:0.9375rem;
}

.header{
  background-color:var(--white);
  left:0;
  position:fixed;
  right:0;
  top:0;
  transition:box-shadow var(--duration-base) ease;
  z-index:var(--z-index-header);
}

.header.is-scroll{
  box-shadow:0 0.125rem 0.625rem color-mix(in srgb, var(--black) 6%, transparent);
}

.header__inner{
  align-items:center;
  display:flex;
  gap:0.75rem;
  height:100%;
  justify-content:space-between;
  min-height:3.125rem;
  padding:0.3125rem 0.625rem;
}

.header__brand{
  width:9.875rem;
}

.header__logo-link{
  display:block;
  transition:opacity var(--duration-short) ease;
}

.header__logo-img{
  height:auto;
  object-fit:contain;
}

.header__right{
  align-items:center;
  display:flex;
  flex-shrink:0;
  gap:0.75rem;
}

.header__nav-wrap{
  align-items:flex-end;
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
}

.header__nav-list{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 2.1875rem;
  justify-content:flex-end;
  margin-right:1.25rem;
}

.header__nav-item{
  margin:0;
}

.header__nav-link{
  background-image:linear-gradient(var(--text-heading-color), var(--text-heading-color));
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  color:var(--text-heading-color);
  font-size:min(18px, 18 * 100 / var(--cq-ref) * 1cqw);
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.13em;
  padding-bottom:0.1875rem;
  transition:background-size var(--duration-base) ease;
  width:fit-content;
}

.header__actions-sub{
  align-items:center;
  display:flex;
  gap:0.5rem;
}

.header__actions{
  align-items:stretch;
  display:flex;
  flex-shrink:0;
}
.header__actions.pc{
  display:none;
}
.header__actions.sp{
  align-items:stretch;
  display:flex;
  gap:0.5rem;
}
.header__actions.sp .header__action-btn{
  flex-shrink:0;
  height:fit-content;
  min-height:1.3125rem;
}
.header__actions.sp .header__action-btn--sp-outline{
  align-items:center;
  background-color:var(--white);
  border:1px solid var(--main-blue03);
  border-radius:2px;
  color:var(--main-blue03);
  display:flex;
  font-size:0.75rem;
  justify-content:center;
  line-height:1.3;
  padding:0 0.75rem 0 0.625rem;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
}
.header__actions.sp .header__action-btn--sp-solid{
  align-items:flex-start;
  background-color:var(--main-blue);
  border:1px solid var(--main-blue);
  border-radius:2px;
  color:var(--white);
  display:inline-flex;
  flex-direction:column;
  font-size:0.5rem;
  font-weight:var(--font-weight-semibold);
  gap:0;
  justify-content:center;
  line-height:1.25;
  padding:0 0.75rem 0 0.625rem;
  text-align:center;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
  white-space:normal;
}
.header__actions.sp .header__action-solid-sub{
  font-size:0.3125rem;
}
.header__actions.sp .header__action-solid-main{
  padding-left:0.3125rem;
}

.header__action-btn{
  align-items:center;
  background-color:transparent;
  border:1px solid var(--main-blue03);
  border-radius:3px;
  color:var(--main-blue03);
  display:inline-flex;
  font-weight:var(--font-weight-semibold);
  justify-content:center;
  letter-spacing:0.13em;
  text-align:center;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease, border-color var(--duration-short) ease;
  white-space:nowrap;
}

.header__action-btn--sub{
  font-size:1rem;
  padding:0 0.5rem;
}

.header__action-btn--main{
  font-size:1.125rem;
  font-weight:var(--font-weight-medium);
  padding:0.5rem;
  position:relative;
}
.header__action-btn--main::after{
  aspect-ratio:1;
  background:url("../images/common/icon-external-link_blue.webp") no-repeat center/contain;
  content:"";
  pointer-events:none;
  position:absolute;
  right:1.25rem;
  top:0.1875rem;
  transition:background-image var(--duration-short) ease;
  width:0.5625rem;
}
.header__hamburger-button{
  -webkit-tap-highlight-color:transparent;
  align-items:center;
  background:transparent;
  border:none;
  cursor:pointer;
  display:flex;
  height:2.75rem;
  justify-content:center;
  min-height:2.75rem;
  min-width:2.75rem;
  padding:0;
  position:relative;
  touch-action:manipulation;
  width:2.75rem;
}
.header__hamburger-button span{
  background:var(--main-blue);
  height:1px;
  left:50%;
  pointer-events:none;
  position:absolute;
  transition:rotate var(--duration-short) ease, top var(--duration-short) ease;
  translate:-50% -50%;
  width:1.875rem;
}
.header__hamburger-button span:nth-of-type(1){
  top:calc(50% - 0.375rem);
}
.header__hamburger-button span:nth-of-type(2){
  top:calc(50% + 0.375rem);
}
.header__hamburger-button.is-open span:nth-of-type(1){
  rotate:35deg;
  top:50%;
}
.header__hamburger-button.is-open span:nth-of-type(2){
  rotate:-35deg;
  top:50%;
}
.drawer{
  background-color:var(--white);
  display:flex;
  flex-direction:column;
  height:100dvh;
  inset:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  position:fixed;
  transition:opacity var(--duration-short) ease, visibility var(--duration-short) ease;
  visibility:hidden;
  z-index:var(--z-index-drawer);
}
.drawer.is-open{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
}

.drawer__body{
  -webkit-overflow-scrolling:touch;
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0;
  overflow-y:auto;
}

.drawer__mv{
  flex-shrink:0;
  margin-top:3.125rem;
  width:100%;
}

.drawer__mv-img{
  display:block;
  height:auto;
  width:100%;
}

.drawer__nav{
  flex-shrink:0;
  padding:1.75rem 1.5625rem 3rem 3.5625rem;
}

.drawer__list{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.drawer__link{
  color:var(--text-heading-color);
  display:inline-block;
  font-size:1rem;
  font-weight:var(--font-weight-semibold);
  letter-spacing:0.13em;
  transition:opacity var(--duration-short) ease;
  width:100%;
}

html.is-drawer-open .header{
  z-index:calc(var(--z-index-drawer) + 1);
}

.info-calendar__meta{
  align-items:stretch;
  display:flex;
  flex-direction:column;
  margin-top:1.25rem;
}

.info-calendar__year{
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  padding-left:2.1875rem;
  text-align:left;
  width:100%;
}

.info-calendar__month-wrap{
  display:grid;
  gap:0.625rem;
  grid-template-columns:max-content auto max-content;
  padding-inline:2.5rem;
}

.info-calendar__month-prev,
.info-calendar__month-next{
  align-items:center;
  display:flex;
  font-size:0.875rem;
  font-weight:var(--font-weight-semibold);
  gap:0.25rem;
  transition:opacity var(--duration-base) ease;
  will-change:opacity;
}

.info-calendar__month-next::after,
.info-calendar__month-prev::before{
  border-right:solid 2px #000000;
  border-top:solid 2px #000000;
  content:"";
  display:inline-block;
  height:10px;
  left:10px;
  top:8px;
  transition:transform var(--duration-short) ease;
  width:10px;
  will-change:transform;
}

.info-calendar__month-next::after{
  transform:rotate(45deg);
}

.info-calendar__month-prev::before{
  transform:rotate(-135deg);
}

.info-calendar__month{
  font-family:var(--font-family-third);
  font-size:2.5rem;
  font-weight:var(--font-weight-bold);
  line-height:1;
  text-align:center;
  width:100%;
}

.info-calendar__table-wrap{
  margin-top:1rem;
  overflow-x:auto;
}

.info-calendar__table{
  border-collapse:separate;
  border-spacing:0.25rem 0.25rem;
  color:var(--text-heading-color);
  font-size:0.875rem;
  font-weight:var(--font-weight-medium);
  table-layout:fixed;
  text-align:center;
  width:100%;
}

.info-calendar__table th,
.info-calendar__table td{
  background-color:transparent;
  border:none;
  padding:0.5rem 0.25rem;
}

.info-calendar__table thead th{
  background-color:transparent;
  font-weight:var(--font-weight-semibold);
}

.info-calendar__table tbody td{
  background-color:transparent;
}

.info-calendar__table tbody td.info-calendar__day--empty{
  background-color:transparent;
}

.info-calendar__table tbody td.info-calendar__day--closed{
  background-color:#ff5757;
  color:var(--white);
  font-weight:var(--font-weight-semibold);
}

.info-calendar__table tbody td.info-calendar__day--temp{
  background-color:#ffde59;
  color:var(--text-heading-color);
  font-weight:var(--font-weight-semibold);
}

.info-calendar__table tbody td.info-calendar__day--holiday{
  color:#d98200;
  font-weight:var(--font-weight-semibold);
}

.info-calendar__legend{
  align-items:center;
  display:flex;
  gap:1rem 1.5rem;
  justify-content:flex-end;
  margin-top:0.625rem;
}

.info-calendar__legend-item{
  align-items:center;
  display:inline-flex;
  font-size:0.8125rem;
  font-weight:var(--font-weight-medium);
  gap:0.5rem;
}

.info-calendar__legend-swatch{
  aspect-ratio:1;
  flex-shrink:0;
  width:0.875rem;
}

.info-calendar__legend-swatch--closed{
  background-color:#ff5757;
}

.info-calendar__legend-swatch--temp{
  background-color:#ffde59;
}

.info-calendar__notes{
  color:var(--text-base-color);
  display:flex;
  flex-direction:column;
  font-size:0.9375rem;
  font-weight:var(--font-weight-medium);
  gap:0.5rem;
  line-height:1.6;
  margin-top:3.75rem;
}

.info-calendar__notes-holiday{
  color:#d98200;
  font-weight:var(--font-weight-semibold);
}

.page-nav{
  text-align:center;
}

.page-nav__list{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.page-nav__item{
  align-items:center;
  display:flex;
}
.page-nav__item::before{
  color:#7c7c7c;
  content:"|";
  font-size:0.6875rem;
  padding-inline:0.4375rem;
}
.page-nav__item:first-child::before{
  display:none;
}

.page-nav__link{
  -webkit-box-decoration-break:slice;
  background-image:linear-gradient(#7c7c7c, #7c7c7c);
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:0 1px;
  box-decoration-break:slice;
  color:#7c7c7c;
  display:inline-block;
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  transition:background-size var(--duration-base) ease;
}

.pagination{
  -moz-column-gap:clamp(8px, -35.75px + 12.5vw, 13px);
  align-items:center;
       column-gap:clamp(8px, -35.75px + 12.5vw, 13px);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  row-gap:0.9375rem;
}

.pagination .page-link{
  background-color:var(--white);
}

.pagination .page-link,
.pagination .current-page{
  align-items:center;
  aspect-ratio:1/1;
  border:1px solid var(--main-blue);
  display:flex;
  font-size:1rem;
  font-weight:var(--font-weight-bold);
  justify-content:center;
  line-height:1;
  padding-bottom:0.125rem;
  transition:background-color var(--duration-short) ease, color var(--duration-short) ease;
  width:2.25rem;
}

.pagination .current-page{
  background-color:var(--main-blue);
  color:var(--white);
}

.pagination .dots{
  font-size:1.125rem;
}

.pagination .prev,
.pagination .next{
  align-items:center;
  display:inline-flex;
  height:2.625rem;
  justify-content:center;
  line-height:1;
  position:relative;
  transition:background-color var(--duration-short) ease;
  width:2.625rem;
}
.pagination .prev::before,
.pagination .next::before{
  border-bottom:none;
  border-left:none;
  border-right:2px solid var(--black);
  border-top:2px solid var(--black);
  content:"";
  height:0.5625rem;
  margin-top:-0.28125rem;
  position:absolute;
  right:1.6rem;
  top:50%;
  transition:border-color var(--duration-short) ease;
  transition:transform var(--duration-short) ease;
  width:0.5625rem;
}
.pagination .next::before{
  transform:rotate(45deg);
}

.pagination .prev::before{
  left:1.6rem;
  right:auto;
  transform:rotate(-135deg);
}

.recommend-info__title{
  color:var(--main-blue);
  font-size:1.25rem;
  font-weight:var(--font-weight-extrabold);
  letter-spacing:0.13em;
  text-align:center;
}

.recommend-info .archive-news__list{
  margin-top:1rem;
}

.section-title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-extrabold);
  letter-spacing:0.05em;
  text-align:center;
}

.sub-mv{
  height:auto;
  position:relative;
}

.sub-mv__img{
  height:auto;
}

.sub-mv__header{
  border-radius:0 5px 0 0;
  bottom:-3.4375rem;
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  left:0;
  min-height:4.375rem;
  position:absolute;
}

.sub-mv__title{
  color:var(--main-blue);
  font-size:1.5rem;
  font-weight:var(--font-weight-bold);
  letter-spacing:0.13em;
  line-height:1;
}

.sub-mv__eyebrow{
  color:var(--text-base-color);
  display:block;
  font-size:0.6875rem;
  font-weight:var(--font-weight-regular);
  letter-spacing:0.13em;
}

.is-noto-serif-jp{
  font-family:var(--font-family-second);
}

@media (min-width: 450px) and (max-width: 767px){
  .top-bg-blue::before{
    --fluid-basis-mobile:(100vw - 450px) / (767 - 450);
    width:clamp(2166px, 2166px + 300 * var(--fluid-basis-mobile), 2466px);
  }
}

@media (min-width: 768px){
  .u-desktop{
    display:block;
  }

  .u-desktop-inline{
    display:inline;
  }

  .u-mobile{
    display:none;
  }

  .u-mobile-inline{
    display:none;
  }

  html{
    font-size:1.3333333333vw;
  }

  html{
    scroll-padding-top:6.25rem;
  }

  a[href*="tel:"]{
    -webkit-text-decoration:none;
    cursor:default;
    pointer-events:none;
    text-decoration:none;
  }

  .inner{
    max-width:1232px;
    padding-left:16px;
    padding-right:16px;
  }

  .not-found__body{
    padding-block:5rem 7.5rem;
  }

  .not-found__number{
    font-size:12.5rem;
  }

  .not-found__title{
    font-size:1.5rem;
    margin-top:1.5rem;
  }

  .not-found__text{
    font-size:1rem;
    margin-top:1.25rem;
  }

  .not-found__btn-wrap{
    margin-top:3rem;
  }

  .not-found-recommend-info{
    margin-top:11.875rem;
    padding-bottom:10.625rem;
  }

  .camp-about{
    margin-top:10.625rem;
  }

  .camp-about__text{
    margin-top:1.875rem;
  }

  .camp-about__content{
    margin-top:7.5rem;
    padding-right:5rem;
    position:relative;
  }

  .camp-about__content-block-btn-wrap{
    margin-top:3.125rem;
    text-align:right;
  }

  .camp-about__content-block-btn-wrap .btn-link{
    padding-block:1rem;
  }

  .camp-about__content-text{
    background-color:var(--white);
    border-radius:0.9375rem;
    display:flex;
    flex-direction:row-reverse;
    font-family:var(--font-family-second);
    font-size:1.25rem;
    gap:0.625rem;
    letter-spacing:0.55em;
    padding:1.875rem 2.1875rem;
    position:absolute;
    right:1.25rem;
    top:-7.5rem;
  }

  .camp-about__content-text-line{
    font-feature-settings:"vrt2" on;
    text-orientation:mixed;
    white-space:nowrap;
    writing-mode:vertical-rl;
  }

  .camp-area-info{
    margin-top:13.75rem;
    padding-top:0.625rem;
  }

  .camp-area-info__img-wrap{
    margin-top:4.375rem;
  }

  .camp-area-info__btn-wrap{
    margin-top:3.375rem;
  }

  .camp-area-info__btn-wrap .btn-link{
    padding:0.9375rem 2rem;
  }

  .camp-feature{
    margin-top:12.5rem;
    padding-top:0.625rem;
  }

  .camp-feature__swiper{
    margin-top:3.25rem;
  }

  .camp-feature__pagination{
    bottom:1.5625rem !important;
    gap:0.625rem !important;
    right:2.8125rem !important;
  }

  .camp-feature__pagination .swiper-pagination-bullet{
    width:1.1875rem;
  }

  .camp-feature__list{
    margin-top:5.625rem;
    padding-inline:2.625rem;
  }

  .camp-feature__item-title{
    font-size:1rem;
  }

  .camp-feature__item-text{
    font-size:1rem;
  }

  .camp-recommend-info{
    margin-top:13.125rem;
    padding-bottom:10.625rem;
  }

  .camp-reserve{
    margin-top:13.125rem;
    padding-top:0.625rem;
  }

  .camp-reserve__intro{
    margin-top:5.3125rem;
  }

  .camp-reserve__intro-title{
    font-size:1rem;
    padding-inline:2.5rem;
  }

  .camp-reserve__intro-text{
    font-size:1rem;
  }

  .camp-reserve__intro-text--mt{
    margin-top:2.5rem;
  }

  .camp-reserve__intro-text--mt-large{
    margin-top:3.75rem;
  }

  .camp-reserve__content{
    margin-top:11.25rem;
  }

  .camp-reserve__label{
    font-size:1.125rem;
    padding:1.25rem 0.75rem;
    width:30%;
  }

  .camp-reserve__desc{
    padding:1.5625rem 1.75rem;
  }

  .camp-reserve__desc-text{
    font-size:1.125rem;
  }

  .camp-reserve__desc-text-bold{
    font-size:1.25rem;
  }

  .camp-reserve__desc-text--mt{
    margin-top:1.875rem;
  }

  .facilities-floor{
    margin-top:11.875rem;
    padding-bottom:11.875rem;
  }

  .facilities-floor__content{
    margin-top:3.4375rem;
  }

  .facilities-map{
    margin-top:9.375rem;
    padding-top:0.625rem;
  }

  .facilities-map__content{
    margin-top:6.25rem;
  }

  .facilities-recommend-info{
    margin-top:25rem;
    padding-bottom:10.625rem;
  }

  .facility-introduction{
    margin-top:13.125rem;
    padding-top:7.0625rem;
  }

  .facility-introduction__content{
    margin-top:12.5rem;
  }

  .guide-access{
    margin-top:10rem;
    padding-top:0.625rem;
  }

  .guide-access__table{
    margin-top:5.4375rem;
  }

  .guide-access__row{
    min-height:7.4375rem;
  }

  .guide-access__row--last{
    min-height:31rem;
  }

  .guide-access__label{
    font-size:1.125rem;
    padding:0.84375rem;
  }

  .guide-access__desc{
    gap:1.25rem;
    padding:0.84375rem;
  }

  .guide-access__desc-text{
    font-size:1.125rem;
    line-height:1.89;
  }

  .guide-map{
    margin-top:8.0625rem;
  }

  .guide-map__iframe{
    aspect-ratio:127/58;
    max-height:41.1875rem;
  }

  .guide-access-detail{
    margin-top:5.75rem;
  }

  .guide-access-detail__inner{
    align-items:start;
    display:grid;
    gap:2.0625rem;
    grid-template-columns:819fr 348fr;
  }

  .guide-access-detail__content{
    gap:3rem;
    margin-top:0;
  }

  .guide-access-detail__section{
    gap:1.375rem;
  }

  .guide-access-detail__heading{
    font-size:1.5rem;
  }

  .guide-access-detail__sub-heading{
    font-size:1rem;
  }

  .guide-access-detail__text{
    font-size:1rem;
    margin-top:1.25rem;
  }

  .guide-admission{
    margin-top:10rem;
    padding-top:0.625rem;
  }

  .guide-admission__content{
    border-radius:1.0625rem;
    margin-top:2.8125rem;
    padding-block:3.59375rem;
  }

  .guide-admission__box{
    gap:0.75rem;
    margin-inline:auto;
    max-width:38.875rem;
    padding-inline:3.0625rem;
  }

  .guide-admission__text{
    font-size:1rem;
    letter-spacing:0.07em;
    line-height:2.0625;
  }

  .guide-admission__list{
    gap:0.75rem;
  }

  .guide-admission__item{
    font-size:1rem;
    letter-spacing:0.07em;
    line-height:2.0625;
  }

  .guide-calendar{
    margin-top:6.875rem;
    padding-top:0.625rem;
  }

  .guide-calendar__bg-content{
    padding-block:6.25rem 5rem;
  }

  .guide-calendar__bg-content::before{
    border-radius:0.9375rem 0 0 0.9375rem;
    left:0;
    right:0;
    width:calc(100% + var(--inner) / 2);
  }

  .guide-calendar__content{
    margin-top:8.25rem;
    max-width:35.75rem;
  }

  .guide-page-nav{
    margin-top:10.0625rem;
  }

  .guide-price-hours{
    margin-top:9.375rem;
    padding-top:0.0625rem;
  }

  .guide-price-hours__table{
    margin-top:7.5rem;
  }

  .guide-price-hours__label{
    font-size:1.125rem;
    padding:1rem 0.75rem;
    width:30%;
  }

  .guide-price-hours__desc{
    padding:2.5rem 1.75rem;
  }

  .guide-price-hours__desc--gap{
    gap:0.9375rem;
  }

  .guide-price-hours__desc-group + .guide-price-hours__desc-group{
    margin-top:1rem;
  }

  .guide-price-hours__desc-text{
    font-size:1.125rem;
  }

  .guide-price-hours__desc-text--indent{
    text-indent:hanging 1em;
  }

  .guide-price-hours__desc-text--bold + .guide-price-hours__desc-group{
    margin-top:0.75rem;
  }

  .guide-price-hours__desc-link{
    font-size:1rem;
  }

  .guide-price-hours__desc-link-icon{
    width:1.5rem;
  }

  .guide-recommend-info{
    margin-top:18.125rem;
    padding-bottom:11.875rem;
  }

  .izumi-restaurant{
    padding-block:17.5rem 10.625rem;
  }

  .izumi-restaurant::before{
    right:0;
    top:36%;
    translate:0 -50%;
    width:clamp(706px, 116600 / var(--cq-ref) * 1cqi, 1166px);
  }

  .izumi-restaurant::after{
    bottom:0;
    left:0;
    width:clamp(475px, 69500 / var(--cq-ref) * 1cqi, 695px);
  }

  .izumi-restaurant__intro-text{
    font-size:1rem;
  }

  .izumi-restaurant__block01{
    align-items:center;
    gap:2.8125rem;
    grid-template-columns:792fr 350fr;
    margin-top:4.25rem;
  }

  .izumi-restaurant__block01-left-text{
    font-size:1rem;
  }

  .izumi-restaurant__block02{
    margin-top:8.75rem;
  }

  .izumi-restaurant__block02-img-wrap01{
    width:49.5rem;
  }

  .izumi-restaurant__block02-img-wrap02{
    margin-top:-5.625rem;
    width:49.625rem;
  }

  .izumi-restaurant__block03{
    margin-top:18.875rem;
    position:relative;
  }

  .izumi-restaurant__block03-img-wrap{
    width:calc(100% - 7.0625rem);
  }

  .izumi-restaurant__block03-text{
    background-color:var(--white);
    border-radius:0.9375rem;
    display:flex;
    flex-direction:row-reverse;
    font-family:var(--font-family-second);
    font-size:1.25rem;
    gap:0.625rem;
    letter-spacing:0.5em;
    padding:1.875rem 2.1875rem;
    position:absolute;
    right:2.5rem;
    top:-9.875rem;
  }

  .izumi-restaurant__block03-text-line{
    font-feature-settings:"vrt2" on;
    text-orientation:mixed;
    white-space:nowrap;
    writing-mode:vertical-rl;
  }

  .izumi-restaurant-menu{
    margin-top:6.25rem;
    padding-top:0.625rem;
  }

  .izumi-restaurant-menu__content{
    gap:1.25rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:5rem;
  }

  .izumi-restaurant-menu__price{
    width:6.25rem;
  }

  .izumi-restaurant-menu__note{
    margin-top:10rem;
  }

  .izumi-restaurant-recommend-info{
    margin-top:21.875rem;
    padding-bottom:10.625rem;
  }

  .izumisou-access{
    margin-top:15rem;
    padding-top:0.625rem;
  }

  .izumisou-access__inner{
    display:flex;
    gap:2.5rem;
  }

  .izumisou-access__content{
    display:flex;
    flex:1;
    flex-direction:column;
    margin-top:2.5rem;
  }

  .izumisou-access__address-box{
    gap:0.625rem;
    padding:1.25rem 2.8125rem 1.25rem 0.625rem;
  }

  .izumisou-access__map{
    margin-top:2rem;
  }

  .izumisou-access__address-name{
    font-size:1rem;
  }

  .izumisou-access__address-text{
    font-size:1rem;
  }

  .izumisou-access__col-text--mt{
    margin-top:1.25rem;
  }

  .izumisou-access__iframe{
    aspect-ratio:1052/481;
  }

  .izumisou-access__grid{
    flex-direction:row;
    gap:10rem;
    justify-content:flex-end;
    margin-top:3.0625rem;
  }

  .izumisou-access__col-title{
    font-size:1.5rem;
  }

  .izumisou-access__col-subtitle{
    font-size:1rem;
    margin-top:1.25rem;
  }

  .izumisou-access__col-text{
    font-size:1rem;
  }

  .izumisou-access__list-item{
    font-size:1rem;
  }

  .izumisou-access__col-note{
    font-size:0.875rem;
    margin-top:1.25rem;
  }

  .izumisou-facilities{
    margin-top:9.375rem;
    padding-top:0.625rem;
  }

  .izumisou-facilities__inner{
    display:flex;
    gap:4.375rem;
  }

  .izumisou-facilities__content{
    display:flex;
    flex:1;
    flex-direction:column;
    margin-top:2.5rem;
  }

  .izumisou-facilities__group{
    margin-top:2.5rem;
    padding-left:1.875rem;
  }

  .izumisou-facilities__group:first-child{
    margin-top:0;
  }

  .izumisou-facilities__label{
    font-size:0.875rem;
  }

  .izumisou-facilities__text{
    font-size:1rem;
    margin-top:1.875rem;
  }

  .izumisou-facilities__grid{
    gap:1.5625rem 1.875rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:4.125rem;
  }

  .izumisou-floating-btn{
    top:60%;
  }

  .izumisou-floating-btn__btn{
    border:2px solid #ECC23B;
    border-radius:0.875rem 0 0 0.875rem;
    font-size:1.25rem;
    letter-spacing:0.25em;
    min-height:14.0625rem;
    min-width:2.8125rem;
  }

  .izumisou-floor{
    margin-top:8.75rem;
    padding-top:0.625rem;
  }

  .izumisou-floor__inner{
    gap:4.375rem;
  }

  .izumisou-floor__content{
    margin-inline:auto;
    margin-top:2.5rem;
    max-width:950px;
  }

  .izumisou-intro{
    padding-top:5rem;
  }

  .izumisou-intro__img-wrap{
    margin-top:7.5rem;
  }

  .izumisou-intro__img{
    margin-left:auto;
    margin-right:6.25rem;
    max-width:52.875rem;
  }

  .izumisou-meal{
    margin-top:7.5rem;
    padding-top:0.625rem;
  }

  .izumisou-meal__inner{
    display:flex;
    gap:4.375rem;
    margin-top:2.5rem;
  }

  .izumisou-meal__content{
    display:flex;
    flex:1;
    flex-direction:column;
    margin-top:2.125rem;
  }

  .izumisou-meal__grid{
    gap:1.4375rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .izumisou-meal__caption{
    font-size:0.9375rem;
    padding-inline:3.125rem;
  }

  .izumisou-meal__text{
    font-size:1rem;
    line-height:2.375;
    margin-top:5.625rem;
    padding-left:1.25rem;
    text-align:center;
  }

  .izumisou-mv__vertical-copy{
    color:var(--white);
    display:flex;
    flex-direction:row-reverse;
    gap:2.25rem;
    margin:0;
    position:absolute;
    right:7.5rem;
    top:3.75rem;
    z-index:2;
  }

  .izumisou-mv__header{
    align-items:center;
    border-radius:15px 15px 0 0;
    bottom:0;
    justify-content:flex-end;
    left:2.5625rem;
    min-height:5.3125rem;
    min-width:31.25rem;
    padding-bottom:0.625rem;
  }

  .izumisou-mv__eyebrow{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .izumisou-mv__title{
    color:var(--text-base-color);
    font-size:2rem;
  }

  .izumisou-mv__pagination{
    bottom:-2rem !important;
    gap:0.5rem !important;
    left:50% !important;
  }

  .izumisou-mv__pagination .swiper-pagination-bullet{
    width:0.875rem;
  }

  .izumisou-onsen{
    margin-top:10rem;
    padding-top:0.625rem;
  }

  .izumisou-onsen__inner{
    display:flex;
    gap:4.375rem;
  }

  .izumisou-onsen__content{
    display:flex;
    flex:1;
    flex-direction:column;
    gap:5.1875rem;
    margin-top:4rem;
  }

  .izumisou-onsen__row--top{
    align-items:flex-end;
    display:grid;
    gap:0;
    grid-template-columns:768fr 273fr;
    padding-right:4.375rem;
  }

  .izumisou-onsen__row--bottom{
    align-items:flex-end;
    display:grid;
    gap:0;
    grid-template-columns:663fr 408fr;
  }

  .izumisou-onsen__row--bottom .izumisou-onsen__text{
    background-color:var(--white);
    margin-bottom:-0.75rem;
    margin-left:auto;
    margin-right:-6.875rem;
    padding-right:1.375rem;
    padding-top:0.625rem;
    position:relative;
    width:fit-content;
  }

  .izumisou-onsen__text-block--top{
    margin-left:-2.5rem;
    padding-bottom:0.9375rem;
    padding-left:1.9375rem;
    padding-top:2.625rem;
  }

  .izumisou-onsen__text{
    font-size:1rem;
  }

  .izumisou-page-nav{
    margin-top:10.0625rem;
  }

  .izumisou-price{
    margin-top:6.875rem;
    padding-top:0.625rem;
  }

  .izumisou-price__inner{
    gap:4.375rem;
  }

  .izumisou-price__content{
    margin-top:2.375rem;
  }

  .izumisou-price__th{
    font-size:1.5rem;
    padding:0.78125rem 1.5rem;
  }

  .izumisou-price__row-th{
    font-size:1.5rem;
    padding:0.78125rem 1.5rem;
  }

  .izumisou-price__td{
    font-size:1.5rem;
  }

  .izumisou-price__info{
    align-items:flex-start;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    margin-top:2rem;
    padding-left:4.375rem;
  }

  .izumisou-price__notes{
    gap:0.5rem;
  }

  .izumisou-price__note{
    font-size:1rem;
  }

  .izumisou-price__btn{
    margin-left:auto;
    padding-block:0.75rem;
  }

  .izumisou-price__btn::after{
    right:0.875rem;
    top:0.625rem;
    width:0.75rem;
  }

  .izumisou-price__btn-sub{
    font-size:0.9375rem;
  }

  .izumisou-price__btn-main{
    font-size:1.25rem;
  }

  .izumisou-price__contact{
    gap:0.75rem;
    margin-top:2.5rem;
    padding-left:4.375rem;
  }

  .izumisou-price__contact-head{
    font-size:1rem;
  }

  .izumisou-price__contact-text{
    font-size:1rem;
  }

  .izumisou-recommend-info{
    margin-top:11.875rem;
    padding-bottom:10.625rem;
  }

  .izumisou-reviews{
    margin-top:15rem;
    padding-top:0.625rem;
  }

  .izumisou-reviews__inner{
    gap:4.375rem;
  }

  .izumisou-reviews__content{
    margin-top:5rem;
  }

  .izumisou-reviews__text{
    font-size:1rem;
  }

  .izumisou-reviews__btn{
    margin-top:6.25rem;
  }

  .izumisou-reviews__btn::after{
    width:0.875rem;
  }

  .izumisou-rooms{
    margin-top:11.25rem;
    padding-top:0.625rem;
  }

  .izumisou-rooms__inner{
    display:flex;
    gap:4.375rem;
  }

  .izumisou-rooms__content{
    display:flex;
    flex:1;
    flex-direction:column;
    margin-top:3.5625rem;
  }

  .izumisou-rooms__grid{
    gap:1.0625rem;
    grid-template-columns:repeat(3, 1fr);
  }

  .izumisou-rooms__caption{
    font-size:0.9375rem;
  }

  .izumisou-rooms__notes{
    gap:0.3125rem;
    margin-top:4.375rem;
    padding-inline:3.75rem 7.5rem;
  }

  .izumisou-rooms__note{
    font-size:1rem;
    line-height:2.375;
  }

  .izumisou-section-heading__title{
    font-size:1.75rem;
  }

  .izumisou-section-heading__title--onsen{
    letter-spacing:0.5em;
  }

  .izumisou-section-heading__line{
    height:9.6875rem;
  }

  .archive-news{
    padding-block:11.875rem;
  }

  .archive-news__list{
    gap:3.75rem 1.375rem;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .archive-news__meta{
    margin-top:0.75rem;
  }

  .archive-news__date{
    font-size:1rem;
  }

  .archive-news__category{
    font-size:1rem;
  }

  .archive-news__title{
    font-size:1rem;
  }

  .archive-news__excerpt{
    font-size:1rem;
    margin-top:0.625rem;
  }

  .archive-news__pagination{
    margin-top:6.25rem;
  }

  .news-single{
    padding-block:7.9375rem 11.9375rem;
  }

  .news-single__title{
    font-size:36px;
  }

  .news-single__date{
    font-size:16px;
  }

  .news-single__category{
    font-size:16px;
    min-width:161px;
  }

  .news-single__content{
    margin-top:100px;
  }

  .news-single__content h2{
    font-size:36px;
    margin-top:20px;
  }

  .news-single__content h3{
    font-size:29px;
    margin-top:20px;
  }

  .news-single__content h4{
    font-size:24px;
    margin-top:20px;
  }

  .news-single__content h5{
    font-size:22px;
    margin-top:20px;
  }

  .news-single__content p{
    font-size:16px;
    line-height:1.5;
    margin-top:20px;
  }

  .news-single__content a{
    font-size:16px;
  }

  .news-single__content ul li{
    font-size:16px;
  }

  .news-single__content ul li::before{
    top:-5px;
  }

  .news-single__content ol li{
    font-size:16px;
    text-indent:-8px;
  }

  .news-single__content figure{
    margin-top:25px;
  }

  .news-single__archive-link{
    margin-top:6.25rem;
  }

  .news-single__archive-link .btn-link{
    font-size:1.125rem;
  }

  .news-single__recommend-info{
    margin-top:12.5rem;
  }

  .panoramanoyu-feature{
    margin-top:11.6875rem;
    padding-top:0.625rem;
  }

  .panoramanoyu-feature__blocks{
    gap:11.875rem;
    isolation:isolate;
    margin-top:4.6875rem;
    padding-bottom:1.5625rem;
    position:relative;
  }

  .panoramanoyu-feature__blocks::before{
    background:rgba(10, 154, 255, 0.05);
    bottom:0;
    content:"";
    height:calc(100% - 16.25rem);
    left:0;
    pointer-events:none;
    position:absolute;
    right:0;
    width:calc(100% + var(--inner) / 2);
    z-index:-1;
  }

  .panoramanoyu-feature__block-inner{
    align-items:start;
    display:grid;
    grid-template-areas:"img body";
    grid-template-columns:1fr 1fr;
  }

  .panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-inner{
    grid-template-areas:"body img";
  }

  .panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-body{
    margin-left:auto;
    max-width:30.8125rem;
    padding-left:0;
    padding-right:2.8125rem;
    width:fit-content;
  }

  .panoramanoyu-feature__block:nth-child(5) .panoramanoyu-feature__block-body{
    gap:3.4375rem;
    padding-bottom:0;
  }

  .panoramanoyu-feature__block-body{
    display:flex;
    flex-direction:column;
    gap:1.25rem;
    grid-area:body;
    height:100%;
    justify-content:space-between;
    padding-bottom:4.375rem;
    padding-left:2.9375rem;
  }

  .panoramanoyu-feature__block-img-wrap{
    grid-area:img;
  }

  .panoramanoyu-feature__block--bleed .panoramanoyu-feature__block-inner{
    grid-template-areas:"img body";
    grid-template-columns:1fr minmax(0, 29.8125rem);
    margin-left:calc(50% - 50cqi);
  }

  .panoramanoyu-feature__block--bleed .panoramanoyu-feature__block-body{
    gap:2.5rem;
    justify-content:flex-start;
    padding-bottom:0;
    padding-top:1.875rem;
  }

  .panoramanoyu-feature__block-img-wrap{
    order:0;
    width:100%;
  }

  .panoramanoyu-feature__block-heading{
    letter-spacing:0.45em;
    order:0;
    padding-right:6.25rem;
  }

  .panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-heading{
    padding-left:0.625rem;
    padding-right:0;
  }

  .panoramanoyu-feature__block-text-wrap{
    order:0;
  }

  .panoramanoyu-feature__block-link{
    margin-top:3.75rem;
  }

  .panoramanoyu-feature__block-link--left{
    transform:translate(-1.25rem, 5.625rem);
  }

  .panoramanoyu-feature__cta{
    margin-top:6.875rem;
  }

  .panoramanoyu-intro{
    margin-top:5rem;
  }

  .panoramanoyu-intro__inner{
    gap:2.5rem;
  }

  .panoramanoyu-page-nav{
    margin-top:10.0625rem;
  }

  .panoramanoyu-quality{
    margin-top:13.75rem;
    padding-top:0.625rem;
  }

  .panoramanoyu-quality__img-wrap{
    margin-top:5.8125rem;
  }

  .panoramanoyu-quality__list{
    gap:2.5rem;
    margin-top:5.9375rem;
  }

  .panoramanoyu-quality__label{
    font-size:1rem;
    min-width:7.8125rem;
    padding:0.125rem 0.5rem 0.125rem 0.625rem;
  }

  .panoramanoyu-quality__desc{
    padding-left:0.625rem;
  }

  .panoramanoyu-recommend-info{
    margin-top:13.125rem;
    padding-bottom:10.625rem;
  }

  .sightseeing-info{
    margin-top:8.125rem;
    padding-top:0.625rem;
  }

  .sightseeing-info__content{
    margin-top:5.125rem;
  }

  .sightseeing-map{
    margin-top:18.75rem;
    padding-top:0.625rem;
  }

  .sightseeing-map__content{
    gap:2.75rem;
    grid-template-columns:repeat(2, 1fr);
    margin-top:2.5rem;
  }

  .sightseeing-map__content-left{
    display:flex;
    flex-direction:column;
    gap:9.375rem;
  }

  .sightseeing-map__block-map-img{
    margin-top:2rem;
  }

  .sightseeing-map__block-text{
    margin-top:1rem;
  }

  .sightseeing-map__content-right{
    display:flex;
    flex-direction:column;
    gap:9.375rem;
  }

  .sightseeing-recommend-info{
    margin-top:26.875rem;
    padding-bottom:16.875rem;
  }

  .ski-resort{
    margin-top:18.125rem;
    padding-top:0.625rem;
  }

  .ski-resort__content{
    margin-top:5.625rem;
  }

  .sticky-block{
    align-items:start;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    margin-top:10rem;
  }

  .sticky-block__main{
    grid-column:1;
    grid-row:1;
  }

  .sticky-block__side{
    grid-column:1;
    grid-row:1;
    left:calc(50% + 23.28125rem + 1.5rem);
    padding-bottom:6.25rem;
    position:sticky;
    top:12.5rem;
    width:10.8125rem;
  }

  .top-bg-blue::before{
    left:45%;
    top:50%;
    width:145.5625rem;
  }

  .top-bg-blue::after{
    --cq-ref:1540;
    bottom:-4cqi;
    right:-11cqi;
    width:clamp(10px, 32900 / var(--cq-ref) * 1cqi, 329px);
  }

  .top-full-width-img{
    margin-top:12.25rem;
  }

  .top-full-width-slide__copy--desktop{
    display:flex;
    gap:1.5625rem;
    left:13%;
    top:50%;
    translate:-50% -50%;
  }

  .top-full-width-slide__copy--sp{
    display:none;
  }

  .top-full-width-slide__copy-line{
    font-size:min(36px, 2000 / var(--cq-ref) * 1cqw);
    letter-spacing:0.5em;
  }

  .top-full-width-slide__pagination{
    bottom:1.5625rem !important;
    gap:1.25rem !important;
    right:8.125rem !important;
  }

  .top-full-width-slide__pagination .swiper-pagination-bullet{
    width:1.4375rem;
  }

  .top-info{
    padding-top:12.1875rem;
  }

  .top-info__grid{
    display:grid;
    gap:2.875rem;
    grid-template-columns:28.125rem 36.5625rem;
    justify-content:space-between;
  }

  .top-info__title{
    font-size:2.5rem;
  }

  .top-info__price-table-wrap{
    margin-top:1.5rem;
  }

  .top-info__price-table{
    font-size:1rem;
  }

  .top-info__price-table th,
  .top-info__price-table td{
    padding:0.875rem 1rem;
  }

  .top-info__price-table tbody th{
    width:50%;
  }

  .top-info__actions{
    gap:1rem;
    grid-template-columns:14.5rem 14.5rem;
    justify-content:space-between;
    margin-top:4.875rem;
    padding-inline:1.5625rem;
  }

  .top-info__btn{
    flex:1 1 0;
    font-size:0.875rem;
    gap:0.125rem;
    min-width:0;
    padding-block:0.125rem;
  }

  .top-info__btn::after{
    right:0.5rem;
    top:0.5rem;
    width:0.625rem;
  }

  .top-info__btn-label-sub{
    font-size:0.9375rem;
    line-height:1.2;
  }

  .top-info__btn-label-main{
    font-size:1.25rem;
    line-height:1.2;
  }

  .top-info__col--calendar{
    margin-top:9.375rem;
  }

  .top-intro{
    background:linear-gradient(180deg, #fff 0%, #fff 30%, rgba(10, 154, 255, 0.05) 30%, rgba(10, 154, 255, 0.05) 100%);
    margin-top:3.3125rem;
    padding-bottom:11.25rem;
  }

  .top-intro__inner{
    margin-inline:auto;
    max-width:var(--inner);
  }

  .top-intro__cta-wrap{
    text-align:right;
  }

  .top-intro__body{
    gap:4rem;
    margin-top:7.5rem;
  }

  .top-intro__media-frame{
    border-radius:0 15px 15px 0;
    margin-top:1.875rem;
  }

  .top-intro__caption{
    display:none;
  }

  .top-intro__aside{
    gap:0.75rem;
  }

  .top-intro__catch-sub{
    display:block;
  }

  .top-intro__catch-main{
    font-size:2rem;
  }

  .top-izumiso{
    margin-top:8.125rem;
  }

  .top-izumiso__inner{
    max-width:1300px;
    padding-inline:50px;
  }

  .top-izumiso__deco{
    top:-5rem;
    width:20.9375rem;
  }

  .top-izumiso__header{
    gap:0.25rem;
    margin-right:36.875rem;
  }

  .top-izumiso__eyebrow{
    font-size:1.5rem;
  }

  .top-izumiso__title{
    font-size:2.5rem;
  }

  .top-izumiso__main{
    margin-top:2.8125rem;
  }

  .top-izumiso__row{
    align-items:flex-start;
    flex-direction:row;
    gap:5.75rem;
  }

  .top-izumiso__swiper-box{
    flex:1;
    margin-top:3.125rem;
    min-width:0;
  }

  .top-izumiso__swiper{
    border-radius:15px;
  }

  .top-izumiso__pagination{
    bottom:1.25rem !important;
    gap:0.75rem !important;
    left:1.5rem !important;
  }

  .top-izumiso__pagination .swiper-pagination-bullet{
    height:1.1875rem;
    width:1.1875rem;
  }

  .top-izumiso__aside{
    align-items:flex-start;
    display:flex;
    flex-shrink:0;
    padding-top:0.5rem;
  }

  .top-izumiso__copy--desktop{
    display:flex;
    flex-direction:column;
    gap:0.625rem;
    text-orientation:mixed;
    writing-mode:vertical-rl;
  }

  .top-izumiso__copy-line{
    font-feature-settings:"vrt2" on;
    font-size:1.25rem;
    letter-spacing:0.5em;
  }

  .top-izumiso__copy--sp{
    display:none;
  }

  .top-izumiso__actions{
    margin-top:2.125rem;
    text-align:left;
  }

  .top-izumiso__actions .btn-link{
    min-width:13.75rem;
    padding:1.4375rem 1.5625rem;
  }

  .top-location{
    margin-top:7.8125rem;
  }

  .top-location__body{
    align-items:flex-start;
    flex-direction:row;
    gap:3.25rem;
    margin-left:calc(50% - 50cqi);
  }

  .top-location__media-wrap{
    flex:1;
    flex-direction:column;
    gap:0;
  }

  .top-location__media{
    width:100%;
  }

  .top-location__media-frame{
    border-radius:0 15px 15px 0;
  }

  .top-location__media-img{
    aspect-ratio:883/604;
    border-radius:0 15px 15px 0;
  }

  .top-location__eyebrow--sp{
    display:none;
  }

  .top-location__eyebrow--pc{
    display:block;
  }

  .top-location__content{
    flex:0 1 23.75rem;
    margin-top:-25rem;
  }

  .top-location__titles{
    gap:0.75rem;
    justify-content:center;
  }

  .top-location__title{
    font-size:2rem;
    letter-spacing:0.4em;
    margin-top:4.375rem;
    writing-mode:vertical-rl;
  }

  .top-location__lead{
    font-size:1rem;
    line-height:2.8125;
    margin-top:7.5rem;
  }

  .top-location__areas{
    gap:1.5625rem;
    margin-top:2.4375rem;
  }

  .top-location__area{
    gap:0.75rem;
  }

  .top-location__area-label{
    font-size:1.25rem;
    min-width:15.875rem;
    padding:0.375rem 0.6875rem 0.4375rem 1.4375rem;
  }

  .top-location__area-body{
    gap:0.375rem;
  }

  .top-location__area-line{
    font-size:1rem;
  }

  .top-location__cta-wrap{
    margin-top:2.5rem;
  }

  .top-location__cta-wrap .btn-link{
    min-width:10.3125rem;
    padding:0.875rem 2rem;
  }

  .top-mv__frame{
    max-width:46.5625rem;
  }

  .top-mv__cloud--1{
    width:17.25rem;
  }

  .top-mv__cloud--1 .top-mv__cloud-img{
    animation-duration:38s;
  }

  .top-mv__cloud--2{
    width:25rem;
  }

  .top-mv__cloud--2 .top-mv__cloud-img{
    animation-duration:40s;
  }

  .top-mv__cloud--3{
    bottom:15%;
    right:6%;
    width:12.25rem;
  }

  .top-mv__cloud--3 .top-mv__cloud-img{
    animation-duration:40s;
  }

  .top-news{
    margin-top:10rem;
  }

  .top-news__filters{
    padding-bottom:0.625rem;
    text-align:start;
  }

  .top-news__filter-list{
    justify-content:flex-start;
  }

  .top-news__filter-link{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .top-news__empty{
    font-size:1rem;
    letter-spacing:0.13em;
    margin-top:2.1875rem;
  }

  .top-news__list{
    margin-top:2.1875rem;
  }

  .top-news__link{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:0 0.625rem;
  }

  .top-news__date{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .top-news__title{
    flex:1;
  }

  .top-news__title-text{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .top-news__more{
    margin-top:0.9375rem;
  }

  .top-news__more-link{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .top-recommend-info{
    margin-top:17.375rem;
    padding-bottom:16.8125rem;
  }

  .top-restaurant-izumi{
    margin-top:16.3125rem;
  }

  .top-restaurant-izumi__inner{
    max-width:1440px;
    padding-inline:var(--padding-inline);
  }

  .top-restaurant-izumi__layout{
    align-items:start;
    display:grid;
    grid-template-areas:"deco main";
    grid-template-columns:344fr 960fr;
    margin-right:5rem;
  }

  .top-restaurant-izumi__deco-wrap{
    margin-top:2.5rem;
  }

  .top-restaurant-izumi__deco-wrap.sp{
    display:none;
  }

  .top-restaurant-izumi__deco-img{
    width:100%;
  }

  .top-restaurant-izumi__main{
    grid-area:main;
  }

  .top-restaurant-izumi__header{
    gap:0.25rem;
    margin-left:21.25rem;
    margin-right:calc(50% - 50cqi);
  }

  .top-restaurant-izumi__eyebrow{
    font-size:1.5rem;
  }

  .top-restaurant-izumi__title{
    font-size:2.5rem;
  }

  .top-restaurant-izumi__visual{
    align-items:stretch;
    flex-direction:row;
    gap:0;
    margin-top:5rem;
  }

  .top-restaurant-izumi__copy{
    align-self:center;
    top:-13.75rem;
  }

  .top-restaurant-izumi__text-wrap{
    border-radius:15px;
    gap:0.75rem;
    padding:1.5rem 2.375rem 3.375rem 2.375rem;
  }

  .top-restaurant-izumi__text-line{
    font-size:1.25rem;
    letter-spacing:0.5em;
  }

  .top-restaurant-izumi__photo-wrap{
    aspect-ratio:153/88;
    border-radius:1.3125rem;
    margin-left:-2.5rem;
    margin-left:auto;
    margin-top:0;
    width:90%;
  }

  .top-restaurant-izumi__photo-img{
    aspect-ratio:901/518;
    border-radius:1.3125rem;
  }

  .top-restaurant-izumi__actions{
    margin-top:1.25rem;
    text-align:right;
  }

  .top-restaurant-izumi__actions .btn-link{
    min-width:13.75rem;
    padding:1.4375rem 1.5625rem;
  }

  .js-fade-up{
    translate:0 20px;
  }

  .js-slide-left{
    translate:-20px 0;
  }

  .js-slide-right{
    translate:20px 0;
  }

  .js-slide-text{
    translate:-20px 0;
  }

  .js-izumisou-heading.is-active .izumisou-section-heading__line{
    height:9.6875rem;
  }

  .js-panoramanoyu-feature-block .panoramanoyu-feature__block-heading{
    transform:translateX(-10px);
  }

  .js-panoramanoyu-feature-block.is-active .panoramanoyu-feature__block-text-wrap{
    transition-delay:0.5s;
  }

  .breadcrumb-wrapper{
    margin-top:6.25rem;
  }

  .breadcrumb{
    padding-block:0.6875rem;
  }

  .breadcrumb__list{
    padding-inline:6.25rem;
  }

  .breadcrumb__item{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .breadcrumb__item::after{
    margin-inline:1.25rem;
  }

  .btn-link{
    font-size:1rem;
    letter-spacing:0.13em;
    min-width:14.375rem;
    padding:0.75rem 2rem;
  }

  .btn-link--large{
    padding:1.375rem 1.5625rem;
  }

  .card-list{
    gap:4.0625rem 4.1875rem;
    grid-template-columns:repeat(2, 1fr);
  }

  .card-list__item-content{
    margin-top:0.75rem;
  }

  .card-list__item-title{
    font-size:1.5rem;
  }

  .card-list__item-text{
    margin-top:0.5rem;
  }

  .footer{
    padding-block:3.5rem 1rem;
  }

  .footer__body{
    gap:1.5rem 2rem;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
  }

  .footer__heading{
    font-size:1.25rem;
    letter-spacing:0.08em;
  }

  .footer__heading-slot{
    display:block;
    min-height:calc(1.25rem * 1.5);
  }

  .footer__list{
    gap:0.5rem;
    margin-top:1.25rem;
  }

  .footer__col--plain .footer__list{
    gap:0.5rem;
    margin-top:1.25rem;
  }

  .footer__col--plain .footer__link:not(.footer__link--external){
    font-family:var(--font-family-base);
    font-size:1rem;
    font-weight:var(--font-weight-semibold);
    letter-spacing:0.13em;
  }

  .footer__link{
    font-size:1rem;
    letter-spacing:0.13em;
  }

  .footer__icon-external{
    width:0.875rem;
  }

  .footer__col--brand{
    margin-top:0;
  }

  .footer__logo-link{
    display:block;
    max-width:13.125rem;
  }

  .footer__actions{
    flex-direction:column;
    gap:0.625rem;
    margin-inline:auto;
    margin-top:0.25rem;
    max-width:10.375rem;
  }

  .footer__action-btn{
    flex:none;
    font-size:1rem;
    font-weight:var(--font-weight-semibold);
    padding:0.9375rem 0.625rem;
    width:100%;
  }

  .footer__action-btn--reserve .footer__action-label::after{
    right:0.9375rem;
    top:0.5rem;
    width:0.875rem;
  }

  .footer__copyright{
    margin-top:2.5rem;
  }

  .footer__copyright-text{
    font-size:0.875rem;
    letter-spacing:0.06em;
    text-transform:none;
  }

  .footer__link-sub{
    font-size:0.6875rem;
  }

  .footer__logo-kmh{
    width:1.75rem;
  }

  .footer__logo-fitz{
    width:1.125rem;
  }

  .header__inner{
    min-height:6.25rem;
    padding:0.3125rem clamp(20px, 20px + 68 * var(--fluid-basis), 88px);
  }

  .header__brand{
    width:17.9375rem;
  }

  .header__right{
    align-items:stretch;
  }

  .header__actions.pc{
    display:flex;
  }

  .header__actions.sp{
    display:none;
  }

  .header__action-btn--main::after{
    right:0.25rem;
    top:0.25rem;
    width:0.75rem;
  }

  .header__hamburger-button{
    display:none;
  }

  .drawer{
    display:none;
  }

  .info-calendar__meta{
    gap:0.5rem;
    margin-top:1.5rem;
  }

  .info-calendar__year{
    font-size:1.125rem;
    padding-left:1.5625rem;
    width:auto;
  }

  .info-calendar__month-prev,
  .info-calendar__month-next{
    font-size:1.0625rem;
  }

  .info-calendar__month{
    font-size:3.25rem;
    width:auto;
  }

  .info-calendar__table-wrap{
    margin-top:1.25rem;
  }

  .info-calendar__table{
    border-spacing:0.375rem 0.375rem;
    font-size:1.125rem;
  }

  .info-calendar__table th,
  .info-calendar__table td{
    padding:1.0625rem 0.375rem;
  }

  .info-calendar__legend{
    gap:1.25rem;
    margin-top:0.3125rem;
  }

  .info-calendar__legend-item{
    font-size:1rem;
    padding-right:1.5625rem;
  }

  .info-calendar__legend-swatch{
    width:1.125rem;
  }

  .info-calendar__notes{
    font-size:1rem;
    gap:0.375rem;
    line-height:1.68;
    margin-top:3.375rem;
  }

  .guide-calendar__content .info-calendar__table th,
  .guide-calendar__content .info-calendar__table td{
    padding:1.25rem 0.375rem;
  }

  .guide-calendar__content .info-calendar__table-wrap{
    padding-inline:1.875rem;
  }

  .guide-calendar__content .info-calendar__legend{
    margin-top:1.875rem;
  }

  .guide-calendar__content .info-calendar__legend-swatch{
    width:1.25rem;
  }

  .page-nav__item::before{
    font-size:1rem;
    padding-inline:0.75rem;
  }

  .page-nav__link{
    font-size:1rem;
    padding-block:0.1875rem;
  }

  .pagination{
    gap:0.9375rem;
  }

  .pagination .page-link,
  .pagination .current-page{
    font-size:1.1875rem;
    width:2.6875rem;
  }

  .pagination .prev,
  .pagination .next{
    height:3.125rem;
    width:3.125rem;
  }

  .recommend-info__title{
    font-size:2.25rem;
    letter-spacing:0.13em;
  }

  .recommend-info .archive-news__list{
    margin-top:4.625rem;
  }

  .section-title{
    font-size:2.25rem;
    letter-spacing:0.13em;
  }

  .sub-mv__header{
    align-items:center;
    background-color:var(--white);
    border-radius:15px 15px 0 0;
    bottom:0;
    gap:0.3125rem;
    justify-content:flex-end;
    left:2.5625rem;
    min-height:5.3125rem;
    min-width:31.25rem;
    padding-bottom:0.625rem;
  }

  .sub-mv__title{
    color:var(--text-heading-color);
    font-size:2rem;
    letter-spacing:0.13em;
  }

  .sub-mv__eyebrow{
    font-size:1rem;
    letter-spacing:0.13em;
  }
}

@media (min-width: 1200px){
  html{
    font-size:16px;
  }
}

@media (min-width: 1440px){
  .sticky-block__side{
    left:78%;
    width:clamp(173px, 17300 / var(--cq-ref) * 1cqi, 203px);
  }

  .top-bg-blue::before{
    --cq-ref:1650;
    width:clamp(2329px, 232900 / var(--cq-ref) * 1cqi, 3000px);
  }

  .top-bg-blue::after{
    --cq-ref:1440;
    width:clamp(329px, 32900 / var(--cq-ref) * 1cqi, 629px);
  }

  .top-izumiso__deco{
    width:clamp(335px, 33500 / var(--cq-ref) * 1cqi, 385px);
  }

  .top-mv__frame{
    max-width:clamp(745px, 74500 / var(--cq-ref) * 1cqi, 1045px);
  }

  .top-restaurant-izumi{
    margin-top:clamp(261px, 26100 / var(--cq-ref) * 1cqi, 360px);
  }
}

@media (min-width: 2000px){
  .sticky-block__side{
    left:calc(50% + 32.65625rem + 1.5rem);
  }
}

@media (min-width: 2500px){
  .top-bg-blue::before{
    --cq-ref:2300;
    width:clamp(2600px, 260000 / var(--cq-ref) * 1cqi, 4000px);
  }
}

@media (max-width: 768px){
  .--delay-1,
  .--delay-2,
  .--delay-3,
  .--delay-4{
    transition-delay:0s;
  }
}

@media (max-width: 767px){
  :root{
    --inner:500px;
  }

  body{
    line-height:1.6;
  }

  .camp-about__content{
    display:grid;
    grid-template-columns:1fr;
  }

  .camp-about__content-block{
    display:contents;
  }

  .camp-about__content-block-img-wrap{
    order:1;
  }

  .camp-about__content-block-btn-wrap{
    order:3;
  }

  .camp-about__content-text{
    margin-top:1.0625rem;
    order:2;
  }

  .camp-reserve__intro-title{
    margin-inline:auto;
    text-align:center;
  }

  .camp-reserve__label{
    max-width:100px;
  }

  .guide-calendar__bg-content{
    margin-inline:auto;
    max-width:400px;
    padding-block:5.625rem 5rem;
  }

  .guide-calendar__bg-content::before{
    left:50%;
    translate:-50% 0;
  }

  .guide-price-hours__label{
    max-width:100px;
  }

  .izumi-restaurant__block01-right{
    width:52.3%;
  }

  .izumi-restaurant__block03-text{
    margin-top:1.0625rem;
  }

  .izumisou-access__address-box{
    margin-top:3.125rem;
  }

  .izumisou-facilities__group:first-child{
    margin-top:1.875rem;
  }

  .izumisou-meal__grid{
    margin-top:1.875rem;
  }

  .izumisou-mv__slide-img-wrap{
    aspect-ratio:375/177;
  }

  .izumisou-mv__header{
    padding:0.75rem 1rem 0 1rem;
  }

  .izumisou-onsen__inner{
    margin-right:calc(50% - 50cqi);
  }

  .izumisou-onsen__row--top{
    margin-top:4.5625rem;
  }

  .izumisou-onsen__img-wrap--main{
    margin-right:-16px;
  }

  .izumisou-price__inner{
    flex-direction:column;
  }

  .izumisou-price .izumisou-section-heading{
    flex-direction:row;
    gap:0.625rem;
  }

  .izumisou-price .izumisou-section-heading .izumisou-section-heading__line{
    height:1px;
    width:6.4375rem;
  }

  .izumisou-price .izumisou-section-heading .izumisou-section-heading__title{
    font-size:1.5rem;
    text-orientation:mixed;
    writing-mode:horizontal-tb;
  }

  .izumisou-price__content{
    display:flex;
    flex-direction:column;
  }

  .izumisou-price__table-scroll{
    margin-right:calc(50% - 50cqi);
  }

  .izumisou-price__table{
    max-width:500px;
  }

  .izumisou-price__info{
    display:contents;
  }

  .izumisou-price__notes{
    margin-top:1.5rem;
  }

  .izumisou-price__note{
    line-height:1.6;
  }

  .izumisou-price__btn{
    margin-inline:auto;
    margin-top:1.5rem;
    order:1;
  }

  .izumisou-rooms__grid{
    margin-top:2.5rem;
  }

  .recommend-info .archive-news__list{
    gap:1.5625rem 1.0625rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .recommend-info .archive-news__category{
    font-size:0.6875rem;
  }

  .recommend-info .archive-news__date{
    font-size:0.75rem;
  }

  .recommend-info .archive-news__excerpt{
    font-size:0.8rem;
  }

  .news-single__archive-link .btn-link{
    min-width:11.25rem;
    padding:0.625rem;
  }

  .panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-img-wrap{
    margin-left:0;
    margin-right:calc(50% - 50cqi);
  }

  .panoramanoyu-feature__block-img-wrap{
    margin-left:calc(50% - 50cqi);
  }

  .panoramanoyu-feature__block-heading{
    background-color:var(--white);
    margin-bottom:-6.25rem;
    margin-left:auto;
    padding:0 0.1875rem 0.625rem 0.1875rem;
    position:relative;
    width:fit-content;
  }

  .panoramanoyu-feature__block:nth-child(1) .panoramanoyu-feature__block-heading{
    margin-bottom:-10rem;
  }

  .panoramanoyu-feature__block:nth-child(2) .panoramanoyu-feature__block-heading{
    margin-bottom:-6.5625rem;
  }

  .panoramanoyu-feature__block:nth-child(3) .panoramanoyu-feature__block-heading{
    margin-bottom:-3.125rem;
  }

  .panoramanoyu-feature__block:nth-child(4) .panoramanoyu-feature__block-heading{
    margin-bottom:-11.25rem;
  }

  .panoramanoyu-feature__block:nth-child(5) .panoramanoyu-feature__block-heading{
    margin-bottom:-10.9375rem;
  }

  .panoramanoyu-feature__block--reverse .panoramanoyu-feature__block-heading{
    margin-left:unset;
  }

  .panoramanoyu-feature__block-text-wrap{
    margin-top:2.5rem;
  }

  .sightseeing-map__block-link--01{
    order:1;
  }

  .sightseeing-map__block-link--02{
    order:3;
  }

  .sightseeing-map__block-link--03{
    order:2;
  }

  .sticky-block{
    position:relative;
  }

  .sticky-block__side{
    position:absolute;
    right:calc(50% - 10.625rem);
    top:0;
    width:min(110px, 8000 / var(--cq-ref-mobile) * 1cqi);
  }

  .top-info__price-table tbody th{
    padding:0.75rem 0.625rem;
  }

  .top-info__price-table tbody td{
    padding:0.75rem 0.125rem;
  }

  .top-info__col--calendar .info-calendar__table-wrap{
    padding-inline:1.25rem;
  }

  .top-info__col--fees{
    position:relative;
  }

  .top-info__col--fees::before{
    aspect-ratio:382/171;
    background-image:url("../images/top/deco-dot.svg");
    background-position:center;
    background-size:contain;
    content:"";
    position:absolute;
    right:-2.8125rem;
    top:-3.75rem;
    width:9.5rem;
  }

  .top-izumiso__copy-line{
    color:var(--main-blue);
    font-weight:var(--font-weight-bold);
  }

  .top-location__media-wrap{
    margin-left:calc(50% - 50cqi);
  }

  .top-location__media{
    margin-top:4.75rem;
  }

  .top-location__titles::before{
    display:none;
  }

  .top-mv{
    left:-15%;
    overflow-x:clip;
    position:relative;
  }

  .top-mv__inner{
    margin-inline:auto;
    max-width:var(--inner);
  }

  .top-news{
    overflow-x:clip;
  }

  .top-news__inner{
    max-width:var(--inner);
    padding-inline:var(--padding-inline);
  }

  .top-recommend-info__inner{
    max-width:var(--inner);
  }

  .top-restaurant-izumi__inner{
    padding-left:3.1875rem;
  }

  .top-restaurant-izumi__deco-wrap{
    margin-inline:auto;
    margin-top:1.25rem;
    padding-left:3.125rem;
    width:clamp(218px, 21800 / var(--cq-ref-mobile) * 1cqi, 218px);
  }

  .top-restaurant-izumi__deco-wrap.pc{
    display:none;
  }

  .top-restaurant-izumi__copy{
    left:-2.5rem;
    top:-11.875rem;
  }

  .top-restaurant-izumi__actions{
    margin-right:3.1875rem;
  }

  .js-top-restaurant-izumi-visual .top-restaurant-izumi__text-wrap{
    transition-delay:0s;
  }

  .breadcrumb{
    margin-right:calc(50% - 50vw);
    overflow-x:auto;
  }

  .breadcrumb__item{
    white-space:nowrap;
  }

  .footer__inner{
    padding-inline:2.1875rem;
  }

  .footer__body .footer__col:nth-child(1){
    grid-column:1;
    grid-row:1;
  }

  .footer__body .footer__col:nth-child(2){
    grid-column:2;
    grid-row:1;
  }

  .footer__body .footer__col:nth-child(3){
    grid-column:2;
    grid-row:2;
    margin-top:-2.5rem;
  }

  .footer__body .footer__col:nth-child(4){
    grid-column:1;
    grid-row:2;
  }

  .footer__body .footer__col:nth-child(5){
    grid-column:1/-1;
    grid-row:3;
  }

  .footer__col--plain .footer__list.footer__list--sub{
    margin-top:1.875rem;
  }

  .header__nav-wrap{
    display:none;
  }

  .info-calendar__notes-item{
    display:grid;
    grid-template-columns:max-content 1fr;
  }

  .sub-mv__img{
    aspect-ratio:375/177;
    object-fit:cover;
  }

  .sub-mv__header{
    background:linear-gradient(to bottom, var(--white) 0%, var(--white) 30%, transparent 30%, transparent 100%);
    padding:0.75rem 1rem 0 1rem;
  }

  .page-template-page-panoramanoyu .sub-mv__title{
    font-size:1.375rem;
  }

  .has-panoramanoyu-sp-font-size{
    font-size:var(--panoramanoyu-sp-font-size) !important;
  }
}

@media (max-width: 375px){
  html{
    font-size:4.2666666667vw;
  }
}

@media (any-hover: hover){
  a:hover{
    cursor:pointer;
  }

  .guide-price-hours__desc-link:hover{
    opacity:0.8;
  }

  .guide-price-hours__desc-link{
    transition:opacity var(--duration-short) ease;
  }

  .izumisou-floating-btn__btn:hover{
    background:var(--white);
    color:#ECC23B;
  }

  .izumisou-price__btn:hover{
    background-color:var(--white);
    border-color:#ECC23B;
    color:#ECC23B;
  }

  .izumisou-price__btn:hover::after{
    background-image:url("../images/common/icon-external-link_yellow.webp");
  }

  .izumisou-reviews__btn:hover::after{
    background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  }

  .archive-news__link:hover .archive-news__excerpt{
    color:var(--main-blue);
  }

  .archive-news__link:hover .archive-news__thumb-img{
    transform:scale(1.05);
  }

  .sightseeing-map__block-link:hover{
    opacity:0.8;
  }

  .top-info__btn:hover{
    background-color:var(--white);
    border-color:#ECC23B;
    color:#ECC23B;
  }

  .top-info__btn:hover::after{
    background:url("../images/common/icon-external-link_yellow.webp") no-repeat center/contain;
  }

  .top-news__filter-link:hover{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .top-news__link:hover .top-news__title-text{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .top-news__more-link:hover{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .breadcrumb__link:hover{
    opacity:0.8;
  }

  .btn-link:hover{
    background-color:var(--main-blue);
    border-color:var(--main-blue);
    color:var(--white);
  }

  .card-list__item-external-link:hover{
    background:var(--white);
    color:var(--main-blue);
  }

  .card-list__item-external-link:hover::after{
    background:url("../images/common/icon-external-link_blue.webp") no-repeat center/contain;
  }

  .footer__link:hover{
    opacity:0.85;
  }

  .footer__logo-link:hover{
    opacity:0.85;
  }

  .footer__action-btn:hover{
    background-color:var(--white);
    border-color:var(--white);
    color:var(--main-blue03);
  }

  .footer__action-btn:hover .footer__action-label::after{
    background:url("../images/common/icon-external-link_blue.webp") no-repeat center/contain;
  }

  .footer__copyright-text:hover{
    opacity:0.85;
  }

  .header__logo-link:hover{
    opacity:0.8;
  }

  .header__nav-link:hover{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .header__actions.sp .header__action-btn--sp-outline:hover{
    background-color:var(--main-blue03);
    border-color:var(--main-blue03);
    color:var(--white);
  }

  .header__actions.sp .header__action-btn--sp-solid:hover{
    background-color:var(--white);
    border-color:var(--main-blue);
    color:var(--main-blue);
  }

  .header__action-btn:hover{
    background-color:var(--main-blue03);
    border-color:var(--main-blue03);
    color:var(--white);
  }

  .header__action-btn--main:hover::after{
    background:url("../images/common/icon-external-link.webp") no-repeat center/contain;
  }

  .drawer__link:hover{
    opacity:0.75;
  }

  .info-calendar__month-prev:hover,
  .info-calendar__month-next:hover{
    opacity:0.8;
  }

  .info-calendar__month-prev:hover::after,
  .info-calendar__month-next:hover::after{
    transform:rotate(45deg) translateX(3px) translateY(-3px);
  }

  .info-calendar__month-prev:hover::before,
  .info-calendar__month-next:hover::before{
    transform:rotate(-135deg) translateX(3px) translateY(-3px);
  }

  .page-nav__link:hover{
    background-position:bottom left;
    background-size:100% 1px;
  }

  .pagination .page-link:hover,
  .pagination .current-page:hover{
    background-color:var(--main-blue);
    color:var(--white);
  }

  .pagination .prev:hover::before{
    transform:rotate(-135deg) translateX(3px) translateY(-3px);
  }

  .pagination .next:hover::before{
    transform:rotate(45deg) translateX(3px) translateY(-3px);
  }
}