@charset "utf-8";

/* --------------
 reset
-------------- */
input,select,textarea {max-width:95% !important;}
h1,h2,h3,h4 {font-size:100%;}

img {max-width:100% !important; height:auto;vertical-align: bottom;}
/*iframe {max-width:100% ; border:0;}*/

/* --------------
 base
-------------- */
body {font-size: 16px;}
.ifpc {display: none;}

@media screen and (max-width: 320px) { /*以下の時*/
}
@media screen and (min-width: 321px) { /*以上の時*/
}

@media only screen and (orientation : landscape) { /*横向きの際に適用*/
	body {background-size:100% auto;}
}


footer{
	padding: 3em 0 2em 0;
}

/* =base
---------------------------------------------------- */
#wrapper {
    padding: 10px 0 30px 0;
}

.mainIn {
	margin-top: 10px;
}

@media screen and (max-width: 320px) { /*以下の時*/
}
@media screen and (min-width: 321px) { /*以上の時*/
}


/*.contents:not(#visual):before {
	content: '';
	display: block;
	position: absolute;
	top: -20%;
	left: -10%;
	width: 100%;
	height: 5%;
	transform: scale(2) rotate(-20deg);
	background-image: linear-gradient(175deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	z-index: 1;
	
	animation: anime-contentsb 8s ease infinite;
}
.contents:not(#visual):nth-child(odd):before {
	animation-delay: -4s;
}

.contents:not(#visual):not(.bgGray):nth-child(even):before {
	background-image: linear-gradient(175deg, rgba(255, 198, 0, 0) 10%, rgba(255, 198, 0, .2) 100%, rgba(255, 198, 0, 0) 0%);
}
.contents:not(#visual):not(.bgGray):nth-child(odd):before {
	background-image: linear-gradient(175deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .8) 100%, rgba(255, 255, 255, 0) 0%);
}

@keyframes anime-contentsb {
    0% { top: -20%; }
    50% { top: 250%; }
    100% { top: 250%; }
}*/





/* =contents
------------------------------------------ */

.in > .bgBox {
	padding: 10px 1.5rem;
}

.spclm2, .spclm3, .spclm4, .spclm5, .spclm6 {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	margin-left: -10px;
}
.spclm2 > * {
	width: calc((100% / 2) - 10px );
}
.spclm3 > * {
	width: calc((100% / 3) - 10px );
}
.spclm4 > * {
	width: calc((100% / 4) - 10px );
}
.spclm5 > * {
	width: calc((100% / 5) - 10px );
}
.spclm6 > * {
	width: calc((100% / 6) - 10px );
}

.spclm2 > *, .spclm3 > *, .spclm4 > *, .spclm5 > *, .spclm6 > * {
	margin-left: 10px;
}

.spclm2 > * >a, .spclm3 > * >a, .spclm4 > * >a, .spclm5 > * >a, .spclm6 > * >a {
	position: relative;
	display: block;
}

.spclm2:after, .spclm3:after, .spclm4:after, .spclm5:after, .spclm6:after {
	display: none;
}





.contents dl dd {
	padding-left: .75rem;
}

#visual {
    width: 100%;
    padding: 40px 5%;
    height: 100%;
    margin-top: -5px;
}

#visual,
.mainConts {
    background-size: cover;
    background-repeat: repeat-y;
    background-position: top center;
}

.mvLogo {
    margin-bottom: 40px;
}

.mvTxt {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}

/* =pagetop
------------------------------------------ */

.contents .in {
	padding: 0 5px;
}


.imgL {
	display: block;
	margin: auto;
	margin-bottom: .5rem;
}

.pageNav ul {
	flex-wrap: wrap;
}

.pageNav ul li {
    width: calc((100% / 3) - 15px );
    margin: 5px auto;
}

.pageNav ul li a {
	padding: 7% 0;
}


.pageNav div.ifsp{
width:100%;
}

@media only screen and (orientation : portrait) { /*縦向きの際に適用*/


}
@media only screen and (orientation : landscape) { /*横向きの際に適用*/
	.pageNav ul {
		flex-wrap: nowrap;
	}
}

#visual.contents {
	padding: 0;
}


.contents h2 > span {
	font-size: 4.5vw;
	border-radius: 10px;
}

.aboutTxt {
	font-size: 4.5vw;
}

.contents .memberList dt {
	display: block;
}

.contents .memberList dd {
	padding: 0;
}

#joinTitle {
    padding: 40px 0;
}

#joinTitle.contents h2 {
    /* width: 50%; */
    text-align: center;
    margin-right: auto;
    margin-left: auto;
}

.logoList {
    margin-bottom: .4em;
}

.logoList > p {
    margin: 2em 3em;
}

.boothNav {
	flex-wrap: wrap;
}

.boothNav li {
	border-radius: 5px;
	width: 48%;
	margin: 0 2% 8px 0;
}


.boothNav li:nth-of-type(2n) {
    margin-right: 0;
}

.contents:not(#joinTitle) {
    margin-right: .8em;
    margin-left: .8em;
}

.logoList:last-of-type {
    margin-bottom: 2rem;
}

#movie.contents .in {
    /* min-height: 9em; */
    padding: 2em 0.5em;
}

#about dl {
    flex-wrap: wrap;
}

.slideBox {
    margin-top: 40px;
}

span.flexSpan {
    flex-wrap: wrap;
}

.imgSpan {
    display: block;
    text-align: center;
    margin: .5em auto 0;
}

#timetable dl,
#application dl {
    flex-wrap: wrap;
}

.alcSP {
    text-align: center;
}

#team li {
	width: calc((100% / 2) - 10px );
	margin: 5px;
}
#team li p{
	font-size: .8em;
}


/*
#team dl:before {
	height: 15em;
}

#team .imgs {
	width: 48%;
}

#team .names {
	width: 60%;
}

#team .teamNm {
	font-size: 204%;
}

#team .userNm {
	font-size: 223%;
	text-align: center;
	padding-left: 0;
}
*/

.sponsor-data {
	 display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
.sponsor-data .sponsor-img.large{
	width: 80%;
}
.sponsor-data .sponsor-img.middle{
	width: 65%;
}
.sponsor-data .sponsor-img{
	width: 45%;
	padding:5px;
	margin:1.5em auto;
}



