@charset "UTF-8";

.SP {
    display: none;
}

@media screen and (max-width: 1024px){
	section.service .service_detail ul li h3 {
        font-size: 120%;
    }
    section.service .service_detail ul li h3 span {
	    transform: translateY(12px);
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 span {
    	font-size: 90%;
	    transform: translateY(16px);
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 span {
	    font-size: 90%;
    	transform: translateY(16px);
	}
}

@media screen and (max-width: 800px){

    .PC {
        display: none;
    }
    .SP {
        display: block;
    }
	.pc_only{
    	display: none !important;
	}
	.sp_only{
		display: block !important;
	}
	.mobile_only{
    	display: none !important;
	}
	.team_icon01 {
    	display: none;
	}
	article.w900_sp100{
	    width:100%;
	}
	header nav#menu_sp p{
		height:60px;
		width:100%;
		position: relative;
		margin:0;
		z-index: 100;
	}
	header nav#menu_sp p .link_top{
		position: absolute;
		top:0;
		left:10px;
	}
	header nav#menu_sp p .link_top a{
		display: table;
		width:90px;
		height:60px;
	}
	header nav#menu_sp p .link_top a span{
		display: table-cell;
		vertical-align: middle;
		margin:auto;
	}
	header nav#menu_sp p .sp_menu_btn{
		position: absolute;
		top:0;
		right:0;
	}
	header nav#menu_sp p .sp_menu_btn .closebtn{
		display: none;
	}
	header nav#menu_sp p .sp_menu_btn.open .closebtn{
		display: block;
	}
	header nav#menu_sp p .sp_menu_btn.open .openbtn{
		display: none;
	}
	header nav#menu_sp ul{
		width:100%;
		height:100vh;
		padding: 80px 20px 40px;
		background:#EBEAE7;
		display: none;
		position: absolute;
		top:0;
		z-index: 98;
	}
	header nav#menu_sp ul li{
		text-align: left;
		padding-left: 16px;
		margin-bottom: 12px;
		display: table;
		min-height: 40px;
		font-size: 110%;
	}
	header nav#menu_sp ul li.menu_contact a{
		padding:4px 24px;
		background:#ffffff;
		border-radius:24px;
		color:#000000;
		display: inline-block;
		font-size: 90%;
	}
	header nav#menu_sp ul li .submenu {
        border-left: 1px solid #666666;
        padding: 0px 0 0px 8px;
        margin: 12px;
    }	
	header nav#menu_sp ul li .submenu a{
		padding-left: 20px;
		line-height:180%;
		font-size: 80%;
		padding:6px 4px;
	}	
	header nav#menu_sp ul li a{
		color:#000000;
		display: table-cell;
		vertical-align: middle;
		display:block;
	}
	header nav#menu_sp ul li.company_sp{
		margin-top:40px;

	}
	header nav#menu_sp ul li.company_sp i{
		display: block;
		font-size:110%;
		margin-bottom:8px;
		font-weight:bold;
	}
	header nav#menu_sp ul li.company_sp span{
		display: block;
		font-size:70%;
		line-height:180%;
	}

	/* title */

	section.top_title {
    	min-height: 600px;
    	overflow: hidden;
	}
	section.top_title ul li img{
		width:100%;
		height:auto;
	}
	section.top_title .title_bg {
    	width: 120%;
    	margin-left: -10%;
	}
	section.top_title .contents {
	    max-width: none;
    	min-width: auto;
	}
	section.top_title .contents .title span {
	    font-size: 120%;
    	letter-spacing: 0px;
    	margin-bottom:0;
	}
	section.top_title .contents .title h1 {
        margin-bottom: 0;
        font-size: 150%;
        width: 100%;
        position: absolute;
        text-align: center;
        bottom: 160px;
        left: 10px;
    }
	.slick-dots li button:before{
    	font-size:10px!important;
    	color:#ffffff;
    	opacity:0.7;
	}
	.slick-dots li.slick-active button:before{
    	font-size:10px!important;
    	color:#6e6e6e;
    	opacity:1;
	}

	/* title end */

	/* introduction */

	section.introduction article.section_contents .intro_img{
    	display: block;
    	width: 100%;
    	padding: 0 10% 30px;
	}
	section.introduction article.section_contents .intro_img img{
    	width:100%;
    	height:auto;
	}
	section.introduction article.section_contents .intro_txt {
    	display: block;
	}
	section.introduction article.section_contents .intro_txt .name {
	    margin-top: 25px;
	}

	/* introduction end */

	/* about */

	section.about {
    	background: linear-gradient(100deg, #EBEAE7 50%, #E3DECF 0%);
    	padding: 45px 0 5px;
	}
	.about_img_wide img{
		width:100%;
		height:auto;
	}
	section.about .about_left {
    	display: block;
    	vertical-align: top;
    	width: 100%;
    	margin-right: 0%;
    	line-height: 180%;
	}
	section.about .about_left p{
    	margin-bottom: 0;
	}
	section.about .about_right {
    	display: block;
    	vertical-align: top;
    	text-align: right;
    	width: 100%;
    	transform: translateY(-0px);
	}
	section.about .about_txt {
    	display: table;
	}
	section.about .about_txt.sp90{
	    width:90%;
	    margin:30px auto 0;
	}

	section.about .section_title h1 span {
    	font-size: 100%;
	}
	section.about .section_title h1 span:after {
	    width: calc(90% - 270px);
	    bottom: 18px;
	}
	section.about .section_title .title_jp {
	    margin: 0px 0 0 0;
    	font-size: 110%;
	}

	/* about end */

	/* service */

	section.service .section_title h1 span {
	    font-size: 100%;
	}
	section.service .section_title h1 span:after {
    	width: calc(90% - 90px);
    	bottom: 18px;
	}
	section.service .section_title .title_jp{
    	margin:0 0 0 0;
    	font-size: 110%;
	}

	section.service .service_detail ul li {
    	display: block;
    	width: 100%;
    	vertical-align: top;
    	margin: auto;
	}
	section.service .service_detail ul li:nth-child(2) {
    	display: block;
    	width: 100%;
    	vertical-align: top;
	    padding: 60px 0 0;
    	margin: auto;
	}
	section.service .service_detail ul li:nth-child(3) {
    	display: block;
    	width: 100%;
	    padding-top: 60px;
    	margin: auto;
	}
	section.service .service_detail ul li h3 {
	    font-size: 180%;
	    line-height:150%;
	}
	section.service .service_detail ul li h3 {
	    margin: 8px 0 32px 0;
	}
	section.service .service_detail ul li h3 span {
	    transform: translateY(22px);
	}

	/* service end */

	/* recruit */

	section.recruit {
        background: linear-gradient(100deg, #4B4B4B 50%, #434343 0%);
	    padding: 45px 0;
    }
	section.recruit .section_title h1 span {
	    font-size: 100%;
	}
	section.recruit .section_title .title_jp {
	    margin: 0 0 0 0;
    	font-size: 110%;
	}
	section.recruit .section_title h1 span:after {
	    width: calc(90% - 90px);
    	bottom: 18px;
	}

	section.recruit {
	    margin: 0;
	}

	section.recruit .recruit_wrap .recruit_img {
	    display: block;
	    text-align: center;
	}
	section.recruit .recruit_wrap .recruit_txt {
        display: block;
        padding-left: 0;
        margin-top: 24px;
        color: #ffffff;
    }
	.recruit_txt_sp {
        text-align: center;
        color: #ffffff;
        margin-bottom: 40px;
        line-height: 150%;
    }

	section.recruit .recruit_icon ul li {
	    display: table-cell;
    	width: 35%;
    	padding-right: 5%;
	}
	section.recruit .recruit_icon ul li:last-child {
    	padding-right: 0;
	}
	section.recruit .recruit_icon ul li img{
		width:100%;
		max-width: 129px;
		height:auto;
	}
	section.recruit .recruit_icon {
	    display: block;
    	margin: 20px 0 0 0;
	}
	section.recruit .recruit_icon ul {
	    margin: auto;
	}
	section.recruit div.recruit_link_sp {
	    text-align: center;
	    margin: 36px auto 20px;
	}
	section.recruit div.recruit_link_sp a {
        background: #D0C9B5;
        border-radius: 24px;
        color: #434343;
        display: inline-block;
        padding: 12px 80px 12px 60px;
        position: relative;
        font-size: 120%;
    }
	section.recruit div.recruit_link_sp a:after {
        content: "";
        position: absolute;
        right: 30px;
        bottom: 9px;
        width: 36px;
        height: 36px;
        background: url(../img/common/link_arrow_brown.png) right center no-repeat;
        background-size: contain;
    }
    section.recruit .recruit_wrap .recruit_img img {
	    width: 100%;
    	max-width: 450px;
    	height: auto;
	}

	/* recruit end */

	/* single title */

	.img_sp div img{
		width:100%;
		height:auto;
	}

	/* single title end */

	/* facility introduction */

	section.facility_introduction article.section_contents {
	    padding: 40px 0 0;
	}
	section.facility_introduction article.section_contents .intro_txt {
	    display: block;
	}
	section.facility_introduction article.section_contents .intro_txt h1{
		margin-bottom: 24px;
		font-weight:bold;
	}
	section.facility_introduction article.section_contents .intro_img {
	    display: block;
	    width: 100%;
	    text-align: right;
	}
	section.facility_introduction article.section_contents .intro_img img{
	    width: 50%;
	    height:auto;
	}

	/* facility introduction end */

	/* facility detail01 */

	section.facility_detail01 article.section_contents {
    	padding: 60px 0 50px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text {
	    display: block;
    	vertical-align: middle;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text.pc_only {
	    display: none;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_image {
    	display: block;
    	vertical-align: middle;
    	padding-left: 0;
    	text-align: center;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_image img {
    	max-width: 450px;
    	height: auto;
    	width: 100%;
	}
	section.facility_detail01 article.section_contents h1 {
	    line-height: 150%;
	   	margin-bottom: 40px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 {
	    margin-bottom: 32px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 span {
	    transform: translateY(16px);
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text p {
	    margin-bottom: 30px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text h2 {
    	border-bottom: 1px solid #ffffff;
	    margin-bottom: 32px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text h2 span {
    	font-size: 100%;
	    transform: translateY(16px);
    	background: #434343;
    	display: inline-block;
    	padding: 0 16px 0 0;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text p {
    	line-height:180%;
	}
	section.facility_detail01 article.section_contents .detail01_txt .detail01_txt_others {
	    margin: 72px auto -24px;
	}

	.linkbtn_large a {
    	line-height: 64px;
    	text-align: center;
    	display: block;
    	font-size: 120%;
	}
	.linkbtn_large a i:after {
	    content: "";
    	position: absolute;
    	right: -45px;
    	bottom: -19px;
    	width: 40px;
    	height: 56px;
    	background: url(../img/common/link_arrow_black.png) right center no-repeat;
    	background-size: contain;
	}

	/* facility detail01 end */

	/* facility detail02 */

	section.facility_detail02 article.section_contents {
    	padding: 60px 0 30px;
	}
	section.facility_detail02 article.section_contents h1 {
	    margin: 30px auto 40px;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li {
	    display: block;
    	width: 100%;
    	padding-right: 0;
    	padding-bottom: 50px;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li:nth-child(even) {
    	padding-right: 0;
    	padding-left: 0;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul {
    	display: table;
    	margin: 0px auto;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li div h2 {
	    font-size: 150%;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li div h2 i img{
		height:55px;
		width:auto;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li div p {
	    margin-top: 6px;
	}
	section.facility_detail02 article.section_contents .detail02_txt ul li div {
    	padding: 16px 5% 8px;
	}
	.facility_detail02_key{
	    min-height:auto;
	}


	/* facility detail02 end */

	/* workflow */

	section.pages_workflow article.section_contents .pages_workflow_txt ul li {
	    border-radius: 80px;
 	}
 	section.pages_workflow article.section_contents .pages_workflow_txt ul li dl dt {
	    display: none;
	}
	section.pages_workflow article.section_contents .pages_workflow_txt ul li dl dd h2 {
    	font-size: 150%;
    	text-align: center;
    	margin-bottom: 20px;
	}
	section.pages_workflow article.section_contents .pages_workflow_txt ul li dl dd h2 i{
		display: inline-block !important;
		color:#ffffff;
		vertical-align: bottom;
		font-size: 180%;
		padding-right:12px;
	}
	section.pages_workflow article.section_contents .pages_workflow_txt ul li dl dd h2 span{
		display: inline-block;
		vertical-align: bottom;
		padding-bottom:4px;
	}
	section.pages_workflow article.section_contents .pages_workflow_txt ul li {
	    padding: 36px 5% 48px;
	}

	/* workflow end */

	/* traffic introduction */

	section.traffic_introduction article.section_contents {
	    padding: 40px 0 0;
	}
	section.traffic_introduction article.section_contents .intro_txt {
	    display: block;
	}
	section.traffic_introduction article.section_contents .intro_txt h1{
		margin-bottom: 24px;
		font-weight:bold;
	}
	section.traffic_introduction article.section_contents .intro_img {
	    display: block;
	    width: 100%;
	    text-align: right;
	}
	section.traffic_introduction article.section_contents .intro_img img{
	    width: 50%;
	    height:auto;
	}

	/* traffic introduction end */

	/* traffic detail01 */

	section.traffic_detail01 article.section_contents {
    	padding: 60px 0 50px;
	}
	section.traffic_detail01 article.section_contents h1 {
	    line-height: 150%;
	   	margin-bottom: 40px;
	}
	section.facility_detail01 article.section_contents .detail01_txt ul li:nth-child(even) .detail01_txt_image {
    	padding-right: 0px;
    	padding-left: 0px;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text {
	    display: block;
    	vertical-align: middle;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text.pc_only {
	    display: none;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_image {
    	display: block;
    	vertical-align: middle;
    	padding-left: 0;
    	text-align: center;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li:nth-child(even) .detail01_txt_image {
    	padding-right: 0;
    	padding-left: 0px;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_image img {
    	max-width: 450px;
    	height: auto;
    	width: 100%;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 {
	    margin-bottom: 32px;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text h2 span {
	    transform: translateY(16px);
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_txt_text p {
	    margin-bottom: 30px;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text h2 {
    	border-bottom: 1px solid #000000;
    	margin-bottom: 32px;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text h2 span {
    	font-size: 100%;
    	transform: translateY(16px);
    	background: #EBEAE7;
    	display: inline-block;
    	padding: 0 16px 0 0;
	}
	section.traffic_detail01 article.section_contents .detail01_txt ul li .detail01_sp_text p {
    	line-height:180%;
	}
	section.traffic_detail01 article.section_contents .detail01_txt .detail01_txt_others {
	    margin: 72px auto -24px;
	}

	.linkbtn_large a {
    	line-height: 54px;
    	text-align: center;
    	display: block;
    	font-size: 120%;
	}
	.linkbtn_large a i:after {
	    content: "";
    	position: absolute;
    	right: -38px;
    	bottom: -15px;
    	width: 30px;
    	height: 56px;
    	background: url(../img/common/link_arrow_black.png) right center no-repeat;
    	background-size: contain;
	}
	.linkbtn_large {
	    margin: 80px auto -80px;
	    width:100%;
	}

	/* traffic detail01 end */

	/* workflow */

	section.pages_workflow article.section_contents {
    	padding: 60px 0 30px;
	}

	section.pages_workflow article.section_contents h1 {
	    margin: 0px auto 60px;
	}
	section.pages_workflow.traffic_workflow {
	    padding-top: 30px;
	}

	/* workflow end */

	/* contact */

	section.contact .section_contents .contact_link_large a {
    	line-height: 64px;
    	text-align: center;
    	display: block;
    	font-size: 120%;
	}
	section.contact .section_contents .contact_link_large a i:after {
	    content: "";
    	position: absolute;
    	right: -64px;
    	bottom: -14px;
    	width: 40px;
    	height: 56px;
	}
	section.contact .section_contents p {
	    margin: 48px auto;
    	line-height: 180%;
    	font-size: 120%;
	}

	/* contact end */

	/* information */

	section.infomation {
	    background: #ffffff;
	}
	section.infomation .section_title h1 span {
	    width: 100%;
	}
	section.infomation .section_title h1 span:after {
	    bottom: 18px;
	}
	section.infomation .infomation_wrap {
	    display: table;
    	margin: 60px auto 60px 16px;
	}
	section.infomation .infomation_wrap .info_left {
	    display: block;
    	width: 100%;
	    padding-right: 0px;
	}
	section.infomation .infomation_wrap .info_left h2{
        font-size: 160%;
        margin: 0 0 16px 0;
        font-weight: bold;
    }
	section.infomation .infomation_wrap .info_right {
	    display: block;
    	vertical-align: top;
    	width: 100%;
    	padding-left: 0;
	}
	section.infomation .infomation_wrap .info_right dl dt{
    	font-weight:normal;
    	margin:36px 0 6px 0;
	}
	section.infomation .infomation_wrap .info_right dl dd{
		margin:0 0 3px 0;
    }
    section.infomation {
	    padding: 45px 0 5px;
	}
	section.infomation .section_title h1 span {
	    font-size: 100%;
	}
	section.infomation .section_title h1 span:after {
	    width: calc(90% - 150px);
    	bottom: 18px;
	}
	section.infomation .section_title .title_jp {
	    margin: 0px 0 0 0;
	    font-size: 110%;
	}

	/* information end */


	/* footer */

	footer {
	    padding: 30px 0 2px;
	}
	footer .footer_wrap {
	    width: 84%;
	}
	footer .footer_wrap .footer_left {
    	display: none;
	}
	footer .footer_wrap .footer_right {
	    display: block;
	}
	footer .footer_wrap .footer_right .footer_menu {
	    width: 100%;
	    padding-bottom: 20px;
	}
	footer .footer_wrap .footer_right .footer_menu li{
	    display: block;
	    padding: 4px 0;
	}
	footer .footer_wrap .footer_right li.footer_contact_link a {
	    display: inline-block;
	    margin: 6px 0;
	    padding: 2px 20px;
	}
	footer .footer_wrap .footer_right .footer_menu_sub {
	    width: 100%;
	    padding-top: 20px;
	}
	footer .footer_wrap .footer_right .footer_menu_sub li{
		padding:4px 0;
	    display: block;
	}
	.company_sp {
        text-align: right;
        margin: 36px 0px 24px 0;
        font-size: 80%;
    }
	footer .footer_wrap .footer_right .footer_menu {
        width: 100%;
        padding-bottom: 20px;
        font-size: 110%;
    }

	/* footer end */

}

@media screen and (max-width: 480px){

	section.top_title .title_carousel img.sp_only{
    	display: none !important;
	}
	.mobile_only{
    	display: block !important;
	}
    section.top_title .title_carousel img {
        width: 100%;
        height: auto;
	    min-width:auto;
    	min-height:auto;
	}
	.slick-dots {
	    position: absolute;
    	bottom: 60px;
	}
	section.top_title .contents .title h1 {
        bottom: 130px;
    }
	section.about .section_title h1 span:after {
	    width: calc(90% - 250px);
	}
	section.introduction {
	    margin-top: -70px;
	}
    .linkbtn_large {
        margin: 60px auto -74px;
    }
    .linkbtn_large a {
        font-size: 105%;
    }
    .recruit_txt_sp {
        font-size: 130%;
    }
    section.contact .section_contents p {
        font-size: 105%;
    }
    section.contact .section_contents .contact_link_large {
	    width: 100%;
	}
	section.contact .section_contents .contact_link_large a i:after {
        content: "";
        right: -44px;
        width: 32px;
    }
    .img_sp div img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 360px){

}