/*-----------------------------------------------------------------------------------------
	フォトコンテスト
-----------------------------------------------------------------------------------------*/
#bg-akaihane2025 {
	margin-top:0;
	padding:0;
	-webkit-box-sizing:border-box;
			box-sizing:border-box;
}
#contest section {}
.list-contest {
	width:960px;
	margin:0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:flex-start;
			justify-content:flex-start;
	flex-wrap: wrap;
}
.list-contest li {
	position: relative;
	width:230px;
	height: 200px;
	margin:0 10px 10px 0;
}
.list-contest li:nth-child(4n) {
	margin-right: 0;
}
.list-contest li span {
	position: absolute;
	left:0;
	bottom:0;
	width:100%;
	line-height: 40px;
	font-size: 12px;
	font-weight:700;
	color:#111;
	text-align: right;
	padding:0 15px;
	background:rgba(255,255,255,0.90);
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}

/*-----------------------------------------------------------------------------------------
	フォトコンテスト（応募フォーム）
-----------------------------------------------------------------------------------------*/
/*------------------------------ フォーム ----------*/
.formTable {
	position: relative;
	margin:100px auto 0 auto;
	max-width:1100px;
	min-width: 980px;
	border-radius: 10px;
}
.formTable th,
.formTable td {
	border-bottom:1px solid #ccc;
}
.formTable th {
	width:200px !important;
	padding:15px;
	font-size:14px;
	font-weight: 700;
	color:#333 !important;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.formTable td {
	width:760px !important;
	padding:20px 15px;
	font-size:16px;
	text-align: left;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.formTable td input[type="text"] {
	width:100%;
	height: 55px;
	line-height: 55px;
	padding:0 10px;
	display: inline-block;
	background:#fff;
	font-size: 16px;
	border:3px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.formTable td.tel input[type="text"] {
	width:20%;
	height: 55px;
	line-height: 55px;
	padding:0 10px;
	display: inline-block;
}
.formTable td textarea {
	display: block;
	width:100%;
	min-height: 100px;
	padding:10px;
	border:3px solid #ccc;
	font-size: 16px;
	border-radius: 0;
	-webkit-appearance: none;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.hisu,
.any {
	position: relative;
	padding-left:75px !important;
}
.hisu:before {
	position: absolute;
	content:'必須';
	left:0;
	width:60px;
	text-align:center;
	background:rgba(255,0,0,0.80);
	color:#fff;
}
.any:before {
	position: absolute;
	content:'任意';
	left:0;
	width:60px;
	text-align:center;
	background:rgba(0,0,0,0.40);
	color:#fff;
}
.error {
	display: block;
	margin:10px 0 0 0;
	color:#ff0000;
}
.ttl-sendmail {
	font-size:24px;
	letter-spacing: 3px;
	color:#392300;
	margin:40px auto;
	text-align: center;
}
.sendBox {
	position: relative;
	clear:both;
	overflow: hidden;
	margin:0 0 40px 0;
	width:100%;
	padding:20px 0;
	text-align:center;
}
.sendBox input[type="submit"] {
	max-width:450px;
	width:50%;
	margin:50px auto 0 auto;
	text-align: center;
	font-size:18px;
	font-weight: 700;
	background: #fff;
	border:3px solid #392300;
	border-radius: 50px;
	line-height: 70px;
	color: #392300;
	-webkit-box-shadow:0 7px 0 rgba(0,0,0,0.15);
			box-shadow:0 7px 0 rgba(0,0,0,0.15);
}
.sendBox input[type="submit"]:hover {
	opacity: 0.70;
	cursor: pointer;
}

/*------------------------------ フォームへ進むボタン ----------*/
.more-contest {
	position:relative;
	clear:both;
	width:500px;
	margin:100px auto 0 auto;
	text-align: center;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.more-contest a {
	position: relative;
	display: block;
	color:#5f3919;
	font-size:30px;
	font-weight:700;
	letter-spacing:2px;
	line-height:80px;
	border-radius:80px;
	/*background:#22ac38;*/
	background:#fff447;
	-webkit-box-shadow: 0 5px 0 rgba(0,0,0,0.20);
			box-shadow: 0 5px 0 rgba(0,0,0,0.20);
}
.more-contest a:after {
	position: absolute;
	content:'';
	top:50%;
	right:40px;
	border-top:3px solid #5f3919;
	border-right:3px solid #5f3919;
	height:15px;
	width:15px;
	margin:-10px 0 0 0;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}

/*------------------------------ 要項 ----------*/
#youkou h2 {
	position:relative;
	clear:both;
	overflow:hidden;
	background:#eb6d80;
	color:#fff;
	padding:0 60px;
	line-height: 70px;
	border-radius: 70px;
	font-size: 24px;
	font-weight:normal;
	text-align:left;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#youkou h2:after {
	position: absolute;
	content: '';
	top:20px;
	left: 40px;
	width:30px;
	height: 30px;
	border-radius: 50%;
	background:rgba(255,255,255,0.50);
}
#youkou div {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	padding: 20px 30px;
	line-height: 180%;
	border-bottom: 1px dotted #ccc;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#youkou div dt {
	width:15%;
	font-weight:700;
}
#youkou div dd {
	width:80%;
}
#youkou .award {
	display: inline-block;
	width:200px;
}
ul.attention {
	margin:10px 0;
}
ul.attention li {
	position: relative;
	border: none;
	padding:0 0 0 20px;
}
ul.attention li:before {
	position: absolute;
	content:'※';
	top:0;
	left: 0;
}
ul.list-desc {
	margin:10px 0;
}
ul.list-desc li {
	position: relative;
	border: none;
	margin-left: 20px;
	list-style:disc;
}
.more-contact {
	margin: 15px 0;
	font-size: 14px;
	line-height: 250%;
}
.more-contact span {
	text-decoration: underline;
	margin-left:10px;
}

/*------------------------------ メイン画像 ----------*/
.main_photo_v8 {
    display: block;
    max-width:962px;
    width:100%;
    height: auto;
	margin:0 auto 30px auto;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
/*------------------------------ イベント期間 ----------*/
.present_v8 {
	display: block;
	max-width:1053px;
	width:100%;
	height: auto;
	margin:0 auto 30px auto;
	padding:0 15px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
/*------------------------------ メイン画像 ----------*/
.eventdate {
	display: block;
	max-width:900px;
	width:100%;
	height: auto;
	margin:0 auto 30px auto;
	padding:0 15px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}

/*------------------------------ スポンサー ----------*/
#sponsor h2 {
	position:relative;
	clear:both;
	overflow:hidden;
	background:#eb6d80;
	color:#fff;
	padding:0 60px;
	line-height: 70px;
	border-radius: 70px;
	font-size: 24px;
	font-weight:normal;
	text-align:left;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#sponsor h2:after {
	position: absolute;
	content: '';
	top:20px;
	left: 40px;
	width:30px;
	height: 30px;
	border-radius: 50%;
	background:rgba(255,255,255,0.50);
}

.list-sponsor {
	width:960px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
			justify-content: flex-start;
	flex-wrap: wrap;
}
.list-sponsor li {
	position: relative;
	margin-left:20px;
	list-style: disc;
	width:33.33333333%;
	line-height: 180%;
	margin:0 0 3% 0;
	font-size: 18px;
	font-weight: 700;
}
.list-sponsor li a {
	position: relative;
	text-decoration: underline;
}
/*
.list-sponsor li a::before {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	top:-3px;
	right: -25px;
	font-size: 14px !important;
}
*/

/*-----------------------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------------------*/
@media only screen and (max-width:680px) {
	
	#bg-akaihane2024 {
		padding:3% 0 0 0;
	}
	#contest section {
		padding:10% 0 10% 0 !important;
	}
	.list-contest {
		width:95%;
		margin:0 auto;
		-webkit-justify-content:space-between;
				justify-content:space-between;
	}
	.list-contest li {
		width:49%;
		height: auto;
		margin:0 0 2% 0;
	}
	.list-contest li img {
		width:100%;
		height:auto;
	}
	.list-contest li:nth-child(4n) {}
	.list-contest li span {
		width:100%;
		line-height: 40px;
		font-size: 10px;
		padding:0 3%;
	}

	/*-----------------------------------------------------------------------------------------
		フォトコンテスト（応募フォーム）
	-----------------------------------------------------------------------------------------*/
	/*------------------------------ フォーム ----------*/
	.formTable {
		margin:10% auto 0 auto;
		max-width:90%;
		min-width:90%;
		border-radius:5px;
	}
	.formTable th,
	.formTable td {
		display: block;
	}
	.formTable th {
		width:100% !important;
		padding:4% 0;
		border-bottom: 0;
	}
	.formTable td {
		width:100% !important;
		padding:0 0 3% 0;
		font-size:14px;
	}
	.formTable td input[type="text"] {
		width:100%;
		height: 55px;
		line-height: 55px;
		padding:0 10px;
		display: inline-block;
		background:#fff;
		font-size: 16px;
		border:3px solid #ccc;
		border-radius: 0;
		-webkit-appearance: none;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}
	.formTable td.tel input[type="text"] {
		width:20%;
		height: 55px;
		line-height: 55px;
		padding:0 10px;
		display: inline-block;
	}
	.formTable td textarea {
		display: block;
		width:100%;
		min-height: 100px;
		padding:10px;
		border:3px solid #ccc;
		font-size: 16px;
		border-radius: 0;
		-webkit-appearance: none;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}
	.hisu,
	.any {}
	.hisu:before {}
	.any:before {}
	.error {
		margin:2% 0 0 0;
	}
	.ttl-sendmail {
		font-size:20px;
		margin:10% auto;
	}
	.sendBox {
		margin:0 0 8% 0;
		width:100%;
		padding:4% 0;
	}
	.sendBox input[type="submit"] {
		max-width:60%;
		width:60%;
		margin:10% auto 0 auto;
		text-align: center;
		font-size:16px;
		font-weight: 700;
		background: #fff;
		border:3px solid #392300;
		border-radius: 50px;
		line-height: 45px;
	}
	.sendBox input[type="submit"]:hover {
		opacity: 1;
	}
	.f-atte {
		width: 90%;
		margin: 0 auto 4% auto !important;
	}

	/*------------------------------ フォームへ進むボタン ----------*/
	.more-contest {
		width:80%;
		margin:10% auto 0 auto;
	}
	.more-contest a {
		font-size:18px;
		line-height:60px;
		border-radius:60px;
	}
	.more-contest a:after {
		right:8%;
	}

	/*------------------------------ 要項 ----------*/
	#youkou h2 {
		padding:4% 2% 4% 40px;
		line-height: 180%;
		border-radius: 0;
		font-size: 16px;
		width:100%;
		letter-spacing:1px;
		margin:0 0 2.5% 0;
	}
	#youkou h2:after {
		top:25px;
		left: 30px;
		width:15px;
		height: 15px;
	}
	#youkou div {
		display:block;
		padding: 3%;
	}
	#youkou div dt {
		width:100%;
		font-size: 18px;
		margin-bottom: 2%;
	}
	#youkou div dd {
		width:100%;
	}
	#youkou .award {
		display: block;
		width:100%;
	}
	ul.attention {
		margin:2% 0;
	}
	ul.attention li {}
	ul.attention li:before {}
	ul.list-desc {
		margin:2% 0;
	}
	ul.list-desc li {}
	.more-contact {
		margin: 4% 0;
	}
	.more-contact span {
		text-decoration: underline;
		margin-left:0;
		display: block;
	}
	.step {
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
	}
	.step img {
		width:49%;
		height: auto;
	}

	/*------------------------------ メイン画像 ----------*/
	.main_photov1 {
		max-width:100%;
		margin:10% auto 5% auto;
	}
	/*------------------------------ イベント期間 ----------*/
	.present {
		max-width:90%;
		margin:0 auto 4% auto;
		border:5px solid #5a3819;
		padding:2%;
		border-radius:5px;
	}
	/*------------------------------ メイン画像 ----------*/
	.eventdate {
		max-width:90%;
		margin:0 auto 4% auto;
		border:5px solid #5a3819;
		padding:2%;
		border-radius:5px;
	}
	
	/*------------------------------ メイン画像 ----------*/
	.main_photo_v8 {
		max-width:100%;
		width:100%;
		margin:8% auto 4% auto;
		padding:0 3%;
	}
	/*------------------------------ イベント期間 ----------*/
	.present_v8 {
		margin:0 auto 4% auto;
		padding:0 3%;
	}
	/*------------------------------ メイン画像 ----------*/
	.eventdate {
		margin:0 auto 4% auto;
		padding:0 3%;
	}
	
	

	/*------------------------------ スポンサー ----------*/
	#sponsor h2 {
		padding:4% 2% 4% 40px;
		line-height: 180%;
		border-radius: 0;
		font-size: 16px;
		width:100%;
		letter-spacing:1px;
		margin:0 0 5% 0;
	}
	#sponsor h2:after {
		top:25px;
		left: 30px;
		width:15px;
		height: 15px;
	}

	.list-sponsor {
		width:80%;
		margin: 0 auto;
		display: block;
	}
	.list-sponsor li {
		width:100%;
		line-height: 200%;
		margin:0;
		font-size: 16px;
	}
	.list-sponsor li a {}
	.list-sponsor li a::before {
		top:-7px;
	}

	/*-----------------------------------------------------------------------------------------
		フォトコンテスト結果
	-----------------------------------------------------------------------------------------*/

	/*------------------------------ メイン画像 ----------*/
	.main_photo_result {
		max-width:100%;
		margin:20% auto 5% auto;
		display: block;
	}
	
	/*------------------------------ グランプリタイトル ----------*/
	#grandprix p.ttl-gdpx {
		margin: 0 auto 10% auto;
		text-align: center;
		width:70%;
	}
	#grandprix p.ttl-gdpx img {
		width:100%;
		height:auto;
	}
	
	/*------------------------------ グランプリエリア ----------*/
	.bx-gdpx {
		margin: 0 auto 10% auto;
		width:90%;
	}
	.bx-gdpx img {
		padding: 2%;
		margin: 0 auto 6% auto;
		max-width:100%;
	}
	.bx-gdpx dl {
		width:100%;
	}
	.bx-gdpx dl dt {
		font-size: 22px;
		margin-bottom:4%;
	}
	.bx-gdpx dl dd {
		font-size: 16px;
	}
	
	/*------------------------------ 準グランプリエリア ----------*/
	.bx-gdpx-sec {
		display: block;
		width:90%;
		margin: 0 auto 10% auto;
	}
	.bx-gdpx-sec div:first-child {
		width:100%;
		margin-bottom: 10%;
	}
	.bx-gdpx-sec div:last-child {
		width:100%;
	}
	.bx-gdpx-sec img {
		padding: 2%;
		margin: 0 auto 6% auto;
		max-width:100%;
	}
	.bx-gdpx-sec dl {}
	.bx-gdpx-sec dl dt {
		font-size: 16px;
		margin-bottom: 4%;
	}
	.bx-gdpx-sec dl dd {
		font-size: 14px;
	}

	ul.list-gdpx {
		display: block;
		width:100%;
		margin: 0 auto;
	}
	ul.list-gdpx li {
		position: relative;
		display: block;
		width:100%;
		padding:4%;
		background: #fff;
		border-right:none;
	}
	ul.list-gdpx li img {
		width:30%;
		height: auto;
	}
	ul.list-gdpx li dl {
		width:100%;
	}
	ul.list-gdpx li dl dt {
		position: absolute;
		top:20px;
		left:35%;
		width:65%;
	}
	ul.list-gdpx li dl dd {
		margin-top:3%;
	}
	ul.list-gdpx li dl dd span {
		margin-top:2%;
	}
	.ttl-gdpx-tokusen,
	.ttl-gdpx-tokubetu,
	.ttl-gdpx-sponsor {
		line-height: 60px;
		font-size: 20px;
		width:100%;
	}
	.bx-message {
		margin: 0 auto 10% auto;
		line-height: 180%;
		font-size: 20px;
		width:100%;
		padding: 8% 4%;
		-webkit-box-shadow: 0 5px 0 rgba(0,0,0,0.10);
				box-shadow: 0 5px 0 rgba(0,0,0,0.10);
	}
	
}