/*==========================================================================
# reset - ブラウザの差異や不要なスタイルを無くすためのスタイル
========================================================================== */

* {
	box-sizing: border-box;
}

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 {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

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

img {
	border: none;
	vertical-align: bottom;
}

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

body {
	color: #000;
}

.wrapper {
	margin: 0 auto;
	max-width: 100%;
	width: 700px;
}

.inner {
	padding: 0 20px;
}

body {
	font-feature-settings: "palt";
	font-family: "小塚ゴシック Pr6N", "Kozuka Gothic Pro", sans-serif;
}

.sp_only {
	display: none;
}

img {
	display: block;
	height: auto;
	width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
}

html {
	scroll-behavior: smooth;
}

.header .nav {
	margin: 0 auto;
	position: fixed;
	top: 0;
	width: 700px;
	z-index: 999;
}

.fixed {
	background: #fff;
	box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.3);
	margin: 0 auto;
	position: fixed;
	top: 0;
	width: 700px;
	z-index: 998;
}

.header__box {
	align-items: center;
	display: flex;
	height: 130px;
}

h1 {
	aspect-ratio: 167/99;
	margin-left: 25px;
	margin-right: auto;
	width: 167px;
}

.header__right {
	display: flex;
	gap: 40px;
	margin-left: auto;
	margin-right: 20px;
}

.header__tel {
	width: 70px;
}

.header__reserve {
	width: 70px;
}

/*========================================
# drawer
========================================  */

.drawer__bg {
	position: relative;
	z-index: 999;
}

.drawer-icon {
	background: #daa9ab;
	cursor: pointer;
	height: 70px;
	position: relative;
	transition: all 0.5s ease 0s;
	width: 70px;
	z-index: 200;
}

.drawer-icon.is-checked {
	z-index: 999;
}

.drawer-bars {
	display: inline-block;
	height: 70px;
	position: relative;
	vertical-align: bottom;
	width: 54px;
}

.drawer-bar {
	background: #fff;
	border-radius: 2px;
	display: block;
	height: 10px;
	position: absolute;
	right: 0px;
	transition: all 0.3s linear 0s;
	width: 100%;
}

.drawer-bar:nth-of-type(1) {
	top: 10px;
}

.drawer-bar:nth-of-type(2) {
	top: 30px;
}

.drawer-bar:nth-of-type(3) {
	top: 50px;
}

.is-checked .drawer-bar:nth-of-type(1) {
	top: 30px;
	transform: rotate(-45deg);
}

.is-checked .drawer-bar:nth-of-type(2) {
	background: transparent;
}

.is-checked .drawer-bar:nth-of-type(3) {
	top: 30px;
	transform: rotate(45deg);
}

.drawer-content {
	background: rgba(255, 122, 147, 0.9);
	font-size: 32px;
	height: 100%;
	margin-top: 130px;
	padding: 40px;
	position: fixed;
	right: 0;
	text-align: left;
	top: 0px;
	transform: translateX(105%);
	transition: all 0.5s ease 0s;
	width: 700px;
	z-index: 100;
}

.drawer-content.is-checked {
	right: 50%;
	transform: translateX(50%);
}

.drawer-content ul {
	margin: 0 auto;
}

.drawer-content ul li a {
	color: #000;
	color: #fff;
	display: block;
	letter-spacing: 0.1em;
	padding: 23px 0;
	position: relative;
}

.drawer-content ul li a:hover {
	opacity: 0.6;
	scale: 1.1;
}

.drawer-content ul li a::after {
	background: #fff;
	content: "";
	height: 2px;
	position: absolute;
	right: 0;
	top: 46%;
	transform: rotate(30deg);
	width: 15px;
	z-index: 300;
}

.drawer-content ul li a::before {
	background: #fff;
	content: "";
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 50px;
	z-index: 301;
}

.fv {
	margin-top: -130px;
	position: relative;
	z-index: -1;
}

.cta {
	margin-bottom: 50px;
	margin-top: 55px;
	position: relative;
}

.btn {
	background: url(../img/btn.webp) center/contain no-repeat;
	height: 261px;
	left: 50%;
	margin: 0 auto;
	position: absolute;
	text-align: center;
	top: 725px;
	transform: translateX(-50%);
	width: 640px;
}

.btn__inner {
	padding-top: 40px;
}

.btn__text {
	color: #fff;
	font-size: 43px;
	line-height: 1.5;
}

#timer,
#timer2,
#timer3 {
	background: #fff;
	border-radius: 23px;
	color: #000;
	display: inline-block;
	font-size: 35px;
	padding: 19px 57px;
}

.worries {
	background: #808080;
	padding-bottom: 66px;
	padding-top: 35px;
}

.worries__title {
	font-size: 50px;
	font-weight: bold;
	text-align: center;
}

.worries__img {
	margin-top: 12px;
}

.arrow {
	margin-bottom: 30px;
	margin-top: 3px;
}

.reason {
	background: #ffe7ef;
	padding-bottom: 80px;
	padding-top: 59px;
}

.reason__title {
	aspect-ratio: 524/161;
	margin: 0 auto;
	width: 524px;
}

.reason__box {
	-o-border-image: linear-gradient(90deg, rgb(237, 201, 126) 0%, rgb(241, 216, 137) 18%, rgb(246, 240, 226) 41%, rgb(196, 135, 3) 73%, rgb(236, 199, 129) 94%);
	background: #fff;
	border: 8px solid rgb(237, 201, 126);
	border-image: linear-gradient(90deg, rgb(237, 201, 126) 0%, rgb(241, 216, 137) 18%, rgb(246, 240, 226) 41%, rgb(196, 135, 3) 73%, rgb(236, 199, 129) 94%);
	border-image-slice: 1;
	margin: 0 auto;
	margin-top: 108px;
	padding: 0 16px;
	padding-bottom: 30px;
	width: 590px;
}

.reason__box:nth-of-type(1) {
	margin-top: 43px;
}

.reason__box:nth-of-type(2) .reason__box-title {
	font-size: 43px;
	line-height: 1.25;
}

.reason__box:nth-of-type(3) .reason__box-title {
	font-size: 39px;
	line-height: 1.0769230769;
}

.reason__box:nth-of-type(3) .reason__box-title span {
	font-size: 42px;
}

.reason__number {
	aspect-ratio: 127/86;
	margin-left: -40px;
	margin-top: -38px;
	width: 138px;
}

.reason__box-title {
	color: #9b005d;
	font-size: 50px;
	font-weight: bold;
	line-height: 1.1;
	text-align: center;
}

.reason__text {
	font-size: 27px;
	line-height: 1.5185185185;
	margin-top: 11px;
	text-align: justify;
}

.reason__contents {
	background: #fff9e8;
	border-radius: 25px;
	box-shadow: 0 0 3px 0 rgba(150, 150, 150, 0.75);
	margin-bottom: 40px;
	margin-top: 13px;
	padding: 24px 0 20px;
}

.reason__contents-title {
	color: #896239;
	font-family: "ヒラギノ明朝 ProN";
	font-size: 45px;
	font-weight: bold;
	position: relative;
	text-align: center;
	text-shadow: 3px 3px 4px #fff, -3px -3px 4px #fff, -3px 3px 4px #fff, 3px -3px 4px #fff, 0px 3px 4px #fff, 0 -3px 4px #fff, -3px 0 4px #fff, 3px 0 4px #fff;
	z-index: 10;
}

.reason__contents-title::before {
	background: url(../img/reason__title-bg.webp) center/cover no-repeat;
	bottom: 0;
	content: "";
	height: 16px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 443px;
	z-index: -1;
}

.reason__contents-img {
	margin-top: 22px;
}

.reason__contents-img img {
	aspect-ratio: 434/244;
	margin: 0 auto;
	width: 434px;
}

.reason__contents-text {
	font-size: 27px;
	line-height: 1.4444444444;
	margin-top: 15px;
	padding: 0 20px;
	text-align: justify;
}

.result {
	background: #FFF3F6;
	padding-bottom: 55px;
}

.result__title {
	width: 100%;
}

.result__title img {
	width: 700px;
}

.result__box {
	margin-top: 20px;
}

.result__contents {
	margin-bottom: 47px;
	margin-top: 60px;
	padding: 0 50px;
}

.result__contents:nth-of-type(1) {
	margin-top: 0;
}

.result__contents img {
	aspect-ratio: 600/1070;
}

.result__number {
	margin-top: -350px;
}

.result__number-box {
	display: flex;
	gap: 20px;
	justify-content: center;
	padding: 0 50px;
}

.result__left,
.result__right {
	text-align: center;
	width: 50%;
}

.result__left dl,
.result__right dl {
	border: 1.5px solid #754C24;
}

.result__left dt,
.result__right dt {
	background: #754C24;
	color: #fff;
	font-size: 30px;
	line-height: 1.6666666667;
}

.result__left dd,
.result__right dd {
	font-size: 23px;
	line-height: 1.7826086957;
}

.result__text {
	font-size: 17px;
	margin-inline: auto;
	margin-top: 20px;
	max-inline-size: -moz-max-content;
	max-inline-size: max-content;
	text-align: left;
}

.introduction {
	background: url(../img/introduction-bg.webp) center/cover no-repeat;
	padding-bottom: 120px;
	padding-top: 51px;
}

.section__title-box {
	text-align: center;
}

.section__title {
	background: linear-gradient(transparent 72%, rgba(255, 123, 169, 0.5) 60%);
	color: #603813;
	display: inline-block;
	font-family: "ヒラギノ明朝 ProN";
	font-size: 73px;
	font-weight: bold;
	padding: 0 20px;
}

.introduction__text {
	color: #603813;
	font-size: 43px;
	line-height: 1.2790697674;
	margin-top: 30px;
	text-align: center;
}

.introduction__text span {
	color: #ff7ba9;
}

.introduction__img {
	margin-top: 36px;
}

.qa {
	margin-bottom: 80px;
	margin-top: 60px;
}

.qa__box {
	font-family: "ヒラギノ明朝 ProN";
	margin-top: 46px;
}

details[open] .mark::after {
	display: none;
	transform: rotate(180deg);
	transition: all 5s;
}

details[open] {
	transition: all 5s;
}

.qa__contents summary::-webkit-details-marker {
	display: none;
}

.qa__contents summary {
	background: #d5a2a3;
	color: #fff;
	cursor: pointer;
	font-size: 27px;
	font-weight: bold; /**
     * list-style: none; ←デフォルト三角削除（Chrome非対応）
     * cursor: pointer; ←カーソルをポインターに
    **/
	list-style: none;
	margin-top: 26px;
	padding: 12px 27px;
	position: relative; /**
       * Chrome用のデフォルト三角削除
    **/
}

.qa__contents summary .mark--Q {
	background: #fff;
	border-radius: 50%;
	color: #d5a2a3;
	display: inline-block;
	font-size: 43px;
	padding: 3px 8px;
}

.mark {
	display: block;
	position: relative;
}

.mark::before {
	background: #fff;
	content: "";
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	z-index: 1;
}

.mark::after {
	background: #fff;
	content: "";
	height: 20px;
	position: absolute;
	right: 9.5px;
	top: 50%;
	transform: translateY(-50%);
	width: 2px;
	z-index: 1;
}

.qa__text {
	font-size: 22px;
	line-height: 1.5;
	padding: 30px;
}

.about {
	background: #FFF3F6;
	padding-bottom: 70px;
	padding-top: 40px;
}

.about__title {
	background: linear-gradient(transparent 72%, rgba(249, 235, 33, 0.9) 60%);
	font-size: 79px;
	padding: 0 55px;
}

.about__gallery {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 26px;
}

.about__inner {
	margin-top: 10px;
	padding: 0 30px;
}

.about__box {
	font-family: fot-tsukuardgothic-std;
	font-weight: 400;
	margin-top: 34px;
	text-align: justify;
}

.about__box dl {
	align-items: center;
	border-bottom: 1px dashed #ddd;
	display: flex;
	font-size: 15px;
	line-height: 1.4;
	padding: 19px 0;
	width: 100%;
}

.about__box dt {
	color: #604136;
	text-align: center;
	width: 25%;
}

.about__box dd {
	width: 75%;
}

.about__box .about__tel {
	color: #e97d9d;
	font-size: 24px;
	line-height: 1.4166666667;
}

.about__box .about__tel span {
	color: #bb6982;
	display: block;
	font-size: 12px;
	line-height: 1.4166666667;
}

.about__head {
	background: #663E34;
	color: #fff;
	font-family: "ヒラギノ明朝 ProN";
	font-size: 26px;
	font-weight: bold;
	padding: 9px 0;
	text-align: center;
}

.about__map {
	margin-top: 30px;
	text-align: center;
	width: 600px;
}

.about__map iframe {
	aspect-ratio: 600/356;
	width: 600px;
}

.measures {
	margin-bottom: 35px;
	margin-top: 57px;
	padding: 0 50px;
}

.small__box {
	background: #BF344F;
	color: #fff;
	font-size: 13px;
	padding: 8px 0;
	text-align: center;
}

@media (max-width: 640px) {

.pc_only {
	display: none;
}

.sp_only {
	display: block;
}

}

