@charset "UTF-8";
/* CSS Document */

/* MV-----------------------------------------------------*/
.contents-wrap{overflow: hidden;}
#mainvisual{
	width: 100%;
	/*background: url("../img/mv@2x.png") no-repeat center;
	background-size:cover;
	height: 77vh;
	min-height: 50vh;*/
}
#mainvisual .mv-base{position: relative;}
#mainvisual .mv-cap{
	/*position: absolute;*/
	width:150px;
	height: 150px;
	background: #faed56;
	border-radius: 75px;
	color: #000;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top:calc(250px + 26vw);
	/*bottom: 15%;*/
	right:  5%;
	/*right:calc((100vw - 1200px)+((100vw - 1200px)/2));*/
	z-index: 999;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
    transition: .2s;
}
#mainvisual .mv-cap span:not(.txt-b){font-size:2rem;}
#mainvisual .mv-cap span.txt-b{color:#237BD0;}
#mainvisual .mv-cap.is-active{
	top:calc(100vh - 280px);
	transition: .2s;
}
#mainvisual .scroll{
	position: absolute;
	left: 0;
  	right: 0;
	bottom:30px;
	color:#237BD0;
	display: flex;
	justify-content: center;
}
#mainvisual .s-icon{
	border: 1px solid #237BD0;
	width:18px;
	height: 40px;
	border-radius: 9px;
	margin: 0 auto;
}
#mainvisual .scroll p{margin: 0 auto;}

.bnr-wrap{
    background:#237BD0;
    padding:20px 0 30px;
}
.bnr-event{
    display: block;
    margin:0 auto;
    width:450px;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 1));
}

@media (min-width: 769px){
.bnr-event:hover{
    opacity: .9;
    }
}

@media (max-width: 768px){
    #mainvisual .mv-cap{
        position: absolute;
        width:28vw;
        height: 28vw;
        top:auto;
        border-radius: 14vw;
        font-size:3.2vw;
        bottom:5vw;
    }
    #mainvisual .mv-cap.is-active{
        top:9vw;
    }
    #mainvisual .mv-cap span:not(.txt-b){font-size:4vw;}
    #mainvisual .scroll{
        font-size:2vw;
        bottom:10px;
    }

    .bnr-wrap{
        padding:3vw 0 5vw;
    }
    .bnr-event{
        width:95%;
        margin:0 auto;
    }
}

/* section-01 about-----------------------------------------------------*/
#section-01{width:100%;}
#section-01 h2{margin-bottom:50px;}
#section-01 .about-in{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#section-01 .about-wrap{
    padding:80px 0;
    width:42%;
    background: #D9EBEE;
    padding-left:calc((100% - 1200px)/2);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#section-01 h2::before{
    content:'';
    position: absolute;
    background: url("../img/about-ttl.svg") no-repeat;
    background-size: 100%;
    width:205px;
    height: 115px;
    top: -70px;
}

#section-01 .h2-txt{
	margin-bottom: 20px;
	text-align: left;
    font-weight: 600;
}
#section-01 .h2-txt span{
	font-size: 2.8rem;
	font-weight: 700;
}
#section-01 .marker{
    padding:5px;
	background:linear-gradient(transparent 70%, #faed56 70%);}
#section-01 .point-wrap{
    padding:80px 0;
	width:55%;
	color: #fff;
    padding-right:calc((100% - 1200px)/2);
}
#section-01 .point-flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#section-01 .box-wrap{
	width:calc((100% - 10px) / 2);
	padding:10px 8px 15px;
    margin:5px 0;
    display: flex;
	flex-wrap: wrap;
	align-items: center
}

 #section-0 .p-ttl-flex{
	display: flex;
	align-items: flex-end;
}
#section-01 .p-number{
	margin-right: 10px;
    font-size:1.2rem;
    font-family: 'Arial Black', Gadget, sans-serif;
    font-weight: 600;
    line-height: 1;
}
#section-01 .p-number span{
    display: block;
    font-size:3rem;
}
 #section-01 .p-ttl{
	 font-weight: bold;
     font-size:1.8rem;
}
#section-01 .p-number img{
	width:50px;
	height: 30px;}

#section-01 .point-icon{
    margin:20px 0;
    width:100%;
}
#section-01 .point-icon img{height: 70px;}
#section-01 .p-txt{width:100%;font-size:1.4rem;}

@media (max-width: 1300px){
    #section-01 .about-wrap{padding-left:5%;}
    #section-01 .point-wrap{padding-right:5%;
    }
}

@media (max-width: 768px){
    #section-01 .about-wrap{
        padding:15vw 5vw 15vw;
        width:100%;
    }
    #section-01 h2{margin-bottom:5vw;}
    #section-01 h2::before{
        width:46.667vw;
        height: 22.667vw;
        top: -10.667vw;
    }
    #section-01 .h2-txt{
        margin-bottom: 3vw;
        font-size:3.7vw;
    }
    #section-01 .h2-txt span{
        font-size: 5vw;
    }
    #section-01 .point-flex{margin:-15vw auto 5vw;}
    #section-01 .box-wrap{
        width:90%;
        padding:3vw 2vw 3vw;
        margin:0 auto;
        }
    #section-01 .box-wrap+.box-wrap{margin:3vw auto 0}
    #section-01 .box-wrap:last-child{
        margin-bottom: 0
        }
    #section-01 .p-number{
        margin-right: 1vw;
        font-size:3vw;
    }
    #section-01 .p-number span{
        font-size:8vw;
    }
    #section-01 .point-wrap{
        padding:5vw 0;
        width:100%;
    }
    #section-01 .p-number{
         width:16%;
        margin-left:27%
        }
     #section-01 .p-ttl{
         padding-top: 0;
         width: 54%;
        font-size: 4.3vw;
        }
    #section-01 .point-icon{
        width:27%;
        margin-top:-5vw;
        padding: 0 3vw;
        }
     #section-01 .p-txt{
         width:73%;
         font-size:3.7vw;
        }
    #section-01 .point-flex{
        flex-direction: column;
    }
}

/* section-02-----------------------------------------------------*/
#section-02{
    width:100%;
    padding:100px 0;
}
#section-02 h2{
    color:#237BD0;
	font-size:3.8rem;
	padding: 5px 0
}
#section-02 h2::before{
    content:'';
    position: absolute;
    background: url("../img/line-up-ttl.svg") no-repeat;
    background-size: 100%;
    width:188px;
    height: 90px;
    top: -50px;
}
#section-02 .list-explanation{
	text-align: center;
	margin-bottom: 20px;
	padding: 0.5em;
	font-size:2.6rem;
	line-height: 1.2;
	background: #D9EBEE;
}
#section-02 .line-up{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom:20px;
}
#section-02 .line-up-txt{
    font-weight: 600;
    margin:20px 0;
}
#section-02 .search-cate{width:100%;}
#section-02 .search-case{
	width:100%;
	padding:0 5%;
}
#section-02 ul.se-flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}
#section-02 li.cate-item,.case-item{
	text-align: center;
	background: #fff;
	box-shadow: 0 3px 3px 0 rgba(204, 204, 204, 1);
	width:calc((100% - 20px) / 5);
	padding:5px;
	margin-bottom:20px;
	margin-right:5px
}
#section-02 li.cate-item:nth-child(5n){
	margin-right: 0
}
/*VCなし用　ここまで*/

#section-02 li.cate-item{cursor: pointer}
#section-02 li.cate-item.big{
	width:calc(((100% - 20px) / 5) * 2 + 5px);
	margin-left: calc(((100% - 20px) / 5)  + 5px);
}
#section-02 .cate-ttl,.case-ttl{
	background:#237BD0;
	color:#fff;
	margin-bottom:5px;
	letter-spacing: 0.5px;
	font-size:1.6;
	padding:5px 0;
}
.stylefontSmall{font-size:0.8em}
#section-02 .cate-image,.case-image{
	width:100%;
	margin:0 auto;
}
#section-02 .search-case{width:100%;}
#section-02 ul.se-flex2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#section-02 li.case-item{
	width:calc((100% - 10px) / 3);
}
#section-02 a.case-arrow p{
	width:43px;
	height: 43px;
	background: #237BD0;
	margin:0 0 0 auto;
	position: relative;
}
#section-02 a.case-arrow p img{
	width:12px;
	position: absolute;
	top:50%;
	left:50%;
	transform: 
		translateX(-50%) 
		translateY(-50%);
}
#section-02 .case-ttl span{
	font-size:1.4rem;
}
#section-02 .case-txt{
	padding:0 5px;
	font-size:1.4rem;
}
#section-02 a.case-arrow p:hover{
	text-decoration: none;
	border-style: none;
	outline: none;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
/* 商品一覧説明txt-----------------------------*/
#section-02 .index_text{
    font-size:1.4rem;
    text-align: left;
    letter-spacing: 0.01rem;
}
#section-02 .index_btn{
    font-size:1.4rem;
    border:1px solid #237BD0;
    color:#237BD0;
    position: relative;
    margin:5px 0 0 ;
}
#section-02 .index_btn::after{
    position: absolute;
    content:">";
    right:10px;
}



@media (max-width: 768px){
    #section-02{
        padding:15vw 0 7vw;
    }
    #section-02 h2::before{
        width: 39.667vw;
        height: 20.667vw;
        top: -9.667vw;
    }
    #section-02 .line-up{margin-bottom:0}
    #section-02 .line-up-txt{margin:5vw 0;}
    #section-02 .list-explanation{
		text-align: center;
		margin-bottom: 0vw;
		font-size:4.4vw;
	}
    #section-02 ul.se-flex{
        justify-content: space-between;
    }
    #section-02 li.cate-item,.case-item{
        width:calc((100% - 3vw) / 2);
        margin-bottom:0;
        margin-top:3vw;
    }
    #section-02 li.cate-item{
        margin-right: 0px
    }
    #section-02 li.cate-item.big{
        width:100%;
        margin-left: 0
    }

    #section-02 ul.se-flex2{
        flex-direction: column;
    }
    #section-02 .search-case {
        padding: 0 0;
    }
    #section-02 li.case-item{
        width:100%;
    }
    #section-02 .cate-ttl,.case-ttl{
        font-size:3.7vw;
        letter-spacing: -0.01rem;
    }
    #section-02 .cate-ttl span{
        font-size:3.7vw
    }
    #section-02 .case-txt{
        text-align: left
    }
    #section-02 .index_text{
        font-size:3.7vw;
        line-height: 1.6;
    }
    #section-02 .index_btn{
        font-size:3.7vw;
        margin:1vw 0 0 ;
    }
    #section-02 .index_btn::after{
        right:2vw;
    }
}	
	
	
/*---------特集バナー---------*/
.line-up-bnr{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	margin: 20px 0 50px
}
.bnr-con{
    width:calc((100% - 30px) / 2);
    position: relative;
    padding:5px;
    display: flex;
    flex-direction: column;
}
.bnr-con a{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.bnr-con.linea{background: linear-gradient(to right, #C6C6C6, #DDDDDD);}
.bnr-con.masu{
    background: url("../img/bnr-1masu-bg.jpg") no-repeat;
    background-size: cover;
}
.bnr-con-flag{
	display: inline-block;
	width:120px;
    text-align: center;
    position: absolute;
    left:0;
    top:0;
    z-index: 1;
}
.bnr-con-top{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    background: #fff;
    padding:10px 0;
}
.bnr-con-img-r{position: relative}
.bnr-con.linea .bnr-con-img-r > p{
    font-size:1rem;
    color:#999999;
    font-weight: 600;
    position: absolute;
    bottom:-5px;
    right:10px;   
}
.bnr-con-copy{
    font-weight: 700;
    width:45%;
    padding-left:50px;
}
.bnr-con-copy span{
    line-height: 2;
    display: inline; 
    background:linear-gradient(transparent 80%, #faed56 0%);
    padding-bottom:5px;
}
.bnr-con-img-r{width:55%;}
.bnr-con-bot{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 5px;
    flex-grow: 1;
}
.bnr-con-ttl{
    font-size:3.3rem;
    font-weight: 600;
    text-align: center;
    margin-bottom:20px;
}
.bnr-con-ttl span{
    display: block;
    line-height: 0;
    font-size:1.2rem
}
.bnr-con-txt{
    font-size:1.2rem;
    font-weight: 600;
}
.bnr-con.linea .bnr-con-ttl{width:23%;}
.bnr-con.linea .bnr-con-txt{width:77%;}
.bnr-con.masu .bnr-con-ttl{width:30%;}
.bnr-con.masu .bnr-con-txt{width:70%;}

@media (max-width: 1300px){
    .bnr-con-copy{width:50%;}
    .bnr-con-img-r{width:50%;}
    .bnr-con-flag{
        width:110px;
    }
    .bnr-con.masu .bnr-con-ttl{width:28%;}
    .bnr-con.masu .bnr-con-txt{width:72%;}
}	
@media (max-width: 768px){	
	.line-up-bnr{margin:10vw 0}
    .bnr-con{
        width:100%;
        padding:5px;
    }
    .bnr-con+.bnr-con{margin-top:5vw;}
    .bnr-con-flag{ width:30vw;}
    .bnr-con-top{padding:2vw;}
    .bnr-con-copy{
        width:83%;
        margin:0 auto;
        padding-left:17vw;
    }
    .bnr-con-img-r{
        width:85%;
        margin:0 auto;
    }
    .bnr-con.linea .bnr-con-img-r > p{
        font-size:3vw;
        bottom:-1vw;
        right:-5vw;   
    }
    .bnr-con-bot{padding: 0 5px;}
    .bnr-con-ttl{
        font-size:7vw;
        margin-bottom:0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .bnr-con-ttl span{
        display: inline-block;
        line-height: 0;
        font-size:3.2vw;
        margin-left:2vw;
    }
    .bnr-con-txt{font-size:3.2vw;}
    .bnr-con.linea .bnr-con-ttl{width:100%;}
    .bnr-con.linea .bnr-con-txt{width:100%;}
    .bnr-con.masu .bnr-con-ttl{width:100%;}
    .bnr-con.masu .bnr-con-txt{width:100%;}
    
}



/*---------リネア　---------*/
.linea-wrap{
	margin: 20px auto 50px
}
.linea-con{
    width:70%;
	margin: 0 auto;
    position: relative;
    padding:5px;
    display: flex;
    flex-direction: column;
	background: linear-gradient(to bottom, #fff, #dedede);
	box-shadow: 0 3px 3px 0 rgba(204, 204, 204, 1);
}
.linea-con-top{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 5px;
    flex-grow: 1;
}
.linea-con-ttl{
    font-size:3.3rem;
    font-weight: 600;
    text-align: center;
    margin-bottom:20px;
	width:120px
}
.linea-con-ttl span{
    display: block;
    line-height: 0;
    font-size:1.2rem
}
.linea-con-txt{
	width:calc(100% - 120px);
    font-size:1.4rem;
	line-height: 1.5
}


.linea-con-bot{
    display: flex;
    justify-content: space-between;	
}
.linea-con-bot a:first-child{
	display: block;
    background: #fff;
	width:80%;
}
.linea-con-bot a:last-child{
	display: block;
    background: #3c7bca;
	width:calc(20% - 5px);
}

.linea-con-cat{
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    padding:10px;
	position: relative
}
.linea-con-flag{
	display: inline-block;
	width:120px;
    text-align: center;
    position: absolute;
    left:0;
    top:0;
    z-index: 1;
}


.linea-con-img{
	width:60%;
	position: relative}
.linea-con-img .linea-con-no{
    font-size:1rem;
    color:#999999;
    font-weight: 600;
    position: absolute;
    bottom:-5px;
    right:10px;   
}
.linea-con-copy{
    font-weight: 700;
    width:40%;
	padding-left: 30px;
	white-space: nowrap
}
.linea-con-copy span{
    line-height: 2;
    display: inline; 
    background:linear-gradient(transparent 80%, #faed56 0%);
    padding-bottom:5px;
}

.linea-con-pdf{
	height:100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5px;
	font-size:1.4rem;
	line-height: 1.2;
	font-weight: 600;
	color:#fff;
	text-align: center
}
.linea-con-icon{
	width:45%;
	margin: 0 auto 15px
	
}

@media (max-width: 1300px){
    .linea-con-flag{
        width:110px;
    }
}	
@media (max-width: 768px){	
	.linea-wrap{margin:10vw 0}
    .linea-con{
        width:100%;
        padding:2vw;
    }
	
	.linea-con-top{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		padding: 0 0 4vw 0 ;
		flex-grow: 1;
	}
	.linea-con-ttl{
		width:100%;
		font-size:7vw;
		font-weight: 600;
		text-align: center;
		margin-bottom:20px;
	}
	.linea-con-ttl span{
		display: block;
		line-height: 0;
		font-size:3.2vw
	}
	.linea-con-txt{
		width:100%;
		font-size:3.7vw;
		line-height: 1.5
	}

	.linea-con-bot{
		display: flex;
		flex-wrap: wrap;
	}
	.linea-con-bot a:first-child{
		width:100%;
	}
	.linea-con-bot a:last-child{
		width:100%;
	}

	.linea-con-cat{
		width: 100%;
		flex-wrap: wrap;
		padding:4vw;
		position: relative
	}
	.linea-con-flag{
		display: inline-block;
		width:30vw;
		text-align: center;
		position: absolute;
		left:0;
		top:0;
		z-index: 1;
	}


	.linea-con-img{
		width:100%;
		position: relative
	}
	.linea-con-img .linea-con-no{
		font-size:3vw;
		bottom:0;
		right:4vw;   
	}
	.linea-con-copy{
		width:40%;
		padding-left:2vw;
		white-space: nowrap
	}
	.linea-con-copy span{
		padding-bottom:1vw;
	}

	.linea-con-pdf{
		height:100%;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 2vw;
		font-size:3.7vw;
		text-align: left;
	}
	.linea-con-icon{
		width:12%;
		margin: 0 2vw 0 0;
	}
	.linea-con-icon-txt{
		width:60%;
	}

/*    .linea-con-flag{width:30vw;}
    .linea-con-top{padding:2vw;}
    .linea-con-copy{
        width:83%;
        margin:0 auto;
        padding-left:17vw;
    }
    .linea-con-img-r{
        width:85%;
        margin:0 auto;
    }
    .linea-con.linea .linea-con-img-r > p{
        font-size:3vw;
        bottom:-1vw;
        right:-5vw;   
    }
    .linea-con-top{padding: 0 5px;}
    .linea-con-ttl{
        font-size:7vw;
        margin-bottom:0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .linea-con-ttl span{
        display: inline-block;
        line-height: 0;
        font-size:3.2vw;
        margin-left:2vw;
    }
    .linea-con-txt{font-size:3.2vw;}
    .linea-con .linea-con-ttl{width:100%;}
    .linea-con .linea-con-txt{width:100%;}*/
    
}




/* section-03-----------------------------------------------------*/
#section-03{width: 100%;padding:80px 0;}
#section-03 h2::before{
    content:'';
    position: absolute;
    background: url("../img/flow-ttl.svg") no-repeat;
    background-size: 100%;
    width:114px;
    height: 85px;
    top: -50px;
}
#section-03 .flow-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#section-03 .flow-list li{
    width:calc((100% - 50px*2)/3);
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top:50px;
}
#section-03 .flow-list li::after{
    content:'';
    position: absolute;
    width:16px;
    height:31px;
    background: url("../img/flow-arrow.png") no-repeat;
    background-size: 100%;
    right:-33px;
    top:0;
    bottom:0;
    margin:auto;
}
#section-03 .flow-list li:nth-of-type(3)::after,
#section-03 .flow-list li:nth-of-type(6)::after{
    content:none;
}
#section-03 .flow-list li p{
    text-shadow: 0 0 10px rgba(0,0,0,1);
}
#section-03 .flow-box{
    background: #237BD0;
    padding:10px 10px 10px 10px;
    color:#fff;
    flex-grow: 1;
}
#section-03 .flow-list li:nth-of-type(even) .flow-box{background: #306AA5}
#section-03 .flow-img{
    position: absolute;
    right:0;
    top:-20px;
}
#section-03 .flow-img img{
    width:260px;
    height:130px;
    object-fit: cover;
}
#section-03 .flow-number{
	margin-right: 10px;
    font-size:1.2rem;
    font-family: 'Arial Black', Gadget, sans-serif;
    font-weight: 600;
    line-height: 1;
}
#section-03 .flow-number span{
    display: block;
    font-size:3rem;
}
#section-03 .flow-ttl{
    font-size:1.8rem;
    font-weight: 600;
    color:#fff;
    position: relative;
    z-index: 1;
    padding:5px 0;
    line-height: 1.4;
    text-shadow: 0 0 10px rgba(0,0,0,1),0 0 10px rgba(0,0,0,1);
}
#section-03 .flow-txt{font-size:1.4rem;}
#section-03 .flow-list li:nth-of-type(2) .flow-number,
#section-03 .flow-list li:nth-of-type(3) .flow-number,
#section-03 .flow-list li:nth-of-type(4) .flow-number{
    margin-bottom:25px
}

@media (max-width: 768px){
    #section-03{padding:15vw 0;}
    #section-03 h2::before{
        width: 25.4vw;
        height: 21.667vw;
        top: -12vw;
    }
    #section-03 .flow-list li{
        width:100%;
        margin-top:10vw;
    }
    #section-03 .flow-list li::after{
        width:4.267vw;
        height:8.267vw;
        right:auto;
        left:10vw;
        top:auto;
        bottom:-9vw;
        margin:auto;
        transform: rotate(90deg);
    }
    #section-03 .flow-list li:nth-of-type(3)::after{
        content:'';
    }
    #section-03 .flow-list li p{
        text-shadow: 0 0 10px rgba(0,0,0,1);
    }
    #section-03 .flow-box{
        padding:10px 10px 10px 10px;
    }
    #section-03 .flow-img{
        position: absolute;
        right:0;
        top:-5vw;
        width:51%;
    }
    #section-03 .flow-img img{
        width: 100%;
        height: auto;
    }
    #section-03 .flow-number{
        margin-right: 10px;
        font-size:3vw;
    }
    #section-03 .flow-number span{
        font-size:8vw;
    }
    #section-03 .flow-ttl{
        font-size:4vw;
        padding:2vw 0;
    }
    #section-03 .flow-txt{font-size:3.7vw;}
    #section-03 .flow-list li:nth-of-type(2) .flow-number,
    #section-03 .flow-list li:nth-of-type(3) .flow-number,
    #section-03 .flow-list li:nth-of-type(4) .flow-number{
        margin-bottom:0
    }
}

/* section-04-----------------------------------------------------*/
#section-04{padding:150px 0 80px;}
#section-04 h2{top:-60px;}
#section-04 h2::before{
    content:'';
    position: absolute;
    background: url("../img/feature-merit-ttl.svg") no-repeat;
    background-size: 100%;
    width:272px;
    height: 125px;
    top: -50px;
}
.merit-box{
    background: #fff;
    border-radius: 10px;
    padding:50px 30px 40px;
    position: relative;
}
.merit-box::before{
    position: absolute;
    content:'';
    background: url("../img/merit-deco.png") no-repeat;
    background-size: 100%;
    width:290px;
    height:135px;
    top:-110px;
    right:0;
    left:0;
    margin:auto;
    
}
.merit-head{
    text-align: center;
    margin-bottom:40px;
    font-weight: 600;
}
.merit-head span{
    font-size:2.8rem;
    color:#237BD0;
    font-weight: 700;
}
.merit-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.merit-list li{
    width:calc((100% - 20px*5)/6);
}
.merit-icon{
    width:150px;
    height:150px;
    border-radius: 50%;
    border:1px solid #237BD0;
    display: flex;
    align-items: center;
    margin:0 auto;
}
.merit-icon span{
    display: block;
    width:50%;
    margin: 0 auto;
}
.merit-ttl{
    font-weight: 700;
    text-align: center;
    padding:5px 0;
}
.merit-list li:nth-of-type(4) .merit-ttl{letter-spacing: -0.05rem;}
.merit-list li > p:not(.merit-ttl){font-size:1.4rem;}
.works-head{
    text-align: center;
    font-size:2rem;
    font-weight: 600;
    margin:50px 0 60px;
    position: relative;
}
.works-head::before{
    position: absolute;
    content:'';
    background: url("../img/txt-deco.png") no-repeat;
    background-size: 100%;
    width: 386px;
    height: 70px;
    left:150px;
    top:70px;
}
.works-head::after{
    position: absolute;
    content:'';
    background: url("../img/txt-deco.png") no-repeat;
    background-size: 100%;
    width: 386px;
    height: 70px;
    right:150px;
    top:70px;
    transform: scale(-1,1);
}
.works-head span{
    display: inline-block;
    font-size:3.8rem;
    color:#237BD0;
    font-weight: 700;
}
.works-head sup{
    font-size: 70%; 
	vertical-align: top;
	position: relative;
	top: -0.1em;
    font-weight: normal;
}
.works-head span span{font-size:1.6rem;}
.works-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.works-list li{
    width:calc((100% - 10px*3)/4);
    margin-top:10px;
}
.txt-s{
    font-size:1.4rem;
    text-align: right;
    margin-top:10px;
}
.cv-btn{
    display: block;
    width:540px;
    font-size:2rem;
    font-weight: 700;
    text-align: center;
    background: #faed56;
    border-radius: 50px;
    padding:20px 0;
    position: relative;
    margin:100px auto 0;
    transition: .2s;
    box-shadow: 0 10px 0 #237BD0;
}
.cv-btn::before{
    position: absolute;
    content:'';
    background: url("../img/btn-illust.png") no-repeat;
    background-size: 100%;
    width:220px;
    height:105px;
    left:0;
    right:0;
    margin:auto;
    top:-100px;
}
@media (min-width: 769px){
    .cv-btn:hover{
        transform: translateY(10px);
        box-shadow: none;
    }    
}

@media (max-width: 768px){
    #section-04{padding:30vw 0 10vw;}
    #section-04 h2{top: -18vw;}
    #section-04 h2::before{
        width:46.667vw;
        height: 22.667vw;
        top: -5.667vw;
    }
    .merit-box{
        padding: 5vw 4vw;
    }
    .merit-box::before{
        width: 49.6vw;
        height: 26.133vw;
        top: -17.333vw;
    }
    .merit-head{
        margin-bottom:0;
    }
    .merit-head span{
        font-size:5vw;
    }
    .merit-list li{
        width:calc((100% - 3.5vw)/2);
        margin-top:4vw;
    }
    .merit-icon{
        width:28vw;
        height:28vw;
    }
    .merit-icon span{
        width:50%;
    }
    .merit-ttl{
        padding:1vw 0;
    }
    .merit-list li > p:not(.merit-ttl){font-size:3.7vw;}
    .works-head{
        font-size:3.7vw;
        margin:10vw 0 7vw;
    }
    .works-head::before{
        width: 42.933vw;
        height: 11.2vw;
        left: -1.6vw;
        top: 18.667vw;
        }
    .works-head::after{
        width: 42.933vw;
        height: 11.2vw;
        right: -1.6vw;
        top: 18.667vw;
        transform: scale(-1,1);
    }
    .works-head span{
        font-size:5vw;
    }
    .works-head sup{
        font-size: 70%; 
    }
    .works-head span span{font-size:3.2vw;}
    .works-list li{
        width:calc((100% - 3vw)/2);
        margin-top:3vw;
    }
    .txt-s{
        font-size:3.2vw;
        margin-top:2vw;
    }
    .cv-btn{
        width:100%;
        font-size:4vw;
        padding:3vw 0;
        margin:20vw auto 0;
        box-shadow: 0 2vw 0 #237BD0;
    }
    .cv-btn::before{
        width: 42.667vw;
        height: 22.667vw;
        top: -20.267vw;
    }
}


/* section-05-----------------------------------------------------*/
#section-05 {padding:80px 0;}
#section-05 .company-wrap{
	width:100%;
	display: flex;
	justify-content: space-between;
	margin-top:30px;
}
#section-05 h2::before{
    content:'';
    position: absolute;
    background: url( "../img/company-ttl.svg") no-repeat;
    background-size: 100%;
    width:314px;
    height: 98px;
    top: -70px;
}
#section-05 .co-image{
	width:30%;
	padding-right: 30px;
}
#section-05 .co-image > div+div{margin-top:15px;}
#section-05 .co-txt-box{
	width:70%;
	color: #fff;
	font-size:1.4rem;
}
#section-05 .co-txt-box .co-txt-box-inn{
	background: #237BD0;
	padding:20px;
}
#section-05 .co-txt-box .co-txt-box-inn2{
	padding:20px 20px 0;
	display: flex
}
#section-05 .co-txt-box .co-txt-box-inn2 a{
	color: #237BD0;
}
#section-05 .co-txt-box .co-txt-box-inn2 p+p{
	margin-left: 20px
}

#section-05 .co-txt-box dl{
	display: flex;
	align-items: center;
}
#section-05 .co-txt-box dt{width:18%;}
#section-05 .co-txt-box dd{
	width:calc(100% - 18%);
	text-indent: -13px;
    padding-left: 13px;
}
#section-05 .co-txt-box dd::before{content: "：";}

@media (max-width: 768px){
    #section-05 {padding:15vw 0 20vw;}
    #section-05 .company-wrap{
        flex-direction: column;
        margin-top:5vw;
    }
    #section-05 h2::before{
        width: 51.2vw;
        height: 17.6vw;
        top: -8vw;
    }
    #section-05 .co-image{
        display: flex;
        width:100%;
        padding-right: 0px;
        margin-bottom:0;
    }
    #section-05 .co-image img{	
        margin:0px 0;
        }
    #section-05 .co-image > div+div{margin-top:0;}
    #section-05 .co-txt-box .co-txt-box-inn2{
        padding:3vw 3vw 0;
        display: block
    }
    #section-05 .co-txt-box .co-txt-box-inn2 p+p{
        margin-left: 0
    }
    #section-05 .co-txt-box dl{
        flex-direction: column;
        align-items: left;
        margin-bottom:3vw;
    }
    #section-05 .co-txt-box{
        font-size:3.7vw;
        width:100%;}
    #section-05 .co-txt-box dt{
        width:100%;
        border-bottom: 1px solid hsla(0,0%,100%,0.20)
        }
    #section-05 .co-txt-box dd{
        text-indent: inherit;
        padding-left: 0;
    }
    #section-05 .co-txt-box dd::before{content: "";}
}

/* SP-----------------------------------------------------*/

/* 年末年始休業インフォメーション-----------------------------*/
.closed_info{
	text-align: center;
}
.closed_info_inn{
	margin: 20px 0  ;
	padding: 15px 10px;
	display: inline-block;
	border:4px solid #ff6060;
	line-height:2
}
.closed_info_inn .col{
	background: #ff6060;
	color:#fff;
	padding: 2px 10px
}
@media (max-width: 768px){
	.closed_info{
		width:96%;
		margin: 0 auto;
	}
	.closed_info_inn{
			font-size:0.8em;
		line-height:1.6
	}
	.closed_info_inn .col{
	background: #ff6060;
	color:#fff;
	padding: 0px 5px;
		margin: 5px 0
}

}
/* 年末年始休業インフォメーション-----------------------------*/


