@charset "utf-8";


.col_w{
	color: #fff;
}

.reverse{
	flex-direction: row-reverse;
}

.form-arrow{
	position: relative;
}

.form-arrow::after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translatey(-50%);
	width: 20px;
	height: 20px;
	background-size: cover;
	background-repeat: no-repeat;
	background-image: url(../img/arrow.svg);
}

/* ---------------------------------------
* common
------------------------------------------ */

.MainWrap{
	position: relative;
}

.btn.sp{
	display: none;
}

.col-w{
	color: #fff;
}

.btn-404{
	width: 160px;
	margin: 0 auto;
}

.relative{
	position: relative;
}

.sideLeft,.sideRight{
	position: absolute;
}

.sideLeft{
	transform: rotate(90deg);
	top: 10rem;
	left: -10rem;
}

.sideRight{
	transform: rotate(-90deg);
	bottom: 10rem;
	right: -10rem;
}

.sideLeft p,.sideRight p{
	font-size: 6.4rem;
	font-weight: 400;
	line-height: 100%;
}

.bt{
	border-top: solid 3px #000;
}

.bb{
	border-bottom: solid 3px #000;
}

.support{
	padding-top: 1rem;
}

.support p{
	font-size: 14px;
	letter-spacing: 0.04em;
}

.supportLogo{
	width: 153px;
}

/* --------------------------------
* Top ページ
----------------------------------- */

.maintop{
	position: relative;
}

.maintop::before,.maintop::after{
	content: "";
	display: block;
	width: 5px;
	height: 100%;
	background-color: #000;
	position: absolute;
	z-index: 2;
	top: 0;
}

.maintop::before{
	left: 7.5rem;
}

.maintop::after{
	right: 7.5rem;
}

.mv{
	position: relative;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/fv.png);
}

.mv::after{
	content: "";
	display: block;
	padding-top: 75%;
}

.mvLogo{
	position: absolute;
	left: 0;
	right: 0;
	top: 14rem;
	margin: 0 auto;
	width: 58rem;
}

.sec01{
	margin-top: -10rem;
	position: relative;
	z-index: 2;
}

.sec01Wrap{
	width: 83rem;
	margin: 0 auto;
}

.sec01-l{
	width: 46rem;
}

.sec01-r{
	padding-top: 8rem;
	width: 37rem;
}

.sec01-r p{
	font-size: clamp(14px ,1.4rem,16px);
	letter-spacing: normal;
}

.sec01-r p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec02{
	padding: 16rem 0 0;
}

.sec03{
	padding-top: 20rem;
}

.sec03Wrap{
	width: 98rem;
	margin: 0 auto;
}

.sec03-l{
	width: 50rem;
}

.sec03-r{
	width: 37rem;
}

.sec03-listItem:not(:last-of-type){
	padding-bottom: 6rem;
}

.sec03-listTxt{
	padding-top: 1rem;
}

.sec03-listTxt p{
	font-size: clamp(14px ,1.4rem,16px);
	letter-spacing: normal;
}

.sec03-listTxt p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec04{
	margin-top: 10rem;
	padding: 28rem 0 50rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 40%;
	background-image: url(../img/top/eventbg04.png);
}

.sec04Wrap{
	width: 86.666%;
	margin: 0 auto;
}

.sec04-list{
	column-gap: 6rem;
	row-gap: 3rem;
}

.sec04-listItem{
	width: calc((100% - (6rem * 2)) / 3);
}

.sec04-listItem a{
	display: block;
	padding-left: 3rem;
	border-left: solid 1px #000;
}

.sec04-listImg{
	position: relative;
	overflow: hidden;
}

.sec04-listImg::before{
	content: "";
	display: block;
	position: absolute;
    top: -.4rem;
    left: -1.25rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-bottom: 19px solid #00FFFF;
	border-top: 0;
	transform: rotate(313deg);
}

.sec04-listImg::after{
	content: "";
	display: block;
	position: absolute;
    bottom: -.4rem;
    right: -1.25rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-bottom: 19px solid #00FFFF;
	border-top: 0;
	transform: rotate(-227deg);
}

.sec04-listImg .img{
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.sec04-listImg .img::after{
	content: "";
	display: block;
	padding-top: 50.7%;
}

.sec04Txt{
	margin-top: 2rem;
}

.sec04Day{
	position: relative;
	font-size: clamp(12px ,1.4rem,14px);
	line-height: 100%;
	letter-spacing: 0.04em;
}

.sec04Day::before{
	content: "";
	display: block;
	height: 1px;
	width: 2rem;
	background-color: #000;
	position: absolute;
	left: -3rem;
	top: 50%;
	transform: translateY(-50%);
}

.sec04Txt h3{
	padding: 1.4rem 0 2rem;
	font-size: clamp(12px ,1.4rem,14px);
	line-height: 180%;
	letter-spacing: 0.04em;
}

.sec04-tagList{
	column-gap: 1rem;
}

.sec04-tagListItem{
	padding-left: 1.2rem;
	position: relative;
	font-size: clamp(12px ,1.4rem,14px);
	line-height: 100%;
	color: #AEADAD;
}

.sec04-tagListItem::before{
	content: "#";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

.sec05{
	margin-top: -10rem;
	position: relative;
	z-index: 2;
}

.sec05Wrap{
	width: 86.666%;
	margin: 0 auto;
}

.sec05-list{
	column-gap: 5rem;
	row-gap: 6rem;
}

.sec05-listItem{
	width: calc((100% - (5rem * 2)) / 3);
}

.sec06{
	position: relative;
	padding-top: 14rem;
}

.sec06bg{
	position: absolute;
	width: 50rem;
}

.sec06bg01,.sec06bg03{
	left: 0;
	top: 16rem;
	z-index: 10;
}

.sec06bg02,.sec06bg04{
	right: 0;
	bottom: 4rem;
	z-index: 2;
}

.sec06bg03,.sec06bg04{
	z-index: -1;
}

.sec06Wrap{
	clip-path: polygon(5% 0%, 100% 0, 100% 5%, 100% 95%, 95% 100%, 0 100%, 0 95%, 0% 5%);
	background-color: #231815;
	padding: 12rem 0 18rem;
}

.sec06Contents{
	position: relative;
	z-index: 10;
}

.sec06Txt{
	width: 36rem;
	margin: 0 auto;
}

.sec06Txt p{
	font-size: clamp(12px ,1.4rem,14px);
}

.sec06Txt p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec07-list{
	width: 86.666%;
	margin: 0 auto;
	column-gap: 4rem;
}

.sec07-listItem{
	width: calc((100% - (4rem * 1)) / 2);
}

.sec08{
	position: relative;
	padding-bottom: 20rem;
}

.sec08Border{
	position: absolute;
}

.sec08Border01{
	width: 58rem;
	left: 0;
	top: 20rem;
}

.sec08Border02{
	left: 0;
	bottom: -16rem;
}

.sec08Wrap{
	padding-top: 3rem;
	width: 86.666%;
	margin: 0 auto;
}

.sec08Caution{
	padding-top: 8rem;
	width: 25rem;
	margin-left: auto;
	font-size: clamp(12px ,1.2rem,12px);
	color: #A7A7A7;
}

.sec09{
	margin-top: -8rem;
	padding: 10rem 0 16rem;
	background-color: #F2F2F2;
}

.sec09Wrap{
	width: 93.333%;
	margin: 0 auto;
}

.mem-list{
	column-gap: 1.5rem;
}

.mem-listItem{
	width: calc((100% - (1.5rem * 3)) / 4);
}

.mem-listItem:nth-child(4n - 3){
	padding-top: 6rem;
}

.mem-listItem:nth-child(4n - 2){
	padding-top: 4rem;
}

.mem-listItem:nth-child(4n - 1){
	padding-top: 2rem;
}

.sec10{
	padding-bottom: 20rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/newBg.png);
}

.sec10Wrap{
	width: 81.666%;
	margin: 0 auto;
}

.sec10-listItem{
	width: 66rem;
}

.sec10-listItem:nth-of-type(2n){
	margin-left: auto;
}

.sec10-listItem:not(:last-of-type){
	margin-bottom: 3rem;
}

.sec10-listItem a{
	padding: 3rem;
	background-color: #F2F2F2;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.sec10Img{
	width: 28rem;
	position: relative;
	overflow: hidden;
}

.sec10Img::before{
	content: "";
	display: block;
	position: absolute;
    top: -.4rem;
    left: -1.25rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-bottom: 19px solid #00FFFF;
	border-top: 0;
	transform: rotate(313deg);
}

.sec10Img::after{
	content: "";
	display: block;
	position: absolute;
    bottom: -.4rem;
    right: -1.25rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 17px solid transparent;
	border-left: 17px solid transparent;
	border-bottom: 19px solid #00FFFF;
	border-top: 0;
	transform: rotate(-227deg);
}

.sec10Img .img{
	background-repeat: no-repeat;
	background-size: cover;
}

.sec10Img .img::after{
	content: "";
	display: block;
	padding-top: 50%;
}

.sec10Txt{
	width: 29rem;
}

.sec10Txt>p{
	padding: 1rem 0 1rem;
	font-size: clamp(12px ,1.4rem,14px);
	letter-spacing: 0.04em;
	line-height: 180%;
}

.sec10-tagListItem {
    padding-left: 1.2rem;
    position: relative;
    font-size: clamp(12px, 1.2rem, 12px);
    line-height: 100%;
    color: #AEADAD;
}

.sec10-tagListItem::before {
    content: "#";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.sec10Day,.sec10time span:last-of-type{
	font-size: clamp(14px ,2rem,20px);
	letter-spacing: 0.04em;
	line-height: 100%;
	font-weight: 600;
}

.sec10time span{
	display: inline-block;
}

.sec10time span:first-of-type{
	width: 1.5rem;
	height: 1.5rem;
	position: relative;
	margin-right: .5rem;
}

.sec10time span:first-of-type svg{
	position: absolute;
	left: 0;
	top: 0;
}

.sec11{
	padding: 6rem 0;
	border-top: solid 4px #000;
	border-bottom: solid 4px #000;
}

.sec11Wrap{
	width: 90%;
	margin: 0 auto;
}

.sec12Wrap{
	width: 88%;
	margin: -10rem auto 0;
}

@media screen and (max-width:768px) {


/* ---------------------------------------
* common
------------------------------------------ */
body {
	font-size: 14px;
}

.btn.sp{
	display: flex;
}

.btn.pc{
	display: none;
}

.btn{
	margin: 0 auto;
}

.support{
	padding-top: 20px;
}

.support p{
	font-size: 14px;
}

.supportLogo{
	width: 150px;
	margin-left: 10px;
}

.nav-otherWrap{
	display: none;
}


/* --------------------------------
* Top ページ
----------------------------------- */

.maintop::before,.maintop::after{
	width: 2px;
}

.maintop::before{
	left: 2rem;
}

.maintop::after{
	right: 2rem;
}

.mv{
	background-image: url(../img/top/mvsp.png);
}

.mv::after{
	padding-top: 196%;
}

.mvLogo{
	top: 22rem;
	width: 28rem;
}

.sec01{
	margin-top: -2rem;
}

.sec01Wrap{
	padding-top: 2rem;
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.sec01-l{
	width: 100%;
}

.sec01-r{
	padding-top: 2rem;
	width: 100%;
}

.sec01-r p{
	font-size: clamp(14px ,1.4rem,16px);
	letter-spacing: normal;
}

.sec01-r p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec02{
	padding: 10rem 0 0;
}

.sec02Wrap{
	padding-top: 4rem;
}

.sec03{
	padding-top: 10rem;
}

.sec03Wrap{
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.sec03-l{
	width: 100%;
}

.sec03-r{
	padding-top: 3rem;
	width: 100%;
}

.sec03-listItem:not(:last-of-type){
	padding-bottom: 6rem;
}

.sec03-listTxt{
	padding-top: 1rem;
}

.sec03-listTxt p{
	font-size: 1..4rem;
	letter-spacing: normal;
}

.sec03-listTxt p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec04{
	margin-top: 0rem;
	padding: 16rem 0 16rem;
	background-size: cover;
	background-image: url(../img/top/eventbgsp.png);
}

.sec04Wrap{
	width: calc(100% - 4rem);
}
.sec04-listItem{
	width: 100%;
}

.sec04-listItem:not(:last-of-type){
	margin-bottom: 3rem;
}

.sec04-listItem a{
	padding-left: 2rem;
}

.sec04Day::before{
	width: 1.5rem;
	left: -2rem;
}

.sec04Txt h3{
	font-size: 1.4rem;
}

.sec04-tagListItem{
	padding-left: 1rem;
	font-size: 1.2rem;
}

.sec05{
	margin-top: -10rem;
	position: relative;
	z-index: 2;
}

.sec05Wrap{
	padding-top: 4rem;
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.sec05-list{
	column-gap: 1rem;
	row-gap: 2rem;
}

.sec05-listItem{
	width: calc((100% - (1rem * 1)) / 2);
}

.sec06{
	padding-top: 10rem;
}

.sec06bg{
	width: 20rem;
}

.sec06bg01,.sec06bg03{
	top: 12rem;
}

.sec06bg02,.sec06bg04{
	bottom: 2rem;
}

.sec06bg03,.sec06bg04{
	z-index: -1;
}

.sec06Wrap{
	clip-path: polygon(5% 0%, 100% 0, 100% 5%, 100% 95%, 95% 100%, 0 100%, 0 95%, 0% 5%);
	padding: 8rem 0;
}

.sec06Txt{
	width: calc(100% - 4rem);
}

.sec06Txt p{
	font-size: 1.4rem;
}

.sec07-list{
	width: calc(100% - 4rem);
	margin: 0 auto;
	column-gap: 4rem;
}

.sec07-listItem{
	width: 100%;
}

.sec07-listItem:not(:last-of-type){
	margin-bottom: 2rem;
}

.sec08{
	position: relative;
	padding-bottom: 16rem;
}

.sec08Border{
	position: absolute;
}

.sec08Border01{
	width: 15rem;
	left: 0;
	top: 8.75rem;
}

.sec08Border02{
	left: 0;
	bottom: -0;
	width: 100%;
}

.sec08Wrap{
	padding-top: 2rem;
	width: calc(100% -4rem);
}

.sec08Caution{
	padding-top: 4rem;
	width: 100%;
	font-size: 1.2rem;
}

.sec09{
	margin-top: -8rem;
	padding: 6rem 0 8rem;
}

.sec09Wrap{
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.mem-list{
	column-gap: 1rem;
}

.mem-listItem{
	width: calc((100% - (1rem * 1)) / 2);
}

.mem-listItem:nth-child(4n - 3){
	padding-top: 0;
}

.mem-listItem:nth-child(4n - 2){
	padding-top: 0;
}

.mem-listItem:nth-child(4n - 1){
	padding-top: 0;
}

.mem-listItem:nth-child(odd) {
	padding-top: 2rem;
}

.sec10{
	padding-bottom: 6rem;
	background-image: url(../img/top/newBg.png);
}

.sec10Wrap{
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.sec10-listItem{
	width: 100%;
}

.sec10-listItem:not(:last-of-type){
	margin-bottom: 3rem;
}

.sec10-listItem a{
	padding: 2rem 2rem 3rem; 
}

.sec10Img{
	width: 100%;
}

.sec10Txt{
	width: 100%;
	padding-top: 2rem;
}

.sec10Txt>p{
	padding: 1rem 0 1rem;
	font-size: 1.4rem;
}

.sec10-tagListItem {
    padding-left: 1.2rem;
	font-size: 1.2rem;
}

.sec10Day,.sec10time span:last-of-type{
	font-size: 1.4rem;
}

.sec11{
	padding: 3rem 0;
	border-top: solid 2px #000;
	border-bottom: solid 2px #000;
}

.sec11Wrap{
	width: calc(100% - 4rem);
	margin: 0 auto;
}

.sec12Wrap{
	width: calc(100% - 4rem);
	margin: -3rem auto 0;
}

}

