@charset "utf-8";


#GuestRoom h2,
#Facility h2,
#Service h2 {
  color: #34495e;
  line-height: 1;
}
#GuestRoom.anchor,
#Facility.anchor,
#Service.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#GuestRoom h2,
#Facility h2,
#Service h2 {
  line-height: .5;
}

}

/*　メインビジュアル　*/

#MainVisual {
	width: 100%;
  position: relative;
}
#MainVisual figure {
  width: 100%;
}
#MainVisual h1 {
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--Color2);
  font-family: var(--fontCiz);
  font-size: 3.875rem;
  margin-top: 0;
}
#MainVisual ul {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 90px;
  position: absolute;
  bottom: 35px;
}
#MainVisual ul li {
  width: 330px;
  font-size: 1.5rem;
  color: var(--Color2);
  border-bottom: 1px solid var(--Color2);
  padding: 4px;
  position: relative;
  text-align: left;
}
#MainVisual ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
#MainVisual ul li:after {
  content: "〉";
  position: absolute;
  top: 10px;
  right: 10px;
  transform: rotate(90deg);
  font-size: 75%;
}
section h2 {
  margin-top: 100px;
}

/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {

#MainVisual ul {
  width: 90%;
  left: 50%;
  transform: translateX(-50%);
}

}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#MainVisual h1 {
  font-size: 6.2vw;
}
#MainVisual ul li {
  font-size: 1.6vw;
}

}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#MainVisual ul {
  width: 90%;
  gap: 3vw; 
  bottom: 3vw;
}
#MainVisual ul li {
  width: 25vw;
  padding: .5vw;
  font-size: 3.2vw;
  letter-spacing: 0;
  text-align: center;
}
#MainVisual ul li:after {
  content: none;
}
section h2 {
  margin-top: 10vw;
}

}

/*　客室のご案内　*/

#GuestRoom p.read {
  text-align: center;
  font-family: var(--fontJp);
  line-height: 3;
  margin-top: 100px;
}
#GuestRoom ul.tab {
  width: 1280px;
  margin: 100px auto;
  display: flex;
  justify-content: space-between;
}
#GuestRoom ul.tab li {
  width: 264px;
}
#GuestRoom ul.tab li a div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 264px;
  height: 264px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#GuestRoom ul.tab li.tab_a a div { background-image: url(../images/room/room_menu01.jpg);}
#GuestRoom ul.tab li.tab_b a div { background-image: url(../images/room/room_menu02.jpg);}
#GuestRoom ul.tab li.tab_c a div { background-image: url(../images/room/room_menu03.jpg);}
#GuestRoom ul.tab li.tab_d a div { background-image: url(../images/room/room_menu04.jpg);}
#GuestRoom ul.tab li a div p {
  color: var(--Color2);
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.25;
}
#GuestRoom ul.tab li a div p span {
  font-size: 200%;
}
#GuestRoom ul.tab li a h3 {
  margin: 1.8vw auto;
  font-size: 1.75rem;
  font-family: var(--fontCiz);
  text-align: center;
}
#GuestRoom ul.tab li a h3 span {
  font-size: 1rem;
  font-family: var(--fontRym);
}
#GuestRoom ul.tab li a h3 span.room_arrow {
  display: inline-block;
  transform: rotate(90deg);
  margin-top: 1vw;
}
#GuestRoom ul.tab li.tab_a a h3 { color:#34495e; border-bottom: 1px solid #34495e;}
#GuestRoom ul.tab li.tab_b a h3 { color:#b59631; border-bottom: 1px solid #b59631;}
#GuestRoom ul.tab li.tab_c a h3 { color:#4c7f7f; border-bottom: 1px solid #4c7f7f;}
#GuestRoom ul.tab li.tab_d a h3 { color:#835a37; border-bottom: 1px solid #835a37;}
#GuestRoom .area {
  display: none;
  opacity: 0;
}
#GuestRoom .area.is-action {
    display: block;
    opacity: 1;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
#GuestRoom .area {
  padding-top: 100px;
}
#GuestRoom .area h3 {
  text-align: center;
  line-height: .6;
  padding-bottom: 100px;
}
#GuestRoom .area h3 span{
  display: inline-block;
  font-size: 2.25rem;
  font-family: var(--fontCiz);
  padding: 0 1em;
  border-bottom: 1px solid var(--Color1);
  margin-bottom: 1vw;
}
#tab_a { background-color: #EBEDEF;}
#tab_b { background-color: #f2f2ed;}
#tab_c { background-color: #f1f2f3;}
#tab_d { background-color: #f3eeeb;}
#tab_a h3 { color: #212a31;}
#tab_b h3 { color: #7b8249;}
#tab_c h3 { color: #4c7f7f;}
#tab_d h3 { color: #835a37;}

.room_detail {
  width: 1280px;
  margin: 50px auto;
  display: flex;
  justify-content: space-between;
  font-family: var(--fontJp);
}
.room_detail .detail_left {
  width: 830px;
  position: relative;
}
.room_detail .detail_left ul {
  display: flex;
  justify-content: space-between;
}
.room_detail .detail_left ul li {
  width: 250px;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--Color2);
}
.room_detail .detail_left ul li img {
  width: 60px;
}
.room_detail .detail_left ul li p {
  width: 190px;
  display: flex;
  justify-content: center;
  font-size: 0.875rem;
  letter-spacing: 0;
}
.detail_txt {
  margin-top: 2vw;
  line-height: 2.5;
}
.detail_btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 270px;
  line-height: 40px;
  padding: 0 1em;
  border-bottom: 1px solid var(--Color1);
}
.detail_btn:after {
  content: ">";
  position: absolute;
  top: 0;
  right: 0;
}
.detail_btn a {
  display: block;
  width: 100%;
  height: 100%;
}
.room_detail .detail_right {
  width: 370px;
  position: relative;
}
.room_detail .detail_right .plan_cap {
  position: absolute;
  top: .5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}


.room_dots {
    display: flex;
    justify-content: center;
    position: absolute;
    right: 2vw;
    bottom: 1vw;
}
.room_dots li {
    width: 8px;
    height: 8px;
    margin: 0 10px;
    background: #ccc;
    cursor: pointer;
    transform: rotate(45deg);
}
.room_dots li:hover,
.room_dots li.slick-active {
    background: #777;
}
.room_dots li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
#GuestRoom .facilities {
  padding-bottom: 60px;
}
#GuestRoom .facilities h3 {
  width: calc(1280px - 2vw);
  height: 2vw;
  margin: auto;
  text-align: right;
  line-height: 2vw;
  background-image: url(../images/room/room_arrow.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 1vw;
  padding-right: 2vw;
  padding-bottom: 0;
  border-bottom: 1px solid var(--Color1);
  cursor: pointer;
}
#GuestRoom .pict_container {
  width: 1100px;
  background-color: var(--Color2);
  margin: auto;
  padding: 60px 90px 20px;
}
#GuestRoom .pict_container h4 {
  text-align: center;
}
#GuestRoom p.ann {
  width: 1280px;
  margin: 1vw auto;
}
#GuestRoom .pict_list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 17px;
  margin-top: 30px;
  margin-bottom: 60px;
}
#GuestRoom .pict_list li {
  width: 140px;
  height: 140px;
  border: 1px solid var(--Color9);
  color: var(--Color9);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: space-between;
  padding: 10px 0;
}
#GuestRoom .pict_list li img {
  width: 120px;
}
#GuestRoom .pict_list li p {
  font-size: 0.8125rem;
  font-family: var(--fontJp);
  letter-spacing: 0;
  text-align: center;
  width: 100%;
}
#GuestRoom .pict_list li p.tight {
  line-height: 1;
}
#GuestRoom .pict_list li p span {
  font-size: 60%;
}

.pict_container {
  display: none;
}
.pict_container.is-open {
  display: block;
}


/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {

#GuestRoom .area {
  overflow: hidden;
}

#GuestRoom ul.tab {
  width: 90%;
  margin: 7.8125vw auto;
}
#GuestRoom ul.tab li {
  width: 20vw;
}
#GuestRoom ul.tab li a div {
  width: 20vw;
  height: 20vw;
}
#GuestRoom ul.tab li a div p {
  font-size: .9rem;
}
#GuestRoom ul.tab li a h3 {
  font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);
}
.room_detail {
  width: 90%;
  margin: 3.9062vw auto;
}
.room_detail .detail_left {
  width: 65vw;
}
.room_detail .detail_left ul li {
  width: 19.5vw;
  padding: .7vw;
}
.room_detail .detail_left ul li p {
  width: 190px;
  font-size: clamp(0.625rem, 0.211rem + 0.86vw, 0.75rem);
  letter-spacing: 0;
}
.detail_btn {
  position: relative;
  float: right;
  margin-top: 2vw;
}
.room_detail .detail_right {
  width: 24vw;
}
#GuestRoom .facilities {
  padding-bottom: 4.6875vw;
  width: 90%;
  margin: auto;
}
#GuestRoom .facilities h3 {
  width: calc(90% - 2vw);
}
#GuestRoom .pict_container {
  width: 82vw;
  background-color: var(--Color2);
  margin: auto;
  padding: 4vw 4vw 1vw;
}
#GuestRoom p.ann {
  width: 100%;
}
#GuestRoom .pict_list {
  gap: 2vw;
  margin-top: 2.3437vw;
  margin-bottom: 4.6875vw;
}
#GuestRoom .pict_list li {
  width: calc(100% / 5 - 2vw);
  height: 140px;
}

}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#GuestRoom ul.tab li a h3 span {
  font-size: clamp(0.75rem, 0.336rem + 0.86vw, 0.875rem);
}
.room_detail .detail_left ul li img {
  width: 4vw;
}
}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#GuestRoom p.read {
  width: 90%;
  margin: 4vw auto;
  line-height: 1.5;
  text-align: justify;
}
#GuestRoom ul.tab {
  flex-wrap: wrap;
}
#GuestRoom ul.tab li {
  width: 100%;
}
#GuestRoom ul.tab li a div {
  width: 100%;
  height: 20vw;
}
#GuestRoom ul.tab li a h3 {
  line-height: 1;
}
#GuestRoom ul.tab li a h3 span.sp {
  display: inline-block;
}
#GuestRoom ul.tab li.tab_a a h3,
#GuestRoom ul.tab li.tab_b a h3,
#GuestRoom ul.tab li.tab_c a h3,
#GuestRoom ul.tab li.tab_d a h3 {
  border-bottom: none;
}
#GuestRoom .area h3 {
  font-size: clamp(1rem, 0.586rem + 0.86vw, 1.125rem);
  padding-bottom: 10vw;
}
#GuestRoom .area h3 span{
  font-size: clamp(1.875rem, 0.634rem + 2.59vw, 2.25rem);
}
#GuestRoom .area {
  padding-top: 10vw;
}
.room_detail {
  position: relative;
}
.room_detail .detail_left {
  width: 100%;
}
.room_detail .detail_right {
  width: 43%;
  position: absolute;
  top: 0;
  right: 0;
}
.room_detail .detail_left ul {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.room_detail .detail_left ul li {
  width: 75%;
  margin-bottom: 2vw;
  height: 10vw;
}
.room_detail .detail_left ul li p {
  text-align: left;
  justify-content: flex-start;
  padding-left: 2vw;
  line-height: 1.2;
}
.room_detail .detail_left ul li img {
  width: 8vw;
  padding-left: 2vw;
}
.detail_txt {
  margin-top: 42vw;
  line-height: 2;
  width: 100%;
}
.detail_btn {
  position: relative;
  float: none;
  margin: 4vw auto;
}
#GuestRoom .facilities h3 {
  width: 100%;
  padding-bottom: 2vw;
  text-align: left;
  background-size: 4vw;
  background-position: right bottom 1px;
}
#GuestRoom .pict_list li {
  width: 31%;
  height: 24vw;
}
#GuestRoom .pict_list li img {
  width: 80%;
}
#GuestRoom .pict_list li p {
  font-size: clamp(0.625rem, 0.465rem + 0.85vw, 0.875rem);
  letter-spacing: -.05em;
}

}

/*　アメニティと設備　*/

#Facility p {
  line-height: 3;
  font-family: var(--fontJp);
}
#Facility figure figcaption {
  font-family: var(--fontJp);
}
#Facility h3 {
  margin-bottom: 1em;
}
.facility01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 100px;
  padding-right: calc((100% - 1280px) / 2);
}
.facility01 figure {
  width: 52vw;
}
.facility02 {
  width: 1280px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 100px auto 0;
}
.facility02 figure {
  width: 32.8125vw;
}
/* --------------------- */
/* 1920上 */
/* --------------------- */
@media screen and (min-width: 1920px) {
.facility02 figure {
  width: 28vw;
}
}

.facility03 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 200px;
  padding-left: calc((100% - 1280px) / 2);
}
.facility03 figure {
  width: 61.4583vw;
  position: relative;
  bottom: 3.6458vw;
}
.facility03 figure figcaption {
  left: 3.5416vw;
}
.facility04 {
  position: relative;
  margin: 100px auto 0;
  padding-bottom: 100px;
  height: 45vw;
}
.facility04 figure {
  position: absolute;
}
.facility04 figure.facility04_01 {
  width: 59.0625vw;
  left: calc((100% - 1280px) / 2);
}
.facility04 figure.facility04_02 {
  width: 28.5416vw;
  right: calc(((100% - 1280px) / 2) - 54px);
  top: 18.9583vw;
}
.facility_gallery {
  width: 1280px;
  margin: auto;
  padding-bottom: 120px;
}
.facility_gallery ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1vw 2%;
}
.facility_gallery ul li {
  width: 32%;
}
#Facility .facility_gallery p {
  line-height: 1;
}

/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {

.facility01 {
  width: 100%;
  padding-right:0;
}
.facility02 {
  width: 100%;
  margin-top: 6vw;
}
.facility03 {
  margin-top: 6vw;
  padding-left: 0;
}
.facility01 div,
.facility02 div,
.facility03 div {
  padding: 0 2vw;
}
.facility01 figure {
  width: 45vw;
}
.facility02 figure {
  width: 32vw;
}
.facility03 figure {
  width: 59vw;
}
.facility04 {
  height: 60vw;
}
.facility04 figure.facility04_01 {
  width: 88.5vw;
  left: 0;
}
.facility04 figure.facility04_02 {
  width: 42.8vw;
  right: 0;
  top: 24vw;
}
.facility_gallery {
  width: 90%;
  padding-bottom: 8vw;
}
.facility_gallery ul li {
  width: 30%;
}

}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#Facility h3 img {
  width: 16vw;
}
.facility01 figure {
  width: 37vw;
}
.facility02 {
  position: relative;
}
.facility02 figure {
  width: 38vw;
  position: absolute;
  top:-22vw;
  left: 0;
}
.facility03 figure {
  width: 53vw;
}

}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

.facility01,
.facility02,
.facility03,
.facility04 {
  display: block;
  margin-top: 10vw;
  position: static;
  height: auto;
}
.facility01 figure {
  width: 100%;
}
.facility01 div,
.facility02 div,
.facility03 div {
  padding: 0;
  width: 90%;
  margin: auto;
}
#Facility p {
  line-height: 2;
}
.facility02 figure {
  width: 100%;
  position: static;
}
.facility03 figure,
.facility04 figure.facility04_01,
.facility04 figure.facility04_02 {
  width: 90%;
  position: static;
  margin:0 auto 10vw;
}
.facility03 figure figcaption,
.facility04 figure figcaption {
  width: 90%;
  margin: auto;
}
.facility03 figure .photo_title,
.facility04 figure .photo_title {
  font-family: var(--fontCiz);
  font-size: clamp(1.5rem, 1.339rem + 0.86vw, 1.75rem);
  color: #d6dbdf;
}


}

/*　サービス　*/

#Service {
  padding-top: 100px;
  background-image: url(../images/room/service_back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.service_wrap {
  width: 1280px;
  margin: 80px auto 0;
  padding-bottom: 120px;
}
#Service h3 {
  width: 100%;
  height: 51px;
  background-image: url(../images/room/deco_line.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: auto;
  font-size: 2.125rem;
  color: #34495e;
  letter-spacing: .2em;
  padding-bottom: 1vw;
  vertical-align: baseline;
}
#Service h3 span {
  font-size: 60%;
  font-family: var(--fontCiz);
  margin-left: 1em;
}
.service_wrap ul {
  width: 1280px;
  margin: 40px auto 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 80px 40px;
}
.service_wrap ul li {
  width: 180px;
  text-align: center;
}
.service_wrap ul li figure {
  position: relative;
}
.service_wrap ul li figure img {
  width: 160px;
}
.service_wrap ul li figure figcaption {
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--fontJp);
  font-size: 0.875rem;
  width: 100%;
  text-align: center;
  line-height: 1.5;
}
.service_wrap ul li figure figcaption span {
  font-size: 85%;
}
.sub_h3 {
  display: flex;
  justify-content: space-between;
  margin-top: 120px;
}
.sub_h3 > div {
  width: 48%;
}
#Service .sub_h3 h3 {
  letter-spacing: .05em;
}
.service_ann {
  margin-top: 6vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1vw;
}

/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {

.service_wrap {
  width: 90%;
  margin: auto;
}
.service_wrap ul {
  width: 100%;
  margin: 3.125vw auto 0;
  gap: 6vw 1.5vw;
}
.service_wrap ul li {
  width: calc(100% / 5 - 1.3vw);
}
.service_wrap ul li figure img {
  width: 88.88%;
}
.service_wrap ul li figure figcaption {
  width: 100%;
  text-align: center;
}
#Service h3 {
  font-size: 1.725rem;
}

}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#GuestRoom.anchor,
#Facility.anchor,
#Service.anchor{
    display: block;
    padding-top: 1vw;
    margin-top: 0vw;
}
#Service {
  padding-top: 5vw;
}
#Service h3 {
  font-size: 2.7vw;
}
.service_wrap ul {
  gap: 8vw 1.5vw;
}
.service_wrap ul li figure figcaption span {
  font-size: 65%;
}

}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#Service h3 {
  font-size: clamp(1.125rem, 0.965rem + 0.85vw, 1.375rem);
  height: auto;
  margin-top: 10vw;
}
.service_wrap ul {
  margin: 5vw auto 0;
  gap: 10vw 2vw;
}
.service_wrap ul li {
  width: 31%;
}
.service_wrap ul li figure img {
  width: 85%;
}
.service_wrap ul li figure figcaption {
  font-size: clamp(0.625rem, 0.465rem + 0.85vw, 0.875rem);
}
.sub_h3 {
  display: block;
  margin-top: 10vw;
}
.sub_h3 > div {
  width: 100%;
}
#Service .sub_h3 h3 {
  letter-spacing: .1em;
}
.service_ann {
  display: block;
}

}




/*　外国語対応　*/

html.translated-ltr h2 .h2_en_2,
html.translated-ltr h3 .h3_en {
  display: none;
}
html.translated-ltr .notrancelate {
  display: none;
}
html.translated-ltr #GuestRoom .area {
  display: block;
  opacity: 1;
}
html.translated-ltr .room_detail .detail_left ul li p {
  display: block;
  margin-left: .5vw;
  text-align: left;
}
html.translated-ltr .detail_txt {
  margin-top: 1vw;
  text-align: left;
}
html.translated-ltr .detail_txt br {
  display: none;
}
html.translated-ltr .detail_btn {
  bottom: -1.5vw;
}
html.translated-ltr .facility01 div {
  width: 505px;
  text-align: left;
}
html.translated-ltr .facility02 div {
  width: 639px;
  text-align: left;
}
html.translated-ltr .facility03 div {
  width: 408px;
  text-align: left;
}
html.translated-ltr .facility01 div p br,
html.translated-ltr .facility02 div p br,
html.translated-ltr .facility03 div p br {
  display: none;
}


/* --------------------- */
/* 1300 */
/* --------------------- */
@media screen and (max-width: 1300px) {
}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

html.translated-ltr h2 span.h2_jp_2:before,
html.translated-ltr h2 span.h2_jp_2:after {
  content: none;
}
html.translated-ltr #GuestRoom p.read {
  text-align: left;
  width: 90%;
  margin: 2vw auto 0;
}
html.translated-ltr .facility01 {
  display: block;
  margin: 5vw auto 2vw;
  padding-right: 0;
}
html.translated-ltr .facility01 figure {
  width: 90%;
  margin: auto;
}
html.translated-ltr .facility02 {
  width: 90%;
  display: block; 
  margin: 6vw auto 0;
}
html.translated-ltr .facility02 figure {
  width: 100%;
}
html.translated-ltr .facility02 figure {
  width: 100%;
  position: static;
}
html.translated-ltr .facility03 {
  width: 90%;
  display: block;
  margin: 10vw auto 2vw;
  padding-left: 0
}
html.translated-ltr .facility03 figure {
  width: 100%;
}
html.translated-ltr .facility01 div,
html.translated-ltr .facility02 div,
html.translated-ltr .facility03 div {
  width: 90%;
  margin: auto;
}


}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

html.translated-ltr .detail_txt {
  margin-top: 42vw;
}

}
