﻿@charset "utf-8";

/* home
-------------------------------------------------------------------*/
main {
	display: block;
}

@media screen and (max-width:768px) {
	main {
		width: 100%;
		position: relative;
		z-index: 10;
	}
}

.visual {
	position: relative;
	font-style: var(--font03);
	margin-bottom: 10em;
}

.visual picture,
.visual img {
	max-width: inherit;
	width: 100%;
	height: auto;
}

.visual .mv-style {
	position: absolute;
	inset: 0 0 0 0.875em;
	margin: auto;
	width: fit-content;
	height: fit-content;
	font-size: 1.625rem;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	text-align: left;
	letter-spacing: 0.1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.visual .mv-style strong {
	font-size: 2.5rem;
	font-weight: normal;
	display: block;
}

.visual .mv-style strong,
.visual .mv-style span {
	display: inline-block;
	background: var(--white);
	padding: 20px 10px;
	max-width: fit-content;
}

.visual .mv-style *+* {
	margin-right: 0.5em;
}

@media screen and (max-width:1300px) {
	.visual .mv-style {
		font-size: min(2vw, 1.625rem);
	}

	.visual .mv-style strong {
		font-size: min(3.2vw, 2.5rem);
	}

	header#fix_menu {
		width: 22%;
	}
}

@media screen and (max-width:768px) {
	header#fix_menu {
		width: 100%;
	}

	.visual picture,
	.visual img {
		max-width: 100%;
		width: inherit;
		height: auto;
	}

	.visual .mv-style {
		height: auto;
		width: 100%;
	}

	.visual .mv-style {
		font-size: 1.25rem;
		height: 80%;
		letter-spacing: 0.1em;
		width: fit-content;
		inset: 0 auto 0 1.5em;
		margin: auto;
	}

	.visual .mv-style strong {
		font-size: 1.6875rem;
		font-weight: normal;
		display: block;
		height: fit-content;
		line-height: 1;
	}

	.visual .mv-style strong,
	.visual .mv-style span {
		padding: 15px 8px;
		letter-spacing: 0;
		font-weight: 400;
	}
}


.cta {
	position: relative;
	background: url(../img/bg-cta.jpg) no-repeat top center / cover;
	padding-block: 5em 4em;
	margin-bottom: 11em;
}

.cta:last-of-type {
	margin-bottom: 8em;
}

.cta a,
.cta a:hover {
	text-decoration: none;
}

.cta .cta-point {
	position: relative;
	display: flex;
	background: url(../img/bg-cta-point.png) no-repeat center / contain;
	max-width: 544px;
	width: 100%;
	color: var(--white);
	min-height: 151px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: -10em auto 1em;
}

.cta:has(.cta-contact) .cta-point {
	margin-bottom: 4em;
}

.cta-point>p {
	display: block;
	font-size: 1.625rem;
	margin-top: -2em;
	-webkit-text-stroke: 4px var(--colors01);
	text-stroke: 3px var(--colors01);
	paint-order: stroke;
	font-family: var(--font02);
	font-weight: 600;
}

.cta-point>p strong {
	font-size: 2.9375rem;
	font-weight: 400;
}

.cta-point .cta-point-col {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	width: 100%;
	gap: 0;
	max-width: 434px;
	margin: 0 auto;
}

.cta-point .cta-point-col p {
	width: 130px;
	text-align: left;
	font-family: var(--font02);
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.2;
}

.cta-point .cta-point-col p span {
	display: block;
	font-size: 1.625rem;
}

.cta-point .cta-point-col .txt-yellow {
	color: var(--cta02);
}

.cta-point .cta-point-col em {
	display: block;
	width: 282px;
	font-size: 2.25em;
	font-weight: 500;
	color: var(--cta02);
	line-height: 1;
	position: relative;
}

.cta-point .cta-point-col em strong {
	font-size: 4.875rem;
	line-height: 1;
	letter-spacing: -0.02em;
}

.cta-point .cta-point-col em span {
	font-size: 1.125rem;
	position: absolute;
	inset: 1em 1.125em auto auto;
	color: var(--white);
}

.cta .cta-contact {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 2.5em;
	margin-bottom: 3em;
}

.cta .cta-contact>* {
	width: 318px;
}

.cta .cta-contact a {
	position: relative;
	width: 100%;
	color: var(--white);
	min-height: 354px;
	display: block;
	padding-block: 1em;
	transition: var(--hover);
}

.cta .cta-contact .cta-contact-s a {
	background: url(../img/bg-cta-contact01.png) no-repeat center / contain;
}

.cta .cta-contact .cta-contact-l a {
	background: url(../img/bg-cta-contact02.png) no-repeat center / contain;
}

.cta .cta-contact a .cta-contact-iamge {
	position: absolute;
	inset: auto auto 6em -0.75em;
	margin: auto;
	height: fit-content;
}

.cta .cta-contact a i {
	font-size: 1.6875rem;
	aspect-ratio: 1 / 1;
	width: 4.23em;
	color: var(--cta02);
	background: var(--bg03);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	position: absolute;
	inset: -0.5em auto auto 0;
	line-height: 1.2;
	padding-bottom: 0.25em;
}

.cta .cta-contact a>em {
	display: block;
	max-width: 204px;
	margin-left: auto;
	text-align: center;
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 0.375em;
	letter-spacing: 0.05em;
}

.cta .cta-contact a>em+p {
	display: block;
	max-width: 218px;
	margin-left: auto;
	text-align: center;
	font-size: 2.3125rem;
	line-height: 1;
	margin-bottom: 0.5em;
}

.cta .cta-contact a>span {
	display: block;
	max-width: 200px;
	margin-left: auto;
	text-align: left;
	font-size: 1.6875rem;
	line-height: 1;
	margin-bottom: 0.75em;
}

.cta .cta-contact .cta-contact-s a .cta-contact-price {
	background: var(--colors01);
}

.cta .cta-contact .cta-contact-l a .cta-contact-price {
	background: var(--colorl01);
}

.cta .cta-contact a .cta-contact-price {
	margin-bottom: 1em;
}

.cta .cta-contact a .cta-contact-price em {
	display: block;
	width: 100%;
	font-size: 1.6875em;
	font-weight: 500;
	color: var(--cta02);
	line-height: 1;
	position: relative;
	max-width: 225px;
	margin-inline: auto 0.125em;
	padding-block: 0 0.5em;
	text-align: left;
}

.cta .cta-contact a .cta-contact-price em strong {
	font-size: 4.4375rem;
	line-height: 1;
	letter-spacing: -0.05em;
	font-weight: 500;
	margin-right: 0.1em;
}

.cta .cta-contact a .cta-contact-price em span {
	font-size: 1.25rem;
	position: absolute;
	inset: 0.75em 0.125em auto auto;
	color: var(--white);
	letter-spacing: 0;
}

.cta .cta-contact a .cta-contact-btn {
	padding: 0 0.75em 0.5em;
}

.cta .cta-contact a .cta-contact-btn p {
	position: relative;
	background: var(--cta02);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 58px;
	border-radius: 6px;
	font-size: 1.375rem;
	padding-right: 1em;
	font-family: var(--ff-sans);
	font-weight: 400;
}

.cta .cta-contact .cta-contact-s a .cta-contact-btn p {
	color: var(--keycolor);

}

.cta .cta-contact .cta-contact-l a .cta-contact-btn p {
	color: var(--colorl05);
}

.cta .cta-contact a .cta-contact-btn p:after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px var(--border_color);
	border-right: solid 2px var(--border_color);
	position: absolute;
	transform: rotate(45deg);
	inset: 0 0.75em 0 auto;
	margin: auto;
}

.cta .cta-contact .cta-contact-s a .cta-contact-btn p:after {
	--border_color: var(--keycolor);
}

.cta .cta-contact .cta-contact-l a .cta-contact-btn p:after {
	--border_color: var(--colorl05);
}

.cta .cta-special {
	position: relative;
}

.cta .cta-special h2 {
	font-size: 3.125rem;
	margin-bottom: 0.2em;
	color: var(--cta05);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: .12em;
}

.cta .cta-special .cta-special-txt {
	background: var(--cta05);
	color: var(--white);
	display: block;
	max-width: fit-content;
	margin: 0 auto 0.5em;
	font-size: 1.25rem;
	padding: 0.375em 0.75em;
	line-height: 1;
	letter-spacing: .08em;
}

.cta .cta-special em {
	display: block;
	margin-bottom: 1em;
}

.cta .cta-special em strong {
	font-size: 3.75rem;
	font-weight: bold;
	margin-bottom: 0.5em;
	display: inline-block;
	background: linear-gradient(transparent 70%, #fff 30%);
}

.cta .cta-special em p {
	font-size: 2rem;
	position: relative;
	font-weight: 600;
	max-width: fit-content;
	margin: 0 auto 0.75em;
}

.cta .cta-special em p:before,
.cta .cta-special em p:after {
	content: "";
	width: 2px;
	background: var(--black);
	position: absolute;
}

.cta .cta-special em p:before {
	inset: 0.125em auto 0.125em -0.5em;
	transform: rotate(-24deg);
}

.cta .cta-special em p:after {
	inset: 0.125em -0.375em 0.125em auto;
	transform: rotate(24deg);
}

.cta .cta-special-image {
	max-width: fit-content;
	margin: 0 auto;
	text-align: left;
}

.cta .cta-special-image p {
	font-size: 0.75rem;
	max-width: 900px;
	margin: 1em auto 0;
	line-height: 1.875;
}

.cta .cta-special-image p+p {
	margin-top: 0.25em;
}

.cta .cta-contact .cta-contact-s .cta-contact-btn_foot a {
	background: var(--bg02);
	color: var(--color03);
	min-height: auto;
	padding: .5em;
	border-radius: 10px;
	font-family: var(--ff-sans);
	/* font-weight: 600; */
}

@media (any-hover: hover) {
	.cta .cta-contact a:hover {
		transform: translateY(5px);
	}
}

@media screen and (max-width:768px) {
	.cta {
		background-image: url(../img/bg-cta_sp.jpg);
		padding: 5em 15px 2em;
		margin-bottom: 0;
	}

	.cta:last-of-type {
		margin-bottom: 0;
	}

	.cta .cta-point {
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		min-height: 106px;
		margin: -8.5em auto 1em;
	}

	.cta-point>p,
	.cta-point .cta-point-col p span {
		font-size: min(5.3vw, 1.1875rem);
		letter-spacing: -0.05em;
	}

	.cta-point>p strong {
		font-size: min(9.2vw, 2.43rem);
		letter-spacing: -0.02em;
	}

	.cta-point .cta-point-col p {
		width: fit-content;
	}

	.cta-point .cta-point-col em strong {
		font-size: min(14.3vw, 3.375rem);
	}

	.cta-point .cta-point-col em span {
		font-size: min(3vw, 0.75rem);
		inset: 1em 0.875em auto auto;
	}

	.cta-point .cta-point-col em {
		font-size: min(6.9vw, 1.375rem);
		width: fit-content;
		text-align: left;
	}

	.cta .cta-special h2 {
		font-size: 2.4375rem;
		line-height: 1.2;
	}

	.cta .cta-special .cta-special-txt {
		font-size: 1.25rem;
		background: transparent;
		padding: 0;
		margin-bottom: 1em;
	}

	.cta .cta-special .cta-special-txt span {
		background: var(--cta05);
		color: var(--white);
		display: inline-block;
		padding: 0.25em 0.75em;
	}

	.cta .cta-special .cta-special-txt span+span {
		margin-top: 0.5em;
	}

	.cta .cta-contact {
		/* gap: 4.5em; */
		flex-wrap: wrap;
		margin-bottom: 3.5em;
	}

	.cta .cta-contact>* {
		width: 100%;
	}

	.cta .cta-contact a {
		min-height: 385px;
		display: block;
		padding-block: 1em;
		transition: var(--hover);
		max-width: 345px;
		margin: 0 auto;
	}

	.cta .cta-contact a i {
		font-size: min(8.2vw, 1.875rem);
		top: -1em;
	}

	.cta .cta-contact .cta-contact-l .cta-contact-iamge {
		bottom: 6em;
		left: 1.5em;
	}

	.cta .cta-contact-l .cta-contact-iamge {
		width: 20%;
	}

	.cta .cta-contact a>em {
		max-width: 210px;
		font-size: min(14vw, 3.25rem);
		margin-bottom: 0.375em;
		letter-spacing: 0.05em;
	}

	.cta .cta-contact a>em+p {
		max-width: 227px;
		font-size: min(11vw, 2.625rem);
		margin-bottom: 0.5em;
	}

	.cta .cta-contact a>span {
		max-width: 217px;
		font-size: min(8.2vw, 1.875rem);
		margin-bottom: 0.75em;
	}

	.cta .cta-contact a .cta-contact-price em strong {
		font-size: min(20vw, 4.6875rem);
	}

	.cta .cta-contact a .cta-contact-price em span {
		font-size: min(6vw, 1.375rem);
		inset: 0.75em auto auto 72%;
	}

	.cta .cta-contact a .cta-contact-price em {
		font-size: min(8.2vw, 1.875rem);
		margin-bottom: 0.625em;
		width: 71%;
		max-width: 100%;
		text-align: left;
	}

	.cta .cta-contact a .cta-contact-btn p {
		font-size: min(7.3vw, 1.6875rem);
	}

	.cta .cta-contact a .cta-contact-btn p:after {
		right: 1em;
		width: 11px;
		height: 11px;
	}

	.cta .cta-contact a .cta-contact-price {
		margin-bottom: 1em;
	}

	.cta .cta-special em strong {
		font-size: 2.25rem;
		margin-bottom: 0.25em;
	}

	.cta .cta-special em p {
		font-size: 1.625rem;
		line-height: 1.2;
	}

	.cta .cta-special em p:before,
	.cta .cta-special em p:after {
		display: none;
	}

	.cta .cta-contact a .cta-contact-iamge {
		width: 35%;
	}

	.cta .cta-contact .cta-contact-l a .cta-contact-iamge {
		width: 20%;
	}

	/*.cta .cta-special-image {
		width: 100vw;
		max-width: inherit;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}*/

	.cta .cta-special-image p {
		margin: 1em auto 0;
		letter-spacing: 0;
		line-height: 1.875;
		padding-inline: 1em;
		line-height: 1.6;
	}
}

@media screen and (max-width:370px) {
	.cta .cta-contact a i {
		font-size: min(8.2vw, 1.875rem);
	}

	.cta .cta-contact a>em {
		font-size: min(12vw, 3.25rem);
	}

	.cta .cta-contact a>span {
		font-size: min(7.2vw, 1.875rem);
		max-width: 200px;
	}

	.cta .cta-contact a>em+p {
		font-size: min(9vw, 2.625rem);
	}

	.cta .cta-contact a .cta-contact-price em strong {
		font-size: min(18vw, 4.6875rem);
	}

	.cta .cta-contact a .cta-contact-price em span {
		font-size: min(5vw, 1.375rem);
		left: 67%;
	}

	.cta .cta-contact a .cta-contact-price em {
		font-size: min(7.2vw, 1.875rem);
	}

	.cta .cta-contact a .cta-contact-btn p {
		font-size: min(6.3vw, 1.6875rem);
	}

	.cta .cta-contact a .cta-contact-iamge {
		bottom: 7.5em;
	}

	.cta .cta-contact a {
		max-width: 320px;
		padding-block: 2.5em;
		min-height: auto;
	}

	.cta .cta-contact .cta-contact-l a .cta-contact-iamge {
		bottom: 7.5em;
	}
}


.series {
	position: relative;
	background: #ebeae5;
	padding-block: 90px 99px;
	margin-block: 300px 70px;
}

.series .series-txt {
	text-align: left;
	max-width: 800px;
	margin: 0 auto;
}

.series .series-txt>p {
	font-size: 1.25rem;
	width: 40%;
	line-height: 2;
	margin-bottom: 3em;
	font-weight: 400;
}

.series .series-txt hgroup p {
	font-size: 1.375rem;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.series .series-txt hgroup h2 {
	font-size: 2.1875rem;
	font-weight: 300;
}

.series .series-txt hgroup h2 strong {
	font-size: 4rem;
	display: block;
}

.series .series-image-pc {
	display: block;
	position: absolute;
	inset: -26.45% 13% 0 auto;
	margin: auto;
}

.series .series-image-sp {
	display: none;
}

.series .series-image-pc .series-image-pc01 {
	position: absolute;
	inset: -20% 0 auto auto;
}

@media screen and (max-width:1820px) {
	.series .series-image-pc {
		inset: -26.45% 5% 0 auto;
	}
}

@media screen and (max-width:1500px) {
	.series .series-image-pc {
		inset: -26.45% 0% 0 auto;
	}
}

@media screen and (max-width:1390px) {
	.series .series-image-pc {
		inset: -26.45% -5% 0 auto;
	}
}

@media screen and (max-width:1220px) {
	.series .series-txt {
		max-width: 1100px;
		padding-inline: 15px;
		min-height: 486px;
	}

	.series .series-txt>p {
		width: 252px;
		font-size: 1rem;
	}

	.series .series-txt hgroup p {
		font-size: 1.25rem;
	}

	.series .series-txt hgroup h2 {
		font-size: 1.878rem;
	}

	.series .series-txt hgroup h2 strong {
		font-size: 3rem;
	}
}

@media screen and (max-width:1000px) {
	.series {
		padding-block: 76px 76px;
	}

	.series .series-image-pc {
		inset: -26.45% -5% 0 auto;
		width: 640px;
	}

	.series .series-txt {
		min-height: 414px;
	}
}

@media screen and (max-width:768px) {
	.series .series-image-pc {
		display: none;
	}

	.series .series-image-sp {
		display: block;
	}

	.series {
		padding: 35px 20px 9.5em;
		margin-block: 50px;
	}

	.series .series-txt {
		padding: 0;
	}

	.series .series-txt>p {
		width: 100%;
		margin-bottom: 0;
		font-size: 1rem;
	}

	.series .series-txt hgroup p {
		font-size: 1.125rem;
	}

	.series .series-txt hgroup h2 {
		font-size: 1.375rem;
		font-weight: 500;
	}

	.series .series-txt hgroup h2 strong {
		font-size: 2.25rem;
		line-height: 1;
		font-weight: 500;
	}

	.series .series-image-sp01 {
		position: absolute;
		inset: -0.5% -8% auto auto;
		width: 30%;
	}

	.series .series-image-sp02 {
		position: relative;
		left: 50%;
		width: 100vw;
		transform: translateX(-50%);
	}

	.series .series-image-sp03 {
		position: absolute;
		inset: 65.5% -3.5% auto auto;
		width: 45%;
	}

	.series .series-image-sp04 {
		position: absolute;
		inset: 87% auto auto 35px;
		width: 42%;
	}
}




.charm {
	position: relative;
	padding-block: 6em 12em;
}

.charm hgroup {
	margin-bottom: 2.25em;
}

.charm hgroup p {
	font-size: 1.25rem;
	font-weight: bold;
	letter-spacing: 0;
}

.charm hgroup h2 {
	font-size: 2.8125rem;
	font-weight: 300;
	font-family: var(--font03);
}

.charm .charm-select {
	max-width: 880px;
	margin: 0 auto;
	position: relative;
	font-family: var(--font02);
}

.charm .charm-select .charm-item+.charm-item {
	margin-top: 0.5em;
}

.charm .charm-select .charm-item dt {
	position: relative;
	width: 45%;
	margin-left: auto;
	cursor: pointer;
}

.charm .charm-select .charm-item .charm-title {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	/* min-height: 52px; */
	min-height: 69px;
	background: var(--bg01);
}

.charm .charm-select .charm-item .charm-title i {
	width: 35px;
	background: var(--bg03);
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--white);
	font-size: 1.3125rem;
}

.charm .charm-select .charm-item .charm-title p {
	width: calc(100% - 35px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0.625em 0.375em;
	font-size: 1.1875rem;
	text-align: left;
	letter-spacing: 0.05em;
	font-weight: 400;
}

.charm .charm-select .charm-item dd .charm-title i {
	width: 40px;
}

.charm .charm-select .charm-item dd .charm-title p {
	width: calc(100% - 40px);
}

.charm .charm-select .charm-item:nth-child(even) .charm-title {
	background: var(--bg02);
}

.charm .charm-select .charm-item:nth-child(even) .charm-title i {
	background: var(--bg04);
}

.charm .charm-select .charm-item dd {
	opacity: 0;
	background: var(--bg01);
	display: block;
	transition: var(--hover);
}

.charm .charm-select .charm-item .charm-des {
	width: 52%;
	background: var(--bg01);
	position: absolute;
	inset: 0 auto 0 0;
	margin: auto;
}

.charm .charm-select .charm-item .charm-des .charm-title p {
	justify-content: center;
}

.charm .charm-select .charm-item .charm-des .charm-accordion {
	padding: 0.75em 1em 1.75em;
	background: var(--bg01);
}

.charm .charm-select .charm-item:nth-child(even) .charm-accordion {
	background: var(--bg02);
}

.charm .charm-select .charm-item .charm-des .charm-image {
	margin-bottom: 1.5em;
}

.charm .charm-select .charm-item .charm-des .charm-text {
	text-align: left;
}

.charm .charm-select .charm-item .charm-des .charm-text p {
	font-size: 1.125rem;
	font-family: var(--font02);
	line-height: 1.75;
}

.charm .charm-select .charm-item:nth-child(even) .charm-des {
	background: var(--bg02);
}

.charm .charm-select .charm-item:first-child dd {
	opacity: 1;
}

.charm .charm-select .charm-item:has(.charm-current) dd {
	opacity: 1;
}

@media screen and (max-width:900px) {
	.charm .charm-select {
		padding-inline: 15px;
	}

	.charm .charm-select .charm-item .charm-title p {
		font-size: min(2.4vw, 1.1875rem);
	}

	.charm .charm-select .charm-item .charm-des .charm-text p {
		font-size: min(2vw, 1.125rem);
	}
}

@media screen and (max-width:768px) {
	.charm {
		padding-block: 8em 7em;
	}

	.charm hgroup {
		margin-bottom: 1em;
	}

	.charm .charm-select .charm-item+.charm-item {
		margin-top: 0.625em;
	}

	.charm .charm-select .charm-item dt {
		position: relative;
		width: 100%;
	}

	.charm .charm-select .charm-item dt:before,
	.charm .charm-select .charm-item dt:after {
		content: "";
		width: 9px;
		height: 1px;
		background: #000000;
		position: absolute;
		inset: 0 0.5em 0 auto;
		margin: auto;
		transition: var(--hover);
	}

	.charm .charm-select .charm-item dt:after {
		transform: rotate(90deg);
	}

	.charm .charm-select .charm-item dt.charm-current:before {
		transform: rotate(360deg);
	}

	.charm .charm-select .charm-item dt.charm-current:after {
		transform: rotate(180deg);
	}

	.charm .charm-select .charm-item dd {
		transition: .4s height;
	}

	.charm .charm-select .charm-item .charm-des {
		width: 100%;
		position: relative;
		inset: 0;
		opacity: 0;
	}

	.charm .charm-select .charm-item:has(.charm-current) .charm-des {
		opacity: 1;
	}

	.charm .charm-select .charm-item .charm-des .charm-title {
		display: none;
	}

	.charm .charm-select .charm-item .charm-title i {
		width: 29px;
		font-size: 1.125rem;
	}

	.charm .charm-select .charm-item .charm-title p {
		width: calc(100% - 29px);
		font-size: 1rem;
		padding: 0.75em 1.5em 0.75em 0.5em;
		text-align: left;
		letter-spacing: 0.01em;
	}

	.charm .charm-select .charm-item .charm-title {
		min-height: 32px;
	}

	.charm .charm-select .charm-item .charm-des .charm-image {
		width: 90%;
		margin: 0 auto 1em;
	}

	.charm .charm-select .charm-item .charm-des .charm-text p {
		font-size: 1rem;
		letter-spacing: 0.02em;
	}
}


.life_style {
	position: relative;
}

.life_style-top {
	position: relative;
	z-index: 10;
	margin-block: 8em 14em;
	background: var(--color01);
	padding-top: 5em;
}

.life_style-top:before {
	content: "";
	width: 120%;
	height: 80%;
	background: var(--color01);
	border-radius: 50% 50% 0 0;
	position: absolute;
	inset: -8em 0 auto 50%;
	margin: auto;
	z-index: -1;
	transform: translateX(-50%);
}

.life_style hgroup {
	margin-block: -7em 3.75em;
}

.life_style hgroup p {
	font-size: 1.6875rem;
	font-weight: 500;
	letter-spacing: 0;
}

.life_style hgroup h2 {
	font-size: 3.3125rem;
	font-weight: 500;
	font-family: var(--font03);
	margin-bottom: 0.25em;
}

.life_style hgroup h2 span {
	font-size: 2.75rem;
}

.life_style hgroup span {
	font-size: 1.5rem;
}

.life_style .life_style-top-col {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 3%;
}

.life_style .life_style-top-col>* {
	width: 49%;
}

.life_style .life_style-text {
	margin-bottom: 3em;
}

.life_style .life_style-text span {
	display: inline-block;
	font-size: 1.875rem;
	font-weight: 500;
	background: var(--white);
	line-height: 1;
	padding: 0.125em 0.25em 0.25em;
}

.life_style .life_style-text span+span {
	margin-left: 0.5em;
}

.life_style .life_style-tabletop .life_style-text,
.life_style .life_style-tabletop .life_style-image {
	text-align: right;
}

.life_style .life_style-tabletop .life_style-text {
	margin-right: 2em;
}

.life_style .life_style-floor .life_style-text,
.life_style .life_style-floor .life_style-image {
	text-align: left;
}

.life_style .life_style-floor .life_style-text {
	margin-left: 2em;
}

.life_style .life_style-intro {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.life_style .life_style-intro>* {
	width: 50%;
	padding-bottom: 6em;
}

.life_style .life_style-des-tabletop {
	position: relative;
	background: url(../img/bg-life_style01.png) repeat top center / cover;
}

.life_style .life_style-des-floor {
	position: relative;
	background: url(../img/bg-life_style02.png) repeat top center / cover;
}

.life_style-des-tabletop-wrap {
	max-width: 721px;
	margin-left: auto;
}

.life_style-des-floor-wrap {
	max-width: 721px;
	margin-right: auto;
}

.life_style .life_style-intro .intro-col {
	position: relative;
	text-align: left;
	max-width: 430px;
	margin: -3em auto 5em;
}

.life_style .life_style-intro .intro-col .intro-text {
	position: relative;
}

.life_style .life_style-intro .life_style-des-tabletop .intro-col .intro-text {
	max-width: 400px;
	margin: 0 auto;
}

.life_style .life_style-intro .intro-col .intro-text .intro-title {
	position: relative;
	background: var(--bg05);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: var(--white);
	gap: 0.5em;
	aspect-ratio: 263 / 185;
	max-width: 288px;
	letter-spacing: -0.1em;
	margin-bottom: 2.5em;
	padding: 0.5em;
}

.life_style .life_style-des-tabletop .intro-col .intro-text .intro-title {
	background: var(--colors01);
}

.life_style .life_style-des-tabletop .intro-col .intro-text .intro-title hgroup {
	margin: 0;

}

.life_style .life_style-des-floor .intro-col .intro-text {
	margin-left: auto;
	max-width: 288px;
}

.life_style .life_style-des-floor .intro-col .intro-text .intro-title {
	background: var(--colorl01);
}

.life_style .life_style-des-floor .intro-col .intro-text .intro-title hgroup {
	margin: 0;
}

.life_style .life_style-intro .intro-col .intro-text .intro-title:before {
	content: "";
	border: 1px solid var(--white);
	border-radius: 3.5px;
	position: absolute;
	inset: 6px;
	margin: auto;
	pointer-events: none;
}

.life_style .life_style-intro .intro-col .intro-text .intro-title p {
	font-size: 1.75rem;
	font-weight: 500;
}

.life_style .life_style-intro .intro-col .intro-text .intro-title h3 {
	display: block;
	text-align: left;
	font-size: 2.4375rem;
	font-weight: 300;
	position: relative;
}

.life_style .life_style-intro .intro-col .intro-text .intro-title h3 span {
	display: inline-block;
	margin-left: 0.125em;
	font-size: 2.4375rem;
}

.life_style .life_style-intro .intro-col .intro-size dl {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 0.75em;
}

.life_style .life_style-intro .intro-col .intro-size dl+dl {
	margin-top: 1em;
}

.life_style .life_style-intro .intro-col .intro-size dt {
	width: 4em;
	background: var(--white);
	font-size: 1.3125rem;
	font-weight: 500;
	text-align: center;
	border-radius: 50px;
	display: inline-block;
	margin-top: 0.25em;
}

.life_style .life_style-intro .intro-col .intro-size dd {
	font-size: 1.3125rem;
	font-weight: 600;
	line-height: 1;
}

.life_style .life_style-intro .intro-col .intro-size dd em {
	font-size: 2.1875rem;
	line-height: 1;
	display: inline-block;
}

.life_style .life_style-intro .intro-col .intro-size dd span {
	font-size: 1rem;
}

.life_style .life_style-intro .intro-col .intro-image {
	position: absolute;
}

.life_style .life_style-des-tabletop .intro-col .intro-image {
	inset: auto -30% 0 auto;
	width: 60%;
}

.life_style .life_style-des-floor .intro-col .intro-image {
	inset: auto auto -12% -21%;
	width: 50%;
}

.life_style .intro-recommendation {
	position: relative;
	max-width: fit-content;
	margin: 0 auto 5em;
}

.life_style .intro-recommendation .fukidashi {
	position: relative;
	font-size: 1.25rem;
	padding: 0.5em 0.5em 1em;
	margin-bottom: 0.25em;
	background: url(../img/img-life_style-fukidashi.png) no-repeat center / auto;
	line-height: 1;
}

.life_style .life_style-des-tabletop .intro-recommendation .fukidashi {
	color: var(--colors02);
}

.life_style .life_style-des-floor .intro-recommendation .fukidashi {
	color: var(--colorl02);
}

.life_style .intro-recommendation ul {
	list-style: none;
	color: var(--white);
	padding: 1.25em 1.875em;
	border-radius: 6px;
	text-align: left;
}

.life_style .life_style-des-tabletop .intro-recommendation ul {
	background: #4B7EB4;
	background: linear-gradient(37deg, rgba(75, 126, 180, 1) 0%, rgba(75, 126, 180, 0.52) 100%);
}

.life_style .life_style-des-floor .intro-recommendation ul {
	background: #D09090;
	background: linear-gradient(32deg, rgba(208, 144, 144, 0.8) 0%, rgba(208, 144, 144, 0.52) 100%);
}

.life_style .intro-recommendation ul li {
	font-size: 1.25rem;
	padding-left: 1.75em;
	position: relative;
	text-decoration: underline;
	text-underline-offset: 7px;
}

.life_style .intro-recommendation ul li+li {
	margin-top: 0.75em;
}

.life_style .intro-recommendation ul li:before {
	content: "";
	width: 31px;
	height: 34px;
	background: url(../img/img-life_style01-check.png) no-repeat center / contain;
	position: absolute;
	inset: 0 auto 0 0;
	margin: auto;
}

.life_style .life_style-des-floor .intro-recommendation ul li:before {
	background-image: url(../img/img-life_style02-check.png);
}

.life_style .intro-item {
	margin-top: 5em;
	max-width: 442px;
	margin: 7em auto 0;
	padding: 1.5em;
	border-radius: 6px;
}

.life_style .life_style-des-tabletop .intro-item {
	background: #4B7EB4;
	background: linear-gradient(-181deg, rgba(75, 126, 180, 1) 0%, rgba(75, 126, 180, 0.52) 100%);
}

.life_style .life_style-des-floor .intro-item {
	background: #D09090;
	background: linear-gradient(32deg, rgba(208, 144, 144, 0.8) 0%, rgba(208, 144, 144, 0.52) 100%);
}

.life_style .intro-item-title {
	background: var(--white);
	margin: -5em auto 1.5em;
	padding: 0.75em 0.75em;
	border-radius: 6px;
	min-width: 312px;
	max-width: fit-content;
}

.life_style .intro-item-title h4 {
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.6;
}

.life_style .intro-item-box {
	position: relative;
}

.life_style .intro-item-box .intro-item-image {
	margin-bottom: 1.5em;
}

.life_style .intro-item-box .intro-item-text {
	text-align: left;
	color: var(--white);
}

.life_style .intro-item-box .intro-item-text p {
	font-size: 1.125rem;
	line-height: 1.875;
}

@media screen and (max-width:1300px) {
	.life_style .life_style-des-tabletop .intro-col .intro-image {
		inset: auto -15% 0 auto;
		width: 50%;
	}

	.life_style .life_style-des-floor .intro-col .intro-image {
		inset: auto auto -12% -11%;
		width: 35%;
	}

	.life_style-des-tabletop-wrap {
		max-width: 456px;
		margin-inline: auto;
	}

	.life_style-des-floor-wrap {
		max-width: 456px;
		margin-inline: auto;
	}
}

@media screen and (max-width:1100px) {
	.life_style .life_style-des-tabletop .intro-col .intro-image {
		inset: auto 0% -4% auto;
		width: 40%;
	}

	.life_style .life_style-des-floor .intro-col .intro-image {
		inset: auto auto -2% 11%;
		width: 25%;
	}

	.life_style .life_style-intro>* {
		padding-inline: 15px;
	}

	.life_style .intro-recommendation ul li {
		font-size: 1.125rem;
	}

	.life_style .intro-item-title h4 {
		font-size: 1.1875rem;
	}
}

@media screen and (max-width:768px) {
	.life_style-top {
		margin-block: 5em 9.5em;
	}

	.life_style-top:before {
		width: 110%;
		top: -5em;
		height: 20%;
	}

	.life_style hgroup {
		margin-bottom: 3em;
	}

	.life_style hgroup p {
		font-size: 1.25rem;
	}

	.life_style hgroup h2 {
		font-size: 2.8125rem;
	}

	.life_style hgroup h2 span {
		font-size: 2.0625rem;
	}

	.life_style hgroup span {
		font-size: 1.25rem;
	}

	.life_style .life_style-top-col {
		gap: 3em 3%;
		flex-wrap: wrap;
	}

	.life_style .life_style-top-col>* {
		position: relative;
		width: 100%;
	}

	.life_style .life_style-text span {
		font-size: min(7.8vw, 1.875rem);
		text-align: left;
		padding: 0.25em 0.375em 0.25em 0.125em;
	}

	.life_style .life_style-text span+span {
		margin: 0.25em 0 0 0;

	}

	.life_style .life_style-tabletop .life_style-text {
		width: 60%;
		position: absolute;
		text-align: left;
		inset: auto auto 10% 15px;
		margin: 0;
		z-index: 5;
	}

	.life_style .life_style-tabletop .life_style-image {
		width: 78%;
		margin-left: auto;
	}

	.life_style .life_style-tabletop .life_style-btn {
		width: 30%;
		position: absolute;
		text-align: left;
		inset: auto 10px -22% auto;
	}

	.life_style .life_style-floor .life_style-text {
		width: 62%;
		position: absolute;
		text-align: left;
		inset: auto 15px 10% auto;
		margin: 0;
		z-index: 5;
	}

	.life_style .life_style-floor .life_style-image {
		width: 75%;
		margin-right: auto;
	}

	.life_style .life_style-floor .life_style-btn {
		width: 30%;
		position: absolute;
		text-align: left;
		inset: auto auto -22% 10px;
	}

	.life_style .life_style-intro {
		flex-direction: column;
	}

	.life_style .life_style-intro>* {
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 15em;
	}

	.life_style .life_style-des-floor {
		margin-bottom: 0;
	}

	.life_style .life_style-intro .intro-col {
		margin-block: -2em 3em;
	}

	.life_style .life_style-des-floor-wrap .intro-col {
		margin-block: -2em 2em;
	}

	.life_style .life_style-des-floor-wrap .intro-recommendation ul {
		padding: 1em 0.5em;
	}

	.life_style .life_style-des-floor-wrap .intro-recommendation ul li {
		max-width: 100%;
		letter-spacing: 0;
	}

	.life_style .intro-recommendation ul li+li {
		margin-top: 0.5em;
	}

	.life_style .life_style-intro .intro-col .intro-text .intro-title {
		gap: 0.5em;
		max-width: 63%;
		margin-bottom: 1.75em;
		padding: 1.25em;
	}

	.life_style .life_style-intro .intro-col .intro-text .intro-title hgroup {
		margin: 0;
	}

	.life_style .life_style-intro .intro-col .intro-text .intro-title p {
		font-size: min(5.1vw, 1.25rem);
	}

	.life_style .life_style-intro .intro-col .intro-text .intro-title h3 {
		font-size: min(7.5vw, 2rem);
		left: -0.2em;
	}

	.life_style .life_style-intro .intro-col .intro-text .intro-title h3 span {
		font-size: min(7.5vw, 2rem);
	}

	.life_style .life_style-intro .intro-col .intro-size dt {
		font-size: 0.9375rem;
	}

	.life_style .life_style-intro .intro-col .intro-size dd {
		font-size: 0.9375rem;
	}

	.life_style .life_style-intro .intro-col .intro-size dd em {
		font-size: 1.375rem;
	}

	.life_style .life_style-des-tabletop .intro-col .intro-image {
		inset: auto -5% -9% auto;
		width: 50%;
	}

	.life_style .intro-recommendation .fukidashi {
		font-size: 1rem;
		padding: 0.625em 0.25em 1.125em;
		background-size: contain;
	}

	.life_style .life_style-des-tabletop .intro-recommendation ul {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		padding: 14px 7px;
	}

	.life_style .intro-recommendation ul li {
		width: 100%;
		font-size: min(5.3vw, 1.25rem);
		font-weight: 300;
		padding-left: 1.5em;
	}

	.life_style .intro-recommendation {
		margin: 0 auto;
		max-width: 100%;
	}

	.life_style .intro-recommendation ul li:before {
		width: 1.25em;
		height: 1.25em;
	}

	.life_style .intro-item {
		max-width: 442px;
		margin: 6em auto 0;
		padding: 1.5em 15px;
		border-radius: 0;
		width: 100vw;
		display: block;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}

	.life_style .intro-item-title h4 {
		font-size: min(6.6vw, 1.25rem);
	}

	.life_style .intro-item-title {
		min-width: 80%;
	}

	.life_style .life_style-des-floor .intro-col .intro-text {
		margin-left: auto;
		max-width: 100%;
	}

	.life_style .life_style-des-floor .intro-col .intro-image {
		inset: auto 0 -2% auto;
		width: 45%;
	}
}

@media screen and (max-width:470px) {
	.life_style .intro-recommendation ul li {
		font-size: min(4.9vw, 1.25rem);
	}

	.life_style .life_style-des-floor .intro-col .intro-image {
		inset: auto -5% -2% auto;
		width: 45%;
	}
}





.filter {
	margin-block: 11em;
	position: relative;
}

.filter .filter-wrap {
	max-width: 1000px;
	background: var(--bg03);
	color: var(--white);
	margin: 0 auto;
	padding: 80px 55px;
	border-radius: 10px;
	text-align: left;
}

.filter h2 {
	font-size: 1.625rem;
	font-weight: 400;
	position: relative;
	text-align: center;
	max-width: fit-content;
	margin: 0 auto 1.5em;
	padding: 0.5em 1.5em;
	letter-spacing: 0;
}

.filter h2 em {
	font-size: 2.0625rem;
	display: block;
}

.filter h2:before,
.filter h2:after {
	content: "";
	border: 1px solid var(--white);
	position: absolute;
	width: 20px;
}

.filter h2:before {
	border-right: none;
	inset: 0 auto 0 0;
	margin: auto;
}

.filter h2:after {
	border-left: none;
	inset: 0 0 0 auto;
	margin: auto;
}

.filter h3 {
	font-size: 1.75rem;
	font-weight: 400;
	position: relative;
	text-align: center;
	margin: 0 auto;
	letter-spacing: 0;
	width: 100%;
}

.filter .filter-col {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 2.5em;
	margin-bottom: 4em;
}

.filter .filter-col .filter-image {
	width: 210px;
}

.filter .filter-col .filter-text {
	width: calc(100% - 2.5em - 210px);
}

.filter .filter-col .filter-text p {
	font-size: 1.125rem;
	line-height: 1.875;
	letter-spacing: 0.04em;
}

.filter .filter-col .filter-text p+p {
	margin-top: 1.5em;
}

.filter .filter-accordion dt {
	pointer-events: none;
}

.filter .filter-accordion dt .blue-area {
	padding: 0.75em 0.75em;
}

.filter .filter-accordion dt .blue-area span {
	font-weight: 500;
}

.filter .filter-accordion dd {
	margin-top: 0.5em;
}

.filter .filter-accordion dd>p {
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

.filter .filter-accordion dd>p+p {
	margin-top: 0.5em;
}

.filter .filter-accordion .blue-area {
	background: var(--bg01);
	color: var(--bg03);
	font-size: 1.125rem;
	padding: 0.5em 0.75em;
}

.filter .filter-accordion ul {
	list-style: none;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.5em 1%;
}

.filter .filter-accordion ul+ul {
	margin-top: 0.5em;
	margin-bottom: 2em;
}

.filter .filter-accordion ul li.blue-area {
	width: 100%;
}

.filter .filter-accordion ul li {
	width: 49.5%;
	background: var(--white);
	color: var(--black);
	padding: 0.5em;
}

.filter .filter-accordion ul li span {
	font-size: 0.875rem;
}

.filter .filter-accordion ul li.top_space {
	margin-top: .5em;
}

@media screen and (min-width:768px) {
	.filter .filter-accordion ul li.top_space_pc {
		margin-top: .5em;
	}
}

@media screen and (max-width:1050px) {
	.filter {
		padding-inline: 15px;
	}
}

@media screen and (max-width:768px) {
	.filter {
		margin-block: 4em 9em;
		position: relative;
		padding: 0;
	}

	.filter .filter-wrap {
		border-radius: 0;
		padding: 3em 15px;
	}

	.filter h2 {
		font-size: 1.1875rem;
		margin: 0 auto 1.5em;
		padding: 0.5em 1em;
	}

	.filter h2 em {
		font-size: 1.6875rem;
	}

	.filter h2:before,
	.filter h2:after {
		width: 15px;
	}

	.filter .filter-col {
		gap: 1.5em 4%;
		margin-bottom: 2em;
		align-items: center;
		justify-content: center;
	}

	.filter h3 {
		width: 48%;
		margin: 0;
		text-align: left;
		font-size: min(4.9vw, 1.25rem);
		letter-spacing: -0.02em;
	}

	.filter .filter-col .filter-image {
		width: 40%;
	}

	.filter .filter-col .filter-text {
		width: 100%;
	}

	.filter .filter-col .filter-text p {
		font-size: 1rem;
	}

	.filter .filter-accordion dt {
		pointer-events: auto;
		position: relative;
	}

	.filter .filter-accordion dt:before,
	.filter .filter-accordion dt:after {
		content: "";
		width: 1.25em;
		height: 2px;
		background: var(--bg03);
		position: absolute;
		inset: 0 1em 0 auto;
		margin: auto;
		transition: var(--hover);
	}

	.filter .filter-accordion dt:after {
		transform: rotate(90deg);
	}

	.filter .filter-accordion dt.opened:before {
		transform: rotate(360deg);
	}

	.filter .filter-accordion dt.opened:after {
		transform: rotate(180deg);
	}

	.filter .filter-accordion .blue-area strong,
	.filter .filter-accordion dt .blue-area span {
		font-size: 1rem;
		font-weight: 400;
	}

	.filter .filter-accordion dt .blue-area {
		padding-block: 1.4276em;
	}

	.filter .filter-accordion ul li {
		vertical-align: middle;
		width: 100%;
		font-size: 1rem;
		padding: 1em;
	}

	.filter .filter-accordion ul li.blue-area {
		font-size: 1rem;
		padding: 1.5em 1em;
	}

	.filter .filter-accordion ul+ul {
		margin-top: 2.5em;
	}
}

/*price_plan*/
.price_plan {
	position: relative;
	background: var(--color01);
	padding-block: 5em 20em;
}

.price_plan h2 {
	font-size: 2.8125rem;
	font-weight: 300;
	font-family: var(--font03);
	margin-bottom: 1em;
}

.price_plan .price_plan-sitewrap {
	max-width: 1405px;
	margin: 0 auto;
}

.price_plan .price_plan-col {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;

	gap: 1%;
}

.price_plan .price_plan-col .price_plan-s {
	width: 71.5%;
	text-align: left;
}

.price_plan .price_plan-col .price_plan-s .price_plan-top {
	width: 37.9%;
	max-width: 380px;
}

.price_plan .price_plan-col .price_plan-s .price_plan-top h3 {
	text-align: center;
	font-size: min(2.2vw, 2.4375rem);
	background: var(--colors01);
	color: var(--white);
	margin-block: -1px;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item {
	width: 32%;
	background: var(--colors01);
	padding: 1em 0.5em;
	margin-left: -1px;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item .cta-filter-box h4 {
	font-size: 1.5rem;
	text-align: center;
	padding-block: 0.25em;
	background: var(--colors04);
	color: var(--colors05);
}

.price_plan .price_plan-col .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
	min-height: 22vw;
	padding: 15px 10px 25px;
	max-height: 446px;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:last-child {
	padding-right: 0.75em;
}

.price_plan .cta-filter-box {
	background: #fff;
}

.price_plan .cta-filter-box .cta-filter-box-top {
	min-height: 12.5vw;
	margin-bottom: 2em;
	max-height: 232px;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan {
	margin-bottom: 2em;
	text-align: center;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p {
	font-size: min(1.7vw, 1.8125rem);
	font-weight: 500;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p strong {
	font-size: min(2.6vw, 2.9375rem);
	display: block;
	font-weight: 500;
	line-height: 1;
}

.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p,
.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p strong {
	font-size: min(2.2vw, 2.4375rem);
	letter-spacing: -0.05em;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p span {
	position: relative;
	z-index: 5;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p span:before {
	content: "";
	width: 100%;
	height: 1.25em;
	background: linear-gradient(transparent 70%, #cbedf5 30%);
	position: absolute;
	inset: auto 0 0.125em 0;
	margin: auto;
	z-index: -1;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental {
	text-align: center;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental em {
	font-size: 1.125rem;
	background: var(--fukidashi-color);
	color: #fff;
	font-weight: bold;
	display: inline-block;
	line-height: 1;
	padding: 0.25em 0.75em 0.375em;
	border-radius: 40px;
	margin-bottom: 0.5em;
	--fukidashi-color: var(--colors04);
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental p {
	font-size: min(1.5vw, 1.6875rem);
	position: relative;
	line-height: 1;
	text-align: center;
	color: var(--colors06);
	max-width: fit-content;
	margin: 0 auto;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental p strong {
	font-size: min(4.5vw, 5.1875rem);
	padding-right: 0.25em;
	font-weight: 500;
	line-height: 0.8;
	letter-spacing: -0.04em;
}

.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental span {
	font-size: min(1.2vw, 1.3125rem);
	position: absolute;
	right: -1.25em;
	top: 1em;
	letter-spacing: -0.05em;
	white-space: nowrap;
}

.price_plan .cta-filter-box .cta-filter-box-bottom {
	position: relative;
	text-align: center;
}

.price_plan .cta-filter-box .cta-filter-box-bottom>em {
	font-size: 0.9375rem;
	background: #cccccc;
	color: #4d4d4d;
	font-weight: bold;
	display: inline-block;
	line-height: 1;
	padding: 0.25em 0.75em 0.375em;
	border-radius: 40px;
	margin-bottom: 0.5em;
	width: 100%;
	max-width: 116px;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.5%;
	margin: 0 auto;
	width: 81%;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item {
	width: 49%;
	position: relative;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item+.cta-filter-money-item:before {
	content: "";
	width: 1px;
	background: #000;
	position: absolute;
	inset: 0 0 0 -2%;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item p {
	font-size: min(0.8vw, 0.8125rem);
	font-weight: bold;
	color: #4d4d4d;
	min-height: 3em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item p+p {
	margin-top: 0.25em;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item .cta-filter-price {
	font-size: 0.8125rem;
	display: block;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item .cta-filter-price strong {
	font-size: min(1.3vw, 1.25rem);
	line-height: 1;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p {
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.1;
	margin-bottom: 0.5em;
	color: #4d4d4d;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p.underlineline {
	font-size: 0.875rem;
	margin-bottom: 0;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p strong {
	font-size: min(4vw, 4.25rem);
	font-weight: 600;
	line-height: 0.75;
}

.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p.underline {
	font-size: min(1.2vw, 0.875rem);
	font-weight: 600;
	position: relative;
	color: #4d4d4d;
	margin-bottom: 0;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child {
	width: 38%;
	max-width: 381px;
	padding-left: 1em;
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child .cta-filter-box {
	border: 4px solid var(--color04);
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child .cta-filter-box h4 {
	background: var(--color04);
	color: var(--white);
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental em {
	--fukidashi-color: var(--color04);
}

.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child .cta-filter-box .cta-filter-box-wrap {
	background: url(../img/bg-price-s.jpg) no-repeat center / cover;
	padding-bottom: 18px;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental p {
	color: var(--color04);
	position: relative;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-bottom>em {
	background: #fff;
	color: #4d4d4d;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental p:before {
	content: "";
	width: 100%;
	height: 7px;
	background: url(../img/line-price.png) no-repeat center / contain;
	position: absolute;
	inset: auto 0 -0.75em 0;
	margin: auto;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p span:before {
	background: linear-gradient(transparent 70%, #fff 30%);
}

.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p span:before {
	bottom: 0.25em;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental span {
	right: -1.375em;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-bottom .cta-filter-money {
	max-width: 100%;
	width: 100%;
}

.price_plan .price_plan-item:first-child .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item {
	width: 33%;
	position: relative;
}



.price_plan .price_plan-col .price_plan-l .price_plan-top {
	width: 100%;
	max-width: 380px;
}

.price_plan .price_plan-col .price_plan-l .price_plan-top h3 {
	text-align: center;
	font-size: min(2.2vw, 2.4375rem);
	background: var(--colorl01);
	color: var(--white);
	margin-block: -1px;
}

.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item {
	background: var(--colorl01);
	padding: 1em 0.5em;
}

.price_plan .price_plan-col .price_plan-l .cta-filter-box {
	border-color: var(--colorl01);
	background: url(../img/bg-price-l.jpg) no-repeat center / cover;
	padding-block: 1.5em 0em;
}

.price_plan .price_plan-col .price_plan-l {
	width: 27.5%;
	text-align: left;
	max-width: 381px;
}

.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top .cta-filter-plan {
	margin-bottom: 2.75em;
}

.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top {
	height: auto;
	padding-bottom: 11px;
}

.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top .cta-filter-rental em {
	--fukidashi-color: var(--colorl01);
}

.price_plan .price_plan-col .price_plan-l .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental p {
	color: #ab3737;
}

.price_plan .price_plan-col .price_plan-l .price_plan-item:first-child .cta-filter-box .cta-filter-box-top .cta-filter-rental p:before {
	display: none;
}

.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top {
	max-height: 276px;
}

.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
	max-height: 477px;
}

@media screen and (min-width:1920px) {
	.price_plan .price_plan-col .price_plan-l .cta-filter-box {
		min-height: 476px;
	}
}

@media screen and (min-width:1921px) {
	.price_plan .cta-filter-box .cta-filter-box-top {
		height: 13.325vw;
		max-height: 232px;
		min-height: 0;
	}

	.price_plan .price_plan-col .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
		height: 22vw;
		max-height: 446px;
		min-height: 0;
	}

	.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
		height: 23vw;
	}

	.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item {
		min-height: 507px;
	}
}

@media screen and (max-width:1918px) {
	.price_plan .price_plan-col .price_plan-l .cta-filter-box {
		padding-top: 0;
		padding-bottom: 20px;
	}
}

@media screen and (max-width:1430px) {
	.price_plan .price_plan-col {
		padding-inline: 15px;
	}
}

@media screen and (max-width:1200px) {
	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money {
		width: auto;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item .cta-filter-box h4 {
		font-size: 1.125em;
	}

	.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top {
		padding-bottom: 1.25em;
	}

	.price_plan .price_plan-col .price_plan-l .cta-filter-box {
		padding-bottom: 0;
	}
}

@media screen and (max-width:768px) {
	.price_plan {
		padding-block: 3em 22.5em;
		margin-block: -1px 0;
	}

	.price_plan .price_plan-col {
		gap: 5em;
		padding-inline: 0;
	}

	.price_plan .price_plan-col .price_plan-s {
		width: 100%;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-top {
		width: 100%;
		max-width: 100%;
	}

	.price_plan .price_plan-col .price_plan-top img {
		max-width: inherit;
		width: 100%;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom {
		flex-wrap: wrap;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:first-child {
		width: 100%;
		max-width: 100%;
		padding: 15px;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item {
		width: 100%;
		padding: 1em 1em;
		margin: 0;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item:last-child {
		padding-right: 1em;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-top h3,
	.price_plan .price_plan-col .price_plan-l .price_plan-top h3 {
		font-size: 2.5rem;
	}

	.price_plan .price_plan-col .price_plan-s .price_plan-bottom .price_plan-item .cta-filter-box h4 {
		font-size: 1.25rem;
		padding-block: 0 0.25em;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p {
		font-size: 1.875rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-plan p strong {
		font-size: 2.9375rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental em {
		font-size: 1.125rem;
		padding: 0.25em 1.125em 0.375em;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental p {
		font-size: 1.375rem;
		font-weight: 600;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental p strong {
		font-size: 5.1875rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-top .cta-filter-rental span {
		font-size: 1.1875rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item p {
		font-size: 0.8125rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item .cta-filter-price {
		font-size: 0.6875rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-money .cta-filter-money-item .cta-filter-price strong {
		font-size: 1.25rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-top {
		min-height: 0;
		margin-bottom: 3em;
	}

	.price_plan .price_plan-col .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
		min-height: 0;
		padding: 15px 10px 10px;
	}

	.price_plan .price_plan-col .price_plan-l {
		width: 100%;
		max-width: 100%;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p strong {
		font-size: 5.3125rem;
	}

	.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p {
		font-size: 1.875rem;
	}

	.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p strong {
		font-size: 2.5rem;
	}

	.price_plan .price_plan-item:last-child .cta-filter-box .cta-filter-box-top .cta-filter-plan p .txt-sp-large {
		font-size: 3rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom>em {
		font-size: 1rem;
	}

	.price_plan .cta-filter-box .cta-filter-box-bottom .cta-filter-no p.underline {
		font-size: 0.8125rem;
	}

	.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item {
		padding: 1em;
	}

	.price_plan .price_plan-col .price_plan-l .price_plan-bottom .price_plan-item .cta-filter-box .cta-filter-box-wrap {
		padding-bottom: 2em;
	}

	.price_plan .price_plan-col .price_plan-l .cta-filter-box .cta-filter-box-top {
		padding-bottom: 0;
		margin-bottom: 2em;
	}

	.price_plan .price_plan-col .price_plan-l .price_plan-top {
		max-width: 100%;
	}
}





.easy_service {
	position: relative;
	padding-block: 25em 6em;
	background: url(../img/bg-easy-service.jpg) no-repeat top center / cover;
}

.easy_service .deco-image {
	position: absolute;
	inset: -14% 0 0 auto;
	height: fit-content;
}

.easy_service .easy_service-wrap {
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

.easy_service .easy_service-wrap .easy {
	margin-bottom: 2.5em;
}

.easy_service .easy_service-wrap .easy h2 {
	font-size: min(4.2vw, 2.625rem);
	font-weight: 500;
	line-height: 1.875;
	margin-bottom: 1.5em;
}

.easy_service .easy_service-wrap h2 span {
	background: linear-gradient(transparent 70%, #fff 30%);
}

.easy_service .easy_service-wrap .easy ol {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.5%;
	padding: 0;
}

.easy_service .easy_service-wrap .easy ol li {
	background: rgb(255 255 255 / 60%);
	border-radius: 5px;
	padding: 1em;
	width: 33%;
	max-width: 323px;
}

.easy_service .easy_service-wrap .easy ol li .easy-text {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	margin-bottom: 0.5em;
}

.easy_service .easy_service-wrap .easy ol li .easy-text i {
	font-size: 1.5rem;
	background: var(--color02);
	color: var(--white);
	aspect-ratio: 1 / 1;
	width: 1.334em;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}

.easy_service .easy_service-wrap .easy ol li .easy-text p {
	font-size: 1.5rem;
	font-family: var(--ff-sans);
	font-weight: 400;
}

.easy_service .service {
	position: relative;
}

.easy_service .easy_service-wrap .service h2 {
	font-size: 3.3125rem;
	font-weight: 500;
	line-height: 1.875;
	margin-bottom: 1.25em;
	text-align: center;
}

.easy_service .service ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}

.easy_service .service ul li {
	background: url(../img/bg-service.png) no-repeat center / auto;
	width: 24%;
	max-width: 235px;
	text-align: center;
	padding: 3em 1em;
}

.easy_service .service ul li .service-image {
	height: 92px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1em;
}

.easy_service .service ul li p {
	font-size: 1.1875rem;
	min-height: 3em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}

@media screen and (max-width:1350px) {
	.easy_service .deco-image {
		width: 55%;
	}

	.easy_service {
		padding-top: 35vw
	}
}

@media screen and (max-width:1050px) {
	.easy_service .easy_service-wrap {
		padding-inline: 15px;
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text i {
		font-size: 1.125rem;
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text p {
		font-size: 1.125rem;
	}
}

@media screen and (max-width:900px) {
	.easy_service .service ul li {
		background-size: contain;
	}

	.easy_service .service ul li p {
		font-size: 1.125rem;
	}
}

@media screen and (max-width:768px) {
	.easy_service .deco-image {
		width: 100%;
	}

	.easy_service {
		padding-block: 61vw 3em;
		background-image: url(../img/bg-easy-service_sp.jpg);
	}

	.easy_service .easy_service-wrap .easy {
		margin-bottom: 4em;
	}

	.easy_service .easy_service-wrap .easy h2 {
		font-size: 1.6875rem;
		text-align: center;
		margin-bottom: 1em;
	}

	.easy_service .easy_service-wrap .easy ol {
		gap: 1em;
	}

	.easy_service .easy_service-wrap .easy ol li {
		border-radius: 5px;
		padding: 0.5em 1em 1em;
		width: 85%;
		max-width: 100%;
		margin: 0 auto;
		max-width: 322px;
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text p {
		font-size: 1.5rem;
		/* letter-spacing: -0.1em;
		font-weight: 500; */
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text i {
		font-size: 1.5rem;
	}

	.easy_service .easy_service-wrap .service h2 {
		font-size: 1.875rem;
		margin-bottom: 0.5em;
	}

	.easy_service .service ul li {
		width: 48%;
		padding: 3em 1em;
	}

	.easy_service .service ul li p {
		font-size: 1.125rem;
		letter-spacing: -0.01em;
	}

	.easy_service .service ul {
		gap: 0em 2%;
	}

	.easy_service .service ul li .service-image {
		height: 60px;
	}

	.easy_service .service ul li .service-image img {
		height: 50px;
		width: auto;
	}

	.easy_service .service ul li:nth-child(2) .service-image img {
		height: 60px;
	}

	.easy_service .service ul li:nth-child(3) .service-image img {
		height: 65px;
	}

	.easy_service .service ul li:nth-child(4) .service-image img {
		height: 65px;
	}
}

@media screen and (max-width:390px) {
	.easy_service .service ul li p {
		font-size: min(4.5vw, 1.125rem);
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text p {
		font-size: min(6.5vw, 1.5rem);
	}

	.easy_service .easy_service-wrap .easy ol li .easy-text i {
		font-size: min(6.5vw, 1.5rem);
	}

	.easy_service .easy_service-wrap .easy h2 {
		font-size: min(6.7vw, 1.6875rem);
	}
}


.purified {
	position: relative;
	background: var(--color01);
	padding-block: 7em 7em;
}

.purified hgroup {
	margin-bottom: 3.75em;
}

.purified hgroup p {
	font-size: 1.6875rem;
	font-weight: 500;
	letter-spacing: 0;
}

.purified hgroup h2 {
	font-size: 2.8125rem;
	font-weight: 500;
	font-family: var(--font03);
	margin-bottom: 0.25em;
}

.purified hgroup h2 em {
	font-size: 2.75rem;
	background: var(--white);
	padding: 0.25em 0.25em;
	display: inline-block;
	border-radius: 50px;
	margin-right: 0.25em;
	margin-top: 0.25em;
	line-height: 1;
}

.purified .purified-wrap {
	max-width: 1135px;
	margin: 0 auto;
}

.purified .purified-wrap .purified-col {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 2em 2.25%;
}

.purified .purified-item-wrap {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 8px;
	margin-top: -2.25em;
	position: relative;
	z-index: 5;
	font-family: var(--ff-sans);
}

.purified .purified-item-wrap>* {
	width: 50%;
}

.purified .purified-item-wrap em {
	font-size: 0.9375rem;
	font-weight: 500;
	margin-bottom: 1.5em;
	padding: 0.25em 1em;
	line-height: 1;
	display: inline-block;
	border-radius: 50px;
	letter-spacing: 0;
}

.purified .purified-item-wrap .purified-item-before-text,
.purified .purified-item-wrap .purified-item-after-text {
	font-size: 1rem;
	border-radius: 6px;
	padding: 0.5em 0.25em;
	/* letter-spacing: -0.1em; */
	line-height: 1.875;
	max-width: 172px;
	margin: 0 auto;
}

.purified .purified-item-wrap .purified-item-before-text p,
.purified .purified-item-wrap .purified-item-after-text p {
	font-weight: 400;
}

.purified .purified-item-wrap .purified-item-before em,
.purified .purified-item-wrap .purified-item-before-text {
	background: var(--white);
	color: var(--color03);
}

.purified .purified-item-wrap .purified-item-after em,
.purified .purified-item-wrap .purified-item-after-text {
	background: var(--colors01);
	color: var(--white);
}

@media screen and (max-width:768px) {
	.purified {
		padding-block: 4em 3.5em;
	}

	.purified hgroup {
		margin-bottom: 3.75em;
	}

	.purified hgroup p {
		font-size: 1.125rem;
		font-weight: 500;
		letter-spacing: 0;
	}

	.purified hgroup h2 {
		font-size: 2.15rem;
	}

	.purified hgroup h2 em {
		font-size: 2.15rem;
	}

	.purified .purified-wrap {
		padding-inline: 15px;
	}

	.purified .purified-item-wrap em {
		font-size: 0.9375rem;
		margin-bottom: 1.25em;
	}

	.purified .purified-item-wrap .purified-item-before-text,
	.purified .purified-item-wrap .purified-item-after-text {
		font-size: 1rem;
		padding: 0.5em 0.125em;
		letter-spacing: 0;
	}

	.purified .purified-wrap .purified-col {
		gap: 5em;
	}

	.purified .purified-item-wrap {
		gap: 0.5em;
	}
}

.deco-area {
	position: relative;
	min-height: 1152px;
	padding: 113px 15px 155px;
	max-width: 1442px;
	margin: 0 auto;
}

.deco-area>* {
	position: absolute;
}

.deco-area .deco01 {
	inset: 10% auto auto 19%;
	width: 38%;
	margin: auto;
	height: fit-content;
}

.deco-area .deco02 {
	inset: 19% 5% auto auto;
	width: 30%;
	margin: auto;
	height: fit-content;
}

.deco-area .deco03 {
	inset: 52% auto auto 10%;
	width: 24%;
	margin: auto;
	height: fit-content;
}

.deco-area .deco04 {
	inset: 55% 18% auto auto;
	width: 38%;
	margin: auto;
	height: fit-content;
}

@media screen and (max-width:1300px) {
	.deco-area {
		position: relative;
		min-height: 80vw;
		padding: 113px 15px 155px;
		max-width: 100%;
		margin: 0 auto;
	}
}

@media screen and (max-width:768px) {
	.deco-area {
		min-height: 0;
		padding: 5em 0 9.5em;
		max-width: 100%;
		margin: 0 auto;
	}

	.deco-area .deco01 {
		inset: 0;
		width: 100%;
		position: relative;
	}

	.deco-area .deco02 {
		inset: 0;
		width: 80%;
		position: relative;
		margin-right: auto;
		margin-left: 0;
		margin-top: -1em;
	}

	.deco-area .deco03 {
		inset: 0;
		width: 62%;
		position: relative;
		margin-left: auto;
		margin-right: 0;
		margin-top: 0;
	}

	.deco-area .deco04 {
		inset: 0;
		width: 100%;
		position: relative;
		margin-top: -1em;
	}
}

/*faq*/
.faq {
	position: relative;
	padding: 0 15px;
	margin-bottom: 7em;
}

.faq .faq_style,
.specs .specs_style {
	font-size: min(14.8vw, 3.75rem);
	font-weight: 400;
	line-height: 1;
	margin-bottom: 1em;
}

.faq .faq_style span,
.specs .specs_style span {
	font-size: 1.25rem;
	font-weight: 400;
	margin-top: 1em;
	display: block;
}

.faq .faq_wrap {
	position: relative;
	max-width: 850px;
	margin: 0 auto;
	text-align: left;
	font-family: var(--font02);
}

.faq .faq_wrap dl+dl {
	margin-top: 0.625em;
}

.faq .faq_wrap dt {
	background: var(--bg05);
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.5em;
	color: #333;
	font-size: 1rem;
	padding: 1em 2.5em 1em 1.875em;
	position: relative;
}

.faq .faq_wrap dl:nth-child(even) dt {
	background: var(--bg07);
}

.faq .faq_wrap dl:nth-child(even) dd {
	background: var(--bg08);
}

.faq .faq_wrap dt:before,
.faq .faq_wrap dt:after {
	content: "";
	width: 1.25em;
	height: 2px;
	background: #000000;
	position: absolute;
	inset: 0 1em 0 auto;
	margin: auto;
	transition: var(--hover);
}

.faq .faq_wrap dt:after {
	transform: rotate(90deg);
}

.faq .faq_wrap dt.opened:before {
	transform: rotate(360deg);
}

.faq .faq_wrap dt.opened:after {
	transform: rotate(180deg);
}

.faq .faq_wrap dt i {
	font-size: 1.9375rem;
	line-height: 1;
	position: relative;
}

.faq .faq_wrap dt p {
	font-size: 1.1875rem;
	font-weight: 400;
	line-height: 1.875;
}

.faq .faq_wrap dd {
	background: var(--bg06);
	padding: 1em 2em;
	font-size: 1.1875rem;
}

.faq .faq_wrap dd .underline {
	background: linear-gradient(transparent 50%, #e0d4c5 50%);
}

.faq .faq_wrap dd p {
	line-height: 1.875;
}

.accordion_wrap_text+.accordion_wrap_text {
	margin-top: 1em;
}

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

	.faq .faq_style,
	.specs .specs_style {
		font-size: min(14.8vw, 3rem);
	}

	.faq .faq_style span,
	.specs .specs_style span {
		font-size: min(5.6vw, 1.3125rem);
	}

	.faq .faq_wrap dt {
		font-size: min(4.26666vw, 1rem);
	}

	.faq .faq_wrap dt i {
		font-size: min(6.93334vw, 1.5rem);
	}

	.faq .faq_wrap dd p {
		font-size: min(4.26666vw, 1rem);
	}

	.faq .faq_wrap dd {
		padding-inline: 35px;
	}
}

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

	.faq .faq_style,
	.specs .specs_style {
		font-size: 3.125rem;
	}

	.faq .faq_style span,
	.specs .specs_style span {
		font-size: 1rem;
	}

	.faq .faq_wrap dt {
		gap: 0.75em;
		color: #333;
		padding: 1.375em 2.25em 1.375em 1em;
		align-items: flex-start;
	}

	.faq .faq_wrap dd {
		padding: 1.5rem 1.5em;
		font-size: 1rem;
	}

	.faq .faq_wrap dt i {
		font-size: 1.625rem;
	}

	.faq .faq_wrap dt p {
		font-size: 1.214rem;
	}

	.faq .faq_wrap dt p {
		font-size: 1rem;
	}

	.faq {
		padding: 4em 25px 0;
		margin-bottom: 4em;
	}

	.accordion_wrap_text+.accordion_wrap_text {
		margin-top: 2em;
	}

	.faq .faq_wrap dt:before,
	.faq .faq_wrap dt:after {
		width: 1em;
		height: 1px;
	}

	.faq .faq_wrap dl+dl {
		margin-top: 1em;
	}

	.faq .faq_wrap dd p {
		font-size: 1rem;
	}

	.faq .faq_wrap dd em {
		font-size: 1rem;
	}
}

/*specs*/
.specs {
	position: relative;
	padding: 0;
	margin-bottom: 10em;
}

.specs .specs_wrap {
	max-width: 850px;
	margin: 0 auto 11em;
}

.specs .specs_wrap dt {
	font-size: 1.125rem;
	padding: 1.44em 2em 1.44em 1.125em;
	background: var(--bg11);
	color: var(--white);
	text-align: left;
}

.specs .specs_wrap .specs_content table {
	font-size: 1.125rem;
}

.specs .specs_wrap .specs_content table th {
	width: 100%;
	background: #cccccc;
	padding: 0.75rem 1em;
	font-weight: 500;
}

.specs .specs_wrap .specs_content table td {
	background: #e6e6e6;
	padding: 0.75em 1em;
	text-align: left;
	letter-spacing: 0;
	vertical-align: text-bottom;
	font-weight: 300;
}

.specs .specs_wrap .specs_content table td span {
	font-size: 0.9375rem;
}

.specs .specs_wrap .specs_content table td:nth-child(odd) {
	background: var(--bg09);
}

.specs .specs_wrap .specs_content table td:nth-child(even) {
	background: var(--bg10);
}

.specs .specs_wrap .specs_content table td p+span {
	margin-top: 1em;
	display: inline-block
}

.specs-col {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
	gap: 1em;
}

.specs-col .specs-item {
	position: relative;
	padding: 2em 1.75em;
	width: calc(50% - 0.5em);
}

.specs-col .specs-s {
	background: rgb(89 161 211);
	background: linear-gradient(130deg, rgb(89, 161, 211, 1) 0%, rgb(199 232 249) 50%, rgb(199 232 249) 100%);
}

.specs-col .specs-l {
	background: rgb(231 201 201);
	background: linear-gradient(32deg, rgb(231 201 201) 0%, rgb(246 234 234) 100%);
}

.specs-col h3 {
	color: var(--white);
	font-size: 1.375rem;
	font-weight: 500;
	text-align: center;
	border-radius: 50px;
	display: block;
	max-width: 242px;
	margin: 0 auto;
	padding-block: 0.62em;
	line-height: 1;
	position: absolute;
	inset: -1.215em 0 auto;
	margin: 0 auto;
}

.specs-col .specs-s h3 {
	background: var(--colors03);
}

.specs-col .specs-l h3 {
	background: var(--colorl01);
}

.specs .specs_btn {
	display: block;
	max-width: 620px;
	margin: 0.5em auto 0;

	padding: 1.375em 2.225em 1.375em 1.5em;
	position: relative;
	color: #fff;
	font-size: 1.3125rem;
	text-align: left;
	text-decoration: none !important;
}

.specs-col .specs-s .specs_btn,
.specs-s .specs_btn {
	background: var(--colors01);
}

.specs-col .specs-l .specs_btn,
.specs-l .specs_btn {
	background: var(--colorl04);
}

.specs .specs_btn:after {
	content: "";
	width: 1em;
	height: 0.5em;
	background: url(../img/icon_link.svg) no-repeat;
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
}

.specs .specs_btn.download:after {
	content: "";
	width: 1em;
	height: 0.9em;
	background: url(../img/icon_download.svg) no-repeat;
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media (any-hover: hover) {
	.specs .specs_btn:hover {
		opacity: 0.8;
	}
}

@media screen and (max-width:1520px) {
	.specs .specs_btn {
		font-size: min(4.26666vw, 1rem);
	}

	.specs .specs_wrap dt {
		font-size: min(4.26666vw, 1rem);
	}

	.specs .specs_wrap .specs_content table {
		font-size: 1rem;
	}
}

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

	.specs .specs_wrap,
	.specs-col {
		padding-inline: 20px;
	}
}

@media screen and (max-width:768px) {
	.specs {
		margin-bottom: 7em;
	}

	.specs .specs_wrap {
		margin: 0 auto 7em;
	}

	.specs-col {
		padding: 0;
		gap: 6em;
	}

	.specs .specs_wrap .specs_content table {
		font-size: 1rem;
	}

	.specs .specs_wrap .specs_content table th {
		background: #cccccc;
		padding: 0.75rem 1em;
		font-size: 1rem;
		font-weight: 400;
	}

	.specs .specs_wrap .specs_content table td {
		background: #e6e6e6;
		padding: 0.75em 1em;
		font-size: 1rem;
	}

	/* .specs .specs_wrap .specs_content table td p {
		font-weight: 400;
	} */

	.specs .specs_wrap .specs_content table td span {
		font-size: 0.9375rem;
	}

	.specs-col h3 {
		font-size: 1.25rem;
		max-width: fit-content;
		padding: 0.625em 1.375em;
		line-height: 1;
		position: absolute;
		inset: -1.215em 0 auto;
		margin: 0 auto;
	}

	.specs-col .specs-item {
		padding: 2.25em 1.5em 1.5em;
		width: 100%;
	}

	.specs .specs_btn {
		font-size: min(4vw, 1rem);
	}

	.specs .specs_wrap dt {
		font-size: 1rem;
		padding: 1em 2em 1em 1.125em;
	}
}