@charset "utf-8";

/*
	top.css
---------------------------------------------------------------------------------------------------------------------------------------------*/
article {
	padding: 0 0 105px;
}

/* main-visual
--------------------------------------------------------------------------------------------------------*/
section#main-visual {
	position: relative;
	width: 100%;
	height: 100%;
}
section#main-visual #container {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}
section#main-visual #container .line {
	background-color: #dc1f1f;
	position: absolute;
	z-index: 1;
}
section#main-visual #container #lineTop {
	width: 0;
	top: 0;
	left: 0;
}
section#main-visual #container #lineBottom {
	width: 100%;
	right: 0;
}
section#main-visual #container #white {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
}
section#main-visual #container .coverTop {
	position: absolute;
	top: 0;
	left: 0;
}
section#main-visual #container .coverBottom {
	position: absolute;
	bottom: 0;
	left: 0;
}
section#main-visual #container .coverTop img,
section#main-visual #container .coverBottom img {
	display: block;
	height: auto;
}
section#main-visual #container .block {
	position: absolute;
	left: 0;
}
section#main-visual #container #block_a {
	top: 0;
}
section#main-visual #container .imgBox {
	position: absolute;
	width: 0;
	overflow: hidden;
	z-index: 2;
}
section#main-visual #container .imgBox img {
	position: relative;
	display: block;
	height: auto;
}

section#main-visual #container #imgBox01,
section#main-visual #container #imgBox01w { top: 0; left: 0;}
section#main-visual #container #imgBox02 { top: 0; left: 0;}
section#main-visual #container #imgBox03 { left: 0;}
section#main-visual #container #imgBox04 { left: 0;}
section#main-visual #container #imgBox06 { left: 0;}
section#main-visual #container #imgBox07 { left: 0;}
section#main-visual #container #imgBox08,
section#main-visual #container #imgBox08w { top: 0;}
section#main-visual #container #imgBox10 { left: 0;}
section#main-visual #container #imgBox11 { left: 0;}

section#main-visual #container #imgBox06,
section#main-visual #container #imgBox07,
section#main-visual #container #imgBox08,
section#main-visual #container #imgBox08w,
section#main-visual #container #imgBox09,
section#main-visual #container #imgBox10,
section#main-visual #container #imgBox11 {
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/*
section#main-visual #container #imgBox07,
section#main-visual #container #imgBox09 {
	transition-delay: 1.2s;
	-webkit-transition-delay: 1.2s;
}
section#main-visual #container #imgBox08,
section#main-visual #container #imgBox08w,
section#main-visual #container #imgBox10 {
	transition-delay: 0.4s;
	-webkit-transition-delay: 0.4s;
}
*/
section#main-visual #container .txtBox {
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	color: #fff;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition-delay: 0.4s;
	-webkit-transition-delay: 0.4s;
}
section#main-visual #container .txtBox.event {
	opacity: 1.0;
}
section#main-visual #container .txtBox h4 {
	font-size: 32px;
	font-size: 1.9vw;
	font-weight: 400;
	display: inline-block;
	margin: 0 auto 24px;
	padding: 7px 16px;
	background-color: #dd1f1f;
}
section#main-visual #container .txtBox p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
}
section#main-visual #container #imgBox03 .txtBox h3 {
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 2px;
	color: #555;
	margin: 16px 0;
}
section#main-visual #container #imgBox03 .txtBox p {
	font-size: 22px;
	font-weight: 400;
	color: #555;
}
section#main-visual #container #imgBox03 .txtBox p span {
	color: #dd1f1f;
	display: block;
}
@media screen and (max-width: 1440px) {
	section#main-visual #container #imgBox01w,
	section#main-visual #container #imgBox08w { display: none;}
}
@media screen and (min-width: 1441px) {
	section#main-visual #container #imgBox01,
	section#main-visual #container #imgBox08 { display: none;}
}

section#main-visual #container .main-copy {
	position: absolute;
	top: 1%;
	left: 24.2%;
	left: 25.0vw;
	z-index: 2;
	text-align: right;
}
@media (max-width: 1100px) {
	section#main-visual #container .main-copy {
		left: 31.2%;
		left: 32.0vw;
	}
}
section#main-visual #container .main-copy h2,
section#main-visual #container .main-copy p {
	font-weight: 500;
	color: #db1f1f;
	text-shadow:
		white 1px 1px 3px, white -1px 1px 3px,
		white 1px -1px 3px, white -1px -1px 3px
	;
	display: none;
}
section#main-visual #container .main-copy h2 {
	font-size: 42px;
	margin: 0 0 24px;
}
section#main-visual #container .main-copy p {
	font-size: 18px;
	padding-right: 0.5em;
	line-height: 1.6;
}
section#main-visual #container .main-menu {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 3.0vw;
	z-index: 1;
}
section#main-visual #container .main-menu .item {
	text-align: right;
	width: 28.0vw;
}
@media screen and (max-width: 1440px) {
	section#main-visual #container .main-menu .item { width: 31.0%;}
	section#main-visual #container .main-menu .item a.moreBtn { width: 290px;}
}
@media screen and (min-width: 1441px) {
	section#main-visual #container .main-menu .item { width: 25.0%;}
	section#main-visual #container .main-menu .item a.moreBtn { width: 320px;}
}
section#main-visual #container .main-menu .item:nth-of-type(1) {
	margin: 0 3vw 0 auto;
}
@media screen and (max-width: 1240px) {
	section#main-visual #container .main-menu .item:nth-of-type(1) {
		position: relative;
		top: 110px;
	}
	section#main-visual #container .main-menu .item p {
		font-size: 14px!important;
	}
}
section#main-visual #container .main-menu .item:nth-of-type(2) {
	margin: 0 auto;
}
section#main-visual #container .main-menu .item h3 {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 3px;
	margin: 0 0 28px;
	color: #525252;
}
section#main-visual #container .main-menu .item p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.0;
	margin: 0 0 28px;
	color: #989898;
}
section#main-visual #container .main-menu a.moreBtn {
	margin-left: auto;
}
section#main-visual #container .main-menu a.moreBtn span {
	font-size: 16px;
}




/*
	less than 1024px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 1024px) {
	section#main-visual #container .main-copy {
		left: 31.2%;
		left: 33.1vw;
	}
	section#main-visual #container .main-copy p {
		font-size: 14px!important;
	}
	section#main-visual #container .txtBox p {
		font-size: 14px!important;
		font-size: 1.61vw!important;
	}
	section#main-visual #container #imgBox03 .txtBox p {
		font-size: 16px!important;
		font-size: 1.91vw!important;
	}
	section#main-visual #container .main-menu {
		bottom: 0;
	}
	section#main-visual #container .main-menu .item {
		width: 40.0%;
	}
	section#main-visual #container .main-menu .item h3 {
		font-size: 24px!important;
	}
	section#main-visual #container .main-menu .item p {
		font-size: 12px!important;
		margin-bottom: 22px;
	}
	section#main-visual #container .main-menu .item a.moreBtn {
		width: 250px;
		height: 50px;
	}
	section#main-visual #container .main-menu .item a.moreBtn span {
		font-size: 14px;
	}
	section#main-visual #container .main-menu .item:nth-of-type(1) {
		top: 110px;
	}
	section#main-visual #container .main-menu .item:nth-of-type(2) {
		margin: 0 39% 0 auto;
	}
}

/*
	less than 767px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 767px) {
	header {
		z-index: 6;
	}
	article {
		padding: 140px 0 105px;
		padding: 18.66vw 0 13.99vw;
	}
	section#main-visual2 {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 100%;
	}
	section#main-visual2::before {
		content: '';
		position: absolute;
		top: 45.0vw;
		left: 0;
		width: 100%;
		height: 0;
		z-index: 2;
		background-color: #dc1f1f;
		transition: all 4.6s ease;
		-webkit-transition: all 4.6s ease;
	}
	section#main-visual2.event::before {
		height: 50%;
	}
	section#main-visual2 .main-photo {
		width: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
	section#main-visual2 .main-photo p {
		position: relative;
		z-index: 2;
	}
	section#main-visual2 .main-photo p::after {
		content: '';
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		background-color: #fff;
		transform: scale(1,1);
		-webkit-transform: scale(1,1);
		transform-origin: right;
		-webkit-transform-origin: right;
		transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-webkit-transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition-delay: 0.4s;
	}
	section#main-visual2 .main-photo.event p::after {
		transform: scale(0,1);
		-webkit-transform: scale(0,1);
	}
	section#main-visual2 .main-copy {
		text-align: left;
		padding: 0 0 50px;
		padding: 0 6.66vw;
		position: relative;
		z-index: 5;
		opacity: 0;
		transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-webkit-transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	section#main-visual2 .main-copy.event {
		opacity: 1.0;
	}
	section#main-visual2 .main-copy h2,
	section#main-visual2 .main-copy p {
		font-weight: 500;
		color: #db1f1f;
		text-shadow:
			white 1px 1px 3px, white -1px 1px 3px,
			white 1px -1px 3px, white -1px -1px 3px
		;
	}
	section#main-visual2 .main-copy h2 {
		font-size: 52px;
		font-size: 6.93vw;
		margin: 0 0 3.19vw;
	}
	section#main-visual2 .main-copy p {
		font-size: 24px;
		font-size: 3.19vw;
		padding: 0;
		line-height: 1.83;
	}
	section#main-visual2 .main-copy2 {
		width: 70.8%;
		margin: -3.00vw 0 0 auto;
		position: relative;
		text-align: center;
		line-height: 1.6;
		z-index: 4;
	}
	section#main-visual2 .main-copy2 ul li h3,
	section#main-visual2 .main-copy2 ul li p {
		font-weight: 500;
		opacity: 0;
		transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-webkit-transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition-delay: 0.6s;
		-webkit-transition-delay: 0.6s;
	}
	section#main-visual2 .main-copy2.event ul li h3,
	section#main-visual2 .main-copy2.event ul li p {
		opacity: 1.0;
	}
	section#main-visual2 .main-copy2 ul {
		width: 70%;
		position: absolute;
		top: 46%;
		left: 31%;
		transform: translate(0, -50%);
		-webkit-transform: translate(0, -50%);
	}
	section#main-visual2 .main-copy2 h3 {
		color: #555;
		font-size: 46px;
		font-size: 6.13vw;
	}
	section#main-visual2 .main-copy2 p {
		color: #555;
		font-size: 30px;
		font-size: 3.99vw;
	}
	section#main-visual2 .main-copy2 p span {
		color: #dc1f1f;
	}
	section#main-visual2 .main-column {
		margin-top: -53.0vw;
		position: relative;
		z-index: 2;
	}
	section#main-visual2 .main-column .field ul {
		text-align: center;
		position: relative;
		color: #fff;
	}
	section#main-visual2 .main-column .field ul li h4 {
		font-size: 40px;
		font-size: 5.33vw;
		font-weight: 400;
		display: inline-block;
		margin: 0 auto 24px;
		margin: 0 auto 3.19vw;
		padding: 7px 16px;
		padding: 1.46vw 2.39vw 1.73vw;
		background-color: #dd1f1f;
	}
	section#main-visual2 .main-column .field ul li p {
		font-size: 24px;
		font-size: 3.19vw;
		font-weight: 400;
		line-height: 1.7;
	}
	section#main-visual2 .main-column .field ul li h4,
	section#main-visual2 .main-column .field ul li p {
		opacity: 0;
		transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-webkit-transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition-delay: 0.6s;
		-webkit-transition-delay: 0.6s;
	}
	section#main-visual2 .main-column .event ul li h4,
	section#main-visual2 .main-column .event ul li p {
		opacity: 1.0;
	}
	
	section#main-visual2 .main-column .field:nth-of-type(1) {
		width: 50%;
	}
	section#main-visual2 .main-column .field:nth-of-type(2) {
		margin-top: -29.46vw;
	}

	section#main-visual2 .main-column .field:nth-of-type(2) ul li:last-child,
	section#main-visual2 .main-column .field:nth-of-type(4) ul li:last-child,
	section#main-visual2 .main-column .field:nth-of-type(6) ul li:last-child {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
	}
	section#main-visual2 .main-column .photoBox:nth-of-type(3) {
		margin-top: -29.52vw;
	}
	section#main-visual2 .main-column .photoBox:nth-of-type(3) ul li:last-child {
		margin-top: 5.5vw;
	}
	section#main-visual2 .main-column .photoBox ul {
		width: 100%;
		display: flex;
		display: -webkit-flex;
	}
	section#main-visual2 .main-column .photoBox ul li {
		width: 50%;
	}
	section#main-visual2 .main-column .field:nth-of-type(4) {
		margin-top: -29.32vw;
	}
	section#main-visual2 .main-column .photoBox:nth-of-type(5) {
		margin-top: -29.46vw;
	}
	section#main-visual2 .main-column .field:nth-of-type(6) {
		margin-top: -29.47vw;
	}
	section#main-visual2 .main-column .photoBox:nth-of-type(7) {
		margin-top: -29.25vw;
	}

	section#main-visual2 .main-column #content01 p {
		position: relative;
	}
	section#main-visual2 .main-column #content01 p::after,
	section#main-visual2 .main-column #content02 .photo::after,
	section#main-visual2 .main-column #content03 ul li::after,
	section#main-visual2 .main-column #content04 .photo::after,
	section#main-visual2 .main-column #content05 ul li::after {
		content: '';
		position: absolute;
		display: block;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 0;
		background-color: #fff;
		transform: scale(1,1);
		transform-origin: right;
		-webkit-transform-origin: right;
		-webkit-transform: scale(1,1);
		transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	section#main-visual2 .main-column #content01 p::after,
	section#main-visual2 .main-column #content03 ul li:last-child::after,
	section#main-visual2 .main-column #content04 .photo::after,
	section#main-visual2 .main-column #content05 ul li:first-child::after {
		transform-origin: left;
		-webkit-transform-origin: left;
	}
	section#main-visual2 .main-column #content01.event p::after,
	section#main-visual2 .main-column #content02.event .photo::after,
	section#main-visual2 .main-column #content03.event ul li::after,
	section#main-visual2 .main-column #content04.event .photo::after,
	section#main-visual2 .main-column #content05.event ul li::after {
		transform: scale(0,1);
		-webkit-transform: scale(0,1);
	}
	section#main-visual2 .main-column #content02 .photo::after,
	section#main-visual2 .main-column #content04 .photo::after,
	section#main-visual2 .main-column #content05 ul li:first-child::after {
		transition-delay: 0.4s;
		-webkit-transition-delay: 0.4s;
	}
	section#main-visual2 .main-column #content01 { position: relative; z-index: 3;}
	section#main-visual2 .main-column #content02 { position: relative; z-index: 2;}
	section#main-visual2 .main-column #content03 ul li { position: relative; z-index: 1;}
	section#main-visual2 .main-column #content03.event ul li:last-child img { position: relative; z-index: 3;}
	section#main-visual2 .main-column #content04 { position: relative; z-index: -1;}
	section#main-visual2 .main-column #content05 { position: relative; z-index: -2;}
	section#main-visual2 .main-column #content05 ul li { position: relative; z-index: 0;}


	section#main-menu .inner .item {
		text-align: center;
	}
	section#main-menu .inner .item:first-child {
		margin: 0 0 120px;
		margin: 0 0 15.99vw;
	}
	section#main-menu .inner .item h3 {
		font-size: 40px;
		font-size: 5.33vw;
		font-weight: 400;
		letter-spacing: 3px;
		margin: 0 0 40px;
		margin: 0 0 5.33vw;
		color: #525252;
	}
	section#main-menu .inner .item ul li p {
		font-size: 28px;
		font-size: 3.63vw;
		line-height: 1.9;
		color: #989898;
	}
	section#main-menu .inner .item ul li:nth-of-type(1) {
		margin: 0 0 48px;
		margin: 0 0 6.39vw;
	}
	section#main-menu .inner .item ul li:nth-of-type(2) {
		padding: 0 50px;
		padding: 0 6.66vw;
	}
	section#main-menu .inner .item ul li:nth-of-type(2) a {
		height: 100px;
		height: 13.33vw;
	}
	section#main-menu .inner .item ul li:nth-of-type(2) a span {
		font-size: 28px;
		font-size: 3.73vw;
	}
}

/*
	less than 568px;
---------------------------------------------------------------------------------------------------------------------------------------------*/
	@media (max-width: 568px) {
		section#main-visual2 .main-copy2 { margin-top: -3.05vw;}
		section#main-visual2 .main-column { margin-top: -52.2vw;}
		section#main-visual2 .main-column .field:nth-of-type(2) { margin-top: -29.12vw;}
		section#main-visual2 .main-column .photoBox:nth-of-type(3) { margin-top: -29.02vw;}
		section#main-visual2 .main-column .photoBox:nth-of-type(3) ul li:last-child { margin-top: 5.21vw;}
		section#main-visual2 .main-column .field:nth-of-type(4) { margin-top: -29.01vw}
		section#main-visual2 .main-column .photoBox:nth-of-type(5) { margin-top: -29.15vw;}
		section#main-visual2 .main-column .field:nth-of-type(6) { margin-top: -29.11vw;}
		section#main-visual2 .main-column .photoBox:nth-of-type(7) { margin-top: -28.95vw;}
	}

/*
	top.css End
---------------------------------------------------------------------------------------------------------------------------------------------*/
}