@charset "utf-8";

/* -----------------------------------------------------------
    company
-------------------------------------------------------------- */
.pagetitle-area::after{
	content: '';
	position: absolute;
	background: url("../img/company-mv.jpg") no-repeat top center / cover;
	width: 1200px;
	height: 450px;
	/*
	top: 400px;
	*/
	z-index: 1;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

@media screen and (max-width: 768px){
	.pagetitle-area::after{
		width: calc(100% - 40px);
		height: 200px;
		top: auto;
		margin: 35px auto 0;
		background: url("../img/company-mv-sp.jpg") no-repeat top center / cover;
	}
}

.underline{
	text-decoration: underline;
}

.company-area{
	margin: 300px auto 0;
}
/* table */
#company table{
    width: 100%;
	border-top: solid 1px #ddd;
    border-collapse:collapse;
	line-height: 1.7;
	margin: 30px 0 0;
}
#company table tr{
	border-bottom: solid 1px #ddd;
	display: block;
}
#company table th{
    line-height: 1.5;
	font-size: 1.6rem;
	text-align: left;
	font-weight: bold;
    position: relative;
	padding: 20px 0 20px 20px;
	width: 200px;
    vertical-align: top;
}
#company table th::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 32px;
	background: #0E6EB8;
	width: 8px;
	height: 2px;
}

#company table td{
    padding: 20px;
    vertical-align: top;
}

#company .access-link{
	margin: 10px 0 0;
}
#company .access-link a{
	border: solid 1px #BEBEBE;
	border-radius: 30px;
	padding: 2px 10px ;
	font-size: 1.5rem;
}
#company .access-link i{
	color: #0E6EB8;
	margin: 0 5px 0 0;
}
#company .box-com {
	padding: 0 0 80px;
}


/* 代表挨拶 */
#company .box-com.greeting-box{
	padding: 0 0 30px;
}
#company #greeting .section-area p{
	padding: 0 0 20px;
    line-height: 2;
}
#company #greeting .img{
	text-align: center;
	margin: 30px 0 0;
}
#company #greeting .img img{
	width: 100%;
}
#company #greeting .section-catch{
	font-size: 4rem;
	margin: 20px 0 20px;
	line-height: 1.4;
}

#company #greeting .name{
    text-align: right;
	line-height: 1.6!important;
	font-weight: bold;
}

/* 企業理念 */
#philosophy {
}

#philosophy .in-box {
	margin: 80px 0 0;
	position: relative;
}
#philosophy .in-box .en{
	position: absolute;
	left: -50px;
	top: -50px;
	color: #EFF7FA;
	font: 700 8rem / 1 'Poppins', sans-serif;
	z-index: -1;
}

#philosophy .section-catch{
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 700;
	font-family: 'Poppins', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
#philosophy .section-catch span{
	font-size: 4rem;
	display: block;
	margin: 0 0 0;
}
#philosophy .txt{
	font-size: 1.8rem;
	line-height: 1.8;
	padding: 10px 0 0;
}


#philosophy ul{
	padding: 0 0 0;
}
#philosophy ul li{
	line-height: 1.4;
	font-weight: 700;
	margin: 30px 0 0;
}
#philosophy ul li .num{
	color: #fff;
	background:#0E6EB8; 
	font-size: 2rem;
	width: 30px;
	height: 30px;
	display: inline-block;
	border-radius: 30px;
	text-align: center;
	line-height: 30px;
	margin: 0 10px 0 0;
}
#philosophy ul li .title{
	color: #0E6EB8;
	font-size: 3rem;
	font-family: 'Poppins', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
#philosophy ul li .txt{
	font-size: 1.8rem;
	line-height: 1.8;
	padding: 10px 0 0 40px;
}

/* 会社概要 */
#profile .sub-profile{
	display: flex;
	align-items: baseline;
	margin: 50px 0 0;
}
#profile .profile-title{
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
}
#profile img{
	width: 120px;
	margin: 0 20px 0 0;
}
#profile .cloudin img{
	width: 150px;
}

#profile .established span{
	width: 280px;
	display: inline-block;
}

#profile .member span{
	width: 130px;
	display: inline-block;
}

/* 沿革・歴史 */
#history dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0 0;
}

#history dl dt {
	text-align: right;
	width: 8.5em;
	padding: 0.5em 1.0em 0.5em 0.5em;
	position: relative;
}

#history dl dt::after {
	content: '●';
	position: absolute;
	right: -0.55em;
	top: 5px;
	font-size: 22px;
	color: #0E6EB8;
}

#history dl dd {
	width: calc(100% - 8.5em);
	padding: 0 2.0em 3.0em;
	border-left: 2px solid #ccc;
}

#history dl dd h2 {
	font-size: 22px;
	font-weight: bold;
	margin: 0 0 5px;
}

#history dl dd > div{
	display: flex;
}

#history dl dd p{
	line-height: 2;
}

#history dl dd p.month{
	width: 50px;
}

/* 主なお客様 */
#organization .title{
	margin: 50px 0 0;
	font-size: 2rem;
	font-weight: bold;
}

#organization img{
	width: 100%;
	margin: 20px 0 0;
}



/* 主なお客様 */
#suppliers ul{
	display: flex;
	margin: 30px 0 0;
}
#suppliers li{
	line-height: 2;
	padding: 0 60px 0 0;
}
#suppliers li .last{
	text-align: right;
	display: block;
}

/* アクセス */
#company .access-box{
	padding: 0!important;
}
#company .access-box iframe{
	width: 100%;
	height: 400px;
}
#company .access-box .name{
	margin: 30px 0 20px;
	font-size: 2.2rem;
}
#company .access-box .basic-txt{
	margin: 20px 0 0;
}

#company #certification table{
	margin: 10px 0 0;
}

#certification .name{
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 30px 0 0;
}

@media screen and (max-width: 768px){
	.company-area{
		margin: 50px 0 0;
	}
	#company .company-img {
		width: 100%;
		padding: 0 20px;
	}

	#company .company-img img {
		width: 100%;
	}
    
    /* table */
    #company table{
    }
    #company table tr{
        border-bottom: solid 1px #ddd;
    }
    #company table th{
        padding: 20px 0 5px 20px;
        width: auto;
        display: block;
    }
	#company table th::before {
		top: 30px;
	}
	
    #company table td{
        padding: 0 0 20px 0;;
        display: block;
    }


	#company .box-com {
		/*
		padding: 100px 20px 0;
		margin: -100px 0 0;
		*/
		padding: 0 20px 50px;
		padding-top: 60px;
		margin-top: -60px;
	}
	#certification.box-com{
		padding: 0 20px 30px;
		padding-top: 60px;
		margin-top: -60px;	}
    
    /* 代表挨拶 */
	#company .box-com.greeting-box{
		padding: 0 20px 30px;
	}

    #company #greeting  p{
        padding: 0 0 15px;
        line-height: 1.8;
    }
	#company #greeting p.img{
		padding: 20px 0 15px;
		margin: 0;
    }
    #company #greeting .img img{
    }

	
	#company #greeting .section-catch{
		font-size: 2.6rem;
		margin: 10px 0 15px;
	}
	
    /* 企業理念 */
	#philosophy {
	}

	#philosophy .section-title-en {
		font-size: 5.4rem;
	}
	
	#philosophy .logo-img{
		margin: -20px 0 -30px;
	}
	#philosophy .logo-img img{
		width: 150px;
	}
	
	#philosophy .in-box {
		margin: 50px 0 0;
	}

	#philosophy .in-box .en{
		left: -30px;
		top: -30px;
		font-size: 6rem;
	}
	
	#philosophy .section-catch{
		font-size: 2rem;
	}
	#philosophy .section-catch span{
		font-size: 2.4rem;
		margin: 5px 0 0;
	}
	#philosophy .txt{
		font-size: 1.7rem;
		padding: 5px 0 0;
	}
	
	
	#philosophy ul{
		padding: 0 0 0;
	}
	#philosophy ul li{
		font-size: 2.4rem;
		margin: 25px 0 0;
	}
	#philosophy ul li .txt{
		font-size: 1.7rem;
		line-height: 1.7;
		padding: 10px 0 0 0;
	}

	/* 会社概要 */
	#profile .sub-profile{
		align-items: center;
		margin: 30px 0 0;
	}
	#profile .profile-title{
	}
	#profile img{
		width: 100px;
		margin: 0 20px 0 0;
	}
	
	#profile .cloudin.sub-profile{
		align-items: baseline;
	}
	#profile .cloudin img{
		width: 150px;
	}
	

	#profile .established span{
		width: 280px;
		display: block;
	}

	/* 沿革・歴史 */
	#history dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 30px 0 0;
	}

	#history dl dt {
		text-align: left;
		width: 80px;
		padding: 0.5em 1.0em 0.5em 0.5em;
		position: relative;
	}

	#history dl dt::after {
		content: '●';
		position: absolute;
		right: -0.55em;
		top: 5px;
		font-size: 22px;
		color: #0E6EB8;
	}

	#history dl dd {
		width: calc(100% - 80px);
		padding: 0 0px 20px 20px;
		border-left: 2px solid #ccc;
	}

	#history dl dd h2 {
		font-size: 22px;
		font-weight: bold;
		margin: 0 0 5px;
	}

	#history dl dd > div{
		justify-content: space-between;
	}

	#history dl dd p{
		line-height: 2;
		width: 180px;
	}

	#history dl dd p.month{
		width: 40px;
	}
	
	/* 組織図 */
	#organization .title{
		margin: 30px 0 0;
	}
	#organization .chart{
		overflow-x: scroll;
		margin: 20px 0 0;
		height: 190px;
	}
	#organization .chart02 .chart{
		overflow-x: scroll;
		margin: 20px 0 0;
		height: 130px;
	}
	
	#organization .chart img{
		width: 880px;
		margin: 0 0;
		max-width: initial;
	}
	
	/* 主なお客様 */
	#suppliers ul{
		display: block;
		margin: 30px 0 0;
	}
	#suppliers li{
		padding: 0 0 0 0;
	}
	#suppliers li .last{
		text-align: right;
		display: block;
	}

	
	
	/* アクセス */
	#company .access-box{
		padding: 0 20px!important;
	}
	#company .access-box iframe{
		height: 300px;
	}
	#company .access-box .name{
		margin: 30px 0 15px;
		font-size: 2rem;
	}
	#company .access-box .basic-txt{
		margin: 15px 0 0;
	}
	
	#company iframe{
		width: 100%;
	}
	

}

/* -----------------------------------------------------------
    side-nav
-------------------------------------------------------------- */
.contents-left {
	width: 880px;
	float: left;
    padding: 0 0;
}

.contents-right {
	/*margin: -100px 0 0;*/
	margin: -100px 0 0;
	width: 250px;
	float: right;
}

.contents-right #side-scroll {
	margin: 100px 0 100px;
    position: fixed;
    width: 250px;
    top: 55px;
    /*
    left: 1000px;
    */
}

.contents-right #side-scroll .company-logo{
	margin: 0 0 20px;
	text-align: center;
	font: 700 2.4rem / 1 'Poppins', sans-serif;
	letter-spacing: .1em;
	color: #0E6EB8;
}
.contents-right #side-scroll .company-logo img{
	width: 200px;
}

.contents-right .ttl-s {
	background-size: 100% auto;
	padding: 15px 25px 20px;
}

.contents-right .ttl-s span {
    font-size: 2rem;
}

.contents-right .side-nav {
}

.contents-right .side-nav li {
	background: #EFF7FA;
	margin: 10px 0 0;
}

.contents-right .side-nav li p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
	transition: 0.5s;
	font-weight: bold;
}
.contents-right .side-nav li p::after {
	/*
	background: #7C7C84;
	*/
	content: "";
	bottom: 0; 
	display: block;
	margin: auto;
	position: absolute;
	right: -10px;
	top: -5px;
	transition: 0.5s;
	width: 30px;
	height: 8px;
	background: url("../img/arrow-icon.png") no-repeat left top / contain;
	z-index: 1;
}
.contents-right .side-nav li p:hover::after {
	right: -20px;
}

.contents-right .side-nav li p span {
	color: #0E6EB8;
	font: 500 1.2rem / 1 'Poppins', sans-serif;}

.contents-right .side-nav li a {
	display: block;
}

.contents-right .side-nav li a:hover {
}


@media screen and (max-width: 768px){
	.contents-left {
		width: 100%;
        padding: 0 0 0;
	}

	.contents-right {
		margin: 0;
		width: 100%;
		float: none;
        display: none;
	}

	.contents-right #side-scroll {
		margin: 30px 0 0;
		position: unset;
		width: 100%;
		padding: 0 20px 20px;
	}
	
	.contents-right #side-scroll img{
		width: 280px;
		display: block;
		margin: 0 auto;
	}

	.content-right .ttl-s {
		padding: 15px 0;
	}

	.contents-right .ttl-s span {
		font-size: 1.8rem;
	}

	.contents-right .side-nav li p {
		font-size: 1.6rem;
        line-height: 1;
	}

	.contents-right .side-nav li p span {
		font-size: 1.0rem;
	}

	.contents-right .side-nav li a {
		background: url(../img/side-arrow.png) no-repeat right 10px center;
	}

	.contents-right .side-nav li a:hover {
		background: url(../img/side-arrow.png) no-repeat right 10px center;
	}

}

/*    recruit-area
-------------------------------------------------------------- */
.recruit-area{
	margin: 10px 0 120px;
	position: relative;
	background: #F0F1F3;
	height: 480px;
} 
.recruit-area .txt-area{
	position: relative;
	margin: 0 0 0 730px;
	padding: 60px 0 0;
}
.recruit-area::after{
	position: absolute;
	content: '';
	background: url("../img/top-recruit.jpg") no-repeat top center / auto;
	height: 480px;
	width: 50vw;
	left: 0;
	top: 0;
}

.recruit-area .section-sub-catch{
	padding: 38px 0 0;
}
.recruit-area .section-catch{
	font-size: 4rem;
	padding: 17px 0 0;
}
.recruit-area .basic-txt{
	padding: 20px 0 0;	
}
.recruit-area .btn-more02{
	margin: 60px 0 0;
}

@media screen and (max-width: 768px){
	.recruit-area{
		margin: 45px 0 0;
		position: relative;
		background: #F0F1F3;
		padding: 30px 0 0;
		height: 100%;
	} 
	.recruit-area::after{
		display: none;
	}
	.recruit-area .txt-area{
		position: relative;
		margin: 0 0 0 auto;
		width: 100%;
		padding: 0;
		border: none;
	}
	.recruit-area .txt-area::after{
		position: absolute;
		content: '';
		background: url("../img/top-recruit.jpg") no-repeat top center / cover;
		height: 150px;
		width: 260px;
		top: -70px;
		left: auto;
		right: -20px;
		margin: 0;
		transform: inherit;
	}

	.recruit-area .section-title{
		position: relative;
		z-index: 1;
	}
	.recruit-area .section-sub-catch{
		font-size: 1.8rem;
		padding: 50px 0 0;
	}
	.recruit-area .section-catch{
		font-size: 2.6rem;
	}
	.recruit-area .basic-txt{
	}
	.recruit-area .btn-more02{
		margin: 20px 0 0;
		text-align: right;
	}

}

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

	#menu-box {
		display: none;
	}

@media screen and (max-width: 768px){
	.pagetitle-area{
		margin: 0 0 160px;
	}
	.is-fixed {
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 16;
	  width: 100%;

	}

	#menu-box {
		box-shadow: none;
		height: auto;
		display: block;
	}

	.company-nav {
		display: none;
		height: auto;
		position: relative;
		z-index: 16;
		background: #0E6EB8;
	}

	.company-nav ul {
		padding: 20px 20px 0;
		display: block;
	}

	.company-nav ul li {
		display: block;
		justify-content:start;
		align-items:start;
		margin: 0;
		text-align: left;
		width: 100%;
		font-size: 1.6rem;
	}

	.company-nav ul .entry {
	}
	
	.company-nav ul .top {
		display: block;
	}
	
	.company-nav ul li a{
		background: #fff;
		margin: 0 0 5px;
		padding: 15px 20px 15px 10px;
		position: relative;
		color: #333;
		display: block;
		font-weight: 700;
	}

	.company-nav ul li a::before{
		content: "\f105";
		color: #0E6EB8;
		display: block;
		font-family: FontAwesome;
		font-size: 1.6rem;
		line-height: 1;
		position: absolute;
		right: 10px;
		top: 18px;
	}

	.company-nav ul li a:hover{
		color: #333;
	}
}
