@charset "UTF-8";
/* CSS Document */
/*---------- パンくず ----------*/
.mod-topicpath {
	margin: 0;
	padding: .8em 0 .7em;
	line-height: 1.3;
	font-size: 12px;
}
.mod-topicpath li {
	display: inline;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mod-topicpath li:nth-child(n+2)::before {
	content: " > ";
}
.mod-topicpath a {
	color: #149953;
	text-decoration: none;
}
.mod-topicpath a:hover {
	text-decoration: underline;
}
.mod-topicpath li:last-child a {
	color: inherit;
}
@media (max-width: 480px) {
	.mod-topicpath {
		font-size: 11px;
	}
}


/*---------- 見出し ----------*/
.sec-head h1{
    width:100%;
    background: #149953;
    color:#fff;
    text-align: center;
    height:120px;
    font-size: 40px;
	font-weight: 700;
	line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    /*---------- 見出し ----------*/
    .sec-head h1{
        width:100%;
        height:20vw;
        font-size: 5vw;
    }
}

/*---------- price ----------*/
.sec-price{
    background: #f4fbf7;
    padding:80px 0;
}
.price-read{
    font-size:20px;
    text-align: center;
    margin-bottom:50px;
}
.price-read span{
    font-size:28px;
    font-weight: bold;
    color:#ef4806;
}
.price-box{
    width:95%;
    max-width:900px;
    border-radius: 10px;
    box-shadow: rgba(162,162,154,0.8) 0 0 10px;
    background: #fff;
    margin:0 auto;
}
.price-box + .price-box{margin-top:30px;}
.price-box-in{
    width:95%;
    max-width:680px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin:0 auto;
    padding:30px 0;
}
.price-box-in > p{
    width:25%;
}
.price-box-txt{
    width:70%;
}
.price-ttl{
    font-size:30px;
    font-weight: bold;
    color:#149953;
    border-bottom:1px solid #149953;
}
.price-txt{
    font-size:26px;
    font-weight: bold;
    color:#ef4806;
}
.price-txt span{font-size:56px;}

@media (max-width: 767px) {
    .sec-price{
        padding:5vw 0 10vw;
    }
    .price-read{
        font-size: 3.8vw;
        margin-bottom:5vw;
    }
    .price-read span{
        font-size: 4.6vw;
    }
    .price-box{
        width:100%;
        max-width:100%;
        margin:0 auto;
    }
    .price-box + .price-box{margin-top:5vw;}
    .price-box-in{
        width:100%;
        max-width:100%;
        margin:0 auto;
        padding:5vw 3vw;
    }
    .price-box-in > p{
        width:20%;
    }
    .price-box-txt{
        width:77%;
    }
    .price-ttl{
        font-size: 4vw;
    }
    .price-txt{
        font-size: 3.8vw;;
    }
    .price-txt span{font-size: 8vw;
    }
}

/*---------- step ----------*/
.sec-step{
    padding:80px 0;
}
.step-head{
    position: relative;
    background:#149953 ;
    padding:15px 0;
    text-align: center;
    margin-bottom:50px;
}
.step-head h2{
    background:#149953 ;
    color:#fff;
    font-size:28px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    display: inline-block;
    position: relative;
}
.step-head h2::before{
    position: absolute;
    content:'';
    background: url("../img/price/h-step.png") no-repeat center;
    background-size:contain;
    width:230px;
    height:95px;
    top:-70%;
    left:-80%;
}
.step-head h2 span{
    font-size:38px;
    color:#fbe23c;
    display: inline-block;
}
.step-list{
}
.step-list li{
    display: flex;
    flex-wrap: wrap;
}
.step-list li + li{margin-top:30px;}
.step-no{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    background: #70c542;
    width:15%;
    color:#fbe23c;
    font-weight: bold;
    font-size:34px;
    line-height: 1;
    text-align: center;
}
.step-no span{
    display: block;
    font-size:70px;
}
.step-txt{
    width:60%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background: #f4fbf7;
    padding:30px;
    font-size:20px;
}
.step-txt span{
    font-weight: bold;
    font-size:30px;
}
.step-image{
    width:25%;
}
@media (max-width: 1300px) {
    .step-no span{font-size:5vw;}
    .step-txt{font-size:1.5vw;}
    .step-txt span{font-size:2.5vw;} 
}
@media (max-width: 960px) {
    .step-no span{font-size:5vw;}
    .step-txt{
        padding:15px;
        font-size:1.7vw;
        width:57%;
    }
    .step-txt span{font-size:2.7vw;} 
    .step-image{
        width:28%;
    }
}
@media (max-width: 767px) {
    .sec-step{
        padding:10vw 0;
    }
    .step-head{
        padding:3vw 0;
        margin-bottom:5vw;
    }
    .step-head h2{
        font-size:4vw;
        line-height: 1.5;
    }
    .step-head h2::before{
        position: absolute;
        content:'';
        background: url("../img/price/h-step.png") no-repeat center;
        background-size:contain;
        width:34.667vw;
        height:14.667vw;
        top:-75%;
        left:-75%;
    }
    .step-head h2 span{
        font-size:5vw;
    }
    .step-list li{
        position: relative;
    }
    .step-list li + li{margin-top:5vw;}
    .step-no{
        position: absolute;
        font-size: 4.6vw;
        line-height: 1.3;
        width:15vw;
        height:15vw;
    }
    .step-no span{
        font-size: 6vw;
        margin-left:1vw;
    }
    .step-txt{
        width:100%;
        padding:3vw;
        Font-size:3.4vw;
    }
    .step-txt span{
        font-size: 3.8vw;
    }
    .step-image{
        width:100%;
    }
    .child_2{order: 3;}
    .child_3{order: 2;
    }
}

