@charset "utf-8";

/******
フォント

Aviano Regular
font-family: "aviano", serif;
font-weight: 400;

Noto Sans JP
font-family: "Noto Sans JP", sans-serif;

Noto Serif JP
font-family: "Noto Serif JP", serif;

しっぽり明朝
font-family: "Shippori Mincho", serif;

*******/

body {
  color: #444444;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

body.fixed{
  overflow: hidden;
}

.sp {
  display: none;
}

.hum-open{
  display: none;
}

.img {
  width: 100%;
  height: auto;
}

.hover--opacity {
  transition: opacity 0.3s;
}
.hover--opacity:hover {
  opacity: 0.7;
}

.inner-1440 {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
.inner-1300 {
  width: calc(100% - 40px);
  max-width: 1300px;
  margin: 0 auto;
}
.inner-1080 {
  width: calc(100% - 40px);
  max-width: 1080px;
  margin: 0 auto;
}
.inner-980 {
  width: calc(100% - 40px);
  max-width: 980px;
  margin: 0 auto;
}
.inner-960 {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.inner02-960 {
  width: calc(100% - 40px);
  max-width: 960px;
  margin: 0 auto;
}
.inner-900 {
  width: calc(100% - 40px);
  max-width: 900px;
  margin: 0 auto;
}
.inner-850 {
  width: calc(100% - 40px);
  max-width: 850px;
  margin: 0 auto;
}

a.sptel {
  cursor: default;
  pointer-events: none;
}

.ilblk {
  display: inline-block;
}

.vertical {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}

.clr--orange {
  color: #eb8200;
}
.clr--green {
  color: #4d6026;
}
.clr--blue {
  color: #4a617e;
}
.clr--wh {
  color: #fff;
}

.bg--orange {
  background-color: #f1a94f;
}
.bg--green {
  background-color: #748356;
}
.bg--blue {
  background-color: #8998ab;
}

.limit {
  visibility: hidden;
}

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

/*===================
宿泊予約
===================*/
.reserveArea {
  color: #fff;
  padding: 30px 20px;
  background: #444444;
  display: flex;
  justify-content: center;
  align-items: center;
  gap:80px;
}
.reserveArea__title{
  font-size: 18px;
  font-weight: 700;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
  line-height: 1.72;
  color:#fff;
}
.reserveArea__title-sub{
  font-size: 12px;
  font-family: "aviano", serif;
  color:#fff;
}

.directin-sp-form-label{
 
}
.directin-sp-form .directin-sp-form-input label .directin-sp-form-label{
   color: #fff;
  font-size: 12px;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
}
.directin-sp-form .directin-sp-form-input label .directin-sp-form-checkbox-label{
  padding-left: 5px;
  color: #fff;
  font-size: 12px;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.1em;
}
.directin-sp-form{
  padding: 0;
}
.directin-sp-form .directin-sp-form-date-input-group .directin-sp-form-date-input input[type="text"]{
  width: 230px;
  background-image:none;
  padding-left: 8px;
  text-align: center;
}
.directin-sp-form > div{
  padding: 0;
  margin:0 0  0 40px ;
}
.directin-sp-form > div:first-child{
  margin:0 0  0 0 ;
}

.directin-sp-form .directin-sp-form-input-group{
  /* margin-bottom: 10px; */
}
.directin-sp-form .directin-sp-form-input label input[type="text"], .directin-sp-form .directin-sp-form-input label select{
  border:none;
  background-color: unset;
  border-bottom: 1px solid #575757;
  border-radius: 0;
  font-size: 14px;
  color: #fff;
}
.directin-sp-form .directin-sp-form-input-group div.directin-sp-form-input{
  margin-right: 12px;
}

.directin-sp-form .directin-sp-form-submit-button{
  padding-top: 0;
}
.directin-sp-form .directin-sp-form-submit-button button{
  font-size: 13px;
  letter-spacing: 0.28em;
  padding: 17px 45px;
  position: relative;
  transition: .3s;
}
.directin-sp-form .directin-sp-form-submit-button button:hover{
  background-color: #fff;
  color: #444444;
}
.directin-sp-form .directin-sp-form-submit-button button::after{
  display:block;
  content:'';
  width: 5px;
  height: 7px;
  background-image: url(../imgs/common/button-anc.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 19px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transition: .4s;
}
.directin-sp-form .directin-sp-form-submit-button button:hover::after{
 background-image: url(../imgs/common/button-anc_black.svg);
}

/*===================
sectionの中で横並び
===================*/
.contentsWrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.contents__lft {
  width: 230px;
}
.contents__lft.flex {
  padding-top: 25px;
}
.contents__rgt {
  width: calc(100% - 230px);
  max-width: 1210px;
}
.contents__rgt.box {
  padding-top: 89px;
  padding-bottom: 110px;
  padding-left: 80px;
  padding-right: 80px;
  background-color: #f1eee5;
}

/*===================
セクションタイトル
===================*/
.section-title {
  padding-bottom: 49px;
}
.section-title__en {
  color: #a58b51;
  font-size: 30px;
  font-family: "aviano", serif;
  margin-bottom: 3px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.section-title__ja {
  font-size: 13px;
  line-height: 1.55;
}

/*===================
横ライン付きのタイトル
===================*/
.contents__title {
  font-size: 12px;
  font-family: "aviano", serif;
  position: relative;
  line-height: 1.75;
  letter-spacing: 0.15em;
}
.contents__title::before {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  position: absolute;
  top: 48%;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  background-color: #7c6c63;
}
.contents__title--2lines::before {
  top: 25%;
}
.contents__title.clr--wh::before {
  background-color: #fff;
}
.contents__title--line {
  display: block;
  padding-left: 69px;
}

/*===================
informationの共通部分
===================*/
.information__list.box {
  width: 100%;
  max-width: 900px;
}

/*===================
共通テキスト
===================*/
.contents__text {
  font-size: 14px;
  line-height: 2.835;
}

/*===================
サイドナビ
===================*/
.follow-us {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px 0;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.follow-us__low {
  top: 140px;
  -webkit-transform: initial;
  -ms-transform: initial;
  -moz-transform: initial;
  -o-transform: initial;
}
.follow-us__textWrap {
  width: 100%;
}
.follow-us__text {
  color: #fff;
  font-size: 14px;
  font-family: "aviano", serif;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.follow-us__text--other {
  color: #a58b51;
}
.follow-us__list {
  width: 14px;
}
.follow-us__listItem:not(:last-child) {
  margin-bottom: 8px;
}

/*===================
各ヴィラ系共通スタイル
===================*/
.two-tone__bg {
  width: 100%;
  height: auto;
  position: relative;
}
.two-tone__bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 600px;
  position: absolute;
  bottom: 0;
  z-index: -1;
  background-color: #fcecd9;
}
.resort-villa.two-tone__bg::after {
  background-color: #e7eadf;
}
.cafe-villa.two-tone__bg::after {
  background-color: #e5e8ea;
}
.viilla__bgWrap {
  width: 100%;
  height: auto;
  position: relative;
}
.viilla__bgWrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #fcecd9 50%, #fcecd9 100%);
}
.resort-villa .viilla__bgWrap::after {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #e7eadf 50%, #e7eadf 100%);
}
.cafe-villa .viilla__bgWrap::after {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #e5e8ea 50%, #e5e8ea 100%);
}
.viilla__main-img {
  width: calc(100% - 40px);
  max-width: 900px;
  margin: 0 auto 56px;
}

.villa {
  padding-top: 65px;
}

.villa__title {
  margin-bottom: 32px;
}
.villa__img {
  width: 33px;
  margin: 0 auto 9px;
}
.resort-villa .villa__img {
  width: 54px;
}
.cafe-villa .villa__img {
  width: 58px;
}
.villa__en {
  font-size: 67px;
  font-family: "aviano", serif;
  text-align: center;
  line-height: 1;
}
.villa__ja {
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}
.villa__contents {
  width: 100%;
  max-width: 715px;
  margin: 0 auto;
}
.villa__sub-title {
  font-size: 20px;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  text-align: center;
  margin-bottom: 11px;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
.villa__text {
  font-size: 14px;
  margin-bottom: 46px;
  line-height: 1.82;
}

.btn {
  width: 100%;
  max-width: 156px;
  margin: 0 auto;
}
.btn__link {
  font-size: 13px;
  display: inline-block;
  width: 100%;
  max-width: 156px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 4px;
  line-height: 1.75;
  border-bottom: 1px solid #444;
}
.btn__link::after {
  content: "";
  display: block;
  width: 9px;
  height: 4px;
  position: absolute;
  top: 10px;
  right: 7px;
  background: url("../imgs/common/btn_arrow.png") center center / cover no-repeat;
}
.btn__link:hover .btn__icon-overlay {
  opacity: 1;
}
.btn__icon {
  position: absolute;
  top: 7px;
  left: 4px;
  width: 12px;
  height: 12px;
}
.btn__icon-bg {
  background: url("../imgs/common/btn_circle.png") center center / cover no-repeat;
  position: absolute;
  top: 0;
  left: 1px;
  width: 8px;
  height: 8px;
  transition: all 0.3s;
}
.btn__icon-overlay {
  background: url("../imgs/common/btn_circle_wh.png") center center / cover no-repeat;
  position: absolute;
  top: 2px;
  left: 3px;
  width: 4px;
  height: 4px;
  opacity: 0;
  transition: all 0.3s;
}
.btn__text {
  display: block;
  padding-left: 18px;
  padding-right: 20px;
  font-size: 13px;
}


/* スワイパー再生ボタン */
.play-btn{
  position: relative;
  cursor: pointer;
}
.play-btn::before{
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  z-index: 50;
  background-image: url(../imgs/common/pause-btn.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 11px;
  bottom:13px;
  cursor: pointer;
  pointer-events: none;
}
.play-btn.active::before{
  background-image: url(../imgs/common/play-btn.png);
}



/* 404ページ↓ */
.not-found div {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
  padding: 180px 0;
  min-height: 60vh;
}
.not-foun__en {
  font-size: 25px;
  font-weight: 400;
  margin-bottom: 30px;
  font-family: "aviano", serif;
}
.not-foun__ja {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 2.2;
}
.not-foun__ja strong {
  font-size: 20px;
  display: block;
  margin-bottom: 20px;
}
.not-found a {
  font-size: 16px;
  font-weight: 500;
  text-decoration: underline;
  display: inline;
}
/* 404ページ↑ */


@media screen and (max-width: 1440px) {
  .contents__rgt.box {
    padding-top: 6.18vw;
    padding-bottom: 7.638vw;
    padding-left: 5.555vw;
    padding-right: 5.555vw;
  }
}

@media screen and (max-width: 1200px) {
  br.b-1200 {
    display: none;
  }

  .reserveArea{
    gap: 35px;
  }
  .directin-sp-form > div{
    margin: 0 0 0 20px;
  }
  .hum-open{
  display: block;
  }


}

@media screen and (max-width: 800px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }

  .section-title {
    padding-bottom: 30px;
  }
  .section-title__en {
    font-size: 22px;
    text-align: center;
    margin-bottom: 0;
  }
  .section-title__ja {
    font-size: 12px;
    text-align: center;
  }
  .contentsWrap {
    display: block;
  }
  .contents__lft.flex {
    width: 100%;
    padding-top: 0;
    margin-bottom: 15px;
  }
  .contents__rgt {
    width: calc(100% - 20px);
    max-width: 100%;
    margin: 0 0 0 auto;
  }
  .contents__rgt.box {
    padding-top: 50px;
    padding-bottom: 60px;
    padding-left: 25px;
    padding-right: 25px;
  }
  .contents__text {
    text-align: center;
  }
  .villa {
    padding-top: 45px;
  }
  .villa__img {
    width: 25px;
    margin: 0 auto 5px;
  }
  .resort-villa .villa__img {
    width: 38px;
  }
  .cafe-villa .villa__img {
    width: 43px;
  }
  .villa__en {
    font-size: 45px;
  }
  .villa__ja {
    font-size: 12px;
  }
  .viilla__main-img {
    margin: 0 auto 35px;
  }
  .villa__title {
    margin-bottom: 25px;
  }
  .villa__sub-title {
    font-size: 18px;
    margin-bottom: 9px;
  }
  .villa__text {
    margin-bottom: 35px;
  }
  .two-tone__bg::after {
    height: 47%;
  }
  .follow-us {
    right: 10px;
  }
  .follow-us__low {
    top: 120px;
  }



  .reserveArea{
    display: block;
    padding: 20px ;
  }
  .reserveArea__titleWrap{
    margin-bottom: 20px;
  }
  .directin-sp-form .directin-sp-form-submit-button{
    padding-top: 30px;
    width: 300px;
    max-width: 100%;
    margin: 0 10%;
  }



  /* 404ページ↓ */
  .not-found div {
    padding: 150px 0 70px;
  }
  .not-foun__en {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .not-foun__ja {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .not-foun__ja strong {
    font-size: 17px;
    margin-bottom: 15px;
  }
  .not-found a {
    font-size: 14px;
  }
  /* 404ページ↑ */




}

@media screen and (max-width: 700px) {
  a.sptel {
    cursor: pointer;
    pointer-events: auto;
  }
}


@media screen and (max-width:576px) {
.directin-sp-form .directin-sp-form-date-input-group .directin-sp-form-date-input input[type="text"]{
  background-color: unset;
}
.directin-sp-form .directin-sp-form-date-input-group .directin-sp-form-nodate-checkbox label{
  margin: 0 auto 30px;
}
.directin-sp-form .directin-sp-form-submit-button{
  margin: 0 auto;
}
}

@media screen and (max-width: 480px) {
  .two-tone__bg::after {
    height: 53%;
  }

  .contents__rgt.box {
    padding-top: 40px;
    padding-bottom: 50px;
  }
}

