@charset "UTF-8";

/* common */
html,body{ width: 100%; height:auto; }
.for_sp { display:none !important; }

img  { vertical-align:bottom; height:auto; }
a { text-decoration:none; transition:0.2s; }

@media screen and  (max-width:1280px) and (min-width:1280px) {
	body{
	max-width:1280px; overflow-x:hidden;
	}
}
@media screen and (max-device-width: 1024px) {
	body {
		-webkit-text-size-adjust: 100%; /* iPhone */
	}
}

@media screen and  (max-width:1280px) {
	body {
		margin-left:0px;
		margin-right:0px;
		width:1280px;
		height:auto;
	}
}

/********** header **********/
header { position:relative; top: 0; height: 100px; width: 100%; position: fixed; z-index: 10000; background: rgb(255,255,255); 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: 650px;
    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;
		padding-left: 5px;
    }
    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;
		width: 230px;
    }
    nav ul.info li a.tel {
        display: block;
        margin: 0 10px;
        padding:5px 0px 5px 10px;
        background: url(/image/icon_phone_black.png) center left no-repeat;
        background-size: 22px 22px;
        color:rgb(0,0,0);
        vertical-align: middle; }
		
	li.food_list {
		position: relative;
		width: 20%;
		margin: 0;
		padding: 0;
		text-align: center;
	}
	 li.food_list a{
		display: block;
		margin: 0;
		padding: 15px 0 11px;
		color: #000000;
		font-size: 14px;
		line-height: 1;
		text-decoration: none;
	}
	li.food_list a.menu_food span{
		padding-top: 5px;
	}
	li.food_list ul.link{
		list-style: none;
		position: absolute;
		z-index: 9999;
		top: 100%;
		left: 0;
		margin: 0;
		padding: 0;
	}
	li.food_list ul.link li{
		overflow: hidden;
		height: 0;
		transition: .2s;
	}
	li.food_list:hover ul.link li{
		overflow: visible;
		background: #ffffff;
		height: 38px;
		width: 110px;
	}
	li.food_list ul.link li a{
		padding: 13px 15px;
		width: 100%;
		border-top: 1px solid #cccccc;
		text-align: left;
	}
	li.food_list:hover > li.food_list ul.link{
		background: #aaaaaa;
		display: inline-block;
	}
	li.food_list ul.link li a:hover{
		opacity: 0.7;
	}
	li.food_list a:hover{
		background: #ffffff;
	}


/***** footer *****/
#footer {
    text-align: center;
    width: 100%;
}
#footer div.reservation{
    width: 100%;
    background: url(/image/footer_bg.jpg?200401) no-repeat;
    background-size:  cover;
    color: #ffffff;
    font-weight: normal;
    padding: 60px;
}
    #footer div.reservation h2{
        padding: 10px;
    }
    #footer div.reservation p{
        font-weight: normal;
    }
    #footer div.reservation hr{
        width: 300px;
        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: 100px;
    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;
    display: inline-block !important;
}

.slider li:not(:first-child){
    display:none;
}
.slider li div.s_txt_wrapper{
	width: 100%;
	text-align: center;
	height: auto;
	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: 165px;
	display: block;
	margin: -485px auto -485px 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;
	height: 220px;
	padding: 10px;
	text-align: center;
}
.slider li:first-child p.s_txt_2{
	margin-top: 10px;
	height: 200px;
	padding: 10px;
	text-align: center;
}
.slider li:first-child p.s_txt_3{
	margin-top: 50px;
	height: 200px;
	padding: 10px;
	text-align: center;
}
/****** 2枚目 *******/
.slider li:nth-child(2) div.s_txt_inner{
	width: 300px;
	margin: -560px auto -560px 200px;
}
.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: 0px;
	padding: 10px;
	height: 380px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_2{
	margin-top: 60px;
	padding: 10px;
	height: 280px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_3{
	margin-top: 0px;
	padding: 10px;
	height: 360px;
	text-align: center;
}
.slider li:nth-child(2) p.s_txt_4{
	margin-top: 80px;
	padding: 10px 10px 0 10px;
	height: 400px;
	text-align: center;
}
/****** 3枚目 *******/
.slider li:last-child div.s_txt_inner{
	width: 300px;
	margin: -524px 200px -524px 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 10px;
	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;
	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;
    padding: 20px 0 10px 0;
    font-weight: normal;
}
    #news h2{
        display: block;
        text-align: center;
    }
    
    #news ul.blog_list{
        max-width: 800px;
        display: block;
        margin: 0 auto;
    }
    #news ul.blog_list li{
        padding: 30px;
        border-bottom: solid 1px #ffffff;
        overflow: auto;
    }
    #news ul.blog_list li img{
        float: left;
        vertical-align: top; 
        display: inline-block;
        width: 110px;
        height: 110px;
        background: #ffffff;
    }
    #news ul.blog_list li p{
        vertical-align: top; 
        display: inline;
    }
    #news ul.blog_list li p span{
        display: block;
		padding-top: 10px;
    }
    #news ul.blog_list li p a{
        display: inline;
        color: #1708e1;
    }
    

/***** TOP/SNS *****/
#sns{
    background:#ebe5d5;
    padding: 40px;
    font-weight: normal;
		overflow: hidden;
}
    #sns ul{
        max-width: 1000px;
        margin: 0 auto;
        display: block;
        text-align: center;
		overflow: hidden;
    }
    #sns ul li{
        color: #947c31;
        width: 450px;
		height: 575px;
        display: inline-block;
        margin: 0 25px;
		float: left;
    }

/*	#sns ul li div{
        background: #ffffff;
		width: 450px;
		height: 575px;
        display: inline-block;
	}
*/    
/***** TOP/FOOD *****/
#food{
    background:#ffffff;
    padding: 0px;
    font-weight: normal;
}
    #food h2{
        color: #004c25;
        display: block;
        text-align: center;
    }
    #food div.grid{
        display: flex;
        justify-content: space-between;
    }
    #food ul{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    #food ul li{
        align-items: center;
        width: calc(50%);
        text-align: center;
    }
    #food div.grid ul li img{
        width: 100%;
    }

/***** TOP/USECASE *****/
#usecase{
    background: url(/image/goriyou_bg.png) center left no-repeat;
    background-size: 100% 100%;;
    padding: 20px 0px 0px 0px;
    font-weight: normal;
}
    #usecase h2{
        display: block;
        text-align: center;
    }
    #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.png) center left no-repeat;
    background-size: cover;
    padding: 30px 0;
    font-weight: normal;
    color: #ffffff;
    text-align: left;
}
    #main h2{
        display: block;
        line-height: 160%;
        text-align: left;
    }
    #main ul li{
        line-height: 200%;
        width: 80%;
        display:block;
        margin: 0 auto 0 auto;
    }



/***** FOOD/MENU *****/
#menu{
    background:#ffffff;
    padding: 0px;
    font-weight: normal;
}
    #menu h2{
        color: #000000;
        display: block;
        text-align: center;
    }
	#menu img{
		display: block;
		margin: 0 auto;
	}
/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 200px;
  padding-bottom: 40px;
  background-color: #fff;
  max-width: 1000px;
  margin: 40px auto 0 auto;}

.food-img{
  width: 1000px;
}

/*タブのスタイル*/
.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  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.5em;
	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.2em;
	font-weight: 600;
	display: block;
}
.food_menu .food_desc{
	font-size: 1.2em;
	font-weight: normal;
	display: block;
}
.food_menu .price{
	font-size: 1.2em;
	font-weight: normal;
	display: block;
}
.food_menu.include_image ul li{
	float: left;
}
.food_menu.include_image img.menu_image{
	width: 128px;
	height: 78px;
	display: inline-block !important;
}
.food_menu.include_image .food_name{
	font-size: 1.2em;
	font-weight: 600;
	padding-left: 20px;
	display: block;
}
.food_menu.include_image .food_desc{
	padding-left: 20px;
	display: block;
}
.food_menu.include_image .price{
	padding-left: 20px;
	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: 70%;
		font-size: 1.4em;
		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{
        color: #000000;
        display: block;
        text-align: center;
    }
	#shop h3{
        display: block;
		color: #000000;
        text-align: center;
		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: center;
        color: #ffffff;
	}
	#shop ul li.room_detail{
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	#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: center;
	}
	#shop ul li span{
		font-size: 1.4em;
		font-weight: normal;
		background: #000000;
		margin: auto;
		font-size: 0.9em;
		padding: 5px 20px;
        text-align: center;
        color: #ffffff;
	}
	#shop ul li p{
		color: #000000;
		font-size: 1.1em;
        display: block;
        text-align: center;
	}

/***** 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: 700px;
	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;
}









