/* price.css */

.price-sec {
	background: #f5f5f5;
}
@media screen and (min-width:744px) {
	.price-sec img.pc {
		display: block;
	}	
}

.price_detail {
	padding: 50px 0;
}
.price_detail .inner {
	max-width: 668px;
	margin: 0 auto;	
}
.price_detail .ttl_area {
	margin-bottom: 40px;
	padding: 20px;
	background: #B48B43;
}
.price_detail .ttl_area .ttl {
	margin: 0 0 15px;
	color: #fff;
}
.price_detail .ttl_area .sub {
	color: #fff;
	font-size: 14px;
	text-align: center;
}

.price_sheet {
	border-top: 1px solid #B48B43;
	border-bottom: 1px solid #B48B43;
}
.price_sheet > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #B48B43;
	padding: 15px 4vw;
}
.price_sheet > div.noline {
	border-bottom: none;
	padding-bottom: 5px;
}
.price_sheet > div.noline.end {
	padding-bottom: 15px;
}
.price_sheet > div.noline .subdl {
	padding-left: 16px;
}
.price_sheet dd.small {
	font-size: 14px;
}
p.price_add {
	margin: 10px 0 50px;
	font-size: 12px;
}

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

	.price_detail {
		padding: 50px 0 90px;
	}
	.price_detail .ttl_area {
		position: relative;
	}
	.price_detail .ttl_area .ttl {
		margin: 0;
	}
	.price_detail .ttl_area .sub {
		position: absolute;
		right: 20px;
		bottom: 20px;
		text-align: right;
	}
	
	.price_sheet > div {
		padding: 15px 30px;
	}
	.payment {
		text-align: center;
	}
	
}

.price_end {
	padding: 50px 0 0;
	background: url("../img/price/bg_02.png") no-repeat;
	background-position: bottom;
	background-size: auto 750px;
}
.price_end .inner {
	max-width: 668px;
	margin: 0 auto;	
}
.price_end .box {
	padding: 30px 4vw;
	background: #fff;
	border: 1px solid #17B8A6;
	color: #17B8A6;
}
.price_end .box .ttl {
	margin-bottom: 20px;
	color: #17B8A6;
	text-align: center;
}
.price_end .box .ttl span {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 1px solid #17B8A6;
	font-size: min(6vw,25px);
}
.price_end .box ul {
	margin: 0 auto;
	width: fit-content;
}
.price_end .box ul li {
	margin-bottom: 5px;
	font-size: min(4vw,18px);
}
.price_end .box ul li:before {
	margin-right: 5px;
	content: "✓";
}
.price_end .subttl {
	margin: 30px 0 0;
	font-size: min(4.25vw,30px);
	line-height: 1.75;
	text-align: center;
}
.price_end .subttl span {
	color: #B48B43;
}

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

	.price_end {
		padding: 50px 0;
		background-size: 100% auto;
	}
	.price_end .subttl {
		margin: 50px 0 0;
		font-size: 25px;
	}
	
}

.price_more {
	padding: 0;
	background: url("../img/price/bg_01.png") no-repeat;
	background-position: center;
	background-size: auto 750px;
}
.price_more .inner {
	max-width: 668px;
	margin: 0 auto;
}
.price_more .ttl {
	margin: 0;
}
.price_more .point {
	padding: 30px 0;
	text-align: center;
}
.price_more .point span {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 1px solid #B48B43;
	color: #B48B43;
	font-size: min(5vw,36px);
	font-style: italic;
}
.price_more .box {
	background: #fff;
	border: 1px solid #B48B43;
	margin: 15px 0 20px;
	padding: 15px 4vw;
}
.price_more .box p {
	margin: 0;
	font-size: min(2.8vw,12px);
	text-align: center;
}
.price_more .text {
	font-size: min(3.5vw,16px);
	line-height: 2.5;
	text-align: center;
}
.price_more .text span {
	color: #17B8A6;
}

@media screen and (min-width:744px) {
	
	.price_more {
		background-size: 100% auto;
	}
	.price_more {
		padding: 40px 0 0;
	}	
	.price_more .point {
		padding: 40px 0;
	}
	.price_more .point span {
		font-size: min(4vw,36px);
	}
	.price_more .box {
		padding: 15px 20px;
	}
	.price_more .box p {
		margin: 30px 0;
		font-size: min(1.333vw,14px);
	}
	
}

.price_head {
	padding: 50px 0 0;
}
.price_head h3.ttl {
	margin: 50px 0 20px;
	color: #333;
	font-size: min(4vw,20px);
	line-height: 1.75;
	text-align: center;
}
.price_head h3.ttl span {
	color: #17B8A6;
	font-size: min(4.5vw,25px);
}
.price_head .box {
	margin-bottom: 20px;
	padding: 15px 4vw;
	background: #fff;
	border: 1px solid #17B8A6;
}
.price_head .box p {
	margin: 0;
	font-size: min(2.8vw,12px);
}
.price_head .circles img {
	margin: 0 auto;
	max-width: 87.5%;
}
.price_head h4.subttl {
	margin: 20px 0;
	color: #B48B43;
	font-size: min(3.75vw,18px);
	line-height: 1.75;
	text-align: center;
}
.price_head h4.subttl span {
	color: #17B8A6;
	font-size: min(4.25vw,22px);
}

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

	.price_head {
		padding: 60px 0 0;
	}
	.price_head .frame {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}	
	.price_head .frame .texts {
		width: 48%;
	}
	.price_head h3.ttl {
		margin: 0 0 20px;
		font-size: min(2vw,20px);
	}
	.price_head h3.ttl span {
		font-size: min(2.25vw,25px);
	}	
	.price_head .box {
		padding: 15px 20px;
	}
	.price_head .box p {
		font-size: min(1.333vw,14px);
	}
	.price_head .circles img {
		max-width: 100%;
	}
	.price_head h4.subttl {
		font-size: min(1.75vw,20px);
	}
	.price_head h4.subttl span {
		font-size: min(2vw,24px);
	}
	.price_head .frame .system {
		width: 48.5%;
		order: 2;
	}	
	
}


.price_ttl {
	padding: 30px 0;
	background: #B48B43;
}
.price_ttl h2.ttl {
	margin: 0;
	color: #fff;	
}

@media screen and (min-width:744px) {
	
	.price_ttl {
		padding: 40px 0;
	}
	.price_ttl h2.ttl {
		font-size: 3rem;
	}
	.price_ttl h2.ttl span {
		display: inline-block;
		padding-bottom: 5px;
		border-bottom: 1px solid #fff;
	}
	.price_ttl h2.ttl br {
		display: none;
	}	
	
}


.under-fv {
    position: relative;
    height: 30rem;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-image: url(../img/first/fv_first.webp);
}
.under-fv h1 {
    width: 95%;
    font-size: 3.5rem;
    text-align: center;
    color: #0bc3ab;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 auto;
}
.under-fv h1 span {
    font-size: 1px;
    height: 0;
    color: rgba(0, 0, 0, 0);
    display: inline-block;
    margin: 0;
    padding: 0;
}
.breadcrumbs.container {
    padding: 2rem 1rem;
}
.breadcrumbs span, .breadcrumbs a {
    font-size: 1.2rem;
}
.breadcrumbs a {
    color: #0bc3ab;
}
.ttl {
    font-size: 2.4rem;
    text-align: center;
    position: relative;
    color: #d39f40;
    font-weight: 500;
    margin-bottom: 4rem;
}
.ttl span {
    font-size: 3rem;
}
h3 {
    font-size: 2rem;
    color: #0bc3ab;
}
.faq {
    background-image: url(../img/first/fv_first.webp);
}
.faq-sec {
    padding: 4rem 0 6rem;
}
@media screen and (min-width:744px) {
    .ttl {
        font-size: 3.5rem;
    }
}