@charset "utf-8";
/* CSS Document */
html{
	font-size:3.8vmin;
}
h2.headline{
	font-size:1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	line-height:1.8;
}
h2.headline span{
	font-family: 'Open Sans', sans-serif;
	font-size:4vmin;
	color:#c0c0c0;
	font-weight:normal;
	letter-spacing:5;
	display:block;
}
header{
	display:none;
}

.mv{
	position: relative;
	width: 100%;
	height: 60%;
	overflow:hidden;
	box-sizing:border-box;
	background:#000000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top:50px;
}
.mv h1{
	position: relative;
	z-index: 3;
	text-align:center;
	
}
.mv .mv_box img{
	max-width:600px;
}
.mv .inner{
	position:relative;
	z-index: 3;
	text-align:center;

}
.mv .inner img{
	width:90%;
	margin-bottom:10px;
	
}
.mv video {
	position: absolute;
	margin: 0 auto;
	top: 0;
	left:0;
	height:100%;

	bottom: 0;
	z-index: 1;
}
.mv .movie{
	text-align:center;
}
.mv .pattern {
  width: 100%;
  height: 100%;
  background: url(../images/line.png);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}


/*グローバルナビ*/
#top-head,
.inner {
	width: 100%;
	padding: 0;
}
#top-head {
	top: 0;
	position: fixed;
	margin-top: 0;
}
/* Fixed reset */
#top-head.fixed {
	padding-top: 0;
	background: transparent;
}


#mobile-head {
	background: #ffffff;
	width: 100%;
	height: 50px;
	z-index: 999;
	position: relative;
	border-bottom:1px solid #dedede;
}
#mobile-head h1{
	text-align:left;
	padding-top:6px;
	padding-left:0.5rem;
}
#mobile-head h1 img{
	width:50%;
	max-width:200px;

}
#global-nav {
	position: absolute;
	top: -510px;
	background: rgba(0,0,0,0.9);
	width: 100%;
	text-align: center;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	border-bottom:1px solid #dedede;
}
#global-nav ul {
	list-style: none;
	position: static;
	right: 0;
	bottom: 0;
	font-size: 11px;
}
#global-nav ul li {
	float: none;
	position: static;
	border-bottom:1px dotted #999;
}
#global-nav ul li:after  {
	display: none;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
	width: 100%;
	display: block;
	color: #fff;
	padding: 20px 0;
	font-size:4vmin;
}
	
#global-nav ul li .fa{
	margin-right:4px;

}	
	
#nav-toggle {
	display: block;
}
/* #nav-toggle  */
.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
/* #global-nav 繧ｹ繝ｩ繧､繝峨い繝九Γ繝ｼ繧ｷ繝ｧ繝ｳ */
.open #global-nav {
	/* #global-nav top + #mobile-head height */
	-moz-transform: translateY(556px);
	-webkit-transform: translateY(556px);
	transform: translateY(556px);
}


.sec1{
	padding:50px 5%;
}
.sec1 h2.headline{
	text-align:center;
	margin-bottom:20px;
}

.sec1 p.about_us{
	padding:20px 0;
	font-size:4vmin;
	margin-bottom:20px;
}
.sec1 ul.linup{
	margin-bottom:30px;
}
.sec1 ul.linup li{
	width:90%;
	text-align:center;
	box-shadow: 0px 0px 10px #dddddd;
	margin:20px auto;
	padding:2rem 5%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:4vmin;
}
.sec1 ul.linup li img{
	width:60%;
	margin-bottom:1rem;
}
.sec1 ul.linup li p{
	margin-bottom:1rem;
	font-size:1.5rem;
	color:#f55000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
}

.sec1 ul.linup a{
	display:block;
	background:#ffffff;
	color:#000000;
	padding:10px 0;
	font-size:0.9rem;
	border:1px solid #000000;
	border-radius:30px;
	transition-duration: 0.3s;
}


.sec2{
	width:90%;
	padding:50px 5%;
	background:#f7f4ef;
	overflow:hidden;
}
.sec2 h2.headline{
	text-align:center;
	margin-bottom:30px;
}

.sec2 .mess1{
	text-align:center;
	font-size:4vmin;
	margin-bottom:30px;
	
}

.sec2 .box{
	width:100%;
	box-sizing:border-box;
	padding:20px 0;
	z-index:3;
	
}
.sec2 .box h3{
	text-align:center;
	font-size:5vmin;
	white-space:pre-wrap;
	border-bottom:1px solid #bebebe;
	padding-bottom:20px;
	margin-bottom:20px;
	text-shadow:3px 3px 2px #CCC;

}
.reuse img, .reduce img, .recycle img{
	width:100%;
	margin-bottom:10px;
}
.reuse, .reduce, .recycle{
	background:#ffffff;
	padding:20px 5%;
	width:90%;
	margin-bottom:30px;
	box-shadow: 0px 0px 10px #cccccc;
}
	




.sec2 .box .mess2{
	color:#bebebe;
	line-height:1.6;
	font-size:0.9rem;

}



.sec3{
	background:url(../images/bg2.jpg) no-repeat center;
	background-size:cover;
	padding:80px 0;
	text-align:center;
}
.sec3 h2{
	font-size:6vmin;
	color:#00245b;
	margin-bottom:40px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
}
.sec3 p{
	white-space:pre-wrap;
	font-size:5vmin;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:2;
}



.contact{
	padding:5rem 0;
}


.contact h2.headline{
	text-align:center;
	margin-bottom:30px;
}
.contact h2.headline span{
	display:block;
}




.mailform{
	margin:10px auto;
}

.mailform dt{
	font-size:12px;
	font-weight:bold;
	line-height:1.8;
	padding:0 2%;

}
.mailform dd{
	line-height:1.2;
	margin-bottom:20px;
	font-size:14px;
	padding:0 2%;
	
}

.submit{
	clear:both;
	text-align:center;
}


input:focus {
	border:solid 2px #c2ced2;
	background:#e6fbff
}
textarea:focus {
	border:solid 2px #c2ced2;
	background:#e6fbff
}
input::placeholder {
	color:#c9c9c9;

}


.mailform .must{
	color:#ffffff;
	background:#ff0000;
	font-size:14px;
	font-weight:bold;
	margin-left:5px;
	padding:1px 3px;
	border-radius:3px;
}

.mailform .optional{
	color:#ffffff;
	background:#009;
	font-size:14px;
	font-weight:bold;
	margin-left:5px;
	padding:1px 3px;
	border-radius:3px;
}

.text_s{
	border:0;
	padding:10px;
	font-size:1.1em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	width:98%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin:1%;
}

.text_ss{
	border:0;
	padding:10px;
	font-size:1.1em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	width:98%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin:1%;
}
.textbox{
	border:0;
	padding:10px;
	font-size:1.3em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	margin:0 0 20px;
	width:98%;
	margin:1%;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.text_tel{
	border:0;
	padding:10px;
	font-size:1.1em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	width:98%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin:1%;
}

.text_name{
	border:0;
	padding:10px;
	font-size:1.1em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	width:48%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin:1%;
}

.text_tel{
	border:0;
	padding:10px;
	font-size:1.1em;
	font-family:Arial, sans-serif;
	color:#333;
	border:solid 2px #c2ced2;
	width:31%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	margin:1%;
}


.comp_image{
	background:url(../images/bg3.jpg) no-repeat;
	background-size:cover;
	text-align:center;
	width:100%;
	margin-bottom:30px;
	padding:30px 0;
}
.comp_image img{
	width:50%;
}

.comp_image2{
	background:url(../images/bg5.jpg) no-repeat;
	background-size:cover;
	text-align:center;
	width:100%;
	margin-bottom:30px;
	padding:30px 0;
}
.comp_image2 img{
	width:60%;
}

.company{
	padding:50px 2%;
	background:url(../images/sec3_bg.png);
}
.company h2{
	text-align:center;
	margin-bottom:30px;
}
.company table{
	width:94%;
	border-collapse:collapse;
	font-size:3.8vmin;
	margin:0 3% 50px;
}
.company table tr{
	border-bottom:1px solid #dedede;
}
	
.company th{
	padding:1.5rem 0 1.5rem 0;
	width:30%;
	line-height:1.5;
	text-align:left;
	font-weight:normal;
}
.company td{
	width:70%;
	padding:1.5rem 0 1.5rem 0;
	text-align:right;
	line-height:1.8;
	text-align:right;
}

.company .recruit{
	clear:both;
	text-align:center;
	background:url(../images/bg4.jpg) no-repeat center;
	background-size:cover;
	box-sizing:border-box;
	padding:30px 0;
}
.company .recruit h3{
	font-size:6vmin;
	color:#00327d;
	margin-bottom:30px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
}
.company .recruit p{
	white-space:pre-wrap;
	font-size:4vmin;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:2;
	margin-bottom:30px;
}
.company .recruit img{
	width:90%;
}




.business_lineups h2.headline{
	margin-bottom:3rem;
	
}

.business_lineups h3{
	font-size:1.5rem;
	font-weight:500;
	margin-bottom:1rem;
	border-bottom:1px solid #dedede;
}	

.business_lineup{
	padding:0 2%;
	margin-bottom:5rem;
}
.business_lineup figure{
	margin-bottom:2rem;
}
.business_lineup img{
	aspect-ratio: 16 / 6;
	width:100%;
	object-fit:cover;
		
}

	
.mb3{
	margin-bottom:1rem;
	
}

.business_lineups .business_catch{
	font-size:1.1rem;
	margin-bottom:1.5rem;
	white-space:pre-wrap;
}

.business_lineups .business_paragraph{
	line-height:2;
	font-size:0.9rem;
	color:#999;
}


.recruit_page{
	padding:5rem 2% 3rem;
	background:url(../images/sec3_bg.png);
}
.recruit_page h2{
	text-align:center;
	margin-bottom:30px;
}
.recruit_page p{
	font-size:0.9rem;
	margin-bottom:0.5rem;
	padding:0 3%;
	color:#666;
}
.recruit_page p.mb3{
	margin-bottom:3rem;
}
.recruit_page table{
	width:96%;
	border-collapse:collapse;
	font-size:0.9rem;
	margin:0 2% 50px;
	border:1px solid #dedede;
}
.recruit_page table tr{
}
.recruit_page table caption{
	color:#004892;
	font-size:1.2rem;
	padding:0.2rem 0;
	font-weight:700;
	
}
.recruit_page th{
	padding:0.5rem 0 0.5rem 0;
	display:block;
	width:100%;
	line-height:1.5;
	text-align:center;
	font-weight:normal;
	background:#dedede;
}
.recruit_page td{
	display:block;
	padding:1.5rem 1rem 1.5rem 1rem;
	text-align:right;
	line-height:1.8;
	text-align:left;
}


.cams{
	border:4px solid #f7f4ef;
	padding:20px 3%;
	margin-bottom:2rem;
	
}
.campaign_box{
	padding:50px 2%;
}

.campaign_box h2.headline{
	text-align:center;
	margin-bottom:2rem;
}
.campaign_box h2.headline span{
	display:block;
}
.cams img{
	width:100%;
	margin-bottom:10px;
}
.cams h4{
	font-size:1.1rem;
	font-weight:500;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:10px;
	margin-bottom:10px;
	text-align:left;
}
.cams .cam_comp{
	white-space:pre-wrap;
	font-size:0.9rem;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:20px;
	color:#999;
}
.cams .cam_comp span{
	display:block;
	margin-top:10px;
	font-size:1.1rem;
	font-weight:400;
	color:#000;
}
.cams .cam_caus{
	color:#999;
	margin-bottom:10px;
	padding-left:10px;
}
.cams .cam_caus li{

	font-size:3.5vmin;
}
.cams .cam_caus{
	margin-bottom:1rem;
}
.cams .cam_btn{
	background:#f55000;
	text-align:center;
	width:100%;
	padding:0.5rem 0;
	border-radius:10px;
}
.cams a{
	color:#ffffff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1rem;
}

footer{
	background:#f7f4ef;
	text-align:center;
	padding:2rem 3%;
}
footer .inner{
	display:flex;
	flex-direction:row-reverse;
	jusitify-content:space-betweenl;
}
footer .footer_box{
	width:50%;
	text-align:left;
	padding-top:0.5rem;
	
}
footer .tel a{
	color:#525252;
}

footer h1{
	margin-bottom:5px;
}
footer h1 img{
	width:100%;
}
footer .tel{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.5rem;
	color:#525252;
	padding-left:0.2rem;
}


footer .f_navi{
	width:60%;
}
footer .f_navi a{
	color:#000000;
}


footer .f_navi li{
	padding:0.5rem 10 0.5rem 1.5rem;
	text-align:right;

}


.copy{
	background:#f55000;
	color:#ffffff;
	padding:10px 0;
	font-size:3.5vmin;
	text-align:center;
}

.footer_cam{
	box-sizing:border-box;
	text-align:left;
	padding:4%;
	background:#ffffff;
	border:5px solid #ebebeb;
	margin-bottom:30px;
	margin:0 2%;
	margin-bottom:30px;
}
.footer_cam img{
	width:100%;
	margin-bottom:10px;
}
.footer_cam h3{
	font-size:4.5vmin;
}
.footer_cam h4{
	font-size:6vmin;
	margin-bottom:5px;
}
.footer_cam p{
	color:#8d8d8d;
	font-size:4.5vmin;
	margin-bottom:10px;
}


.footer_cam .cam_btn{
	background:#f55000;
	text-align:center;
	width:100%;
	padding:15px 0;
	color:#ffffff;
}