@charset 'UTF-8';

/** |READ ME| **************************************************************************************

theme_sp.css
Ver.202101

----------------------------------------------------------------------------------------------------

01. HTML初期化
02. メニュー
03. コンテンツ
04. フリップフロップ
05. フッター

************************************************************************************** |READ ME| **/





/** |01. HTML初期化| >> *************************************************************** >> START **/


* {font-size: inherit;}

hr {display: none;}

body, header, main, footer, section, article, aside, menu, nav,
address, div, h1, h2, h3, h4, h5, h6, p, hr,
ul, ol, li, dl, dt, dd, table, th, td, figure, figcaption {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 1;
	margin: 0;
	padding: 0;
}

header, main, footer, section, article, aside, nav, figure {display: block;}

html {font-size: 62.5%;/* 10px = 1rem */}

@media screen and (max-width: 414px) {
	html {font-size: 40%;}
}

@media screen and (max-width: 320px) {
	html {font-size: 36%;}
}

body {/* 640px = 100% */
	background-color: #fff;
	color: #000;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', Osaka, sans-serif;
	-moz-font-feature-settings: 'pkna' 1;
	-webkit-font-feature-settings: 'pkna' 1;
	font-feature-settings: 'pkna' 1;
	font-size: 2.2rem;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}

table {border-collapse: collapse;}

table, th, td, img, iframe {border: none;}

address {font-style: normal;}

li {list-style: none;}

img {
	height: auto;
	vertical-align: top;
	width: 100%;
}

ruby {white-space: nowrap;}

rt {
	font-size: 0.5em;
	letter-spacing: -0.05em;
	line-height: 1;
	text-indent: 0;
}


.clearfix {zoom: 1;}

.clearfix::after {
	clear: both;
	content: '';
	display: block;
}


/** |01. HTML初期化| << ***************************************************************** << END **/





/** |02. メニュー| >> ***************************************************************** >> START **/


	/** [インデックス開閉] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

	.menu {
		margin: 1.88% 0.94% 0 0;/* 12px 6px 0 0 */
		position: fixed;
		right: 0;
		top: 0;
		width: 11.56%;/* 74px */
		z-index: 900;
	}


	/** [インデックス] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

	.index {
		background-color: #8dc11f;
		bottom: 0;
		height: 100%;
		left: 0;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 900;
	}


		/* 関連リンク */
		.index .close {
			margin: 1.88% 0 0 87.5%;/* 12px 0 0 560px */
			width: 11.56%;/* 74px */
		}


		/* インデックス */
		.index .list {
			border-bottom: 2px solid #fff;
			margin-top: 1.56%;/* 10px */
		}

			.index .list li {
				border-top: 2px solid #fff;
				color: #fff;
				font-size: 3.8rem;
				font-weight: bold;
				letter-spacing: 0.1em;
			}

				.index .list a {
					color: inherit;
					display: block;
					padding: 4.69%;/* 30px */
					text-decoration: none;
				}


		/* 関連リンク */
		.index .aside {
			margin: 0 auto;
			padding: 5.94% 0;/* 38px 0 */
			width: 90.63%;/* 580px */
		}


/** |02. メニュー| << ******************************************************************* << END **/





/** |03. コンテンツ| >> *************************************************************** >> START **/


.contents {border-top: #8dc11f 8px solid;}


	/** [ホーム] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

	.home {}


		/** [ヘッダー] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.home .site {padding: 3.75% 0 3.44%;/* 24px 0 22px */}

			.home .site .theme {
				margin: 0 auto;
				width: 90.63%;/* 580px */
			}

			.home .site .applications {
				background: url(../img/sp/st_bg_applications.jpg) no-repeat 0 0;
				background-size: 100% auto;
			}

				.home .site .applications dt {
					font-size: 3rem;
					line-height: 1.53;
					margin: 0 auto;
					padding: 6.56% 0 1.88%;/* 42px 0 12px */
					text-align: center;
					width: 90.63%;/* 580px */
				}

				.home .site .applications dd {
					background-color: #fffbeb;
					font-size: 2rem;
					letter-spacing: 0.02em;
					line-height: 1.53;
					margin: 0 auto;
					padding: 2.5%;/* 16px */
					text-align: center;
					width: 81.25%;/* 520px */
				}

			.home .site .magazine {
				align-items: center;
				display: flex;
				justify-content: center;
				margin: 0 auto;
				padding-top: 4.38%;/* 28px */
				width: 90.63%;/* 580px */
			}

				.home .site .magazine::before {
					background: url(../img/sp/st_ico_magazine.gif) no-repeat 0 0;
					background-size: 100% auto;
					content: '';
					height: 0;
					padding-top: 6.21%;/* 36px */
					width: 7.93%;/* 46px */
				}

				.home .site .magazine::after {
					background: url(../img/sp/st_ico_pdf.gif) no-repeat 0 0;
					background-size: 100% auto;
					content: '';
					height: 0;
					padding-top: 7.24%;/* 42px */
					width: 6.21%;/* 36px */
				}

				.home .site .magazine a {
					color: #000;
					font-size: 2rem;
					letter-spacing: 0.02em;
					line-height: 1.5;
					margin: 0 1.72%;/* 0 10px */
					text-decoration: none;
				}


		/** [団体の部] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.home .group {}

			.home .group .title {
				background-color: #8dc11f;
				color: #fff;
				font-size: 3.2rem;
				font-weight: bold;
				letter-spacing: 0.1em;
				padding: 5.31%;/* 34px */
				text-align: center;
			}

			.home .group .first {
				background: url(../img/sp/grp_bg_confetti.jpg) no-repeat 0 0;
				background-size: 100% auto;
				padding-top: 4.38%;/* 28px */
			}

				.home .group .first .winner {
					font-size: 3.2rem;
					letter-spacing: 0.01em;
					text-align: center;
				}

					.home .group .first .winner .ranking {
						align-items: center;
						color: #dbad00;
						display: flex;
						justify-content: center;
						margin-bottom: 6.25%;/* 40px */
					}

						.home .group .first .winner .ranking::before {
							background: url(../img/sp/grp_ico_1st.png) no-repeat 0 0;
							background-size: 100% auto;
							content: '';
							display: block;
							height: 0;
							margin-right: 3.75%;/* 24px */
							padding-top: 12.81%;/* 82px */
							width: 17.81%;/* 114px */
						}

					.home .group .first .winner .name {
						margin: 0 auto;
						width: 85.94%;/* 550px */
					}

				.home .group .first .works {
					margin: 0 auto;
					padding-top: 7.5%;/* 48px */
					width: 71.88%;/* 460px */
				}

				.home .group .first > .photo {
					margin: 0 auto;
					padding-top: 8.13%;/* 52px */
					width: 90.63%;/* 580px */
				}

				.home .group .first .comment {/* 580px */
					background-color: #fffbeb;
					margin-top: 8.13%;/* 52px */
					padding: 1.88% 4.69% 10%;/* 12px 30px 64px */
				}
					.home .group .first .comment .prop {}

						.home .group .first .comment .label {
							font-size: 2.8rem;
							font-weight: bold;
							letter-spacing: 0.1em;
							line-height: 1.61;
							margin-top: 7.59%;/* 44px */
						}

							.home .group .first .comment .label::after {
								background: url(../img/sp/cmn_bg_line01.gif) repeat-x 0 0;
								background-size: auto 2px;
								content: '';
								display: block;
								height: 2px;
								margin-top: 1.72%;/* 10px */
								width: 100%;/* 580px */
							}

						.home .group .first .comment div.text {padding-top: 4.14%;/* 24px */}

							.home .group .first .comment div.text p {
								letter-spacing: 0.05em;
								line-height: 1.64;
								padding-top: 1em;
							}

							.home .group .first .comment div.text p:first-of-type {padding-top: 0;}

						.home .group .first .comment .photo {padding-top: 6.55%;/* 38px */}

						.home .group .first .comment p.text {
							letter-spacing: 0.05em;
							line-height: 1.64;
							padding-top: 1em;
						}

			.home .group .others {
				padding: 10.94% 0 2.5%;/* 70px 0 16px */
				text-align: center;
			}

				.home .group .others .label {
					align-items: center;
					display: flex;
					font-size: 2.8rem;
					font-weight: bold;
					justify-content: center;
					padding: 3.44%;/* 22px */
				}

				.home .group .others .label.second {
					background-color: #f9f9f9;
					color: #807f7f;
				}

					.home .group .others .label::before {
						background: no-repeat 0 0;
						background-size: 100% auto;
						content: '';
						display: block;
						height: 0;
						margin-right: 2.81%;/* 18px */
						padding-top: 11.56%;/* 74px */
						width: 15.94%;/* 102px */
					}

					.home .group .others .label.second::before {background-image: url(../img/sp/grp_ico_2nd.jpg);}

				.home .group .others .list {/* 580px */
					display: inline-block;
					padding: 0.94% 4.69% 5.63%;/* 6px 30px 36px */
					text-align: left;
				}

					.home .group .others .list li {padding-top: 3.79%;/* 22px */}

						.home .group .others .list dl {
							align-items: center;
							display: flex;
						}

							.home .group .others .list dl > * {
								font-size: 2.6rem;
								letter-spacing: -0.02em;
								line-height: 1.38;
							}

							.home .group .others .list dd {
								padding-left: 0.2em;
								white-space: nowrap;
							}

							.home .group .others .list .prefecture {font-size: 2.2rem;padding-left: 0;}

								.home .group .others .list span {font-size: 2.2rem;}


		/** [個人の部] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.home .person {}

			.home .person .title {
				background-color: #8dc11f;
				color: #fff;
				font-size: 3.2rem;
				font-weight: bold;
				letter-spacing: 0.1em;
				padding: 5.31%;/* 34px */
				text-align: center;
			}

			.home .person .first {
				background: url(../img/sp/prs_bg_confetti.jpg) no-repeat 0 0;
				background-size: 100% auto;
				padding-top: 3.13%;/* 20px */
			}

				.home .person .first .winner {
					font-size: 2.8rem;
					letter-spacing: 0.1em;
					text-align: center;
				}

					.home .person .first .winner .ranking {
						align-items: center;
						color: #dbad00;
						display: flex;
						font-size: 3.2rem;
						justify-content: center;
						margin-bottom: 4.06%;/* 26px */
					}

						.home .person .first .winner .ranking::before {
							background: url(../img/sp/prs_ico_1st.png) no-repeat 0 0;
							background-size: 100% auto;
							content: '';
							display: block;
							height: 0;
							margin-right: 3.75%;/* 24px */
							padding-top: 14.06%;/* 90px */
							width: 9.38%;/* 60px */
						}

					.home .person .first .winner .name {
						display: inline-block;
						line-height: 1.34;
						text-align: left;
					}

						.home .person .first .winner .name .fullname {
							font-size: 3rem;
							display: block;
						}

							.home .person .first .winner .name .fullname span {font-size: 2.8rem;}

						.home .person .first .winner .name .prefecture {white-space: nowrap;}

				.home .person .first .work {
					margin: 4.69% auto 0;/* 30px auto 0 */
					width: 90.63%;/* 580px */
				}

					.home .person .first .work th {vertical-align: center;}

					.home .person .first .work th:first-of-type {
						padding-right: 4.83%;/* 28px */
						width: 49.31%;/* 286px */
					}

						.home .person .first .work th a {transition: opacity 0.5s;}

						.home .person .first .work th a:hover {opacity: 0.5;}

					.home .person .first .work td {
						font-size: 1.6rem;
						font-weight: bold;
						letter-spacing: 0.02em;
						line-height: 1.88;
						padding-top: 0.5em;
						text-align: center;
					}

					.home .person .first .work td:first-of-type {padding-right: 4.83%;/* 28px */}

				.home .person .first .comment {/* 580px */
					background-color: #fffbeb;
					margin-top: 10.31%;/* 66px */
					padding: 1.88% 4.69% 10%;/* 12px 30px 64px */
				}

					.home .person .first .comment .label {
						font-size: 2.8rem;
						font-weight: bold;
						letter-spacing: 0.1em;
						line-height: 1.61;
						margin-top: 7.59%;/* 44px */
					}

						.home .person .first .comment .label::after {
							background: url(../img/sp/cmn_bg_line01.gif) repeat-x 0 0;
							background-size: auto 2px;
							content: '';
							display: block;
							height: 2px;
							margin-top: 1.72%;/* 10px */
							width: 100%;/* 580px */
						}

					.home .person .first .comment .text {
						letter-spacing: 0.05em;
						line-height: 1.64;
						padding-top: 4.14%;/* 24px */
					}

			.home .person .second {padding-top: 7.19%;/* 46px */}

				.home .person .second .label {
					align-items: center;
					background-color: #f9f9f9;
					color: #807f7f;
					display: flex;
					font-size: 2.8rem;
					font-weight: bold;
					justify-content: center;
					padding: 1.25% 3.44%;/* 8px 22px */
				}

					.home .person .second .label::before {
						background: url(../img/sp/prs_ico_2nd.jpg) no-repeat 0 0;
						background-size: 100% auto;
						content: '';
						display: block;
						height: 0;
						margin-right: 2.81%;/* 18px */
						padding-top: 13.13%;/* 84px */
						width: 8.75%;/* 56px */
					}

					.home .person .second .label::after {
						content: '（各学年2名）';
						display: inline;
						font-size: 1.4rem;
					}

				.home .person .second .works {
					margin: 0 auto;
					width: 90.63%;/* 580px */
				}

					.home .person .second .works li {
						float: left;
						padding-top: 7.93%;/* 46px */
						width: 48.97%;/* 284px */
					}

					.home .person .second .works li:nth-of-type(odd) {clear: both;}
					.home .person .second .works li:nth-of-type(even) {float: right;}

						.home .person .second .works .work {text-align: center;}

							.home .person .second .works .work dt {
								font-size: 2rem;
								font-weight: bold;
								letter-spacing: 0.1em;
								line-height: 1.33;
							}

								.home .person .second .works .work .from {
									display: inline-block;
									font-size: 1.8rem;
									font-weight: normal;
									margin-top: 3.52%;/* 10px */
								}

							.home .person .second .works .work dd {padding-top: 2.82%;/* 8px */}

								.home .person .second .works .work figure {}

									.home .person .second .works .work a {
										border: 1px solid #d2d2d2;
										-moz-box-sizing: border-box;
										-webkit-box-sizing: border-box;
										box-sizing: border-box;
										display: block;
										width: 100%;/* 284px */
									}

										.home .person .second .works .work img {transition: opacity 0.5s;}

										.home .person .second .works .work img:hover {opacity: 0.5;}

									.home .person .second .works .work figcaption {
										align-items: center;
										display: flex;
										font-size: 1.8rem;
										font-weight: bold;
										justify-content: center;
										letter-spacing: 0.1em;
										line-height: 1.33;
										margin-top: 6.34%;/* 18px */
										text-align: center;
									}

						.home .person .second .works .comment {
							background-color: #fffbeb;
							border-radius: 3.52%;/* 10px */
							font-size: 1.8rem;
							margin-top: 4.93%;/* 14px */
							padding: 7.04% 7.04% 5.63%;/* 20px 20px 16px */
						}

							.home .person .second .works .comment dt {font-weight: bold;}

								.home .person .second .works .comment dt::after {
									background: url(../img/sp/cmn_bg_line02.gif) repeat-x 0 0;
									background-size: auto 1px;
									content: '';
									display: block;
									height: 1px;
									margin-top: 1.64%;/* 4px */
									width: 100%;/* 244px */
								}

							.home .person .second .works .comment dd {
								line-height: 1.53;
								padding-top: 4.1%;/* 10px */
							}

			.home .person .third {padding-top: 7.19%;/* 46px */}

				.home .person .third .label {
					align-items: center;
					background-color: #fff1df;
					color: #934601;
					display: flex;
					font-size: 2.8rem;
					font-weight: bold;
					justify-content: center;
					padding: 1.25% 3.44%;/* 8px 22px */
				}

					.home .person .third .label::before {
						background: url(../img/sp/prs_ico_3rd.jpg) no-repeat 0 0;
						background-size: 100% auto;
						content: '';
						display: block;
						height: 0;
						margin-right: 2.81%;/* 18px */
						padding-top: 13.13%;/* 84px */
						width: 8.75%;/* 56px */
					}

				.home .person .third .works {
					margin: 0 auto;
					width: 90.63%;/* 580px */
				}

					.home .person .third .works .work {
						float: left;
						padding-top: 7.93%;/* 46px */
						text-align: center;
						width: 48.97%;/* 284px */
					}

					.home .person .third .works .work:nth-of-type(odd) {clear: both;}
					.home .person .third .works .work:nth-of-type(even) {float: right;}

						.home .person .third .works .work dt {
							font-size: 2rem;
							font-weight: bold;
							letter-spacing: 0.1em;
							line-height: 1.33;
						}

							.home .person .third .works .work .from {
								display: inline-block;
								font-size: 1.8rem;
								font-weight: normal;
								margin-top: 3.52%;/* 10px */
							}

						.home .person .third .works .work dd {padding-top: 2.82%;/* 8px */}

							.home .person .third .works .work figure {}

								.home .person .third .works .work a {
									border: 1px solid #d2d2d2;
									-moz-box-sizing: border-box;
									-webkit-box-sizing: border-box;
									box-sizing: border-box;
									display: block;
									width: 100%;/* 284px */
								}

									.home .person .third .works .work img {transition: opacity 0.5s;}

									.home .person .third .works .work img:hover {opacity: 0.5;}

									.home .person .third .works .work figcaption {
										align-items: center;
										display: flex;
										font-size: 1.8rem;
										font-weight: bold;
										justify-content: center;
										letter-spacing: 0.1em;
										line-height: 1.33;
										margin-top: 6.34%;/* 18px */
										text-align: center;
									}

					.home .person .third .works .comment {
						background-color: #fffbeb;
						border-radius: 1.72%;/* 10px */
						float: left;
						font-size: 1.8rem;
						margin-top: 7.93%;/* 46px */
						padding: 3.45% 3.45% 2.76%;/* 20px 20px 16px */
					}

						.home .person .third .works .comment dt {font-weight: bold;}

							.home .person .third .works .comment dt::after {
								background: url(../img/sp/cmn_bg_line02.gif) repeat-x 0 0;
								background-size: auto 1px;
								content: '';
								display: block;
								height: 1px;
								margin-top: 0.74%;/* 4px */
								width: 100%;/* 540px */
							}

						.home .person .third .works .comment dd {
							line-height: 1.53;
							padding-top: 1.85%;/* 10px */
						}


		/** [コンクール事務局より] >> +++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.home .office {
			background-color: #fffbeb;
			margin-top: 13.13%;/* 84px */
			padding-bottom: 10.94%;/* 70px */
		}

			.home .office .prop {}

				.home .office .title {
					align-items: center;
					background: url(../img/sp/cmn_bg_line01.gif) repeat-x 0 100%;
					background-size: 1.88% auto;/* 12px auto */
					color: #89c805;
					display: flex;
					font-size: 3.2rem;
					font-weight: bold;
					justify-content: center;
					letter-spacing: 0.1em;
					padding: 2.19% 0 2.5%;/* 14px 0 16px */
				}

					.home .office .title::before {
						background: url(../img/sp/off_img_title.gif) no-repeat 0 0;
						background-size: 100% auto;
						content: '';
						height: 0;
						padding-top: 12.5%;/* 80px */
						width: 13.44%;/* 86px */
					}

				.home .office .text {
					margin: 0 auto;
					width: 90.63%;/* 580px */
				}

					.home .office .text p {
						line-height: 1.64;
						padding-top: 5.17%;/* 30px */
					}

					.home .office .text p + p {padding-top: 6.21%;/* 36px */}

				.home .office .photo {
					margin: 0 auto;
					padding-top: 6.88%;/* 44px */
					width: 90.63%;/* 580px */
				}

				.home .office .photos {
					margin: 0 auto;
					text-align: center;
					width: 90.63%;/* 580px */
				}

					.home .office .photos ul {font-size: 0;}

						.home .office .photos ul::before {
							background: url(../img/sp/off_img_photo.jpg) no-repeat 0 0;
							background-size: 100% auto;
							content: '';
							display: inline-block;
							height: 0;
							margin-top: 2.76%;/* 16px */
							padding-top: 32.41%;/* 188px */
							width: 48.62%;/* 282px */
							vertical-align: top;
						}

						.home .office .photos li {
							display: inline-block;
							margin: 2.76% 0 0 2.76%;/* 16px 0 0 16px */
							width: 48.62%;/* 282px */
						}

						.home .office .photos li:nth-of-type(even) {margin-left: 0;}

					.home .office .photos figcaption {
						font-size: 1.4rem;
						letter-spacing: 0.1em;
						line-height: 1.5;
						padding-top: 4.14%;/* 24px */
					}


	/** [全作品] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

	.award {margin-bottom: -21.88%;/* -140px */}


		/** [最優秀賞校] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.award .best {
			background: url(../img/sp/awr_bg_confetti.jpg) no-repeat 0 0;
			background-size: 100% auto;/* 640px auto */
			padding-top: 5.63%;/* 36px */
			text-align: center;
		}

			.award .best .name {
				font-size: 3.2rem;
				font-weight: normal;
				letter-spacing: 0.1em;
			}

				.award .best .name .first {
					align-items: center;
					color: #dbad00;
					display: flex;
					font-weight: bold;
					justify-content: center;
					margin-bottom: 4.06%;/* 26px */
				}

					.award .best .name .first::before {
						background: url(../img/sp/awr_ico_trophy.png) no-repeat 0 0;
						background-size: 100% auto;
						content: '';
						display: block;
						height: 0;
						margin-right: 3.75%;/* 24px */
						padding-top: 12.81%;/* 82px */
						width: 17.81%;/* 114px */
					}

					.award .best .name br {display: none;}

				.award .best .name .prefecture {font-size: 2.8rem;}


		/** [作品リスト] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.award .works {padding: 5.31% 0 11.56%;/* 34px 0 74px */}

			.award .works .number {
				background-color: #fffbeb;
				color: #8dc11f;
				font-size: 3rem;
				font-weight: normal;
				letter-spacing: 0.1em;
				text-align: center;
				padding: 3.13% 3.13% 2.5%;/* 20px 20px 16px */
			}

			.award .works .list {
				display: flex;
				flex-wrap: wrap;
				margin: 0 auto;
				padding-top: 0.63%;/* 4px */
				width: 90.63%;/* 580px */
			}

				.award .works .list li {
					margin: 4.14% 0 0 2.93%;/* 24px 0 0 px */
					width: 31.38%;/* 182px */
				}

				.award .works .list li:nth-of-type(3n+1) {margin-left: 0;}

					.award .works .list dl {}

						.award .works .list dt {
							background-color: #eee;
							border: 1px solid #d2d2d2;
							height: 0;
							padding-top: 100%;/* 182px */
							position: relative;
							width: 100%;/* 182px */
						}

							.award .works .list dt a {
								bottom: 0;
								height: 100%;/* 180px */
								left: 0;
								margin: auto;
								position: absolute;
								right: 0;
								top: 0;
								transition: opacity 0.5s;
								width: 100%;/* 180px */
							}

							.award .works .list dt a:hover {opacity: 0.5;}

						.award .works .list dd {
							font-size: 1.4rem;
							line-height: 1.29;
							padding-top: 1em;
							text-align: center;
						}


		/** [TOPへ戻る] >> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

		.award .top {
			position: relative;
			z-index: 100;
		}

			.award .top::before {
				background: url(../img/sp/awr_bg_line.gif) repeat-x 0 0;
				background-size: 1.88% auto;/* 12px auto */
				content: '';
				display: block;
				height: 0;
				margin-bottom: 9.38%;/* 60px */
				padding-top: 0.31%;/* 2px */
				width: 100%;/* 640px */
			}

			.award .top a {
				display: block;
				margin-left: 4.69%;/* 30px */
				transition: opacity 0.5s;
				width: 45.31%;/* 290px */
			}

			.award .top a:hover {opacity: 0.5;}

	/** [モーダルウィンドウ] >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> START **/

	.mfp-container {padding: 0 4.69%;/* 0 30px */}

		.mfp-close {cursor: pointer !important;}

		.mfp-bottom-bar {margin-top: -24px;}

			.mfp-title {/* 580px */
				background-color: #1b1b1b;
				border-radius: 10px;
				font-size: 1.5rem;
				line-height: 1.47;
				padding: 1.38%;/* 8px */
				text-align: center;
			}

		.mfp-arrow {
			cursor: pointer;
			display: block;
		}


/** |03. コンテンツ| << ***************************************************************** << END **/





/** |04. フリップフロップ| >> ********************************************************* >> START **/


.flipflop {
	height: 0;
	margin: 0 auto;
	padding-top: 31.25%;/* 200px */
	position: relative;
}

	.flipflop a {
		display: inline-block;
		left: 50%;
		position: absolute;
		margin: -10% 0 0 17.19%;/* -64px 0 0 110px */
		top: 0;
		width: 31.88%;/* 204px */
		z-index: 101;
	}

	.flipflop a:hover {
		opacity: 0.7;
		transition: opacity 0.5s;
	}

	.flipflop .fixed {
		position: fixed;
		bottom: 5.63vw;/* 36px */
		top: auto;
	}


/** |04. フリップフロップ| << *********************************************************** << END **/





/** |05. フッター| >> ***************************************************************** >> START **/


.publication {
	background-color: #8dc11f;
	color: #fff;
	padding: 2.5% 4.69%;/* 16px 30px */
	text-align: center;
	width: 100%;/* 580/640px */
}

	.publication .aside {font-size: 0;}

		.publication .aside li {
			display: inline-block;
			font-size: 2rem;
			letter-spacing: 0.1em;
			line-height: 1.5;
			padding: 0 calc(3.45% - 1px) 0 3.45%;/* 0 21px 0 20px */
			position: relative;
			z-index: 1;
		}

		.publication .aside li:first-of-type {padding-left: calc(3.45% - 1px);/* 21px */}
		_:-ms-lang(x)::-ms-backdrop, .publication .aside li:first-of-type {margin-left: 1px;}

			.publication .aside li:first-of-type::before,
			.publication .aside li::after {
				background-color: #fff;
				bottom: 0;
				content: '';
				display: block;
				height: 1em;
				margin: auto 0;
				position: absolute;
				right: 0;
				top: 0;
				width: 1px;
				z-index: 2;
			}

			.publication .aside li:first-of-type::before {
				left: 0;
				right: auto;
			}

				.publication .aside a {
					color: inherit;
					text-decoration: none;
					transition: opacity 0.5s;
				}

				.publication .aside a:hover {opacity: 0.5;}

	.publication .copyright {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
		padding-top: 6.7%;/* 40px */
	}


/** |05. フッター| << ******************************************************************* << END **/

