@charset "utf-8";
/* CSS Document */
/*------------------------------------------------------------------
https://www.yuuzan.jp/
Last Update 2023/09/27
-------------------------------------------------------------------*/
@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/bg.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;
}

h2, h3, h4, h5, h6 {
    font-weight: normal;
    color: #433d3c;
    text-align: center;
}
h2 {
    font-size: 2.5rem;
    margin-bottom: 50px;
}
h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}
h3.ttl {
    content: "";
    display: inline-block;
    background: url("../img/ttl_icon.png") no-repeat;
    background-position: center top;
    padding-top: 40px;
}
h2 .sttl {
    font-size: 1rem;
    letter-spacing: .2rem;
    color: #d0576b;
    display: block;
    padding-bottom: 20px;
}
h3 .sttl {
    font-size: 1rem;
    letter-spacing: .2rem;
    color: #d0576b;
    display: block;
}
h3 span {
    display: block;
    line-height: 2;
}
.clear {
    clear: both;
}
ruby[data-ruby] {
    position: relative;

}
ruby[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1.3em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.5em;
    text-align: center;
}

rt {
    display: none;
}
/* パソコンで見たときは"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;
    }
}
li {
    list-style: none;
}
#main-contents a:link {
    color: #a25768;
    text-decoration: none;
}
#main-contents a:visited {
    color: #c97586;
    opacity: 0.7;
    text-decoration: none;
}
#main-contents a:hover {
    color: #b94047;
    opacity: 0.7;
    text-decoration: none;
}
#main-contents a:active {
    color: #640125;
    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);
}
.pannellum_warp h4 {
    margin-top: 30px;
}
.youtube, .pannellum {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 10px;
}
.youtube iframe, .pannellum iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}
.fa-tripadvisor::before {
    content: url("../img/i_f262.png");
}
.more_plan {
    width: 100%;
    margin: 10px auto 0 auto;
    text-align: center;
}
.more_warp {
    width: 100%;
    display: block;
    margin: 10px 0;
    text-align: left;
}

.more_btn1 {
    width: 100%;
    display: block;
    padding: .8em;
    border: 1px solid #a25768;
    margin: 10px auto;
    text-align: center;
    background-color: #a25768;
}
.more_btn2 {
    width: 300px;
    display: block;
    padding: .8em;
    border: 1px solid #a25768;
    margin: 10px auto;
    text-align: center;
    background-color: #a25768;
}

.more,.more1 {
    font-size: 1rem;
}
.more img,.more1 img {
	width: 30px;
	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 {
    color: #a25768;
    text-decoration: none;
}
.more a:visited {
    color: #c97586;
    opacity: 0.7;
    text-decoration: none;
}
.more a:hover {
    color: #b94047;
    opacity: 0.7;
    text-decoration: none;
}
.more a:active {
    color: #640125;
    text-decoration: none;
}
.more1 a p{
    color: #FFF;
    text-decoration: none;
}
.more1 a:visited p {
    color: #eee;
    opacity: 0.7;
    text-decoration: none;
}
.more1 a:hover p{
    color: #EEE;
    opacity: 0.7;
    text-decoration: none;
}
.more1 a:active p {
    color: #fff;
    text-decoration: none;
}
.btn1 {
    position: relative;
    width: auto;
    height: auto;
    display: block;
    padding: .9em 1em;
    margin: 5px auto 0 auto;
    border-bottom: 1px solid rgba(232, 211, 209, 1);
    text-align: center;
    text-decoration: none;
    transition: all .3s;
    font-size: 1rem;
    color: #a25768;
}
.btn1_on {
    position: relative;
    width: auto;
    height: auto;
    display: block;
    padding: .9em 1em;
    margin: 5px auto 0 auto;
    border-bottom: 1px solid rgba(162,87,104,1);
    text-align: center;
    text-decoration: none;
    transition: all .3s;
    font-size: 1rem;
    color: #a25768;
}
.btn1:hover, .btn1_on:hover {
    border-bottom: 1px solid rgba(185, 64, 71, 1);
    color: #b94047;
    text-decoration: none;
}

.txt_red01 {
    color: #C00;
}

.txt_gray{color: #aaa;}
.txt_pink_b { color:#F36; font-weight:bold;}
.under {
    background: linear-gradient(transparent 70%, #ffadad 70%);
    font-weight: bold;
    border-radius: 4px;
}
/*--------------------------------
header__hamburger
---------------------------------*/

.header__hamburger {
  position: fixed;
 right: 0px;
  top: 0px;
  width: 50px;
  height: 50px;
  /*mix-blend-mode: difference;*/
  cursor: pointer;
  display: block;
  justify-content: center;
  align-items: center;
  z-index: 1000;
	background: #000;
}

.header__hamburger span {
  position: absolute;
	
  top: 0px;
	right: 10px;
	width: 30px;
	height: 2px;
	margin: 4px auto;
  background: #ffffff;

  transition: all .6s;
}

.header__hamburger span:nth-of-type(1) {
  top: 10px;
  width: 30px;
}

.header__hamburger span:nth-of-type(2) {
  top: 20px;
  width: 30px;
}

.header__hamburger span:nth-of-type(3) {
  top: 30px;
  width: 30px;
}


/* メニュー */
.header__nav-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(67,61,60,0.9);
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
  display: flex;
	padding-top: 50px;
	overflow-y: auto; /* 縦スクロールを有効化 */
	
}

.header__menu-toggle:checked ~ .header__nav-content {
  visibility: visible;
  opacity: 1;
	display: block;
}

/* クリック時 */
.header__menu-toggle:checked + .header__hamburger span {
  width: 30px;
}

.header__menu-toggle:checked + .header__hamburger span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.header__menu-toggle:checked + .header__hamburger span:nth-child(2) {
  opacity: 0;
}
.header__menu-toggle:checked + .header__hamburger span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* 背景スクロールを防ぐ */
.header__menu-toggle:checked ~ body {
  overflow: hidden;
}


.header__nav-content ul li a{
  display: block;
	padding: 10px 0;
	transition: all 0.2s ease-in-out;
	text-align: left;
	text-decoration: none;
	color: #ffffff;
	list-style: none;
}
.header__nav-content ul li a:hover{color: rgba(204, 204, 204, 1);}

.nav_lng {
	font-size: 0.9rem;
	align-items:center;
	justify-content: center;
	text-align: center;
	margin-top: 50px;

}

.nav_lng div{
	display: inline-block;
	line-height: 2;
	margin-bottom: 5px;
	margin-top: 50px;
}
.nav_lng  div+ div::before {
	
	content: "/";
	color: #fff;
	margin-left: .5em;  
  margin-right: .5em; 
  	
}

.nav_foot {
	
	align-items:center;
    text-align: center;
    height: auto;
    justify-content: center;
	width: 100%;
	color: #fff;
	line-height: 2.4;
	padding-bottom: 50px;
}

.nav_foot .logo{width: 180px; height: auto; margin: 10px auto;}
.nav_lng a{ color: #fff; text-decoration: none; transition: .5s;}
.nav_lng a:hover{ color: rgba(204, 204, 204, 1); }
/*--------------------------------
dropmenu_language
---------------------------------*/

#lng {
	width:140px;
	height: 40px;
	line-height: 1;
	z-index: 1000;
	display: inline-block;
	background-color: #a22041;
	color: #fff;
    padding-top: 6px;
}

#lng i{padding:0 10px 0 15px;}

.arrow1 {
display: block;
position: relative;
font-size: 1rem;
text-decoration: none;
}
.arrow1:after {
	display: block;
	color: #fff;
	content: "";
	position: absolute;
	top: 35%;
  right: 155px;
  width: 0.5em;
  height: 0.5em;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: translateX(-25%) rotate(45deg)
}

#fade-in2 {
	position: relative;
	z-index: 1000;
}
#fade-in2 li ul {
	opacity: 0;
	margin-top: 10px;
	visibility: hidden;
	transition: .5s;
}
#fade-in2 li:hover ul {
	
	visibility: visible;
	opacity: 1;

}
.dropmenu {
 *zoom: 1;
	list-style-type: none;
	width: auto;
	margin: 5px auto 0;
	padding: 0;
z-index: 1000;
	
}
.dropmenu:before, .dropmenu:after {
	content: "";
	display: table;
}
.dropmenu:after {
	clear: both;
}
.dropmenu li {
	position: relative;
	width: 280px;
	float: left;
	margin: 0;
	padding: 0;
	text-align: center;
	
}
.dropmenu li a {
	display: block;
	margin: 0;
	padding: 10px 0 11px;
	color: #433d3c;
	line-height: 1;
	background-color: rgba( 255, 255, 255, 0 );
	text-decoration: none;
}
.dropmenu li ul {
	position: absolute;
	
	left:142px;
	z-index: 1000;
	min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
	background-color: rgba( 255, 255, 255, 0.8 );
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem;
}
.dropmenu li ul li {
	width: 100%;

}
.dropmenu li ul li a {
	padding: 10px 15px;
	text-align: center;

}
.dropmenu li:hover > a {
	color: #433d3c;
}
.dropmenu li a:hover {
	background-color: rgba( 238, 238, 238, 1.0 );
}
	

@media (min-width: 768px) {
#fade-in2 li:hover ul {

	bottom: -100%;/*メニューの位置*/
}
   .dropmenu li ul {

	bottom: -100%;/*メニューの位置*/
}
}

@media (min-width: 1280px) {
  #fade-in2 li:hover ul {

	bottom: -5rem;/*メニューの位置*/
}
   .dropmenu li ul {

	bottom: -5rem;/*メニューの位置*/
}

}
/*--------------------
Contacts
--------------------*/
header {
    background: url(../img/bg.gif);
}
#header-container {
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    background-position: 0% 50%;
    background-size: cover;
    height: auto;
    z-index: 50;
}

#reserve {
    font-size: .9rem;
    width: 100%;
    height: auto;
    position: relative;
    top: 70px;
    right: 0px;
    clear: both;
    z-index: 100;
}
#reserve .res {
    display: block;
    position: fixed;
    right: 0px;
    top: 70px;
    color: #FFF;
    background-color: #A22041;
    width: 40px;
    height: auto;
    text-align: center;
    padding: 5px 0;
}
#reserve .res span{display: flex;
  justify-content: center;
  align-items: center;
}
#reserve .res a {
    display: inline-block;
    text-decoration: none;
    color: #FFF;
    -webkit-writing-mode: vertical-rl; /* Chrome,Safari対応*/
    -ms-writing-mode: tb-rl; /* IE対応*/
    writing-mode: vertical-rl;
    text-orientation: upright;
}
#reserve .res a:hover {
    display: inline-block;
    text-decoration: none;
    color: #FFF;
    opacity: 0.5;
}
#reserve .group {
    display: block;
    position: absolute;
    right: 50px;
    top: 0;
    color: #433d3c;
    background-color: #FFF;
    width: 40px;
    height: auto;
    text-align: center;
    padding: 5px 0;
}
#reserve .group a {
    /*font-size: 0.8rem;*/
    display: inline-block;
    text-decoration: none;
    color: #433d3c;
    -webkit-writing-mode: vertical-rl; /* Chrome,Safari対応*/
    -ms-writing-mode: tb-rl; /* IE対応*/
    writing-mode: vertical-rl;
    text-orientation: upright;
}
#reserve .group a:hover {
    display: inline-block;
    text-decoration: none;
    color: #433d3c;
    opacity: 0.5;
}
#tel {
    margin-top: 20px;
}
#contact {
    width: 100%;
    height: auto;
    margin: 10px auto;
    text-align: center;
}
#contact .sec {
    float: left;
    margin-right: 10px;
}
#contact .sec:last-child {
    margin-right: 0px;
}
#contact .sec i {
    font-size: 1.5rem;
    line-height: 1.5;
    padding-right: 5px;
}
#contact .sec a {
    color: #433d3c;
}
#contact .sec a:hover {
    color: #6D5A52;
}
#contact .sec a:hover img {
    opacity: 0.7;
}

/* gnav
------------------------------------------------------------------- */
#gnav-section {
    width: 100%;
    font-size: 0.9rem;
    z-index: 20;
}
#gnav-section-inner {
    padding-top: 0px;
    padding-right: 10px;
    margin: 0 auto;
    text-align: center;
}
#gnav li {
    width: 30px;
    float: left;
    height: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 2;
}
#gnav li:before {
    content: '';
    position: relative;
    top: 0;
    left: 6px;
    right: 0;
    width: 1px;
    height: 10px;
    margin: auto;
    display: inline-block; /* インラインブロックにする */
    background-color: #000000; /* 背景色指定 */
}
#gnav li a {
    display: block;
    overflow: hidden;
    color: #433d3c;
    align-items: center;
    -webkit-writing-mode: vertical-rl; /* Chrome,Safari対応*/
    -ms-writing-mode: tb-rl; /* IE対応*/
    writing-mode: vertical-rl;
    text-orientation: upright;
}
/* navbar-nav下線アニメーション */
#gnav ul {
    display: flex;
}
#gnav li {
    padding: 5px;
}
#gnav a {
    display: block;
    position: relative;
    text-decoration: none;
}
#gnav a::before, #gnav a::after {
    border-right: solid 1px #433d3c;
    right: 0;
    content: "";
    display: block;
    position: absolute;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    height: 0;
}
#gnav a::before {
    top: 50%;
}
#gnav a::after {
    bottom: 50%;
}
#gnav a:hover::before, #gnav a:hover::after {
    height: 50%;
}
#gnav .nav-on a {
    display: block;
    position: relative;
    text-decoration: none;
}
#gnav .nav-on a::before, #gnav .nav-on a::after {
    border-right: solid 1px #433d3c;
    right: 0;
    content: "";
    display: block;
    position: absolute;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    height: 100%;
}
#gnav .nav-on a::before {
    top: 0%;
}
#gnav .nav-on a::after {
    bottom: 0%;
}
#gnav .nav-on a:hover::before, #gnav .nav-on a:hover::after {
    height: 100%;
}

.container {
    overflow: hidden;
    margin: 0 auto;
}

#slide_sec img {
    margin: 0 auto;
}
#slide_sec {
    position: relative;
    width: 100%;
    padding: 0;
	margin: 0 0 0 auto;
}
#left_content {
    /*position: absolute;
	left:0;
	top:35%;
	right: 0;
	width: 20%;*/
    margin-top: 252px;
    z-index: 30;
    text-align: center;

}
.carousel-item {
    position: relative;
    background-color: #000;
}
.carousel-item img {
    opacity: 0.7;
}
#carousel-1 {
    margin: 0;
    width: 100%;
    overflow: hidden;
}
.carousel-item img {}
#carousel-1 .carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    z-index: 10;
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    width: 100%;
}
#main-contents {
    padding: 50px 0;
    background: url(../img/bg.gif);
    overflow-x: hidden;
}
.navbar-brand {
    width: 16%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
    text-align: center;
    padding: 10px;
    font-size: 0;
    background: url("../img/bg.gif");
}
/*--------------------
Main
--------------------*/
#mainvisual img {
    width: 100%;
}
#mainvisual {
    margin: 0 0 0 auto;
    padding: 0;
}
.breadcrumb {
    width: 100%;
    font-size: 90%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.5rem 1rem;
    list-style: none;
    background: url("../img/bg.gif");
    border-radius: 0.25rem;
    justify-content: flex-end;
}
.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 a { /* 文字色 */
    color: #a25768;
    text-decoration: none;
}
.breadcrumb-item.active {
    color: #640125;
}
#map {
    margin: 50px auto 100px auto;
}
.cap {
    font-size: 0.8rem;
    text-align: right;
    margin-top: 5px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.cap p {
    margin: 0px;
    padding: 0px;
}
#booking_sp {
    margin-bottom: 100px;
}
#booking_sp #ttl img {
    margin: 10px 0 0 0;
}
#booking_sp #ttl .cap {
    border-top: 1px solid #d0576b;
    padding-top: 10px;
    font-size: 0.9em;
    text-align: center;
}
#booking_sp .gift {
    width: 100%;
    min-height: 105px;
    text-align: center;
    background-color: #945141;
    padding: 20px 0;
    border-radius: 20px;
    margin-bottom: 10px;
}
/* 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;
}
.plan_table01 {
    text-align: left;
    margin: 12px 0 36px 0;
    border-top: #A22041 4px solid;
    line-height: 1.5;
    width: 100%;
}
.plan_table01 th {
    padding: 4px;
    background: #E8D3D1;
    border-bottom: #9e8b8e 1px solid;
    border-left: #9e8b8e 1px solid;
    border-right: #9e8b8e 1px solid;
    white-space: nowrap;
    text-align: center;
    font-weight: normal;
}
.plan_table01 td.txt {
    padding: 4px;
    background: #FFF;
    text-align: left;
    font-weight: normal;
}
.plan_table01 td {
    padding: 4px;
    background: #FFF;
    border-bottom: #9e8b8e 1px solid;
    border-left: #9e8b8e 1px solid;
    border-right: #9e8b8e 1px solid;
}
.plan_table01 td.pttl {
    padding: 0px;
}
.plan_table01 p.btn_book {
    padding: 5px;
}
[class^="img-flex-"] {
    margin-bottom: 10px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    margin: 0 auto;
    -webkit-justify-content: center; /* Safari etc. */
    -ms-justify-content: center; /* IE10        */
    justify-content: center;
    /*-webkit-justify-content: space-between;
	justify-content: space-between;*/
}
.img-flex-3 img {
    width: 33%;
    height: auto;
    max-width: 200px;
    padding: 4px;
    align-self: flex-start;
}
.price_table01 .std {
    background: #EEEAD1;
}
.price_table01 .spe {
    background: #D6E9CA;
}
.price_table01 .dlx {
    background: #C1E4E9;
}
.price_table01 .sui {
    background: #DBD0E6;
}
/*.price_table01 th.rt,.price_table02 th.rt{background-color: #FF2626; color: #FFF;}
.price_table01 th.rt a:link{color: #FFF;}
.price_table01 th.rt a:visited{color: #FFF;}
.price_table01 th.rt a:hover{color: #FFF;}
.price_table01 th.rt a:active{color: #FFF;}*/
.price_table01 p, .price_table02 p {
    margin-bottom: 5px;
}
.price_table01, .price_table02 {
    margin: 0 0 5px 0;
    border-top: #9e8b8e 1px solid;
    text-align: left;
    line-height: 1.2;
}
.price_table01 {
    float: left;
    width: 50%;
}
.price_table01 th, .price_table02 th {
    padding: 5px;
    background: #E8D3D1;
    border-bottom: #9e8b8e 1px solid;
    border-left: #9e8b8e 1px solid;
    border-right: #9e8b8e 1px solid;
    text-align: center;
    font-weight: normal;
}
.price_table01 th {
    white-space: nowrap;
}
.price_table01 td, .price_table02 td {
    width: 120px;
    padding: 5px;
    background: #fff;
    border-bottom: #9e8b8e 1px solid;
    border-right: #9e8b8e 1px solid;
    text-align: right;
}
.comm {
    font-size: 0.7rem;
}
/*--------------------
slick_slider
--------------------*/
* {
    box-sizing: border-box;
}
.sliderArea {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 24px;
}
/*.sliderArea.w900 {
  max-width: 900px;
}*/
.slick-slide {
    margin: 0 0px;
    position: relative;
}
.slick-slide img {
    width: 100%;
    height: auto;
}

/*.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}*/
.slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2;
}
.slick-active {
    opacity: 1;
}
.slick-current {
    opacity: 1;
}
.thumb {
    margin: 20px 0 0;
}
.thumb .slick-slide {
    cursor: pointer;
}
.thumb .slick-slide:hover {
    opacity: .7;
}
/*.full-screen .slick-slide:not(.slick-center) {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-o-filter: grayscale(100%);
-ms-filter: grayscale(100%);
filter: grayscale(100%);
transition: 0.2s linear;
}
*/
.slick-arrow {
    display: block;
    position: absolute;
    top: 50%;
    /*bottom: 0;*/
    margin: auto;
    padding: 0;
    width: 20px;
    height: 38px;
    color: transparent;
    z-index: 1;
    transition: opacity 0.5s;
    z-index: 1;
}
.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: 1px solid #A22041;
    border-right: 1px solid #A22041;
}
/* next */
.slick-next {
    right: 26px;
}
.slick-next::after {
    right: -50px;
    transform: rotate(45deg);
}
/* prev */
.slick-prev {
    left: 26px;
}
.slick-prev::after {
    left: -50px;
    transform: rotate(-135deg);
}
.textphoto {
    width: 100%;
    font-size: 100%;
    text-align: left;
    bottom: 10px;
    margin: 0;
    padding: 8px 0;
    color: #FFF;
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    padding-left: 1rem;
}
.textphoto span {
    font-size: 0.8em;
}
/*--------------------
information
--------------------*/
.information {
    padding-right: 20px;
}
.information dt .icon1 {
    border: 1px solid #928178;
    padding: 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: 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: 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: 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: 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, #intro-section2 {
    margin: 150px 0 0 0;
    text-align: left;
}
#contents_nav {
    margin: 0px auto 50px auto;
}
#contents_nav2 {
    margin:20px auto;
	display: flex;
	justify-content: center;
}
#contents_nav a,#contents_nav2 a {
    color: #a25768;
}


#intro-section h2, #intro-section2 h2 {
    text-align: left;
}
#intro-section h2 .sttl {
    font-size: 1.5rem;
    letter-spacing: .2rem;
    color: #d0576b;
    display: initial;
    padding-left: 50px;
}
#intro-section2 h2 .sttl {
    font-size: 1.5rem;
    letter-spacing: .2rem;
    color: #d0576b; /*display: inline-block; margin: -30px 0;*/ padding-top: 20px;
}
#intro-section .lead {
    font-size: 1.5rem;
    margin-bottom: 20px;
}
#intro-section2 .lead2 {
    font-size: 1.5rem;
    margin: -40px 0 20px 0;
}
#intro-section .lead span {
    display: inline-block;
}
#intro-section .and {
    font-size: 2rem
}
#intro-section2 .txt {
    margin-top: -40px;
}
.section-title, .section-title2 {
    text-align: center;
}
.section-title h3 span.sttl, .section-title2 h3 span.sttl {
    display: block;
}
.section-title h3 span, .section-title2 h3 span, .section-title .lead span {
    display: inline-block;
}
.section-title .lead {
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.section-title2 {
    margin-bottom: 50px;
}
.section-title .text {
    text-align: left;
    margin-bottom: 30px;
}
#info-section .heading-section {
    margin-top: 50px;
}
#info-section h3 {
    border-bottom: double 3px #d0576b;
    padding-bottom: .5em;
    text-align: center;
}
#info-section dl {
    width: 100%;
    height: auto;
    border-bottom: 1px dotted #333;
    margin: 0 auto 0.5em auto;
}
#info-section .table th:first-child{
  position: sticky;
  left: 0;
}
#info-section table {
    border-collapse: collapse;
    width: 100%;
    border: solid 1px #9e8b8e;
    margin-bottom: 10px;
}
#info-section th {
    padding: 10px;
    text-align: center;
    background-color: #E8D3D1;
    min-height: 40px;
    border: solid 1px #9e8b8e;
    line-height: 30px;
    white-space: nowrap;
}
#info-section th.ttl {
    width: 30%;
}
#info-section td {
    padding: 10px;
    border: solid 1px #9e8b8e;
    text-align: left;
    min-height: 40px;
}
#info-section td span,#info-section dd span {
    display: inline-block;
}
#info-section .cancel{font-weight:bold;}
/*--------------------
Footer
--------------------*/
#web_nav {
    width: 100%;
    height: auto;
    border-top: 1px solid #e8d3d1;
    text-align: center;
    line-height: 4;
    margin: 100px auto 0 auto;
}
#web_nav .line1 {
    border-bottom: 1px solid #e8d3d1;
}
#web_nav .line2 {
    border-right: 1px solid #e8d3d1;
    border-bottom: 1px solid #e8d3d1;
}
#web_nav p:hover {
    opacity: 0.7;
}
#web_nav a {
    color: #a25768;
    text-decoration: none;
}
#web_nav a:visited {
    color: #c97586;
    opacity: 0.7;
    text-decoration: none;
}
#web_nav a:hover {
    color: #b94047;
    opacity: 0.7;
    text-decoration: none;
}
#web_nav a:active {
    color: #640125;
    text-decoration: none;
}
#footer ul {
    margin: 0;
    padding: 0;
}
#footer {
    padding: 3em 0;
    color: #FFF;
    background-color: #9D5353;
}
#footer a {
    color: #FFF;
    text-decoration: none;
}
#footer a:hover, #footer a:focus, #footer i:hover {
    text-decoration: none;
    color: rgba(204, 204, 204, 1);
}
#footer #add h6 {
    margin-top: 0;
    color: #FFF;
    padding-top: 0;
    text-align: left;
}
#footer #logo img {
    width: 180px;
    height: auto;
    margin: 5px 0;
}
#footer i {
    padding: 0 10px;
}
#ftr-nav {
    width: 100%;
    text-align: center;
    margin: 10px auto 20px auto;
}
#ftr-nav li {
    display: inline-block;
    line-height: 1;
}
#ftr-nav li + li::before {
    content: "/";
    color: #FFF;
    margin-left: .5em;
    margin-right: .5em;
}
#ftr-nav2 {
    width: 100%;
    text-align: center;
    margin: 0px auto 20px auto;
}
#ftr-nav2 li {
    display: inline-block;
    line-height: 1;
    margin-left: .5em;
    margin-right: .5em;
}
#ftr-nav3 {
    width: 100%;
    text-align: center;
    margin: 0px 0 20px 0;
}
#ftr-nav3 li {
    display: inline-block;
    line-height: 1;
}
#footer .copy-right {
    font-size: 0.8rem;
    width: 100%;
    height: auto;
    text-align: center;
    padding: 10px 0;
    color: #FFF;
    letter-spacing: 1px;
	margin: 0 auto;
}

#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: #A22041;
    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%;
    }
}
.slider-text {
    margin-top: 5px;
}
.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}
.popup_plan {
    margin-top: 10px;
}
.bg_onetime_popup.js_active {
    opacity: 1;
    visibility: visible;
}
.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    min-width: 400px;
    background-color: #fff;
    cursor: pointer;
}
.onetime_popup_title {
    position: relative;
    padding: 5px 30px;
    margin: 0px;
    background-color: #000;
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 1.5;
}
.onetime_popup_title::before, .onetime_popup_title::after {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    width: 30px;
    height: 4px;
    background-color: #fff;
    content: "";
}
.onetime_popup_title::before {
    transform: rotate(45deg);
}
.onetime_popup_title::after {
    transform: rotate(-45deg);
}
.onetime_popup_content {
    padding: 20px 30px;
    text-align: center;
}
/* calendar
------------------------------------------------------------------- */
#cal_warp {
    width: 100%;
    height: auto;
    overflow-x: scroll;
    margin-bottom: 50px;
}
#calendar {
    background: url("../img/bg.gif");
}
#calendar table {
    width: 100%;
    height: auto;
    margin: 0;
}
#calendar .prev {
    float: left;
    width: 30%;
    text-align: left;
}
#calendar .month {
    float: left;
    width: 40%;
    text-align: center;
}
#calendar .next {
    float: left;
    width: 30%;
    text-align: right;
}
#calendar th {
    padding: 5px;
    font-size: 14px;
    white-space: nowrap;
}
#calendar td {
    padding: 3px;
}
#calendar .sat {
    color: #007FFF;
}
#calendar .sun {
    color: #CC0000;
}
#calendar .txt_box p {
    text-align: left;
    margin-top: 5px;
    line-height: 2;
    font-size: 0.9rem;
}
#calendar .stop {
    text-align: left;
    clear: both;
}
#calendar p {
    float: left;
    padding-left: 10px;
}
#calendar .lady::before {
    content: "";
    width: 20px; /* 幅指定 */
    height: 20px; /* 高さ指定 */
    display: inline-block; /* インラインブロックにする */
    background: url("../../spa/yumeguri/lady.gif") no-repeat;
    vertical-align: middle;
    margin-right: 5px;
}
#calendar .off::before {
    content: "";
    width: 20px; /* 幅指定 */
    height: 20px; /* 高さ指定 */
    display: inline-block; /* インラインブロックにする */
    background: url("../../spa/yumeguri/close.gif") no-repeat;
    vertical-align: middle;
    margin-right: 5px;
}
#calendar .camp::before {
    content: "";
    width: 20px; /* 幅指定 */
    height: 20px; /* 高さ指定 */
    display: inline-block; /* インラインブロックにする */
    background: url("../../spa/yumeguri/camp.gif") no-repeat;
    vertical-align: middle;
    margin-right: 5px;
}
#calendar a:link {
    color: #a25768;
    text-decoration: none;
}
#calendar a:visited {
    color: #c97586;
    opacity: 0.7;
    text-decoration: none;
}
#calendar a:hover {
    color: #b94047;
    opacity: 0.7;
    text-decoration: none;
}
#calendar a:active {
    color: #640125;
    text-decoration: none;
}
.dropmenu li ul {
		position: absolute;
 margin: .125rem 0 0;	
}
/* 上記最大幅～1026pxまでの範囲のスタイルを記述（PCファースト） */
@media screen and (max-width: 1025px) {
    /* ここに1025px以下の範囲のスタイルを記述 */
    /* 769~1025pxが適用範囲 */
}
@media screen and (max-width: 768px) {
    /* ここに768px以下の範囲のスタイルを記述 */
    /* 481px~768pxが適用範囲 */
    /*↓カラム間のガター幅が5px、カラムの左右の余白が5pxになる*/
#contents_nav2 {
	display: flex;
	justify-content: left;
	padding-left: 5px;
}
	.wrapper {
    overflow-x: hidden;
}
    .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;
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.6rem;
    }
    h2 .sttl, h3 .sttl {
        font-size: 0.9rem;
    }
	.header__nav-content ul li { padding:6px 10px; border-bottom: 1px #666 solid; margin: 0; font-size: 0.9rem;}
    .navbar-brand {
        position: absolute;
        top: 5px;
        left: 0px;
        width: 150px;
        height: auto;
        background: url(../img/bg.gif);
        margin: -5px auto 0 auto;
		
    }
    .carousel-item img {
        width: 100%;
        height: 400px;
        object-fit: cover;
    }
    .pannellum_warp h4 {
        font-size: 1rem;
    }
    #carousel-1 .carousel-caption {
        font-size: 1.6rem;
        font-weight: 300;
        white-space: nowrap;
    }
    .carousel-indicators {
        top: 78%;
    }

    
    #carousel-1 {
        margin: 0 0 0 10%;
    }
    #late_bn {
        left: 10%;
        margin-left: -19px;
    }
    #mainvisual img {
        margin: 0 0 0 10%;
    }
    .header-warp2 {
        height: 100px;
    }

    #gnav-section-inner {
        padding-top: 120px;
    }
    .img_box1 {
        margin-bottom: 10px;
    }
    .img_box2 {
        margin-bottom: 20px;
    }
    .img_box3 {
        margin-bottom: 30px;
    }
	.img_box3t {
        margin-top: 30px;
    }
    .plan_table01, .price_table02 {
        font-size: 0.8rem;
    }
    .price_table01 {
        width: 100%;
    }
    .sliderArea {
        margin: 0 auto;
        padding: 0 15px;
    }
    .slick-next::after, .slick-prev::after {
        width: 15px;
        height: 15px;
    }
    /*.slick-next {
    right: -10px;
  }
  .slick-prev {
    left: -10px;
  }
  .slick-next::after {
    right: 4px;
  }*/
    #intro-section, #intro-section2 {
        margin-top: 50px;
    }
    #intro-section h2, #intro-section2 h2 {
        font-size: 2rem;
        margin-bottom: 30px;
        font-feature-settings: "palt";
    }
    #intro-section h2 .sttl {
        font-size: 1rem;
        padding-left: 15px;
    }
    #intro-section2 h2 .sttl {
        font-size: .9rem;
    }
    #intro-section .lead, #intro-section2 .lead2 {
        font-size: 1.3rem;
    }
    #spa #cal_warp h5 {
        text-align: left;
    }
    .fb-warp {
        margin-top: 50px;
    }
    #info-section .heading-section h3 {
        font-size: 1.4rem;
    }
	
}
@media screen and (max-width: 480px) {
    /* ここに480px以上の範囲のスタイルを記述 */
    /* 480px以下適用範囲 */
	
    #info-section dt {
        width: 100%;
        float: none;
        height: auto;
    }
#reserve {
    font-size: 1.2rem;
}

#reserve .res {
position: fixed;
	right: 0;
	top:50px;
	min-width: 50px;
    min-height: 50px;
	padding: 15px;
}
    #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;
    }
}