@charset "UTF-8";

article * {
  box-sizing: border-box;
}
article img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;/* 画像下のスペースを消す */
}
.link-txt {text-decoration: underline;}
/**
 * ***************************************
 * トップバナー
 * ***************************************
 */
.topbanner { margin-bottom: 3rem; }
.topbanner h1{ margin-bottom: 1rem; }
.topbanner p{ line-height: 1.2; }
.cam-txt { font-size: 1rem; text-align: center; }
.anchorLink { display: inline-block; text-align: left; margin-top: 1rem; }
.cam-txt span { display: block; margin-bottom: 0.5rem; font-weight: bold; }
.end-txt { text-align: center; color: #EF3232; font-size: 1.5rem; font-weight: bold; }
.link-banner { margin: 0 auto; }
.link-banner　img{ max-width: 100%; text-align: center; }
.camArea { width: 90%; margin: 0 auto; border: 1px dotted #287191; padding: 1rem; text-align: center; }
/**
 * ***************************************
 * メイン
 * ***************************************
 */
.mainArea { width: 90%; max-width: 990px; margin: 0 auto 2rem; }
.areaTitle { width: 90%; margin: 0 auto 1rem; font-size: 1.7rem; font-weight: bold; color: #ff9204; text-align: center; line-height: 1.2; }
.howToBlock { background: #287191; padding: 1rem; border-radius: 0.5rem; margin-bottom: 3rem; }
.howToBlock p.title { color: #fff; text-align: center; font-size: 1.5rem; font-weight: bold; }
.howToBlock p.note { color: #fff; text-align: center; font-size: 1.2rem; font-weight: bold; line-height: 1.2; }
.howToBlock ol { margin: 1rem auto; }
.howToBlock ol li { background: #fff; padding: 1rem; border-radius: 0.5rem; margin-bottom: 1rem; }
.howToBlock ol li:last-child, .howToBlock ol li:last-child p { margin-bottom: 0; }
.howToBlock ol li p { display: flex; font-size: 1.2rem; color: #287191; line-height: 1.2; margin-bottom: 1rem; }
.howToBlock ol li p span { margin-right: 0.5rem; }
.btnBlock { text-align: center; }
.btnBlock a { display: inline-block; width: 17rem; padding: 1rem; font-size: 1.2rem; font-weight: bold;
    border: 1px solid #c7c7c7; border-radius: 0.5rem; background: #56D6FF; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16); }
.btnBlock a:hover { opacity: .6;}
.btnBlock.premium p { font-size: 1.2rem; margin-bottom: 0.5rem; }
.btnBlock.premium a { display: inline-block; width: 17rem; padding: 1rem; font-size: 1.2rem; font-weight: bold;
    border: 1px solid #c7c7c7; border-radius: 0.5rem; background: #ff9204; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16); }
.premiumBlock, .titleBlock, .specialBlock { margin: 0 auto 3rem; }
.premiumBlock p { color: #287191; font-size: 1.2rem; line-height: 1.2; text-align: center; margin-bottom: 1rem; }
.blockTitle { margin: 0 auto 1rem; text-align: center; }
.blockTitle p { display: inline-block; padding: 0 1rem 0.5rem; font-size: 1.5rem; font-weight: bold; border-bottom: 2px dotted #287191; color: #287191; margin-bottom: 0; }
.titleBlock ul { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 1.5rem; }
.titleBlock .thum img { width: 100%; }
.titleBlock .titleLink { margin-top: 0.5rem; }
.titleBlock .titleLink a { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box; overflow: hidden; font-size: 1rem; line-height: 1.2; word-break: normal; }
.specialBlock ul { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 1.5rem; }
@media (max-width: 568px) {
    .titleBlock ul { grid-template-columns: repeat(2, 1fr); }
    .specialBlock ul { grid-template-columns: repeat(1, 1fr); }　
}

/**
 * ***************************************
 * リンクバナー
 * ***************************************
 */
.linkbanner { width: 80%; margin: 0 auto 2rem; }
/**
 * ***************************************
 * 応募規約
 * ***************************************
 */
.entry-agreement {
	border: solid 1px #ff9204;
	padding: 1rem 1rem 0rem 1rem;
	margin: 0 2% 2rem 2%;
}
.entry-agreement p {
	font-size: 1rem;
	margin-bottom: 1rem;
	line-height: 1.5rem;
}
.entry-agreement a {
	text-decoration: underline;
}
.entry-agreement p.caTitle { text-align: center; }
.txt-blue {
	color: #ff9204;
	font-size: 1.2rem;
	font-weight: bold;
}
.txt-red {
	color: #f00;
}
.txt-bold {
	font-weight: bold;
}