@charset "utf-8";
/* css document */



/*--------------------------------------------
base common
---------------------------------------------*/
body{display: none;}



body{overflow-x: hidden;position: relative;background: #d3d3d4;
}

header,footer,nav,section{display: block;}

html {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 13px;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */
}

li{list-style: none;}

section{padding: 10px 0;border-top: solid 1px #222;border-bottom: solid 1px #000;}

.clearfix {display: inline-block;}
/* Dreamweaverバグ用 */
.clearfix {overflow: hidden;}
/* MacIE用 */
*+html .clearfix {height: 1%; }
* html .clearfix {height: 1%; }
.clearfix {display: block; }


.main_container{
	height: 100%;
	margin: 0 auto;
	max-width: 640px;
	width: 100%;
	background-image: url(../img/all_bg_c.png?=);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 0px;
	background-attachment: fixed;
}

.container {
	margin-top: 100px;
	position: relative;
	padding-bottom: 30px;
}
.main_area {
	padding-top: 1px;
}

#loader {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(20px);
	animation: fadeInLoad 10.0s ease-in-out;
	background-color: rgba(255,255,255,1);
background-image: url(../img/manu_bg_c.png?=4);
  background-size: contain;
  background-repeat: no-repeat;
  background-position:
center 0px;
  background-attachment: fixed;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 999999999999999999;
	width: 100%;
	height: 100%;
}

@keyframes fadeInLoad {
	0% {
	background-color: rgba(255, 255, 255, 1);
	}
	30% {
	background-color: rgba(255, 255, 255, 0.3);
	}
	100% {
	background-color: rgba(255, 255, 255, 0.0);
	}
}

.spinner {
	width: 40px;
	height: 40px;
	position: absolute;
	margin: auto;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.double-bounce1,
.double-bounce2 {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #666;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-animation: sk-bounce 1.5s infinite ease-in-out;
	animation: sk-bounce 1.5s infinite ease-in-out;
}

.double-bounce2 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
	0%,
	100% {
	-webkit-transform: scale(0);
	transform: scale(0);
	}
	50% {
	-webkit-transform: scale(1);
	transform: scale(1);
	}
}

@keyframes sk-bounce {
	0%,
	100% {
	-webkit-transform: scale(0);
	transform: scale(0);
	}
	50% {
	-webkit-transform: scale(1);
	transform: scale(1);
	}
}

/*--------------------------------------------------------------
common
--------------------------------------------------------------*/
a{
	color: #fff;
	text-decoration: none;
}
.underline{
	border-bottom: 1px dotted #999;
}


.common_box {
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 10px auto 15px auto;
	text-align: center;
	box-sizing: border-box;
}

.common_box img{
	width: 100%;
	margin-bottom: 15px;
}

.contents_main_textbox h2 {
	font-size: 525%;
	line-height: 25px;
	color: #fff;
	font-weight: bold;
	text-align: left;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */
	width: 100%;
	margin-bottom: 20px;
	padding-top: 25px;
}


.contents_top_image {
	width: 100%;
	max-width: 640px;
	height: 200px;
	margin: 10px auto 0 auto;
	text-align: center;
	box-sizing: border-box;
	z-index: -5;
	position: relative;
}

.contents_top_image img{
	width: 100%;
	object-fit: cover;
	height: 215px;
}
/*--------------------------------------------------------------
header
--------------------------------------------------------------*/
header{	
	width: 100%;
	height: auto;
	top: 0;
	padding: 0;
}

.header_sp{	
	width: 100%;
	max-height: 100px;
	height: auto;
	position: fixed;
	top: 0;
	z-index: 10;
	padding: 0;
	left: 0;
	box-sizing: border-box;
}

.header_sp h1{
	width: 100%;
	font-size: 7pt;
	font-weight: 400;
	text-align: center;
	margin: 0 auto;
	color: #fff;
	box-sizing: border-box;
	background: #777;
}

.header_sp h1 a{
	color: #fff;
}

.header_sp ul{
	width: 100%;
	max-width: 640px;
	height: 100px;
	text-align: center;
	margin: 0px auto 0px auto;
	box-sizing: border-box;
	padding-left: 0;
}

.header_sp_logo{
	width: 70%;
	text-align: center;
	padding: 5px;
	margin: 0 auto;
	height: 100px;
}

.header_sp_logo img{
	max-width: 30%;
}


/*--------------------------------------------------------------
top_main_image
--------------------------------------------------------------*/
.top_main_image{
	width: 100%;
	height: 425px;
	margin: 30px auto 10px auto;
}

.top_main_image img{
	width: 100%;
	margin: 0 auto 0 auto;
	text-align: center;
}

.top_contents_slider{
	margin: 20px auto 20px auto;
	width: 100%;
	height: auto;
	text-align: center;
	box-sizing: border-box;
}

.img_banner_box {
	width: 100%;
	height: auto;
	margin: 5px auto;
	text-align: center
}

.img_banner_box img {
	max-width: 95%;
	text-align: center
}





.top_main_textbox h2 {
	font-size: 115%;
	line-height: 25px;
	color: #fff;
	font-weight: bold;
	text-align: center;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */	width: 100%;
	margin-bottom: 4px;
}


.bg_be_span {
	color: #555;
	font-size: 40%;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */	letter-spacing: 3px;
	text-align: center;
	margin: 0 auto;
	width: 100%;
	display: inherit;
}



.top_title_image_sp{
	width: 100%;
	height: auto;
	margin: 0 auto 0 auto;
	top: 10%;
	position: relative;
}

.top_main_image p{
	font-size: 13px;
	line-height: 22px;
	color: #fff;
	padding: 10px;
	text-align: left;
	font-weight: bold;
	top: 45%;
	position: relative;
}

.top_title_image_sp span{
	font-weight: 1000;
	font-style: normal;
	font-size: 40px;
	line-height: 5px;
	color: #fff;
}

.top_title_image_fade_sp{
	animation-name: fadein;
	animation-duration: 9s;
	animation-delay: 2;
}

@keyframes fadein {
from {
	opacity: 0;
	transform: translateY(150px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}

.top_news_body {
	width: 95%;
	height: 109px;
	overflow-x: hidden;
	margin: 1px auto 40px;
	border: solid 1px #999;
	background: #fff;
	padding: 5px;
	text-align: left;
	box-sizing: border-box;
	font-size: 11px;
	color: #000;
}


.top_news_body ul {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 0;
}


.top_news_body ul li {
	width: 100%;
	height: auto;
	margin: 0 auto 5px;
	line-height: 30px;
	border-bottom:dotted 1px #000;
}

.top_producebox_l{
	width: 100%;
	height: auto;
	padding: 10px;
	margin: 30px auto 30px auto;
	text-align: center;
	box-sizing: border-box;
	position: relative;
}


.top_producebox_l span{
	color: #fff;
	font-size: 25px;
	position: absolute;
	top: 35%;
	z-index: 2;
	right: 2%;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: #fff;
	text-decoration-thickness: 3px;
	font-weight: 900;
}

.top_producebox_l p{
	color: #777;
	text-align: right;
	margin-top: -3px;
}

.top_producebox_l_p{
	width: 70%;
	height: auto;
	text-align: left;

}

.top_producebox_l_p img{
	left: 0;
	position: relative;
	width: 121.5%;
}



.top_producebox_r{
	width: 100%;
	height: auto;
	padding: 10px;
	margin: 30px auto 30px auto;
	box-sizing: border-box;
	position: relative;
}


.top_producebox_r span{
	color: #fff;
	font-size: 25px;
	position: absolute;
	top: 35%;
	z-index: 2;
	left: 2%;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: #fff;
	text-decoration-thickness: 3px;
}

.top_producebox_r p{
	color: #777;
	text-align: right;
	margin-top: -3px;
}

.top_producebox_r_p{
	width: 100%;
	height: auto;
	text-align: right;
	position: relative;

}

.top_producebox_r_p img{
	text-align: right;
	position: relative;
	width: 85%;
}

/*--------------------------------------------------------------
nav
--------------------------------------------------------------*/
nav.globalMenuSp {
	position: fixed;
	z-index: 12;
	top: 0;
	left: 0;
	color: #797979;
	transform: translateY(-100%);
	transition: all 0.6s;
	width: 100%;
	height:100%;
}

.nav_bg {
	max-width: 640px;
	background-image: url(../img/manu_bg_c.png?=4);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center 0px;
	background-attachment: fixed;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
nav.globalMenuSp ul {
	margin: 0px auto;
	width: 100%;
	padding-top: 110px;
	padding-left: 0;
}

nav.globalMenuSp ul li {
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	padding-left: 15%;
	opacity: 0;
}

nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

nav.globalMenuSp ul li a {
	display: block;
	font-size: 2rem;
	letter-spacing: -.05em;
	color: #fff;
	white-space: nowrap;
	line-height: 0.5px;
	font-weight: bold;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: #fff;
	text-decoration-thickness: 3px;
}

nav.globalMenuSp ul li a em{
	font-size: 1rem;
	letter-spacing: 0.1em;
	padding-left: 5px;
	font-style: normal;
}

nav.globalMenuSp ul li.active {
	transition: all 1.3s ease;
	flex-direction: column;
	transform: translate(0, -5px);
	display: flex;
	transition: opacity 1.5s ease-out, transform 0.3s ease-out;
	opacity: 1;
}

nav.globalMenuSp ul.active {
	transition: all 1.3s ease;
	flex-direction: column;
	transform: translate(0, -10px);
	display: flex;
}

nav.globalMenuSp.active {
	transform: translateY(0%);
	background: #111;
	z-index: 1000;
}

.navToggle {
	display: block;
	position: fixed;
	top: 20px;
	width: 100%;
	max-width: 640px;
	height: 51px;
	cursor: pointer;
	text-align: center;
	z-index:9999;
	margin: 0 auto 0 auto;
}
 
.navToggle span {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 10px;
	border-radius: 50%;
	height: 10px;
	background: #777;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
 
.navToggle span:nth-child(1) {
	top: 9px;
}
 
.navToggle span:nth-child(2) {
	top: 9px;
	left: 22px;
}
 
.navToggle span:nth-child(3) {
	top: 9px;
	left: 38px;
}
 
.navToggle span:nth-child(4) {
	border: none;
	color: #555;
	font-size: 9px;
	font-weight: bold;
	top: 30px;
	background: none;
	left: 14px;
}

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background: #fff;
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	background: #fff;
}

.navToggle.active span:nth-child(4) {background: none;color:#fff;}

/*--------------------------------------------------------------
top_category
--------------------------------------------------------------*/
.workflow_category{
	background: #fff;
	width: 100%;
	height: auto;
	text-align: center;
	margin: 0 auto 0 auto;
	box-sizing: border-box;
	}

.workflow_category img{
	max-width: 100%;
	display: block;
	}

.accordion1 {
	text-align: center;
	margin: 0 auto 0 auto;
	box-sizing: border-box;
	width: 95%;
	height: auto;
}

.accordion1 img{
	max-width: 100%;
	height: auto;
	text-align: center;
	margin: 0 auto 0 auto;
}

.accordion1 .inner{
	display: none;
	background: #fff;
}

.accordion1 p{
	cursor: pointer;
}

.accordion1 p.ac1{
	text-align: center;
	margin: 0 auto 0 auto;
	width: 95%;
	height: auto;
	box-sizing: border-box;
}

.accordion1 p.ac1 img{
	max-width: 100%;
	height: auto;
}

.img100{
	width: 100%;
	margin: 0 auto 0 auto;
	text-align: center;
	box-sizing: border-box;
}
.img100 img{max-width: 93%;}

.ranking_category{
	width: 100%;
	height: 100%;
	text-align: center;
	margin: 15px auto 15px auto;
	box-sizing: border-box;
	background: url(../img/ranking_top_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 0px;
}

.ranking_category ul{
	width: 100%;
	height: auto;
	text-align: center;
	margin: 0 auto 0 auto;
	padding-top: 135px;
	box-sizing: border-box;
}

.ranking_category ul li{
	display: block;
	height:auto;
	text-align: center;
	margin: 0 auto 10px auto;
}

.ranking_category ul li img{
	width: 100%;
}

.recruit_contents_box{
			width: 100%;
			height: auto;
			text-align: center;
			margin: 15px auto 15px auto;
			box-sizing: border-box;
			}

.recruit_contents_box ul{
			width: 95%;
			height: auto;
			text-align: center;
			margin: 0 auto 0 auto;
			}

.recruit_contents_box ul li{
	width: 50%;
	display: block;
	float: left;
	box-sizing: border-box;
	margin-bottom: 10px;
}

.recruit_contents_box ul li img{
	width: 96%;
	text-align: center;
}

.recruit_image_box{
	width: 95%;
	height: auto;
	text-align: center;
	margin: 10px auto 10px auto;
}

.recruit_image_box img{
	max-width: 100%;
	text-align: center;
}

.top_qualification_box{
	width: 100%;
	height: auto;
	margin: 0 auto -5px auto;
	text-align: center;
}

.top_qualification_box img{max-width: 100%;text-align: center;}



/*--------------------------------------------------------------
footer
--------------------------------------------------------------*/
footer{
	width: 100%;
	height: auto;
	background: rgba(246,246,225,0.6);
	color: #555;
	margin: 0 0 0 0;
}

footer h2{
	width: 100%;
	color: #555;
	font-size: 24px;
	text-align: center;
	padding: 10px;
	margin-bottom: 10px;
}

.footer_imgbox{width: 90%;height: auto;margin: 0 auto 0 auto;padding-top: 5px;text-align: center;}
.footer_imgbox ul{width: 100%;height: auto;margin: 0 auto 0 auto;text-align: center;}
.footer_imgbox ul li{float: left;width: 33.3%;height: auto;margin: 0 auto 0 auto;text-align: center;}
.footer_imgbox ul li img{max-width: 45%;}



.footer_textbox{width: 90%;height: auto;margin: 10px auto 0 auto;padding: 5px;font-size: 12px;line-height: 20px;}



.foot_comment{
	width: 95%;
	box-sizing: border-box;
	text-align: center;
	margin: 5px auto 10px auto;
}

.foot_comment h3{
    color: #555;
    font-size: 18px;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 10px;
}

.foot_comment_text{
	margin: 0 auto 0 auto;
	text-align: center;
	font-size: 15px;
	line-height: 22px;
	padding: 2px;
	width: 95%;
	box-sizing: border-box;
}

.foot_address_text{
	margin: 10px auto 5px auto;
	text-align: center;
	font-size: 10px;
	line-height: 15px;
	padding: 2px;
	width: 95%;
	box-sizing: border-box;
}

.copy {
	width: 100%;
	font-size: 10px;
	color: #555;
	padding-top: 5px;
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
	}

.copy a{color: #555;}



.menu_f{
	display: flex;
	transform: translateX(960%);
	transition: .9s;
}


.active{
	transform: translate(0);
}



.footer_call{
	max-width: 640px;
	height: 60px;
	text-align: center;
	bottom: 26px;
	margin: 0 auto 0 auto;
	position: fixed;
	background: #111;
	box-sizing: border-box;
	width: 315px;
	z-index:999
}

.footer_call ul{
	width: 95%;
	height: 60px;
	margin:	5px auto 5px auto;
	text-align: center;
	box-sizing: border-box;
	padding-left:0;
}

.footer_call ul li{
	float: left;
	width: 24%;
	height: 48px;
	text-align: center;
	margin: 0 0 0 2px;
	line-height: 8px;
	font-size: 11px;
}

li.footer_call a{display: block;}
.footer_call ul li img{width:90%;}




.page-top {
	z-index: 9999;
	height: 20px;
	width: 20px;
	text-align: center;
	position: fixed;
	bottom: 40px;
	right: 5px;
	padding: 10px;
	background: #222;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	font-size: 16px;
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
	color: #fff;
	text-decoration: none;
}

.to_list_title{
	width: 100%;
	height: auto;
	margin: 0 auto -5px auto;
	text-align: center;
}

.to_list_title a{display: block;}

.to_list_title img{width: 100%;}








/*--------------------------------------------------------------
contents用
--------------------------------------------------------------*/
.contents_common_textbox h2 {
	font-size: 560%;
	line-height: 25px;
	color: #000;
	font-weight: bold;
	text-align: center;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */	width: 100%;
	margin-bottom: 30px;
	padding-top: 25px;
}

.contents_common_textbox p{
	font-size: 150%;
	line-height: 25px;
	color: #000;
	text-align: center;
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかに */	width: 100%;
	margin-bottom: 30px;
}

.workflow_common_box{
	width: 100%;
	height: auto;
	margin: 0 auto 66px auto;
	text-align: center;
}

.workflow_box{
	width: 90%;
	height: auto;
	margin: 15px auto 80px auto;
	text-align: center;
}

.workflow_box h3{
	text-align: left;
	font-size: 400%;
	font-weight: bold;
	margin-bottom: -30px;
}

.workflow_box p{
	text-align: left;
	font-weight: bold;
	letter-spacing: 2px;
	font-size: 135%;
}

.workflow_box span{
	text-align: left;
	font-weight: bold;
	width: 100%;
	display: block;
	font-size: 105%;
	line-height: 25px;
}

.workflow_imagebox{
	width: 100%;
	height: 200px;
	margin: -70px auto 0 auto;
	text-align: center;
}

.workflow_imagebox img{
	width: 100%;
	object-fit: cover;
	height: 215px;
}
