*,
*::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 {
	max-width: 440px;
	margin-inline: auto;
	overflow-x: clip;
	box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.2);
	color: #33342D;
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	font-family: "Noto Sans JP", serif;
}

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

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

a {
	color: inherit;
	transition: opacity 0.3s ease 0s;
}

a:focus-visible {
	opacity: 0.7;
}

a[href^="tel:"] {
	text-decoration: none;
}

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

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

.l-inner--3 {
	padding-inline: 40px;
}

.l-inner--4 {
	padding-inline: 15px;
}

.l-bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-block-start: 30px;
}

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

.l-bg::before {
	z-index: -2;
	background: #fff;
}

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

.l-bg__logo {
	font-weight: 500;
	font-size: 20px;
}

.l-bg__inner {
	max-width: 1440px;
	margin-inline: auto;
	padding-right: 120px;
	padding-left: 120px;
}

.l-bg__nav {
	display: none;
	margin-top: 53px;
}

/*===================================
.l-bg-nav
====================================*/

.l-bg-nav__item {
	width: -moz-fit-content;
	width: fit-content;
}

.l-bg-nav__item:not(:first-child) {
	margin-top: 35px;
}

.l-bg-nav__item a {
	position: relative;
	padding-block-end: 2px;
	font-size: 22px;
	text-transform: capitalize;
	cursor: pointer;
	transition: color 0.3s ease 0s;
}

.l-bg-nav__item a span {
	margin-right: 14px;
	font-weight: 500;
	font-size: 18px;
}

.l-bg-nav__item a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: #29961A;
	content: "";
	transition: width 0.3s ease 0s;
}

.l-bg-nav__item a:hover {
	color: #29961A;
	opacity: 1;
}

.l-bg-nav__item a:hover::after {
	width: 100%;
}

.l-bg-nav__item a.current {
	color: #29961A;
}

.l-bg-nav__item a.current::after {
	position: absolute;
	bottom: 0;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #29961A;
	content: "";
}

.l-main {
	z-index: 1;
	position: relative;
	max-width: 440px;
	margin-inline: auto;
	padding-block-end: 80px;
	background-color: #fff;
	box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.2);
}

.l-header {
	position: relative;
	width: 100%;
	height: 80px;
	background-color: #fff;
}

.l-header__contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.l-header__logo {
	margin-inline-start: 4px;
	font-weight: 500;
	line-height: 1.3;
}

.l-header__btn {
	display: block;
	z-index: 2;
	height: auto;
	padding-inline-start: 60px;
	padding-inline-end: 86px;
	padding-block: 22px;
	background-color: #FF9D2A;
	font-weight: 500;
	line-height: 1; /* 133.333% */
	text-align: center;
}

.l-header__btn p {
	position: relative;
	color: #fff;
	font-size: 20px;
}

.l-header__btn p::after {
	position: absolute;
	top: 50%;
	right: -26px;
	aspect-ratio: 1;
	width: 20px;
	height: auto;
	translate: 0 -50%;
	background: url("./../img/header-reserve-img.webp") no-repeat center center/cover;
	content: "";
}

.l-footer {
	z-index: 10;
	position: fixed;
	bottom: 0;
	width: 100%;
	max-width: 440px;
	height: auto;
	padding-block-start: 10px;
	background-color: rgba(255, 255, 255, 0.8);
}

.l-footer__text {
	font-weight: 300;
	font-size: 18px;
	text-align: center;
}

.l-footer__flex {
	display: flex;
	width: 100%;
}

.l-footer__btn {
	display: grid;
	place-items: center;
	width: 50%;
	height: 66px;
	margin-block-start: 6px;
}

.l-footer__btn p {
	position: relative;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
}

.l-footer__btn p::before,
.l-footer__btn p::after {
	position: absolute;
	top: 50%;
	aspect-ratio: 1;
	width: 26px;
	height: auto;
	translate: 0 -45%;
	content: "";
}

.l-footer__btn p::before {
	left: -36px;
}

.l-footer__btn p::after {
	right: -36px;
	background: url("./../img/cta-btn-arrow.webp") no-repeat center center/cover;
}

.l-footer__btn.--tel {
	background-color: #FF9D2A;
}

.l-footer__btn.--tel p::before {
	background: url("./../img/cta-btn-tel.webp") no-repeat center center/cover;
}

.l-footer__btn.--line {
	background-color: #06C755;
}

.l-footer__btn.--line p::before {
	background: url("./../img/cta-btn-line.webp") no-repeat center center/cover;
}

.c-cta {
	padding-block: 20px 60px;
	background-color: #F6FAF0;
}

.c-cta.--white {
	background-color: #fff;
}

.c-cta__box {
	border: solid 2px #29961A;
	border-radius: 10px;
	background-color: #F6FAF0;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.c-cta__title {
	padding: 20px 6px;
	border-radius: 6px 6px 0 0;
	background-color: #29961A;
	color: #fff;
	line-height: 1.4;
	text-align: center;
}

.c-cta__title .--orange {
	padding: 2px 10px;
	border-radius: 6px;
	background-color: #FF9D2A;
	font-weight: 700;
	font-size: 20px;
}

.c-cta__title .--white {
	display: inline-block;
	margin-inline: 4px;
	margin-block-start: 10px;
	padding-inline: 8px;
	padding-block: 2px;
	border-radius: 6px;
	background-color: #fff;
	color: #29961A;
	font-weight: 700;
	font-size: 22px;
}

.c-cta__contents {
	padding-inline: 4px;
	padding-block: 20px;
}

.c-cta__img {
	width: 98%;
	height: auto;
	margin-inline: auto;
	border-radius: 10px;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.c-cta__img img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	-o-object-fit: cover;
	object-fit: cover;
}

.c-cta__lists {
	width: 100%;
	margin-block-start: 20px;
	padding: 20px 4px;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.c-cta__list:not(:first-child) {
	margin-block-start: 20px;
}

.c-cta__text1 {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	margin-block-start: 20px;
	padding-inline: 15px;
	color: #29961A;
	font-weight: 600;
	font-size: 24px;
	line-height: 1;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.c-cta__text1::before,
.c-cta__text1::after {
	position: absolute;
	top: 50%;
	width: 2px;
	height: 110%;
	translate: 0 -50%;
	border-radius: 999px;
	background-color: #29961A;
	content: "";
}

.c-cta__text1::before {
	left: 0;
	rotate: -30deg;
}

.c-cta__text1::after {
	right: 0;
	rotate: 30deg;
}

.c-cta__text1 span {
	position: relative;
	font-weight: 700;
	font-size: 28px;
}

.c-cta__text1 span::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #29961A;
	content: "";
}

.c-cta__circles {
	margin-block-start: 10px;
}

.c-cta__text2 {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	margin-block-start: 10px;
	padding-block-end: 2px;
	border-bottom: solid 1px #29961A;
	font-weight: 600;
	font-size: 26px;
	font-family: "Noto Serif JP", serif;
}

.c-cta__text3 {
	margin-block-start: 10px;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.c-cta__text3 .--small {
	font-size: 26px;
}

.c-cta__text3 .--large {
	font-size: 36px;
}

.c-cta__btn-head {
	margin-block-start: 40px;
	font-weight: 300;
	font-size: 18px;
	text-align: center;
}

.c-cta__btn {
	display: block;
	width: 97%;
	height: auto;
	margin-inline: auto;
	margin-block-start: 6px;
	padding-block: 20px;
	border-radius: 999px;
	color: #fff;
	text-align: center;
}

.c-cta__btn.--tel {
	background-color: #FF9D2A;
}

.c-cta__btn.--line {
	background-color: #06C755;
}

.c-cta__btn-text {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
}

.c-cta__btn-text::before,
.c-cta__btn-text::after {
	position: absolute;
	top: 50%;
	aspect-ratio: 1;
	width: 26px;
	height: auto;
	translate: 0 -50%;
	content: "";
}

.c-cta__btn-text::before {
	left: -36px;
}

.c-cta__btn-text::after {
	right: -36px;
	background: url("./../img/cta-btn-arrow.webp") no-repeat center center/cover;
}

.c-cta__btn-text.--tel::before {
	background: url("./../img/cta-btn-tel.webp") no-repeat center center/cover;
}

.c-cta__btn-text.--line::before {
	background: url("./../img/cta-btn-line.webp") no-repeat center center/cover;
}

/*===================================
.c-cta-list
====================================*/

.c-cta-list {
	display: grid;
	grid-template-columns: 26px auto;
	align-items: center;
	padding-block-end: 2px;
	gap: 2px;
	border-bottom: solid 1px #D9D9D9;
}

.c-cta-list__text {
	line-height: 1;
	white-space: nowrap;
}

.c-circles {
	display: grid;
	grid-template-columns: 150px 150px;
	justify-content: center;
	gap: 26px;
}

.c-circle {
	display: grid;
	position: relative;
	place-items: center;
	aspect-ratio: 1;
	width: 150px;
	height: auto;
	border: 2px solid #29961A;
	border-radius: 50%;
	background: rgba(41, 150, 26, 0.8);
}

.c-circle:not(:first-child)::before,
.c-circle:not(:first-child)::after {
	position: absolute;
	top: 50%;
	left: -25px;
	width: 20px;
	height: 1px;
	background-color: #29961A;
	content: "";
}

.c-circle:not(:first-child)::before {
	rotate: -45deg;
}

.c-circle:not(:first-child)::after {
	rotate: 45deg;
}

.c-circle__text {
	color: #FFF;
	font-weight: 700;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

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

.p-fv img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-worry__title {
	position: relative;
	padding-block: 40px 60px;
	color: #fff;
}

.p-worry__title::before {
	position: absolute;
	top: 0;
	left: 50%;
	aspect-ratio: 40/20;
	width: 40px;
	height: auto;
	translate: -50% 0;
	background-color: #F6FAF0;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

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

.p-worry__title h3 {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	padding-block: 16px;
	border-top: solid 1.5px #fff;
	border-bottom: solid 1.5px #fff;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.6;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

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

.p-worry__lists {
	position: relative;
	margin-block-start: -30px;
	padding-inline: 15px;
	padding-block: 60px;
}

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

.p-worry__list:not(:first-child) {
	margin-block-start: 20px;
}

/*===================================
.p-worry-list
====================================*/

.p-worry-list {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	border-bottom: 1.5px solid rgba(217, 217, 217, 0.2);
}

.p-worry-list__icon {
	aspect-ratio: 1;
	width: 20.58px;
	height: auto;
	margin-block-start: 8px;
}

.p-worry-list__icon img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-worry-list__text {
	color: #fff;
	font-size: 16px;
	line-height: 2; /* 36px */
}

.p-solve {
	padding-block-end: 60px;
	background-color: #F6FAF0;
}

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

.p-solve__title img {
	aspect-ratio: auto;
	width: 100%;
	height: 100%;
}

.p-solve__title h2 {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: auto;
	translate: -50% -50%;
	color: #fff;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.6;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-solve__contents {
	padding-block-start: 20px;
}

.p-solve__text1 {
	margin-block-start: 16px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.6; /* 18px */
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-solve__text1 span {
	font-weight: 600;
	font-size: 36px;
}

.p-solve__connection {
	aspect-ratio: 100/84;
	width: 100px;
	height: auto;
	margin-inline: auto;
	margin-block-start: 20px;
}

.p-solve__connection img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-solve__box {
	margin-block-start: 20px;
}

.p-solve__circles {
	margin-block-start: 20px;
}

.p-solve__text2 {
	font-weight: 600;
	font-size: 36px;
	line-height: 1.6;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-solve__text2 span {
	border-bottom: solid 1.5px #29961A;
	font-size: 26px;
}

.p-solve__video {
	/*aspect-ratio: 1.6/1;*/
	width: 100%;
	height: auto;
	margin-block-start: 20px;
	background-color: #33342D;
}

.p-solve__video video{
	/*aspect-ratio: 1.6/1;*/
	width: 100%;
	height: auto;
}

/*===================================
.p-worry-example
====================================*/

.p-worry-example {
	z-index: 1;
	position: relative;
	width: 100%;
	height: auto;
	padding-inline: 10px;
	padding-block: 10px 20px;
	border-radius: 10px;
	background-color: rgba(217, 217, 217, 0.6);
}

.p-worry-example::after {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 50%;
	aspect-ratio: 350/130;
	width: 95%;
	height: auto;
	translate: -50% 0;
	background: url("./../img/solve-bg.webp") no-repeat center center/cover;
	content: "";
}

.p-solve-example__img {
	aspect-ratio: 1;
	width: 160px;
	height: auto;
	margin-inline: auto;
}

.p-solve-example__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-solve-example__text {
	font-size: 18px;
	line-height: 2;
}

.p-solve-example__text span {
	border-bottom: solid 1.5px #33342D;
	font-weight: 600;
}

/*===================================
.p-worry-box
====================================*/

.p-worry-box {
	padding-block: 20px 12px;
	border-radius: 10px;
	outline: solid 1.5px #fff;
	outline-offset: -5px;
	background-color: #29961A;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	text-align: center;
}

.p-solve-box__text1 {
	aspect-ratio: 234/28;
	width: 234px;
	height: auto;
	margin-inline: auto;
}

.p-solve-box__text1 img {
	width: 100%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-solve-box__text2 {
	color: #fff;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-feature__title {
	padding-block: 18px 16px;
	background-color: #29961A;
	color: #fff;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-feature__title .--small {
	font-size: 20px;
}

.p-feature__title .--large {
	font-size: 28px;
}

.p-feature__contents {
	padding-block: 60px;
	background-color: #F6FAF0;
}

.p-feature__item:not(:first-child) {
	margin-block-start: 60px;
}

.p-feature__symptoms {
	margin-block-start: 60px;
}

/*===================================
.p-feature-item
====================================*/

.p-feature-item {
	position: relative;
	padding: 30px 20px;
	border: solid 2px #29961A;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.p-feature-item__head {
	position: absolute;
	top: -20px;
	left: 50%;
	width: 200px;
	padding: 10px;
	translate: -50% 0;
	border-radius: 6px;
	background-color: #29961A;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	text-align: center;
}

.p-feature-item__title {
	color: #29961A;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.6; /* 38.4px */
	font-family: "Noto Serif JP", serif;
}

.p-feature-item__img {
	width: 100%;
	height: auto;
	margin-block-start: 10px;
}

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

.p-feature-item__text {
	margin-block-start: 10px;
	font-size: 18px;
	line-height: 2;
}

/*===================================
.p-feature-symptoms
====================================*/

.p-feature-symptoms {
	position: relative;
	width: calc(100% - 10px);
}

.p-feature-symptoms__former {
	z-index: 2;
	position: relative;
	width: 100%;
	height: auto;
	padding: 20px 10px;
	border: solid 1.5px #29961A;
	background-color: #fff;
}

.p-feature-symptoms__back {
	z-index: 1;
	position: absolute;
	top: 15px;
	left: 10px;
	width: 100%;
	height: 100%;
	border: solid 1.5px #29961A;
	background-color: #fff;
}

.p-feature-symptoms__title {
	color: #29961A;
	font-weight: 600;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-feature-symptoms__items {
	margin-block-start: 20px;
}

.p-feature-symptoms__item:not(:first-child) {
	margin-block-start: 4px;
}

/*===================================
.p-feature-symptoms-item
====================================*/

.p-feature-symptoms-item {
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.p-feature-symptoms-item__circle {
	aspect-ratio: 1;
	width: 18px;
	height: auto;
	margin-block-start: 8px;
	border: solid 1.5px #29961A;
	border-radius: 50%;
}

.p-feature-symptoms-item__text {
	width: calc(100% - 24px);
	font-weight: 500;
	font-size: 18px;
	line-height: 2;
}

.p-reason {
	background-color: #F6FAF0;
}

.p-reason__title-wrapper {
	overflow: hidden;
}

.p-reason__title {
	margin-right: -100px;
	margin-left: -100px;
	padding-right: 100px;
	padding-left: 100px;
	padding-block: 28px;
	border-top-right-radius: 700px 200px;
	border-top-left-radius: 700px 200px;
	background-color: #FF9D2A;
	color: #fff;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

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

.p-reason__title .--large {
	margin-inline-end: -6px;
	font-size: 36px;
}

.p-reason__contents {
	padding-block-end: 60px;
}

.p-reason__items {
	margin-block-start: 40px;
}

.p-reason__item:not(:first-child) {
	margin-block-start: 40px;
}

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

.p-reason-item {
	position: relative;
	padding-inline: 15px;
	padding-block: 82px 24px;
	border: solid 2px #FF9D2A;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.p-reason-item__head {
	z-index: 1;
	position: absolute;
	top: 20px;
	left: -8px;
	width: 240px;
	height: auto;
	padding-block: 16px;
	background-color: #FF9D2A;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	text-align: center;
}

.p-reason-item__head::after {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	aspect-ratio: 5/6;
	width: 7px;
	height: auto;
	background-color: #734510;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
	z-index: -1;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.p-reason-item__title {
	color: #FF9D2A;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.6; /* 38.4px */
	font-family: "Noto Serif JP", serif;
}

.p-reason-item__img {
	width: 100%;
	height: auto;
	margin-block-start: 10px;
}

.p-reason-item__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-reason-item__text {
	margin-block-start: 10px;
	font-size: 18px;
	line-height: 2; /* 36px */
}

.p-achievements__title {
	padding-block: 20px;
	background-color: #29961A;
	color: #fff;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__title .--small {
	position: relative;
	font-weight: 500;
	font-size: 16px;
}

.p-achievements__title .--small::before,
.p-achievements__title .--small::after {
	position: absolute;
	top: 50%;
	width: 1px;
	height: 80%;
	translate: 0 -40%;
	background-color: #fff;
	content: "";
}

.p-achievements__title .--small::before {
	left: -10px;
	rotate: -30deg;
}

.p-achievements__title .--small::after {
	right: -5px;
	rotate: 30deg;
}

.p-achievements__title .--large {
	font-size: 28px;
}

.p-achievements__contents {
	padding-block-start: 40px;
	background-color: #F6FAF0;
}

.p-achievements__text1 {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	padding-inline: 10px;
	font-weight: 500;
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__text1::before,
.p-achievements__text1::after {
	position: absolute;
	top: 50%;
	width: 1px;
	height: 90%;
	translate: 0 -40%;
	background-color: #33342D;
	content: "";
}

.p-achievements__text1::before {
	left: 0;
	rotate: -30deg;
}

.p-achievements__text1::after {
	right: 0;
	rotate: 30deg;
}

.p-achievements__text-wrapper {
	display: flex;
	width: 280px;
	margin-inline: auto;
	margin-block-start: 10px;
}

.p-achievements__text-modify {
	width: 20px;
	background-color: #47853E;
}

.p-achievements__text2 {
	width: 260px;
	padding-block: 12px;
	background-color: #9CC797;
	font-weight: 600;
	font-size: 24px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__text3 {
	margin-block-start: 12px;
	font-weight: 500;
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__flex {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-block-start: 10px;
	gap: 8px;
}

.p-achievements__text4 {
	padding: 6px 16px;
	border-radius: 6px;
	background-color: #FF9D2A;
	color: #fff;
	font-weight: 600;
}

.p-achievements__text5 {
	font-weight: 500;
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
}

.p-achievements__text6 {
	margin-block-start: 10px;
	font-weight: 500;
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__text7 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-block-start: 10px;
	gap: 4px;
	color: #29961A;
	font-weight: 500;
	font-size: 14px;
	text-align: center;
}

.p-achievements__text7 .--circle {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	width: 50px;
	height: auto;
	border-radius: 50%;
	background-color: #fff;
}

.p-achievements__text7 .--large {
	font-weight: 600;
	font-size: 24px;
	font-family: "Noto Serif JP", serif;
}

.p-achievements__text7 .--underline {
	border-bottom: solid 1.5px #29961A;
}

.p-achievements__text8 {
	margin-block-start: 20px;
	font-weight: 500;
	font-size: 20px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-achievements__connection {
	width: 300px;
	height: auto;
	margin-inline: auto;
	margin-block-start: 10px;
}

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

.p-achievements__img {
	width: 314px;
	height: auto;
	margin-inline: auto;
	margin-block-start: 40px;
}

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

.p-achievements__box {
	margin-block-start: 40px;
}

/*===================================
.p-achievements-box
====================================*/

.p-achievements-box {
	position: relative;
	width: 98%;
	height: auto;
	margin-inline: auto;
	padding: 40px 7px 30px;
	border: solid 1px #29961A;
	background-color: #fff;
	text-align: center;
}

.p-achievements-box__head {
	display: grid;
	position: absolute;
	position: absolute;
	top: -30px;
	left: 50%;
	place-items: center;
	aspect-ratio: 1;
	width: 60px;
	height: auto;
	translate: -50%;
	border-radius: 50%;
	background-color: #29961A;
	text-align: center;
}

.p-achievements-box__head p {
	color: #fff;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
}

.p-achievements-box__text1 {
	font-family: "Noto Serif JP", serif;
}

.p-achievements-box__text1 span {
	position: relative;
	color: #29961A;
	font-weight: 500;
	font-size: 20px;
	font-family: "Noto Sans JP", serif;
}

.p-achievements-box__text1 span::before,
.p-achievements-box__text1 span::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #29961A;
	content: "";
}

.p-achievements-box__text1 span::before {
	bottom: 0;
}

.p-achievements-box__text1 span::after {
	bottom: -3px;
}

.p-achievements-box__text2 {
	margin-block-start: 20px;
	font-size: 20px;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
}

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

.p-voice__contents {
	padding-block: 40px 130px;
	overflow: hidden;
	background-color: #F6FAF0;
}

.p-voice__contents.--narrow {
	padding-block-end: 60px;
}

.p-voice__swiper {
	overflow: visible;
}

.p-voice__swiper2 {
	overflow: visible;
}

.p-voice__swiper3 {
	overflow: visible;
}

/*===================================
.p-voice-title
====================================*/

.p-voice-title {
	padding-block: 20px;
	background-color: #29961A;
	color: #fff;
	font-weight: 600;
	line-height: 1.5;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-voice-title.--orange {
	background-color: #FF9D2A;
}

.p-voice-title__text1 {
	font-size: 18px;
}

.p-voice-title__text2 {
	font-size: 28px;
}

/*===================================
.p-voice-slide
====================================*/

.p-voice-slide {
	position: relative;
	height: auto;
	padding-inline: 20px;
	padding-block: 20px 40px;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.p-voice-slide::before,
.p-voice-slide::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #29961A;
	content: "";
}

.p-voice-slide::before {
	top: 43px;
}

.p-voice-slide::after {
	bottom: 18px;
}

.p-voice-slide.--orange::before,
.p-voice-slide.--orange::after {
	background-color: #FF9D2A;
}

.p-voice-slide__item {
	height: 100%;
}

.p-voice-slide__head {
	z-index: 1;
	position: relative;
	width: 240px;
	margin-inline: auto;
	padding-block: 12px;
	border-radius: 6px;
	background-color: #29961A;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	text-transform: capitalize;
}

.p-voice-slide__head.--orange {
	background-color: #FF9D2A;
}

.p-voice-slide__flex {
	margin-block-start: 20px;
}

.p-voice-slide__img {
	width: 100%;
	height: auto;
	margin-block-start: 20px;
}

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

.p-voice-slide__text {
	width: 90.9090909091%;
	margin-inline: auto;
	margin-block-start: 20px;
	font-size: 18px;
	line-height: 1.6;
}

/*===================================
.p-voice-slide-flex
====================================*/

.p-voice-slide-flex {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline-start: 4.5454545455%;
	gap: 18px;
}

.p-voice-slide-flex__img {
	aspect-ratio: 1;
	width: 45.4545454545%;
	min-width: 150px;
	height: auto;
}

.p-voice-slide-flex__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-voice-slide-flex__textarea {
	width: calc(54.5454545455% - 18px);
	height: auto;
}

.p-voice-slide-flex__text1 {
	width: -moz-fit-content;
	width: fit-content;
	padding-block-end: 2px;
	border-bottom: solid 1px #D9D9D9;
	font-size: 18px;
}

.p-voice-slide-flex__text1 .--small {
	font-size: 16px;
}

.p-voice-slide-flex__text1 .--large {
	font-weight: 500;
	font-size: 22px;
}

.p-voice-slide-flex__text2 {
	display: flex;
	width: -moz-fit-content;
	width: fit-content;
	margin-block-start: 18px;
	padding-block-end: 2px;
	border-bottom: solid 1px #D9D9D9;
	line-height: 1.2;
}

.p-voice-slide-flex__text2 span {
	width: 66px;
}

.p-voice-slide-flex__text2 .--large {
	width: calc(100% - 66px);
	margin-block-start: -1px;
}

.p-voice-slide-flex__text3 {
	width: -moz-fit-content;
	width: fit-content;
	border-bottom: 1px solid #D9D9D9;
	font-size: 18px;
	line-height: 1.4; /* 25.2px */
}

.p-voice-slide-flex__text3:not(:first-child) {
	margin-block-start: 20px;
}

.p-voice-slide-flex__text2 .--large {
	font-weight: 500;
	font-size: 18px;
}

/*===================================
.swiper
====================================*/

.swiper-container {
	position: relative;
}

.swiper {
	position: relative;
}

.swiper-wrapper {
	position: relative;
}

.swiper-button-prev {
	top: calc(100% + 40px);
	left: 50%;
	aspect-ratio: 1;
	width: 40px;
	height: auto;
	translate: -60px 0;
	border: solid 3px #29961A;
	border-radius: 50%;
	transition: background-color 0.3s ease 0s;
}

.swiper-button-prev::after {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1/2;
	width: 7px;
	height: auto;
	translate: -50% -50%;
	background-color: #29961A;
	content: "";
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%);
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
	transition: background-color 0.3s ease 0s;
}

.swiper-button-prev:hover {
	background-color: #29961A;
}

.swiper-button-prev:hover::after {
	background-color: #fff;
}

.swiper-button-next {
	top: calc(100% + 40px);
	right: 50%;
	aspect-ratio: 1;
	width: 40px;
	height: auto;
	translate: 60px 0;
	border: solid 3px #29961A;
	border-radius: 50%;
	transition: background-color 0.3s ease 0s;
}

.swiper-button-next::after {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1/2;
	width: 7px;
	height: auto;
	translate: -50% -50%;
	background-color: #29961A;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transition: background-color 0.3s ease 0s;
}

.swiper-button-next:hover {
	background-color: #29961A;
}

.swiper-button-next:hover::after {
	background-color: #fff;
}

.swiper-button-prev.--orange,
.swiper-button-next.--orange {
	border-color: #FF9D2A;
}

.swiper-button-prev.--orange::after,
.swiper-button-next.--orange::after {
	background-color: #FF9D2A;
}

.swiper-button-prev.--orange:hover,
.swiper-button-next.--orange:hover {
	background-color: #FF9D2A;
}

.swiper-button-prev.--orange:hover::after,
.swiper-button-next.--orange:hover::after {
	background-color: #fff;
}

.p-flow__title {
	padding-block: 30px;
	background-color: #29961A;
	color: #fff;
	font-weight: 600;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-flow__items {
	padding-block: 40px 60px;
	background-color: #F6FAF0;
}

.p-flow__item:not(:first-child) {
	margin-block-start: 40px;
}

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

.p-flow-item:not(:last-child) {
	position: relative;
	padding-block-end: 32px;
	border-bottom: solid 4px #29961A;
}

.p-flow-item:not(:last-child)::after {
	position: absolute;
	top: 100%;
	left: 50%;
	width: 30px;
	height: 10px;
	translate: -50% 0;
	background-color: #29961A;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-flow-item__text {
	margin-block-start: 16px;
	padding-inline-start: 6px;
	font-size: 18px;
	line-height: 2;
}

.self_taiso{
	display: inline-block;
	font-size: 23px;
	font-weight: 500;
	margin-top: 35px;
	color: #29961A;
	padding-bottom: 5px;
	border-bottom: solid 2px #71A06B;
}

.p-flow__item .p-introduction__video{
	margin-top: 15px;
}

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

.p-flow-item-title {
	display: flex;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	height: auto;
	margin-inline: auto;
	padding-block-end: 8px;
	gap: 20px;
	border-bottom: solid 1px #71A06B;
}

.p-flow-item-title__step {
	aspect-ratio: 85/30;
	width: 85px;
	height: auto;
}

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

.p-flow-item-title__text {
	font-weight: 500;
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
}

.p-area {
	padding-block: 40px 60px;
}

.p-area__title {
	color: #29961A;
	font-weight: 600;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-area__text1 {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	margin-block-start: 52px;
	padding: 10px 36px;
	border-radius: 6px;
	background-color: #FF9D2A;
	color: #FFF;
	font-weight: 500;
	font-size: 22px;
	text-align: center;
}

.p-area__text2 {
	margin-block-start: 10px;
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-area__map {
	aspect-ratio: 370/278;
	width: 100%;
	height: auto;
	margin-block-start: 20px;
	overflow: hidden;
	border-radius: 10px;
}

.p-area__map iframe {
	width: 100%;
	height: 100%;
}

.p-introduction {
	padding-block: 60px;
	background-color: #F6FAF0;
}

.p-introduction__title {
	color: #29961A;
	font-weight: 600;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-introduction__img {
	aspect-ratio: 330/208;
	width: 89.1891891892%;
	height: auto;
	margin-inline: auto;
	margin-block-start: 60px;
}

.p-introduction__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-introduction__textarea {
	max-width: 89.1891891892%;
	margin-inline: auto;
	margin-block-start: 20px;
}

.p-introduction__name {
	margin-block-start: 8px;
	font-style: normal;
	font-size: 24px;
}

.p-introduction__text2 {
	margin-block-start: 8px;
	font-size: 18px;
	line-height: 2; /* 36px */
}

.p-introduction__lists {
	margin-block-start: 20px;
	font-size: 18px;
}

.p-introduction__list {
	padding-block-end: 30px;
	border-bottom: solid 1px #29961A;
}

.p-introduction__list:not(:first-child) {
	padding-block-start: 14px;
}

.p-introduction__list-dt {
	display: flex;
	align-items: center;
	color: #29961A;
}

.p-introduction__list-dt span {
	display: inline-block;
	aspect-ratio: 1;
	width: 20px;
	height: auto;
	margin-inline-end: 10px;
	border: solid 2px #29961A;
	border-radius: 50%;
}

.p-introduction__list-dd {
	margin-inline-start: 30px;
	margin-block-start: 4px;
	margin-block-start: 8px;
}

.p-introduction__video {
	aspect-ratio: 1.6/1;
	width: 100%;
	height: auto;
	margin-block-start: 40px;
	background-color: #33342D;
}

.p-introduction__video iframe{
	width: 100%;
}

.p-qa__title {
	padding-block: 35px;
	background-color: #29961A;
	color: #F6FAF0;
	font-weight: 600;
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.p-qa__items {
	padding-block: 60px;
	background-color: #F6FAF0;
}

.p-qa__item:not(:first-child) {
	margin-block-start: 40px;
}

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

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

.p-qa-item-q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.p-qa-item-q__icon {
	aspect-ratio: 1;
	width: 40px;
	height: auto;
}

.p-qa-item-q__icon img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-qa-item-q__text {
	width: calc(100% - 50px);
	margin-block-start: 2px;
	font-weight: 600;
	font-size: 18px;
	line-height: 2;
}

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

.p-qa-item-a {
	padding-inline-start: 10px;
}

.p-qa-item-a__text {
	margin-block-start: 16px;
	font-size: 18px;
	line-height: 2;
}

.u-sm2 {
	display: none;
}

.u-md2 {
	display: none;
}

.u-md3 {
	display: none;
}

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

.u-dots.--black {
	background-image: radial-gradient(circle at center, #33342D 22%, transparent 22%); /* 点の色とサイズ調整 */
}

.u-dots.--2 {
	padding-top: 0.1em;
	background-image: radial-gradient(circle at center, #33342D 20%, transparent 20%); /* 点の色とサイズ調整 */
	background-size: 1em 0.2em; /* 点の間隔とサイズ調整 */
}

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

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

.u-connection {
	width: -moz-fit-content;
	width: fit-content;
	padding: 8px 18px 16px 20px;
	-webkit-clip-path: polygon(0 0, 100% 10%, 100% 80%, 57% 80%, 45% 100%, 45% 80%, 7% 80%);
	clip-path: polygon(0 0, 100% 10%, 100% 80%, 57% 80%, 45% 100%, 45% 80%, 7% 80%);
}

.u-connection.--2 {
	-webkit-clip-path: polygon(0 0, 100% 10%, 100% 80%, 57% 80%, 57% 100%, 45% 80%, 7% 80%);
	clip-path: polygon(0 0, 100% 10%, 100% 80%, 57% 80%, 57% 100%, 45% 80%, 7% 80%);
}

@media (any-hover: hover) {

a:hover {
	opacity: 0.7;
}

}

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

.c-cta__title {
	font-size: 18px;
}

.c-cta-list__text {
	font-size: 18px;
}

.p-worry-list__text {
	font-size: 18px;
}

.p-achievements__text4 {
	padding: 8px 20px;
	font-size: 18px;
}

.p-achievements__text5 {
	font-size: 18px;
}

.p-achievements-box__text1 span {
	font-size: 24px;
}

.p-introduction__text1 {
	font-size: 18px;
}

}

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

.l-header__logo {
	font-size: 20px;
}

.u-sm3 {
	display: none;
}

}

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

.u-sm {
	display: none;
}

.u-sm2 {
	display: block;
}

.u-md3 {
	display: block;
}

}

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

.u-md {
	display: none;
}

.u-md2 {
	display: block;
}

}

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

.l-bg {
	display: block;
}

.l-bg__nav {
	display: block;
}

.l-main {
	position: absolute;
	top: 0;
	right: 13.8888888889%;
}

}

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

.l-main {
	right: 20.8333333333%;
}

}

@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);
}

}


