/*
Theme Name:   Wisdom Tool
Template:     ystandard
Description:  子テーマ
Author:       Orb-it
Version:      1.0.0
Text Domain:  ystandard-child
*/

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Shippori+Mincho&display=swap');

/*****************
COMMON RESET
*****************/
body, div, dl, dt, dd, ul, ul li, ol, ol li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address,
figure, figcaption {
	margin: 0;
	padding: 0;
}

body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased; /* for webkit アンチエイリアス */
	-webkit-text-size-adjust: 100%;
	color: #000;
}

a { color: #000; text-decoration: underine; }
a:hover {color: #575757;}

.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6 {
     margin: 0px;
}

/* back to top */
.back-to-top__content { background-color: #000; color: #FFF; }
#back-to-top { right: 3vh; bottom: 2vh; }

/* デフォルトのページ幅 */
:root {
  --ystd-content-default-width: 1100px;
}

/* トップに戻るボタン　スクロールしてから表示に変更 */
#back-to-top {
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .25s, transform .25s, visibility 0s .25s;
}

#back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition: opacity .25s, transform .25s, visibility 0s;
}

/* パンくず */
.breadcrumbs__list { padding: 1em 0; }
.breadcrumbs__list a { text-transform: uppercase; }



.lora-400 { font-family: "Lora", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.lora-500 { font-family: "Lora", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.lora-600 { font-family: "Lora", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }
.lora-700 { font-family: "Lora", serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; }

.shippori-mincho-regular {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal; }

/*****************
HEADER RESET
*****************/
#masthead.site-header { position: fixed !important; top: 0 !important; left: 0; width: 100%; z-index: 1000; background: none; }
body { padding-top: 0 !important; overflow-x: hidden; }

.header-media.is-image { margin-top: 0 !important; width: 100vw; height: 100vh; overflow: hidden; padding: 0 !important; }
.wp-custom-header { margin-top: 0 !important; width: 100vw; height: 100vh; overflow: hidden; padding: 0 !important; }
.header-media.is-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.wp-custom-header img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.global-nav { background: none; }

#masthead.site-header a { color: #FFF; transition: color 0.3s ease; }
#masthead.site-header.scrolled { background: rgba(0, 0, 0, 0.5); }
html { padding-top: 0 !important; padding-bottom: 32px !important; }

body:not(.home) #masthead.site-header { background: rgba(0, 0, 0, 0.8); /* 例: 半透明黒 */ }
body:not(.home) .site-content { padding-top: 80px; /* ヘッダーの高さに合わせて調整 */ }

@media screen and (max-width: 782px) {
	html { padding-bottom: 46px !important; }
}

/* ヘッダーロゴ */
.header-type--row1 .site-branding { padding: 1.5em 0; }

@media screen and (max-width: 768px) {
	.header-type--row1 .site-branding { padding: 1em 0; }
}

@media screen and (max-width: 768px) {
	#masthead.site-header { height: 55px; }
	.global-nav__container { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.8); opacity: 0; transform: translateY(-10px); transition: opacity 0.5s ease, transform 0.5s ease; z-index: 9999; }
	.global-nav__container.fade-in { opacity: 1 !important; transform: translateY(0) !important; }
	.global-nav__menu > .menu-item { text-align: center; }
	.site-header button { margin-top: 3px; color: #FFF; }
	.global-nav__container ul {margin-top: 80px; }
}

/* グローバルナビ */
.custom-nav-content {
	display: none;
	color: #FFF;
}
.global-nav__menu.is-open + .custom-nav-content {
	display: block;
}

/*****************
HEADER EFFECT
*****************/
.site-branding { opacity: 0; transform: translateY(-10px); transition: opacity 0.8s ease, transform 0.8s ease; }
.global-nav { opacity: 0; transform: translateY(-10px); transition: opacity 0.8s ease, transform 0.8s ease; }
.fade-in { opacity: 1 !important; transform: translateY(0) !important; }


/*******************************************
共通パーツ カスタマイズ RESET
*******************************************/
/* page設定 */
body:not(.home) .site-content { padding-top: 10px; }

@media screen and (max-width: 768px) {
body:not(.home) .site-content { padding: 10px 20px 0px; }
}

/* ページ幅リセット */
body.home .site-content .container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important; }

/* ページ幅指定 */
.wide_inner {max-width:1100px; margin:0 auto; }

/* 大見出しタイトル */
.singular-header__title { font-size: 3em;
	margin: 0px 0px 30px 0px !important;
	font-weight: 500;
	letter-spacing: 2px;
	font-family: "Lora", serif;
	font-optical-sizing: auto;
	font-style: normal; }
	
.singular-header__title::after {content: '';
	display: block;
	width: 60px;
	height: 2px;
	background-color: #000; }

@media screen and (max-width: 768px) {
	/* 大見出しタイトル */
	.singular-header__title { font-size: 2.0em;
		margin: 0px 0px 10px 0px !important;
		font-weight: 500;
		letter-spacing: 2px;
		font-family: "Lora", serif;
		font-optical-sizing: auto;
		font-style: normal; }
		
	.singular-header__title::after {content: '';
		display: block;
		width: 35px;
		height: 2px;
		background-color: #000; }
		
		/* 下階層ヘッダー画像高さ指定 */
	.site-header-thumbnail {
	 padding-top: 55px; }
}

	/* マウスオーバー画像 色付 */
a img {
	filter: grayscale(100%);
	transition: filter 0.2s ease;
}

a:hover img {
	filter: grayscale(0%);
}

/*******************************************
INDEX設定
*******************************************/
/* リードコピー */
.top-lead-section{ max-width: 1100px; margin: 0px auto; padding: 100px 20px 100px 20px; text-align: center; }
.top-laed-section-ja{ 
 	margin: 0px !important;
	font-size: 1.5em !important;
	line-height: 1.8;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	color: #000; }
.top-laed-section-en{ margin-top: 40px;
	font-size: 0.9em;
	line-height:1.6;
	font-family: "Lora", serif;
	text-align: center;
	color: #000; }

@media (max-width: 768px) {
	.top-lead-section{ padding: 50px 20px; text-align: center; }
	.top-laed-section-ja{ font-size: 1.0em !important; line-height: 2; }
	.top-laed-section-en{ font-size: 0.7em; line-height:1.6; }
}

/* 固定仕切り画像 */
.image_section {margin: 150px 0px;
	background-image: url('img/index/bk_01.jpg');
	background-size: 100% auto; /* 横幅100%、高さ自動 */
	background-position: center;
	background-repeat: no-repeat;
	height: 360px; /* 必須：高さがないと画像が見えない */ 
	z-index: 0; }

@media (max-width: 768px) {
.image_section {margin: 100px 0px;
	height: 200px; /* 必須：高さがないと画像が見えない */ 
	z-index: 0; }
}

@media (max-width: 480px) {
.image_section {margin: 50px 0px 100px 0px; }
}

/* ABOUT ANIMATION設定 */
/*******************************************/
.about-section { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; max-width: 1100px; margin: 0px auto 100px; padding: 0 20px; min-height: 730px; background: #FFF; }
.about-image { position: absolute; top: 0px; right: 10%; width: 65%; z-index: 1; opacity: 0; transition: all 0.8s ease-out; }
.about-text { position: absolute; top: 375px; left: 18%; width: 54%; background: #FFF; padding: 50px 40px 0px 0px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; }
.about-text p { line-height: 1.8; font-size: 0.8em; margin: 0; padding-top: 20px; }
.slide-left { transform: translateX(-200px); }
.slide-right { transform: translateX(200px); }
.show { opacity: 1 !important; transform: translateX(0) !important; }

@media (max-width: 768px) {
/* ABOUT ANIMATION設定 */
	.about-section { position: relative; overflow: hidden; width: 100%; margin: 0px; padding: 0px; min-height: 730px; }
	.about-image { position: absolute; top: 0px; right: 0px; width: 90%; }
	.about-text { position: absolute; top: 50%; left: 0px; right: 0px; width: 90%; background: #FFF; padding: 30px 0px 0px 50px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 250px; }
	.slide-left, .slide-right { transform: translateY(50px); }
}

@media (max-width: 480px) {
/* ABOUT ANIMATION設定 */
	.about-section { position: relative; overflow: hidden; width: 100%; margin: 0px; padding: 0px; min-height: 655px; }
	.about-image { position: absolute; top: 0px; right: 0px; width: 90%; }
	.about-text { position: absolute; top: 29%; left: 0px; right: 0px; width: 90%; background: #FFF; padding: 30px 0px 0px 30px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 400px; }
	.slide-left, .slide-right { transform: translateY(50px); }
}

/* SHOP ANIMATION設定 */
/*******************************************/
.shop-section { position: relative; display: flex; align-items: flex-end; justify-content: flex-end; max-width: 1100px; margin: 10px auto 100px; padding: 0 20px; min-height: 660px; background: #FFF; }
.shop-image { position: absolute; top: 0px; left: 10%; width: 65%; z-index: 1; opacity: 0; transition: all 0.8s ease-out; }
.shop-text { position: absolute; top: 375px; right: 18%; width: 54%; background: #FFF; padding: 50px 0px 100px 80px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 280px; }

.shop-image img { width: 100%; height: auto; display: block; }
.shop-text p { line-height: 1.8; font-size: 0.8em; margin: 0; padding-top: 20px; }
.shop-slide-left { transform: translateX(-200px); }
.shop-slide-right { transform: translateX(200px); }
.shop-show { opacity: 1 !important; transform: translateX(0) !important; }


@media (max-width: 768px) {
/* SHOP ANIMATION設定 */
	.shop-section { position: relative; width: 100%; margin: 0px; padding: 0px; min-height: 680px; }
	.shop-image { position: absolute; top: 0px; left: 0px; width: 90%; }
	.shop-text { position: absolute; top: 52%; right: 0px; width: 90%; background: #FFF; padding: 30px 30px 0px 30px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 220px; }
	.shop-slide-left, .shop-slide-right { transform: translateY(50px); }
}

@media (max-width: 480px) {
/* SHOP ANIMATION設定 */
	.shop-section { position: relative; width: 100%; margin: 0px; padding: 0px; min-height: 480px; }
	.shop-image { position: absolute; top: 0px; left: 0px; width: 90%; }
	.shop-text { position: absolute; top: 40%; right: 0px; width: 90%; background: #FFF; padding: 30px 30px 0px 30px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 265px; }
	.shop-slide-left, .shop-slide-right { transform: translateY(50px); }
}

/* SHOP CARDS ANIMATION設定 */
/*******************************************/
.shop-cards-section { overflow: hidden; margin: 0px auto; background: #FFF; }
.shop-cards { position: relative; z-index: 3; display: flex; flex-wrap: wrap; gap: 20px; max-width: 1100px; margin: 0px auto 100px; padding: 0 20px; }
.shop-card { flex: 1; min-width: 250px; opacity: 0; transform: translateX(-50px); transition: all 0.6s ease-out; margin-bottom: 30px; }
.shop-card.show { opacity: 1; transform: translateX(0); }
.shop-card:nth-child(1) { transition-delay: 0.1s; }
.shop-card:nth-child(2) { transition-delay: 0.3s; }
.shop-card:nth-child(3) { transition-delay: 0.5s; }
.shop-card:nth-child(4) { transition-delay: 0.7s; }
.shop-card img { width: 100%; height: auto; margin-bottom: 15px; }

.shop-card h3 { font-size: 0.8em; margin: 0px 0px 10px 0px; font-weight: 600; }
.shop-card p { font-size: 0.8em; line-height: 1.6; margin-bottom: 10px; }

.shop-card .readmore-btn { display: inline-block; padding: 8px 16px; background: #FFF; color: #000; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; }
.shop-cardp .readmore-btn:hover { background: #000; color: #FFF; border: 1px solid #000; }

.shop-card .reserve-btn { display: inline-block; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; }
.shop-card .reserve-btn:hover { background: #FFF; color: #000; border: 1px solid #000; }

@media (min-width: 831px) and (max-width: 1099px) {
	.shop-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2列 */
	gap: 20px; /* 必要なら調整 */}
	
	.shop-card {
	width: 100%; }
}

@media (max-width: 768px) {
	.shop-cards-section { margin: 50px auto 50px; }
	.shop-cards { margin: 0px auto 0px; padding: 0 40px; }
	.shop-card { margin-bottom: 50px; }
	.shop-card .reserve-btn { display: block; width: 130px; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; }
}

/* CONTACT ANIMATION設定 */
/*******************************************/
.contact-section { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; max-width: 1100px; margin: 0px auto 50px; padding: 0 20px; min-height: 600px; background: #FFF; }
.contact-image { position: absolute; top: 0px; right: 10%; width: 65%; z-index: 1; opacity: 0; transition: all 0.8s ease-out; }
.contact-text { position: absolute; top: 375px; left: 18%; width: 54%; background: #FFF; padding: 50px 40px 0px 0px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; }
.contact-text p { line-height: 1.8; font-size: 0.8em; margin: 0; padding-top: 20px; }
.slide-left { transform: translateX(-200px); }
.slide-right { transform: translateX(200px); }
.show { opacity: 1 !important; transform: translateX(0) !important; }

@media (max-width: 768px) {
/* contact ANIMATION設定 */
	.contact-section { position: relative; overflow: hidden; width: 100%; margin: 0px; padding: 0px; min-height: 600px; }
	.contact-image { position: absolute; top: 0px; right: 0px; width: 90%; }
	.contact-text { position: absolute; top: 50%; left: 0px; right: 0px; width: 90%; background: #FFF; padding: 30px 0px 0px 50px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 250px; }
	.slide-left, .slide-right { transform: translateY(50px); }
}

@media (max-width: 480px) {
/* contact ANIMATION設定 */
	.contact-section { position: relative; overflow: hidden; width: 100%; margin: 0px; padding: 0px; min-height: 350px; }
	.contact-image { position: absolute; top: 0px; right: 0px; width: 90%; }
	.contact-text { position: absolute; top: 55%; left: 0px; right: 0px; width: 90%; background: #FFF; padding: 30px 0px 0px 30px; z-index: 2; opacity: 0; transition: all 0.8s ease-out; height: 150px; }
	.slide-left, .slide-right { transform: translateY(50px); }
}

/* RESERVATION設定 */
/*******************************************/
.reserve-btn-big { display: inline-block; width: 200px;padding: 15px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; }
.reserve-btn-big:hover { background: #FFF; color: #000; border: 1px solid #000; }
@media (max-width: 768px) {
.reserve-btn-big { display: block; width: 180px; padding: 12px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; }
}


/* 下部 slider */
/*******************************************/
.top-slider { max-width: 100%; margin: 0px auto; padding-top: 100px; }
.top-slider .slick-slide { xopacity: 0.6; transition: opacity 0.3s ease; display: flex !important; justify-content: center; }
.top-slider .slick-center { opacity: 1; }
.top-slider .slide-inner { max-width: 120%; padding: 0 10px; box-sizing: border-box; }
.top-slider .slide-inner img { width: 100%; height: auto; display: block; }

@media screen and (max-width: 767px) {
	.top-slider { padding-top: 80px; }
	.top-slider .slide-inner { width: 100%; padding: 0; } 
}

/*******************************************
PRICE設定
*******************************************/
/* PRICE リードコピー */
.price-lead-section{ max-width: 1100px; margin: 0px auto 50px; text-align: center; }
.price-laed-section-ja{ 
 	margin: 0px !important;
	font-size: 1.5em !important;
	line-height: 1.6;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	color: #000; }
.price-laed-section-en{ margin-top: 40px;
	font-size: 0.7em;
	line-height:1.6;
	font-family: "Lora", serif;
	text-align: center;
	color: #000; }

@media (max-width: 768px) {
.price-lead-section{ margin-bottom: 30px; }
.price-laed-section-ja{ margin: 0px !important;
	font-size: 1.1em !important;
	line-height: 1.6;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	color: #000; }
.price-laed-section-en{ margin-top: 40px;
	font-size: 0.7em;
	line-height:1.6;
	font-family: "Lora", serif;
	text-align: center;
	color: #000; }
 }

/* PRICE 価格表 */
.price-section { text-align: center; }
.price-table { display: flex;
	flex-direction: column;
	max-width: 165px;
	margin: 0 auto 30px; }
.price-row { display: flex;
	padding: 10px 0;
	font-size: 0.8em;
	text-align: left; }
.price-item { width: 60px; }
.price-slash { width: 20px; }
.price-come { margin-bottom: 70px;  font-size: 0.8em; }

@media (max-width: 768px) {
	.price-gallery-section{ max-width: 100%; }
	.price-table { display: flex;
		flex-direction: column; }
.price-come { margin-bottom: 50px; }
}

/* PRICE ギャラリー */
.price-section{ max-width: 1100px; margin: 0px auto; padding: 0px 20px; }
.price-gallery-item { display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px; }
.price-gallery-item img { width: 100%;
	height: auto;
	display: block; }

@media (max-width: 1024px) {
	.price-gallery-item {
		grid-template-columns: repeat(3, 1fr); }}
@media (max-width: 768px) {
	.price-gallery-item {
		grid-template-columns: repeat(2, 1fr); }}
@media (max-width: 480px) {
	.price-gallery-item {
		grid-template-columns: 1fr; }}

/*******************************************
SHOP LIST設定
*******************************************/
.shoplist-section { display: flex; gap: 50px; flex-wrap: wrap; justify-content: flex-start; }
.shoplist { width: 45%; position: relative; min-width: 500px; height: 580px; }
.shoplist-image { position: absolute; width: 100%; z-index: 1;}
.shoplist-text { position: absolute; top: 275px; left: 16%; width: 85%; background: #FFF; padding: 40px 0px 0px 40px; z-index: 2;}
.shoplist-image img { max-width: 100%; height: auto; display: block; }

/* SHOP LIST お店英語表記 */
.shoplist-name { font-size: 1.9em;
	margin: 0px 0px 25px 0px !important;
	font-weight: 500;
	letter-spacing: 2px;
	font-family: "Lora", serif !important;
	font-optical-sizing: auto;
	font-style: normal;}
.shoplist-name::after { content: '';
	display: block;
	width: 35px;
	height: 1px;
	background-color: #000; }
.shoplist-text h3 { font-size: 0.8em; margin: 0px 0px 10px 0px;}
.shoplist-text p { line-height: 1.8; font-size: 0.8em; margin-bottom: 15px;}

/* SHOP LIST リンクボタン */
.link-group {display: flex;
	gap: 40px;}
.link-group .readmore-btn { display: inline-block; padding: 8px 16px; background: #FFF; color: #000; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
.link-group .readmore-btn:hover { background: #000; color: #FFF; border: 1px solid #000;}
.link-group .reserve-btn { display: inline-block; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
.link-group .reserve-btn:hover { background: #FFF; color: #000; border: 1px solid #000;}

@media (max-width: 1024px) {
.shoplist { width: 45%; position: relative; min-width: 410px; height: 550px; }
.shoplist-image { position: absolute; width: 100%; z-index: 1;}
.shoplist-text { position: absolute; top: 240px; left: 16%; width: 85%; background: #FFF; padding: 30px 0px 0px 30px; z-index: 2;}
}

@media (max-width: 768px) {
	.shoplist-section { overflow: hidden;}
	.shoplist { width: 100%; height: 720px; position: relative; margin-bottom: 40px;}
	.shoplist-image { position: absolute; width: 100%; z-index: 1;}
	.shoplist-text { position: absolute; top: 55%; left: 10%; width: 90%; background: #FFF; padding: 20px 0px 30px 30px; z-index: 2;}
	.shoplist-image img { max-width: 100%; height: auto; display: block; }
}

@media (max-width: 480px) {
	.shoplist-section { overflow: hidden;}
	.shoplist { width: 100%; height: 500px; position: relative; margin-bottom: 40px;}
	.shoplist-image { position: absolute; width: 100%; z-index: 1;}
	.shoplist-text { position: absolute; top: 45%; left: 5%; width: 95%; background: #FFF; padding: 20px 0px 20px 20px; z-index: 2;}
	.shoplist-image img { max-width: 100%; height: auto; display: block; }
}

@media (max-width: 768px) {
	/* SHOP LIST お店英語表記 */
	.shoplist-name { font-size: 1.4em;
		margin: 0px 0px 25px 0px !important;
		font-weight: 500;
		letter-spacing: 2px;
		font-family: "Lora", serif !important;
		font-optical-sizing: auto;
		font-style: normal;}
	.shoplist-name::after { content: '';
		display: block;
		width: 35px;
		height: 1px;
		background-color: #000; }
	.shoplist-text h3 { font-size: 0.8em; margin: 0px 0px 10px 0px;}
	.shoplist-text p { line-height: 1.8; font-size: 0.8em; margin-bottom: 15px;}

	/* SHOP LIST リンクボタン */
	.link-group { display: block;}
	.link-group .readmore-btn { display: block; width: 130px; margin-bottom: 25px; padding: 8px 16px; background: #FFF; color: #000; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
	.link-group .readmore-btn:hover { background: #000; color: #FFF; border: 1px solid #000;}
	.link-group .reserve-btn { display: block; width: 130px; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
}

/*******************************************
SHOP 詳細 設定
*******************************************/
.shopdetail-section { overflow: hidden;}
.shopdetail-image { width: 100%; margin: 0px auto 80px; display: block; text-align: center;}
.shopdetail-image img { max-width: 100%;}

.shopdetail { display: flex;}
.shopdetail-text { width: 40%;}
.shopdetail-map { width: 60%;}
.shopdetail-map iframe { filter: grayscale(100%);
transition: all 0.7s ease;}

/* SHOP 詳細 お店英語表記 */
.shopdetail-name { font-size: 1.5em;
	margin: 0px 0px 25px 0px !important;
	font-weight: 500;
	letter-spacing: 2px;
	font-family: "Lora", serif;
	font-optical-sizing: auto;
	font-style: normal;}
.shopdetail-name::after { content: '';
	display: block;
	width: 35px;
	height: 1px;
	background-color: #000;}
.shopdetail-text p { line-height: 1.8; font-size: 0.8em; margin-bottom: 15px;}

.shopdetail-text .reserve-btn { display: inline-block; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
.shopdetail-text .reserve-btn:hover { background: #FFF; color: #000; border: 1px solid #000;}

@media (max-width: 768px) {
	.shopdetail-image { margin-bottom: 20px; display: block; text-align: center;}
	.shopdetail-image img { width: 100%;}

	.shopdetail { display: block;}
	.shopdetail-text { width: 100%; margin-bottom: 50px;}
	.shopdetail-map { width: 100%;}
	.shopdetail-map iframe { filter: grayscale(100%);
	transition: all 0.7s ease;}

	/* SHOP 詳細 お店英語表記 */
	.shopdetail-name { font-size: 1.1em;
		margin: 0px 0px 15px 0px !important;
		font-weight: 500;
		letter-spacing: 2px;
		font-family: "Lora", serif;
		font-optical-sizing: auto;
		font-style: normal;}
	.shopdetail-name::after { content: '';
		display: block;
		width: 35px;
		height: 1px;
		background-color: #000;}
	.shopdetail-text p { line-height: 1.8; font-size: 0.8em; margin-bottom: 15px;}

	.shopdetail-text .reserve-btn { display: inline-block; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
	.shopdetail-text .reserve-btn:hover { background: #FFF; color: #000; border: 1px solid #000;}
.link-group .reserve-btn { display: block; width: 130px; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.7em; border: 1px solid #000; transition: all 0.3s; cursor: pointer;}
}

/*******************************************
RESERVATION設定
*******************************************/
.reservation-section { overflow: hidden; }
.reservation-lead { margin-bottom: 50px; }
.reservation-lead p { margin-bottom: 15px; }
.reservation-form { overflow: hidden; max-width: 960px; margin: 0px auto 20px; }
.reservation-cancel { margin-bottom: 40px; }

.reservation-shop-cards { position: relative; z-index: 3; display: flex; flex-wrap: wrap; gap: 20px; max-width: 1100px; margin: 0px auto; }

@media (min-width: 831px) and (max-width: 1099px) {
	.reservation-shop-cards{
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2列 */
	gap: 20px; /* 必要なら調整 */}
	
	.reservation-shop-cards {
	width: 100%; }
}

/*******************************************
お問い合わせ設定
*******************************************/
#cform {max-width:800px; margin:0 auto; }
#cform dl { display: flex; flex-direction: column; gap: 20px; }
#cform dt { font-weight: bold; margin-bottom: 5px; font-family: "Lora", serif; }
#cform dd { margin: 0; }
#cform dl > div { display: flex; flex-direction: column; }

/* PC（769px以上）横並び */
@media screen and (min-width: 769px) {
  #cform dl { flex-direction: column; gap: 20px; }
  #cform dl > div { display: flex; flex-direction: row; align-items: flex-start; }
  #cform dt { width: 150px; margin-bottom: 0; padding-top: 8px; }
  #cform dd { flex: 1; }
}

/* 入力共通 */
#cform input[type="text"],
#cform input[type="email"],
#cform textarea { width: 100%; max-width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 1em; }
#cform .mwform-tel-field input[type="text"] { width: 80px; display: inline-block; margin-right: 4px; }

/* フォーム送信ボタンを SHOP LIST の reserve-btn と同じにする */
.form_btn { text-align: center; margin-top: 30px; margin-bottom: 20px; }
.form_btn input[type="submit"],
.form_btn input[type="button"],
.form_btn .mwform_submitButton { display: inline-block; padding: 8px 16px; background: #000; color: white; text-decoration: none; font-size: 0.8em; border: 1px solid #000; transition: all 0.3s; cursor: pointer; border-radius:0; }

.form_btn input[type="submit"]:hover,
.form_btn input[type="button"]:hover,
.form_btn .mwform_submitButton:hover {
  background: #FFF; color: #000; border: 1px solid #000; box-shadow: none !important; }


/*******************************************
PRIVACY設定
*******************************************/
.privacysection { max-width: 1100px; margin: 0px auto; padding: 0px 20px; }
.privacy-laed { margin-bottom: 30px; font-size: 0.8em; font-weight: normal; }
.privacybox { margin-bottom: 50px; }
.privacybox h2 { margin-bottom: 10px; }
.privacybox p { margin-bottom: 10px; font-size: 0.8em; }
.privacybox ul { margin-left: 20px; }
.privacybox ul li { font-size: 0.8em; }

@media (max-width: 768px) {
	.privacysection {}
	.privacy-laed { margin-bottom: 30px; font-size: 0.8em; font-weight: normal; }
	.privacybox { margin-bottom: 30px; }
}

/*******************************************
FOOTER設定
*******************************************/
.footer-poweredby { display:none; }
.footer-main {padding-top: 4em;
	padding-bottom: 1em;
	overflow: hidden;
	background-color: var(--footer-bg);
	color: var(--footer-text); }
.footer-sns { margin-bottom: 50px; text-align: center; text-align: center; }
.footer-sns a { margin: 0px 5px; }
.footer-logo { width: 186px; display: block; margin: 0px auto 50px; text-align: center; }
.footer-logo img { max-width: 100%; }
.copyright {font-size: 0.7em; }

@media (max-width: 768px) {
	.footer-sns { margin-bottom: 25px; text-align: center; text-align: center; }
	.footer-logo { width: 90px; display: block; margin: 0px auto 25px; text-align: center; }
	.footer-logo img { width: 100%; }
	.copyright {font-size: 0.7em; }
}
