@charset "UTF-8";

/* CSS Document */
/* ハロウィンまちがい探しキャンペーン 2024/09 */
#halloween2024 {
	background-color: #fff;
	color: #1f1f1f;
	display: block;
	font-family: "YakuHanJP_Noto", "Roboto", "Noto Sans JP", sans-serif;
	margin: 0 auto 40px;
	max-width: 640px;
	width: 100%;
}

#halloween2024 p,
#halloween2024 a,
#halloween2024 span,
#halloween2024 div,
#halloween2024 ul,
#halloween2024 li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

#halloween2024 a {
	text-decoration: none;
}

#halloween2024 .h1 {
	text-align: center;
}

/*メインビジュアル*/
#halloween2024 .mv_area img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

#halloween2024 .catch {
	margin: 8% auto 0;
	width: 65%;
}

#halloween2024 .catch img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

/*間違い探し*/
#halloween2024 .difference {
	column-gap: 10px;
	display: grid;
	grid-auto-flow: column;
	margin: 3% auto;
	width: 95%;
}

#halloween2024 .difference img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

#halloween2024 .difference01 {
	margin: 0 auto;
}

#halloween2024 .difference02 {
	margin: 0 auto;
	position: relative;
}

#halloween2024 .area1 {
	background: #f00;
	cursor: pointer;
	height: 10%;
	left: 55.1%;
	opacity: 0;
	position: absolute;
	top: 15.1%;
	width: 15%;
}

#halloween2024 .area2 {
	background: #f00;
	cursor: pointer;
	height: 10%;
	left: 70.1%;
	opacity: 0;
	position: absolute;
	top: 86.1%;
	width: 15%;
}

#halloween2024 .area3 {
	background: #f00;
	cursor: pointer;
	height: 10%;
	left: 9.1%;
	opacity: 0;
	position: absolute;
	top: 33.1%;
	width: 15%;
}

/*間違い探し*/
#halloween2024 .recommend {
	background: #ffa74b;
	margin: 8% auto 0;
	padding: 0 0 5%;
	width: auto;
}

#halloween2024 .recommend img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

#halloween2024 .recommend_ttl {
	background: url(/special/halloween2024/img/bg.png) center top;
	background-size: contain;
	color: #fff;
	display: block;
	font-size: min(6vw, 25px);
	font-weight: 700;
	letter-spacing: 0.07em;
	padding: 2% 0;
	text-align: center;
}

#halloween2024 .box {
	background: #fff;
	border-radius: 2em;
	margin: 7% auto;
	padding: 0 0 5%;
	width: 90%;
}

#halloween2024 .box+.box {
	margin: 7% auto 0;
}

#halloween2024 .box.colorcon {
	margin: 0 auto 7%;
	background: #fff;
	border-radius: 2em;
	padding: 5% 0;
	width: 90%;
}

#halloween2024 .box_head {
	background: #711fb5;
	border-radius: 1em 1em 0 0;
	color: #fff;
	font-size: min(5.5vw, 24px);
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 0.5% 0 1%;
	text-align: center;
}

#halloween2024 .box_body {
	padding: 2% 0 0;
}

#halloween2024 .box_ttl {
	font-size: min(5vw, 24px);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
}

#halloween2024 .box_inner {
	display: flex;
	margin-inline: auto;
	padding: 1% 0 0;
	width: 80%;
}

#halloween2024 .box_inner.color {
	display: flex;
	margin-inline: auto;
	padding: 1% 0 0;
	width: 80%;
}

#halloween2024 .box_img {
	width: 47%;
}

#halloween2024 .box_img.color {
	width: 60%;
}

#halloween2024 .box_img img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

#halloween2024 .box_price_wrap {
	align-items: flex-start;
	display: flex;
	flex-flow: column;
	justify-content: end;
	padding: 0 0 3% 2%;
}

#halloween2024 .box_price_count {
	flex-flow: column;
	font-size: min(5vw, 24px);
	font-weight: 700;
	letter-spacing: 0.07em;
}

#halloween2024 .box_price_count.color {
	flex-flow: column;
	font-size: min(4.4vw, 22px);
	font-weight: 700;
	letter-spacing: 0.04em;
}

#halloween2024 .box_price {
	color: #ff6000;
	font-size: min(4vw, 20px);
	font-weight: 700;
	line-height: 1;
}

#halloween2024 .box_price em {
	font-family: roboto;
	font-size: min(12vw, 60px);
	font-style: normal;
	font-weight: 900;
}

#halloween2024 .box_link {
	background: #711fb5;
	border-radius: 2em;
	color: #fff;
	display: block;
	font-size: min(4vw, 20px);
	letter-spacing: 0.15em;
	margin: 2% auto 0;
	padding: 2% 0;
	position: relative;
	text-align: center;
	width: 85%;
}

#halloween2024 .box_link::after {
	border-right: 0.05em solid #fff;
	border-top: 0.05em solid #fff;
	content: "";
	height: 0.3em;
	position: absolute;
	right: 10%;
	top: 42%;
	-webkit-transform: translateX(0) rotate(45deg);
	transform: translateX(0) rotate(45deg);
	width: 0.3em;
}


/* カラコン */
#halloween2024 .colorcon {
	background: #ffcdea;
	padding: 5% 0;
}

#halloween2024 .colorcon_box_head {
	color: #711fb5;
	font-size: min(5.5vw, 24px);
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 0.5% 0 1%;
	text-align: center;
}

#halloween2024 .colorcon_box_link {
	background: #fa5abe;
	border-radius: 2em;
	color: #fff;
	display: block;
	font-size: min(4vw, 20px);
	letter-spacing: 0.15em;
	margin: 2% auto 0;
	padding: 2% 0;
	position: relative;
	text-align: center;
	width: 85%;
}

#halloween2024 .colorcon_box_link::after {
	border-right: 0.05em solid #fff;
	border-top: 0.05em solid #fff;
	content: "";
	height: 0.3em;
	position: absolute;
	right: 10%;
	top: 42%;
	-webkit-transform: translateX(0) rotate(45deg);
	transform: translateX(0) rotate(45deg);
	width: 0.3em;
}

/* モーダル 価格 */
.remodal {
	background: #ffa74b;
	font-family: "YakuHanJP_Noto", "Roboto", "Noto Sans JP", sans-serif;
	max-width: 500px;
	padding: 0 0 5%;
	width: auto;
}

.remodal.color {
	background: #ffcdea;
	font-family: "YakuHanJP_Noto", "Roboto", "Noto Sans JP", sans-serif;
	max-width: 500px;
	padding: 0 0 5%;
	width: auto;
}

.remodal img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

.remodal_coupon_wrap {
	padding: 0;
}

.sm_modal_close {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	color: #95979c;
	display: inline-block;
	font-size: 33px;
	font-weight: 400;
	line-height: 1;
	padding: 2px 0 0 22px;
	position: absolute;
	right: 10px;
	top: 0;
}

.remodal_logo {
	background: #fff;
	padding: 5% 0;
	width: 100%;
}

.remodal_logo img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: 30%;
}

.remodal_box_wrap {
	display: grid;
	grid-column-gap: 10px;
	grid-row-gap: 10px;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(4, 1fr);
	margin: 7% auto 0;
	width: 85%;
}

.remodal_box_head {
	background: url(/special/halloween2024/img/bg.png) center top;
	background-size: contain;
	color: #fff;
	display: block;
	font-size: min(5vw, 25px);
	font-weight: 600;
	letter-spacing: 0.15em;
	padding: 1% 0;
	text-align: center;
}

.remodal_box_head.color {
	padding: 2% 0;
	font-size: min(4.1vw, 21px);
}

.remodal_box_name {
	background: #fff;
	border-radius: 2em;
	color: #000;
	display: block;
	font-size: min(4vw, 22px);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	margin: 5% auto 0;
	padding: 2% 3% 1.5%;
	position: relative;
	text-align: center;
	width: 85%;
}

.remodal_box_name.color {
	font-size: min(3.6vw, 21px);
}

.remodal_img {
	background: #ffa74b;
	padding: 5% 0;
}

.remodal_img img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: 70%;
}

.remodal_img.color {
	display: flex;
	align-items: center;
	background: #ffcdea;
}

.remodal_img.color img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

.remodal_price_wrap {
	align-items: center;
	background: #fff;
	border-radius: 1em;
	display: flex;
	flex-flow: column;
	justify-content: space-around;
	padding: 10% 0 8%;
}

.remodal_price_count {
	flex-flow: column;
	font-size: min(4.3vw, 21px);
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1;
}

.remodal_price {
	color: #ff6000;
	font-size: min(3vw, 20px);
	font-weight: 700;
	line-height: 1.4;
}

.remodal_price em {
	font-family: roboto;
	font-size: min(7vw, 42px);
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.remodal_devide {
	font-size: min(3.1vw, 17px);
	font-weight: 700;
	line-height: 1;
	padding: 2% 0;
}

.remodal_link {
	background: #711fb5;
	border-radius: 2em;
	color: #fff;
	display: block;
	font-size: min(5em, 15px);
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.8;
	margin: 2% auto 0;
	padding: 1% 0;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: 85%;
}

.color .remodal_link {
	background: #fa5abe;
}

.remodal_link::after {
	border-right: 0.05em solid #fff;
	border-top: 0.05em solid #fff;
	content: "";
	height: 0.3em;
	position: absolute;
	right: 10%;
	top: 42%;
	-webkit-transform: translateX(0) rotate(45deg);
	transform: translateX(0) rotate(45deg);
	width: 0.3em;
}

/* モーダル クーポン */
.remodal_coupon {
	background: url(/special/halloween2024/img/bg_modal.png) center top;
	background-size: contain;
	color: #fff;
	display: block;
	font-size: min(5vw, 25px);
	font-weight: 600;
	letter-spacing: 0.15em;
	padding: 5% 0 8%;
	text-align: center;
}

.coupon_ttl {
	margin: 0 auto;
	width: 85%;
}

.coupon_ttl img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

.coupon_off {
	display: block;
	margin: 5% auto 0;
	width: 90%;
}

.coupon_off img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

.coupon_link {
	background: #ff8300;
	border-radius: 2em;
	color: #fff;
	display: block;
	font-size: min(6vw, 24px);
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.8;
	margin: 5% auto 0;
	padding: 3% 0 2%;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: 85%;
}

.coupon_link.close {
	background: #fff;
	border: solid 2px #ff8300;
	color: #ff8300;
}

/* バナーエリア */

#halloween2024 .bnr_area {
	margin: 5% auto 0;
}

#halloween2024 .bnr_text {
	color: #334a79;
	font-size: min(4.4vw, 22px);
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 0.5% 0 1%;
	text-align: center;
}

#halloween2024 .bnr_ttl {
	background: url(/special/halloween2024/img/bg.png) center top;
	background-size: contain;
	color: #fff;
	display: block;
	font-size: min(6vw, 25px);
	font-weight: 700;
	letter-spacing: 0.07em;
	margin: 5% auto 0;
	padding: 2% 0;
	text-align: center;
}

#halloween2024 .bnr_img {
	display: block;
	margin: 0 auto;
	width: 90%;

	&.sale {
		margin: 5% auto;
	}
}

#halloween2024 .bnr_img img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	width: auto;
}

#halloween2024 .bnr_links {
	display: flex;
	justify-content: center;
	width: 90%;
	margin: 5% auto;
}

#halloween2024 .bnr_link {
	border-radius: 2em;
	color: #fff;
	display: block;
	font-size: min(5em, 15px);
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.8;
	margin: 0 1%;
	padding: 1% 0;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: 33%;

	&:nth-child(1) {
		background: #56a9fe;
	}

	&:nth-child(2) {
		background: #7ecc29;
	}

	&:nth-child(3) {
		background: #fa5abe;
	}
}
