@charset "UTF-8";


/* ==== root ========================== */
:root {
  --ZenKaku: "Zen Kaku Gothic New", sans-serif;
  --color-bk: #7f8080;

  --header: 100px;
  scroll-padding: var(--header);

  --fs10: 0.666em;
  --fs11: 0.733em;
  --fs12: 0.8em;
  --fs13: 0.866em;
  --fs14: 0.933em;
  --fs15: 1em;
  --fs16: 1.066em;
  --fs17: 1.133em;
  --fs17-5: 1.166em;
}

@media screen and (max-width:767px) {
  :root {
    --header: 5em;
    scroll-padding: var(--header);
  }
}

/*================================================
 *  common
 ================================================*/

html {
  font-size: 62.5%;
  font-size: 10px;
  scroll-behavior: smooth;
}

#coen_2606_ryokan {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #7f8080;
  /* base 450px */
  font-size: calc(15px * (475 / 375));
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.5;
  scroll-behavior: smooth;
  position: relative;


  height: 100vh;
}



#coen_2606_ryokan::before {
  position: fixed;
  content: "";
  inset: 0;
  width: 100%;
  height: 100%;
  /* background: #bfd2d6; */
  background: url(src/img/bg.png) no-repeat center/cover;
  z-index: -1;
}

#coen_2606_ryokan .bg_video {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

#coen_2606_ryokan .bg_video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

a {
  text-decoration: none;
  transition: all .4s;
  color: var(--color-bk);
}

a:hover {
  opacity: 1;
}

img {
  display: block;
  vertical-align: middle;
  width: 100%;
}

ul,
ol,
dl {
  margin: 0;
}

ul li {
  list-style: none;
}

li {
  margin-left: 0;
}

*,
#coen_2606_ryokan * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

#coen_2606_ryokan h2,
#coen_2606_ryokan h3,
#coen_2606_ryokan h4 {
  font-size: 1em;
}

#coen_2606_ryokan .pc {
  display: block;
}

#coen_2606_ryokan .sp {
  display: none;
}

#coen_2606_ryokan .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width:767px) {
  body:has(.no_scroll) {
    overflow: hidden;
  }



  /* 375px 14px */
  #coen_2606_ryokan {
    font-size: calc(100vw / 375 * 15);
  }

  #coen_2606_ryokan h2,
  #coen_2606_ryokan h3,
  #coen_2606_ryokan h4 {
    font-size: 1em;
  }

  #coen_2606_ryokan .pc {
    display: none;
  }

  #coen_2606_ryokan .sp {
    display: block;
  }
}


/*================================================
 * 3clmレイアウト
 ================================================*/
#coen_2606_ryokan .inner {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 5px;
}



/* view_left */
#coen_2606_ryokan .view_left {
  position: relative;
  width: calc((100% - 475px) / 2);
}

#coen_2606_ryokan .view_left .view_left-inner {
  position: fixed;
  top: 0;
  max-width: 390px;
  /* 1440 390px */
  width: 27vw;
  min-width: 270px;
  margin-left: auto;
  margin-right: auto;
  height: 100vh;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}


#coen_2606_ryokan .nav_ttl {
  width: 11.3em;
}

#coen_2606_ryokan .nav_en {
  position: absolute;
  bottom: 4.6em;
  left: 0;
  width: 9.7em;
  z-index: 1;
}



/* tab_menu */
#coen_2606_ryokan .tab_menu {
  display: none;
}

#coen_2606_ryokan .nav_menu {
  /* margin: 6em auto 0; */
  /* width: 190px; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#coen_2606_ryokan .nav_menu li {
  font-size: var(--fs11);
  margin-top: 2em;
  white-space: nowrap;
  font-weight: 700;
}

#coen_2606_ryokan .nav_menu li:not(:has(a)) {
  border-bottom: 1px solid #000;
  font-size: var(--fs12);
  padding-bottom: 1em;
}


#coen_2606_ryokan .nav_menu li:nth-child(5) {
  margin-top: 3em;
}





/* view_right */
#coen_2606_ryokan .view_right {
  width: calc((100% - 475px) / 2);
  max-width: none;
  margin: 0;
}

#coen_2606_ryokan .view_right .view_right-inner {
  position: fixed;
  top: 0;
  /* right: 0; */
  right: max(0px, calc((100vw - 1440px) / 2));
  height: 100vh;
  width: calc((min(100vw, 1440px) - 475px) / 2);
}









/* contents */
#coen_2606_ryokan #contents {
  background: transparent;
  width: 475px;
  flex-shrink: 0;
  margin-top: -15px;
  padding-top: 15px;
  box-shadow: 0rem 0rem 0.4rem rgb(0 0 0 / 15%);
}


#coen_2606_ryokan .bg {
  background: #fff;
}

#coen_2606_ryokan .bg40 {
  background: rgb(255 255 255 / 40%);
}

@media screen and (max-width:1023px) {

  /* tab */
  #coen_2606_ryokan .inner {
    max-width: 800px;
    padding-right: 0;
    padding-left: 20px;
  }

  #coen_2606_ryokan #contents {
    margin-right: 0;
    margin-left: auto;
  }

  #coen_2606_ryokan .view_left {
    /* max-width: 330px;
    padding-right: 30px; */
    width: auto;
  }

  #coen_2606_ryokan .view_left .view_left-inner {
    width: 38vw;
    min-width: unset;
    left: 0;
  }

  #coen_2606_ryokan .view_left .nav_en {
    /* left: 3em; */
    position: static;
    margin-top: 3em;
  }

  #coen_2606_ryokan .tab_menu {
    display: block;
    margin: 2em auto 0;
  }

  #coen_2606_ryokan .nav_menu {
    min-width: unset;
    margin-top: 0;
    position: static;
    transform: translate(0%, 0%);
  }

  #coen_2606_ryokan .nav_menu li {
    margin-top: 1em;
  }

  #coen_2606_ryokan .nav_menu li:not(:has(a)) {
    padding-bottom: 1em;
  }

  #coen_2606_ryokan .nav_menu li:nth-child(5) {
    margin-top: 2em;
  }




  #coen_2606_ryokan .view_right {
    display: none;
  }

}

@media screen and (max-width:767px) {
  #coen_2606_ryokan .inner {
    padding-left: 0;
  }

  /* sp */
  #coen_2606_ryokan #contents {
    width: 100%;
  }

  #coen_2606_ryokan .view_left {
    display: none;
  }
}

/*================================================
 *  sp__nav
 ================================================*/
#coen_2606_ryokan #sp__nav {
  display: none;
}

@media screen and (max-width:767px) {
  #coen_2606_ryokan #sp__nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: all .4s;
    opacity: 0;
  }

  #coen_2606_ryokan #sp__nav.changenav {
    opacity: 1;
  }

  #coen_2606_ryokan #sp__nav.nav_open {
    opacity: 1;
  }

  #coen_2606_ryokan nav.global__nav {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: #d3d3d3;
    transition: all .4s ease-out;
    z-index: 200;
    opacity: 0;
    z-index: -100;
    pointer-events: none;
    padding: 0 2em 10em;
    overflow: scroll;
  }


  #coen_2606_ryokan .sp__gnav-inner {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 1.6em;
    padding-left: 1em;
    padding-top: 6em;
  }

  .sp_nav_ttl {
    width: 4em;
  }

  #coen_2606_ryokan .sp__gnav-inner .nav_ttl {
    position: absolute;
    width: 6.66em;
    pointer-events: none;
    top: 3.3em;
    right: 1.3em;
  }

  #coen_2606_ryokan .nav_menu {
    position: static;
    transform: translate(0%, 0%);
  }


  #coen_2606_ryokan .nav_menu li {
    margin-top: 2em;
  }












  /* hamburger */
  #coen_2606_ryokan .hamburger {
    position: absolute;
    top: 20px;
    right: 15px;
    width: 43px;
    height: 26px;
    cursor: pointer;
    z-index: 300;
  }



  /* line open */
  #coen_2606_ryokan .hamburger__line {
    position: absolute;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: #7f8080;
    transition: all .4s ease-out;
  }

  #coen_2606_ryokan .hamburger__line--1 {
    top: 0px;
  }

  #coen_2606_ryokan .hamburger__line--2 {
    top: calc(50% - 2px);
  }

  #coen_2606_ryokan .hamburger__line--3 {
    top: calc(100% - 4px);
  }


  /* nav_open */
  #coen_2606_ryokan .nav_open .global__nav {
    opacity: 1;
    z-index: 100;
    pointer-events: fill;
  }

  /* line close */
  #coen_2606_ryokan .nav_open .hamburger__line--1 {
    transform: rotate(45deg);
    top: 10px;
  }

  #coen_2606_ryokan .nav_open .hamburger__line--2 {
    width: 0;
    left: 50%;
  }

  #coen_2606_ryokan .nav_open .hamburger__line--3 {
    transform: rotate(-45deg);
    top: 10px;
  }

}

/*================================================
 *  contents
 ================================================*/
/* mainVisual */
#coen_2606_ryokan #mainVisual {
  position: relative;
}


#coen_2606_ryokan #mainVisual .mv_logo {
  width: 4.66em;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 2em;
}

#coen_2606_ryokan #mainVisual .mv_ttl {
  width: 3em;
  height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  background: #fff;
  display: grid;
  place-content: center;
}

#coen_2606_ryokan #mainVisual .mv_ttl span {
  display: block;
  width: 1em;
}


#coen_2606_ryokan .mvUp {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease !important;
  display: inline-block;
}

#coen_2606_ryokan .started .mvUp {
  opacity: 1;
  transform: translateY(0px);
}



/* intro */
#coen_2606_ryokan #intro {
  position: relative;
  z-index: 1;
  padding: 10em 0;
}

#coen_2606_ryokan #intro::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 9.3em;
  background: var(--color-bk);
  top: -2.3em;
  left: 50%;
  transform: translateX(-50%) scaleY(0);
  transform-origin: top;
  transition: transform 0.8s ease;
  z-index: 1;
}

#coen_2606_ryokan #intro.started::before {
  transform: translateX(-50%) scaleY(1);
}

#coen_2606_ryokan #intro .wrap {
  width: 19em;
  margin: 0 auto;
}


#coen_2606_ryokan #intro p {
  font-size: var(--fs13);
  margin-bottom: 2em;
  line-height: 2;
  letter-spacing: 0.24em;
}

#coen_2606_ryokan #intro p:last-of-type {
  margin: 0;
}

/* cntNav */
#coen_2606_ryokan #cntNav {
  padding-bottom: 6.66em;
}

#coen_2606_ryokan #cntNav h2 {
  text-align: center;
  font-size: var(--fs17);
  padding: 2em 0 1.5em;
}

#coen_2606_ryokan .cntNavList {
  display: flex;
  align-items: start;
  justify-content: center;
}

#coen_2606_ryokan .cntNavList li {
  width: 33.33333333%;
}

#coen_2606_ryokan .cntNavList li p {
  text-align: center;
  font-size: var(--fs10);
  line-height: 1.9;
  margin-top: 1.4em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

/* itemSection */




#coen_2606_ryokan .item_lg-ttl {
  font-size: var(--fs17-5);
  text-align: center;
  padding: 3em 0;
  background: #fff;
}



#coen_2606_ryokan .item_md-ttl {
  text-align: center;
  font-size: var(--fs13);
  padding: 1em 0;
}

#coen_2606_ryokan .--blue .item_md-ttl {
  color: #5586a0;
  background: #c2e2ef;
}

#coen_2606_ryokan .--green .item_md-ttl {
  color: #61a393;
  background: #e3f0e3;
}

.--pink .item_md-ttl {
  color: #eb9e9a;
  background: #f5e7e4;
}


#coen_2606_ryokan .itemSection .item_inner {
  padding: 2.8em 0;
  position: relative;
  overflow: clip;
  z-index: 2;
}

#coen_2606_ryokan .--blue .item_inner {
  background: #f4f7f9;
}

#coen_2606_ryokan .--green .item_inner {
  background: #f5f7f5;
}

#coen_2606_ryokan .--pink .item_inner {
  background: #fdf7f6;
}





#coen_2606_ryokan .item_dtl {
  width: calc(100% - 3.2em);
  margin: 0 auto;
}


#coen_2606_ryokan .item_dtl .ttl {
  text-align: center;
  font-weight: 700;
  position: relative;
  z-index: 100;
}

#coen_2606_ryokan .item_dtl .ttl span {
  font-size: 1.46em;
}

#coen_2606_ryokan .--blue .item_dtl .ttl {
  color: #5586a0;
}

#coen_2606_ryokan .--green .item_dtl .ttl {
  color: #61a393;
}

#coen_2606_ryokan .--pink .item_dtl .ttl {
  color: #eb9e9a;
}

#coen_2606_ryokan .item_dtl:not(.not_stamp) .ttl::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  width: 16.4em;
  height: 16.4em;
  bottom: -14em;
  left: -6.2em;
  z-index: -1;
  opacity: 0;
  transition: all 0.8s ease;
  transition-delay: 1s;
}

#coen_2606_ryokan .itemSection.--blue .item_dtl .ttl::before {
  background-image: url(src/img/stamp_b.png);
}

#coen_2606_ryokan .itemSection.--green .item_dtl .ttl::before {
  background-image: url(src/img/stamp_g.png);
}

#coen_2606_ryokan .itemSection.--pink .item_dtl .ttl::before {
  background-image: url(src/img/stamp_p.png);
}

#coen_2606_ryokan .item_dtl .ttl.started::before {
  opacity: 1;
}

#coen_2606_ryokan .item_dtl.not_stamp {
  margin-bottom: 1em;
}

#coen_2606_ryokan .item_dtl .price {
  text-align: right;
  position: relative;
  right: -0.6em;
  letter-spacing: 0.1em;
  margin: 0.4em 0;
}

#coen_2606_ryokan .item_dtl .price span {
  font-size: var(--fs10);
}


#coen_2606_ryokan .item_dtl a {
  font-size: var(--fs17-5);
  display: block;
  width: fit-content;
  color: #fff;
  margin-left: auto;
  padding: 0.1em 1.5em 0.3em;
  line-height: 1;
}


#coen_2606_ryokan .--blue .item_dtl a {
  background: #5586a0;
}

#coen_2606_ryokan .--green .item_dtl a {
  background: #61a393;
}

#coen_2606_ryokan .--pink .item_dtl a {
  background: #eb9e9a;
}




#coen_2606_ryokan .item_slide {
  width: 79.2%;
  margin: 5em auto 4em;
  position: relative;
  z-index: 1;
}

#coen_2606_ryokan .item_slide .swiper {
  padding-bottom: 3em;
}

#coen_2606_ryokan .swiper-pagination .swiper-pagination-bullet {
  width: 1em;
  height: 1em;
  margin: 0 var(--fs10);
  opacity: 1;
  background: #cbcbcb;
}

#coen_2606_ryokan .--blue .swiper-pagination-bullet-active {
  background: #5586a0;
}

#coen_2606_ryokan .--green .swiper-pagination-bullet-active {
  background: #61a393;
}

#coen_2606_ryokan .--pink .swiper-pagination-bullet-active {
  background: #eb9e9a;
}




/* .item_point */
#coen_2606_ryokan .item_point {
  padding-top: 4em;
  padding-bottom: 5.66em;
}


#coen_2606_ryokan .point_icon {
  display: grid;
  gap: 4em 3em;
  grid-template-columns: repeat(2, 1fr);
  width: 66%;
  margin-left: auto;
  margin-right: auto;
}

#coen_2606_ryokan .point_icon:has(> li:only-child) {
  grid-template-columns: repeat(1, 1fr);
}

#coen_2606_ryokan .point_icon li .icon {
  width: auto;
  height: 4.66em;
  margin: 0 auto 2em;
}

#coen_2606_ryokan .point_icon li .icon img {
  width: auto;
  max-width: unset;
  height: 100%;
  margin: 0 auto;
}


/* .point_icon li {
  width: 4.4em;
  margin: 0 auto 2em;
  position: relative;
  left: -1em;
} */

#coen_2606_ryokan .point_icon h3 {
  text-align: center;
  font-size: var(--fs13);
}

#coen_2606_ryokan .point_icon h3 span {
  display: block;
  margin-top: 1em;
  letter-spacing: 0.34em;
}

#coen_2606_ryokan .--blue .point_icon h3 {
  color: #5586a0;
}

#coen_2606_ryokan .--green .point_icon h3 {
  color: #61a393;
}

#coen_2606_ryokan .--pink .point_icon h3 {
  color: #eb9e9a;
}

#womens01 .point_icon li .icon img,
#womens02 .point_icon li .icon img,
#womens03 .point_icon li .icon img,
#mens01 .point_icon li:nth-child(2) .icon img {
  position: relative;
  left: -0.5em;
}

#womens02 .point_icon li:nth-child(2) .icon img {
  height: 6.4rem;
  left: 0;
  top: 1em;
}


#coen_2606_ryokan .item_point .txt {
  width: fit-content;
  margin: 4.6em auto 0;
  position: relative;
  left: 1em;
}

#coen_2606_ryokan .item_point .txt p {
  width: fit-content;
  margin-top: 2em;
  letter-spacing: 0.1em;
  line-height: 2;
  font-size: var(--fs14);
}




#coen_2606_ryokan .item_meta {
  padding-top: 4em;
  width: 79.2%;
  margin: 0 auto;
}


#coen_2606_ryokan .item_meta .credit {
  padding: 2em 0 5.33em;
}

#coen_2606_ryokan .item_meta .credit li {
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 0.3em;
  gap: 2em;
}

#coen_2606_ryokan .item_meta .credit li span {
  font-size: var(--fs11);
}

#coen_2606_ryokan .item_meta .credit li a {
  font-size: var(--fs12);
  text-decoration: underline;

}



#coen_2606_ryokan .item_list {
  display: grid;
  gap: 2.66em var(--fs10);
  grid-template-columns: repeat(2, 1fr);
  padding: 0 1em 2em;
}

#coen_2606_ryokan .item_list li h4 {
  font-size: var(--fs10);
  line-height: 1.7;
  margin-top: 3em;
  min-height: 4em;
}

#coen_2606_ryokan .item_list li .item_dtl {
  width: fit-content;
  margin-left: auto;
  margin-right: 0;

}

#coen_2606_ryokan .item_list li .item_dtl .price {
  width: fit-content;
  margin-left: auto;
  font-size: var(--fs11);
}

#coen_2606_ryokan .item_list li .item_dtl a {
  font-size: var(--fs12);
}



#coen_2606_ryokan .series a {
  padding: 2em 0;
  display: block;

}

#coen_2606_ryokan .series a span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4em;
  font-weight: 700;
  font-size: var(--fs17-5);
}

#coen_2606_ryokan .series a i {
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  width: 2em;
  height: 2.4em;
  font-weight: 700;
  position: relative;
  top: 0.4em;
}

#coen_2606_ryokan .--blue .series a {
  color: #5586a0;
  background: #c2e2ef;
}

#coen_2606_ryokan .--blue .series a i {
  background-image: url(src/img/arrow_b.png);
}

#coen_2606_ryokan .--pink .series a {
  color: #eb9e9a;
  background: #f5e7e4;
}

#coen_2606_ryokan .--pink .series a i {
  background-image: url(src/img/arrow_p.png);
}


#coen_2606_ryokan .sec {
  height: 8em;
  background: #fff;
}



#coen_2606_ryokan #mens01 .item_point .txt,
#coen_2606_ryokan #mens02 .item_point .txt {
  left: 0;
}

/*================================================
 *  ft
 ================================================*/
#coen_2606_ryokan #ft {
  padding-top: 13em;
  padding-bottom: 5em;
  background: #fff;
}

#coen_2606_ryokan .ft_cnt {
  width: 11.1em;
  margin: 0 auto 4.8em;
}

#coen_2606_ryokan #ft .ft_logo {
  width: 22.5em;
  margin: 0 auto;
}

#coen_2606_ryokan #ft .ft_logo a {
  width: 13em;
  margin: 0 auto;
  display: block;
}

#coen_2606_ryokan .ftUp {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease !important;
}

#coen_2606_ryokan .started .ftUp {
  opacity: 1;
  transform: translateY(0px);
}

/*================================================
 *  fadeUp data-delighter
 ================================================*/

#coen_2606_ryokan .fadeUp {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease !important;
}

#coen_2606_ryokan .fadeUp.started {
  opacity: 1;
  transform: translateY(0px);
}




/* blur */
#coen_2606_ryokan .blur {
  filter: blur(20px);
  opacity: 0;
  transition: filter 2s ease, opacity 0.6s ease;
}

#coen_2606_ryokan .blur.on {
  filter: blur(0);
  opacity: 1;
}



/* zoom */
#coen_2606_ryokan .zoom {
  opacity: 0;
  -webkit-transform: scale(0) translateY(1rem) rotate(20deg);
  transform: scale(0) translateY(1rem) rotate(20deg);
  will-change: opacity, transform;
}

#coen_2606_ryokan .zoom.started {
  -webkit-transition: .8s .4s cubic-bezier(0.34, 1.63, 0.64, 1);
  transition: .8s .4s cubic-bezier(0.34, 1.63, 0.64, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  opacity: 1;
  -webkit-transform: scale(1) translateY(0) rotate(0);
  transform: scale(1) translateY(0) rotate(0);
}


/* delay */
#coen_2606_ryokan .delay_01s {
  transition-delay: 0.1s !important;
}

#coen_2606_ryokan .delay_02s {
  transition-delay: 0.2s !important;
}

#coen_2606_ryokan .delay_03s {
  transition-delay: 0.3s !important;
}

#coen_2606_ryokan .delay_04s {
  transition-delay: 0.4s !important;
}

#coen_2606_ryokan .delay_05s {
  transition-delay: 0.5s !important;
}

#coen_2606_ryokan .delay_06s {
  transition-delay: 0.6s !important;
}

#coen_2606_ryokan .delay_08s {
  transition-delay: 0.8s !important;
}

#coen_2606_ryokan .delay_1s {
  transition-delay: 1s !important;
}

#coen_2606_ryokan .delay_12s {
  transition-delay: 1.2s !important;
}

#coen_2606_ryokan .delay_14s {
  transition-delay: 1.4s !important;
}