@charset "utf-8";
/*
Theme Name: KyotoWonderlandJP
Theme URI: http://mms.ne.jp
Description: 
Author: 株式会社メディアプラン
Version: 0.2
License: 
License URI: 
Tags: 
*/


@charset "utf-8";


/* フォント指定(移転)
----------------------------------------*/
body {
/*
	font-family: 'Lato', 'Noto Sans Japanese', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-family: 'Noto Sans Japanese', 'Lato', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
	background-color: #ffffff;
}


/* スライダー
----------------------------------------*/
.front-slider {
	width: 100%;
	height: auto;
}
.front-slider img {
	width: 100%;
	height: 80vh;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}
@media (min-width: 768px) {
	.front-slider img {
		height: 600px;
	}
}

.front-slider .slick-dots {
	bottom: 10px;
}

.front-slider .slick-dots li button:before {
	font-size: 15px;
}

.slick-dotted.slick-slider {
	margin-bottom: 0px !important;
}
.slick-dots li button:before {
	font-family: 'Font Awesome 5 Free' !important;
	content: '\f111' !important;
	font-weight: bold !important;
}

.front-headline {
	position: relative;
}

.headline-onslider {
	position: absolute;
	top: 100px;
	left: 5%;
	font-weight: normal;
	max-width: 90%;
	text-align: left;
	color: #fff;
	text-shadow: 1px 1px 5px #000;
/*
	background-color: rgba(0,0,0,.25);
	padding: 0.5em;
*/
}

/* 文字色 */
.headline-onslider.headline-type-white {
	color: #fff;
	text-shadow: 1px 1px 5px #000;
}
.headline-onslider.headline-type-black {
	color: #222;
	text-shadow: 1px 1px 5px #fff;
/*
	background-color: rgba(255,255,255,.45);
*/
}

/* 文字背景 */
.headline-onslider .headline-onslider-text-s > span {
	line-height: 1.8;
	padding: .5em 1px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* 縦書き */
.headline-onslider.headline-type-left.headline-type-v {
	writing-mode: vertical-lr;
	text-align: left;
	top: 80px;
	padding-bottom: 1.5em;
	max-height: 90%;
	height: 100vh;
}
.headline-onslider.headline-type-right.headline-type-v {
	writing-mode: vertical-rl;
	text-align: left;
	top: 80px;
	right: 5%;
	left: auto;
	max-height: 90%;
	height: 100vh;
}
/* スマホ用配置設定優先 */
@media (max-width: 767px) {
	/* 縦書き */
	.headline-onslider.headline-type-left-sp.headline-type-v {
		writing-mode: vertical-lr;
		text-align: left;
		top: 80px;
		padding-bottom: 1.5em;
		max-height: 90%;
		height: 100vh;
	}
	.headline-onslider.headline-type-right-sp.headline-type-v {
		writing-mode: vertical-rl;
		text-align: left;
		top: 80px;
		right: 5%;
		left: auto;
		max-height: 90%;
		height: 100vh;
	}
}
.headline-onslider.headline-onslider-simple {
	background-color: inherit;
}
.headline-onslider.headline-onslider-simple .headline-onslider-text-s {
	display: none;
}
.headline-onslider.headline-onslider-simple:not(.headline-type-v) {
	top: 60%;
	transform: translateY(-50%);
}
.headline-onslider.headline-type-right {
	right: 5%;
	text-align: right;
}
.headline-onslider.headline-type-center {
	text-align: center;
	left: 0px;
	width: 100%;
	max-width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}
/* スマホ用配置設定優先 */
@media (max-width: 767px) {
	.headline-onslider.headline-type-left-sp {
		left: 5%;
		text-align: left;
		width: inherit;
		max-width: inherit;
		padding-left: inherit;
		padding-right: inherit;
	}
	.headline-onslider.headline-type-right-sp {
		right: 5%;
		text-align: right;
		width: inherit;
		max-width: inherit;
		padding-left: inherit;
		padding-right: inherit;
	}
	.headline-onslider.headline-type-center-sp {
		text-align: center;
		left: 0px;
		width: 100%;
		max-width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 768px) {
	.headline-onslider.headline-onslider-simple:not(.headline-type-v),
	.headline-onslider {
		top: 200px;
		background-color: inherit;
		padding: 0px;
		transform: inherit !important;
	}
	.headline-onslider.has-img.headline-onslider-simple:not(.headline-type-v),
	.headline-onslider.has-img {
		top: 120px;
	}
	.headline-onslider.headline-type-left {
		left: 5%;
		text-align: left;
	}
	.headline-onslider.headline-type-left.headline-type-v,
	.headline-onslider.headline-type-right.headline-type-v {
		padding-bottom: 1.5em;
		max-height: 90%;
	}
	.headline-onslider.headline-onslider-simple .headline-onslider-text-s {
		display: block;
	}
}

.headline-onslider .headline-onslider-img {
	width: 100%;
}
.headline-onslider:not(.headline-type-v) .headline-onslider-img {
	margin-bottom: 15px;
}
.headline-onslider.headline-type-left.headline-type-v .headline-onslider-img {
	margin-right: 15px;
}
.headline-onslider.headline-type-right.headline-type-v .headline-onslider-img {
	margin-left: 15px;
}
@media (max-width: 767px) {
	.headline-onslider.headline-type-left-sp.headline-type-v .headline-onslider-img {
		margin-right: 15px;
	}
	.headline-onslider.headline-type-right-sp.headline-type-v .headline-onslider-img {
		margin-left: 15px;
	}
}
.headline-onslider-img img {
	max-width: 100%;
	width: auto;
	height: auto;
}
.headline-onslider:not(.headline-type-v) .headline-onslider-img img {
	max-height: 15vh;
}
.headline-onslider.headline-type-v .headline-onslider-img img {
	max-width: 20vw;
	height: auto;
}
.headline-onslider.headline-onslider-simple.headline-type-v .headline-onslider-img img {
	max-width: 25vw;
}

@media (min-width: 768px) {
	.headline-onslider-img {
		width: auto !important;
		height: auto !important;
		max-width: inherit !important;
		max-height: inherit !important;
	}
	.headline-onslider:not(.headline-type-v) .headline-onslider-img img {
		max-height: auto;
	}
}

.front-reserve-btn {
	position: absolute;
	bottom: -45px;
	left: 10px;
	width: 90px;
	height: 90px;
	border-radius: 100%;
	text-align: center;
	background-color: #991212;
	color: #fff;
	transition: opacity 0.4s, transform 0.4s;
	text-decoration: none;
	box-shadow: 0 1px 5px rgb(0,0,0,.7);
}
.front-reserve-btn:hover {
	opacity: .85;
	color: #fff;
}

.front-reserve-btn > div {
	height: 84px;
	width: 84px;
	border: 1px dashed rgba(255,255,255,.5);
	border-radius: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.front-reserve-btn i {
	font-size: 34px;
}
.front-reserve-btn span {
	font-size: 12px;
}
@media (min-width: 768px) {
	.front-reserve-btn {
		left: 10%;
	}
}

/* メインナビゲーション
----------------------------------------*/
.navbar.bg-white .nav-link {
	color: #111;
	transition: opacity .25s;
}
.navbar.bg-white .nav-link:hover {
	opacity: .65;
}

@media (min-width: 768px) {
	.navbar .navbar-nav .nav-link {
		position: relative;
	}
	.navbar .navbar-nav .nav-link::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background-color: rgba(20,20,20,.5);
		bottom: 0px;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: transform 0.3s;
	}
	.navbar .navbar-nav .nav-link:hover::after {
		transform: scale(0.8, 1);
	}
}

.navbar .navbar-brand img {
	max-height: 40px;
	width: auto;
}


.navbar .sns-icons {
	position: fixed;
	bottom: 0px;
	left: 0px;
	width: 100%;
	text-align: center;
	background-color: rgba(255,255,255,.9);
	padding: 5px;
}
@media (min-width: 768px) {
	.navbar .sns-icons {
		background-color: inherit;
		padding:  inherit;
	}
}

.navbar .sns-icons .fa-stack {
	font-size: 24px;
}

footer {
	padding-bottom: 40px;
}
@media (min-width: 768px) {
	.navbar .sns-icons {
		position: static;
		transform: inherit;
		width: auto;
		text-align: left;
	}
	.navbar .sns-icons .fa-stack {
		font-size: 20px;
	}
	footer {
		padding-bottom: 0;
	}
}

.nav-phone {
	min-width: 56px;
}
.nav-phone .fa-stack {
	color: #998686;
}

.navbar.bg-danger .nav-link {
	color: #fff;
}
.navbar.bg-danger .nav-link:hover {
	opacity: .85;
	transition: opacity 0.4s, transform 0.4s;
}


/* メニュースライダー
----------------------------------------*/
.menu-slider .card {
	width: 220px;
}
.menu-slider .slick-track {
	display: flex;
}
.menu-slider .slick-slide {
	height: auto !important;
}

.menu-slider .slick-slide img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
	transition: opacity 0.4s, -webkit-transform 0.4s;
	-o-transition: opacity 0.4s, transform 0.4s;
	transition: opacity 0.4s, transform 0.4s;
	transition: opacity 0.4s, transform 0.4s, -webkit-transform 0.4s;
}

.menu-slider .slick-slide a {
	display: block;
	overflow: hidden;
}

.menu-slider .slick-slide a:hover img {
	transform: scale(1.1);
}

.menu-card .card-text {
	font-size: .9em;
}
.menu-card .card-title {
	font-size: 1em;
}


/* カテゴリセレクトボタン
----------------------------------------*/
.lineup-list-select .btn {
	position: relative;
}
.lineup-list-select .btn:before {
	content: "";
	position: absolute;
	top: 103%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	border: 12px solid transparent;
	border-top: 12px solid inherit;
	border-top-color: inherit;
	-webkit-transition: top 0.4s;
	-o-transition: top 0.4s;
	transition: top 0.4s;
	transition: opacity 0.1s;
/*
	top: 50%;
	right: 50%;
	position: absolute;
	width: 1.5rem;
	height: 1.5rem;
	background: inherit;
	content: "";
	margin: -0.75rem;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: top 0.4s;
	-o-transition: top 0.4s;
	transition: top 0.4s;
	z-index: -1;
*/
}
.lineup-list-select .btn:hover:before,
.lineup-list-select .btn.active:before {
	top: 103%;
	opacity: 1;
}
.lineup-list-select .btn-outline-dark:not(.active) {
	background-color: #fff;
}
.lineup-list-select .btn-outline-dark:hover {
	background-color: #212529;
}


/* トップページ
----------------------------------------*/
.shop-gmap iframe {
	width: 100%;
	height: 400px;
}
.shop-gmap-sp {
	margin-top: -50px;
}
.shop-gmap-sp iframe {
	height: 50vh;
	display: block;
}


/* 共通
----------------------------------------*/
.section-wp-content {
	min-height: 50vh;
}


/* 固定ページ
----------------------------------------*/
.content-header {
	padding-top: calc(56px + 3rem) !important;
}

/* 投稿ページ
----------------------------------------*/
.post-title:hover {
	text-decoration: none;
}

/* フッター
----------------------------------------*/
footer .footer-text a {
	color: inherit !important;
}


/* 画像位置・効果
----------------------------------------*/
img.alignleft {
	clear: both;
	float: left;
	margin: 0 20px 10px 0;
}
img.alignright {
	clear: both;
	float: right;
	margin: 0 0 10px 20px;
}
img.aligncenter {
	clear: both;
	display: block;
	margin: 10px auto;
}
img.alignnone {
}
@media screen and (max-width:767px) {
	img.alignnone,
	img.aligncenter,
	img.alignright,
	img.alignleft {
		float: none !important;
		clear: both;
		margin: 10px auto;
		display: block;
		max-width: 100%;
		max-height: auto;
		height: auto;
	}
}
img.shadow {
  box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
}


/* 汎用
----------------------------------------*/
.underline:after {
	content: "";
	display: block;
	width: 1.5em;
	height: 2px;
	background-color: #991212;
	margin: 20px auto 0;
}

.section-gap {
	padding-top: 100px;
	padding-bottom: 100px;
}

.opacity-85 {
	opacity: .85!important;
}
.opacity-90 {
	opacity: .9!important;
}

.bg-plain {
	background-color: #fff;
}


/* Ninja Forms
----------------------------------------*/
.nf-after-form-content,
.nf-before-form-content {
	max-width: 1000px;
	margin: 0 auto 2em;
}

.submit-wrap {
	text-align: center;
}

.submit-wrap input.nf-element[type=button] {
	min-width: 120px;
}

.nf-after-form-content .nf-error-msg {
	background-color: #ffeeee;
	padding: 1.5em;
	text-align: center;
}

