@charset "utf-8";
/* CSS Document */
/*------------------------------------------------------------------
https://www.takuhide.co.jp/
Last Update 2025/4/28
-------------------------------------------------------------------*/
@import url("bootstrap-reboot.min.css");

/*--------------------
Basis
--------------------*/

#coming_soon {
  height: 400px;
  padding-top: 100px;
  text-align: center;
}
* {
  font-family: "Gentium Basic", "Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", "Georgia", "ten-mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-style: normal;
}
html, body {
  margin: 0;
  padding: 0;
}
body {
  background: url("../img/bg3.gif");
  color: #433d3c;
  box-sizing: border-box;

}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
br, p, span, ul {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
.wrapper {
  overflow-x: hidden;
}
.clear {
clear: both;
}
h3, h4, h5, h6 {
  font-weight: normal;
  color: #433d3c;
  text-align: center;
}
h2 {
  display: flex;
}

#home .txt_wrap .word {
  display: flex;
}	  
#wrap_ttl .word {
  display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
}
#wrap_ttl h2{
	font-size: 2.5rem; font-weight: normal; color: #FFF; text-align: center; background: url(../img/ttl_icon.png) no-repeat; background-position: center top; padding-top: 42px;}
#wrap_ttl{position: absolute;
    top: 50%;
left: 0;
	right: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
#wrap_ttl .covid{ margin: 0 auto; text-align: center;}
#wrap_ttl .covid>div{width: 570px;}

#wrap_ttl .sttl {
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #d3cbc6;
 display: block;
  padding-top: 10px;
	text-align: center;
}

h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

#home .sttl,h3 .sttl,h4 .sttl {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #856859;
  display: block;
  padding-bottom: 10px;
}

h3 span,h4 span {
  display: block;
  line-height: 1.5;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}


#main-contents a:link,#main-contents2 a:link, #sticky a:link {
  color: #3B1D12;
  text-decoration: none;
}
#main-contents a:visited,#main-contents2 a:visited, #sticky a:visited {
  color: #935656;
  opacity: 0.7;
  text-decoration: none;
}
#main-contents a:hover,#main-contents2 a:hover, #sticky a:hover {
  color: #832C38;
  opacity: 0.7;
  text-decoration: none;
}
#main-contents a:active,#main-contents2 a:active, #sticky a:active {
  color: #710F3D;
  text-decoration: none;
}
.no-gutters {
  margin: 0;
  padding: 0;
}
.no-gutters > .col, .no-gutters > [class*="col-"] {
  margin: 0;
  padding: 0;
}
.js-fadein {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-fadein.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.youtube{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 10px;
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
}
.more_plan {
  width: 100%;
  margin: 10px auto 0 auto;
  text-align: center;
}
.more_wrap1 {
  width: 100%;
  display: block;
  margin: 10px 0;
  text-align: left;
}

.more_btn1 {
	position: relative;
  width: 250px;
  display: block;
  padding: .8em;
  border: 1px solid #3B1D12;
  margin: 10px auto;
  text-align: center;
}
.more_btn2 {
	position: relative;
  width: 300px;
  display: block;
  padding: .8em;
  border: 1px solid #3B1D12;
  margin: 10px auto;
  text-align: center;
}

.more, .more1 {
  font-size: 1rem;
}
.more img {
  width: 70px;
  height: 7px;
  padding-bottom: 2px;
  margin-left: 10px;
}
.more1 img {
position: absolute;
	top:50%;
	bottom: 50%;
	right: -30px;
  width: 70px;
  height: 7px;
  padding-bottom: 2px;
  margin-left: 10px;
}
.more p:hover img, .more1 p:hover img {
  transform: translateX(7px);
  transition: all 0.1s;
}
.more p img:hover, .more1 p img:hover {
  transform: none;
}
.more a,.more1 a {
  color: #3B1D12;
  text-decoration: none;
}
.more a:visited,.more1 a:visited {
  color: #935656;
  opacity: 0.7;
  text-decoration: none;
}
.more a:hover,.more1 a:hover {
  color: #832C38;
  opacity: 0.7;
  text-decoration: none;
}
.more a:active,.more1 a:active {
  color: #710F3D;
  text-decoration: none;
}

.btn1 {
  position: relative;
  width: auto;
  height: auto;
  display: block;
  padding: .9em 3em;
  margin: 5px auto 0 auto;
  border-bottom: 1px solid rgba(165, 143, 134,1);
  text-align: center;
  text-decoration: none;
  transition: all .3s;
  font-size: 0.9rem;
  color: #664343;
}
.btn1_on {
  position: relative;
  width: auto;
  height: auto;
  display: block;
  padding: .9em 3em;
 margin: 5px auto 0 auto;
  border-bottom: 1px solid rgba(113, 15, 61,1);
  text-align: center;
  text-decoration: none;
  transition: all .3s;
  font-size: 0.9rem;
  color: #664343;
}
.btn1:hover, .btn1_on:hover {
  border-bottom: 1px solid rgba(131, 44, 56,1);
  color: #4a488e;
  text-decoration: none;
}


.txt_red01 {
  color: #C00;
}
.txt_pink {
  color: #F66;
}
.txt_pink01 {
  color: #e9546b;
  font-weight: bold;
}

.under {
  background: linear-gradient(transparent 70%, #ffadad 70%);
  font-weight: bold;
  border-radius: 4px;
}

/*--------------------------------
dropmenu_language
---------------------------------*/
#reserve a.lng {
  font-size: 0.8rem;
  display: inline-block;
  width: 190px;
  height: 40px;
  text-decoration: none;
  color: #FFF;
  border: 1px solid #FFF;
  text-align: center;
  line-height: 40px;
  background-position: left 10px center, 0 0;
  background-size: 16px 16px, contain;
}
#reserve a.lng:hover {
  text-decoration: none;
  background-color: #000;
  color: #FFF;
  border-color: #000;
}
#lng {
  position: absolute;
  top: 10px;
  right: 160px;
  z-index: 5;
  color: #fff;
}
#lng i {
  padding-right: 10px;
}
.arrow1 {
  display: block;
  position: relative;
  font-size: 1rem;
  text-decoration: none;
}
.arrow1:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
#reserve .sec {
  position: absolute;
  top: 15px;
  right: 280px;
  z-index: 5;
  font-size: 1.2rem;
  line-height: 40px;
  border-right: 1px solid #fff;
}
#reserve .sec i {
  float: right;
  margin-right: 15px;
  color: #fff;
}
#reserve .sec:first-child i {
  margin-right: -15px;
}
/*--------------------------------
dropmenu_language
---------------------------------*/
#fade-in2 {
  position: relative;
  z-index: 5;
}
#fade-in2 li ul {
  opacity: 0;
  margin-top: 10px;
  visibility: hidden;
  transition: .5s;
}
#fade-in2 li:hover ul {
  top: 100%;
  visibility: visible;
  opacity: 1;
}
.dropmenu {
  *zoom: 1;
  list-style-type: none;
  width: auto;
  margin: 5px auto 0px;
  padding: 0;
}
.dropmenu:before, .dropmenu:after {
  content: "";
  display: table;
}
.dropmenu:after {
  clear: both;
}
.dropmenu li {
  position: relative;
  width: 120px;
  float: left;
  margin: 0;
  padding: 0;
  text-align: center;
}
.dropmenu li a {
  display: block;
  margin-left: 20px;
  /*padding: 15px 0 11px;*/
  color: #333;
  line-height: 1;
  background-color: rgba(255, 255, 255, 0.80);
  text-decoration: none;
}
.dropmenu li ul {
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0px;
}
.dropmenu li ul li {
  width: 100%;
}
.dropmenu li ul li a {
  padding: 13px 15px;
  border-bottom: 1px solid #CCC;
  text-align: center;
}
.dropmenu li:hover > a {
  color: #333;
}
.dropmenu li a:hover {
  background-color: rgba(255, 255, 255, 1.0);
}
* {
  box-sizing: border-box;
}
/*--------------------
Contacts
--------------------*/
header {
  z-index: 20;
}
#header-container {
  position: absolute;
  width: 100%;
  margin: 0;
  padding: 0;
  background-position: 0% 50%;
  background-size: cover;
  height: auto;
  z-index: 50;
}
#gnav-section:before {
  background-image: linear-gradient(0deg, transparent 0 60%, #000 100%);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';
  height: 400px;
}
#reserve {
  font-size: .9rem;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0px;
  right: 50px;
  clear: both;
  z-index: 100;
}
#reserve .res {
  display: block;
  position: fixed;
  right: 50px;
  top: 0px;
  color: #FFF;
  background-color: #664343;
  min-width: 50px;
  min-height: 50px;
  text-align: center;
	padding: 15px;
}
#reserve .res a {
  display: block;
  text-decoration: none;
  color: #FFF;
}
#reserve .res a:hover {
  display: block;
  text-decoration: none;
  color: #FFF;
  opacity: 0.5;
}
#contact {width: auto; height:auto; position: absolute; top: 100px; right: 5px;}
#contact .sec i{font-size: 1.2rem; line-height: 1.5; padding-left: 100px; display: flex;
    align-items: center;
    justify-content: center; z-index: 20;}

#contact .sec a{color:#FFF; text-decoration: none;}
#contact .sec a:hover{ text-decoration: none; color: #FFF;}
#contact .sec a:hover i{opacity: 0.7 ;}
#gift_bn .icon{position: relative; padding: 0 0 0 104px;}
#gift_bn .icon:before{position: absolute; top:0; left:0; content: url("../../img/i_best_rate.png");}
#gift_bn {
  position: absolute;
  z-index: 3;
  bottom: 5%;
  left: 10px;
  padding: 10px; /*background-color: rgba(0,0,0,0.5);*/ color: #fff;
  font-size: 1.8rem;
  text-align: center;
	line-height: 1.3;
}
#gift_bn p {
  border-bottom: 1px dotted #FFF; /*padding-bottom: 5px*/ ; /*margin-bottom: 10px;*/
}
#gift_bn span{font-size: .8rem; display:block;}
/* gnav
------------------------------------------------------------------- */
#gnav-section {
  width: 100%;
  font-size: 0.9rem;
  position: absolute;
  z-index: 20;
}
#gnav-section-inner {
  padding-top: 15px;
  padding-right: 350px;
  margin: 0 auto;
  text-align: center;
}
#gnav li {
  width: 100px;
  float: right;
  height: 35px;
  padding: 0px 20px;
  text-decoration: none;
}
#gnav li a {
  display: block;
  overflow: hidden;
  color: #FFF;
  text-decoration: none;
}
/* navbar-nav下線アニメーション */
#gnav ul {
  display: flex;
}
#gnav li {
  padding: 5px;
}
#gnav a {
  display: block;
  padding: 0 0 20px;
  position: relative;
  text-decoration: none;
}
#gnav a::before, #gnav a::after {
  border-bottom: solid 1px #FFF;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
#gnav a::before {
  left: 50%;
}
#gnav a::after {
  right: 50%;
}
#gnav a:hover::before, #gnav a:hover::after {
  width: 50%;
}
#gnav .nav-on a {
  display: block;
  position: relative;
  text-decoration: none;
}
#gnav .nav-on a::before, #gnav .nav-on a::after {
  border-bottom: solid 1px #FFF;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 100%;
}
#gnav .nav-on a::before {
  left: 0%;
}
#gnav .nav-on a::after {
  right: 0%;
}
#gnav .nav-on a:hover::before, #gnav .nav-on a:hover::after {
  width: 100%;
}

/*menu*/

.menu_btn {
	
  display: block;
  position: fixed; /* bodyに対しての絶対位置指定 */
  right: 0px;
  top: 0px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  text-align: center;
  z-index: 190;
}
.menu {
	mix-blend-mode: difference;
  height: 20px;
  position: fixed;
  right: 10px;
  top: 15px;
  width: 30px;
  z-index: 199;
}
.menu__line {
  background: #fff;
  display: block;
  height: 2px;
  position: absolute;
  transition: transform .3s;
  width: 100%;
	
}

.menu__line--center {
  top: 9px;
}
.menu__line--bottom {
  bottom: 0;
}
.menu__line--top.active {
  top: 8px;
  transform: rotate(45deg);
}
.menu__line--center.active {
  transform: scaleX(0);
}
.menu__line--bottom.active {
  bottom: 10px;
  transform: rotate(135deg);
}

  
  

/*gnav*/
.gnav {
  background: rgba(67, 61, 60, 0.9);
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 98;
}
.gnav__wrap {
  overflow-y: auto !important;
  /*align-items:center;*/
  display: flex;
  height: 100%;
  justify-content: center;
  position: absolute;
  width: 100%;
}
.gnav__menu__item {
  margin: 20px 0;
  text-decoration: none;
}
.gnav__menu__item a {
  color: #fff;
  font-size: 1rem;
  text-decoration: none;
  transition: .5s;
  display: block;
}
.gnav__menu__item a:hover {
  color: #666;
}
.gnav_foot {
  font-size: 0.8rem;
  align-items: center;
  text-align: center;
  height: auto;
  justify-content: center;
  width: 100%;
  color: #FFF;
  line-height: 2.4;
}
.gnav_foot .logo {
  width: 168px;
  height: auto;
  margin: 10px auto;
}
.gnav_lng {
  font-size: 0.9rem;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.gnav_lng li {
  display: inline-block;
  line-height: 2;
  margin-bottom: 5px;
}
.gnav_lng li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 900;
  color: #FFF;
  margin-left: .5em;
  margin-right: .5em;
}
.gnav_lng a {
  color: #FFF;
  text-decoration: none;
  transition: .5s;
}
.gnav_lng a:hover {
  color: #666;
}
.container {
  overflow: hidden;
  margin: 0 auto;
}
#container2 {
  overflow: visible;
}
#slide_sec {
  position: relative;
  overflow: hidden;

}

.carousel-item .img-fluid {
  width:100%;
  height:100vh;
	object-fit: cover;
}

.carousel-item{
  height: auto;
background-color: #000;
	
}
.carousel-item img {
  opacity: 0.7;
}
.carousel-item .cap_logo img {
	position: absolute;
	top: 40%;
    left: 50%;
    transform: translate(-50%, -60%);
    -webkit-transform: translate(-50%, -60%);
    -ms-transform: translate(-50%, -60%);
  opacity:initial;
	object-fit: none;
}
.carousel-item a {
  display: block;
  width:100%;
}

#carousel-1 {
  width: 100%;
  overflow: hidden;
}
#carousel-1 .carousel-caption {
  position: absolute;
  top: 60%;
  left: 50%;
  -ms-transform: translate(-50%, -60%);
  -webkit-transform: translate(-50%, -60%);
  transform: translate(-50%, -60%);
  margin: 0;
  padding: 0;
  z-index: 10;
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
  width: 100%;
}

#main-contents2 {
  padding-top: 50px;
  background: url(../img/bg3.gif);
}
#main-contents {
  padding-top: 50px;
  background: url(../img/bg3.gif);
  overflow-x: hidden;
}
.navbar-brand {
  position: absolute;
  top: 10px;
  left: 20px;
}

/*--------------------
Main
--------------------*/
.img-wrap {
  opacity: 0;
}

.img-animation1.displayed {
  animation: img-opacity1 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  overflow: hidden;
  position: relative;
}

.img-animation1.displayed::before {
  animation: img-animation1 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: url("../img/bg3.gif");
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-opacity1 {
  100% {
    opacity: 1;
  }
}

@keyframes img-animation1 {
  100% {
    transform: translateX(100%);
  }
}


.img-animation2.displayed {
  animation: img-opacity2 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  overflow: hidden;
  position: relative;
}

.img-animation2.displayed::before {
  animation: img-animation2 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: url("../img/bg3.gif");
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-opacity2 {
  100% {
    opacity: 1;
  }
}

@keyframes img-animation2 {
  100% {
    transform: translateX(-100%);
  }
}
#mainvisual{
  width: 100%;
  height: auto;
  padding-top: calc(500 / 1920 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
  /*margin-top: 130px;*/
  position: relative;
}
#mainvisual:before {
  background-color: rgba(0, 0, 0, 0.3); /*background-image: linear-gradient(0deg, transparent 0 60%, #000 100%);*/
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';
}
.breadcrumb-wrap {
  width: 100%;
  margin: -50px 0 50px 0;
  font-size: 90%;
}
.breadcrumb {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  border-radius: 0.25rem;
background: url("../img/bg3.gif");
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 0.5rem;
  color: #433d3c;
  content: "\f105";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #433d3c;
}
#map {
  margin: 0px auto 100px auto;
}
.cap {
  font-size: 0.8rem;
  text-align: right;
  margin-top: 5px;
}
.cap p {
  margin: 0px;
  padding: 0px;
}
.cap2 {
  font-size: 0.8rem;
  text-align: left;
  margin-top: 5px;
}
#booking_sp {
  margin-bottom: 100px;
  text-align: center;
}
#booking_sp #ttl img {
  margin: 10px 0 0 0;
}
#booking_sp #ttl .cap {
  border-top: 1px solid #a58f86;
  padding-top: 10px;
  font-size: 0.9em;
  text-align: center;
}


#booking_sp .best_rate,#booking_sp .gift1,#booking_sp .gift2{
  width: 100%;
  /*min-height: 105px;*/
  text-align: center;
  padding: 15px;

}
.booking_wrap{border: 1px solid #a58f86; margin-bottom: 10px;}
#booking_sp .best_rate,#booking_sp .gift1 {
border-right: 1px solid #a58f86;
}


#booking_sp .txt{text-align: left;}
#booking_sp .txt_icon {background-color:#3B1D12;
  padding: 5px 0;
  width: 170px;
  font-weight: 100;
  display: inline-block;
  text-align: center;
  color: #fff;
margin:0 10px 5px 0;
}
/* plan-table
------------------------------------------------------------------- */
.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
  vertical-align: middle;
}


/*--------------------
slick_slider
--------------------*/


.slider7-wrap .textphoto2 {
    width: 100%;
  font-size: 1.2rem;
  text-align: left;
 top:100%;
  margin: 0;
  padding: 10px 0;
  color: #433d3c;

}


/*--------------------
slick_slider count
--------------------*/
.slider7-wrap {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.slider-7 .slick-slide {
  height: auto;
  overflow: hidden;
}
.slider-7 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
}

.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
  width: 26px;
  height: 26px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* next */

.slick-next {
  right: 10px;
}
.slick-next::after {
  right:6px;
  transform: rotate(45deg);
}

/* prev */

.slick-prev {
  left: 10px;
}
.slick-prev::after {
  left: 6px;
  transform: rotate(-135deg);
}

.slick_count1,.slick_count2,.slick_count3,.slick_count4,.slick_count5,.slick_count6,.slick_count8{
  padding-right: 10px;
}
.slick_count1 .num,.slick_count2 .num ,.slick_count3 .num ,.slick_count4 .num ,.slick_count5 .num ,.slick_count6 .num ,.slick_count8 .num  {
  font-size: 2.2rem;
  text-align: right;
}
.slick_count1 .num .nowcnt,
.slick_count1 .num .allcnt,
.slick_count2 .num .nowcnt,
.slick_count2 .num .allcnt,
.slick_count3 .num .nowcnt,
.slick_count3 .num .allcnt,
.slick_count4 .num .nowcnt,
.slick_count4 .num .allcnt,
.slick_count5 .num .nowcnt,
.slick_count5 .num .allcnt,
.slick_count6 .num .nowcnt,
.slick_count6 .num .allcnt,
.slick_count8 .num .nowcnt,
.slick_count8 .num .allcnt{
  font-size: 2.4rem;
}

/*--------------------
information
--------------------*/
.information {
  padding-right: 20px;
}
.information dt .icon1 {
  border: 1px solid #928178;
  padding: 5px 20px 3px 20px;
  width: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  display: inline-block;
  text-align: center;
  color: #928178;
}
.information dt .icon2 {
  border: 1px solid #82ae46;
  padding: 5px 20px 3px 20px;
  width: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  display: inline-block;
  text-align: center;
  color: #82ae46;
}
.information dt .icon3 {
  border: 1px solid #db8449;
  padding: 5px 20px 3px 20px;
  width: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  display: inline-block;
  text-align: center;
  color: #db8449;
}
.information dt .icon4 {
  border: 1px solid #507ea4;
  padding: 5px 20px 3px 20px;
  width: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  display: inline-block;
  text-align: center;
  color: #507ea4;
}
.information dt .icon5 {
  border: 1px solid #FF0000;
  padding: 5px 20px 3px 20px;
  width: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  display: inline-block;
  text-align: center;
  color: #FF0000;
}
.information dt {
  margin-bottom: 5px;
}
.information dd {
  border-bottom: 1px dotted #333;
  margin-bottom: 1em;
  padding-bottom: 1em;
}
.information span {
  margin-right: 10px;
  font-size: 1.2rem;
}
.information .icon_new {
  font-size: 0.8rem;
  color: #F00;
}
/*--------------------
intro-section
--------------------*/
#intro-section {
  margin: 0px auto 50px auto;
	text-align: center;
}
#intro-section2 {
  padding: 0px;
}

#intro-section #contents_nav {
  margin: 0px auto 100px auto;
}


#intro-section .lead {
  font-size: 1.5rem;
  margin-bottom: 20px;
}
#intro-section .lead p {
  font-size: 1.2rem;
  margin: 10px auto 20px auto;
}
#intro-section .lead span {
  display: inline-block;
}
/*#intro-section .and {
  font-size: 2rem
}*/

.nav_arrow,.nav_arrow_on {
  position: relative;
	margin: 0 5px 0 0;
	text-indent: -16px;
}
.nav_arrow::after { /* くの字の表示設定 */
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  width: 8px;    /* くの字を山なりに見た時、左側の長さ */
  height: 8px;   /* くの字を山なりに見た時、右側の長さ */
  border-top: 1px solid #3B1D12;     /* くの字を山なりに見た時、左側の太さと色 */
  border-right: 1px solid #3B1D12;   /* くの字を山なりに見た時、右側の太さと色 */
  transform: rotate(135deg);    /* くの字の向き */
}


.section-title h3, .section-title2 h3, .section-title3 h3 {
  font-size: 2rem;
  line-height: 1.2;
}

.section-title h3,.section-title h4 {
  padding-bottom: 20px;
}
.section-title3 h3 {
  text-align: left;
}
.section-title, .section-title2 {
  text-align: center;
}
.section-title3 {
  text-align: left;
}

.section-title h3 span.sttl, .section-title2 h3 span.sttl, .section-title3 h3 span.sttl{
  display: block;
}
.section-title h3 span, .section-title2 h3 span, .section-title .lead span, .section-title3 .lead span {
  display: inline-block;
}
.section-title .lead,.section-title2 .lead,.section-title3 .lead {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.section-title2 .text {
  margin-bottom: 30px;
}
.section-title .text,.section-title3 .text {
  text-align: left;
  margin-bottom: 30px;
}

#info-section .heading-section {
  margin-bottom: 1em;
  margin-top: 50px;
}
#info-section h3 {
  border-bottom: double 3px #a58f86;
  padding-bottom: 0.5em;
  text-align: center;
}
#info-section dl {
  width: 100%;
  height: auto;
  border-bottom: 1px dotted #333;
  margin: 0 auto 0.5em auto;
}
#info-section dl:last-child {
  width: 100%;
  height: auto;
  /*border-bottom: double 3px #a58f86;*/
  padding-bottom: 2em;
  margin: 0 auto;
}
#info-section table {
  border-collapse: collapse;
  width: 100%;
  border: solid 1px #a58f86;
  margin-bottom: 10px;
}
#info-section th {
  padding: 10px;
  text-align: center;
  background-color: #d3cbc6;
  min-height: 40px;
  border: solid 1px #a58f86;
  line-height: 30px;
  white-space: nowrap;
}
#info-section th.ttl {
  width: 30%;
}
#info-section td {
  padding: 10px;
  border: solid 1px #a58f86;
  text-align: left;
  min-height: 40px;
}
#info-section td span {
  display: inline-block;
}
/*--------------------
Footer
--------------------*/
#web_nav {
  width: 100%;
  border-top: 1px solid #a58f86;
  text-align: center;
  line-height: 4;
	background: url("../img/bg3.gif");
}
#web_nav .line1 {
  border-bottom: 1px solid #a58f86;
}
#web_nav .line2 {
  border-right: 1px solid #a58f86;
  border-bottom: 1px solid #a58f86;
}
#web_nav p:hover {
  opacity: 0.7;
}
#web_nav a {
  color: #3B1D12;
  text-decoration: none;
}
#web_nav a:visited {
  color: #935656;
  opacity: 0.7;
  text-decoration: none;
}
#web_nav a:hover {
  color: #832C38;
  opacity: 0.7;
  text-decoration: none;
}
#web_nav a:active {
  color: #710F3D;
  text-decoration: none;
}
#footer ul {
  margin: 0;
  padding: 0;
}
#footer {
  padding: 3em 0;
  color: #FFF;
  background: url(../img/bg_footer.jpg) center/cover no-repeat fixed;
}
#footer a {
  color: #FFF;
}
#footer a:hover, #footer a:focus, #footer i:hover {
  text-decoration: none;
  color: rgba(204, 204, 204, 1);
}

#footer #logo img {
  width: 120px;
  height: auto;
  margin: 5px 0;
}
#footer i {
  padding: 0 10px;
}
#ftr-nav {
  width: 100%;
  text-align: left;
  margin: 0px auto;
}
#ftr-nav li {
  /*display: inline-block;*/
  line-height: 1.8;
}
#ftr-nav li + li::before {
  content: "-";
  color: #FFF;
  margin-left: .5em;
  margin-right: .5em;
}
#ftr-nav2 {
  width: auto;
/*display: flex;
  justify-content:right;*/
  text-align: left;
	font-size: 1rem;
}

#ftr-nav2 dl{
	width: 100%;
	height: auto;
	margin-bottom: 0.5em;
	text-align: left;
}

#ftr-nav2 dt{
	width: 38%;
	height: auto;
	color: #dcd3b2;
	float: left;

}
#ftr-nav2 dd{
	width: 62%;
	height: auto;
	margin-left: 38%;

}
#ftr-nav2 dd span{font-size: 1.5rem; padding: 0; margin: 0;}
#ftr-nav2 #add{margin: 20px 0 50px 0; line-height: 1.5;}
#ftr-nav2 #add h6 {
  margin-top: 10px;
  color: #FFF;
  padding-top: 0;
  text-align: left;
}

#footer .copy-right {
  font-size: 0.7rem;
  width: 100%;
  height: auto;
  text-align: center;
  padding: 10px 0;
  color: #FFF;
  letter-spacing: 1px;
}
/*#footer-gr{margin: 0; padding: 0;}*/
#footer-gr{width: 100%; margin:0 auto; background-color: #f3f3f2; text-align: center;}
#footer-gr .container{padding: 30px 0;}
#footer-gr .bnr{ padding-bottom: 5px; border-bottom: 1px dotted #333; margin-bottom: 10px;}
#footer-gr .shun{ margin-bottom: 30px;}
#footer-gr a:hover img{opacity: 0.5 ;}
/* page_top button
---------------------------------- */
#page_top {
  width: 90px;
  height: 90px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  display: none;
  z-index: 200;
}
#page_top a {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
  background: #664343;
  border-radius: 50%;
  /* background color transition */
  -webkit-transition: 1s;
  -moz-transition: 1s;
  transition: 1s;
}
#page_top a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  content: "\f106";
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after {
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a:hover {
  -ms-filter: "alpha( opacity=80 )"; /* IE8 */
  filter: alpha(opacity=80); /* IE6とIE7 */
  opacity: 0.80; /* IE以外 */
  text-decoration: none;
}
/*--------------------
scroll
--------------------*/
#scroll a {
  display: inline-block;
  position: absolute;
  right: 40px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
#scroll a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #fff;
}
#scroll a::after {
  animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  35% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  35.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  70%, 100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/* 画面サイズ 1200px 以上 */
@media (min-width: 1201px) {

  }
  
/* 画面サイズ 600px 以上 1200px 未満 */
  @media (max-width: 1200px) {
  .carousel-indicators li {
    box-sizing: content-box;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 70px solid transparent;/*インジケーター位置*/
    opacity: .5;
    transition: opacity .6s ease
}
    
    
	#carousel-1 .carousel-caption {
  font-size: 1.6rem;
  font-weight: 300;
  white-space: nowrap;
}
    
    #gnav-section-inner {
      padding-top: 120px;
    }

    
    #wrap_ttl .sttl, h3 .sttl {
      font-size: 0.9rem;
    }
	
   #wrap_ttl h2{
      font-size: 1.8rem;

    }
   
    .gnav .gnav__wrap .container {
      padding-top: 50px;
      overflow-y: auto !important;
    }
    li.gnav__menu__item {
      padding-bottom: 10px;
      border-bottom: 1px #666 solid;
    }
    .gnav__menu__item {
      font-size: 90%;
    }
    /*.slide_left{ display: none;}*/
   #lng, #gnav-section {
      display: none;
    }
    .navbar-brand {
      position: absolute;
      top: 5px;
      left: 10px;
      width: 100px;
      height: auto;
    }
    
    #contact {
      width: auto;
      height: auto;
      position: absolute;
      top: 60px;
      right: 5px;
    }
    
    .fb-wrap {
      margin-top: 50px;
    }
	  #info-section .heading-section {
  margin-top: 0;
}
    #info-section .heading-section h3 {
      font-size: 1.4rem;
    }
    
    .section-title h3,.section-title2 h3,.section-title3 h3 {
      font-size: 1.5rem;
    }

    .section-title2 p {
      text-align: left;
    }
   
    .section-title .lead {
      font-size: 1rem;
      text-align: left;
    }
    #intro-section #contents_nav {
      margin: 0px auto 50px auto;
    } 

    #intro-section .lead {
      font-size: 1.3rem;
    }
    #intro-section .lead p {
      font-size: 1.1rem;
    }
    #intro-section .txt {
      text-align: left;
    }

.slider7-wrap .textphoto2 {
  font-size: 1rem;

}
.slider7-wrap .textphoto2 span {
  display: block;

}

.slick-next::after,
.slick-prev::after {
  width: 16px;
  height: 16px;
}

/* next */
.slick-next {
  right: 8px;
}
.slick-next::after {
  right:3px;
}

/* prev */
.slick-prev {
  left: 8px;
}
.slick-prev::after {
  left: 3px;
}

  /* 画面サイズ 600px 未満 */
  @media (max-width: 599px) {
#wrap_ttl .covid>div{width: 230px; text-align: center;}  
  .o-2column .col-md-6, .o-2column .col-6,.o-2column .col-md-3,.o-2column .col-4,.o-2column .col-md-6, .o-2column .col-8 {
        padding: 0 5px;
    }
    .o-2column {
        margin: 0 -5px;
    }
    .o-3column .col-md-4, .o-3column .col-4 {
        padding: 0 5px;
    }
    /*カラムの左右の余白を15pxに戻す*/
    .o-3column {
        margin: 0 -5px;
    }
    .o-4column .col-md-3 {
        padding: 0 5px;
    }
    .o-4column {
        margin: 0 -5px;
    }
    .o-6column .col-md-2 {
        padding: 0 5px;
    }
    .o-6column {
        margin: 0 -5px;
    }
	  #footer {background:none} /*PC用の背景はオフ*/
	  body::before {
      content: "";
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100%;
      height: 100vh;
      background: url(../img/bg_footer.jpg) center/cover no-repeat; /*fixedをトル！*/
      -webkit-background-size: cover; /*Android4*/
    }
	  #ftr-nav2{margin-top: 30px;}
	  .carousel-item .cap_logo img {
		  position: absolute;
	top: 20%;
    left: 50%;
    transform: translate(-50%, -80%);
    -webkit-transform: translate(-50%, -80%);
    -ms-transform: translate(-50%, -80%);
  opacity:initial;
  width: 80px; height: auto;
		  object-fit: cover;
}
	  #gift_bn {
  position: absolute;
  top: 60%;
  left: 0px;
  padding: 10px;

}
  #reserve {
  font-size: 1.2rem;
}
#reserve .res {
	padding: 10px;
}
    #mainvisual {
      width: 100%;
      min-height: 200px;
      /*margin-top: 100px;
	  */
      object-fit: cover;
    }
    .img_box1 {
      margin-bottom: 10px;
    }
    .img_box2 {
      margin-bottom: 20px;
    }
    .img_box3 {
      margin-bottom: 30px;
    }
	  .img_box3t {
      margin-top: 30px;
    }
#booking_sp .best_rate{border-bottom: 1px solid #a58f86; border-right: none;}
.booking_wrap{margin:0 1px 10px 1px;}
    #info-section dt {
      width: 100%;
      float: none;
      height: auto;
    }
    #page_top a {
      position: relative;
      display: block;
      width: 70px;
      height: 70px;
      margin: auto;
    }
    #page_top a::before {
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      display: inline-block;
      content: "\f106";
      font-size: 25px;
      color: #fff;
      position: absolute;
      width: 25px;
      height: 25px;
      top: -40px;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      text-align: center;
    }
    #page_top a::after {
      content: 'PAGE TOP';
      font-size: 0.7rem;
      color: #fff;
      position: absolute;
      top: 35px;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      text-align: center;
    }
	.slick_count1 .num,.slick_count2 .num,.slick_count3 .num,.slick_count4 .num,.slick_count5 .num,.slick_count6 .num,.slick_count8 .num {
  font-size: 1.6rem;
  text-align: right;
}
.slick_count1 .num .nowcnt,
.slick_count1 .num .allcnt,
.slick_count2 .num .nowcnt,
.slick_count2 .num .allcnt,
.slick_count3 .num .nowcnt,
.slick_count3 .num .allcnt,
.slick_count4 .num .nowcnt,
.slick_count4 .num .allcnt,
.slick_count5 .num .nowcnt,
.slick_count5 .num .allcnt,
.slick_count6 .num .nowcnt,
.slick_count6 .num .allcnt,
.slick_count8 .num .nowcnt,
.slick_count8 .num .allcnt {
  font-size: 1.8rem;
}
  }	  