/* Table of Content
==================================================
	1.Reset & Basics
	2.Basic Styles
	3.Typography and Common style
	4.Links
	5.Misc


/* Reset & Basics (Inspired by E. Meyers) */

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
* {
	margin: 0;
	padding: 0;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	text-decoration: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a, a:hover, a:active, a:visited, a:focus {
	text-decoration: none;
}
img {
	display: inline-block;
	vertical-align: middle;
	height: auto;
	max-width: 100%;
}
.map img {
	max-width: none;
}
a:focus {
	outline: 0;
}
iframe {
	width: 100%;
	frameborder: 0;
	display: inline-block;
}
::-moz-selection {
 background: #a68b7c;
 color: #ffffff;
}
/* End reset & basics (Inspired by E. Meyers) */
/*Basic Styles*/

body {
	background: #ffffff;
	font-family: 'Hina Mincho', 'Kristi', "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
	color: #757575;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
.stop-scroll {
	overflow: hidden;
}
/*End basic styles*/
/* Typography and Common style*/

h1, h2, h3, h4, h5, h6 {
	color: #353031;
	font-weight: 700;
	text-transform: uppercase;
	position: relative;
}
h1, h2, h3, h4, h5, h6, p.lead, .block-info p, .header .logo h2 {
	font-family: 'Hina Mincho', 'Kristi', "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
.block-cat h2, h1.large {
	font-family: 'Hina Mincho', 'Kristi', "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
.main-nav li, .but {
 font-family: font-family: 'Hina Mincho', 'Kristi', "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
.title-small {
	font-family: 'Hina Mincho', 'Kristi', "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
.h2-s-1 {
	font-size: 15px;
}
em {
	font-style: italic;
}
strong {
	font-weight: 700;
}
p, blockquote {
	line-height: 25px;
}
.but {
	font-weight: 700;
}
.title {
	font-size: 32px;
	font-weight: 400;
	text-transform: capitalize;
}
.title-medium {
	font-size: 18px;
	line-height: 30px;
	font-weight: 400;
}
.title-small {
	line-height: 30px;
	font-weight: 700;
	font-size: 14px;
}
.puch-right {
	padding-right: 20px;
}
p.lead {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
p.beige {
	color: #a68b7c;
	text-transform: capitalize;
	font-size: 13px;
}
p.title-lead {
	font-size: 16px;
}
section, .section, .row.relative, .block-content {
	position: relative;
	overflow: hidden;
}
.front-p {
	position: relative;
	z-index: 100;
}
.uppercase {
	text-transform: uppercase;
}
.white {
	color: #ffffff;
}
.top {
	position: relative;
	top: -10px;
}
.zoom {
	animation: zoom 15s ease 0s normal both infinite;
	-webkit-animation: zoom 15s ease 0s normal both infinite;
	-moz-animation: zoom 15s ease 0s normal both infinite;
	-ms-animation: zoom 15s ease 0s normal both infinite;
	-o-animation: zoom 15s ease 0s normal both infinite;
}
@keyframes zoom {
 0% {
 transform: scale(1, 1);
}
 50% {
 transform: scale(1.1, 1.1);
}
 100% {
 transform: scale(1, 1);
}
}
@keyframes zoom {
 0% {
 transform: scale(1, 1);
}
 50% {
 transform: scale(1.1, 1.1);
}
 100% {
 transform: scale(1, 1);
}
}
@keyframes zoom {
 0% {
 transform: scale(1, 1);
}
 50% {
 transform: scale(1.1, 1.1);
}
 100% {
 transform: scale(1, 1);
}
}
.dots {
	background-image: radial-gradient(circle closest-side, rgba(176, 152, 139, 0.25) 80%, #fff 10%);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: 4px 2px;
	border: 0 none;
	display: block;
	height: 3px;
	left: 0;
	margin: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.but, .reservation-form input, .block-form {
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
 -o-border-radius: : 6px;
}
.indent {
	text-indent: -999px;
	display: none;
}
input[type]:-moz-placeholder {
 color: #757575;
 opacity: .5;
 font-size:13px;
}
:-moz-placeholder {
 color: #757575;
 opacity: .5;
 font-size:13px;
}
::-moz-placeholder {
 color: #757575;
 opacity: .5;
 font-size:13px;
}
:-ms-input-placeholder {
 color: #757575;
 opacity: .5;
 font-size:13px;
}
::-webkit-input-placeholder {
 color: #757575;
 opacity: .5;
 font-size:13px;
}
/* End typography and common style*/
/*Links*/

span a, p a {
	color: #a68b7c;
	position: relative;
}
p a:hover:after, span a:hover:after {
	transform: translateY(0) translateZ(0);
	-webkit-transform: translateY(0) translateZ(0);
	-moz-transform: translateY(0) translateZ(0);
	-ms-transform: translateY(0) translateZ(0);
	-o-transform: translateY(0) translateZ(0);
	opacity: 1;
}
span a:after, p a:after {
	background-color: #a68b7c;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translateY(5px);
	-webkit-transform: translateY(5px);
	-moz-transform: translateY(5px);
	-ms-transform: translateY(5px);
	-o-transform: translateY(5px);
	transition-delay: 0s;
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	-ms-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-duration: 0.20s;
	-webkit-transition-duration: 0.20s;
	-moz-transition-duration: 0.20s;
	-ms-transition-duration: 0.20s;
	-o-transition-duration: 0.20s;
	transition-property: opacity, transform, -webkit-transform;
	-webkit-transition-property: opacity, transform, -webkit-transform;
	-moz-transition-property: opacity, transform, -webkit-transform;
	-ms-transition-property: opacity, transform, -webkit-transform;
	-o-transition-property: opacity, transform, -webkit-transform;
	transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	-webkit-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	-moz-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	-ms-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	-o-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
	width: 100%;
}
a, input[type="text"], input[type="submit"] textarea, .mobile-but .lines:after, .mobile-but .lines:before, .block-img a:before, .but, .block-special, .block-content.special:after, .blog-post-short {
	transition: all 0.3s ease 0s;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
}
.but {
	display: inline-block;
	position: relative;
	color: #ffffff;
	padding: 13px 30px;
	background: #a68b7c;
	text-transform: uppercase;
	font-size: 11px;
}
.but:hover, .submit:hover {
	background: #b79e90;
	background: rgba(183,158,144,.95);
}
/*End links*/
/*Misc */

.pt-10 {
	padding-top: 10px !important;
}
.pb-10 {
	padding-bottom: 10px !important;
}
.pt-15 {
	padding-top: 15px !important;
}
.pb-15 {
	padding-bottom: 15px !important;
}
.pt-20 {
	padding-top: 20px !important;
}
.pb-20 {
	padding-bottom: 20px !important;
}
.pt-25 {
	padding-top: 25px !important;
}
.pb-25 {
	padding-bottom: 25px !important;
}
.pt-30 {
	padding-top: 30px !important;
}
.pb-30 {
	padding-bottom: 30px !important;
}
.pt-40 {
	padding-top: 40px !important;
}
.pb-40 {
	padding-bottom: 40px !important;
}
.pt-50 {
	padding-top: 50px !important;
}
.pb-50 {
	padding-bottom: 50px !important;
}
.pt-60 {
	padding-top: 60px !important;
}
.pb-60 {
	padding-bottom: 60px !important;
}
.pt-70 {
	padding-top: 70px !important;
}
.pb-70 {
	padding-bottom: 70px !important;
}
.pt-80 {
	padding-top: 80px !important;
}
.pb-80 {
	padding-bottom: 80px !important;
}
.pt-90 {
	padding-top: 90px !important;
}
.pb-90 {
	padding-bottom: 90px !important;
}
.pt-100 {
	padding-top: 100px !important;
}
.pb-100 {
	padding-bottom: 100px !important;
}
.pt-120 {
	padding-top: 120px !important;
}
.pb-120 {
	padding-bottom: 120px !important;
}
.pt-130 {
	padding-top: 130px !important;
}
.pb-130 {
	padding-bottom: 130px !important;
}
.pt-140 {
	padding-top: 140px !important;
}
.pb-140 {
	padding-bottom: 140px !important;
}
.pt-150 {
	padding-top: 150px !important;
}
.pb-150 {
	padding-bottom: 150px !important;
}
.pt-160 {
	padding-top: 160px !important;
}
.pb-160 {
	padding-bottom: 160px !important;
}
.pt-200 {
	padding-top: 200px !important;
}
.pb-200 {
	padding-bottom: 200px !important;
}
.pt-250 {
	padding-top: 250px !important;
}
.pb-250 {
	padding-bottom: 250px !important;
}
.mt-5 {
	margin-top: 5px !important;
}
.mb-5 {
	margin-bottom: 5px !important;
}
.mt-10 {
	margin-top: 10px !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mt-15 {
	margin-top: 15px !important;
}
.mb-15 {
	margin-bottom: 15px !important;
}
.mt-20 {
	margin-top: 20px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
.mt-25 {
	margin-top: 25px !important;
}
.mb-25 {
	margin-bottom: 25px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mb-30 {
	margin-bottom: 30px !important;
}
.mt-40 {
	margin-top: 40px !important;
}
.mb-40 {
	margin-bottom: 40px !important;
}
.mt-50 {
	margin-top: 50px !important;
}
.mb-50 {
	margin-bottom: 50px !important;
}
.mt-60 {
	margin-top: 60px !important;
}
.mb-60 {
	margin-bottom: 60px !important;
}
.mt-70 {
	margin-top: 70px !important;
}
.mb-70 {
	margin-bottom: 70px !important;
}
.mt-80 {
	margin-top: 80px !important;
}
.mb-80 {
	margin-bottom: 80px !important;
}
.mt-90 {
	margin-top: 90px !important;
}
.mb-90 {
	margin-bottom: 90px !important;
}
.mt-100 {
	margin-top: 100px !important;
}
.mb-100 {
	margin-bottom: 100px !important;
}
.mt-150 {
	margin-top: 150px !important;
}
.mb-150 {
	margin-bottom: 150px !important;
}
.mt-200 {
	margin-top: 200px !important;
}
.mt-350 {
	margin-top: 350px !important;
}
.mb-200 {
	margin-bottom: 200px !important;
}
.not-mb {
	margin-bottom: 0;
}
.bg-white {
	background: #ffffff;
}
.bg-grey {
	background: #fafafa;
}
.bg-dark {
	background: #353031;
}
.pd-0 {
	padding: 0 !important;
}
/*End misc */

.modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
	background-color: #fefefe;  /* モーダルウィンドウの背景色 */
	margin: 15% auto;
	padding: 20px;
	border: 1px solid #888888;
	width: 40%;  /* モーダルウィンドウの横幅 */
}
.modal-title {
	color: #800000; /* モーダルウィンドウの文字の色 */
	font-size: 18px; /* モーダルウィンドウの文字の大きさ */
	font-weight: bold;
	line-height: 200%;
	text-align: center;
}
.close-button {
	color: #aaaaaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}
.close-button:hover, .close-button:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}
/*ココカラ*/
body.open_popup {
	overflow: hidden;
}
.bg_onetime_popup {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: 0.5s;
}
body.open_popup .bg_onetime_popup {
	opacity: 1;
	visibility: visible;
}
.onetime_popup {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 50%;
	min-width: 500px;
	background-color: #fff;
}
.onetime_popup_title {
	position: relative;
	padding: 1em 25px;
	margin: 0px;
	background-color: #811a1e;
	color: #fff;
	font-size: small;
	text-align: left;
	line-height: 1.5;
}
.onetime_popup_title_close {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 30px;
	height: 30px;
	transform: translateY(-50%);
	cursor: pointer;
}
.onetime_popup_title_close::before, .onetime_popup_title_close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
	height: 4px;
	background-color: #fff;
	content: "";
}
.onetime_popup_title_close::before {
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.onetime_popup_content {
	padding: 30px 30px;
	text-align: left;
	font-size: x-small;
}
 @media screen and (max-width: 767px) {
.onetime_popup {
	position: absolute;
	top: 52%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 50%;
	min-width: 300px;
	background-color: #fff;
	max-height: 500px;   /* 好きな高さに調整 */
	overflow-y: auto;    /* 縦方向にスクロールを許可 */
}
.onetime_popup_content {
	padding: 13px 30px;
	line-height: 18px;
}
}
 @media screen and (min-width: 768px) {
.ttl_p {
	display: none;
}
}
.lang-switch {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.75rem;           /* スマホで少し狭め */
	flex-wrap: wrap;        /* 画面幅が狭いとき折り返す */
	margin-top: 15px;
}
.lang-switch li {
	display: inline;
}
.lang-switch a {
	font-size: 1.2em;
	display: inline-block;
	text-decoration: none;
	color: #fff;            /* 白文字でコントラスト */
	font-weight: bold;
	background: #811a1e;    /* メインカラー */
	padding: 0.6em 1.2em;   /* タップしやすい余白 */
	border-radius: 8px;     /* 角丸 */
	transition: all 0.25s ease;
}
.lang-switch a:hover, .lang-switch a:focus {
	background: #a32228;    /* 少し明るめに変化 */
	transform: translateY(-2px); /* 押せる感 */
}
.lang-switch a:active {
	background: #5c1215;    /* 押したとき濃く */
	transform: translateY(1px); /* 押し込み感 */
}
