@charset "UTF-8";

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
汎用
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
::selection {
  background: #cbcbcb;
}

main {
  position: relative;
  display: block;
}

/*clearfix*/
.cf:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}

/*コンテナ*/
.container {
  margin: 0 auto;
}

/*背景色*/
.bg1 {
  background-color: #CCC9C7;
}

.bg2 {
  background-color: #AFA191;
}

.bg2 a,
.bg2 li,
.bg2 p,
.bg2 span,
.bg2 dt,
.bg2 dd,
.bg2 h1,
.bg2 h2,
.bg2 h3,
.bg2 h4 {
  color: #000;
}

.bg3 {
  background-color: #988061;
  color: #000;
}

.bg3 a,
.bg3 li,
.bg3 p,
.bg3 span,
.bg3 dt,
.bg3 dd .bg3 h1,
.bg3 h2,
.bg3 h3,
.bg3 h4 {
  color: #000;
}

.bg4 {
  background-color: #DFDFDF;
}

.bg4::selection {
  background-color: #CCC9C7;
}

/* 画像トリミング */
.img img {
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------------------------------
パララックス＆ホバーアニメーション
--------------------------------------------------------------------------*/
/*------------------------------------
下から上に upflow
------------------------------------*/
.upflow {
  opacity: 0;
  transform: translateY(20px);
  transition: 1s ease;
}

/* .upflow.active {visibility: visible; opacity: 1; transform: translateY(0);} */
.upflow.active {
  animation: upflow 1s ease forwards;
}

@keyframes upflow {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*------------------------------------
左から右に leftflow
------------------------------------*/
.leftflow {
  opacity: 0;
  transform: translateX(-20px);
  transition: 1s ease;
}

/* .leftflow.active {visibility: visible; opacity: 1; transform: translateX(0);} */
.leftflow.active {
  animation: leftflow 1s ease forwards;
}

@keyframes leftflow {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*------------------------------------
右から左に rightflow
------------------------------------*/
.rightflow {
  opacity: 0;
  transform: translateX(20px);
  transition: 1s ease;
}

.rightflow.active {
  animation: rightflow 1s ease forwards;
}

@keyframes rightflow {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*------------------------------------
フェードイン
------------------------------------*/
.fade-in-2 {
  opacity: 0;
}

.fade-in-2.active {
  animation: fadein2 1s ease forwards;
}

@keyframes fadein2 {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*------------------------------------
ディレイ
------------------------------------*/
.delay01 {
  animation-delay: .25s !important;
}

.delay02 {
  animation-delay: .5s !important;
}

.delay03 {
  animation-delay: .75s !important;
}

.delay04 {
  animation-delay: 1s !important;
}

.delay05 {
  animation-delay: 1.25s !important;
}

.delay06 {
  animation-delay: 1.5s !important;
}

.delay07 {
  animation-delay: 1.75s !important;
}

.delay08 {
  animation-delay: 2s !important;
}

.delay09 {
  animation-delay: 2.25s !important;
}

.delay10 {
  animation-delay: 2.5s !important;
}

/*--------------------------------------------------------------------------
部品
--------------------------------------------------------------------------*/
/*------------------------------------
/*------------------------------------
汎用見出し
------------------------------------*/
.g-h {
  font-weight: 700;
  letter-spacing: .1em;
  text-indent: .1em;
  line-height: 1;
  text-align: center;
}

.g-h::first-letter {
  color: #EC6E03;
}

.g-h:after {
  display: block;
  content: "";
  background: #EC6E03;
  transition: all .5s ease;
}

/*-----------------------------------
汎用TOP見出し
------------------------------------*/
.main-visual {
  position: relative;
  width: 100%;
}

.main-visual .inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.main-visual .img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.main-visual .img img {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

.main-visual .txt {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  z-index: 2;
}

.main-visual .txt h1,
.main-visual .txt p {
  color: #fff;
  font-weight: 700;
  text-shadow: 0 0 0.5em rgba(84, 84, 84, 0.75);
}

/*------------------------------------
MORE
------------------------------------*/
.more {
  position: relative;
  display: inline-flex;
  box-sizing: border-box;
  z-index: 1;
  color: #988061 !important;
  line-height: 1;
}

.more:after {
  content: "";
  background: url(../img/common/r-arrow.svg) no-repeat center/contain;
  display: block;
  position: absolute;
}

.more2 {
  color: #988061 !important;
  text-align: center;
  display: block;
  background: #fff;
  margin: auto;
  border-radius: 4rem;
  box-shadow: 0 .3rem .6rem 0 rgba(0, 0, 0, .16);
  position: relative;
  transition: .5s all ease;
}

.more2:hover {
  color: #fff !important;
  background: #EC6E03;
  opacity: 1;
}

.more2:after {
  content: "";
  background: url(../img/common/r-arrow.svg) no-repeat center/contain;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
}

.more2:hover:after {
  background: url(../img/common/r-arrow-2.svg) no-repeat center/contain;
}

/*------------------------------------
ページャー
------------------------------------*/
.wp-pagenavi {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
}

.wp-pagenavi span,
.wp-pagenavi a {
  display: block;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  color: #AFA191;
  text-align: center;
  margin: 0;
  background: #fff;
}

.wp-pagenavi a:not(:first-child) {
  margin-left: 1rem;
}

.wp-pagenavi .current {
  background-color: #AFA191;
  color: #fff;
}

.wp-pagenavi .pages {
  display: none;
}

/*------------------------------------
前後記事リンク
------------------------------------*/
.single-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.single-pagination a {
  display: block;
}

.single-pagination .prev {
  transform: scale(-1, 1);
}

/*------------------------------------
TOPに戻る
------------------------------------*/
#page_top {
  position: fixed;
  color: #fff;
  background: #707070;
  text-align: center;
  transition: background .2s ease;
  z-index: 99;
}

#page_top:hover {
  background: #EC6E03;
  cursor: pointer;
  opacity: 1;
}

/*------------------------------------
パンくずリスト
------------------------------------*/
.topic-path {
  position: absolute;
}

.topic-path li {
  display: inline;
  position: relative;
}

.topic-path li:last-child:after {
  content: "";
  display: block;
  width: 100%;
  height: .2rem;
  position: absolute;
  bottom: -.3rem;
  left: 50%;
  transform: translateX(-50%);
  background: #EC6E03;
  border-radius: .4rem;
}

.topic-path li,
.topic-path li span,
.topic-path li a span {
  color: #000;
  margin: 0 !important;
}

.topic-path li a {
  position: relative;
}

.topic-path li a:after {
  content: "／";
  padding: 0 1rem;
  color: #000;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										ヘッダー&フッター
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------
フッター
----------------------------------------------------------------------------------------*/
#footer .container {
  justify-content: space-between;
}

#footer .footer-left .contact-wrap {
  align-items: center;
}

#footer .footer-left .conttact-wrap ul li a {
  text-decoration: none;
}

#footer .footer-right nav {
  flex-wrap: wrap;
}

#footer .copyright {
  text-align: center;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										フロントページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
/*------------------------------------
ヒーローヘッダー
------------------------------------*/
#front .main-visual {
  position: relative;
}

#front .main-visual,
#front .main-visual .inner {
  width: 100%;
}

#front .main-visual #top-slider {
  width: 100%;
  overflow: hidden;
}

#front .main-visual #top-slider .slide-obj {
  width: 100%;
  height: 92%;
}

#front .main-visual #top-slider .slick-track,
#front .main-visual #top-slider .slick-list,
#front .main-visual #top-slider .slick-slide,
#front .main-visual #top-slider .slick-slide>div,
#front .main-visual #top-slider .slick-list li,
#front .main-visual #top-slider .slick-list .img {
  width: 100%;
  height: 100%;
}

#front .main-visual #top-slider .slick-list .img img {
  object-position: center bottom;
  font-family: "object-fit: cover; object-position: 50% 50%;";
  transform: scale(1, 1);
  transform-origin: center bottom;
  transition: 0s;
}

#front .main-visual #top-slider .slick-list .slick-active .img img {
  transform: scale(1.3, 1.3);
  transform-origin: center bottom;
  transition: ease 18s;
}

#front .main-visual .slide-01 {
  position: relative;
}

#front .main-visual .slide-01 .text {
  position: absolute;
  top: 29rem;
  left: 10rem;
  z-index: 100;
}

#front .main-visual .slide-01 .text p {
  text-shadow: 0 0 10px #000;
  color: #fff;
  opacity: 0;
}

#front .main-visual .text p:nth-child(1) {
  font-size: 5.5rem;
  font-family: 'Noto Serif JP', serif;
  animation: fadeIn 5s ease-out;
  animation-fill-mode: forwards;
}

#front .main-visual .text p:nth-child(2) {
  font-size: 3rem;
  font-family: 'Noto Serif JP', serif;
  animation: fadeIn 5s ease-out 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    filter: blur(.7em);
  }

  40% {
    opacity: 1;
    filter: blur(.05em);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

/*------------------------------------
GREETING
------------------------------------*/
#front .greeting {
  margin: auto;
  text-align: center;
  position: relative;
}

#front .greeting .treat_box .treat_text {
  margin: 0;
}

/*------------------------------------
PHOTO
------------------------------------*/
#front .photo {
  text-align: center;
  position: relative;
  background: url(../img/front/photo/top_photo_bg.jpg) no-repeat left top/cover;
}

#front .photo ul {
  flex-wrap: wrap;
}

#front .photo ul li .img {
  width: 100%;
  height: 100%;
}

#front .photo ul li .img img {
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

#front .photo .gallerymodal-open {
  display: inline-block;
}

#front .photo .gallerymodal-open:after {
  content: "";
  display: block;
  background: #EC6E03;
}

/*------------------------------------
PHOTO modal
------------------------------------*/
/* モーダル表示時に背景固定 */
body.fixed {
  position: fixed;
  left: 0;
}

#front .photo .g-modal-window {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  background: url(../img/front/photo/top_photo_bg.jpg) no-repeat center/cover;
  z-index: 9999;
  overflow-y: auto;
}

#front .photo .close-btn {
  position: absolute;
  display: block;
}

#front .photo .close-btn:before,
.close-btn:after {
  content: "";
  display: block;
  width: 100%;
  background: #333;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
}

#front .photo .close-btn:after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
}

#front .photo .close-btn2 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #333;
}

#front .photo .close-btn2:after {
  content: "";
  display: block;
  background: #EC6E03;
}

#front .photo .close-btn2 .close-icon {
  position: relative;
  display: inline-block;
}

#front .photo .close-btn2 .close-icon:before,
#front .photo .close-btn2 .close-icon:after {
  content: "";
  display: block;
  width: 100%;
  height: .2rem;
  background: #333;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(14% - 5px);
  left: 14%;
}

#front .photo .close-btn2 .close-icon:after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}

/*モーダルウィンドウ（終）*/

/*====slickレイアウト設定====*/
#front .photo .g-slider {
  margin: 0 auto;
}

#front .photo .g-slider .slick-list,
#front .photo .g-slider .slick-list .slick-track,
#front .photo .g-slider .slick-list .slick-track .slick-slide,
#front .photo .g-slider .slick-list .slick-track .slick-slide div,
#front .photo .g-slider .slick-list .slick-track .slick-slide div li,
#front .photo .g-slider .slick-list .slick-track .slick-slide div li img {
  width: 100%;
  height: 100%;
}

#front .photo .g-slider img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

#front .photo .thumb-wrapper {
  position: relative;
  box-sizing: border-box;
}

#front .photo .thumb {
  margin: 0 auto;
  flex-wrap: wrap;
}

#front .photo .thumb li {
  list-style: none;
  transition: .2s ease;
}

#front .photo .thumb li:hover {
  opacity: .6;
  cursor: pointer;
}

#front .photo .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

/*====slickレイアウト設定（終）====*/

/*------------------------------------
INFO
------------------------------------*/
#front .info {
  position: relative;
}

#front .info h2 {
  text-align: left;
}

#front .info .info-list .entry {
  border-bottom: 1px solid #988061;
  box-sizing: border-box;
  transition: all .5s ease;
}

#front .info .info-list .entry:hover {
  border-bottom: 1px solid #EC6E03;
}

#front .info .info-list .entry a {
  justify-content: space-between;
  align-items: center;
}

#front .info .info-list .entry a:hover {
  opacity: 1;
}

#front .info .info-list .entry a .box {
  flex-direction: column;
}

#front .info .info-list .entry a .time {
  color: #988061;
}

#front .info .info-list .entry a .new {
  font-weight: 700;
  color: #A83216;
}

#front .info .info-list .entry a .img {
  overflow: hidden;
}

#front .info .info-list .entry a .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit:cover; object-position: 50%;";
}

#front .info .info-list .entry a:hover .img img {
  transform: scale(1.1);
}

/*------------------------------------
PLAN-TREAT
------------------------------------*/
#front .plan-treat,
#front .plan-treat2 {
  width: 100%;
  height: 100%;
  background: #CCC9C7;
}

#front .plan-treat img {
  width: 100%;
  height: 100%;
  margin-bottom: -1px;
}

#front .plan-treat2 img {
  width: 100%;
  height: 100%;
  margin-top: -1px;
}

/*------------------------------------
PLAN
------------------------------------*/
#front .plan {
  position: relative;
}

#front .plan .container {
  background: #fff;
  width: 100%;
}

#front .plan .plan-list .list {
  position: relative;
  border-bottom: 1px solid #988061;
}

#front .plan .plan-list .list a {
  display: block;
}

#front .plan .plan-list .list a:hover {
  opacity: 1;
}

#front .plan .plan-list .list h3 {
  font-weight: 700;
  line-height: 1;
}

#front .plan .plan-list .list .wrapper .img {
  overflow: hidden;
}

#front .plan .plan-list .list .wrapper .img img {
  object-fit: contain;
  object-position: 50%;
  font-family: "object-fit: contain; object-position: 50%;";
}

#front .plan .plan-list .list a:hover .wrapper .img img {
  transform: scale(1.05);
}

#front .plan .plan-list .desc-wrapper .service-wrapper {
  flex-wrap: wrap;
}

#front .plan .plan-list .desc-wrapper .service-wrapper li {
  background-color: #988061;
  color: #fff;
  line-height: 1;
}

#front .plan .container .more {
  position: absolute;
  bottom: 1.96rem;
  right: 3rem;
}

/*------------------------------------
ROOMS
------------------------------------*/
#front .rooms {
  position: relative;
}

#front .rooms .desc {
  text-align: center;
}

#front .rooms a:hover {
  opacity: 1;
}

#front .rooms .img {
  overflow: hidden;
}

#front .rooms a:hover .img img {
  transform: scale(1.05);
}

#front .rooms .single-room {
  line-height: 0;
  padding: 0;
  display: block;
}

#front .rooms .single-room p {
  line-height: 1;
}

#front .rooms .single-room p:before {
  content: "";
  background: #707070;
  display: inline-block;
  vertical-align: middle;
}

#front .rooms .room-type {
  width: 100%;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* 2024年3月 */
#front .rooms .room-type.single-superior {
  justify-content: center;
  gap: 0 5px;
}

#front .rooms .room-type .type img {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

#front .rooms .room-type .type p {
  line-height: 1;
}

#front .rooms .room-type .type p:before {
  content: "";
  background: #707070;
  display: inline-block;
  vertical-align: middle;
}

/*------------------------------------
RESTAURANT MORNING
------------------------------------*/
#front .m-restaurant {
  position: relative;
}

#front .m-restaurant h3 {
  text-align: left;
}

#front .m-restaurant .img {
  display: block;
  float: right;
}

#front .m-restaurant .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

/*------------------------------------
RESTAURANT & BAR　DINNER
------------------------------------*/
#front .d-restaurant {
  position: relative;
}

#front .d-restaurant h3 {
  text-align: left;
}

#front .d-restaurant .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

/*------------------------------------
SERVICE
------------------------------------*/
#front .service {
  position: relative;
}

#front .service .text {
  text-align: center;
}

#front .service .service-list {
  flex-wrap: wrap;
}

#front .service .service-list li {
  background: #fff;
  position: relative;
}

#front .service .service-list li:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-image: linear-gradient(to bottom, #707070, #707070 .2rem, transparent .2rem);
  background-position: left top;
  background-repeat: repeat-y;
}

#front .service .service-list li div .img {
  text-align: center;
  align-self: center;
  box-sizing: border-box;
}

#front .service .service-list li div .img img {
  margin: auto;
}

#front .service .service-list li div .img h3 {
  font-weight: 700;
  color: #707070;
}

#front .service .service-list li div .service-desc p {
  box-sizing: border-box;
}

/*------------------------------------
SPOT
------------------------------------*/
#front .spot {
  position: relative;
}

#front .spot .spot-list .post a:hover {
  opacity: 1;
}

#front .spot .spot-list .post a .img.thumbnail {
  overflow: hidden;
}

#front .spot .spot-list .post a .img.thumbnail img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#front .spot .spot-list .post a:hover .img.thumbnail img {
  transform: scale(1.05);
}

#front .spot .spot-list .post a .spot-desc {
  flex-direction: column;
}

#front .spot .spot-list .post a .spot-desc .cat {
  color: #fff;
  background: #988061;
  text-align: center;
}

#front .spot .spot-list .post a .spot-desc .new {
  color: #A83216;
}

#front .spot .spot-list .post a .spot-desc h3 {
  font-weight: 700;
  line-height: 1.5;
}

#front .spot .spot-list .post a .spot-desc .author {
  line-height: 1;
}

#front .spot .spot-list .post a .spot-desc .author .img.icon {
  display: inline-block;
  vertical-align: middle;
}

#front .spot .spot-list .post a .spot-desc .author p {
  display: inline-block;
  vertical-align: middle;
}

#front .spot .img.treat2 {
  position: absolute;
  bottom: 0;
  right: 0;
}

/*------------------------------------
ACCESS
------------------------------------*/
#front .access {
  position: relative;
}

#front .access .glink {
  display: block;
  float: right;
}

#front .access .glink:after {
  content: "";
  background: url(../img/common/external-link_icon.svg) no-repeat center/contain;
  display: inline-block;
}

#front .access .ggmap {
  width: 100%;
  margin: 0 auto;
  position: relative;
  height: 0;
  overflow: hidden;
}

#front .access .ggmap iframe,
#front .access .ggmap object,
#front .access .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#front .access .left-area .img img {
  display: block;
  object-fit: contain;
}

#front .access .right-area {
  border-left: .1rem solid #fff;
}

#front .access .right-area ul li .traffic .img {
  align-self: center;
}

#front .access .right-area ul li .traffic .traffic-desc h3 {
  font-weight: 700;
}

#front .access .right-area ul li .traffic .traffic-desc dl {
  flex-wrap: wrap;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										客室ページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#rooms h1 img {
  width: 100%;
}

#rooms .main-visual {
  position: relative;
}

#rooms .main-visual h1 {
  position: absolute;
  z-index: 10;
  height: auto;
}

#rooms .main-visual .desc {
  position: absolute;
  background: #fff;
  z-index: 10;
}

#rooms .main-visual .desc p:first-child {
  font-weight: 700;
  line-height: 1;
}

#rooms .main-visual .desc p:last-child {
  line-height: 1;
}

#rooms .main-visual nav ul {
  justify-content: center;
}

#rooms .main-visual nav ul li {
  box-shadow: 0 .3rem .6rem 0 rgba(0, 0, 0, .16);
}

#rooms .main-visual nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  text-align: center;
}

/* 2024年3月 */
#rooms .main-visual nav ul li a.superior {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
}

#rooms .main-visual nav ul li:last-child a {
  color: #000;
  background: #508DB2;
}

#rooms .main-visual nav ul li a:hover {
  color: #fff;
  background: #EC6E03;
  opacity: 1;
}

/* 2024年3月 */
#rooms .main-visual .img img {
  object-position: 100% 50%;
}

/* 設備・アメニティポップアップ */
#rooms .f-modal {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
}

#rooms .f-modal .f-overlay {
  width: 100%;
  height: 100vh;
  background-color: #DFDFDF;
}

#rooms .f-modal h2 {
  position: absolute;
  z-index: 3;
  font-weight: 700;
  letter-spacing: .1em;
  text-indent: .1em;
  line-height: 1;
}

#rooms .f-modal h2::first-letter {
  color: #EC6E03;
}

#rooms .f-modal h2:before {
  content: "";
  display: block;
  background: #EC6E03;
  border-radius: .2rem;
  position: absolute;
  left: 0;
}

#rooms .f-modal h2:after {
  content: "全室共通";
  position: absolute;
  left: 0;
  letter-spacing: .1em;
}

#rooms .f-modal .modal {
  position: absolute;
  background-color: #DFDFDF;
}

#rooms .f-modal .modal ul {
  flex-wrap: wrap;
}

#rooms .f-modal .modal ul li {
  width: calc((100% / 7) - .8rem);
  margin-right: .8rem;
}

#rooms .f-modal .modal ul li .img img {
  background: #fff;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

#rooms .f-modal .modal ul li p span {
  display: inline-block;
}

#rooms .f-modal .f-close-btn {
  display: block;
  background: #AFA191;
  text-align: center;
  position: absolute;
  right: 0;
  color: #000;
}

/* 各ルーム */
#rooms .room {
  position: relative;
}

#rooms .room .heading-box {
  position: absolute;
  top: 0;
  left: 0;
}

#rooms .room .heading-box .text-treat {
  position: absolute;
}

#rooms .room .heading-box h2 {
  position: absolute;
  height: auto;
  color: #fff;
  font-weight: 700;
  line-height: 1;
}

#rooms .room .heading-box h2 span {
  color: #fff;
  display: inline-block;
}

#rooms .room .heading-box h2:before {
  content: "";
  height: 0;
  display: block;
  position: absolute;
  left: 0;
  background: #988061;
  transition: all .5s cubic-bezier(0.05, 0.54, 0.6, 0.94);
  transition-delay: .1s;
}

#rooms .room .slick-wrap .room-slider .slick-list,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li,
#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li img {
  height: 100%;
  margin: auto;
}

#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li .img {
  position: relative;
  background: #fff;
}

#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li:last-child .img img {
  max-width: 75rem;
}

#rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li:last-child .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
  font-family: "object-fit: contain;";
}

#rooms .room .slick-wrap .room-thumb-list li {
  cursor: pointer;
  position: relative;
  transition: .2s ease;
}

#rooms .room .slick-wrap .room-thumb-list li:hover {
  opacity: .6;
  cursor: pointer;
}

#rooms .room .slick-wrap .room-thumb-list li:last-child {
  background: #fff;
}

#rooms .room .slick-wrap .room-thumb-list li img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50% 50%;";
}

#rooms .room .slick-wrap .room-thumb-list li:last-child img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
  font-family: "object-fit: contain;";
}

/* 2024年3月 */
#rooms .room#sec-superior .slick-wrap .room-thumb-list li:last-child img {
  object-fit: cover;
  font-family: "object-fit: contain;";
}

#rooms .room .desc-wrap .desc-text {
  border-bottom: 1px solid #988061;
}

#rooms .room .facility_link {
  color: #988061;
  float: right;
}

#rooms .room .facility_link:hover {
  opacity: 1;
  color: #ec6e03;
}

#rooms .room dl {
  flex-wrap: wrap;
}

/* Beachside Villa */
/* 2024年3月 */
#rooms #sec-villa {
  display: none;
}

#rooms #sec-villa,
#rooms #sec-villa .heading-box {
  background-color: #508DB2;
  width: 100%;
}

#rooms #sec-villa .heading-box h2 span:first-of-type {
  margin: 0;
  display: block;
}

#rooms #sec-villa .heading-box h2:before {
  background: #508DB2;
  background: linear-gradient(180deg, #508DB2 19%, #fff 19%);
}

#rooms #sec-villa .slick-wrap .room-slider {
  width: 100%;
  margin: auto;
}

#rooms #sec-villa .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li img {
  object-fit: contain;
  font-family: "object-fit: contain;";
}

#rooms #sec-villa .slick-wrap .room-thumb-list li {
  background: transparent;
}

#rooms #sec-villa .slick-wrap .room-thumb-list li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#rooms #sec-villa .desc-wrap .desc-text {
  border-bottom: 1px solid #fff;
  color: #000;
}

#rooms #sec-villa .desc-wrap div .room-search {
  float: right;
  color: #120D37;
  background: #fff;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
  transition: all .5s ease;
}

#rooms #sec-villa .desc-wrap div .room-search:hover {
  background: #120D37;
  color: #fff;
}

#rooms #sec-villa .desc-wrap div .room-search:before {
  display: inline-block;
  content: "";
  background: url(../img/rooms/search.svg) no-repeat center/contain;
  vertical-align: middle;
  transition: all .5s ease;
}

#rooms #sec-villa .desc-wrap div .room-search:hover:before {
  background: url(../img/rooms/search_w.png) no-repeat center/contain;
}

#rooms #sec-villa .desc-wrap .container {
  padding: 5rem 0 10rem;
  justify-content: space-between;
}

#rooms #sec-villa .desc-wrap .container .left-area dl dt {
  color: #000;
}

#rooms #sec-villa .desc-wrap .container .left-area dl dd {
  color: #000;
}

#rooms #sec-villa .desc-wrap .container .right-area img {
  object-fit: contain;
  font-family: "object-fit: contain;";
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										レストランページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
/* 2024年3月 */
#restaurant .main-visual {
  padding-bottom: 80px;
}

#restaurant .main-visual h1 {
  position: absolute;
  z-index: 10;
  height: auto;
}

#restaurant .main-visual h1 img {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
  margin: 0;
}

#restaurant .main-visual .desc {
  position: absolute;
  left: 0;
  background: #fff;
  z-index: 10;
}

#restaurant .main-visual .desc p:first-child {
  font-weight: 700;
}

#restaurant .main-visual .img1 img,
#restaurant .main-visual .img2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .covid p {
  text-align: center;
  font-weight: 700;
  line-height: 2;
}

#restaurant .covid .btn .more2 {
  font-weight: 700;
  border: none;
  border-radius: .8rem;
  box-shadow: 0 .3rem .6rem rgba(0, 0, 0, 0.16);
}

#restaurant .morning .morning-h {
  width: 100%;
}

#restaurant .morning .morning-h img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .morning .time {
  background: rgba(255, 255, 255, .25);
  box-sizing: border-box;
}

#restaurant .morning .time table {
  width: 100%;
}

#restaurant .morning .time th {
  text-align: left;
  width: 30%;
}

#restaurant .morning .time td {
  width: 70%;
}

#restaurant .morning .time small {
  font-size: .8em;
}

#restaurant .morning .morning-desc1 p {
  line-height: 2.1;
}

#restaurant .morning .morning-wrap {
  position: relative;
}

#restaurant .morning .morning-wrap .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .morning .morning-wrap .morning-desc2 {
  background: #fff;
  position: absolute;
  left: 0;
  text-align: justify;
}

#restaurant .morning .morning-wrap .morning-desc2 p {
  line-height: 2.1;
}

#restaurant .morning .morning-wrap2 ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .night .night-h {
  width: 100%;
}

#restaurant .night .night-h img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .night .time {
  background: rgba(255, 255, 255, .125);
  box-sizing: border-box;
}

#restaurant .night .time table {
  width: 100%;
}

#restaurant .night .time th {
  text-align: left;
  white-space: nowrap;
}

/* ↓2021/11/18追加 愛甲 */
#restaurant .night .time .holiday th {
  padding-top: 5px;
}

/* ↑2021/11/18追加 愛甲 */
#restaurant .night .night-desc1 p {
  line-height: 2.1;
}

#restaurant .night .night-wrap {
  position: relative;
}

#restaurant .night .night-wrap .img img {
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .night .night-wrap .night-desc2 {
  background: #fff;
  position: absolute;
  right: 0;
  text-align: justify;
}

#restaurant .night .night-wrap .night-desc2 p {
  line-height: 2.1;
}

#restaurant .night .night-wrap2 ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .night .night-wrap3 {
  position: relative;
}

#restaurant .night .night-wrap3 .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#restaurant .night .night-wrap3 .night-desc3 {
  background: #fff;
  position: absolute;
  left: 0;
  text-align: justify;
}

#restaurant .night .night-wrap3 .night-desc3 p {
  line-height: 2.1;
}

#restaurant .night .night-wrap4 .night-desc4 p {
  line-height: 2.1;
}

#restaurant .night .night-wrap4 ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										コロナ取組ページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#covid .head-bnr {
  width: 100%;
  background: #fff;
}

#covid .head-bnr a {
  height: 100%;
  justify-content: center;
  align-items: center;
  background: #cff;
}

#covid .head-bnr a:hover {
  opacity: 1;
}

#covid .head-bnr .head-left {
  align-items: center;
}

#covid .head-bnr .head-left .desc .link-btn {
  position: relative;
  color: #988061;
  line-height: 1;
  background: #fff;
}

#covid .head-bnr .head-left .desc .link-btn:after {
  content: "";
  background: url(../img/common/r-arrow.svg) no-repeat center/contain;
  display: block;
  position: absolute;
}

#covid .main-visual .wrapper {
  text-align: center;
}

#covid .main-visual .wrapper h1 {
  font-weight: 700;
}

#covid .main-visual .wrapper p {
  line-height: 2.1;
}

#covid .request h2 {
  width: 100%;
  text-align: center;
  font-weight: 700;
  letter-spacing: .4em;
  text-indent: .4em;
  background: #707070;
  color: #fff;
  justify-content: center;
  align-items: center;
}

#covid .request h2:before {
  content: "";
  background: url(../img/covid/covid_attension.svg) no-repeat center center/contain;
  display: inline-block;
}

#covid .request .request-wrap .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#covid .request .request-wrap2 {
  border-top: 2px solid #707070;
}

#covid .request .request-wrap2 h3 {
  font-weight: 700;
}

#covid .request .request-wrap2 p {
  line-height: 2.1;
}

#covid .room h3,
#covid .inside h3,
#covid .meal h3 {
  font-weight: 700;
  letter-spacing: .3em;
  background: #707070;
  color: #fff;
  box-sizing: border-box;
}

#covid .room .request-wrap3 ul,
#covid .inside .request-wrap4 ul,
#covid .meal .request-wrap5 .container {
  box-sizing: border-box;
}

#covid .room .request-wrap3 .img img,
#covid .inside .request-wrap4 .img img,
#covid .meal .request-wrap5 .img_wrap .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										アクセスページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#access .logo {
  height: auto;
}

#access .access {
  text-align: center;
}

#access .access .img img {
  margin: auto;
}

#access .glink {
  display: block;
  float: right;
}

#access .glink:after {
  content: "";
  background: url(../img/common/external-link_icon.svg) no-repeat center/contain;
  display: inline-block;
}

#access .ggmap {
  margin: 0 auto;
  position: relative;
  height: 0;
  overflow: hidden;
}

#access .ggmap iframe,
#access .ggmap object,
#access .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#access .access_summary .inner {
  background: #fff;
  box-sizing: border-box;
}

#access .access_summary .inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#access .facility table {
  margin: auto;
}

#access .facility tr th {
  text-align: left;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										姶良の魅力ページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#spot .main-visual {
  position: relative;
}

#spot .main-visual .main-visual-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  text-align: center;
}

#spot .main-visual .main-visual-text h1 {
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
  position: relative;
}

#spot .main-visual .main-visual-text h1::first-letter {
  color: #EC6E03;
}

#spot .main-visual .main-visual-text h1:before {
  content: "";
  background: url(../img/spot/spot-icon.svg) no-repeat center/contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

#spot .main-visual .desc-wrapper {
  position: relative;
}

#spot .main-visual .desc-wrapper .desc p {
  line-height: 2.1;
}

#spot .main-visual .desc-wrapper .treat1 {
  position: absolute;
}

#spot .main-visual .desc-wrapper .treat1 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

#spot .main-visual .desc-wrapper .treat2 {
  position: absolute;
  bottom: 0;
}

#spot .spot .spot-list {
  position: relative;
}

#spot .spot .spot-list li a:hover {
  opacity: 1;
}

#spot .spot .spot-list li a .img.thumbnail {
  overflow: hidden;
}

#spot .spot .spot-list li a .img.thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#spot .spot .spot-list li a:hover .img.thumbnail img {
  transform: scale(1.05);
}

#spot .spot .spot-list li a .spot-desc .state {
  align-items: center;
}

#spot .spot .spot-list li a .spot-desc .cat {
  font-weight: 700;
  color: #fff;
  background: #988061;
  text-align: center;
}

#spot .spot .spot-list li a .spot-desc .date {
  line-height: 1;
}

#spot .spot .spot-list li a .spot-desc .new {
  color: #A83216;
  background: transparent;
  text-align: left;
  font-weight: 700;
}

#spot .spot .spot-list li a .spot-desc h3 {
  font-weight: 700;
  line-height: 1.5;
}

#spot .spot .spot-list li a .spot-desc .author {
  line-height: 1;
  align-items: center;
}

#spot .spot .spot-archive {
  flex-wrap: wrap;
  margin: auto;
}

#spot .spot .spot-archive li {
  border-bottom: 1px solid #988061;
}

#spot .spot .spot-archive li a:hover {
  opacity: 1;
}

#spot .spot .spot-archive li a .img {
  width: 100%;
  overflow: hidden;
}

#spot .spot .spot-archive li a .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

#spot .spot .spot-archive li a:hover .img img {
  transform: scale(1.05);
}

#spot .spot .spot-archive li a .state {
  align-items: center;
}

#spot .spot .spot-archive li a .state .cat {
  color: #fff;
  background: #988061;
  display: inline-block;
  text-align: center;
  font-weight: 700;
}

#spot .spot .spot-archive li a .state .new {
  margin-left: 1.5rem;
  color: #A83216;
  font-weight: 700;
}

#spot .spot .spot-archive li a h3 {
  font-weight: 700;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										FAQページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#faq .nav1 ul {
  align-items: flex-end;
}

#faq nav ul li {
  transition: .5s all ease-out;
  text-align: center;
  line-height: 1.5;
}

#faq .nav1 ul li:nth-child(1) {
  font-weight: 700;
  text-align: center;
}

#faq .nav1 ul li:nth-child(1) h1 {
  font-weight: 700;
}

#faq .nav1 ul li:nth-child(1) span {
  display: inline-block;
}

#faq .nav1 ul li:nth-child(2) {
  text-align: center;
  box-sizing: border-box;
}

#faq .nav1 ul li:nth-child(3) {
  background: #BBB;
  text-align: center;
}

#faq .nav1 ul li a {
  width: 100%;
  height: 100%;
  display: block;
  color: #333;
}

#faq .nav2 ul li {
  position: relative;
}

#faq .nav2 ul li:not(:first-child):before {
  content: "";
  display: block;
  background: #707070;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

#faq .nav2 ul li a {
  position: relative;
  opacity: 1;
  display: block;
}

#faq .nav2 ul li a span {
  display: block;
  position: relative;
}

#faq .nav2 ul li a span:after {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: .4rem;
  border-radius: .3rem;
  background: #EC6E03;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: all .5s ease;
}

#faq .nav2 ul li:hover a span:after {
  transform: scale(1, 1);
}

#faq .faq-wrap li .question {
  background: #fff;
  cursor: pointer;
  transition: all .5s ease;
  position: relative;
}

#faq .faq-wrap li .question:before,
#faq .faq-wrap li .question:after {
  position: absolute;
  content: "";
  display: block;
  background: #707070;
}

#faq .faq-wrap li .question:before {
  transform: rotate(0deg);
  transition: all .2s ease;
}

#faq .faq-wrap li .question:after {
  transform: rotate(90deg);
  transition: all .2s ease;
}

#faq .faq-wrap li .question.close:before {
  transform: rotate(45deg);
}

#faq .faq-wrap li .question.close:after {
  transform: rotate(-45deg);
}

#faq .faq-wrap li .question span {
  display: inline-block;
  background: #988061;
  color: #fff;
  font-weight: 700;
  text-align: center;
  transition: all .5s ease-out;
}

#faq .faq-wrap li .question.close span {
  background: #fff;
  color: #988061;
  transition: all .5s ease-out;
}

#faq .faq-wrap li .question h4 {
  display: inline-block;
}

#faq .faq-wrap li .answer {
  background: #AFA191;
  position: relative;
  display: none;
}

#faq .faq-wrap li .answer span {
  display: block;
  color: #fff;
  font-weight: 700;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}

#faq .faq-wrap li .answer .note li {
  margin: 0;
  padding-left: 1em;
  text-indent: -1em;
}

#faq .faq-wrap h3 {
  font-weight: 700;
}

#faq .faq-wrap h3:first-child {
  margin-top: 0;
}

#faq .faq-wrap h3:before {
  content: "";
  display: inline-block;
  background: #EC6E03;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										利用規約／個人情報保護ページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#privacy nav ul {
  align-items: flex-end;
}

#privacy nav ul li {
  transition: .5s all ease-out;
}

#privacy nav ul li:nth-child(1) {
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

#privacy nav ul li:nth-child(1) span {
  display: inline-block;
}

#privacy nav ul li:nth-child(2) {
  text-align: center;
  border-radius: 2rem 2rem 0 0;
  box-sizing: border-box;
}

#privacy nav ul li:nth-child(3) {
  background: #BBB;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

#privacy nav ul li a {
  width: 100%;
  height: 100%;
  display: block;
}

#privacy ul li {
  padding-left: 1em;
  text-indent: -1em;
}

#privacy .t-of-s .inner {
  background: #BBB;
}

#privacy .t-of-s h2 {
  font-weight: 700;
}

#privacy .privacy .inner {
  background: #BBB;
}

#privacy .privacy h2 {
  font-weight: 700;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										お問い合わせページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#contact nav ul {
  align-items: flex-end;
}

#contact nav ul li {
  transition: .5s all ease-out;
}

#contact nav ul li:nth-child(1) {
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

#contact nav ul li:nth-child(1) span {
  display: inline-block;
}

#contact nav ul li:nth-child(2) {
  text-align: center;
  border-radius: 2rem 2rem 0 0;
  box-sizing: border-box;
}

#contact nav ul li:nth-child(3) {
  background: #BBB;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

#contact nav ul li:nth-child(3) a {
  color: #000;
}

#contact nav ul li a {
  width: 100%;
  height: 100%;
  display: block;
}

#contact .form .wrap {
  text-align: center;
}

#contact .form .wrap h1 {
  font-weight: 700;
  line-height: 1;
}

#contact .form .wrap .link {
  text-decoration: underline;
}

#contact .form .wrap h1 span {
  display: block;
}

#contact .form .g-form label {
  color: #000;
}

#contact .form .g-form .wpcf7-form-control-wrap {
  display: block;
  font-size: 2rem;
}

#contact .form .g-form .req {
  display: inline-block;
  text-align: center;
  color: #fff;
  background: #B42F39;
  border-radius: .4rem;
}

#contact .form .g-form input[type="text"],
#contact .form .g-form input[type="email"],
#contact .form .g-form input[type="tel"],
#contact .form .g-form textarea {
  display: block;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}

#contact .form .g-form textarea {
  resize: none;
}

#contact .form .g-form input[type="checkbox"] {
  display: none;
}

#contact .form .g-form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#contact .form .g-form .wpcf7-list-item {
  position: relative;
}

#contact .form .g-form .wpcf7-list-item-label {
  cursor: pointer;
}

#contact .form .g-form .wpcf7-list-item-label:before {
  content: '';
  display: inline-block;
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
  top: -.2rem;
  margin-right: 1rem;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
  background: #fff;
}

#contact .form .g-form input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
  background: #fff;
}

#contact .form .g-form input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
  content: "";
  left: .5rem;
  transform: rotate(45deg);
  border-right: 0.3rem solid #988061;
  border-bottom: 0.3rem solid #988061;
  opacity: 1;
  width: .5rem;
  height: 1.25rem;
  position: absolute;
}

#contact .form .g-form span.wpcf7-list-item {
  margin: 0 !important;
}

#contact .form .submit {
  display: block;
  border-radius: .8rem;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.16);
  background: #988061;
  color: #fff;
  text-align: center;
  transition: .4s ease;
}

#contact .form .submit:hover {
  background: #ec6e03;
}

#contact #pri-link {
  text-decoration: underline;
  color: #000;
}

/*エラー*/
#contact .wpcf7 .wpcf7-not-valid-tip {
  font-size: 1.75rem;
}

#contact .wpcf7 .check-pri .wpcf7-not-valid-tip {
  text-align: center;
}

#contact .wpcf7 form.invalid .wpcf7-response-output,
#contact .wpcf7 form.unaccepted .wpcf7-response-output {
  color: #000;
  text-align: center;
  border: none;
  padding: 0;
}

/*お問い合わせ完了*/
#contact .finish-form {
  background: #fff;
}

#contact .goto-top {
  display: block;
  margin: 0 auto;
  text-align: center;
  border-radius: .8rem;
  box-shadow: 0 0.3rem 0.6rem 0 rgba(0, 0, 0, 0.16);
  background: #988061;
  color: #fff;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
                    姶良の魅力スポット　singleページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#s-spot-post .state {
  align-items: center;
}

#s-spot-post .state .cat {
  font-weight: 700;
  color: #fff;
  background: #988061;
  text-align: center;
}

#s-spot-post .state .new {
  color: #A83216;
  font-weight: 700;
}

#s-spot-post .wrap {
  justify-content: space-between;
  border-bottom: 1px solid #988061;
}

#s-spot-post .wrap h1 {
  font-weight: 700;
}

#s-spot-post .wrap .date {
  color: #988061;
}

#s-spot-post .author {
  justify-content: flex-end;
  line-height: 1;
}

#s-spot-post .author .icon {
  display: inline-block;
  vertical-align: middle;
}

#s-spot-post .author p {
  display: inline-block;
  vertical-align: middle;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
                    Information　singleページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#s-info-post .new {
  color: #A83216;
  margin-bottom: 0;
  margin-top: 0;
  font-weight: 700;
}

#s-info-post .wrap {
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid #988061;
}

#s-info-post .wrap h1 {
  font-weight: 700;
}

#s-info-post .wrap .date {
  color: #988061;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										Information　archiveページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#a-info .info-post a {
  display: block;
  background: #ccc9c7;
}

#a-info .info-post a:hover {
  background: #d6d2d1;
  opacity: 1;
}

#a-info .info-post a .new {
  color: #A83216;
  font-weight: 700;
}

#a-info .info-post a .box .img {
  width: 32%;
  overflow: hidden;
}

#a-info .info-post a .box .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit:cover; object-position: 50%;";
}

#a-info .info-post a:hover .box .img img {
  transform: scale(1.05);
}

#a-info .info-post a .wrap {
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid #988061;
}

#a-info .info-post a .wrap h2 {
  font-weight: 700;
}

#a-info .info-post a .wrap .date {
  color: #988061;
}

#a-info .info-post a .box .text p {
  line-height: 2;
}

#a-info-aside ul li a h3 {
  border-bottom: 1px solid #988061;
}

#a-info-aside ul li a .date {
  display: block;
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										404ページ
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#notfound .inner {
  text-align: center;
  margin: auto;
}

#notfound .photo-wrap {
  flex-wrap: wrap;
}

#notfound .photo-wrap li {
  height: auto;
}

#notfound .photo-wrap li .img {
  width: 100%;
  height: 100%;
}

#notfound .photo-wrap li .img img {
  object-fit: cover;
  object-position: 50%;
  font-family: "object-fit: cover; object-position: 50%;";
}

/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
                    IE11対応
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {

  #covid .request picture,
  #rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li picture {
    overflow: hidden;
    background-color: #ccc;
    width: 100%;
    padding-bottom: 66%;
    height: 0;
    position: relative;
    display: block;
  }

  #rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li picture {
    max-width: 1020px;
    padding-bottom: 74.5%;
  }

  #sec-villa .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li picture {
    width: 700px !important;
    padding-bottom: 520px !important;
    margin: 0 auto;
  }

  #covid .request picture img,
  #rooms .room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li picture img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
  }

  #rooms .slick-wrap .room-thumb-list li {
    max-width: 210px;
  }
}

@media screen and (max-width:1640px) {
  @media screen and (-ms-high-contrast: active),
  screen and (-ms-high-contrast: none) {
    #sec-villa .slick-wrap .room-slider .slick-list .slick-track .slick-slide div li picture {
      margin: 0 auto;
    }
  }
}



/*----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
										宿泊約款ページ(2022/3/2追加)
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------*/
#agreement .agreement * {
  color: #000;
}

#agreement ol li {
  padding-left: 1em;
  text-indent: -1em;
  padding-top: 1rem;
}

#agreement ol.noindent li {
  padding-left: 0;
  text-indent: 0;
}

#agreement .agreement .inner {
  background: #BBB;
}

#agreement .agreement h1,
#agreement .agreement h2,
#agreement .agreement h3 {
  font-weight: 700;
}

/* タビチャット実装 ------------------ */
.searchForm {
  flex-wrap: wrap;
}

.searchForm label {
  display: inline-block;
  text-align: left;
}

.searchForm .checkIn,
.searchForm .checkOut {
  font-size: 14px;
}

.searchForm .date-wrapper label {
  margin-right: 1rem;
}

.searchForm .date-wrapper.b label {
  margin-left: 3rem;
}

.searchForm .date-wrapper input {
  position: relative;
  background: #fff;
  border: 1px solid #988061;
  width: 16rem;
  padding: 0.5rem 1rem;
  text-align: center;
  cursor: pointer;
}

.searchForm .select-wrapper {
  background: #fff;
  border: 1px solid #988061;
  width: 5rem;
  padding: 0.5rem 0rem;
  text-align: center;
}

.searchForm .select-wrapper select {
  /* width: 4.5rem; */
  padding-left: 1rem;
  width: 100%;
  cursor: pointer;
}

.searchForm .bottoms {
  align-items: flex-end !important;
  margin-top: 20px;
}

.searchForm .bottoms .tl {
  text-align: left;
}

.searchForm .bottoms .flex {
  margin-right: 3rem;
}

.searchForm .bottoms .tl>label {
  margin-bottom: 14px;
}

.searchForm .bottoms .room label {
  margin-right: 1rem;
}

.searchForm .flex {
  align-items: center;
}

.searchForm .bottoms .flex.parson {
  margin-right: 0;
}

.searchForm .parson>.flex>label {
  margin-right: 1rem;
}

.searchForm .parson>.flex>span {
  margin-left: .5rem;
}

.searchBtn {
  color: #fff !important;
  background: #988061;
  border-radius: 0.6rem;
  font-size: 2rem;
  width: 15.4rem;
  height: 6rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 16%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 4.5rem;
}

.greeting .top-reservation2 {
  max-width: 107rem !important;
}

.searchForm.b {
  background-color: #fff;
  padding: 1.2rem;
  border: 0.1rem solid #988061;
  border-radius: 0 0.8rem 0.8rem 0;
  border-left: none;
}

.searchForm.b .select-wrapper {
  height: 30px;
  box-sizing: border-box;
  padding-top: 5px;
}

.searchForm.b .date-wrapper label {
  width: 100px;
}

@media(max-width:768px) {
  .searchForm.b .date-wrapper label {
    width: 80px;
  }
}

.searchForm.b .date-wrapper:nth-child(2) {
  margin-left: 0;
  margin-top: 5px;
}

.searchForm.b .bottoms {
  margin-top: 0;
}

.searchForm.b .room {
  margin-right: 0;
}

.top-reservation {
  width: auto;
}

.top-reservation .bestrate {
  width: 30rem;
}

.top-reservation .bottoms>a {
  height: 100%;
}

.top-reservation2 .date-wrapper,
.top-reservation .date-wrapper {
  position: relative;

}

.top-reservation2 .date-wrapper:after,
.top-reservation .date-wrapper:after {
  content: "";
  position: absolute;
  background: 0 50%/100% auto no-repeat;
  background-image: url(../img/common/calendar.svg);
  pointer-events: none;
  width: 2.1rem;
  height: 3.1rem;
  right: 1rem;
  cursor: pointer;
}

.top-reservation2 .select-wrapper,
.top-reservation .select-wrapper {
  position: relative;
}

.top-reservation2 .select-wrapper:after,
.top-reservation .select-wrapper:after {
  content: "";
  display: inline-block;
  border-top: 0.7rem solid #988061;
  border-right: 0.4rem solid transparent;
  border-left: 0.4rem solid transparent;
  position: absolute;
  top: 100%;
  transform: translateY(-45%);
  right: 1rem;
  height: 3.1rem;
  pointer-events: none;
}

.top-reservation .select-wrapper:after {
  top: 100%;
}

.searchForm.b .select-wrapper select {
  line-height: 1.3;
}

@media (max-width:1680px) {
  .top-reservation .select-wrapper:after {
    top: 100%;
  }

  .searchForm.b .select-wrapper {
    height: 28px;
  }

}

@media (max-width:970px) {
  .searchForm.b .select-wrapper {
    height: 27px;
  }

  .top-reservation .select-wrapper:after {
    top: 90%;
  }
}

@media (max-width:768px) {
  .top-reservation2 .select-wrapper:after {
    top: 90%;
  }
}

/* 2024年3月 */
/* グループ企業 */
#group {
  background-color: #CCC9C7;
}

#group h1 {
  margin-bottom: 100px;
}

#group ul {
  flex-direction: column;
  gap: 30px 0;
  /* max-width: 536px; */
  margin-inline: auto;
  width: 90%;
}

#group ul li {
  margin-inline: auto;
}