@charset "utf-8";

/*=======================================

SHARE

=========================================*/

body{
	font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", Lucida Grande, Hiragino Kaku Gothic Pro, Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	color: #51463f;
	text-align: center;
	margin: 0 auto;
	font-size: 14px;
}

#contents{
	text-align: center;
	}

section{
	width: 1080px;
	margin: 30px 0;
	}

h1{
	margin-bottom: 40px;
}

h2 {
	font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", Lucida Grande, Hiragino Kaku Gothic Pro, Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 60px;
	font-weight: normal;
	margin-bottom: 30px;
}

h3 {
	font-size: 18px;
	font-weight: bold;
	margin: 30px 0;
	padding: 7px 7px 7px 10px;
	background-color: #f5f4f0;
	border-left: 3px solid #e00012;
	text-align: left;
}

h4 {
	font-size: 18px;
	font-weight: bold;
	margin: 30px 0;
	padding: 7px 7px 7px 10px;
	border-bottom: 2px dotted #51463f;
	text-align: left;
}


img{
	text-decoration:none;
	border:none;
	vertical-align:bottom;
}

a:link{
	color: #51463f;
	text-decoration: underline;
}

a:visited{
	color: #51463f;
	text-decoration: underline;
}

a:hover{
	color: #51463f;
	text-decoration: underline;
}

p{
	text-align: left;
    padding-bottom: 15px;
}

strong{
	font-weight: bold;
	}

figure{
	margin: 0;
	padding: 0;
	}

.txtcenter{
	font-weight: bold;
	text-align: center;
	font-size: 16px;
	}

.imgTxt{
	margin-top: 10px;
	text-align: center;
	font-size: 14px;
	}
	
.imgMinTxt{
	margin-top: 10px;
	text-align: center;
	font-size: 12px;
	}

.center{
	text-align: center;
	}

/* パンクズリスト */

nav#breadcrumbs ul{
	width: 1080px;
	margin: 0 auto 30px;
	padding: 10px 0;
	text-align: left;
	}

nav#breadcrumbs ul li {
  display: inline;
  list-style-type: none;
	font-size: 12px;
}
nav#breadcrumbs ul li:before {
  content: " > ";
}
nav#breadcrumbs ul li:first-child:before {
  content:"";
}


/* ページトップへ戻る */
p.pageTop{
	position: fixed;
	right: 50px;
	bottom: 60px;
}

p.pageTop a:hover{
	text-decoration:none;
	filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}


/*=======================================

HEADER

=========================================*/

header{
	background-color: #e00012;
	}

header #titlelogo{
	position: relative;
	width: 1080px;
	margin: 0 auto;
	padding: 20px 0 30px;
	}

header h1{
	margin: 0;
	}

header #titlelogo p{
	position: absolute;
	left: 0;
	top: 100px;
	}
header #titlelogo .hl {
	position: absolute;
	left: 0;
	top: 100px;
	}
header #titlelogo .hl p {
	position: static;
	}
	
header #titlelogo .reserve{
	position: absolute;
	right: 0;
	top: 100px;
	}

header #titlelogo small{
	display: block;
	padding: 10px 0;
	font-size: 14px;
	color: #ffffff;
}


/*ナビ--------------------------------*/

header nav#gNav{
	margin: 0 auto;
	text-align: center;
	background-color: #fcf38b;
	height: 80px;
}

header nav#gNav ul{
	width: 1080px;
	height: 80px;
	margin: 0 auto;
	padding: 0;
}

header nav#gNav ul li{
	float: left;
	width: 216px;
	height: 80px;
	margin: 0;
	padding: 0;
}



/*=======================================

CONTENTS

=========================================*/

#pagetitle{
	width: 100%;
	height: 200px;
	background: url(../img/share/pagetitle_bg.jpg) center center no-repeat;
	text-align: center;
	}
	
#pagetitle h1{
	width: 1080px;
	margin: 0 auto;
	padding: 80px 0 0;
	text-align: left;
	}

#contents{
	width: 1080px;
	margin: 20px auto 50px;
	padding: 0;
	}

.catch_phrase{
	text-align: center;
	font-size: 24px;
	margin: 10px 0;
	}

#contents figure{
	margin: 15px 0;
	}


/*---------------------------------------
index
---------------------------------------*/

section.btnNav{
	margin: 40px auto 0;
	padding: 0;
	text-align: center;
}

section.btnNav ul li{
	float:left;
	margin: 20px 0 0 20px;
}

section.btnNav ul li.first, section.btnNav ul li:first-child{
	margin-left: 0;
}

section.btnNav ul li a:hover{
	text-decoration:none;
	filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}


/*新着情報-----------------------------*/

section.news{
	clear: both;
	margin: 50px auto;
	text-align: left;
	}

section.news h2{
	margin-bottom: 30px;
}

section.news ul li{
	margin: 10px 0;
	}

section.news ul li span{
	padding-right: 20px;
	}

p.btn_more{
	width: 215px;
	margin: 30px auto 0;
	text-align: center;
	}

p.btn_more a:hover{
	width: 215px;
	text-decoration:none;
	filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}


/*---------------------------------------
about
---------------------------------------*/

.car_photoLayout01, .car_photoLayout02{
	width: 1030px;
	margin: 0 auto;
	}

.car_photoLayout01 .left{
	float: left;
	width: 690px;
	}

.car_photoLayout01 .right{
	float: right;
	width: 320px;
	}

.car_photoLayout02 .right{
	float: right;
	width: 690px;
	}

.car_photoLayout02 .left{
	float: left;
	width: 320px;
	}

figcaption{
	text-align: left;
	margin: 0;
	padding: 0 0 10px;
	font-size: 12px;
	}

#contents .car_photoLayout01 figure, #contents .car_photoLayout02 figure{
	margin: 15px 0 7px;
	}
	
	
.dinner_photoLayout01, .dinner_photoLayout02, .dinner_photoLayout03, .dinner_photoLayout04{
	width: 1020px;
	margin: 0 auto;
	}

.dinner_photoLayout01 .left{
	float: left;
	width: 530px;
	}

.dinner_photoLayout01 .right{
	float: right;
	width: 450px;
	}

.dinner_photoLayout02 .left{
	float: left;
	width: 280px;
	}

.dinner_photoLayout02 .right{
	float: right;
	width: 700px;
	}

.dinner_photoLayout02 .right span{
	font-size: 22px;
	}

.dinner_photoLayout02 .right ul{
	text-align: left;
	margin-top: 15px;
	}

.dinner_photoLayout02 .right dl{
	text-align: left;
	}

.dinner_photoLayout02 .right dt{
	font-weight: bold;
	}

.dinner_photoLayout02 .right dd{
	margin-bottom: 7px;
	}

.dinner_photoLayout03 .left{
	float: left;
	width: 500px;
	}

.dinner_photoLayout03 .right{
	float: right;
	width: 500px;
	}

.dinner_photoLayout03 .right span{
	font-size: 22px;
	}

.dinner_photoLayout03 .right ul{
	text-align: left;
	margin-top: 15px;
	}

.dinner_photoLayout03 .right dl{
	text-align: left;
	}

.dinner_photoLayout03 .right dt{
	font-weight: bold;
	}

.dinner_photoLayout03 .right dd{
	margin-bottom: 7px;
	}

.dinner_photoLayout04{
	width: 1020px;
	margin: 0 auto;
	}
.dinner_photoLayout04 .left{
	float: left;
	width: 340px;
	}
.dinner_photoLayout04 .center{
	float: left;
	width: 280px;
	}

.movieLayout01{
	width: 1020px;
	margin: 0 auto;
	}
.movieLayout01 .left{
	float: left;
	width: 500px;
	}
.movieLayout01 .right{
	float: right;
	width: 500px;
	}


#contents .dinner_photoLayout01 figure, #contents .dinner_photoLayout02 figure, #contents .dinner_photoLayout03 figure, #contents .dinner_photoLayout04 figure{
	margin: 0;
	}


/*---------------------------------------
reserve
---------------------------------------*/

ul.notes{
	text-align: left;
	margin-top: 15px;
	}

table.fare{
	width: 100%;
	margin-top: 15px;
	border-top: 1px solid #d9d9d9;
	border-left: 1px solid #d9d9d9;
	}
	
table.fare th, table.fare td{
	border-bottom: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	padding: 7px;
	text-align: left;
	vertical-align: middle;
	}

table.fare th{
	font-weight: bold;
	background: #f5f4f0;
	text-align: center;
	white-space: nowrap;
	}

table.fare td{
	text-align: center;
	}


table.cancel{
	margin: 15px auto;
	border-top: 1px solid #d9d9d9;
	border-left: 1px solid #d9d9d9;
	}
	
table.cancel th, table.cancel td{
	border-bottom: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	padding: 7px;
	text-align: left;
	vertical-align: middle;
	}

table.cancel th{
	font-weight: bold;
	background: #f5f4f0;
	text-align: center;
	white-space: nowrap;
	}

table.cancel td{
	text-align: left;
	}

dl.summary{
	text-align: left;
	}

dl.summary dt{
	font-weight: bold;
	}

dl.summary dd{
	margin-bottom: 10px;
	}

ol.normal li{
	list-style:decimal;
	text-align: left;
	margin: 0 0 15px 30px;
	}

ol.normal ul li{
	list-style:disc;
	margin: 0 0 0 20px;
	}

.tel{
	font-size: 20px;
	}

.calendar_legend {
	text-align: left;
}

.calendar_legend li {
	display: inline-block;
	margin-right: 1.5em;
	padding-left: 25px;
	position: relative;
}

.calendar_legend li > i {
	display: none;
}

.calendar_legend li:before {
	border-radius: 50%;
	content: "";
	display: block;
	height: 20px;
	left: 0;
	position: absolute;
	top: 0;
	width: 20px;
}

.calendar_legend li:nth-child(1):before {
	background-color: #ded8cf;
}

.calendar_legend li:nth-child(2):before {
	background-color: #c5e7e5;
}
/*
.calendar_legend li:nth-child(3):before {
	background-color: #e70000;
}
*/
.calendar_legend li:nth-child(3):before {
	height: 18px;
	width: 18px;
	border: 1px solid #e70000;
}

/*---------------------------------------
qa
---------------------------------------*/

dl.qa{
	text-align: left;
	}

dl.qa dt{
	color: #e00012;
	font-weight: bold;
	padding: 7px 7px 7px 30px;
	background: #f5f4f0 url(../img/qa/q_icon.gif) 0 center no-repeat;
	}

dl.qa dd{
	margin: 10px 0 30px;
	padding: 3px 0 0 30px;
	background: url(../img/qa/a_icon.gif) no-repeat;
	}


/*=======================================

FOOTER

=========================================*/

footer{
	clear: both;
	border-top: 1px solid #d6cdc7;
	text-align: center;
	padding: 0 0 50px 0;
	}

footer p{
	text-align: center;
	}

footer nav.footerNav{
	text-align: center;
	margin: 0 auto 30px;
	color: #d6cdc7;
}

footer nav.footerNav ul li{
	display: inline-block;
	padding: 0 20px;
	font-size: 12px;
	border-left: 1px solid #d6cdc7;
}

footer nav.footerNav ul li:first-child{
	margin-left: 0px;
	border-left: none;
}

small{
	display: block;
	padding: 10px 0;
	font-size: 12px;
}

.middleStr{
	display: block;
	padding-top: 10px;
	font-size: 16px;
}

.bigStr{
	display: block;
	padding-top: 10px;
	font-size: 18px;
}

/* footerBtn 20180823追加 */
.footerBtn {
	margin-bottom: 50px;
	border-bottom: 1px solid #d6cdc7;
}
.footerBtn ul {
	padding: 30px 0;
	background-color: #f5f4f0;
	border-top: 1px solid #fff;
}
.footerBtn ul:nth-child(2) {
	padding: 0 0 30px 0;
	border-top: none;
	border-bottom: 1px solid #fff;
}
.footerBtn ul li {
	display: inline-block;
    vertical-align: middle;
	margin: 0 10px;
}
.footerBtn ul li + li {
	padding-left: 22px;
	border-left: 1px dotted #d6cdc7;
}


/* .lower-nav
-------------------------------------------------------------------------- */
.lower-nav {
	background: #E7E4DA;
	margin: 10px 0px 25px 0px;
	padding: 5px 10px;
	list-style: none;
	height: 40px;
}

.lower-nav ul {
	margin: 0;
}

.lower-nav ul li {
	float: left;
	margin-top: 7px;
	margin-right: 20px;
	font-size: 1.3em;
}

.lower-nav ul li a {
	background: url(../img/about/arrow02.png) no-repeat left center;
	color: #000;
	padding-left: 10px;
}
/* ページ内アンカー */
.general .article-body .lower-nav.anchor ul li a {
	background: url(../img/common/arrow06.png) no-repeat left center;
	padding-left: 12px;
}

/* margin
-------------------------------------------------------------------------- */
.m-b-0 {
	margin-bottom: 0 !important;
}

.m-b-1 {
	margin-bottom: 1em !important;
}

.m-b-2 {
	margin-bottom: 1.5em !important;
}

.m-b-3 {
	margin-bottom: 2em !important;
}

.m-b-4 {
	margin-bottom: 3em !important;
}

.m-t-0 {
	margin-top: 0 !important;
}

.m-t-1 {
	margin-top: 1em !important;
}

.m-t-2 {
	margin-top: 1.5em !important;
}

.m-t-3 {
	margin-top: 2em !important;
}

.m-t-4 {
	margin-top: 3em !important;
}

/*---------------------------------------
about
---------------------------------------*/
.dl-inline {
	text-align: left;
}
.dl-inline dt {
	clear: left;
	float: left;
	padding: 1em 0;
	width: 10em;
}

.dl-inline dd {
	border-bottom: 1px solid #d6cdc7;
	padding: 1em 0 1em 11em;
}

/*---------------------------------------
201904 トップ改修
---------------------------------------*/
.media_box {
	border: 1px solid #d6cdc7;
	padding: 1px;
	margin-top: 20px;
}
    .media_box p {
		padding-bottom: 0;
	}
	.media_box a {
		display: block;
		box-sizing: border-box;
	}
	.media_box a .image {
		width: 50%;
		float: left;
		box-sizing: border-box;
	}
	.media_box a .text {
		width: 50%;
		float: right;
		box-sizing: border-box;
		padding: 25px 30px;
	}
    .media_box a .bk_title {
		width: 15%;
		float: left;
		box-sizing: border-box;
        padding: 25px 30px;
        background-color: #F5F4F0;
        font-weight: bold;
	}
    .media_box a .bk_text {
		width: 85%;
		float: right;
		box-sizing: border-box;
		padding: 25px 30px;
	}
	.media_box h3 {
		border: none;
		background-color: #fff;
		padding: 0;
		margin: 0 0 10px;
	}

/* contact_tbl */
table.contact_tbl th,
table.contact_tbl td {
	text-align: left;
	box-sizing:  border-box;
}
form input[type="text"],
form input[type="email"],
form textarea {
	font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", Lucida Grande, Hiragino Kaku Gothic Pro, Osaka, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 14px;
	border: 1px solid #d9d9d9;
	padding: 0.5em;
	width: 100%;
	box-sizing:  border-box;
}
form label {
	cursor: pointer;
}
.contact_tbl th {
	width: 250px;
}
.contact_tbl .required {
	display: inline-block;
	margin-left: 0.5em;
	border-radius: 3px;
	background-color: #e00012;
	padding: 0 0.25em;
	color: #fff;
	font-size: 80%;
}
.contact_btn {
	margin-top: 30px;
}
.contact_btn input[type="submit"] {
	background-color: #e00012;
	padding: 15px 20px;
	cursor: pointer;
	border: none;
	color: #fff;
	font-size: 110%;
	font-weight: bold;
}
.contact_btn input[type="submit"]:hover {
	opacity: 0.7;
}
.contact_btn input[type="button"] {
	background-color: #e00012;
	padding: 15px 20px;
	cursor: pointer;
	border: none;
	color: #fff;
	font-size: 110%;
	font-weight: bold;
}
.contact_btn input[type="button"]:hover {
	opacity: 0.7;
}
.contact_btn .back,
.contact_btn .next {
	display: inline-block;
	margin: 0 0.5em;
}
.contact_btn .back button {
	padding: 10px 20px;
	border: none;
	background-color: #d8d8d8;
	cursor: pointer;
}
.contact_btn .back button:hover {
	opacity: 0.7;
}

/* ul */
ul.normal {
	list-style: disc;
	margin: 15px 0 15px 20px;
	text-align: left;
}
ul.normal li {
	margin-bottom: 0.25em;
}

/* leaflet_box */
.leaflet_box {
	text-align: left;
	background-color: #f5f4f0;
	padding: 20px;
	box-sizing: border-box;
	margin-top: 20px;
}
.leaflet_box .image {
	float: left;
	/*margin-right: 30px;*/
	width: 300px;
}
.leaflet_box .image img {
	border: 1px solid #fff;
}
.leaflet_box .text {
float: left;
width: 340px;
margin-right: 30px;
}

/*---------------------------------------
202003 他言語化
---------------------------------------*/
/*Select Language*/
.cp_ipselect {
	overflow: hidden;
	width: 160px;
	margin: 0 auto 10px;
	text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl {
	position: relative;
	border-radius: 2px;
	border: 2px solid #FCF38B;
	background: #ffffff;
}
.cp_ipselect.cp_sl::before {
	position: absolute;
	top: 0.8em;
	right: 0.8em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #E00012;
	pointer-events: none;
}
.cp_ipselect.cp_sl select {
	padding: 8px 38px 8px 8px;
	color: #51463f;
    font-size: 16px;
}

/*---------------------------------------
202012 予約システムリリース
---------------------------------------*/

.color1 {
	color: #e70000;
	}

/*---------------------------------------
20210628 SNSアイコン
---------------------------------------*/

/* ボタン全体 */
.flowbtn {
    border-radius: 50%;
    position: relative;
    display: inline-block;
    width: 50px;
    height: 50px;
    font-size: 30px;
    color: #fff !important;
    text-decoration: none;
    transition: .5s;
}

/* アイコンを真ん中に*/
.flowbtn i {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* ulタグの内側余白を０にする */
ul.snsbtniti {
    padding: 0 !important;
}

/* ボタン全体の位置 */
.snsbtniti {
    display: flex;
    justify-content: center;
}

/* ボタン同士の余白 */
.snsbtniti li {
    flex: 0 0 60px;
    text-align: center !important;
}

/* ボタンにマウスを乗せた時 */
.flowbtn:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}

/* Twitter */
.fl_tw {
    background: linear-gradient(135deg, #13f1fc 0%, #0470dc 100%);
}

/* Instagramアイコン位置 */
.insta_btn .fa-instagram {
    font-size: 35px;
}
/* Instagram紫グラデ背景 */
.insta_btn {
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    overflow: hidden;
}
/* Instagramオレンジグラデ背景 */
.insta_btn:before {
    content: '';
    position: absolute;
    top: 27px;
    left: -12px;
    width: 59px;
    height: 40px;
    background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
    background: radial-gradient(#ffdb2c 5%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}

/* Facebook */
.fl_fb {
    background: linear-gradient(135deg, #6699ff 0%, #3b5998 100%);
}

/* Feedly */
.fl_fd {
    background: linear-gradient(135deg, #b1ea4d 0%, #459522 100%);
    font-size: 28px;
}

/* Pocket */
.fl_pk {
    background: linear-gradient(135deg, #f36265 0%, #dd4f68 100%);
}

/* はてブ */
.fl_hb {
    background: linear-gradient(to bottom, #1fbccd 0%, #1c91d4 84%);
    font-size: 25px;
}

/* YouTube */
.fl_yu {
    background: linear-gradient(135deg, #f5515f 0%, #c9293c 100%);
    font-size: 26px;
}

/* LINE */
.fl_li {
    background: linear-gradient(135deg, #3a9278 0%, #00c300 100%);
}

/* メールボタン */
.fl_ma {
    background: linear-gradient(135deg, #fad961 0%, #f76b1c 100%);
    font-size: 26px;
}

.fb-page {
    padding: 10px 0 0;
}
