@charset "utf-8";
/*===========================================================================*/
/*bar.ewf*/
/*===========================================================================*/
/*--------------------------------*/
/*Font Awesomeの読み込み*/
/*--------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

/*--------------------------------*/
/*Google Fontsの読み込み*/
/*--------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');

/*--------------------------------*/
/*slick.cssの読み込み*/
/*--------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*--------------------------------*/
/*テンプレート専用cssファイルの読み込み*/
/*--------------------------------*/
@import url("slide.css");
@import url("inview.css");

/*--------------------------------*/
/*animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）*/
/*--------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}
/*--------------------------------*/
/*opa1のキーフレーム設定（汎用的）*/
/*--------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*===========================================================================*/
/*全体の設定
/*===========================================================================*/
body * {
	box-sizing: border-box;
}
html,body {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.6;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
/*--------------------------------*/
@media screen and (min-width:600px) {
html, body {
	font-size: 15px;}
}
@media screen and (min-width:900px) {
html, body {
	font-size: 16px;}
}
body {
	margin: 0;padding:0;
	font-family: "M PLUS 1", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: none;
	background: var(--primary-inverse-color);
	color: var(--primary-text-color);
}

/*--------------------------------*/
/*reset
/*--------------------------------*/
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure,form,#menubox {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
}
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
table {
	border-collapse:collapse;
	font-size: 100%;
	border-spacing: 0;
}
iframe {
	width: 100%;
}
/*--------------------------------*/
nav,ul,li,ol {
	margin: 0;
	padding: 0;
}
nav ul {
	list-style: none;
}
input {
	font-size: 1rem;
}
video {
	max-width: 100%;
}

/*===========================================================================*/
/*link
/*===========================================================================*/
a {
	color: inherit;
	transition: 0.3s;
	text-decoration: none;
}
a:hover {
	filter: brightness(1.2);	
	transform: scale(0.88);
	transition: 0.2s;
}

/*===========================================================================*/
/*header
/*===========================================================================*/
/*--------------------------------*/
/*others 
	padding: 1.5rem var(--global-space3);*/
/*--------------------------------*/
body:not(.home) header {
    margin: 0;
    padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#logo {
    margin: 0;
    padding: 0;
}
#logo img {
	display: block;
	width: 130px;
    margin: 0.9rem 0 0.5rem 0.5rem;
}
#telephone {
    margin-right: 65px;
}
@media screen and (min-width:600px)  {
    #logo img {
	width: 180px;
    margin: 0.5rem 0 0.5rem 0.5rem;
    }
    #telephone {
    margin-right: 0.5rem;
    }
}
/*--------------------------------*/
/*index=home（only）*/
/*--------------------------------*/
.home header {

    position: relative;
	width: 100%;
	height: 0;
	padding-top: 56%;  /*size = 9/16*/
	overflow: hidden;
}
/*--------------------------------*/
.home #logo img {
	width: 120px;
	position: absolute;
	left: var(--global-space1);
	top:  var(--global-space1);	
    z-index: 1;
	padding: 0.2rem 0.4rem;
	background-color: white;
}
@media screen and (min-width:600px)  {
	.home #logo img {
		width: 180px;
	}
}
@media screen and (min-width:900px)  {
	.home #logo img {
		width: 230px;
	}
}
.home #logo {
	padding: 0.1rem 0.2rem;
	background-color: white;
}
/*--------------------------------*/
header video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
	object-fit: cover;
}
/*--------------------------------*/
header h1{
	display: flex;
	justify-content:flex-start;
	align-items: center;
	font-size: 1.0rem;
    color: var(--color_black);
	font-weight: normal;
    grid-gap: 0.3rem;
}
/*===========================================================================*/
/*connection
/*===========================================================================*/
p + p {
	margin-top: 0.2rem;
}
/*section + section {
	margin-top: 10vw;
}


/*===========================================================================*/
/*main article
/*===========================================================================*/
/*--------------------------------*/
/*mainブロック（横スライドslick対策）*/
/*--------------------------------*/
main * {
	min-width: 0;}
main {
	margin: var(--global-space3);
}
/*--------------------------------*/
#article {
	padding: 0px;
	margin: 0px auto;
}
/*--------------------------------*/
@media screen and (min-width:300px) {
    .article300{
        padding: 0px;
        max-width: 300px;
        margin: 0px auto;
        }
    .article350{
        padding: 0px;
        max-width: 350px;
        margin: 0px auto;
        }
    .article400{
        padding: 0px;
        max-width: 400px;
        margin: 0px auto;
        }
    .article450{
        padding: 0px;
        max-width: 450px;
        margin: 0px auto;
        }
    .article500{
        padding: 0px;
        max-width: 500px;
        margin: 0px auto;
        }
    .article550{
        padding: 0px;
        max-width: 550px;
        margin: 0px auto;
        }
    .article600{
        padding: 0px;
        max-width: 600px;
        margin: 0px auto;
        }
    .article650{
        padding: 0px;
        max-width: 650px;
        margin: 0px auto;
        }
    .article700{
        padding: 0px;
        max-width: 700px;
        margin: 0px auto;
        }
    .article750{
        padding: 0px;
        max-width: 750px;
        margin: 0px auto;
        }
/*--------------------------------*/
    .article800{
        padding: 0px;
        max-width: 800px;
        margin: 0px auto;
        }
    .article900{
        padding: 0px;
        max-width: 900px;
        margin: 0px auto;
        }
    .article1000{
        padding: 0px;
        max-width: 1000px;
        margin: 0px auto;
        }
    .article1100{
        padding: 0px;
        max-width: 1100px;
        margin: 0px auto;
        }
    .article1200{
        padding: 0px;
        max-width: 1200px;
        margin: 0px auto;
        }
	}

/*===========================================================================*/
/*h2 h3 h4 h5
/*===========================================================================*/
main h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;	
	margin: 0 0 1rem 0;
	font-size: 1.5rem;
	font-weight: normal;
	border-bottom: 2px solid #ddd;
	letter-spacing: 0.05em;
}

main h2 .uline {
	display: inline-block;position: relative;
	padding: 0 0 0.2rem 0;
	bottom: -2px;
	border-bottom: 2px solid var(--primary-color);	
}

main h2 .small {
	font-size: 0.7em;
	opacity: 0.7;	
}

/*--------------------------------*/
main h3 {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-weight: normal;
}

/*--------------------------------*/
/*h3見出し（menu.htmlの「その他のメニュー」での背景色付きの見出しに使用）*/
main h3.menu_category {
	background: var(--primary-color);
	color: var(--primary-inverse-color);	
	font-size: 1rem;
	text-align: center;
	border-radius: 3px;
    padding: 0.2rem 0;
}


/*===========================================================================*/
/*menu_box menu_list
/*===========================================================================*/
.menu_box {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 2rem;	
	margin-bottom: var(--global-space3);
}

@media screen and (min-width:500px) {
	.menu_box {
		grid-template-columns: repeat(2, 1fr);	
	}
}
@media screen and (min-width:700px) {
	.menu_box {
		grid-template-columns: repeat(3, 1fr);	
	}
}
@media screen and (min-width:900px) {
	.menu_box {
		grid-template-columns: repeat(4, 1fr);	
	}
}
@media screen and (min-width:1400px) {
	.menu_box {
		grid-template-columns: repeat(5, 1fr);	
	}
}


/*--------------------------------*/
.menu_list * {
	margin: 0;
}
.menu_list {
	position: relative;
    display: flex;
	flex-direction: column;
	padding: 1rem;
	background: #fff;
	color:var(--primary-text-color);
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}
.menu_list figure img {
	margin-bottom: 0.5rem;
}
.menu_list a {
	color: inherit;
}
.menu_wrap{
    display: flex;
	flex-direction: row;
	justify-content:space-between;
    gap:10px;
	flex-wrap:wrap;
}
.menu_list h4 {
	font-size: 1.1rem;
}
.menu_price {
	background:var(--color_gray08);
	font-weight: normal;
	border-radius: 100px;
	padding: 0.25rem 1rem 0.3rem 1rem;
	margin-left: 1rem;
	font-size: 0.8rem;
}
.menu_list p {
	margin-top:0.6rem;
    padding: 0;
	font-size: 0.9rem;
	line-height: 1.8;
}
.menu_list .newicon {
	position: absolute;
	left: -5px;	
	top: -10px;	
	background: var(--primary-color);
	color: var(--primary-inverse-color);
	font-size: 0.7rem;	
	width: 3.3rem;	
	line-height: 3.3rem;
	border-radius: 50%;	
	text-align: center;	
}
/*===========================================================================*/
/*menu.html*/
/*===========================================================================*/
dl.menu_text{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    line-height: 1.5;
}
dl.menu_text dt,
dl.menu_text dd {
    border-bottom: 1px #ccc dotted;
	padding: 0.6rem;			
}
dl.menu_text dt {
    flex-basis: calc(100% - 6rem);
}
dl.menu_text dd {
	text-align: right;
    flex-basis: 6rem;
}

dl.menu_text dt:nth-of-type(1), 
dl.menu_text dd:nth-of-type(1) {
	margin-top: 0.1rem;
}


/*お知らせブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
.new {
	background: rgba(0,0,0,0.02);	/*背景色。0,0,0は黒のことで0.02は色が2%出た状態。*/
	border-radius: 10px;			/*角を丸くする指定*/
	overflow: hidden;
	margin-bottom: 4rem;	/*ブロックの下に空けるスペース。4文字分。*/
}

/*奇数行目を背景色を少し濃くする。全体同じ色がよければここの数行は削除。*/
.new dt:nth-of-type(odd),
.new dd:nth-of-type(odd) {
	background: rgba(0,0,0,0.04);
}

/*日付(dt)設定*/
.new dt {
	padding: 1rem 1rem 0;	/*dt内の余白。上、左右、下への順番。*/
}

/*記事(dd)設定*/
.new dd {
	padding: 1rem;	/*dd内の余白*/
}

/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/
.new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 3px;		/*角を丸くする指定*/
	padding: 0 0.5rem;		/*上下、左右へのブロック内の余白*/
	width: 8rem;			/*幅。8文字分。*/
	transform: scale(0.8);	/*80%のサイズに縮小*/
	background: #fff;		/*背景色*/
	color:#777;				/*文字色*/
	border: 1px solid #999;	/*枠線の幅、線種、色*/
}

/*icon-bg1*/
.new .icon-bg1 {
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/*枠線を出したくないので透明にする*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.new {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}

	/*日付(dt)設定*/
	.new dt {
		padding: 1rem 0 1rem 2rem;	/*dt内の余白。上、右、下、左への順番。*/
	}

	/*記事(dd)設定*/
	.new dd {
		padding: 1rem 2rem 1rem 0;	/*dd内の余白。上、右、下、左への順番。*/
	}

	}/*追加指定ここまで*/


/*2・3カラム（main-contents、sub-contents設定）
---------------------------------------------------------------------------*/
/*main-contentsブロック*/
.main-contents {
	margin-bottom: var(--global-space);	/*ボックスの下に空けるスペース。subとの間の余白で、css冒頭で指定しているglobal-spaceを読み込みます*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*カラムで使う為の指定*/
	main.column {
		display: flex;					/*横並びにする*/
		justify-content: space-between;	/*並びかたの種類の指定*/
		gap: 3vw;						/*main-contentsとsub-contentsの間のマージン的な隙間*/
	}
	
	/*main-contentsブロック*/
	.main-contents {
		margin-bottom: 0;
		order: 2;		/*並び順。数字の小さい順番に表示されます。*/
		flex: 1;
	}
	
	/*sub-contentsブロック共通*/
	.sub-contents {
		width: 210px;	/*幅。お好みで変更して下さい。*/
	}
	
	/*1つ目のsub-contents*/
	.sub-contents:nth-child(2) {
		order: 1;	/*並び順。数字の小さい順番に表示されます。*/
	}
	
	/*2つ目のsub-contents（※３カラムで使いたい場合用）*/
	.sub-contents:nth-child(3) {
		order: 3;	/*並び順。数字の小さい順番に表示されます。３番目という意味なので一番右側に表示されます。*/
	}
	
	}/*追加指定ここまで*/


/*サブコンテンツ内のh3要素(見出し)*/
.sub-contents h3 {
	display: block;
	margin: 0;
	text-align: center;	/*テキストをセンタリング*/
	border-radius: 5px 5px 0px 0px;	/*角を丸くする指定。左上、右上、右下、左下の順番。*/
	border: 1px solid #ccc;			/*下線の幅、線種、色*/
	background: linear-gradient(transparent, rgba(0,0,0,0.03));/*背景グラデーション。transparentは透明の事。0,0,0は黒の事で0.03は色が3%出た状態。*/
	padding: 0.5rem 0;	/*上下、左右への見出し内の余白*/
}


/*サブメニュー設定
---------------------------------------------------------------------------*/
/*サブメニューブロック全体*/
.submenu {
	padding: 0;
	margin: 0 0 1rem;	/*上、左右、下へのマージン*/
}

/*メニュー１個あたり*/
.submenu a {
	display: block;text-decoration: none;
	padding: 0.2rem 1rem;	/*上下、左右へのメニュー内の余白*/
}

/*メニュー１個あたり（子メニュー以外）*/
.submenu > li {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	border-top: none;		/*上の線だけなくす*/
}

/*子メニュー*/
.submenu li li a {
	padding-left: 2rem;	/*左に余白を空ける*/
}

/*h3見出しの下にサブメニューが続く場合にメニューの上の線をなくす*/
.sub-contents h3 + nav .submenu {
	border-top: none;
}


/*クーポンボタン（トップページ右側の縦書きボタン）
---------------------------------------------------------------------------*/
#message-parts a {
	text-decoration: none;display: block;
	writing-mode: vertical-rl;
	text-orientation: upright;
	background: #ff7e00;/*背景色*/
	color: #fff;		/*文字色*/
	position: fixed;	/*スクロールしてもボタンが移動しないようにする指定。移動させたいならfixedをabsoluteにして下さい。*/
	z-index: 2;
	right: 0px;			/*ボタンの右からの配置場所指定*/
	top: 170px;			/*ボタンの上からの配置場所指定*/
	padding: 20px 15px;	/*ボタン内の余白。上下、左右。*/
	border-radius: 10px 0px 0px 10px;	/*角を丸くする指定。左上、右上、右下、左下の順番。*/
	letter-spacing: 0.1rem;	/*文字間隔を少しだけ広く*/
}

/*ふきだしアイコン*/
#message-parts i {
	transform: scale(1.3);	/*1.3倍に*/
	margin-bottom: 10px;	/*下に空ける余白*/
}

/*マウスオン時に少し明るくする*/
#message-parts a:hover {
	filter: brightness(1.2);
}


/*===========================================================================*/
/*その他
/*===========================================================================*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;color: #333;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}/*追加指定ここまで*/
