@charset "UTF-8";

html {}
body { -webkit-text-size-adjust: 100%; }
.for_pc { display: none !important; }

img { max-width:100%; height:auto; }
a { text-decoration:none; transition:0.2s; }

/********** header **********/
header { position:relative; top: 0; height: 100px; width: 100%; position: fixed; z-index: 10000; background: rgb(255,255,255); text-align: center}
/***** aside *****/
#aside_nav { position:fixed; width:0%; height:0%; z-index:900; top:0; background:rgba(0,0,0,0.5); }
#aside_nav a { display:block; color:rgb(0,0,0); }
#aside_nav a span{ display:block; color:#004c25; font-size: 0.7em;font-weight: normal; }
#aside_nav ul.inner { overflow-y:auto; position:relative; z-index:900; opacity:0.9; width:100%; height:100%; box-sizing:border-box; padding:0; background:rgb(255,255,255); position:fixed; top:0; right:-100%; color:rgb(0,0,0); }
#aside_nav ul.inner li.menu { width:auto; padding:10px 30px; }
#aside_nav ul.inner li.menu a { font-size:20px; }
#aside_nav ul.inner li.menu .txt { font-size: 20px;}
#aside_nav ul.inner li.menu .txt span{ font-size: 20px;display: block;color: #004c25;font-size: 0.7em;font-weight: normal;}
#aside_nav ul.inner li:first-child { display:table; width:100%; margin-top: 50px;padding-bottom:30px; }
#aside_nav ul.inner li:first-child div.header { display:table-cell; padding:0;float: right; }
#aside_nav ul.inner li:first-child div.header a { display:inline-block; width:30px; }
#aside_nav ul.inner li:last-child {background: #015126; color: #ffffff;text-align: center;padding: 10px;width: 80%;margin: 20px auto;margin-bottom: 0px;}
#aside_nav ul.inner li:last-child p{color: #ffffff; font-size: 1.4em;}
#aside_nav ul.inner li:last-child p span{color: #ffffff; font-size: 0.6em;}
#aside_nav ul.inner li:last-child p img{width: 20px;height: 20px;margin-bottom: 10px;}
#aside_nav ul.inner li:first-child div.btn_close { position: relative;right: 0; }
#aside_nav .btn_close { display:table-cell; width:54px; height:50px; padding-top:8px; background:rgb(0,0,0); text-align:center; font-size:24px; color:rgb(255,255,255); transition:0.2s; }
#aside_nav ul.inner li.menu.cp_menu ul#link li{ text-align: right;background: #ffffff;padding-bottom: 20px;padding-left: 10px;}
#aside_nav ul.inner li.menu.cp_menu ul#link li:first-child{margin-top: 10px;padding-left: 10px;}
#aside_nav ul.inner li.menu.cp_menu ul#link li:last-child{margin: 0px;padding: 0 0 0 10px;}
#aside_nav ul.inner li.menu.cp_menu ul#link li a{text-align: left;font-size: 18px;}
.cp_menu ul{
    display:none;
}
/********** page_header **********/
.page_header{
    width: 100%;
    height: 50px;
}
.page_header  ul li{
    float: left;
}
.page_header  ul li a img.logo{
    height: 48px;
}
.page_header ul { display:table; width:100%; height:50px;  }
.page_header ul li { display:table-cell; height:50px; vertical-align:middle; }
.page_header ul li a { display:inline-block; }
.page_header ul li a img { /*height:40px !important;*/ }
.page_header ul li:nth-child(1) { padding-left:10px; }
.page_header ul li:nth-child(2) { background:#000000; width:54px; text-align:center;vertical-align:middle;float: right; }
.page_header ul li:nth-child(2) a img { width:25px; height: 25px; padding-top: 12px;text-align:center; vertical-align: middle;}
.page_header ul li:last-child a img { width:23px; height: 23px; padding-top: 12px;text-align:center; vertical-align: middle;}
.page_header ul li:last-child { background:#004c25; width:54px;  text-align:center;vertical-align:middle;float: right; }

.page_header_clone {
	position:fixed;
	top:0px;
	z-index:800;
	top:-800px;
	opacity:0.9;
	transition: top 0.2s;
}
.page_header_clone.visible { width:100%; top:0px; }
.page_header_clone ul { display:table; width:100%; height:58px; background:url(/_common/image/bg_01_sp.png); background-size:100% auto; }
.page_header_clone ul li { display:table-cell; height:58px; vertical-align:middle; }
.page_header_clone ul li a { display:inline-block; }
.page_header_clone ul li a img { height:40px !important; }
.page_header_clone ul li:nth-child(1) { padding-left:10px; }
.page_header_clone ul li:nth-child(n+2) { width:54px; border-left:solid 1px rgb(0,0,0); text-align:center; }

/***** nav *****/
nav {
    width: 1080px;
    height: 100px;
    margin: 0 auto;
    display: flex;
    }
    
nav h1 {    
    margin: 0 0 0 auto;
}
    nav h1 a{
        height: 100px;
        display: inline-block;
        vertical-align: middle;
    }
    nav h1 a img{
        vertical-align: middle;
        display: inline-block;
        height: 65px;
        margin: 10px auto;
        vertical-align: middle;
    }

nav ul.menu{
    min-width: 620px;
    list-style: none;
    margin: 30px 0;
    padding-left: 0;
}
    nav ul.menu li{
        text-align: center;
        display: inline-block;
    }
    nav ul.menu li:first-child {
        border-left: 0;
        margin-left: 0;
        padding-left: 0;
    }
    nav ul.menu li:last-child {
        border-left: 0;
        margin-left: 0;
        padding-left: 0;
    }
    
    nav ul.menu li a span{
        font-size: 0.7em;
        color: #004c25;
        display: block;
    }
    
nav ul.info{
    list-style: none;
    margin: 0 auto 0 0;
    padding-left: 0;
}
    nav ul.info li {
        height: 38px;
    }
    nav ul.info li:first-child {
        background: #004c25;
        height: 35px;
    }
    nav ul.info li:first-child a {
        color: #ffffff;
        padding: 8px 12px;
        display: block;
        width: 100%;
        font-weight: normal;
    }
    nav ul.info li:last-child {
        height: 35px;
        font-size: 0.8em;
    }
    nav ul.info li a.tel {
        display: block;
        margin: 0 5px;
        padding:5px 0px 5px 20px;
        background: url(/image/icon_phone_black.png) center left no-repeat;
        background-size: 22px 22px;
        color:rgb(0,0,0);
        vertical-align: middle; }
        
        

/***** footer *****/
#footer {
    text-align: center;
    width: 100%;
}
#footer div.reservation{
    width: 100%;
    background: url(/image/footer_bg.jpg?200401) center no-repeat;
    background-size:  cover;
    color: #ffffff;
    font-weight: normal;
    padding: 60px 0;
}
    #footer div.reservation h2{
        padding: 10px;
    }
    #footer div.reservation p{
        font-weight: normal;
    }
    #footer div.reservation hr{
        width: 80%;
        margin: 0 auto;
    }
    #footer div.reservation div.tel_block{
        background: #015126;
        padding: 10px;
        width: 80%;
        margin: 0 auto;
    }
    #footer div.reservation a.tel{
        padding: 5px 0px 5px 30px;
        background: url(/image/icon_phone.png) center left no-repeat;
        background-size: auto;
        background-size: 25px 25px;
    }
    #footer div.reservation a{
        color: #ffffff;
    }
    
    #footer div.reservation div.access a{
        border: solid 1px #ffffff;
        display: block;
        padding: 10px;
        width: 200px;
        margin: 0 auto;
    }

#footer footer p{
    background: #000000;
    padding: 20px 0 10px 0;
    font-weight: normal;
    color: #ffffff;
}

#footer footer ul.icons {
    background: #000000;
    cursor: default;
    list-style: none;
    padding-left: 0;
    padding-top: 10px;
    padding-bottom: 30px;
}

    #footer footer ul.icons li {
        display: inline-block;
        padding: 0 1em 0 0;
    }

    #footer footer ul.icons li:last-child {
        padding-right: 0 !important;
    }

    #footer footer ul.icons.major {
        padding: 1em 0;
    }

    #footer footer ul.icons.major li {
        padding-right: 3.5em;
    }

#footer footer .copyright{
    padding: 10px 0;
    font-weight: normal;
    width: 100%;
    color: #ffffff;
    text-align: center;
    background: #004c25;
}

/***** TOP/SLIDER *****/
.sliderArea{
    margin-top: 50px;
    width:100%;
}
.bx-wrapper {
    margin: 0 !important;
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: none !important;
    background: #1f2020 !important;
    border: none;
    box-shadow: none;
}
.bx-wrapper img {
    display: block;
    margin: 0px;
    width:100%;
    
}
.slider {
    width:100%;
    margin:0;
    padding:0;
}
.slider ul{
    margin:0;
    padding:0;
}

.slider ul li{
    margin:0;
    padding:0;
    width:100%;
}

.slider img{
    width: 100% !important;
    max-width: 100%;
    height: auto;
}

.slider li:not(:first-child){
    display:none;
}

.slider li div.s_txt_wrapper{
	width: 100%;
	text-align: center;
    position: absolute;
    top: 0px;
    left: 0px;
	padding: 0;
	margin: 0;
	display: inline-block !important;
}

.slider li div.s_txt_inner{
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.2em;
}
/****** 1枚目 *******/
.slider li:first-child div.s_txt_inner{
	width: 162px;
	vertical-align: middle;
    margin: 90px auto 0 auto;
}
.slider li:first-child p{
	display: block;
	opacity: 0.9;
	text-align: center;
	color: #ffffff;
	background-color: rgba( 0, 76, 37, 0.99 );
}
.slider li:first-child p.s_txt_1{
	margin-top: 0px;
    margin-right: 10px;
	height: 180px;
	padding: 10px;
	text-align: center;
}
.slider li:first-child p.s_txt_2{
	margin-top: 10px;
	height: 160px;
	padding: 10px;
	text-align: center;
}
.slider li:first-child p.s_txt_3{
	margin-top: 50px;
	height: 160px;
	padding: 10px;
	text-align: center;
}
/****** 2枚目 *******/
.slider li:nth-child(2) div.s_txt_inner{
	width: 186px;
	margin: 40px auto 0 20px;
}
.slider li:nth-child(2) p{
	display: block;
	opacity: 0.9;
	text-align: center;
	background-color: rgba( 0, 76, 37, 0.9 );
	color: #ffffff;
}
.slider li:nth-child(2) p.s_txt_1{
	margin-top: 10px;
	padding: 10px;
	height: 250px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_2{
	margin-top: 50px;
	padding: 10px;
	height: 180px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_3{
	margin-top: 0px;
	padding: 10px;
	height: 240px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_4{
	margin-top: 60px;
	padding: 10px 10px 0 10px;
	height: 280px;
	text-align: center;
}
/****** 3枚目 *******/
.slider li:last-child div.s_txt_inner{
	width: 300px;
	margin: 0 20px 0 auto;
}
.slider li:last-child p{
	display: block;
	opacity: 0.9;
	text-align: center;
	background-color: rgba( 0, 76, 37, 0.9 );
	color: #ffffff;
}
.slider li:last-child p.s_txt_1{
	margin-top: 30px;
	padding: 10px;
	height: 150px;
	text-align: center;
}
.slider li:last-child p.s_txt_2{
	margin-top: 0px;
	text-align: center;
	padding: 10px;
	height: 320px;
}
.slider li:last-child p.s_txt_3{
	margin-top: 220px;
	text-align: center;
	padding: 0 5px;
	height: 190px;
}
.slider li:last-child p.s_txt_4{
	margin-top: 20px;
	text-align: center;
	padding: 10px;
	height: 300px;
}
.slider li:last-child p.s_txt_5{
	margin-top: 140px;
	text-align: center;
	padding: 10px 10px 0 10px;
	height: 220px;
}

.slider li p span{
    text-combine-upright: all;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
}
/***** TOP/NEWS *****/
#news{
    /*background:url(/image/news_bg.png) top -100px left no-repeat #ebe5d5;*/
    background: #ebe5d5;
    padding: 20px 0 10px 0;
    font-weight: normal;
}
    #news h2{
        display: block;
        text-align: center;
    }
    
    #news ul.blog_list{
        width: 100%;
        display: block;
        margin: 0 auto;
    }
    #news ul.blog_list li{
        padding: 20px;
        border-bottom: solid 1px #ffffff;
        overflow: auto;
    }
    #news ul.blog_list li img{
        float: left;
        vertical-align: top; 
        display: inline-block;
        width: 80px;
        height: 80px;
        background: #ffffff;
    }
    #news ul.blog_list li p{
        vertical-align: top; 
        display: inline;
    }
    #news ul.blog_list li p span{
        display: block;
		padding-top: 3px;
    }
    #news ul.blog_list li p a{
        display: inline-block;
        color: #1708e1;
    }
    

/***** TOP/SNS *****/
#sns{
    background:#ebe5d5;
    padding: 40px;
    font-weight: normal;
}
    #sns ul{
        max-width: 1000px;
        margin: 0 auto;
        display: block;
        text-align: center;
    }
    #sns ul li{
        color: #947c31;
        width: 100%;
        display: inline-block;
        margin: 10px auto;
    }
/*    #sns ul li div{
        color: #947c31;
        width: 300px;
        height: 437px;
        display: inline-block;
        padding-top: 10px;
        margin: 0px auto;
    }
*/    
/***** TOP/FOOD *****/
#food{
    background:#ffffff;
    padding: 0px;
    font-weight: normal;
}
    #food h2{
        color: #004c25;
        display: block;
        text-align: center;
    }
    #food ul{
        width: 100%;
        text-align: center;
    }
    #food ul li{
        width: 100%;
        text-align: center;
        padding-bottom: 40px;
    }
    #food ul li p{
        width: 95%;
        display: block;
        margin: 0 auto;
    }
    #food div ul li img{
        width: 100%;
    }

/***** TOP/USECASE *****/
#usecase{
    padding: 20px 0px 0px 0px;
    font-weight: normal;
    background: #eee8da;
}
    #usecase h2{
        display: block;
        text-align: center;
    }
    #usecase img{
		width: 100%;
    }
    #usecase ul.for_sp{
        background: url(/image/goriyou_bg_sp.png) center bottom no-repeat;
        background-size: cover;
        padding: 10px 0 40px 0;
    }
    #usecase ul.for_sp li img{
        max-width: 300px;
        width: 70%;
        display: block;
        margin: 0 auto;
    }
    #usecase ul li p{
        width: 90%;
        text-align: center;
        display: block;
        margin: 0 auto;
    }
    
    
    #usecase table{
		width: 100%;
    }
    #usecase table tr{
		width: 100%;
		height: 672px;
		margin: 0;
    }
	#usecase table tr th{
        width: 100%;
		margin: 0;
		height: 672px;
		display: inline-block;
    }
    #usecase table tr td{
        width: 50%;
		margin: 0;
		height: 672px;
        vertical-align: top;
    }
	#usecase table tr td ul{
        width: 100%;
		display: block;
		float: left;
		height:100%;
		text-align: center;
	}
    #usecase table tr td ul li{
		text-align: center;
		height: 50%;
		display: block;
	}

/***** TOP/MAIN *****/
#main{
    background: url(/image/shokoshu_sp.png) center left no-repeat;
    background-size: cover;
    padding: 10px 0;
    min-height: 500px;
    font-weight: normal;
    color: #ffffff;
    text-align: center;
}
    #main h2{
        display: block;
        line-height: 120%;
        text-align: center;
    }
    #main ul li{
        line-height: 140%;
        font-weight: normal;
        width: 100%;
        display:block;
        margin: 0 auto 0 auto;
    }


/***** FOOD/MENU *****/
#menu{
    background:#ffffff;
    padding: 0px;
    font-weight: normal;
}
    #menu h2{
        width: 82px;
        color: #000000;
        display: block;
        text-align: left;
        padding-bottom: 5px;
        margin-left: 20px;
        border-bottom: solid 1px #888888;
    }
/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 200px;
  padding-bottom: 40px;
  background-color: #fff;
  width: 100%;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/3);
  height: 50px;
  border-bottom: 1px solid #dadada;
  background-color: #ffffff;
  line-height: 50px;
  font-size: 1.2em;;
  text-align: center;
  color: #000000;
  display: block;
  float: left;
  text-align: center;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 10px 0px 0;
  clear: both;
  overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#alacarte:checked ~ #alacarte_image,
#course:checked ~ #course_image,
#drink:checked ~ #drink_image {
  display: block;
}

#alacarte:checked ~ #alacarte_content,
#course:checked ~ #course_content,
#drink:checked ~ #drink_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  height: 48px;
  border-bottom: 3px solid #f24700;
}

.food_category{
	width: 100%;
	display: block;
	font-size: 1.3em;
	font-weight: 600;
	text-align: left;
	padding:10px 0 10px 30px;
	background: #c6bdaa;
	color: #000000;
}
.food_menu{
	background: #ffffff;
	padding: 30px 0 30px 30px;
	border-bottom: solid 1px #c6bdaa;
	overflow: hidden;
}
.food_menu .food_name{
	font-size: 1.1em;
	font-weight: 600;
	display: block;
}
.food_menu .food_desc{
	font-size: 1.1em;
	font-weight: normal;
	display: block;
}
.food_menu .price{
	font-size: 1.1em;
	font-weight: normal;
	display: block;
}
.food_menu.include_image{
    padding-left: 15px;
}
.food_menu.include_image ul li{
	float: left;
}
.food_menu.include_image img.menu_image{
	width: 100px;
	height: 70px;
	display: inline-block !important;
}
.food_menu.include_image .food_name{
	font-size: 1.2em;
	font-weight: 600;
	padding-left: 15px;
	display: block;
}
.food_menu.include_image .food_desc{
    font-size: 0.9em;
	padding-left: 5px;
	display: block;
}
.food_menu.include_image .price{
	padding-left: 15px;
	display: block;
}

.couse_menu{
	background: #ffffff;
	padding: 30px 30px 30px 30px;
	border-bottom: solid 1px #c6bdaa;
}
.couse_menu .couse_desc{
	font-size: 1.2em;
	font-weight: normal;
	display: block;
}
.couse_menu .price{
	font-size: 1.2em;
	font-weight: 600;
	display: block;
}
.couse_menu .price span.zei{
	font-weight: normal;
	display: inline;
}

.course_detail{
	/*background: url(/image/shokoshu.png) center left no-repeat;*/
}
	.course_detail p{
		width: 95%;
		font-size: 1.1em;
		font-weight: 600;
		text-align: center;
		background: #FFFFFF;
		border-radius: 5px;
		color: #000000;
		display: block;
		padding: 20px;
		margin: 0 auto;
	}
	
/***** SHOP/店舗案内 *****/
#shop{
    background:#ffffff;
    padding: 0px;
    font-weight: normal;
}
    #shop h2{
        width: 106px;
        color: #000000;
        display: block;
        text-align: left;
        padding-bottom: 5px;
        margin-left: 20px;
        border-bottom: solid 1px #888888;
    }
	#shop h3{
        display: block;
        color: #000000;
        text-align: left;
		border-bottom: solid 1px #ccc;
		padding: 0 0 20px 0;
		width: 90%;
		margin: 0 auto;
	}
	#shop h3 span{
		background: #004c25;
        display: inline-block;
		font-size: 0.9em;
		padding: 3px 20px;
        text-align: left;
        color: #ffffff;
	}
	#shop ul li.room_detail{
		width: 90%;
		margin: 0 auto;
	}
	#shop ul li:first-child{
		border-bottom: solid 1px #ccc;
	}
	#shop ul li h4{
		color: #000000;
		font-size: 1.4em;
		font-weight: normal;
        display: block;
        text-align: left;
	}
	#shop ul li span{
		font-size: 1.4em;
		font-weight: normal;
		background: #000000;
        display: inline-block;
		font-size: 0.9em;
		padding: 3px 20px;
        text-align: left;
        color: #ffffff;
        margin-bottom: 2px;
	}
	#shop ul li p{
		color: #000000;
		font-size: 1.1em;
        display: block;
        text-align: left;
	}

/***** SHOP/ACCESS *****/
#access{
	background: #c6bdaa;
    padding: 50px 0px ;
    font-weight: normal;
    text-align: center;
}
    #access h2{
        color: #000000;
        display: block;
        text-align: center;
    }
	#access a{
        display: block;
        text-align: center;
		text-decoration: underline;
	}

/***** SHOP/Q & A *****/
#faq{
    padding: 50px 0px ;
    font-weight: normal;
    text-align: center;
}
    #faq h2{
        color: #000000;
        display: block;
        text-align: center;
    }
	#faq a{
        display: block;
		text-decoration: underline;
	}
	
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	width: 95%;
	overflow-x: hidden;
	margin: 0 auto;
        text-align: left;
	color: #333333;
}
.cp_qa .cp_actab {
	padding: 20px 0;
	border-bottom: 1px dotted #cccccc;
}
.cp_qa label {
	font-size: 1.2em;
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 10px 30px 0 10px;
	cursor: pointer;
}
.cp_qa label span{
    font-weight: 600;
    font-size: 1.2em;
    padding: 0 10px 0 0;
}
.cp_qa .cp_actab-content {
	font-size: 1em;
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0 0 0 40px;
	padding: 0 14px;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
}
.cp_qa .cp_actab .cp_actab-content span{
    font-weight: 600;
    font-size: 1.6em;
    padding: 0 10px;
    margin-left: -20px;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	padding: 14px;
	opacity: 1;
}
.cp_qa .cp_plus {
	font-size: 2.4em;
	line-height: 100%;
	position: absolute;
	display: inline-block;
	z-index: 5;
	margin: 3px 0px 0 -30px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}

.cp_menu ul{
    display:none;
}