/*
Theme Name: RDS
Description: A Theme for RDS
Version: 1.0

-------------------------------------------------------------- */
/* Reset
-------------------------------------------------------------- */

*{
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font: inherit;
	font-size: 100%;
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-family: "Hiragino Kaku Gothic Pro", " メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS Gothic", sans-serif;
	letter-spacing: 0;
}
ol,
ul,
li {
	list-style: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

small {
	font-size: 75%;
}
big {
	font-size: 125%;
}

	img{
		max-width: 100%;
		height: auto;
	}

a,
a:visited{
	color: #d0111b;
	text-decoration: none;
}
a:hover{
	color: #d0111b;
}

a:hover img{
	opacity: 0.7;
}

.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

/* Styles
-------------------------------------------------------------- */
.br-sp,
.display-sp{
	display: none;
}
.break-pc br{}
.break-sp br{ display: none; }

.break-none br{ display: none; }

.font-e{
	font-family: 'Oswald', sans-serif;
}

.default-title{
	font-size: 80px;
	font-weight: bold;
	line-height: 100px;
	text-align: center;
	margin-bottom: 20px;
	color: #d0111b;
}
	.default-title.default-title--feed{
		margin-bottom: 80px;
	}

.lower-title{
	text-align: center;
	font-weight: bold;
	margin-bottom: 80px;
}
	.lower-title .en{
		display: block;
		font-size: 80px;
		line-height: 100px;
		margin-bottom: 10px;
		color: #d0111b;
	}
	.lower-title .sub{
		display: block;
		font-size: 18px;
		line-height: 20px;
	}

.default-btn{}
	.default-btn a{
		display: inline-block;
		position: relative;
		padding-left: 40px;
	}
		.default-btn a .db-cover{
			position: relative;
			overflow: hidden;
		}
		.default-btn a span{
			display: block;
			font-size: 15px;
			line-height: 30px;
			height: 30px;
		}
			.default-btn a span.db-default{
				color: #d0111b;
			}
			.default-btn a span.db-hover{
				position: absolute;
				top: 0;
				left: 0;
				width: 0;
				color: #000;
				z-index: 2;
				overflow: hidden;
				transition: .3s;
			}
				.default-btn a:hover span.db-hover{
					width: 100%;
				}
		.default-btn a::before{
			content: '';
			width: 29px;
			height: 30px;
			background-size: 58px 6px;
			background-position: 0 55%;
			background-repeat: repeat-x;
			background-image: url('./image/common/backarrow-right_gray.png');
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			transition: .6s;
		}
		.default-btn.default-btn-gray-mid a::before{
			background-image: url('./image/common/backarrow-right_gray-mid.png');
		}
			.default-btn a:hover::before{
				background-position: 58px 55%;
			}

.external-link{
	padding-left: 20px;
	background: url('./image/common/external.png') no-repeat 5px 50% / 11px 10px;
}

/* fade in */
.fadein {
	opacity: 0.1;
	transform: translate(0, 50px);
	transition: all 500ms;
}
.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/* Layout
-------------------------------------------------------------- */
.site-wrapper{
	width: 100%;
	min-width: 1150px;
	position: relative;
}
	.site-wrapper .site-wrapper-inner{
		transition: .3s;
	}
		.site-wrapper.menu-on .site-wrapper-inner{}
	.site-wrapper .menu-cover{
		content: '';
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 70;
		background-color: rgba(0,0,0,0.5);
		display: none;
	}
		.site-wrapper.menu-on .menu-cover{
			display: block;
		}

.content-frame{
	width: 1150px;
	margin: 0 auto;
}

.lower-frame{
	width: 1150px;
	margin: 0 auto;
	padding-top: 180px;
}
	.lower-frame .frame-left{
		width: calc(100% - 814px);
		float: left;
	}
	.lower-frame .frame-right{
		width: 814px;
		float: right;
	}


/* Component
-------------------------------------------------------------- */
.news-list{
	width: 100%;
	border-top: 1px solid #eeeeee;
}
	.news-list li{
		padding: 6px;
		border-bottom: 1px solid #eeeeee;
	}
		.news-list li a{
			display: block;
			line-height: 60px;
			font-weight: bold;
		}
		.news-list li .date{
			width: 100px;
			float: left;
			font-size: 14px;
			text-align: center;
			color: #d0111b;
			transition: .3s;
		}
		.news-list li .title{
			width: calc(100% - 100px);
			height: 60px;
			float: right;
			font-size: 13px;
			overflow: hidden;
			white-space: nowrap;
			text-overflow: ellipsis;
			color: #000;
			transition: .3s;
		}
		.news-list li a{
			position: relative;
		}
			.news-list li a::before{
				content: '';
				display: block;
				width: 0%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				background-color: #d0111b;
				z-index: -1;
				transition: .5s;
			}
				.news-list li a:hover::before{
					width: 100%;
				}
				.news-list li a:hover .date,
				.news-list li a:hover .title{
					color: #FFF;
				}

.business-list{}
	.business-list li{
		width: 370px;
		float: left;
		margin-right: 20px;
		margin-bottom: 20px;
	}
		.business-list li:nth-child(3n+2){
			transition-delay: .1s;
		}
		.business-list li:nth-child(3n){
			transition-delay: .2s;
			margin-right: 0;
		}
		.business-list li a{
			display: block;
			position: relative;
			background-size: 100%;
			background-position: center;
			transition: .3s;
		}
			.business-list li.bl-01 a{ background-image: url('./image/lower/business/list01.jpg'); }
			.business-list li.bl-02 a{ background-image: url('./image/lower/business/list02.jpg'); }
			.business-list li.bl-03 a{ background-image: url('./image/lower/business/list03.jpg'); }
			.business-list li.bl-04 a{ background-image: url('./image/lower/business/list04.jpg'); }
			.business-list li.bl-05 a{ background-image: url('./image/lower/business/list05.jpg'); }
			.business-list li.bl-06 a{ background-image: url('./image/lower/business/list06.jpg'); }
			.business-list li.bl-07 a{ background-image: url('./image/lower/business/list07.jpg'); }
			.business-list li.bl-08 a{ background-image: url('./image/lower/business/list08.jpg'); }
			.business-list li.bl-09 a{ background-image: url('./image/lower/business/list09.jpg'); }
			.business-list li.bl-10 a{ background-image: url('./image/lower/business/list10.jpg'); }
			.business-list li.bl-11 a{ background-image: url('./image/lower/business/list11.jpg'); }
			.business-list li.bl-12 a{ background-image: url('./image/lower/business/list12.jpg'); }

			.business-list li a::before{
				content: '00';
				display: block;
				width: 60px;
				height: 50px;
				font-size: 30px;
				line-height: 50px;
				color: #FFF;
				text-align: center;
				font-family: 'Oswald', sans-serif;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
			}
				.business-list li:nth-child(1) a::before{ content: '01'; }
				.business-list li:nth-child(2) a::before{ content: '02'; }
				.business-list li:nth-child(3) a::before{ content: '03'; }
				.business-list li:nth-child(4) a::before{ content: '04'; }
				.business-list li:nth-child(5) a::before{ content: '05'; }
				.business-list li:nth-child(6) a::before{ content: '06'; }
				.business-list li:nth-child(7) a::before{ content: '07'; }
				.business-list li:nth-child(8) a::before{ content: '08'; }
				.business-list li:nth-child(9) a::before{ content: '09'; }
				.business-list li:nth-child(10) a::before{ content: '10'; }
				.business-list li:nth-child(11) a::before{ content: '11'; }
				.business-list li:nth-child(12) a::before{ content: '12'; }
	
			.business-list li a::after{
				content: '';
				display: block;
				width: 100px;
				height: 100px;
				border-left: 100px solid #d0111b;
				border-bottom: 100px solid transparent;
				box-sizing: border-box;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}


		.business-list li .cover{
			width: 100%;
			height: 370px;
			background-color: rgba(0,0,0,0.5);
			position: relative;
			transition: .3s;
		}
			.business-list li .cover::after{
				content: '';
				width: 0;
				height: 6px;
				background-color: #d0111b;
				position: absolute;
				bottom: 0;
				left: 0;
				z-index: 2;
				transition: .3s;
			}
		.business-list li .text{
			width: 100%;
			height: 160px;
			position: absolute;
			top: 60px;
			left: 0;
			color: #FFF;
			z-index: 1;
			text-align: center;
		}
			.business-list li .text .title{
				font-size: 30px;
				line-height: 50px;
				height: 100px;
				margin-bottom: 20px;
			}
			.business-list li .text .description{
				width: 300px;
				margin: 0 auto;
				font-size: 14px;
				line-height: 20px;
			}
		.business-list li .foot-text{
			width: 100%;
			height: 24px;
			font-size: 15px;
			line-height: 24px;
			position: absolute;
			bottom: 40px;
			left: 0;
			color: #FFF;
			text-align: center;
			z-index: 1;
			transition: .3s;
		}
		.business-list li a:hover{
			background-size: 120%;
		}
			.business-list li a:hover .cover{
				background-color: rgba(0,0,0,0.3);
			}
				.business-list li a:hover .cover::after{
					width: 100%;
				}
			.business-list li a:hover .foot-text{
				color: #d0111b;
			}

	.business-list li.bl-contact{}
		.business-list li.bl-contact a{
			width: 100%;
			height: 370px;
			background-color: #585858;
			transition: .3s;
		}
			.business-list li.bl-contact a::before,
			.business-list li.bl-contact a::after{
				display: none;
			}

		.business-list li .inner{
			width: 350px;
			height: 350px;
			border: 2px solid #aaaaaa;
			position: absolute;
			top: 10px;
			left: 10px;
			text-align: center;
			padding-top: 114px;
		}
			.business-list li .inner .image{
				line-height: 0;
				margin-bottom: 40px;
			}
			.business-list li .inner .contact-title{
				font-size: 30px;
				line-height: 40px;
				color: #FFF;
			}
			.business-list li.bl-contact a:hover{
				background-color: #d0111b;
			}
				.business-list li.bl-contact a:hover img{
					opacity: 1;
				}


/* Header
-------------------------------------------------------------- */
.site-header{
	width: 100%;
	height: 80px;
	background-color: #FFF;
	opacity: 0.9;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	border-bottom: 1px solid #cccccc;
}
	.site-header .inner{
		width: 1150px;
		margin: 0 auto;
	}
	.site-header .logo{
		width: 125px;
		float: left;
		padding: 23px 0;
	}
		.site-header .logo a{
			display: block;
			line-height: 0;
		}
	.site-header .menu{
		width: 1025px;
		float: right;
		text-align: right;
		letter-spacing: -.40em;
	}
		.site-header .menu .global-navi,
		.site-header .menu .global-navi .navi_01{
			display: inline-block;
			vertical-align: top;
		}
			.site-header .menu .global-navi .navi_01 > li{
				display: inline-block;
				letter-spacing: normal;
			}
				.site-header .menu .global-navi .navi_01 > li > a{
					display: block;
					font-size: 13px;
					line-height: 80px;
					font-weight: bold;
					text-align: center;
					color: #000;
					padding: 0 20px;
					transition: .3s;
					position: relative;
				}
					.site-header .menu .global-navi .navi_01 > li > a::after{
						content: '';
						display: block;
						width: 0%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
						background-color: #d0111b;
						z-index: -1;
						transition: .3s;
					}
					.site-header .menu .global-navi .navi_01 > li:hover > a{
						color: #FFF;
					}
						.site-header .menu .global-navi .navi_01 > li:hover > a::after{
							width: 100%;
						}
			.site-header .menu .global-navi .navi_02{
				display: none;
				width: 100%;
				position: absolute;
				top: 80px;
				left: 0;
				padding: 40px 0;
				background-color: rgba(0,0,0,0.9);
			}
				.site-header .menu .global-navi .navi_01 > li:hover .navi_02{
					display: block;
				}
				.site-header .menu .global-navi .navi_02 ul{
					width: 1148px;
					margin: 0 auto;
				}
					.site-header .menu .global-navi .navi_02 ul li{
						width: 220px;
						float: left;
						margin-right: 12px;
						margin-bottom: 30px;
					}
						.site-header .menu .global-navi .navi_02 ul li:nth-child(5n){
							margin-right: 0;
						}
					.site-header .menu .global-navi .navi_02 ul li a{
						display: block;
						color: #FFF;
					}
						.site-header .menu .global-navi .navi_02 ul li .image{
							line-height: 0;
							position: relative;
						}
							.site-header .menu .global-navi .navi_02 ul li a:hover .image::before{
								content: '';
								display: block;
								width: 100%;
								height: 100%;
								background-color: rgba(0,0,0,0.3);
								position: absolute;
								top: 0;
								left: 0;
								z-index: 1;
							}
							.site-header .menu .global-navi .navi_02 ul li a:hover img{
								opacity: 1;
							}
						.site-header .menu .global-navi .navi_02 ul li .text{
							margin-top: -15px;
							text-align: center;
							position: relative;
							z-index: 1;
						}
							.site-header .menu .global-navi .navi_02 ul li .text .main{
								font-size: 20px;
								line-height: 30px;
								border-bottom: 3px solid #585858;
								position: relative;
							}
								.site-header .menu .global-navi .navi_02 ul li .text .main:before{
									content: '';
									display: block;
									width: 0;
									height: 3px;
									background-color: #d0111b;
									transition: .3s;
									position: absolute;
									bottom: -3px;
									left: 0;
								}
								.site-header .menu .global-navi .navi_02 ul li a:hover .text .main:before{
									width: 100%;
								}
							.site-header .menu .global-navi .navi_02 ul li .text .sub{
								font-size: 13px;
								height: 30px;
								line-height: 30px;
							}
				.site-header .menu .global-navi .navi_02 .more-btn{}
					.site-header .menu .global-navi .navi_02 .more-btn a{
						display: block;
						width: 1148px;
						height: 24px;
						margin: 0 auto;
						background-color: #d0111b;
						text-align: center;
						font-size: 14px;
						line-height: 24px;
						color: #FFF;
						transition: .3s;
					}
						.site-header .menu .global-navi .navi_02 .more-btn a:hover{
							background-color: #303030;
						}
						.site-header .menu .global-navi .navi_02 .more-btn a span{
							display: inline-block;
							padding-left: 34px;
							background: url('./image/common/arrow-right_white.png') no-repeat 0 50% / 29px 6px;
						}


		.site-header .menu .side-menu{
			display: inline-block;
		}
			.site-header .menu .side-menu .to-contact{
				display: inline-block;
				vertical-align: top;
			}
				.site-header .menu .side-menu .to-contact a{
					display: block;
					line-height: 0;
					width: 72px;
					height: 80px;
					background-size: 18px 12px;
					background-repeat: no-repeat;
					background-position: center center;
					overflow: hidden;
					text-indent: 100%;
					background-image: url('./image/common/icon-mail.png');
					position: relative;
					transition: .3s;
				}
					.site-header .menu .side-menu .to-contact a::after{
						content: '';
						display: block;
						width: 0%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
						background-color: #d0111b;
						z-index: -1;
						transition: .3s;
					}
					.site-header .menu .side-menu .to-contact a:hover{
						background-image: url('./image/common/icon-mail_on.png');
					}
						.site-header .menu .side-menu .to-contact a:hover::after{
							width: 100%;
						}
			.site-header .menu .side-menu .lang-change{
				display: inline-block;
				vertical-align: top;
				letter-spacing: normal;
				margin-left: 15px;
				padding: 25px 0;
			}
				.site-header .menu .side-menu .lang-change .l-box{
					width: 50px;
					height: 30px;
					float: left;
					border: 1px solid #d0111b;
					font-size: 14px;
					line-height: 28px;
					text-align: center;
					position: relative;
					z-index: 2;
				}
					.site-header .menu .side-menu .lang-change .l-box:nth-child(n+2){
						margin-left: -1px;
					}
					.site-header .menu .side-menu .lang-change  a.l-box{
						border-color: #000000;
						color: #000000;
						z-index: 1;
					}
						.site-header .menu .side-menu .lang-change  a.l-box:hover{
							color: #d0111b;
						}
			.site-header .menu .side-menu .gold-award{
				display: none;
			}

	.site-header .menu-btn{
		display: none;
	}


/* TOP Page
-------------------------------------------------------------- */
.main-visual{
	width: 100%;
	position: relative;
}
.main-visual img{
	width: 100%;
}
	.main-visual .slider{}
		.main-visual .slider .inner{
			width: 100%;
			height: 700px;
			background-position: center;
			background-size: cover;
		}
			.main-visual .slider .inner.catch_01{ background-image: url('./image/toppage/catch_01.jpg'); }
			.main-visual .slider .inner.catch_02{ background-image: url('./image/toppage/catch_02.jpg'); }
			.main-visual .slider .inner.catch_03{ background-image: url('./image/toppage/catch_03.jpg'); }
		.main-visual .slider .slick-dots{
			width: 100%;
			position: absolute;
			bottom: 5%;
			left: 0;
			text-align: center;
			letter-spacing: -.40em;
			z-index: 10;
		}
			.main-visual .slider .slick-dots li{
				display: inline-block;
				margin: 0 5px;
			}
				.main-visual .slider .slick-dots li button{
					display: block;
					width: 80px;
					height: 2px;
					overflow: hidden;
					text-indent: 100%;
					background-color: #585858;
				}
				.main-visual .slider .slick-dots li.slick-active button{
					background-color: #d0111b;
				}
	.main-visual .logo{
		width: 100%;
		height: 100%;
		/*background-color: rgba(255,255,255,0.6);*/
		position: absolute;
		top: 0;
		left: 0;
	}
		.main-visual .logo .inner{
			width: 120px;
			height: 191px;
			line-height: 0;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}

.full-video {
}
	.full-video video {
		width: 100%;
		height: auto;
/*
		right: 0;
		bottom: 0;
		min-height: 100%;
		width: auto;
		height: auto;
		text-align: center;
*/
	}
	.full-video video img {
		width: 100%;
		height: auto;
	}

body.home .main-wrapper {
	position: relative;
	
	margin-bottom: 70px;
}
	body.home .site-header {
		position: absolute;
		border-top: 1px solid #cccccc;
		
	  position: fixed;
		top: -1px;
		left: 0;
	}
	body.home .site-header.fixed {
	  position: fixed;
		top: -1px;
		left: 0;
	}
	body.home .main-visual {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		
		position: relative;
	}

/* News */
.home-news{
	padding: 140px 0;
	padding-top: 90px;
/*
	padding-top: 875px;
*/
}
	.home-news .inner-left{
		width: calc(100% - 814px);
		float: left;
		padding-top: 50px;
	}
		.home-news .inner-left .default-title{
			width: 200px;
			margin: 0 auto;
			text-align: left;
		}
		.home-news .inner-left .default-btn{
			width: 200px;
			margin: 0 auto;
		}
	.home-news .inner-right{
		width: 814px;
		float: right;
	}

/* Business */
.home-business{
	padding-bottom: 140px;
}
	.home-business .content-head{
		margin-bottom: 60px;
	}
		.home-business .content-head .text{
			width: 700px;
			margin: 0 auto;
			font-size: 13px;
			font-weight: bold;
			line-height: 20px;
		}

/* QOR */
.home-quality{
/*	background-color: #d0111b;*/
	background-color: #585858;
	padding-top: 80px;
	padding-bottom: 520px;
	position: relative;
	z-index: 1;
}
	.home-quality .content-frame{}
	.home-quality .content-head{
		text-align: center;
		margin-bottom: 40px;
	}
		.home-quality .content-head .default-title{
			color: #FFF;
		}
		.home-quality .content-head .text{
			width: 700px;
			margin: 0 auto;
			color: #FFF;
			font-size: 13px;
			font-weight: bold;
			line-height: 20px;
		}

	.home-quality .movie-frame{
		width: 1150px;
		height: auto;
		overflow: hidden;
		position: absolute;
		bottom: -140px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
		cursor: pointer;
	}
		.home-quality .movie-frame .video{
			position: relative;
			width: 100%;
			padding-top: 56.25%;
		}
			.home-quality .movie-frame .video iframe{
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100% !important;
				height: 100% !important;
			}
			.home-quality .movie-frame .video .btn{
				width: 94px;
				height: 94px;
				line-height: 0;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background-size: 94px 94px;
				background-position: center;
				background-image: url('./image/common/play.png');
				z-index: 3;
			}
				.home-quality .movie-frame .video:hover .btn{
					background-image: url('./image/common/play_on.png');
				}
				.home-quality .movie-frame .video .btn.play{
					display: none;
				}

/*
		.home-quality .movie-frame a{
			display: block;
			width: 1150px;
			height: 640px;
			position: relative;
			z-index: 1;
		}
			.home-quality .movie-frame a .btn{
				width: 94px;
				height: 94px;
				line-height: 0;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				background-size: 94px 94px;
				background-position: center;
				background-image: url('./image/common/play.png');
			}
				.home-quality .movie-frame a:hover .btn{
					background-image: url('./image/common/play_on.png');
				}
		.home-quality .movie-frame .back-movie{
			width: 100%;
			height: 645px;
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: 0;
			transform: translate(-50%, -50%);
		}
*/
.home-quality{
	padding-bottom: 60px;
	padding-bottom: 50px;
}
	.home-quality .content-head {
		margin-bottom: 60px;
	}
	.home-qor .text{
		margin-top: 8px;
	}
	.home-qor li{
		line-height: 125%;
		color: #FFF;
		width: 370px;
		float: left;
		margin-right: 20px;
		margin-bottom: 30px;
	}
		.home-qor li:nth-child(3n+2){
			transition-delay: .1s;
		}
		.home-qor li:nth-child(3n){
			transition-delay: .2s;
			margin-right: 0;
		}
		.home-qor li .video{
			width: 100%;
			padding-top: 56.25%;
			position: relative;
		}
			.home-qor li .video iframe{
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
.home-quality .default-btn {
  margin-top: 20px;
}
.home-qor-video {
	margin-bottom: 90px;
}

/* RACING */
.home-quality.home-racing{
	background-color: #858585;
}
/* Facility */
.home-facility{
	min-width: 1150px;
	padding-top: 100px;
	position: relative;
}
	.home-facility .inner-right{
		width: 50%;
		position: absolute;
		top: calc(50% + 100px);
		left: 50%;
		transform: translateY(-50%);
		padding-left: 80px;
	}
		.home-facility .inner-right .default-title{
			text-align: left;
		}
		.home-facility .inner-right .text{
			width: 400px;
			text-align: justify;
			font-size: 13px;
			line-height: 24px;
			margin-bottom: 20px;
		}
		.home-facility .inner-right .default-btn{}
	.home-facility .inner-left{
		width: 50%;
		float: left;
		line-height: 0;
	}

/* Company */
.home-company{
	padding: 130px 0;
	background: url('./image/toppage/company-back.jpg') no-repeat center center / cover;
}
	.home-company .default-title{
		margin-bottom: 100px;
	}
	.home-company .company-menu{
		width: 820px;
		margin: 0 auto;
	}
		.home-company .company-menu li{
			width: 220px;
			float: left;
			margin-right: 80px;
		}
			.home-company .company-menu li:nth-child(2){
				transition-delay: .1s;
			}
			.home-company .company-menu li:last-child{
				transition-delay: .2s;
				margin-right: 0;
			}
			.home-company .company-menu li a{
				display: block;
				height: 220px;
				position: relative;
				overflow: hidden;
				background-color: #d0111b;
			}
				.home-company .company-menu li a::before{
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					position: absolute;
					top: 0;
					left: -100%;
					background-color: #303030;
					z-index: 1;
					transition: .3s;
				}
					.home-company .company-menu li a:hover::before{
						left: 0;
					}
			.home-company .company-menu li .inner{
				width: 100%;
				position: absolute;
				top: 60px;
				left: 0;
				text-align: center;
				z-index: 2;
				color: #FFF;
			}
				.home-company .company-menu li .inner .main{
					font-size: 30px;
					line-height: 36px;
					margin-bottom: 10px;
				}
				.home-company .company-menu li .inner .sub{
					font-size: 13px;
					height: 18px;
					line-height: 18px;
					margin-bottom: 40px;
				}
				.home-company .company-menu li .inner .discover{
					font-size: 15px;
					line-height: 20px;
					color: #303030;
					transition: .3s;
				}
					.home-company .company-menu li a:hover .inner .discover{
						color: #FFF;
					}


/* Sponsor */
.home-sponsor{
	position: relative;
}
	.home-sponsor .inner-left{
		width: 50%;
		min-width: 575px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
		.home-sponsor .inner{
			width: 450px;
			position: absolute;
			top: 150px;
			left: calc(50% - 225px);
		}
			.home-sponsor .inner.fixed{
				left: calc(25% - 225px);
				position: fixed;
			}
			.home-sponsor .inner.bottom{
				left: calc(50% - 225px);
				top: auto;
				bottom: 150px;
				position: absolute;
			}

			.home-sponsor .inner .default-title{
				text-align: left;
			}
			.home-sponsor .inner .text-box{
				margin-bottom: 20px;
			}
				.home-sponsor .inner .text-box .logo{
					width: 75px;
					float: left;
					padding-top: 30px;
				}
				.home-sponsor .inner .text-box .text{
					width: 350px;
					float: right;
				}
					.home-sponsor .inner .text-box .text p{
						font-size: 13px;
						line-height: 24px;
						text-align: justify;
					}
			.home-sponsor .inner .default-btn{}
	.home-sponsor .inner-right{
		width: 50%;
		min-width: 575px;
		min-height: 660px;
		float: right;
	}
		.home-sponsor .inner-list{}
			.home-sponsor .inner-list li{}
				.home-sponsor .inner-list li a{
					display: block;
					position: relative;
					background-size: 100%;
					background-position: center;
					transition: .3s;
				}
				.home-sponsor .inner-list li .text{
					width: 84%;
					height: 40px;
					position: absolute;
					top: 50%;
					left: 8%;
					text-align: left;
					z-index: 2;
					transform: translateY(-50%);
				}
					.home-sponsor .inner-list li:nth-child(2n) .text{
						text-align: right;
					}
					.home-sponsor .inner-list li .text .title{
						font-size: 30px;
						line-height: 40px;
						color: #FFF;
					}
				.home-sponsor .inner-list li .cover{
					width: 100%;
					height: 220px;
					/*background-color: rgba(0,0,0,0.5);*/
					position: relative;
					transition: .3s;
				}
					.home-sponsor .inner-list li .cover::after{
						content: '';
						width: 0;
						height: 6px;
						background-color: #d0111b;
						position: absolute;
						bottom: 0;
						left: 0;
						z-index: 1;
						transition: .3s;
					}
					.home-sponsor .inner-list li a:hover{
						background-size: 120%;
					}
						.home-sponsor .inner-list li a:hover .cover{
							background-color: rgba(0,0,0,0.3);
						}
							.home-sponsor .inner-list li a:hover .cover::after{
								width: 100%;
							}

/* Award */
.home-award{
	display: flex;
	position: relative;
	padding-top: 140px;
	padding-bottom: 90px;
}
	.home-award .inner-left{
		width: calc(100% - (814px + ((100% - 1150px) / 2)));
	}
		.home-award .inner{
			width: 350px;
			margin-top: 30px;
			margin-left: auto;
			margin-right: 0;
		}
			.home-award .inner .default-title{
				text-align: left;
			}
			.home-award .inner .text-box{
				margin-bottom: 20px;
			}
					.home-award .inner .text-box .text p{
						font-size: 13px;
						line-height: 24px;
						text-align: justify;
					}
	.home-award .inner-right{
		width: calc(814px + ((100% - 1150px) / 2));
		overflow: hidden;
	}
.home-award .slick-slider {
	margin-right: -100px;
}
	.home-award .slick-slider .slick-prev {
		left: 20px;
	}
	.home-award .slick-slider .slick-next {
		right: 110px;
	}
.award-slider-slide {
	margin: 0 10px;
	text-align: center;
}
	.award-slider-slide a {
		display: block;
		text-align: center;
	}
	.award-slider-slide img {
		width: 100%
		height: auto;
	}

/* Lower Page
-------------------------------------------------------------- */
.lower-header{
	width: 100%;
	height: 500px;
	background-size: cover;
	background-position: center;
	position: relative;
}
	.lower-header .lower-title{
		width: 100%;
		position: absolute;
		top: calc(50% + 40px);
		left: 0;
		transform: translateY(-50%);
	}
		.lower-header .lower-title .en{
			font-size: 80px;
			line-height: 100px;
			color: #FFF;
		}
		.lower-header .lower-title .sub{
			font-size: 18px;
			line-height: 24px;
			color: #FFF;
		}
	.lower-header.no-back{
		height: 370px;
	}
		.lower-header.no-back .lower-title{
			top: 160px;
			transform: none;
		}
	.lower-header.main-color .lower-title .en{
		color: #d0111b;
	}
	.lower-header.main-color .lower-title .sub{
		color: #000;
	}

	.company-frame .lower-header{
		background-image: url('./image/lower/company/mv.jpg');
	}
	.gallery-frame .lower-header{
		background-image: url('./image/lower/gallery/mv.png');
	}
	.facility-frame .lower-header{
		background-image: url('./image/lower/facility/mv.jpg');
	}


.lower-news{
	padding-bottom: 100px;
}
	.lower-news .lower-title{
		width: 200px;
		margin: 0 auto;
		text-align: left;
	}
	.lower-news-list{
		border-top: 1px solid #eeeeee;
	}
		.lower-news-list li{
			border-bottom: 1px solid #eeeeee;
			padding: 6px;
		}
			.lower-news-list li a{
				display: block;
				padding: 25px 36px;
				position: relative;
			}
			.lower-news-list li .inner-left{
				width: 460px;
				float: left;
				padding-top: 20px;
				font-weight: bold;
			}
				.lower-news-list li .inner-left .date{
					display: block;
					font-size: 15px;
					margin-bottom: 10px;
					color: #d0111b;
					transition: .3s;
				}
				.lower-news-list li .inner-left .title{
					font-size: 13px;
					color: #000;
					transition: .3s;
				}
			.lower-news-list li .inner-right{
				width: 240px;
				float: right;
				line-height: 0;
			}
				.lower-news-list li a::before{
					content: '';
					display: block;
					width: 0%;
					height: 100%;
					position: absolute;
					top: 0;
					left: 0;
					background-color: #d0111b;
					z-index: -1;
					transition: .5s;
				}
				.lower-news-list li a:hover::before{
					width: 100%;
				}
					.lower-news-list li a:hover img{
						opacity: 1;
					}
					.lower-news-list li a:hover .inner-left .date,
					.lower-news-list li a:hover .inner-left .title{
						color: #FFF;
					}


/* Business
-------------------------------------------------------------- */
.businesslist-frame{}
	.businesslist-frame .lower-header{}
		.businesslist-frame .lower-header .lower-title .en{
			font-size: 80px;
			line-height: 100px;
			margin-bottom: 10px;
			color: #d0111b;
		}
		.businesslist-frame .lower-header .lower-title .sub{
			font-size: 18px;
			line-height: 20px;
			color: #000;
		}

.business-frame{
	font-weight: bold;
}
	.business-frame .business-header{
		width: 100%;
		height: 500px;
		background-size: cover;
		background-position: center;
		position: relative;
	}
		.business-frame .business-header_01{ background-image: url('./image/lower/business/mv01.jpg'); }
		.business-frame .business-header_02{ background-image: url('./image/lower/business/mv02.jpg'); }
		.business-frame .business-header_03{ background-image: url('./image/lower/business/mv03.jpg'); }
		.business-frame .business-header_04{ background-image: url('./image/lower/business/mv04.jpg'); }
		.business-frame .business-header_05{ background-image: url('./image/lower/business/mv05.jpg'); }
		.business-frame .business-header_06{ background-image: url('./image/lower/business/mv06.jpg'); }
		.business-frame .business-header_07{ background-image: url('./image/lower/business/mv07.jpg'); }
		.business-frame .business-header_08{ background-image: url('./image/lower/business/mv08.jpg'); }
		.business-frame .business-header_09{ background-image: url('./image/lower/business/mv09.jpg'); }
		.business-frame .business-header_10{ background-image: url('./image/lower/business/mv10.jpg'); }
		.business-frame .business-header_11{ background-image: url('./image/lower/business/mv11.jpg'); }
		.business-frame .business-header_12{ background-image: url('./image/lower/business/mv12.jpg'); }

		.business-frame .business-header .lower-title{
			width: 100%;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}
			.business-frame .business-header .lower-title .en{
				font-size: 80px;
				line-height: 100px;
				color: #FFF;
			}
			.business-frame .business-header .lower-title .sub{
				font-size: 18px;
				line-height: 24px;
				color: #FFF;
			}

	.business-frame .business-body{
		position: relative;
	}
		.business-frame .business-body .number{
			width: 200px;
			height: 200px;
			position: absolute;
			top: 0;
			left: 0;
		}
			.business-frame .business-body .number::before{
				content: '';
				display: block;
				width: 200px;
				height: 200px;
				border-left: 200px solid #d0111b;
				border-bottom: 200px solid transparent;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
				box-sizing: border-box;
			}
			.business-frame .business-body .number span{
				display: block;
				width: 120px;
				line-height: 100px;
				text-align: center;
				color: #FFF;
				font-size: 60px;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
			}
		.business-frame .business-body .inner{
			width: 1150px;
			margin: 0 auto;
			padding: 100px 0;
		}
			.business-frame .business-body .inner .title{
				font-size: 30px;
				font-weight: bold;
				color: #d0111b;
				text-align: center;
				line-height: 42px;
				margin-bottom: 30px;
			}
			.business-frame .business-body .inner .text{
				width: 700px;
				margin: 0 auto;
			}
				.business-frame .business-body .inner .text p{
					font-size: 13px;
					line-height: 26px;
					margin-bottom: 30px;
					text-align: justify;
				}
				.business-frame .business-body .inner .text p:last-child{
					margin-bottom: 0;
				}

	.business-frame .image-area{
		min-width: 1150px;
	}
		.business-frame .image-area .main-image{
			line-height: 0;
		}
			.business-frame .image-area .main-image img{
				width: 100%;
			}
			.business-frame .image-area .main-image img.display-sp{
				display: none;
			}
		.business-frame .image-area .slick-arrow{
			display: block !important;
			position: absolute;
			top: calc(50% - 55px);
			transform: translateY(-50%);
			z-index: 10;
			background-color: transparent;
			width: 24px;
			height: 48px;
			overflow: hidden;
			text-indent: 100%;
			cursor: pointer;
		}
		.business-frame .image-area .slick-prev{
			left: calc(50% - 575px);
			background: url('./image/common/arrow-left-p_gray.png') no-repeat 0 0 / 24px 48px;
		}
		.business-frame .image-area .slick-next{
			right: calc(50% - 575px);
			background: url('./image/common/arrow-right-p_gray.png') no-repeat 0 0 / 24px 48px;
		}
		.business-frame .image-area .slick-dots{
			width: 1150px;
			margin: 0 auto;
			text-align: right;
			letter-spacing: -.40em;
			padding: 20px 0;
		}
			.business-frame .image-area .slick-dots li{
				display: inline-block;
				margin-left: 20px;
				background-position: center;
				background-size: cover;
			}
				.business-frame .image-area .slick-dots li button{
					display: block;
					width: 70px;
					height: 70px;
					overflow: hidden;
					text-indent: 100%;
					background-color: rgba(0,0,0,0.3);
					cursor: pointer;
				}
					.business-frame .image-area .slick-dots li.slick-active button,
					.business-frame .image-area .slick-dots li button:hover{
						background-color: transparent;
					}
			.business-frame .image-area.business01 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail01_01thumb.jpg'); }
			.business-frame .image-area.business01 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail01_02thumb.jpg'); }
			.business-frame .image-area.business01 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail01_03thumb.jpg'); }
			.business-frame .image-area.business02 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail02_01thumb.jpg'); }
			.business-frame .image-area.business02 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail02_02thumb.jpg'); }
			.business-frame .image-area.business02 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail02_03thumb.jpg'); }
			.business-frame .image-area.business03 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail03_01thumb.jpg'); }
			.business-frame .image-area.business03 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail03_02thumb.jpg'); }
			.business-frame .image-area.business03 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail03_03thumb.jpg'); }
			.business-frame .image-area.business04 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail04_01thumb.jpg'); }
			.business-frame .image-area.business04 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail04_02thumb.jpg'); }
			.business-frame .image-area.business04 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail04_03thumb.jpg'); }
			.business-frame .image-area.business05 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail05_01thumb.jpg'); }
			.business-frame .image-area.business05 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail05_02thumb.jpg'); }
			.business-frame .image-area.business05 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail05_03thumb.jpg'); }
			.business-frame .image-area.business05 .slick-dots li:nth-child(4){ background-image: url('./image/lower/business/detail05_04thumb.jpg'); }
			.business-frame .image-area.business06 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail06_01thumb.jpg'); }
			.business-frame .image-area.business06 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail06_02thumb.jpg'); }
			.business-frame .image-area.business06 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail06_03thumb.jpg'); }
			.business-frame .image-area.business07 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail07_01thumb.jpg'); }
			.business-frame .image-area.business07 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail07_02thumb.jpg'); }
			.business-frame .image-area.business07 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail07_03thumb.jpg'); }
			.business-frame .image-area.business08 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail08_01thumb.jpg'); }
			.business-frame .image-area.business08 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail08_02thumb.jpg'); }
			.business-frame .image-area.business08 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail08_03thumb.jpg'); }
			.business-frame .image-area.business09 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail09_01thumb.jpg'); }
			.business-frame .image-area.business09 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail09_02thumb.jpg'); }
			.business-frame .image-area.business09 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail09_03thumb.jpg'); }
			.business-frame .image-area.business10 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail10_01thumb.jpg'); }
			.business-frame .image-area.business10 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail10_02thumb.jpg'); }
			.business-frame .image-area.business10 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail10_03thumb.jpg'); }
			.business-frame .image-area.business11 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail11_01thumb.jpg'); }
			.business-frame .image-area.business11 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail11_02thumb.jpg'); }
			.business-frame .image-area.business11 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail11_03thumb.jpg'); }

	.business-frame .cfrp-description{
		background: url('./image/lower/business/detail03back.jpg') no-repeat center center / cover;
	}
		.business-frame .cfrp-description .inner{
			width: 1020px;
			margin: 0 auto;
			padding: 100px 0;
			color: #FFF;
			font-size: 13px;
			line-height: 24px;
			text-align: justify;
		}
		.business-frame .cfrp-description .inner-left{
			width: 480px;
			float: left;
		}
			.business-frame .cfrp-description .inner-left h3{
				font-size: 18px;
				font-weight: bold;
				line-height: 32px;
				padding-bottom: 12px;
				margin-bottom: 20px;
				border-bottom: 4px solid #cf121b;
			}
		.business-frame .cfrp-description .inner-right{
			width: 480px;
			float: right;
		}
			.business-frame .cfrp-description .inner-right ul{
				padding-left: 20px;
			}
				.business-frame .cfrp-description .inner-right ul li{
					list-style: disc;
				}


	.business-frame .business-block{}
		.business-frame .business-block section{
			display: -webkit-flex;
			display: flex;
			-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
			background-color: #eeeeee;
		}
			.business-frame .business-block section .text{
				width: 50%;
				line-height: 0;
				position: relative;
			}
				.business-frame .business-block section .text .inner{
					width: 480px;
					position: absolute;
					top: 50%;
					left: calc(50% - 240px);
					transform: translateY(-50%);
				}
				.business-frame .business-block section .text h3{
					font-size: 18px;
					font-weight: bold;
					line-height: 32px;
					padding-bottom: 12px;
					margin-bottom: 20px;
					border-bottom: 4px solid #cf121b;
				}
				.business-frame .business-block section .text p{
					font-size: 13px;
					line-height: 24px;
					text-align: justify;
					margin-bottom: 20px;
				}
					.business-frame .business-block section .text p:last-child{
						margin-bottom: 0;
					}
				.business-frame .business-block section .text .movie-box{
					background-color: #FFF;
				}
					.business-frame .business-block section .text .movie-box a{
						display: block;
					}
					.business-frame .business-block section .text .movie-box .movie-left{
						width: 270px;
						float: left;
						line-height: 0;
					}
					.business-frame .business-block section .text .movie-box .movie-right{
						width: calc(100% - 270px);
						float: right;
						padding: 45px 20px;
					}
						.business-frame .business-block section .text .movie-box .movie-right p{
							font-size: 13px;
							font-weight: bold;
							line-height: 28px;
							color: #d0111b;
						}
			.business-frame .business-block section .image{
				width: 50%;
				line-height: 0;
			}
			.business-frame .business-block section .image img{
				width: 100%;
			}

			.business-frame .business-block section:nth-of-type(2n){
				-webkit-flex-direction: row-reverse;
				flex-direction: row-reverse;
			}

.hero-x-list{
	background-color: #ebf0f3;
	border-top: 7px solid #d0111b;
	padding: 70px 0;
}
	.hero-x-list .title{
		font-size: 18px;
		text-align: center;
		margin-bottom: 40px;
	}
	.hero-x-list .inner-list{
		width: 1150px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
		.hero-x-list .inner-list li{
			width: 274px;
			margin-right: 18px;
			float: left;
		}
			.hero-x-list .inner-list li:nth-child(4n){
				margin-right: 0;
			}
			.hero-x-list .inner-list li a{
				display: block;
			}
				.hero-x-list .inner-list li a:hover{
					opacity: 0.7;
				}
				.hero-x-list .inner-list li a:hover img{
					opacity: 1;
				}
				.hero-x-list .inner-list li .image{
					line-height: 0;
					margin-bottom: 10px;
				}
				.hero-x-list .inner-list li .text{
					font-weight: bold;
					line-height: 20px;
					color: #000;
				}
					.hero-x-list .inner-list li .text .meta{
						font-size: 14px;
						vertical-align: top;
						letter-spacing: 0.1em;
						margin-bottom: 4px;
					}
						.hero-x-list .inner-list li .text .meta .category{}
						.hero-x-list .inner-list li .text .meta .date{}
					.hero-x-list .inner-list li .text .title{
						font-size: 13px;
						text-align: justify;
					}

/* Company
-------------------------------------------------------------- */
.company-frame{}
	.company-frame .profile{
		padding: 60px 0;
	}
		.company-frame .profile .profile-table{
			width: 1150px;
			margin: 0 auto;
			table-layout: fixed;
			font-size: 13px;
			line-height: 24px;
			font-weight: bold;
		}
			.company-frame .profile .profile-table tr{}
				.company-frame .profile .profile-table th,
				.company-frame .profile .profile-table td{
					padding: 20px 0;
				}
				.company-frame .profile .profile-table th{
					width: 210px;
					background-color: #cf121b;
					color: #FFF;
					border-bottom: 1px solid #af0008;
					vertical-align: top;
				}
				.company-frame .profile .profile-table td{
					width: 740px;
					border-bottom: 1px solid #eeeeee;
					padding-left: 50px;
				}
				.company-frame .profile .profile-table td.inner-left{
					width: 200px;
				}
					.company-frame .profile .profile-table td dl{}
						.company-frame .profile .profile-table td dt{
							width: 160px;
							float: left;
						}
				.company-frame .profile .profile-table td.business-td{
					line-height: 0;
				}
					.company-frame .profile .profile-table td ul{
						width: 660px;
					}
						.company-frame .profile .profile-table td ul li{
							width: 200px;
							height: 70px;
							float: left;
							margin-right: 20px;
							margin-bottom: 30px;
							line-height: 40px;
							padding: 15px 0 15px 80px;
							background-position: left center;
							background-repeat: no-repeat;
						}
							.company-frame .profile .profile-table td ul li.double{
								line-height: 20px;
							}
							.company-frame .profile .profile-table td ul li span{}
							.company-frame .profile .profile-table td ul li:nth-child(1){ background-image: url('./image/lower/company/icon_01.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(2){ background-image: url('./image/lower/company/icon_02.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(3){ background-image: url('./image/lower/company/icon_03.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(4){ background-image: url('./image/lower/company/icon_04.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(5){ background-image: url('./image/lower/company/icon_05.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(6){ background-image: url('./image/lower/company/icon_06.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(7){ background-image: url('./image/lower/company/icon_07.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(8){ background-image: url('./image/lower/company/icon_08.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(9){ background-image: url('./image/lower/company/icon_09.png'); }
							.company-frame .profile .profile-table td ul li:nth-child(10){ background-image: url('./image/lower/company/icon_10.png'); margin-bottom: 0; }
							.company-frame .profile .profile-table td ul li:nth-child(11){ background-image: url('./image/lower/company/icon_11.png'); margin-bottom: 0; }
							.company-frame .profile .profile-table td ul li:nth-child(12){ background-image: url('./image/lower/company/icon_12.png'); margin-bottom: 0; }

		.company-frame .profile .bottom-box{
			background-color: #eeeeee;
			font-size: 13px;
			line-height: 24px;
			font-weight: bold;
		}
			.company-frame .profile .bottom-box .inner-section{
				width: 1150px;
				margin: 0 auto;
				display: -webkit-flex;
				display: flex;
				-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
			}
				.company-frame .profile .bottom-box .inner-section .inner-line{
					width: 200px;
					border-bottom: 1px solid #bababa;
				}
				.company-frame .profile .bottom-box .inner-section .inner-image{
					width: 210px;
					position: relative;
					background-color: #FFF;
					border-bottom: 1px solid #eeeeee;
				}
					.company-frame .profile .bottom-box .inner-section .inner-image h3{
						width: 100%;
						text-align: center;
						position: absolute;
						top: 50%;
						left: 0;
						transform: translateY(-50%);
						line-height: 0;
					}
				.company-frame .profile .bottom-box .inner-section .inner-text{
					width: 740px;
					padding: 30px 0 30px 50px;
					border-bottom: 1px solid #bababa;
					text-align: justify;
				}
				.company-frame .profile .bottom-box .inner-section:last-child .inner-line,
				.company-frame .profile .bottom-box .inner-section:last-child .inner-image,
				.company-frame .profile .bottom-box .inner-section:last-child .inner-text{
					border-bottom: none;
				}
	.company-frame .access{}
		.company-frame .access .inner-section{
			margin-bottom: 200px;
			position: relative;
		}
			.company-frame .access .inner-section .back-map{
				width: 100%;
				height: 640px;
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
			}
				.company-frame .access .inner-section .back-map.map01{ background-image: url('./image/lower/company/access-map01.png'); }
				.company-frame .access .inner-section .back-map.map02{ background-image: url('./image/lower/company/access-map02.png'); }
			.company-frame .access .inner-section .access-box{
				width: 380px;
				min-height: 650px;
				position: absolute;
				top: 80px;
				left: calc(50% - 575px);
				background-color: #cf121b;
				padding: 40px 0;
				color: #FFF;
			}
				.company-frame .access .inner-section:nth-child(2n+1) .access-box{
					left: auto;
					right: calc(50% - 575px);
				}
				.company-frame .access .inner-section .access-box .inner-image{
					width: 300px;
					margin: 0 auto 10px auto;
					line-height: 0;
				}
				.company-frame .access .inner-section .access-box .title{
					margin-left: 40px;
					margin-bottom: 60px;
					font-weight: bold;
				}
					.company-frame .access .inner-section .access-box .title h3{
						font-size: 18px;
						line-height: 36px;
						border-bottom: 2px solid #eeeeee;
					}
					.company-frame .access .inner-section .access-box .title p{
						font-size: 13px;
						line-height: 36px;
					}
				.company-frame .access .inner-section .access-box .description{
					width: 300px;
					margin: 0 auto;
					font-size: 13px;
					line-height: 24px;
					font-weight: bold;
				}
					.company-frame .access .inner-section .access-box .description p{
						margin-bottom: 30px;
					}
				.company-frame .access .inner-section .access-box .default-btn{
					width: 300px;
					margin: 0 auto;
				}
					.company-frame .access .inner-section .access-box .default-btn a span.db-default{
						color: #FFF;
					}
					.company-frame .access .inner-section .access-box .default-btn a span.db-hover{
						font-weight: bold;
					}
					.company-frame .access .inner-section .access-box .default-btn a::before{
						background-size: 116px 6px;
						background-image: url('./image/common/backarrow-right_blackwhite.png');
					}
				.company-frame .access .inner-section .access-box .googlemap{
					width: 100%;
					height: 0;
					position: absolute;
					top: 100%;
					left: 0;
					z-index: 10;
					overflow: hidden;
					transition: .3s;
				}
					.company-frame .access .inner-section .access-box .googlemap.on{
						height: 380px;
					}
					.company-frame .access .inner-section .access-box .googlemap > div{
						width: 100%;
						height: 380px;
					}

/* Concept
-------------------------------------------------------------- */
.concept-frame{
	min-width: 1150px;
}
	.concept-frame .top-cover{
		background: url('./image/lower/concept/back-image.png') no-repeat center / cover;
		padding-top: 160px;
		padding-bottom: 80px;
		
		background: none;
		padding-top: 120px;
		padding-bottom: 0;
	}
		.concept-frame .top-cover .concept-header{
			display: none;
			margin-bottom: 60px;
		}
			.concept-frame .top-cover .concept-header .lower-title{}
				.concept-frame .top-cover .concept-header .lower-title .en{
					color: #FFF;
				}
				.concept-frame .top-cover .concept-header .lower-title .sub{
					color: #FFF;
				}
		.concept-frame .top-cover .concept-box{
			width: 1050px;
			margin: 0 auto;
			background-color: #FFF;
			padding: 60px 0;
			
			padding-bottom: 0;
		}
			.concept-frame .top-cover .concept-box .inner-image{
				text-align: center;
				line-height: 0;
				margin-bottom: 30px;
			}
			.concept-frame .top-cover .concept-box .title{
				font-size: 32px;
				font-weight: bold;
				line-height: 40px;
				color: #d0111b;
				text-align: center;
				margin-bottom: 30px;
			}
			.concept-frame .top-cover .concept-box .text{
				width: 700px;
				margin: 0 auto;
				font-size: 13px;
				font-weight: bold;
				line-height: 26px;
				text-align: justify;
			}
	.concept-frame .bottom-cover{
		padding: 80px 0;
	}
		.concept-frame .bottom-cover .lower-title .en{
			font-size: 50px;
		}
		.concept-frame .bottom-cover ul{
			width: 1050px;
			width: 1150px;
			margin: 0 auto;
		}
	.concept-frame .text{
		margin-top: 8px;
	}
	.concept-frame li{
		line-height: 125%;
		width: 370px;
		float: left;
		margin-right: 20px;
		margin-bottom: 30px;
	}
		.concept-frame li:nth-child(3n+2){
			transition-delay: .1s;
		}
		.concept-frame li:nth-child(3n){
			transition-delay: .2s;
			margin-right: 0;
		}
		.concept-frame li .video{
			width: 100%;
			padding-top: 56.25%;
			position: relative;
		}
			.concept-frame li .video iframe{
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
/*
			.concept-frame .bottom-cover ul li{
				width: 480px;
				float: left;
				margin-right: 90px;
				margin-bottom: 30px;
			}
				.concept-frame .bottom-cover ul li:nth-child(2n){
					margin-right: 0;
				}
				.concept-frame .bottom-cover ul li .video{
					width: 100%;
					padding-top: 56.25%;
					position: relative;
				}
					.concept-frame .bottom-cover ul li .video iframe{
						width: 100%;
						height: 100%;
						position: absolute;
						top: 0;
						left: 0;
					}
*/

/* Sponsor
-------------------------------------------------------------- */
.sponsor-frame{
	width: 100%;
	min-width: 1150px;
}
	.sponsor-frame .sponsor-header{
		margin-bottom: 40px;
	}
		.sponsor-frame .sponsor-header .lead-text{
			width: 720px;
			margin: 0 auto;
			font-size: 13px;
			line-height: 24px;
			font-weight: bold;

			text-align: justify;
		}

	.sponsor-frame .sponsor-list{
		padding-top: 100px;
	}
		.sponsor-frame .sponsor-list .sponsor-box{
			margin-top: -100px;
			display: -webkit-flex;
			display: flex;
			-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-flex-direction: row-reverse;
			flex-direction: row-reverse;
		}
			.sponsor-frame .sponsor-list .sponsor-box:nth-child(2n){
				-webkit-flex-direction: row;
				flex-direction: row;
			}
			.sponsor-frame .sponsor-list .sponsor-box .inner-right{
				width: 50%;
				line-height: 0;
				position: relative;
			}
				.sponsor-frame .sponsor-list .sponsor-box .inner-right img{
					width: 100%;
				}
				.sponsor-frame .sponsor-list .sponsor-box .inner-right .web_link{
					width: 200px;
					position: absolute;
					top: 100px;
					left: 0;
					background-color: #FFF;
				}
					.sponsor-frame .sponsor-list .sponsor-box:first-child .inner-right .web_link{
						top: 0;
					}
					.sponsor-frame .sponsor-list .sponsor-box:nth-child(2n) .inner-right .web_link{
						left: auto;
						right: 0;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-right .web_link a{
						display: block;
						padding: 15px 20px 15px 80px;
						font-size: 14px;
						line-height: 25px;
						background: #d0111b url('./image/common/external_white.png') no-repeat 30px 50%;
						color: #FFF;
					}
						.sponsor-frame .sponsor-list .sponsor-box .inner-right .web_link a:hover{
							opacity: 0.7;
						}
			.sponsor-frame .sponsor-list .sponsor-box .inner-left{
				width: 50%;
				padding-top: 0;
			}
				.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary{
					width: 500px;
					margin: 0 auto;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title{
						margin-bottom: 10px;
					}
						.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title .en{
							display: block;
							font-size: 40px;
							color: #d0111b;
							margin-bottom: 4px;
						}
						.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title .ja{
							display: block;
							font-size: 24px;
							font-weight: bold;
							color: #585858;
						}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary p{
						font-size: 13px;
						font-weight: bold;
						line-height: 28px;
						margin-bottom: 40px;
						text-align: justify;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .default-btn a{
						margin-right: 30px;
					}
				.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail{
					display: none;
					padding: 80px 0;
					color: #FFF;
					background-color: #585858;
					margin-top: -40px;
					margin-bottom: 100px;
					text-align: justify;
					position: relative;
					z-index: 2;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail .inner-detail{
						width: 500px;
						margin: 0 auto;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail h3{
						font-size: 20px;
						margin-bottom: 20px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail p{
						font-size: 13px;
						line-height: 26px;
						font-weight: bold;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail .close-btn{
						width: 16px;
						height: 16px;
						overflow: hidden;
						text-indent: 100%;
						background: url('./image/common/btn-cross.png') no-repeat center center / 16px 16px;
						position: absolute;
						top: 40px;
						right: 40px;
					}
			.sponsor-frame .sponsor-list .sponsor-box .inner-movie{
				display: none;
				width: 100%;
				height: 100%;
				position: fixed;
				top: 0;
				left: 0;
				z-index: 8;
			}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie.on{
					display: block;
				}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie .cover{
					width: 100%;
					height: 100%;
					background-color: rgba(0,0,0,0.5);
					position: absolute;
					top: 0;
					left: 0;
					z-index: 3;
				}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame{
					width: 700px;
					height: 380px;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					z-index: 5;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame iframe{
						width: 700px;
						height: 380px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame .close-btn{
						width: 16px;
						height: 16px;
						overflow: hidden;
						text-indent: 100%;
						background: url('./image/common/btn-close.png') no-repeat center center / 16px 16px;
						position: absolute;
						top: -32px;
						right: 0;
					}
						.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame .close-btn:hover{
							background-image: url('./image/common/btn-close_on.png');
						}


/* Gallery
-------------------------------------------------------------- */
.gallery-frame{}
	.gallery-list{}
		.gallery-list .gallery-box{
			width: 370px;
			float: left;
			margin-right: 20px;
			margin-bottom: 20px;
		}
			.gallery-list .gallery-box:nth-child(3n){
				margin-right: 0;
			}
			.gallery-list .gallery-box .thumb{
				line-height: 0;
				position: relative;
				cursor: pointer;
			}
				.gallery-list .gallery-box:nth-child(3n+2) .thumb{
					transition-delay: .1s;
				}
				.gallery-list .gallery-box:nth-child(3n) .thumb{
					transition-delay: .2s;
				}
				.gallery-list .gallery-box .thumb .cover-title{
					width: 100%;
					height: 100%;
					position: absolute;
					top: 0;
					left: 0;
					background-color: rgba(0,0,0,0.5);
					opacity: 0;
					transition: .3s;
				}
					.gallery-list .gallery-box .thumb:hover .cover-title{
						opacity: 1;
					}
					.gallery-list .gallery-box .thumb .cover-title .title{
						width: 100%;
						font-size: 18px;
						line-height: 30px;
						color: #FFF;
						position: absolute;
						top: calc(50% - 15px);
						left: 0;
						text-align: center;
					}
			.gallery-list .gallery-box .gallery-content{
				display: none;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
				.gallery-list .gallery-box .gallery-content.on{
					display: block;
				}
				.gallery-list .gallery-box .gallery-content .inner-frame{
					width: 1150px;
					color: #FFF;
					position: absolute;
					top: 100px;
					left: calc(50% - 575px);
					z-index: 5;
					text-align: center;
				}
					.gallery-list .gallery-box .gallery-content .inner-frame .title{
						font-size: 30px;
						line-height: 50px;
						text-align: center;
					}
					.gallery-list .gallery-box .gallery-content .inner-frame .image-area{
						display: inline-block;
						max-width: 660px;
						margin: 60px auto;
						border: 1px solid #585858;
						background-color: #000;
						text-align: center;
						position: relative;
					}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .image-box{
							line-height: 0;
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .prev,
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .next{
							width: 15px;
							height: 28px;
							position: absolute;
							top: calc(50% - 14px);
							background-size: 15px 28px;
							background-position: center;
							background-repeat: no-repeat;
							overflow: hidden;
							text-indent: 100%;
							cursor: pointer;
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .prev{
							left: -100px;
							background-image: url('./image/common/arrow-left-t_gray.png');
						}
							.gallery-list .gallery-box:first-child .gallery-content .inner-frame .image-area .prev{
								display: none;
							}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .next{
							right: -100px;
							background-image: url('./image/common/arrow-right-t_gray.png');
						}
							.gallery-list .gallery-box:last-child .gallery-content .inner-frame .image-area .next{
								display: none;
							}

							.gallery-list .gallery-box .gallery-content .inner-frame .image-area .prev:hover{ background-image: url('./image/common/arrow-left-t_red.png'); }
							.gallery-list .gallery-box .gallery-content .inner-frame .image-area .next:hover{ background-image: url('./image/common/arrow-right-t_red.png'); }
						.gallery-list .gallery-box .gallery-content .inner-frame .close-btn{
							width: 16px;
							height: 16px;
							overflow: hidden;
							text-indent: 100%;
							background: url('./image/common/btn-close.png') no-repeat center center / 16px 16px;
							position: absolute;
							top: -33px;
							right: 0;
							cursor: pointer;
						}
							.gallery-list .gallery-box .gallery-content .inner-frame .close-btn:hover{
								background-image: url('./image/common/btn-close_on.png');
							}

					.gallery-list .gallery-box .gallery-content .inner-frame .image-list{
						width: 700px;
						margin: 0 auto 60px auto;
						letter-spacing: -.40em;
						line-height: 0;
						text-align: center;
					}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-list li{
							display: inline-block;
							width: 80px;
							margin-right: 20px;
							position: relative;
							cursor: pointer;
						}
							.gallery-list .gallery-box .gallery-content .inner-frame .image-list li:last-child{
								margin-right: 0;
							}
							.gallery-list .gallery-box .gallery-content .inner-frame .image-list li::before{
								content: '';
								display: block;
								width: 100%;
								height: 100%;
								position: absolute;
								top: 0;
								left: 0;
								background-color: rgba(0,0,0,0.5);
								z-index: 1;
							}
							.gallery-list .gallery-box .gallery-content .inner-frame .image-list li.on::before,
							.gallery-list .gallery-box .gallery-content .inner-frame .image-list li:hover::before{
								display: none;
							}
					.gallery-list .gallery-box .gallery-content .inner-frame .gallery-text{
						width: 600px;
						margin: 0 auto;
						font-size: 13px;
						font-weight: bold;
						text-align: justify;
					}
				.gallery-list .gallery-box .gallery-content .cover{
					width: 100%;
					height: 100%;
					background-color: rgba(0,0,0,0.75);
					position: fixed;
					top: 0;
					left: 0;
					z-index: 3;
				}

/* Award
-------------------------------------------------------------- */
.award-frame{
	width: 100%;
	min-width: 1150px;
	padding-top: 0 !important;
}
	.award-frame .award-header{
		margin-bottom: 40px;
	}
		.award-frame .lower-header .lower-title .en {
			color: #d0111b;
		}
		.award-frame .lower-header .lower-title .sub {
			color: #000;
		}
		.award-frame .award-list .award-box{
			margin-top: -100px;
			display: -webkit-flex;
			display: flex;
			-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-flex-direction: row;
			flex-direction: row;
			margin-top: 0;
			margin-bottom: 40px;
		}
			.award-frame .award-list .award-box .inner-right{
				width: 50%;
/*				line-height: 0;*/
				position: relative;
				padding-left: 24px;
			}
			.award-frame .award-list .award-box .inner-left{
				width: 50%;
				padding-top: 0;
				padding-right: 24px;
			}
	.award-frame .lower-header{
		background-image: url('./image/lower/award/mv.jpg');
	}
	.award-frame .container {
		padding: 0 calc((50% - 500px) / 2);
	}
	.award-frame .title {
		margin-top: 40px;
		margin-bottom: 40px;
	}
		.award-frame .title .en:before {
			content: "";
			display: inline-block;
			border-left: 4px solid #d0111b;
			height: 48px;
			padding: 0;
			margin-bottom: 6px;
			margin-right: 20px;
			vertical-align: middle;
		}
		.award-frame .title .en{
			display: inline-block;
			font-size: 40px;
			color: #d0111b;
			color: #000000;
			margin-bottom: 4px;
			margin-right: 32px;
			vertical-align: middle;
		}
		.award-frame .title .ja{
			display: inline-block;
			font-size: 24px;
			font-weight: bold;
			color: #585858;
			vertical-align: middle;
		}
	.award-frame .sub-title {
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 32px;
	}
		.award-frame .sub-title:before {
			content: "";
			display: inline-block;
			border-left: 3px solid #d0111b;
			height: 28px;
			padding: 0;
			margin-bottom: 4px;
			margin-right: 14px;
			vertical-align: middle;
		}
	.award-frame .title {
		margin-top: 0 !important;
	}
	.award-box {
		margin-top: 40px !important;
	}
	.award-frame .inner-right > .sub-title {
		margin-top: 19px;
	}
	.award-frame .logo-text p {
		font-size: 14px;
		line-height: 25px;
	}
	.award-frame .image-list {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
	}
		.award-frame .image-list > * {
			width: calc((100% - (16px * (3 - 1))) / 3);
			margin-right: 16px;
			text-align: center;
		}
			.award-frame .image-list > *:last-of-type {
			  margin-right: 0;
			}
		.award-frame .logo-text .image-list {
			margin-bottom: 16px;
		}
		.award-frame .after-image .image-list {
			margin-top: 24px;
		}
	.award-frame .link-list {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: stretch;
		margin-top: 16px;
	}
		.award-frame .link-list > * {
			font-size: 13px;
			line-height: 18px;
			width: 50%;
		}
			.award-frame .link-list > * a {
				display: block;
				color: #ffffff;
				background-color: #585858;
				background: #585858 url('./image/common/external_white.png') no-repeat 30px 50%;
				padding: 15px 20px 15px 40px;
				text-align: center;
			}
				.award-frame .link-list > .link-list-media a {
					background-color: #858585;
				}
				.award-frame .link-list > * a:hover {
					opacity: 0.8;
				}
.award_year{
	font-weight: bold;
	font-size: 60px;
	color: #d0111b;
	color: #ffffff;
	background: #010101;
	background: #d0111b;
	text-align: left;
	padding: 18px 32px;
	padding-top: 6px;
}
.items{
	font-size: 16px;
	line-height: 150%;
	font-size: 14px;
	line-height: 25px;
}
	.items h4{
		font-weight: bold;
		margin: 8px 0;
	}
	.items p{
		font-weight: normal !important;
		margin: 8px 0;
		margin-bottom: 20px !important;
	}
	.items p:last-of-type{
		margin-bottom: 8px !important;
	}
.slick-slider-multi,
.image-area-one{
	margin-bottom: 32px;
}
.slick-slider .slick-arrow{
	display: block !important;
	position: absolute;
	top: calc(50% - 55px);
	transform: translateY(-50%);
	z-index: 10;
	background-color: transparent;
	width: 24px;
	height: 48px;
	overflow: hidden;
	text-indent: 100%;
	cursor: pointer;
}
.slick-slider .slick-arrow{
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 17.5px;
}
.slick-slider .slick-dots{
	width: 100%;
	position: absolute;
	bottom: -40px;
	left: 0;
	text-align: center;
	letter-spacing: -.40em;
	z-index: 10;
}
	.slick-slider .slick-dots li{
		display: inline-block;
		margin: 0 5px;
	}
		.slick-slider .slick-dots li button{
			display: block;
			width: 8px;
			height: 8px;
			overflow: hidden;
			text-indent: 100%;
			background-color: #585858;
			border-radius: 100%;
		}
		.slick-slider .slick-dots li.slick-active button{
			background-color: #d0111b;
		}
.slick-slider .slick-prev{
		left: 10px;
		background: url('./image/common/arrow-left-s_gray.png') no-repeat 0 0 / 10px 17.5px;
	}
	.slick-slider .slick-next{
		right: 10px;
		background: url('./image/common/arrow-right-s_gray.png') no-repeat 0 0 / 10px 17.5px;
	}
.movie-block{
	width: 100%;
	margin-top: 40px;
/*	background: #808080;*/
	background: url('./image/lower/award/back-image.png') no-repeat center / cover;
	padding: 40px 0;
}
	.movie-block .inner{
		width: 640px;
		margin: 0 auto;
	}
	.movie-block .video{
		width: 100%;
		padding-top: 56.25%;
		position: relative;
	}
		.movie-block .video iframe{
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
		}

/* Contacts
-------------------------------------------------------------- */
.contacts-frame{}
	.contacts-frame .lower-header{
		height: 350px;
	}
		.contacts-frame .lower-header .lower-title{}
			.contacts-frame .lower-header .lower-title .en{
				font-size: 80px;
				line-height: 100px;
				color: #d0111b;
			}
			.contacts-frame .lower-header .lower-title .sub{
				font-size: 13px;
				color: #000;
			}

.contacts-body{
	width: 1100px;
	margin: 0 auto;
	position: relative;
}
	.contacts-body .lead-text{
		margin-bottom: 80px;
		font-size: 13px;
		font-weight: bold;
		line-height: 26px;
		text-align: center;
	}
		.contacts-body .lead-text .main{
			margin-bottom: 30px;
		}
		.contacts-body .lead-text .sub{
			color: #585858;
		}
	.contacts-body .contacts-main{
		width: 700px;
		float: left;
		background-color: #eeeeee;
		padding: 50px 70px;
		margin-bottom: 100px;
	}
	.contacts-body .contacts-side{
		width: 380px;
		float: right;
	}
		.contacts-body .contacts-side .inner-box{
			width: 380px;
			background-color: #cf121b;
			color: #FFF;
			padding: 30px;
			font-weight: bold;
		}
		.contacts-body .contacts-side h2{
			font-size: 18px;
			font-weight: bold;
			line-height: 24px;
			margin-bottom: 30px;
		}
		.contacts-body .contacts-side .element{
			font-size: 13px;
			line-height: 18px;
			margin-bottom: 30px;
		}

.contact-form{
	font-size: 13px;
	line-height: 24px;
}
	.contact-form .top-text{
		margin-bottom: 30px;
	}
	.contact-form .confirm-text{
		display: none;
	}
	.contact-form .error-message{
		display: none;
		font-weight: bold;
		color: #d0111b;
	}
		.contact-form .error-message.on{
			display: block;
			margin-bottom: 30px;
		}
	.contact-form dl{}
		.contact-form dl dt{
			font-weight: bold;
			margin-bottom: 8px;
		}
		.contact-form dl dd{
			margin-bottom: 40px;
		}
	.contact-form .inner-half{
		width: 49%;
		margin-right: 2%;
		float: left;
	}
		.contact-form .inner-half:nth-child(2n){
			margin-right: 0;
		}
		.contact-form .inner-half-dummy:after{
			content: "　";
		}
		
	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form textarea{
		width: 100%;
		border: 1px solid #e3e3e3;
		padding: 0 25px;
		margin-bottom: 12px;
	}
		.contact-form input[type="text"].error-elem,
		.contact-form input[type="email"].error-elem,
		.contact-form textarea.error-elem{
			background-color: #fbe9e9;
			border-color: #d0111b;
		}
		.contact-form input[type="text"].error-elem:placeholder-shown,
		.contact-form input[type="email"].error-elem:placeholder-shown,
		.contact-form textarea.error-elem:placeholder-shown{
			font-weight: bold;
			color: #d0111b;
		}
		.contact-form input[type="text"].error-elem::-webkit-input-placeholder,
		.contact-form input[type="email"].error-elem::-webkit-input-placeholder,
		.contact-form textarea.error-elem::-webkit-input-placeholder{
			font-weight: bold;
			color: #d0111b;
		}
		.contact-form input[type="text"].error-elem:-moz-placeholder,
		.contact-form input[type="email"].error-elem:-moz-placeholder,
		.contact-form textarea.error-elem:-moz-placeholder{
			font-weight: bold;
			color: #d0111b;
		}
		.contact-form input[type="text"].error-elem::-moz-placeholder,
		.contact-form input[type="email"].error-elem::-moz-placeholder,
		.contact-form textarea.error-elem::-moz-placeholder{
			font-weight: bold;
			color: #d0111b;
		}
		.contact-form input[type="text"].error-elem:-ms-input-placeholder,
		.contact-form input[type="email"].error-elem:-ms-input-placeholder,
		.contact-form textarea.error-elem:-ms-input-placeholder{
			font-weight: bold;
			color: #d0111b;
		}
	.contact-form input[type="text"],
	.contact-form input[type="email"]{
		height: 50px;
	}
	.contact-form textarea{
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.contact-form input[type="radio"],
	.contact-form input[type="checkbox"]{
		display: none;
	}
		.contact-form .mwform-radio-field-text,
		.contact-form .mwform-checkbox-field-text{
			display: inline-block;
			font-weight: bold;
			vertical-align: top;
			padding-left: 30px;
			position: relative;
		}
			.contact-form .mwform-radio-field-text::before,
			.contact-form .mwform-checkbox-field-text::before{
				content: '';
				display: block;
				width: 16px;
				height: 16px;
				border: 1px solid #000;
				background-color: #FFF;
				border-radius: 50%;
				position: absolute;
				top: 1px;
				left: 0;
				z-index: 1;
			}
			.contact-form input[type="radio"]:checked + .mwform-radio-field-text::after,
			.contact-form input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
				content: '';
				display: block;
				width: 12px;
				height: 12px;
				background-color: #cf121b;
				border-radius: 50%;
				position: absolute;
				top: 4px;
				left: 3px;
				z-index: 2;
			}
	.contact-form span.error{
		display: none;
	}


	.contact-form .zip-to-addr{
		padding: 10px 0;
		line-height: 0;
	}
		.contact-form .zip-to-addr a{
			display: inline-block;
			height: 30px;
			font-weight: bold;
			color: #FFF;
			line-height: 30px;
			padding: 0 12px;
			background-color: #585858;
		}
			.contact-form .zip-to-addr a:hover{
				background-color: #d0111b;
			}
	.contact-form .white-box,
	.contact-form .white-dd{
		width: 100%;
		border: 1px solid #e3e3e3;
		height: 50px;
		background-color: #FFF;
		padding: 15px 25px;
		margin-bottom: 12px;
	}
		.contact-form .white-dd{
			height: auto;
		}
		.contact-form .white-box > span,
		.contact-form .white-dd > span{
			display: inline-block;
			margin-right: 50px;
			font-weight: bold;
			line-height: 20px;
			vertical-align: top;
		}
			.contact-form .white-dd > span{
				width: 155px;
				margin: 8px 0 8px 10px;
			}
	.contact-form .privacy-policy{
		width: 100%;
		height: 200px;
		overflow-y: scroll;
		padding: 20px;
		background-color: #FFF;
		margin-bottom: 10px;
	}
	.contact-form .agreement-box{
		text-align: center;
		padding: 10px 0;
		margin-bottom: 40px;
	}
		.contact-form .agreement-box > span{
			vertical-align: top;
			line-height: 20px;
		}
	.contact-form .require{
		color: #cf121b;
	}
	.contact-form .footnote{
		font-weight: bold;
		padding: 10px 0;
	}
	.contact-form input.no-margin{
		margin: 0;
	}
	.contact-form .form-btn{
		text-align: center;
		line-height: 0;
	}
		.contact-form .form-btn button{
			display: inline-block;
			width: 274px;
			padding-right: 60px;
			position: relative;
			font-size: 13px;
			line-height: 60px;
			background-color: #585858;
			color: #FFF;
			text-align: center;
			cursor: pointer;
		}
			.contact-form .form-btn button.send-btn{
				margin-bottom: 20px;
			}
			.contact-form .form-btn button::after{
				content: '';
				display: block;
				width: 60px;
				height: 60px;
				background: #cf121b url('./image/common/arrow-right_white.png') no-repeat center center / 29px 6px;
				position: absolute;
				top: 0;
				right: 0;
			}
			.contact-form .form-btn button:hover::after{
				background-color: #000;
			}
			.contact-form .form-btn button.back-btn{
				padding-right: 0;
				padding-left: 60px;
			}
				.contact-form .form-btn button.back-btn::after{
					right: auto;
					left: 0;
					background-image: url('./image/common/arrow-left_white.png');
				}

	.mw_wp_form_confirm{}
		.mw_wp_form_confirm .confirm-span{
			display: block;
			width: 100%;
			border: 1px solid #e3e3e3;
			padding: 12px 25px;
			margin-bottom: 12px;
			background-color: #FFF;
			min-height: 50px;
		}
		.mw_wp_form_confirm .top-text,
		.mw_wp_form_confirm .zip-to-addr,
		.mw_wp_form_confirm .footnote{
			display: none;
		}
		.mw_wp_form_confirm .confirm-text{
			display: block;
			margin-bottom: 30px;
		}

	.contact-form .complete-text{
		margin: 100px 0;
		font-weight: bold;
		text-align: center;
	}

/* Privacy Policy
-------------------------------------------------------------- */
.policy-text{}
	.policy-text h2{
		font-size: 14px;
		line-height: 22px;
		font-weight: bold;
		margin-bottom: 14px;
	}
	.policy-text p,
	.policy-text ul{
		font-size: 13px;
		line-height: 20px;
		margin-bottom: 14px;
	}


/* Facility
-------------------------------------------------------------- */
.facility-frame{}
	.facility-frame .lower-header{
		margin-bottom: 90px;
	}

.facility-body{
	width: 1150px;
	margin: 0 auto;
	position: relative;
	z-index: 5;
}
	.facility-body .facility-list{
		width: 470px;
		float: left;
		background-color: #d0111b;
		padding: 50px 0;
		color: #FFF;
	}
		.facility-body .facility-list h2{
			font-size: 30px;
			line-height: 42px;
			margin-bottom: 32px;
			padding: 0 30px;
		}
		.facility-body .facility-list ul{}
			.facility-body .facility-list ul li{
				padding: 0 30px;
				font-size: 15px;
				cursor: default;
			}
				.facility-body .facility-list ul li:hover{
					background-color: #000;
				}
				.facility-body .facility-list ul li:first-child .inner-box{
					border-top: 1px solid #af0008;
				}
				.facility-body .facility-list ul li .inner-box{
					border-bottom: 1px solid #af0008;
					padding: 20px 0;
				}
				.facility-body .facility-list ul li .inner-text{
					width: 240px;
					float: left;
				}
					.facility-body .facility-list ul li .inner-text .title{
						margin-left: 24px;
					}
					.facility-body .facility-list ul li .inner-text .sub-title{
						margin-left: 24px;
					}
						.facility-body .facility-list ul li .inner-text .title .font-e{
							display: inline-block;
							width: 24px;
							margin-left: -24px;
						}
					.facility-body .facility-list ul li .inner-text .default-btn{
						width: 210px;
						margin-top: 20px;
						margin-left: 24px;
						margin-bottom: 20px;
					}
						.facility-body .facility-list ul li .inner-text .default-btn a span.db-default{
							color: #FFF;
						}
						.facility-body .facility-list ul li .inner-text .default-btn a span.db-hover{
							color: #af0008;
							font-weight: bold;
						}
						.facility-body .facility-list ul li .inner-text .default-btn a::before{
							background-size: 116px 6px;
							background-image: url('./image/common/backarrow-right_redwhite.png');
						}
				.facility-body .facility-list ul li .inner-image{
					width: 168px;
					float: right;
				}
					.facility-body .facility-list ul li .inner-image img{
						display: block;
						margin-top: 20px;
					}
					.facility-body .facility-list ul li .inner-image img:first-child{
						margin-top: 0;
					}

	.facility-body .side-area{
		width: 600px;
		float: right;
	}
		.facility-body .side-map{
			padding-bottom: 60px;
			line-height: 0;
		}
			.facility-body .side-map .map-box{
				position: relative;
			}
			.facility-body .map-line{
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
			}

			.facility-body .map-area{
				display: block;
				position: absolute;
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
				z-index: 3;
				cursor: pointer;
			}
				.facility-body .map-area span{
					display: inline-block;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					color: #FFF;
					text-align: center;
					z-index: 3;
				}
			.facility-body .area01{
				width: 118px;
				height: 62px;
				top: 3px;
				left: 216px;
				background-image: url('./image/lower/facility/area01.png');
			}
				.facility-body .area01.on, .facility-body .area01:hover{ background-image: url('./image/lower/facility/area01_on.png'); }

			.facility-body .area02{
				width: 95px;
				height: 30px;
				top: 205px;
				left: 240px;
				background-image: url('./image/lower/facility/area02.png');
			}
				.facility-body .area02.on, .facility-body .area02:hover{ background-image: url('./image/lower/facility/area02_on.png'); }

			.facility-body .area03{
				width: 95px;
				height: 30px;
				top: 237px;
				left: 216px;
				background-image: url('./image/lower/facility/area03.png');
			}
				.facility-body .area03.on, .facility-body .area03:hover{ background-image: url('./image/lower/facility/area03_on.png'); }

			.facility-body .area04a{
				width: 132px;
				height: 62px;
				top: 205px;
				left: 462px;
				background-image: url('./image/lower/facility/area04a.png');
			}
				.facility-body .area04a.on, .facility-body .area04a:hover{ background-image: url('./image/lower/facility/area04a_on.png'); }

			.facility-body .area04b{
				width: 107px;
				height: 24px;
				top: 399px;
				left: 487px;
				background-image: url('./image/lower/facility/area04b.png');
			}
				.facility-body .area04b.on, .facility-body .area04b:hover{ background-image: url('./image/lower/facility/area04b_on.png'); }
				.facility-body .area04b span{ left: 45%; }

			.facility-body .area05{
				width: 70px;
				height: 33px;
				top: 276px;
				left: 270px;
				background-image: url('./image/lower/facility/area05.png');
				z-index: 5;
			}
				.facility-body .area05.on, .facility-body .area05:hover{ background-image: url('./image/lower/facility/area05_on.png'); }

			.facility-body .area06a{
				width: 110px;
				height: 48px;
				top: 276px;
				left: 432px;
				background-image: url('./image/lower/facility/area06a.png');
			}
				.facility-body .area06a.on, .facility-body .area06a:hover{ background-image: url('./image/lower/facility/area06a_on.png'); }

			.facility-body .area06b{
				width: 131px;
				height: 48px;
				top: 276px;
				left: 261px;
				background-image: url('./image/lower/facility/area06b.png');
			}
				.facility-body .area06b.on, .facility-body .area06b:hover{ background-image: url('./image/lower/facility/area06b_on.png'); }
				.facility-body .area06b span{ left: 67%; }

			.facility-body .area07{
				width: 155px;
				height: 71px;
				top: 335px;
				left: 6px;
				background-image: url('./image/lower/facility/area07.png');
			}
				.facility-body .area07.on, .facility-body .area07:hover{ background-image: url('./image/lower/facility/area07_on.png'); }

			.facility-body .area08{
				width: 141px;
				height: 51px;
				top: 400px;
				left: 114px;
				background-image: url('./image/lower/facility/area08.png');
			}
				.facility-body .area08.on, .facility-body .area08:hover{ background-image: url('./image/lower/facility/area08_on.png'); }

			.facility-body .area09{
				width: 73px;
				height: 31px;
				top: 454px;
				left: 89px;
				background-image: url('./image/lower/facility/area09.png');
			}
				.facility-body .area09.on, .facility-body .area09:hover{ background-image: url('./image/lower/facility/area09_on.png'); }

			.facility-body .area10a{
				width: 73px;
				height: 31px;
				top: 454px;   
				left: 144px;
				background-image: url('./image/lower/facility/area10a.png');
			}
				.facility-body .area10a.on, .facility-body .area10a:hover{ background-image: url('./image/lower/facility/area10a_on.png'); }
				.facility-body .area10a span{ left: 55%; }

			.facility-body .area10b{
				width: 116px;
				height: 53px;
				top: 399px;
				left: 301px;
				background-image: url('./image/lower/facility/area10b.png');
			}
				.facility-body .area10b.on, .facility-body .area10b:hover{ background-image: url('./image/lower/facility/area10b_on.png'); }

			.facility-body .area11{
				width: 112px;
				height: 53px;
				top: 399px;
				left: 223px;
				background-image: url('./image/lower/facility/area11.png');
			}
				.facility-body .area11.on, .facility-body .area11:hover{ background-image: url('./image/lower/facility/area11_on.png'); }

			.facility-body .area12{
				width: 116px;
				height: 53px;
				top: 399px;
				left: 383px;
				background-image: url('./image/lower/facility/area12.png');
			}
				.facility-body .area12.on, .facility-body .area12:hover{ background-image: url('./image/lower/facility/area12_on.png'); }

			.facility-body .area13{
				width: 117px;
				height: 38px;
				top: 425px;
				left: 457px;
				background-image: url('./image/lower/facility/area13.png');
			}
				.facility-body .area13.on, .facility-body .area13:hover{ background-image: url('./image/lower/facility/area13_on.png'); }
				.facility-body .area13 span{ left: 55%; }

			.facility-body .area14{
				width: 128px;
				height: 33px;
				top: 495px;
				left: 58px;
				background-image: url('./image/lower/facility/area14.png');
			}
				.facility-body .area14.on, .facility-body .area14:hover{ background-image: url('./image/lower/facility/area14_on.png'); }
				.facility-body .area14 span{ left: 55%; }

			.facility-body .area15{
				width: 157px;
				height: 22px;
				top: 471px;
				left: 248px;
				background-image: url('./image/lower/facility/area15.png');
			}
				.facility-body .area15.on, .facility-body .area15:hover{ background-image: url('./image/lower/facility/area15_on.png'); }

			.facility-body .area16{
				width: 85px;
				height: 24px;
				top: 495px;
				left: 229px;
				background-image: url('./image/lower/facility/area16.png');
			}
				.facility-body .area16.on, .facility-body .area16:hover{ background-image: url('./image/lower/facility/area16_on.png'); }

			.facility-body .area17{
				width: 88px;
				height: 24px;
				top: 495px;
				left: 300px;
				background-image: url('./image/lower/facility/area17.png');
			}
				.facility-body .area17.on, .facility-body .area17:hover{ background-image: url('./image/lower/facility/area17_on.png'); }

			.facility-body .area18{
				width: 110px;
				height: 48px;
				top: 471px;
				left: 431px;
				background-image: url('./image/lower/facility/area18.png');
			}
				.facility-body .area18.on, .facility-body .area18:hover{ background-image: url('./image/lower/facility/area18_on.png'); }

			.facility-body .area19{
				width: 155px;
				height: 71px;
				top: 530px;
				left: 6px;
				background-image: url('./image/lower/facility/area19.png');
			}
				.facility-body .area19.on, .facility-body .area19:hover{ background-image: url('./image/lower/facility/area19_on.png'); }

			.facility-body .area20{
				width: 255px;
				height: 52px;
				top: 549px;
				left: 229px;
				background-image: url('./image/lower/facility/area20.png');
			}
				.facility-body .area20.on, .facility-body .area20:hover{ background-image: url('./image/lower/facility/area20_on.png'); }


	.facility-frame .movie-area{
		width: 100%;
		background-color: #eeeeee;
		padding: 150px 0;
		margin-top: -50px;
	}
		.facility-frame .movie-area .inner{
			width: 800px;
			margin: 0 auto;
		}
			.facility-frame .movie-area .video{
				width: 100%;
				padding-top: 56.25%;
				position: relative;
			}
				.facility-frame .movie-area .video iframe{
					width: 100%;
					height: 100%;
					position: absolute;
					top: 0;
					left: 0;
				}


			.facility-frame .facility-list .inner-box .modal-switch{
				cursor: pointer;
			}
				.facility-frame .facility-list .inner-box .modal-switch:hover{
					opacity: 0.7;
				}
			.facility-frame .facility-list .inner-box .modal-image{
				display: none;
				width: 100%;
				height: 100%;
				position: fixed;
				top: 0;
				left: 0;
				z-index: 8;
			}
				.facility-frame .facility-list .inner-box .modal-image.on{
					display: block;
				}
				.facility-frame .facility-list .inner-box .modal-image .cover{
					width: 100%;
					height: 100%;
					background-color: rgba(0,0,0,0.5);
					position: absolute;
					top: 0;
					left: 0;
					z-index: 3;
				}
				.facility-frame .facility-list .inner-box .modal-image .image-frame{
					width: 660px;
					height: 404px;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					z-index: 5;
				}
					.facility-frame .facility-list .inner-box .modal-image .image-frame img{
						width: 660px;
						height: 404px;
					}
					.facility-frame .facility-list .inner-box .modal-image .image-frame .close-btn{
						width: 16px;
						height: 16px;
						overflow: hidden;
						text-indent: 100%;
						background: url('./image/common/btn-close.png') no-repeat center center / 16px 16px;
						position: absolute;
						top: -32px;
						right: 0;
					}
						.facility-frame .facility-list .inner-box .modal-image .image-frame .close-btn:hover{
							background-image: url('./image/common/btn-close_on.png');
						}


/* Recruit
-------------------------------------------------------------- */
.recruit-frame{}
	.recruit-frame .lower-header{}
		.recruit-frame .lower-header .lower-title .en{
			font-size: 80px;
			line-height: 100px;
			color: #d0111b;
		}
		.recruit-frame .lower-header .lower-title .sub{
			color: #000;
		}

	.recruit-frame .head-text{
		margin-bottom: 40px;
		text-align: center;
		line-height: 24px;
	}
		.recruit-frame .head-text .main{
			font-size: 13px;
			font-weight: bold;
			margin-bottom: 40px;
		}
		.recruit-frame .head-text .sub{
			font-size: 12px;
		}

.recruit-body{
	width: 1150px;
	margin: 0 auto;
	padding-top: 40px;
	position: relative;
}
	.recruit-body .contents-main{
		width: 700px;
		float: left;
		margin-top: -40px;
	}
		.recruit-body .contents-main .inner-block{
			margin-bottom: 100px;
		}
			.recruit-body .contents-main .inner-block > .title{
				font-size: 18px;
				font-weight: bold;
				line-height: 24px;
				margin-bottom: 16px;
			}
			.recruit-body .contents-main .inner-block .form-block{
				background-color: #eeeeee;
				padding: 50px 70px;
			}

	.recruit-body .contents-side{
		width: 380px;
		float: right;
	}
		.recruit-body .contents-side .inner-box{
			width: 380px;
			background-color: #cf121b;
			color: #FFF;
			padding: 30px;
			font-weight: bold;
		}
		.recruit-body .contents-side h2{
			font-size: 18px;
			font-weight: bold;
			line-height: 24px;
			margin-bottom: 30px;
		}
		.recruit-body .contents-side .element{
			font-size: 13px;
			line-height: 18px;
			margin-bottom: 30px;
		}

.recruit-table{
	width: 100%;
	table-layout: fixed;
}
	.recruit-table tr{
		font-size: 13px;
		line-height: 30px;
	}
		.recruit-table th,
		.recruit-table td{
			padding: 20px 50px;
		}
		.recruit-table th{
			width: 180px;
			background-color: #585858;
			color: #FFF;
			border-bottom: 1px solid #aaaaaa;
		}
		.recruit-table td{
			background-color: #eeeeee;
			border-bottom: 1px solid #e1e0e0;
			font-weight: bold;
		}
			.recruit-table td a{
				color: #d0111b;
				font-weight: bold;
				text-decoration: underline;
			}
				.recruit-table td a:hover{
					opacity: 0.7;
				}


/* Project
-------------------------------------------------------------- */
.project-gallery{
	width: 800px;
	margin: 0 auto;
	margin-top: 50px;
}
	.project-gallery.gallery-list .gallery-box{
		width: calc((800px - (20px * (5 - 1))) / 5);
		margin-right: 20px;
		margin-bottom: 0;
	}
	.project-gallery.gallery-list .gallery-box:last-child{
		margin-right: 0;
	}
	.project-gallery .image{
		background: transparent center center no-repeat;
		background-size: cover;
		height: 144px;
	}
	.project-gallery .image:hover{
		opacity: 0.7;
	}
	
.project-table{
	margin-top: 50px;
}

.project-content{
	font-size: 13px;
	line-height: 26px;
	font-weight: bold;
	margin-top: 100px;
	margin-bottom: 50px;
}
	.project-content h1{
		font-size: 30px;
		font-weight: bold;
		color: #d0111b;
		text-align: center;
		line-height: 42px;
		margin-bottom: 30px;
	}
	.project-content h2{
		font-size: 18px;
		font-weight: bold;
		line-height: 32px;
		padding-bottom: 12px;
		margin-bottom: 20px;
		border-bottom: 4px solid #cf121b;
	}
	.project-content h3{
		font-size: 18px;
		font-weight: bold;
		line-height: 24px;
		margin-bottom: 16px;
	}
	.project-content p{
		font-size: 13px;
		line-height: 26px;
		margin-bottom: 30px;
		text-align: justify;
	}
	.project-content img{
		max-width: 100%;
	}
	.project-content iframe{
		max-width: 100%;
		margin: 0 auto;
	}
	.project-content .aligncenter{
		display: block;
		margin: 0 auto;
	}
	.project-content .alignright{ float: right; }
	.project-content .alignleft{ float: left; }

.business-frame .business-block.project-block section .text{
	min-height: 210px;
}
	.business-frame .business-block.project-block section .text .inner{
		position: relative;
		top: 0;
		transform: none;
		padding: 40px 0;
		padding-bottom: 30px;
	}
	.business-frame .business-block.project-block section .text:first-child{
		border-right: 1px solid #ffffff;
	}
	.business-frame .business-block.project-block section .text:nth-child(2){
		transition-delay: .1s;
	}
	.business-frame .business-block.project-block section .text h3{
		border-color: #585858;
	}
	.project-block .contact-form input[type="text"]{
		width: calc(100% - 50px);
		vertical-align: top;
	}
	.project-block .contact-form button[type="submit"] span{
		display: none;
	}
	.project-block .contact-form button[type="submit"]{
		display: inline-block;
		background: #585858 url('./image/common/arrow-right_white.png') no-repeat center center / 29px 6px;
		width: 50px;
		height: 50px;
		cursor: pointer;
	}
	.project-block .contact-form button[type="submit"]:hover{
		background-color: #000;
	}

.home-company.project-contact{
	margin-bottom: 50px;
	padding: 20px 0;
	background: none;
	text-align: center;
}
	.home-company.project-contact .company-menu{
		display: inline-block;
		width: auto;
	}
	.home-company.project-contact .company-menu li{
		width: 400px;
		float: left;
		margin: 0 40px;
	}
		.home-company.project-contact .company-menu li a{
			display: block;
			height: 190px;
			position: relative;
			overflow: hidden;
			background-color: #d0111b;
		}
		.home-company.project-contact.eng .company-menu li a{
			height: 165px;
		}

.project-tags li{
	display: inline-block;
	font-size: 16px;
	line-height: 150%;
	margin-right: 1em;
	margin-bottom: 8px;
}
	.project-tags a{
	display: inline;
		color: #585858;
	}

/* Single
-------------------------------------------------------------- */
.post-content{}
	.post-content .about-catch{
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 30px;
	}
	.post-content h2{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.post-content h3{
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 16px;
	}
	.post-content p{
		font-size: 13px;
		line-height: 28px;
		margin-bottom: 40px;
	}
	.post-content strong{
		font-weight: bold;
	}
	.post-content em{
		font-style: italic;
	}

	.post-content .default-btn{
		margin-bottom: 50px;
	}
	.post-content blockquote{
		position: relative;
		padding: 8px 0 8px 24px;
		border-left: 5px solid #CCC;
		margin-bottom: 40px;
	}
		.post-content blockquote p{
			font-size: 13px;
			line-height: 24px;
		}
		.post-content blockquote p:last-child{
			margin-bottom: 0;
		}

	.post-content ul,
	.post-content ol{
		padding-left: 2em;
		font-size: 13px;
		line-height: 28px;
		margin-bottom: 40px;
	}
		.post-content ul li{
			list-style: disc;
		}
		.post-content ol li{
			list-style: decimal;
		}
	.post-content a{
		text-decoration: underline;
		color: #000;
	}
		.post-content a:hover{
			color: #e71f19;
		}
	.post-content img{
		display: block;
	}
	.post-content .wp-caption{
		max-width: 100%;
		padding: 0 5px;
	}
		.post-content .wp-caption img{
			margin: 0 auto;
		}
		.post-content .wp-caption.aligncenter,
		.post-content img.aligncenter{
			margin: 0 auto 40px auto;
		}
		.post-content .wp-caption.alignleft,
		.post-content img.alignleft{
			float: left;
			margin: 0 20px 20px 0;
		}
		.post-content .wp-caption.alignright,
		.post-content img.alignright{
			float: right;
			margin: 0 0 20px 20px;
		}
		.post-content .wp-caption p{
			font-size: 12px;
			margin: 8px 0 0 0;
			color: #5e5e5e;
		}
	.post-content .no-margin{
		margin: 0;
	}

.single-main{
	width: 800px;
	margin: 0 auto;
}
	.single-main .catch-image{
		line-height: 0;
		margin-bottom: 60px;
		text-align: center;
	}
	.single-main .single-header{
		margin-bottom: 36px;
	}
		.single-main .single-header .date{
			width: 168px;
			float: left;
			display: block;
			font-size: 15px;
			color: #d0111b;
			padding: 36px 0;
		}
		.single-main .single-header .title{
			width: 632px;
			float: right;
			font-size: 18px;
			font-weight: bold;
			line-height: 30px;
			padding: 36px 0;
			border-bottom: 1px solid #eeeeee;
		}
	.single-main .post-content{
		width: 632px;
		float: right;
		font-weight: bold;
	}

.single-pager{
	background-color: #585858;
}
	.single-pager .inner{
		width: 800px;
		margin: 0 auto;
		padding: 90px 0;
		text-align: center;
		position: relative;
	}
	.single-pager .inner a{
		display: inline-block;
		color: #FFF;
	}
		.single-pager .inner a:hover{
			color: #aaaaaa;
		}

	.single-pager .inner .prev,
	.single-pager .inner .next{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .inner .prev{
		left: 0;
	}
	.single-pager .inner .next{
		right: 0;
	}
		.single-pager .inner .prev a,
		.single-pager .inner .next a{
			background-size: 29px 6px;
			background-repeat: no-repeat;
		}
		.single-pager .inner .prev a{
			padding-left: 34px;
			background-position: 0% 50%;
			background-image: url('./image/common/arrow-left_white.png');
		}
			.single-pager .inner .prev a:hover{
				background-image: url('./image/common/arrow-left_gray.png');
			}
		.single-pager .inner .next a{
			padding-right: 34px;
			background-position: 100% 50%;
			background-image: url('./image/common/arrow-right_white.png');
		}
			.single-pager .inner .next a:hover{
				background-image: url('./image/common/arrow-right_gray.png');
			}


	.single-pager .inner .all-news{}
		.single-pager .inner .all-news span{
			display: block;
		}
		.single-pager .inner .all-news .en{
			font-size: 30px;
			line-height: 36px;
			margin-bottom: 10px;
		}
		.single-pager .inner .all-news .sub{
			font-size: 13px;
			line-height: 18px;
		}

/* Footer
-------------------------------------------------------------- */
.site-footer{
	background-color: #010101;
}
	.site-footer .inner{
		width: 1150px;
		margin: 0 auto;
	}
	.site-footer .breadcrumbs{
		border-bottom: 1px solid #bababa;
		padding: 20px 40px 19px 40px;
		letter-spacing: -.40em;
	}
		.site-footer .breadcrumbs li{
			display: inline-block;
			line-height: 30px;
			margin-right: 20px;
			font-size: 11px;
			color: #cccccc;
			letter-spacing: normal;
			vertical-align: top;
		}
			.site-footer .breadcrumbs li::after{
				content: '/';
				margin-left: 20px;
				vertical-align: top;
			}
				.site-footer .breadcrumbs li:last-child::after{
					display: none;
				}
			.site-footer .breadcrumbs li span,
			.site-footer .breadcrumbs li a{
				font-size: 11px;
				color: #cccccc;
			}
				.site-footer .breadcrumbs li a:hover span{
					color: #d0111b;
				}
	.site-footer .footer-menu{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		border-bottom: 1px solid #bababa;
		padding: 50px 0;
		font-weight: bold;
	}
		.site-footer .footer-menu .fc-box{
			padding: 0 40px;
			border-right: 1px solid #bababa;
			color: #cccccc;
		}
			.site-footer .footer-menu .navi_01{ width: 160px; }
			.site-footer .footer-menu .navi_02{ width: 521px; }
			.site-footer .footer-menu .navi_03{ width: 309px; }
			.site-footer .footer-menu .navi_04{ width: 160px; padding-right: 0; border-right: none; }
			.site-footer .footer-menu .fc-box .title{
				font-size: 13px;
				margin-bottom: 20px;
			}
				.site-footer .footer-menu .fc-box .title a{
					color: #cccccc;
				}
					.site-footer .footer-menu .fc-box .title a:hover{
						color: #d0111b;
					}
			.site-footer .footer-menu .fc-box .fc-business{
				display: -webkit-flex;
				display: flex;
				-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
			}
				.site-footer .footer-menu .fc-box .fc-business li{
					width: 92px;
					margin-right: 24px;
					margin-bottom: 12px;
				}
					.site-footer .footer-menu .fc-box .fc-business li:nth-child(4n){
						margin-right: 0;
					}
					.site-footer .footer-menu .fc-box .fc-business li a{
						display: block;
						color: #cccccc;
					}
						.site-footer .footer-menu .fc-box .fc-business li a:hover{
							color: #d0111b;
						}
					.site-footer .footer-menu .fc-box .fc-business li .image{
						line-height: 0;
						margin-bottom: 8px;
					}
					.site-footer .footer-menu .fc-box .fc-business li .text{
						font-size: 12px;
						line-height: 18px;
					}
			.site-footer .footer-menu .fc-box .fc-facility{}
				.site-footer .footer-menu .fc-box .fc-facility li{
					margin-bottom: 18px;
				}
					.site-footer .footer-menu .fc-box .fc-facility li a{
						display: block;
					}
					.site-footer .footer-menu .fc-box .fc-facility li .image{
						line-height: 0;
					}
			.site-footer .footer-menu .fc-box .fc-others{}
				.site-footer .footer-menu .fc-box .fc-others li{
					margin-bottom: 20px;
				}
					.site-footer .footer-menu .fc-box .fc-others li a{
						color: #cccccc;
						font-size: 13px;
					}
						.site-footer .footer-menu .fc-box .fc-others li a:hover{
							color: #d0111b;
						}

	.site-footer .footer-bottom{
		border-bottom: 1px solid #bababa;
		padding: 50px 0;
	}
		.site-footer .footer-bottom .inner-left{
			width: 990px;
			float: left;
			border-right: 1px solid #bababa;
			padding: 0 40px;
		}
			.site-footer .footer-bottom .inner-left .logo{
				width: 125px;
				float: left;
				line-height: 0;
				padding-top: 27px;
			}
			.site-footer .footer-bottom .inner-left .text{
				width: 740px;
				float: right;
				color: #cccccc;
			}
				.site-footer .footer-bottom .inner-left .text .corp{
					font-size: 14px;
					line-height: 20px;
					margin-bottom: 20px;
				}
				.site-footer .footer-bottom .inner-left .text address{
					font-size: 12px;
					line-height: 24px;
					letter-spacing: 0;
				}
		.site-footer .footer-bottom .inner-right{
			width: 160px;
			float: right;
			text-align: center;
			line-height: 0;
			padding-top: 27px;
		}
	.site-footer .copyright{
		line-height: 60px;
		text-align: center;
		color: #cccccc;
	}
		.site-footer .copyright small{
			font-size: 14px;
		}
		
.contact-navi {
	display: none;
	position: fixed;
	bottom: 0;
	right: 5%;
	z-index: 10;
}
	.contact-navi a {
		font-size: 14px;
		line-height: 21px;
		color: #ffffff;
		background-color: #d0111b;
		padding: 8px 12px;
		padding-top: 9px;
		opacity: 0.9;
		box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.1);
	}
		.contact-navi a {
			display: block;
			position: relative;
			overflow: hidden;
			background-color: #d0111b;
		}
			.contact-navi a > span {
				position: relative;
				z-index: 11;
			}
			.contact-navi a::before {
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: -100%;
				background-color: #303030;
				z-index: 1;
				transition: .3s;
			}
				.contact-navi a:hover::before {
					left: 0;
				}
	.contact-navi img {
		width: auto;
		height: 16px;
		margin-right: 5px;
		margin-top: -4px;
		vertical-align: middle;
	}
	.contact-navi img {
		opacity: 1 !important;
	}

/* Codo for SP view
-------------------------------------------------------------- */
@media screen and (max-width : 480px){

/* Styles(SP)
-------------------------------------------------------------- */
.br-pc,
.display-pc,
.break-pc br{
	display: none;
}

.br-sp,
.break-sp br{
	display: inline;
}
.display-sp{
	display: block;
}

.default-title{
	font-size: 40px;
	line-height: 50px;
	margin-bottom: 30px;
}
	.default-title.default-title--feed{
		margin-bottom: 40px;
	}

.lower-title{
	margin-bottom: 20px;
}
	.lower-title .en{
		display: block;
		font-size: 40px;
		line-height: 50px;
		margin-bottom: 10px;
	}
	.lower-title .sub{
		display: block;
		font-size: 11px;
		line-height: 18px;
	}
	.lower-title-bar{
		position: relative;
	}
		.lower-title-bar::after{
			content: '';
			display: block;
			width: 120px;
			height: 2px;
			background-color: #000;
			position: absolute;
			top: 100%;
			left: calc(50% - 60px);
		}

.default-btn-sp{
	text-align: center;
}
	.default-btn-sp a{
		display: inline-block;
		width: 200px;
		height: 45px;
		margin: 0 auto;
		font-size: 13px;
		line-height: 45px;
		color: #FFF;
		background: #d0111b url('./image/common/arrow-right_white.png') no-repeat 90% 50% / 29px 6px;
	}



/* Layout(SP)
-------------------------------------------------------------- */
.site-wrapper{
	width: 100%;
	min-width: initial;
	min-width: auto;
	position: relative;
	overflow: hidden;
}
	.site-wrapper .site-wrapper-inner{
		transition: .3s;
	}
		.site-wrapper.menu-on .site-wrapper-inner{
			transform: translateX(-100%);
		}

.content-frame{
	width: 100%;
}

.lower-frame{
	width: 100%;
	margin: 0 auto;
	padding-top: 100px;
}
	.lower-frame .frame-left{
		width: 100%;
		float: none;
	}
	.lower-frame .frame-right{
		width: 100%;
		float: none;
	}

/* Component(SP)
-------------------------------------------------------------- */
.news-list{}
	.news-list li{
		padding: 12px 0;
	}
		.news-list li a{}
		.news-list li .date{
			width: 100%;
			float: none;
			font-size: 13px;
			line-height: 16px;
			text-align: left;
			margin-bottom: 8px;
		}
		.news-list li .title{
			width: 100%;
			height: auto;
			float: none;
			font-size: 13px;
			line-height: 16px;
			white-space: normal;
			text-overflow: clip;
		}
			.news-list li a::before{
				display: none;
			}

.business-list{}
	.business-list li{
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 20px;
	}
		.business-list li:nth-child(3n+2),
		.business-list li:nth-child(3n){
			transition-delay: 0;
		}

		.business-list li a{
			background-size: 100%;
			background-position: center;
			transition: .3s;
		}
			.business-list li.bl-design a{ background-image: url('./image/lower/business/list-design.jpg'); }
			.business-list li.bl-claymodel a{ background-image: url('./image/lower/business/list-claymodel.jpg'); }

			.business-list li a::before{
				display: block;
				width: 30px;
				height: 25px;
				font-size: 13px;
				line-height: 25px;
			}
			.business-list li a::after{
				width: 50px;
				height: 50px;
				border-left: 50px solid #d0111b;
				border-bottom: 50px solid transparent;
			}

		.business-list li .cover{
			width: 100%;
			height: 135px;
		}
			.business-list li .cover::after{
				display: none;
			}
		.business-list li .text{
			width: 100%;
			height: auto;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
		}
			.business-list li .text .title{
				font-size: 20px;
				line-height: 24px;
				height: auto;
				margin-bottom: 20px;
			}
			.business-list li .text .description{
				width: 100%;
				font-size: 13px;
				line-height: 20px;
			}
		.business-list li .foot-text{
			display: none;
		}
		.business-list li a:hover{}

	.business-list li.bl-contact{}
		.business-list li.bl-contact a{
			width: 100%;
			height: 135px;
		}
			.business-list li.bl-contact a::before,
			.business-list li.bl-contact a::after{
				display: none;
			}
		.business-list li .inner{
			width: calc(100% - 15px);
			height: 120px;
			border: 1px solid #aaaaaa;
			position: absolute;
			top: 7.5px;
			left: 7.5px;
			text-align: center;
			padding-top: 32px;
		}
			.business-list li .inner .image{
				width: 30px;
				margin: 0 auto 20px auto;
				line-height: 0;
			}
			.business-list li .inner .contact-title{
				font-size: 15px;
				line-height: 24px;
			}


/* Header(SP)
-------------------------------------------------------------- */
.site-header{
	width: 100%;
	height: 45px;
}
	.site-header .inner{
		width: 100%;
	}
	.site-header .logo{
		width: 62.5px;
		float: left;
		padding: 12px 0;
		margin-left: 12px;
	}
		.site-header .logo a{
			display: block;
			line-height: 0;
		}
	.site-header .menu{
		width: 100%;
		height: calc(100% - 45px);
		float: none;
		text-align: center;
		position: fixed;
		top: 45px;
		right: -100%;
		background-color: rgba(0,0,0,0.9);
		overflow-y: scroll;
		transition: .3s;
	}
		.site-header.menu-on .menu{
			right: 0;
		}
		.site-header .menu .global-navi,
		.site-header .menu .global-navi .navi_01{
			display: block;
		}
		.site-header .menu .global-navi .navi_01{
			padding: 30px 20px;
		}
			.site-header .menu .global-navi .navi_01 > li{
				display: block;
				border-top: 1px solid #aaaaaa;
			}
				.site-header .menu .global-navi .navi_01 > li:last-child{
					border-bottom: 1px solid #aaaaaa;
				}
				.site-header .menu .global-navi .navi_01 > li:hover{
					background-color: transparent;
				}
				.site-header .menu .global-navi .navi_01 > li > a{
					display: block;
					font-size: 13px;
					line-height: 60px;
					font-weight: bold;
					text-align: center;
					color: #FFF;
					padding: 0;
				}
					.site-header .menu .global-navi .navi_01 > li > a::after{
						display: none;
					}
					.site-header .menu .global-navi .navi_01 > li:hover > a{
						color: #FFF;
					}
					.site-header .menu .global-navi .navi_01 > li.has-child > a{
						background: url('./image/common/btn-plus.png') no-repeat 100% 50% / 20px 20px;
					}
						.site-header .menu .global-navi .navi_01 > li.has-child > a.menu-on{
							background: url('./image/common/btn-cross.png') no-repeat 100% 50% / 15px 15px;
						}
			.site-header .menu .global-navi .navi_02{
				display: none;
				width: 100%;
				position: static;
				top: 0;
				left: 0;
				padding: 40px 0;
				background-color: transparent;
			}
				.site-header .menu .global-navi .navi_01 > li:hover .navi_02{
					display: none;
				}
				.site-header .menu .global-navi .navi_02 ul{
					width: 100%;
					margin: 0 auto;
				}
					.site-header .menu .global-navi .navi_02 ul li{
						width: 49%;
						float: left;
						margin-right: 2%;
						margin-bottom: 2%;
					}
						.site-header .menu .global-navi .navi_02 ul li:nth-child(5n){
							margin-right: 2%;
						}
						.site-header .menu .global-navi .navi_02 ul li:nth-child(2n){
							margin-right: 0;
						}
						.site-header .menu .global-navi .navi_02 ul li:nth-child(n+7){
							display: none;
						}
					.site-header .menu .global-navi .navi_02 ul li a{
						display: block;
						color: #FFF;
					}
						.site-header .menu .global-navi .navi_02 ul li .image{
							line-height: 0;
						}
						.site-header .menu .global-navi .navi_02 ul li .text{
							margin-top: -15px;
							text-align: center;
							position: relative;
							z-index: 1;
						}
							.site-header .menu .global-navi .navi_02 ul li .text .main{
								font-size: 13px;
								line-height: 24px;
								border-bottom: 2px solid #585858;
							}
								.site-header .menu .global-navi .navi_02 ul li .text .main::before{
									height: 2px;
									bottom: -2px;
								}
							.site-header .menu .global-navi .navi_02 ul li .text .sub{
								font-size: 11px;
								height: 24px;
								line-height: 24px;
							}
				.site-header .menu .global-navi .navi_02 .more-btn{
					text-align: center;
					margin-top: 20px;
				}
					.site-header .menu .global-navi .navi_02 .more-btn a{
						display: block;
						width: 200px;
						height: 45px;
						margin: 0 auto;
						background-color: #d0111b;
						text-align: center;
						font-size: 13px;
						line-height: 45px;
						color: #FFF;
						transition: .3s;
					}
						.site-header .menu .global-navi .navi_02 .more-btn a:hover{
							background-color: #303030;
						}
						.site-header .menu .global-navi .navi_02 .more-btn a span{
							display: block;
							padding-left: 0;
							background: url('./image/common/arrow-right_white.png') no-repeat 90% 50% / 29px 6px;
						}

		.site-header .menu .side-menu{
			display: block;
			text-align: center;
			padding-bottom: 40px;
		}
			.site-header .menu .side-menu .to-contact{
				display: inline-block;
				vertical-align: top;
			}
				.site-header .menu .side-menu .to-contact a{
					display: block;
					line-height: 0;
					width: 40px;
					height: 35px;
					background-size: 37.5px 26.5px;
					background-repeat: no-repeat;
					background-position: center center;
					overflow: hidden;
					text-indent: 100%;
					background-image: url('./image/common/icon-mail_sp.png');
				}
					.site-header .menu .side-menu .to-contact a::after{
						display: none;
					}
					.site-header .menu .side-menu .to-contact a:hover{
						background-color: transparent;
						background-image: url('./image/common/icon-mail_sp.png');
					}
			.site-header .menu .side-menu .lang-change{
				display: inline-block;
				vertical-align: top;
				letter-spacing: normal;
				margin-left: 15px;
				padding: 0;
			}
				.site-header .menu .side-menu .lang-change .l-box{
					width: 58px;
					height: 35px;
					float: left;
					border: 1px solid #d0111b;
					font-size: 14px;
					line-height: 33px;
					text-align: center;
					position: relative;
					color: #FFF;
					z-index: 2;
				}
					.site-header .menu .side-menu .lang-change .l-box:nth-child(n+2){
						margin-left: -1px;
					}
					.site-header .menu .side-menu .lang-change  a.l-box{
						border-color: #585858;
						color: #FFF;
						z-index: 1;
					}
						.site-header .menu .side-menu .lang-change  a.l-box:hover{
							color: #FFF;
						}
			.site-header .menu .side-menu .gold-award{
				display: inline-block;
				vertical-align: top;
				line-height: 0;
				width: 83.5px;
				margin-left: 15px;
			}


	.site-header .menu-btn{
		display: block;
		width: 45px;
		height: 45px;
		float: right;
		background-color: #d0111b;
		padding: 12.5px;
	}
		.site-header .menu-btn .border{
			width: 20px;
			height: 16px;
			position: relative;
		}
			.site-header .menu-btn .border span{
				display: block;
				width: 20px;
				height: 2px;
				background-color: #FFF;
				position: absolute;
				left: 0;
				transition: .3s;
			}
			.site-header .menu-btn .border .top{
				top: 0;
			}
			.site-header .menu-btn .border .middle{
				top: 50%;
				transform: translateY(-50%);
			}
			.site-header .menu-btn .border .bottom{
				bottom: 0;
			}
				.site-header .menu-btn.menu-on .border .top{
					top: 0;
					left: 4px;
					transform-origin: left top;
					transform: rotate(45deg);
				}
				.site-header .menu-btn.menu-on .border .middle{
					display: none;
				}
				.site-header .menu-btn.menu-on .border .bottom{
					bottom: 0;
					left: 4px;
					transform-origin: left bottom;
					transform: rotate(-45deg);
				}


/* TOP Page(SP)
-------------------------------------------------------------- */
.main-visual{}
	.main-visual .slider{}
		.main-visual .slider .inner{
			height: 445px;
		}
		/*
			.main-visual .slider .inner.catch_01{ background-image: url('./image/toppage/catch_01_sp.jpg'); }
			.main-visual .slider .inner.catch_02{ background-image: url('./image/toppage/catch_02_sp.jpg'); }
			.main-visual .slider .inner.catch_03{ background-image: url('./image/toppage/catch_03_sp.jpg'); }
		*/

		.main-visual .slider .slick-dots{
			width: 100%;
			bottom: 5%;
			left: 0;
		}
			.main-visual .slider .slick-dots li{}
				.main-visual .slider .slick-dots li button{
					display: block;
					width: 42px;
					height: 2px;
				}
	.main-visual .logo{
		width: 100%;
		height: 100%;
		/*background-color: rgba(255,255,255,0.6);*/
		position: absolute;
		top: 0;
		left: 0;
	}
		.main-visual .logo .inner{
			width: 69px;
			height: 110px;
		}

body.home .main-wrapper{
/*	height: 445px;*/
	
	height: auto;
	margin-bottom: 1px;
}

/* News */
.home-sp-news{
	padding: 30px 0;
}
	.home-sp-news .news-list{
		width: 90%;
		margin: 0 auto 40px auto;
	}


/* Business */
.home-business{
	padding: 40px 0;
}
	.home-business .content-head{
		margin-bottom: 40px;
	}
		.home-business .content-head .text{
			width: 90%;
			margin: 0 auto;
			font-size: 13px;
			line-height: 20px;
		}
	.home-business .business-list{
		width: 90%;
		margin: 0 auto;
	}

/* QOR */
.home-quality{
	padding-top: 50px;
	padding-bottom: 80px;
	margin-bottom: 100px;
	margin-bottom: 0;
}
	.home-quality .content-frame{}
	.home-quality .content-head{
		margin-bottom: 20px;
	}
		.home-quality .content-head .default-title{}
		.home-quality .content-head .text{
			width: 90%;
			margin: 0 auto;
			text-align: justify;
		}

	.home-quality .movie-frame{
		width: 300px;
		height: 168px;
		bottom: -84px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 5;
		/*background: url('./image/toppage/movie-thumb.jpg') no-repeat center center / cover;*/
	}
		.home-quality .movie-frame .video{
			position: relative;
			width: 100%;
			padding-top: 56.25%;
		}
			.home-quality .movie-frame iframe{
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100% !important;
				height: 100% !important;
			}
/*
		.home-quality .movie-frame a{
			display: block;
			width: 300px;
			height: 168px;
		}
			.home-quality .movie-frame a .btn{
				width: 47px;
				height: 47px;
				background-size: 47px 47px;
			}
		.home-quality .movie-frame .back-movie{
			display: none;
		}
*/
.home-quality{
	padding-bottom: 30px;
}
	.home-quality .content-head {
		margin-bottom: 40px;
	}
	.home-qor ul{
		width: 90%;
		margin: 0 auto;
	}
/*
		.home-qor ul li{
			width: 100%;
			float: none;
			margin-right: 0;
			margin-bottom: 30px;
		}
*/
	.home-qor li{
		width: calc((100% - (20px * (2 - 1))) / 2);
		float: left;
		margin-right: 20px !important;
		margin-bottom: 20px !important;
	}
		.home-qor li:nth-child(2n+2){
			transition-delay: .1s;
		}
		.home-qor li:nth-child(2n){
			transition-delay: .2s;
			margin-right: 0 !important;
		}
.home-quality .default-btn-sp {
  margin-top: 20px;
}
.home-qor-video {
	margin-bottom: 50px;
}

/* Facility */
.home-facility{
	min-width: initial;
	min-width: auto;
	padding-top: 40px;
	position: relative;
	padding-bottom: 40px;
}
	.home-facility .inner-right{
		width: 90%;
		margin: 0 auto;
		position: static;
		top: 0;
		left: 0;
		transform: none;
		padding-left: 0;
	}
		.home-facility .inner-right .default-title{
			text-align: center;
		}
		.home-facility .inner-right .image{
			line-height: 0;
			margin-bottom: 30px;
		}
		.home-facility .inner-right .text{
			width: 100%;
		}
		.home-facility .inner-right .default-btn{}
	.home-facility .inner-left{
		display: none;
	}

/* Company */
.home-company{
	padding: 65px 0;
}
	.home-company .default-title{
		margin-bottom: 50px;
	}
	.home-company .company-menu{
		width: 155px;
		margin: 0 auto;
	}
		.home-company .company-menu li{
			width: 155px;
			float: none;
			margin-right: 0;
			margin-bottom: 40px;
		}
			.home-company .company-menu li:nth-child(2){
				transition-delay: 0;
			}
			.home-company .company-menu li:last-child{
				transition-delay: 0;
				margin-right: 0;
				margin-bottom: 0;
			}
			.home-company .company-menu li a{
				display: block;
				height: 155px;
			}
			.home-company .company-menu li .inner{
				top: 30px;
				left: 0;
			}
				.home-company .company-menu li .inner .main{
					font-size: 25px;
					line-height: 30px;
					margin-bottom: 10px;
				}
				.home-company .company-menu li .inner .sub{
					font-size: 13px;
					height: 18px;
					line-height: 18px;
					margin-bottom: 20px;
				}
				.home-company .company-menu li .inner .discover{
					font-size: 13px;
					line-height: 20px;
				}

/* Sponsor */
.home-sponsor{
	padding-top: 40px;
}
	.home-sponsor .inner-left{
		width: 90%;
		margin: 0 auto;
		min-width: auto;
		min-width: initial;
		height: auto;
		position: static;
	}
		.home-sponsor .inner{
			width: 100%;
			position: static;
			top: 0;
			left: 0;
		}
			.home-sponsor .inner.fixed{
				left: 0;
				position: static;
			}
			.home-sponsor .inner.bottom{
				left: 0;
				top: 0;
				bottom: auto;
				position: static;
			}
			.home-sponsor .inner .default-title{
				text-align: center;
			}
			.home-sponsor .inner .text-box{
				margin-bottom: 20px;
			}
				.home-sponsor .inner .text-box .text{
					width: 100%;
					float: none;
					margin-bottom: 40px;
				}
					.home-sponsor .inner .text-box .text p{
						font-size: 13px;
						line-height: 24px;
						text-align: justify;
					}
				.home-sponsor .inner .text-box .logo{
					width: 50px;
					margin: 0 auto 20px auto;
					float: none;
					padding-top: 0;
				}
			.home-sponsor .inner .default-btn{}
	.home-sponsor .inner-right{
		width: 90%;
		min-width: auto;
		min-width: initial;
		min-height: auto;
		min-height: initial;
		float: none;
		margin: 0 auto;
	}
		.home-sponsor .inner-list{}
			.home-sponsor .inner-list li{
				margin-bottom: 20px;
			}
				.home-sponsor .inner-list li a{}
				.home-sponsor .inner-list li .text{
					height: 30px;
				}
					.home-sponsor .inner-list li .text .title{
						font-size: 16px;
						line-height: 30px;
					}
				.home-sponsor .inner-list li .cover{
					width: 100%;
					height: 140px;
				}

/* Award */
.home-award{
	display: block;
	padding-top: 40px;
	padding-bottom: 40px;
}
	.home-award .inner-left{
		width: 100%;
	}
		.home-award .inner{
			width: 100%;
			margin-top: 0;
			margin-left: auto;
			margin-right: auto;
		}
			.home-award .inner .default-title{
				text-align: center;
			}
					.home-award .inner .text-box .text p{
						text-align: center;
					}
	.home-award .inner-right{
		width: 100%;
	}
.home-award .slick-slider {
	margin-right: auto;
}
	.home-award .slick-slider .slick-prev {
		left: 10px;
	}
	.home-award .slick-slider .slick-next {
		right: 10px;
	}

/* Project */
.project-gallery{
	margin-top: 0;
}
	.project-gallery.gallery-list .gallery-box{
		width: 100%;
		margin-bottom: 20px;
	}
	.project-gallery.gallery-list .gallery-box:last-child{
		margin-bottom: 0;
	}
	.project-gallery .image{
		width: 100%;
	}
	
.project-table{
	margin-top: 50px;
}

.project-content{
	margin-bottom: 0;
}

.business-frame .business-block.project-block section .text{
	min-height: 0;
}
	.business-frame .business-block.project-block section .text{
		border-top: 1px solid #ffffff;
	}
	.business-frame .business-block.project-block section .text:first-child{
		border-right: 0;
	}

.home-company.project-contact{
	margin: 0;
	padding: 20px 20px;
}
	.home-company.project-contact .company-menu{
		width: 100%;
		margin: 0 auto;
	}
	.home-company.project-contact .company-menu li{
		display: inline-block;
		width: 100%;
		margin: 10px 0;
	}
	.home-company.project-contact .company-menu li:first-child{
		margin-top: 0;
	}
		.home-company.project-contact .company-menu li a{
			height: 125px;
		}
		.home-company.project-contact.eng .company-menu li a{
			height: 100px;
		}

.project-tags{
	margin-bottom: 20px;
}

/* Lower Page(SP)
-------------------------------------------------------------- */
.lower-header,
.lower-header.no-back{
	height: 200px;
}
	.lower-header .lower-title,
	.lower-header.no-back .lower-title{
		top: calc(50% + 20px);
		transform: translateY(-50%);
	}
		.lower-header .lower-title .en,
		.lower-header.no-back .lower-title .en{
			font-size: 40px;
			line-height: 50px;
		}
		.lower-header .lower-title .sub,
		.lower-header.no-back .lower-title .sub{
			font-size: 13px;
			line-height: 16px;
		}

.lower-news{
	padding-bottom: 50px;
}
	.lower-news .lower-title{
		width: 100%;
		text-align: center;
		margin-bottom: 60px;
	}
	.lower-news-list{
		width: 90%;
		margin: 0 auto;
	}
		.lower-news-list li{
			padding: 0;
		}
			.lower-news-list li a{
				padding: 20px 0;
			}
			.lower-news-list li .inner-left{
				width: 100%;
				float: none;
				padding-top: 0;
				margin-bottom: 10px;
			}
				.lower-news-list li .inner-left .date{
					font-size: 13px;
					margin-bottom: 10px;
				}
				.lower-news-list li .inner-left .title{
					font-size: 13px;
				}
			.lower-news-list li .inner-right{
				width: 100%;
				float: none;
				text-align: center;
			}
				.lower-news-list li a::before{
					display: none;
				}


/* Business(SP)
-------------------------------------------------------------- */
.businesslist-frame{}
	.businesslist-frame .lower-header{
		height: 160px;
	}
		.businesslist-frame .lower-header .lower-title{
			top: auto;
			bottom: 0;
			transform: none;
			margin-bottom: 0;
		}
		.businesslist-frame .lower-header .lower-title .en{
			font-size: 40px;
			line-height: 50px;
		}
		.businesslist-frame .lower-header .lower-title .sub{
			font-size: 13px;
		}


.business-frame{}
	.business-frame .business-header{
		height: 200px;
	}
		.business-frame .business-header .lower-title{
			top: calc(50% + 20px);
		}
			.business-frame .business-header .lower-title .en{
				font-size: 40px;
				line-height: 50px;
			}
			.business-frame .business-header .lower-title .sub{
				font-size: 11px;
				line-height: 16px;
			}

	.business-frame .business-body{}
		.business-frame .business-body .number{
			width: 70px;
			height: 70px;
		}
			.business-frame .business-body .number::before{
				width: 70px;
				height: 70px;
				border-left: 70px solid #d0111b;
				border-bottom: 70px solid transparent;
			}
			.business-frame .business-body .number span{
				width: 42px;
				line-height: 35px;
				font-size: 17px;
			}
		.business-frame .business-body .inner{
			width: 90%;
			margin: 0 auto;
			padding: 50px 0;
		}
			.business-frame .business-body .inner .title{
				font-size: 20px;
				line-height: 30px;
				margin-bottom: 30px;
			}
			.business-frame .business-body .inner .text{
				width: 100%;
			}
				.business-frame .business-body .inner .text p{
					font-size: 13px;
					line-height: 26px;
					margin-bottom: 30px;
				}
				.business-frame .business-body .inner .text p:last-child{
					margin-bottom: 0;
				}

	.business-frame .image-area{
		min-width: auto;
		min-width: initial;
	}
		.business-frame .image-area .main-image{}
			.business-frame .image-area .main-image img{}
			.business-frame .image-area .main-image img.display-pc{
				display: none;
			}
			.business-frame .image-area .main-image img.display-sp{
				display: block;
			}
		.business-frame .image-area .slick-arrow{
			top: 50%;
			transform: translateY(-50%);
			width: 10px;
			height: 17.5px;
		}
		.business-frame .image-area .slick-prev{
			left: 10px;
			background: url('./image/common/arrow-left-s_gray.png') no-repeat 0 0 / 10px 17.5px;
		}
		.business-frame .image-area .slick-next{
			right: 10px;
			background: url('./image/common/arrow-right-s_gray.png') no-repeat 0 0 / 10px 17.5px;
		}

		.business-frame .image-area .slick-dots{
			display: none !important;
			width: 1150px;
			margin: 0 auto;
			text-align: right;
			letter-spacing: -.40em;
			padding: 20px 0;
		}
			.business-frame .image-area .slick-dots li{
				display: inline-block;
				margin-left: 20px;
				background-position: center;
				background-size: cover;
			}
				.business-frame .image-area .slick-dots li button{
					display: block;
					width: 70px;
					height: 70px;
					overflow: hidden;
					text-indent: 100%;
					background-color: rgba(0,0,0,0.3);
					cursor: pointer;
				}
					.business-frame .image-area .slick-dots li.slick-active button,
					.business-frame .image-area .slick-dots li button:hover{
						background-color: transparent;
					}
			.business-frame .image-area.business04 .slick-dots li:nth-child(1){ background-image: url('./image/lower/business/detail04_01thumb.jpg'); }
			.business-frame .image-area.business04 .slick-dots li:nth-child(2){ background-image: url('./image/lower/business/detail04_02thumb.jpg'); }
			.business-frame .image-area.business04 .slick-dots li:nth-child(3){ background-image: url('./image/lower/business/detail04_03thumb.jpg'); }

	.business-frame .other-business{
		width: 92%;
		margin: 0 auto;
		padding: 30px 0;
	}
		.business-frame .other-business .business-list li{
			width: 48%;
			margin-right: 4%;
			margin-bottom: 4%;
			float: left;
		}
			.business-frame .other-business .business-list li:nth-child(2n){
				margin-right: 0;
			}
			.business-frame .other-business .business-list li a::before{
				width: 20px;
				font-size: 10px;
				line-height: 20px;
			}
			.business-frame .other-business .business-list li a::after{
				width: 35px;
				height: 35px;
				border-left: 35px solid #d0111b;
				border-bottom: 35px solid transparent;
			}
			.business-frame .other-business .business-list li .cover{
				height: 60px;
			}
			.business-frame .other-business .business-list li .text .title{
				font-size: 13px;
				margin-bottom: 0;
			}
			.business-frame .other-business .business-list li.bl-contact a{
				height: 60px;
			}
			.business-frame .other-business .business-list li .inner{
				width: calc(100% - 4px);
				height: 56px;
				top: 2px;
				left: 2px;
				padding-top: 12px;
			}
				.business-frame .other-business .business-list li .inner .image{
					margin: 0 auto 4px auto;
					width: 20px;
				}
				.business-frame .other-business .business-list li .inner .contact-title{
					font-size: 13px;
					line-height: 20px;
				}

	.business-frame .cfrp-description{
		background-image: url('./image/lower/business/detail03back_sp.jpg');
	}
		.business-frame .cfrp-description .inner{
			width: 90%;
			padding: 50px 0;
		}
		.business-frame .cfrp-description .inner-left{
			width: 100%;
			float: none;
			margin-bottom: 30px;
		}
			.business-frame .cfrp-description .inner-left h3{}
		.business-frame .cfrp-description .inner-right{
			width: 100%;
			float: none;
		}
			.business-frame .cfrp-description .inner-right ul{}
				.business-frame .cfrp-description .inner-right ul li{}

	.business-frame .business-block{}
		.business-frame .business-block section{
			display: block;
			-webkit-flex-wrap: nowrap;
			flex-wrap: nowrap;
			background-color: #eeeeee;
		}
			.business-frame .business-block section .text{
				width: 100%;
				line-height: 0;
				position: relative;
			}
				.business-frame .business-block section .text .inner{
					width: 90%;
					position: static;
					top: 0;
					left: 0;
					transform: none;
					margin: 0 auto;
					padding: 30px 0;
				}
				.business-frame .business-block section .text h3{
					font-size: 17px;
					line-height: 32px;
					padding-bottom: 12px;
					margin-bottom: 20px;
					text-align: center;
				}
				.business-frame .business-block section .text p{}
				.business-frame .business-block section .text .movie-box{
					width: 270px;
					margin: 0 auto;
				}
					.business-frame .business-block section .text .movie-box .movie-left{
						width: 100%;
						float: none;
					}
					.business-frame .business-block section .text .movie-box .movie-right{
						width: 100%;
						float: none;
						padding: 20px 0;
					}
						.business-frame .business-block section .text .movie-box .movie-right p{
							font-size: 13px;
							line-height: 24px;
							text-align: center;
						}
			.business-frame .business-block section .image{
				width: 100%;
				line-height: 0;
			}
			.business-frame .business-block section .image img{
				width: 100%;
			}

			.business-frame .business-block section:nth-of-type(2n){
				-webkit-flex-direction: row;
				flex-direction: row;
  			}

.hero-x-list{
	border-top-width: 4px;
	padding: 30px 0;
}
	.hero-x-list .title{
		font-size: 16px;
		margin-bottom: 30px;
	}
	.hero-x-list .inner-list{
		width: 95%;
		margin: 0 auto;
	}
		.hero-x-list .inner-list li{
			width: 48.5%;
			margin-right: 3%;
		}
			.hero-x-list .inner-list li:nth-child(2n){
				margin-right: 0;
			}
			.hero-x-list .inner-list li a{}
				.hero-x-list .inner-list li .image{}
				.hero-x-list .inner-list li .text{}
					.hero-x-list .inner-list li .text .meta{
						font-size: 13px;
					}
						.hero-x-list .inner-list li .text .meta .category{}
						.hero-x-list .inner-list li .text .meta .date{}
					.hero-x-list .inner-list li .text .title{
						font-size: 12px;
						line-height: 18px;
					}


/* Company(SP)
-------------------------------------------------------------- */
.company-frame{
	transition: .3s;
}
	.company-frame.on{
		padding-bottom: 280px;
	}
	.company-frame .profile{
		padding: 40px 0;
		width: 90%;
		margin: 0 auto;
	}
		.company-frame .profile .lower-title{
			margin-bottom: 30px;
		}
			.company-frame .profile .lower-title .en{
				font-size: 25px;
			}
		.company-frame .profile .profile-table{
			font-size: 12px;
			margin-bottom: 25px;
			table-layout: fixed;
			width: auto;
			min-width: 100%;
		}
			.company-frame .profile .profile-table tbody{
				width: 100%;
			}
			.company-frame .profile .profile-table tr{}
				.company-frame .profile .profile-table th,
				.company-frame .profile .profile-table td{
					padding: 16px 0;
				}
				.company-frame .profile .profile-table th{
					width: 75px;
				}
				.company-frame .profile .profile-table td{
					width: calc(100% - 75px);
					padding-left: 16px;
				}
				.company-frame .profile .profile-table td.inner-left{
					width: 0;
					display: none;
				}
					.company-frame .profile .profile-table td dl{}
						.company-frame .profile .profile-table td dt{
							width: auto;
							float: none;
							margin-top: 10px;
						}
						.company-frame .profile .profile-table td dt:first-child{
							margin-top: 0;
						}
				.company-frame .profile .profile-table td.business-td{
					line-height: 0;
				}
					.company-frame .profile .profile-table td ul{
						width: 100%;
					}
						.company-frame .profile .profile-table td ul li{
							width: 100%;
							height: 35px;
							float: none;
							margin-right: 0;
							margin-bottom: 10px !important;
							line-height: 35px;
							padding: 0 0 0 40px;
							background-size: 35px 35px;
						}
							.company-frame .profile .profile-table td ul li:last-child { margin-bottom: 0 !important; }
							
							.company-frame .profile .profile-table td ul li.double{
								line-height: 35px;
							}

		.company-frame .profile .bottom-box{
			background-color: transparent;
			font-size: 13px;
			line-height: 24px;
		}
			.company-frame .profile .bottom-box .inner-section{
				width: 100%;
				margin: 0 auto 25px auto;
				display: block;
				-webkit-flex-wrap: nowrap;
				flex-wrap: nowrap;
				background-color: #eeeeee;
				padding: 20px;
			}
				.company-frame .profile .bottom-box .inner-section .inner-line{
					display: none;
				}
				.company-frame .profile .bottom-box .inner-section .inner-image{
					width: 100%;
					height: 120px;
					border-bottom: none;
					margin-bottom: 20px;
				}
					.company-frame .profile .bottom-box .inner-section .inner-image h3{}
				.company-frame .profile .bottom-box .inner-section .inner-text{
					width: 100%;
					padding: 0;
					border-bottom: none;
				}
	.company-frame .access{}
		.company-frame .access .lower-title{
			margin-bottom: 30px;
		}
			.company-frame .access .lower-title .en{
				font-size: 25px;
			}
		.company-frame .access .inner-section{
			margin-bottom: 40px;
			position: relative;
		}
			.company-frame .access .inner-section .back-map{
				width: 100%;
				height: 320px;
			}
			.company-frame .access .inner-section .access-box{
				width: 280px;
				min-height: auto;
				position: relative;
				top: 0;
				left: 0;
				padding: 30px 0;
				z-index: 5;
				margin-top: -80px;
			}
				.company-frame .access .inner-section:nth-child(2n+1) .access-box{
					left: 0;
					right: 0;
					float: right;
				}
				.company-frame .access .inner-section .access-box .inner-image{
					width: 240px;
				}
				.company-frame .access .inner-section .access-box .title{
					margin-left: 20px;
					margin-bottom: 40px;
				}
					.company-frame .access .inner-section .access-box .title h3{
						margin-bottom: 10px;
					}
					.company-frame .access .inner-section .access-box .title p{
						font-size: 12px;
						line-height: 24px;
					}
				.company-frame .access .inner-section .access-box .description{
					width: 240px;
					margin: 0 auto;
					font-size: 12px;
					line-height: 24px;
				}
					.company-frame .access .inner-section .access-box .description p{
						margin-bottom: 30px;
					}
				.company-frame .access .inner-section .access-box .default-btn-sp{
					width: 240px;
					margin: 0 auto;
					text-align: left;
				}
					.company-frame .access .inner-section .access-box .default-btn-sp a{
						text-align: left;
						border: 1px solid #FFF;
						text-indent: 10px;
					}
				.company-frame .access .inner-section .access-box .googlemap{}
					.company-frame .access .inner-section .access-box .googlemap.on{
						height: 280px;
					}
					.company-frame .access .inner-section .access-box .googlemap > div{
						width: 100%;
						height: 280px;
					}



/* Concept(SP)
-------------------------------------------------------------- */
.concept-frame{
	min-width: auto;
	min-width: initial;
}
	.concept-frame .top-cover{
		padding-top: 80px;
		padding-bottom: 40px;
	}
		.concept-frame .top-cover .concept-header{
			margin-bottom: 30px;
		}
		.concept-frame .top-cover .concept-box{
			width: 90%;
			margin: 0 auto;
			padding: 30px 0;
		}
			.concept-frame .top-cover .concept-box .inner-image{
				width: 69px;
				width: 120px;
				margin: 0 auto 20px auto;
			}
			.concept-frame .top-cover .concept-box .title{
				font-size: 18px;
				line-height: 36px;
				margin-bottom: 20px;
			}
			.concept-frame .top-cover .concept-box .text{
				width: 85%;
				margin: 0 auto;
			}
	.concept-frame .bottom-cover{
		padding: 40px 0;
	}
		.concept-frame .bottom-cover .lower-title{
			margin-bottom: 20px;
		}
			.concept-frame .bottom-cover .lower-title .en{
				font-size: 25px;
			}
		.concept-frame .bottom-cover ul{
			width: 90%;
			margin: 0 auto;
		}
			.concept-frame .bottom-cover ul li{
				width: 100%;
				float: none;
				margin-right: 0;
				margin-bottom: 30px;
			}
				.concept-frame .bottom-cover ul li .video{}
					.concept-frame .bottom-cover ul li .video iframe{}

/* Sponsor(SP)
-------------------------------------------------------------- */
.sponsor-frame{
	width: 100%;
	padding-top: 80px;
	min-width: auto;
	min-width: initial;
}
	.sponsor-frame .sponsor-header{
		width: 90%;
		margin: 0 auto 30px auto;
	}
		.sponsor-frame .sponsor-header .lower-title{
			margin-bottom: 50px;
		}
			.sponsor-frame .sponsor-header .lower-title .en{
			}
		.sponsor-frame .sponsor-header .lead-text{
			width: 100%;
		}

	.sponsor-frame .sponsor-list{
		padding-top: 0;
		width: 90%;
		margin: 0 auto;
	}
		.sponsor-frame .sponsor-list .sponsor-box{
			margin-top: 0;
			display: block;
			-webkit-flex-direction: row;
			flex-direction: row;
		}
			.sponsor-frame .sponsor-list .sponsor-box .inner-right{
				width: 100%;
				margin-bottom: 10px;
			}
			.sponsor-frame .sponsor-list .sponsor-box .inner-left{
				width: 100%;
				padding-top: 0;
			}
				.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary{
					width: 100%;
					margin: 0 auto;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title{
						margin-bottom: 10px;
						text-align: center;
					}
						.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title .en{
							font-size: 25px;
							margin-bottom: 4px;
						}
						.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .title .ja{
							font-size: 20px;
							color: #585858;
						}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary p{
						font-size: 13px;
						line-height: 24px;
						margin-bottom: 40px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .default-btn-sp a{
						width: 100%;
						display: block;
						margin-bottom: 20px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .default-btn-sp a.web-link{
						background: #585858;
					}
						.sponsor-frame .sponsor-list .sponsor-box .inner-left .summary .default-btn-sp a.web-link span{
							display: inline-block;
							padding-left: 24px;
							background: url('./image/common/external_white.png') no-repeat 0 50% / 17px 16px;
						}
				.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail{
					padding: 60px 0;
					margin-top: -135px;
					margin-bottom: 20px;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail .inner-detail{
						width: 90%;
						margin: 0 auto;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail h3{
						font-size: 16px;
						margin-bottom: 20px;
						text-align: center;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail p{
						font-size: 13px;
						line-height: 26px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-left .detail .close-btn{
						width: 16px;
						height: 16px;
						top: 10px;
						right: 5%;
					}
			.sponsor-frame .sponsor-list .sponsor-box .inner-movie{}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie.on{}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie .cover{}
				.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame{
					width: 300px;
					height: 174px;
				}
					.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame iframe{
						width: 300px;
						height: 174px;
					}
					.sponsor-frame .sponsor-list .sponsor-box .inner-movie .movie-frame .close-btn{}

/* Gallery(SP)
-------------------------------------------------------------- */
.gallery-frame{}
	.gallery-list{
		width: 90%;
		margin: 0 auto;
		padding-top: 40px;
	}
		.gallery-list .gallery-box{
			width: 100%;
			float: none;
			margin-right: 0;
			margin-bottom: 20px;
		}
			.gallery-list .gallery-box .thumb{
				line-height: 0;
			}
				.gallery-list .gallery-box:nth-child(3n+2) .thumb,
				.gallery-list .gallery-box:nth-child(3n) .thumb{
					transition-delay: 0;
				}
				.gallery-list .gallery-box .thumb .image{
					height: 125px;
					overflow: hidden;
					position: relative;
				}
				.gallery-list .gallery-box .thumb img{
					width: 100%;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
				}
				.gallery-list .gallery-box .thumb .cover-title{
					width: 100%;
					height: auto;
					position: static;
					background-color: transparent;
					opacity: 1;
				}
					.gallery-list .gallery-box .thumb .cover-title .title{
						width: 100%;
						font-size: 13px;
						font-weight: bold;
						line-height: 30px;
						color: #000;
						position: static;
						top: 0;
						left: 0;
						text-align: left;
					}
			.gallery-list .gallery-box .gallery-content{}
				.gallery-list .gallery-box .gallery-content.on{}
				.gallery-list .gallery-box .gallery-content .inner-frame{
					width: 90%;
					top: 100px;
					left: 5%;
				}
					.gallery-list .gallery-box .gallery-content .inner-frame .title{
						font-size: 16px;
						line-height: 50px;
						text-align: left;
					}
					.gallery-list .gallery-box .gallery-content .inner-frame .image-area{
						width: 100%;
						height: auto;
						margin: 0 auto 30px auto;
						border: none;
					}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .image-box{
							width: 100%;
							max-height: auto;
							max-height: initial;
							position: static;
							top: 0;
							left: 0;
							transform: none;
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .prev,
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .next{
							width: 10px;
							height: 17.5px;
							position: absolute;
							top: calc(50% - 8.75px);
							background-size: 10px 17.5px;
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .prev{
							left: 10px;
							background-image: url('./image/common/arrow-left-s_gray.png');
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-area .next{
							right: 10px;
							background-image: url('./image/common/arrow-right-s_gray.png');
						}
						.gallery-list .gallery-box .gallery-content .inner-frame .close-btn{}
					.gallery-list .gallery-box .gallery-content .inner-frame .image-list{
						width: 100%;
						margin: 0 auto 30px auto;
					}
						.gallery-list .gallery-box .gallery-content .inner-frame .image-list li{
							display: inline-block;
							width: 40px;
							margin-right: 10px;
						}
							.gallery-list .gallery-box .gallery-content .inner-frame .image-list li:last-child{
								margin-right: 0;
							}
					.gallery-list .gallery-box .gallery-content .inner-frame .gallery-text{
						width: 100%;
					}
				.gallery-list .gallery-box .gallery-content .cover{}

/* Award(SP)
-------------------------------------------------------------- */
.award-frame {
	width: 100%;
	min-width: auto;
	min-width: initial;
}
	.award-frame .award-list .award-box{
		margin-top: 40px;
		margin-bottom: 20px;
		width: 100%;
		display: block;
		-webkit-flex-direction: initial;
		flex-direction: initial;
	}
		.award-frame .award-list .award-box:nth-child(2n){
			-webkit-flex-direction: initial;
			flex-direction: initial;
		}
		.award-frame .award-list .award-box .inner-right{
			width: 100%;
			padding-left: 0;
		}
		.award-frame .award-list .award-box .inner-left{
			width: 100%;
			padding-right: 0;
			margin-bottom: 32px;
		}
	.award-frame .title {
		margin-top: 40px;
	}
		.award-frame .title .en {
			display: block;
			font-size: 20px;
		}
		.award-frame .title .en:before {
			height: 28px;
			margin-right: 14px;
			margin-bottom: 4px;
		}
		.award-frame .title .ja{
			display: block;
			font-size: 100%;
		}
	.award-frame .sub-title {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 24px;
	}
		.award-frame .sub-title:before {
			border-left: 2px solid #d0111b;
			height: 20px;
			margin-bottom: 3px;
			margin-right: 10px;
		}
	.award-frame .container {
    width: 90%;
    margin: 0 auto 0 auto;
    padding: 0;
	}
	.award-frame .link-list > * {
		font-size: 11px;
		line-height: 16px;
	}
		.award-frame .link-list > * a {
			background-image: none;
			padding: 15px 20px 15px 20px;
		}
.award_year{
	line-height: 35px;
	font-size: 17px;
	padding: 10px 16px;
	padding-top: 6px;
}
.items{
	font-size: 14px;
	line-height: 25px;
}
.slick-slider{
	margin-bottom: 40px;
}
.slick-slider-multi{
	margin-bottom: 72px;
}
.movie-block{
	width: 100%;
}
	.movie-block .inner{
		width: 90%;
		margin: 0 auto;
	}

/* Contacts(SP)
-------------------------------------------------------------- */
.contacts-frame{}
	.contacts-frame .lower-header{
		height: 200px;
	}
		.contacts-frame .lower-header .lower-title{}
			.contacts-frame .lower-header .lower-title .en{
				font-size: 40px;
				line-height: 50px;
			}
			.contacts-frame .lower-header .lower-title .sub{}

.contacts-body{
	width: 90%;
	margin: 0 auto;
}
	.contacts-body .lead-text{
		text-align: justify;
	}
	.contacts-body .contacts-main{
		width: 100%;
		float: none;
		padding: 30px 10px;
		margin-bottom: 40px;
	}
	.contacts-body .contacts-side{
		width: 100%;
		float: none;
		padding: 20px;
		margin-bottom: 60px;
	}
		.contacts-body .contacts-side h2{}
		.contacts-body .contacts-side .element{
			color: inherit;
  			text-decoration: none;
  			pointer-events: none;
	}
			.contacts-body .contacts-side .element:last-child{
				margin-bottom: 0;
			}

.contact-form{
	font-size: 13px;
	line-height: 24px;
}
	.contact-form .top-text{}
	.contact-form .confirm-text{}
	.contact-form .error-message{}
		.contact-form .error-message.on{}
	.contact-form dl{}
		.contact-form dl dt{}
		.contact-form dl dd{}
	.contact-form .inner-half{
		width: 100%;
		margin-right: 0;
		float: none;
	}
		.contact-form .inner-half-dummy:after{
			content: "";
		}
		.contact-form .inner-half-dummy + dd{
			margin-top: -2em;
		}

	.contact-form input[type="radio"],
	.contact-form input[type="checkbox"]{
		display: none;
	}
		.contact-form .mwform-radio-field-text,
		.contact-form .mwform-checkbox-field-text{
			display: inline-block;
			font-weight: bold;
			vertical-align: top;
			padding-left: 30px;
			position: relative;
		}
			.contact-form .mwform-radio-field-text::before,
			.contact-form .mwform-checkbox-field-text::before{
				content: '';
				display: block;
				width: 16px;
				height: 16px;
				border: 1px solid #000;
				background-color: #FFF;
				border-radius: 50%;
				position: absolute;
				top: 1px;
				left: 0;
				z-index: 1;
			}
			.contact-form input[type="radio"]:checked + .mwform-radio-field-text::after,
			.contact-form input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
				content: '';
				display: block;
				width: 12px;
				height: 12px;
				background-color: #cf121b;
				border-radius: 50%;
				position: absolute;
				top: 4px;
				left: 3px;
				z-index: 2;
			}
	.contact-form span.error{
		display: none;
	}

	.contact-form .zip-box{
		position: relative;
	}
	.contact-form .zip-to-addr{
		padding: 10px 0;
		line-height: 0;
		position: absolute;
		bottom: 100%;
		right: 0;
		text-align: right;
	}
		.contact-form .zip-to-addr a{}

	.contact-form .white-box{
		width: 100%;
		border: 1px solid #e3e3e3;
		height: auto;
		background-color: #FFF;
		padding: 15px 25px;
		margin-bottom: 12px;
	}

		.contact-form .white-box > span{
			width: 100%;
			line-height: 20px;
			margin-right: 0;
			margin-left: 0 !important;
			margin-bottom: 10px;
		}
	.contact-form .privacy-policy{}
	.contact-form .agreement-box{}
		.contact-form .agreement-box > span{}
	.contact-form .require{}
	.contact-form .footnote{
		font-size: 11px;
		line-height: 16px;
	}
	.contact-form input.no-margin{}
	.contact-form .form-btn{}
		.contact-form .form-btn button{
			display: inline-block;
			width: 260px;
		}

	.mw_wp_form_confirm{}
	.contact-form .complete-text{}


/* Privacy Policy(SP)
-------------------------------------------------------------- */
.policy-text{}


/* Facility(SP)
-------------------------------------------------------------- */
.facility-frame{}
	.facility-frame .lower-header{
		margin-bottom: 30px;
	}

.facility-body{
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 5;
}
	.facility-body .map-sp{
		width: 300px;
		margin: 0 auto 30px auto;
	}

	.facility-body .facility-list{
		width: 100%;
		float: none;
		padding: 20px 0;
	}
		.facility-body .facility-list h2{
			font-size: 16px;
			line-height: 28px;
			margin-bottom: 20px;
			text-align: center;
		}
		.facility-body .facility-list ul{}
			.facility-body .facility-list ul li{
				padding: 0 15px;
				font-size: 13px;
			}
				.facility-body .facility-list ul li .inner-box{
					padding: 10px 0;
				}
				.facility-body .facility-list ul li .inner-text{
					width: calc(100% - 80px);
					float: left;
				}
					.facility-body .facility-list ul li .inner-text .title{}
					.facility-body .facility-list ul li .inner-text .sub-title{
						margin-top: 10px;
					}
						.facility-body .facility-list ul li .inner-text .title .font-e{
							display: inline-block;
							width: 24px;
						}
					.facility-body .facility-list ul li .inner-text .default-btn-sp{
						width: 165px;
						margin-top: 12px;
						margin-left: 24px;
					}
						.facility-body .facility-list ul li .inner-text .default-btn-sp a{
							width: 165px;
							text-align: left;
							border: 1px solid #FFF;
							text-indent: 10px;
						}
				.facility-body .facility-list ul li .inner-image{
					width: 80px;
					float: right;
					line-height: 0;
					overflow: hidden;
				}
					.facility-body .facility-list ul li .inner-image img{
						display: block;
						width: auto;
						max-width: auto;
						max-width: initial;
						height: 80px;
						margin-left: -27px;
						margin-top: 10px;
					}
					.facility-body .facility-list ul li .inner-image img:first-child{
						margin-top: 0;
					}

	.facility-body .side-area{
		display: none;
	}

	.facility-frame .movie-area{
		width: 100%;
		padding: 30px 0;
		margin-top: 0;
	}
		.facility-frame .movie-area .inner{
			width: 90%;
			margin: 0 auto;
		}
			.facility-frame .movie-area .video{}
				.facility-frame .movie-area .video iframe{}


			.facility-frame .facility-list .inner-box .modal-image{}
				.facility-frame .facility-list .inner-box .modal-image .cover{}
				.facility-frame .facility-list .inner-box .modal-image .image-frame{
					width: 304px;
					height: 186px;
				}
					.facility-frame .facility-list .inner-box .modal-image .image-frame img{
						width: 304px;
						height: 186px;
						margin-left: 0;
					}
					.facility-frame .facility-list .inner-box .modal-image .image-frame .close-btn{}

/* Recruit(SP)
-------------------------------------------------------------- */
.recruit-frame{}
	.recruit-frame .lower-header{
		height: 200px;
	}
		.recruit-frame .lower-header .lower-title .en{
			font-size: 40px;
			line-height: 50px;
		}
		.recruit-frame .lower-header .lower-title .sub{}

	.recruit-frame .head-text{
		width: 90%;
		margin: 0 auto;
		margin-bottom: 40px;
		text-align: justify;
	}
		.recruit-frame .head-text .main{}
		.recruit-frame .head-text .sub{}

.recruit-body{
	width: 100%;
	margin: 0 auto;
	padding-top: 0;
}
	.recruit-body .contents-main{
		width: 100%;
		float: none;
		margin-top: 0;
	}
		.recruit-body .contents-main .inner-block{
			margin-bottom: 30px;
		}
			.recruit-body .contents-main .inner-block > .title{
				font-size: 16px;
				text-align: center;
			}
			.recruit-body .contents-main .inner-block .form-block{
				padding: 30px 10px;
			}

	.recruit-body .contents-side{
		display: none;
	}

.recruit-table{}
	.recruit-table tr{
		line-height: 26px;
	}
		.recruit-table th,
		.recruit-table td{}
		.recruit-table th{
			width: 75px;
			padding: 16px 0;
		}
		.recruit-table td{
			padding: 16px;
		}
			.recruit-table td a{
				color: #d0111b;
				font-weight: bold;
				text-decoration: underline;
			}
				.recruit-table td a:hover{
					opacity: 0.7;
				}




/* Single(SP)
-------------------------------------------------------------- */
.single-main{
	width: 90%;
	margin: 0 auto;
}
	.single-main .catch-image{
		margin-bottom: 20px;
	}
	.single-main .single-header{
		margin-bottom: 18px;
	}
		.single-main .single-header .date{
			width: 100%;
			float: none;
			font-size: 17px;
			padding: 0;
			text-align: center;
		}
		.single-main .single-header .title{
			width: 100%;
			float: none;
			font-size: 15px;
			line-height: 23px;
			padding: 12px 0 24px 0;
		}
	.single-main .post-content{
		width: 100%;
		float: none;
	}

.single-pager{}
	.single-pager .inner{
		width: 100%;
		padding: 50px 0;
	}
	.single-pager .inner a{}
	.single-pager .inner .prev,
	.single-pager .inner .next{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.single-pager .inner .prev{
		left: 5%;
	}
	.single-pager .inner .next{
		right: 5%;
	}
		.single-pager .inner .prev a,
		.single-pager .inner .next a{
			width: 29px;
			height: 24px;
			overflow: hidden;
			text-indent: 100%;
		}
		.single-pager .inner .prev a{
			padding-left: 0;
		}
		.single-pager .inner .next a{
			padding-right: 0;
		}

	.single-pager .inner .all-news{}
		.single-pager .inner .all-news a{
			border: 2px solid #FFF;
			padding: 12px;
		}
		.single-pager .inner .all-news span{
			display: block;
		}
		.single-pager .inner .all-news .en{
			font-size: 17px;
			line-height: 24px;
			margin-bottom: 5px;
		}
		.single-pager .inner .all-news .sub{
			font-size: 11px;
			line-height: 16px;
		}


/* Footer(SP)
-------------------------------------------------------------- */
.site-footer{}
	.site-footer .inner{
		width: 100%;
		position: relative;
		margin-bottom: 38px;
	}
	.site-footer .breadcrumbs,
	.site-footer .footer-menu,
	.site-footer .footer-bottom{
		display: none;
	}
	.site-footer .copyright{
		width: calc( 100% - 45px );
		line-height: 45px;
		text-align: center;
		color: #FFF;
		letter-spacing: 0;
	}
		.site-footer .copyright small{
			font-size: 10px;
		}
	.site-footer .totop{
		width: 45px;
		height: 45px;
		position: absolute;
		top: 0;
		right: 0;
	}
		.site-footer .totop a{
			display: block;
			width: 45px;
			height: 45px;
			position: relative;
			background-color: #303030;
		}
			.site-footer .totop img{
				display: block;
				width: 9.5px;
				height: 8px;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				z-index: 1;
			}

.contact-navi {
	position: fixed;
	right: 0;
	width: 100%;
	text-align: center;
}
	.contact-navi.fixed {
		position: fixed;
	}
	.contact-navi a {
		height: 38px;
	}


}
