@charset "UTF-8";
/* CSS Document */

/*メモ------------

楷書体
font-family:"正楷書CB1","Sei Kaisho CB1","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",serif;

明朝体
font-family: "リュウミン R-KL","Ryumin Regular KL","リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;

@media screen and (min-width: 480px) { }
@media screen and (min-width: 768px) { }
@media screen and (min-width: 1024px) { }

font-size:12px;
font-size:14px;


background:#191717;
うぐいす色　#7fad82

border:1px solid #e0dedc;

-----------------*/
html, body {
}
body{
	background: #1d1b1b;
	color:#fff;
	
	font-size:14px;
	line-height: 1.6;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;

	width:100%;
	overflow-x:hidden;
	text-align:center;
	
	position:relative;
	  -webkit-transition: all 0.5s;
	  -moz-transition: all 0.5s;
	  -ms-transition: all 0.5s;
	  -o-transition: all 0.5s;
	  transition: all 0.5s;
}

/*----------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------*/

h1,h2,h3,h4,p,li,dt,dd{
	text-align:left
}

p{
	color: #ffffff;
}

a{
	color: #e1e3b1;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:active {
	text-decoration: underline;
}

/* -----------------------------------------------------------
	共通クラス
----------------------------------------------------------- */

.con{
	width:calc(100% - 20px);
	max-width:1024px;
	margin:0 auto;
}

.fKai{
	font-family:"正楷書CB1","Sei Kaisho CB1",serif;
}

.fMin{
	font-family: "リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.btnSt{
	display:block;
	width:100%;
	max-width:300px;
	height:45px;
	line-height:45px;
	font-family:"正楷書CB1","Sei Kaisho CB1",serif;
	font-size:15px;
	text-align:center;
	box-sizing:border-box;
	padding-left:0;
	border:1px solid #fff;
	
	background:#1d1b1b;
	color:#fff;
	
	text-decoration:none !important;
}

.btnSt.btnSp{
	background:#79021c;
	border:1px solid #79021c;
}

.btnSt:hover,
.btnSt:active{
	opacity:0.8
}

#mainWrap h2{
	font-size:20px;
	background: url(../img/bg_mark.png) no-repeat top left;
	background-size:40px 25px;
	padding-left:50px;
	margin:0 0 20px;
	font-family:"正楷書CB1","Sei Kaisho CB1","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",serif;
	font-weight:normal;
}
#mainWrap h2 span{
	font-size:16px;
}

#mainWrap h3{
	font-size:16px;
	background: url(../img/bg_mark2.png) no-repeat;
	background-position:0 6px;
	background-size:15px 15px;
	padding-left:23px;
	margin:0 0 10px;
	font-family: "リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-weight:normal;

}
@media only screen and (min-width: 768px){
#mainWrap h2{
	font-size:24px;
	letter-spacing:0.1em;
}
#mainWrap h3{
	font-size:20px;
}
}

.box {
	position:relative;
}

.box.bgWrap {
	padding:20px;
}

.box.bgWrap h2{
	margin-top:0 !important;
	color:#191717
}

.box.bgWrap p{
	color:#191717
}
.box .boxL{
	margin-bottom:15px;
}
.box .boxL p{
	margin-bottom:15px;
}

.box .boxR{
	margin-bottom:15px;
	text-align:center;
}

.box.changeWrap .boxL,
.box.changeWrap .boxR{
	margin-bottom:0 !important;
}
@media only screen and (min-width: 768px){
.box .boxL{
	float:left;
	width:55%;
	margin-bottom:10px;
	padding-right:15px;
}

.box .boxL h2{
	margin-top:0 !important;
}

.box .boxR{
	float:right;
	width:45%;
	margin-bottom:10px;
}
.box02 .boxL{
	width:70%;
}

.box02 .boxR{
	width:30%;
}
}

.liSt{
	list-style:disc;
	list-style-position:outside;
	padding-left:1em;
	margin-left:1em;	
}
strong{
	color:#b66565;
	font-weight:bold;
}
.caption{
	border:1px solid #fff;
	font-weight:normal;
	color:#fff;
	font-size:12px;
	padding:5px;
	margin-top:20px;
}
.capImg{
	font-size:12px;
}
a.arrow{
	background:url(../img/li_arrow_y.gif) no-repeat left 2px;
	padding:0 0 0 12px;
}
a.arrowGray{
	background:url(../img/li_arrow_g.gif) no-repeat left 2px;
	padding:0 0 0 12px;
}
.-mt10{margin-top:110px !important}
.mt10{margin-top:10px !important}
.mt20{margin-top:20px !important}
.mt30{margin-top:30px !important}
.mt40{margin-top:40px !important}
.mb20{margin-bottom:20px !important}
.bold{font-weight:bold;}
.gray{color: #191717;}
.red{color: #79021c;}
.inde1 {padding-left:1em;text-indent:-1em;}

.center{
	text-align:center;
}
.left{
	text-align:left;
}
.center .btnSt{
	margin-left:auto;
	margin-right:auto;
}
.change {
	position:relative;
	display:flex;
	
  flex-wrap: wrap;
}
.change li{
	list-style:none;
	width:32%;
	margin-right:2%;
	padding-bottom:5px;
}
.change li:nth-child(3n){
	margin-right:0;
}
.acordionBox {
}
.innerBox {
	margin:0 20px;
}
.acordionBox dt a{
	display:block;
	width:100%;
	background:#191717;
	padding:10px;
	text-align:center;
	font-family: "リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size:16px;
	box-sizing:border-box;
	position:relative;
}

.acordionBox dt a::after{
	content:'';
	display:block;
	background:#fff;
	width:20px;
	height:2px;
	position:absolute;
	top:50%;
	right:10px;
   -webkit-transform: translate(0, -50%);
   transform: translate(0, -50%);
}

.acordionBox dt a.close::before{
	content:'';
	display:block;
	background:#fff;
	width:20px;
	height:2px;
	position:absolute;
	top:50%;
	right:10px;
   -webkit-transform: translate(0, -50%) rotate(90deg);
   transform: translate(0, -50%) rotate(90deg);
}

.acordionBox dd {
	border:1px solid #191717;
	background:#fff;
	text-align:left;
	padding:20px;
	color:#191717
}
@media only screen and (min-width: 768px){
.change {
	position:absolute;
	left:0;
	bottom:0;
	height:auto;
	width:45%;
}
}

/* -----------------------------------------------------------
	ヘッダー
----------------------------------------------------------- */

#discription{
	background:#79021c;
	font-size:12px;
	padding:0px 0 1px;
	border-top:3px solid #79021c;
}
#discription p{
	display:none;
	padding:2px 0 4px;
	height:28px;
	text-align:center;
}
@media only screen and (min-width: 768px){
	#discription p{
	display:block;
}
}

/*header--------*/

#mainNav{
	position:fixed;
	width:100%;
	height:70px;
	top:0;
	left:0;
	background:#191717;
	
	z-index:100;
	border-top:2px solid #79021c;
}
#logo{
	height:70px;
	width:100%;
	text-align:center;
}

#logo img{
	width:250px;
	height:70px;
}
#navPanel{
	width:60px;
	height:60px;
	position:fixed;
	-webkit-overflow-scrolling: touch;
	top:0;
	right:0;
}
#navPanel a{
	display:block;
	padding:15px;
	width:60px;
	height:60px;
	box-sizing:border-box;
}
#navSP{
	position:fixed;
	width:100%;
	height:100%;
	overflow:scroll;
	-webkit-overflow-scrolling:touch;
	
	top:70px;
	left:0;
	
	padding:0 10px 20px;
	
	background:#191717;
	display:none;
	padding-bottom:50px;
	margin-bottom:50px;
	
}

main.active{
	visibility:hidden;}


#navSP li a,
#navSP dt a,
#navSP dd a{
	display:block;
	background:#fff;
	height:44px;
	line-height:44px;
	
	text-decoration:none;
	border-bottom:1px solid #e0dedc;
	position: relative;
	display: inline-block;
	width:calc(100% - 21px);
	padding: 0 0 0 21px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}

#navSP li a:hover,
#navSP dt a:hover,
#navSP dd a:hover,
#navSP li a:active,
#navSP dt a:active,
#navSP dd a:active{
	opacity:0.9;
}

#navSP li:first-child a,
#navSP dt:first-child a,
#navSP #room_01 a{
	border-radius:8px 8px 0 0;
}

#navSP li:last-child a,
#navSP a.last {
	border-radius:0 0 8px 8px;
	margin-bottom:10px;
}

#headerSubNav{
	margin-bottom:70px;
}
@media only screen and (max-width: 767px){

#navSP li a::before,
#navSP dt a::before,
#navSP dd a::before,
#navSP li a::after,
#navSP dt a::after,
#navSP dd a::after{
position: absolute;
top: 0;
bottom: 0;
left: 5px;
margin: auto;
content: "";
vertical-align: middle;
}

#navSP li a::before,
#navSP dt a::before,
#navSP dd a::before{
width: 12px;
height: 12px;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #191717;
}
#navSP li a::after,
#navSP dt a::after,
#navSP dd a::after{
left: 10px;
box-sizing: border-box;
width: 3px;
height: 3px;
border: 3px solid transparent;
border-left: 3px solid #fff;
}
}

@media only screen and (min-width: 768px){

#headerWrap{
	background:url(../img/header/bg_header.jpg);
	background-position:top center;
	background-color:#000;
	background-repeat:no-repeat;
	border-bottom:1px solid #0f0e0e;
	
}

#mainNav{
	border-top:none;
	background:transparent;
	position:relative;
	background:url(../img/header/bg_subnav.gif);
	background-position:left bottom;
	background-repeat:no-repeat;
	margin-bottom:15px;
	
}


#logo{
	position:absolute;
	top:15px;
	left:0;
	text-align:left;
	width:227px;
	height:81px;
	z-index:2;
}

#logo a{
	display:block;
	width:227px;
	height:81px;
	background-image:url(../img/logo_pc.png);
	background-size:227px 81px;
	background-position:top left;
}
#logo a img{
	visibility:hidden;
}

#navPanel{
	display:none;
}
#navSP{
display:block;
position:relative;
top:0;
background:transparent;
overflow:visible
}

#navSP li a,
#navSP dt a,
#navSP dd a{
	background: transparent;
	border:none;
	color:#fff;
	border-radius: 0 0 0 0 !important;
}
#infoNav{
	position:relative;
	height:110px;
}
#infoNav li{
	position:absolute;
	background:none;
	top:15px;
	height:45px;
	width:140px;
}

#infoNav li a{
	display:block;
	width:140px;
	height:45px;
	border:1px solid #fff;
	font-family:"正楷書CB1","Sei Kaisho CB1",serif;
	font-size:15px;
	text-align:center;
	box-sizing:border-box;
	padding-left:0;
}

#infoNav li a:hover,
#infoNav li a:active{
	opacity:0.7;
}
#infoNav li:not(#navTel) a::before,
#infoNav li:not(#navTel) a::after{
display: inline-block;
margin-right:5px;
content: "";
vertical-align: middle;
}
#infoNav li:not(#navTel) a::before{
left: 4px;
box-sizing: border-box;
width: 4px;
height: 4px;
border: 4px solid transparent;
border-left: 4px solid #fff;
}

#navSP #navTel{
	right:0;
	width:220px;
	top:60px;
}
#navSP #navTel a{
	border:none;
	width:220px;
	font-size:24px;
	font-family: "リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	background-image:url(../img/nav_tel.png);
	background-size:25px 16px;
	background-position:left center;
	background-repeat:no-repeat;
	padding-left:40px;
	box-sizing:border-box;
	text-align:left;
}
#navSP #navRsv{
	right:0px;
}
#navSP #navRsv a{
	border:1px solid #79021c;
	background:#79021c;
}

#navSP #navInq{
	right:140px;
}
#navSP #navTel a{
}
#navSP #navLang{
	right:280px;
}
#navSP #navLang{
}
#navSP #navLang a{
	border:none;
	font-family: "リュウミン R-KL","Ryumin Regular KL","ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

#headerSubNav{
	display:none;}

#pList{
	display:block;
	}
#gNav{
	position:absolute;
	top:100px;
	height:300px;
}
}

@media only screen and (min-width: 890px){
#infoNav li{
	top:35px;
}
#navSP #navTel{
	left:260px;
	width:220px;
	top:35px;
}
}

/* --------- グローバル ----------- */

#gNav dt{
	width:100%;
	opacity:1;
}
#gNav dd{
	width:100%;
	opacity:1;
}#gNav dd span{
	width:100%;
	opacity:1;
}#gNav dd a{
	width:100%;
	opacity:1;
	box-sizing:border-box;
}
#gNav dd.page{
	display:none;
}
#gNav dd .child{
	display:none;}
#gNav dd .child.accessSub{
	display:block;}


@media only screen and (min-width: 768px){

#gNav{
	position:absolute;
	top:425px;
	left:0;
	width:100%;
	height:155px;
	padding-bottom:15px;
	}
#gNav dl{
	width:100%;
	overflow:hidden;
}
#gNav dt{
	float:right;
	width:50px;
	height:155px;
	}

#gNav dt span{
    display:block;
	width:50px;
	height:155px;
	background-size:32px 155px;
	background-position:0 0;
	background-repeat:no-repeat;
}
#gNav dt a{
    display:block;
	width:50px;
	height:155px;
	padding:0;
	text-indent:-9999px;
	background-size:32px 155px;
	background-position:0 0;
	background:none;
	background-repeat:no-repeat;
	}

#gNav span a:hover{
	opacity:0;
}

#gNav span.noBg{
	background-image:none !important;
}

#gNav dd{
	float:right;
	height:151px;
    overflow:hidden;
	width:105px;
	zoom:1;
	position:relative;
	display:none;
	margin-top:4px;
	border-top:1px solid #b66565;
	}


#gNav dd span {
	display:block;
	float:right;
	width:35px;
	height:150px;
	background-size:35px 150px;
	background-position:0 0 ;
	background-repeat:no-repeat;
}

#gNav dd a {
	display:block;
	width:35px;
	height:150px;
	text-indent:-9999px;
	background-size:35px 150px;
	background-position:0 0 ;
	background-repeat:no-repeat;
	padding:0;
}

#gNav dd.page{
	width:210px !important;
	display:block;
	border-top:1px solid #79021c;
	}
#gNav dd.pageL{
	width:245px !important;
	}
#gNav dd.pageM{
	width:175px !important;
	}
#gNav dd.pageM.pageS{
	width:140px !important;
	}
#gNav.notOpen dd.page{
	width:105px !important;
}
#gNav dd.page .child{
	display:block;
}
#gNav dd.page .child a{
	text-indent:0;
}
#gNav dd.page .child a:hover{
	opacity:1;
}
#gNav dd div{
	display:block;
	float:right;
}
#gNav.notOpen .sightseeingMenu.page{
	width:70px !important;
}
#gNav #eventMenu p{
	width:30px;
	float:right;
}
#gNav #eventMenu ul{
	width:30px;
	float:right;
	padding-top:10px;
}
#gNav #eventMenu ul a{
	width:30px;
	float:right;
	text-indent:0;
	height:48px;
	margin-bottom:2px;
}
}
@media only screen and (max-width: 768px) and (min-width:790px){
#gNav dt{
	width:45px;
	}

#gNav dt span{
	width:45px;
}
#gNav dt a{
	width:px;
	}
}

/*パンくずリスト----*/
	
#pList{
	display:none;
}
@media only screen and (min-width: 768px){
#pList{
	display:block;
	margin-top:10px;
	font-size:0.8em;
	text-align:right;
}

#pList li{
display: inline-block;
vertical-align: middle;
}
.pTtl{
position: relative;
padding: 0 0 0 16px;
text-decoration: none;
}
.pTtl::before,
.pTtl::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
.pTtl::before{
left: 3px;
width: 4px;
height: 4px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

}
	
/*main--------*/
main{
	position:relative;
	border-top:1px solid #363232;
	padding-bottom:40px;
}
#pageTtl{
	position:absolute;
	width:100%;
	height: auto;
	top:70px;
	left:0;
	text-align:left;
	letter-spacing: 0.05em;
	border-bottom:1px solid #363232;
	
	background-position:top center;
	background-repeat:no-repeat;
	background-size: cover;
	
	font-size:24px;
	color:#e8eec8;
	font-weight:normal !important;
	font-family:"正楷書CB1","Sei Kaisho CB1",serif;
	z-index:2;
}
@media only screen and (min-width: 768px){
#pageTtl{
	top:140px;
	height:300px;
	width:calc(100% - 20px);
	margin-bottom:0;
	border:1px solid #e8eec8;
	left:50%;
   -webkit-transform: translate(-50%, 0);
   transform: translate(-50%, 0);
	
	background-position:top right;
	background-color:#1c1a1a;
	z-index:9999;
}
}

#totop {
	position:fixed;
	bottom:50px;
	right:20px;
	width:40px;
	height:40px;
}

#totop.static{
	position: absolute;
	bottom:0;
}

#totop a{
	width:40px;
	height:40px;
	display:block;
	border-radius:4px;
	background:rgba(25,23,23,0.8);
	box-shadow:1px 1px 2px #000;
}
#totop a:hover,
#totop a:active{
	box-shadow:1px 1px 2px #000;
}

/* -----------------------------------------------------------
	フッター
----------------------------------------------------------- */
footer{
	background-image:url(../img/bg_footer.jpg);
	background-position:top center;
	padding-top:30px;
	font-size:0.9em;
}
footer .footerNav{
	padding-top:20px
}
	
footer .subNav{
	display:none;
}
#copyright{
	padding:15px;
	text-align:center;
	font-size:12px;
}

.fInfo{
	text-align:center;
}

.w100{
	max-width:960px;
	margin-right:auto;
	margin-left:auto;
}

@media only screen and (min-width: 768px){
	
.footerNav{
	background-image:url(../img/logo.png);
	background-size:280px auto;
	background-repeat:no-repeat;
	background-position:top left;
	}
footer .subNav{
	display:block;
	margin-left:210px;
	background:#fff;
	padding:10px 20px;
	text-align:left;
}

footer .subNav li{
	display:inline-block;
}

footer .subNav li a{
	color:#555;
	display:block;
	position:relative;
	padding-left:16px;
	padding-right:25px;
}

footer .subNav li a::after {
  display: block;
  content: '';
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #fff;
  border: 2px solid #7fad82;
  border-radius: 100%;
}

.fInfo{
	margin-left:210px;
	margin-top:15px;
	text-align:left;
}
	
}
@media only screen and (min-width: 890px){
footer .subNav{
	margin-left:260px;
}
.fInfo{
	margin-left:260px;
}
}

/*ハンバーガーメニュー*/
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 31px;
  height: 22px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.active .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.active .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}
.active .menu-trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}

/**
 * Lines
 */
@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
		  background-color:#cde8dc }

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
		  background-color:#efc3ce }

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
		  background-color:#cde8dc }

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
		  background-color:#efc3ce }

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
		  background-color:#cde8dc }

.line-scale > div {
  width: 3px;
  height: 30px;
  border-radius: 2px;
  margin: 1px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

#loader{
	width:100%;
	height:100%;
	overflow:hidden;
	position:relative;
	position:fixed;
	top:0;
	left:0;
	z-index:9999;
	border-top: 3px solid #79021c;
	background:#1d1b1b;
}

.loader{
	opacity:0.9;
	width:100%;
	position:fixed;
	height:30px;
	left:0;
	top:50%;
	margin-top:-15px;
}