/* テーマ追加用style-add.css */

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Serif+JP:wght@200..900&family=Yuji+Syuku&display=swap');

.mincho {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
}

html {
	position: relative;
}
body {
	padding-top: 80px;
	font-size: 20px;
	line-height: 1.8em;
	color: var(--black);
}
a { color: #333; }
a:hover {}
a img { transition: all 0.2s; }
img { height: auto; }
b, strong { color: #e83120; }
blockquote {
	margin-bottom: 40px;
}
.content a { color: #e83120; text-decoration: underline; }
.news-list a { color: #333; }

.bx-wrapper {
	position: relative;
	z-index: 0;
}

/* 色指定 */
:root {
	--blue: #354B5E;       /* 和の藍色寄りに調整：深くて落ち着いた青 */
	--black: #1C1C1C;      /* そのままでOK */
	--gold: #D4AF37;       /* 照明の色味に近い、上品な金 */
	--green: #0F3B2F;      /* 深緑、和の庭感とマッチ */
	--orange: #B36B43;     /* 少しくすませて、和テイストのオレンジに */
	--brown: #4E3620;      /* 家具の木の色に近い、こげ茶系を追加 */
	--white: #F5F3EA;      /* あたたかみのある白でOK */
	--gray: #E0DED9;       /* 少しベージュ寄りにして和紙感を演出 */
}

/* header.php */

.header-wrap {
	background: rgba(255,255,255,1);
	position: fixed;
	top: 0;
	width: 100%;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.3));
	z-index: 10000;
}

/* ログイン時の調整 */
.logged-in .header-wrap {
	top: 32px;
}
@media (max-width: 782px) {
	.logged-in .header-wrap {
/*		top: 46px;*/
		top: 0;
	}
}
/* ログイン時の調整 */

.header-wrap .header {
	padding: 6px 20px;
	max-width: 1200px;
	margin: 0 auto;
}
.header-wrap .header h1 {}
.header-wrap .header .header-logo {
	float: left;
	margin: 0 auto 0 0;
	display: block;
	margin: 0 auto 0 0;
	width: fit-content;
}
.header-wrap .header .header-logo img {
	height: 70px;
	width: auto;
}
.header-wrap .navi {
	float: right;
	margin: 0 0 0 auto;
	padding: 32px 0 0 0;
	width: fit-content;
}
@media (max-width: 767px) {
	.header-wrap .navi {
		display: none;
	}
}
.header-wrap .navi ul.navi-list {
	margin: 0 auto;
	padding: 0;
	width: fit-content;
}
.header-wrap .navi ul.navi-list li {}
.header-wrap .navi ul.navi-list li a {
	font-size: 16px;
	line-height: 28px;
	padding: 4px 6px;
	letter-spacing: 0.1em;
}
@media (max-width: 640px) {
	body {
		padding-top: 44px;
	}
	.header-wrap {
	}
	body .header-wrap::before {
		font-size: 12px;
		line-height: 20px;
		width: 90px;
	}
	.header-wrap .header {
		padding: 8px 12px;
	}
	.header-wrap .header h1 {}
	.header-wrap .header .header-logo img {
		max-height: 40px;
	}
	.header-wrap > .navi {
		display: none;
	}
	.header-wrap .navi ul.navi-list {}
	.header-wrap .navi ul.navi-list li {}
	.header-wrap .navi ul.navi-list li a {}
}

/* body */

.body-wrap {
	margin-top: 2em;
}
.body-wrap .body {}
.body-wrap .body.single-body {}
.body-wrap .body .content {
	max-width: 740px;
	padding: 0 20px;
	margin: 0 auto 120px auto;
}
.body-wrap .body .content article {}
.body-wrap .body .content article header {}
.body-wrap .body .content article .cat-sub {}
.body-wrap .body .content article .cat-sub .cat-name {
	width: fit-content;
	padding: 4px 8px;
	background: #e83120;
	color: #fff;
	font-size: 0.8em;
	font-weight: bold;
}
.body-wrap .body h1 {
	font-size: 1.6em;
	letter-spacing: 0.1em;
	margin: 0.4em 0 1em 0;
	padding: 0 0 8px 0;
	border-bottom: 1px solid;
}
.body-wrap .body h2 {
	font-size: 1.4em;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin: 1em 0 1.4em 0;
	border-bottom: 1px solid;
	padding: 8px 0 8px 8px;
}
.body-wrap .body h3 {
	font-size: 1.2em;
	line-height: 1.4em;
	letter-spacing: 0.1em;
	margin: 2em 0 1.4em 0;
	border: 1px solid;
	padding: 8px;
}
.body-wrap .body h4 {
	font-size: 1.2em;
	letter-spacing: 0.1em;
	margin: 2em 0 1.4em 0;
	border-bottom: 1px solid;
	padding: 0 0 8px;
}
.body-wrap .body h5 {
	font-size: 1.2em;
	letter-spacing: 0.1em;
	margin: 2em 0 1.4em 0;
	padding: 0 0 6px 0;
}
.body-wrap .body h6 {
	font-size: 1em;
	letter-spacing: 0.1em;
	margin: 2em 0 1.4em 0;
}
.body-wrap .body .content article h1.single-title {
	margin-bottom: 0;
}
.body-wrap .body .content article h1.single-title + .date {
	text-align: right;
	margin-bottom: 2em;
	padding: 6px;
}
.body-wrap .body p {
	padding-top: 10px;
}
.body-wrap .body dl {}
.body-wrap .body dl dt {
	width: 30%;
}
.body-wrap .body dl dd {
	width: 70%;
}
.box {
	padding: 0 20px;
	margin: 0 auto 2em auto;
	max-width: 740px;
}
.box iframe {
	width: 100%;
}
.box h2 {
	margin: 0 0 40px 0;
	letter-spacing: 0.1em;
	line-height: 1.4em;
}
.box ul {
	display: block;
}
.box ul li {
	list-style: disc;
	display: block;
}
.box .img {
	width: 300px;
	height: auto;
	float: left;
}
.box .img img {
	margin-bottom: 10px;
}
.box .text {
	float: right;
	width: calc( 100% - 320px );
}
.box .text h3 {
	border: none;
	font-size: 1em;
	font-weight: normal;
	margin: 0;
	padding: 0;
}
.box .text h3:before {
	content: '＜';
}
.box .text h3:after {
	content: '＞';
}
.box .text .price {
	padding: 0 0 0 1em;
	font-size: 1em;
}
.box .text .price span {
	font-size: 1.2em;
}

.news-list {
	margin: 2em 0;
}
.news-list h2 {}
.news-list ul {
	padding-left: 40px;
}
.news-list ul li {
	list-style: none;
	margin-bottom: 8px;
	position: relative;
}
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
.news-list ul li.new::before {
	display: block;
	position: absolute;
	left: -32px;
	font-weight: bold;
	font-size: 0.6em;
	color: #e83120;
	content: 'NEW';
	animation: blink 3s infinite;
}
.news-list ul li a {
	display: block;
}
.content .tel {
	font-size: 3em;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.content .tel::before {
	content: "\f095"; /* FontAwesomeの電話アイコンのコード */
    font-family: "FontAwesome";
	font-size: 0.8em;
}

ul.photo-list {
	padding: 0;
}
ul.photo-list li {
	list-style: none;
	width: 25%;
	padding: 4px;
}
ul.amenity {}
ul.amenity li {
	list-style: none;
	display: inline-block;
	width: fit-content;
	margin: 0 10px 10px 0;
}
.pagetop {
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}
.pagetop h1,
.access-top h2 {
	position: absolute;
	background: var(--brown);
	color: var(--white);
	padding: 10px 20px;
	letter-spacing: 0.1em;
	font-size: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6));
}
.calendar {
	margin: 1em 0 2em 0;
}
.calendar iframe {
	max-width: 100%;
}
.form {
	background: var(--gray);
	padding: 10px 16px;
	margin: 1em 0 2em 0;
}
.body-wrap .body .form h2 {
	margin-top: 10px;
}
.form dl {}
.form dl p {
	margin: 0;
}
.form dl dt {
	width: 200px;
}
.form dl dd {
	width: calc( 100% - 200px );
	margin-bottom: 1em;
}
.form input[type="submit"] {
	background: var(--gray);
	color: var(--blue);
	border: 1px solid;
	padding: 4px 12px;
	display: block;
	margin: 0 auto;
	border-radius: 10px;
}
.form input[type="submit"]:hover {
	background: var(--blue);
	color: var(--white);
}
.access-top {
	width: 100%;
	height: 400px;
	background: url(img/accesstop.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	margin-bottom: 1em;
}
.access .googlemap iframe {
	width: 100%;
}
dl.data {}
dl.data dt {
	display: block;
}
dl.data dt:before {
	content: '[ ';
}
dl.data dt:after {
	content: ' ]';
}
dl.data dd {
	display: block;
	width: 100%;
	padding: 0 0 0 1em;
	margin-bottom: 1em;
}
.body-wrap .body blockquote {
	border: 1px solid;
	background: none;
	padding: 10px;
}
.body-wrap .body blockquote h3 {
	border: none;
	font-size: 1.2em;
	margin-bottom: 0;
}
.body-wrap .body blockquote h3:before {
	content: '＜';
}
.body-wrap .body blockquote h3:after {
	content: '＞';
}
blockquote ul.amenity {
	margin: 0 0 0.5em 0;
	font-size: 0.9em;
}
blockquote ul.amenity li {
	padding: 0;
	margin: 0;
}
blockquote ul.amenity li:after {
	content: '／ ';
}
blockquote ul.amenity li:last-child:after {
	content: '';
}

.content video {
	max-width: 100%;
	display: block;
	height: fit-content;
	margin: 1em auto;
}

.page-body .content nav {
	padding-left: 1em;
}
.page-body .content nav ul ul li {
	list-style-type: none;
}
.page-body .content nav ul ul li::before {
	content: "- ";
}



@media (max-width: 600px) {
	.body-wrap .body h1 {
		font-size: 1.4em;
	}
	.body-wrap .body h2,
	.box h2 {
		font-size: 1.2em;
	}
	.box .img {
		width: 100%;
		height: auto;
		float: none;
		margin-bottom: 10px;
	}
	.box .text {
		float: none;
		width: 100%;
	}
	.body-wrap .body h3 {}
	.body-wrap .body h4 {
		font-size: 1em;
	}
	.body-wrap .body .content article .content {
		padding: 0 0;
	}
	.content .tel {
		font-size: 2em;
	}
	ul.photo-list {
		padding: 0;
	}
	ul.photo-list li {
		width: 50%;
	}
	.pagetop h1,
	.access-top h2 {
		font-size: 20px;
	}
	.form {}
	.body-wrap .body .form h2 {}
	.form dl {}
	.form dl p {}
	.form dl dt {
		width: 100%;
	}
	.form dl dd {
		width: 100%;
	}
	.access-top {
		width: 100%;
		height: 200px;
	}
}


/* footer */

.instagram-wrap {
	margin: 0 auto 120px auto;
	width: calc(100% - 40px);
	max-width: 1000px;
}


.footer-wrap {}
.footer-wrap .navi {}
.footer-wrap .navi ul.navi-list {
	padding: 0;
	margin: 1em auto;
	width: fit-content;
	line-height: 1em;
}
.footer-wrap .navi ul.navi-list li {
	padding: 0 12px;
	border-right: 1px solid;
}
.footer-wrap .navi ul.navi-list li:last-child {
	border-right: none;
}
.footer-wrap .footer {
	text-align: center;
}
.footer-wrap .copyright {
	text-align: center;
	font-size: 0.6em;
	line-height: 1.8em;
}
@media (max-width: 640px) {
	.footer-wrap .navi {}
	.footer-wrap .navi ul.navi-list {}
	.footer-wrap .navi ul.navi-list li {
		margin-bottom: 10px;
	}
	.footer-wrap .copyright {
		padding-bottom: 4em;
	}
}