/* Google font Icon */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

html{
	scroll-behavior: smooth;
	-webkit-scroll-behavior: smooth;
	
}
body{
    background-color: #faf6f0;
	/* font-family: "Noto Sans JP", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Noto Emoji", sans-serif;
	-webkit-font-family: "Noto Sans JP", sans-serif; */
	font-feature-settings: 'palt';
	-webkit-font-feature-settings: 'palt';
	margin: 0;
	padding: 0;
	
	font-family: "Klee One", cursive;
	font-weight: bold;
	font-style: normal;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
}
img {
	width: 100%;
}
a {
	text-decoration: none;
}
ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}


/* =====================================================
全体ｃｓｓ
===================================================== */
/* カラー */
:root {
	--red : #e60012;
	--green : #15983f;
	--redL : #f29873;
	--Black : #333;
	--gold : #c89757;
	--gray : #f1f1ed;
	--grayB : #e9e5dc;
	--white : #fff;
}

/* 下部余白調整 */
.wrap{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.footer{
	margin-top: auto;
}

.hp_txt14 {
	font-size: 14px!important;
}

/* レスポンシブbr */
.sp_br {
	display: none;
}
@media screen and (max-width:500px) {
	.sp_br {
		display: block;
	}
	/* レスポンシブbr2 */
	.sp_br2 {
		display: none;
	}
}

/* ===============凡庸性css */
/* マーカー */
.marker {
    background: linear-gradient(transparent 50%, #f29873 50%);
}

[id] {
  scroll-margin-top: 20vh; /* ビューポートの半分 */
}

/* =====================================================
ヘッダー
===================================================== */
/* トップイメージ */

.top_img {
	display: none;
}
.top_img-sp {
	display: block;
}
@media screen and (min-width:765px) {
	.top_img {
		display: block;
	}
	.top_img-sp {
		display: none;
	}
}





/* メニュー */
.header {
	width: 100%;
}
.header_inner {
	position: relative;
}

@media only screen and (max-width: 768px) {
	.nav {
		position: fixed;
		right: -320px; /* 右から出てくる */
		top: 0;
		width: 300px; /* スマホに収まるサイズ */
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	}
	.hamburger_wrap {
		position: absolute;
		right: 15px;
		top: 6px;
		width: 40px; /* クリックしやすい幅 */
		height: 40px; /* クリックしやすい高さ */
		cursor: pointer;
		z-index: 300;
	}
	.hamburger {
		position: fixed;
	}
	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.nav_item {
		text-align: center;
		padding: 0 14px;
	}
	.nav_item a {
		display: block;
		padding: 15px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	}
	.nav_item a:hover {
		background-color: #eee;
	}
	.hamburger_border {
		position: absolute;
		left: 0;
		width: 35px;
		height: 4px;
		background-color: var(--red);
		transition: all .6s;
	}
	.hamburger_border_top {
		top: 12px;
	}
	.hamburger_border_center {
		top: 24px;
	}
	.hamburger_border_bottom {
		top: 36px;
	}
	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .nav {
		right: 0;
	}
	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}
	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
}/* sp */

@media only screen and (min-width: 769px) {
	.header_inner{
		max-width: 980px;
		width: 100%;
		margin: 2em auto;
		padding: 20px;
	}
	ul.nav_list {
		padding: 0;
		display: flex;
		justify-content: space-around;
	}
	.nav_list li{
		display: inline-block;
	}
	.nav_list li a{
		color: #333;
		font-weight: 600;
	}
	li.nav_item {
		background-color: var(--gold);
		max-width: 300px;
		width: 100%;
		height: auto;
		border-radius: 100vh;
		margin: 0 auto;
		padding: 1em 0;
		text-align: center;
	}
	li.nav_item a {
		color: #fff;
		align-items: center;
		font-size: clamp(16px, 1.8vw, 20px);
	}
}/* pc */

/* =====================================================
メイン
===================================================== */



/* ---------------------------------共通項 */
.ly_wrapper {
	background-attachment: fixed;
	background-size: 40%;
	background-image: url(../images/back_1.png), url(../images/back_3.png), url(../images/back_2.png), url(../images/back_4.png);
	background-position: top 0 left 10%, top 30% right 20%, bottom 10% left 20%, bottom 0 right 0;
	background-repeat: no-repeat;
	
}
.ly_cont{
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 10px;
}
@media (min-width:768px){
	.ly_wrapper{
		padding: 0 0 60px;
	}
	.ly_wrapper {
		background-size: 25%;
	}
}
@media (min-width:1400px){
	.ly_cont{
		margin: 0 auto;
	}
	.ly_wrapper {
		background-size: 15%;
	}
}


/* --------------------------------------hero */
.hero_wrap figure {
	max-width: 1000px;
	width: 100%;
	margin: 30px auto;
}
/* =========================================
店舗一覧 
=========================================== */
.shop_cont-wrapper {
	/* margin: 5em 10px; */
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 600px));
	gap: 3em;
	justify-content: center;
	width: 100%;
}

.flex_shopItem {
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
	padding: 1em;
	box-shadow: 2px 2px 4px gray;
	border-radius: 10px;
	background-color: #ffffffa2;
}
.flex_shopItem h3 {
	border-bottom: 1px solid var(--gold);
	padding-bottom: .5em;
}
.flex_shopItem h3::after {
	content: '\02192';
	margin-left: 10px;
	color: var(--green);
}
.flex_shopItem h3 a span {
	font-size: clamp(14px, 1vw, 16px);
}
.flex_shopItem h3 a {
	font-size: clamp(20px, 1.7500000000000002vw, 28px);
	color: var(--green);
	transition: 0.5s;
}
.flex_shopItem h3 a:hover {
	opacity: 0.5;
}
.flex_shopItem-txt {
	padding: 1.5em 1em;
}
.flex_shopItem-txt ul {
	font-size: clamp(16px, 1.125vw, 18px);
	line-height: 3em;
}
.flex_shopItem-txt ul li.address {
	line-height: 1em;
	margin-bottom: .5em;
}
.flex_shopItem-txt ul li.tel::before {
	content: '\f095';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	padding: 0 7px 0 0
}
.flex_shopItem-txt ul li.weblink::before {
	content: '\f0ac';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	padding: 0 7px 0 0
}
.flex_shopItem-txt ul li.weblink a {
	color: var(--Black);
	transition: .5s;
}
.flex_shopItem-txt ul li.weblink a:hover {
	opacity: 0.5;
}

/* =========================================
おススメメニュー
=========================================== */
/* メニュー一覧hero */
.menu_hero {
	text-align: center;
	margin: 0 10px 5em;
}
.menu_hero-inner h2 {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
.menu_hero-txt {
	font-size: clamp(16px, 1.5625vw, 25px);
	line-height: 2em;
}
.menu_hero-txt span {
	font-size: 16px;
}

/* ===============================================
メニュータブ切り替え
=============================================== */
.bl_tab{
	display: flex;
	list-style: none;
	justify-content: center;
	margin: 20px auto;
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: bold;
}
.bl_tab a{
	text-decoration: none;
}
.bl_tab li+li{
	border-left: 1px solid #000;
	margin-left: 20px;
	padding-left: 20px;
}
.bl_tab .btn_txt{
	color: #000;
	display: inline-block;
	border-bottom: 1px solid transparent;
	transition: 0.2s;
	cursor: pointer;
}
.bl_tab .btn_txt:hover{
	color: #e4000a;
	border-bottom: 1px solid #e4000a;
}
.bl_tab .btn_toyama.active .btn_txt,
.bl_tab .btn_syutoken.active .btn_txt,
.bl_tab .btn_chubu.active .btn_txt,
.bl_tab .btn_kansai.active .btn_txt{
	color: #e4000a;
	border-bottom: 1px solid #e4000a;
}
/* 2021-09-22 追加 */
.active .btn_txt{
	color: #e4000a;
	border-bottom: 1px solid #e4000a;
}
@media (min-width:768px){
	.bl_tab{
		margin: 40px auto;
	}
	.bl_tab li+li{
		margin-left: 40px;
		padding-left: 40px;
	}
}
#toyama, #syutoken,
#chubu, #kansai{
	display: none;
}
#toyama.active,
#syutoken.active,
#chubu.active,
#kansai.active{
	display: block;
}


/* =================================================
メニュー一覧
=================================================== */
.shop_menuFrex {
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin: 0;
	padding: 0;
}
.shop_menuItem-wrap {
	flex-direction: column-reverse;
}
.shop_menuItem-wrap {
	max-width: 1000px;
	width: 100%;
	background-color: #fff;
    margin: 0 auto;
	padding: 2em 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	border-radius: 10px;
}
.menu-img {
	max-width: 450px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	border-radius: 35px;
	overflow: hidden;
}
.menu_Inner {
	max-width: 450px;
	width: 100%;
}
.menu_Inner h3 {
	font-size: clamp(20px, 1.5625vw, 25px);
	border-bottom: 1px solid var(--red);
	padding: 0 .2em 5px;
	font-weight: bold;
	line-height: 1em;
}
h3.hp_h3Sm {
	font-size: clamp(17px, 1.25vw, 20px);
	font-weight: bold;
}
.menu_Inner h3 span {
	display: block;
	font-size: 18px;
	text-align: right;
	font-size: clamp(16px, 1.25vw, 20px);
	padding-top: 1em;
	line-height: 1.5em;
}
.menu_Inner h3 span span.sm_txt {
	display: contents;
	font-size: 14px;
}
.menu_InnerTxt {
	margin: 1em 1em 2.5em;
}
a.link_shop {
	display: block;
	background-color: var(--gold);
	max-width: 300px;
	width: 100%;
	padding: 1em 2em;
	color: #fff;
	border-radius: 30px;
	text-align: center;
	margin: 0 auto;
	font-size: clamp(16px, 1.125vw, 18px);
	transition: .5s;
}
a.link_shop:hover {
	opacity: .5;
}
@media screen and (min-width:765px) {
	.shop_menuItem-wrap:nth-child(even) {
		flex-direction: row-reverse;
	}
	.shop_menuItem-wrap {
		flex-direction: row;
		/* gap: 150px; */
	}
	.shop_menuItem-wrap {
		gap: 2em;
	}
	.menu_Inner h3 {
		line-height: 1.5em;
	}
}


/* --------------------------------------ページトップ遷移 */
@media screen and (min-width:765px) {
	#page-top {
		bottom: 20px;
		right: 20px;
	}	
}
#page-top {
	position: fixed;
	bottom: 7px;
	right: 9px;
	font-size: 14px;
	line-height: 1;
	z-index: 99;
}
#page-top a {
	background: var(--red);
	text-decoration: none;
	color: #fff;
	width: 70px;
	padding: 28px 5px;
	text-align: center;
	display: block;
	border-radius: 90px;
	opacity: 0.9;
	transition: all .3s ease;
}
#page-top a:hover {
	text-decoration: none;
	background-color: var(--gold);
}

/* =====================================================
フッター
===================================================== */
.footer {
	background-color: var(--red);
}
.footer_inner {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	padding: 2em 10px 2.5em;
}
.footer_inner p {
	text-align: left;
	line-height: 1.8em;
	color: var(--white);
	font-size: clamp(14px, 1.8vw, 16px);
}
.footer_inner p span {
	font-size: clamp(16px, 1.8vw, 22px);
	font-weight: bold;
	padding-bottom: 0.5em;
}
.footer_inner p {
	padding: .3em;
}
p.footer_tel {
	font-size: clamp(16px, 1.8vw, 20px);
}
