/*--------------------------------------------------*/
/*clearfix*/
/*--------------------------------------------------*/
/*div:after,*/
ul:after,
li:after,
dl:after{
	content:"";
	display:block;
	clear:both;
	visibility:hidden;
	height:0;
	line-height:0;
	font-size:0.1px;
}
* html div,
* html ul,
* html li,
* html dl{
	display:inline-block;
}
body {
	font-size: 12px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 22px;
	padding: 0;
	margin: 0;
	background-image: url(img/bg.gif);
	background-repeat: repeat;
	color: #333333;
}
h1,h2,h3,h4,h5,h6,p,ul,li,dl,dt,dd,img,div{
	margin: 0px;
	padding: 0px;
}
img{
	border: 0;
}
li {
	list-style: none;
}
a:hover {
	filter:alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
}
iframe {
	border: 1px solid #FFFFFF;
}
a {
	text-decoration:none;
	color: #C80003;
}
.mt10 {
margin-top: 10px;
}
.mb10 {
margin-bottom: 10px;
}
.mt20 {
margin-top: 20px;
}
.mt30 {
margin-top: 30px;
}
.mb20 {
margin-bottom: 20px;
}
.txRight {
text-align: right;
}
.txLeft {
text-align: left;
}
.txColorBlock {
    color: #333333 !important;
}
.displayNone {
    display: none;
}
.clear::after {
content: "";
display: block;
clear: both;
}
/* ---------------------------------------- 全体レイアウトに関する指定　↓ */
#header {
	margin: 0px auto 0;
	position: relative;
	height: 95px;
	clear: both;
	background-color: #FFFFFF;
}
#contents_wrapper {
	width: 80%;
	margin: 0px auto 0;
	position: relative;
	background-color: #FFFFFF;
}
#contents {
	padding: 0 0 0 20px;
}

.contents960_inner {
	padding: 0 20px;
}

#sidebar{
	float: left;
	width: 170px;
}
#footer {
	text-align: center;
	width: 960px;
	overflow: hidden;
	margin: 0px auto 0;
	clear: both;
	background-color: #fbdab6;
	border-top: 1px solid #8c781b;
}
#pankuzu {
	float: left;
	font-size: 12px;
	width: 960px ;
	padding: 10px 0 0 0;
	text-indent: 25px;
	clear: both;
	border-top: 1px solid #8c781b;
}
#pankuzu a {
	color: #5d5039;
}
#pankuzu a:hover {
	color: #5d5039;
}
/* ---------------------------------------- 見出しに関する指定　↓ */
.header_text {
	position: absolute;
	top: 10px;
	left: 30px;
	margin: 0 0 0 0;
	float: left;
}
.red_text {
	color: #7a191d;
	font-weight: bold;
	font-size: 16px;
	padding: 0 0 0 25px;
	margin: 20px 0 10px 0;
}
.menu_img {
	margin: 20px 0 10px 0;
	border-bottom:1px solid #a79851;
}
.bold_left_text {
	font-size: 12px;
	padding: 3px 10px;
}
.heading_ribbon {
	font-weight: bold;
	font-size: 18px;
	color: #5d5039;
	position: relative;
	padding: 7px 0 7px 25px;
	background: #ffd777;
	margin-left: -25px;
	margin-top: 10px;
}
.heading_ribbon:before {
	content: " ";
	position: absolute;
	top: 100%;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 7px 0;
	border-color: transparent;
	border-right-color: #e0bc6c;
}
.heading_ribbon:after {
	content: " ";
	position: absolute;
	top: 0px;
	left: 100%;
	width: 0;
	height: 0;
	border-width: 18px 7px;
	border-style: solid;
	border-color: #ffd777;
	border-right-color: transparent;
}
/* ---------------------------------------- ヘッダー　↓ */
.header_r{
	float: right;
	width: 630px;
	padding: 5px 0;
}
.header_r p{
	text-align:right;
}
strong {
	padding: 15px;
	font-weight: normal;
	font: 12px;
	color:#AAA;
}
.menu {
	float:right;
	padding: 35px 0 20px 30px;
}
.menu li{
	float: left;
	width: 120px;
	text-align: center;
}
.menu a {
	color: #8c781b;
	font-weight: bold;
}
.menu a:hover {
	color: #7A191D;
}
/* ---------------------------------------- slideshow　↓ */
#slideshow {
	margin: 0 auto;
	width: 80%;
	text-align: left;
	background-color: #FFFFFF;
	position: relative;
}
#slideshow div {
	width: 100%;
	height: 510px;
	overflow: hidden;
	position: relative;
}
#slideshow div div {
	top: 0;
	left: 0;
	position: absolute;
}
#slideshow ul {
	position:absolute;
	right:10px;
	bottom:10px;
	z-index:1000;
}
#slideshow ul li {
	width: 20px;
	float: left;
	display: inline;
}
#slideshow .active {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}
/* =======================================
	ClearFixElements
======================================= */
#slideshow ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
#slideshow ul {
	display: inline-block;
	overflow: hidden;
}
/* ---------------------------------------- ２列表示 ↓ */
.line_float {
    width: 710px;
	padding: 0 10px;
	margin: 10px 0 15px 0;
	clear: both;
}
.line_float_all {
	width: 960px;
	margin: 0 auto;
	clear: both;
	text-align: right;
}
.line_float_960 {
	width: 900px;
	padding: 0 10px;
	margin: 10px 0 15px 0;
	clear: both;
}
.line_float span{
	font-size: 11px;
}
/* ---------------------------------------- コンセプトに関する指定　↓ */
.concept_l {
	float: left;
	width: 420px;
	height: 190px;
	padding: 40px 120px;
	margin: 10px 15px 0px 0;
	background-image: url(img/concept_bg.jpg);
	background-repeat: no-repeat;
}

.line_float_ {
}

p.closed {
	padding:15px;
	border: 1px solid #cd0000;
	margin: 10px 10px 0px 0;
	text-align: center;
	color: #cd0000;
	font-size: 18px;
	font-weight: normal;
}
.concept_l h2 {
	color: #7a191d;
	font-weight: bold;
	font-size: 16px;
	margin : 10px;
	text-align: center;
} 

.concept_r {
	float: right;
	width: 190px;
	margin: 10px 0 0px 0;
}
.concept_l p {
	font-size: 12px;
	margin-top:30px;
}
.concept_l_ch {
	float: left;
	width: 500px;
	height: 210px;
	padding: 40px 80px 60px;
	margin: 0;
	background-color: #fffde4;
	background-image: url(img/concept_bg_ch.jpg);
	background-repeat: no-repeat;
	text-align: center;
    font-size: 120%;
}
.concept_l_ch h2 {
	font-weight: bold;
	font-size: 20px;
	margin : 10px;
}
.concept_l_ch p.round {
	display: inline-block;
	padding: 1px 40px;
	border-radius: 20px;
	background: #22ac38;
	color: #ffffff;
}
.concept_l_ch div::after {
	content: "";
	display: block;
	clear: both;
}
.concept_l_ch div p {
	float: left;
	width: 50%;
}
.concept_l_ch div p span {
	font-size: 18px;
}
.concept_l_ch p small {
	color: #22ac38;
}
.concept_r_ch {
	float: right;
	width: 190px;
	margin: 0;
}
@media screen and (min-width : 769px) {
	.concept_r_ch {
		float: none;
		width: auto;
		margin-left: 660px;
	}
}
/* ---------------------------------------- ビュッフェに関する指定　↓ */
.buffet_l {
	float: left;
	padding:10px 10px 10px 10px;
	width: 240px;
}
.buffet_r {
	float: right;
	padding:10px;
	width: 620px;
}
.buffet_menu {
	float : right;
	width : calc(100% - 270px);
	margin: 15px 0 15px 0;
}
.buffet_menu div{
	margin-bottom : 10px;
}
.buffet_menu img{
	width : 200px;
	height : 140px;
}
.menu_l {
	float: left;
	width: 200px;
	margin: 0 10px 10px 0;
}
.menu_r {
	float: left;
	width: 200px;
}
.buffet_r li{
	font-size: 12px;
	line-height: 1.5em;
}
/* ---------------------------------------- コースに関する指定　↓ */
.course_float {
	width: 705px;
	padding: 0 10px;
	margin: 10px 0 15px 5px;
	clear: both;
}
.course_l {
	float: left;
	width: 270px;
	padding:10px 10px 10px 0;
}
.course_r {
	float: left;
	width: 395px;
	padding:10px;
	text-align: center;
}
.dot {
	border-top: 1px dotted #8c781b;
}
.price {
    margin: 10px 0;
}
/* ---------------------------------------- 画像に関する指定　↓ */
.buffet_l img,
.course_l img {
	border:1px solid #998c3d;
}
/* ---------------------------------------- ドリンクに関する指定　↓ */
.drink_l {
	float: left;
	width: 550px;
	padding:10px 20px 20px 10px;
}
.drink_r {
	float: left;
	width: 200px;
	padding:30px 10px 10px 20px;
}
.gotop {
	padding: 20px 0px 20px 0;
}
/* ---------------------------------------- お知らせ欄に関する指定　↓ */
.info_box {
	padding:5px 15px;
	border:1px solid #a79851;
}
.info_box h2 {
	color:#a79851;
	font-size:13px;
}
/* ---------------------------------------- サイドバーに関する指定　↓ */
#sidebar {
	float: right;
	width: 170px;
	padding: 20px 30px 0 0;
}
#sidebar li  {
	margin-bottom: 10px;
}
/* ---------------------------------------- 店舗詳細に関する指定　↓ */
.shop_info {
	clear: both;
	width: 960px;
	overflow: hidden;
	margin: 0px auto 0;
	background-color: #fbdab6;
}
body.season .shop_info,
#footer {
	width: auto;
}
.info_l {
	float: left;
	width: 330px;
	padding: 20px 10px 10px 15px;
}
.info_l h2{
	padding-left: 10px;
}
.info_l p {
	padding: 3px 10px;
}
.info_r {
	float: left;
	width: 560px;
	padding:20px 10px 20px 10px;
}
.info_r p {
	padding: 3px 10px;
}
.inner_l{
	float: left;
	width: 325px;
}
.inner_r{
	float: left;
	width: 215px;
}
/* ---------------------------------------- フッターに関する指定　↓ */

address {
	padding: 20px 0;
}
/* ---------------------------------------- テーブルに関する指定　↓ */
table{
	border:1px solid #BFAD8A;
	border-collapse:collapse;
	border-spacing:0;
	background-color:#ffffff;
	empty-cells:show;
	font-size: 12px;
	line-height: 16px;
}
table th,
table td{
	padding: 3px 5px;
}
table th{
	border:1px solid #BFAD8A;
	border-bottom:1px solid #BFAD8A;
	background-color:#F8F6EF;
	text-align: left;
	font-weight: normal;
}
table th.th_ttl{
	background-color:#f6efd7;
}
table td{
	border-right:1px solid #BFAD8A;
	border-bottom:1px solid #BFAD8A;
}
.center {
	text-align: center;
}
/* ---------------------------------------- 幅960 1列 横並タイプC 写真サイズ160　↓ */
.w960_1_xc160_01 {
	float: right;
	width: 250px;
	text-align: center;
	margin: 10px 0px 0 0;
	padding: 0 0 10px 0;
}
.w960_1_xc160_02 {
	font-size: 22px;
	font-weight: bold;
	margin: 10px 0 0 0px;
	padding: 0 0 5px 5px;
	line-height: 17px;
	border-bottom: 1px solid #CCCCCC;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #5d5039;
	width: 595px;
	border-bottom: 1px dotted #5d5039;
	float: left;
}
.w960_1_xc160_02 a {
	color: #5d5039;
}
.w960_1_xc160_02 a:hover {
	color: #5d5039;
}
.w960_1_xc160_03 {
	font-size: 13px;
	margin: 10px 0 0 0px;
	padding: 5px 0;
	line-height: 17px;
	width: 600px;
	float: left;
}
.w960_1_xc160_04 {
	font-size: 13px;
	margin: 10px 0 0 500px;
	padding: 0;
	line-height: 17px;
	width: 100px;
	float:left;
}
/* 朝食写真欄3列 */
.breakfast_pic{
	width:200px;
	height:140px;
	float:left;
	padding:0;
}

.breakfast_pic:not(:nth-of-type(3n)){
	margin-right: 10px;
}

.topics{
	font-size: 20px;
	font-weight: bold;
}
.topics_p{
	font-size:14px;
		padding-left:30px;
}
/* -----------------------------------------------------------------画像サイズ指定 */
a#top{
	display : inline-block;
	width : 0px;
	height : 0px;
	text-indent : -9999px;
}
h1.header_text img{
	width : 195px;
	height : 80px;
}
h1.header_text_ch img{
	width : 195px;
	height : 97px;
}
img.img_slide{
	width : 100%;
}
p.concept_r{
	width : 190px;
	height : 270px;
}
.sidebar img{
	width : 170px;
	height : 60px;
}
h3.menu_img img{
	width : 715px;
	height : 50px;
}
.buffet_l img{
	width : 240px;
	height : AUTO;
}
p.gotop img{
	width : 110px;
	height : 20px;
}
div.info_l img.img_shop{
	border : 5px solid #feeddd;
	width : 320px;
	height : 230px;
}
img.img_tokachi{
	width : 100%;
}
table.table_menu{
	width : 100%;
}
table.table_menu th{
	width : 30%;
}
table.table_menu td{
	width : 70%;
}
/* ---------------------------------------- 　↓ */
div.mainContents {
    margin-top: 40px;
	padding: 0 20px;
}
div.primaryContents div.catch::after {
	content: "";
	display: block;
	clear: both;
}
div.primaryContents div.catch div.copy {
    position: relative;
    float: left;
    width: auto;
    margin:  0 20px 0 20px;
    padding: 10px 20px 10px 55px;
    background: #22AC38;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.6)
}
div.primaryContents div.catch div img {
    position: absolute;
    top: -20px;
    left: -35px;
    width: 95px;
    height: auto;
}

div.primaryContents div.catch div span {
    font-size: 20px;
    color: #ffffff;
}

div.primaryContents div.catch div.caption {
    float: left;
    width: auto;
    background: none;
    font-size: 13px;
}
div.primaryContents div.wrap::after {
    content: "";
    display: block;
    clear: both;
}
div.primaryContents div.wrap div.list {
    float: left;
    width: 50%;
    padding-bottom: 20px;
}
div.primaryContents div.wrap div.list::after {
    content: "";
    display: block;
    clear: both;
}
div.primaryContents div.wrap div.list:nth-child(odd) {
    padding-right: 10px;
    box-sizing: border-box;
    clear: both;
}
div.primaryContents div.wrap div.list:nth-child(even) {
    padding-left: 10px;
    box-sizing: border-box;
}
div.primaryContents div.wrap div.list img {
    float: left;
    display: block;
    width: 50%;
    height: auto;
    padding-right: 20px;
    box-sizing: border-box;
}
div.primaryContents div.wrap div.list div.text {
    position: relative;
    float: left;
    width: 50%;
    height: auto;
}
div.primaryContents div.wrap div.list div.text span {
    display: block;
}
div.primaryContents div.wrap div.list div.text span.title {
    font-size: 16px;
    padding-left: 5px;
    border-left: solid 3px #000;
    margin-bottom: 50px;
}
div.primaryContents div.column::after {
    content: "";
    display: block;
    clear: both;
}
div.primaryContents div.column img {
    float: left;
    width: 33.33333%;
    padding-right: 1%;
    height: auto;
    vertical-align: bottom;
    box-sizing: border-box;
}
div.primaryContents div.column img:nth-child(2) {
    padding: 0 .5%;
    box-sizing: border-box;
}

div.primaryContents div.column img:last-child {
    padding-left: 1%;
    padding-right: 0;
    box-sizing: border-box;
}
/* ---------------------------------------- 　↓ */

/* タブレット */
@media screen and (max-width : 768px){
	#contents_wrapper{
		width : 100%;
		overflow : hidden;
	}
	#header{
		width : 100%;
	}
	
	/*スライドショー*/
	#slideshow{
		width : 100%;
		max-width : 960px;
		height : AUTO;
	}
	#slideshow div#slideshow_contains{
		width : 100%;
		height : AUTO;
	}
	#slideshow div#slideshow_contains:before {
		content: "";
		display: block;
		padding-top: 50%;
	}
	#slideshow div#slideshow_contains div{
		width : 100%;
		height : AUTO;
	}
	img.img_slide{
		width : 100%;
		height : AUTO;
		margin : 0px;
	}
	/*コンテンツ*/
	#contents{
		width : calc(100% - 20px);
		margin : 10px;
		padding : 0px;
	}
	.line_float{
		width : 100%;
		margin : 0px;
		padding : 0px;
	}
	.concept_l,
	.concept_l_ch {
		width : calc(100% - 250px);
		padding : 30px 0px 0px 30px;
	}
	.concept_l_ch {
		height: auto;
	}
    div.primaryContents div.wrap div.list div.text span.title {
        margin-bottom: 10px;
    }
    div.primaryContents div.catch div.caption {
        padding-top: 20px;
    }
	#sidebar{
		width : 100%;
		float : none;
		clear : both;
		padding : 0px;
		text-align : center;
	}
	
	.line_float_960{
		width : 100%;
	}
	.buffet_l{
		padding : 0px;
		margin : 0px 0px 10px 0px;
	}
	.buffet_r{
		width : calc(100% - 280px);
		padding : 10px;
		margin-right : 10px;
	}
	.buffet_menu{
		width : calc(100% - 20px);
		float : none;
		padding : 0px;
		margin : 10px 0px;
		clear : both;
	}
	.buffet_menu div.breakfast_pic{
		margin :  0px 10px 10px 0px;
		width : calc((100% - 10px) / 3 - 10px);
		height : AUTO;
	}
	.buffet_menu img{
		width : 100%;
		height : AUTO;
	}
	.line_float_all{
		width : 100%;
	}
	.shop_info{
		width : 100%;
	}
	.info_l,
	.info_r{
		width : calc(100% - 20px);
		margin : 20px 10px;
		padding : 0px;
	}
	.info_l img.img_shop{
		float : left;
		margin : 0px 20px 0px 0px;
	}
	.inner_l,
	.inner_r{
		width : 100%;
	}
	iframe{
		width : 100%;
		height : 250px;
	}
	#footer{
		width : 100%;
	}
}
/* モバイル */
@media screen and (max-width : 480px){
	body ,
	table{
		font-size: 14px;
	}
	table th,
	table td{
		padding : 10px;
	}
	#header{
		width : 100%;
		height : AUTO;
		padding : 0px 0px 10px 0px;
	}
    .header_ch {
        padding-bottom: 40px!important;
	}
	h1.header_text{
		top: 5px;
		left: 5px;
		position : absolute;
	}
	h1.header_text img{
		width : 120px;
		height : AUTO;
	}
	.header_r{
		float : right;
		width : calc(100% - 10px);
		top: 5px;
		right: 5px;
		padding : 0px;
		margin : 0px;
	}
	.header_r p{
		font-size : 10px;
	}
	ul.menu{
		float : none;
		padding : 5px 0px;
		margin : 30px 0px 0px 0px;
		width : 100%;
	}
	.menu li {
		padding : 0px;
		margin : 0px;
		width : 50%;
	}
	.concept_l,
	.concept_l_ch{
		float : none;
		width : calc(100% - 20px);
		margin : 10px AUTO;
		padding : 10px;
		height : AUTO;
		background-image : none;
		background-color : #f4f6de;
	}
	.concept_r,
	.concept_r_ch {
		float : none;
		width : calc(100% - 20px);
		margin : 10px AUTO;
		padding : 10px;
	}
	.concept_r_ch {
		text-align: center;
	}
	h2.red_text{
		padding : 0px;
		margin : 10px;
	}
	.concept_l p{
		padding : 0px;
		margin : 10px;
	}
	.buffet_l{
		float : none;
		width : calc(100% - 20px);
		text-align : center;
	}
	.buffet_r{
		float : none;
		width : calc(100% - 20px);
		padding : 0px;
	}
	.buffet_menu{
		width : calc(100% - 20px);
		float : none;
		padding : 0px;
		margin : 10px 0px;
		clear : both;
	}
	.buffet_menu div.breakfast_pic{
		margin :  0px 10px 10px 0px;
		width : calc((100% - 10px) / 2 - 10px);
		height : AUTO;
	}
	.info_l p,
	.info_l h2,
	.info_l h5{
		text-align : center;
		font-size : 1.2em;
	}
	
	.info_l img.img_shop{
		float : none;
		margin : 0px AUTO;
	}
    div.primaryContents div.catch div.copy {
        margin-bottom: 20px;
    }
    div.primaryContents div.wrap div.list {
    float: none;
    width: 100%;
    }
    div.primaryContents div.wrap div.list:nth-child(even),
    div.primaryContents div.wrap div.list:nth-child(odd) {
    padding-left: 0px;
    padding-right: 0px;
    }
    div.primaryContents div.catch div.caption {
        padding-top: 0px;
    }
}
@media screen and (max-width: 320px) {
    .displayNone {
        display: block;
    }
}
.cf::after{
	content: "";
	display: block;
	clear: both;
}

.facility_attention {
    display: block;
    clear: both;
    width: 800px;
    margin: 30px AUTO;
    padding: 15px 10px;
    text-align: center;
    max-width: calc(100% - 40px);
    border: 1px solid #CD0000;
    background-color: #FFFFFF;
}

.facility_attention strong {
    color: #CD0000;
    font-size: 1.1em;
}

