@charset "utf-8";

/***********************************************************************************************************************
* PC用
***********************************************************************************************************************/
/*
共通
--------------------------------*/
html{
	overflow: visible;
	height: auto;
}
body{
	overflow: visible;
	height: auto;
	font-size: 1.8rem;
	line-height: 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;

}
body *{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body.locked,
html.locked{
	overflow: hidden;
	height: 100%;
}


/*h1 非表示*/
.hideline{
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    height: 0;
}
.wide-wrap{
    max-width: 1132px;
    margin:0 auto;
}

.inner-wrap{
    max-width: 1020px;
    margin:0 auto;
}

.wrap{
    max-width: 980px;
    margin: 0 auto;
    padding: 0 10px;
}
.wrap-std{
	max-width: 760px;
	margin:0 auto;
}

.min-wrap{
    max-width: 740px;
    margin:0 auto;
    padding: 0 20px;
}

figure img{
    width: 100%;
}

figure .caption{
    font-size: 14px;
	color: darkgreen;
}

.section{
    width: 100%;
}



.anc{
    color: #d76738;
    font-weight: bold;
}
.anc:hover{
    text-decoration: underline;
}

.anc2{
	position: relative;
	color: #960014;
	font-weight: bold;
    text-decoration: underline;
}

/*.anc2::after{
	position: absolute;
	content:"";
	bottom:2px;
	left:0;
	display: inline-block;
	width: 100%;
	height: 2px;
	background: #ca7f89;
}*/

.block p{ 
    font-size: 1.6rem;
}

.btn-a{
    position: relative;
    width: 100%;
    display: inline-block;
    max-width: 360px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    border:1px solid #000;
    background: #fff;
    -webkit-border-radius: 0.5em;
    -moz-border-radius: 0.5em;
    -ms-border-radius: 0.5em;
    -o-border-radius: 0.5em;
    border-radius: 0.5em;
    font-size: 1.6rem;
    color:#d25515;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.btn-a.left::after{
    content:"";
    position: absolute;
    top:50%;
    left:20px;
    width: 0;
    height: 0;
    margin-top: -9px;
    border-style: solid;
    border-width: 10px 14px 10px 0;
    border-color: transparent #d25515 transparent transparent;
}

.btn-a.right::after{
    content:"";
    position: absolute;
    top:50%;
    right:20px;
    width: 0;
    height: 0;
    margin-top: -9px;
    border-style: solid;
    border-width: 10px 0 10px 14px;
    border-color: transparent  transparent transparent #d25515;
}
.btn-b{
    position: relative;
    z-index: 1000;
    display: inline-block;
    width: 257px;
    border:1px solid #000;
    text-align: center;
    padding: 1.2em;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.headline-mid{
    font-size: 2.4rem;
}
.headline-std{
	position: relative;
	padding: 0.3em 1.2em;
	border-bottom:1px solid #d1d1d1;
}
.headline-std::after{
	content:"";
	left:0;
	bottom:0px;
	position: absolute;
	width: 6px;
	height: 100%;
	background: #7d0000;
}
.headline-lg{
	font-size: 3rem;
	font-weight: bold;
	color:#1a82c6;
	text-align: center;
}

/*
header
--------------------------------*/
/*トップページ特殊ヘッダー*/
#home header {
    margin-top: 40px;
    position: absolute;
    background: none;
}

#home.container{
    padding-top: 0;
}

#home header nav .menu>li a {
    color:#fff;
}
#home header.fixed nav .menu>li a {
    color: #000;
}

#home header .sp-head {
    position: absolute;
    top: 20px;
    left: 0px;
    padding-left: 30px;
    background: none;
}
/*ロゴホワイト*/
#home header .sp-head .logo a{
    background: url(../img/logo_wh.png) 0 0 no-repeat;
}

#home header #menu-button>div{
    background: #fff;
}

#home header{
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow:  none;
}

/*ヘッダー  共通*/
header,
#home header.fixed{
    top:0;
    left:0;
    position: fixed;
    width: 100%;
    height:104px;
    background: #fff;
    z-index: 10002;
    margin-top: 0px;
    box-shadow: 0px 3px 3px -3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 3px 3px -3px rgba(0,0,0,0.2);
    -moz-box-shadow:  0px 3px 3px -3px rgba(0,0,0,0.2);
}

#home header.fixed{
    -webkit-transition: background 0.4s ease;
    -moz-transition: background 0.4s ease;
    -ms-transition: background 0.4s ease;
    -o-transition: background 0.4s ease;
    transition: background 0.4s ease;

}


header .ch-nav{
	display: none;
}

header .wrap{
    max-width: 1400px;
    position: relative;
}
header .sp-head{
    position: absolute;
    height: 70px;
    background: #fff;
    top:20px;
    padding-left: 20px;
    left: 0;
}
header .sp-head .logo a,
#home header.fixed .sp-head .logo a{
    display: inline-block;
    width: 273px;
    height: 54px;
    background: url(../img/logo.png) 0 0 no-repeat;
}


header nav{
	float: right;
	width: -webkit-calc(100% - 273px);
	width: calc(100% - 273px);
}

header nav .menu{
	display: inline-block;
	float: right;
	padding: 35px 0;
}

header nav .menu>li{
	display: inline-block;
	text-align: left;
	padding:0 30px;
}

header nav .menu>li a,
#home header.fixed nav .menu>li a{
	position: relative;
	font-size: 1.6rem;
	font-weight: bold;
	padding-bottom: 8px;
}

/*メニュー アクティブ*/
header nav .menu>li>a.active::after,
#home header.fixed nav .menu>li>a.active::after{
	border-bottom: 3px solid #000;
	content: "";
	position: absolute;
	display: block;
	left: 0;
	bottom:0;
	width: 100%;
	-webkit-transform: scaleX(1);
	-moz-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1);
	transform: scaleX(1);
}

body header #menu-button{
	display: block;
	position: absolute;
	top: 12px;
	right: 10px;
	width: 45px;
	height: 43px;
	cursor: pointer;
	z-index: 11100;
}

	body header #menu-button>div,
	#home header.fixed #menu-button>div{
		width: 30px;
		height: 2px;
		background: #003567;
		position: absolute;
		-webkit-transition: all .5s;
		-moz-transition: all .5s;
		-ms-transition: all .5s;
		-o-transition: all .5s;
		transition: all .5s;
		-webkit-border-radius: 10%;
		-moz-border-radius: 10%;
		-ms-border-radius: 10%;
		-o-border-radius: 10%;
		border-radius: 10%;
	}
		body header #menu-button>div:nth-child(1){
				top: 25%;
				left: 10px;
				-webkit-transform: translate(0%,0%);
				-moz-transform: translate(0%,0%);
				-ms-transform: translate(0%,0%);
				-o-transform: translate(0%,0%);
				transform: translate(0%,0%);
		}
			body header #menu-button.active>div:nth-child(1) {
				top: 50%;
				-webkit-transform: translate(-5%,-50%) rotate(45deg);
				-moz-transform: translate(-5%,-50%) rotate(45deg);
				-ms-transform: translate(-5%,-50%) rotate(45deg);
				-o-transform: translate(-5%,-50%) rotate(45deg);
				  transform: translate(-5%,-50%) rotate(45deg);
			}
				body header #menu-button>div:nth-child(2){
				top: 50%;
				left: 10px;
				}
				body header #menu-button.active>div:nth-child(2) {
				opacity: 0;
				}
					body header #menu-button>div:nth-child(3){
						top: 75%;
						left: 10px;
						-webkit-transform: translate(0%,0%);
						-moz-transform: translate(0%,0%);
						-ms-transform: translate(0%,0%);
						-o-transform: translate(0%,0%);
						transform: translate(0%,0%);
					}
					body header #menu-button.active>div:nth-child(3) {
						top: 50%;
						-webkit-transform: translate(-5%,-50%) rotate(-45deg);
						-moz-transform: translate(-5%,-50%) rotate(-45deg);
						-ms-transform: translate(-5%,-50%) rotate(-45deg);
						-o-transform: translate(-5%,-50%) rotate(-45deg);
						  transform: translate(-5%,-50%) rotate(-45deg);
					}

body header #menu-button{
	display: none;
}

/*スライダー
--------------------------------*/
#main-visual{
	position: relative;
}
#main-visual .layer-logo{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1001;
	overflow: hidden;
}

figure#main-visual .main-logo img{
	width: 100%;
}

#main-visual .swiper-slide{
	height: 100vh;
	position: relative;
}

/*忍者商人アイコン*/
#main-visual .swiper-slide .fig .ninja{
	position: absolute;
	bottom:5%;
	right:5%;
}

#main-visual .swiper-slide .fig .shounin{
	position: absolute;
	bottom:5%;
	left:5%;
}

#main-visual .swiper-slide:nth-child(1){
	background: url(../img/home_slide01.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#main-visual .swiper-slide:nth-child(2){
	background: url(../img/home_slide02.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#main-visual .swiper-slide:nth-child(3){
	background: url(../img/home_slide03.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#main-visual .swiper-slide:nth-child(4){
	background: url(../img/home_slide04.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#main-visual .swiper-slide:nth-child(5){
	background: url(../img/home_slide05.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}

/*
footer
--------------------------------*/
body footer{
	font-size: 1.4rem;
}
footer{
	z-index: 1000;
	padding: 60px 0 30px;
	background: #efefef;
}
footer .clm-box{
	width: 100%;
	display: table;
}

footer .clm-box>div{
	display: table-cell;
	vertical-align: top;
}

footer .clm-box>div:nth-child(1){
	width: 430px;
	padding-top: 0px;
}

footer .clm-box>div:nth-child(1)>ul{
	padding-top: 18px;
	padding-left: 60px;
}

footer .ch-clm-box{
	display: block;
	width: 100%;
}
footer .ch-clm-box>li{
	display: inline-block;
	width: 30%;
	line-height: 1.5em;
	vertical-align: top
}
footer .ch-clm-box>li>ul{
	margin-top: 0.5em;
}

/*gotop*/
footer #pagetop{
	position: fixed;
	width: 80px;
	height: 80px;
	background: #3290cd;
	bottom:-200px;
	right:50px;
	opacity: 0;
	-webkit-transition: all 0.4s ease-out;
	-moz-transition: all 0.4s ease-out;
	-ms-transition: all 0.4s ease-out;
	-o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	cursor: pointer;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

footer #pagetop::after{
	content: "";
	position: absolute;
	display: block;
	top:50%;
	left:50%;
	margin-top:-6px;
	margin-left:-12px;
	width: 20px;
	height: 20px;
	border-top: solid 4px #ffffff;
	border-left: solid 4px #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

footer #pagetop.active{
	bottom:50px;
	opacity: 1;
	-webkit-transition: all 0.4s ease-out;
	-moz-transition: all 0.4s ease-out;
	-ms-transition: all 0.4s ease-out;
	-o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;

}

footer .copy{
	padding: 50px 1em 0;
	text-align: center;
	font-size: 1.3rem;
}

.home-btn{
	display: block;
	max-width: 240px;
	border:1px solid #000;
	height: 35px;
	line-height: 32px;
	text-align: center;
	margin: 0 0 10px;
}
.home-btn>span{
	position: relative;
	padding-left: 15px;
}
.home-btn>span::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    width: 8px;
    height: 8px;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: translate(0,-50%) rotate(45deg) scale(1,1);
    transform: translate(0,-50%) rotate(45deg) scale(1,1);
}

/*news*/
#news .title{
	font-weight: normal;
}

#news .news-box{
	display: table;
	width: 100%;
}
#news .news-box>div{
	display: table-cell;
	vertical-align: middle;
	padding: 20px 30px;
}

#news .news-box>div:nth-child(1),
#news .news-box>div:nth-child(3){
	font-size: 1.6rem;
	background: #7d0000;
	color:#fff;
}

#news .news-box>div:nth-child(1){
	text-align: right;
	width: 30%;
}

#news .news-box>div:nth-child(2){
	width: 40%;
	padding: 20px 40px;
	font-size: 1.4rem;
}
#news .news-box>div a{
	vertical-align: middle;
}
#news .news-box>div:nth-child(2) time{
	display: inline-block;
	padding-right: 1em;
}

#news .news-box>div:nth-child(3){
	text-align: left;
	width: 30%;
}

#news .news-box>div:nth-child(3) a{
	color:#fff;
}

/*招待*/
#sect-invitation{
	padding: 45px 0 35px;
	text-align: center;
	background: #fff7e8;
}
#sect-invitation p{
	padding:25px 0 10px;
	line-height: 1.8em;
}

/*長、登場*/
#sect-greeting {
	width: 100%;
	position: relative;
}

#sect-greeting .fig .wide{
	vertical-align: bottom;
}

#sect-greeting .link-block{
	position: absolute;
	width: 512px;
	right: 0;
	top:0;
	top: 50%;
	left: 65%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 64px 54px;
	background: #fff url(../img/home_ico_en.png) 90% 20px no-repeat;
}

#sect-greeting .link-block img{
	max-width: 208px;
}

#sect-greeting .link-block p{
	padding: 2em 0;
	font-size: 1.6rem;
}

#sect-greeting .btn-area{
	text-align: right;
	overflow: hidden;
	padding: 0;
}
/*よくわかる検査装置*/
#sect-lecture{
	margin:30px 0;
}

#sect-lecture .btn-b{
	padding: 0.9em;
}

#sect-lecture .clm-box>div{
	width: 50%;
	height: 425px;
	background: #fff7e8;
}

#sect-lecture .clm-box>div .block{
	max-width: 496px;
	float: right;
	padding: 37px 20px;
}

#sect-lecture .clm-box>div .block p{
	padding: 20px 0;
}

#sect-lecture .clm-box>div:nth-child(1){

}

#sect-lecture .clm-box{
	display: -webkit-flex;
	display: flex;
	width: 100%;
	overflow: hidden;
	-webkit-flex-direction: row-reverse;
	flex-direction:         row-reverse;
}

#sect-lecture .clm-box>div{
	height: 425px;
	background: #fff7e8;
}

#sect-lecture .clm-box>div .block{
	max-width: 496px;
	float: right;
	padding: 45px 20px 30px;
}

#sect-lecture .clm-box>div .block p{
	padding: 20px 0;
}

#sect-lecture .clm-box>div:nth-child(2){
	width: 50%;
}

#sect-lecture .clm-box>div:nth-child(1){
	width: 50%;
	background: url(../img/home_img01.jpg) 0 center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
/*	box-shadow:30px 0 25px -10px #fff7e8 inset;
	-moz-box-shadow:30px 0 25px -10px #fff7e8 inset;
	-webkit-box-shadow:30px 0 25px -10px #fff7e8 inset;*/
}

/*アバウト*/
#sect-about{
	margin-bottom: 40px;
}
#sect-about .btn-b{
	padding: 0.9em;
}

#sect-about .clm-box{
	display: -webkit-flex;
	display: flex;
	width: 100%;
	overflow: hidden;
	-webkit-flex-direction: row;
	flex-direction:         row;
}

#sect-about .clm-box>div{
	height: 425px;
	background: #fff7e8;
}

#sect-about .clm-box>div .block{
	max-width: 496px;
	float: left;
	width: 100%;
	text-align: right;
	padding: 50px 20px 20px;
}

#sect-about .clm-box>div .block p{
	padding: 20px 0;
}

#sect-about .clm-box>div:nth-child(2){
	width: 50%;
}
#sect-about .clm-box>div:nth-child(1){
	width: 50%;
	background: url(../img/home_img02_n.jpg) left 30% no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
/*	box-shadow:-30px 0 25px -10px #fff7e8 inset;
	-moz-box-shadow:-30px 0 25px -10px #fff7e8 inset;
	-webkit-box-shadow:-30px 0 25px -10px #fff7e8 inset;*/
	overflow: hidden;
}



/*強みを生み出す力学*/
#sect-ourdynamism {
	position: relative;
	margin-bottom: -230px;
}

#sect-ourdynamism .block{
	position: absolute;
	top: 50%;
	left: 10%;
	background: #fff;
	padding: 70px 70px 60px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

#sect-ourdynamism .block p{
	padding: 40px 0 30px;
}

#sect-ourdynamism .clm-box{
	display: table;
	width: 100%;
	height: 585px;
}
#sect-ourdynamism .clm-box>div{
	display: table-cell;
	vertical-align: top;
}

#sect-ourdynamism .clm-box>div:nth-child(1){
	width:500px;
}
#sect-ourdynamism .clm-box>div:nth-child(2){
	background: url(../img/home_img03.jpg) right 0 top 0 no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}

/*背景グリーン*/
#green-bg{
	padding-top: 250px;
	padding-bottom: 400px;
	background: url(../img/home_green_bg.jpg) right 0 top 0 no-repeat fixed;
	-webkit-background-size: cover;
	background-size: cover;
}

/*賢者を目指すもの*/
#sect-kenja{
	text-align: center;
}

#sect-kenja .head{
	display: inline-block;
	position: relative;
	padding: 50px 100px 50px 100px;
	background: url(../img/ico_ninja.png) right 0 top 20px no-repeat;
	margin-bottom: 0px;
}
#sect-kenja .head .headline-img{
	position: relative;
}

#sect-kenja .head .headline-img::after{
	position: absolute;
	content:"";
	display: block;
	bottom:-20px;
	left:10%;
	width: 80%;
	height: 0;
	border-bottom:1px solid #fff;
}

#sect-kenja .clm-box{
	display: -webkit-flex;
	display: flex;
	width: 100%;
	overflow: hidden;
	-webkit-flex-direction: row;
	flex-direction:         row;
}

#sect-kenja .clm-box>div{
	width: 33.33%;
	padding:25px 30px;
}
#sect-kenja .title{
	padding:0.6em 0;
	color:#fff;
}
#sect-kenja p{
	font-size: 1.6rem;
	color:#fff;
	text-align: left;
}

/*囈を目指すもの*/
#sect-gei{
	position: relative;
	text-align: center;
	margin-top: -400px;
}

#sect-gei .head{
	display: inline-block;
	position: relative;
	padding: 50px 100px 50px 100px;
	background: url(../img/ico_shounin.png) left 0 top 20px no-repeat;
	margin-bottom: 0px;
}

#sect-gei .head .headline-img{
	position: relative;
}

#sect-gei .head .headline-img::after{
	position: absolute;
	content:"";
	display: block;
	bottom:-20px;
	left:5%;
	width: 90%;
	height: 0;
	border-bottom:1px solid #fff;
}

#sect-gei .clm-box{
	display: table;
}
#sect-gei .clm-box>div{
	display: table-cell;
	vertical-align: top;
}

#sect-gei .clm-box>div:nth-child(1){
	width: 40%;
}

#sect-gei .clm-box>div:nth-child(2){
	width: 60%;
}
#sect-gei .inner-wrap{
	padding:  30px 30px 0;
}

#sect-gei .text-box{
	font-size: 1.6rem;
	text-align: left;
	color:#fff;
	padding:0 40px;
}

/*募集*/
#sect-recruit{
	margin-top: 40px;
	padding: 30px 0 30px;
	text-align: center;
}

#sect-recruit .head .headline-img{
	position: relative;
}

#sect-recruit .head .headline-img::after{
	position: absolute;
	content:"";
	display: block;
	bottom:-20px;
	left:10%;
	width: 80%;
	height: 0;
	border-bottom:1px solid #fff;
}

#sect-recruit .clm-box{
	display: -webkit-flex;
	display: flex;
	width: 100%;
	overflow: hidden;
	-webkit-flex-direction: row;
	flex-direction:         row;
}

#sect-recruit .clm-box>div{
	width: 33.33%;
	padding:25px 30px;
}
#sect-recruit .title{
	padding:0.6em 0 0.3em;
	color:#000;
}
#sect-recruit p{
	font-size: 1.6rem;
	color:#000;
	text-align: left;
}

/***********************************************************************************************************************
* リサイズ  1200px以下から
***********************************************************************************************************************/
@media screen and (max-width: 1200px){
		/*header*/
		header nav .menu>li a{
			font-size: 1.6rem;
			padding-bottom: 6px;
		}

		header .sp-head{
			left: 10px;
		}

		/*footer*/
		body footer{
			font-size: 1.2rem;
		}
		footer .clm-box>div:nth-child(1) {
			width: 350px;
			padding-top: 10px;
		}
		#sect-greeting .fig .wide{
			display: none;
		}

		#sect-greeting .fig{
			margin-top: -1px;
			height: 580px;
			background: url(../img/home_wide_visual01_n.jpg) 0px center no-repeat;
			-webkit-background-size: cover;
			background-size: cover;
		}


		#sect-greeting .link-block{
			position: absolute;
			width: 400px;
			right: 0;
			top:0;
			top: 50%;
			left: 68%;
			-webkit-transform: translate(-40%, -50%);
			transform: translate(-40%, -50%);
			padding: 40px 30px;
			-webkit-background-size: 100px auto;
			background-size: 100px auto;
		}
		#news .news-box>div{
			padding: 15px;
		}

		#news .news-box>div:nth-child(1){
			width: 140px;
		}
		#news .news-box>div:nth-child(2){
			width: auto;
		}

		#news .news-box>div:nth-child(3){
			width: 140px;
			font-size: 1.4rem;
		}

		#main-visual .layer-logo{
		    width: 140px;
		}

}/*1200px完了*/


/***********************************************************************************************************************
* リサイズ  960px以下から
***********************************************************************************************************************/
@media screen and (max-width: 960px){

header nav .menu>li {
    padding: 0 20px;
}

}/*960px完了*/
