@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@media screen and (min-width:769px){
	.pcnone{
		display: none;
	}
}
*{
	letter-spacing: 0;
}
body{
    color: #333;
}
:root {
    --main: #0074ab;
	--blue: #0069A1;
	--orange: #FA7F14;
}
.poppins{
    font-family: "Poppins";
}
.top_inner{
	max-width: 1210px;
	width: 100%;
	padding: 0 15px;
	margin: 0 auto;
}
.mv{
	
}
.mv .mv_inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: row-reverse;
}
.mv .mv_inner .image{
	display: flex;
	justify-content: flex-end;
	height: 640px;
	overflow: hidden;
	position: relative;
}
.mv .mv_inner .image::after{
	content: '';
	display: block;
	width: 30%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(to right, #fff, #fff, transparent);
}
.mv .mv_inner .image img{

}
.mv .mv_inner .text{
	max-width: 1210px;
	width: 100%;
	padding: 0 15px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
    color: var(--main);
}
.mv .mv_inner .text .price{
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    background: var(--main);
    color: #fff;
    font-weight: 600;
    line-height: 1;
    padding: 15px;
	padding-top: 10px;
    border-radius: 5px;
    margin-bottom: 20px;
    width: 600px;
    text-align: center;
}
.mv .mv_inner .text .price .title{
	font-size: 24px;
}
.mv .mv_inner .text .price .title span{
    font-size: 34px;
}
.mv .mv_inner .text .sub{
	font-weight: 800;
    font-size: 27px;
	width: 50%;
	max-width: 600px;
	color: #333;
}
.mv .mv_inner .text .sub span{
    font-size: 32px;
	position: relative;
	color: var(--main);
}
.mv .mv_inner .text .sub span::before{
	content: '';
    display: block;
    width: 100%;
    height: 10px;
    background: #fff900;
    position: absolute;
    left: 0;
    bottom: 2px;
    z-index: -1;
}
.mv .mv_inner .text .main{
	font-weight: 800;
    font-size: 62px;
    line-height: 1;
	width: 50%;
	max-width: 600px;
}
.mv .mv_inner .text .badge{
	width: 50%;
	max-width: 600px;
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.mv .mv_inner .text .badge img{
	width: 30%;
}
.mv .mv_inner .text .btn{
	margin-top: 80px;
	position: relative;
    width: 100%;
    max-width: 600px;
    text-align: center;
}
.mv .mv_inner .text .btn a{
    background: linear-gradient(to top,#fa7f14,#ff8f2e);
    border: 2px solid #fff;
    color: #fff;
    padding: 20px 100px;
    border-radius: 500px;
    font-weight: 600;
    font-size: 24px;
	position: relative;
    box-shadow: 0px 5px 10px 0 #00000036;
    transition: ease all .4s;
}
.mv .mv_inner .text .btn a::before{
    content: '';
    border: 7px solid transparent;
    border-left: 9px solid #fff;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.mv .mv_inner .text .btn a:hover{
    opacity: .7;
}
.mv .mv_inner .text .btn span{
	background: #fff;
    border-radius: 500px;
    color: var(--orange);
    position: absolute;
    left: 50%;
    transform: translate(-50%, -90%);
    top: 0;
    font-size: 14px;
    padding: 5px 20px;
    font-weight: 500;
    border: 2px solid var(--orange);
	z-index: 2;
	pointer-events: none;
}
@media screen and (max-width:1260px){
    .mv .mv_inner .image{
        height: 580px;
    }
    .mv .mv_inner .image::after{
        width: 45%;
    }
    .mv .mv_inner .text .price{
        width: 100%;
        max-width: 460px;
    }
    .mv .mv_inner .text .sub{
        font-size: 20px;
        max-width: 460px;
        width: 100%;
    }
    .mv .mv_inner .text .sub span{
        font-size: 30px;
    }
    .mv .mv_inner .text .main{
        width: 100%;
        max-width: 460px;
        font-size: 48px;
    }
    .mv .mv_inner .text .badge{
        width: 100%;
        max-width: 460px;
    }
    .mv .mv_inner .text .btn{
        width: 100%;
        max-width: 460px;
    }
}
@media screen and (max-width:768px){
    .mv .mv_inner{
        display: block;
        margin-top: 64.44px;
    }
    .mv .mv_inner .image {
        height: auto;
    }
    .mv .mv_inner .image::after {
        width: 100%;
        height: 40%;
        top: auto;
        bottom: 0;
        left: 0;
        background: linear-gradient(to top, #fff, transparent);
    }
    .mv .mv_inner .text{
        position: relative;
        transform: none;
        left: 0;
    }
    .mv .mv_inner .text .price{
        padding: 10px;
        display: block;
        margin: 20px auto;
    }
    .mv .mv_inner .text .price .title {
        font-size: 18px;
        line-height: 1;
    }
    .mv .mv_inner .text .price .title span {
        font-size: 24px;
    }
    .mv .mv_inner .text .sub {
        font-size: 18px;
        text-align: center;
        margin: 20px auto;
    }
    .mv .mv_inner .text .sub span {
        font-size: 21px;
    }
    .mv .mv_inner .text .main {
        font-size: 44px;
        text-align: center;
        line-height: 1.3;
        margin: 20px auto;
    }
    .mv .mv_inner .text .badge{
        margin: 20px auto;
    }
    .mv .mv_inner .text .btn{
        margin: 60px auto 40px;
    }
    .mv .mv_inner .text .btn a{
        position: relative;
        top: -20px;
        display: block;
        width: 100%;
        padding: 20px;
    }
}
@media screen and (max-width:568px){
	.mv .mv_inner .image {
        height: 44vw;
        overflow: hidden;
    }
	.mv .mv_inner .image img {
		min-width: 100%;
		position: absolute;
	}
	.mv .mv_inner .text .sub{
		font-size: 16px;
	}
	.mv .mv_inner .text .sub span {
        font-size: 18px;
    }
	.mv .mv_inner .text .main{
		font-size: 35px;
	}
}
/*===============================
*
*common
*
*===============================*/
.top_wrapper h2{
	text-align: center;
    font-weight: 700;
    font-size: 34px;
	color: #333;
	margin-bottom: 40px;
    line-height: 1;
}
.top_wrapper h2 span{
	font-size: 44px;
    color: var(--main);
}
.center_text{
	text-align: center;
    font-weight: 400;
}
.center_banner{
    margin: 80px auto;
    max-width: 1210px;
    padding: 0 15px;
    text-align: center;
}
.link_banner{
    text-align: center;
}
.link_banner a{
    transition: ease all .4s;
}
.link_banner a:hover{
    opacity: .7;
}
@media screen and (max-width:768px){
    .center_banner{
        margin: 40px auto 80px;
    }
    .top_wrapper h2{
        font-size: 24px;
        line-height: 1.3;
    }
    .top_wrapper h2 span{
        font-size: 30px;
        display: inline-block;
    }
}
@media screen and (max-width:568px){
    .top_wrapper h2{
        font-size: 22px;
    }
    .top_wrapper h2 span{
        font-size: 26px;
    }
}
/*===============================
*
*sec1
*
*===============================*/
.sec1{
    background: var(--main);
    padding: 60px 0;
}
.top_wrapper .sec1 h2{
    color: #fff;
    padding-top: 30px;
    position: relative;
    line-height: 1.4;
    margin-bottom: 20px;
}
.top_wrapper .sec1 h2::before{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 67px;
    height: 23px;
    background: url(../images/top/sec1-title.png)no-repeat center;
}
.top_wrapper .sec1 h2 span{
    color: #fffc18;
}
.sec1 .check_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sec1 .check_list li{
    width: 30%;
    margin: 10px 0;
}
.sec1 .check_list li a{
    background: #fff;
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    color: var(--main);
    display: block;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    position: relative;
    transition: ease all .4s;
}
.sec1 .check_list li a::before{
    content: '';
    width: 12px;
    height: 8px;
    background: url(../images/top/arrow-bottom.png)no-repeat center;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.sec1 .check_list li a:hover{
    opacity: .7;
}
@media screen and (max-width:968px){
    .sec1{
        padding: 40px 0;
    }
}
@media screen and (max-width:768px){
    .sec1 .check_list li{
        width: 49%;
    }
    .sec1 .check_list li a{
        font-size: 18px;
    }
}
@media screen and (max-width:568px){
    .sec1 .check_list li{
        width: 100%;
        margin: 10px auto;
    }
}
/*===============================
*
*sec2
*
*===============================*/
.sec2{
    margin: 80px auto;
}
.sec2 .text{
	text-align: center;
    font-size: 20px;
    font-weight: 600;
}
.sec2 .image{
    text-align: center;
    margin: 40px auto;
}
@media screen and (max-width:768px){
    .sec2 .text{
        font-size: 18px;
    }
    .sec2 .text br{
        display: none;
    }
}
@media screen and (max-width:568px){
    .sec2 .text{
        font-size: 16px;
    }
}
/*===============================
*
*sec03
*
*===============================*/
.sec3{
	margin: 80px auto;
    padding: 0 15px;
}
.sec3 .top_inner{
    background: #f4faff;
    padding: 40px;
    overflow: hidden;
    max-width: 1180px;
}
.sec3 .top_inner .sec3_inner{
    position: relative;
}
.sec3 .top_inner .sec3_inner .content{
    display: block;
    max-width: 860px;
    width: 100%;
    position: relative;
    background: #fff;
    margin: 0 auto;
    border-radius: 10px;
    padding: 40px;
    padding-bottom: 80px;
    margin-top: 40px;
}
.sec3 .top_inner .sec3_inner .content .comment{
    position: absolute;
    left: 40px;
    top: 0;
    transform: translateY(-50%);
}
.sec3 .top_inner .sec3_inner .sec3_inner_text{
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.sec3 .top_inner .sec3_inner .sec3_inner_text_top{
    font-size: 20px;
    font-weight: 600;
    color: var(--main);
    line-height: 1;
}
.sec3 .top_inner .sec3_inner .sec3_inner_text_bottom{
    font-size: 40px;
    font-weight: 700;
    color: var(--main);
    line-height: 1.2;
}
.sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span{
    font-size: 45px;
    color: var(--orange);
    position: relative;
}
.sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span .as{
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-50%);
    color: var(--main);
    font-size: 12px;
}
.sec3 .top_inner .sec3_inner .plus{
    font-size: 60px;
    line-height: 1;
    color: var(--main);
}
.sec3 .top_inner .sec3_inner .sec03_inner_content_image{
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    transform: translateY(20%);
    pointer-events: none;
}
.sec3 .top_inner .sec3_idea{
    margin: 40px auto;
    margin-top: 120px;
    background: #fff;
    border: 2px dashed var(--main);
    max-width: 860px;
    width: 100%;
    border-radius: 10px;
    padding: 40px;
    position: relative;
}
.sec3 .top_inner .sec3_idea .title{
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    transform: translateY(-50%);
}
.sec3 .top_inner .sec3_idea .title .icon{
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 50%;
    border: 2px solid var(--main);
    position: relative;
    z-index: 2;
}
.sec3 .top_inner .sec3_idea .title .text{
    color: #fff;
    background: var(--main);
    padding: 5px 50px;
    font-size: 18px;
    font-weight: 700;
    position: relative;
    left: -40px;
    border-radius: 10px;
}
.sec3 .top_inner .sec3_bottoms{
    margin: 80px auto;
    text-align: center;
}
.sec3 .top_inner .sec3_bottoms p{
    color: var(--main);
    font-weight: bold;
    font-size: 30px;
}
@media screen and (max-width:1260px){
    .sec3 .top_inner{
        padding: 20px;
    }
    .sec3 .top_inner .sec3_inner .content{
        padding: 40px 80px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_top{
        font-size: 18px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom{
        font-size: 35px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span{
        font-size: 40px;
    }
    .sec3 .top_inner .sec3_inner .sec03_inner_content_image{
        transform: translateY(40%);
    }
}
@media screen and (max-width:768px){
    .sec3 .top_inner .sec3_inner .content {
        padding: 40px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text{
        display: block;
        text-align: center;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom {
        font-size: 30px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span {
        font-size: 35px;
    }
    .sec3 .top_inner .sec3_inner .plus{
        font-size: 40px;
        width: 100%;
        text-align: center;
        margin: 10px auto;
    }
    .sec3 .top_inner .sec3_idea{
        padding: 20px;
        padding-top: 40px;
    }
    .sec3 .top_inner .sec3_bottoms{
        margin: 40px auto;
    }
    .sec3 .top_inner .sec3_bottoms img{
        max-width: 70%;
    }
    .sec3 .top_inner .sec3_bottoms p{
        font-size: 20px;
    }
}
@media screen and (max-width:568px){
    .sec3 .top_inner .sec3_inner .content .comment{
        width: 50%;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text{
        margin-top: 0;
    }
    .sec3 .top_inner .sec3_inner .content {
        padding: 40px 20px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_top{
        margin-bottom: 5px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom{
        font-size: 20px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span {
        font-size: 25px;
    }
    .sec3 .top_inner .sec3_inner .sec3_inner_text_bottom span .as{
        transform: translateY(-30%);
        font-size: 12px;
        bottom: 0;
        top: auto;
        right: -20px;
    }
    .sec3 .top_inner .sec3_inner .sec03_inner_content_image img{
        width: 100px;
        height: min-content;
    }
    .sec3 .top_inner .sec3_bottoms p{
        font-size: 18px;
    }
    .sec3 .top_inner .sec3_bottoms p br{
        display: none;
    }
}
/*===============================
*
*sec4
*
*===============================*/
.sec4{
	background: #f4faff;
	margin: 80px auto;
	padding: 60px 0;
}
.sec4 .sec4_list{
    position: relative;
}
.sec4 .sec4_list::before{
    content: '';
    display: block;
    width: 25%;
    height: 100%;
    background: linear-gradient(to right,#f4faff,transparent);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}
.sec4 .sec4_list::after{
    content: '';
    display: block;
    width: 25%;
    height: 100%;
    background: linear-gradient(to left,#f4faff,transparent);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}
.sec4 .splide__arrow--prev,
.sec4 .splide__arrow--next{
    z-index: 3;
    background: none;
}
.sec4 .splide__arrow svg{
    height: 2.2em;
    width: 2.2em;
    fill: var(--main);
}
.sec4 .splide__pagination{
    position: relative;
    top: 0;
    margin: 40px auto;
}
.sec4 .splide__pagination__page{
    width: 16px;
    height: 16px;
    margin: 0 10px;
}
.sec4 .splide__pagination__page.is-active{
    transform: none;
    background: var(--main);
}
.sec4 ol{
	display: flex;
	justify-content: space-between;
	margin: 60px auto 0;
}
.sec4 ol li{
	background: #fff;
    padding: 40px 20px;
    padding-top: 60px;
	position: relative;
    border-radius: 10px;
    margin-top: 80px;
}
.sec4 ol li:last-child{
	margin-right: 0;
}
.sec4 ol li .image{
	width: 110px;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 0;
}
.sec4 ol li .name{
	font-size: 20px;
    font-weight: 500;
}
.sec4 ol li .comment{
	line-height: 1.7;
    font-size: 14px;
    font-weight: 400;
	color: #555;
}
.sec4 .sec4_btn{
	margin: 40px auto 0;
	text-align: center;
}
.sec4 .sec4_btn a{
	background: #fff;
    padding: 20px 40px;
    border: 2px solid var(--main);
    border-radius: 500px;
    font-weight: 700;
    font-size: 20px;
    color: var(--main);
    position: relative;
    width: 100%;
    display: block;
    max-width: 520px;
    margin: 0 auto;
    transition: ease all .4s;
}
.sec4 .sec4_btn a::before {
    content: '';
    border: 5px solid transparent;
    border-left: 7px solid var(--main);
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.sec4 .sec4_btn a:hover{
    opacity: .7;
}
.sec4 .btn_bottom{
	text-align: center;
    font-size: 14px;
    font-weight: 400;
    color: #555;
}
@media screen and (max-width:768px){
    .sec4 .splide__pagination__page {
        width: 12px;
        height: 12px;
        margin: 0 5px;
    }
    .sec4 .sec4_list::before,
    .sec4 .sec4_list::after{
        width: 10%;
    }
    .sec4 .splide__arrow svg{
        height: 1.5em;
        width: 1.5em;
    }
    .sec4 .splide__arrow--prev{
        left: 0;
    }
    .sec4 .splide__arrow--next{
        right: 0;
    }
    .sec4 .sec4_btn a{
        font-size: 16px;
        padding: 10px 40px;
    }
    .sec4 .btn_bottom{
        margin-top: 10px;
        font-size: 12px;
    }
}
/*===============================
*
*sec5
*
*===============================*/
.sec5{
	margin: 80px auto;
}
.sec5 .sec5_title{
	display: flex;
    justify-content: center;
    align-items: flex-end;
}
.sec5 .sec5_title .image{
	width: 120px;
	margin-right: 20px;
}
.top_wrapper .sec5 h2{
	line-height: 1.3;
    text-align: left;
    margin-bottom: 20px;
	font-size: 30px;
    position: relative;
    padding-right: 40px;
}
.top_wrapper .sec5 h2::before{
    content: '';
    display: block;
    width: 58px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    background: url(../images/top/sec5-title02.png)no-repeat center;
    transform: translateY(-50%);
}
.sec5 .sec5_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 60px auto;
}
.sec5 .sec5_list li{
    width: 32%;
    margin: 20px 0;
    position: relative;
    border-radius: 10px;
}
.sec5 .sec5_list li::before{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main);
    position: absolute;
    left: 0;
    top: 10px;
    z-index: -1;
    border-radius: 10px;
}
.sec5 .sec5_list li .inner{
    background: #fcfeff;
    border: 1px solid var(--main);
    border-radius: 10px;
    overflow: hidden;
    padding: 20px;
    text-align: center;
    position: relative;
    z-index: 2;
    transition: ease all .4s;
    top: 0;
}
.sec5 .sec5_list li .inner::before {
    content: '';
    border: 8px solid transparent;
    border-left: 8px solid var(--main);
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.sec5 .sec5_list li .inner:hover{
    top: 8px;
    background: #fff;
    cursor: pointer;
}
.sec5 .sec5_list li .inner .text .title{
    margin: 20px auto;
    color: var(--main);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
.sec5 .sec5_list li .inner .text p{
    color: #333;
}
.sec5 .sec5_modal_bg{
    display: block;
    width: 100vw;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    background: #000;
    opacity: 0;
    pointer-events: none;
    z-index: 9;
    transition: ease all .4s;
}
.sec5 .sec5_modal_bg.active{
    opacity: .3;
    pointer-events: all;
}
.sec5 .sec5_modal .modal_inner{
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 10px;
    width: 90%;
    max-width: 680px;
    max-height: 720px;
    height: 90%;
    padding: 20px;
    box-shadow: 0px 5px 15px 0 #0000002b;
    z-index: 99;
    transition: ease all .4s;
    opacity: 0;
    pointer-events: none;
}
.sec5 .sec5_modal .modal_inner.active{
    opacity: 1;
    pointer-events: all;
}
.sec5 .sec5_modal .modal_inner .image{
    margin: 20px auto;
}
.sec5 .sec5_modal .modal_inner .title {
    margin: 20px auto;
    color: var(--main);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
.sec5 .sec5_modal .modal_inner .text{
    text-align: center;
    font-weight: 400;
}
.sec5 .sec5_modal .modal_inner .cont{
    overflow-y: scroll;
    height: 100%;
}
.sec5 .sec5_modal .modal_inner .list_title{
    font-weight: 700;
    font-size: 18px;
    position: relative;
    padding-left: 35px;
}
.sec5 .sec5_modal .modal_inner .list_title.nayami::before{
    content: '';
    display: block;
    width: 25px;
    height: 28px;
    background: url(../images/top/nayami.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.sec5 .sec5_modal .modal_inner .list_title.idea::before{
    content: '';
    display: block;
    width: 25px;
    height: 30px;
    background: url(../images/top/sec3-light.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.sec5 .sec5_modal .modal_inner ol{
    margin: 10px auto;
}
.sec5 .sec5_modal .modal_inner ol li{
    font-size: 14px;
    font-weight: 500;
    margin: 5px 0;
}
.sec5 .sec5_modal .modal_inner .nayami_list{
    padding: 10px;
}
.sec5 .sec5_modal .modal_inner .idea_list{
    padding: 10px;
    background: #fff8e9;
}
.sec5 .sec5_modal .modal_inner .idea_list ol li{
    font-size: 16px;
}
.sec5 .sec5_modal .modal_inner .close{
    margin-top: 20px;
    text-align: center;
    text-decoration: underline;
    font-size: 14px;
    color: var(--main);
}
.sec5 .sec5_modal .modal_inner .close:hover{
    cursor: pointer;
}
.sec5 .sec5_bottom {
    margin: 40px auto;
    margin-top: 120px;
    background: #fff;
    border: 2px dashed var(--main);
    width: 100%;
    border-radius: 10px;
    padding: 40px;
    padding-top: 60px;
    position: relative;
    text-align: center;
    font-size: 22px;
    font-weight: 500;
}
.sec5 .sec5_bottom .title{
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    background: var(--main);
    padding: 15px 40px;
    border-radius: 10px;
    line-height: 1;
    display: inline-block;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sec5 .sec5_bottom .image{
    margin-top: 30px;
}
@media screen and (max-width:968px){
    .sec5 .sec5_modal .modal_inner{
        height: 75%;
        max-height: 700px;
    }
    .sec5 .sec5_modal .modal_inner ol li {
        font-size: 12px;
    }
    .sec5 .sec5_modal .modal_inner .idea_list ol li{
        font-size: 14px;
    }
}
@media screen and (max-width:768px){
    .sec5 .sec5_title .image{
        width: 80px;
    }
    .top_wrapper .sec5 h2{
        font-size: 24px;
        padding-right: 35px;
    }
    .top_wrapper .sec5 h2::before{
        width: 46px;
        height: 52px;
        background-size: 100%;
    }
    .sec5 .sec5_list{
        margin: 40px auto;
    }
    .sec5 .sec5_list li{
        width: 48%;
    }
    .sec5 .sec5_bottom{
        margin-top: 60px;
        padding: 20px;
        padding-top: 40px;
        font-size: 18px;
    }
    .sec5 .sec5_bottom .title{
        width: 80%;
        font-size: 18px;
    }
}
@media screen and (max-width:568px){
    .top_wrapper .sec5 h2{
        font-size: 22px;
    }
    .sec5 .sec5_title .image {
        width: 90px;
    }
    .sec5 .sec5_list li{
        width: 100%;
        margin: 10px auto;
    }
    .top_wrapper .sec5 h2::before {
        width: 38px;
        height: 44px;
    }
    .sec5 .sec5_bottom{
        font-size: 16px;
    }
    .sec5 .sec5_bottom .title{
        padding: 15px;
    }
}
/*===============================
*
*sec6
*
*===============================*/
.sec6{
    margin: 80px auto;
    background: #f4faff;
    padding: 60px 0;
}
.sec6 .center_text{
    margin: 40px auto;
    font-size: 20px;
    font-weight: 500;
}
@media screen and (max-width:768px){
    .sec6 .center_text {
        font-size: 16px;
    }
}
/*===============================
*
*sec7
*
*===============================*/
.sec7{
    margin: 80px auto;
}
.sec7 ol{
    display: flex;
    justify-content: space-between;
    max-width: 1100px;
    padding: 0 20px;
    margin: 40px auto;
}
.sec7 ol li{
    width: 48%;
    max-width: 480px;
}
.sec7 ol li a{
    color: #fff;
    background: var(--main);
    display: flex;
    align-items: center;
    padding: 30px 40px;
    font-size: 22px;
    font-weight: 500;
    border-radius: 10px;
    position: relative;
    transition: ease all .4s;
}
.sec7 ol li a:hover{
    opacity: .7;
}
.sec7 ol li a::before {
    content: '';
    border: 7px solid transparent;
    border-left: 9px solid #fff;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translatey(-50%);
}
.sec7 ol li a .image{
    margin-right: 20px;
}
@media screen and (max-width:768px){
    .sec7 ol{
        display: block;
        padding: 0;
    }
    .sec7 ol li{
        width: 100%;
        max-width: 100%;
        margin: 20px auto;
    }
    .sec7 ol li a {
        padding: 15px;
        font-size: 18px;
    }
    .sec7 ol li a::before{
        right: 10px;
    }
}
/*===============================
*
*sec8
*
*===============================*/
.sec8{
	background: #fafafa;
	margin: 80px auto 0;
	padding: 60px 0;
}
.sec8 .sec8_list{
    margin: 40px auto 0;
    position: relative;
}
.sec8 .sec8_list::before{
    content: '';
    display: block;
    width: 25%;
    height: 100%;
    background: linear-gradient(to right,#fafafa,transparent);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}
.sec8 .sec8_list::after{
    content: '';
    display: block;
    width: 25%;
    height: 100%;
    background: linear-gradient(to left,#fafafa,transparent);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}
.sec8 .splide__arrow--prev,
.sec8 .splide__arrow--next{
    z-index: 3;
    background: none;
}
.sec8 .splide__arrow svg{
    height: 2.2em;
    width: 2.2em;
    fill: var(--main);
}
.sec8 .splide__pagination{
    position: relative;
    top: 0;
    margin: 40px auto 0;
}
.sec8 .splide__pagination__page{
    width: 16px;
    height: 16px;
    margin: 0 10px;
}
.sec8 .splide__pagination__page.is-active{
    transform: none;
    background: var(--main);
}
.sec8 ol{
	display: flex;
	justify-content: space-between;
}
.sec8 ol li{
	background: #fff;
    padding: 20px;
	position: relative;
    border-radius: 10px;
    border: 1px solid #ccc;
}
.sec8 ol li .profile{
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.sec8 ol li .profile .image{
    width: 60px;
    height: 60px;
}
.sec8 ol li .profile .text{
    width: calc( 100% - 80px );
}
.sec8 ol li .profile .text .name{
    font-size: 18px;
    font-weight: 500;
}
.sec8 ol li .profile .text .star{
    line-height: 1;
}
.sec8 ol li .profile .text .star img{
    margin-right: 3px;
}
.sec8 ol li .profile .text .star img:last-child{
    margin-right: 0;
}
.sec8 ol li .content{
	line-height: 1.8;
    font-size: 14px;
    font-weight: 400;
	color: #555;
}
@media screen and (max-width:768px){
    .sec8 .splide__pagination__page {
        width: 12px;
        height: 12px;
        margin: 0 5px;
    }
    .sec8 .sec8_list::before,
    .sec8 .sec8_list::after{
        width: 10%;
    }
    .sec8 .splide__arrow svg{
        height: 1.5em;
        width: 1.5em;
    }
    .sec8 .splide__arrow--prev{
        left: 0;
    }
    .sec8 .splide__arrow--next{
        right: 0;
    }
}
/*===============================
*
*sec9
*
*===============================*/
.sec9{
    margin: 0 auto;
    background: #f4faff;
    padding: 60px 0;
}
.sec9 ol{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.sec9 ol li{
    width: 32%;
    background: #fff;
    border-radius: 10px;
    margin: 20px 0;
    margin-right: 2%;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
    box-shadow: 0px 5px 15px 0 #0000002b;
}
.sec9 ol li:nth-child(3),
.sec9 ol li:nth-child(5){
    margin-right: 0;
}
.sec9 ol li .num{
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-50%,-50%);
    width: 140px;
    height: 140px;
    background: var(--main);
    color: #fff;
    font-weight: 700;
    font-size: 30px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding: 25px 33px;
    border-radius: 50%;
    line-height: 1;
}
.sec9 ol li .image{
    height: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px auto 20px;
}
.sec9 ol li .text{

}
.sec9 ol li .text .title{
    font-weight: 800;
    font-size: 24px;
    color: var(--main);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72px;
    line-height: 1.5;
    margin-bottom: 20px;
}
.sec9 ol li .text p{
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}
@media screen and (max-width:1260px){
    .sec9 ol li .text .title{
        font-size: 20px;
    }
}
@media screen and (max-width:768px){
    .sec9 ol{
        display: block;
    }
    .sec9 ol li{
        width: 100%;
    }
    .sec9 ol li .text .title{
        height: auto;
        margin-bottom: 10px;
    }
}
/*===============================
*
*sec10
*
*===============================*/
.sec10{
    margin: 80px auto;
}
.sec10 ol{
    display: flex;
    justify-content: space-between;
    margin: 120px auto 80px;
}
.sec10 ol li{
    width: 30%;
    max-width: 340px;
    border: 1px solid var(--main);
    background: #fff;
    border-radius: 10px;
    position: relative;
    padding: 40px 20px;
}
.sec10 ol li .step{
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    background: var(--main);
    color: #fff;
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    padding: 10px 20px;
    border-radius: 10px;
    top: 0;
}
.sec10 ol li .badge{
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(50%,-50%);
}
.sec10 ol li .image{
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec10 ol li .text .title{
    font-weight: 800;
    font-size: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72px;
    line-height: 1.5;
    margin-bottom: 20px;
    margin: 20px auto;
}
.sec10 ol li .text p{
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}
.sec10 ol li::after{
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid var(--main);
    position: absolute;
    right: -14%;
    top: 50%;
    transform: translate(50%, -50%);
}
.sec10 ol li:last-child:after{
    content: none;
}
@media screen and (max-width:1260px) {
    .sec10 ol li::after{
        right: -10%;
    }
    .sec10 ol li .badge{
        width: 80%;
    }
    .sec10 ol li .step{
        font-size: 20px;
    }
}
@media screen and (max-width:768px){
    .sec10 ol{
        display: block;
        margin: 60px auto;
    }
    .sec10 ol li{
        width: 100%;
        max-width: 100%;
        margin: 0 auto 60px;
    }
    .sec10 ol li::after {
        right: auto;
        left: 50%;
        top: auto;
        bottom: -15px;
        transform: translate(-50%, 100%);
        border: 10px solid transparent;
        border-top: 10px solid var(--main);
    }
    .sec10 ol li .badge {
        transform: translate(65%, -50%);
    }
    .sec10 ol li .badge img{
        width: 100px;
    }
}
/*===============================
*
*sec11
*
*===============================*/
.sec11{
    margin: 80px auto 0;
    background: #f4faff;
    padding: 60px 0;
}
.sec11 ol li{
    border-radius: 10px;
    overflow: hidden;
    margin: 40px auto;
    box-shadow: 0px 5px 15px 0 #0000002b;
    transition: ease all .4s;
}
.sec11 ol li .title{
    background: var(--main);
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    padding: 20px;
    display: flex;
    position: relative;
    line-height: 1.5;
    padding-right: 60px;
}
.sec11 ol li .title:hover{
    cursor: pointer;
}
.sec11 ol li .title span{
    margin-right: 40px;
}
.sec11 ol li .title::before{
    content: '';
    width: 30px;
    height: 2px;
    background: #fff;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: ease all .4s;
}
.sec11 ol li .title::after{
    content: '';
    width: 2px;
    height: 30px;
    background: #fff;
    position: absolute;
    right: 34px;
    top: 50%;
    transform: translateY(-50%);
    transition: ease all .4s;
}
.sec11 ol li .cont{
    background: #fff;
    padding: 20px 100px;
    font-weight: 400;
    display: none;
}
.sec11 ol li.active .title::after{
    transform: translateY(-50%) rotate(90deg);
    opacity: 0;
}
@media screen and (max-width:968px){
    .sec11{
        padding: 40px 0;
    }
    .sec11 ol li .title{
        font-size: 18px;
    }
    .sec11 ol li .title span {
        margin-right: 10px;
    }
    .sec11 ol li .cont{
        padding: 20px;
    }
}
/*===============================
*
*sec12
*
*===============================*/
.sec12{
    padding: 80px 0;
    background: url(../images/top/sec12-bg.png)repeat-y left top;
}
.sec12 .sec12_flex{
    display: flex;
    justify-content: space-between;
}
.sec12 .sec12_flex .sec12_inner{
    width: 45%;
    max-width: 540px;
    background: #fff;
    padding: 40px;
    padding-bottom: 120px;
    position: relative;
    border-radius: 10px;
    box-shadow: 0px 5px 15px 0 #0000002b;
}
.sec12 .sec12_flex .sec12_inner h3{
    font-size: 24px;
    font-weight: 700;
}
.sec12 .sec12_flex .sec12_inner ol{

}
.sec12 .sec12_flex .sec12_inner ol li{
    border-bottom: 1px solid #eaeaea;
}
.sec12 .sec12_flex .sec12_inner ol li a{
    padding: 10px 20px;
    padding-right: 40px;
    display: block;
    font-weight: 500;
    position: relative;
    transition: ease all .4s;
}
.sec12 .sec12_flex .sec12_inner ol li a:hover{
    opacity: .7;
}
.sec12 .sec12_flex .sec12_inner ol li a::before{
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
    width: 6px;
    height: 10px;
    background: url(../images/top/arrow-news.png)no-repeat;
}
.sec12 .sec12_flex .sec12_inner ol li a .date{
    font-size: 12px;
    line-height: 1;
    color: #555;
}
.sec12 .sec12_flex .sec12_inner ol li a .title{
    line-height: 1.5;
}
.sec12 .sec12_flex .sec12_inner .btn{
    position: absolute;
    left: 40px;
    bottom: 40px;
}
.sec12 .sec12_flex .sec12_inner .btn a{
    color: var(--main);
    font-weight: 500;
    position: relative;
    padding-right: 15px;
    transition: ease all .4s;
}
.sec12 .sec12_flex .sec12_inner .btn a::before{
    content: '';
    position: absolute;
    right: 0;
    top: calc( 50% + 1px);
    transform: translatey(-50%);
    width: 6px;
    height: 10px;
    background: url(../images/top/btn-arrow.png)no-repeat;
}
.sec12 .sec12_flex .sec12_inner .btn a:hover{
    opacity: .7;
}
@media screen and (max-width:968px){
    .sec12{
        padding: 40px 0;
    }
    .sec12 .sec12_flex .sec12_inner{
        padding: 20px;
        padding-bottom: 100px;
    }
}
@media screen and (max-width:768px){
    .sec12 .sec12_flex .sec12_inner h3{
        font-size: 20px;
    }
    .sec12 .sec12_flex{
        display: block;
    }
    .sec12 .sec12_flex .sec12_inner{
        width: 100%;
        margin: 40px auto;
    }
    .sec12 .sec12_flex .sec12_inner{
        padding: 20px;
    }
    .sec12 .sec12_flex .sec12_inner ol li a{
        padding: 10px;
        padding-right: 20px;
    }
    .sec12 .sec12_flex .sec12_inner ol li a::before{
        right: 5px;
    }
    .sec12 .sec12_flex .sec12_inner .btn {
        position: relative;
        bottom: 0;
        left: 0;
        margin-top: 20px;
    }
}
/*===============================
*
*sec13
*
*===============================*/
.sec13{
    padding: 80px 0;
    background: #f4faff;
    position: relative;
}
.sec13 .sec13_flex{
    display: flex;
    align-items: flex-end;
    max-width: 1210px;
    padding: 0 15px;
    margin: 0 auto;
        margin-top: 60px;
}
.sec13 .sec13_flex .image{
    position: relative;
    z-index: 2;
}
.sec13 .sec13_flex .image span{
    display: block;
    font-size: 12px;
    font-weight: 400;
}
.sec13 .sec13_flex .text{
    position: absolute;
    right: 0;
    background: #fff;
    width: 58%;
    max-width: 1060px;
    height: 400px;
    padding: 40px;
    padding-left: 240px;
    line-height: 2.5;
    font-weight: 500;
    display: flex;
    align-items: center;
}
.sec13 .sec13_flex .text a{
    color: var(--main);
    border-bottom: 1px dashed var(--main);
    transition: ease all .4s;
}
.sec13 .sec13_flex .text a:hover{
    opacity: .7;
}
@media screen and (max-width:968px){
    .sec13{
        margin: 0 auto;
        padding: 40px 0;
    }
    .sec13 .sec13_flex{
        display: block;
    }
    .sec13 .sec13_flex .text{
        position: relative;
        top: 0;
        left: calc(100% + 15px);
        transform: translateX(-100%);
        width: calc(90% + 15px);
        margin-top: -10%;
        height: auto;
        padding: 100px 40px;
        justify-content: center;
    }
}
@media screen and (max-width:768px){
    .sec13 .sec13_flex .text{
        padding: 80px 20px;
        justify-content: center;
        font-size: 14px;
    }
}
/*===============================
*
*sec14
*
*===============================*/
.sec14{
    margin: 80px auto;
}
.sec14 .note{
    margin: 80px auto;
    background: #f4faff;
    padding: 40px 20px;
    font-size: 14px;
    color: #333;
    margin: 10px 0;
}
.sec14 .note .title{
    color: var(--main);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 20px;
}
/*===============================
*
*image_btn
*
*===============================*/
.image_btn{
	margin: 120px auto 80px;
    text-align: center;
}
.image_btn .btn{
	position: relative;
    width: 100%;
    max-width: 720px;
    text-align: center;
	margin: 0 auto;
}
.image_btn .btn a{
	background: linear-gradient(to top, #fa7f14, #ff8f2e);
    border: 2px solid #fff;
    color: #fff;
    padding: 20px 100px;
    border-radius: 500px;
    font-weight: 600;
    font-size: 40px;
    width: 100%;
    display: block;
    position: relative;
    top: -20px;
    box-shadow: 0px 5px 10px 0 #00000036;
    transition: ease all .4s;
}
.image_btn .btn a::before{
    content: '';
    border: 7px solid transparent;
    border-left: 9px solid #fff;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.image_btn .btn a:hover{
    opacity: .7;
}
.image_btn .btn span{
	background: #fff;
    border-radius: 500px;
    color: var(--orange);
    position: absolute;
    left: 50%;
    transform: translate(-50%, -90%);
    top: 0;
    font-size: 18px;
    padding: 5px 20px;
    font-weight: 500;
    border: 2px solid var(--orange);
	z-index: 2;
	pointer-events: none;
    width: 100%;
    max-width: 300px;
}
@media screen and (max-width:768px){
    .image_btn{
        margin: 40px auto;
        margin-top: 80px;
    }
    .image_btn .image img{
        width: 98%;
    }
    .image_btn .btn span{
        font-size: 14px;
        width: auto;
    }
    .image_btn .btn a{
        position: relative;
        top: -20px;
        display: block;
        width: 100%;
        padding: 20px;
        font-size: 24px;
    }
}

/*===============================
*
*top_cta
*
*===============================*/
.top_cta{
	margin: 120px auto 80px;
}
.top_cta .btn{
	position: relative;
    width: 100%;
    max-width: 520px;
    text-align: center;
	margin: 0 auto;
}
.top_cta .btn a{
	background: linear-gradient(to top, #fa7f14, #ff8f2e);
    border: 2px solid #fff;
    color: #fff;
    padding: 20px 100px;
    border-radius: 500px;
    font-weight: 600;
    font-size: 24px;
    position: relative;
    box-shadow: 0px 5px 10px 0 #00000036;
    transition: ease all .4s;
}
.top_cta .btn a::before{
    content: '';
    border: 7px solid transparent;
    border-left: 9px solid #fff;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.top_cta .btn a:hover{
    opacity: .7;
}
.top_cta .btn span{
	background: #fff;
    border-radius: 500px;
    color: var(--orange);
    position: absolute;
    left: 50%;
    transform: translate(-50%, -90%);
    top: 0;
    font-size: 14px;
    padding: 5px 20px;
    font-weight: 500;
    border: 2px solid var(--orange);
	z-index: 2;
	pointer-events: none;
}
@media screen and (max-width:768px){
    .top_cta{
        margin: 40px auto;
        margin-top: 80px;
    }
    .top_cta .btn a{
        position: relative;
        top: -20px;
        display: block;
        width: 100%;
        padding: 15px;
    }
}
/*==================================
*
* sec
*
==================================*/
@media screen and (max-width:768px){
    .sec1,
    .sec2,
    .sec3,
    .sec4,
    .sec5,
    .sec6,
    .sec10{
        margin: 40px auto;
    }
}