@charset "utf-8";



.col_w{
	color: #fff;
}

@font-face {
	font-family: 'Chillax-medium';
	src: url(../font/Chillax-Medium.woff) format('woff'),
	     url(../font/Chillax-Medium.woff2) format('woff2');
		 font-weight: 500;
		 font-style: normal;
}

/* ---------------------------------------
* common
------------------------------------------ */

.btn.sp{
	display: none;
}

.col-w{
	color: #fff;
}

.access a{
	display: block;
	text-decoration: underline;
}

.mainTop{
	overflow: hidden;
}

.btn-404{
	margin: 0 auto;
}

.slideImg{
	display: inline-block;
	margin-right: 2.5vw;
}

.nav-other02{
	padding-left: 30px;
}

.nav-other02 li a{
	display: block;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: normal;
	transition: all .3s;
	font-weight: 600;
}

.nav-other02 li a:hover{
	color: #005FFF;
}

.nav-other02 li.active a{
	color: #005FFF;

}

.nav-other02 li:not(:last-of-type){
	padding-right: 5px;
	margin-right: 5px;
	position: relative;
}

.nav-other02 li:not(:last-of-type)::after{
	content: "/";
	display: block;
	position: absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	color: #000000;
	font-size: 12px;
	font-weight: 600;
	line-height: 100%;
	letter-spacing: normal;
}

svg{
	width: 100%;
	height: 100%;
}

.btn03 span{
	display: block;
}

.btn03 span:first-of-type{
	position: relative;
	margin-right: 14px;
	padding: 8px 0;
	line-height: 100%;
	letter-spacing: normal;
	font-weight: 500;
}

.btn03 span:first-of-type::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #1A212F;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .3s;
}

.btn03 span:last-of-type{
	width: 32px;
	height: 32px;
}


.sec01Main a:hover .btn03 span:first-of-type::after,
.sec01-listItem a:hover .btn03 span:first-of-type::after,
.btn03:hover span:first-of-type:after{
	opacity: 1;
}

.sec01Main a .btn03 rect:first-of-type,
.sec01-listItem a .btn03 rect:first-of-type,
.sec01Main a .btn03 path,
.sec01-listItem a .btn03 path,
.btn03 rect:first-of-type,.btn03 path{
	transition: all .3s;
}

.sec01Main a:hover .btn03 rect:first-of-type,
.sec01-listItem a:hover .btn03 rect:first-of-type,
.btn03:hover rect:first-of-type{
	fill: #fff;
}

.sec01Main a:hover .btn03 path,
.sec01-listItem a:hover .btn03 path,
.btn03:hover path{
	stroke: #1A212F;
}

.search p{
	font-weight: 600;
	font-size: 18px;
	padding-bottom: 20px;
}

.searchForm{
	position: relative;
}

.search form input {
	padding: 17px 0 17px 10px;
	background: #EDEEF0;
	border: 1px solid #CFD5D8; 
	width: 100%;
	border-radius: 10px;
}


.search-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 100%;
	padding: 0 20px;
	background-color: #1A212F;
	position: absolute;
	right: 0;
	top: 0;
	border-radius: 0 10px 10px 0;
}

.searchIcon{
	width: 20px;
	height: 20px;
	position: absolute;
}

.searchIcon svg{
	width: 100%;
	height: 100%;
}


/* --------------------------------
* Top ページ
----------------------------------- */
.mv{
	position: relative;
	padding: 200px 0 335px;
	background: rgb(0,95,255);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
}

.mvShape{
	position: absolute;
	left: 0;
	bottom: -1px;
	z-index: 2;
}

.mvBg{
	position: absolute;
	left: 0;
	right: 0;
	top: 84px;
	width: 90%;
	margin: 0 auto;
}

.mvLoop{
	position: absolute;
	left: 0;
	bottom: 57px;
	z-index: 1;
}

.mvLoop-wrap{
	width: calc(3064px * 3);
}

.mvLoop-img{
	width: 3034px;
}

.mvWrapper{
	position: relative;
	z-index: 3;
}

.mvTtl h2{
	font-size: 96px;
	font-weight: 500;
	line-height: 100%;
	letter-spacing: normal;
	padding-bottom: 30px;
}

.mvTtl p{
	font-weight: 600;
	font-size: 24px;
	line-height: 160%;
	letter-spacing: normal;
}

.mvMock{
	width: 60%;
	max-width: 720px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -147px;
	margin: 0 auto;
	z-index: 2;
}

.logoWrap{
	padding-top: 180px;
	background-color: #F9FAFB;
	overflow: hidden;
}

.logoLoop{
	width: calc(1568px * 3);
}

.logoLoop-img{
	width: 1548px;
	margin-right: 20px;
}

.logoLoop-img ul{
	column-gap: 20px;
}

.logoLoop-img li{
	width: calc((100% - (20px * 7)) / 8 );
}

.sec01{
	background-color: #F9FAFB;
}

.sec01Main,.sec01-listItem,.sec01Entry{
	padding: 40px 60px 60px;
	border: solid 1px #CFD5D8;
	border-radius: 20px;
	background: rgb(241,240,241);
	background: linear-gradient(90deg, rgba(241,240,241,1) 0%, rgba(216,229,238,1) 100%);
}

.sec01Main-txt,.sec01Entry-txt{
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: solid 1px #CFD5D8;
}

.sec01Main-contents{
	align-items: flex-end;
}

.sec01Main-l,.sec01Main-r{
	width: 43.75%;
}

.sec01-listItem{
	padding: 40px;
	width: 48.148148%;
}

.sec01-listBtn{
	justify-content: end;
}

.sec01-listTxt{
	padding-top: 20px;
}

.sec01-listTxt>p{
	padding: 20px 0 30px;
}

.sec01Main a:hover .btn03 span:first-of-type::after,
.sec01-listItem a:hover .btn03 span:first-of-type::after{
	opacity: 1;
}

.sec01Main a .btn03 rect:first-of-type,
.sec01-listItem a .btn03 rect:first-of-type,
.sec01Main a .btn03 path,
.sec01-listItem a .btn03 path{
	transition: all .3s;
}

.sec01Main a:hover .btn03 rect:first-of-type,
.sec01-listItem a:hover .btn03 rect:first-of-type{
	fill: #fff;
}

.sec01Main a:hover .btn03 path,
.sec01-listItem a:hover .btn03 path{
	stroke: #1A212F;
}

.sec01Entry{
	border: unset;
	background: rgb(94,206,229);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
}

.sec01Entry-contents{
	align-items: flex-end;
}

.sec01Entry-l{
	width: 18.75%;
}

.sec01Entry-r{
	width: 68.5%;
}

.sec02-txtWrap{
	align-items: flex-end;
}

.sec02{
	background-color: #F9FAFB;
}

.sec03{
	background: rgb(26,33,47);
	background: linear-gradient(180deg, rgba(26,33,47,1) 0%, rgba(26,33,47,1) 80%, rgba(26,33,47,0) 80%, rgba(26,33,47,0) 100%);
}

.btn-sec03 span:last-of-type{
	width: 80px;
	height: 80px;
	box-shadow: 0 2px 10px rgba(0,0,0,.15);
	border-radius: 100px;
}

.btn-sec03 span:last-of-type svg{
	width: 100%;
	height: 100%;
}

.btn-sec03:hover span:first-of-type::after{
	opacity: 1;
	background-color: #fff;
}

.btn-sec03 rect:first-of-type,
.btn-sec03 path{
	transition: all .3s;
}

.btn-sec03:hover rect:first-of-type{
	fill: #fff;
}

.btn-sec03:hover path{
	stroke: #005FFF;
}

.sec03Img  .img{
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/company.png);
	height: 410px;
	border-radius: 20px;
	box-shadow: 0 4px 30px rgba(0,0,0,.15);
}

.sec04-list{
	column-gap: 20px;
}

.sec04-listItem{
	width: calc((100% - (20px * 4)) / 5);
}

.sec06{
	background: rgb(241,240,241);
	background: linear-gradient(90deg, rgba(241,240,241,1) 0%, rgba(216,229,238,1) 100%);
}

.sec07-list{
	column-gap: 20px;
	row-gap: 20px;
}

.sec07-listItem{
	/* box-shadow: 0 4px 10px rgba(0,0,0,.05); */
	width: calc((100% - (20px * 4)) / 5);
}

/* ---------------------------------------
* service
------------------------------------------ */

.service-listItem{
	width: 47.22%;
}

.service-listTxt{
	padding-top: 30px;
}

.service-listTxt h3{
	font-weight: 600;
	padding-bottom: 20px;
	font-size: 24px;
	line-height: 160%;
	letter-spacing: normal;
}

.strength-listItem:not(:last-of-type){
	margin-bottom: 90px;
}

.strength-listImg{
	border-radius: 10px;
	width: 44.444%;
}

.strength-listTxt{
	padding-top: 30px;
	width: 50%;
	position: relative;
}

.strength-listNum{
	position: absolute;
	font-size: 160px;
	line-height: 100%;
	letter-spacing: normal;
	color: #EDEEF0;
	font-weight: 500;
	top: 0;
	right: 0;
}

.strength-listTtl,.strength-listTxt p:last-of-type{
	position: relative;
	z-index: 2;
}

.section-skill{
	overflow: hidden;
}

.skillLoop{
	width: calc(1320px * 3);
}

.skillLoop02{
	position: relative;
	width: calc(1485px * 3);
}

.skillLoop-img{
	width: 1310px;
}

.skillLoop02 .skillLoop-img{
	width: 1475px;
}

/* .skillLoop-img-r{
position:absolute;
left: 0;
} */


.section-flow{
	padding: 150px 0 120px;
	background-color: #1A212F;
}


.flow-l{
	width: 38.888%;
}

.flow-l>p{
	padding: 30px 0 60px;
}

.flow-r{
	width: 55.5555%;
	padding: 60px;
	border-radius: 20px;
	background-color: #FFFFFF;
	box-shadow: 0 4px 20px rgba(0,0,0,.15);
}

.flow-list{
	padding-left: 48px;
	position: relative;
}

.flow-list::before{
	content: "";
	width: 1px;
	height: 100%;
	background-color: #CFD5D8;
	position: absolute;
	left: 8px;
	top: 4px;
}

.flow-listItem{
	position: relative;
}

.flow-listItem::before{
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	border-radius: 50px;
	background: rgb(94,206,229);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
	position: absolute;
	left: -48px;
	top: 8px;
	z-index: 2;
}

.flow-listItem:last-of-type:after{
	content: "";
	display: block;
	width: 18px;
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: -48px;
	top: 20px;
}

.flow-listItem:not(:last-of-type){
	padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom: solid 1px #CFD5D8;
}

.flow-listNum{
	font-weight: 500;
	color: #FFFFFF;
	line-height: 140%;
	letter-spacing: normal;
	padding-bottom: 4px;
	display: inline-block;
	background: rgb(94,206,229);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.flow-listItem h3{
	font-weight: 600;
	font-size: 20px;
	line-height: 160%;
	letter-spacing: normal;
	padding-bottom: 20px;
}

.works-listItem{
	width: 47.222%;
}

.works-listTxt{
	padding-top: 20px;
}

.works-listTxt h3{
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	font-size: 24px;
}

.works-listTxt p{
	padding: 20px 0 30px;
}

.worksBtn{
	justify-content: flex-end;
}

.works-listItem:hover .btn03 span:first-of-type:after{
	opacity: 1;
}


.works-listItem:hover .btn03 rect:first-of-type{
	fill: #fff;
}

.works-listItem:hover .btn03 path{
	stroke: #1A212F;
}

/* ---------------------------------------
* company
------------------------------------------ */
.tab-list{
	column-gap: 30px;
	row-gap: 20px;
}

.tab-listItem a{
	display: block;
}

.tab-listItem a span{
	display: inline-block;
	vertical-align: middle;
}

.tab-listItem a span:first-of-type{
	padding: 2px 0;
	position: relative;
}

.tab-listItem a span:first-of-type::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #282828;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .3s;
}

.tab-listItem:hover a span:first-of-type::after{
	opacity: 1;
}		

.tab-listItem a span:last-of-type{
	width: 26px;
	height: 26px;
	margin-left: 4px;
}

.tab-listItem a span:last-of-type rect:first-of-type,
.tab-listItem a span:last-of-type path{
	transition: all .3s;
}

.tab-listItem:hover a span:last-of-type rect:first-of-type{
	fill:#282828;
}

.tab-listItem:hover a span:last-of-type path{
	stroke:#fff;
}


.section-mission{
	position: relative;
}

.missionBg{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.missionWrap{
	width: 84.2%;
	margin: 0 auto;
}

.missionWrap h3{
	line-height: 160%;
	font-weight: 600;
	display: inline-block;
	background: rgb(21,29,53);
	background: linear-gradient(135deg, rgba(21,29,53,1) 0%, rgba(0,95,255,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.missionWrap>p{
	line-height: 160%;
	letter-spacing: normal;
	font-family: "Barlow", sans-serif;
	font-style: italic;
}

.section-member{
	padding-bottom: 190px;
	background: rgb(241,240,241);
	background: linear-gradient(90deg, rgba(241,240,241,1) 0%, rgba(216,229,238,1) 100%);

}

.memTxtwrap{
	align-items: flex-end;
}

.memTxtwrap>p{
	width: 44.444%;
}

.member-list{
	column-gap: 30px;
	row-gap: 40px;
}

.member-listItem{
	width: calc((100% - (30px * 3)) / 4);
	cursor: pointer;
}


.member-listImg{
	position: relative;
	border-radius: 10px;
}

.member-listImg-wrap{
	overflow: hidden;
	border-radius: 10px;
}


.member-listItem .member-listImg-wrap img{
	transition: all .5s;
	border-radius: 10px;
}

.member-listItem:hover .member-listImg-wrap img{
	transform: scale(1.1);
}

.popBtn{
	position: absolute;
	right: 22px;
	bottom: -16px;
	width: 40px;
	height: 40px;
}

.popBtn svg{
	width: 100%;
	height: 100%;
}

.member-listItem .popBtn rect:first-of-type,.member-listItem .popBtn path{
	transition: all .3s;
}

.member-listItem:hover .popBtn rect:first-of-type{
	fill: #fff;
}

.member-listItem:hover .popBtn path{
	fill: #1A212F;
}

.member-listTxt{
	padding-top: 10px;
}

.member-listTxt>p:first-of-type{
	line-height: 160%;
	letter-spacing: normal;
}

.member-listTxt>p:last-of-type{
	font-size: 24px;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 600;
	padding-top: 6px;
}

.memberPop{
	position: fixed;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 0;
	width: 100%;
	height: 100dvh;
	padding: 30px 20px;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: all .3s;
}

.memberPop.is-active{
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.modal_layer{
	cursor: pointer;
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	background-color: rgba(0,0,0,.75);
}

.memberPop-wrap{
	position: relative;
	z-index: 10000;
	margin: 0 auto;
	border-radius: 20px;
	background-color: #fff;
	width: 100%;
	max-width: 1080px;
	height: 100%;
	max-height: 80%;
}


.memberPop-l,.memberPop-r{
	width: 50%;
}

.memberPop-l{
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 100%;
}

.memberPop-l img{
	border-radius: 20px 0 0 20px;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 25%;
	object-position: 50% 25%;
}

.memberPop-r{
	position: relative;
	height: 100%;
	overflow: scroll;
	margin-left: 50%;
}

.memberPop-txt p{
	font-size: 14px;
}

.memberPop-detail{
	padding: 140px 30px 40px;
}

.closeBtn{
	cursor: pointer;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10000;
}

.closeBtn span{
	display: inline-block;
	vertical-align: middle;
}

.closeBtn span:first-of-type{
	font-size: 14px;
	line-height: 160%;
	letter-spacing: normal;
	color: #808080;
}

.closeBtn span:last-of-type{
	margin-left: 10px;
	width: 40px;
	height: 40px;
}

.closeBtn span:last-of-type svg{
	width: 100%;
	height: 100%;
}

.memberPop-name{
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: solid 1px #D9D9D9;
}

.memberPop-name p{
	line-height: 160%;
	letter-spacing: normal;
}

.memberPop-name p:first-of-type{
	font-size: 14px;
	color: #808080;
	padding-bottom: 6px;
}

.memberPop-name p:last-of-type{
	font-size: 24px;
	font-weight: 600;
	color: #222222;
}

.memberPop-txt{
	color: #222222;
}

.memberPop-txt p:not(:first-of-type){
	padding-top: 30px;
}

.popDetail{
	padding-top: 30px;
}

.popDetail h4{
	font-weight: 600;
	padding-bottom: 10px;
}

.pop-sns p{
	padding-right: 44px;
	margin-right: 20px;
	line-height: 160%;
	letter-spacing: normal;
	color: #808080;
	position: relative;
}

.pop-sns p::after{
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	background-color: #000;
	position: absolute;
	top: 50%;
	right: 0%;
	transform: translateY(-50%);
}

.popSns-list{
	column-gap: 10px;
}

.popSns-listItem{
	width: 32px;
	height: 32px;
}

.section-company{
	padding-bottom: 150px;
}


.info-defList{
	padding: 30px 0;
	border-bottom: 1px solid #E5E5E5;
}

.info-defList:first-of-type{
	padding-top: 0;
}

.info-defTitle{
	width: 230px;
	flex: 0 0 230px;
	font-size: 14px;
}

.info-defDesc{
	flex: 1 1 auto;
	font-size: 14px;
}

.info-defDesc p:not(:last-of-type){
	padding-bottom: 30px;
}

.info-defDesc p span{
	display: block;
}

.info-defDesc p span:first-of-type{
	font-weight: 700;
}

.mapWrap h4{
	font-weight: 600;
	font-size: 14px;
	line-height: 100%;
	padding-left: 24px;
	position: relative;
}

.mapWrap h4::before{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background: rgb(94,206,229);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
	border-radius: 50px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.map{
	margin: 20px 0;
}

.section-history{
	padding-bottom: 200px;
	background: rgb(241,240,241);
	background: linear-gradient(90deg, rgba(241,240,241,1) 0%, rgba(216,229,238,1) 100%);
}

.history-l{
	width: 30.55%;
}

.history-r{
	width: 69.4444%;
}

.histort-ttlWrap{
	align-items: flex-end;
}


.historyDetail.active{
	display: flex;
}

.h-tabList{
	padding: 12px 30px 16px;
	background-color: #1A212F;
	color: #fff;
	border-radius: 100px;
}

.h-tabListItem{
	margin: 0 10px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	position: relative;
	cursor: pointer;
}

.h-tabListItem::after{
	content: "";
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .3s;
}

.h-tabListItem:hover::after,.h-tabListItem.active::after{
	opacity: 1;
}

.h-listItem::before{
	top: 0;
}

.h-tabListItem a{
	display: block;
}
.h-img{
	width: 39.5189%;
}

.h-txt{
	padding-top: 20px;
	width: 57%;
}

.h-txt p:first-of-type{
	line-height: 140%;
	letter-spacing: normal;
	padding-bottom: 4px;
	font-weight: 500;
	display: inline-block;
	background: rgb(94,206,229);
	background: linear-gradient(135deg, rgba(94,206,229,1) 0%, rgba(0,95,255,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.h-txt p:last-of-type{
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
}

@media screen and (max-width:768px) {

	/* ---------------------------------------
	* common
	------------------------------------------ */

	.btn.sp{
		display: flex;
	}

	.btn.pc{
		display: none;
	}

	.btn{
		margin: 0 auto;
	}

	.nav-other02{
		padding-right: 10px;
	}

	.nav-other02 li a{
		display: block;
		font-size: 12px;
	}


	.btn03 span{
		display: block;
	}

	.btn03 span:first-of-type{
		position: relative;
		margin-right: 14px;
		padding: 8px 0;
		line-height: 100%;
		letter-spacing: normal;
		font-weight: 500;
	}

	.btn03 span:first-of-type::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background-color: #1A212F;
		position: absolute;
		left: 0;
		bottom: 0;
		opacity: 0;
		transition: all .3s;
	}

	.btn03 span:last-of-type{
		width: 32px;
		height: 32px;
	}

	.search p{
		font-weight: 600;
		font-size: 16px;
	}

	/* --------------------------------
	* Top ページ
	----------------------------------- */
	.mv{
		padding: 140px 0;
	}


	.mvBg{
		top: unset;
		bottom: -80px;
		width: 100%;
	}

	.mvLoop{
		position: absolute;
		left: 0;
		bottom: 110px;
		z-index: 1;
	}

	.mvLoop-wrap{
		width: calc(1220px * 3);
	}

	.mvLoop-img{
		width: 1200px;
	}

	.mvTtl h2{
		font-size: 35px;
		padding-bottom: 10px;
	}

	.mvTtl p{
		font-size: 16px;
	}

	.mvMock{
		width: 90%;
		max-width: 335px;
		bottom: -100px;
	}

	.logoWrap{
		padding-top: 130px;
	}

	.logoLoop{
		width: calc(1020px * 3);
	}

	.logoLoop-img{
		width: 1000px;
		margin-right: 20px;
	}


	.sec01Main,.sec01-listItem,.sec01Entry{
		padding: 30px;
	}

	.sec01Main-txt,.sec01Entry-txt{
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.sec01Main-l,.sec01Main-r{
		width: 100%;
	}

	.btn03.sp{
		display: flex;
		justify-content: flex-end;
		margin-top: 30px;
	}

	.sec01Main-r{
		padding-top: 30px;
	}

	.sec01-listItem{
		padding: 30px;
		width: 100%;
	}

	.sec01-listItem:first-of-type{
		margin-bottom: 30px;
	}

	.sec01Entry-l{
		width: 100%;
	}

	.sec01Entry-r{
		width: 100%;
		padding-top: 20px;
	}

	.sec01Entry-txt p{
		padding-top: 10px;
		padding-bottom: 0;
	}

	.btn-works{
		margin-top: 40px;
	}

	.sec03{
		background: rgb(26,33,47);
		background: linear-gradient(180deg, rgba(26,33,47,1) 0%, rgba(26,33,47,1) 65%, rgba(26,33,47,0) 65%, rgba(26,33,47,0) 100%);
	}

	.btn-sec03 span:last-of-type{
		width: 40px;
		height: 40px;
	}

	.btn-sec03.sp {
		margin-top: 40px;
		justify-content: center;
	}

	.btn-sec03 span{
		color: #1A212F;
	}

	.btn-sec03:hover span:first-of-type::after{
		opacity: 1;
		background-color: #1A212F;
	}


	.sec03Img  .img{
		height: 200px;
		background-position: center;
	}

	.sec04{
		padding-top: 80px;
	}

	.sec04-list{
		column-gap: 20px;
		row-gap: 20px;
	}

	.sec04-listItem{
		width: calc((100% - (20px * 1)) / 2);
	}

	.btn-news,.btn-blog{
		margin-top: 40px;
	}

	.sec07-listItem{
		width: calc((100% - (20px * 1)) / 2);
	}

	/* ---------------------------------------
	* service
	------------------------------------------ */

	.service-listItem{
		width: 100%;
	}

	.service-listItem:not(:last-of-type){
		margin-bottom: 30px;
	}

	.service-listTxt{
		padding-top: 30px;
	}

	.service-listTxt h3{
		font-size: 20px;
	}

	.strength-listItem:not(:last-of-type){
		margin-bottom: 60px;
	}

	.strength-listImg{
		width: 100%;
	}

	.strength-listTxt{
		padding-top: 30px;
		width: 100%;
	}

	.strength-listNum{
		position: absolute;
		font-size: 160px;
		line-height: 100%;
		letter-spacing: normal;
		color: #EDEEF0;
		font-weight: 500;
		top: 0;
		right: 0;
	}

	.strength-listTtl,.strength-listTxt p:last-of-type{
		position: relative;
		z-index: 2;
	}

	.skillLoop{
		width: calc(910px * 3);
	}

	.skillLoop02{
		width: calc(1010px * 3);
	}

	.skillLoop-img{
		width: 900px;
	}

	.skillLoop02 .skillLoop-img{
		width: 1000px;
	}


	.section-flow{
		padding: 100px 0;
	}


	.flow-l{
		width: 100%;
	}

	.flow-l>p{
		padding: 30px 0 0;
	}

	.flow-r{
		margin-top: 40px;
		width: 100%;
		padding: 40px 30px;
	}

	.flow-list{
		padding-left: 30px;
	}

	.flow-list::before{
		height: 100%;
		left: 6px;
		top: 4px;
	}

	.flow-listItem::before{
		width: 12px;
		height: 12px;
		left: -30px;
		top: 8px;
		z-index: 2;
	}

	.flow-list::before {
		height: 100%;
		left: 5px;
		top: 9px;
	}

	.flow-listItem:not(:last-of-type){
		padding-bottom: 20px;
		margin-bottom: 40px;
	}

	.flow-listItem:last-of-type:after {
		left: -30px;
		width: 12px;
	}

	.btn-flow{
		margin: 40px auto 0;
	}

	.works-listItem{
		width: 100%;
	}

	.works-listItem:not(:last-of-type){
		margin-bottom: 30px;
	}

	.works-listTxt h3{
		font-weight: 600;
		line-height: 160%;
		letter-spacing: normal;
		font-size: 20px;
	}



	/* ---------------------------------------
	* company
	------------------------------------------ */

	.tab-list{
		column-gap: 20px;
		row-gap: 10px;
	}	

	.tab-listItem a span:last-of-type{
		width: 20px;
		height: 20px;
	}

	.missionBg{
		position: absolute;
		left: 0;
		top: unset;
		bottom: 0;
		z-index: -1;
	}

	.missionWrap{
		width: 100%;
	}

	.missionWrap>p{
		padding-top: 20px;
	}

	.section-member{
		padding-bottom: 100px;
	}

	.memTxtwrap>p{
		width: 100%;
		padding-top: 30px;
	}

	.member-list {
		column-gap: 10px;
		row-gap: 30px;
	}

	.member-listItem{
		width: 100%;
		width: calc((100% - (10px * 1)) / 2);
	}

	.member-listTxt>p:last-of-type{
		font-size: 18px;
		padding-top: 6px;
	}

	.popBtn {
		position: absolute;
		right: 16px;
		bottom: -15px;
		width: 30px;
		height: 30px;
	}

	.section-company {
		padding-bottom: 80px;
	}

	.info-contents{
		width: 100%;
		padding-top: 40px;
	}

	.info-defList{
		padding: 20px 0;
	}

	.info-defTitle{
		width: 100%;
	}

	.info-defDesc{
		padding-top: 10px;
	}

	.map iframe{
		width: 100%;
		height: 200px;
	}

	.memberPop{
		height: 100dvh;
		padding: 30px 20px;
	}

	.memberPop-wrap{
		overflow: scroll;
	}

	.memberPop-l,.memberPop-r{
		width: 100%;
	}

	.memberPop-l{
		width: 100%;
		height: auto;
		padding-top: 70%;
		position: relative;
	}

	.memberPop-l img{
		border-radius: 20px 20px 0 0;
		height: 100%;
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}

	.memberPop-r{
		padding: 0 30px 30px;
		overflow: unset;
		height: auto;
		margin-left: 0;
	}

	.memberPop-detail{
		padding: 30px 0;
	}

	.closeBtn{
		position: static;
		text-align: right;
	}


	.closeBtn span:last-of-type{
		width: 30px;
		height: 30px;
	}

	.memberPop-name{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}



	.memberPop-name p:last-of-type{
		font-size: 20px;
	}


	.memberPop-txt p:not(:first-of-type){
		padding-top: 30px;
	}


	.section-history{
		padding-bottom: 100px;
	}

	.history-l{
		width: 100%;
	}

	.history-r{
		width: 100%;
		margin-top: 30px;
	}

	.historyDetail.active{
		display: block;
	}

	.h-tabList{
		margin-top: 30px;
		padding: 12px 30px 16px;
		justify-content: center;
	}

	.h-tabListItem{
		margin: 0 10px;
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		position: relative;
		cursor: pointer;
	}

	.h-img{
		width: 100%;
	}

	.h-txt{
		padding-top: 20px;
		width: 100%;
	}


}

.cv-area{
	position: relative;
	background-color: #005FFF;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 30px rgba(0,0,0,.15);
}

.cvImg{
	width: 67%;
	position: absolute;
	right: 0;
	top: 0;
}

.cv-area a{
	position: relative;
	z-index: 2;
	padding: 100px 60px;
}

.cv-l h2{
	padding-bottom: 10px;
	font-size: 64px;
	line-height: 140%;
	letter-spacing: normal;
	font-weight: 500;
}

.cv-l p{
	font-weight: 600;
}

.cv-r{
	width: 100px;
	height: 100px;
	border-radius: 100px;
	box-shadow: 0 2px 10px rgba(0,0,0,.15);
}

.cv-area circle,.cv-area path{
	transition: all .3s;
}

.cv-area:hover circle{
	fill: #005FFF;
}

.cv-area:hover path{
	stroke: #fff;
}


@media screen and (max-width:768px) {


	.cvImg{
		width: 100%;
		position: absolute;
		right: 0;
		top: unset;
		bottom: 0;
	}

	.cv-area a{
		text-align: center;
		padding: 80px 30px 60px;
	}

	.cv-l h2{
		font-size: 36px;
	}

	.cv-r{
		width: 80px;
		height: 80px;
		margin: 40px auto 0;
	}

	.cv-r svg{
		width: 100%;
		height: 100%;
	}


}