@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.fixBg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100dvh;
	z-index: -1;
}
.fixBg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mainImg {
	position: relative;
}
.mainImg img {
	width: 100%;
}
.mainImg .ico {
	position: absolute;
	bottom: 0.5%;
	right: 2.2%;
	width: 26.28%;
	z-index: 1;
}
.mainVisual {
	margin: -0.5rem 0 -5.6rem;
	padding: 0.1rem 0 1.2rem;
	position: relative;
	text-align: center;
/*	background: url(../img/main_visual_bg.png) no-repeat bottom center;
	background-size: cover;*/
}
.mainVisual::after {
	position: absolute;
	left: 0;
	top: -9.8rem;
	width: 100%;
	height: 31.8rem;
	background: url(../img/main_visual_bg02.png) no-repeat top center;
	background-size: 100% 100%;
	content: "";
}
.mainVisual::before {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 5.6rem;
	width: 80rem;
	background-color: #652A65;
	content: "";
	mix-blend-mode: multiply;
	transform: translateX(-50%);
}
.mainVisual .info {
	position: relative;
	z-index: 1;
}
.mainVisual h1 {
	margin: -22.6rem 1rem 2.6rem 0;
	text-align: center;
}
.mainVisual h1 img {
	width: 73.9rem;
}
.mainVisual .time {
	width: 67.4rem;
	margin: 0 auto -0.3rem;
}
.mainVisual .txt {
	width: 80.1rem;
	margin: 0 auto -5.4rem;
}
.mainVisual .ttl {
	width: 70.6rem;
	margin: 0 auto;
}
#main {
	width: 80rem;
	margin: 0 auto;
	color: #fff;
}
#main .sec01 {
	position: relative;
}
#main .sec01 img {
	width: 100%;
}
#main .sec01 .link {
	position: absolute;
}
#main .sec01 .link a:hover {
	opacity: 0.8;
}
#main .sec01 .link01 {
	width: 15.75%;
	left: 63.5%;
	top: 7.56%;
}
#main .sec01 .link02 {
	width: 18.375%;
	left: 74.6%;
	top: 22.35%;
}
#main .sec01 .link03 {
	width: 16.375%;
	left: 60.2%;
	top: 29.7%;
}
#main .sec01 .link04 {
	width: 15.75%;
	left: 42.1%;
	top: 40.6%;
}
#main .sec01 .link05 {
	width: 18.375%;
	left: 31.8%;
	top: 61.2%;
}
#main .sec01 .link06 {
	width: 18.375%;
	left: 2.6%;
	top: 70%;
}
#main .sec01 .link07 {
	width: 16.375%;
	left: 42.2%;
	top: 74%;
}
#main .sec01 .link08 {
	width: 15.75%;
	left: 11%;
	top: 81.8%;
}
#main .sec02 {
	padding: 0.1rem 0 5.2rem;
	background-color: rgba(255,141,8,0.69);
}
#main .sec02 h2 {
	width: 70.6rem;
	margin: -0.5rem auto 2rem;
}
#main .sec02 .info01 {
	margin-bottom: 8.2rem;
}
#main .sec02 .info01 .comPhoList {
	margin-bottom: 2.2rem;
}
#main .sec02 .info02 {
	margin-bottom: 3.6rem;
}
#main .sec02 .phoList li {
	width: calc(50% - 3.0rem);
}
#main .sec02 .phoList .pho {
	margin-bottom: 1.7rem;
	overflow: hidden;
	border-radius: 1rem;
	box-shadow: 0 0 1.6rem rgba(0,0,0,0.7);
}
#main .sec02 .phoList img {
	width: 100%;
}
#main .sec02 .phoList .name {
	margin-bottom: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
#main .sec02 .phoList .name span {
	margin-left: 0.2rem;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
}
#main .sec02 .phoList .more {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#main .sec02 .phoList .more a {
	padding-bottom: 0.5rem;
	display: inline-block;
	color: #fff;
	border-bottom: 1px solid #fff;
}
#main .sec02 .phoList .txt {
	font-weight: 700;
	line-height: 1.44;
	letter-spacing: 0.02em;
}
#main .sec02 .info03 {
	margin-bottom: 6.2rem;
}
#main .sec02 .phoUl > li:not(:last-child) {
	margin-bottom: 2.9rem;
}
#main .sec02 .phoUl .comDl {
	margin-bottom: 0;
}
#main .sec02 .phoUl .comDl dd {
	padding-left: 6.5em;
}
#main .sec03 {
	padding: 1.6rem 0 8.1rem;
	background-color: rgba(216,55,173,0.7);
}
#main .sec03 h2 {
	width: 72.8rem;
	margin: 0 auto -1.3rem;
}
#main .sec03 .headLine01 {
	letter-spacing: 0.05em;
	background-image: url(../img/headline01_bg02.png);
}
#main .sec04 {
	padding: 2.6rem 0 8.4rem;
	background-color: rgba(245,135,8,0.7);
}
#main .sec04 h2 {
	width: 72.2rem;
	margin: 0 auto 1.7rem;
}
#main .sec04 .comPhoList {
	margin-bottom: 8.3rem;
}
#main .sec05 {
	padding: 6.5rem 0 4.8rem;
	background-color: rgba(91,172,222,0.7);
}
#main .sec05 .comPho {
	position: relative;
}
#main .sec05 .ico {
	position: absolute;
	left: -5.1rem;
	top: -3.4rem;
	width: 18.2rem;
}
#main .sec06 {
	padding-top: 3.4rem;
	background-color: rgba(216,55,173,0.7);
}
#main .sec06 h2 {
	width: 70.6rem;
	margin: 0 auto -1px;
}
#main .sec06 .bgBox {
	margin-top: 5.4rem;
	padding: 2.9rem 0 4.7rem;
	position: relative;
	background: url(../img/sec06_bg.png) repeat top center;
	background-size: 3.7rem auto;
}
#main .sec06 .bgBox .img01 {
	position: absolute;
	left: 50%;
	top: -4.1rem;
	margin-left: -33.3rem;
	width: 9.7rem;
}
#main .sec06 .bgBox .img02 {
    position: absolute;
    right: 50%;
    top: -2.3rem;
    margin-right: -35.3rem;
    width: 10.5rem;
}
#main .sec06 .bgBox p {
	margin-bottom: 2.5rem;
	text-align: center;
	font-size: 2rem;
	line-height: 1.7;
	font-weight: 700;
	text-shadow: 0 0 10px #000;
}
#main .sec06 .comBanner {
	width: 62.8rem;
	margin: 0 auto;
	box-shadow: none;
}
#main .sec07 {
	padding: 3.2rem 0 8rem;
	background-color: rgba(216,55,173,0.7);
}
#main .sec07 h2 {
	width: 70.6rem;
	margin: 0 auto -0.5rem;
}
#main .sec08 {
	padding: 0.1rem 0 2.9rem;
	background-color: rgba(245,135,8,0.7);
}
#main .sec08 h2 {
	width: 70.6rem;
	margin: -1.8rem auto 0;
}
#main .sec08 .comDl {
	margin-bottom: 0;
}
#main .sec09 {
	padding: 5.4rem 0 3.7rem;
	background: url(../img/sec09_bg.png) repeat top center;
	background-size: 2.7rem auto;
}
#main .sec09 h2 {
	width: 70.6rem;
	margin: 0 auto -7.4rem;
}
#main .sec09 .bgBox {
	width: 68.6rem;
	margin: 0 auto;
	padding-top: 10.4rem;
	height: 43.5rem;
	box-sizing: border-box;
	background: url(../img/sec09_bg02.png) no-repeat center center;
	background-size: 100% 100%;
}
#main .sec09 .pho {
	width: 49.4rem;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 1rem;
}
#main .sec09 .pho img {
	width: 100%;
}
#main .sec10 {
	padding: 4.5rem 0 5.6rem;
	background-color: rgba(216,55,173,0.7);
}
#main .sec10 h2 {
	width: 70.6rem;
	margin: 0 auto;
}
#main .sec10 .slideBox {
	position: relative;
}
#main .sec10 .prev,
#main .sec10 .next {
	position: absolute;
	top: 50%;
	width: 1.4rem;
	transition: .3s;
	cursor: pointer;
	margin-top: 0.3rem;
	z-index: 9;
}
#main .sec10 .prev {
	left: 50%;
	margin-left: -25.3rem;
}
#main .sec10 .next {
	right: 50%;
	margin-right: -25.3rem;
}
#main .sec10 .slick-list {
	padding: 3rem 0 1.4rem !important;
}
#main .sec10 .pho {
	width: 45.1rem !important;
	margin: 0 2rem;
	vertical-align: top;
	overflow: hidden;
	border-radius: 1rem;
	box-shadow: 0 0 1.6rem rgba(0,0,0,0.7);
}
#main .sec10 .comDl dd {
	padding-left: 6.5em;
}
#main .sec11 {
	padding: 4.6rem 0 2.8rem;
	background-color: rgba(245,135,8,0.7);
}
#main .sec11 h2 {
	width: 70.6rem;
	margin: 0 auto 0.7rem;
}
#main .sec12 {
	padding: 4rem 0 10.3rem;
	background: url(../img/sec09_bg.png) repeat top center;
	background-size: 2.7rem auto;
}
#main .sec12 h2 {
	width: 50.3rem;
	margin: 0 auto 1.8rem;
}
#main .sec12 .bgBox {
	width: 68.6rem;
	margin: 0 auto;
	padding-top: 9.4rem;
	height: 43.5rem;
	box-sizing: border-box;
	background: url(../img/sec09_bg02.png) no-repeat center center;
	background-size: 100% 100%;
}
#main .sec12 .bgBox p {
	margin-bottom: 2.5rem;
	text-align: center;
	color: #872FA2;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
}
#main .sec12 .comLink a {
	padding-right: 1.6rem;
	min-height: 5.4rem;
	color: #fff;
	border-color: #D837AD;
	background-color: #D837AD;
	background-image: url(../img/icon04_on.png);
	background-position: right 12rem center;
}
@media all and (min-width: 897px) {
	#main .sec02 .phoList .more a:hover {
		border-color: transparent;
	}
	#main .sec02 .info03 .headLine02 {
		margin-bottom: 3.5rem;
	}
	#main .sec02 .phoUl .comPho {
		margin-bottom: 1.4rem;
	}
	#main .sec02 .info04 .headLine02 {
		margin-bottom: 3.5rem;
	}
	#main .sec03 .comPho {
		margin-bottom: 3.4rem;
	}
	#main .sec04 .comDl {
		margin-bottom: 2.2rem;
	}
	#main .sec06 .comDl {
		margin-bottom: 1.9rem;
	}
	#main .sec06 .comLink a {
		background-position: right 4.6rem center;
	}
	#main .sec07 .comDl {
		margin: -2px 0 2.2rem;
	}
	#main .sec08 .comDl {
		margin-top: -2px;
	}
	#main .sec10 .headLine03 {
		margin-bottom: 2.6rem;
	}
	#main .sec10 .comDl {
		width: 42.4rem;
		margin: 0 auto;
	}
	#main .sec10 .prev:hover,
	#main .sec10 .next:hover {
		opacity: 0.7;
	}
	#main .sec12 .comLink a:hover {
		color: #D837AD;
		background-color: #fff;
		background-image: url(../img/icon08.png);
	}
}
@media all and (max-width: 896px) {
	.mainVisual::before {
		left: 0;
		width: 100%;
		transform: none;
	}
	.mainVisual .info {
		padding: 0 2rem;
	}
	.mainVisual h1 {
		margin: -10rem 0 0;
	}
	.mainVisual h1 img {
		width: auto;
	}
	.mainVisual .time {
		width: auto;
	}
	.mainVisual .txt {
		width: auto;
		margin: 0 auto -2rem;
	}
	.mainVisual .ttl {
		width: auto;
	}
	#main {
		width: auto;
	}
	#main .sec01 {
		
	}
	#main .sec02 {
		padding: 0.1rem 0 3rem;
	}
	#main .sec02 h2 {
		width: auto;
		margin: -0.5rem auto 2rem;
	}
	#main .sec02 .info01 {
		margin-bottom: 4rem;
	}
	#main .sec02 .info01 .comPhoList {
		margin-bottom: 2rem;
	}
	#main .sec02 .info02 {
		margin-bottom: 3.6rem;
	}
	#main .sec02 .phoList li {
		width: calc(50% - 1rem);
	}
	#main .sec02 .phoList .pho {
		margin-bottom: 1rem;
	}
	#main .sec02 .phoList .name {
		margin-bottom: 0.8rem;
	}
	#main .sec02 .phoList .name span {
		margin-left: 0;
		font-size: 1.6rem;
	}
	#main .sec02 .phoList .more {
		margin-bottom: 0.5rem;
		font-size: 1.3rem;
	}
	#main .sec02 .phoList .more a {
		padding-bottom: 0.3rem;
	}
	#main .sec02 .info03 {
		margin-bottom: 3rem;
	}
	#main .sec02 .phoUl > li:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .sec03 {
		padding: 1rem 0 4rem;
	}
	#main .sec03 h2 {
		width: auto;
	}
	#main .sec03 .headLine01 {
		padding-bottom: 0;
		margin-bottom: 2rem;
		background-position: center center;
		background-image: url(../img/headline01_bg.png);
	}
	#main .sec04 {
		padding: 1.5rem 0 4rem;
	}
	#main .sec04 h2 {
		width: auto;
	}
	#main .sec04 .comPhoList {
		margin-bottom: 4rem;
	}
	#main .sec05 {
		padding: 3rem 0;
	}
	#main .sec05 .ico {
		left: -2.5rem;
		top: -1.7rem;
		width: 9rem;
	}
	#main .sec06 {
		padding-top: 2rem;
	}
	#main .sec06 h2 {
		width: auto;
	}
	#main .sec06 .bgBox {
		margin-top: 2.5rem;
		padding: 4.5rem 0 2rem;
	}
	#main .sec06 .bgBox .img01 {
		left: 1rem;
		top: -2rem;
		margin-left: 0;
		width: 4.5rem;
	}
	#main .sec06 .bgBox .img02 {
		right: 1rem;
		top: -1.5rem;
		margin-right: 0;
		width: 5.5rem;
	}
	#main .sec06 .bgBox p {
		margin-bottom: 2rem;
		font-size: 1.6rem;
	}
	#main .sec06 .comBanner {
		width: auto;
		margin: 0 2rem;
	}
	#main .sec07 {
		padding: 1.5rem 0 4rem;
	}
	#main .sec07 h2 {
		width: auto;
	}
	#main .sec08 {
		padding: 0.1rem 0 1.5rem;
	}
	#main .sec08 h2 {
		width: auto;
		margin: -1rem auto 0;
	}
	#main .sec09 {
		padding: 2.5rem 0 2rem;
	}
	#main .sec09 h2 {
		width: 37rem;
		margin: 0 auto -4rem;
	}
	#main .sec09 .bgBox {
		width: 38rem;
		padding-top: 6.4rem;
		height: 28rem;
	}
	#main .sec09 .pho {
		width: 30rem;
	}
	#main .sec09 .pho img {
		width: 100%;
	}
	#main .sec10 {
		padding: 3rem 0;
	}
	#main .sec10 h2 {
		width: auto;
	}
	#main .sec10 .prev,
	#main .sec10 .next {
		width: 1.4rem;
		z-index: 9;
	}
	#main .sec10 .prev {
		margin-top: -1.3rem;
		margin-left: -14.5rem;
	}
	#main .sec10 .next {
		margin-top: -1.3rem;
		margin-right: -14.5rem;
	}
	#main .sec10 .slick-list {
		padding: 2rem 0rem !important;
	}
	#main .sec10 .pho {
		width: 25rem !important;
		margin: 0 1.5rem;
	}
	#main .sec10 .comDl {
		margin: 0 2rem;
	}
	#main .sec11 {
		padding: 3rem 0 2rem;
	}
	#main .sec11 h2 {
		width: auto;
	}
	#main .sec12 {
		padding: 2rem 0 5rem;
	}
	#main .sec12 h2 {
		width: 30rem;
		margin: 0 auto 1rem;
	}
	#main .sec12 .bgBox {
		width: 38rem;
		padding-top: 4.5rem;
		height: 28rem;
	}
	#main .sec12 .bgBox p {
		margin-bottom: 1rem;
		font-size: 1.5rem;
	}
	#main .sec12 .comLink a {
		background-position: right 10rem center;
	}
}
