@charset "UTF-8";

/* CSS Document */
/* ハロウィンまちがい探しキャンペーン 2024/09 */
#halloween {
	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%;

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

	a {
		text-decoration: none;
	}

	.h1 {
		text-align: center;
	}

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

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

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

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

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

	.difference01 {
		margin: 0 auto;
	}

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

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

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

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

	/* =========================================
		レンズタイプボタン
	========================================= */
	.bg {
		background: #ffa74b;
	}

	.lens_nav {
		width: 93%;
		margin: 7% auto 0;
	}

	.lens_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: min(2.63vw, 13px) 2.37%;
	}

	.lens_item {
		width: 31.75%;
	}

	.lens_btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: .5% 5%;
		border-radius: .4em .4em 0 0;
		background: #fff;
		font-size: min(3.8vw, 25px);
		font-weight: 700;
		letter-spacing: .03em;
	}

	.lens_btn-1day	{
		border: solid 3px #3e81cd;
		background: #fff;
		color: #3e81cd;
	}

	.lens_btn-2week {
		border: solid 3px #85c08b;
		background: #fff;
		color: #85c08b;
	}

	.lens_btn-color {
		border: solid 3px #d687db;
		background: #fff;
		color: #d687db;
		font-size: min(3.5vw, 22px);
	}

	.is_open{
		&.lens_btn-1day	{
			background: #3e81cd;
			color: #fff;
		}
		
		&.lens_btn-2week {
			background: #85c08b;
			color: #fff;
		}

		&.lens_btn-color {
			background: #d687db;
			color: #fff;
		}
	}

	.change_cont {
		display: none;
		width: 90%;
		margin: 6% auto 10%;
		border-radius: .1875rem;
		background: #fff;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	}
	
	.change_cont.is_open {
		animation: fade_animation01 0.5s ease 0s 1 normal;
		display: block;
	}

	@keyframes fadeIn01 {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	.color_tab_btn_wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: min(2.63vw, 13px) 2.37%;
        width: 85%;
        margin: 0 auto;
	}

	.color_tab_btn {
        position: relative;
        padding: 3% 2%;
        border-radius: .4em;
        background: #fff;
        color: #711fb5;
        font-size: min(3vw, 17px);
        font-weight: 700;
        letter-spacing: .03em;
        width: 47.1%;
        text-align: center;
        line-height: 1.3;
		span {
			font-size: min(3vw, 14px);
		}
		&.is_open {
			background: #711fb5;
			color:#fff;
		}
	}

	.color_cont {
		display: none;
		background: none;
		box-shadow: none;
		width: 100%;
	}










	/*間違い探し*/
	.recommend {
		margin: 0 auto;
		padding: 6% 0;
		width: auto;
		&.type_1day {
			background: #3e81cd;
		}
		&.type_2week {
			background: #85c08b;
		}
		&.type_color {
			background: #d687db;
		}
	}

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

	.recommend_ttl {
		background: url(/special/halloween/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;
	}

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

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

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

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

	.box_body {
		padding: 4% 0 0;
	}

	.box_ttl {
		font-size: min(6vw, 29px);
		font-weight: 700;
		letter-spacing: 0.05em;
		text-align: center;
        line-height: 1.3;
	}

	.box_inner {
		display: flex;
		margin-inline: auto;
		padding: 1% 0 0;
		width: 80%;
		justify-content: space-between;
	}
	.box_inner.week {
		display: flex;
		margin-inline: auto;
		padding: 5% 0 0;
		width: 80%;
	}
	.box_inner.color {
		display: flex;
		margin-inline: auto;
		padding: 4% 0 ;
		width: 80%;
	}

	.box_img {
		width: 47%;
	}

	.box_img.color {
		width: 60%;
	}

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

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

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

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

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

	.box_price em {
		font-family: roboto;
		font-size: min(12vw, 60px);
		font-style: normal;
		font-weight: 900;
	}
	.box_price.color em {
		font-size: min(9vw, 43px);
	}
	.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%;
		font-weight: 900;
		&.detail {
			background: #fff;
			border-radius: 2em;
			color: #711fb5;
			border: solid 3px #711fb5;
            margin: 3% auto 0;
		}
	}

	.box_link::after {
		border-right: 0.15em solid #fff;
		border-top: 0.15em solid #fff;
		content: "";
		height: 0.5em;
		position: absolute;
		right: 10%;
		top: 39%;
		-webkit-transform: translateX(0) rotate(45deg);
		transform: translateX(0) rotate(45deg);
		width: 0.5em;
	}
	.box_link.detail::after {
		border-right: 0.15em solid #711fb5;
		border-top: 0.15em solid #711fb5;
		content: "";
		height: 0.5em;
		position: absolute;
		right: 10%;
		top: 39%;
		-webkit-transform: translateX(0) rotate(45deg);
		transform: translateX(0) rotate(45deg);
		width: 0.5em;
	}

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

	.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;
	}

	.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%;
	}

	.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;
	}

	/* バナーエリア */
	.banner_area {
		width: 90%;
		margin: 5% auto 0;
		padding: 0 0 2%;
		text-align: center;
		background: #FFF;
	}

	.banner_box .bnr {
		width: 100%;
		margin-inline: auto;
	}

	.catch_ttl {
		width: max-content;
		margin: 0 auto 3%;
		color: #111;
		font-weight: bold;
		font-size: min(4.3vw, 21px);
		letter-spacing: 0.08em;
		line-height: 2;
		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;
	font-size: min(5.5vw, 21px);
}

/* モーダル 価格 */
.remodal {
	color: #fff !important;
	background: rgba(52, 52, 52, 0.9) !important;
	font-family: "YakuHanJP_Noto", "Roboto", "Noto Sans JP", sans-serif;
	max-width: 500px;
	padding: 3% 1% 2%;
	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/halloween/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/halloween/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;
}


.modal_product_title {
	font-size: 18px;
	line-height: 1.5;
}

.modal_product_title span {
	font-size: 20px;
}

.modal_product_img {
    max-width: 500px;
    width: 80%;
	margin: 20px auto 0;
}

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

.modal_set_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: auto;
	margin: 23px auto 0;
}
.modal_set_list.center {
	justify-content: center;
}

.modal_set_list li {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 49%;
	margin-bottom: 15px;
	display: block;
	color: #fff;
	text-align: center;
	margin-right: 0;
	padding: 5% 0;
	font-size: 12px;
	border: solid 2px #fff;
	text-decoration: none;
	border-radius: 5px;
	transition: all .3s;
}

.modal_set_list li.is_active {
	display: block;
	color: #fff;
	background: #711fb5;
	text-align: center;
	padding: 5% 0;
	font-size: 12px;
	border: solid 2px #711fb5;
	text-decoration: none;
	border-radius: 5px;
}

.modal_set_list li:hover {
	display: block;
	color: #fff;
	background: #711fb5;
	text-align: center;
	padding: 5% 0;
	font-size: 12px;
	border: solid 2px #711fb5;
	text-decoration: none;
	border-radius: 5px;
}

.modal_set_list li+li {
	margin-left: 0;
}

.modal_set_list li:nth-child(5n) {
	margin-left: 0;
}

.modal_content_area {
	position: relative;
	margin-top: 15px;
}

.modal_content_wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	width: 100%;
	opacity: 0;
	transition: all 0.2s ease-in-out;
	pointer-events: none;
}

.modal_content_wrap.is_active {
	position: relative;
	z-index: 2;
	opacity: 1;
	pointer-events: auto;
}

.buy_data {
	background: #fff;
	margin: 8% auto 0;
	max-width: 980px;
	position: relative;
	width: 90%;
}

.buy_cart {
	left: 0;
	margin: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: all 0.3s;
	width: 100%;
}

.buy_cart.is_active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
	z-index: 2;
}

.buy_name {
	color: #24272a;
	font-size: 1.1rem;
	letter-spacing: 0.13em;
	margin: 5% auto 0;
	text-align: center;
}

.sm_cellbox {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	line-height: 1;
}

.sm_box_name {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.3rem;
	font-weight: 400;
}

.sm_devide {
	font-size: 23px;
	font-weight: bold;
	font-weight: 400;
}

.sm_color {
	color: #dbb03f;
	font-weight: 500;
}

.buy_pointwrap {
	display: flex;
	justify-content: center;
	position: relative;
}

.buy_point {
	border: solid 1px #24272a;
	display: inline-block;
	font-size: min(4.2vw, 18px);
	font-weight: 500;
	left: 0;
	letter-spacing: 0.18em;
	margin: 10px auto 0;
	max-width: 100%;
	opacity: 0;
	padding: 5px 8px;
	position: absolute;
	right: 0;
	top: 0;
	width: 90%;
	text-align: center;
}

.buy_point.is_active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
	z-index: 2;
}

.buy_point span:first-of-type {
	margin: 0;
	white-space: nowrap;
}

.buy_point span:nth-child(2) {
	margin: 0;
	white-space: nowrap;
}

.setprice_wrap {
	display: flex;
	justify-content: center;
	position: relative;
}

.set_price {
	left: 0;
	line-height: 1;
	margin: 5% 0 0;
	opacity: 0;
	position: absolute;
	right: 0;
	width: 100%;
}

.set_price.is_active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
	z-index: 2;
}
/* スペック
--------------------------------------- */
.selectbox {
	margin-top: 10px;
		color: #666;
	background: #fff;
}

.selectbox table {
	width: 100%;
}

.selectbox input,
.selectbox option {
	color: #666666;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	font-size: 12px;
	letter-spacing: 0;
	line-height: 1.8;
}

.selectbox .ttl_bg {
	display: block;
	text-align: center;
	background-color: #444444;
	margin-top: 0;
	margin-bottom: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.selectbox .pulldown_tr {
	display: table;
	font-size: 14px;
	width: 100%;
	margin-top: 5px;
	margin-bottom: 10px;
	padding: 5px 10px 5px 10px;
}

.selectbox .pulldown_tr th {
	display: table-cell;
	width: 30%;
}

.selectbox .pulldown_tr td {
	display: table-cell;
	width: 70%;
}

.selectbox .pulldown_tr td select {
	width: 95%;
	font-size: 14px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	margin: 0;
	height: 30px;
	background: transparent;
	position: relative;
	z-index: 1;
	padding: 0 40px 0 10px;
	border: 2px solid #e1e1e1;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	-ms-border-radius: 0px;
	-o-border-radius: 0px;
	border-radius: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.selectbox .pulldown_tr td select::-ms-expand {
	display: none;
}

.selectbox .pulldown_tr td {
	position: relative;
}

.selectbox .pulldown_tr td.pldwn::before {
	content: '';
	position: absolute;
	z-index: 0;
	top: 2px;
	bottom: 0;
	margin: auto 0;
	right: 16px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #545454 transparent transparent transparent;
}

.selectbox .pulldown_tr td.pldwn::after {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 16px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #ffffff transparent transparent transparent;
}
.selectbox .ttl_bg {
	display: block;
	text-align: center;
	background-color: #444;
	padding: 2% 3%;
}

.selectbox .ttl_txt {
		color: #fff;
}
.cart {
margin-top: 5%;
}
.cart_btn {
	display: block;
	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: #711fb5 url(/sp/img/common/sp_cartbtn_bg.png) no-repeat 20% center;
	background-size: 24px;
	width: 100%;
	padding: 10px;
	margin-top: 10px;
	padding-left: 22px;
	margin-bottom: 10px;
	border: 0;
	border-radius: 3px;

}

.js_clipboard_msgbox {
	z-index: 2147483647!important;
}