@charset "UTF-8";
/* CSS Document */

#sec01 {
/*	background: #BE2827;
background: linear-gradient(210deg, rgba(190, 40, 39, 1) 0%, rgba(91, 16, 14, 1) 100%);*/
	/*background-image: url("../../img/bg-01.png");
	background-position: center center;
	background-size: cover;*/
	min-height: calc(100vh - 125px);
	display: flex;
	justify-content: center;
	align-items: center;
}

.maskTag {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: center center;
  clip-path: inset(0% 50%);
	z-index: -1;
}
._load .maskTag {
	transition: 1s ease-out 1s;
	clip-path: inset(0% 0%);
}
.maskTag .bgImg {
	width: 100%;
	height: 100%;
}
.maskTag .bgImg img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}



/*#sec01::before {
	content: "";
}*/
#sec01 .txtBox {
	width: 66vh;
	margin: 0 auto;
}
#sec01 h3 {
	width: 100%;
	opacity: 0;
}
._load #sec01 h3 {
	transition: 1s 2s;
	opacity: 1;

}
#sec01 .engTxt {
	width: 60%;
	margin: 0 auto;
	padding: 10px 0 50px;
	opacity: 0;
}
._load #sec01 .engTxt {
	transition: 1s 3s;
	opacity: 1;
}
#sec01 .mark {
	width: 70%;
	margin: 0 auto;
	opacity: 0;
	transform: scale(1.5);
}
._load #sec01 .mark {
	transition: 1.0s ease-in 4s;
	opacity: 1;
	transform: scale(1);
}

.sec .h2Box {
	margin: 0 auto;
	width: 46%;
	text-align: center;
	container-type: inline-size;
	padding: 30px 0;
}
.sec .h2Box .ico01 {
	margin: 0 auto;
	width: 20%;
}
.sec .h2Box h2 {
	line-height: 1.2;
}
.sec .h2Box h2 .engTxt {
	color: #b9a172;
	font-size: 10cqw;
}
.sec .h2Box h2 .line {
	display: block;
	width: 5em;
	height: 1px;
	background-color: #000;
	margin: 0 auto;
}
.sec .h2Box h2 .jpTxt {
	display: block;
	padding-top: 1em;
	font-size: 3cqw;
	font-weight: 600;
}
#sec02 {
	background-color: #f2ecdf;
	padding-bottom: 5%;
}
#sec02 .swiper-slide {
	background-color: rgba(255,255,255,1);
	
}
/*.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 12px
}*/
.swiper-button-next, .swiper-button-prev {
  --swiper-navigation-color: #be2827; /* 矢印の色 */
}
.swiper-pagination-bullet-active {
  --swiper-pagination-color: #be2827; /* ページネーション、アクティブの色 */
}
		.swiper-horizontal {
			padding-bottom: 40px!important;
		}
		.swiper-pagination {

		}
#sec02 .swiper-slide {
	opacity: 0.8;
} 
#sec02 .swiper-slide-active {
	opacity: 1;
	box-shadow: 2px 3px 8px rgba(0,0,0,0.5);
}
.btBox.bt2 {
	container-type: inline-size;
	width: 700px;
	margin: 0 auto;
	padding-top: 30px
}
.btBox.bt2 a {
	width: 49%;
	
}
.btBox.bt2 a img {
	filter: drop-shadow(0px 4px 8px rgba(243, 0, 0, 0.5));
}
a.soon, a.soon.f-In.active {
	pointer-events: none;
	opacity: 0.5;
}

#sec03 {
	border-top: var(--red) solid 5px;
	
}
#sec03 .bgBox {
	background-image: url("../../img/bg-sec03.svg");
	background-size: cover;
	background-position: center top;
	position: relative;
		padding-bottom: 5%;
}
#sec03 .h2Box h2 .engTxt {
	color: #fff;
}
#sec03 .h2Box h2 .line {
	background-color: #fff;
}
#sec03 .h2Box h2 .jpTxt {
	color: #fff;
}
#sec03 .dlBox {
	width: 50%;
	margin-top: 20px;
	margin-left: 50%;
	height: 240px;
	background-color: rgba(255,255,255,0.7);
	box-shadow: 0px 0px 10px rgba(243, 0, 0, 0.5);
	padding: 20px 50px;
	overflow-y: scroll;
}
#sec03 .dlBox dl {
	font-size: 16px;
	font-weight: 400;
	border-bottom:  #999 dotted 1px;
	padding: 1em 0;
}
#sec03 .dlBox dt {
}
#sec03 .dlBox dt .engTxt {
	font-weight: 500;
	font-size: 130%;
	margin-right: 0.5em;
}
#sec03 .dlBox dt .cat {
	display: inline-block;
	font-size: 70%;
	background-color: rgba(204,106,107,1.00);
	color: #fff;
	padding: 0em 1em;
	line-height: 1.5;
	position: relative;
	top: -0.3em;
}

.btBox.bt1 {
	container-type: inline-size;
	width: 340px;
	margin: 0 auto;
	
}
.btBox.bt1 a {
	width: 100%;
	/*pointer-events: none;*/
	
}
.btBox.bt1 a img {
	filter: drop-shadow(0px 4px 8px rgba(243, 0, 0, 0.5));
}
#sec03 .btBox {
	margin-top: 50px;
	background-color: #fff;
}


#sec04 {}
#sec04 .bgBox {
	background-color: #000;
	padding-top: 3%;
}
#sec04 .h2Box h2 .line {
	background-color: #fff;
}
#sec04 .h2Box h2 .jpTxt {
	color: #fff;
}
#sec04 .bgYuni {
	position: relative;
}
#sec04 .yuni {
	width: 100%;
}
#sec04 #yuni01 {
	height: 400px;
	position: absolute;
	width: 14.5%;
	top: 3%;
	left: 12%;

}
#sec04 #yuni02 {
	height: 400px;
	position: absolute;
	width: 14.5%;
	top: 15%;
	left: 28%;

}
#sec04 #yuni03 {
	height: 400px;
	position: absolute;
	width: 14.5%;
	top: 3%;
	left: 61%;

}
#sec04 #yuni04 {
	height: 400px;
	position: absolute;
	width: 14.5%;
	top: 15%;
	left: 76%;

}
#sec04 .btBox {
	position: absolute;
	bottom: 8%;
	left: 50%;
	transform: translateX(-50%);
}
#sec04 .forSp {
		display: none;
	}

#sec05 {
	padding-bottom: 5%;
}
#sec05 .btBox {

}

#sec06 {
	padding-top: 0;
	padding-bottom: 5%;
	background-color: #f2f2f2;
	background-image: url("../../img/bg06.jpg");
	background-position: right top;
	background-size: 100%;
	background-repeat: no-repeat;
}
#sec06 h3 {
	font-size: 28px;
	font-weight: 500;
	padding: 0.3em 0;
	text-align: center;
	letter-spacing: 0.1em;
}
#sec06 .partner {
	background-color: #fff;
	max-width: 900px;
	padding: 10px 50px 15px;
	box-shadow: 0px 2px 12px rgba(0,0,0,0.3);
	margin-top: 30px
}
#sec06 .partner .flex-container {
	gap:20px 20px;
	justify-content: center;
	padding-bottom: 20px;
}
#sec06 .partner .ptn {
	width: calc((100% / 3) - 15px);
	box-shadow: 0px 1px 6px rgba(0,0,0,0.3);
	padding: 10px 0;
}

@media screen and (max-width: 959px) {
	#sec01 {
		height: calc(100dvh - 60px);
		margin-top: 60px;
	}
	#sec01 .txtBox {
    width: 66vw;
    margin: 0 auto;
	}
	.sec .h2Box {
    width: 60%;
    
	}
	.btBox.bt2 {
		width: 90%;
		max-width: 600px;
	}
	.btBox.bt1 {
    width: 42%;
		max-width: 290px;
	}
	#sec06 h3 {
		font-size: clamp(20px, 2.5vw, 24px);
	}
}


@media screen and (max-width: 599px) {
	#sec01 {

	}
	#sec01 .txtBox {
    width: 36vh;
    margin: 0 auto;
	}

	#sec01 h3 {
    width: 6%;
		margin: 0 auto 30px;
	}
	.sec .h2Box {
    width: 100%;
	}
	.btBox.bt2 {
    width: 80%;
    max-width: 400px;
		display: block;
  }
	.btBox.bt2 a {
		display: block;
		width: 70%;
	}
	.btBox.bt2 a:nth-child(2) {
		margin-left: 30%;
		margin-top: 10px;
	}
	.btBox.bt1 {
    width: 60%;
		max-width: 280px;
	}
	#sec03,#sec04,#sec05,#sec06 {
		padding-bottom: 30px;
	}
	#sec03 .bgBox {
		width: 100%;
	}
	#sec03 .bgBox {

    padding-bottom: 0%;
}
	#sec03 .dlBox {
    width: 90%;
    margin-top: 20px;
    margin-left: 5%;
    height: 240px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 0px 10px rgba(243, 0, 0, 0.5);
    padding: 10px 20px;
    overflow-y: scroll;
	}
	#sec03 .btBox {
    margin-top: 25px;
}
	#sec04 .forPc {
		display: none;
	}
	#sec04 .forSp {
		display: block;
	}
	#sec04 {padding-bottom: 25%;}
		#sec04, #sec04 .forSp {
		background-color: #000;
	}
	#sec04 .forSp {
		position: relative;
	}
	#sec04 .forSp .logo {
		position: absolute;
		right: 8%;
		width: 16%;
		top:5%;
	}
	#sec04 .swiper02 {
		width: 70%;
		overflow: hidden;
	}
	#sec04 .btBox {
		padding-bottom: 0;
	}
	.swiper-pagination-bullet {
		background-color: #999;
		width: 15%;
		height: 4px;
		border-radius: 0px;
	}
	.swiper-pagination-bullet-active {
		background-color:rgba(255,0,4,1.00);
	
	}
	#sec06 .partner .flex-container {
		width: 70%;
		margin: 0 auto;
	}
	#sec06 .partner .ptn {
    width: 100%;
	}
}