@charset "utf-8";
/* CSS Document */

/*----------------------
TOPスライド swiper sp
----------------------*/
.swiper {
  position: relative;
  width: 100%;
  height: 70vh;
  padding: 0;
  border-bottom: #ccc 1px solid;
  filter: drop-shadow( 2px 2px 2px rgba(33, 33, 33, 0.5));
}
.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* スライド重ねる swiper */
.up_topslide_img {
  position: absolute;
  width: 96%!important;
  height: auto!important;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%); /*センター寄せの修正*/
  z-index: 3;
}

/* 送るボタン */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
  --swiper-navigation-color: #fff; /*色指定*/
  --swiper-pagination-color: #fff;
}

/* ページネーション */
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  width: 0.7rem;
  height: 0.7rem;
  margin: 0.2rem;
}

/* アクティブなときのスタイル */
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #fff;
}

/*----------------------
TOPスタイル sp
----------------------*/
/* TOPリード文 */
#top-lead {
  padding: 10% 5%;
  text-align: center;
}
#top-lead h2 {
  font-size: 130%;
  line-height: 150%;
  font-weight: 600;
  margin-bottom: 2%;
}
#top-lead h3 {
  font-size: 110%;
  line-height: 150%;
  font-weight: 480;
}
#top-lead h4 {
  font-size: 100%;
  line-height: 145%;
  font-weight: 400;
}

/* 1枠 TOP */
.cont-one {
  display: flex;
  flex-direction: column;
  text-align: center;
  background: rgba(255,255,255,0.6);
  padding-bottom: 5%;
  margin-bottom: 10%;
}
.cont-one img { width: 100%;}

/* 2枠 TOP・レストラン */
.cont-two {
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cont-two img { width: 100%;}
.cont-two-left,
.cont-two-right {
  padding-bottom: 5%;
  margin-bottom: 5%;
  background: rgba(255,255,255,0.6);
}

/* 1枠・2枠 hタグ */
.cont-one h2 {
  font-size: 300%;
  line-height: 75%;
  font-family: "Times New Roman", Times, "serif";
  color: #f5ebd2;
  margin-top: 5%;
}
.cont-two-left h2, 
.cont-two-right h2 {
  font-size: 300%;
  line-height: 75%;
  font-family: "Times New Roman", Times, "serif";
  color: #f5ebd2;
  margin-top: 2.5%;
}
.cont-one h3, 
.cont-two-left h3, 
.cont-two-right h3 {
  font-size: 140%;
  line-height: 120%;
  margin: -1% 0;
  padding: 0 3% 0;
}
.cont-one .headline, 
.cont-two-left .headline, 
.cont-two-right .headline {  
  font-size: 108%;
  line-height: 150%;
  padding: 4% 3% 1%;
}

/* リンクボタン */
.link-btn,
.link-btn_white,
.link-btn_target,
.reservation-btn {
  margin: 12% 0 8%; 
  text-align: center;
  padding-bottom: 5%;
  clear: both;
}

.link-btn a { /*背景が黄色*/
  padding: 6% 9%;
  font-size: 110%;
  background-color: #fde9b7;
  border: solid 1px #c7b8af;
  border-radius: 6px;
  color: #583c2c;
}
.link-btn a:hover { /*濃い黄色に*/
  background-color: #fff1d0;
  color: #583c2c;
}

.link-btn_white a { /*背景が白色*/
  padding: 6% 9%;
  font-size: 110%;
  background-color: #fff;
  border: solid 1px #c7b8af;
  border-radius: 6px;
}
.link-btn_white a:hover { /*薄い桃色に*/
  background-color: #fceeee;
  color: #583c2c;
}

.reservation-btn a,
.link-btn_target a { /*背景が薄こげ茶*/
  padding: 6% 9%;
  font-size: 110%;
  background-color: #927666;
  border: solid 1px #c7b8af;
  border-radius: 6px;
  color: #fff;
}
.reservation-btn a:hover,
.link-btn_target a:hover { /*赤に*/
  background-color: #990000;
  color: #fff;
}

/* 4枠 spでは2列 pcでは4列 TOPホテルイベント */
.cont-four {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 5% 1% 5% 1%;
}
.cont-four-box {
  padding: 1% 0.5%;
  margin: 1%;
  width: 48%;
  text-align: center;
}
.cont-four-box img {
  width: 100%;
  padding-bottom: 0.5%;
}
.cont-four p {
  padding-bottom: 3%;
}

/* TOP レストラン */
.top-restaurant {
  position: relative;
}

/* TOP レストラン画像に画像を重ねる */
.top-restaurant .up_imgleft {
  position: absolute;
  width: 50%!important;
  height: 37.5%!important;
  left: 25%;
  top: 10%;
  justify-content: center;
  z-index: 3;
}
.top-restaurant .up_imgright {
  position: absolute;
  width: 50%!important;
  height: 37.5%!important;
  right: 25%;
  top: 50%;
  justify-content: center;
  z-index: 3;
}

/* TOP レストラン画像に文字を重ねる */
.top-restaurant p.up_txtleft {
  position: absolute;
  width: 50%!important;
  height: 37.5%!important;
  line-height: 200%;
  left: 25%;
  top: 23%;
  color: #fff;
  z-index: 4;
}
.top-restaurant p.up_txtright {
  position: absolute;
  width: 50%!important;
  height: 37.5%!important;
  line-height: 160%;
  right: 25%;
  top: 61%;
  color: #fff;
  z-index: 4;
}
.restaurant-name_bf,
.restaurant-name {
  font-size: 130%;
  line-height: 140%;
  font-weight: 500;
  margin: 5% 5% 2%;
  text-align: left;
}

/* TOP 宿泊プラン */
.top-plan {
  padding: 4% 8% 5% 8%;
  justify-content: center;
}
.top-plan li {
  width: 250px;
  height: auto!important;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  justify-content: space-between;
  background: #fff;
  border-radius: 10px;
}
.top-plan .imgbox {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 35vh;
}
.top-plan .imgbox img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-plan .plantitle {
  min-height: 130px; /*テキストの高さ*/
  font-size: 1.1em;
  padding: 5%;
  text-align: left;
}
.top-plan .planbtn {
  background: #927666;
  text-align: center;
  border-radius: 0 0 10px 10px;
  padding: 3% 0;
  align-items: end;
}
.top-plan .planbtn:hover { opacity: 0.8;}
.top-plan .planbtn p { color: #fff;}
/* aタグ指定 commom.css */


/* TOP インフォメーション */
.info-box input[type=checkbox] { display: none;}
.info-box {
  background: rgba(255,255,255,0.8);
  padding: 4% 4% 2% 4%;
  border-radius: 10px;
  margin: inherit;
}
.info-box .date {
  margin-right: 2%;
  color: #666;
}
.info-box .infotxt {
  background-color: #c09c3b;
  vertical-align: middle;
  font-size: 0.9em;
  color: #fff;
  margin: 0 1% 0 2%;
  padding: 0.5% 1%;
}
.info-box ul li {
  display: flex;
  flex-direction: column;
  /*border-bottom: #ddd 1px solid;*/
  padding-bottom: 3%;
  margin-bottom: 3%;
}
.info-box ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.info-box ul li div.newsimg {
  margin-bottom: 2%;
  font-size: 90%;
  color: #666;
}
.info-box ul li div.newsimg img {
  width: 100%;
  margin-bottom: 0;
}
.info-box ul li div.newstext {
  width: 100%;
  margin: 0 2% 2%;
  color: #666;
}
.info-box ul li a:hover {
  text-decoration: underline;
}

/* TOP sns */
.info-sns { padding: 3%;}
.info-sns ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  text-align: center;
  justify-content: center;
}
.info-sns li {
  width: 48%;
  margin: 10% 0.5%;
  display: block;
  height: 150px;
}
.info-sns li img { height: 100%;}
.info-sns .snslogo { height: 30px;}
.info-sns .snsimg { border: solid 1px #D5D5D5;}

/* リンクバナー */
.bnrspace { margin: 10% auto; padding: 3% 3% 1%;}
.bnrspace img { width: 100%;}

ul.shortbnr {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  height: auto;
}
ul.shortbnr li {
  flex: 0 0 48%;
  height: 100%;
  margin: 0 0 2%;
}
ul.shortbnr li img { width: 100%;}

.longlinkbnr {
  margin: 2% 0 0.5% 0;;
  text-align: center;
  justify-content: center;
}
.longlinkbnr img { width: 100%;}


/* TOP 外部リンクバナー */
.footerbnrslide { display: flex; height: auto;}
.footerbnrslide li { flex: 0 0 48%; margin: 0 0.1% 1%;}
.footerbnrslide li img { width: 100%;}

/* 共通 テーブル 約款　*/
.table-flex li {
  width: 100% !important;
  margin: 0!important;
}
.table-flex .th { background-color: #faf2de;}
.table-flex dl {
  display: flex;
  width: 100%;
  align-items: stretch;
} 
.table-flex dt {
  width: 50%;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
}
.table-flex dd { width: 50%;}
.table-flex dt,
.table-flex dd {
  border-top: #d2c2b9 1px solid;
  margin-top: -1px;
  padding: 1.5%;
}
.end { border-bottom: #d2c2b9 1px solid;}

/* 共通 テーブル 宴会・会議 右の表組　*/
.table-flex_rt li {
  width: 100% !important;
  margin: 0!important;
}
.table-flex_rt .th { background-color: #faf2de;}
.table-flex_rt dl {
  display: flex;
  width: 100%;
  align-items: stretch;
} 
.table-flex_rt dt {
  width: 35%;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  background-color: #faf2de;
}
.table-flex_rt dd {
  width: 65%;
  background-color: #fff;
}
.table-flex_rt dt, 
.table-flex_rt dd {
  border-top: #d2c2b9 1px solid;
  margin-top: -1px;
  padding: 1.5%;
}

.noBorder-top { border-top: none !important;}
.noBorder-bottom { border-bottom: none !important;}


/*----------------------
本文スタイル sp
----------------------*/
/* 共通スタイル */
/* article */
article { width: 100%; height:auto;}

/* 各ページメイン画像 */
.main-image-container {
  position: relative;
  width: 100%;
  height: 30vh;
  overflow: hidden;
  display: block;
}
.main-image-container img {
  width: 100%;
  height: 100%;
}
.up_main-bg {
  width: 100%;
  height: 30vh;
  object-fit: cover;
  z-index: 3;
}

.overlay { /*メイン画像に黒色を敷く*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30vh;
  background-color: rgba(0, 0, 0, 0.25);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
}
.overlay.visible {
  visibility: visible;
  opacity: 1;
}

/* メイン画像に黒色を敷かない */
#main-image_nb {
  position: relative;
  height: 30vh;
}
#main-image_nb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 3;
}

/* メイン画像に文字を重ねる */
#main-image .up_h2-txt {
  position: absolute;
  margin: 0;
  font-size: 250%;
  color: #f5edd9;
  opacity: 0.6;
  z-index: 5;
  top: 40%; 
  left: 50%; /*中央値*/
  transform: translate(-50%, -40%);
  white-space: nowrap;
}
#main-image .up_h3-txt {
  position: absolute;
  margin: 0;
  font-size: 150%;
  line-height: 120%;
  color: #fff;
  z-index: 5;
  top: 60%;
  left: 50%; /*中央値*/
  transform: translate(-50%, -60%);
  white-space: nowrap;
}

/* メイン画像に画像を重ねる */
#main-image .up_photo, 
#main-image_nb .up_photo {
  position: absolute;
  margin: 0;
  color: #fff;
  justify-content: center;
  z-index: 5;
  top: 50%;
  left: 50%; /*中央値*/
  transform: translate(-50%, -50%);
  width: 30%;
}
#main-image .up_photo img, 
#main-image_nb .up_photo img {
  width: 100%;
  opacity: 0.8;
}

/* 各ページアンカー sp */
#anchor { padding: 6% 1% 0;}
#anchor ul { display: flex; flex-wrap: wrap;}
#anchor li { margin: 0 0 2% 1%;}
#anchor li a:hover { color: #583c2c;}
.button-link {
  display: inline-block;
  width: auto;
  padding: 12px 20px;
  color: #000;
  background-color: #f6e9c9;
  text-align: center;
  text-decoration: none;
  border-radius: 50px;
  transition: background-color 0.3s;
  position: relative;
  z-index: 1;
}
.button-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: -1;
}
.button-link:hover {
  background-color: #fde9b7;
}

/* 各ページリード文 */
#page-lead {
  padding: 10% 5%;
}
#page-lead h2 {
  font-size: 110%;
  line-height: 150%;
}
#page-lead h2 span {
  display: block;
  font-size: 120%;
  line-height: 160%;
  font-weight: 480;
  margin-bottom: 2%;
}

/* 各ページコンテンツ */
.section-inner {
  padding: 10% 3% 1%;
}
.section-inner_end {
  padding: 10% 3% 15%;
}
.section-inner h2, 
.section-inner_end h2 {
  font-size: 300%;
  line-height: 75%;
  font-family: "Times New Roman", Times, "serif";
  color: #f8e8c0;
  text-align: center;
  padding-top: 5%;
}
.section-inner h3, 
.section-inner_end h3 {
  font-size: 180%;
  line-height: 90%;
  text-align: center;
  padding: 0 3% 4%;
}
.section-inner h4, 
.section-inner_end h4 {
  font-size: 125%;
  line-height: 150%;
  padding: 2% 0 4%;
  font-weight: 500;
  text-align: left;
}

.section-inner p, 
.section-inner_end p {
  padding: 3% 5% 5%;
  text-align: left;
  line-height: 170%;
}
.section-inner .titleimg, 
.section-inner_end .titleimg {
  width: auto;
  text-align: center;
}
.section-inner .titleimg img, 
.section-inner_end .titleimg img {
  width: 100%;
}

/* 宿泊一覧 */
.go-plan { padding: 0 3%;}
.go-plan .planlist {
  background: rgba(255,255,255,0.8);
  margin-bottom: 10%;
  padding: 6% 5% 0;
  border-radius: 10px;
}
.go-plan h3 { font-size: 130%; margin-bottom: 6%; font-weight: 480;}
.plan_box-three {
  display: flex;
  flex-direction: column;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
}
.three_list { padding: 0 0 10%; margin: 0 0 6%; width: 100%;}
.three_list:not(:last-of-type) { border-bottom: #ccc dotted 1px;}
.three_list_img { width: 30%; float: left;}
.three_list_img img { width: 100%;}
.three_list_txt { width: 67%; float: right;}
.three_list_txt p.title {
  border-bottom: #d2c2b9 solid 1px;
  font-size: 100%;
  padding: 0 0 3%;
  margin-bottom: 4%;
  font-weight: bold;
}

.planlist-btn {
  width: 100%; clear: both; 
}
.planlist-btn a { /*背景が薄こげ茶*/
  display: inline-block;
  padding: 3% 5%;
  margin: 5% 1% 0 0;
  background-color: #927666;
  border: solid 1px #c7b8af;
  border-radius: 50px;
  color: #fff;
  float: right;
}
.planlist-btn a:hover { /*赤に*/
  background-color: #990000;
  color: #fff;
}

/* 宿泊一覧 続きを読む */
.read-more-1 {
  position: relative;
}
.read-more-1 p {
  display: -webkit-box;
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 開く前に見せたい行数を指定 */
}
.read-more-1:has(:checked) p {
  display: block;
}
.read-more-1 p::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(180deg, hsla(40, 0%, 100%, 0) 0, hsla(40, 0%, 100%, .9) 50%, hsla(40, 0%, 100%, .9) 0, #fffdf9);
  content: '';
}
.read-more-1:has(:checked) p::after {
  content: none;
}
.read-more-1 label {
  display: flex;
  align-items: center;
  gap: 0 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  color: #927666;
  font-size: .8em;
}
.read-more-1 label:hover {
  color: #990000;
  text-decoration: underline;
  cursor: pointer;
}
.read-more-1:has(:checked) label {
  display: none;
}
.read-more-1 label::after {
  display: inline-block;
  width: 10px;
  height: 5px;
  background-color: #d3b565;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}
.read-more-1 input {
  display: none;
}

/* 客室 */
.room-box { /*セパレート用*/
  display: flex;
  flex-direction: column;
}
.room-box-left {
  padding: 0;
}
.room-box-left img {
  width: 100%;
}
.room-box-left .room_small {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 30%;
}
.room-box-left .room_small img {
  width: 100%;
  margin-right: 3%;
}

.room-box-right {
  padding: 5% 8% 10% 8%;
  width: 100%;
  background-color: #fff;
}
.room-box-right h2 { 
  font-size: 220%;
  line-height: 75%;
  text-align: center;
  padding-top: 3%;
}
.room-box-right h3 { 
  font-size: 160%;
  line-height: 100%;
  text-align: center;
}
.room-box-right h4 { 
  font-size: 130%;
  line-height: 140%;
  font-weight: 500;
}
.room-box-right img {
  width: 94%;
  height: auto;
  text-align: center;
  margin: 8% 3% 0 3%;
}

/* 客室 アメニティ */
.amenity-box {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
  margin-top: 2%;
}
.amenity-box_list {
  padding: 3% 2%;
  margin: 0 1% 4% 1%;
  width: auto;
  background: rgba(255,255,255,0.8);
  border-radius: 10px;
  width: 48%;
}
.amenity-box_list p {
  width: 100%;
  margin-bottom: 2%;
  text-align: center;
  font-weight: bold;
}
.amenity-box_list p img {
  width: 50px;
}

/* 客室 SDGs */
#sdgs {
  background: rgba(255,255,255,0.8);
  margin: -5% 0 0 0;
  padding: 10% 8%;
  border-radius: 10px;
}
.sdgslogo {
  width: 300px;
}
.sdgs {
  margin-top: 5%;
}
.sdgs dt { 
  font-weight: bold;
  font-size: 120%;
  margin-bottom: 2%;
}

/* レストラン */
#breakfast_inner {
  width: 100%;
  padding: 0;
  background: rgba(255,255,255,0.8);
}

.breakfast-box {
  display: flex;
  flex-direction: column;
  padding: 4%;
  width: 100%;
}
.breakfast-box p {
  padding: 3% 0 0 0;
}
.breakfast-box p img {
  width: 100%;
}
.breakfast-box-left {
  padding: 3%;
  width: 100%;
}
.breakfast-box-right {
  padding: 3%;
  width: 100%;
  text-align: center;
}

/* 朝食・個室 無限ループアニメーション */
@keyframes img-scroll-left {
  from {
  transform: translateX(0);
  }
  to {
  transform: translateX(-100%);
  }
}
.scroll-img__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-img__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-img__list--left {
  animation: img-scroll-left 80s infinite linear 0.5s both;
}
.scroll-img__item {
  width: calc(100vw / 1.5);
}
.scroll-img__item>img {
  width: 100%;
}
.scroll-img__item04 {
  width: calc(100vw / 2.5);
}
.scroll-img__item04>img {
  width: 100%;
}
.scroll-img__list--left {
animation: img-scroll-left 80s infinite linear 0.5s both;
}
/* ここまで */

/* レストラン 各ページ 営業時間 */
.hours-two {
  display: flex;
  flex-direction: column;
  justify-content: start;
  height: auto;
  margin: 0;
  padding: 0;
}
.hours-two-left {
  padding: 5% 3% 2%;
  background: rgba(255,255,255,0.8);
  height: auto;
}
.hours-two-right {
  padding: 0 3% 5%;
  background: rgba(255,255,255,0.8);
  height: auto;
}
.hours-two-left p,
.hours-two-right p {
  padding: 3%;
}
.hours-two-left p.b1,
.hours-two-right p.b1 {
  border-bottom: #d2c2b9 dotted 1px;
  padding: 3%;
}
.hours-two-left p.line-h,
.hours-two-right p.line-h {
  line-height: 1.6;
  font-size: 90%;
}

/* レストラン コンテンツ */
#restaurant-content {
  margin: 2% 3% 5% 3%;
}
.restaurant-content-inner {
  background: rgba(255,255,255,0.8);
  padding: 6%;
  border-radius: 10px;
}
#restaurant-content h4 {
  font-size: 130%;
  font-weight: 500;
  margin-bottom: 2%;
}
#restaurant-content h5 {
  font-size: 130%;
  font-weight: 500;
  margin-bottom: 2%;
}
#restaurant-content img {
  width: 100%;
  margin: 2% 0;
}

/* 朝食メニュー */
.breakfast-menu {
  display: flex;
  flex-direction: column;
  text-align: left;
  justify-content: space-between;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 2%;
}
.box_b_menu {
  padding: 5%;
  margin: 0 0 4% 0;
  width: auto;
  background-color: #f0f8ff;
  border-radius: 10px;
  width: 100%;
}
.box_b_menu p {
  border-bottom: #d2c2b9 solid 1px;
  padding: 2% 0;
  margin-bottom: 2%;
  font-weight: bold;
}

/* 今月のレストラン情報 スライダー使用 */
.monthly-box {
  padding: 4% 8%;
  justify-content: center;
}
.monthly-box li {
  width: 100vw;
  height: auto!important;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  justify-content: space-between;
  background: #fff;
}
.monthly-box .imgboxm {
	display: flex;
	justify-content: center;
  width: 100%;
  height: 100%;
	}
.monthly-box .imgboxm img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.monthly-box .monthlybtn {
  background: #927666;
  text-align: center;
  padding: 2% 0;
  font-size: 90%;
  align-items: end;
}
.monthly-box .monthlybtn p {
  color: #fff;
}

/* レストラン 3枠BOX */
.restaurant_box-three {
  display: flex;
  flex-direction: column;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
}
.restaurant_box-three_menu {
  padding: 0;
  margin: 2% 0 4%;
  background-color: #faf2de;
  width: 100%;
  border-radius: 0 0 10px 10px;
  border: #ffebb6 solid 1px;
}
.restaurant_box-three_menu img {
  padding: 0!important;
  margin: 0!important;
  width: 100%;
}
.restaurant_box-three_menu_txt {
  padding: 0 5% 8%;
  border-radius: 0 0 10px 10px;
}
.restaurant_box-three_menu p {
  border-bottom: #d2c2b9 solid 1px;
  font-size: 110%;
  padding: 1% 0;
  margin-bottom: 4%;
  font-weight: bold;
}
.restaurant_box-three_menu_op {
  padding: 4%;
  margin: 2% 0 4%;
  background-color: #faf2de;
  width: auto;
  border-radius: 10px;
  border: #ffebb6 solid 1px;
}
.restaurant_box-three_menu_op p {
  border-bottom: #d2c2b9 solid 1px;
  font-size: 110%;
  padding: 1% 0;
  margin-bottom: 4%;
}

/* レストラン 2枠BOX */
.restaurant_box-two {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
  flex-wrap: wrap;
}
.restaurant_box-two_left {
  width: 100%;
  padding: 4% 3% 0.5%;
  background: rgba(255,255,255,0.8);
}
.restaurant_box-two_left img {
  width: 100%;
}
.restaurant_box-two_right {
  width: 100%;
  padding: 2% 5% 8%;
  margin-bottom: 5%;
  background: rgba(255,255,255,0.8);
}
.restaurant_box-two_right h4 {
  font-size: 120%;
  padding: 0 0 2% 0;
}

/* レストラン テナント */
.info-tenant { display: flex; flex-direction: row; justify-content: center;}
.info-tenant_box { display: flex; padding-bottom: 15%;}
.info-tenant_box li { margin-right: 3%;}
.info-tenant_box li:last-child { margin-right: 0;}
.info-tenant_box li img { width: 100%;}
.info-tenant_box li ul { padding: 3%;}
.info-tenant_txt { padding: 1% 0; border-bottom: dotted 1px #d2c2b9;
}

/* レストラン オンラインバナー */
.online_bnr { text-align: center; justify-content: center; margin: 0 5% 15%;}
.online_bnr img { width: 100%;}
.online_bnr p { font-size: 90%;}

/* 宴会・会議、ホテルについて sp共通 */
.banquet-box, 
.about-box { /*セパレート用*/
  display: flex;
  flex-direction: column;
}
.banquet-box-left, 
.about-box-left {
  padding: 0;
}
.banquet-box-left img, 
.about-box-left img {
  width: 100%;
}
.banquet-box-right, 
.about-box-right {
  padding: 8% 5%;
  width: 100%;
  background-color: #fff;
}
.banquet-box-right h4, 
.about-box-right h4 { 
  font-size: 130%;
  line-height: 140%;
  font-weight: 500;
}
.banquet-box-right img, 
.about-box-right img {
  width: 94%;
  height: auto;
  text-align: center;
  margin: 8% 3% 0 3%;
}

.banquet-box-left .banquet_small, 
.about-box-left .about_small {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 32%;
}
.banquet-box-left .banquet_small img, 
.about-box-left .about_small img {
  width: 100%;
  margin: 0 3% 3% 0;
}

/* ホテルについて 施設概要 */
.accordion-box .detaillist {
  padding: 2% 3%;
  width: 100%;
}
.accordion-box .detaillist dt {
  text-align: left;
  width: 35%;
  background-color: #faf2de;
}
.accordion-box .detaillist dd {
  width: 100%;
  background-color: #fff;
}
.accordion-box .table-flex dd.th {
  width: 100%;
  background-color: #faf2de;
}

.accordion-box .detaillist dt::after{
  content: "";
}
.accordion-box .detaillist p {
  line-height: 1.7;
}

/* ホテルについて 施設概要 クレジットカード */
.card-detail {
  display: flex;
  float: left;
  margin: 2% 0;
}
.card-detail li {
  width: 60px;
  height: 60px;
  margin-right: 5px;
}
.card-detail li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.card-detail:after { clear: both;}

/* スパ */
.spa-content img { width: 100%;}
.spa-content p { padding: 0; margin: 0;}
.spa-content ul { margin: 5% 2% 10% 2%;}
.spa-content .spa-table ul { list-style: none; margin: 5% 0;}
.spa-content .spa-table dt { text-align: left;}

/* スパ ギャラリー */
.spa-box { display: flex; flex-direction: column; padding: 3% 2%;}
/* 2列 */
.spa-box_inner { margin-bottom: 5%;}
.spa-box_inner img { width: 100%;}
.spa-box_inner img.border { border: #ccc solid 1px;}
.spa-box_inner p { font-size: 94%;}

/* アクセス */
.access-content {
  background: rgba(255,255,255,0.8);
  padding: 5% 4% 1%;
  margin: 5% 0 6%;
}
.access-content h4 {
  font-size: 130%;
  line-height: 150%;
  padding: 0 0 4%;
  font-weight: 480;
  text-align: left;
}
.access-content h5 {
  font-size: 120%;
  line-height: 150%;
  font-weight: 480;
  margin: 10% 0 2%;
  text-align: left;
}
.access-content img {
  width: 100%;
}
.access-content p {
  padding: 0;
  margin: 0;
}
.access-content ul {
  list-style: disc;
  margin: 1% 2% 5% 8%;
}
.access-content ol {
  list-style: decimal;
  margin: 1% 2% 5% 8%;
}
.access-content .parking-table ul {
  list-style: none;
  width: 100%;
  margin: 3% auto;
}

/* アクセス 行き方 */
.access-box {
  display: flex;
  flex-direction: column;
  padding: 3% 0 10%;
}
/* 3列 */
.access-box_inner {
  background-color: #F5F5F5;
  margin-bottom: 5%;
}
.access-box_inner img {
  width: 100%;
}
.access-box_inner p {
  padding: 2% 5% 4%;
  font-size: 94%;
  border-radius: 0 0 10px 10px;
}
/* 2列 map */
.access-box_inner_map {
  margin-bottom: 5%;
}
.access-box_inner_map img {
  width: 100%;
}
.access-box_inner_map img.border {
  border: #ccc solid 1px;
}
.access-box_inner_map p {
  font-size: 94%;
}

/* アクセス ダイナミックパッケージ*/
.dp-bnrArea {
  display: flex;
  flex-wrap: wrap;
  margin: 5% 0 8%;
}
.dp-bnrArea li {
  width: 48%;
  margin: 0 1%;
  margin-bottom: 5%;
}
.dp-bnrArea li img {
  width: 100%;
}
.dp-bnrArea li p{
  margin: 0;
  padding: 0;
}

/* 周辺スポット */
/* 3枠 spでは1列 pcでは3列*/
.cont-three {
  display: flex;
  flex-direction: column;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 3% 2%;
}
.cont-three-box {
  margin: 0 0 8%;
  padding: 0;
  width: 100%;
  border: #d2c2b9 solid 1px; /*枠あり*/
  border-radius: 10px; /*角丸*/
  position: relative; /*コンテナを基準にする*/
  background-color: #fff;
}
.cont-three-box img {
  padding: 0!important;
  margin: 0!important;
  width: 100%;
  border-radius: 10px 10px 0 0; /*上部角丸*/
}

.box-sighttop {
  border-radius: 10px 10px 0 0; /*上部角丸*/
}
.box-sighttop p {
  font-size: 80%;
  text-align: right;
  margin: 0 1% 0 0;
  padding: 0;  
}

.sight-box {
  display: flex;
  padding: 5% 5% 7%;
  margin-bottom: 7%;
  height: auto;
}
.sight-box dl { margin-top: 0;}
.sight-box dl dt {
  border-bottom: dotted 1px #c09c3b;
  padding: 0 0 2%;
}
.sight-box dl dt.sightname {
  font-size: 120%;
  font-weight: 700;
}
.sight-box dl dd.sightcont {
  padding: 4% 0 8% 0;
  height: auto;
}
.box-bottom { 
  position: absolute;
  width: 100%;
  bottom: 0; /*コンテナの一番下に配置*/
}
.box-bottom .distance {
  background: #583c2c;
  color: #fff;
  text-align: center;
  border-radius: 0 0 10px 10px;
  padding: 3% 0;
  vertical-align: middle;
  justify-content: flex-end;
}
.box-bottom .distance a:hover { opacity: 0.8;}

/* マーク見方案内 */
.mark-btn {
  max-width: 300px; 
  text-align: center;
  padding: 1% 0;
  border-radius: 20px;
  background-color: #927666;
  color: #fff;
  font-size: 90%;
}
.right { margin: 0 0 8% auto;} /*div内の右寄せ*/

/* faq */
.faq { padding: 0 3% 0;}
.faq li {
  background: rgba(255,255,255,0.8);
  margin-bottom: 10%;
  padding: 10% 5% 1%;
  border-radius: 10px;
}
.faq h3 {
  font-size: 140%; 
  font-weight: 480; 
  margin-bottom: 5%;
}
.faq dl { margin-bottom: 10%;}
.faq dl dt {
  background-image:url(../img/faq/q.svg);
  background-repeat: no-repeat;
  background-size: 22px;
  background-position: left 0 top 3px;
  padding: 0 0 0 30px;
  line-height: 160%;
  font-size: 110%;
}
.faq dl dd {
  background-image:url(../img/faq/a.svg);
  background-repeat: no-repeat;
  background-size: 22px;
  background-position: left 0 top 10px;
  padding: 10px 0 0 30px;
  line-height: 160%;
  font-size: 1em;
  border-top: solid 1px #c7c7c7;
  margin-top: 10px;
}

/* 約款 */
#stipulation {padding: 0 3% 0;}
#stipulation ul { background: rgba(255,255,255,0.8); margin-bottom: 10%; padding: 8% 5%; border-radius: 10px;}
#stipulation li { margin-bottom: 10%;}
#stipulation h3 { font-size: 130%; margin-bottom: 3%;}
.stipulation-dt { font-size: 120%; margin-bottom: 1%;}
#stipulation dd { padding: 1.5% 1%;}
#stipulation dd ul { padding: 0;}
#saigo { padding: 1.5% 1%; text-align: right;}
#stipulation .table-flex dd { padding: 1.5%;}

/* 約款 テーブル 左揃え */
#stipulation .table-flex-l li {
  width: 100% !important;
  margin: 0!important;
}
#stipulation .table-flex-l .th { background-color: #faf2de;}
.table-flex-l dl {
  display: flex;
  width: 100%;
  align-items: stretch;
} 
#stipulation .table-flex-l dt,
#stipulation .table-flex-l dd {
  width: 50%;
  text-align: left;
  display: inline-block;
  vertical-align: middle;
  padding: 1.5% 3% 1.5%;
  border-top: #d2c2b9 1px solid;
}
#stipulation .table-flex-l dt {
  border-right: #d2c2b9 1px solid;
}

/* エレガント倶楽部 */
.club-content { padding: 3%; margin: 8% 0 2% 0; background: rgba(255,255,255,0.6); border-radius: 10px;}
.club-content img { width: 100%;}
.club-content h4 { line-height: 150%; padding: 6% 5% 4%; font-weight: 500; text-align: left;}
.club-content p { padding: 0; margin: 0;}
.club-content ol { list-style: decimal; padding: 0 5% 5%; margin: 1% 5%;}
.club-content ul { list-style: disc; padding: 0 5% 5%; margin: 0 5%;}
.club-content li { padding: 2% 0;}

/*----------------------
フローティングバナー animation.js内
----------------------*/
.floatingBnr {
  position: fixed;
  top: 35%;
  right: 0;
  transform: translateY(-50%);
  background: rgba(212,53,93,0.7);
  color: white;
  padding: 15px 18px;
  font-size: 16px;
  width: 30px; /* 幅 */
  height: auto; /* 高さ自動調整 */
  writing-mode: vertical-rl; /* 縦書き */
  display: flex;
  align-items: center; /* 縦方向中央揃え */
  justify-content: center; /* 横方向中央揃え */
  white-space: nowrap; /* テキストが折り返さない */
  /*font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";*/
  border: #d4355d dotted 1px;
  border-radius: 6px;
  z-index: 10;
}
.floatingBnr a {text-decoration: none; color:#fff;}
.floatingBnr a:hover {text-decoration: none; opacity: 0.8;}


/*===========================================*/
@media screen and (min-width: 470px) {
/* TOP リンクバナー */
.bnrspace { margin: 2% auto 5%; padding: 2% 3% 1%;}
.longlinkbnr { display: flex; margin: 2% 0 0.5% 0;}
.longlinkbnr img { width: 100%;}

/* TOPリード文 */
#top-lead h2 { font-size: 160%; line-height: 150%; font-weight: 500; }
#top-lead h3 { font-size: 110%; line-height: 180%; font-weight: 500;}
#top-lead h4 { font-size: 100%; line-height: 160%; font-weight: 400;}

/* 2枠 */
.cont-two {
  flex-direction: row;
}
.cont-two-left {
  max-width: 49%;
  padding-bottom: 5%;
}
.cont-two-right {
  max-width: 49%;
  padding-bottom: 5%;
  margin-left: 1%;
}

/* 1枠・2枠 hタグ */
.cont-one h2, 
.cont-two-left h2, 
.cont-two-right h2 {
  font-size: 330%;
  line-height: 75%;
}
.cont-one h3 {
  font-size: 200%;
  line-height: 110%;
}
.cont-one .headline {
  font-size: 120%;
  line-height: 160%;
}
.cont-two-left h3, 
.cont-two-right h3 { 
  font-size: 140%;
  line-height: 140%;
}
.cont-two-left .headline, 
.cont-two-right .headline { 
  font-size: 110%;
  line-height: 150%;
}

/* TOP インフォメーション sns */
.info-sns li {
  width: auto;
  margin: 3% 1%;
  display: block;
  height: 180px;
}

/* 各ページコンテンツ */
.section-inner h2 {
  font-size: 460%;
  line-height: 75%;
  text-align: center;
  padding-top: 5%;
}
.section-inner h3 {
  font-size: 200%;
  line-height: 100%;
  text-align: center;
}
.section-inner h4 { 
  font-size: 140%;
  line-height: 150%;
  padding: 0 0 1%;
  font-weight: 480;
}

/* レストラン 各ページ 営業時間 pcと同じ */
.hours-two {
  flex-direction: row;
  padding: 0;
  font-size: 106%;
}
.hours-two-left {
  width: 50%;
  padding: 3% 1% 3% 2%;
}
.hours-two-left p {
  padding: 3% 0 2% 3%;
}
.hours-two-right {
  width: 50%;
  padding: 3% 2% 3% 1%;
}
.hours-two-right p {
  padding: 3% 0 2% 3%;
  line-height: 250%;
}
.hours-two-left p.b1,
.hours-two-right p.b1{
  border-bottom: #d2c2b9 dotted 1px;
  padding: 3% 0 3% 3%;
}

/* 周辺スポット 3枠 spでは1列 pcでは3列 */
.cont-three {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: start;
  align-content: stretch;
  padding: 3% 0;
}
.cont-three-box {
  margin: 0 1% 5%;
  width: 48%;
}

} /*470px end*/


/*===========================================*/
@media (min-width: 768px) {
/*----------------------
TOPスライド swiper pc
----------------------*/
.swiper {
  position: relative;
  width: 100%;
  height: 80vh;
  padding: 0;
  border-bottom: #ccc 1px solid;
  filter: drop-shadow( 2px 2px 2px rgba(33, 33, 33, 0.5));
}
/* スライド重ねる swiper */
.up_topslide_img {
  position: absolute;
  width: 800px!important;
  height: 550px!important;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%); /*センター寄せ*/
  z-index: 3;
}

/*----------------------
TOPスタイル pc
----------------------*/
/* TOPリード文 */
#top-lead {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5% 3% 6% 3%;
  text-align: center;
}
#top-lead h2 {
  font-size: 180%;
  line-height: 160%;
  font-weight: 500;
}
#top-lead h3 {
  font-size: 130%;
  line-height: 200%;
  font-weight: 450;
}
#top-lead h4 {
  font-size: 110%;
  line-height: 180%;
  font-weight: 400;
}

/* 1枠 TOP */
.cont-one {
  max-width: 1200px;
  margin: 0 auto;
}
.cont-one {
  padding-bottom: 1%;
  margin-bottom: 5%;
}
.cont-one h2 {
  font-size: 580%;
  line-height: 75%;
  margin-top: 3%;
}
.cont-one h3 {
  font-size: 220%;
  line-height: 150%;
}
.cont-one .headline {
  font-size: 130%;
  line-height: 160%;
  padding: 4% 5% 0 5%;
}

/* 2枠 TOP・レストラン */
.cont-two {
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: row;
}
.cont-two-left {
  max-width: 49%;
  padding-bottom: 3%;
}
.cont-two-right {
  max-width: 49%;
  padding-bottom: 3%;
  margin-left: 1%;
}
.cont-two-left h2, 
.cont-two-right h2 {
  font-size: 580%;
  line-height: 75%;
  margin-top: 3%;
}
.cont-two-left h3, 
.cont-two-right h3 { 
  font-size: 170%;
  line-height: 150%;
}
.cont-two-left .headline, 
.cont-two-right .headline { 
  font-size: 116%;
  line-height: 160%;
}

/* リンクボタン pc共通 */
.link-btn,
.link-btn_white,
.link-btn_target,
.reservation-btn {
  margin: 7% 0 3%;
}
.link-btn a,
.link-btn_white a,
.link-btn_target a,
.reservation-btn a {
  padding: 2.6% 4.6%;
}

/* ２列 TOP・レストラン リンクボタン pcのみ */
.cont-two .link-btn,
.cont-two .reservation-btn {
  margin: 10% 0 3%; 
  text-align: center;
  padding-bottom: 5%;
  clear: both;
}
.cont-two .link-btn a,
.cont-two .reservation-btn a { /*背景が黄色*/
  padding: 5% 8%;
  font-size: 100%;
}

/* 朝食 横 リンクボタン */
.breakfast-box-right .reservation-btn,
.breakfast-box-right .link-btn {
  margin: 15% 0 0;
}
.breakfast-box-right .reservation-btn a,
.breakfast-box-right .link-btn a {
  padding: 9% 15%;
}

/* レストラン 横 リンクボタン */
.restaurant_box-two_right .reservation-btn,
.restaurant_box-two_right .link-btn {
  margin: 5% 0 5%;
}
.restaurant_box-two_right .reservation-btn a,
.restaurant_box-two_right .link-btn a {
  padding: 5% 10%;
}

/* 右横 リンクボタン */
.banquet-box-right .link-btn, 
.banquet-box-right .link-btn_target, 
.about-box-right .link-btn, 
.about-box-right .link-btn_target {
  margin: 12% 0 2% 0; 
  text-align: center;
  clear: both;
}
.banquet-box-right .link-btn a, 
.banquet-box-right .link-btn_target a, 
.about-box-right .link-btn a, 
.about-box-right .link-btn_target a { /*背景が黄色*/
  padding: 6% 10%;
}

/* 4枠 spでは2列 pcでは4列 ホテルイベント */
.cont-four {
  max-width: 1200px;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: start;
  padding: 2% 3% 5%;
}
.cont-four-box {
  margin: 1% 0.5%;
  width: 24%;
  text-align: center;
}
.cont-four-box img {
  width: 100%;
  padding-bottom: 0.5%;
}
.cont-four p {
  padding-bottom: 0;
}

/* TOP レストラン */
.top-restaurant {
  max-width: 1200px;
  height: auto;
  position: relative;
  width: 100%;
}

/* レストラン画像に画像を重ねる */
.top-restaurant .up_imgleft {
  position: absolute;
  width: 26%!important;
  height: 50%!important;
  left: 200px!important;
  top: 25%;
  z-index: 3;
}
.top-restaurant .up_imgright {
  position: absolute;
  width: 26%!important;
  height: 50%!important;
  right: 200px!important;
  top: 25%;
  z-index: 3;
}

/* レストラン画像に文字を重ねる */
.top-restaurant p.up_txtleft {
  position: absolute;
  width: 26%!important;
  height: 50%!important;
  left: 200px!important;
  line-height: 220%;
  top: 43%;
  font-size: 20px;
  color: #fff;
  z-index: 4;
}
.top-restaurant p.up_txtright {
  position: absolute;
  width: 26%!important;
  height: 50%!important;
  right: 200px!important;
  line-height: 180%;
  top: 41%;
  font-size: 20px;
  color: #fff;
  z-index: 4;
}
.restaurant-name_bf,
.restaurant-name {
  font-size: 130%;
  line-height: 150%;
  font-weight: 500;
  margin-bottom: 2%;
}

/* TOP PICK UP */
/* 宿泊プラン */
.top-plan-box {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.top-plan .imgbox {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 26vh;
}
.top-plan .imgbox img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-plan .plantitle {
  min-height: 168px; /*テキストの高さ*/
  font-size: 1em;
  padding: 5%;
  text-align: left;
}

/* TOP インフォメーション */
.info-box ul li {
  display: flex;
  flex-direction: row;
}
.info-box ul li div.newsimg {
  width: 30%;  
  margin-bottom: 1%;
  font-size: 90%;
  color: #666;
}
.info-box ul li div.newsimg img { width: 100%; margin-bottom: 0;}
.info-box ul li div.newstext {
  width: 68%;
  margin: 0 2% 1% 2%;
  color: #666;
}

/* TOP sns */
.info-sns {
  max-width: 1200px;
  margin: 0 auto;
}
.info-sns li {
  width: auto;
  margin: 1% 1% 3% 1%;
  display: block;
  height: 200px;
}

/* TOP リンクバナー */
.bnrspace {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2% 0;
}

ul.shortbnr {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 100%;
  height: auto;
}
ul.shortbnr li { flex: 0 0 24%; margin: 1% 0.5% 1%;}

.longlinkbnr { display: flex; margin: 2% 0 0.5% 0;}
.longlinkbnr img { width: 100%;}

/* TOP 外部リンクバナー */
.footerbnr-box {
  width: 90%;
  max-width: 674px;
  margin: 0 auto;
  padding: 1.5rem 0;}
.footerbnrslide { display: flex;}
.footerbnrslide li { width: 220px; margin: 2px; height: auto;}

/*----------------------
本文スタイル pc
----------------------*/
/* 共通スタイル */
section {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

/* 各ページメイン画像 */
.main-image-container {
  position: relative;
  width: 100%;
  height: 70vh;
  overflow: hidden;
  display: block;
}
.main-image-container img {
  width: 100%;
  height: 100%;
}
.up_main-bg,
.overlay, /*メイン画像に黒色を敷く*/
#main-image_nb { /* メイン画像に黒色を敷かない */
  height: 70vh;
}
#main-image_nb img {
  height: 100%;
}

/* メイン画像に文字を重ねる */
#main-image .up_h2-txt {
  font-size: 600%;
  top: 45%; 
  left: 50%; /*中央値*/
  transform: translate(-50%, -45%);
}
#main-image .up_h3-txt {
  font-size: 200%;
  top: 60%;
  left: 50%; /*中央値*/
}

/* メイン画像に画像を重ねる */
#main-image .up_photo, 
#main-image_nb .up_photo {
  top: 50%;
  left: 50%; /*中央値*/
  transform: translate(-50%, -50%);
  width: auto;
}
#main-image .up_photo img, 
#main-image_nb .up_photo img {
  width: 100%;
}

/* 各ページアンカー pc */
#anchor {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3% 1% 0;
}
#anchor li {
  margin: 0 0 1% 0.5%;
}
.button-link {
  padding: 20px 35px;
}

/* 各ページリード文 */
#page-lead {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5%;
  text-align: center;
}
#page-lead h2 {
  font-size: 130%;
  line-height: 200%;
}
#page-lead h2 span {
  display: block;
  font-size: 130%;
  line-height: 200%;
  font-weight: 450;
  margin-bottom: 0;
}

/* 各ページコンテンツ */
.section-inner {
  max-width: 1200px;
  margin: 0 auto;
  height: auto;
  padding: 8% 1% 1%;
}
.section-inner_end {
  padding: 8% 1% 10%;
}
.section-inner h2, 
.section-inner_end h2 {
  font-size: 600%;
  line-height: 75%;
  text-align: center;
  padding-top: 2%;
}
.section-inner h3, 
.section-inner_end h3 { 
  font-size: 250%;
  line-height: 100%;
  text-align: center;
}
.section-inner h4, 
.section-inner_end h4 { 
  font-size: 180%;
  line-height: 150%;
  padding: 0 0 1% ;
}

.section-inner p, 
.section-inner_end p {
  font-size: 110%;
  padding: 3% 5%;
  text-align: left;
  line-height: 170%;
}
.section-inner .titleimg, 
.section-inner_end .titleimg {
  max-width: 1170px;
  text-align: center;
}
.section-inner .titleimg img, 
.section-inner_end .titleimg img {
  max-width: 100%;
  width: auto;
}

/* 宿泊一覧 pc */
.go-plan { padding: 0 2%;}
.go-plan .planlist {
  background: rgba(255,255,255,0.8);
  margin-bottom: 5%;
  padding: 6% 5% 0;
  border-radius: 10px;
}
.go-plan h3 { font-size: 140%; margin-bottom: 2%; font-weight: 480;}
.plan_box-three {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
}
.three_list {
  padding: 0 0 5%;
  margin: 1.5% 1.8% 2% 0;
  width: 31.5%;
}
.three_list:not(:last-of-type) { border: none;}
.three_list_img { width: 100%; float: left;}
.three_list_img img { width: 100%;}
.three_list_txt { width: 100%; float: left;}
.three_list_txt p.title {
  border-bottom: #d2c2b9 solid 1px;
  font-size: 110%;
  padding: 1% 0;
  margin-bottom: 4%;
  font-weight: bold;
}

.planlist-btn {
  width: 100%; clear: both;
}
.planlist-btn a { /*背景が薄こげ茶*/
  display: inline-block;
  padding: 4% 12%;
  margin: 8% 1% -4% 0;
  background-color: #927666;
  border: solid 1px #c7b8af;
  border-radius: 50px;
  color: #fff;
  float: left;
}
.planlist-btn a:hover { /*赤に*/
  background-color: #990000;
  color: #fff;
}

/* 客室 お部屋の情報 pc */
.room-box { /*セパレート用*/
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
}
.room-box-left {
  padding: 4% 0 0 0;
  width: 65%;
  z-index: 3;
}
.room-box-left img {
  width: 102%;
  height: auto;
}

.room-box-right {
  padding: 4% 3%;
  width: 35%;
  height: 80%;
  line-height: 200%;
  filter: drop-shadow( 3px 3px 3px rgba(210, 194, 185, 0.4));
  z-index: 2;
}
.room-box-right h2 { 
  font-size: 280%;
  line-height: 75%;
  text-align: left;
  padding-top: 2%;
}
.room-box-right h3 { 
  font-size: 200%;
  line-height: 100%;
  text-align: left;
}
.room-box-right h4 { 
  font-size: 180%;
  font-weight: 500;
  margin-bottom: 2%;
}

/* 客室 アメニティ pc */
.amenity-box_list {
  padding: 2% 1%;
  margin: 0 0.5% 2% 0.5%;
  width: 19%;
}
.amenity-box_list p {
  width: 100%;
  padding: 2% 0;
  margin-bottom: 2%;
  text-align: center;
}
.amenity-box_list p img {
  width: 70px;
}

/* 客室 SDGs pc */
#sdgs { padding: 5%;}
.sdgslogo { width: 350px;}
.sdgs { margin-top: 3%;}
.sdgs dt { 
  font-weight: bold;
  font-size: 120%;
  margin-bottom: 2%;
}

/* レストラン pc */
#breakfast_inner {
  max-width: 100%;
  padding: 0 0 2% 0;
}
.breakfast-box {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  padding: 4%;
}
.breakfast-box-left {
  padding: 0 0 0 3%;
  width: 70%;
  line-height: 200%;
}
.breakfast-box-right {
  padding: 0;
  width: 30%;
}

/* 朝食 無限ループアニメーション */
@keyframes img-scroll-left {
from {
  transform: translateX(0);
  }
  to {
  transform: translateX(-100%);
  }
}
.scroll-img__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-img__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-img__list--left {
  animation: img-scroll-left 80s infinite linear 0.5s both;
}
.scroll-img__item {
  width: calc(100vw / 3); /*pc３枚表示*/
}
.scroll-img__item>img {
  width: 100%;
}
.scroll-img__item04 {
  width: calc(100vw / 4); /*pc4枚表示*/
}
.scroll-img__item04>img {
  width: 100%;
}
.scroll-img__list--left {
animation: img-scroll-left 80s infinite linear 0.5s both;
}
/* ここまで */

/* レストラン 各ページ 営業時間 */
.hours-two {
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: row;
  padding: 0;
  font-size: 106%;
}
.hours-two-left {
  width: 50%;
  padding: 3% 1% 3% 2%;
}
.hours-two-left p {
  padding: 3% 0 2% 3%;
}
.hours-two-right {
  width: 50%;
  padding: 3% 2% 3% 1%;
}
.hours-two-right p {
  padding: 3% 0 2% 3%;
  line-height: 250%;
}
.hours-two-left p.b1,
.hours-two-right p.b1{
  border-bottom: #d2c2b9 dotted 1px;
  padding: 3% 0 3% 3%;
}

/* レストラン コンテンツ */
#restaurant-content {
  max-width: 1200px;
  margin: 0 auto;
}
.restaurant-content-inner {
  margin: 2% 1%;
  padding: 4% 3% 5% 4%;
  border-radius: 20px;
}
#restaurant-content h4 {
  font-size: 150%;
}
#restaurant-content h5 {
  font-size: 130%;
}

/* 朝食メニュー pc */
.breakfast-menu {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 0;
}
.box_b_menu {
  margin: 0 1.8% 2% 0;
  padding: 3%;
  width: 31.5%;
}

/* 今月のレストラン情報 スライダー使用 */
.monthly-box {
  max-width: 1175px;
  margin: 0 auto;
  justify-content: center;
}

/* レストラン 3枠BOX */
.restaurant_box-three {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: start;
  flex-wrap: wrap;
  align-content: stretch;
}
.restaurant_box-three_menu {
  padding: 0 0 3%;
  margin: 1.5% 0.6% 2%; /*左右をautoにすると真ん中よりになる*/
  /*width: 31.8%;*/
  width: calc(96% / 3); /*3等分*/
}

.restaurant_box-three_menu_txt {
  padding: 0 5% 0;
}
.restaurant_box-three_menu p {
  padding: 2% 0;
  margin-bottom: 2%;
}
.restaurant_box-three_menu_op {
  padding: 1.5% 2% 3%;
  margin: 1.5% 1.8% 3% 0;
  width: auto;
}
.restaurant_box-three_menu_op p {
  padding: 1% 0 1% 1%;
  margin-bottom: 1.5%;
}

/* レストラン 2枠BOX */
.restaurant_box-two {
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: row;
}
.restaurant_box-two_left {
  width: 50%;
  padding: 3%;
  margin-bottom: 3%;
}
.restaurant_box-two_right {
  width: 50%;
  padding: 4% 3% 4% 0;
  margin-bottom: 3%;
}
.restaurant_box-two_right h4 {
  font-size: 130%;
  font-weight: 500;
  padding: 0 0 2% 0;
}

/* レストラン テナント */
.info-tenant {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.info-tenant_box { padding-bottom: 8%;}
.info-tenant_box li { margin-right: 10%;}
.info-tenant_box li img { width: 277px;}

/* レストラン オンラインバナー */
.online_bnr {
  text-align: center;
  justify-content: center;
  margin: 0 5% 10%;
}
.online_bnr img { width: auto;}
.online_bnr p {
  font-size: 90%;
}

/* 宴会・会議、ホテルについて pc */
.banquet-box, 
.about-box { /*セパレート用*/
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
}
.banquet-box-left {
  padding: 3% 0 0 0; /*宴会・会議 写真より3%上に*/
  width: 65%;
}
.about-box-left {
  width: 65%;
}
.banquet-box-left img, 
.about-box-left img {
  width: 120%;
  height: auto;
}
.banquet-box-right {
  padding: 4% 3%;
  width: 45%;
  height: 80%;
  line-height: 200%;
  filter: drop-shadow( 3px 3px 3px rgba(210, 194, 185, 0.4));
  background-color: rgba(255, 255, 255, 0.98); /*背景色を黒で透明度0.98に設定*/
}
.about-box-right {
  margin: 3% 0 0 0; /*ホテルについて 写真より3%下に*/
  padding: 4% 3%;
  width: 45%;
  height: 80%;
  line-height: 200%;
  filter: drop-shadow( 3px 3px 3px rgba(210, 194, 185, 0.4));
  background-color: rgba(255, 255, 255, 0.98); /*背景色を黒で透明度0.98に設定*/
}
.foreground img {
  display: inline-block; /*上の画像はそのまま 透過しない*/
}
.banquet-box-right h4, 
.about-box-right h4 { 
  font-size: 180%;
  font-weight: 500;
  margin-bottom: 2%;
}

/* スパ */
.spa-content { padding: 1% 0 2%;}
.spa-content img { width: 100%;}
.spa-content p { padding: 0; margin: 0;}
.spa-content ul { margin: 3% 2% 4% 3%;}
.spa-content .spa-table ul { list-style: none; margin: 3% 0;}

/* スパ ギャラリー */
.spa-box {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 2% 0;
}
/* 2列 */
.spa-box_inner { width: 49%; margin: 0 1% 2% 0;}
.spa-box_inner p { font-size: 94%;}

/* アクセス pc */
.access-content {
  padding: 4% 4% 2%;
  margin: 4% 0 5%;
}
.access-content h4 { 
  font-size: 180%;
  line-height: 160%;
  padding: 0 0 2%;
}
.access-content h5 { 
  font-size: 150%;
  line-height: 150%;
  margin: 5% 0 1%;
}
.access-content img {
  width: 100%;
}
.access-content p {
  padding: 0;
  margin: 0;
}
.access-content ul { /*黒ポチ*/
  margin: 3% 2% 4% 3%;
}
.access-content ol { /*数字*/
  margin: 1% 2% 4% 3%;
}

/* アクセス 行き方 */
.access-box {
  display: flex;
  flex-direction: row;
  text-align: left;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  padding: 2% 0;
}
/* 3列 */
.access-box_inner {
  width: 30%;
  margin: 0 1% 2% 1%;
}
.access-box_inner img {
  width: 100%;
}
.access-box_inner p {
  padding: 2% 5% 4%;
  font-size: 94%;
  border-radius: 0 0 10px 10px;
}
/* 2列 map */
.access-box_inner_map {
  width: 49%;
  margin: 0 1% 2% 0;
}
.access-box_inner_map p {
  font-size: 94%;
}

/* アクセス ダイナミックパッケージ*/
.dp-bnrArea { margin: 2% 2% 8% 5%;}
.dp-bnrArea li {width: 30%;}

/* 周辺スポット pc3枠 spでは1列 pcでは3列 */
.cont-three {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: start;
  justify-items: stretch;
  padding: 2% 0 5%!important;
}
.cont-three-box {
  margin: 0 1.6% 3% 0;
  padding: 0;
  /*width: 31.6%;*/
  width: calc(95% / 3); /*3等分*/
}
.cont-three-box:nth-child(3) {
  margin-right: 0 0 3% 0; /*右のマージンなし*/
}

.box-sighttop {
  background-color: #fff;
  border-radius: 10px 10px 0 0; /*上部角丸*/
}
.box-sighttop p {
  font-size: 80%;
  text-align: right;
  margin: 0 1% 0 0;
  padding: 0;
}

/* 周辺スポット マーク見方案内 */
.mark-btn {
  max-width: 380px;
  padding: 0.6% 0;
}
.right { margin: 0 0 0 auto;} /*div内の右寄せ*/

/* faq */
.faq {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2% 0;
}
.faq li {
  margin-bottom: 10%;
  padding: 5% 5% 1%;
  border-radius: 10px;
}
.faq h3 {
  font-size: 180%; 
  font-weight: 480; 
  margin-bottom: 5%;
}
.faq dl { margin-bottom: 6%;}
.faq dl dt {
  background-image:url(../img/faq/q.svg);
  background-repeat: no-repeat;
  background-size: 22px;
  background-position: left 0 top 3px;
  padding: 0 0 0 30px;
  line-height: 160%;
  font-size: 120%;
}
.faq dl dd {
  background-image:url(../img/faq/a.svg);
  background-repeat: no-repeat;
  background-size: 22px;
  background-position: left 0 top 10px;
  padding: 10px 0 0 30px;
  line-height: 160%;
  font-size: 1em;
  border-top: solid 1px #c7c7c7;
}

/* 約款 pc */
#stipulation { max-width: 1200px; margin: 0 auto; padding: 0 2% 0;}
#stipulation li { margin-bottom: 5%;}
#stipulation h3 { font-size: 140%; margin-bottom: 1.5%;}
.stipulation-dt { font-size: 120%; margin-bottom: 1%;}
#stipulation dd { padding: 0.5% 1%;}
#saigo { padding: 1%; text-align: right;}

/* エレガント倶楽部 */
.club-content { padding: 2%; margin: 5% 0 0;}
.club-content h4 { line-height: 130%; padding: 2%; font-weight: 500; text-align: left;}
.club-content p { padding: 0; margin: 0;}
.club-content ol { list-style: decimal; padding: 0 1%; margin: 1% 5% 2%;}
.club-content ul { list-style: disc; padding: 0 1%; margin: 0 5% 3%;}
.club-content li { font-size: 110%; padding: 0.6% 0;}

} /*768px end*/

