@charset "UTF-8";


/*------イメージ-----*/

.mv .inner {
	width: 100%;
	position: relative;
}
.swiper-container {
	overflow: hidden;
}
.swiper-container .swiper-wrapper, .swiper-container .swiper-slide {
	width: 100%;
	height: 100%;
}
.swiper-container .swiper-wrapper {
	transition-timing-function: linear;
}
.swiper-container .swiper-slide {
	width: fit-content !important;
	height: 670px !important;
}
.swiper-container .swiper-slide img {
	width: auto;
	height: 100%;
}
.mv .copy {
	position: absolute;
	left: 100px;
	top: 50%;
	z-index: 999;
	font-size: 32px;
	font-weight: bold;
	color: #222;
	transform: translateY(-50%);
}
.mv .copy p {
	margin-top: 1.7em;
}
.mv .copy p span {
	background-color: #fff;
	padding: 5px 15px;
}


@media screen and (max-width: 1259px){
	
	.mv .copy {
		left: 60px;
	}
	
}

@media screen and (max-width: 999px){
	.mv {
		margin-top: 10px;
	}
	.swiper-container .swiper-slide {
		height: 480px !important;
	}
	.mv .copy {
		left: 40px;
		font-size: 24px;
	}
	.mv .copy p span {
		padding: 3px 10px;
	}

}

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

	.mv .copy {
		left: 30px;
		bottom: 40px;
		font-size: 18px;
	}
	.swiper-container .swiper-slide {
		height: 360px !important;
	}
	
}

@media screen and (max-width: 539px){
	
	.mv .copy {
		left: 20px;
		font-size: 16px;
	}
	.mv .copy p span {
		padding: 3px 8px;
	}
	
}

/*------POLICY-----*/

.sec_policy {
	padding: 50px 50px 150px;
	position: relative;
}
.sec_policy .inner {
	max-width: 600px;
	margin: 0 auto;
	position: relative;
}
.sec_policy .en_ttl {
	text-align: center;
	font-size: 36px;
	color: #880000;
	line-height: 1.5;
	margin-bottom: 30px;
}
.sec_policy h2 {
	font-size: 34px;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 30px;
}
.sec_policy .honbun {
	line-height: 1.8;
	font-size: 18px;
	margin-bottom: 30px;
}
.img_policy_l {
	width: 327px;
	position: absolute;
	left: 0;
	top: 50px;
	z-index: 991;
}
.img_policy_r {
	width: 327px;
	position: absolute;
	right: 0;
	top: 50px;
	z-index: 991;
}
.img_policy_sp {
	display: none;
}
.swiper-container2 {
	position: absolute;
	width: 2800px !important;
	bottom: 20px;
	z-index: 999;
}
.swiper-container2 .swiper-wrapper, .swiper-container2 .swiper-slide {
	width: 2800px !important;
}
.swiper-container2 .swiper-wrapper {
	transition: all .3s ease;
	-webkit-transition-timing-function: linear!important;
	-o-transition-timing-function: linear!important;
	transition-timing-function: linear!important;
}
.swiper-container2 .swiper-slide {
	font-size: 140px;
	color: #000;
	white-space: nowrap;
	opacity: 0.04;
}

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

	.sec_policy .inner {
		max-width: 480px;
	}
	.sec_policy h2 {
		font-size: 30px;
	}
	.sec_policy .honbun {
		font-size: 16px;
	}
	.img_policy_l {
		width: 23.9vw;
		position: absolute;
		left: 0;
		top: 50px;
		z-index: 991;
	}
	.img_policy_r {
		width: 23.9vw;
		position: absolute;
		right: 0;
		top: 50px;
		z-index: 991;
	}
	
}

@media screen and (max-width: 999px){
	
	.sec_policy {
		padding: 50px 50px 80px;
	}
	.sec_policy .inner {
		max-width: 400px;
	}
	.sec_policy h2 {
		font-size: 24px;
	}
	.sec_policy .honbun {
		font-size: 15px;
	}
	
	.swiper-container2 {
		width: 1900px !important;
		bottom: 10px;
	}
	.swiper-container2 .swiper-wrapper, .swiper-container2 .swiper-slide {
		width: 1900px !important;
	}
	.swiper-container2 .swiper-slide {
		font-size: 100px;
	}
	
}

@media screen and (max-width: 767px){
	
	.sec_policy {
		padding: 30px 20px 50px;
	}
	.sec_policy .inner {
		max-width: 480px;
	}
	.sec_policy .en_ttl {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.sec_policy h2 {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.sec_policy .honbun {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.img_policy_l, .img_policy_r {
		display: none;
	}
	.img_policy_sp {
		display: block;
		width: 100vw;
		margin: 0 -20px;
	}
	.swiper-container2 {
		width: 1200px !important;
		bottom: 10px;
	}
	.swiper-container2 .swiper-wrapper, .swiper-container2 .swiper-slide {
		width: 1200px !important;
	}
	.swiper-container2 .swiper-slide {
		font-size: 60px;
	}
}

/*------ADVANTAGE-----*/

.sec_advantage {
	background-color: #880000;
	padding: 60px 50px;
}
.sec_advantage .inner {
	max-width: 1000px;
	margin: 0 auto;
}
.sec_advantage .wrap_h2 * {
	color: #fff !important;
}
.sec_advantage li {
	margin-bottom: 40px;
	background-color: #fff;
	border-radius: 10px;
	padding: 40px 40px 40px 70px;
	display: flex;
	justify-content: space-between;
}
.sec_advantage .left {
	width: 60%;
}
.sec_advantage .wrap_h3 {
	padding: 30px 0 0;
	position: relative;
	z-index: 1;
}
.sec_advantage .wrap_h3::before {
	display: inline-block;
	content: '01';
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	z-index: -1;
	font-size: 128px;
	color: #e3e3e3;
	position: absolute;
	left: -30px;
	top: -20px;
	font-style: italic;
}
.sec_advantage .second::before {
	content: '02';
}
.sec_advantage .third::before {
	content: '03';
}
.sec_advantage .wrap_h3 .en {
	font-size: 20px;
	color: #880000;
	margin-bottom: 20px;
}
.sec_advantage .wrap_h3 h3 {
	font-size: 26px;
	line-height: 1.5;
	margin-bottom: 25px;
}
.sec_advantage .honbun {
	font-size: 16px;
	line-height: 1.8;
}
.sec_advantage .right {
	width: 35%;
}
.sec_advantage .right img {
	width: 100%;
}

@media screen and (max-width: 999px){
	
	.sec_advantage li {
		padding: 30px 30px 30px 50px;
	}
	.sec_advantage .left {
		width: 62%;
	}
	.sec_advantage .wrap_h3 {
		padding: 20px 0 0;
	}
	.sec_advantage .wrap_h3::before {
		font-size: 110px;
		left: -20px;
		top: -20px;
	}
	.sec_advantage .wrap_h3 .en {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.sec_advantage .wrap_h3 h3 {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.sec_advantage .right {
		width: 33%;
	}
	
}

@media screen and (max-width: 767px){
	
	.sec_advantage {
		padding: 30px 20px;
	}
	.sec_advantage .inner {
		max-width: 480px;
	}
	.sec_advantage li {
		margin-bottom: 30px;
		padding: 20px;
		display: block;
	}
	.sec_advantage .left {
		width: 100%;
		margin-bottom: 20px;
	}
	.sec_advantage .wrap_h3 {
		padding: 30px 0 0;
		text-align: center;
	}
	.sec_advantage .wrap_h3::before {
		font-size: 84px;
		left: 50%;
		transform: translateX(-50%);
		top: -10px;
	}
	.sec_advantage .wrap_h3 .en {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.sec_advantage .wrap_h3 h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.sec_advantage .honbun {
		font-size: 14px;
	}
	.sec_advantage .right {
		width: 100%;
		max-width: 240px;
		margin: 0 auto;
	}
	
}

/*------PRODUCTS-----*/

.sec_products {
	padding: 60px 50px;
	background-color: #F5F5F5;
}
.sec_products .inner {
	max-width: 1200px;
	margin: 0 auto;
}
.sec_products .honbun {
	line-height: 1.8;
	margin: 0 auto 50px;
	max-width: 900px;
}

@media screen and (max-width: 767px){
	
	.sec_products {
		padding: 30px 20px 40px;
	}
	.sec_products .inner {
		max-width: 480px;
	}
	.sec_products .honbun {
		font-size: 14px;
		margin: 0 auto 30px;
	}

}	
	
/*------OTHER-----*/

.sec_other ul {
	display: flex;
	justify-content: space-between;
	height: 375px;
}
.sec_other li {
	width: 33.3333%;
}
.sec_other a {
	display: block;
	height: 100%;
	overflow: hidden;
	background-color: #000;
	text-decoration: none;
	position: relative;
}
.sec_other a::after {
	content: '';
	display: block;
	width: 100%;
	height: 70%;
	background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,1));
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.sec_other a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.7;
	transition: all 0.5s ease;
}
.sec_other a:hover img {
	transform: scale(1.1);
	opacity: 1;
}
.sec_other .txt {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	color: #fff;
	padding: 30px 40px;
	z-index: 2;
}
.sec_other .txt .jp {
	font-size: 26px;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.3;
}
.sec_other .txt .en {
	font-size: 14px;
}
.sec_other .txt::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 30px;
	top: 50%;
	width: 11px;
	height: 18px;
	margin-top: -9px;
	background: url("../img/home/arrow_wh.png") no-repeat center center;
}

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

	.sec_other .txt .jp {
		font-size: 22px;
		margin-bottom: 15px;
	}
	.sec_other .txt .en {
		font-size: 12px;
	}
	
}

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

	.sec_other ul {
		height: 340px;
	}
	.sec_other .txt {
		padding: 30px 20px;
	}
	.sec_other .txt .jp {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.sec_other .txt .en {
		font-size: 12px;
	}
	.sec_other .txt::after {
		right: 15px;
		width: 8px;
		height: 13px;
		margin-top: -6px;
		background: url("../img/common/arrow_wh.png") no-repeat center center;
	}
	
}

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

	.sec_other ul {
		height: 260px;
	}
	.sec_other .txt {
		padding: 25px 15px;
	}
	.sec_other a:hover img {
		transform: scale(1);
		opacity: 0.8;
	}
	.sec_other .txt .jp {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.sec_other .txt .en {
		font-size: 11px;
	}
	.sec_other .txt::after {
		right: 15px;
		width: 8px;
		height: 13px;
		margin-top: -6px;
		background: url("../img/common/arrow_wh.png") no-repeat center center;
	}
	
}

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

	.sec_other ul {
		display: block;
		height: auto;
	}
	.sec_other li {
		width: 100%;
		height: 130px;
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	.sec_other a::after {
		display: none;
	}
	.sec_other a img {
		opacity: 0.5;
	}
	.sec_other a:hover img {
		opacity: 0.5;
	}
	.sec_other .txt {
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		padding: 0 30px;
	}
	.sec_other .txt .jp {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.sec_other .txt .en {
		font-size: 12px;
	}
	.sec_other .txt::after {
		content: '';
		display: inline-block;
		position: absolute;
		right: 25px;
		top: 50%;
		width: 11px;
		height: 18px;
		margin-top: -9px;
		background: url("../img/home/arrow_wh.png") no-repeat center center;
	}
	
}

/*------NEWS-----*/

.sec_news {
	padding: 80px 50px;
}
.sec_news .inner {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.sec_news .left {
	width: 200px;
}
.sec_news .right {
	width: calc( 100% - 260px );
}
.sec_news .wrap_h2 {
	text-align: left;
}
.sec_news .btn a {
	max-width: 160px;
	height: 46px;
	border-radius: 23px;
	margin: 0;
}
.sec_news .right .btn {
	display: none;
}

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

	.sec_news .left {
		width: 180px;
	}
	.sec_news .right {
		width: calc( 100% - 220px );
	}
	
}

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

	.sec_news {
		padding: 30px 20px;
	}
	.sec_news .inner {
		max-width: 480px;
		display: block;
	}
	.sec_news .left {
		width: auto;
	}
	.sec_news .right {
		width: auto;
	}
	.sec_news .wrap_h2 {
		text-align: center;
	}
	.sec_news .btn a {
		max-width: 200px;
		margin: 0 auto;
	}
	.sec_news .left .btn {
		display: none;
	}
	.sec_news .right .btn {
		display: block;
	}
	
}




/*	LOADING	*/

#loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}

#loading .ldgimg {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: none;
	text-align: center;
}
#loading .ldgimg img {
	width: 284px;
	height: auto;
	margin-bottom: 40px;
}
#loading .ldgimg .jp {
	font-size: 14px;
	margin-bottom: 2em;
	color: #880000;
}
#loading .ldgimg .en {
	font-size: 14px;
	-moz-animation: ldgtxt 1.5s infinite;
	-webkit-animation: ldgtxt 1.5s infinite;
	-o-animation: ldgtxt 1.5s infinite;
	-ms-animation: ldgtxt 1.5s infinite;
	color: #880000;
}
#loading span {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 3px;
	background: #880000;
}

#loading span.loaded {
	width: 0;
	height: 0;
	-moz-animation: ldg 1.5s;
	-webkit-animation: ldg 1.5s;
	-o-animation: ldg 1.5s;
	-ms-animation: ldg 1.5s;
}

@media screen and (max-width: 767px){
	
	#loading .ldgimg img {
		max-width: 220px;
		width: 75vw;
		margin-bottom: 30px;
	}
	#loading .ldgimg .jp {
		font-size: 13px;
		margin-bottom: 1.5em;
	}
	#loading .ldgimg .en {
		font-size: 13px;
	}
}

@keyframes ldg {
	0% {
		width: 0;
		height: 5px;
	}
	50% {
		width: 100%;
		height: 5px;
	}
	80% {
		width: 100%;
		height: 5px;
	}
	100% {
		width: 100%;
		height: 0;
	}
}

@keyframes ldgtxt {
	0% {
		opacity: 0;
	}
	40% {
		opacity: 100;
	}
	60% {
		opacity: 100;
	}
	100% {
		opacity: 0;
	}
}

/*------アニメーション-----*/

.fadeIn {
	opacity: 0;
	visibility: hidden;
	transition: all 1s ease;
}
.fadeIn.show {
	opacity: 1;
	visibility: visible;
	transform: translate(0,0);
}

.fi_top {
	transform: translate(0,60px);
}

.fi_bottom {
	transform: translate(0,-60px);
}

.fi_right {
	transform: translate(60px,0);
	transition-delay: 0s;
}
.fi_left {
	transform: translate(-60px,0);
	transition-delay: 0s;
}

.delay {
	transition-delay: 0.5s !important;
}