@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .feature {
	margin: -6.8rem 0 0 ;
	padding: 10.8rem 2rem 9.8rem;
	text-align: center;
	color: #fff;
	background: url(../img/index/bg02.png) no-repeat center top / 100%;
	z-index: 1;
	position: relative;
}
#main .feature p {
	font-size: 2.268rem;
	line-height: 1.459;
	letter-spacing: 0.05em;
	font-weight: 700;
	text-align: center;
}
#main .special {
	margin-bottom: 6.1rem;
	padding: 1.2rem 0 0;
	position: relative;
	z-index: 1;
	background: url(../img/index/special_icon.png) no-repeat right 2.6rem bottom 0.8rem / 9.4rem;
}
#main .special .photo {
	position: relative;
}
#main .special .photo img {
	width: 100%;
}
#main .special .heading {
	width: 11.1rem;
	position: absolute;
	right: 3.3rem;
	top: -0.6rem;
}
#main .special .heading img {
	width: 100%;
}
#main .content {
	margin-bottom: 8.1rem;
}
#main .content .headLine {
	margin-bottom: 2.2rem;
	position: relative;
	z-index: 1;
}
#main .text {
	margin-bottom: 3.2rem;
	text-align: center;
	font-size: 2.551rem;
	font-weight: 700;
	color: #0087AF;
	line-height: 1.277;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
#main .text02 {
	margin-bottom: 4rem;
}
#main .content .imgBox {
	margin-bottom: 1.7rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .content .imgBox .photo {
	width: 14.8rem;
	aspect-ratio: 1/1;
	position: relative;
	border-radius: 100%;
	overflow: hidden;
	z-index: 1;
}
#main .content .imgBox img {
	width: 100%;
}
#main .content .imgBox .num {
	width: 13rem;
	position: relative;
}
#main .content .imgBox .num span {
	mix-blend-mode: multiply;
	display: block;
	position: relative;
	z-index: 1;
}
#main .content .imgBox .num:after {
	width: 28rem;
	height: 28.3rem;
	content: "";
	position: absolute;
	left: -4rem;
	top: -13.7rem;
	background: url(../img/index/bg05.png) no-repeat center top / 100%;
	mix-blend-mode: screen;
}
#main .content .imgBox .num02:after {
	top: auto;
	bottom: -12rem;
}
#main .content .imgBox .num03:after {
	top: auto;
	bottom: -10.3rem;
}
#main .content .imgBox .num04:after {
	left: -10.1rem;
	top: -10.7rem;
}
#main .content .title {
	margin-bottom: 1.2rem;
	font-size: 1.984rem;
	color: #666;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
#main .content .list {
	margin: 0 3rem 3.8rem;
	position: relative;
}
#main .content ul p {
	font-weight: 700;
	font-size: 1.559rem;
	line-height: 1.2;
	color: #666;
	letter-spacing: 0.01em;
	text-align: left;
	font-feature-settings: "palt";
	position: relative;
	z-index: 1;
}
#main .content ul li + li {
	margin-top: 2.6rem;
}
#main .content ul li:nth-child(2n) .imgBox {
	flex-direction: row-reverse;
}
#main .content ul li:nth-child(2n) p,
#main .content ul li:nth-child(2n) .title {
	text-align: right;
}
#main .content .imgBox .photo::before {
	pointer-events: none;
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 100%;
	object-fit: cover;
	background: url(../img/index/bg04.png) no-repeat center top / 100% 100%;
	mix-blend-mode: multiply;
}
#main .content .imgBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .content .tips {
	color: #333;
	font-size: 1.276rem;
	text-align: center;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
#main .overview {
	margin: 0 auto 4.8rem;
	padding: 1px 2rem 3.1rem;
	width: 29.1rem;
	color: #666;
	text-align: center;
	background: #fff;
	border-radius: 7.5rem 0 7.5rem 0;
	position: relative;
	z-index: 1;
}
#main .overview dl {
	font-weight: 700;
	font-size: 1.559rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
#main .overview dl dt {
	margin-bottom: 0.4rem;
}
#main .overview dl dd {
	margin-bottom: 0.8rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px dashed #666;
}
#main .overview dl dd:last-child {
	padding-bottom: 0;
	border: none;
}
#main .overview .headLine {
	margin: -1.5rem auto 2.6rem;
	min-width: 15rem;
}
#main .overview .mapTtl {
	margin: 1.8rem 0 1.3rem;
}
#main .overview .mapBox {
	margin: 0 auto;
	width: 23.9rem;
	aspect-ratio: 1/1;
	background: #A0A0A0;
}
#main .overview .mapBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
#main .organizer {
	margin: 3.7rem 0 3.5rem;
	padding: 3.5rem 2rem 3.8rem;
	font-size: 1.559rem;
	letter-spacing: 0.075em;
	text-align: center;
	font-weight: 500;
	color: #fff;
	background: #0087AF;
	position: relative;
	z-index: 1;
}
#main .organizer .title {
	margin-bottom: 1.2rem;
}
#main .organizer li + li {
	margin-top: 1rem;
}
#main .organizer a {
	color: #fff;
	font-weight: 400;
	font-size: 1.417rem;
}
@media all and (min-width: 897px) {
	#main .organizer a:hover {
		opacity: 0.7;
	}
}