/* CSS */


/* INDEX */
#index header {
	width: 100%;
	height: 100%;
	box-shadow:0px 110px 50px -13px rgba(0,0,0,0.05) inset;
	-moz-box-shadow:0px 110px 50px -13px rgba(0,0,0,0.05) inset;
	-webkit-box-shadow:0px 110px 50px -13px rgba(0,0,0,0.05) inset;

/*	background-image: url(/images/index/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

*/}

#index header .top_slider{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -999;
}
#index header .top_slider:before {
	content:"";
	background-color: rgba(0,0,0,0.11);
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#index header .top_slider div:nth-child(1) {
	background-image: url(/images/index/index_01.jpg) !important;
}
#index header .top_slider div:nth-child(2) {
	background-image: url(/images/index/index_02.jpg) !important;
}
#index header .top_slider div:nth-child(3) {
	background-image: url(/images/index/index_03.jpg) !important;
}
#index header .top_slider div:nth-child(4) {
	background-image: url(/images/index/index_04.jpg) !important;
}
#index header .top_slider div:nth-child(5) {
	background-image: url(/images/index/index_05.jpg) !important;
}



#index header h2{
	display: block;
	position: absolute;
	width: 74.7%;
	top: calc( (100% - 105px) / 2 );
	left: calc( (100% - 74.7%) / 2 );
	text-align: left;
	color: rgba( 255 , 255 , 255 , 1 );
	font-size: 34px;
	letter-spacing: 4px;
	line-height: 57px;
}
#index header h2 span {
	font-size: 28.7px;
	letter-spacing: -1px;
	margin-left:-0.7px;
	margin-right: 2.7px;
}

#index main section.banner{
	font-size: 0;
	color: rgba( 255 , 255 , 255 , 1 );
}

#index main section.banner .about{
	width: 100%;
	height: 460px;
	margin-bottom: 5px;
}

#index main section.banner .about a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#index main section.banner .about a p{
	position: absolute;
	width: 396px;
	height: 220px;
	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: 51px;
	padding-top: 84px;
	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;
}

#index main section.banner .about a p span{
	display: block;
	font-size: 19px;
	font-weight: bold;
	margin-top: 16px;
	letter-spacing: 1px;
}

#index main section.banner .about a::after{
	position: relative;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(/images/index/about.jpg);
	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;
}

#index main section.banner .about a:hover::after{
	position: relative;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

#index main section.banner .about 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;
}

#index main section.banner .about a:hover::before{
	background-color: rgba(0,0,0,0.2);
}

#index main section.banner .about a:hover p{
	background-color: #fff;
	color: rgba( 51 , 51 , 51 , 1 );
}

#index main section.banner .banner_under{
	display: inline-block;
	font-size: 0;
	width: calc( (100% - 10px) / 3 );
	height: 29vw;
	margin-right: 5px;
	min-height: 298px;
}
@media all and (-ms-high-contrast: none) {
    #index main section.banner .banner_under {
        margin-right: 4px;/* IE10 */
    }
}
#index main section.banner .banner_under {
  margin-right: 4px\9; /* IE10*/
}

#index main section.banner .banner_under:last-child{
	margin-right: 0px;
}

#index main section.banner .banner_under a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#index main section.banner .banner_under a p{
	position: absolute;
	width: 300px;
	height: 181px;
	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: 30px;
	padding-top: 67px;
	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;
}

#index main section.banner .banner_under a p span{
	display: block;
	font-size: 18px;
	letter-spacing: 3px;
	font-weight: bold;
	margin-top: 16px;
}

#index 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;
}

#index main section.banner .banner_under a:hover::after{
	position: relative;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

#index 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;
	background-color: rgba(0,0,0,0.18);
}

#index main section.banner .banner_under a:hover::before{
	background-color: rgba(0,0,0,0.3);
}

#index main section.banner .banner_under a:hover p{
	background-color: #fff;
	color: rgba( 51 , 51 , 51 , 1 );
}

#index main section.banner .service a::after{
	background-image: url(/images/index/service.jpg);
}

#index main section.banner .works a::after{
	background-image: url(/images/index/works.jpg);
}

#index main section.banner .company a::after{
	background-image: url(/images/index/company.jpg);
}

#about{
}

#about header{
	width: 100%;
	height: 100%;
	background-image: url(/images/about/main.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
#about header:before {
	content:"";
	background-color: rgba(0,0,0,0.1);
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
}

#about header h2{
	display: block;
	position: absolute;
	width: 1000px;
	top: calc( (100% - 175px) / 2 );
	left: calc( (100% - 1000px) / 2 );
	text-align: center;
	color: rgba( 255 , 255 , 255 , 1 );
	font-size: 59px;
	letter-spacing: 1px;
}

#about header h2 span{
	display: block;
	font-size: 19px;
	font-weight: 500;
	margin-top: -5px;
}

#about header .str{
	display: block;
	position: absolute;
	width: 1000px;
	top: calc( ((100% - 217px) / 2) + 147px );
	left: calc( (100% - 1000px) / 2 );
	font-size: 23.8px;
	line-height: 41px;
	letter-spacing: 0.7px;
	color: rgba( 255 , 255 , 255 , 1 );
	text-align: center;
}

#about main section.message{
}

#about main section.message h3{
	text-align: center;
	font-size: 60px;
	color: rgba( 51 , 51 , 51 , 1 );
	margin: 0px auto 60px;
	padding-top: 62px;
}

#about main section.message h3 span{
	display: block;
	font-size: 17.5px;
	letter-spacing: 1px;
	font-weight: bold;
	margin-top: -4px;
}

#about main section.message > div{
	height: 600px;
	background: rgba( 51 , 51 , 51 , 0.2 );
}

#about main section.message > div .cont_full{
	position: relative;
	display: flex;
	height: 100%;
}

#about main section.message > div .cont_full .image{
	width: 50%;
	background-image: url(/images/about/about_sakan_01.jpg);
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center 30%;
}

#about main section.message > div .cont_full .str{
	position: relative;
	width: 50%;
}

#about main section.message > div .cont_full .str_container{
	width: 61%;
	position: absolute;
	top: calc( (630px - 289px) / 2 );
	left: calc(42% / 2);
}

#about main section.message > div .cont_full .str .title{
	color: rgba( 51 , 51 , 51 , 1 );
	font-size: 30.5px;
	font-weight: bold;
	line-height: 3.2rem;
	margin-bottom: 24px;
}

#about main section.message > div .cont_full .str > span{
	font-size: 13px;
}

#about main section.message > div .cont_full .str p.name,
.cont_full2.about p.name{
	font-size: 23px;
	font-weight: bold;
	margin: 5px 0;
}
@media screen and (max-width:768px){
#about main section.message > div .cont_full .str p.name,
.cont_full2.about p.name{
	font-size: 18px!important;
}		
}
#about main section.message > div .cont_full .str p.name span{
	font-size: 12px;
	font-weight: normal;
	color: rgba( 51 , 51 , 51 , 1 );
	padding-left: 15px;
}

#about main section.message > div .cont_full .str p.history{
	font-size: 14px;
	line-height: 2rem;;
	margin-top: 10px;
}
#about main section.message + .about{
	margin-top: 120px;
}

#about main section.about + .about{
	margin-top: 110px;
}

#about main section.about + .banner{
	margin-top: 140px;
}

#about main section.about .about_title{
	font-size: 30.5px;
	font-weight: bold;
	color: rgba( 51 , 51 , 51 , 1 );
	line-height: 3.3rem;
	margin-bottom: 16px;
}

#about main section.about .about_block{
	display: flex;
	height: 489px;
}

#about main section.about > div .cont_full .str p.name{
	font-size: 23px;
	font-weight: bold;
	margin: 5px 0;
}
/*20190228追加*/
.cont_full .profile{
	padding:14px 0 0 0;
}
@media screen and (max-width:768px){
.cont_full .profile,
.cont_full2 .profile{
	padding:5px 0 0 0;
}
}
#about main section.about .about_block_ltr {
	flex-direction: row-reverse;
}

#about main section.about .about_block .str{
	width: 50%;
	line-height: 2rem;
	position: relative;
}

#about main section.about .about_block .str_container{
	width: 80%;
	position: absolute;
	top: calc( (567px - 454px) / 2 );
	left: calc(29% / 2);
}
.win #about main section.about .about_block .str_container{
	width: 80%;
	position: absolute;
	top: calc( (567px - 454px) / 2 );
	left: calc(29% / 2);
}

#about main section.about .about_block .image{
	width: 50%;
	text-align: right;
	font-size: 0;
	-webkit-background-size: cover;
	background-size: cover;
}

#about main section.about .about_block .image div{
	width: 88%;
	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);
}

#about main section.about .about_block .image .about02{
	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( 51 , 51 , 51 , 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 header{
	width: 100%;
	height: 565px;
	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: 565px;
	z-index: 0;
}

#sns header h2{
	display: block;
	position: absolute;
	top: 55.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: 61px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#sns header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2px;
	font-weight: normal;
	margin-top: -6px;
}

#sns .service{
	background: rgba( 51 , 51 , 51 , 0.15 );
	padding: 0px 0;
	width: 100%;
}

#sns .service .step{
	display: flex;
	height: 530px;
}

#sns .sns .step_ltr{
	flex-direction: row-reverse;
}

#sns .service .step .image{
	width: 50%;
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
}

#sns .sns .step .image_one{
	background-image: url(/images/service/our_service_01.jpg);
}

#sns .sns .step .image_two{
	background-image: url(/images/service/our_service_02.jpg);
}

#sns .sns .step .txt{
	position: relative;
	width: 50%;
	line-height: 2.5rem;
}

#sns .sns .step .txt .inner{
	position: absolute;
	width: 71%;
	top: calc( (530px - 217px) / 2 );
	left: calc( 29% / 2 );
/*	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
*/}
.win #service .service .step .txt .inner{
	position: absolute;
	width: 71%;
	top: calc( (530px - 189px) / 2 );
	left: calc( 29% / 2 );
/*	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
*/}

#service .service .step .txt .title{
	font-size: 30.5px;
	line-height: 44px;
	margin-top: 0px;
	margin-bottom: 17px;
	letter-spacing: -0.4px;
	font-weight: 600;
	color: rgba( 51 , 51 , 51 , 1 );
}

#service .service .step .txt .str{
	line-height: 2rem;
}

#works main{
	margin-top: 81px;
}

#works header{
	width: 100%;
	height: 565px;
	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: 565px;
	z-index: 0;
}

#works header h2{
	display: block;
	position: absolute;
	top: 55.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: 62px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#works header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2px;
	font-weight: normal;
	margin-top: -6px;
}

#works main section h3{
	color: rgba( 51 , 51 , 51 , 1 );
	font-size: 21.5px;
	letter-spacing: 1px;
	font-weight: bold;
	margin: 44px 0 19px;
}

#works main section dl{
	display: flex;
	border-bottom: solid 1px rgba( 51 , 51 , 51 , 1 );
	padding: 20px 0;
}

#works main section dl:first-child{
	border-top: solid 1px rgba( 51 , 51 , 51 , 1 );
}

#works main section dl dt{
	width: 122px;
	font-weight: bold;
	margin-left: 11px;
}

#works main section dl dd{
	width: 850px;
}

/* Now Ready */

#works .nowReady {
	font-size: 16px;
	letter-spacing: 0.5px;
	text-align: center;
	margin-bottom: 30px;
}
@media screen and (max-width:768px) {
	#works .nowReady {
	text-align: center;
	min-height: calc(100vh - 386px );
}
}


#company main{
	margin-top: 81px;
}

#company header{
	width: 100%;
	height: 565px;
	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: 565px;
	z-index: 0;
}

#company header h2{
	display: block;
	position: absolute;
	top: 54%;
	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: 61px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#company header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2px;
	font-weight: normal;
	margin-top: -8px;
}

#company main section h3{
	color: rgba( 51 , 51 , 51 , 1 );
	font-size: 21.5px;
	font-weight: bold;
	margin: 44px 0 19px;
	letter-spacing: 1px;
}

#company main section.cont{
	position: relative;
}

#company main section dl{
	display: flex;
	border-bottom: solid 1px rgba( 51 , 51 , 51 , 1 );
	padding: 20px 0;
}

#company main section dl:first-child{
	border-top: solid 1px rgba( 51 , 51 , 51 , 1 );
}

#company main section dl dt{
	width: 150px;
}

#company main section dl dd{
	width: 850px;
}

#company main section map{
	display: flex;
}

#company main section map div{
	width: 100%;
}
#company main section map div div{
	margin-bottom: 30px;
}
#company main section map:last-child div div {
	margin-bottom: 5px;
}
#company .kyoto {
	margin-bottom: 11px;
}

.address_txt{
	margin-top: 13px;
}

.address_txt p{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 1px;
}

#careers header{
	width: 100%;
	height: 565px;
	background-image: url(/images/careers/main.jpg);
	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: 565px;
	z-index: 0;
}

#careers header h2{
	display: block;
	position: absolute;
	top: 55.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: 61px;
	letter-spacing: 1.5px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#careers header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2.1px;
	font-weight: normal;
	margin-top: -8px;
}

#careers main section.page_menu{
	position: relative;
	color: rgba( 255 , 255 , 255 ,1 );
	height: 70px;
	border-bottom: 1px solid rgb(204, 204, 204);
	background: rgba( 51 , 51 , 51 , .7 );
}

#careers main section.page_menu .position{
	position: absolute;
	right: 0;
	width: 485px;
}

#careers main section.page_menu .position ul{
	display: table;
	width: 485px;
}

#careers main section.page_menu .position ul li{
	position: relative;
	color: rgba( 51 , 51 , 51 , 1 );
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	height: 70px;
	line-height: 70px;
	width: calc( 485px / 3 );
	letter-spacing: 0.2px;
	font-size: 14.5px;
	border-left: solid 1px rgb(255, 255, 255);
	transition: all ease .5s;
}
#careers main section.page_menu .position ul li:nth-child(2n) {
	width: 212px;
}

#careers main section.page_menu .position ul li a{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 65px;
	color: #fff;
}

#careers main section.page_menu .position ul li:last-child{
}

#careers main section.page_menu .position ul li.cur{
	background: rgba( 51 , 51 , 51 , 1 );
	color: #fff;
}

#careers main section.page_menu .position ul li:hover{
	background: rgba( 51 , 51 , 51 , 1 );
	color: #fff;
}

#careers main section.message h3{
	text-align: center;
	font-size: 60px;
	color: rgba( 51 , 51 , 51 , 1 );
	margin: 60px auto 60px;
}

#careers main section.message h3 span{
	display: block;
	font-size: 17.5px;
	letter-spacing: 1px;
	font-weight: bold;
	margin-top: -4px;
}

#careers main section.message{
	position: relative;
}

#careers main section.message .inner{
	position: relative;
	display: flex;
	height: 600px;
	background: rgba( 51 , 51 , 51 , 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: center center;
	width: 50%;
}

#careers main section.message .inner .mess_str{
	position: relative;
	width: 50%;
	text-align: left;
}

#careers main section.message .inner .mess_str .mess_inner{
	position: absolute;
	width: 63%;
	top: calc( (630px - 324px) / 2 );
	left: calc(42% / 2);
	font-size: 14px;
	line-height: 2rem;
}



#careers main section.message .inner .mess_str .title{
	color:rgba( 51 , 51 , 51 , 1 );
	font-size: 30.5px;
	font-weight: bold;
	line-height: 3.2rem;
	margin-bottom: 18px;
}

#careers main section.message .inner .mess_str .title span{
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: rgba( 51 , 51 , 51 , 1 );
	margin-top: -10px;
}

#careers main section.message .inner .mess_str .name{
	margin: 32px 0;
	font-size: 25px;
	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: 15px;
}

#careers main section.page_lead{
	padding-top: 60px;
	display: flex;
	padding-bottom: 60px;
	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%;
}

#careers main section.careers_step{
}

#careers main section.careers_step .step{
	height: 525px;
	display: flex;
	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: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}

#careers main section.careers_step .step .image_one{
	background-image: url(/images/careers/careers_02.jpg);
}

#careers main section.careers_step .step .image_two{
	background-image: url(/images/careers/careers_03.jpg);
}

#careers main section.careers_step .step .image_three{
	background-image: url(/images/careers/careers_04.jpg);
}

#careers main section.careers_step .step .txt{
	position: relative;
	width: 50%;
}

#careers main section.careers_step .step .txt .inner{
	position: absolute;
	top: calc( (630px - 346px) / 2 );
	left: calc(35% / 2);
	width: 67%;
}

#careers main section.careers_step .step .txt .inner .title{
	color: rgba( 51 , 51 , 51 , 1 );
}

#careers main section.careers_step .step .txt .inner .title .year{
	font-size: 30px;
	margin-bottom: -5px;
}

#careers main section.careers_step .step .txt .inner .title .year span{
	position: relative;
	font-size: 60px;
	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: 15px;
	margin-left: 4px;
	font-weight: bold;
	width: 68px;
	content: "蟷ｴ逶ｮ";
	font-size: 26.5px;
}

#careers main section.careers_step .step .txt .inner .title .lead{
	font-size: 29.5px;
	line-height: 42px;
	letter-spacing: 0.5px;
	margin-bottom: 12px;
	font-weight: bold;
}

#careers main section.careers_step .step .txt .inner .desc{
	line-height: 2rem;
}

#careers main section.faq{
	border-top: solid 1px rgba( 51 , 51 , 51 , .7 );
	margin-top: 85px;
}

#careers main section.faq dl{
	display: block;
	width: 100%;
	border-bottom: solid 1px rgba( 51 , 51 , 51 , .7 );
}

#careers main section.faq dl dt{
	display: table;
	width: 100%;
	cursor: pointer;
}

#careers main section.faq dl dt div{
	display: inline-block;
	width: 85%;
	vertical-align: middle;
	padding: 16px 0;
}

#careers main section.faq dl dt div:first-child{
	font-size: 52px;
	width: 140px;
	padding-left: 25px;
	color: rgba( 51 , 51 , 51 , 1 );
}

#careers main section.faq dl dt div:last-child{
	font-size: 16px;
	position: relative;
}

#careers main section.faq dl dt div:last-child span {
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0%,-50%);
	   -moz-transform: translate(0%,-50%);
	    -ms-transform: translate(0%,-50%);
	     -o-transform: translate(0%,-50%);
	        transform: translate(0%,-50%);
	right: 9px;
	display: block;
	height: 3px;
	background-color: rgb(181, 181, 181);
	width: 30px;
}
#careers main section.faq dl dt div:last-child span:before {
	content:"";
	display: block;
	height: 3px;
	background-color: rgb(181, 181, 181);
	width: 30px;
	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{
	display: none;
	background: rgba( 242 , 242 , 242 , .7 );
	width: 100%;
}

#careers main section.faq dl dd div{
	display: table-cell;
	vertical-align: middle;
	padding: 15px 0;
}

#careers main section.faq dl dd div:first-child{
	font-size: 52px;
	width: 140px;
	padding-left: 25px;
	color: rgba( 51 , 51 , 51 , 1 );
}

#careers main section.faq dl dd div:last-child{
	font-size: 16px;
}

.requirements main section.list{
	margin-top: 90px;
}

#careers main section.list dl{
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid rgba( 51 , 51 , 51 , 1 );
}

.requirements main section.list dl{
	padding: 24px 0 !important;
}

#careers main section.list dl:first-child{
	border-top: 1px solid rgba( 51 , 51 , 51 , 1 );
}

#careers main section.list dl dt{
	font-weight: 500;
	width: 163px;
	margin-left: 17px;
}

#careers main section.list dl dd{
	width: 845px;
}

#careers .btn{
}

#careers .btn{
	text-align: center;
	margin: 54px auto 0;
	color: #fff;
	font-weight: 200;
	letter-spacing: 1.6px;
	width: 300px;
	height: 65px;
	line-height: 65px;
	background-color: rgba( 51 , 51 , 51 , 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( 51 , 51 , 51 , 1 );
}

#careers .btn:hover{
	background-color: #fff;
	border: 1px solid rgba( 51 , 51 , 51 , 1 );
	color: rgba( 51 , 51 , 51 , 1 );
	font-weight: 600;
}

#contact header{
	width: 100%;
	height: 565px;
	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: 55.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: 61px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#contact header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2px;
	font-weight: normal;
	margin-top: -6px;
}

#contact main section.page_menu{
	position: relative;
	background: rgba( 51 , 51 , 51 , .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( 51 , 51 , 51 , 1 );
}

#contact main section.contact_list{
}

#contact main section.contact_list p{
	margin: 76px 0 15px;
}

#contact main section.contact_list dl{
	display: flex;
	padding: 20px 0;
}

#contact main section.contact_list dl dt{
	width: 200px;
}

#contact main section.contact_list dl dd{
	width: 820px;
}

#contact main section.contact_list dl dd input[type="text"]{
	width: 640px;
}

#contact main section.contact_list dl dd textarea{
	width: 640px;
	height: 155px;
}

#contact main section.contact_list div.contact_btn{
	margin-top: 35px;
	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: 200;
	letter-spacing: 1.6px;
	width: 290px;
	height: 60px;
	line-height: 55px;
	margin:0 auto;
	background-color: rgba( 51 , 51 , 51 , 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( 51 , 51 , 51 , 1 );
}

#contact main section.contact_list div.contact_btn input:hover{
	background-color: #fff;
	border: 1px solid rgba( 51 , 51 , 51 , 1 );
	color: rgba( 51 , 51 , 51 , 1 );
	font-weight: 600;
}
.contact-error .contact_list li:first-child {
	padding-top: 22px;
}
.contact-error .contact_list li:last-child {
	padding-bottom: 17px;
}
.contact-error .contact_list li {
	margin-bottom: 19px;
	font-size: 15px;
}


#contact main section.contact_thanks p:first-child{
	font-size: 24px;
	font-weight: bold;
	margin: 110px 0 16px;
	letter-spacing: 0px;
}

#contact main section.contact_thanks p:last-child{
	line-height: 2.5rem;
}

#contact main section.contact_thanks div.contact_btn{
	margin-top: 75px;
	padding-bottom: 19px;
}

#contact main section.contact_thanks div.contact_btn a{
	display: block;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	width: 290px;
	height: 60px;
	line-height: 60px;
	margin:0 auto;
	background: rgba( 51 , 51 , 51 , 1 );
	color: rgba( 255 , 255 , 255 , 1 );
	border: 1px solid rgba( 51 , 51 , 51 , 1 );
	transition:all ease .5s;
}
#contact main section.contact_thanks div.contact_btn a:hover {
	font-weight: bold;
	background-color: #fff;
	color:rgba( 51 , 51 , 51 , 1 );
}
#contact main section.contact_thanks .thanks_cont {
	padding-top: 14px;
	padding-bottom: 14px;
	line-height: 2rem;
}
#contact main section.contact_thanks .thanks_cont .mail-info {
	margin-top: 17px;
	font-size: 16.5px;
	letter-spacing: 0px;
}
#contact main section.contact_thanks .thanks_cont .mail-info a {
	color:rgba( 51 , 51 , 51 , 1 );
	position: relative;
}
#contact main section.contact_thanks .thanks_cont .mail-info a:before {
	position: absolute;
	width: 100%;
	content:"";
	border-bottom:1px dotted #ccc;
	bottom:-6px;
}
#recruit header{
	width: 100%;
	height: 565px;
	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: 55.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: 61px;
	color: rgba( 255 , 255 , 255 , 1 );
}

#recruit header h2 span{
	display: block;
	font-size: 16.9px;
	letter-spacing: 2px;
	font-weight: normal;
	margin-top: -6px;
}

#recruitt main section.page_menu{
	position: relative;
	background: rgba( 51 , 51 , 51 , .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( 51 , 51 , 51 , 1 );
}

#recruit main section.recruit_list{
}

#recruit main section.recruit_list p{
	margin: 76px 0 15px;
}

#recruit main section.recruit_list dl{
	display: flex;
	padding: 20px 0;
}

#recruit main section.recruit_list dl dt{
	width: 200px;
}

#recruit main section.recruit_list dl dd{
	width: 820px;
}

#recruit main section.recruit_list dl dd input[type="text"]{
	width: 640px;
}

#recruit main section.recruit_list dl dd textarea{
	width: 640px;
	height: 155px;
}

#recruit main section.recruit_list div.recruit_btn{
	margin-top: 35px;
	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: 200;
	letter-spacing: 1.6px;
	width: 290px;
	height: 60px;
	line-height: 55px;
	margin:0 auto;
	background-color: rgba( 51 , 51 , 51 , 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( 51 , 51 , 51 , 1 );
}

#recruit main section.recruit_list div.recruit_btn input:hover{
	background-color: #fff;
	border: 1px solid rgba( 51 , 51 , 51 , 1 );
	color: rgba( 51 , 51 , 51 , 1 );
	font-weight: 600;
}
.recruitt-error .recruit_list li:first-child {
	padding-top: 22px;
}
.recruit-error .recruitt_list li:last-child {
	padding-bottom: 17px;
}
.recruit-error .recruit_list li {
	margin-bottom: 19px;
	font-size: 15px;
}


#recruit main section.recruit_thanks p:first-child{
	font-size: 24px;
	font-weight: bold;
	margin: 110px 0 16px;
	letter-spacing: 0px;
}

#recruit main section.recruit_thanks p:last-child{
	line-height: 2.5rem;
}

#recruit main section.recruit_thanks div.recruit_btn{
	margin-top: 75px;
	padding-bottom: 19px;
}

#recruit main section.recruit_thanks div.recruit_btn a{
	display: block;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
	width: 290px;
	height: 60px;
	line-height: 60px;
	margin:0 auto;
	background: rgba( 51 , 51 , 51 , 1 );
	color: rgba( 255 , 255 , 255 , 1 );
	border: 1px solid rgba( 51 , 51 , 51 , 1 );
	transition:all ease .5s;
}
#recruit main section.recruit_thanks div.recruit_btn a:hover {
	font-weight: bold;
	background-color: #fff;
	color:rgba( 51 , 51 , 51 , 1 );
}
#recruit main section.recruit_thanks .thanks_cont {
	padding-top: 14px;
	padding-bottom: 14px;
	line-height: 2rem;
}
#recruit main section.recruit_thanks .thanks_cont .mail-info {
	margin-top: 17px;
	font-size: 16.5px;
	letter-spacing: 0px;
}
#recruit main section.recruit_thanks .thanks_cont .mail-info a {
	color:rgba( 51 , 51 , 51 , 1 );
	position: relative;
}
#recruit main section.recruit_thanks .thanks_cont .mail-info a:before {
	position: absolute;
	width: 100%;
	content:"";
	border-bottom:1px dotted #ccc;
	bottom:-6px;
}

