@charset "utf-8";
/* CSS Document */
html {
    overflow-y: scroll;
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body {
	position: relative;
    word-wrap: break-word;
	margin: 0;
	padding: 0;
}
table{
	border-collapse:collapse;
	border-spacing:0
}
input,select{
	vertical-align:middle
}
a{
	margin:　0;
	padding:　0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}
/* box-sizing */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
ul, dl{
	margin: 0;
	padding: 0;
	list-style: none;
}
/* 全幅ラップ */
.overall_wrap {
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	overflow: hidden;
}
/* グーグルマップiframeレスポンシブ */
.google-map {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 43.6%;
	overflow: hidden;
}
.google-map iframe {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}

/*動画埋め込み2022.12.8*/
.movie-wrapper {max-width: 600px; padding: 10px; margin: 10px auto;}
.movie-wrap {position: relative; width: 100%; padding: calc(720 / 1280 * 100%) 0 0;}
.movie-wrap iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

/* Font Style */
html{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 16px;
	font-size: 100%;
}

/* Page Setting */
section{
	margin: 0;
	padding: 0;
}
.inner_wrap{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
.header_wrap{
	position: relative;
	display: flex;
	justify-content: space-between;
	height: 75px;
}
.header_logo img{
	width: 184px;
	padding-top: 16px;
	padding-left: 3rem;
}
.header_anchor{
	width: 100%;
	text-align: right;
}
.header_anchor ul{
	display: flex;
	justify-content: flex-end;
	padding-top: 1.5rem;
	padding-right: 2%;
}
.header_anchor li{
	margin: 0 1rem;
}
.header_anchor a{
	color: #000;
}
.header_anchor a:hover{
	border-bottom: 2px solid #091977;
}
.header_cta{
	background: #091977;
	color: #fff;
}
.header_cta a{
	display: block;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	padding-top: 1rem;
	line-height: 1.2;
	width: 12rem;
}
.header_cta a:hover{
	opacity: .8;
}
.header_cta a span{
	font-size: 20px;
}
#main_visual{
	position: relative;
	text-align: center;
	z-index: 1;
}
.main_bg{
	width: 100%;
}
.main_title{
	position: absolute;
	width: 100%;
	top: 0;
}
.main_title h1{
	max-width: 1094px;
	margin: 3rem auto 0;
}
#service{
	position: relative;
	margin-top: -18rem;
	z-index: 2;
}
#service h2{
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
}
#service h2 span{
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 5.7rem;
	color: #e00934;
}
.service_list{
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
	padding-left: 1rem;
	padding-bottom: 5rem;
}
.service_list li{
	position: relative;
	width: 30%;
}
.service_list li p{
	padding-left: 1.5rem;
}
.service_list li:nth-child(2){
	margin-top: 2rem;
}
.service_list li:nth-child(3){
	margin-top: 4rem;
}
.service_list li:nth-child(1):before{
	position: absolute;
	top: 2.1rem;
	left: -3.6rem;
	content: 'Our SERVICE 01';
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 14px;
	font-weight: 800;
	transform: rotate(0.75turn);
}
.service_list li:nth-child(2):before{
	position: absolute;
	top: 2.2rem;
	left: -3.6rem;
	content: 'Our SERVICE 02';
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 14px;
	font-weight: 800;
	transform: rotate(0.75turn);
}
.service_list li:nth-child(3):before{
	position: absolute;
	top: 2.2rem;
	left: -3.6rem;
	content: 'Our SERVICE 03';
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 14px;
	font-weight: 800;
	transform: rotate(0.75turn);
}
.cta_area{
	position: relative;
	background: #e7f1fa;
	padding: 4rem 0 1rem;
	margin-bottom: 3rem;
}
.cta_area:after {
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	margin-left: -20px;
	height:0px;
	width:0px;
	border:20px solid;
	border-color:transparent;
	border-top: 20px solid #fff;
}
.cta_wrap{
	text-align: center;
	background: #fff;
	padding: 0 5% 1rem;
}
.cta_wrap .ttl{
	max-width: 654px;
	margin-top: -1rem;
}
.cta_wrap .btn_img{
	max-width: 828px;
}
.cta_area a{
	position: relative;
}
.cta_wrap a:hover{
	opacity: .8;
    z-index: 10;
}
.cta_wrap a:after{
	content: url("../img/cta_people.png");
	position: absolute;
	z-index: 999;
	top: -230px;
	right: -100px;
    z-index: 10;
    opacity: 1!important;
}
.btn_request{
    display: block;
    margin: 1rem auto 0;
    max-width: 654px;
    width: 80%
}
.btn_request:hover{
    opacity: .8;
    z-index: 9;
}
.cta_sp{
    padding-bottom: 22vw;
}
.btn_request_sp{
    position: relative;
    display: block;
    width: 76%;
    margin: -22vw auto 0;
    
}
#case_study{
	position: relative;
	width: 100%;
}
#case_study .bg_wrap{
	position: absolute;
	width: 100%;
	top: 0;	
}
#case_study .case_wrap{
	position: relative;
	z-index: 2;
	text-align: center;
	width: 100%;
	padding-bottom: 5rem;
}
.case_wrap h2{
	max-width: 618px;
	text-align: center;
	padding-top: 5rem;
	margin: 0 auto 5rem;
}
.case_box_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fbfbfb;
	margin: 0 auto;
	padding: 2rem 2rem 0;
}
.case_box{
	width: calc(50% - 1rem);
	background: #e7f1fa;
	padding: 2rem;
	margin-bottom: 2rem;
}
.case_box h3{
	position: inline-flex;
	font-size: 1.3rem;
	padding: .3rem 0 .5rem;
	margin: 0;
	background: #000;
	color: #fff;
}
.case_box:nth-child(1) h3:before{
	content: url("../img/case_num_01.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}
.case_box:nth-child(2) h3:before{
	content: url("../img/case_num_02.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}
.case_box:nth-child(3) h3:before{
	content: url("../img/case_num_03.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}
.case_box:nth-child(4) h3:before{
	content: url("../img/case_num_04.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}
.case_box:nth-child(5) h3:before{
	content: url("../img/case_num_05.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}
.case_box:nth-child(6) h3:before{
	content: url("../img/case_num_06.png");
	position: relative;
	display: inline-flex;
	top: .3rem;
	padding-right: 1rem;
}

.case_inner{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding-top: 1rem; 
}
.case_inner p{
	margin: 0 0 0 1rem;
	text-align: left;
}
#flow{
	padding-bottom: 5rem;
}
#flow h2{
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
}
#flow h2 span{
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 5.7rem;
	color: #e00934;
}
.flow_box{
	display: flex;
	justify-content: space-between;
	padding-bottom: 2rem;
}
.flow_num{
	width: 98px;
	margin-right: 2rem;
}
.flow_txt{
	width: 100%;
	margin-right: 2rem;
}
.flow_txt h3{
	margin: 0;
}
.flow_box_sp{
	margin: 0 0 2rem;
	position: relative;
}
.flow_txt_sp{
	position: relative;
	width: 90%;
	margin: -2rem auto 0;
}
.flow_txt a:hover{
	opacity: .8;
}
footer{
	position: relative;
	background: #000;
	color: #fff;
	padding: 2.5rem 0;
	margin-bottom: 0;
}
.footer_wrap{
	display: flex;
	justify-content: space-between;
}
.footer_txt{
	margin: 0;
	line-height: 1;
}
.footer_txt a{
	text-decoration: none;
	color: #fff;
	font-size: 14px;
	margin: 0;
	line-height: 1;
}
.footer_txt small{
	position: relative;
	top: -1px;
	padding-right: 4px;
	font-size: 6px;
	margin: 0;
}
.copyright{
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 14px;
	margin: 0;
	line-height: 1.3;
}
@media screen and (max-width:1200px){
	.inner_wrap{
		padding: 0 5%;
	}
}
@media screen and (max-width:1000px){
	.header_anchor ul{
		padding-right: 1%;
	}
	.header_anchor li{
		margin: 0 .5rem;
	}
	.header_anchor a{
		font-size: 12px;
	}
}
@media screen and (max-width:900px){
	.case_inner img{
		max-width: 90px;
	}
}
@media screen and (max-width:821px){
	.header_anchor a{
		font-size: 10px;
	}
}
@media screen and (max-width:767px){
	.header_anchor{
		display: none;
	}
	.header_cta a{
		width: 8rem;
		padding-top: .6rem;
	}
	.header_wrap{
		height: 60px;
	}
	.header_logo img{
		width: 126px;
    	padding-top: 12px;
		padding-left: .5rem;
	}
	#service{
		margin-top: 0;
	}
	#service h2{
		font-size: 1.5rem;
	}
	#service h2 span{
		font-size: 2.8rem;
	}
	.service_list{
		margin: 0 0 2rem;
		padding: 0;
	}
	.service_list li{
		width: 100%;
	}
	.service_list li img{
		margin: 2rem auto;
	}
	.cta_area{
		background: #fff;
		padding: 0;
		margin-bottom: 0;
	}
	.cta_area a{
		display: block;
	}
	.cta_area a:after{
		content: none;
	}
	.case_box{
		width: 100%;
		padding: 1rem;
		margin-bottom: 1rem;
	}
	.case_wrap h2{
		margin: 0 auto 2rem;
	}
	.case_box_wrap{
		padding: 1rem 1rem 0;
	}
	#flow{
		padding-bottom: 2rem;
	}
	#flow h2{
		font-size: 1.5rem;
		margin-bottom: 0.5rem;
	}
	#flow h2 span{
		font-size: 2.8rem;
	}
	.footer_wrap{
		flex-wrap: wrap;
	}
	.footer_txt{
		width: 100%;
		line-height: 2;
		border-bottom: 1px solid #333;
		padding-bottom: 1rem;
		margin-bottom: 1rem;
	}
}
/* Utillity Setting */
.center{text-align: center;}
.sp_only {display: none;}
.sp-fluid{
	width: 100%;
	max-width: 767px;
}
.img-fluid{
	width: 100%;
}
@media screen and (max-width:767px){
    .sp_only{display: block!important;}
    .pc_only{display: none!important;}
}
.m0{margin: 0!important;}
.mb10{margin-bottom: 10px!important;}
.mb20{margin-bottom: 20px!important;}
.mb40{margin-bottom: 40px!important;}
.mb60{margin-bottom: 60px!important;}
.mt0{margin-top: 0!important;}
.mt20{margin-top: 20px!important;}
.mt40{margin-top: 40px!important;}
.mt60{margin-top: 60px!important;}
.pt20{padding-top: 20px!important;}
.pt40{padding-top: 40px!important;}
.pt60{padding-top: 60px!important;}
.pb20{padding-bottom: 20px!important;}
.pb40{padding-bottom: 40px!important;}
.pb60{padding-bottom: 60px!important;}
.pl-s{padding-left: 8px!important;}
.pl-m{padding-left: 16px!important;}
.pl-l{padding-left: 32px!important;}