*,
*::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 {
	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,
main,
aside,
figure,
figcaption {
	display: block;
}

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

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

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
}

:root {
	--header-height: 60px; /* ヘッダーの高さに合わせて調整 */
}

body {
	color: #333333;
	font-family: "Shippori Mincho", serif;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.8px;
	line-height: 1.8;
	position: relative;
}

main {
	position: relative;
}

main::before,
main::after {
	content: "";
	height: calc(100vh - 60px);
	position: fixed;
	top: 60px;
	width: 40%;
	z-index: -10;
}

main::before {
	background: url(../img/pc_bg1_img.png) left top/cover;
	left: 0;
}

main::after {
	background: url(../img/pc_bg2_img.png) left top/cover;
	right: 0;
}

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

a {
	color: inherit;
	transition: 0.4s all;
}

a:hover {
	opacity: 0.6;
}

h2 {
	font-family: "Zen Antique Soft", serif;
	font-size: 2.8rem;
	letter-spacing: 0.5px;
	line-height: 1.6;
	margin-bottom: 3rem;
	text-align: center;
}

h3 {
	font-family: "Zen Antique Soft", serif;
	font-size: 2rem;
	letter-spacing: 0.6px;
	line-height: 1.6;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
	width: 95%;
}

.c-common__btn {
	background-color: #996483;
	border: 1px solid #996483;
	display: flex;
	height: -moz-fit-content;
	height: fit-content;
	position: relative;
	transition: all 0.3s ease;
	width: 100%;
}

.c-common__btn a {
	align-items: center;
	box-sizing: border-box;
	color: #F3F0E2;
	display: flex;
	justify-content: center;
	padding: 10px;
	width: 100%;
}

.c-common__btn:hover {
	background: #F3F0E2;
}

.c-common__btn:hover a {
	color: #996483;
	opacity: 1;
}

.c-common__btn-reserve {
	background-color: #F3F0E2;
}

.c-common__btn-reserve a {
	color: #996483;
	opacity: 1;
}

.c-common__btn-reserve:hover {
	background-color: #996483;
}

.c-common__btn-reserve:hover a {
	color: #F3F0E2;
}

.c-text__lead2 {
	font-size: 2rem;
	letter-spacing: 0.6px;
	line-height: 1.6; /* 1.6 */
}

.c-bg__neutral {
	position: relative;
}

.c-bg__neutral:before {
	background: rgba(242, 242, 242, 0.4);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.c-head__accent {
	color: #ffffff;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	min-width: 200px;
	padding: 20px 15px;
	position: relative;
}

.c-head__accent:before {
	background: url(../img/living_head_back_img.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: -1;
}

.p-header {
	background: #ffffff;
	box-shadow: 3px 4px 20px 0 rgba(121, 121, 121, 0.1);
	height: 60px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 20;
}

.p-header__wrap {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
	padding: 10px 5px;
	position: relative;
	width: 95%;
}

.p-header__logo {
	max-width: 250px;
	width: 20%;
}

.p-header__nav {
	display: flex;
	gap: 30px;
	justify-content: flex-end;
	width: 70%;
}

.p-header__list {
	display: flex;
	gap: 20px;
}

.p-header__drawer-icon {
	cursor: pointer;
	position: fixed;
	right: 20px;
	top: 15px;
	width: 30px;
	z-index: 45;
}

.p-header__drawer-icon span {
	background-color: #839964;
	border-radius: 10px;
	display: block;
	height: 3px;
	margin: 5px 0;
	transition: 0.4s;
	width: 100%;
}

/* バツ印に変化するスタイル */

.p-header__drawer-icon.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.p-header__drawer-icon.active span:nth-child(2) {
	opacity: 0;
}

.p-header__drawer-icon.active span:nth-child(3) {
	transform: rotate(-45deg) translate(6px, -6px);
}

/* メニューのスタイル */

.p-header__menu {
	background-color: #3D5E14;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 30px;
	height: 100vh;
	max-width: 500px;
	padding: 80px 20px 20px;
	position: fixed;
	right: -100%;
	top: 0; /* 初期状態でメニューを画面の外に */
	transition: right 0.6s ease; /* スライドアニメーション */
	width: 100%;
	z-index: 40;
}

.p-header__btn {
	max-width: 270px;
}

/* メニューが表示される時 */

.p-header__menu.open {
	right: 0; /* メニューが表示される位置 */
}

header.active:before {
	background-color: #3D5E14;
	content: "";
	height: 100vh;
	left: 0;
	opacity: 0.7;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 30;
}

body.is-locked {
	overflow: hidden;
}

.p-contents_container {
	height: 100vh;
	margin: auto;
	max-width: 500px;
	min-width: 390px;
	padding-top: 60px;
	position: relative;
	width: 40%;
	z-index: 1;
}

.p-contents_container::before,
.p-contents_container::after {
	content: "";
	height: 100vh;
	left: 0;
	left: 50%;
	max-width: 500px;
	min-width: 390px;
	position: fixed;
	top: 60px;
	transform: translateX(-50%);
	width: 40%;
}

.p-contents_container::before {
	background: no-repeat center center/cover rgba(243, 240, 226, 0.7);
	z-index: -1;
}

.p-contents_container::after {
	background: no-repeat center center/cover url(../img/bg_img.png);
	content: "";
	z-index: -2;
}

.p-main-visual__content {
	position: relative;
}

.p-main-visual__text {
	margin: auto;
	max-width: 200px;
	position: relative;
	text-align: center;
	width: 45%;
}

.p-main-visual__text::before,
.p-main-visual__text::after {
	content: "";
	position: absolute;
	z-index: -1;
}

.p-main-visual__text::before {
	background: url(../img/1leaves_img.png) no-repeat center center/contain;
	height: 120px;
	max-width: 120px;
	right: -40%;
	top: 10px;
	width: 50%;
}

.p-main-visual__text::after {
	background: url(../img/1leaf_img.png) no-repeat center center/contain;
	bottom: 25%;
	height: 80px;
	left: -40%;
	max-width: 80px;
	width: 35%;
}

.p-main-visual__image {
	bottom: 20%;
	content: "";
	left: 50%;
	max-width: 230px;
	position: absolute;
	transform: translateX(-50%);
	width: 80%;
}

.p-main-visual__feature {
	bottom: 0;
	content: "";
	left: 50%;
	max-width: 350px;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
	z-index: 1;
}

.p-concept {
	margin-top: -40px;
	padding: 5rem 0 18rem;
	position: relative;
}

.p-concept::before,
.p-concept::after {
	aspect-ratio: 1.2/1;
	content: "";
	height: auto;
	position: absolute;
}

.p-concept:before {
	background: url(../img/concept1_img.png) no-repeat bottom right/contain;
	bottom: -10px;
	right: 0;
	width: 80%;
	z-index: 2;
}

.p-concept::after {
	background: url(../img/concept2_img.png) no-repeat bottom left/contain;
	bottom: 50px;
	left: 0;
	width: 60%;
	z-index: 1;
}

.p-concept__bg {
	content: "";
	height: 97%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
}

.p-concept__bg img {
	height: 100%;
}

.p-concept__inner {
	max-width: 100%;
	position: relative;
}

.p-concept__inner::before,
.p-concept__inner::after {
	aspect-ratio: 1.5/1;
	content: "";
	height: auto;
	position: absolute;
}

.p-concept__inner::before {
	background: url(../img/2leaf_img.png) no-repeat center center/contain;
	right: 1rem;
	top: -5rem;
	width: 25%;
}

.p-concept__inner::after {
	background: url(../img/3leaf_img.png) no-repeat center center/contain;
	bottom: -18rem;
	left: 5rem;
	width: 20%;
	z-index: 3;
}

.p-concept__title {
	align-items: flex-start;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.8;
	margin: 0 auto;
	text-align: start;
	text-orientation: upright; /* 文字を立てる */
	writing-mode: vertical-rl; /* 縦書きにする */
	z-index: 1;
}

.p-concept__title .p-concept__title-lg {
	font-size: 3.2rem;
}

.p-concept__title .p-concept__title-md {
	font-size: 2.4rem;
}

.p-concept__title .p-concept__title-md:nth-of-type(3) {
	margin-right: 4rem;
}

.p-concept__title .p-concept__title-md:nth-of-type(4) {
	margin-top: 5rem;
}

.p-concept__content {
	align-items: center;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	height: -moz-fit-content;
	height: fit-content;
	justify-content: center;
	line-height: 2;
	overflow-x: hidden;
	padding: 5rem 2rem;
	position: relative;
	text-align: center;
	width: auto;
}

.p-concept__content p {
	z-index: 1;
}

.p-concept__content::before {
	aspect-ratio: 1.5/1;
	background: url(../img/6leaf.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: 2rem;
	position: absolute;
	top: 1rem;
	width: 20%;
	z-index: 2;
}

.p-concept__content-bg {
	aspect-ratio: 1/1;
	backdrop-filter: blur(4px);
	background: rgba(255, 255, 255, 0.13);
	border-radius: 10000px;
	content: "";
	height: 100%;
	position: absolute;
	width: auto;
}

.p-achievements {
	padding: 6rem 16px 0;
}

.p-achievements h2 {
	color: #3D5E14;
	font-size: clamp(2.4rem, 3vw, 2.4rem);
	position: relative;
	text-align: center;
}

.p-achievements h2::before,
.p-achievements h2::after {
	content: "";
	position: absolute;
}

.p-achievements h2::before {
	aspect-ratio: 1.5/1;
	background: url(../img/2leaves_img.png) no-repeat center center/contain;
	left: 0;
	top: -10px;
	width: 18%;
}

.p-achievements h2::after {
	aspect-ratio: 1/1.5;
	background: url(../img/4leaf_img.png) no-repeat center center/contain;
	height: auto;
	right: 0;
	top: 0;
	width: 10%;
}

.p-achievements__inner {
	background: #ffffff;
	border: 2px solid #D7B87D;
	border-radius: 10px;
	padding: 3rem 2rem;
	width: 100%;
}

ul.p-achievements__list {
	color: #3D5E14;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

ul.p-achievements__list li.p-achievements__item {
	position: relative;
}

.p-achievements__head {
	font-size: clamp(1.6rem, 2.2vw, 2rem);
	font-weight: 700;
	padding-left: 30px;
	position: relative;
}

.p-achievements__head::before {
	aspect-ratio: 1/1;
	background: url(../img/building_icon_img.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.p-achievements__btn {
	margin-top: 3rem;
	width: 100%;
}

.p-worries {
	margin-top: 6rem;
	padding-bottom: 4rem;
}

.p-worries__content {
	padding: 8rem 0 6rem;
	position: relative;
}

.p-worries_bg {
	inset: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.p-worries_bg img {
	-o-object-fit: cover;
	-o-object-position: center;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.p-worries__scene-list {
	font-size: clamp(1.6rem, 2.8vw, 2rem);
	padding-bottom: 170px;
	position: relative;
}

.p-worries__scene-list:before {
	aspect-ratio: 1/1.5;
	background: url(../img/scene_img-1.png) no-repeat center bottom/contain;
	bottom: -2rem;
	content: "";
	height: auto;
	left: 3rem;
	position: absolute;
	width: 40%;
}

.p-worries__scene-item {
	aspect-ratio: 1.5/1;
	background-repeat: no-repeat;
	background-size: contain;
	line-height: 1.8;
	text-align: center;
}

.p-worries__scene-item:nth-child(1) {
	background-image: url(../img/worries_back_img2.png);
	background-position: center right;
	margin-left: auto;
	margin-right: 0;
	min-width: 180px;
	padding-left: 20px;
	padding-top: 30px;
	width: 55%;
}

.p-worries__scene-item:nth-child(2) {
	background-image: url(../img/scene_back_img2.png);
	background-position: center left;
	margin-left: 0;
	margin-right: auto;
	margin-top: -6rem;
	min-width: 260px;
	padding-top: 30px;
	width: 60%;
}

.p-worries__scene-item:nth-child(3) {
	background-image: url(../img/scene_back_img3.png);
	background-position: center right;
	margin-left: auto;
	margin-right: 0;
	margin-top: -6rem;
	min-width: 300px;
	padding-left: 25px;
	padding-top: 13%;
	width: 70%;
}

.p-worries__answer {
	font-size: 2rem;
	font-weight: 700;
	margin: auto;
	text-align: center;
}

.p-worries__answer span {
	color: #3D5E14;
	font-size: 3.5rem;
}

.p-feature__inner {
	padding: 6rem 0;
}

.p-features__head {
	margin: 0 auto 3rem;
	max-width: 300px;
	position: relative;
	width: 80%;
}

.p-features__head::before {
	aspect-ratio: 1/1;
	background: url(../img/3leaf_img.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: -8rem;
	opacity: 0.3;
	position: absolute;
	top: -2rem;
	transform: rotate(10deg);
	width: 27%;
}

.p-features__list {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-features__item {
	position: relative;
}

.p-features__item::before {
	aspect-ratio: 1/1;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: auto;
	opacity: 0.2;
	position: absolute;
	width: 15%;
}

.p-features__item:nth-child(1):before {
	background-image: url(../img/1leaf_img.png);
	right: 0;
	top: 3rem;
	transform: rotate(23deg);
}

.p-features__item:nth-child(2):before {
	background-image: url(../img/2leaf_img.png);
	left: -1rem;
	top: -3rem;
	transform: rotate(-90deg);
}

.p-features__item:nth-child(3):before {
	background-image: url(../img/3leaf_img.png);
	right: 1rem;
	top: -3rem;
	transform: rotate(180deg);
	width: 20%;
}

.p-features__item-head {
	align-items: center;
	display: flex;
	margin-bottom: 2rem;
}

.p-features__item-img {
	width: 60%;
}

.p-features__item-title {
	align-items: center;
	display: flex;
	font-family: "Zen Antique Soft", serif;
	font-size: 2.8rem;
	letter-spacing: 5px;
	padding-top: 80px;
	position: relative;
	width: 30%;
	writing-mode: vertical-rl;
}

.p-features__item-title span {
	color: #3D5E14;
	font-size: 4rem;
}

.p-features__item-title:before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 7rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 70px;
}

.p-features__item:nth-child(1) .p-features__item-title:before {
	background-image: url(../img/feature_number1_img.png);
}

.p-features__item:nth-child(2) .p-features__item-title:before {
	background-image: url(../img/feature_number2_img.png);
}

.p-features__item:nth-child(2) .p-features__item-head {
	flex-direction: row-reverse;
}

.p-features__item:nth-child(3) .p-features__item-title:before {
	background-image: url(../img/feature_number3_img.png);
}

.p-features__item-content {
	margin: auto;
	width: 95%;
}

.p-scene {
	box-shadow: inset 3px 20px 20px 0 rgba(121, 121, 121, 0.1);
	overflow-x: hidden;
	padding: 12rem 0 6rem;
	position: relative;
}

.p-scene:after {
	aspect-ratio: 1.7/1;
	background: url(../img/living_leaves_img.png) no-repeat center left/contain;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	top: 2rem;
	width: 60%;
}

.p-scene span {
	color: #3D5E14;
}

.p-scene__list {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.p-scene__item {
	align-items: center;
	display: flex;
	margin: auto;
	max-width: 420px;
	min-height: 200px;
	position: relative;
	width: 100%;
}

.p-scene__item:before {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 60%;
	z-index: -1;
}

.p-scene__item:nth-child(1):before {
	background-image: url(../img/living1_img.png);
}

.p-scene__item:nth-child(2):before {
	background-image: url(../img/living2_img.png);
}

.p-scene__item:nth-child(3):before {
	background-image: url(../img/living3_img.png);
}

.p-scene__item:nth-child(4):before {
	background-image: url(../img/living4_img.png);
}

.p-scene__item:nth-child(odd) {
	margin-right: 0;
}

.p-scene__item:nth-child(odd):before {
	background-position: center right;
	right: 0;
}

.p-scene__item:nth-child(odd) .p-scene__content {
	padding-left: 2.5%;
}

.p-scene__item:nth-child(even) {
	flex-direction: row-reverse;
	margin-left: 0;
}

.p-scene__item:nth-child(even):before {
	background-position: center left;
	left: 0;
}

.p-scene__item:nth-child(even) .p-scene__content {
	padding-right: 2.5%;
}

.p-scene__content-head {
	margin-bottom: 15px;
}

.p-product {
	padding: 4rem 0;
}

.p-product h2 {
	margin: auto;
	margin-bottom: 4rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.p-product h2:before {
	aspect-ratio: 2/1;
	background: url(../img/product_head.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: 50%;
	position: absolute;
	top: 100%;
	transform: translateX(-50%);
	width: 50%;
}

.p-product__inner {
	padding: 40px 30px;
	position: relative;
}

.p-product__inner:before {
	background: #B3A281;
	border-radius: 30px;
	content: "";
	height: 100%;
	left: 50%;
	opacity: 0.3;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.p-product__pre,
.p-product__next {
	content: "";
	cursor: pointer;
	position: absolute;
	top: 160px;
	transition: all 0.3s ease;
	z-index: 3;
}

.p-product__pre:hover,
.p-product__next:hover {
	opacity: 0.8;
}

.p-product__pre {
	border-bottom: 15px solid transparent;
	border-left: 0;
	border-right: 26px solid #3D5E14;
	border-style: solid;
	border-top: 15px solid transparent;
	height: 0;
	left: 30px;
	width: 0;
}

.p-product__next {
	border-bottom: 15px solid transparent;
	border-left: 26px solid #3D5E14;
	border-right: 0;
	border-style: solid;
	border-top: 15px solid transparent;
	height: 0;
	right: 30px;
	width: 0;
}

.p-product__list {
	position: relative;
}

.p-product__list li {
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 0.3s ease;
}

.p-product__list li.active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
}

.p-product__package {
	margin: auto;
	width: 60%;
}

.p-product__text h3 {
	margin: 10px 0;
	text-align: center;
}

.p-product__text h3 span {
	--line-color: #f6f1ec;
	background-image: linear-gradient(transparent 0% 65%, #F3F0E2 65% 95%, transparent 95% 100%);
}

.p-product__text .p-product__content {
	margin-bottom: 30px;
}

.thumbnails {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
	justify-content: center;
	margin-top: 40px;
}

.thumbnails li {
	cursor: pointer;
	position: relative;
	text-align: center;
	transition: all 0.3s ease;
	width: 23%;
}

.thumbnails li img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	border-radius: 50px;
	object-fit: cover;
	width: 80%;
}

.thumbnails li:hover {
	opacity: 0.8;
}

.thumbnails li::before {
	aspect-ratio: 1/1;
	background: #F3F0E2;
	border-radius: 50%;
	content: "";
	height: auto;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 110%;
	z-index: -1;
}

.thumbnails li.active:before {
	opacity: 1;
}

.thumbnails li.active:hover {
	opacity: 1;
	pointer-events: none;
}

.p-product__comming {
	color: #3D5E14;
	font-size: 2rem;
	margin-top: 4rem;
	text-align: center;
}

.p-story {
	padding: 4rem 0;
}

.p-story h2 {
	position: relative;
}

.p-story h2:before {
	aspect-ratio: 1.5/1;
	background: url(../img/7leaf.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: 7%;
	position: absolute;
	top: -2rem;
	width: 16%;
}

.p-story__thumbnail {
	margin: 0 auto 3rem;
	position: relative;
	width: 95%;
}

.p-story__thumbnail:after {
	content: "絵：井舟佑太";
	display: inline-block;
	font-size: 1rem;
	position: absolute;
	right: 0;
	text-align: right;
	top: 100%;
	width: 50%;
}

.p-story__block-text {
	margin: auto;
	width: 95%;
}

.p-story__summary {
	margin: auto;
	width: 95%;
}

.p-story__summary-text span {
	--line-color: rgb(215 184 125 / 30%);
	background-image: linear-gradient(transparent 0% 60%, rgba(215, 184, 125, 0.3) 63% 100%, transparent 95% 100%);
}

.p-flow {
	background: #3D5E14;
	padding: 40px 0;
	position: relative;
}

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

.p-flow:before {
	background: #3D5E14;
	opacity: 0.9;
	z-index: 1;
}

.p-flow:after {
	background: url(../img/flow_bg_img.png) repeat center center/contain;
	opacity: 0.5;
	z-index: 0;
}

.p-flow h2 {
	color: #ffffff;
	font-size: 2.4rem;
	margin-bottom: 3rem;
}

.p-flow__inner {
	position: relative;
	z-index: 1;
}

.p-flow__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.p-flow__item {
	background: #ffffff;
	border-radius: 10px;
	margin: auto;
	max-width: 450px;
	padding: 15px 10px;
	width: 98%;
}

.p-flow__item-head {
	aspect-ratio: 2/1;
	margin-bottom: 2.5rem;
	position: relative;
}

.p-flow__item-head img {
	-o-object-fit: cover;
	border-radius: 10px;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-flow__item-head .p-flow__item-headtext {
	bottom: -20px;
	content: "";
	display: inline-block;
	font-size: 2rem;
	padding-left: 0;
	position: absolute;
	right: -10px;
	text-align: center;
	z-index: 1;
}

.p-flow__text {
	color: #ffffff;
	font-size: 1.8rem;
	margin: 30px 0;
	text-align: center;
}

.p-voice {
	padding: 40px 0;
}

.p-voice span {
	color: #3D5E14;
}

.p-voice__block {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin: auto;
	max-width: 370px;
	padding-bottom: 8rem;
	position: relative;
}

.p-voice__block1 {
	margin-bottom: 1rem;
}

.p-voice__comment {
	background-color: #ffffff;
	border: 1px solid #3D5E14;
	border-radius: 9999px;
	display: inline-block;
	margin-bottom: 20px;
	min-width: 230px;
	padding: 20px 30px;
	position: relative;
	text-align: left;
	z-index: 2;
}

.p-voice__comment::before {
	border-color: #3D5E14 transparent transparent;
	border-style: solid;
	border-width: 20px 10px 0 10px;
	bottom: 0;
	content: "";
	left: 77%;
	position: absolute;
	transform: skew(9deg);
	transform-origin: top;
	translate: -50% 100%;
}

.p-voice__comment::after {
	border-color: #ffffff transparent transparent;
	border-style: solid;
	border-width: 17.8px 8.9px 0 8.9px;
	bottom: 0;
	content: "";
	left: 77%;
	position: absolute;
	transform: skew(9deg);
	transform-origin: top;
	translate: -50% 100%;
}

.p-voice__block2 {
	align-items: flex-end;
	margin-bottom: 3rem;
	padding-bottom: 1rem;
}

.p-voice__block2 .p-voice__comment::before,
.p-voice__block2 .p-voice__comment::after {
	left: 22%;
	transform: skew(-30deg);
}

.p-voice__block2 .p-voice__person-img {
	left: 0;
	right: auto;
}

.p-voice__person-img {
	bottom: 0;
	position: absolute;
	right: 0;
	width: 40%;
	z-index: 1;
}

.p-qa {
	padding: 40px 0;
}

.p-qa h2 {
	position: relative;
}

.p-qa h2:before {
	aspect-ratio: 1.5/1;
	background: url(../img/3leaf_img.png) no-repeat center center/contain;
	content: "";
	height: auto;
	left: 4%;
	opacity: 0.8;
	position: absolute;
	top: -3rem;
	transform: rotate(-110deg) scale(1, -1);
	width: 21%;
}

.p-qa__inner {
	width: 92%;
}

.p-qa__items {
	background-color: #FFF;
	margin: 80px auto 0;
	max-width: 100%;
	width: 900px;
}

:root {
	interpolate-size: allow-keywords;
}

.p-qa__item {
	margin-bottom: 24px;
}

.p-qa__item:last-child {
	margin-bottom: 0;
}

.p-qa__item:not(:open)::details-content {
	block-size: 0;
}

.p-qa__head {
	background: #ffffff;
	border-radius: 10px;
	color: #3D5E14;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
	padding: 16px 40px 16px 60px;
	position: relative;
	width: 100%;
}

.p-qa__head::-webkit-details-marker {
	display: none;
}

.p-qa__head::after {
	content: "＋";
	font-size: 2rem;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s;
}

.p-qa__head::before,
.p-qa__body:before {
	align-items: center;
	background: #3D5E14;
	border-radius: 100px;
	color: #ffffff;
	display: flex;
	font-family: "Amiri", serif;
	font-size: 1.6rem;
	height: 36px;
	justify-content: center;
	left: 16px;
	line-height: 1;
	position: absolute;
	top: 12px;
	width: 36px;
}

.p-qa__head::before {
	content: "Q";
}

.p-qa__body:before {
	content: "A";
}

/* 開いている時にアイコンを回転 */

details.p-qa__item[open] .p-qa__head {
	background-color: #3D5E14;
	border-radius: 10px 10px 0 0;
	color: #ffffff;
}

details.p-qa__item[open] .p-qa__head:before {
	background-color: #ffffff;
	color: #3D5E14;
}

details.p-qa__item[open] .p-qa__head::after {
	content: "−";
}

.p-qa__body {
	background: #ffffff;
	border-radius: 0 0 10px 10px;
	margin: 0;
	padding: 16px 16px 16px 60px;
	position: relative;
}

.accordion__body-in {
	color: #3D5E14;
	font-weight: 700;
	line-height: 1.5;
	padding: 16px 30px 16px 55px;
	position: relative;
}

.p-cta {
	background: rgba(51, 51, 51, 0.9);
	color: #ffffff;
	padding: 70px 0;
	position: relative;
}

.p-cta:before {
	background: url(../img/cta_img.png) no-repeat center center/cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-cta .c-text__lead2 {
	margin-bottom: 0;
}

.p-cta__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-cta__text {
	text-align: center;
}

.p-cta__contact-btn {
	margin: 10px 0;
}

.p-cta__contact-text {
	font-size: 1.2rem;
	text-align: center;
}

.p-cta__contact-logo {
	margin: auto;
	width: 80%;
}

.p-cta__symbol-sub {
	width: 30%;
}

.p-footer {
	background-color: #B3A281;
	color: #ffffff;
}

.p-footer__inner {
	padding-bottom: 10px;
	padding-top: 10px;
}

.p-footer__copyright {
	text-align: center;
}

.u-separate {
	margin-bottom: 24px;
	margin-top: 24px;
}

.u-hidden-cta-btn {
	display: none;
}

.u-hidden-achievements {
	display: none;
}

.u-hidden-product {
	display: block;
}

@media (prefers-reduced-motion: no-preference) {

.p-qa__item::details-content {
	transition-behavior: allow-discrete;
	overflow: clip;
	transition-duration: 300ms;
	transition-property: content-visibility, block-size;
}

}

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

.u-hidden-pc {
	display: none;
}

}

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

.l-inner {
	width: 95%;
}

.p-header__wrap {
	justify-content: center;
}

.p-header__logo {
	max-width: 300px;
	text-align: center;
	width: 50%;
}

.p-header__menu-logo {
	max-width: 400px;
	width: 100%;
}

.p-header__menu ul li {
	border-bottom: 1px solid #ffffff;
	color: #ffffff;
	padding: 10px 0;
}

.p-header__menu ul li:first-child {
	border-top: 1px solid #ffffff;
}

.p-header__cta {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.p-product__inner {
	padding: 30px 20px;
	width: 92%;
}

.p-qa__inner {
	width: 92%;
}

.u-hidden-tab {
	display: none;
}

}

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

body {
	padding-bottom: 67px;
}

.p-contents_container {
	min-width: auto;
	width: 100%;
}

.p-contents_container::before,
.p-contents_container::after {
	min-width: auto;
	width: 100%;
}

.p-main-visual__text {
	width: 55%;
}

.p-main-visual__image {
	bottom: 15%;
}

.p-concept__content {
	font-size: clamp(1.3rem, 3.3vw, 1.6rem);
	padding: 4rem 1.6rem;
}

.p-concept__title .p-concept__title-md:nth-of-type(3) {
	margin-right: 2rem;
}

.p-achievements h2 {
	font-size: clamp(2rem, 3.3vw, 2.8rem);
}

.p-achievements__head {
	font-size: clamp(1.6rem, 2.8vw, 2rem);
}

.p-worries__scene-item:nth-child(1) {
	padding-top: 25px;
}

.p-worries h2 {
	font-size: clamp(2.2rem, 6vw, 2.4rem);
}

.p-worries__scene-list {
	font-size: clamp(1.6rem, 4vw, 2rem);
	padding-bottom: 130px;
}

.p-worries__scene-item:nth-child(1) {
	min-width: 190px;
}

.p-worries__scene-item:nth-child(2) {
	margin-top: -5rem;
	min-width: 230px;
}

.p-worries__scene-item:nth-child(3) {
	min-width: 250px;
	padding-top: 13%;
}

.p-features__item-title span {
	font-size: 3.5rem;
}

.p-features__item-title {
	font-size: 2.4rem;
	padding-top: 60px;
}

.p-features__item-title:before {
	height: 5rem;
	width: 60px;
}

.p-scene__item:nth-child(1):before {
	background-image: url(../img/living1_sp_img.png);
}

.p-scene__item:nth-child(2):before {
	background-image: url(../img/living2_sp_img.png);
}

.p-scene__item:nth-child(3):before {
	background-image: url(../img/living3_sp_img.png);
}

.p-scene__item:nth-child(4):before {
	background-image: url(../img/living4_sp_img.png);
}

.p-product__pre,
.p-product__next {
	top: 23%;
}

.p-product__pre {
	border-bottom: 12px solid transparent;
	border-right: 22px solid #3D5E14;
	border-top: 12px solid transparent;
	left: 20px;
}

.p-product__next {
	border-bottom: 12px solid transparent;
	border-left: 22px solid #3D5E14;
	border-top: 12px solid transparent;
	right: 20px;
}

.p-flow h2 {
	font-size: clamp(2.1rem, 6vw, 2.8rem);
}

.p-flow__text {
	font-size: 1.6rem;
}

.u-hidden-sp {
	display: none;
}

}

