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

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* base
------------------------------------ */
body {
	height: 100%;
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ pro W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS P Gothic',sans-serif;
	font-feature-settings: 'palt' 1;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #000;
	font-size: 16px;
	line-height: 150%;
	background: #fff;
	overflow-x: hidden;
}

p{
	font-size: 16px;
	line-height: 2em;
}
/* SVG
------------------------------------ */

.loadTop #pcLogo .topSVG { stroke: #000; fill: #fff; stroke-width:0.5; }
.loadTop #pcLogo .topSVG.r {
	stroke-DASHarray: 570;
	stroke-DASHoffset: 570;
	-webkit-animation:lineAnimef 3s ease-out 0s forwards;
	animation:lineAnimef 3s ease-out 0s forwards;
}
@keyframes lineAnimef{
	0%  {stroke-DASHoffset:570;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}
@-webkit-keyframes lineAnimef{
	0%  {stroke-DASHoffset:570;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}

.loadTop #pcLogo .topSVG.e {
	stroke-DASHarray: 490;
	stroke-DASHoffset: 490;
	-webkit-animation:lineAnimea 3s ease-out forwards;
	animation:lineAnimea 3s ease-out forwards;
}
@keyframes lineAnimea{
	0%  {stroke-DASHoffset:490;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}
@-webkit-keyframes lineAnimea{
	0%  {stroke-DASHoffset:490;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}

.loadTop #pcLogo .topSVG.c {
	stroke-DASHarray: 772;
	stroke-DASHoffset: 772;
	-webkit-animation:lineAnimen 3s ease-out forwards;
	animation:lineAnimen 3s ease-out forwards;
}
@keyframes lineAnimen{
	0%  {stroke-DASHoffset:772;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}
@-webkit-keyframes lineAnimen{
	0%  {stroke-DASHoffset:772;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}

.loadTop #pcLogo .topSVG.l {
	stroke-DASHarray: 900;
	stroke-DASHoffset: 900;
	-webkit-animation:lineAnimeS 3s ease-out forwards;
	animation:lineAnimeS 3s ease-out forwards;
}

@keyframes lineAnimeS{
	0%  {stroke-DASHoffset:900;fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}
@-webkit-keyframes lineAnimeS{
	0%  {stroke-DASHoffset:900; fill:#fff;}
	60% {stroke-DASHoffset:0;fill:#fff;}
	100%{stroke-DASHoffset:0;fill:#000;}
}

.scroll{
	display: none;
	width: 18px;
    position: absolute;
    right: 4.5%;
    top: 48%;
}

.scroll:after{
    content: "";
    width: 2px;
    height: 50px;
    position: absolute;
    right: 125%;
    bottom: 6%;
    background: #000;
    -webkit-animation: scroll 1.2s linear 0s infinite;
    -moz-animation: scroll 1.2s linear 0s infinite;
    animation: scroll 1.2s linear 0s infinite;
}

@-webkit-keyframes scroll {
 0%{height:0%;top:0px;bottom:auto}
46% {
	height: 100%;
	top: 0;
	bottom: auto
 }
50% {
	height: 100%;
	bottom: 0px;
	top: auto
 }
54% {
	height: 100%;
	bottom: 0px;
	top: auto
 }
100% {
	height: 0%;
	bottom: 0px;
	top: auto
 }
}
@-moz-keyframes scroll {
 0%{height:0%;top:0px;bottom:auto}
46% {
	height: 100%;
	top: 0px;
	bottom: auto
 }
50% {
	height: 100%;
	bottom: 0px;
	top: auto
 }
}
/* layout
------------------------------------ */

.subTit{
	position: relative;
	margin:-60px 0 60px;
	font-size: calc(160px + 50 * (100vw - 1000px) / 1000);
	font-weight: 600;
	line-height: 1em;
	font-family: Roboto, "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
}

.colBox{
	padding:0 6%;
}

.colBox h3{
	margin-bottom:60px;
	position: relative;
	font-size: 50px;
	font-weight: 200;
	line-height:1.4em;
}

.lead{
	position: relative;
	font-size: 18px;
	line-height: 2.4em;
}

.cathTxt{
	margin-top: 3%;
}
.cathTxt dt{
	opacity: 0;
	margin-bottom:3.5%;
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.4em;
}

.cathTxt dd{
	opacity: 0;
	font-size:20px;
	font-weight: 600;
	line-height: 2.5em;
	letter-spacing: 0.3em;
}

.fade dt,.fade dd{
	opacity: 1
}

.cathTxt {
	height: 40vh;
    margin-top: -3.5%;
    padding: 6% 0;
    position: relative;
 }

.fade{
    background: #FFF;
}

 .slide:after{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #002f7e;
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: left;
    -moz-transform: scaleX(0);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: transform .9s cubic-bezier(.19,1,.22,1);
    transition: transform .9s cubic-bezier(.19,1,.22,1);
    -webkit-animation: h1After 1.4s cubic-bezier(.19,1,.22,1) 2.5s forwards;
    animation: h1After 1.4s cubic-bezier(.19,1,.22,1) 2.5s forwards;
}

@keyframes h1After{
	50%{
		-moz-transform: scaleX(1);
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		left:0;
	}
	100%{
		-moz-transform: scaleX(1);
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		left:100%;
	}
}
@-webkit-keyframes lineAnimes{
	50%{
		-moz-transform: scaleX(1);
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		left:0;
	}
	100%{
		-moz-transform: scaleX(1);
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		left:100%;
	}
}


/* charm
------------------------------------ */
.charm{
	padding:40px 0 160px;
	overflow: hidden;
	position: relative;
	z-index:1;
}


/* task
------------------------------------ */
.task{
	padding:45px 0 160px;
	overflow: hidden;
	position: relative;
}

.task .subTit{
	color:#f5f5f5;
	margin-top:-75px;
}

.serviceBox,
.recruitList {
    display: -webkit-flex;
    display: -ms-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4%;
}

.serviceBox li,
.recruitList li {
    width: 26%;
    margin: 0 2% 2% 0;
    padding: 2em 3% 2.5em;
    font-size: 14px;
    position: relative;
    background: #f5f5f5;
    transition: 0.6s all ease;
    opacity: 0;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    transition: 0.6s all ease;
}


.serviceBox li:last-child,
.recruitList li:last-child{
	margin:0 0 2%;
}

.serviceBox li dt{
	margin:20px 0 30px;
	font-size:20px;
	font-weight: 500;
	text-align: center;
	color: #002f7e;
}

.serviceBox li dd{
	line-height: 1.8em;
}



/* Action
------------------------------------ */

.action{
	padding:50px 0 160px;
	overflow: hidden;
	position: relative;
	background: #f5f5f5;
}

.action .subTit{
	margin-top: -80px;
	color:#eee;
}

.action .subTit:before,
.action .colBox h3:before,
.action .colBox .lead:before{
	background: #f5f5f5;
}

.recruitBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 8% 0;
}

.recruitBox .bx-wrapper{
    width: 35%;
    margin: 0;
    padding: 5em 3% 5em;
    font-size: 14px;
    overflow: hidden;
    position: relative;
    background: #FFF;
    transition: 0.6s all ease;
}

.recruitBox .bx-wrapper dt{
	margin-bottom:60px;
	font-size:28px;
	line-height: 1.4em;
	font-weight: 600;
	text-align: center;
	color: #063077;
}

.recruitBox .bx-wrapper dd{
	line-height: 2em;
	font-size: 18px;
}


.recruitBox .flow {
    width: 53%;
    padding: 4em 3% 8em;
    font-size: 14px;
    position: relative;
    background: #002f7e;
    transition: 0.6s all ease;
}

.fIcon{
	width: 120px;
	height: 120px;
	margin: 0 auto;
	background: #FFF;
	border-radius: 50%;
	line-height: 1.4em;
}

.fTit{
	font-size: 12px;
}

.fIcon svg{
	height: 38%;
	margin:31px 0 5px;
}

.flow li:nth-child(3) .fIcon svg{
	height: 50%;
    margin-top: 17px;
}

.flow li:nth-child(1) .fIcon svg{
	height: 48%;
    margin-top: 19px;
}

.arrow{
	width: 25px;
	margin:30px auto;
	opacity: 0;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    transition: 0.6s all ease;
}

.seach{
	width: 50%;
	padding:15px;
	margin:0 auto;
	background: #FFF;
	border-radius:5px;
	position: relative;
	opacity: 0;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    transition: 0.6s all ease;
}

.seach:after{
	content: "\f002";
	font-family: "FontAwesome";
	position: absolute;
	right: 10px;
	bottom:13px;
	font-size: 20px;
	color: #DDD;
}

.seach p{
	text-align: left;
	font-size:16px;
}

.fa-mouse-pointer{
	position: absolute;
	right: 40px;
	bottom: -15px;
	font-size: 25px;
}

.answer{
	font-size: 30px;
	color: #FFF;
	font-weight: 600;
	opacity: 0;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    transition: 0.6s all ease;
}

.recruitList li{
	background: #FFF;
}

.recruitList li dt{
	margin-bottom: 30px;
	font-size:20px;
	color: #063077;
	font-weight: 600;
	text-align: center;
	line-height: 1.6em;
}

.recruitList li dd{
	font-size: 16px;
	line-height: 2.2em;
}


/* Growth
------------------------------------ */

.growth{
	padding:40px 0 160px;
	overflow: hidden;
	position: relative;
	background: #f6efd8;
}

.growth .subTit{
	margin-top: -80px;
	color:#ece3c7;
}

.growth .subTit:before,
.growth .colBox h3:before,
.growth .colBox .lead:before{
	background: #f6efd8;
}

.formArea {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-orient: vertical;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
	position: relative;
	z-index: 7;
	margin-top:100px;
}



@media all and (-ms-high-contrast:none) {
     *::-ms-backdrop, #pcLogo .topSVG {
     fill: #000 !important;
	}
	*::-ms-backdrop, #scrollTxt {
     fill: #000 !important;
	}

}