/* ==========================================================================
Global Styles
========================================================================== */
html {
    font-size: 62.5%
}
body{
    font-family: sans-serif;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", 'メイリオ',Meiryo, serif;
    font-weight: 500;
	font-size: 1.6rem;
}
.f-raleway{
	font-family: 'Raleway', sans-serif;
	font-weight: bold;
}
.group:after {
    content: "";
    display: table;
    clear: both;
}
a {
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-property: color, border-color, background-color;
    transition-property: color, border-color, background-color;
}
.nopadding {
    margin: 0 !important;
    padding: 0 !important;
}
p {
}
p a {
    color: #432c0b;
    border-radius: 3px;
}
a{
    color: #432c0b;
}
a:hover, a:focus {
    color: #7eb99b;
    background-color: none;
    text-decoration: none;
}
.text a{
    text-decoration: underline;
    padding: 2px 4px;
}
.text a:hover, .text a:focus {
    color: #fff;
    background-color: #4c2e0b;
    text-decoration: none;
    border-radius: 4px;
    padding: 2px 4px;
}
.text-v{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

a img:hover{
	opacity: 0.7;
}
ul{
	list-style: none;
	padding: 0;
}
ol{
	padding-inline-start: 1.5rem;
}

dl{
	border-bottom:1px solid #a29370;
	margin-bottom: 1em;

}
dt{
	float: left;
	width: 30%;
	padding:10px 1em 10px 1.5em;
	border-top:1px solid #a29370;
}
dd{
	margin: 0;
	padding:10px 1em 10px 1.5em;
	border-top:1px solid #a29370;
	overflow: hidden;
	background: #fff;
}

table{
	margin: 0 10px;
}
th, td{
	border-collapse: collapse;
	border:1px solid #a29370;
	padding:5px 3px;
	text-align: center;
}
.no-cell{
	background: #dde2ea;
	border: none;
}
img{
	width: 100%;
	height: auto;
}

/* ==========================================================================
btn
========================================================================== */
.btn {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	border-radius: 0;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	border: 1px #432c0b solid;
	background: #432c0b;
	margin-bottom: 10px;
	color: #fff;
	font-size: 1.6rem;
	padding: 0;
}
.btn a{
	padding: 15px 45px ;
	color: #fff;
	display: block;
	font-size: 1.6rem;
}

.btn:hover, .btn:active, .btn:focus {
  box-shadow: none !important;
  outline: none !important;
  background: #cad996 ;
  border: 1px #cad996 solid;
  color: #432c0b ;
}

.btn:hover a, .btn:active a, .btn:focus a{
	 color: #432c0b;
}

.btn-pink {
  background: #d83768;
  border: 1px solid #d83768;
  font-size: 16px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn-pink a{
	color: #fff ;
}
.btn-pink:hover, .btn-pink:focus, .btn-pink:active {
  box-shadow: none;
  background: #fff;
  border: 1px #d83768 solid;
}

.btn-pink:hover a, .btn-pink:focus a, .btn-pink:active a {
  color: #d83768 ;
}


.btn-outline {
  background: #fff;
  border: 1px solid #432c0b;
  font-size: 16px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn-outline a{
	color: #432c0b ;
}
.btn-outline:hover, .btn-outline:focus, .btn-outline:active {
  box-shadow: none;
  background: #432c0b;
  border: 1px #432c0b solid;
}

.btn-outline:hover a, .btn-outline:focus a, .btn-outline:active a {
  color: #fff ;
}

.no-link{
	padding: 15px 45px ;
	display: block;
	font-size: 1.6rem;
	color: #432c0b ;
}
.no-link:hover{
  background: #432c0b;
  border: 1px solid #432c0b;
}

/* ==========================================================================
Navigation
========================================================================== */

.header{
	position: absolute;
	z-index: 1010;
	width: 100%;
	height: 84px;
	background: #fff;
}

.nav-wrapper{
	width: 100%;
	z-index: 999;
}
.logo{
	float: left;
	margin: 0 0 0 5%;
	padding: 30px 0;
}
.logo a{
	width: 251px;
	height: 23px;
	background: #fff url('./../img/gh/logo.png') no-repeat center center;
	background-size: 251px 23px;
	display: block;
	border-radius: 0;
}
.navbar{
	float: right;
	padding: 0 15px;
}
nav ul {
	width: 100%;
	position: relative;
	margin: 0;
	padding:14px 0 0;
}
nav ul::after {
	display: block;
	clear: both;
	content: '';
}
nav li{
	position: relative;
	font-size: 18px;
	font-weight: bold;
	float: left;
	display: block;
}
.nav-link,
.nav-book{
  height: 8em;
  writing-mode: horizontal-tb;
  writing-mode: inherit; 
  -webkit-writing-mode: inherit;
  height:auto;
  font-family: 'Raleway', sans-serif;
}

nav li a{
	padding: 8px;
	color:rgba(51,51,51,1);
}
nav li a:hover,
nav li a:focus{
	color:rgba(57,181,156,1);
	background: #fff;
}
/*.navbar-nav*/

nav li.nav-link{
	padding: 15px 12px;
}
nav li.nav-book,
nav li.nav-en{
	margin: 0 0 0 30px;
}
.nav-book a{
	background: #000;
	color: #fff;
	padding: 15px 30px;
	display: inline-block;
}
.nav-book a{
}
nav li.nav-book{
	border: 1px solid #000;
	
}
nav li.nav-book:hover{
	border: 1px solid #39b59c;
	
}
.nav-book a:hover{
	color:#39b59c!important;
	background:#fff;
}
.nav .open>a, .nav .open>a:hover, .nav .open>a:focus{
	background: #e9e7d9;
}
.nav-toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1030;
    padding: 25px 45px 30px 9px;
    cursor: pointer;
    background: #432c0b;
}
.nav-toggle:focus {
    outline: none;
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
    content: '';
    position: absolute;
    display: block;
    width: 36px;
    height: 4px;
    border-radius: 1px;
    background: #fff;
    cursor: pointer;
}
.nav-toggle span:before {
    top: -10px
}
.nav-toggle span:after {
    bottom: -10px
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.nav-toggle.active span {
    background-color: transparent
}
.nav-toggle.active span:before, .nav-toggle.active span:after {
    top: 0
}
.nav-toggle.active span:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.nav-toggle.active span:after {
    top: 10px;
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
}
.navicon {
    position: absolute;
    top:0;
    right:0;
    height: 26px;
	display: none;
}
.navicon p {
    margin: 24px 14px 0 0;
    font-size: 12px;
}
.navicon-fixed {
    position: fixed;
    top: 59px;
    right: 143px;
}
.nav-hide{
	display: none!important;
}

.nav-sp{
	display: none;
}

/* ==========================================================================
main
========================================================================== */
.wrapper{
	position: relative;
	background: url('./../img/page-ttl-mask.png') repeat-x center top;
	background-size: 200px 300px;
}
h2{
	position: relative;
	font-size: 4rem;
	text-align: center;
	margin: 3rem 0 50px 0;
	line-height: 1;
	color: #333;
}
.h2-sub{
	font-size: 2.0rem;
	color: #333;
	text-align: center;
}
h3{
	font-size: 2.2rem;
	color: #333;
	font-weight: bold;
	margin: 0 0 20px 0;
	text-align: center;
}

h4{
	font-size: 2rem;
	color: #333;
	font-weight: bold;
	margin: 0 0 10px 0;
}

section{
	margin-bottom: 60px;
}
section:before,
section:after{
  display: table;
  content: " ";
}
section:after{
  clear: both;
}
/*
.row{
	margin-bottom: 30px;
}
*/
.ttl{
	text-align: center;
}
.cont-wrap{
	margin-bottom: 40px;
}
.text-wrap{
	padding: 0 15px 20px;
}
.text-wrap-c{
	padding: 0 15px 20px;
	text-align: center;
}
.text{
	margin-bottom: 1.8rem;
	line-height: 1.8;
}
.col-xl-6 .text-wrap{
	padding: 5% 10%;
}
.sub-text{
	display: inline-block;
	padding: 10px 3% 13px;
	border-top: 1px solid #a29370;
	border-bottom: 1px solid #a29370;
}
.fs14{
	font-size: 1.4rem;
}
.fs18{
	font-size: 1.8rem;
}
.fs20{
	font-size: 2rem;
}
.br-sp{
	display: block;
}
.br-pc{
	display: none;
}

.sp{
	display: none;
}
.img{
	padding: 0;
}
.img img{
	width: 100%;
}
.photo{
	display: block;
}

.photo img{
	width: 100%;
}
.photo.half{
	width: 50%;
	position: absolute;
	top:0;
	right: 0;
}
.col-xl-6 .photo{
	margin: 0 1% 12px -6%;
}
.col-md-4 .photo{
	margin: 0 1% 12px 1%;
}
.col-md-3 .photo{
	margin: 0 0 12px 0;
}
.sub-box{
	position: relative;
	background: url('./../img/bg.jpg') repeat left top;
	background-size: 600px 431px;
	padding :0;
}
.sub-box .text-wrap{
	padding: 5% 10%;
	line-height: 1.5;
}
.sub-box .photo{
	margin: 0 -15px;
}
.sub-box  h4{
	font-size: 2.4rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.sub-box .text-wrap{
	line-height: 2;
}
.box{
	padding: 30px 5%;
	border: 1px solid #000;
}
.box .text-wrap{
	text-align: left;
}
.cap{
	font-weight: bold;
}

.tel{
	font-size: 38px;
	font-weight: bold;
}





/* ==========================================================================
#gh
========================================================================== */

section{
	margin: 0;
}
.keyvisual{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.keyvisual img{
	width: 100%;
	height: auto;
}
.keyvisual .text{
	text-align: center;
	position: absolute;
	bottom: 20px;
  left: 50%;  /*親要素を起点に左から50%*/
  transform:  translateX(-50%); /*要素の大きさの半分ずつを戻す*/
  -webkit-transform:  translateX(-50%);
	z-index: 1030;
	font-size: 2.0rem;
	color: #fff;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
	font-family: "A1明朝" , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.keyvisual .carousel-inner img{
	padding: 15px;
}
/*
.keyvisual:before{
	content: "";
	display: block;
	padding-top: 50%;
}*/

.start{
  position: absolute;
  top: 50%; /*親要素を起点に上から50%*/
  left: 50%;  /*親要素を起点に左から50%*/
  transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/
  -webkit-transform: translateY(-50%) translateX(-50%);
	z-index: 99;
	text-align: center;
}

h1{
	background: url('./../img/gh/ttl-gh.png') no-repeat center center;
	background-size: 650px 100px;
	width: 650px;
	height: 100px;
}



#about{
	margin-bottom: 2%;
	background: #faf6e9;
}
#about .cuisine-text{
	z-index: 999;
}
#about .text-wrap{

}
#about h2{
}

#about .photo{
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 0;
}

#room{
	position: relative;
	margin: 40px 0;
}
#room h2{
	text-align: center;
	font-weight: bold;
	text-shadow:
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff,
	0 0 5px #fff;
	margin-bottom: 10px;
}

#room .onsen-text .text{
	font-weight: bold;
	text-shadow:
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff,
	0 0 2px #fff;
}
#room .photo{
	margin-bottom: 30px;
}

#price {
padding: 30px;
	background: #faf6e9;
}

#price table{
	width: 100%;
}



#covid19{
	text-align: center;
	margin-bottom: 30px;
}
#covid19 .text{
	color:#4c2e0b;
}
#covid19 .btn{
	background: #7b98ab;
	padding: 5px;
	border: 1px solid #7b98ab;
	margin-bottom: 45px;
}
#covid19 .btn a{
	font-size: 2.2rem;
	border: 1px solid #fff;
	border-radius: 0;
	line-height: 1.2;
}
#covid19 .btn a:hover{
	color: #7b98ab;
	background: #fff;
}
#covid19 .btn a span{
	font-size: 1.6rem;
}
.staynavi img{
	max-width: 100%;
}


#access{
	text-align: center;
}

footer{
	background: #000;
	color: #fff;
	text-align: center;
}
.footer-info{
	padding: 10px 0 30px
}
footer .logo{
	float: none;
	width: 251px;
}
footer .bn{
	text-align: center;
}
footer .bn img{
	max-width: 300px;
}

.footer-logo{
	margin: 30px auto 10px;
	width: 300px;
}

.footer-book{
	margin-top: 10px;
}
.footer-book .btn{
	background: #fff;
}
.footer-book .btn a{
	color: #000;
}
.footer-book .btn:hover a{
	color: #39b59c;
}

.f-tell{
	font-size: 3rem;
}

.link{
	border-top:1px solid  #000;
}


footer .copy {
	border-top:1px solid #fff;
	text-align: center;
	background: #000;
	color: #fff;
	font-size: 12px;
	margin: 0;
	padding:10px 0 14px;
}

.btn-up {
	position: fixed;
	bottom:65px;
	right:100px;
	width: 60px;
	height: 60px;
	background: #000;
	color: #fff;
	display: block;
	padding: 0;
	text-align: center;
}
.btn-up:hover{
	cursor: pointer;
}
.btn-up .fa{
	padding-top: 10px;
	font-size: 40px;
}




/*------------------------------カルーセル------------------------------*/
.carousel-item{
	text-align: center;
}

.carousel-indicators {
	right: 0;
	left: 0;
	justify-content:left;
	margin-left: 30px;
    padding: 5px 0 ;
    margin: 0;
    bottom: 0;
  }
.carousel-indicators li {
	border:2px solid #fff;
	width: 8%;
    height: auto;
    margin: 0;
    text-indent: unset;
    opacity: 1;
  margin-right: 3px;
  background: none;
  }
 .carousel-indicators li.active {
 	border: 2px solid #432c0b;
    opacity: 1;
  }
 .carousel-indicators li:hover{
	 cursor: pointer;
 	border: 2px solid #432c0b;
	 
 }
.carousel-indicators li::before,
.carousel-indicators li::after {
    width: 0;
    height: 0;
  }
  
  
/* ==========================================================================
Media queries
========================================================================== */
@media(min-width:769px) and (max-width:991px) {

}
@media(max-width:768px) {
.header{
	height: 50px;
}
.logo{
	padding: 14px 0;
	text-align: center;
}
.logo a{

}
.text{
	font-size: 1.4rem;
}
.navicon{
	z-index: 9999;
}
#Navber{
	display: none;
}
.keyvisual{
	margin-bottom: 20px;
}/*
.keyvisual:before{
	content: "";
	display: block;
	padding-top: 110%;
}*/

.keyvisual .text{
	line-height: 1.5;
	font-size: 1.6rem;
}
#carouselExampleIndicators{
	width: 100%;
}
#home .carousel-indicators{
	position: absolute;
	bottom:16px;;
}
h1{
	width: 300px;
	height: 63px;
	background-size: 300px 63px;
}
h2{
	font-size: 2.6rem;
	margin-top: 10px;
	margin-bottom: 15px;
}
.text-wrap{
	padding: 0;
}
#room h2,
#cuisine h2,
#onsen h2,
#barrierfree h2{
	font-size: 3rem;
}

.nav-en{
	right: 0;
}
#covid19 .btn{
	width: 100%;
	margin-bottom: 20px;
}
#covid19 .btn a{
	font-size: 1.6rem;
	padding: 12px 10px;
}

#room .onsen-text{
	position: relative;
	top:auto;
	right: auto;
}
#room{
	margin: 0;
}
#room h2{
	text-align: center;
}
#cuisine h2{
	font-size: 3rem;
}
#onsen{
	margin-top: 0;
	margin-bottom: 0;
}
#cuisine {
	margin-bottom: 0;
}
#cuisine .cuisine-text{
	margin-left: 0;
	margin-right: 0;
}
#cuisine .cuisine-text .text-wrap{
	margin-right: -15px;
	margin-left: -15px;
	padding: 3%;
}

dt{
	padding:10px .5em ;
	width: 26%;
	font-size: 1.3rem;
}
dd{
	padding: 10px .5em ;
	font-size: 1.3rem;
}
#price{
	margin-bottom: 30px;
}

#price table{
	margin: 0;
}

#news h3{
	background-size: 26px 26px;
	margin-bottom: 12px;
	background: none;
	padding: 3px 0;
	text-align: center;
}
#news{
	padding: 20px 0;
}
.news-list{
	margin-bottom: 20px;
}
.thumb{
	width: 30%;
}
.box-right{
	font-size: 1.6rem;
}
.box-right .ttl{
	line-height: 1;
	margin-bottom: 0;
}
#news .fb{
	width: 100%;
}

#news .fb iframe{
	height: 400px;
}

.logo-en{
	margin: 20px auto;
	padding: 0 10%;
}


.footer-info .f-tell{
	font-size: 2.2rem;
}

footer .btn{
	width: 100%;
}

.btn-up {
	z-index: 9999;
	position: fixed;
	top:inherit;
	bottom:30px;
	right:5px;
	width: 45px;
	height: 45px;
	font-size: 20px;
}
.btn-up .fa{
	padding-top: 2px;
}

}


