* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: YuGothic, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Questrial", "Noto Sans JP", sans-serif;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	padding: 0;
	color: #3E3A39;
}

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

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

figure {
	margin: 0;
}

a {
	color: #3E3A39;
	text-decoration: none;
	transition: 0.3s;
}

a:hover {
	cursor: pointer;
	opacity: 0.8;
}

.pc-none {
	display: none;
}

.sp-none {
	display: block;
}

.cost-plan {
	z-index: 500;
	position: relative;
}

.cost-plan__block-list.--reason {
	-moz-column-gap: min(4.5138888889vw, 65px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: min(4.5138888889vw, 65px);
	align-items: flex-start;
	margin: min(3.4722222222vw, 50px) 0 min(6.9444444444vw, 100px) 0;
}

.cost-plan__block-item.--reason {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: min(10.3472222222vw, 149px);
	margin: min(1.9444444444vw, 28px) 0 0 min(1.9444444444vw, 28px);
	background: #EAF9FF;
	font-size: min(1.3888888889vw, 20px);
}

.cost-plan__block-item.--reason::after {
	position: absolute;
	top: 0;
	left: 0;
	width: min(6.1805555556vw, 89px);
	height: min(4.1666666667vw, 60px);
	transform: translate(-50%, -50%);
	background: url("../../img/icon-crown.webp") no-repeat center center/contain;
	content: "";
}

.cost-plan__block-item.--reason .large {
	margin-top: min(0.6944444444vw, 10px);
	font-weight: 700;
	font-size: min(2.5vw, 36px);
}

.cost-plan__block.--about {
	padding-bottom: min(4.8611111111vw, 70px);
}

.cost-plan__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: min(4.7222222222vw, 68px);
}

.cost-plan__wrap-left {
	width: min(56.25vw, 810px);
}

.cost-plan__text.--about {
	font-size: min(1.3888888889vw, 20px);
	line-height: 1.8;
}

.cost-plan__text.--about.--large {
	margin-bottom: min(2.5vw, 36px);
	font-weight: 700;
	font-size: min(2.5vw, 36px);
	line-height: 1.5;
}

.cost-plan__wrap-right.--about {
	width: min(28.8194444444vw, 415px);
}

.cost-plan__block.--structure {
	padding-bottom: min(8.3333333333vw, 120px);
}

.cost-plan__block-list.--structure {
	display: flex;
	row-gap: min(5.2083333333vw, 75px);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: min(5.5555555556vw, 80px);
}

.cost-plan__block-item.--structure {
	position: relative;
	width: 100%;
	padding: min(2.0833333333vw, 30px);
	border-radius: min(0.6944444444vw, 10px);
	text-align: center;
}

.cost-plan__block-item.--structure:nth-child(n+2)::after {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(2.5vw, 36px);
	height: min(2.5vw, 36px);
	transform: translate(-50%, -160%);
	background: url("../../img/icon-plus.png") no-repeat center center/cover;
	content: "";
}

.cost-plan__block-item.--structure.--color1 {
	margin-bottom: min(3.3333333333vw, 48px);
	background: #EAF9FF;
}

.cost-plan__block-item.--structure.--color2 {
	background: #C6F4FB;
}

.cost-plan__block-item.--structure.--color3 {
	background: #8DEAF7;
}

.cost-plan__block-item.--structure.--color4 {
	background: #75DDF5;
}

.cost-plan__block-text.--structure {
	color: #0E7DBE;
	font-weight: 700;
	font-size: min(2.5vw, 36px);
}

.cost-plan__block-sub-item.--structure {
	-moz-column-gap: min(4.1666666667vw, 60px);
	display: flex;
	column-gap: min(4.1666666667vw, 60px);
	align-items: center;
	justify-content: center;
	margin-top: min(1.9444444444vw, 28px);
}

.cost-plan__block-sub-text.--structure {
	font-weight: 700;
	font-size: min(1.6666666667vw, 24px);
	white-space: pre;
}

.cost-plan__block-side.--structure {
	margin-top: min(2.0833333333vw, 30px);
	font-weight: 700;
	font-size: min(1.1111111111vw, 16px);
}

.cost-plan__block-side.--structure.--info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	transform: translateY(150%);
	content: "";
	line-height: 2;
	text-align: start;
}

.cost-plan__block.--flow {
	width: 100%;
	padding: min(10.4166666667vw, 150px) 0;
	background: #EAF9FF;
}

.cost-plan__block-list.--flow {
	display: flex;
	row-gap: min(4.4444444444vw, 64px);
	flex-direction: column;
	margin-top: min(4.4444444444vw, 64px);
}

.cost-plan__block-item.--flow {
	display: flex;
	position: relative;
}

.cost-plan__block-item.--flow:nth-child(n+2):before {
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	top: 0;
	left: 50%;
	width: min(6.9444444444vw, 100px);
	height: min(2.0833333333vw, 30px);
	transform: translate(-50%, -150%);
	background: #34bdf0;
	content: "";
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cost-plan__block-item.--flow::after {
	position: absolute;
	top: 50%;
	right: min(2.7777777778vw, 40px);
	width: min(7.6388888889vw, 110px);
	height: min(7.6388888889vw, 110px);
	transform: translate(0, -50%);
	content: "";
}

.cost-plan__block-item.--flow.--note::after {
	background: url("../../img/icon-note.webp") no-repeat center center/cover;
}

.cost-plan__block-item.--flow.--memo::after {
	background: url("../../img/icon-memo.webp") no-repeat center center/cover;
}

.cost-plan__block-item.--flow.--outlet::after {
	background: url("../../img/icon-outlet.webp") no-repeat center center/cover;
}

.cost-plan__block-left.--flow {
	display: flex;
	row-gap: min(0.4166666667vw, 6px);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(6.9444444444vw, 100px);
	background: #34bdf0;
}

.cost-plan__block-left-text.--flow {
	color: #ffffff;
	font-weight: 700;
	font-size: min(1.1111111111vw, 16px);
	text-align: center;
}

.cost-plan__block-left-text.--flow.--large {
	font-size: min(2.2222222222vw, 32px);
}

.cost-plan__block-right.--flow {
	width: calc(100% - min(6.9444444444vw, 100px));
	padding: min(2.2222222222vw, 32px) min(1.6666666667vw, 24px);
	background: #ffffff;
}

.cost-plan__block-right-text.--flow {
	font-size: min(1.3888888889vw, 20px);
}

.cost-plan__block-right-text.--flow.--large {
	margin-bottom: min(1.1111111111vw, 16px);
	color: #34bdf0;
	font-weight: 700;
	font-size: min(2.2222222222vw, 32px);
}

.cost-plan__block.--method {
	padding-top: min(8.0555555556vw, 116px);
	padding-bottom: min(11.1111111111vw, 160px);
}

.cost-plan__wrap.--method {
	align-items: flex-start;
	margin-top: 0;
}

.cost-plan__wrap-left.--method {
	width: 50%;
}

.cost-plan__text.--method {
	margin-top: min(4.4444444444vw, 64px);
	font-weight: 700;
	font-size: min(1.6666666667vw, 24px);
}

.cost-plan__text.--method .small {
	font-size: min(1.25vw, 18px);
}

.cost-plan__wrap-right.--method {
	width: 50%;
}

.cost-plan__block.--faq {
	padding-bottom: min(6.9444444444vw, 100px);
}

.cost-plan__img.--faq {
	width: min(32.7777777778vw, 472px);
	margin: min(0.4861111111vw, 7px) auto 0;
}

.faq__list {
	width: 100%;
	margin-top: min(2.0833333333vw, 30px);
}

.faq__block {
	margin-bottom: min(2.0833333333vw, 30px);
	background: #ffffff;
	box-shadow: 0 min(0.2777777778vw, 4px) min(0.2777777778vw, 4px) rgba(0, 0, 0, 0.25);
}

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

.faq__question {
	display: flex;
	position: relative;
	align-items: center;
	width: 100%;
	height: auto;
	cursor: pointer;
	transition-duration: 0.5s;
}

.faq__question-q {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(3.6111111111vw, 52px);
	height: min(3.8888888889vw, 56px);
	color: #0090d1;
	font-weight: 700;
	font-size: min(1.3888888889vw, 20px);
}

.faq__question-icon {
	position: absolute;
	top: 50%;
	right: min(1.3888888889vw, 20px);
	width: min(1.4583333333vw, 21px);
	height: min(1.4583333333vw, 21px);
	transform: translateY(-50%);
	border-radius: min(0.1388888889vw, 2px);
	background: #0090d1;
}

.faq__question-bar {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: min(0.1388888889vw, 2px);
	background: #ffffff;
	content: "";
}

.faq__question-bar.--vertical {
	width: min(0.8333333333vw, 12px);
	height: min(0.1388888889vw, 2px);
}

.faq__question-bar.--beside {
	width: min(0.1388888889vw, 2px);
	height: min(0.9722222222vw, 14px);
	transition: transform 0.5s;
}

.faq__question.--active .faq__question-bar.--beside {
	transform: translate(-50%, -50%) scale(0);
}

.faq__question-text {
	font-weight: 700;
	font-size: min(1.3888888889vw, 20px);
}

.faq__answer {
	width: 100%;
	padding: min(1.3888888889vw, 20px) min(0.8333333333vw, 12px) min(1.7361111111vw, 25px) min(3.6111111111vw, 52px);
}

.faq__answer-text {
	position: relative;
	font-weight: 400;
	font-size: min(1.3888888889vw, 20px);
	line-height: 1.5;
}

.faq__answer-text::after {
	position: absolute;
	top: max(-1.1111111111vw, -16px);
	left: 50%;
	width: 100%;
	height: min(0.1388888889vw, 2px);
	transform: translateX(-50%);
	background: #EAF9FF;
	content: "";
}

.cost-plan__block.--limited {
	padding-bottom: min(9.7222222222vw, 140px);
}

.cost-plan__block-list.--limited {
	-moz-column-gap: min(2.6388888889vw, 38px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: min(2.6388888889vw, 38px);
	row-gap: min(2.0833333333vw, 30px);
	margin-top: min(3.8888888889vw, 56px);
}

.cost-plan__block-img.--limited {
	aspect-ratio: 2.23;
}

.cost-plan__block-img.--limited img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cost-plan__block-text.--limited {
	padding: min(1.0416666667vw, 15px);
	background: #0090d1;
	color: #ffffff;
	font-size: min(1.3888888889vw, 20px);
	text-align: center;
}

.cost-plan__wrap.--limited {
	width: min(60.0694444444vw, 865px);
	margin: min(1.7361111111vw, 25px) auto 0;
}

.cost-plan__wrap-left.--limited {
	width: calc(100% - min(25.2083333333vw, 363px));
	text-align: center;
}

.cost-plan__title.--limited {
	color: #0090d1;
	font-weight: 700;
	font-size: min(2.5vw, 36px);
}

.cost-plan__text.--limited {
	margin-top: min(1.6666666667vw, 24px);
	font-size: min(1.25vw, 18px);
	line-height: 1.5;
}

.cost-plan__wrap-right.--limited {
	width: min(25.2083333333vw, 363px);
}

.cost-plan__btn.--limited {
	margin-top: min(3.4722222222vw, 50px);
	text-align: center;
}

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

.pc-none {
	display: block;
}

.sp-none {
	display: none;
}

.cost-plan__block-list.--reason {
	-moz-column-gap: 0;
	grid-template-columns: repeat(1, 1fr);
	column-gap: 0;
	row-gap: min(10.2564102564vw, 40px);
	width: min(78.2051282051vw, 305px);
	margin: min(6.4102564103vw, 25px) auto min(15.3846153846vw, 60px) auto;
}

.cost-plan__block-item.--reason {
	width: min(72.3076923077vw, 282px);
	height: auto;
	margin: min(5.8974358974vw, 23px) 0 0 min(5.8974358974vw, 23px);
	padding: min(5.8974358974vw, 23px) 0 min(5.8974358974vw, 23px) 0;
	font-size: min(3.8461538462vw, 15px);
}

.cost-plan__block-item.--reason::after {
	width: min(16.9230769231vw, 66px);
	height: min(11.5384615385vw, 45px);
}

.cost-plan__block-item.--reason .large {
	margin-top: min(2.5641025641vw, 10px);
	font-size: min(6.9230769231vw, 27px);
}

.cost-plan__block.--about {
	padding-bottom: min(17.9487179487vw, 70px);
}

.cost-plan__wrap {
	flex-direction: column;
	margin-top: min(7.6923076923vw, 30px);
}

.cost-plan__wrap-left {
	width: auto;
}

.cost-plan__text.--about {
	font-size: min(3.8461538462vw, 15px);
}

.cost-plan__text.--about.--large {
	margin-bottom: min(9.2307692308vw, 36px);
	font-size: min(6.1538461538vw, 24px);
	text-align: center;
}

.cost-plan__wrap-right.--about {
	width: min(59.4871794872vw, 232px);
	margin-top: min(10.2564102564vw, 40px);
}

.cost-plan__block.--structure {
	padding-bottom: min(12.3076923077vw, 48px);
}

.cost-plan__block-list.--structure {
	row-gap: min(12.8205128205vw, 50px);
	margin-top: min(8.4615384615vw, 33px);
}

.cost-plan__block-item.--structure {
	padding: min(6.9230769231vw, 27px) min(6.1538461538vw, 24px);
	border-radius: min(1.7948717949vw, 7px);
}

.cost-plan__block-item.--structure:nth-child(n+2)::after {
	width: min(6.1538461538vw, 24px);
	height: min(6.1538461538vw, 24px);
	transform: translate(-50%, -155%);
}

.cost-plan__block-item.--structure.--color1 {
	margin-bottom: min(15.3846153846vw, 60px);
}

.cost-plan__block-text.--structure {
	font-size: min(6.1538461538vw, 24px);
}

.cost-plan__block-sub-item.--structure {
	-moz-column-gap: 0;
	column-gap: 0;
	row-gap: min(4.1025641026vw, 16px);
	flex-direction: column;
	margin-top: min(7.1794871795vw, 28px);
}

.cost-plan__block-sub-text.--structure {
	font-size: min(4.1025641026vw, 16px);
}

.cost-plan__block-side.--structure {
	margin-top: min(5.1282051282vw, 20px);
	font-size: min(3.0769230769vw, 12px);
}

.cost-plan__block-side.--structure.--info {
	transform: translateY(140%);
}

.cost-plan__block.--flow {
	padding: min(10.2564102564vw, 40px) 0;
}

.cost-plan__block-list.--flow {
	row-gap: min(8.7179487179vw, 34px);
	margin-top: min(8.7179487179vw, 34px);
}

.cost-plan__block-item.--flow:nth-child(n+2):before {
	width: min(12.3076923077vw, 48px);
	height: min(5.1282051282vw, 20px);
	transform: translate(-50%, -125%);
}

.cost-plan__block-item.--flow::after {
	display: none;
}

.cost-plan__block-left.--flow {
	row-gap: min(1.5384615385vw, 6px);
	width: min(16.9230769231vw, 66px);
}

.cost-plan__block-left-text.--flow {
	font-size: min(3.0769230769vw, 12px);
}

.cost-plan__block-left-text.--flow.--large {
	font-size: min(6.1538461538vw, 24px);
}

.cost-plan__block-right.--flow {
	width: calc(100% - min(16.9230769231vw, 66px));
	padding: min(3.3333333333vw, 13px) 0 min(3.3333333333vw, 13px) min(3.3333333333vw, 13px);
	background: #ffffff;
}

.cost-plan__block-right-text.--flow {
	font-size: min(3.8461538462vw, 15px);
}

.cost-plan__block-right-text.--flow.--large {
	margin-bottom: min(3.0769230769vw, 12px);
	font-size: min(6.1538461538vw, 24px);
}

.cost-plan__block.--method {
	padding-top: min(12.8205128205vw, 50px);
	padding-bottom: min(17.9487179487vw, 70px);
}

.cost-plan__wrap.--method {
	align-items: center;
}

.cost-plan__wrap-left.--method {
	width: 100%;
}

.cost-plan__text.--method {
	margin-top: min(10.2564102564vw, 40px);
	font-size: min(4.6153846154vw, 18px);
}

.cost-plan__text.--method .small {
	font-size: min(3.5897435897vw, 14px);
}

.cost-plan__wrap-right.--method {
	width: 100%;
	margin-top: min(10.2564102564vw, 40px);
}

.cost-plan__block.--faq {
	padding-bottom: 0;
}

.cost-plan__img.--faq {
	width: min(68.7179487179vw, 268px);
	margin: min(6.1538461538vw, 24px) auto 0;
}

.faq__list {
	margin-top: min(7.6923076923vw, 30px);
}

.faq__block {
	margin-bottom: min(3.8461538462vw, 15px);
	box-shadow: 0 min(1.0256410256vw, 4px) min(1.0256410256vw, 4px) rgba(0, 0, 0, 0.25);
}

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

.faq__question {
	padding: min(3.8461538462vw, 15px) min(9.7435897436vw, 38px) min(3.8461538462vw, 15px) min(3.8461538462vw, 15px);
}

.faq__question-q {
	display: none;
}

.faq__question-icon {
	right: min(2.5641025641vw, 10px);
	width: min(4.6153846154vw, 18px);
	height: min(4.6153846154vw, 18px);
}

.faq__question-bar.--vertical {
	width: min(3.0769230769vw, 12px);
	height: min(0.5128205128vw, 2px);
}

.faq__question-bar.--beside {
	width: min(0.5128205128vw, 2px);
	height: min(3.5897435897vw, 14px);
}

.faq__question-text {
	font-size: min(4.1025641026vw, 16px);
}

.faq__answer {
	padding: min(3.0769230769vw, 12px) min(3.0769230769vw, 12px) min(3.0769230769vw, 12px) min(3.0769230769vw, 12px);
}

.faq__answer-text {
	font-size: min(3.5897435897vw, 14px);
}

.faq__answer-text::after {
	height: min(0.5128205128vw, 2px);
}

.cost-plan__block.--limited {
	padding-bottom: min(17.9487179487vw, 70px);
}

.cost-plan__block-list.--limited {
	-moz-column-gap: min(1.2820512821vw, 5px);
	grid-template-columns: repeat(2, 1fr);
	column-gap: min(1.2820512821vw, 5px);
	row-gap: min(1.2820512821vw, 5px);
	margin-top: min(3.5897435897vw, 14px);
}

.cost-plan__block-text.--limited {
	padding: min(3.3333333333vw, 13px) 0;
	font-size: min(3.8461538462vw, 15px);
}

.cost-plan__block-text.--limited.--sp-small {
	padding: min(1.5384615385vw, 6px) 0;
	font-size: min(3.3333333333vw, 13px);
}

.cost-plan__wrap.--limited {
	width: min(77.6923076923vw, 303px);
	margin: min(7.6923076923vw, 30px) auto 0;
}

.cost-plan__wrap-left.--limited {
	width: 100%;
}

.cost-plan__title.--limited {
	font-size: min(9.2307692308vw, 36px);
}

.cost-plan__text.--limited {
	margin-top: min(6.1538461538vw, 24px);
	font-size: min(4.1025641026vw, 16px);
}

.cost-plan__wrap-right.--limited {
	width: 100%;
}

.cost-plan__btn.--limited {
	margin-top: min(7.6923076923vw, 30px);
}

}

