@charset "utf-8";

*{
 	transition: 0.2s linear;
	scroll-behavior: smooth;
}

/*ヘッダー
-----------------------------------------------------------------------------------*/
header h1{
	width:350px;
	padding:20px 0 20px 50px;
}

.sec_ttl{
	position:relative;
	height:22vw;
	background:#D24A39;
	display:flex;
	align-items: center;
}

.sec_ttl h2{
	position:relative;
	padding:0 50px;
	font-size:4.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#000;
	display:inline;
	z-index:1;
}

.sec_ttl h2:after{
	position: absolute;
	right: -3vw;
	top: 50%;
	height: 2px;
	width: 6vw;
	background: #000;
	content: "";
	display: block;
}

.ttl_news{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_news.jpg) center / cover no-repeat;
}

.ttl_about{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_about.jpg) center / cover no-repeat;
}

.ttl_products{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_products.jpg) center / cover no-repeat;
}

.ttl_recruit{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_recruit.jpg) center / cover no-repeat;
}

.ttl_contact{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_contact.jpg) center / cover no-repeat;
}

.ttl_etc{
	position:absolute;
	top:50px;
	right:0;
	width:60%;
	height:22vw;
	background:url(../img/ph_ttl_etc.jpg) center / cover no-repeat;
}


/*ナビ
-----------------------------------------------------------------------------------*/
.box_navi{
	position:fixed;
	top:0;
	right:0;
	width:505px;
	height:50px;
	background:rgba(255,255,255,0.9);
    z-index: 999;
}

.box_navi a{
	color:#000;
	/*color:#FFF;*/
}

.box_navi .form{
	float:left;
	width:200px;
	height:50px;
	margin-right:1px;
	padding:13px 10px 10px 10px;
	letter-spacing:0.1em;
	background:#D24A39;
	text-align:center;
	font-size:18px;
	line-height:1.0;
}

.box_navi .form a{
	color:#FFF;
}

.box_navi .mail{
	float:left;
	width:50px;
	height:50px;
	padding:13px 5px 10px 15px;
}

#g-nav{
    position:fixed;
    z-index: 999;
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;
	/*background:#D24A39;*/
	background:rgba(255,255,255,0.95);
	transition: all 0.6s;
}

#g-nav.panelactive{
    right: 0;
}

#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
}

/*nav ul li{
	width:350px;
	border-bottom:1px solid #FFF;
}

nav ul li a{
	padding:20px;
	background:url(../img/common/icon_link.png) right 20px center / 0.5vw no-repeat;
	display:block;
}*/

nav p{
	width:300px;
	margin:30px auto 60px auto;
}

nav ul{
	float:left;
	width:25%;
	padding:0 1.5% 40px 1.5%;
}

nav ul li ul{
	float:none;
	width:100%;
}

nav ul li span{
	margin:0 0 20px 0;
	padding:0 0 0 15px;
	border-left:4px solid #D24A39;
	/*color:#FFF;*/
	display:block;
}

nav ul li a{
	padding:10px;
	border-bottom:1px solid #E49288;
	background:url(../img/common/icon_link.png) right center / 0.5vw no-repeat;
	display:block;
}

nav ul li a:hover{
	text-decoration:underline;
}

nav ul li a.link_pdf span{
	margin:0 0 0 0.5em;
	padding:0 8px;
	background:#D24A39;
	border:0;
	font-size:12px;
	color:#FFF;
	line-height:1.4;
	display:inline-block;
}


/*ボタン
-----------------------------------------------*/
.openbtn1{
	position:fixed;
	top:0;
	right: 0;
	width: 50px;
	height:50px;
	cursor: pointer;
	z-index: 9999;
}

.openbtn1 em{
	position:absolute;
	top:27px;
	width:100%;
	font-style:normal;
	font-size:0.8vw;
	text-align:center;
	color:#D24A39;
	display:block;
}
 
.openbtn1 span{
	position: absolute;
	left: 11px;
	width: 55%;
	height: 2px;
	border-radius: 2px;
	background: #D24A39;
	display: inline-block;
	transition: all .4s;
}

.openbtn1 span:nth-of-type(1) {
  top:8px; 
}

.openbtn1 span:nth-of-type(2) {
  top:16px;
}

.openbtn1 span:nth-of-type(3) {
  top:24px;
}

.openbtn1.active span{
	background: #D24A39;
}

.openbtn1.active span:nth-of-type(1) {
    top: 15px;
    left: 13px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 27px;
    left: 13px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}


/*共通パーツ
-----------------------------------------------------------------------------------*/
.sec a:link {color:#D24A39;text-decoration:none;}
.sec a:visited {color:#D24A39;text-decoration:none;}
.sec a:hover {color:#D24A39;text-decoration:underline;}

.path{
	padding:70px 50px 10px 50px;
	border-bottom:1px solid #D24A39;
	font-size:14px;
	color:#000!important;
}

.path a{
	margin:0 3px;
	text-decoration:underline;
}

.path a:link {color:#D24A39;text-decoration:none;}
.path a:visited {color:#D24A39;text-decoration:none;}
.path a:hover {color:#D24A39;text-decoration:underline;}

.path span{
	margin:0 2px;
}

.sec{
	padding:100px 0;
}

.contents{
	width:1200px;
	margin:0 auto;
}

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

.contents{
	width:94%;
	margin:0 auto;
}
	
}

.box_narrow{
	width:980px;
	margin:0 auto;
}


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

.box_narrow{
	width:94%;
	margin:0 auto;
}
	
}

.bg_stripe{
	background:url(../img/common/bg_stripe.png) left top / 50% no-repeat;
}

.bg_gray{
	background:#F7F7F7;
}

.bg_gray2{
	background:#E8E8E8;
}

.btn a{
	width:34vw;
	margin:0 auto;
	padding:15px;
	background:#D24A39;
	font-size:1.8vw;
	font-weight:bolder;
	color:#FFF!important;
	text-align:center;
	display:block;
}

.btn_s a{
	width:20vw;
	margin:0 auto;
	padding:10px;
	border:0;
	background:#D24A39;
	font-size:1.4vw;
	font-weight:bolder;
	color:#FFF!important;
	text-align:center;
	display:block;
	cursor:pointer;
}


.btn_more{
	text-align:right;
}

.btn_more a{
	padding:45px 8px 10px 50px;
	background:url(../img/common/bg_btn.png) no-repeat right top;
	background-size:contain;
	font-family: 'Bebas Neue', cursive;
	font-size:24px;
	color:#FFF!important;
}

header:after,
footer:after,
nav:after,
.contents:after,
ul:after,
ol:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.pc{display:block!important;}
.sp{display:none!important;}


/*トップ
-----------------------------------------------------------------------------------*/




/*MV
-----------------------------------------------*/
.video{
  width: 100%;
  height: 100vh;
  background: url(../img/mv.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

.video::after{
  content: '';
  width: 100%;
  height: 100%;
  background-color: rgba(16, 57, 75, .3);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

video {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

.mv{
    width: 100%;
    height: 100vh;
	/*background:url(../img/top/bg_top01.jpg) no-repeat center;
	background-size:cover;*/
}

.mv .ttl{
	position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
	width:100%;
	height:400px;
	background:url(../img/top/bg_top_ttl.png) no-repeat center;
	background-size:cover;
    text-align: center;
	overflow:hidden;
}

.mv .ttl h1{
	width:100%;
	height:400px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction: column;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:1.2vw;
	font-weight:100;
}

.mv .ttl h1 img{
	width:50%;
	margin:0 auto 25px auto;
	display:block;
}

.mv .box_news{
	position:absolute;
	bottom:0;
	width:100%;
	padding:10px 2%;
	background:rgba(0,0,0,0.7);
	color:#FFF;
}

.mv .box_news h2{
	width:6em;
	font-size:36px;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	display:inline-block;
}

.mv .box_news h2 span{
	position:relative;
	top:-3px;
	padding-left:0.8em;
	font-weight:100;
	font-size:15px;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#EB3521;
}

.mv .box_news div{
	width:calc(100% - 18em);
	padding:0.3em 0 0 0;
	display:inline-block;
	overflow:hidden;
}

.mv .box_news div ul{
  width:calc(100% - 10em);
  position:relative;
}

.mv .box_news div ul li{
  width:100%;
  display:none;
}

.mv .box_news div ul li a{
	color:#FFF;
}

.mv .box_news div ul li span{
	width:6em;
	display:inline-block;
}

.mv .box_news div .btn{
	float:right;
	padding-left:28px;
	background:url(../img/top/icon_newslist.png) no-repeat left center;
	background-size:16px;
	color:#EB3521;
}


/*ボックス1（About）
-----------------------------------------------*/
.box{
	position:relative;
    padding: 40px;
}

#box1{
    background:url(../img/top/bg_top02.jpg) no-repeat center;
    background-size: cover;
}

.box_top01{
	width:70%;
	padding:50px 0 0 50px;
}

.box_top01 h2{
	margin-bottom:30px;
	font-size:5.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#FFF;
}

.box_top01 h2 span{
	padding:30px 0 0 0;
	font-size:1.4vw;
	font-weight:100;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#EB3521;
	display:block;
}

.box_top01 p{
	color:#FFF;
}

.box_top01 .btn_more{
	margin:50px 0 0 0;
}


/*ボックス2（Products）
-----------------------------------------------*/
#box2{
    background:url(../img/top/bg_top03.jpg) no-repeat center;
    background-size: cover;
	overflow:hidden;
}

.ttl_vertical{
	position:absolute;
	top:20vw;
	left:-14vw;
	transform:rotate(90deg);
}

.box_top02 .ttl_vertical h2{
	margin-bottom:50px;
	font-size:4.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#FFF;
	display:inline;
}

.box_top02 .ttl_vertical h2 span{
	padding:40px 0 0 0;
	font-size:1.4vw;
	font-weight:100;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#EB3521;
}

.box_top02 .btn_more{
	margin:50px 0 30px 0;
}

.box_top02 .btn_more a{
	padding:45px 8px 10px 50px;
	background:url(../img/common/bg_btn.png) no-repeat right top;
	background-size:contain;
	font-family: 'Bebas Neue', cursive;
	font-size:24px;
	color:#FFF;
}

.box_top02{
	position:relative;
	height:100%;
}

.box_top_products{
	/*position:absolute;
	margin:2vw auto 0 20vw;*/
	width:80%;
	
	position:absolute;
	top: 50%;
    left: 55%;
    transform: translate(-50%, -50%)!important;
    -webkit-transform: translate(-50%, -50%)!important;
    -ms-transform: translate(-50%, -50%)!important;
}

.box_top_products ul{
	width:100%;
	display:block;
}

.box_top_products ul li{
	float:left;
	width:27%;
	margin:0 2% 2% 0;
	background:#FFF;
}

.box_top_products ul li:nth-of-type(4){
	margin-left:10%;
	clear:right;
}

/*.box_top_products dl{
	float:left;
	width:27%;
	margin:0 2% 2% 0;
	background:#FFF;
}

.box_top_products dl:nth-of-type(4){
	margin-left:10%;
}*/

.box_top_products dl{
	position:relative;
}

.box_top_products dl dt img{
	width:100%;
	height:auto;
}

.box_top_products dl dd{
	position:relative;
	padding:10px;
}

.box_top_products dl dd h3{
	width:90%;
	margin:-1.8em auto 0 auto;
	background:#000;
	color:#FFF;
	text-align:center;
}

.box_top_products dl dd p{
	padding-top:1em;
	font-size:0.9vw;
}

.box_top_products dl dd a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

@media screen and (min-width:1500px){

.ttl_vertical{
	top:16vw;
	left:-14vw;
}

.box_top02 .ttl_vertical h2{
	font-size:4.5vw;
}

.box_top_products dl dd{
	padding:15px;
}

.box_top_products dl dd p{
	font-size:0.7vw;
}

}


/*ボックス3（Commitment）
-----------------------------------------------*/
#box3{
    background:url(../img/top/bg_top04.jpg) no-repeat center;
    background-size: cover;
}

.box_top03{
	position:relative;
	height:100%;
}

.box_top03 h2{
	position:absolute;
	top:30px;
	right:-40px;
	padding:20px 50px 10px 30px;
	background:#D24A39;
	font-size:5.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#000!important;
	display:inline;
	z-index:4;
}

.box_top03 h2 span{
	padding:40px 0 0 0;
	font-size:1.4vw;
	font-weight:100;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#000;
}

.box_top_commitment{
	position:absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width:100%;
	/*height:0;*/
	/*top:50px;*/
	z-index:3;
}

.box_top_commitment .inner{
	position:relative;
	top:0;
	left:40px;
	width:32vw;
	padding:40px;
	background:#FFF;
	z-index:2;
}

.box_top_commitment .inner h3{
	margin-bottom:20px;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:2.0vw;
	font-weight:normal;
}

.box_top_commitment .inner h4{
	margin-bottom:10px;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:1.2vw;
}

.box_top_commitment .inner h4 span{
	color:#D24A39;
}

.box_top_commitment .inner p{
	width:22vw;
}

.box_top_commitment ul{
	position:absolute;
	top:60px;
	left:30vw;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	z-index:3;
}

.box_top_commitment ul li{
	position:relative;
	float:left;
	width:20vw;
	height:23.5vw;
	border-left:1px solid #FFF;
}

.box_top_commitment ul li:nth-of-type(1){
	border-left:0;
	background:#FFF url(../img/top/ph_top_commitment01.jpg) no-repeat center top;
	background-size:contain;
}

.box_top_commitment ul li:nth-of-type(2){
	border-left:1px solid #FFF;
	background:#FFF url(../img/top/ph_top_commitment02.jpg) no-repeat center top;
	background-size:contain;
}

.box_top_commitment ul li:nth-of-type(3){
	background:#FFF url(../img/top/ph_top_commitment03.jpg) no-repeat center top;
	background-size:contain;
}

.box_top_commitment ul li a{
	width:20vw;
	height:23vw;
	display:block;
}

.box_top_commitment ul li a:hover{
	opacity:1;
}

.box_top_commitment ul li span{
	position:absolute;
	bottom:0;
	width:100%;
	padding:20px;
	background:#D24A39;
	color:#FFF;
	text-align:right;
}

.box_top_commitment ul li a:hover span{
	background:#DF8074;
}

.box_top03 .btn_more{
	position:absolute;
	bottom:-28px;
	right:0;
	margin:50px 0 30px 0;
}

.box_top03 .btn_more a{
	padding:45px 8px 10px 50px;
	background:url(../img/common/bg_btn.png) no-repeat right top;
	background-size:contain;
	font-family: 'Bebas Neue', cursive;
	font-size:24px;
	color:#FFF;
}

@media screen and (min-width:1500px){

.box_top_commitment .inner{
	font-size:0.8vw;
}

.box_top_commitment ul li{
	width:20vw;
	height:21.0vw;
}

.box_top_commitment ul li span{
	padding:10px 20px;
}

}

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

.box_top_commitment ul{
	left:32vw;
}

.box_top_commitment ul li{
	width:18vw;
	height:22.5vw;
}

.box_top_commitment .inner p{
	width:18vw;
}

}


/*ボックス4（Recruit）
-----------------------------------------------*/
#box4{
    background:url(../img/top/bg_top05.jpg) no-repeat center;
    background-size: cover;
}

.box_top04{
	position:relative;
	height:100%;
	width:100%;
}

.box_top_recruit{
	position:absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)!important;
    -webkit-transform: translate(-50%, -50%)!important;
    -ms-transform: translate(-50%, -50%)!important;
	width:100% ;
	padding:0 0 0 80px;
	/*padding:100px 0 8vw 50px;*/
	background:url(../img/top/ph_top_recruit01.png) no-repeat 95% 6vw;
	background-size:50%;
	z-index:1;
}

.box_top04 h2{
	margin:50px 0;
	font-size:5.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#000;
}

.box_top04 h2 span{
	padding:40px 0 0 0;
	font-size:1.4vw;
	font-weight:100;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#EB3521;
	display:block;
}

.box_top04 p{
	width:40%;
}

.box_top04 .btn_more{
	margin:50px 0 30px 0;
}


@media screen and (min-width:1500px){
	
.box_top04{
	padding:100px 0 2vw 50px;
	background:url(../img/top/ph_top_recruit01.png) no-repeat 95% 5vw;
	background-size:45%;
}

.box_top04 p{
	width:40%;
}

}

@media screen and (min-width:1780px){

.box_top04 p{
	width:48%;
}

}


/*ページネーション
-----------------------------------------------*/
.pagination {
	position:fixed;
	left:20px;
	top: 50%;
  	transform: translateY(-50%);
	font-size:1em;
	z-index: 10;
	list-style: none;
}

.pagination a {
	display:block;
	height:20px;
	margin-bottom:5px;
	color:#EB3521;
	position:relative;
	padding:4px;
}

.pagination a.active:after {
	box-shadow:inset 0 0 0 5px;
}

.pagination a .hover-text {
	position:absolute;
	right:15px;
	top:0;
	opacity:0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-right: 15px;
}

.pagination a:hover .hover-text {
	opacity: 1;
}

.pagination a:after {
	-webkit-transition:box-shadow 0.5s ease;
	transition:box-shadow 0.5s ease;
	width:10px;
	height:10px;
	display: block;
	/*border:1px solid #FFF;*/
	background:#FFF;
	border-radius:50%;
	content:'';
	position: absolute;
	margin:auto;
	top:0;
	right:3px;
	bottom:0;
}

@media screen and (max-width:768px) { 
	.pagination a .hover-text{
		display: none;
	}	
}



/*styleguide
-----------------------------------------------------------------------------------*/
.sec p{
	margin-bottom:0.8em;
}

.sec h2{
	position:relative;
	margin-bottom:80px;
	padding-bottom:40px;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:3.8vw;
	font-weight:100;
	text-align:center;
}

.sec h2:after{
	position:absolute;
	left:0;
	right: 0;
	top: 100%;
	height: 1px;
	width: 6vw;
	margin:0 auto;
	background:#D24A39;
	content: "";
	display: block;
}

.sec .ttl_line{
	margin-bottom:100px;
	background:url(../img/common/bg_ttl_line.png) center no-repeat;
}

.sec .ttl_line h2{
	width:1200px;
	margin:0 auto;
	padding:0.05em 0 0 30px;
	font-family: 'Bebas Neue', cursive;
	font-size:4.0vw;
	letter-spacing: 0.3em;
	line-height:0.8;
	color: #000;
	text-align:left;
}

.sec .ttl_line h2:after{
	display:none;
}

.sec .ttl_line h2 span{
	padding-left:0.8em;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:1.6vw;
	color:#D24A39;
}

.sec h3{
	margin-bottom:40px;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:2.4vw;
	font-weight:100;
	text-align:center;
}

.sec h4{
	margin-bottom:20px;
	padding-left:35px;
	background:url(../img/common/icon_ttl.png) left 0.5em / 1.0em no-repeat;
	font-size:1.6vw;
	font-weight:100;
	color:#000;
}

.box_left{
	float:left;
	width:48%;
	margin-bottom:60px;
}

.box_right{
	float:right;
	width:48%;
	margin-bottom:60px;
}

.kakomi{
	padding:40px 40px 30px 40px;
	border:1px solid #D24A39;
}

.kakomi h2{
	margin-bottom:60px;
	padding-bottom:30px;
}

.sec table{
	border-top:1px solid #CCC;
}

.sec table th,
.sec table td{
	padding:15px;
	background:#FFF;
	border-bottom:1px solid #CCC;
}

.sec table th{
	background:#FFE3E1/*#F4D1CD*/;
	font-weight:normal;
	text-align:left;
}

.sec table tr:nth-child(even) td{
	background:#F7F7F7;
}

.sec table tr:nth-child(even) th{
	background:#FFD1CE/*#F4B5B5*/;
}

.sec .mb{
	margin-bottom:60px;
}

.sec ul.ul_line li{
	padding:15px;
	border-bottom:1px solid #CCC;
}

.sec img.not100{
	width:auto;
	margin:0;
	display:inline;
	vertical-align:text-bottom;
}

.sec .indent{
	width:9em;
	display:inline-block;
}

.sec ol{
	margin:0 0 0 20px;
	padding:0;
}

.sec ul li,
.sec ol li{
	margin-bottom:1.0em;
}


/*company
-----------------------------------------------------------------------------------*/
.mask_base{
	position:relative;
}

.mask_base .mask{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}

.box_company_subnavi{
	margin-bottom:60px;
	text-align:right;
}

.box_company_subnavi ul li{
	width:10em;
	font-size:0.8vw;
	text-align:center;
	display:inline-block;
}

.box_company_subnavi ul li a{
	padding:5px 0;
	background:#FFF;
	border:1px solid #D24A39;
	color:#D24A39;
	display:block;
	cursor:pointer;
}

.box_company_subnavi ul li.active a{
	background:#D24A39;
	color:#FFF!important;
}

.area {
  display: none;
  opacity: 0;
}

.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.sec .table_history th,
.sec .table_history td,
.sec .table_history tr:nth-child(even) th,
.sec .table_history tr:nth-child(even) td{
	padding:30px 0;
	background:#FFF;
}

.sec .table_history td,
.sec .table_history tr:nth-child(even) td{
	padding-left:40px;
}

.sec .table_history th{
	width:200px;
	font-family: 'Bebas Neue', cursive;
	font-size:3.8vw;
	line-height:0.8;
	color: #000;
	text-align:center;
}

.sec .table_history th span{
	width:90px;
	margin:5px auto 0 auto;
	padding:5px 0 7px 0;
	background:#000;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.1vw;
	color:#FFF;
	display:block;
}

.sec .table_history td dl{
	padding:15px 0;
}

.sec .table_history td dl dt{
	float:left;
	width:80px;
	padding-right:35px;
	background:url(../img/common/icon_ttl.png) right center / 1.6vw no-repeat;
	font-size:1.1vw;
	display:inline-block;
}

.sec .table_history td dl dt span{
	font-family: 'Bebas Neue', cursive;
	font-size:2.4vw;
	line-height:0.8;
}

.sec .table_history td dl dd{
	float:right;
	width:630px;
}

.sec .table_history td dl dd img{
	float:right;
	width:auto;
	padding:0 0 20px 20px;
}

.box_company_group{
	background:#FFF;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);	
}

.box_company_group.mainoffice{
	background:#FFF;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);	
}

.box_company_group .inner{
	padding:30px;
}

.box_company_group.mainoffice .inner{
	padding:50px;
}

.box_company_group .box_left{
	float:left;
	width:55%;
	margin-bottom:0;
}

.box_company_group .box_right{
	float:right;
	width:40%;
	margin-bottom:0;
}

.box_company_group.mainoffice .box_left,
.box_company_group.mainoffice .box_right{
	margin-bottom:30px;
}

.box_company_group h3{
	margin:0 0 30px 0;
	padding:0 0 0 20px;
	border-left:4px solid #D24A39;
	font-size:2.0vw;
	color:#D24A39;
	line-height:1.2;
	text-align:left;
}

.box_company_group .box_left div{
	float:left;
	width:48%;
}

.box_company_group .box_left img{
	float:right;
	width:48%;
	height:auto;
}

.box_company_group iframe{
	width:100%;
	height:300px;
	border:0;
	vertical-align:bottom!important;
}

.box_company_group iframe:after{
	display:none;
}

.box_company_group dl{
	float:left;
	width:31%;
	margin:0 3.5% 3.5% 0;
}

.box_company_group dl:nth-of-type(3n){
	margin-right:0;
}

.box_company_group h4,
.box_company_group dt{
  margin-bottom: 10px;
  padding:0 0 10px 30px;
  border-bottom:1px solid #D24A39;
  background:none;
  background: url(../img/common/icon_ttl.png) left 0.5em / 1.0em no-repeat;
  font-size: 1.4vw;
  font-weight: 100;
  color: #000;
}

.box_company_group span{
	position:relative;
	top:0.4em;
	float:left;
	margin-right:0.5em;
	padding:0 8px 2px 8px;
	background:#000;
	font-size:1.0vw;
	color:#FFF;
	line-height:1.4;
}

.box_company_group span + p{
	float:left;
}

.box_company_group .w48per iframe{
	height:350px;
}



.box_company_group .data dl{
	float:none;
	width:100%;
	margin:0 0 15px 0;
	padding-bottom:15px;
	border-bottom:1px solid #CCC;
}

.box_company_group .data dt{
	float:left;
	width:8em;
  margin-bottom: 0;
  padding:0 0 0 30px;
  border-bottom:none;
  background:none;
  background: url(../img/common/icon_ttl.png) left 0.5em / 1.0em no-repeat;
  font-size: 1.2vw;
}

.box_company_group .data dd{
	float:right;
	width:calc(100% - 8em);
}

.ul_about{
	width:42em;
	margin:0 auto;
}



/*products list
-----------------------------------------------------------------------------------*/
.box_lead{
	padding:60px 0 40px 0;
    background:url(../img/common/bg_footer.jpg) no-repeat center;
    background-size: cover;
	text-align:center;
	color:#FFF;
}

.box_lead p{
	margin-bottom:40px;
}

.box_lead p.btn{
	width:28vw;
	margin-bottom:40px;
	display:inline-block;
}

.box_lead a{
	width:28vw;
	padding:15px 15px 18px 15px;
	color:#FFF!important;
}

.box_products_list{
	margin-bottom:100px;
}

.box_products_list dl{
	position:relative;
	float:left;
	width:31%;
	margin:0 3.5% 3.5% 0;
}

.box_products_list dl:nth-of-type(3n){
	margin:0 0 3.5% 0;
}

.box_products_list dl dt{
	position:relative;
	height:13.5vw;
	overflow:hidden;
}

.box_products_list dl dt img{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:auto;
	margin:auto;
	z-index:0;
}

.box_products_list dl:hover dt img{
	transform: scale(1.1,1.1);
}

.box_products_list dl dd h3{
	margin:30px 0;
	padding:0 0 3px 20px;
	border-left:4px solid #D24A39;
	font-size:2.0vw;
	color:#D24A39;
	line-height:1.2;
	text-align:left;
}

.box_products_list dl dd a{
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

.box_products_list .btn_more{
	margin-top:40px;
	padding-top:30px;
	border-top:1px solid #CCC;
}

.box_products_list .btn_more a{
	padding:30px 4px 4px 0;
	font-size:14px;
}

.box_products_list .btn_more a span{
	position:relative;
	top:-10px;
	padding-right:0.8em;
	font-size:1.6vw;
	font-weight:bold;
	color:#D24A39!important;
	font-family: 'Noto Sans JP', sans-serif;
}

.box_document ul li{
	float:left;
	width:23%;
	margin:0 0 60px  2.6%;
	padding-bottom:20px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	text-align:center;
}

.box_document ul li:nth-of-type(1){
	margin-left:0;
}

.box_document ul li img{
	margin-bottom:20px;
}

.box_document ul li a{
	color:#000!important;
	display:block;
}

.kakomi .btn a{
	width:45vw;
	padding:15px 15px 18px 15px;
	color:#FFF!important;
}

.box_products_lineup{
	padding:80px 0 60px 0;
	background:url(../img/common/bg_footmenu.jpg) no-repeat center;
    background-size: cover;
}

.box_products_lineup h2{
	width:1200px;
	margin:0 auto 60px auto;
	padding:0.05em 0 0 30px;
	font-family: 'Bebas Neue', cursive;
	font-size:4.0vw;
	letter-spacing: 0.3em;
	line-height:0.8;
	text-align:center;
	color: #FFF;
}

.box_products_lineup h2:after{
	display:none;
}

.box_products_lineup h2 span{
	padding:30px 0 0 0;
	font-family: 'Noto Serif JP', sans-serif;
	font-size:1.4vw;
	letter-spacing: 0.1em;
	color:#FFF;
	display:block;
}

.box_products_lineup ul li{
	position:relative;
	float:left;
	width:32%;
	margin:0 2% 2% 0;
	border:1px solid #707070;
	display:block;
}

.box_products_lineup ul li:nth-of-type(3n){
	margin:0 0 2% 0;
}

.box_products_lineup ul li a{
	min-height:110px;
	width:100%;
	padding:20px;
	background:#FFF url(../img/common/bg_btn.png) right 5px bottom 5px / 30px 30px no-repeat;
	color:#000;
	display:flex;
	justify-content:center;
	align-items:center;
}



/*products single
-----------------------------------------------------------------------------------*/
.sec_products_single{
	padding:80px 0 60px 0;
	background:url(../img/common/bg_footmenu_half.jpg) no-repeat top;
    background-size:contain;
	text-align:center;
}

.sec_products_single h2{
	margin-bottom:50px;
	color:#FFF;
}

.box_products_single{
	margin-bottom:50px;
	padding-top:50px;
	background:#FFF;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.box_products_single h3{
	margin:0 50px;
	padding:0 0 0 20px;
	border-left:4px solid #D24A39;
	font-size:2.0vw;
	color:#D24A39;
	line-height:1.2;
	text-align:left;
}

.box_products_single h3 + .cf{
	padding:50px 50px 20px 50px;
}

.box_products_single .box_left{
	float:left;
	width:48%;
	margin-bottom:0;
}

.box_products_single .box_right{
	float:right;
	width:48%;
	margin-bottom:0;
	text-align:left;
}

.box_products_single .box_right p{
	margin-bottom:40px;
}

.box_products_single .box_right dl{
	margin-bottom:30px;
	padding-bottom:30px;
	border-bottom:1px solid #CCC;
}

.box_products_single .box_right dl dt{
	float:left;
	width:20%;
	padding-left:35px;
	background:url(../img/common/icon_ttl.png) left 0.5em / 1.0em no-repeat;
	color:#000;
}

.box_products_single .box_right dl dd{
	float:right;
	width:80%;
}

.box_products_single .box_right dl dd ul.icon li{
	margin:0 0 0 5px;
	padding:0 10px;
	background:#D24A39;
	font-size:1.0vw;
	color:#FFF;
	display:inline-block;
}

.box_products_single .box_right dl dd ul li{
	margin-left:20px;
	list-style:disc;
}

.box_pdf_dl{
	padding:20px 0 0 0;
	background:#D24A39;
	clear:both;
}

.box_pdf_dl h4{
	margin:0 50px 20px 50px;
	padding:0 0 0 20px;
	border-left:4px solid #FFF;
	font-size:1.4vw;
	color:#FFF;
	line-height:1.2;
	text-align:left;
}

.box_pdf_dl ul{
	padding:20px;
	background:#606060;
}

.box_pdf_dl ul li{
	float:left;
	width:31%;
	margin-right:3.5%;
}

.box_pdf_dl ul li:nth-of-type(3n){
	margin-right:0;
}

.box_pdf_dl ul li a{
	padding:10px;
	background:#FFF url(../img/common/bg_btn.png) right 5px bottom 5px / 20px 20px no-repeat;
	text-align:center;
	display:block;
	display:flex;
	justify-content:center;
	align-items:center;
}


/*recruit
-----------------------------------------------------------------------------------*/
.box_recruit_bana ul li{
	position:relative;
	float:left;
	width:50%;
}

.box_recruit_bana ul li a{
	height:100%;
	height:14vw;
	display:flex;
	align-items: center;
}

.box_recruit_bana ul li em{
	padding:8px 20px 5px 20px;
	background:#D24A39;
	font-family: 'Bebas Neue', cursive;
	font-style:normal;
	font-size: 3.6vw;
	letter-spacing: 0.3em;
	line-height: 0.8;
	color: #000;
}

.box_recruit_bana ul li span{
	position:absolute;
	bottom:0;
	right:0;
}

.box_recruit_bana ul li:nth-of-type(1){
	background:url(../img/recruit/bg_bana01.jpg) no-repeat center;
	background-size:cover;
}

.box_recruit_bana ul li:nth-of-type(2){
	background:url(../img/recruit/bg_bana02.jpg) no-repeat center;
	background-size:cover;
}

.bg_message{
	background:url(../img/recruit/bg_message2.jpg) no-repeat bottom center;
	background-size:cover;
}

.bg_message h2{
	margin-bottom:10px;
	font-size:3.2vw;
	line-height:1.6;
	text-align:left;
	color:#FFF;
}

.bg_message h2:after{
	display:none;
}

.bg_message .box_message{
	width:760px;
	margin-bottom:300px;
	color:#FFF;
}

.box_recruit_swiper{
	position:relative;
	margin-bottom:150px;
}

.box_recruit_swiper dl{
	position:relative;
}

.box_recruit_swiper dl dt{
	position:relative;
	height:16vw;
	overflow:hidden;
}

.box_recruit_swiper dl dt img{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:auto;
	margin:auto;
	z-index:0;
}

.box_recruit_swiper dl:hover dt img{
	transform: scale(1.1,1.1);
}

.box_recruit_swiper dl dd{
	z-index:1;
}

.box_recruit_swiper dl dd h3{
	margin:0;
	font-size:1.6vw;
	text-align:right;
}

.box_recruit_swiper dl dd h3 span{
	padding-right:1em;
	font-size:1.1vw;
}

.box_recruit_swiper dl dd p.cf{
	position:relative;
	margin-top:-2.5em;
	text-align:left;
	z-index:1;
}

.box_recruit_swiper dl dd p.cf span{
	margin-bottom: 5px;
	padding: 8px;
	background: #000;
	color: #FFF;
	letter-spacing: 0.15em;
	line-height: 1.2;
	display: inline-block;
}

.box_recruit_swiper dl dd a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:calc(100% + 2.5em);
	text-indent:-9999px;
	z-index:3;
}

.box_recruit_swiper .swiper-button-next,
.box_recruit_swiper .swiper-button-prev{
	top:40%;
	width: 50px;
	height: 80px;
	background-color:#D24A39;
}

.sec_recruit .contents h3 {
  margin: 0 0 50px 0;
  padding: 0 0 0 20px;
  border-left: 4px solid #D24A39;
  font-size: 2.0vw;
  color: #D24A39;
  line-height: 1.2;
  text-align: left;
}

.box_recruit_bana .btn_more,
.sec_recruit .btn_more{
	padding:25px 3px 3px 30px;
	background:url(../img/common/bg_btn.png) no-repeat right top;
	background-size:contain;
	font-style:normal;
	font-family: 'Bebas Neue', cursive;
	font-size:14px;
	color:#FFF!important;
	text-align:right;
}

.box_interview_list dl{
	float:left;
	width:30%;
	margin:0 5% 5% 0;
}

.box_interview_list dl:nth-of-type(3n){
	margin:0 0 5% 0;
}

.box_interview_list dl{
	position:relative;
}

.box_interview_list dl dt{
	position:relative;
	height:16vw;
	overflow:hidden;
}

.box_interview_list dl dt img{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:auto;
	margin:auto;
	z-index:0;
}

.box_interview_list dl:hover dt img{
	transform: scale(1.1,1.1);
}

.sec_recruit .box_interview_list dl dd{
	z-index:1;
}

.sec_recruit .box_interview_list dl dd h3{
	margin:0;
	padding:0;
	border:0;
	color:#000;
	text-align:right;
}

.box_interview_list dl dd h3 span{
	padding-right:0.5em;
	font-size:16px;
}

.box_interview_list dl dd p.cf{
	position:relative;
	margin-top:-2.5em;
	text-align:left;
	z-index:1;
}

.box_interview_list dl dd p.cf span{
	margin-bottom: 5px;
	padding: 8px;
	background: #000;
	color: #FFF;
	letter-spacing: 0.15em;
	line-height: 1.2;
	display: inline-block;
}

.box_interview_list dl dd a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-9999px;
	z-index:3;
}

.box_interview_single .box_profile{
	position:relative;
	padding:50px 0;
	font-size:1.0vw;
}

.box_interview_single .ph_sasamoto{
	background:url(../img/recruit/ph_sasamoto02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_toda{
	background:url(../img/recruit/ph_toda02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_ishizu{
	background:url(../img/recruit/ph_ishizu02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_onuma{
	background:url(../img/recruit/ph_onuma02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_ishiai{
	background:url(../img/recruit/ph_ishiai02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_ishikawa{
	background:url(../img/recruit/ph_ishikawa02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_huse{
	background:url(../img/recruit/ph_huse02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .ph_takeuchi{
	background:url(../img/recruit/ph_takeuchi02.jpg) no-repeat center right;
	background-size:55%;
}

.box_interview_single .box_profile .voice{
	margin:0 0 80px 0;
	font-size:24px;
}

.box_interview_single .box_profile .voice span{
	margin-bottom: 5px;
	padding: 8px;
	background: #000;
	color: #FFF;
	letter-spacing: 0.15em;
	line-height: 1.2;
	display: inline-block;
}

.box_interview_single .box_profile h3{
	margin-bottom:80px;
	padding:0;
	border:0;
	font-size:60px;
	color:#D24A39;
}

.box_interview_single .box_profile h3 span{
	padding-right:1em;
	font-size:1.4vw;
}

.box_question{
	position:relative;
	float:left;
	width:48%;
	padding:30px 30px 10px 30px;
	border-radius:8px;
	background:#606060;
	color:#FFF;
}

.box_question h4{
	position:absolute;
	top:-25px;
	left:20px;
	padding:0 15px 0 20px;
	border-radius:8px;
	background:#000;
	font-family: 'Bebas Neue', cursive;
	letter-spacing: 0.3em;
	color:#FFF;
	display:inline-block;
}

.box_voice{
	position:relative;
	float:right;
	width:48%;
	margin:30px 0 100px 0;
	padding:30px 30px 20px 30px;
	border-radius:8px;
	background:#FFF;
}

.fukidashi{
	position:absolute;
	bottom:-100px;
	right:20px;
	width:220px;
	height:auto;
}

.box_thanks{
	width:48%;
	margin:50px auto 0 auto;
	padding:30px 30px 10px 30px;
	border-radius:8px;
	background:#FFF;
	text-align:center;
}

.box_thanks h4{
	background:url(../img/recruit/bg_thanks.png) no-repeat bottom center;
	background-size:contain;
	font-weight:bold;
	color:#D24A39;
}


/*FAQ
-----------------------------------------------------------------------------------*/
.box_faq_subnavi{
	margin-bottom:60px;
	text-align:right;
}

.box_faq_subnavi ul li{
	width:10em;
	font-size:0.8vw;
	text-align:center;
	display:inline-block;
}

.box_faq_subnavi ul li a{
	padding:5px 0;
	background:#FFF;
	border:1px solid #D24A39;
	color:#D24A39;
	display:block;
	cursor:pointer;
}

.box_faq_subnavi ul li a .pc{
	display:inline!important;
}

.block {
	margin-bottom:30px;
	padding-bottom:30px;
	border-bottom:1px solid #CCC;
	overflow: hidden;
	transition: height 500ms;
}

.block p {
	margin: 0;
}

.block p + p {
	margin-top: 1em;
}

.block__title {
	position: relative;
	padding: 0;
	padding-right: 20px;
	line-height: 2rem;
	cursor: pointer;
	user-select: none;
}

.block__title:hover {
	opacity: .8;
}

.block__title span{
	position:absolute;
	top:0;
	left:0;
	padding:10px 15px 8px 15px;
	border:1px solid #000;
	font-size:1.8vw;
	font-weight:bold;
	font-family: 'Bebas Neue', cursive;
}

.block__title h4 {
	margin:0 0 0 1.5vw;
	padding:8px 0 40px 50px;
	background:none;
	font-size:1.4vw;
}

.block__title::after {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	width: .75em;
	height: 40px;
	padding-right: 1rem;
	font-size: 1.17em;
	
	padding:0 20px 2px 20px;
	background:#DDD;
	line-height:1.0;
}

.block.is-collapsed .block__title::after {
	content: '+';
}

.block.is-expanded .block__title::after {
	content: '-';
	background:#FFF;
	border:1px solid #DDD;
}

.block__content {
	position:relative;
	padding:0 0 10px 71px;
}

.block__content span{
	position:absolute;
	top:0;
	left:0;
	padding:8px 15px 5px 15px;
	border:1px solid #D24A39;
	font-size:1.8vw;
	font-weight:bold;
	font-family: 'Bebas Neue', cursive;
	line-height:1.0;
	color:#D24A39;
}

#tab02,#tab03,#tab04,#tab05{
	padding-top:100px;
}



/*contact
-----------------------------------------------------------------------------------*/
form table{
	margin-bottom:40px;
}

input,textarea,select{
	margin:3px 5px;
	padding:8px;
	border:1px solid #999;
	border-radius:3px;
	background:#FFF;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
	width:100%;
}

input.short{
	width:14em;
}

.hissu{
	margin-left:0.8em;
	padding:2px 5px;
	background:#D24A39;
	font-size:13px;
	color:#FFF;
}

.submit{
	width:20vw;
	margin:0 10px;
	padding:10px;
	border:0;
	background:#D24A39;
	border:1px solid #D24A39;
	font-size:1.4vw;
	font-weight:bolder;
	color:#FFF!important;
	text-align:center;
	display:inline-block;
	cursor:pointer;
}

.back{
	width:20vw;
	margin:0 auto;
	padding:10px;
	border:0;
	background:#FFF;
	border:1px solid #D24A39;
	font-size:1.4vw;
	font-weight:bolder;
	color:#D24A39!important;
	text-align:center;
	display:inline-block;
	cursor:pointer;
}

.box_pp{
	height:250px;
	margin-bottom:40px;
	padding:30px;
	border:1px solid #CCC;
	overflow:auto;
	overflow-y:scroll;
}

.box_doui{
	margin-bottom:40px;
	text-align:center;
}

.mw_wp_form_confirm .box_pp,
.mw_wp_form_confirm .box_doui{
	display:none;
}

.ttl_thanks{
	margin-bottom: 40px!important;
	font-size: 2.4vw!important;
}

.box_confirm .hide{
	display:none;
}


/*news
-----------------------------------------------------------------------------------*/
.sec_news dl {
	width: 100%;
	margin: 0 0 15px 0;
	padding-bottom: 15px;
	border-bottom: 1px solid #DCDCDC;
}

.sec_news dl dt {
	float: left;
	width: 150px;
	background:#000;
	text-align:center;
	color:#FFF;
}

.sec_news dl dd {
	float: right;
	width: calc(100% - 180px);
}

.sec_news dl dd a{
	color:#000!important;
}
.sec_news dl dd a:hover{
	color:#D24A39!important;
}

.sec_news .pagination {
	position:relative;
	left:auto;
	top:auto;
	transform:none;
	padding-top:40px;
	font-size: 1em;
	text-align:center;
}

.sec_news .page-numbers{
	height:auto;
	margin:0 2px;
	padding:0 10px;
	border:1px solid #D24A39;
	background:#FFF;
	display:inline-block;
}

.sec_news .current{
	background:#D24A39;
	color:#FFF;
	display:inline-block;
}

.sec_news .next,
.sec_news .prev{
	border:0;
	font-size:22px;
	transform: scale(1,2);
}

.sec_news .pagination a:after,
.screen-reader-text{
	display:none;
}

.sec_news h2{
	margin: 0 0 80px 0;
	padding: 0 0 0 20px;
	border-left: 4px solid #D24A39;
	font-size: 2.6vw;
	color: #000;
	line-height: 1.4;
	text-align: left;
}

.sec_news h2:after{
	display:none;
}


.sec_news figure img{
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.sec_news .box_pageing{
	padding-top:60px;
}


/*sitemap
-----------------------------------------------------------------------------------*/
.box_sitemap ul:nth-of-type(2),
.box_sitemap ul:nth-of-type(4),
.box_sitemap ul:nth-of-type(6){
	float:left;
	width:48%;
}

.box_sitemap ul:nth-of-type(3),
.box_sitemap ul:nth-of-type(5){
	float:right;
	width:48%;
}

.box_sitemap ul:nth-of-type(4),
.box_sitemap ul:nth-of-type(6){
	clear:left;
}

.box_sitemap ul{
	margin-bottom:60px;
}

.box_sitemap ul li{
	margin-bottom:0;
	border-bottom:1px solid #CCC;
}

.box_sitemap ul li ul{
	margin-bottom:0;
}

.box_sitemap ul li ul li:last-child{
	border:0;
}

.box_sitemap ul li a{
	padding:20px;
	background:url(../img/common/icon_link_red.png) left center / 0.5vw no-repeat;
	display:block;
}

.box_sitemap span{
	margin:0 0 30px 0;
	padding:0 0 0 20px;
	border-left:4px solid #D24A39;
	font-size:1.4vw;
	color:#000;
	line-height:1.2;
	text-align:left;
}

.box_sitemap a.link_pdf span{
	margin:0 0 0 0.5em;
	padding:0 8px;
	background:#D24A39;
	border:0;
	font-size:12px;
	color:#FFF;
	line-height:1.4;
	display:inline-block;
}


/*page top
--------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}


/*footer
-----------------------------------------------------------------------------------*/
footer{
	position:relative;
    background:url(../img/common/bg_footer.jpg) no-repeat center;
    background-size: cover;
	text-align:center;
	font-size:1.2vw;
	color:#FFF;
}

footer h2{
	margin:50px 0 30px 0;
	padding-left:0.3em;
	font-size:5.5vw;
	font-family: 'Bebas Neue', cursive;
	letter-spacing:0.3em;
	line-height:1.0;
	color:#FFF;
}

footer h2 span{
	padding:40px 0 0 0;
	font-size:1.4vw;
	font-weight:100;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing:0;
	color:#EB3521;
	display:block;
}

footer p{
	margin-bottom:20px;
	font-family: 'Noto Serif JP', sans-serif;
}

footer .btn{
	width:24vw;
	margin-bottom:30px;
	display:inline-block;
}

footer .btn a{
	width: 24vw;
}

footer p.center{
	margin-bottom:120px;
}

footer p.center a{
	text-decoration:underline;
}

footer .box_tel ul li{
	margin:0 0.8em 20px 0.8em;
	display:inline-block;
}

footer .box_tel ul li span{
	font-size:2.8vw;
	font-family: 'Oswald', sans-serif;
}

footer .box_tel p{
	font-size:1.0vw;
	font-family: 'Noto Sans JP', sans-serif;
}

footer small{
	position:absolute;
	bottom:40px;
	left:0;
	width:100%;
}




#box5{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction: column;
}





/*中国語版設定
-----------------------------------------------*/
.cn .box{
	height:100vh;
}

/*.cn .video img{
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    height: 56.25vw;
    min-height: 100%;
    min-width: 100%;
}*/

.cn .mv .ttl{
	position:relative;
}

.cn .mv .box_news div ul {
  position:absolute;
  top:1.1em;
  width:calc(100% - 15em);
}

.cn .mv .box_news div ul li{
  display:block;
}

.swiper2 .swiper--wrapper {
  /* wrapperのサイズを調整 */
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

.swiper2 .swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 300px;
}
