*,
*::after,
*::before {
	box-sizing: border-box;
	word-wrap: break-word;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	color: inherit;
	vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
aside,
figure,
figcaption {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
	list-style-type: none;
}

a {
	text-decoration: none;
	cursor: pointer;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

html.is-active,
body.is-active {
	overflow: hidden;
}

html {
	font-size: 0.0651041667vw;
}

body {
	color: #251e1c;
	font-family: "Shippori Mincho", serif;
	font-size: 16rem;
	font-weight: 400;
	line-height: 1;
	position: relative;
}

main:not(.top) {
	padding-top: 115rem;
}

.inner {
	max-width: 1000rem;
	width: 89.3333333333vw;
	margin-inline: auto;
}

.section-title {
	font-size: 32rem;
	font-weight: 500;
	line-height: 1.8125;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: capitalize;
}

.section-title.--large {
	text-transform: uppercase;
}

.page-top {
	width: 100%;
	height: 250rem;
	background: url(../img/page-top-img.png?ver1.2) no-repeat center center/cover;
}

.page-top__inner {
	max-width: 1200rem;
	height: 100%;
	display: flex;
	align-items: center;
}

.page-top__content {
	display: flex;
	align-items: end;
	gap: 30rem;
}

.page-top__title {
	font-size: 50rem;
	font-weight: 500;
	text-transform: uppercase;
}

.page-top__title span {
	color: #d06c15;
}

.page-top__subTitle {
	color: #d06c15;
	font-weight: 500;
	font-size: 24rem;
	line-height: 1.2;
}

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5rem 10rem;
	font-size: 14rem;
	line-height: 1.2;
	margin-top: 16rem;
}

.breadcrumb > span > a {
	transition: all 0.3s ease;
}

.breadcrumb__arrow {
	display: inline-block;
}

.js-fadein.--up {
	opacity: 0;
	translate: 0 10rem;
	transition: all 1s ease;
}

.js-fadein.--up.is-active {
	opacity: 1;
	translate: 0;
}

.js-fadein.--fade {
	opacity: 0;
	transition: all 2s ease;
}

.js-fadein.--fade.is-active {
	opacity: 1;
}

.js-fadein.--parent .js-fadein {
	opacity: 0;
	translate: 0 10rem;
	transition: all 1s ease;
}

.js-fadein.--parent .js-fadein.is-active {
	opacity: 1;
	translate: 0;
}

.js-fadein.--parent .js-fadein.--1 {
	transition: all 1s ease;
}

.js-fadein.--parent .js-fadein.--2 {
	transition: all 1s ease 0.5s;
}

.js-fadein.--parent .js-fadein.--3 {
	transition: all 1s ease 1s;
}

.header {
	width: 100%;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	pointer-events: none;
}

.header.is-active {
	color: #251e1c;
}

.header__inner {
	height: 100rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20rem;
	padding-inline: 35rem;
	padding-top: 20rem;
	position: relative;
}

.header__logo {
	flex-shrink: 0;
	width: 250rem;
	pointer-events: all;
}

.header__logo a {
	display: block;
	aspect-ratio: 250/64;
	color: transparent;
	background-color: #fff;
	-webkit-mask: url(../img/logo.svg) no-repeat center/contain;
	mask: url(../img/logo.svg) no-repeat center/contain;
	transition: all 0.3s ease;
	position: relative;
	z-index: 5;
}

.header.is-active .header__logo a {
	background-color: #251e1c;
}

.header__logo.is-active a {
	background-color: #251e1c;
}

.header__nav {
	display: flex;
	align-items: center;
	gap: 30rem;
}

.header__list {
	position: relative;
}

.header__list a {
	display: inline-block;
	text-transform: uppercase;
	line-height: 1.5;
	text-box: trim-both cap alphabetic;
	padding: 5rem 2rem;
	transition: all 0.3s ease;
	pointer-events: all;
	transform: rotate(0deg);
}

.header.is-active .header__list::after {
	background: #251e1c;
}

.header__list--reservation a {
	width: 97rem;
	aspect-ratio: 97/33;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1rem solid #fff;
	pointer-events: all;
	transition: all 0.3s ease;
	position: relative;
}

.header__list--reservation a::after {
	content: "";
	width: 0%;
	height: 100%;
	background: #d06c15;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease;
	z-index: -1;
}

.header.is-active .header__list--reservation a {
	border-color: #251e1c;
}

.header__drawer {
	display: none;
	pointer-events: all;
}

.header__drawer.is-active .header__drawerIcon {
	rotate: 360deg;
	transition: all 1s ease;
}

.header__drawer.is-active .header__drawerBar {
	background: #d06c15 !important;
}

.header__drawer.is-active .header__drawerBar.--1 {
	top: 9rem;
	rotate: -45deg;
}

.header__drawer.is-active .header__drawerBar.--2 {
	opacity: 0;
}

.header__drawer.is-active .header__drawerBar.--3 {
	top: 9rem;
	rotate: 45deg;
}

.header__drawerIcon {
	width: 26rem;
	height: 20rem;
	position: relative;
	transition: all 0.3s ease;
}

.header__drawerBar {
	width: 100%;
	height: 2rem;
	background: #fff;
	position: absolute;
	left: 50%;
	translate: -50%;
	transition: all 0.3s ease;
}

.header__drawerBar.--1 {
	top: 0;
}

.header__drawerBar.--2 {
	top: 9rem;
}

.header__drawerBar.--3 {
	top: 18rem;
}

.header.is-active .header__drawerBar {
	background: #251e1c;
}

.footer {
	padding-block: 55rem 30rem;
	background: #fef8f0;
}

.footer__inner {
	max-width: 1400rem;
}

.footer__main {
	display: flex;
	justify-content: space-between;
}

.footer__about {
	flex-shrink: 0;
}

.footer__logo {
	width: 250rem;
	aspect-ratio: 250/64;
}

.footer__address {
	font-size: 20rem;
	margin-top: 24rem;
	text-decoration: none !important;
}

.footer__tel {
	display: inline-block;
	font-size: 20rem;
	margin-top: 16rem;
	text-decoration: none !important;
}

.footer__menu {
	width: 750rem;
}

.footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10rem 10rem;
}

.footer__list a {
	display: inline-block;
	font-size: 17rem;
	font-weight: 500;
	line-height: 1.1764705882;
	text-transform: uppercase;
	padding-block: 7rem;
	transition: all 0.3s ease;
}

.footer__list--reservation a {
	width: 115rem;
	aspect-ratio: 115/40;
	margin-left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17rem;
	font-weight: 500;
	border: 1rem solid #251e1c;
	position: relative;
	z-index: 2;
	transition: all 0.3s ease;
}

.footer__list--reservation a::after {
	content: "";
	width: 0;
	height: 100%;
	background: #d06c15;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.3s ease;
}

.footer__copyright {
	font-size: 15rem;
	letter-spacing: 0.16em;
	text-align: center;
	margin-top: 60rem;
}

.footer__copyright span:first-child {
	text-transform: uppercase;
}

.footer__copyright span:not(:first-child) {
	text-transform: capitalize;
}

.fv {
	width: 100%;
	height: 888rem;
	background: url(../img/fv.webp?ver1.2) no-repeat center center/cover;
	position: relative;
}

.fv::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(172, 147, 98, 0.1);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.fv__img {
	width: 140rem;
	aspect-ratio: 140/540;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	z-index: 5;
}

.top-about__contact {
	padding-block: 100rem 50rem;
}

.top-about__title {
	width: 282rem;
	aspect-ratio: 282/403;
	margin-inline: auto;
}

.top-about__imgWrap {
	display: flex;
	gap: 18rem;
	margin-top: 100rem;
}

.top-about__img {
	width: 33.3333333333%;
	aspect-ratio: 500/350;
}

.top-about__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-blog {
	padding-block: 120rem 80rem;
}

.top-blog__main {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30rem;
	margin-top: 50rem;
}

.top-blog__btn {
	width: 300rem;
	height: 63rem;
	margin-inline: auto;
	display: grid;
	place-items: center;
	font-size: 25rem;
	border: 1rem solid #251e1c;
	margin-top: 70rem;
	position: relative;
	transition: all 0.3s ease;
}

.top-blog__btn::after {
	content: "";
	width: 0%;
	height: 100%;
	background: #d06c15;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease;
	z-index: -1;
}

.top-menu {
	padding-block: 100rem;
}

.top-menu__menuWrap {
	display: flex;
	flex-direction: column;
	gap: 140rem;
}

.top-menu__menuImg {
	width: 630rem;
	aspect-ratio: 673/450;
	margin-inline: auto;
	margin-top: 50rem;
}

.top-menu__menuImg img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-menu__itemWrap {
	display: flex;
	flex-direction: column;
	gap: 70rem;
	margin-top: 80rem;
}

.top-menu__item {
	font-weight: 500;
	padding-left: 50rem;
}

.top-menu__item:not(:last-child) {
	border-bottom: 1rem solid #808080;
	padding-bottom: 40rem;
}

.top-menu__point {
	line-height: 1.2;
	word-break: keep-all;
}

.top-menu__titleWrap {
	display: flex;
	justify-content: space-between;
	gap: 30rem;
	margin-top: 10rem;
}

.top-menu__title {
	font-size: 25rem;
	line-height: 1.48;
	position: relative;
	word-break: keep-all;
}

.top-menu__title::before {
	content: "";
	width: 40rem;
	aspect-ratio: 40/37;
	background: url(../img/flower-icon.svg) no-repeat center center/contain;
	position: absolute;
	top: 0;
	left: -10rem;
	translate: -100%;
}

.top-menu__title.--option::before {
	background-image: url(../img/flower-icon-option.svg);
}

.top-menu__price {
	font-size: 25rem;
	line-height: 1.48;
	min-width: -moz-max-content;
	min-width: max-content;
}

.top-menu__text {
	font-size: 15rem;
	line-height: 1.7;
	white-space: pre-line;
	letter-spacing: -0.02em;
	margin-top: 14rem;
}

.top-about__btn {
	width: 420rem;
	height: 63rem;
	margin-inline: auto;
	display: grid;
	place-items: center;
	font-size: 25rem;
	border: 1rem solid #251e1c;
	margin-top: 100rem;
	position: relative;
	transition: all 0.3s ease;
}

.top-about__btn::after {
	content: "";
	width: 0%;
	height: 100%;
	background: #d06c15;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease;
	z-index: -1;
}

.top-about__btnText {
	font-size: 14rem;
	text-align: center;
	margin-top: 18rem;
}

.top-flow {
	padding-block: 120rem;
	background: #fef8f0;
}

.top-flow__inner {
	max-width: 800rem;
}

.top-flow__main {
	margin-top: 50rem;
}

.top-flow__slide {
	display: flex;
	align-items: end;
	gap: 50rem;
}

.top-flow__img {
	flex-shrink: 0;
	width: 350rem;
	aspect-ratio: 350/450;
}

.top-flow__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-flow__textWrap {
	width: 100%;
	margin-bottom: 80rem;
}

.top-flow__title {
	font-size: 20rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.16em;
}

.top-flow__text {
	font-size: 14rem;
	font-weight: 500;
	line-height: 1.7857142857;
	margin-top: 26rem;
}

.top-flow__swiper-scrollbar-wrap {
	width: 100%;
	display: flex;
	gap: 50rem;
	position: absolute;
	bottom: 0;
	left: 0;
}

.top-flow__dummy {
	width: 350rem;
	flex-shrink: 0;
}

.swiper-scrollbar {
	width: 100% !important;
	height: 2rem !important;
	position: unset !important;
	background-color: #d3d3d3;
}

.swiper-scrollbar-drag {
	background-color: #000;
}

.top-faq {
	padding-top: 100rem;
}

.top-faq__inner {
	max-width: 1000rem;
}

.top-faq__itemWrap {
	display: flex;
	flex-direction: column;
	gap: 26rem;
	margin-top: 50rem;
}

.top-faq__item {
	border-top: 1rem solid #cbcbcb;
	border-bottom: 1rem solid #cbcbcb;
	cursor: pointer;
}

.top-faq__item.is-open .top-faq__head::after {
	transform: rotateX(180deg);
}

.top-faq__head {
	width: 100%;
	min-height: 80rem;
	display: flex;
	align-items: center;
	gap: 24rem;
	padding-inline: 15rem;
	background: #fef8f0;
}

.top-faq__head::before {
	flex-shrink: 0;
	content: "Q";
	color: #d06c15;
	font-size: 40rem;
	font-weight: 500;
	translate: 0 -10%;
}

.top-faq__head::after {
	flex-shrink: 0;
	content: "";
	width: 30rem;
	aspect-ratio: 30/15;
	background: url(../img/arrow-bottom.svg) no-repeat center center/100% 100%;
	margin-left: auto;
	transition: all 0.3s ease;
}

.top-faq__headText {
	font-size: 20rem;
	font-weight: 500;
	line-height: 1.6;
}

.top-faq__body {
	display: none;
}

.top-faq__body.is-open {
	display: block;
}

.top-faq__bodyText {
	display: flex;
	align-items: start;
	gap: 24rem;
	line-height: 1.6;
	text-align: justify;
	padding-block: 32rem 22rem;
	padding-inline: 15rem 60rem;
	border-top: 1rem dashed #cbcbcb;
}

.top-faq__bodyText::before {
	flex-shrink: 0;
	content: "A";
	color: #d06c15;
	font-size: 40rem;
	font-weight: 500;
	translate: 0 -30%;
}

.top-access {
	padding-block: 100rem;
}

.top-access__map {
	max-width: 1000rem;
	aspect-ratio: 1000/600;
	margin-top: 50rem;
}

.top-access__map iframe {
	width: 100%;
	height: 100%;
}

.top-access__text {
	font-size: 20rem;
	line-height: 1.5;
	margin-top: 36rem;
}

.top-instagram {
	padding-block: 100rem;
}

.top-instagram__main {
	margin-top: 50rem;
}

#sb_instagram .sb_instagram_header,
.sb_instagram_header {
	padding: unset !important;
}

#sb_instagram #sbi_images {
	gap: 20rem !important;
}

.archive-blog__content {
	background: #FFF;
	padding-block: 100rem;
}

.archive-blog__inner {
	max-width: 1200rem;
}

.archive-blog__main {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30rem;
}

.archive-blog__item {
	transition: all 0.3s ease;
}

.archive-blog__itemImg {
	width: 100%;
	aspect-ratio: 380/220;
	border-radius: 10rem;
	overflow: hidden;
}

.archive-blog__itemImg img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: all 0.3s ease;
}

.archive-blog__itemTitle {
	font-size: 20rem;
	font-weight: 500;
	line-height: 1.2;
	margin-top: 8rem;
}

.archive-blog__itemTime {
	display: inline-block;
	font-size: 18rem;
	letter-spacing: 1rem;
	margin-top: 10rem;
}

.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20rem;
	margin-top: 100rem;
}

.page-numbers {
	font-size: 24rem;
	font-weight: 500;
	transition: all 0.3s ease;
	padding: 5rem;
}

.nav-links .prev,
.nav-links .next {
	flex-shrink: 0;
	width: 50rem;
	aspect-ratio: 1/1;
	background: url(../img/page-arrow.svg) no-repeat center center/95% 95%;
}

.nav-links .prev {
	transform: scaleX(-1);
}

.single-blog {
	padding-block: 100rem;
}

.single-blog__inner {
	max-width: 1200rem;
}

.single-blog__content {
	padding: 100rem 50rem;
	border-radius: 20rem;
	box-shadow: 0 3rem 16rem rgba(0, 0, 0, 0.16);
	margin-top: 100rem;
}

.single-blog__main {
	max-width: 1000rem;
	margin-inline: auto;
}

.single-blog__title {
	font-size: 30rem;
	font-weight: 500;
	line-height: 1.4;
}

.single-blog__time {
	display: inline-block;
	font-size: 20rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 15rem;
}

.single-blog__postContent {
	margin-top: 30rem;
	border-top: 3rem solid #d06c15;
	padding-top: 50rem;
}

.single-blog__postContent h1,
.single-blog__postContent h2 {
	font-size: 24rem;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 24rem;
}

.single-blog__postContent h3 {
	font-size: 22rem;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 24rem;
}

.single-blog__postContent h4 {
	font-size: 18rem;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 24rem;
}

.single-blog__postContent p {
	line-height: 1.5;
}

.single-blog__postContent img {
	width: auto;
}

.single-blog__postContent * + img,
.single-blog__postContent * + figure,
.single-blog__postContent * + p,
.single-blog__postContent * + h1,
.single-blog__postContent * + h2,
.single-blog__postContent * + h3,
.single-blog__postContent * + h4 {
	margin-top: 32rem;
}

.single-blog__postContent h1 + *,
.single-blog__postContent h2 + *,
.single-blog__postContent h3 + *,
.single-blog__postContent h4 + *,
.single-blog__postContent p + *,
.single-blog__postContent p + p {
	margin-top: 24rem;
}

.single-blog__btnWrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40rem;
	margin-top: 80rem;
}

.single-blog__btn {
	font-size: 18rem;
	font-weight: 500;
	transition: all 0.3s ease;
}

.single-blog__btn a {
	padding: 10rem;
}

.single-blog__btn.--next,
.single-blog__btn.--prev {
	display: flex;
	align-items: center;
	gap: 15rem;
}

.single-blog__btn.--next::after {
	content: "";
	width: 20rem;
	height: 1rem;
	background: #251e1c;
	transition: all 0.3s ease;
}

.single-blog__btn.--prev::before {
	content: "";
	width: 20rem;
	height: 1rem;
	background: #251e1c;
	transition: all 0.3s ease;
}

.single-blog__btn.--none {
	width: 112rem;
	aspect-ratio: 110/38;
	pointer-events: none;
}

.single-blog__btn.--archive {
	text-align: center;
}

.single-blog__btn.--archive a {
	display: inline-block;
	width: 150rem;
	border: 1rem solid #251e1c;
	position: relative;
	transition: all 0.3s ease;
}

.single-blog__btn.--archive a::after {
	content: "";
	width: 0%;
	height: 100%;
	background: #d06c15;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: all 0.3s ease;
}

.contact__inner {
	max-width: 920rem;
}

.contact__content {
	padding-block: 100rem 150rem;
}

.contact__text {
	width: -moz-fit-content;
	width: fit-content;
	background: #fef8f0;
	margin-inline: auto;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.7857142857;
	letter-spacing: 0.05em;
	padding: 40rem 85rem;
	margin-top: 80rem;
}

.contact__form {
	margin-top: 80rem;
}

.contact__form form {
	width: 100%;
}

.contact__form .form__dl {
	display: flex;
	flex-direction: column;
	gap: 50rem;
}

.contact__form .form__row {
	display: flex;
	flex-direction: column;
	gap: 14rem;
}

.contact__form .form__label label {
	display: flex;
	align-items: center;
	gap: 16rem;
	font-size: 20rem;
	font-weight: 500;
	line-height: 1.875;
	letter-spacing: 0.16em;
}

.contact__form .is-required {
	position: relative;
}

.contact__form .is-required::before {
	content: "必須";
	width: 70rem;
	height: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	letter-spacing: 0;
	text-align: center;
	background: linear-gradient(180deg, rgb(208, 108, 21) 0%, rgb(208, 109, 23) 41.02%, rgb(210, 114, 30) 55.8%, rgb(212, 122, 41) 66.34%, rgb(216, 134, 58) 74.85%, rgb(221, 149, 80) 82.15%, rgb(227, 168, 108) 88.61%, rgb(233, 190, 139) 94.31%, rgb(241, 215, 175) 99.53%, rgb(242, 218, 179) 100%);
}

.contact__form input::-moz-placeholder,
.contact__form textarea::-moz-placeholder {
	color: #CECECE;
}

.contact__form input::placeholder,
.contact__form textarea::placeholder {
	color: #CECECE;
}

.contact__form .wpcf7-not-valid-tip {
	margin-top: 5rem !important;
}

.contact__form input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
	-webkit-text-fill-color: inherit;
}

.contact__form .form__row.--checkbox {
	padding-left: 45rem;
	padding-bottom: 40rem;
	gap: 40rem;
}

.contact__form .form__row.--checkbox label {
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.5625;
	letter-spacing: unset;
}

.contact__form .form__checkbox .wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	flex-direction: column;
	gap: 18rem;
}

.contact__form .form__checkbox span {
	margin: 0;
}

.contact__form .form__checkbox label {
	position: relative;
}

.contact__form .form__checkbox [type=checkbox] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.contact__form .form__checkbox [type=checkbox]:focus + span:before {
	outline: -webkit-focus-ring-color auto 1rem;
}

.contact__form .form__checkbox label > span {
	display: inline-block;
	padding-left: 24rem;
	position: relative;
}

.contact__form .form__checkbox label > span::before {
	content: "";
	width: 15rem;
	height: 15rem;
	background: #FFF;
	border: 1rem solid #CBCBCB;
	border-radius: 3rem;
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}

.contact__form .form__checkbox label > span::after {
	content: "";
	width: 7rem;
	height: 11rem;
	border-right: 2rem solid #251e1c;
	border-bottom: 2rem solid #251e1c;
	position: absolute;
	top: 5rem;
	left: 4rem;
	rotate: 40deg;
	display: none;
}

.contact__form .form__checkbox [type=checkbox]:checked + span::after {
	display: block;
}

.contact__form .form__input {
	width: 100%;
}

.contact__form .form__input [type=text],
.contact__form .form__input [type=tel],
.contact__form .form__input [type=email] {
	width: 100%;
	background: #FFF;
	padding: 10rem 16rem;
	border: 1rem solid #CBCBCB;
	border-radius: 10rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

.contact__form .form__input textarea {
	width: 100%;
	min-height: 210rem;
	box-shadow: none;
	border: 1rem solid #CBCBCB;
	background: #FFF;
	padding: 10rem 16rem;
	border-radius: 10rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	resize: none;
}

.contact__form #your-message {
	-ms-overflow-style: none; /* Internet Explorer and Edge */
	scrollbar-width: none; /* Firefox */
}

.contact__form #your-message::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}

.contact__form .form__button {
	margin-top: 90rem;
	text-align: center;
}

.contact__form .form__button [type=submit] {
	display: inline-block;
	line-height: 1;
	padding: 16rem 32rem;
	background: #FFF;
	border: 2rem solid #251e1c;
	box-shadow: none;
	border-radius: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: inherit;
	font-family: inherit;
	font-size: 25rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	cursor: pointer;
	transition: all 0.3s ease;
}

.contact__form .form__button span {
	position: absolute;
	margin-inline: 5rem;
}

.contact__remark {
	max-width: 680rem;
	margin-inline: auto;
	margin-top: 80rem;
}

.contact__remark li {
	display: flex;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.7857142857;
}

.contact__remark li::before {
	content: "※";
}

.nopage {
	padding-block: 180rem;
}

.nopage__top {
	font-size: 72rem;
	color: rgba(37, 30, 28, 0.5);
}

.nopage__title {
	font-size: 24rem;
	margin-top: 30rem;
	padding-bottom: 50rem;
	border-bottom: 3rem solid #d06c15;
}

.nopage__text {
	font-size: 18rem;
	line-height: 1.5;
	margin-top: 50rem;
}

@media (any-hover: hover) {

.breadcrumb > span > a:hover {
	color: #d06c15;
}

.header__list:hover a {
	color: #d06c15;
}

.header__list--reservation:hover a::after {
	width: 100%;
}

.header.is-active .header__list--reservation a:hover {
	color: #fff;
	border-color: #d06c15;
}

.footer__list:hover a {
	color: #d06c15;
}

.footer__list--reservation a:hover {
	color: #fff;
	border-color: #d06c15;
}

.footer__list--reservation a:hover::after {
	width: 100%;
}

.top-blog__btn:hover {
	color: #FFF;
	border-color: #d06c15;
	transition: all 0.2s ease;
}

.top-blog__btn:hover::after {
	width: 100%;
}

.top-about__btn:hover {
	color: #FFF;
	border-color: #d06c15;
}

.top-about__btn:hover::after {
	width: 100%;
}

.archive-blog__item:hover {
	color: #d06c15;
}

.archive-blog__item:hover .archive-blog__itemImg img {
	scale: 1.1;
}

.page-numbers:hover {
	color: #d06c15;
}

.nav-links .prev:hover {
	translate: -15%;
}

.nav-links .next:hover {
	translate: 15%;
}

.single-blog__btn.--next:hover,
.single-blog__btn.--prev:hover {
	color: #d06c15;
}

.single-blog__btn.--next:hover::before,
.single-blog__btn.--next:hover::after,
.single-blog__btn.--prev:hover::before,
.single-blog__btn.--prev:hover::after {
	background-color: #d06c15;
}

.single-blog__btn.--archive a:hover {
	color: #FFF;
	border-color: #d06c15;
}

.single-blog__btn.--archive a:hover::after {
	width: 100%;
}

.contact__form .form__button [type=submit]:hover {
	color: #fff;
	border-color: #d06c15;
	background: #d06c15;
}

}

@media screen and (min-width: 1000px) {

.is-pc-sp {
	display: block;
}

.is-tab {
	display: none;
}

.is-tab-sp {
	display: none;
}

.is-sp {
	display: none;
}

.is-dsp {
	display: none;
}

}

@media screen and (max-width: 1440px) {

html {
	font-size: 1px;
}

}

@media screen and (max-width: 1150px) {

.footer__list--reservation {
	width: 100%;
}

}

@media screen and (max-width: calc(1000px - 1px)) {

.is-pc {
	display: none;
}

.is-pc-sp {
	display: none;
}

.is-tab {
	display: block;
}

.is-sp {
	display: none;
}

.is-dsp {
	display: none;
}

.page-top {
	height: unset;
	aspect-ratio: 1536/300;
}

.header__inner {
	padding-inline: 20rem;
}

.header__logo {
	width: 200rem;
}

.header__menu {
	width: 560rem;
}

.header__nav {
	justify-content: space-between;
	gap: unset;
}

.footer {
	padding-block: 55rem 20rem;
}

.footer__main {
	flex-direction: column;
	gap: 30rem;
}

.footer__logo {
	width: 200rem;
}

.footer__address {
	font-size: 16rem;
}

.footer__tel {
	font-size: 16rem;
}

.footer__menu {
	width: 100%;
	margin-left: auto;
}

.footer__nav {
	flex-wrap: wrap;
	justify-content: right;
	gap: 8rem 25rem;
}

.footer__list--reservation {
	width: auto;
}

.fv__img {
	width: 120rem;
}

.top-about__contact {
	padding-block: 80rem 20rem;
}

.top-about__imgWrap {
	margin-top: 80rem;
}

.top-about__img {
	aspect-ratio: unset;
	height: 225rem;
}

.top-blog__main {
	max-width: 500rem;
	margin-inline: auto;
	grid-template-columns: repeat(1, 1fr);
}

.archive-blog__main {
	grid-template-columns: repeat(2, 1fr);
}

.contact__text {
	padding: 30rem;
}

}

@media screen and (max-width: 767px) {

html {
	font-size: min(0.2666666667vw, 1.3333333333px);
}

main:not(.top) {
	padding-top: 60rem;
}

.is-pc-tab {
	display: none;
}

.is-pc-sp {
	display: block;
}

.is-tab {
	display: none;
}

.is-sp {
	display: block;
}

.section-title {
	font-size: 28rem;
}

.page-top {
	background-image: url(../img/page-top-img-sp.png?ver.1.2);
}

.page-top {
	aspect-ratio: unset;
	height: 160rem;
}

.page-top__content {
	flex-direction: column;
	gap: 5rem;
}

.page-top__title {
	font-size: 32rem;
}

.page-top__subTitle {
	font-size: 16rem;
}

.header__inner {
	height: 60rem;
	padding-top: unset;
}

.header__logo {
	width: 160rem;
}

.header__menu {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	height: 100svh;
	background: #fef8f0;
	position: fixed;
	top: 0;
	left: 105%;
	transition: left 0.3s ease, opacity 0s ease 0.3s;
	z-index: -1;
	opacity: 0;
}

.header__menu.is-active {
	left: 0%;
	opacity: 1;
	transition: left 0.3s ease, opacity 0s ease 0s;
}

.header__nav {
	flex-direction: column;
	justify-content: center;
	gap: 6vh;
	gap: 6dvh;
	gap: 6svh;
	position: absolute;
	top: calc(60rem + 7%);
	left: 50%;
	translate: -50%;
}

.header__list a {
	color: #251e1c;
}

.header__list--reservation a {
	color: #251e1c;
	border-color: #251e1c;
}

.header__drawer {
	display: block;
}

.footer__logo {
	width: 160rem;
}

.footer__list a {
	font-size: 14rem;
}

.footer__list--reservation a {
	width: 150rem;
	aspect-ratio: 150/35;
	font-size: 14rem;
	margin-top: 2rem;
}

.footer__copyright {
	font-size: 12rem;
	margin-top: 40rem;
}

.fv {
	height: 500rem;
}

.fv__img {
	width: 60rem;
}

.top-about__title {
	width: 180rem;
}

.top-about__imgWrap {
	flex-wrap: wrap;
	gap: 8rem;
}

.top-about__img {
	height: unset;
}

.top-about__img:nth-child(1) {
	width: 100%;
	aspect-ratio: 500/250;
}

.top-about__img:nth-child(2),
.top-about__img:nth-child(3) {
	width: calc((100% - 8rem) / 2);
}

.top-blog {
	padding-block: 80rem;
}

.top-blog__main {
	width: 335rem;
}

.top-blog__btn {
	width: 200rem;
	height: 50rem;
	font-size: 18rem;
}

.top-menu {
	padding-block: 80rem;
}

.top-menu__menuWrap {
	gap: 100rem;
}

.top-menu__menuImg {
	max-width: 400rem;
	width: 100%;
	margin-top: 30rem;
}

.top-menu__itemWrap {
	gap: 40rem;
	margin-top: 50rem;
}

.top-menu__item {
	padding-left: unset;
}

.top-menu__point {
	font-size: 14rem;
	padding-left: 50rem;
}

.top-menu__titleWrap {
	flex-direction: column;
	gap: 5rem;
	margin-top: 5rem;
}

.top-menu__title {
	font-size: 22rem;
	line-height: 1.3636363636;
	padding-left: 50rem;
}

.top-menu__title::before {
	top: -3rem;
	left: 0;
	translate: unset;
}

.top-menu__price {
	font-size: 20rem;
	margin-left: auto;
}

.top-about__btn {
	width: 335rem;
	height: 50rem;
	font-size: 18rem;
	margin-top: 80rem;
}

.top-flow {
	padding-block: 80rem;
}

.top-flow__swiper {
	width: 335rem;
}

.top-flow__slide {
	flex-direction: column;
	gap: 30rem;
}

.top-flow__img {
	width: 100%;
}

.top-flow__textWrap {
	margin-bottom: unset;
}

.top-flow__text {
	margin-top: 16rem;
}

.top-flow__swiper-scrollbar-wrap {
	display: block;
	margin-top: 30rem;
	position: unset;
}

.top-flow__dummy {
	display: none;
}

.top-faq {
	padding-top: 80rem;
}

.top-faq__head {
	min-height: 60rem;
	gap: 16rem;
	padding-inline: 10rem;
	padding-block: 10rem;
}

.top-faq__head::before {
	font-size: 30rem;
}

.top-faq__head::after {
	width: 20rem;
}

.top-faq__headText {
	font-size: 18px;
}

.top-faq__bodyText {
	gap: 16rem;
	padding-block: 20rem 18rem;
	padding-inline: 10rem 30rem;
}

.top-faq__bodyText::before {
	font-size: 30rem;
}

.top-access {
	padding-block: 80rem;
}

.top-access__map {
	width: 100vw;
	aspect-ratio: 375/400;
	margin-inline: calc(50% - 50vw);
}

.top-access__text {
	font-size: 16rem;
	margin-top: 24rem;
}

.top-instagram {
	padding-block: 80rem;
}

.archive-blog__main {
	width: 335rem;
	margin-inline: auto;
	grid-template-columns: repeat(1, 1fr);
}

.archive-blog__itemTitle {
	font-size: 18rem;
}

.archive-blog__itemTime {
	font-size: 16rem;
}

.nav-links {
	gap: 15rem;
}

.page-numbers {
	font-size: 18rem;
}

.nav-links .prev,
.nav-links .next {
	width: 30rem;
}

.single-blog__content {
	padding: 60rem 20rem;
	margin-top: 80rem;
}

.single-blog__title {
	font-size: 24rem;
	line-height: 1.3;
}

.single-blog__time {
	font-size: 18rem;
}

.single-blog__postContent img {
	width: 100%;
	margin-inline: auto;
}

.single-blog__btnWrap {
	width: 335rem;
	margin-inline: auto;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 25rem;
	margin-top: 40rem;
}

.single-blog__btn.--next,
.single-blog__btn.--prev {
	min-width: -moz-max-content;
	min-width: max-content;
	width: 40%;
	gap: 5rem;
}

.single-blog__btn.--prev {
	justify-content: right;
}

.single-blog__btn.--archive {
	order: 1;
	width: 100%;
}

.single-blog__btn.--archive a {
	width: 250rem;
	margin-inline: auto;
}

.contact__content {
	padding-block: 80rem 150rem;
}

.contact__text {
	padding: 40rem 25rem;
	letter-spacing: 0.03em;
	margin-top: 60rem;
}

.contact__form .form__label label {
	font-size: 18rem;
	letter-spacing: 0.05em;
}

.contact__form .form__row.--checkbox {
	padding-left: 0;
	padding-bottom: 0;
	gap: 30rem;
}

.nopage {
	padding-block: 120rem;
}

.nopage__top {
	font-size: 60rem;
}

.nopage__title {
	font-size: 20rem;
	padding-bottom: 30rem;
}

.nopage__text {
	font-size: 16rem;
	margin-top: 30rem;
}

}

@media screen and (max-width: 580px) {

.footer__nav {
	width: 250rem;
	margin-inline: auto;
	justify-content: center;
}

}

@media screen and (max-width: calc(375 - 1px)) {

.is-dsp {
	display: block;
}

}

