/* CSS Document */
@media screen and (max-width: 1100px){

.cont{
	width: 90%;
	margin: 0 auto;
}
header nav h1{
	font-size: 22px;
}
header nav .contact{
	right: -30px;
	bottom: -6px;
}
header nav .contact img{
	width: 91%;
}
header nav ul{
	bottom: -5px;
	right: 157px;
}
header nav ul li{
	height: 25px;
	font-size: 13.1px;
	letter-spacing: 1.5px;
}
header nav ul li::after{
	height: 12px;
	margin: -2px 14px;
}
#index main section.banner .banner_under a p{
	position: absolute;
	width: 70%;
	height: 58%;
	top: 52%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	border: solid 1px rgba( 255 , 255 , 255 , 1 );
	font-size: 43px;
	padding-top: 17%;
	z-index: 1;
	text-align: center;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
}

@media screen and (max-width:1000px) {
	.tablet{
		display: block!important;
	}
	footer{
		height: 407px;
	}
	footer .footer_wrapper .logo {
    	font-size: 21.3px;
    	padding-bottom: 16px;
	}
	footer .footer_wrapper {
    	height: 407px;
    	padding-top: 49px;
	}
	footer .footer_wrapper .address > div {
    	width: 40.5%;
    	display: inline-block;
    	vertical-align: top;
    	line-height: 22px;
    	margin-right: 18px;
	}
	footer .footer_wrapper .navi {
    	display: inline-block;
    	width: 57%;
	}
}

/* CSS */
@media screen and (max-width: 768px){
	html,body{
	width: 100%;
	height: 100%;
	min-width: initial;
	}
	.pc{
		display: none!important;
	}
	.sp{
		display: block!important;
	}
	.cont{
		width: 88%;
		margin: 0 auto;
	}

	/* HEADER */
	header{
	}
	header .head_wrapper{
		position: relative;
		height: 100%;
	}
	header nav{
		width: 88% !important;
	}
	header nav ul{
		display: none;
	}
	header nav .contact{
		display: none;
	}
	header nav h1{
		position: absolute;
		font-size: 18px;
		top: 18px;
		font-weight: bold;
	}
	header nav h1 a {
		font-weight: bold;
	}
	header .scroll{
		bottom: 10px;
		text-align: center;
	}
	header .scroll img {
		width: 76%;
	} 
	/* SP_MENU */
	.menu_btn {
		position: fixed!important;
		top: 20px;
		right: 19px;
		cursor: pointer;
		display: none;
		display: block;
		z-index: 111;
	}
	.menu-trigger, .menu-trigger span {
		display: inline-block;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 9vw;
		height: 8vw;
	}
	.menu-trigger span {
		position: absolute!important;
		width: 9vw;
		height: 1.4vw;
		background: rgba( 0 , 0 , 0 , 1 );
		transition: all .4s;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 3.2vw;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0px;
	}
	#overlay {
		display: block;
		position: fixed;
		height: 100vh;
		width: 100vw;
		background: rgba(0,0,0,0.7);
		z-index: 99;
		display: none;
	}
	#sp_menu {
		display: block;
		position: fixed;
		background: rgba( 0 , 0 , 0 , 1 );
		width: 100vw;
		height: 100vh;
		right: -100vw;
		overflow-y: scroll;
		z-index: 100;
		transition: all .4s;
	}
	#sp_menu.on {
		right: 0;
	}
	#sp_menu > div {
		width: 100%;
		color: rgba( 255 , 255 , 255 , 1 );
		padding-bottom: 25vw;
	}
	#sp_menu > div > div{
		font-size: 34px;
		width: 80%;
		margin: 4.3vw auto 1.8vw;
		text-align: center;
	}
	#sp_menu > div ul {
		display: block;
		width: 100%;
	}
	#sp_menu > div ul li {
		display: table;
		border-bottom: 1px solid #ddd;
		width: 100%;
		height: 58px;
	}
	#sp_menu > div ul li:first-child{
		border-top: 1px solid #ddd;
	}
	#sp_menu > div ul a {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		width: 100%;
		height: 100%;
		font-size: 4.1vw;
		font-weight: bold;
	}
	#sp_menu > div ul li ul.careers_sub_menu {
		display: block;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(3.2vw) rotate(-45deg);
		transform: translateY(3.2vw) rotate(-45deg);
		background: rgba( 255 , 255 , 255 , 1 );
	}	
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-3.2vw) rotate(45deg);
		transform: translateY(-3.2vw) rotate(45deg);
		background: rgba( 255 , 255 , 255 , 1 );
	}
	
	/* MAIN */
	main section.page_lead{
		display: block;
		margin-bottom: 26px;
		padding-top: 33px;
	}
	main section.page_lead .lead h4{
		font-size: 17.5px;
		line-height: 37px;
		margin-top: 0px;
		margin-bottom: 1px;
		font-weight: bold;
		letter-spacing: 0px;
	}
	main section.page_lead .lead,
	main section.page_lead .heading{
		width: 100%;
		line-height: 24px;
	}
	main section.page_lead .heading{
		margin-top: 9px;
		margin-bottom: 2%;
		font-size: 43px;
		letter-spacing: 0px;
	}
main section.page_lead .heading span{
	font-size: 12.5px;
	margin-top: 4px;
	margin-left: 2px;
	letter-spacing: -0.1px;
}
main section.career_lead .inner{
	width: 100%;
	margin: 0 auto;
	display: block;
}
#about main section.career_lead .inner{
	width: 88%;
}
main section.career_lead{
	margin: 25px auto 35px;
	display: flex;
}
#about .career_lead{
	margin: 0;
	margin-top: 26px;
	padding-top: 30px;
	padding-bottom: 40px;
	background-color: rgb(243, 243, 243);
}
main section.career_lead .heading{
	font-size: 43px;
	color: rgba( 0 , 0 , 0 , 1 );
	width: 100%;
}
main section.career_lead .heading span{
	display: block;
	font-size: 12.5px;
	margin-top: -4px;
	letter-spacing: 0.8px;
}
main section.career_lead .lead{
	width: 100%;
	line-height: 24px;;
}
main section.career_lead .lead h4{
	font-size: 17.5px;
	line-height: 25px;
	margin-top: 15px;
	margin-bottom: 4px;
	letter-spacing: 0px;
	font-weight: bold;
	color: rgba( 0 , 0 , 0 , 1 );
}
main section.career_lead .lead .btn{
	text-align: center;
	margin-top: 15px;
	color: #fff;
	font-weight: bold;
	letter-spacing: 1px;
	width: 100%;
	height: 63px;
	line-height: 61px;
	background-color: rgba( 0 , 0 , 0 , 1 );
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	font-size: 13px;
}

main section.career_lead .lead .btn:hover{
	background-color: #fff;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	color: rgba( 0 , 0 , 0 , 1 );
	font-weight: 600;
}
main section.careers .join{
	position: relative;
	width: 100%;
	max-height: 230px;
	height: 53vw;
	background-image: url(/images/index/career.jpg);
	background-position: 60% center;
	background-size: 140%;
	background-repeat: no-repeat;
}
main section.careers .join:before {
	content:"";
	background-color: rgba(0,0,0,0.11);
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}
main section.careers .join > div{
	display: flex;
	width: 1000px;
	margin: 0 auto;
	padding-top: 90px;
}

.to_top{
	margin-top: -5px;
	margin-bottom: 39px;
	text-align: center;
}
.to_top img {
	width: 60%;
}
	
/* FOOTER */
footer{
	height: auto;
}
footer .footer_wrapper{
	width: 85%;
	margin:  0 auto;
	display: block;
	padding-top: 32px;
	height: 45px;
	display: none;
}
footer .footer_wrapper .navi{
	display: none;
}
footer .footer_wrapper .footer_cont{
	display: block;
}
footer .footer_wrapper .address{
	display: block;
	width: 100%;
	margin: 0 auto;
}
footer .footer_wrapper .address > div{
	width: 100%;
	display: block;
	line-height: 17.9px;
}
footer .footer_wrapper .address  .adress_second {
	margin-left: 0;
}
footer .footer_wrapper .address > div:first-child{
	margin-bottom: 4.7%;
}
footer .footer_wrapper .address > div *{
	font-size: 12px;
}
footer .footer_wrapper .copy{
	position: static;
	margin: 0 auto;
	width: 90%;
	padding: 10% 0;
	text-align: left;
}
footer .footer_wrapper .logo{
	width: 100%;
	margin: 0 auto;
}
footer .footer_wrapper .logo {
    font-size: 18px;
    padding-bottom: 18px;
    font-weight: bold;
}
footer .footer_wrapper .address > div span.title {
    font-size: 12.5px;
    margin-bottom: 3px;
}
footer .footer_wrapper .address > div address {
	margin-bottom: 0px;
}
footer .copy {
	font-size: 11.5px;
}
footer .footer_wrapper .address > div span {
	margin-bottom: 3px;
	font-weight: bold;
}

/* INDEX */
#index header{
	height: 100%;
}
#index header .top_slider div:nth-child(1) {
	background-image: url(/images/index/index_01sp.jpg) !important;
}
#index header .top_slider div:nth-child(2) {
	background-image: url(/images/index/index_02sp.jpg) !important;
}
#index header .top_slider div:nth-child(3) {
	background-image: url(/images/index/index_03sp.jpg) !important;
}
#index header .top_slider div:nth-child(4) {
	background-image: url(/images/index/index_04sp.jpg) !important;
}
#index header .top_slider div:nth-child(5) {
	background-image: url(/images/index/index_05sp.jpg) !important;
}

#index header h2{
	width: 92%;
	top: 50.9%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	font-size: 18.6px;
	line-height: 2.3rem;
	letter-spacing: 0px;
	font-weight: bold;
}
#index header h2 span {
	font-size: 17.5px;
	font-weight: bold;
	letter-spacing: -1.1px;
	margin:0 2px;
}
	
#index main section.banner .about,
#index main section.banner .service,
#index main section.banner .company,
#index main section.banner .works{
	display: block;
	width: 100%;
	height: 58vw;
	margin-top: 0px;
	margin-bottom: 2px;
	min-height: initial;
}
	
#index main section.banner .about a p,
#index main section.banner .service a p,
#index main section.banner .company a p,
#index main section.banner .works a p{
	height: 30vw;
	width: 69%;
	font-size: 11vw;
	margin: 0 auto;
	padding-top: 10.9%;
	line-height: 3.5vw;
	letter-spacing: 0px;
}
	
#index main section.banner .about a p span,
#index main section.banner .service a p span,
#index main section.banner .company a p span,
#index main section.banner .works a p span{
	margin-top: 15px;
	font-size: 3.5vw;
}

/* ABOUT */
#about header{
	height: 100%;
}
#about header h2{
	width: 89%;
	top: 36%;
	left: 6%;
	text-align: center;
	line-height: 3.5rem;
	font-size: 35px;
	letter-spacing: 0px;
}
#about header h2 span{
	display: block;
	font-size: 12.5px;
	font-weight: bold;
	margin-top: -20px;		
}
#about header .str{
	top: 52.5%;
	left: 0%;
	width: 100%;
	text-align: center;
	font-size: 15px;
	line-height: 1.8rem;
	font-weight: bold;
}
#about main section.message{
}
#about main section.message h3{
	text-align: center;
	font-size: 38px;
	color: rgba( 0 , 0 , 0 , 1 );
	margin: 0px auto 26px;
	padding-top: 25px;
}
#about main section.message h3 span{
	display: block;
	font-size: 12.5px;
	letter-spacing: 0px;
	font-weight: bold;
	margin-top: -4px;
}
#about main section.message > div{
	background: rgba( 0 , 0 , 0 , 0.2 );
	height: initial;
}
#about main section.message > div .cont_full{
	position: relative;
	display: block;
	height: initial;
}
#about main section.message > div .cont_full .image{
	width: 100%;
	background-image: url(/images/about/about_sakan_01.jpg);
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center 30%;
	height: 72vw;
}
#about main section.message > div .cont_full .str{
	position: relative;
	width: 88%;
	margin: 0px auto;
	padding-top: 24px;
	padding-bottom: 24px;
}
#about main section.message > div .cont_full .str_container{
	width: 100%;
	position: relative;
	top: initial;
	left: initial;
	-webkit-transform: translate(0%,0%);
	-moz-transform: translate(0%,0%);
	-ms-transform: translate(0%,0%);
	-o-transform: translate(0%,0%);
	transform: translate(0%,0%);
}
#about main section.message > div .cont_full .str .title{
	color: rgba( 130 , 108 , 70 , 1 );
	font-size: 17.5px;
	font-weight: bold;
	line-height: 1.7rem;
	margin-bottom: 8px;
}
#about main section.message > div .cont_full .str > span{
	font-size: 13px;
}
#about main section.message > div .cont_full .str p.name{
	font-size: 18px;
	font-weight: bold;
	margin: 1px 0;
}
#about main section.message > div .cont_full .str p.name span{
	font-size: 12px;
	font-weight: normal;
	color: rgba( 0 , 0 , 0 , 1 );
	padding-left: 15px;
}
#about main section.message > div .cont_full .str p.history{
	font-size: 13px;
	line-height: 20px;
	margin-top: 3px;
}
#about main section.message + .about{
	margin-top: 25px;
}
#about main section.about + .about{
	margin-top: 30px;
}
#about main section.about + .banner{
	margin-top: 140px;
}
#about main section.about .about_title{
	font-size: 17.5px;
	font-weight: bold;
	color: rgba( 0 , 0 , 0 , 1 );
	line-height: 1.8rem;
	margin-bottom: 5px;
	margin-top: 18px;
}

#about main section.about .about_block{
	display: block;
	height: auto;
}
#about main section.about .about_block_ltr{
	display: block;
	flex-flow: initial;
}

#about main section.about .about_block .str{
	width: 100%;
	line-height: 24px;
	position: relative;
}

#about main section.about .about_block .str_container{
	width: 100%;
	position: relative;
	top: initial;
	left: initial;
	-webkit-transform: translate(0%,0%);
	-moz-transform: translate(0%,0%);
	-ms-transform: translate(0%,0%);
	-o-transform: translate(0%,0%);
	transform: translate(0%,0%);
}

#about main section.about .about_block .image{
	width: 100%;
	text-align: right;
	font-size: 0;
	-webkit-background-size: cover;
	background-size: cover;
	height: 59vw;
}

#about main section.about .about_block .image div{
	width: 100%;
	height: 100%;
	margin: 0 auto;
	-webkit-background-size: cover;
	background-size: cover;
}

#about main section.about .about_block .image .about01{
	background-image: url(/images/about/about_sakan_02.jpg);
	background-position: 50% 54%;
}

#about main section.about .about_block .image .about02{
	background-position: 50% 45%;
	background-image: url(/images/about/about_sakan_03.jpg);
}

#about main section.about .about_block .image .about03{
	background-image: url(/images/about/about_sakan_04.jpg);
}

#about main section.banner{
	font-size: 0;
	color: rgba( 255 , 255 , 255 , 1 );
}

#about main section.banner .banner_under{
	display: inline-block;
	width: calc( (100% - 10px) / 3 );
	height: 439px;
	margin-right: 5px;
}

#about main section.banner .banner_under:last-child{
	margin-right: 0px;
}

#about main section.banner .banner_under a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#about main section.banner .banner_under a p{
	position: absolute;
	width: 300px;
	height: 181px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	border: solid 1px rgba( 255 , 255 , 255 , 1 );
	font-size: 50px;
	padding-top: 64px;
	z-index: 1;
	text-align: center;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

#about main section.banner .banner_under a p span{
	display: block;
	font-size: 18px;
	letter-spacing: 3px;
	font-weight: bold;
	margin-top: 16px;
}

#about main section.banner .banner_under a::after{
	position: relative;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

#about main section.banner .banner_under a:hover::after{
	position: relative;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

#about main section.banner .banner_under a::before{
	position: absolute;
	content: "";
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	height: 100%;
	width: 100%;
	z-index: 1;
}

#about main section.banner .banner_under a:hover::before{
	background-color: rgba(0,0,0,0.3);
}

#about main section.banner .banner_under a:hover p{
	background-color: #fff;
	color: rgba( 0 , 0 , 0 , 1 );
}

#about main section.banner .service a::after{
	background-image: url(/images/index/index_02.jpg);
}

#about main section.banner .works a::after{
	background-image: url(/images/index/index_03.jpg);
}

#about main section.banner .company a::after{
	background-image: url(/images/index/index_04.jpg);
}

/* SNS */

#sns header{
	width: 100%;
	height: 50%;
	max-height: 230px;
	background-image: url(/images/sns/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}


#sns header:before{
	content: "";
	background-color: rgba(0,0,0,0.15);
	position: absolute;
	width: 100%;
	height: 50%;
	max-height: 230px;
	z-index: 0;
}


#sns header h2{
	display: block;
	position: absolute;
	top: 56.6%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 35px;
	color: rgba( 255 , 255 , 255 , 1 );
	width: 100%;
}


#sns header h2 span{
	display: block;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: bold;
	margin-top: -4px;
}


#sns .sns{
	background: rgba( 0 , 0 , 0 , 0.15 );
	padding: 0px 0;
}


#sns .sns .step{
	display: block;
	height: auto;
}


#sns .sns .step_ltr{
	flex-direction: row-reverse;
}


#sns .sns .step .image{
	height: 62vw;
	width: 100%;
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
}

#sns .sns .step .txt{
	position: relative;
	width: 100%;
	line-height: 2.5rem;
	margin-top: 23px;
}


#sns .sns .step .txt .inner{
	position: relative;
	width: 100%;
	top: initial;
	left: initial;
	-webkit-transform: translate(0%,0%);
	-moz-transform: translate(0%,0%);
	-ms-transform: translate(0%,0%);
	-o-transform: translate(0%,0%);
	transform: translate(0%,0%);
}


#sns .sns .step .txt .title{
	font-size: 17.5px;
	line-height: 25px;
	margin-top: 0px;
	letter-spacing: -0.4px;
	font-weight: 600;
	color: rgba( 0 , 0 , 0 , 1 );
	width: 88%;
	margin: 0 auto 5px;
}


#sns .sns .step .txt .str{
	line-height: 24px;
	width: 88%;
	margin:0 auto 0px;
	padding-bottom: 31px;
}
	
	
/* WORKS */

#works main{
	margin-top: 27px;
}

#works header{
	width: 100%;
	height: 50%;
	max-height: 230px;
	background-image: url(/images/works/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#works header:before{
	content: "";
	background-color: rgba(0,0,0,0.05);
	position: absolute;
	width: 100%;
	height: 50%;
	max-height: 230px;
	z-index: 0;
}

#works header h2{
	display: block;
	position: absolute;
	top: 59.5%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 35px;
	color: rgba( 255 , 255 , 255 , 1 );
	width: 100%;
}


#works header h2 span{
	display: block;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: bold;
	margin-top: -4px;
}


#works main section h3{
	color: rgba( 0 , 0 , 0 , 1 );
	font-size: 15.5px;
	letter-spacing: 1px;
	font-weight: bold;
	margin: 21px 0 9px;
}


#works main section dl{
	display: flex;
	border-bottom: solid 1px rgba( 0 , 0 , 0 , 1 );
	padding: 11px 0;
}


#works main section dl:first-child{
	border-top: solid 1px rgba( 0 , 0 , 0 , 1 );
}


#works main section dl dt{
	width: 28.5%;
}


#works main section dl dd{
	width: 72.5%;
}

/* COMPANY */

#company main{
	margin-top: 29px;
}

#company header{
	width: 100%;
	height: 50%;
	max-height: 230px;
	background-image: url(/images/company/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#company header:before {
	content:"";
	background-color: rgba(0,0,0,0.02);
	position: absolute;
	width: 100%;
	height: 50%;
	max-height: 230px;
	z-index: 0;
}

#company header h2{
	display: block;
	position: absolute;
	top: 57%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 35px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#company header h2 span{
	display: block;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: bold;
	margin-top: -3px;
}

#company main section h3{
	color: rgba( 0 , 0 , 0 , 1 );
	font-size: 15.5px;
	font-weight: bold;
	margin: 32px 0 12px;
	letter-spacing: 1px;
}

#company main section.cont{
	position: relative;
}

#company main section dl{
	display: block;
	border-bottom: solid 1px rgba( 0 , 0 , 0 , 1 );
	padding: 12px 0;
}

#company main section dl:first-child{
	border-top: solid 1px rgba( 0 , 0 , 0 , 1 );
}

#company main section dl dt{
	width: 100%;
	margin-bottom: 3px;
	font-weight: bold;
	font-size: 12px;;
}

#company main section dl dd{
	width: 100%;
}

#company main section map{
	display: block;
}

#company main section map div{
	width: 100%;
}

#company main section map div:first-child{
	margin-right: 35px;
}

#company main section map div div{
	margin-bottom: 30px;
	margin-top: 10px;
}

.address_txt{
	margin-top: 19px;
}


.address_txt p{
	font-size: 14.5px;
	font-weight: 500;
	margin-bottom: -3px;
}

	
/* CAREERS */

#careers header{
	width: 100%;
	height: 50%;
	max-height: 230px;
	background-image: url(/images/careers/main.jpg);
	background-repeat: no-repeat;
	background-position: 46% center;
	background-size: 177%;
}

@media screen and (max-width: 768px){
#careers header{
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
}
}

#careers header:before{
	content: "";
	background-color: rgba(0,0,0,0.15);
	position: absolute;
	width: 100%;
	height: 50%;
	max-height: 230px;
	z-index: 0;
}

#careers.careers-index header{
	max-height: 230px;
}


#careers header h2{
	display: block;
	position: absolute;
	top: 63%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 36px;
	letter-spacing: 1.5px;
	color: rgba( 255 , 255 , 255 , 1 );
}


#careers header h2 span{
	display: block;
	font-size: 12.5px;
	letter-spacing: 0.8px;
	font-weight: bold;
	margin-top: -5px;
}


#careers main section.page_menu{
	position: relative;
	color: rgba( 255 , 255 , 255 ,1 );
	border-bottom: 1px solid rgb(204, 204, 204);
	background: rgba( 0 , 0 , 0 , .7 );
	height: auto;
}


#careers main section.page_menu .position{
	position: relative;
	right: 0;
	width: 100%;
}


#careers main section.page_menu .position ul{
	display: block;
	width: 100%;
}


#careers main section.page_menu .position ul li{
	position: relative;
	color: rgba( 0 , 0 , 0 , 1 );
	display: block;
	text-align: center;
	vertical-align: middle;
	height: 45px;
	line-height: 45px;
	width: 100%;
	letter-spacing: 0.5px;
	font-size: 13px;
	border-left: initial;
	transition: all ease .5s;
	border-bottom: 1px solid #fff;
	cursor: pointer;
}

#careers main section.page_menu .position ul li:nth-child(2n){
	width: 100%;
}
#careers main section.page_menu .position ul li:nth-child(3){
	border-bottom: none;
}
#careers main section.page_menu .position ul li a{
	position: initial;
	display: block;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 45px;
	color: #fff;
	font-weight: bold;
}


#careers main section.page_menu .position ul li:last-child{
}


#careers main section.page_menu .position ul li.cur{
	background: rgba( 0 , 0 , 0 , 1 );
	color: #fff;
	font-weight: bold;
}


#careers main section.page_menu .position ul li:hover{
	background: rgba( 0 , 0 , 0 , 1 );
	color: #fff;
}


#careers main section.message h3{
	text-align: center;
	font-size: 36px;
	color: rgba( 0 , 0 , 0 , 1 );
	margin: 0px auto 24px;
	padding-top: 20px;
}
#careers main section.message h3 span{
	display: block;
	font-size: 12px;
	letter-spacing: 0px;
	font-weight: bold;
	margin-top: -3px;
}
#careers main section.message > div{
	background: rgba( 0 , 10 , 0 , 0.2 );
	height: initial;
}


#careers main section.message{
	position: relative;
}


#careers main section.message .inner{
	position: relative;
	display: block;
	height: auto;
	background: rgba( 0 , 0 , 0 , 0.1 );
}


#careers main section.message .inner .images{
	position: relative;
	background-image: url(/images/careers/careers_01.jpg);
	-webkit-background-size: cover;
	background-size: cover;
	background-position: top center;
	width: 100%;
	height: 55vw;
}


#careers main section.message .inner .mess_str{
	position: relative;
	width: 88%;
	margin:0 auto;
	text-align: left;
}


#careers main section.message .inner .mess_str .mess_inner{
	position: relative;
	width: 100%;
	top: initial;
	left: initial;
	transform: translate(0%,0%);
	padding-bottom: 13px;
	line-height: 24px;
}


#careers main section.message .inner .mess_str .title{
	color: rgba( 0 , 10 , 0 , 1 );
	font-size: 17.5px;
	font-weight: bold;
	line-height: 1.7rem;
	margin-top: 22px;
	margin-bottom: 12px;
}


#careers main section.message .inner .mess_str .title span{
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: rgba( 0 , 0 , 0 , 1 );
	margin-top: -10px;
}


#careers main section.message .inner .mess_str .name{
	margin: 13px 0;
	font-size: 17.5px;
	height: 30px;
	line-height: 30px;
	font-weight: bold;
}


#careers main section.message .inner .mess_str .name span{
	height: 30px;
	line-height: 30px;
	font-size: 13px;
	font-weight: normal;
	padding-right: 12px;
}


#careers main section.page_lead{
	padding-top: 21px;
	display: flex;
	padding-bottom: 21px;
	margin-bottom: 0px;
	text-align: center;
}


#careers main section.page_lead .inner{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	text-align: center;
}


#careers main section.page_lead .heading{
	width: 100%;
	margin-bottom: 0px;
}


#careers main section.careers_step{
}


#careers main section.careers_step .step{
	height: auto;
	display: block;
	background: rgba(204, 204, 204, 0.2);
}


#careers main section.careers_step .step_ltr{
	flex-direction: row-reverse;
}


#careers main section.careers_step .step .image{
	width: 100%;
	height: 55vw;
	-webkit-background-size: cover;
	background-size: cover;
}

#careers main section.careers_step .step .txt{
	position: relative;
	width: 88%;
	margin:0 auto;
	padding-bottom: 40px;
}

#careers main section.careers_step .step .txt .inner{
	position: relative;
	top: initial;
	left: initial;
	transform: translate(0%,0%);
	width: 100%;
	margin-top: 15px;
}


#careers main section.careers_step .step .txt .inner .title{
	color: rgba( 0 , 0 , 0 , 1 );
}


#careers main section.careers_step .step .txt .inner .title .year{
	font-size: 30px;
	margin-bottom: -2px;
}


#careers main section.careers_step .step .txt .inner .title .year span{
	position: relative;
	font-size: 31px;
	font-family: 'DINNextW01-CondensedReg';
	display: inline-block;
	margin-right: 5px;
}


#careers main section.careers_step .step .txt .inner .title .year span:after{
	position: absolute;
	top: 5px;
	margin-left: 2px;
	font-weight: bold;
	width: 68px;
	content: "蟷ｴ逶ｮ";
	font-size: 17.5px;
}


#careers main section.careers_step .step .txt .inner .title .lead{
	font-size: 17.5px;
	line-height: 24px;
	letter-spacing: 0px;
	margin-bottom: 7px;
	font-weight: bold;
}


#careers main section.careers_step .step .txt .inner .desc{
	line-height: 24px;
}

#careers main section.careers_step .step .skill {
	font-weight: bold;
	font-size: 12.5px;
	line-height: 20px;
	margin-top: 12px;
	margin-bottom: 13px;
}

#careers main section.careers_step .step .skill .green {
	display: inline-block;
	background-color: #467182;
	color:#fff;
	font-size: 11px;
	padding:0px 10px;
}
#careers main section.careers_step .step .skill .red {
	display: inline-block;
	background-color: #a15665;
	color:#fff;
	font-size: 11px;
	padding:0px 10px;
}

#careers main section.careers_step .step .skill span:nth-child(1) {
	margin-left: 7px;
}
#careers main section.careers_step .step .skill span + span {
	margin-left: 4px;
}

#careers main section.faq{
	border-top: solid 1px rgba( 0 , 0 , 0 , .7 );
	margin-top: 32px;
}


#careers main section.faq dl{
	display: block;
	width: 100%;
	border-bottom: solid 1px rgba( 0 , 0 , 0 , .7 );
}


#careers main section.faq dl dt{
	display: table;
	width: 100%;
	cursor: pointer;
}


#careers main section.faq dl dt div{
	display: table-cell;
	vertical-align: middle;
	padding: 13px 0;
	line-height: 17px;
}


#careers main section.faq dl dt div:first-child{
	font-size: 18px;
	width: 18.5%;
	padding-left: 17px;
	color: rgba( 0 , 0 , 0 , 1 );
}


#careers main section.faq dl dt div:last-child{
	font-size: 13.5px;
	padding-right: 40px;
}

#careers main section.faq dl dt div:last-child span {
	position: absolute;
	top: 51%;
	transform: translate(0%,-50%);
	right: 9px;
	display: block;
	height: 2px;
	background-color: rgb(181, 181, 181);
	width: 17px;
}
#careers main section.faq dl dt div:last-child span:before {
	content:"";
	display: block;
	height: 2px;
	background-color: rgb(181, 181, 181);
	width: 17px;
	transform:rotate(-90deg);
	transition:all ease .5s;
}
#careers main section.faq dl dt.open div:last-child span:before {
	transform:rotate(0deg);
}


#careers main section.faq dl dd{
	background: rgba( 242 , 242 , 242 , .7 );
	width: 100%;
}


#careers main section.faq dl dd div:first-child{
	padding-left: 17px;
	width: 18.5%;
	font-size: 18px;
}
#careers main section.faq dl dd div:last-child{
	font-size: 13.5px;
	padding-right: 15px;
}

.requirements main section.list{
	margin-top: 32px;
}


#careers main section.list dl{
	display: block;;
	padding: 20px 0;
	border-bottom: 1px solid rgba( 0 , 0 , 0 , 1 );
}


.requirements main section.list dl{
	padding: 12px 0 !important;
}


#careers main section.list dl:first-child{
	border-top: 1px solid rgba( 0 , 0 , 0 , 1 );
}


#careers main section.list dl dt{
	font-weight: 600;
	width: 100%;
	margin-left: 4px;
	margin-bottom: 1px;
	font-size: 12px;
}
#careers main section.list dl dd{
	width: 100%;
	margin-left: 4px;
}


#careers .btn{
}


#careers .btn{
	text-align: center;
	margin: 26px auto 0;
	color: #fff;
	font-weight: bold;
	letter-spacing: 1.6px;
	width: 88%;
	height: 65px;
	line-height: 65px;
	background-color: rgba( 0 , 0 , 0 , 1 );
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	font-size: 13px;
}


#careers .btn:hover{
	background-color: #fff;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	color: rgba( 0 , 0 , 0 , 1 );
	font-weight: 600;
}
	
	
/* CONTACT */
#contact header{
	width: 100%;
	height: 230px;
	background-image: url(/images/contact/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#contact header h2{
	display: block;
	position: absolute;
	top: 56.6%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 35px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#contact header h2 span{
	display: block;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: bold;
	margin-top: -2px;
}

#contact main section.page_menu{
	position: relative;
	background: rgba( 0 , 0 , 0 , .7 );
	color: rgba( 255 , 255 , 255 ,1 );
	height: 70px;
}

#contact main section.page_menu .position{
	position: absolute;
	right: 0;
	width: 450px;
}

#contact main section.page_menu .position ul{
	display: table;
	width: 450px;
}

#contact main section.page_menu .position ul li{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	height: 70px;
	width: calc( 450px / 3 );
	border-left: solid 1px rgba( 255 , 255 , 255 , 1 );
}

#contact main section.page_menu .position ul li:last-child{
	border-right: solid 1px rgba( 255 , 255 , 255 , 1 );
}

#contact main section.page_menu .position ul li.cur{
	background: rgba( 0 , 0 , 0 , 1 );
}

#contact main section.contact_list{
}

#contact main section.contact_list p{
	margin: 20px 0 0px;
	font-size: 12px;
}

#contact main section.contact_list dl{
	display: block;
	padding: 9px 0;
}

#contact main section.contact_list dl dt{
	width: 100%;
	font-weight: bold;
	font-size: 12px;
	margin-bottom: 4px;
}

#contact main section.contact_list dl dd{
	width: 100%;
}

#contact main section.contact_list dl dd input[type="text"]{
	width: 100%;
}

#contact main section.contact_list dl dd textarea{
	width: 100%;
	height: 155px;
}

#contact main section.contact_list div.contact_btn{
	margin-top: 20px;
	text-align: center;
}

#contact main section.contact_list div.contact_btn input{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	font-weight: bold;;
	letter-spacing: 1.6px;
	width: 290px;
	height: 60px;
	line-height: 55px;
	background-color: rgba( 0 , 0 , 0 , 1 );
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	border-radius: initial;
}

#contact main section.contact_list div.contact_btn input:hover{
	background-color: #fff;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	color: rgba( 0 , 0 , 0 , 1 );
	font-weight: 600;
	border-radius: initial;
}

#contact main section.contact_thanks p:first-child{
	font-size: 15px;
	font-weight: bold;
	margin: 27px 0 6px;
}
#contact main section.contact_thanks p:nth-child(2){
	line-height: 23px;
}

#contact main section.contact_thanks p:last-child{
	line-height: 2.5rem;
}

#contact main section.contact_thanks div.contact_btn{
	margin-top: 24px;
}

#contact main section.contact_thanks div.contact_btn a{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 315px;
	height: 58px;
	color: rgba( 255 , 255 , 255 , 1 );
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	background: rgba( 0 , 0 , 0 , 1 );
	transition: all ease .5s;
}

#contact main section.contact_thanks div.contact_btn a:hover {
	background-color: #fff;
	color:rgba( 0 , 0 , 0 , 1 );
}
/*RECRUIT*/
#recruit header{
	width: 100%;
	height: 230px;
	background-image: url(/images/recruit/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#recruit header h2{
	display: block;
	position: absolute;
	top: 56.6%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size: 35px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#recruit header h2 span{
	display: block;
	font-size: 12px;
	letter-spacing: 2px;
	font-weight: bold;
	margin-top: -2px;
}

#recruit main section.page_menu{
	position: relative;
	background: rgba( 0 , 0 , 0 , .7 );
	color: rgba( 255 , 255 , 255 ,1 );
	height: 70px;
}

#recruit main section.page_menu .position{
	position: absolute;
	right: 0;
	width: 450px;
}

#recruit main section.page_menu .position ul{
	display: table;
	width: 450px;
}

#recruit main section.page_menu .position ul li{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	height: 70px;
	width: calc( 450px / 3 );
	border-left: solid 1px rgba( 255 , 255 , 255 , 1 );
}

#recruit main section.page_menu .position ul li:last-child{
	border-right: solid 1px rgba( 255 , 255 , 255 , 1 );
}

#recruit main section.page_menu .position ul li.cur{
	background: rgba( 0 , 0 , 0 , 1 );
}

#recruit main section.recruit_list{
}

#recruit main section.recruit_list p{
	margin: 20px 0 0px;
	font-size: 12px;
}

#recruit main section.recruit_list dl{
	display: block;
	padding: 9px 0;
}

#recruit main section.recruit_list dl dt{
	width: 100%;
	font-weight: bold;
	font-size: 12px;
	margin-bottom: 4px;
}

#recruit main section.recruit_list dl dd{
	width: 100%;
}

#recruit main section.recruit_list dl dd input[type="text"]{
	width: 100%;
}

#recruit main section.recruit_list dl dd textarea{
	width: 100%;
	height: 155px;
}

#recruit main section.recruit_list div.recruit_btn{
	margin-top: 20px;
	text-align: center;
}

#recruit main section.recruit_list div.recruit_btn input{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	font-weight: bold;;
	letter-spacing: 1.6px;
	width: 290px;
	height: 60px;
	line-height: 55px;
	background-color: rgba( 0 , 0 , 0 , 1 );
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	border-radius: initial;
}

#recruit main section.recruit_list div.recruit_btn input:hover{
	background-color: #fff;
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	color: rgba( 0 , 0 , 0 , 1 );
	font-weight: 600;
	border-radius: initial;
}

#recruit main section.recruit_thanks p:first-child{
	font-size: 15px;
	font-weight: bold;
	margin: 27px 0 6px;
}
#recruit main section.recruit_thanks p:nth-child(2){
	line-height: 23px;
}

#recruit main section.recruit_thanks p:last-child{
	line-height: 2.5rem;
}

#recruit main section.recruit_thanks div.recruit_btn{
	margin-top: 24px;
}

#recruit main section.recruit_thanks div.recruit_btn a{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 315px;
	height: 58px;
	color: rgba( 255 , 255 , 255 , 1 );
	border: 1px solid rgba( 0 , 0 , 0 , 1 );
	background: rgba( 0 , 0 , 0 , 1 );
	transition: all ease .5s;
}

#recruit main sectionrecruit_thanks div.recruit_btn a:hover {
	background-color: #fff;
	color:rgba( 0 , 0 , 0 , 1 );
}