@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual img {
	width: 100%;
}
/* sec01 */
#main .sec01 {
	padding: 9rem 0 0;
}
#main .sec01 .youtubeBox {
	margin: 0 auto 9rem;
	width: 60rem;
	position: relative;
	padding-bottom: 28.5%;
}
#main .sec01 .youtubeBox iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	object-fit: cover;
	border: none;
}
#main .sec01 .features {
	padding: 6.7rem 0 9.4rem;
	background-color: #010101;
}
#main .sec01 .features h2 {
	margin-bottom: 0.9rem;
	text-align: center;
	color: #12EB66;
	font-size: 8rem;
	font-weight: 900;
	font-style: italic;
}
#main .sec01 .features .textList {
	margin-bottom: 6rem;
}
#main .sec01 .features .textList li {
	padding: 4rem 0;
	border-bottom: 0.2rem solid #12EB66;
}
#main .sec01 .features .textList p {
	padding-right: 1rem;
	color: #12EB66;
	font-size: 3.6rem;
	font-weight: 900;
}
#main .sec01 .features .textList p span {
	padding: 0 0.5rem 0.2rem;
	display: inline-block;
	color: #000;
	line-height: 1.3;
	background-color: #12EB66;
}
#main .sec01 .movieList li {
	margin-right: 3rem;
	width: 17%;
}
#main .sec01 .movieList li:last-child {
	margin-right: 0;
}
#main .sec01 .movieList .videoBox {
	padding-bottom: 137.5%;
	position: relative;
}
#main .sec01 .movieList .videoBox video {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	object-fit: cover;
}
#main .sec01 .movieList .li01 {
	width: 33%;
}
#main .sec01 .movieList .li01 .videoBox {
	padding-bottom: 70.7%;
}
@media all and (max-width: 896px) {
	#main .sec01 {
		padding-top: 4rem;
	}
	#main .sec01 .youtubeBox {
		margin-bottom: 4rem;
		width: auto;
		padding-bottom: 65%;
	}
	#main .sec01 .features {
		padding: 4rem 0;
	}
	#main .sec01 .features h2 {
		text-align: center;
		font-size: 2.6rem;
	}
	#main .sec01 .features .textList {
		margin-bottom: 6rem;
	}
	#main .sec01 .features .textList li {
		padding: 2rem 0;
		border-bottom-width: 1px;
	}
	#main .sec01 .features .textList p {
		padding-right: 1rem;
		font-size: 1.6rem;
	}
	#main .sec01 .movieList {
		display: block;
	}
	#main .sec01 .movieList li {
		margin: 0 0 1.5rem;
		width: auto;
	}
	#main .sec01 .movieList li:last-child {
		margin: 0;
	}
	#main .sec01 .movieList .li01 {
		width: auto;
	}
}
/* sec02 */
#main .sec02 {
	padding-top: 18rem;
	position: relative;
	overflow: hidden;
}
#main .sec02 .slider {
	width: 100%;
	position: absolute;
	z-index: 1;
	top: 1.5rem;
	left: 0;
}
#main .sec02 h2 {
	padding-right: 5rem;
	text-align: center;
	color: #EDEDED;
	font-size: 29rem;
	line-height: 1;
	font-style: italic;
}
#main .sec02 .innerBox {
	margin-bottom: 5.5rem;
	position: relative;
	z-index: 2;
}
#main .sec02 .slideBox {
	position: relative;
	width: 40rem;
}
#main .sec02 .slideBox .slick-slide > div {
	width: 40rem;
}
#main .sec02 .slideBox .prev,
#main .sec02 .slideBox .next {
	width: 4rem;
	position: absolute;
	z-index: 1;
	top: 42.5%;
	left: 0;
	cursor: pointer;
}
#main .sec02 .slideBox .next {
	left: auto;
	right: 0;
}
#main .sec02 .slideBox02 {
	position: absolute;
	top: -9rem;
	right: 0;
}
#main .sec02 .text {
	font-size: 4.8rem;
	font-weight: 900;
	line-height: 1.4;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-47%,-58%);
	text-align: center;
	font-style: italic;
}
#main .sec02 .slick-dots {
	position: absolute;
	left: 0;
	bottom: -3rem;
	width: 100%;
	text-align: center;
}
#main .sec02 .slick-dots li {
	position: relative;
	display: inline-block;
	width: 1.4rem;
	height: 1.4rem;
	margin: 0 0.6rem;
	padding: 0;
	cursor: pointer;
	background-color: #999999;
	border-radius: 100%;
}
#main .sec02 .slick-dots li button {
	display: none;
}
#main .sec02 .slick-dots li.slick-active {
	background-color: #000;
}
#main .sec02 .bgBox {
	padding: 8.7rem 0;
	background-color: #EEEEEE;
}
#main .sec02 .bgBox .imgBox {
	align-items: center;
}
#main .sec02 .bgBox .imgBox .photoBox {
	width: 37%;
}
#main .sec02 .bgBox .imgBox .photoBox img {
	width: 100%;
}
#main .sec02 .bgBox .imgBox .textBox {
	padding-bottom: 2.5rem;
	width: 56.3%;
}
#main .sec02 .bgBox .imgBox .textBox .ttl {
	margin-bottom: 2.3rem;
	color: #000;
	font-size: 4rem;
	font-weight: 900;
	font-style: italic;
}
#main .sec02 .bgBox .imgBox .textBox .txt {
	font-size: 2.2rem;
	font-weight: 900;
}
@media all and (min-width: 897px) and (max-width: 1400px) {
	#main .sec02 .text {
		font-size: 3.5rem;
	}
	#main .sec02 .slideBox {
		width: 34rem;
	}
	#main .sec02 .slideBox .slick-slide > div {
		width: 34rem;
	}
}
@media all and (min-width: 897px) {
	#main .sec02 .slideBox .prev:hover,
	#main .sec02 .slideBox .next:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .sec02 {
		padding-top: 9rem;
	}
	#main .sec02 h2 {
		padding-right: 5rem;
		font-size: 12rem;
	}
	#main .sec02 .innerBox {
		margin-bottom: 7rem;
	}
	#main .sec02 .slideBox {
		margin: 0 auto;
		width: 34.5rem;
	}
	#main .sec02 .slideBox .slick-slide > div {
		width: auto;
	}
	#main .sec02 .slideBox .prev,
	#main .sec02 .slideBox .next {
		width: 4rem;
		position: absolute;
		z-index: 1;
		top: 42.5%;
		left: 0;
		cursor: pointer;
	}
	#main .sec02 .slideBox .next {
		left: auto;
		right: 0;
	}
	#main .sec02 .slideBox02 {
		position: relative;
		top: auto;
		right: auto;
	}
	#main .sec02 .text {
		margin: 7rem 0 5rem;
		font-size: 2.5rem;
		position: static;
		transform: translate(0,0);
	}
	#main .sec02 .slick-dots {
		bottom: -2rem;
	}
	#main .sec02 .slick-dots li {
		width: 1rem;
		height: 1rem;
	}
	#main .sec02 .bgBox {
		padding: 5rem 0;
	}
	#main .sec02 .bgBox .imgBox {
		display: block;
	}
	#main .sec02 .bgBox .imgBox .photoBox {
		margin-bottom: 4rem;
		width: auto;
	}
	#main .sec02 .bgBox .imgBox .textBox {
		padding-bottom: 0;
		width: auto;
	}
	#main .sec02 .bgBox .imgBox .textBox .ttl {
		margin-bottom: 1.5rem;
		font-size: 2.5rem;
	}
	#main .sec02 .bgBox .imgBox .textBox .txt {
		font-size: 1.6rem;
	}
}
/* sec03 */
#main .sec03 {
	padding: 6.5rem 0 8.8rem;
	background-color: #12EB66;
}
#main .sec03 h2 {
	margin-bottom: 6.6rem;
	text-align: center;
	font-size: 6rem;
	font-weight: 900;
	font-style: italic;
	line-height: 1.25;
}
#main .sec03 h2 span {
	font-size: 2.2rem;
	display: block;
}
#main .sec03 h3 {
	padding-bottom: 4.5rem;
	font-size: 3rem;
	font-weight: 900;
	border-bottom: 0.2rem solid #010101;
}
#main .sec03 .innerBox {
	position: relative;
	border-bottom: 0.2rem solid #010101;
}
#main .sec03 .innerBox .title {
	position: relative;
	cursor: pointer;
}
#main .sec03 .innerBox .title::after,
#main .sec03 .innerBox .title::before {
	width: 3.5rem;
	height: 0.2rem;
	position: absolute;
	top: 4.7rem;
	right: 3.5rem;
	content: "";
	background-color: #000;
	transition: .3s;
}
#main .sec03 .innerBox .title::before {
	width: 0.2rem;
	height: 3.5rem;
	right: 5.2rem;
	top: 3rem;
}
#main .sec03 .innerBox .title.on::before {
	opacity: 0;
}
#main .sec03 .sub {
	display: none;
	padding-bottom: 4.1rem;
}
#main .sec03 .innerBox .title {
	padding: 2rem 0 2.4rem;
	font-size: 4rem;
	font-weight: 900;
}
#main .sec03 .innerBox .imgBox {
	margin-bottom: 4.5rem;
	flex-direction: row-reverse;
}
#main .sec03 .innerBox .imgBox .photoBox {
	margin-top: 1rem;
	width: 40rem;
}
#main .sec03 .innerBox .imgBox .photoBox img {
	width: 100%;
}
#main .sec03 .innerBox .imgBox .textBox {
	margin-right: 4rem;
	flex: 1;
}
#main .sec03 .innerBox .imgBox .textBox p {
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.8;
}
#main .sec03 .innerBox .photo {
	margin: 0 auto;
	max-width: 100rem;
}
#main .sec03 .innerBox .photo img {
	width: 100%;
}
@media all and (max-width: 896px) {
	#main .sec03 {
		padding: 4rem 0;
	}
	#main .sec03 h2 {
		font-size: 3rem;
	}
	#main .sec03 h2 span {
		font-size: 1.8rem;
	}
	#main .sec03 h3 {
		padding-bottom: 2rem;
		font-size: 1.8rem;
		border-bottom-width: 1px;
	}
	#main .sec03 .innerBox {
		border-bottom-width: 1px;
	}
	#main .sec03 .innerBox .title::after,
	#main .sec03 .innerBox .title::before {
		width: 2rem;
		top: 2.3rem;
		right: 0.9rem;
	}
	#main .sec03 .innerBox .title::before {
		width: 0.2rem;
		height: 2rem;
		top: 1.4rem;
		right: 1.8rem;
	}
	#main .sec03 .sub {
		padding-bottom: 2rem;
	}
	#main .sec03 .innerBox .title {
		padding: 1rem 0;
		font-size: 2rem;
	}
	#main .sec03 .innerBox .imgBox {
		margin-bottom: 3rem;
		display: block;
	}
	#main .sec03 .innerBox .imgBox .photoBox {
		margin: 0 0 2rem;
		width: auto;
	}
	#main .sec03 .innerBox .imgBox .textBox {
		margin-right: 0;
	}
	#main .sec03 .innerBox .imgBox .textBox p {
		font-size: 1.6rem;
	}
	#main .sec03 .innerBox .photo {
		max-width: 100%;
	}
}
/* sec04 */
#main .sec04 {
	padding: 9rem 0 12rem;
	background-color: #F4F4F4;
}
#main .sec04 .innerBox {
	margin-bottom: 7rem;
}
#main .sec04 .photoBox {
	position: relative;
	width: 51.4%;
}
#main .sec04 .photoBox .prev,
#main .sec04 .photoBox .next {
	width: 4rem;
	position: absolute;
	z-index: 1;
	top: 38.8%;
	left: 0;
	cursor: pointer;
}
#main .sec04 .photoBox .next {
	left: auto;
	right: 0;
}
#main .sec04 .photoBox .photoUl {
	margin-bottom: 2.3rem;
}
#main .sec04 .photoBox .photoUl img {
	width: 100%;
}
#main .sec04 .photoBox .subPhotoUl {
	padding: 0 1rem;
	overflow: hidden;
}
#main .sec04 .photoBox .subPhotoUl .slick-slide > div {
	width: 9rem;
	margin-right: 1rem;
}
#main .sec04 .photoBox .subPhotoUl li {
	position: relative;
	cursor: pointer;
	transition: .3s;
}
#main .sec04 .textBox {
	margin: 1.1rem 0 0 4rem;
	flex: 1;
}
#main .sec04 .textBox .title {
	margin-bottom: 2.4rem;
	padding-bottom: 2.5rem;
	font-size: 3rem;
	font-weight: 900;
	border-bottom: 0.2rem solid #010101;
}
#main .sec04 .textBox .text {
	margin-bottom: 2.2rem;
	color: #333;
	font-weight: 500;
	line-height: 1.4;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	letter-spacing: 0.1em;
}
#main .sec04 .textBox .text:last-of-type {
	margin-bottom: 14rem;
}
#main .sec04 .textBox .btn {
	width: 47.2rem;
}
#main .sec04 .textBox .btn a {
	display: block;
}
#main .sec04 .textBox .btn a:hover {
	opacity: 0.7;
}
#main .sec04 .part h2 {
	margin-bottom: 6rem;
	padding-bottom: 2.6rem;
	position: relative;
	text-align: center;
	font-size: 4rem;
	font-weight: 900;
}
#main .sec04 .part h2::after {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 15rem;
	height: 0.2rem;
	content: "";
	background-color: #010101;
}
#main .sec04 .part .partList {
	margin-top: -2rem;
}
#main .sec04 .part .partList li {
	margin: 2rem 2.855% 0 0;
	width: 31.43%;
	position: relative;
}
#main .sec04 .part .partList li:nth-child(3n) {
	margin-right: 0;
}
#main .sec04 .part .partList .phoBox {
	margin-bottom: 1.5rem;
}
#main .sec04 .part .partList .phoBox img {
	width: 100%;
}
#main .sec04 .part .partList .txtBox {
	padding-bottom: 5.4rem;
}
#main .sec04 .part .partList .txtBox .ttl {
	margin-bottom: 2rem;
	font-size: 2rem;
	font-weight: 900;
}
#main .sec04 .part .partList .txtBox .txt {
	margin-bottom: 3.5rem;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.1em;
	line-height: 1.6;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
#main .sec04 .part .partList .txtBox .btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 30.4rem;
}
#main .sec04 .part .partList .txtBox .btn a {
	display: block;
}
#main .sec04 .part .partList .txtBox .btn a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	#main .sec04 .photoBox .subPhotoUl li:hover,
	#main .sec04 .photoBox .prev:hover,
	#main .sec04 .photoBox .next:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .sec04 {
		padding: 4rem 0;
	}
	#main .sec04 .innerBox {
		margin-bottom: 7rem;
		display: block;
	}
	#main .sec04 .photoBox {
		margin-bottom: 4rem;
		width: auto;
	}
	#main .sec04 .photoBox .prev,
	#main .sec04 .photoBox .next {
		top: 33%;
	}
	#main .sec04 .photoBox .photoUl {
		margin-bottom: 1.5rem;
	}
	#main .sec04 .photoBox .subPhotoUl {
		padding: 0;
	}
	#main .sec04 .photoBox .subPhotoUl .slick-slide > div {
		width: 15vw;
		margin-right: 0.5rem;
	}
	#main .sec04 .textBox {
		margin: 0;
	}
	#main .sec04 .textBox .title {
		margin-bottom: 2rem;
		padding-bottom: 1.5rem;
		font-size: 2rem;
		border-bottom-width: 1px;
	}
	#main .sec04 .textBox .text {
		margin-bottom: 2.2rem;
		color: #333;
		font-weight: 500;
		line-height: 1.4;
		font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
		letter-spacing: 0.1em;
	}
	#main .sec04 .textBox .text:last-of-type {
		margin-bottom: 3rem;
	}
	#main .sec04 .textBox .btn {
		margin: 0 auto;
		width: 25rem;
	}
	#main .sec04 .part h2 {
		margin-bottom: 4rem;
		padding-bottom: 1.5rem;
		font-size: 2.5rem;
	}
	#main .sec04 .part .partList {
		margin-top: 0;
		display: block;
	}
	#main .sec04 .part .partList li {
		margin: 0 0 4rem !important;
		width: auto;
	}
	#main .sec04 .part .partList li:last-child {
		margin-bottom: 0 !important;
	}
	#main .sec04 .part .partList .phoBox {
		margin-bottom: 1.5rem;
	}
	#main .sec04 .part .partList .txtBox {
		padding-bottom: 0;
	}
	#main .sec04 .part .partList .txtBox .ttl {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}
	#main .sec04 .part .partList .txtBox .txt {
		margin-bottom: 2rem;
	}
	#main .sec04 .part .partList .txtBox .btn {
		margin: 0 auto;
		position: static;
		transform: translateX(0);
		width: 25rem;
	}
}