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


common


---------------------------------------------*/
.inner{
	position: relative;
	z-index: 4;
}
h2{
	text-align: center;
	margin-bottom: 40px;
}
h2 span{
	display: block;
}
h2 + p{
	text-align: center;
}
.wrap{
	position: relative;
}
.bg{
	position: relative;
	overflow: hidden;
	width: 100%;
}
.bg::before,
.bg::after{
	position: absolute;
	content: "";
	left: 0;
}
.bg_top::after{
    width: 0;
    height: 0;
	top:0;
    border-style: solid;
    border-width: 20vh 100vw 0 0;
    border-color: #fff transparent transparent transparent;
}
.bg_bottom::after{
    width: 0;
    height: 0;
	bottom:0;
    border-style: solid;
    border-width: 0 0 20vh 100vw;
    border-color:  transparent transparent #fff transparent;
}
/*.bg::before{
	background:url("../img/bg_border.png") repeat left top;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: 0;
}*/
.bg_b{
	background:url("../img/bg_b.png") no-repeat center bottom;
	background-size: cover;
}
.bg_s{
	background:url("../img/bg_s.png") no-repeat center top;
	background-size: cover;
}
.txtbg_w span{
	background: linear-gradient(transparent 0%, #fff 0%);
	display: inline;
	padding: 5px 30px;
}
.txtbg_w_s span{
	padding: 2px 10px;
}
.txtbg_b{
	background: linear-gradient(transparent 95%, #000 0%);
	display: inline;
	padding: 5px 0;
}
.contact_btn{
	position: relative;
	width: 400px;
	margin: 70px auto 0;
	background: #000;
	border:2px solid #000;
	overflow: hidden;
	z-index: 4
}
.contact_btn a{
	position: relative;
	display: block;
	color: #fff;
	padding: 15px 0;
}
.contact_btn::before{
	position: absolute;
	content: "";
	width: 0;
	height: 100%;
	left: 0;
	top:0;
	transition: all 0.3s;
	background: #fff;
}
.contact_btn a:hover{
	color: #000;
}
.contact_btn:hover:before{
	width: 100%;
	height: 100%;
}
/*---------------------------------------------


fv_area


---------------------------------------------*/
.fv_area{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	padding: 0 1% 0 7%;
}
.fv_area .side_txt{
	position: absolute;
	left: 60px;
	top:50%;
	transform: translateY(-50%);
	width: 20px;
}
.fv_area .ph{
	width: 55%;
	max-width: 450px;
	max-height: 450px;
	padding-top: 30px;
	margin-left: 20px;
}
.fv_area .title_area{
	width: 650px;
}
.fv_area .title_area p{
	display: inline-block;
	letter-spacing: 0.2rem;
	background: #000;
	color: #fff;
	padding: 2px 5px;
	margin-bottom: 30px;
	font-size: 1.4rem;
}
.fv_area .title_area h1{
	display: inline-block;
	letter-spacing: 0.6rem;
	border-bottom: 3px solid #000;
	white-space: nowrap !important;
}
.fv_area .title_area h1 span{
	display: inline-block;
	border-bottom: 3px solid #000;
	margin-bottom: 30px;
}
.fv_area .logo{
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	width: 200px;
}
/*---------------------------------------------


product


---------------------------------------------*/
.product_area{
	text-align: center;
	padding: 200px 0;
}
.movie_area{
	position: relative;
    width: 100%;
	max-width: 860px;
    min-width: 700px;
    margin: 40px auto 40px;
}
.movie_area_sp{
	position: relative;
    width: 100%;
	max-width: 360px;
    min-width: 200px;
    margin: 40px auto 40px;
}
.mil-embed-eLbbTX{

}
.mil-embed-eLbbTX iframe{
    position:absolute;
    top:0;
	left: 0;
    width: 100%;
    height:100%;
    border:none;
}
.product_area .txt{
	line-height: 2.6;
}
.product_area .aside{
	color: #727171;
	margin-top: 40px;
}
.product_area .sptitle{
	margin-top: 60px;
}

/*---------------------------------------------


case


---------------------------------------------*/
.case_area{
	position: relative;
	margin-top: -250px;
	padding: 250px 0 50px;
}
.case_area ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 90%;
	margin: 60px auto;
	max-width: 520px;
}
.case_area ul li{
	text-align: center;
	max-width: 240px;
	width: 40%;
}
/*---------------------------------------------


problem


---------------------------------------------*/
.problem_area{
	position: relative;
	margin-top: -300px;
	padding: 200px 0;
	text-align: center;
}
.problem_area ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 90%;
	margin: 60px auto;
	max-width: 750px;
}
.problem_area ul li{
	text-align: center;
	max-width: 200px;
	width: 30%;
}
.problem_area ul li p{
	margin-top: 15px;
	line-height: 2.0;
}
.problem_area .list{
	background: url("../img/problem_list_bg.png") no-repeat;
	background-size: 100%;
	max-width: 930px;
	height: 592px;
	margin: 0 auto;
	padding: 60px;
	box-sizing: border-box;
}
.problem_area .list h3{
	max-width: 250px;
	width: 30%;
	margin:0 auto 30px;
}
.problem_area .list h4{
	text-align: center;
}
.problem_area .list ul{
	margin: 0 auto 20px;
}
.problem_area .list ul li p{
	color: #014e98;
	line-height: 1.4;
	margin-top: 5px;
}
.problem_area .list .txt{
}

/*---------------------------------------------


service


---------------------------------------------*/
.service_area{
	position: relative;
	padding: 0px 0;
	text-align: center;
}
.service_area ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 90%;
	margin: 60px auto;
	max-width: 750px;
}
.service_area ul li{
	text-align: center;
	max-width: 200px;
	width: 30%;
}
.service_area ul li figure{
	display: block;
	border:1px solid #dedfdf;
}
.service_area ul li p{
	margin-top: 15px;
	line-height: 1.4 !important;
}
/*---------------------------------------------


flow


---------------------------------------------*/
.flow_area{
	position: relative;
	padding: 250px 0;
	text-align: center;
}
.flow_area ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 90%;
	margin: 60px auto;
	max-width: 980px;
}
.flow_area ul li{
	position: relative;
	max-width: 300px;
	width: 30%;
	margin-bottom: 60px;
}
.flow_area ul li h3{
	text-align: center;
	margin-bottom: 20px;
}
.flow_area ul li h3 span{
	display: block;
	margin-bottom: 10px;
}
.flow_area ul li .txt{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("../img/flow_bg.png") no-repeat left top;
	background-size: cover;
	height: 122px;
	width: 100%;
}
.flow_area ul li .txt::after{
	position: absolute;
	content: "";
	background: url("../img/flow_bg_r.png") no-repeat right top;
	background-size: cover;
	height: 122px;
	width: 100%;
}
.flow_area ul li .txt::before{
	position: absolute;
	content: "";
	left: 0;
	top:0;
	width: calc(100% - 12px);
	height: 100%;
	background: #fff;
	z-index: -1;
}
.flow_area ul li p{
	text-align:left;
	line-height: 1.4;
}
.flow_area .aside{
	color: #727171;
	margin-top: 20px;
}
@media screen and (max-width: 1300px) {
    .fv_area .side_txt{
        left: 10px;
    }
}
@media screen and (max-width: 767px) {
    /*---------------------------------------------


    common


    ---------------------------------------------*/
    .inner{
		width: 88%;
		margin: 0 auto;
    }
    h2{
        margin-bottom: 30px;
    }
    .bg_top::after{
        border-width: 60px 100vw 0 0;
    }
    .bg_bottom::after{

        border-width: 0 0 60px 100vw;
    }
    .txtbg_w span{
        padding: 5px 10px;
    }
    .txtbg_w_s span{
        padding: 2px 5px;
    }
    .txtbg_b{
        background: linear-gradient(transparent 95%, #000 0%);
        display: inline;
        padding: 5px 0;
    }
    .contact_btn{
        position: relative;
        width: 90%;
        margin: 30px auto 0;
				z-index: 3;
    }
    .contact_btn a{
        position: relative;
        display: block;
        padding: 10px 0;
    }
    /*---------------------------------------------


    fv_area


    ---------------------------------------------*/
    .fv_area{
        display: block;
        padding: 0 5%;
		text-align: center;
		height: auto;
    }
    .fv_area .side_txt{
        position: absolute;
        left: 2%;
        top:20%;
        transform: translateY(0);
        width: 15%;
		max-width: 12px;
    }
    .fv_area .ph{
        width: 80%;
		max-width: 300px;
		margin: 0 auto;;
		padding-top: 10px;
    }
    .fv_area .title_area{
        width: auto;
		margin-top: 35%;
    }
    .fv_area .title_area p{
        display: block;
        width: 60%;
		margin:0 auto 15px;
    }
    .fv_area .title_area h1{
		line-height: 1.2;
    }
    .fv_area .title_area h1 span{
        display: inline-block;
        border-bottom: none;
        margin-bottom: 20px;
    }
    .fv_area .logo{
		position: relative;
        width: 40%;
		margin-top: 30px;
    }
    /*---------------------------------------------


    product


    ---------------------------------------------*/
		.product_area{
        text-align: center;
		margin-top: 0;
        padding: 100px 0 160px;
    }
    .movie_area{
        min-width: auto;
    }
    .product_area .txt{
        line-height: 2.6;
		letter-spacing: 0.05rem;;
    }
    .product_area .aside{
        margin-top: 20px;
		text-align: left;
    }


    /*---------------------------------------------


    case


    ---------------------------------------------*/
    .case_area{
        margin-top: -230px;
        padding: 250px 0 50px;
		z-index: 3;
    }
    .case_area ul{
        display: block;
        width: 100%;
        margin: 30px auto;
    }
    .case_area ul li{
		margin: 0 auto 30px;
        width: 40%;
    }
    /*---------------------------------------------


    problem


    ---------------------------------------------*/
    .problem_area{
        margin-top: -220px;
        padding: 150px 0 100px;
    }
    .problem_area ul{
        display: block;
        width: 100%;
        margin: 30px auto;
    }
    .problem_area ul li{
        max-width: 400px;
        width: 100%;
		margin:0 auto 30px;
    }
    .problem_area ul li p{
        margin-top: 10px;
        line-height: 2.0;
    }
    .problem_area ul li figure{
        display: block;
		width: 50%;
		margin: 0 auto;
    }
    .problem_area .list{
        background-image: url("../img/problem_list_bg_bottom_sp.png") ,url("../img/problem_list_bg_sp.png") ;
		background-position: bottom center , top center;
		background-repeat: no-repeat , no-repeat;
		background-size: 100%,100%;
        height: auto;
        padding: 20px;
		margin-top: 50px;
    }
    .problem_area .list h3{
        max-width: auto;
        width: 70%;
        margin:20px auto 30px;
    }
    .problem_area .list h4{
        text-align: center;
		margin-top: 30px;
    }
    .problem_area .list ul{
        margin: 0 auto 20px;
    }
    .problem_area .list ul li p{
        color: #014e98;
        line-height: 1.4;
        margin-top: 5px;
    }

    /*---------------------------------------------


    service


    ---------------------------------------------*/
     .service_area{
		 padding-top: 30px;

    }
	.service_area ul{
        justify-content: center;
        align-items: flex-start;
		flex-wrap: wrap;
        width: 90%;
        margin: 30px auto;
    }
    .service_area ul li{
        max-width: auto;
        width: 45%;
		margin: 0 auto 40px;
    }
    .service_area ul li p{
        margin-top: 10px;
    }
    /*---------------------------------------------


    flow


    ---------------------------------------------*/
    .flow_area{
		margin-top: -50px;
        padding: 130px 0;
    }
    .flow_area ul{
        display: block;
        width: 70%;
        margin: 30px auto;
    }
    .flow_area ul li{
        position: relative;
        max-width: 350px;
        width: 100%;
		margin:0 auto 20px;
    }
    .flow_area ul li h3{
        margin-bottom: 10px;
    }
    .flow_area ul li h3 span{
        display: block;
        margin-bottom: 0;
    }
    .flow_area ul li .txt{
        background-image: url("../img/flow_bg_b_sp.png") ,url("../img/flow_bg_sp.png") ;
		background-position: bottom center , top center;
		background-repeat: no-repeat , no-repeat;
		background-size: 100%,100%;
        height: auto;
        width: 100%;
		padding: 20px 20px 30px;
		box-sizing: border-box;
    }
    .flow_area ul li .txt::after{
        display: none;
    }
    .flow_area ul li .txt::before{
        display: none;
    }
    .flow_area ul li p{
        text-align:left;
        line-height: 1.4;
    }
    .flow_area .aside{
        color: #727171;
        margin-top: 20px;
    }


}
@media screen and (max-width: 400px) {
    .fv_area{
		height: 90vh;
    }
    .product_area{
		margin-top: -15%;
    }
}
