@charset "utf-8";

/* appimgarea（アプリDLボタン）*/
.appimgarea {
	box-sizing: border-box;
	background: #fff5bf;
	padding: 1em 1em clamp(20px, 3.125vw, 40px);
}
.appimgarea a {
	background: #E50012 url("/common_v13/img/icon/svg/arrow/ar_white.svg") no-repeat center right 12px;
	background-size: 18px auto;
	border: 2px solid #fff;
	box-shadow: 0 3px 8px rgb(0 0 0 / 15%);
	border-radius: 40px;
	color: #fff;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	margin: 0 auto;
	margin-top: clamp(15px, 3.125vw, 1em);
	padding: 15px 10px;
	text-align: center;
	text-decoration: none;
	width: 90%;
	max-width: 960px !important;
}
@media print, screen and (min-width: 1024px) {
	.appimgarea {
		margin-left: auto;
		margin-right: auto;
		padding: 0 0 clamp(20px, 3.125vw, 40px);
	}
	.appimgarea img {
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	.appimgarea a {
		max-width: none;
		font-size: 2.4rem;
		padding: 24px 0;
		border: 4px solid #FFF !important;
		background-position: center right 28px !important;
		background-size: 28px auto !important;
	}
	.appimgarea a:hover {
		text-decoration: none !important;
		opacity: 0.6;
	}
}

/* #rule（応募要項） */
#rule {
	padding: 0;
	background: #fff;
	margin-top: min(7vw, 60px);
}

#rule > * {
	max-width: 1120px;
	margin-inline: auto;
}

#rule > * h3 + * {
	margin-top: 40px;
}

#rule h3.title {
	display: block;
	text-align: center;
	font-size: 3rem;
	border-radius: 10px;
}

#rule h3 span {
	color: #000;
	border-block: 1px solid #000;
	padding: 16px 40px;
}

#rule h3.title img {
	margin-inline: auto;
}

#rule .col_red {
	color: #DF2529;
}

#rule .cam_close {
	text-decoration: line-through;
}

#rule .center {
	text-align: center;
}

#rule .underline {
	text-decoration: underline;
}

#rule .negative {
	text-decoration: line-through;
}

#rule .mini {
	font-size: 1.4rem;
}

#rule a.red {
	color: #ce1733;
	text-decoration: underline;
}

#rule .br-sp {
	display: block;
}

@media (min-width: 768px) {
	#rule .br-sp {
		display: none;
	}
}

#rule .itemLists {
	font-weight: 500;
}

#rule .itemLists > dt {
	text-align: center;
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	padding: 1em;
	border-block: 1px solid #4d4d4d;
}

#rule .itemLists > dd {
	padding: clamp(1em, 2.5vw, 2em);
}

#rule .itemLists > dd:last-of-type {
	padding-bottom: 0;
}

#rule .itemLists > dd > * + * {
	margin-top: 1.6rem;
}

#rule .itemLists > dd ul > li + li {
	margin-top: 5px;
}

#rule .itemLists > dd b {
	font-weight: 700;
}

#rule .itemLists > dd p.cam_close_font {
	color: #B81C22;
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
}

#rule .itemLists .numLists > li {
	display: flex;
	counter-increment: num;
}

#rule .itemLists .numLists > li::before {
	content: "（" counter(num) "）";
	display: block;
}

#rule .itemLists .kome li {
	text-indent: -1.6rem;
	padding-left: 1.6rem;
}

#rule .itemLists .kome.mini li {
	text-indent: -1.4rem;
	padding-left: 1.4rem;
}

#rule .itemLists .days {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
}

@media (min-width: 768px) {
	#rule .itemLists .days br {
		display: none;
	}
}

@media (min-width: 768px) {

	#rule .itemLists .font14 {
		font-size: 1.4rem;
	}

	#rule .itemLists .mt40 {
		margin-top: 40px !important;
	}

}

#rule .itemLists .appflowchart {
	width: 90%;
	max-width: 530px;
	margin: min(5vw, 40px) auto !important;
}

#rule .itemLists .insta_message {
	border: 1px solid #D23C3C;
	background: #fff;
	font-size: 1.4rem;
	padding: 20px;
}

#rule .itemLists .insta_message * {
	color: #D23C3C;
}

#rule .itemLists .insta_message > dt {
	border-bottom: 1px solid #D23C3C;
	font-weight: 700;
	padding-bottom: 8px;
}

#rule .itemLists .insta_message > dd {
	margin-top: 12px;
}

#rule .itemLists .insta_message > dd + dt {
	margin-top: 12px;
}

#rule .itemLists .insta_message > dd span {
	text-decoration: underline;
	text-decoration-color: rgb(255, 243, 131);
	text-decoration-thickness: 3px;
	text-underline-offset: 0;
}

#rule .itemLists .insta_message .check > li {
	display: flex;
	align-items: baseline;
	font-weight: 700;
}

#rule .itemLists .insta_message .check > li::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 14px;
	min-width: 10px;
	margin-right: 5px;
	background: url(../img/check_icon.png) no-repeat;
	background-size: 100%;
}

#rule .contact {
	text-align: center;
}

#rule .contact strong {
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 700;
}

#rule .contact small {
	display: block;
	text-align: center;
}

@media (min-width: 768px) {
	#rule .center_pc {
		text-align: center;
	}
}

@media print, screen and (min-width: 1024px) {
	#rule a:hover {
		text-decoration: none !important;
	}
}

