
ul, ol, dl, dd {
	padding: 0;
	margin: 0;
	list-style: none
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
p {
	margin: 0;
	padding: 0;
	text-align: justify;
}
table{
	border-collapse: collapse;
  	border-spacing: 0;
}
img {
	margin: 0;
	padding: 0;
	vertical-align: text-bottom;
	width: 100%;
	height: auto;
}
a img {
	border: none;
}
a:link {
	color: #222222;
	text-decoration: none !important;
}
a:visited {
	color: #222222;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}
hr {
	clear: both;
	display: none;
}
.cf:before, .cf:after {
	content: " ";
	display: table
}
.cf:after {
	clear: both
}
.cf {
*zoom:1
}

/* HTML 5 */
header, section, footer, aside, article, figure {
	display: block;
}



/*********   layout  ************/

body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	color: #000000;
	overflow-x: hidden;
}





/*========================================================================
//
// common
//
//========================================================================*/

/********* PC ************/

@media (min-width: 762px) {
	html, body {
		height: 100%;
		position: relative;
		font-size: 10px;
	}
	
	.wrapper {
		width: 1000px;
		margin: 0 auto;
		position: relative;
	}
	
	.sp_contents {
		display: none;
	}
}



/*========================================================================
//
// header
//
//========================================================================*/


/********* PC ************/

@media (min-width: 762px) {
	
	#ghead{
		position: fixed;
		left:0;
		top:0;
		width:100%;
		background: #fff;
		z-index:900;
		padding: 0 0 8px;
	}
	
	#ci_wrap{
		width: 100%;
		margin: 0;
	}

	#ci {
		width: 27vw;
		max-width: 340px;
		margin: 56px 0 10px 2vw;
	}

    
    header{
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	header.fix{
		transform:translate(0, -10px);
		box-shadow: 0 0 10px 10px rgba(0,0,0,0.2);
	}

	header.fix #ci {
		margin: 50px 0 10px 2vw;
	}

	
	/* head_navi start ------------------ */
	
    #head_navi_eng{
		position:relative;
	}

	#head_navi_eng > ul{
		position:absolute;
		top: -69px;
		right: 2vw;
		display: flex;
		justify-content:space-between;
	}

	#head_navi_eng > ul > li > a{
		display: block;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
		color: #000000;
		letter-spacing: 2px;
		padding: 0;
		position:relative;
		transition: all 0.5s ease 0s;
	}

	#head_navi_eng > ul > li > a:hover{
		opacity:0.5;
	}

	#head_navi_eng > ul > li:last-child a{
		width: 20px;
		padding: 0 0 0 12px;
		margin: 0 0 0 8px;
	}

	#head_navi_eng > ul > li:last-child a:before{
		content: "";
		display: block;
		width: 1px;
		height: 20px;
		border-radius:100%;
		background: #000000;
		position: absolute;
		top: 50%;
		left: 0;
		transform:translate(0, -50%);
		pointer-events: none;
	}

	
	
	/* head_navi start ------------------ */
	
    #head_navi{
		position:relative;
	}

	
	#head_navi > ul{
		width: 56vw;
		max-width: 600px;
		position:absolute;
		top: -56px;
		right: 2vw;
		display: flex;
		justify-content:space-between;
	}
	
	#head_navi > ul > li{
		position: relative;
		padding: 20px 0;
	}
	
	#head_navi > ul > li > a{
		display: block;
		font-family: 'Roboto', sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
		color: #000000;
		letter-spacing:0.2rem;
		padding: 0;
		position:relative;
	}

	#head_navi > ul > li:before,
	#head_navi > ul > li:after{
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		background: #000000;
		position: absolute;
		border-radius: 50%;
		left: 50%;
		bottom: 12px;
		opacity:0;
		transform:translate(-50%, -50%);
	}

	#head_navi > ul > li.uline:hover:before,
	#head_navi > ul > li.uline:hover:after{
		opacity:1;
	}

	
	/* megapop start -------------------------------------------- */
	
	#head_navi .sec_nav_wrap{
		display:none;
		width: 100%;
		/* min-height: 400px; */
		background: #4679c2;
		position: fixed;
		left: 0;
		top: 8px;
		padding: 50px 0;
		z-index: 0;
		box-shadow: 0 8px 8px 0 rgba(0,0,0,0.2);
	}

	#head_navi .sec_nav_wrap .nav_block{
		width:1000px;
		display: flex;
		flex-wrap: wrap;
		justify-content:space-between;
		margin: 0 auto;
	}

	#head_navi .sec_nav_wrap .list_wrap_f{
		width:100%;
	}

	#head_navi .sec_nav_wrap .list_wrap_f a{
		display:inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:500;
		letter-spacing:0.2rem;
		font-size: 2.0rem;
		line-height:100%;
		color:#fff;
		margin: 0 0 26px;
		padding:0 16px 0 0;
		position:relative;
	}

	#head_navi .sec_nav_wrap .list_wrap_f a:before{
		content: "";
		display: block;
		width: 6px;
		height:6px;
		border-right:solid 1px #bcc9da;
		border-bottom:solid 1px #bcc9da;
		position: absolute;
		top: 54%;
		right: 0;
		transform:translate(0, -50%) rotate(-45deg);
	}

	#head_navi .sec_nav_wrap .list_wrap_f a.no_link{
		pointer-events: none;
	}
	#head_navi .sec_nav_wrap .list_wrap_f a.no_link:before{
		display:none;
	}

	#head_navi .sec_nav_wrap .list_wrap{
		margin:0 0 10px;
	}

	#head_navi .sec_nav_wrap .list01{
		display: flex;
		justify-content:space-between;
		flex-wrap: wrap;
	}

	#head_navi .sec_nav_wrap p {
		margin: 0 0 12px;
		padding: 8px 0;
		font-weight: 400;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.4rem;
		line-height: 100%;
		text-align: center;
		color: #ffffff;
		background: #5987c8;
	}

	#head_navi .sec_nav_wrap .list01 a{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:300;
		letter-spacing:0.1rem;
		line-height:100%;
		font-size: 1.4rem;
		color:#fff;
		text-align:center;
		padding:10px 0;
		border:1px solid #92aed4;
	}

	#head_navi .sec_nav_wrap .list01 a span{
		display:block;
		line-height:0;
		margin:0 0 5px;
	}

	#head_navi .sec_nav_wrap a:hover{
        opacity:0.5;
    }

	#head_navi .sec_nav_wrap a{
		transition: all 0.3s cubic-bezier(0.15, 0.5, 0.49, 0.99) 0s;
	}
    
    /* active */
	#head_navi .sec_nav_wrap .w_a1{
		width: 780px;
	}

	#head_navi .sec_nav_wrap .w_a1 .list01 li{
		width:49%;
		margin:0 0 10px;
	}

	#head_navi .sec_nav_wrap .w_a2{
		width: 190px;
	}

	#head_navi .sec_nav_wrap .w_a2 .list01 li{
		width:100%;
		margin:0 0 10px;
	}
    
	#head_navi .sec_nav_wrap .w_b1{
		width:250px;
		margin:0 0 20px;
	}

	#head_navi .sec_nav_wrap .w_b2{
		width:250px;
		margin:0 0 20px;
	}
    
    #head_navi .sec_nav_wrap .w_b3{
		width:250px;
		margin:0 0 20px;
	}
    
    #head_navi .sec_nav_wrap .w_b4{
		width:150px;
		padding:0 0 0 24px;
		border-left:1px solid #92aed4;
	}

	#head_navi .sec_nav_wrap .ttl_a{
		background:none;
		color:#c6d9f1;
		margin: 10px 0 2px;
		text-align: left;
	}

	#head_navi .sec_nav_wrap .ttl_a2{
		background:none;
		color:#c6d9f1;
		margin: 46px 0 2px;
		text-align: left;
	}

	#head_navi .sec_nav_wrap .w_b1 li,
	#head_navi .sec_nav_wrap .w_b2 li,
	#head_navi .sec_nav_wrap .w_b3 li,
	#head_navi .sec_nav_wrap .w_b4 li{
		width:100%;
		margin:0 0 4px;
	}

	#head_navi .sec_nav_wrap .w_b1 li a,
	#head_navi .sec_nav_wrap .w_b2 li a,
	#head_navi .sec_nav_wrap .w_b3 li a,
	#head_navi .sec_nav_wrap .w_b4 li a{
		padding:8px 0;
	}

	#head_navi .sec_nav_wrap .w_c1{
		width:580px;
	}

	#head_navi .sec_nav_wrap .w_c2{
		width:380px;
	}

	#head_navi .sec_nav_wrap .w_c2 a{
		white-space:nowrap;
	}

	#head_navi .sec_nav_wrap .w_c1 .list01{
		flex-wrap: wrap;
	}

	#head_navi .sec_nav_wrap .w_c1 .list01 li{
		width:49%;
		margin:0 0 10px;
	}

	#head_navi .sec_nav_wrap .w_c2 .list01 li{
		width:100%;
		margin:0 0 10px;
	}


	#head_navi .sec_nav_wrap .w_c1 .list01 a{
		
	}
    
	#head_navi .sec_nav_wrap .w_d1{
		width:900px;
	}

	#head_navi .sec_nav_wrap .w_d2{
		width:1000px;
	}

	#head_navi .sec_nav_wrap .w_d2 li{
		width:33%;
	}

	#head_navi .sec_nav_wrap .w_e1{
		width:1000px;
	}

	#head_navi .sec_nav_wrap .w_e1 .list01{
		flex-wrap: wrap;
	}

	#head_navi .sec_nav_wrap .w_e1 .list01 li{
		width:33%;
		margin:0 0 6px;
	}


	#head_navi .sec_nav_wrap .w_e1 a{
		white-space:nowrap;
	}
    
	#head_navi .sec_nav_wrap .w_f1{
		width:600px;
	}
	
	
	


	/* head_navi end ------------------ */



	/* activ set */
    
    .corp #head_navi > ul > li:nth-child(1):before,
   .corp #head_navi > ul > li:nth-child(1):after{
		opacity:1;
	}
    
    .product #head_navi > ul > li:nth-child(2):before,
   .product #head_navi > ul > li:nth-child(2):after{
		opacity:1;
	}
    
    .maint #head_navi > ul > li:nth-child(3):before,
   .maint #head_navi > ul > li:nth-child(3):after{
		opacity:1;
	}
	
    .solution #head_navi > ul > li:nth-child(4):before,
   .solution #head_navi > ul > li:nth-child(4):after{
		opacity:1;
	}
    
    .recruit #head_navi > ul > li:nth-child(5):before,
	.recruit #head_navi > ul > li:nth-child(5) :after{
		opacity:1;
	}

	

	/* head_navi end ------------------ */
	
}





/*========================================================================
//
// pankuzu
//
//========================================================================*/


/********* PC ************/

@media (min-width: 762px) {
	#pankuzu {
		margin: 0 auto;
		padding: 104px 0 24px;
		height:20px;
		background-color: #e8e8e8;
	}
	#pankuzu a:hover{
		transition: all 0.5s ease 0s;
        opacity: 0.5;
	}
	#pankuzu ul{
		display:flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0 0 0 2vw;
	}
	#pankuzu ul li{
		padding: 10px 15px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 300;
		font-size: 1.2rem;
		letter-spacing: 1px;
	}
	#pankuzu ul li span{
		margin:0 0 0 10px;
		position:absolute;
	}
	#pankuzu ul li img{
	    width: 9px;
	}

}




/*========================================================================
//
// Page Top
//
//========================================================================*/


/********* PC ************/

@media (min-width: 762px) {
	.pagetop{
		position: fixed;
		right: -80px;
		top: 95%;
		transform: translate(0, -50%);
		z-index:9000;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	
	.pagetop_act{
		right: -18px;
	}

	.pagetop li a{
		display:block;
		background: #bdc2cc url(/global/img/arrow_w2.png) no-repeat 20px center;
		background-size: 16px auto;
		width: 72px;
		height: 50px;
		border-radius:6px;
		transform: translate(0,0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}

	.pagetop li a:hover{
		transform: translate(-8px,0);
		background: #798192 url(/global/img/arrow_w2.png) no-repeat 20px center;
		background-size: 16px auto;
	}
}


/*========================================================================
//
// footer
//
//========================================================================*/


/********* PC ************/

@media (min-width: 762px) {
	
	footer #footer_nav{
		background: #2d3442;
		padding: 51px 0 20px;
		font-family: 'Noto Sans JP', sans-serif;
	}
	footer .foot_flex{
		width:1000px;
		margin:0 auto;
		display: flex;
		justify-content:space-between;
	}
	footer .list01{
	margin: 0 0 20px 8px;
	}
	footer .list02{
	margin: 0 0 20px 18px;
	}
	footer li{
		font-weight: 200;
		font-size: 1.2rem;
		letter-spacing:0.1rem;
		color: #c3c6ca;
		margin: 0 0 3px;
	}
	footer li a{
		color: #d0d3d8 !important;
	}
	footer li a:hover{
		color: #6b8dd0 !important;		
	}
	footer .ttl{
		font-size: 1.6rem;
		display: block;
		font-weight: 400;
		margin: 0 0 12px;
		color: #c3c6ca;
	}

	footer .ttl2{
		font-size: 1.6rem;
		display: inline-block;
		font-weight: 400;
		margin: 30px 0 12px;
		color: #c3c6ca;
	}
	
	footer .footer_wrap{
		background:#39424f;
		padding:20px 0;
	}





	footer .list_wrap{
	}

	footer .list_wrap p{
		font-weight: 600;
		font-size: 1.2rem;
		letter-spacing:0.1rem;
		color: #676d79;
		margin: 4px 0 6px;
	}

	footer .list_wrap p.ttl_a{
		margin: -13px 0 4px 18px;
		font-weight: 400;
	}

	footer li:last-child .list_wrap{
		margin:0 0 20px 0;
	}

	footer li:last-child .list01{
		margin: 0;
	}
	

	footer .ci_foot{
		width:360px;
		margin: 16px auto 6px;
	}

	footer .footer_wrap p{
		color:#c3c6ca;
		font-size:1.2rem;
		text-align:center;
	}

}



/*========================================================================
//
// GDPR Cookie
//
//========================================================================*/

/********* PC ************/

@media (min-width: 762px) {
	.g-gdpr {
        width: 100%;
        padding: 30px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(0,0,0,1);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10000;
        backdrop-filter: blur(15px);
        transition: 1s;
        transform: translateY(100%);
        animation: anime-gdpr 1s both;
    }
    
    .is-gdpr_off .g-gdpr {
        animation: anime-gdpr_off 1s both;
    }
    
    .g-gdpr__text {
        color: #cacaca;
        text-shadow: 0 0 3px #000;
        padding: 0 30px 0 0;
        font-size: 1.5rem;
    }

    .g-gdpr__text a {
        color: #85b9d0;
        text-decoration: underline !important;
        padding: 0 .15em;
        display: inline-block;
    }

    .g-gdpr__text a:hover {
        text-decoration: none;
    }

    a.g-gdpr__button {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;

        padding: 1em 2em 1em 2em;
        display: block;
        background: #436cbf;
        border: 1px solid #fff;
        transition: .2s;
        cursor: pointer;
    }

    a.g-gdpr__button:hover {
        opacity: .8;
    }
}


@keyframes anime-gdpr {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}

@keyframes anime-gdpr_off {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(100%);
	}
}


