@charset "UTF-8";

/* ▼820px以下の場合に適用（ipad以下）
---------------------------------------------------------------------- */
@media only screen and (max-width: 821px) {
	
	body {
		font-size: 18px;
		line-height: 1.6em;
	}

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

	/* !汎用コンテンツ
	---------------------------------------------------------- */
	.main {
		position: relative;
		width: 100%;
		height: 100vh;
		min-height: 600px;
		background: url(../img/main.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: cover;
	}

	.header {
		width: 100%;
	}

	.logo {
		width: 80%;
		position: absolute;
		top: 22%;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	/*---見出し---*/
	h1 {
		font-size: 50px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
		text-align: left;
	}

	/*---募集期間---*/
	.period {
		font-size: 50px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
		color: #df261b;
		text-align: center;
	}

	/*---サンクス・タイトル---*/
	.tit_thanks {
		font-size: 24px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1em;
		font-weight: bold;
		text-align: center;
	}

	/*---背景色---*/
	.bg_white {
		background: #fff;
		padding:0 0 60px;
		margin-top: -20px;
	}

	.bg_yellow {
		background: #f9d83a;
		padding:60px 0;
	}

	.inner_white {
		background: #fff;
		padding:40px 30px 60px;
		border-radius: 10px;
	}

	/*---位置の指定---*/
	.area_character .posi_character {
		position: absolute;
		top: -50px;
		right: 0;
		z-index: 2;
	}

	.area_character .posi_character_name {
		position: absolute;
		top: 120px;
		right: 30px;
		z-index: 2;
		width: 160px;
		height: auto;
	}

	.area_character .posi_catch {
		position: absolute;
		top: -270px;
		left: 0;
		z-index: 2;
		width: 160px;
		height: auto;
	}

	/*---応募方法---*/
	.area_apply .ContL {
		width: 100%;
		float: left;
		margin-top: 20px;
	}

	.area_apply .ContR {
		width: 100%;
		float: left;
		margin-top: 60px;
	}

	.area_number {
		display: block;
		position: relative;
		width: 100%;
		background: #fff;
		border-radius: 10px;
		border: 3px solid #00a0e9;
		padding: 16px 6px;
	}

	/*---賞---*/
	.award {
		border-radius: 10px;
		border: 3px solid #00a0e9;
		padding: 20px 6px;
	}

	/*---過去の受賞作品---*/
	.season_frame {
		border-top: solid 2px #fff;
		border-bottom: solid 2px #fff;
	}

	.season {
		width: 100%;
		height: 400px;
		background: url(../img/season_bg.jpg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover
	}

	.season .ContL {
		height: 200px;
		width: 100%;
		float: left;
	}

	.season .ContR {
		height: 200px;
		width: 100%;
		float: left;
	}

	.posi_btn {
		position: absolute;
		top: 24%;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	/*---ボタン---*/
	.btn_action {
		display: block;
		width: 84%;
		border: 0;
		background-image: linear-gradient(90deg, rgba(49, 196, 221, 1), rgba(3, 234, 245, 1));
		transition: color .3s, background .3s;
		text-decoration: none;
		margin-left: auto;
		margin-right: auto;
		border-radius: 80px;
	}

	.btn_action a {
		display: block;
		padding: 40px 0;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
	}

	/* !Footer
	---------------------------------------------------------- */
	.footer_wrap p {
		font-size: 18px;
		line-height: 1.6em;
	}

	/*---ページの先頭へ---*/
	#back-top a {
		display: none;
	}

	/* !Fonts -------------------------------------------------------------- */
	.fz80 { font-size: 74px;}

}

/* ▼430px以上の場合に適用
--------------------------------------------------------------------- */
@media only screen and (min-width: 431px) {

	.Sp_Cont {
		display: none;
	}

}

/* ▼430px以下の場合に適用（iphone15以下）
---------------------------------------------------------------------- */
@media only screen and (max-width: 431px) {

	.Sp_None {
		display: none;
	}

	body {
		font-size: 16px;
		line-height: 1.6em;
	}

	.main {
		position: relative;
		width: 100%;
		height: 100vh;
		height: 600px;
		background: url(../img/main.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: cover;
	}

	.header {
		width: 100%;
	}

	.logo {
		width: 90%;
		position: absolute;
		top: 20%;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	/*---見出し---*/
	h1 {
		font-size: 26px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
		text-align: left;
	}

	h2 {
		font-size: 26px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
	}

	h3 {
		font-size: 18px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.4em;
		font-weight: bold;
		border-bottom: 1px solid #e6e6e6;
	}

	/*---募集期間---*/
	.period {
		font-size: 24px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
		color: #df261b;
		text-align: center;
	}

	/*---サンクス・タイトル---*/
	.tit_thanks {
		font-size: 18px;
		font-family: 'M PLUS 1p', sans-serif;
		line-height: 1.6em;
		font-weight: bold;
		text-align: center;
	}

	/*---背景色---*/
	.bg_white {
		background: #fff;
		padding:0 0 30px;
		margin-top: -30px;
	}

	.bg_yellow {
		background: #f9d83a;
		padding:40px 0;
	}

	.inner_white {
		background: #fff;
		padding:20px 24px 40px;
		border-radius: 10px;
	}

	/*---位置の指定---*/
	.area_character {
		position: relative;
	}

	.area_character .posi_character {
		position: absolute;
		top: -30px;
		right: 0;
		z-index: 2;
	}

	.area_character .posi_character_name {
		position: absolute;
		top: 60px;
		right: 0;
		z-index: 2;
		width: 100px;
		height: auto;
	}

	.area_character .posi_catch {
		position: absolute;
		top: -250px;
		left: 0;
		z-index: 2;
		width: 140px;
		height: auto;
	}

	/*---バウンド---*/
	.move_bounce {
		width: 80px;
		height: auto;
		animation: bounce 2s linear infinite;
	}

	/*---スタンプ---*/
	.stamp {
		width: 70px;
		animation: stamp 0.6s forwards;
		animation-delay:0.4s;
		opacity: 0;
	}

	.area_number .posi_stamp {
		position: absolute;
		top: -26px;
		left: 4px;
		z-index: 2;
	}

	/*---応募方法---*/
	.area_apply .ContL {
		width: 100%;
		float: left;
		margin-top: 0;
	}

	.area_apply .ContR {
		width: 100%;
		float: left;
		margin-top: 30px;
	}

	/*---過去の受賞作品---*/
	.season_frame {
		border-top: solid 2px #fff;
		border-bottom: solid 2px #fff;
	}

	.season {
		width: 100%;
		height: 320px;
		background: url(../img/season_bg_sp.jpg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover
	}

	.season .ContL {
		height: 160px;
		width: 100%;
		float: left;
	}

	.season .ContR {
		height: 160px;
		width: 100%;
		float: left;
	}

	.posi_btn {
		position: absolute;
		top: 18%;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	/*---ボタン---*/
	.btn_action {
		display: block;
		width: 84%;
		border: 0;
		background-image: linear-gradient(90deg, rgba(49, 196, 221, 1), rgba(3, 234, 245, 1));
		transition: color .3s, background .3s;
		text-decoration: none;
		margin-left: auto;
		margin-right: auto;
		border-radius: 80px;
	}

	.btn_action a {
		display: block;
		padding: 40px 0;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
	}

	/* !Footer
	---------------------------------------------------------- */
	.footer_wrap p {
		font-size: 16px;
		line-height: 1.6em;
	}

	/* !応募フォーム
	---------------------------------------------------------- */
	.form_frame {
		width:100%;
		background: #fff;
		padding: 10px 14px;
		border-radius: 10px;
		box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1), 0 0 50px rgba(128, 128, 128, 0.1) ;
	}

	/* !Fonts -------------------------------------------------------------- */
	.fz80 { font-size: 32px;}

	/* !Margin ------------------------------------------------------------------ */
	.mt10 { margin-top:0 !important;}
	.mt20 { margin-top:14px !important;}
	.mt30 { margin-top:20px !important;}
	.mt40 { margin-top:30px !important;}
	.mt60 { margin-top:30px !important;}
	.mt80 { margin-top:30px !important;}
	.mt100 { margin-top:30px !important;}

}
