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

button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	color: inherit;
	font-family: inherit;
}

html {
	line-height: 1;
}

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

ol,
ul {
	list-style: none;
}

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

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

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

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

body {
	position: relative;
	max-width: 650px;
	margin-inline: auto;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
	color: #333;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5333;
	font-family: "Inter", sans-serif;
}

body.inactive {
	height: 100%;
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

.l-header {
	z-index: 100;
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	max-width: 650px;
	height: 45px;
	translate: -50% 0;
	background: #F4F0E7;
	box-shadow: 0px 4px 10px 0px rgba(92, 92, 92, 0.18);
}

.l-header__inner {
	padding-right: 2.6666666667%;
	padding-left: 2.6666666667%;
}

.l-header__flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 45px;
}

.l-header__logo {
	aspect-ratio: 109.453/50;
	width: 55px;
	height: auto;
}

.l-header__logo img {
	width: 100%;
	height: auto;
}

.l-header__right {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: auto;
	height: 100%;
	-moz-column-gap: 14px;
	column-gap: 14px;
}

.l-header__btn {
	display: block;
	display: block;
	position: relative;
	width: 100px;
	height: 100%;
	-webkit-text-stroke-color: #FFF;
	-webkit-text-stroke-width: 0.25;
	background: linear-gradient(1deg, #FC8A00 1.4%, #FFAA42 98.96%);
	color: #FFF;
	font-size: 14px;
	letter-spacing: 0.1099826182em;
	text-align: center;
	text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	transition: opacity 0.3s ease 0s;
}

.l-header__btn:hover {
	opacity: 0.7;
}

.l-header__btn img {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 239/58;
	width: 63px;
	height: auto;
	translate: -50% -50%;
}

.l-header__hamburger {
	position: relative;
	aspect-ratio: 23/14;
	width: 23px;
	height: auto;
	background: #F4F0E7;
	cursor: pointer;
	transition: opacity 0.3s ease 0s;
}

.l-header__hamburger:hover {
	opacity: 0.7;
}

.l-header__bar {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #333;
	background: #333;
}

.l-header__bar.--1 {
	top: 0;
}

.l-header__bar.--2 {
	top: 50%;
	translate: 0 -50%;
}

.l-header__bar.--3 {
	bottom: 0;
}

.l-inner {
	margin-inline: auto;
	padding-right: 17px;
	padding-left: 17px;
}

.p-voice .l-inner {
	margin-inline: auto;
	padding-right: 25px;
	padding-left: 25px;
}

.l-inner2 {
	padding-right: 1.3333333333%;
	padding-left: 8.4%;
}

.l-inner3 {
	padding-right: 9.14%;
	padding-left: 8.4%;
}

.l-footer {
	padding-top: 34px;
	padding-bottom: 24px;
}

.l-footer__logo {
	aspect-ratio: 109.453/50;
	width: 55px;
	height: auto;
	margin-inline: auto;
}

.l-footer__logo img {
	width: 100%;
	height: auto;
}

.l-footer__copyright {
	margin-top: 5px;
	font-size: 10px;
	letter-spacing: 0.04em;
	text-align: center;
}

.l-drawer {
	z-index: 200;
	position: fixed;
	top: -150%;
	left: 0;
	width: 100%;
	height: 100%;
	transition: top 0.3s ease 0s;
}

.l-drawer.is-active {
	top: 0;
}

.l-drawer__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
}

.l-drawer__contents {
	z-index: 10;
	position: relative;
	width: 100%;
	max-width: 650px;
	height: 100%;
	margin-inline: auto;
	padding-top: 27px;
	padding-right: 9.3333333333%;
	padding-bottom: 50px;
	padding-left: 9.3333333333%;
	overflow: scroll;
	background: #F4F0E7;
}

.l-drawer__logo {
	margin-left: 15px;
}

.l-drawer__btn {
	position: absolute;
	top: 27px;
	right: 9.3333333333%;
	aspect-ratio: 1/1;
	width: 25px;
	height: auto;
	background: transparent;
	cursor: pointer;
	transition: opacity 0.3s ease 0s;
}

.l-drawer__btn:hover {
	opacity: 0.7;
}

.l-drawer__bar {
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: 1px;
	transform-origin: center center;
	transform-origin: center center;
	translate: 0 -50%;
	background: #333;
}

.l-drawer__bar.--1 {
	rotate: 45deg;
}

.l-drawer__bar.--2 {
	rotate: -45deg;
}

.l-drawer__nav {
	margin-top: 40px;
}

/*===================================
.l-drawer-nav 
====================================*/

.l-drawer-nav__item {
	width: 100%;
	height: auto;
	border-bottom: solid 1px #999;
}

.l-drawer-nav__item a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 23px;
	padding-bottom: 23px;
	padding-left: 15px;
	font-weight: 400;
	font-size: 21px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0700117233em;
	transition: opacity 0.3s ease 0s;
}

.l-drawer-nav__item a:hover {
	opacity: 0.7;
}

.c-campaign {
	padding-top: 58px;
	padding-top: clamp(30px, 15.467vw, 100px);
	padding-bottom: 40px;
	background: #F4F0E7;
}

.c-campaign__box {
	width: 100%;
	max-width: 500px;
	height: auto;
	margin-inline: auto;
}

.c-campaign__box img {
	aspect-ratio: 687/590;
	width: 100%;
	height: auto;
}

.c-campaign__btn {
	margin-top: 20px;
	margin-inline: auto;
}

/*===================================
.c-campaign-btn
====================================*/

.c-campaign-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 97%;
	max-width: 350px;
	-moz-column-gap: 5%;
	column-gap: 5%;
	padding-top: 18px;
	padding-bottom: 18px;
	border-radius: 4px;
	background: linear-gradient(1deg, #FC8A00 1.4%, #FFAA42 98.96%);
	box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.25);
	transition: opacity 0.3s ease 0s;
}

.c-campaign-btn:hover {
	opacity: 0.7;
}

.c-campaign-btn__text {
	color: #FFF;
	font-weight: 600;
	font-size: 26px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0499909371em;
}

.c-campaign-btn__arrow {
	height: auto;
}

.c-campaign-btn__arrow img {
	display: block;
}

.p-fv {
	position: relative;
	width: 100%;
	height: auto;
}

.p-fv__img {
	aspect-ratio: 750/1172;
	width: 100%;
	height: auto;
}

.p-fv__img img {
	width: 100%;
	height: auto;
}

.p-fv__circles {
	position: absolute;
	bottom: -6.5%;
	left: 50%;
	width: 95.7333333333%;
	height: auto;
	margin-inline: auto;
	translate: -50% 0;
}

.p-fv__circles img {
	aspect-ratio: 718/236;
	width: 100%;
	height: auto;
}

.p-worry {
	z-index: 1;
	position: relative;
	padding-top: 40px;
	background: #F4F0E7;
}

.p-worry::after {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("./../img/worry-bg.webp") no-repeat center center/cover;
	content: "";
}

.p-worry__title {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	padding-bottom: 10px;
	font-weight: 500;
	font-size: 23px;
	font-family: "Zen Old Mincho", serif;
}

.p-worry__title span {
	color: #A99072;
	font-size: 35px;
}

.p-worry__title::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	height: 2px;
	translate: -50% 0;
	background: linear-gradient(to right, transparent, #333 10%, #333 90%, transparent);
	content: "";
}

.p-worry__items {
	margin-top: 30px;
}

.p-worry__item {
	width: 100%;
	height: auto;
}

.p-worry__item img {
	aspect-ratio: 700/278;
	width: 100%;
	height: auto;
}

.p-worry__item:not(:first-child) {
	margin-top: 19px;
}

.p-worry__head {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 80px;
	margin-inline: auto;
	font-weight: 400;
	font-size: 28px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: -0.0199971534em;
	text-align: center;
}

.p-worry__head::after {
	position: absolute;
	top: -47px;
	left: calc(50% - 11px);
	width: 4.725px;
	height: 31.4px;
	background: url("./../img/worry-dots.webp") no-repeat center center/cover;
	content: "";
}

.p-worry .--small {
	font-size: 21px;
}

.p-worry .--large {
	position: relative;
	color: #A99072;
	font-weight: 500;
	font-size: 42px;
}

.p-worry .--large::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	aspect-ratio: 435.599/7.5;
	width: 100%;
	height: auto;
	translate: -50% 0;
	background: url("./../img/worry-head-bg.webp") no-repeat center center/cover;
	content: "";
}

.p-worry__img {
	width: 100vw;
	max-width: 650px;
	height: auto;
	margin-top: -80px;
	margin-left: -17px;
}

.p-worry__img img {
	width: 100%;
	height: auto;
}

/*===================================
.p-worry-item
====================================*/

.p-solve {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 80px;
	padding-bottom: 50px;
}

.p-solve::before,
.p-solve::after {
	z-index: -1;
	position: absolute;
	width: 100%;
	height: auto;
	content: "";
}

.p-solve::before {
	z-index: -1;
	top: 0;
	left: 0;
	aspect-ratio: 1664/972;
	background: url("./../img/solve-bg1.webp?ver=1.0") no-repeat top left/cover;
}

.p-solve::after {
	z-index: -2;
	right: 0;
	bottom: 0;
	aspect-ratio: 1125/768;
	background: url("./../img/solve-bg2.webp") no-repeat bottom right/cover;
}

.p-solve__head {
	width: -moz-fit-content;
	width: fit-content;
	min-width: 220px;
	padding: 7px 18px 18px;
	background: #A99072;
	color: #fff;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2499836398;
	font-family: "Zen Old Mincho", serif;
	text-align: center;
	text-shadow: 1.5px 1px 0.5px rgba(0, 0, 0, 0.25);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
	z-index: 1;
	position: absolute;
	top: -5%;
	left: 50%;
	translate: -50% 0;
	clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
}

.p-solve__head .--small {
	font-size: 12px;
}

.p-solve__head .--large {
	font-size: 20.5px;
	line-height: 1.6;
}

.p-solve__title-wrapper {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	text-align: center;
}

.p-solve__title {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-weight: 500;
	font-size: 23px;
	line-height: 1.88213; /* 188.213% */
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.040008604em;
	text-align: center;
}

.p-solve__title .--large {
	font-size: 31px;
	line-height: 1.4189802802;
}

.p-solve__video {
	width: 100%;
	height: auto;
	margin-top: 28px;
}

.p-solve__video iframe {
	aspect-ratio: 560/315;
	width: 100%;
	height: auto;
	border: none;
}

.p-ba__title {
	position: relative;
	padding-top: 40px;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.7; /* 100.618% */
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0399950528em;
	text-align: center;
}

.p-ba__title::before,
.p-ba__title::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	mix-blend-mode: multiply;
}

.p-ba__title::before {
	z-index: -2;
	background: #EBEEE5;
}

.p-ba__title::after {
	z-index: -1;
	background: url("./../img/ba-item-bg-white.webp") no-repeat top center/cover;
}

.p-ba__title .--white {
	padding-right: 1%;
	padding-left: 1%;
	background: #566E54;
	color: #fff;
}

.p-ba__title .--small {
	font-size: 24px;
}

/*===================================
.p-ba-item
====================================*/

.p-ba-item {
	position: relative;
	padding-top: 40px;
	padding-bottom: 45px;
}

.p-ba-item::before,
.p-ba-item::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	mix-blend-mode: multiply;
}

.p-ba-item::before {
	z-index: -1;
	background: url("./../img/ba-item-bg-white.webp") no-repeat center center/cover;
}

.p-ba-item::after {
	z-index: -2;
}

.p-ba-item:nth-child(2n+1)::after {
	z-index: -2;
	background: #EBEEE5;
}

.p-ba-item:nth-child(2n)::after {
	background: #fff;
}

.p-ba-item__img {
	width: 100%;
	height: auto;
}

.p-ba-item__img img {
	width: 100%;
	height: auto;
}

.p-ba-item__textarea {
	margin-top: 12px;
	margin-inline: auto;
}

/*===================================
.p-ba-item-textarea
====================================*/

.p-ba-item-textarea {
	width: 83.284457478%;
	height: auto;
}

.p-ba-item-textarea img {
	width: 100%;
	height: auto;
}

.p-ba-item-textarea__triangle-wrapper {
	width: -moz-fit-content;
	width: fit-content;
	height: auto;
	border: solid 1px #000;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.4));
}

.p-ba-item-textarea__triangle {
	display: block;
	position: absolute;
	top: -14.5px;
	left: 50%;
	width: 21px;
	height: 14.5px;
	translate: -50%;
	background: red;
	-webkit-clip-path: polygon(100% 0, 90% 100%, 0 100%);
	clip-path: polygon(100% 0, 90% 100%, 0 100%);
}

.p-reason {
	background: #F4F0E7;
}

.p-reason__head {
	background: #A99072;
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%);
	padding-top: 35px;
	padding-bottom: 54px;
	clip-path: polygon(0 0, 100% 0, 100% 75%, 50% 100%, 0 75%);
}

.p-reason__logo {
	width: 53.5px;
	height: auto;
	margin-inline: auto;
	text-align: center;
}

.p-reason__logo img {
	width: 100%;
	height: auto;
}

.p-reason__title {
	margin-top: 10px;
	color: #fff;
	font-weight: 500;
	font-size: 22px;
	line-height: 1;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.1em;
	text-align: center;
	text-shadow: 1.5px 1px 0.5px rgba(0, 0, 0, 0.25);
}

.p-reason__title .--small {
	font-size: 16px;
}

.p-reason__title .--large {
	font-size: 36px;
	letter-spacing: 0.1em;
}

.p-reason__title .--x-large {
	font-size: 63px;
	letter-spacing: 0.1em;
}

.p-reason__contents {
	margin-top: 48px;
}

.p-reason__item:not(:first-child) {
	margin-top: 34px;
}

/*===================================
.p-reason-item
====================================*/

.p-reason-item {
	position: relative;
	padding-top: clamp(50px, 18vw, 117px);
	padding-right: 18px;
	padding-bottom: 25px;
	padding-left: 18px;
	background: #fff;
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
}

.p-reason-item__point {
	position: absolute;
	top: -11px;
	left: 20px;
	aspect-ratio: 52/60;
	width: 52px;
	height: auto;
}

.p-reason-item__point img {
	width: 100%;
	height: 100%;
}

.p-reason-item__head {
	font-weight: 500;
	font-size: clamp(14px, 5.06666vw, 32.9333px);
	font-family: "Zen Old Mincho", serif;
}

.p-reason-item__title {
	margin-top: 1%;
	font-weight: 500;
	font-size: clamp(24px, 7.733333vw, 50.2667px);
	line-height: 1.4; /* 46.55px */
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0399573788em;
}

.p-reason-item__title.--last {
	margin-top: 0;
}

.p-reason-item__text {
	margin-top: 24px;
	font-size: clamp(12px, 4vw, 26px);
}

.p-reason-item__img {
	width: 100%;
	height: auto;
	margin-top: 25px;
}

.p-reason-item__img img {
	width: 100%;
	height: auto;
}

.p-achievements {
	width: 100%;
	height: auto;
}

.p-achievements img {
	width: 100%;
	height: auto;
}

.p-voice {
	position: relative;
	padding-top: 20px;
	padding-bottom: 50px;
}

.p-voice::before,
.p-voice::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
}

.p-voice::before {
	z-index: -2;
	background: #EBEEE5;
}

.p-voice::after {
	z-index: -1;
	background: url("./../img/voice-bg.webp") no-repeat center center/cover;
}

.p-voice__title {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-weight: 500;
	font-size: 34px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.040004094em;
	text-align: center;
}

.p-voice__title span {
	font-size: 26px;
}

.p-voice__title::before,
.p-voice__title::after {
	position: absolute;
	top: 55%;
	width: 1px;
	height: 70%;
	background: #333;
	content: "";
}

.p-voice__title::before {
	left: -10px;
	translate: 0 -50%;
	rotate: -20deg;
}

.p-voice__title::after {
	right: -10px;
	translate: 0 -50%;
	rotate: 20deg;
}

.p-voice__items {
	margin-top: 35px;
}

.p-voice__item:not(:first-child) {
	margin-top: 23px;
}

/*===================================
.p-voice-item
====================================*/

.p-voice-item {
	position: relative;
	padding-top: clamp(3px, 1.06667vw, 6.933px);
	padding-right: 8px;
	padding-bottom: 8px;
	padding-left: 8px;
	border: 2px solid #566E54;
	border-top: 7px solid #566E54;
	border-radius: 2.5px;
	background: #fff;
}

.p-voice-item:nth-child(3) {
	padding-bottom: 14px;
}

.p-voice-item__head {
	position: absolute;
	top: -5px;
	width: 100px;
	height: auto;
}

.p-voice-item__head img {
	width: 100%;
	height: auto;
}

.p-voice-item__head.--odd {
	left: 0;
	aspect-ratio: 201/69.856;
}

.p-voice-item__head.--even {
	right: 0;
	aspect-ratio: 201/93.23;
}

.p-voice-item__img {
	aspect-ratio: 1/1;
	width: 32.131147541%;
	height: auto;
	margin-inline: auto;
}

.p-voice-item__img img {
	width: 100%;
	height: auto;
}

.p-voice-item__img-text {
	margin-top: 5px;
	font-style: normal;
	font-weight: 400;
	font-size: clamp(10px, 3.2vw, 20.8px);
	text-align: center;
}

.p-voice-item__text {
	width: 100%;
	height: auto;
}

.p-voice-item__text img {
	width: 100%;
	height: auto;
}

.p-how {
	position: relative;
	padding-top: 40px;
	padding-bottom: 50px;
}

.p-how::after {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("./../img/how-bg.webp") no-repeat center center/cover;
	content: "";
}

.p-how__title {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-weight: 500;
	font-size: clamp(20px, 7.2952vw, 47.5647px);
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0400080418em;
	text-align: center;
}

.p-how__title span {
	font-size: clamp(10px, 6.1216vw, 39.7904px);
}

.p-how__text {
	margin-top: clamp(20px, 3.4vw, 22.1px);
	font-size: clamp(14px, 4.133vw, 26.9472px);
	line-height: 1.87;
}

.p-how__text span {
	font-weight: 600;
}

.p-how__img {
	width: 100%;
	height: auto;
	margin-top: clamp(10px, 3vw, 19.5px);
}

.p-how__img img {
	width: 100%;
	height: auto;
}

.p-how__connecting {
	aspect-ratio: 145.255/69.763;
	width: 19.3673333333%;
	height: auto;
	margin-top: clamp(10px, 10vw, 65px);
	margin-bottom: clamp(10px, 8vw, 52px);
	margin-inline: auto;
}

.p-how__connecting img {
	width: 100%;
	height: 100%;
}

.p-flow {
	position: relative;
	padding-top: 40px;
	padding-bottom: 50px;
}

.p-flow::after {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("./../img/flow-bg.webp") no-repeat center center/cover;
	content: "";
}

.p-flow__title {
	aspect-ratio: 433/140;
	width: 216px;
	height: auto;
	margin-inline: auto;
}

.p-flow__title img {
	width: 100%;
	height: auto;
}

.p-flow__contents {
	margin-top: 48px;
}

.p-flow__item:not(:first-child) {
	margin-top: clamp(20px, 7.645vw, 49.6925px);
}

/*===================================
.p-flow-item
====================================*/

.p-flow-item {
	display: flex;
	justify-content: space-between;
}

.p-flow-item__left {
	position: relative;
	width: 20.8585981082%;
}

.p-flow-item__right {
	width: 73.571024335%;
}

.p-flow-item__step {
	display: block;
	position: relative;
	aspect-ratio: 129/52;
	width: 100%;
	height: auto;
	background: #A99072;
	box-shadow: 1px 2px 2px 0px rgba(0, 0, 0, 0.25);
}

.p-flow-item__step img {
	position: absolute;
	top: 55%;
	left: 50%;
	width: 69.7674418605%;
	height: auto;
	translate: -50% -50%;
}

.p-flow-item__bar {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 87%;
	margin-top: 62.7906976744%;
	background: #333;
}

.p-flow-item__title {
	font-weight: 500;
	font-size: clamp(20px, 6.487vw, 42.1655px);
	line-height: 1;
	font-family: "Zen Old Mincho", serif;
}

.p-flow-item__title.--lh {
	margin-top: -2px;
	line-height: 1.27;
}

.p-flow-item__btn {
	margin-top: clamp(12px, 4.8vw, 31.2px);
}

.p-flow-item__img {
	width: 100%;
	height: auto;
	margin-top: clamp(10px, 5.3333vw, 34.666px);
}

.p-flow-item__img img {
	width: 100%;
	height: auto;
}

.p-flow-item__text {
	margin-top: clamp(12px, 4.8vw, 31.2px);
	font-size: clamp(12px, 4vw, 26px);
	line-height: 1.5333;
}

/*===================================
.p-flow-item-btn
====================================*/

.p-flow-item-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80.4395604396%;
	-moz-column-gap: 5%;
	column-gap: 5%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-radius: 2.5px;
	background: linear-gradient(1deg, #FC8A00 1.4%, #FFAA42 98.96%);
	transition: opacity 0.3s ease 0s;
}

.p-flow-item-btn:hover {
	opacity: 0.7;
}

.p-flow-item-btn__text {
	color: #fff;
	font-size: clamp(10px, 4.26667vw, 27.7334px);
	font-family: "Zen Old Mincho", serif;
}

.p-flow-item-btn__img {
	width: 10.1092896175%;
	height: auto;
}

.p-flow-item-btn__img img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.p-development {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
}

.p-development::before,
.p-development::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	mix-blend-mode: multiply;
}

.p-development::before {
	z-index: -1;
	background: #EBEEE5;
}

.p-development::after {
	z-index: -1;
	background: url("./../img/development-bg.webp") no-repeat center center/cover;
}

.p-development__title {
	font-weight: 500;
	font-size: 23px;
	line-height: 1.5;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0400008621em;
	text-align: center;
}

.p-development__title span {
	font-size: 30px;
}

.p-development__head {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 20px;
	margin-inline: auto;
	padding: 12px 18px;
	background: #566E54;
	color: #fff;
	font-weight: 500;
	font-size: 16.5px;
	letter-spacing: 0.0399892002em;
}

.p-development__head::after {
	position: absolute;
	bottom: -8px;
	left: 50%;
	width: 15px;
	height: 10.5px;
	translate: -50% 0;
	background: #566E54;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-development__img {
	width: 100%;
	height: auto;
	margin-top: 15px;
}

.p-development__img img {
	width: 100%;
	height: auto;
}

.p-development__btn {
	margin-top: 27px;
	margin-inline: auto;
}

/*===================================
.p-development-btn
====================================*/

.p-development-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 95%;
	max-width: 350px;
	-moz-column-gap: 5%;
	column-gap: 5%;
	padding-top: 15px;
	padding-bottom: 15px;
	border-radius: 3.5px;
	background: linear-gradient(1deg, #FC8A00 1.4%, #FFAA42 98.96%);
	transition: opacity 0.3s ease 0s;
}

.p-development-btn:hover {
	opacity: 0.7;
}

.p-development-btn__text {
	color: #fff;
	font-size: 24px;
	font-family: "Zen Old Mincho", serif;
}

.p-development-btn__img {
	width: 6.7632850242%;
	height: auto;
}

.p-development-btn__img img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.p-qa {
	padding-top: 50px;
	padding-bottom: 50px;
	background: #F4F0E7;
}

.p-qa__title {
	font-weight: 500;
	font-size: 30px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.04em;
	text-align: center;
}

.p-qa__items {
	max-width: 500px;
	margin-top: 40px;
	margin-inline: auto;
}

.p-qa__item:not(:first-child) {
	margin-top: 9px;
}

/*===================================
.p-qa-item
====================================*/

.p-qa-item {
	padding-right: 18px;
	padding-left: 18px;
	background: #fff;
}

.p-qa-item.is-open .p-qa-item-q__bar.--2 {
	rotate: 0deg;
}

/*===================================
.p-qa-item-q
====================================*/

.p-qa-item-q {
	display: flex;
	position: relative;
	justify-content: space-between;
	padding-top: 12px;
	padding-right: 11px;
	padding-bottom: 12px;
	padding-left: 9px;
	cursor: pointer;
	transition: opacity 0.3s ease 0s;
}

.p-qa-item-q:hover {
	opacity: 0.7;
}

.p-qa-item-q__icon {
	width: 24px;
	font-size: 19px;
	font-family: "Montserrat", sans-serif;
	text-transform: capitalize;
}

.p-qa-item-q__title {
	width: calc(100% - 34px);
	margin-top: 3px;
}

.p-qa-item-q__bars {
	position: absolute;
	top: 50%;
	right: 11px;
	aspect-ratio: 1/1;
	width: 22px;
	height: auto;
	translate: 0 -50%;
	border-radius: 50%;
	background: #A99072;
}

.p-qa-item-q__bar {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40%;
	height: 1px;
	translate: -50% -50%;
	background: #fff;
	transition: rotate 0.3s ease 0s;
}

.p-qa-item-q__bar.--2 {
	rotate: 90deg;
}

/*===================================
.p-qa-item-a
====================================*/

.p-qa-item-a {
	display: none;
	padding-top: 12px;
	padding-right: 20px;
	padding-bottom: 12px;
	padding-left: 9px;
	border-top: dashed 1px #A99072;
}

.p-qa-item-a__flex {
	display: flex;
	justify-content: space-between;
}

.p-qa-item-a__icon {
	width: 24px;
	font-size: 19px;
	font-family: "Montserrat", sans-serif;
	text-transform: capitalize;
}

.p-qa-item-a__text {
	width: calc(100% - 34px);
	margin-top: 3px;
}

.p-representative {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
}

.p-representative::before,
.p-representative::after {
	z-index: -2;
	position: absolute;
	width: 100%;
	height: auto;
	content: "";
	mix-blend-mode: multiply;
}

.p-representative::before {
	top: 0;
	left: 0;
	aspect-ratio: 750/413;
	background: url("./../img/representative-bg1.webp") no-repeat top left/cover;
}

.p-representative::after {
	top: clamp(20px, 55vw, 357.5px);
	right: 0;
	aspect-ratio: 750/1087;
	background: url("./../img/representative-bg2.webp") no-repeat top right/cover;
}

.p-representative__bg {
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: 0;
	aspect-ratio: 750/841;
	width: 100%;
	height: auto;
	background: url("./../img/representative-bg3.webp") no-repeat bottom left/cover;
	mix-blend-mode: multiply;
}

.p-representative__head {
	aspect-ratio: 109.453/50;
	width: 55px;
	height: auto;
	margin-inline: auto;
}

.p-representative__head img {
	width: 100%;
	height: auto;
}

.p-representative__title {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-weight: 500;
	font-size: 31px;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.0400012951em;
}

.p-representative__title::before,
.p-representative__title::after {
	position: absolute;
	top: 50%;
	width: 20px;
	height: 1px;
	translate: 0 -50%;
	background: #333;
	content: "";
}

.p-representative__title::before {
	left: -30px;
}

.p-representative__title::after {
	right: -30px;
}

.p-representative__name1 {
	margin-block-start: 24px;
	font-size: 15px;
	line-height: 1.46107; /* 146.107% */
	letter-spacing: 0.0399905268em;
	text-align: center;
}

.p-representative__name2 {
	font-size: 21px;
	line-height: 1.46107; /* 146.107% */
	letter-spacing: 0.0399907214em;
	text-align: center;
}

.p-representative__img {
	width: 100%;
	max-width: 400px;
	height: auto;
	margin-top: 25px;
	margin-inline: auto;
}

.p-representative__img img {
	width: 100%;
	height: auto;
}

.p-representative__textarea {
	margin-top: 25px;
}

/*===================================
.p-representative-textarea
====================================*/

.p-representative-textarea__title.--2 {
	margin-top: 30px;
}

.p-representative-textarea__text {
	padding-right: 4px;
	padding-left: 4px;
	background-image: linear-gradient(180deg, transparent calc(100% - 1px), #C7C4C4 calc(100% - 1px)); /* 罫線の色と太さ */
	background-size: 100% 2.5em; /* 行の高さ */
	line-height: 2.5em; /* 文字の高さ */
}

.p-representative-textarea__text.--2,
.p-representative-textarea__text.--3 {
	margin-top: 30px;
}

.p-representative-textarea__text p {
	word-break: auto-phrase;
}

.u-dots {
	padding-top: 0.1em; /* 縦方向の位置調整 */
	background-image: radial-gradient(circle at center, #A99072 12%, transparent 12%); /* 点の色とサイズ調整 */
	background-position: top right; /* 点の位置 */
	background-size: 1em 0.2em; /* 点の間隔とサイズ調整 */
	background-repeat: repeat-x; /* 横方向に繰り返し */
}

.u-dots--black {
	padding-top: 0.3em; /* 縦方向の位置調整 */
	background-image: radial-gradient(circle at center, #000 15%, transparent 15%); /* 点の色とサイズ調整 */
	background-position: top right; /* 点の位置 */
	background-size: 0.97em 0.3em; /* 点の間隔とサイズ調整 */
	background-repeat: repeat-x; /* 横方向に繰り返し */
}

.u-shake {
	animation: u-shake 2s infinite;
}

.u-shake-2 {
	animation: u-shake-2 1.9s infinite;
}

.u-marker {
	background: linear-gradient(transparent 50%, #FFFF5A 50%);
}

.u-marker2 {
	background: linear-gradient(transparent 60%, #FFFF5A 60%, #FFFF5A 95%, transparent 95%, transparent 100%);
}

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

.l-inner {
	padding-right: 20px;
	padding-left: 20px;
}

.p-voice .l-inner {
	padding-right: 30px;
	padding-left: 30px;
}

.p-worry__img {
	margin-left: -20px;
}

}

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

.l-header {
	height: 60px;
}

.l-header__flex {
	height: 60px;
}

.l-header__logo {
	width: 70px;
}

.l-header__right {
	-moz-column-gap: 20px;
	column-gap: 20px;
}

.l-header__btn {
	width: 120px;
}

.l-header__btn img {
	width: 80px;
}

.l-header__hamburger {
	width: 30px;
}

.l-footer__copyright {
	font-size: 12px;
}

.p-worry__title {
	font-size: 26px;
}

.p-worry__title span {
	font-size: 39px;
}

.p-worry__head {
	font-size: 31px;
}

.p-worry .--small {
	font-size: 23px;
}

.p-worry .--large {
	font-size: 45px;
}

.p-worry__img {
	margin-top: -100px;
}

.p-solve__head {
	font-size: 17px;
}

.p-solve__head .--small {
	font-size: 13.5px;
}

.p-solve__head .--large {
	font-size: 23px;
}

.p-ba__title {
	font-size: 35px;
}

.p-ba__title .--small {
	font-size: 26px;
}

.p-reason__title {
	font-size: 24px;
}

.p-reason__title .--small {
	font-size: 18px;
}

.p-reason__title .--large {
	font-size: 39px;
}

.p-reason__title .--x-large {
	font-size: 67px;
}

.p-reason-item__point {
	top: -15px;
	width: 70px;
}

.p-voice__title {
	font-size: 38px;
}

.p-voice__title span {
	font-size: 29px;
}

.p-voice-item:nth-child(3) {
	padding-bottom: 18px;
}

.p-voice-item__head {
	width: 140px;
}

.p-flow__title {
	width: 250px;
}

.p-development__title {
	font-size: 26px;
}

.p-development__title span {
	font-size: 34px;
}

.p-development__head {
	font-size: 19px;
}

.p-development-btn__text {
	font-size: 26px;
}

.p-qa__title {
	font-size: 33px;
}

.p-qa-item-q__icon {
	font-size: 21px;
}

.p-qa-item-a__icon {
	font-size: 21px;
}

.p-representative__title {
	font-size: 34px;
}

.u-sm {
	display: none;
}

}

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

body {
	font-size: 18px;
}

.l-header__inner {
	padding-right: 3.8461538462%;
	padding-left: 3.8461538462%;
}

.l-footer {
	font-size: 12px;
}

.p-worry__img {
	margin-top: -150px;
}

.p-reason-item__point {
	top: -18px;
	width: 80px;
}

.p-voice-item:nth-child(3) {
	padding-bottom: 20px;
}

.p-voice-item__head {
	width: 160px;
}

}

@keyframes u-shake {

0% {
	transform: translate(0px, 2px);
}

5% {
	transform: translate(0px, -2px);
}

10% {
	transform: translate(0px, 2px);
}

15% {
	transform: translate(0px, -2px);
}

20% {
	transform: translate(0px, 2px);
}

25% {
	transform: translate(0px, -2px);
}

30% {
	transform: translate(0px, 0px);
}

}

@keyframes u-shake-2 {

0% {
	transform: translate(0px, 2px);
}

5% {
	transform: translate(0px, -2px);
}

10% {
	transform: translate(0px, 2px);
}

15% {
	transform: translate(0px, -2px);
}

20% {
	transform: translate(0px, 2px);
}

25% {
	transform: translate(0px, -2px);
}

30% {
	transform: translate(0px, 0px);
}

}

