@charset "UTF-8";
@media screen and (max-width:1000px) {
.navBtn {
	right:1em;
}
.topPanArea {
	width:90%;
}
}
@media screen and (max-width:767px) {
	/* 共通設定・画像切り替え・PC改行の無効化 */
	.pcim {
		display: none !important;
	}
	.spim {
		display: block !important;
	}
	br.pc {
		display: none !important;
	}
	br.sp {
		display: block!important;
	}

.topMainArea{
	width: 100%;
	
}
	
	/* --- HEADER --- */
	.header {
		padding: 2rem;
	}
	.header h1 {
		width: 18rem;
	}

	/* --- COMMON TITLE h3 --- */
	h3 {
		font-size: 3.2rem;
		margin-bottom: 1.5rem;
		padding-left: 2rem;
	}
	.messe h3 {
		margin-bottom: 2em;
	}
	.movie h3 {
		margin-bottom: 2em;
	}
	h3::after {
		width: 1rem;
	}

	/* --- ABOUT --- */
	.about {
		padding: 3.5rem 0;
	}
	.about ul.about01 {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	.about ul.about01 li {
		width: 100% !important;
	}
	.about ul.about01 li:first-child {
		margin-bottom: 3rem;
	}
	.about ul.about01 p.tx {
		font-size: 2rem;
		line-height: 1.6;
		padding: 5rem 0;
	}
	.about.ch{
	padding: 10rem 0 5rem;
		background-position: bottom right;
}

	/* --- MESSAGE --- */
	.message-bg {
		background-position: calc(50% + 30px) center;
	}
	.message-title-wrapper {
		height: 80vh;
	}
	.message-title-wrapper h4 {
		font-size: 8rem;
	}
	.message-box {
		/*padding: 8rem 2rem;*/
		padding: 14em 0;
	}
	.message-box p {
		font-size: 2.2rem;
		line-height: 1.6;
		margin-bottom: 1.2rem;
	}
	.message-strong {
		font-size: 1.3rem !important;
		margin-top: 2.5rem;
		padding-top: 2rem;
	}

	/* --- MOVIE --- */
	.movie {
		padding: 5rem 0;
	}
	.movie ul {
		flex-direction: column;
		row-gap: 3rem;
		width: 100%;
		padding-top: 2rem;
	}
	.movie li {
		width: 100% !important;
	}
	.movie li p.play {
		width: 15% !important;
	}
	.mv p.tx {
		font-size: 1.6rem;
	}

	/* --- BANA --- */
	.bana {
		padding-bottom: 5rem;
	}
	.bana ul {
		flex-direction: column;
		width: 100%;
		gap: 2rem;
	}
	.bana ul li {
		width: 100% !important;
	}
	.bana ul li a:link {
		font-size: 2.2rem;
		line-height: 2.5;
	}
	.bana ul li span {
		font-size: 2.2rem;
		top: 0.5rem;
		left: 0.5rem;
	}
	.bana ul li a:link::after {
		width: 1rem;
		height: 1rem;
		margin-top: -0.5rem;
	}

	/* --- FOOTER --- */
	.footer ul.sns li {
		width: 4rem;
		margin: 0 1rem;
	}

	/* --- FIX BT --- */
	.fixBt{
	bottom: 2rem;
	width: 50%;
}

	/* --- CHALLENGE.HTML SECTION --- */
	.challenge {
		padding-top: 4rem;
	}
	.ch02Title {
		margin-top: 60px;
	}
	.challenge p.chTitle {
		font-size: 2.8rem;
		padding: 1rem 4rem 1rem 2rem;
		clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
		margin-bottom: 1.5em;
	}
	.chBox {
		width: 100%;
	}
	.challenge .chBox {
		margin-bottom: 4rem;
	}
	.chBox p.cat {
		font-size: 2.4rem;
		line-height: 1.3;
	}
	.chBox dl {
		flex-direction: column;
		padding-top: 2rem;
		margin-bottom: 3rem;
		gap: 2rem;
	}
	.chBox dl dt {
		width: 100%;
		font-size: 1.8rem;
		line-height: 1.8;
	}
	.chBox dl dd {
		width: 100%;
	}
	.chBox p.cCat {
		font-size: 2.2rem;
		margin-bottom: 2.4rem;
	}
	.chBox ul.list2 p.cCat {
		text-align: center;
		margin-bottom: 2em;
		margin-top: 6rem;
	}
	.chBox p.tx {
		font-size: 1.6rem;
		line-height: 2.0;
	}
	.chBox p.tx.tx-lg {
		font-size: 2.0rem;
	}
	.txArea p.tx span.lg {
		font-size: 2.0rem;
	}
	.chBox p.tx2 {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.chBox p.time {
		font-size: 2.2rem;
		line-height: 1.4;
	}
	.chBox p.time.time-lg {
		font-size: 2.6rem;
	}

	/* --- TABLE BOX --- */
	.table_box table {
		min-width: 500px;
	}
	.table_box th, .table_box td {
		padding: 1rem;
		font-size: 1.6rem;
	}

	/* --- CARDS (PHOTO CONTEST) --- */
	.card-container {
		flex-direction: column;
		gap: 4rem;
		margin: 3rem auto;
		padding: 0 1.5rem;
		width: 100%;
	}
	.card {
		width: 100%;
		padding: 3rem 1.5rem 1.5rem;
	}
	.card-title {
		font-size: 2.0rem;
		top: -1.5rem;
		padding: 0.6rem 2rem;
	}
	.card-hashtag {
		font-size: 1.3rem;
		margin: 0.5rem 0 1.5rem;
	}

	/* --- PHOTO LIST (ATHLETES) --- */
	.chBox ul.list2 ul {
		flex-direction: column;
		row-gap: 2rem;
	}
	.chBox ul.list2 ul li {
		width: 100%;
	}

	/* --- STEPS (SUBMISSION METHOD) --- */
	.step-container {
		flex-direction: column;
		gap: 3.5rem;
		margin: 4rem auto 2rem;
		padding: 0;
	}
	.step-card {
		width: 100%;
		padding: 3.5rem 1.5rem 1.5rem;
	}
	.step-badge {
		font-size: 2.2rem;
		top: -1.5rem;
		left: -0.5rem;
		padding: 0.3rem 1.5rem;
	}
	.step-title {
		font-size: 2.2rem;
		margin: 0.5rem 0 1.5rem;
	}
	.step-desc {
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 1.5rem;
	}

	/* --- SNS BANNER --- */
	.sns-banner-container {
		max-width: 100%;
	}
	.sns-banner {
		padding: 1.2rem;
	}
	.sns-icon {
		width: 3.2rem;
		height: 3.2rem;
	}
	.sns-label {
		font-size: 1.3rem;
	}
	.sns-id {
		font-size: 1.3rem;
	}
	.follow-btn {
		font-size: 1.3rem;
		padding: 0.8rem;
		margin-top: 0.8rem;
	}

	/* --- WEB APPLY BUTTON --- */
	p.bt {
		width: 100%;
	}
	p.bt a:link {
		font-size: 2.2rem;
		line-height: 2.5;
	}

	/* --- TERMS CONTAINER --- */
	.terms-container {
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.8;
		padding: 1.5rem;
		height: 300px;
	}
	.terms-heading {
		font-size: 1.6rem;
	}
	.nav{
	right:1em;
	top:1.2em;
}
/*-----------------------------------------------
	ハンバーガー
-----------------------------------------------*/
.topPanArea {
	
	width:80%;
	padding-bottom:10em;
}


/* オーバーレイ */
.overlay {
	
	height: 110%;
	
}
.topPanArea p a:link{
	font-size: 2.2rem;
}
.topPanArea p{
	margin-bottom: 2rem;
}
}
@media screen and (max-width:500px) {
.nav{
	top: 1.25em;
    right: 1em;
}
/*-----------------------------------------------
	メニュー
-----------------------------------------------*/
.topPanArea {
	padding-top: 5em;
	padding-left:1em;
	padding-right:1em;
	padding-bottom: 6em;
	width:90%;
}
.topPanArea ul.sns li{
	width: 10%;
}
.topPanArea p a:link{
	font-size: 2.2rem;
}
/*-----------------------------------------------
	slider
-----------------------------------------------*/
.slider {
  margin: 0 auto;
  width: 90%;
}
}