@charset "UTF-8";
/* ----------------------------- リセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
img { vertical-align: top; font-size: 0; line-height: 0; }
sup { font-size: 8px; }
em { font-style: normal; }
div:before, div:after, ul:before, ul:after, ol:before, ol:after, dl:before, dl:after { content: ""; display: block; }
div:after, ul:after, ol:after, dl:after { clear: both; }
div, ul, ol, dl { zoom: 1; }


/* ----------------------------- 全体 */
* { box-sizing: border-box; }
html { font-size: 62.5%; }
body { font-size: 16px; font-size: 1.6rem; line-height: 1.8em; color: #222222; font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: 400; background: #fff; position: relative; min-width: 1100px; letter-spacing: 0.05em; }
.l-contents { overflow: hidden; }

a:link, a:visited { color: inherit; text-decoration: none; }
a:hover, a:active { text-decoration: underline; }
a, a img { -webkit-transition: 0.2s ease all; -moz-transition: 0.2s ease all; -ms-transition: 0.2s ease all; transition: 0.2s ease all; }
a:hover img { opacity: 0.65; -ms-filter: "alpha(opacity=65)"; filter: alpha(opacity=65); }

@media screen and (min-width: 768px) { .sp-only { display: none !important; } }
@media screen and (max-width: 767px) { .pc-only { display: none !important; } }
img, .bx-wrapper img { max-width: 100%; height: auto; }

@media screen and (min-width: 768px) { a[href^="tel:"] { pointer-events: none; } }


/* ----------------------------- 1. 各ページ共通 */


/* ----------------------------- 2. トップページ */
.p-contest__kv .block1 {
	position: relative;
	text-align: center;
	color: #fff;
}
.p-contest__kv .block1 .copy {
	text-align: right;
	font-size:  14px;
	font-size:  1.4rem;
	line-height: 160%;
	text-shadow: -5px -5px 8px rgba(5,25,49,.65),
				 -5px 0 8px rgba(5,25,49,.65),
				 -5px 5px 8px rgba(5,25,49,.65),
				 0 -5px 8px rgba(5,25,49,.65),
				 0 0 8px rgba(5,25,49,.65),
				 0 5px 8px rgba(5,25,49,.65),
				 5px -5px 8px rgba(5,25,49,.65),
				 5px 0 8px rgba(5,25,49,.65),
				 5px 5px 8px rgba(5,25,49,.65);
}
.p-contest__kv .block1 .qual {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(255,255,255, .9);
	padding-top: 20px;
	padding-bottom: 20px;
}
.p-contest__kv .block1 .qual .c-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-contest__kv .block1 .qual .c-wrap p {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	gap: .5rem;
}
.p-contest__kv .block1 .qual .c-wrap:before,
.p-contest__kv .block1 .qual .c-wrap:after {display: none;}
.p-contest__kv .block1 .qual h2 {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 140%;
	background: #e87161;
	color: #fff;
	text-align: center;
	width: 158px;
	position: relative;
	margin-right: 40px;
	padding-top: 6px;
	padding-bottom: 6px;
}
.p-contest__kv .block1 .qual h2:before {
	content: "";
	display: block;
	position: absolute;
	right: -20px;
	top: 0;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left:  20px solid #e87161;
}
.p-contest__kv .block1 .qual p {
	font-size: 30px;
	font-size: 3.0rem;
	font-weight: 700;
	color: #000;
}
.p-contest__kv .block1 .qual p small {
	margin-left: 14px;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
}

.p-contest__kv .block2 {
	padding-top: 60px;
	padding-bottom: 120px;
	background-image: url(img/block-bg1.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.p-contest__kv .block2 h2 {
	text-align: center;
	font-size: 30px;
	font-size: 3.0rem;
	margin-bottom: 38px;
	font-weight: 400;
}
.p-contest__kv .block2 h2 em {
	font-weight: 700;
	background: transparent;
	background: -moz-linear-gradient(top, transparent 0%, transparent 49%, #fff100 50%, #fff100 100%);
	background: -webkit-linear-gradient(top, transparent 0%,transparent 49%,#fff100 50%,#fff100 100%);
	background: linear-gradient(to bottom, transparent 0%,transparent 49%,#fff100 50%,#fff100 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fff100',GradientType=0 );
}
.p-contest__kv .block2 .box1 {
	display: flex;
	justify-content: center;
}
.p-contest__kv .block2 .box1 dl {
	margin: 0;
	min-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.p-contest__kv .block2 .box1 dt {
	width: 100%;
	margin-bottom: 30px;
	display: inline-block;
	padding-bottom: 4px;
}
.p-contest__kv .block2 .box1 dt h3 {
	width: 100%;
	line-height: 140%;
	padding-left: 2em;
	background-position: left top;
	background-repeat: no-repeat;
	color: #e87161;
	padding-bottom: 15px;
	background-position: top left;
	background-size: 1.2em;
	border-bottom: 1px solid #dadada;
}
.p-contest__kv .block2 .box1 dt.p1 h3 {
	font-size: 33px;
	font-size: 3.3rem;
	background-image:  url(img/prize_icon1.png);
}
.p-contest__kv .block2 .box1 dt.p1 h3 small {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__kv .block2 .box1 dt.p2 h3 {
	font-size: 33px;
	font-size: 3.3rem;
	background-image:  url(img/prize_icon2.png);
}
.p-contest__kv .block2 .box1 dt.p2 h3 small {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__kv .block2 .box1 dt.p3 h3 {
	padding-left: 0;
	font-size: 25px;
	font-size: 2.5rem;
	background-image:  url(img/prize_icon3.png);
}
.p-contest__kv .block2 .box1 dt.p3 h3 small {
	font-size: 18px;
	font-size: 1.8rem;
}
.p-contest__kv .block2 .box1 dt.p3 h3 small span {
	font-size: 1.4rem;
	font-weight: 400;
	color: #000;
}
.p-contest__kv .block2 .box1 dd {margin-bottom: 60px;}
.p-contest__kv .block2 .box1 dd:last-child {margin-bottom: 0;}
.p-contest__kv .block2 .box1 dd li {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content:  space-between;
	gap: 15px;
}
.p-contest__kv .block2 .box1 dd li:last-child {margin-bottom: 0;}
.p-contest__kv .block2 .box1 dd li h4 {
	background: #fff;
	color: #000;
	font-weight: 400;
	border-radius: 4px;
	padding: 2px;
	width: 10rem;
	text-align: center;
	border: 1px solid #f7f7f7;
}
.p-contest__kv .block2 .box1 dd li p {width: calc(100% - 65px);}
.p-contest__kv .block2 .box1 dd.p1 li h4,
.p-contest__kv .block2 .box1 dd.p2 li h4 {
	font-size: 16px;
}
.p-contest__kv .block2 .box1 dd.p1 li p,
.p-contest__kv .block2 .box1 dd.p2 li p {
	font-size: 22px;
	font-weight: 700;
}
.p-contest__kv .block2 .box1 dd.p1 li p small,
.p-contest__kv .block2 .box1 dd.p2 li p small {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
}

.p-contest__kv .block3 {
	position: relative;
	padding-top: 50px;
	padding-bottom: 120px;
	background-color: #e16c5d;
}
.p-contest__kv .block3 .lead {
	position: absolute;
	left: 50%;
	top: -25px;
	transform: translateX(-50%);
	padding: 10px 30px;
	color: #e87161;
	font-weight: 700;
	border-radius: 999px;
	background-color: #fff;
	border: 2px solid #e87161;
	z-index:  1;
}
.p-contest__kv .block3 .lead .c-wrap {
	padding-left: 0;
	padding-right: 0;
}
.p-contest__kv .block3 .content {
	position: relative;
	z-index:  1;
	color:  #fff;
	text-align: center;
}
.p-contest__kv .block3 .content h2 {
	margin-bottom: 20px;
}
.p-contest__kv .block3 .content h2 img {
	display: block;
	width: 320px;
	margin: 0 auto;
}
.p-contest__kv .block3 .content p {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 15px;
}
.p-contest__kv .block3 .content p:last-child {margin-bottom: 0;}
.p-contest__kv .block3 .content p strong {
	font-size: 2em;
	color: #FFF100;
}

.p-contest__kv .block4 {padding-top: 0;}
.p-contest__kv .block4 .qual {margin-top: 0;}



.p-contest__requirement {
	background: url(img/requirement_bg1.jpg) no-repeat center;
	background-size: cover;
	color: #000;
	padding-top: 96px;
	padding-bottom: 94px;
}
.p-contest__requirement h2 {
	text-align: center;
	font-size: 35px;
	font-size: 3.5rem;
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 14px;
}
.p-contest__requirement .lead {
	text-align: center;
	margin-bottom: 60px;
}
.p-contest__requirement dl {
	margin: 0;
	padding: 25px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px solid #dadada;
}
.p-contest__requirement dl:before,
.p-contest__requirement dl:after {display: none;}
.p-contest__requirement dt {
	font-size: 20px;
	font-size: 2.0rem;
	width: 170px;
	display: flex;
}
.p-contest__requirement dt:before {
	content: "●";
	display: inline;
	vertical-align: baseline;
	color: #e87161;
	margin-right: 5px;
}
.p-contest__requirement dd {width: calc(100% - 190px);}
.p-contest__requirement dd li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
}
.p-contest__requirement dd li:last-child {margin-bottom: 0;}
.p-contest__requirement dd li h4 {
	width: 130px;
	font-weight: 700;
}
.p-contest__requirement dd li p {width: calc(100% - 130px);}
.p-contest__requirement dd li p.note {
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 10px;
}
.p-contest__requirement dd.period {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__requirement dd.period em {
	font-size: 25px;
	font-size: 2.5rem;
}
.p-contest__requirement dd.period small {
	font-size: 16px;
	font-size: 1.6rem;
}
.p-contest__requirement dd.application ul {
	margin-top: 3rem;
}
.p-contest__requirement dd.application li {
	margin-bottom: 2rem;
	align-items: flex-start;
}
.p-contest__requirement dd.application li h4 {
	background: #e87161;
	color: #fff;
	width: 200px;
	text-align: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 8px 0 8px 5px;
	position: relative;
}
.p-contest__requirement dd.application li h4:before {
	display: block;
	content: "";
	position: absolute;
	right: -12px;
	top: 0;
	border-top: 22px solid transparent;
	border-bottom: 22px solid transparent;
	border-left: 12px solid #e87161;
}
.p-contest__requirement dd.application li p {
	width: calc(100% - 230px);
}
.p-contest__requirement dd.application li p small {
	font-size: .85em;
}
.p-contest__requirement dd.application li a {
	color: #e87161;
	text-decoration: underline;
}
.p-contest__requirement dd.prize li {
	display: block;
	margin-bottom: 23px;
}
.p-contest__requirement dd.prize li h4 {width: auto;}
.p-contest__requirement dd.prize li h4 small {
	font-size: 1.4rem;
	font-weight: 400;
}
.p-contest__requirement .attention {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 150%;
	margin-top: 18px;
}
.p-contest__requirement .attention h4 {font-weight: 400;}
.p-contest__requirement .attention li {margin-bottom: 0;}
.p-contest__requirement .btn1 {
	text-align: center;
	margin-top: 48px;
	margin-bottom: 10px;
}
.p-contest__requirement .line {
	background: rgba(23,165,56,.5);
	padding: 10px;
	padding-bottom: 25px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.p-contest__requirement .line .btn1 {margin-top: 0;}
.p-contest__requirement .line p {
	text-align: center;
	margin-bottom: 10px;
}
.p-contest__requirement .line .info {
	display: flex;
	justify-content: center;
}
.p-contest__requirement .line .info ul {
	margin-left: 28px;
	font-size: 15px;
	font-size: 1.5rem;
}
.p-contest__requirement .line .info ul:first-child {margin-left: 0;}



.p-contest__benefit {
	background: url(img/benefit_bg1.jpg) no-repeat center;
	background-size: cover;
	padding-top: 122px;
	padding-bottom: 90px;
}
.p-contest__benefit .block1 {
	background: rgb(255, 255, 255, 0.9);
	color: #000;
	padding: 85px 15px 65px;
	text-align: center;
	position: relative;
}
.p-contest__benefit .block1 h2 {
	position: absolute;
	width: 100%;
	text-align: center;
	left: 0;
	top: -32px;
}
.p-contest__benefit .block1 .box1 {margin-bottom: 50px;}
.p-contest__benefit .block1 .box1:last-child {margin-bottom: 0;}
.p-contest__benefit .block1 .box1 p {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 120%;
	margin-bottom: 8px;
}
.p-contest__benefit .block1 .box1 p strong {
	font-weight: 700;
	color: #e87161;
	font-size: 40px;
	font-size: 4.0rem;
	line-height: 100%;
}
.p-contest__benefit .block1 .box1 p.t1 {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 140px;
}
.p-contest__benefit .block1 .box1 p.t1 span {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 4px;
	line-height: 120%;
}
.p-contest__benefit .block1 .box1 h3 {
	font-size: 40px;
	font-size: 4.0rem;
	line-height: 110%;
	margin-bottom: 8px;
}
.p-contest__benefit .block1 .box1 h3 small {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
}
.p-contest__benefit .block1 .box1 .btn1 {margin-top: 16px;}
.p-contest__benefit .block1 .box1 .btn1 p {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 120%;
	margin-top: 5px;
	margin-bottom: 0;
}



.p-contest__past {
	background: url(img/requirement_bg1.jpg) no-repeat center;
	background-size: cover;
	padding-top: 95px;
	padding-bottom: 55px;
	color:  #000;
}
.p-contest__past .heading {
	margin-bottom: 50px;
	text-align: center;
}
.p-contest__past .heading h2 {
	font-size: 40px;
	font-size: 4.0rem;
	line-height: 120%;
	margin-bottom: 18px;
}
.p-contest__past .heading p {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__past .heading p strong {
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: 700;
}
.p-contest__past .content .box1,
.p-contest__past .content .box2 {
	background: rgb(255,255,255,.9);
	box-shadow: 3px 5px 12px rgba(0,0,0,.075);
}
.p-contest__past .content .box1 ul,
.p-contest__past .content .box2 ul {display: flex;}
.p-contest__past .content .box1 {padding: 38px 66px 44px;}
.p-contest__past .content .box1 h3 {
	width: 100%;
	margin-bottom: 30px;
	padding: 1.2rem;
	text-align: center;
	font-size: 3.2rem;
	color: #fff;
	line-height: 1.5;
	box-sizing: border-box;
	border-radius: 4px;
	background-color: #e87161;
}
.p-contest__past .content .box1 li {
	width: 45.7380%;
	margin-left: 8.524%;
	position: relative;
}
.p-contest__past .content .box1 li:nth-child(2n+1) {margin-left: 0;}
.p-contest__past .content .box1 li .icon {
	position: absolute;
	left: -20px;
	top: -20px;
}
.p-contest__past .content .box1 li .img1 {
	text-align: center;
	margin-bottom: 12px;
}
.p-contest__past .content .box1 li .txt1 {text-align: center;}
.p-contest__past .content .box1 li .txt1 p {}
.p-contest__past .content .box1 li .txt1 p small {
	font-size: 14px;
	font-size: 1.4rem;
}
.p-contest__past .content .box1 li .txt1 h4 {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__past .content .box2 {
	margin-top: 50px;
	padding: 38px 26px 34px;
}
.p-contest__past .content .box2 h3 {
	width: 100%;
	margin-bottom: 30px;
	padding: 1.2rem;
	text-align: center;
	font-size: 2.4rem;
	color: #fff;
	line-height: 1.5;
	box-sizing: border-box;
	border-radius: 4px;
	background-color: #e87161;
}
.p-contest__past .content .box2 li {
	width: 30.2884%;
	margin-left: 4.5674%;
}
.p-contest__past .content .box2 li:nth-child(3n+1) {margin-left: 0;}
.p-contest__past .content .box2 li .img1 {
	text-align: center;
	margin-bottom: 5px;
}
.p-contest__past .content .box2 li .txt1 {text-align: center;}
.p-contest__past .content .box2 li .txt1 p {}
.p-contest__past .content .box2 li .txt1 p small {
	font-size: 14px;
	font-size: 1.4rem;
}
.p-contest__past .content .box2 li .txt1 h4 {
	font-size: 20px;
	font-size: 2.0rem;
}
.p-contest__past .btn1 {
	margin-top: 45px;
	text-align: center;
}
.p-contest__past .btn1 ul {
	display: flex;
	flex-direction: column;
	gap: 15px;
}



.p-contest__contact {
	position: relative;
	padding-top: 60px;
	padding-bottom: 70px;
	background-color: #e87161;
}
.p-contest__contact::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: .2;
	background-image: url(img/contact_bg1.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.p-contest__contact .box1 {
	position: relative;
	z-index: 2;
	background: rgb(255,255,255,.9);
	color: #000;
	padding: 38px 15px 45px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.p-contest__contact .box1:before,
.p-contest__contact .box1:after {display: none;}
.p-contest__contact .box1 h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
	color: #e87161;
}
.p-contest__contact .box1 h3 span {margin-right: 10px;}
.p-contest__contact .box1 h3 strong {font-weight: 400;}
.p-contest__contact .box1 h3 em {
	font-size: 25px;
	font-size: 2.5rem;
	font-weight: 700;
}
.p-contest__contact .box1 p span {
	display: inline-block;
	background: #222222;
	color: #fff;
	border-radius: 1px;
	padding: 0 5px;
	margin-right: 8px;
	line-height: 130%;
}



.p-contact__footer {
	text-align: center;
	padding-top: 45px;
	padding-bottom: 45px;
	border-bottom: 10px solid #e87161;
}
.p-contact__footer .box1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.p-contact__footer .box1:before,
.p-contact__footer .box1:after {display: none;}
.p-contact__footer .box1 dl {
	margin: 0;
	margin-right: 23px;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
}
.p-contact__footer .box1 dt {
	background: #000;
	color: #fff;
	font-weight: 700;
	line-height: 130%;
	padding: 1px 5px;
	margin-right: 10px;
}
.p-contact__footer .copyright {margin-top: 45px;}
.p-contact__footer .copyright p {margin-top: 8px;}



.l-fixed {
	position: fixed;
	z-index: 999;
	right: 0;
	top: 200px;
}
.l-fixed a {
	display: block;
	background: rgba(255,241,0,.8);
	border-radius: 5px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-feature-settings: "vrt2" on;
	text-decoration: none;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 700;
	padding: 30px 15px;
}



/* ----------------------------- 9. 共通パーツ */
.u-mt0 { margin-top: 0px; }
.u-mt5 { margin-top: 5px; }
.u-mt10 { margin-top: 10px; }
.u-mt15 { margin-top: 15px; }
.u-mt20 { margin-top: 20px; }
.u-mt30 { margin-top: 30px; }
.u-mt40 { margin-top: 40px; }
.u-mt50 { margin-top: 50px; }
.u-mt60 { margin-top: 60px; }
.u-mt70 { margin-top: 70px; }
.u-mt80 { margin-top: 80px; }
.u-mt90 { margin-top: 90px; }
.u-mb0 { margin-bottom: 0; }
.u-mb5 { margin-bottom: 5px; }
.u-mb10 { margin-bottom: 10px; }
.u-mb15 { margin-bottom: 15px; }
.u-mb20 { margin-bottom: 20px; }
.u-mb30 { margin-bottom: 30px; }
.u-mb40 { margin-bottom: 40px; }
.u-mb50 { margin-bottom: 50px; }
.u-mb60 { margin-bottom: 60px; }
.u-mb70 { margin-bottom: 70px; }
.u-mb80 { margin-bottom: 80px; }
.u-mb90 { margin-bottom: 90px; }
.u-pb0 { padding-bottom: 0px; }

.u-col { color: #222222; }
.u-col__red { color: #F00; }

.u-mincho { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.u-gothic { font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.u-italic { font-style: italic; }
.u-center { text-align: center !important; }
.u-center th, .u-center td { text-align: center !important; }
.u-right { text-align: right !important; }
.u-right th, .u-right td { text-align: right !important; }
.u-left { text-align: left !important; }
.u-left th, .u-left td { text-align: left !important; }

.c-wrap { max-width: 1100px; margin-left: auto; margin-right: auto; padding-left: 30px; padding-right: 30px; }
.c-wrap__800 { max-width: 800px; margin-left: auto; margin-right: auto; padding-left: 30px; padding-right: 30px; }

.c-btn1 {}

.c-title1 {}

.c-table__nostyle { width: 100%; }
.c-table__nostyle th, .c-table__nostyle td { padding: 2px 0 !important; border: 0; font-weight: normal; text-align: left; vertical-align: top; background: transparent; }

.u-indent { text-indent: -1em; padding-left: 1em; }

.u-youtube-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.u-youtube-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


@media screen and (max-width: 767px) {
	.c-wrap,
	.c-wrap__800 { padding-left: 15px; padding-right: 15px; }
	.c-btn1 {}
	.c-table__nostyle th, .c-table__nostyle td { padding: 2px 0 !important; border: 0; font-weight: normal; text-align: left; vertical-align: top; background: transparent; }
	.u-indent { text-indent: -1em; padding-left: 1em; }
}


@media screen and (max-width: 767px) {

html { font-size: 62.5%; }
body { font-size: 14px; font-size: 1.4rem; min-width: initial; }
body.fixed { width: 100%; height: 100%; position: fixed; }


.p-contest {padding-bottom: 55px;}

.p-contest__kv {background: none;}
.p-contest__kv .block1 {
	background: url(img/kv_img1.jpg) no-repeat center;
	background-size: cover;
}
.p-contest__kv .block1 .copy {
	font-size: 10px;
	font-size: 1.0rem;
}
.p-contest__kv .block1 .qual {}
.p-contest__kv .block1 .qual .c-wrap {display: block;}
.p-contest__kv .block1 .qual h2 {
	font-size: 1.6rem;
	margin-bottom: 15px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 7px;
	padding-bottom: 8px;
}
.p-contest__kv .block1 .qual h2:before {}
.p-contest__kv .block1 .qual p {
	font-size: 22px;
	font-size: 2.2rem;
}
.p-contest__kv .block1 .qual p small {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
	line-height: 140%;
	margin-top: 8px;
}

.p-contest__kv .block2 {padding: 40px 15px 100px;}
.p-contest__kv .block2 h2 {
	font-size: 24px;
	font-size: 2.4rem;
}
.p-contest__kv .block2 .box1 dl {min-width: initial;}
.p-contest__kv .block2 .box1 dt.p1 h3,
.p-contest__kv .block2 .box1 dt.p2 h3 {
	font-size: 2.4rem;
	background-size: 40px auto;
	padding-left: 60px;
}
.p-contest__kv .block2 .box1 dt.p1 h3 small,
.p-contest__kv .block2 .box1 dt.p2 h3 small {
	font-size: 16px;
	font-size: 1.6rem;
}
.p-contest__kv .block2 .box1 dd li {
	align-items: flex-start;
}
.p-contest__kv .block2 .box1 dd.p1 li p,
.p-contest__kv .block2 .box1 dd.p2 li p {
	font-size: 1.8rem;
}
.p-contest__kv .block2 .box1 dd.p1 li p small {display: block;}

.p-contest__kv .block3 {
	padding-bottom: 220px;
}
.p-contest__kv .block3 .lead {
	width: 90%;
	text-align: center;
}
.p-contest__kv .block3 .content h2 {margin-bottom: 20px;}
.p-contest__kv .block3 .content h2 img {
	width: 240px;
}
.p-contest__kv .block3 .content p strong {
	display: block;
	width: 100%;
	font-size: 1.8rem;
	line-height: 1.5;
}
.p-contest__kv .block3 .content p {
	font-size: 1.5rem;
}
.p-contest__kv .block2 .box1 dt.p3 h3 small span {
	display: block;
	width: 100%;
}



.p-contest__requirement {
	padding-top: 60px;
	padding-bottom: 60px;
}
.p-contest__requirement dl {display: block;}
.p-contest__requirement dt {
	margin-bottom: 15px;
	font-size: 18px;
	font-size: 1.8rem;
}
.p-contest__requirement dd {width: 100%;}
.p-contest__requirement dd li {
	display: block;
	margin-bottom: 15px;
}
.p-contest__requirement dd li p {width: 100%;}
.p-contest__requirement dd.period {
	font-size: 16px;
	font-size: 1.6rem;
}
.p-contest__requirement dd.period em {
	font-size: 21px;
	font-size: 2.1rem;
}
.p-contest__requirement dd.application p {margin-bottom: 10px;}
.p-contest__requirement dd.application li h4 {
	padding-top: 9px;
	padding-bottom: 9px;
	margin-bottom: 10px;
}
.p-contest__requirement dd.application li p {
	margin-bottom: 0;
	width: 100%;
}
.p-contest__requirement .attention {
	font-size: 12px;
	font-size: 1.2rem;
}
.p-contest__requirement .line .info {
	flex-direction: column;
	align-items: center;
}
.p-contest__requirement .line .info ul {
	margin-left: 0;
	min-width: 220px;
}



.p-contest__benefit {
	padding-top: 80px;
	padding-bottom: 60px;
}
.p-contest__benefit .block1 {
	padding-top: 70px;
	padding-bottom: 50px;
}
.p-contest__benefit .block1 .box1 h3 {
	font-size: 28px;
	font-size: 2.8rem;
}
.p-contest__benefit .block1 .box1 p.t1 {
	flex-direction: column;
	padding-left: 0;
}
.p-contest__benefit .block1 .box1 p.t1 span {
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 10px;
}
.p-contest__benefit .block1 .box1 p strong {
	font-size: 28px;
	font-size: 2.8rem;
}
.p-contest__benefit .block1 .box1 .btn1 p {
	font-size: 12px;
	font-size: 1.2rem;
}


.p-contest__past {
	padding-top: 70px;
	padding-bottom: 50px;
}
.p-contest__past .heading {margin-bottom: 30px;}
.p-contest__past .heading h2 {
	font-size: 30px;
	font-size: 3.0rem;
}
.p-contest__past .heading p {font-size: 1.6rem;}
.p-contest__past .heading p strong {font-size: 2.6rem;}
.p-contest__past .content .box1 {
	padding: 25px 15px;
}
.p-contest__past .content .box1 h3 {
	font-size: 2srem;
	margin-bottom: 30px;
}
.p-contest__past .content .box1 h3 span {
	padding-left: 55px;
	background-size: 40px auto;
}
.p-contest__past .content .box2 {
	padding: 25px 15px;
}
.p-contest__past .content .box2 h3 {font-size: 2.0rem;}
.p-contest__past .content .box1 ul,
.p-contest__past .content .box2 ul {display: block;}
.p-contest__past .content .box1 li,
.p-contest__past .content .box2 li {
	width: auto;
	text-align: center;
	margin-bottom: 30px;
	margin-left: 0;
}
.p-contest__past .content .box1 li:last-child,
.p-contest__past .content .box2 li:last-child {margin-bottom: 0;}
.p-contest__past .content .box1 li .icon {
	width: 80px;
	height: 80px;
	left: -20px;
	top: -20px;
}


.p-contact__footer .box1 {
	text-align: left;
	justify-content: flex-start;
}
.p-contact__footer .box1 dl {display: block;}
.p-contact__footer .box1 dt {display: inline-block;}


.l-fixed {
	right: 0;
	bottom: 0;
	top: auto;
	width: 100%;
}
.l-fixed a {
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	font-feature-settings: normal;
	border-radius: 0;
	font-size: 1.7rem;
	padding-top: 5px;
	padding-bottom: 5px;
	text-align: center;
}
.l-fixed span {
	display: inline-block;
	background-position: right center;
	background-size: 25px auto;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 35px;
}


}