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

/* ------------------------------ SP ------------------------------ */

/* -------------------- ヘッダ -------------------- */
header {
	position: relative;
	width: 100vw;
	background: url(../../images/header__bg.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
	header .wrapper {
		margin: 0 auto;
		width: calc(670vw / 7.5);
		padding: calc(96vw / 7.5) 0 calc(456vw / 7.5); /* calc(399vw / 7.5) 117-60=57vw */
	}
		.header__logo {
			margin: 0 auto;
			width: calc(260vw / 7.5);
			height: calc(51vw / 7.5);
		}
		.header__title {
			margin: calc(48vw / 7.5) auto 0;
			width: calc(510vw / 7.5);
			height: calc(510vw / 7.5);
		}
		.header__entryBtn a {
			margin: calc(-117vw / 7.5) auto 0;
			width: calc(240vw / 7.5);
			padding: calc(15vw / 7.5) 0;
			font-size: calc(25vw / 7.5);
			line-height: calc(30 / 25);
			letter-spacing: 0.065em;
			text-align: center;
			color: #FFFF00;
			background: #000;
			border-radius: calc(30vw / 7.5);
			display: block;
		}
		.header__entryBtn a:hover {
			background: #0052A4;
		}

/* -------------------- メイン -------------------- */
.main {
}
	.mainContents {
	}

/* 概要 overview */
.mainContents__Sec-overview {
	position: relative;
}
	.mainContents__Sec-overview .wrapper {
		padding: calc(120vw / 7.5) 0; 
	}
		.Sec-overview__head {
			margin: 0 auto;
			width: calc(670vw / 7.5);
			font-size: calc(37vw / 7.5);
			line-height: calc(57 / 37);
			letter-spacing: 0.040em;
			text-align: center;
			color: #0052A4;
		}
			.Sec-overview__head .kerning {
				letter-spacing: 0.015em;
			}
		.Sec-overview__hr {
			margin: calc(24vw / 7.5) auto calc(99vw / 7.5);
			width: calc(670vw / 7.5);
			border-top: calc(2vw / 7.5) solid #0052A4; 
		}
		.Sec-overview-lead {
			margin: calc(24vw / 7.5) auto 0;
			width: calc(630vw / 7.5);
			font-size: calc(31vw / 7.5);
			line-height: calc(48 / 31);
		}
		.Sec-overview-point-list {
			margin: calc(84vw / 7.5) auto 0;
		}
			.Sec-overview-point-list .box {
				position: relative;
				margin: calc(84vw / 7.5) auto 0;
			}
				/* POINT共通 */
				.Sec-overview-point {
					padding-left: calc(40vw / 7.5);
					display: flex;
					justify-content: space-between;
					align-items: center;
				}
					.Sec-overview-point__label {
						width: calc(210vw / 7.5);
						height: calc(210vw / 7.5);
					}
					.Sec-overview-point__text {
						margin-left: calc(30vw / 7.5);
						width: calc(470vw / 7.5);
						font-size: calc(34vw / 7.5);
						line-height: calc(45 / 34);
						font-weight: bold;
						letter-spacing: 0.040em;
					}
				/* POINT 1 */
				.Sec-overview-point-1__image {
					margin: calc(18vw / 7.5) 0 0 calc(95vw / 7.5);
					width: calc(655vw / 7.5);
					filter: drop-shadow(calc(18vw / 7.5) calc(18vw / 7.5) calc(18vw / 7.5) rgba(0, 0, 0, 0.15));
				}
				/* POINT 2 */
				.Sec-overview-point-2__image {
					margin: calc(60vw / 7.5) calc(35vw / 7.5) 0 0;
					width: calc(715vw / 7.5);
					filter: drop-shadow(calc(18vw / 7.5) calc(18vw / 7.5) calc(18vw / 7.5) rgba(0, 0, 0, 0.15));
				}
				/* POINT 3 */
				.Sec-overview-point-3__image {
					margin: calc(18vw / 7.5) 0 0 calc(105vw / 7.5);
					width: calc(645vw / 7.5);
					filter: drop-shadow(calc(18vw / 7.5) calc(18vw / 7.5) calc(18vw / 7.5) rgba(0, 0, 0, 0.15));
				}

/* こんな方にオススメ RECOMMEND */
.mainContents__Sec-recommend {
	position: relative;
	background: url(../../images/Sec-recommend__bg.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
	.mainContents__Sec-recommend .wrapper {
		padding: calc(72vw / 7.5) 0 calc(60vw / 7.5);
	}
		.Sec-recommend__head {
			margin: 0 auto;
			width: calc(670vw / 7.5);
			font-size: calc(34vw / 7.5);
			line-height: calc(48 / 34);
			letter-spacing: 0.040em;
			text-align: center;
			color: #FFF;
		}
			.Sec-recommend__head .italic {
				font-size: calc(25vw / 7.5);
				font-style: italic;
				font-weight: normal;
				letter-spacing: 0.090em;
			}
		.Sec-recommend.outer {
			margin-top: calc(30vw / 7.5);
			overflow-x: scroll;
			-webkit-overflow-scrolling: touch;
		}
			.Sec-recommend.inner { 
				width: calc(1790vw / 7.5);
				padding: calc(12vw / 7.5) calc(15vw / 7.5) calc(24vw / 7.5);
				display: flex;
				justify-content: center;
				align-items: center;
			}
				.Sec-recommend-list { 
					margin: 0 calc(10vw / 7.5);
					width: calc(420vw / 7.5);
					height: calc(420vw / 7.5);
					padding: 0 calc(30vw / 7.5) calc(36vw / 7.5);
					font-size: calc(28vw / 7.5);
					line-height: calc(39 / 28);
					font-weight: bold;
					letter-spacing: 0.040em;
					text-align: center;
					background-color: #FFF;;
					box-shadow: calc(12vw / 7.5) calc(12vw / 7.5) calc(12vw / 7.5) 0 rgba(0, 0, 0, 0.35);
					display: flex;
					justify-content: center;
					align-items: center;
				}
				.Sec-recommend-list:nth-of-type(1) { 
					background-image: url(../../images/Sec-recommend-list__bg.svg);
					background-repeat: no-repeat;
					background-size: calc(37.5vw / 7.5) calc(37.5vw / 7.5);
					background-position: center bottom calc(93vw / 7.5);
				}
				.Sec-recommend-list:nth-of-type(2) { 
					background-image: url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg);
					background-repeat: no-repeat;
					background-size: calc(37.5vw / 7.5) calc(37.5vw / 7.5);
					background-position: left calc(172.5vw / 7.5) bottom calc(93vw / 7.5),
					right calc(172.5vw / 7.5) bottom calc(93vw / 7.5);
				}
				.Sec-recommend-list:nth-of-type(3) { 
					background-image: url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg);
					background-repeat: no-repeat;
					background-size: calc(37.5vw / 7.5) calc(37.5vw / 7.5);
					background-position: left calc(153.75vw / 7.5) bottom calc(93vw / 7.5),
					center bottom calc(93vw / 7.5),
					right calc(153.75vw / 7.5) bottom calc(93vw / 7.5);
				}
				.Sec-recommend-list:nth-of-type(4) { 
					background-image: url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg),
					url(../../images/Sec-recommend-list__bg.svg);
					background-repeat: no-repeat;
					background-size: calc(37.5vw / 7.5) calc(37.5vw / 7.5);
					background-position: left calc(135vw / 7.5) bottom calc(93vw / 7.5),
					left calc(172.5vw / 7.5) bottom calc(93vw / 7.5),
					right calc(172.5vw / 7.5) bottom calc(93vw / 7.5),
					right calc(135vw / 7.5) bottom calc(93vw / 7.5);
				}

/* 開催概要 */
.mainContents__Sec-summary {
	position: relative;
}
	.mainContents__Sec-summary .wrapper {
		margin: 0 auto;
		width: calc(670vw / 7.5);
		padding-top: calc(72vw / 7.5);
	}
		.Sec-summary__head {
			margin: calc(48vw / 7.5) 0 calc(66vw / 7.5);
			font-size: calc(37vw / 7.5);
			line-height: calc(39 / 37);
			letter-spacing: 0.040em;
			text-align: center;
		}
	.Sec-summary.outer {
		padding: calc(57vw / 7.5) 0;
		border-bottom: calc(1vw / 7.5) solid #D9D9D9;
	}
	.Sec-summary.outer:nth-of-type(1) {
		border-top: calc(1vw / 7.5) solid #D9D9D9;
	}
		.Sec-summary__title {
			font-size: calc(28vw / 7.5);
			line-height: calc(30 / 28);
			letter-spacing: 0.040em;
			font-weight: bold;
			text-align: center;
		}
		.Sec-summary__text {
			margin-top: calc(42vw / 7.5);
			font-size: calc(28vw / 7.5);
			line-height: calc(48 / 28);
			letter-spacing: 0.040em;
			text-align: center;
		}
			.Sec-summary__text .box:nth-of-type(1) {
				display: flex;
				justify-content: center;
				align-items: center;
				flex-wrap: wrap;
			}
				.Sec-summary__text .date {
					margin: 0 calc(20vw / 7.5);
					width: calc(240vw / 7.5);
				}
				.Sec-summary__text .date:nth-child(odd) { /* 奇数番目 */
					text-align: right;
				}
				.Sec-summary__text .date:nth-child(even) { /* 偶数番目 */
					text-align: left;
				}
		.Sec-summary .phase-outer {
			margin: calc(60vw / 7.5) auto 0;
			width: calc(420vw / 7.5);
		}
			.Sec-summary .phase-outer .box {
			}
				.Sec-summary .phase {
					position: relative;
					margin-top: calc(84vw / 7.5);
					padding: calc(42vw / 7.5) calc(20vw / 7.5);
					font-size: calc(31vw / 7.5);
					line-height: calc(36 / 31);
					font-weight: bold;
					text-align: center;
					background: #DEE8FA;
				}
				.Sec-summary .phase .small {
					font-size: calc(25vw / 7.5);
				}
				.Sec-summary .phase:after {
					position: absolute;
					left: 50%;/* 中央寄せに使用 */
					bottom: calc(-54vw / 7.5); /* 三角形の高さ＋ボックスのボーダーをマイナスに */
					margin-left: calc(-15vw / 7.5); /* 中央寄せに使用 */
					border-top: calc(24vw / 7.5) solid #808080;
					border-left: calc(15vw / 7.5) solid transparent;
					border-right: calc(15vw / 7.5) solid transparent;
					content: "";
				}
				.Sec-summary .phase:first-child {
					margin-top: 0;
				}
				.Sec-summary .phase:last-child:after {
					border: none; /* 最後のボックスだけ三角形を表示しない */
				}

/* ENTRYボタン */
.mainContents__Sec-entryBtn {
	position: relative;
}
	.Sec-entryBtn a {
		margin: calc(120vw / 7.5) auto;
		width: calc(420vw / 7.5);
		padding: calc(48vw / 7.5) 0;
		font-size: calc(37vw / 7.5);
		line-height: calc(39 / 37);
		letter-spacing: 0.065em;
		text-align: center;
		color: #FFFF00;
		background: #000;
		border-radius: calc(67.5vw / 7.5);
		display: block;
	}
	.Sec-entryBtn a:hover {
		background: #0052A4;
	}

/* -------------------- フッタ -------------------- */
footer {
	background: #313C45;
}
	footer .wrapper {
		margin: 0 auto;
		width: calc(670vw / 7.5);
		padding: calc(42vw / 7.5) 0 calc(39vw / 7.5);
	}
		.footer__navi .outer {
			display: flex;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
		}
			.footer__navi .list a {
				margin: 0 auto;
				padding: 0 calc(25vw / 7.5);
				font-size: calc(25vw / 7.5);
				line-height: calc(51 / 25);
				text-align: center;
				color: #FFF;
				border-right: calc(1vw / 7.5) solid #FFF;
			}
			.footer__navi .list.last a {
				border-right: none;
			}
			.footer__credit {
				margin: calc(33vw / 7.5) auto 0;
				width: calc(650vw / 7.5);
				font-size: calc(22vw / 7.5);
				line-height: calc(24 / 22);
				text-align: center;
				letter-spacing: 0;
				color: #FFF;
				display: block;
			}