@charset "utf-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg,video{vertical-align:middle}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}

/* 変数
============================================================================================================ */
:root {
	--color-base: #2b2b2b;
	--color-theme: #218ad5;
	--color-dark: #0068B7;
	--color-navy: #1a3d57;
	--color-green: #12ceb8;
	--color-orange: #f5a737;
	--color-red: #e35e55;
	--color-gray: #707070;
	--bg-light: #e8f7fb;
	--pc-width-number: 600;
	--pc-width: calc(var(--pc-width-number) * 1px);
	--sp-width-number: 375;
	--base-padding: 1.5rem;
	--font-family-jp: 'Noto Sans JP', sans-serif;
	--font-family-en: 'Roboto', var(--font-family-jp);
	--font-weight: 400;
	--font-weight-bold: 600;
	--transition-duration: .3s;
	--transition: var(--transition-duration) ease-in-out;
}
@media (max-width: 1024px) {
	:root {
		--pc-width: 100%;
	}
}

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: min(calc((100vw / 375) * 10), calc((var(--pc-width) / 375) * 10));
	scroll-behavior: smooth;
}
html.no-scroll-behavior {
	scroll-behavior: auto;
}
body {
	background-color: #fff;
	font-size: 1.5rem;
	line-height: calc(27 / 15);
	color: var(--color-base);
	word-wrap: break-word;
	overflow-wrap: break-word;
	letter-spacing: .1em;

	font-family: var(--font-family-jp);
	font-weight: var(--font-weight);
	font-feature-settings: "palt";
	font-style: normal;
	text-size-adjust: none;
}
@media (max-width: 1024px) {
	html {
		font-size: calc((100vw / var(--sp-width-number)) * 10);
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}
:where(address,caption,cite,code,dfn,em,th,var) {
	font-style: normal;
	font-weight: var(--font-weight);
}
:where(h1,h2,h3,h4,h5,h6,strong,b) {
	font-weight: var(--font-weight-bold);
}
:where(img) {
	max-width: 100%;
	width: 100%;
	height: auto;
}
:where(iframe) {
	max-width: 100%;
	vertical-align: middle;
}
:where(sup) {
	vertical-align: super;
	font-size: 60%;
}
:where(table) {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: inherit;
}
:where(a[href]) {
	color: var(--color-base);
	text-decoration: underline;
	outline: none;
}
:where(a[href]._a_reverse,._a_reverse a[href]) {
	text-decoration: none;
}
@media (hover) {
	:where(a[href]:hover) {
		text-decoration: none;
	}
	:where(a[href]._a_reverse,._a_reverse a[href]):hover {
		text-decoration: underline;
	}
}

:where(label) {
	cursor: pointer;
}
:where(input, select, textarea, button) {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	font-feature-settings: inherit;
	outline: none;
	font-size: 100%;
}
::placeholder {
	color: #ccc;
}
:where(button) {
	cursor: pointer;
}

#top {
	display: block;
}

/* transition
============================================================================================================ */
@media (hover) {
	:where(a,button,._basic_trs),
	:where(a,button,._basic_trs)::before,
	:where(a,button,._basic_trs)::after {
		transition: color var(--transition), background var(--transition), border var(--transition), opacity var(--transition);
	}
	:where(a svg) {
		transition: fill var(--transition);
	}
}

/* color
============================================================================================================ */
._c_black {
	color: #000 !important;
}
._c_base {
	color: var(--color-base) !important;
}
._c_theme {
	color: var(--color-theme) !important;
}
._c_orange {
	color: var(--color-orange) !important;
}
._c_red {
	color: var(--color-red) !important;
}
._c_gray {
	color: var(--color-gray) !important;
}
._c_white {
	color: #fff !important;
}
._bg_white {
	background-color: #fff !important;
}

/* font
============================================================================================================ */
._ff_en {
	font-family: var(--font-family-en);
	font-weight: 400;
}
._fwn {
	font-weight: var(--font-weight);
}
._fwr {
	font-weight: 400;
}
._fwm {
	font-weight: 500;
}
._fwb {
	font-weight: var(--font-weight);
}
._fw7 {
	font-weight: 700;
}
._wsnw {
	white-space: nowrap;
}

/* display
============================================================================================================ */
._db {
	display: block;
}
._dib {
	display: inline-block;
}
._dfcc {
	display: flex !important;
	justify-content: center;
	align-items: center;
}

/* object-fit
============================================================================================================ */
img._of {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
img._of.-abs {
	position: absolute;
	top: 0;
	left: 0;
}
img._of.-bg {
	pointer-events: none;
	user-select: none;
	z-index: -1;
}

/* hover
============================================================================================================ */
@media (hover) {
	body.init a ._hv_op {
		transition: opacity var(--transition);
	}
	a._hv_op:hover,
	a:hover ._hv_op,
	button._hv_op:hover,
	._hv_op a:hover {
		opacity: 0.7;
	}
	a._hv_op.-a20:hover,
	a:hover ._hv_op.-a20,
	._hv_op.-a20 a:hover {
		opacity: 0.8;
	}
	a._hv_op.-a10:hover,
	a:hover ._hv_op.-a10,
	._hv_op.-a10 a:hover {
		opacity: 0.9;
	}
	a._hv_op.-a50:hover,
	a:hover ._hv_op.-a50,
	._hv_op.-a50 a:hover {
		opacity: 0.5;
	}
}


/* footer
============================================================================================================ */
footer {
	padding-bottom: 3.2rem;
	background-color: var(--bg-light);
	text-align: center;
}
footer .sns {
	display: flex;
	justify-content: center;
	gap: 3rem;
}
footer .sns li {
	width: 3.6rem;
}
footer small {
	display: block;
	margin-top: 4rem;
	font-size: 1rem;
	color: var(--color-gray);
	letter-spacing: 0;
}
@media (max-width: 1024px) {
	footer {
		padding-bottom: 9.5rem;
	}
}

/* pagetop
============================================================================================================ */
#pagetop {
	overflow: hidden;
	right: 1.5rem;
	width: 4rem;
	height: 0;
	padding-top: 4rem;
	background-color: rgba(33,138,213,.15);
	background-color: #cbe7f5;
	border-radius: 100%;
	z-index: 500;
}
#pagetop::before {
	content: "";
	position: absolute;
	top: calc(50% - .4rem);
	left: calc(50% - .3rem);
	width: .8rem;
	height: .6rem;
	background-color: var(--color-theme);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
@media print {
	#pagetop {
		display: none;
	}
}
@media (hover) {
	#pagetop:hover {
		background-color: rgba(33,138,213,1);
	}
	#pagetop:hover::before {
		background-color: #fff;
	}
}
@media screen and (min-width: 1025px), print {
	#pagetop {
		position: absolute;
		bottom: 2rem;
	}
}
@media (max-width: 1024px) {
	#pagetop {
		position: fixed;
		bottom: 8.5rem;
		pointer-events: none;
		opacity: 0;
	}
	.-fb_show #pagetop {
		opacity: 1;
		pointer-events: auto;
	}
}


/* fix_bnr
============================================================================================================ */
@media screen and (min-width: 1025px), print {
	#fix_bnr {
		display: none;
	}
}
@media (max-width: 1024px) {
	#fix_bnr {
		position: fixed;
		right: 0;
		left: 0;
		bottom: 0;
		opacity: 0;
		pointer-events: none;
		z-index: 500;
		transition: opacity var(--transition);
	}
	.-fb_show #fix_bnr {
		opacity: 1;
		pointer-events: auto;
	}
	#fix_bnr a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		height: 6.6rem;
		background-color: var(--color-orange);
		border-radius: .6rem .6rem 0 0;
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.5;
		font-weight: var(--font-weight-bold);
		text-decoration: none;
		z-index: 500;
	}
	#fix_bnr a .box {
		margin-bottom: 0.2rem;
		border-radius: 10rem;
		padding: 0 1rem;
		background-color: #fff;
		font-size: 1.4rem;
		color: var(--color-base);
	}
	#fix_bnr a::after {
		content: "";
		position: absolute;
		right: 2rem;
		top: calc(50% - 1rem);
		width: 2rem;
		height: 2rem;
		background: url(../../../../images/cnt/lp/sp/arrow-white.svg) no-repeat 50%;
		background-size: 100%;
	}
}

/* contents
============================================================================================================ */
#contents {
	position: relative;
	background-color: #fff;
	z-index: 2;
}
@media screen and (min-width: 1025px), print {
	body::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: #f3f8fe url(../../../../images/cnt/lp/sp/bg-page-pc.jpg) no-repeat 50%;
		background-size: cover;
		z-index: -1;
	}
	#contents {
		overflow: hidden;
		max-width: var(--pc-width);
		margin-inline: auto;
	}
}

/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* pd
============================================================================================================ */
._pdlr {
	padding-inline: 1.5rem;
}

/* box_btn
============================================================================================================ */
.box_btn {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 100%;
	width: 30rem;
	height: 7.2rem;
	padding-right: 2rem;
	background-color: var(--color-theme);
	border-radius: .6rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	line-height: 1.3;
	box-shadow: 0 .4rem .4rem rgba(0,0,0,.16);
}
.box_btn::after {
	content: "";
	position: absolute;
	right: 2rem;
	top: calc(50% - 1rem);
	width: 2rem;
	height: 2rem;
	background: url(../../../../images/cnt/lp/sp/arrow-white.svg) no-repeat 50%;
	background-size: 100%;
}
.box_btn.-orange {
	background-color: var(--color-orange);
}
@media (hover) {
	.box_btn[href]:hover {
		opacity: 0.7;
	}
}

/* arrow_link
============================================================================================================ */
.arrow_link {
	position: relative;
	display: inline-block;
	padding-left: 2.6rem;
	text-decoration: none;
}
.arrow_link::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 1rem + .1rem);
	width: 2rem;
	height: 2rem;
	background: url(../../../../images/cnt/lp/sp/arrow-blue.svg) no-repeat 50%;
	background-size: 100%;
}
@media (hover) {
	.arrow_link[href]:hover {
		text-decoration: underline;
	}
}

/* logo_lensdirect
============================================================================================================ */
.logo_lensdirect {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5rem;
	background-color: #fff;
}
.logo_lensdirect img {
	width: 13.5rem;
}

/* section_header
============================================================================================================ */
.section_header {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 3.2rem;
	letter-spacing: 0.1em;
	color: var(--color-theme);
	line-height: calc(44 / 32);
}
.section_header .ico {
	width: 4rem;
	margin: 0 auto 1.5rem;
}
.section_header .en {
	margin-top: 0.5rem;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: var(--color-navy);
	opacity: 0.5;
}

/* point_title
============================================================================================================ */
.point_title {
	margin-bottom: 2.5rem;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.5;
}
.point_title::after {
	content: "";
	display: block;
	margin-top: 0.2rem;
	background: url(../../../../images/cnt/lp/sp/ico-point.svg) no-repeat 50%;
	background-size: 1.8rem;
	height: 1rem;
}



/* kv
============================================================================================================ */
.kv {
	background: image-set(url(../../../../images/cnt/lp/sp/2026acuvue/bg-kv.webp) type("image/webp"), url(../../../../images/cnt/lp/sp/2026acuvue/bg-kv.jpg) type("image/jpeg")) no-repeat 50%;
	background-size: 100%;
	color: var(--color-theme);
	font-weight: var(--font-weight-bold);
}
.kv-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 3.6rem;
	padding: 0 2rem;
	background-color: #218AD5;
	color: #fff;
}
.kv-txt {
	width: 100%;
	padding-block: calc(17 / 375 * 100%) calc(11 / 375 * 100%);
}
.kv-relieved {
	position: relative;
	margin-left: calc(39 / 375 * 100%);
	padding-left: 3.8rem;
	font-size: 1.8rem;
	line-height: calc(20 / 14);
	letter-spacing: 0.05em;
}
.kv-relieved::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 3.6rem / 2 + .2rem);
	width: 2.8rem;
	height: 3.6rem;
	background: url(../../../../images/cnt/lp/sp/ico-kv-track.svg) no-repeat 50%;
	background-size: 100%;
}
.kv-list {
	display: flex;
	width: 33.5rem;
	margin: 0.625rem auto .2rem;
}
.kv-list li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 13rem;
	height: 13rem;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.4;
	z-index: 2;
}
.kv-list li::before {
	content: "";
	position: absolute;
	top: 0.6rem;
	left: 0.6rem;
	right: 0.6rem;
	bottom: 0.6rem;
	background-color: #fff;
	border-radius: 100%;
	filter: blur(.5rem);
	z-index: -1;
}
.kv-list li .large {
	font-size: 1.8rem;
	line-height: calc(22 / 18);
}
.kv-list li .num {
	font-size: 2.8rem;
	line-height: calc(25 / 28);
}
.kv-list li:nth-child(2) {
	margin-inline: calc((33.5rem - 13rem * 3) / 2);
}
.kv-notes {
	margin-block-end: calc(17 / 375 * 100%);
	font-weight: var(--font-weight);
	text-align: center;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--color-gray);
}
.kv-image {
	margin-block-end: calc(26 / 375 * 100%);
}
.kv_btn {
	margin-top: calc(12.5 / 375 * 100%);
	padding-block-end: calc(38 / 375 * 100%);;
}

/* item_list
============================================================================================================ */
.item_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}
.item_list > * {
	width: calc((100% - 1.5rem) / 2);
}

.item_list .max_w {
	width: 100%;
}

.item_list a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1rem 1rem 1.5rem;
	background-color: #fff;
	border-radius: 0.6rem;
	text-decoration: none;
	box-shadow: 0 0 1rem rgba(33,138,213,.2);
}

.item_list .max_w {
	width: 100%;
}

.item_list .max_w a {
	display: grid;
	grid-template-columns: 14.5rem 1fr;
	grid-template-rows: auto auto auto;
	column-gap: 1.5rem;
	align-items: center;
	padding: 1.5rem;
}

.item_list .max_w .ph {
	grid-column: 1;
	grid-row: 1 / 4;
	width: 15rem;
	margin: 0;
}

.item_list .max_w h4 {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 0;
	font-size: 1.3rem;
	line-height: 1.5;
}

.item_list .max_w .price {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	align-items: baseline;
	gap: 0.3rem;
	margin-top: 1rem;
}

.item_list .max_w .tags,
.item_list .max_w .tags_empty {
	grid-column: 2;
	grid-row: 3;
	margin-top: 0.8rem;
}

.item_list .ph {
	width: 14rem;
	margin: 0 auto .5rem;
}
.item_list h4 {
	margin-bottom: 0.8rem;
	font-size: 1.3rem;
	line-height: calc(18 / 13);
	font-weight: var(--font-weight);
}
.item_list .price {
	margin-top: auto;
}
.item_list .price dt {
	font-size: 1.1rem;
	line-height: 1.2;
}
.item_list .price dd {
	font-size: 1.3rem;
	line-height: 1.2;
	letter-spacing: 0;
}
.item_list .price b {
	font-weight: 700;
	color: var(--color-red);
}
.item_list .price ._ff_en {
	font-size: 2.6rem;
	font-weight: 700;
}
.item_list .tags {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: 0.8rem;
}
.item_list .tags li {
	padding: 0 .5rem;
	font-size: 1.3rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	color: #fff;
}
.item_list .tags .tag1 {
	background-color: #218ad5;
}
.item_list .tags .tag2 {
	background-color: var(--color-red);
}
.item_list .tags .tag3 {
	background-color: var(--color-green);
}
.item_list .tags .tag4 {
	background-color: var(--color-orange);
}
.item_list .tags_empty {
	margin-top: 0.8rem;
}
.item_list .tags_empty::before {
	content: "　";
	font-size: 1.3rem;
}
@media (hover) {
	.item_list a::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
		border-radius: 0.6rem;
		opacity: 0;
		pointer-events: none;
		z-index: 8;
	}
	.item_list a:hover::after {
		opacity: 0.3;
	}
}

.item_more {
	margin-top: 3rem;
}

/* ranking_section
============================================================================================================ */
.ranking_section {
	position: relative;
	margin-top: 2rem;
	padding-top: 5rem;
	padding-bottom: 10rem;
	background-color: var(--color-dark);
	z-index: 2;
}
.ranking_section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 65rem;
	background: linear-gradient(to bottom, #fff 0%,var(--color-theme) 25%, var(--color-dark) 100%);
	z-index: -1;
}
.ranking_section .section_header {
	color: #fff;
}
.item_list.-ranking {
	flex-direction: column;
}
.item_list.-ranking > * {
	width: 100%;
}
.item_list.-ranking a {
	overflow: hidden;
	display: flex;
	flex-direction: row;
	padding: 2rem 1.5rem;
	box-shadow: 0 0 1rem rgba(26,61,87,.15);
}
.item_list.-ranking .content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5rem;
	height: 5rem;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	z-index: 3;
}
.item_list.-ranking > section:nth-child(1) .content::before {
	background-color: #d7ab42;
}
.item_list.-ranking > section:nth-child(2) .content::before {
	background-color: #acacac;
}
.item_list.-ranking > section:nth-child(3) .content::before {
	background-color: #c68b44;
}
.item_list.-ranking .content::after {
	position: absolute;
	top: 0.6rem;
	left: 1rem;
	font-size: 1.8rem;
	line-height: 1;
	font-family: var(--font-family-en);
	color: #fff;
	z-index: 4;
}
.item_list.-ranking > section:nth-child(1) .content::after {
	content: "1";
}
.item_list.-ranking > section:nth-child(2) .content::after {
	content: "2";
}
.item_list.-ranking > section:nth-child(3) .content::after {
	content: "3";
}
.item_list.-ranking .ph {
	width: 15rem;
	flex-shrink: 0;
	margin: 0 0.6rem 0 0;
}
.item_list.-ranking .category {
	width: fit-content;
	margin-bottom: 0.8rem;
	padding: 0.2rem 1rem;
	font-size: 1.3rem;
	line-height: 1;
	color: var(--color-theme);
	border: 1px solid;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.05em;
}
.item_list.-ranking h3 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: calc(20 / 15);
}
.item_list.-ranking .price_s {
	margin-top: 0.8rem;
	margin-bottom: 0.8rem;
	font-size: 1.1rem;
	line-height: 1.2;
	letter-spacing: 0;
}
.item_list.-ranking .price_s b {
	margin-left: 0.2em;
	font-weight: 700;
}
.item_list.-ranking .price_s ._ff_en {
	font-size: 1.8rem;
	font-weight: 700;
}


/* type_section
============================================================================================================ */
.type_section {
	position: relative;
	z-index: 3;
}
.type_section .section_header {
	position: relative;
	margin-bottom: 0;
	padding-top: calc(29 / 375 * 100%);
	padding-bottom: 2rem;
	background-color: #fff;
	z-index: 3;
}

.type_section .section_header::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 5rem;
	background: url(../../../../images/cnt/lp/sp/bg-type-header.svg) no-repeat 50% 100%;
	background-size: 100%;
}
.type_section .section_header::after {
	bottom: -4.8rem;
	transform: scaleY(-1);
}
.type_section .section_header .inner_link {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 2rem;
}
.type_section .section_header .inner_link li {
	width: calc((100% - .5rem) / 2);
}
.type_section .section_header .inner_link li:last-child {
	width: 100%;
}
.type_section .section_header .inner_link a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5.6rem;
	padding-right: 1rem;
	border: 1px solid rgba(16,44,64,.6);
	border-radius: 0.6rem;
	font-size: 1.6rem;
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	letter-spacing: 0.05em;
}
.type_section .section_header .inner_link a::after {
	content: "";
	position: absolute;
	right: 1.5rem;
	top: calc(50% - 1rem);
	width: 2rem;
	height: 2rem;
	background: url(../../../../images/cnt/lp/sp/arrow-sky.svg) no-repeat 50%;
	background-size: 100%;
	transform: rotate(90deg);
}
@media (hover) {
	.type_section .section_header .inner_link a:hover {
		opacity: 0.7;
	}
}

.type_contents {
	position: relative;
	padding: 6rem 1.5rem 1rem;
	clip-path: inset(0);
	z-index: 2;
}
.type_contents::before {
	content: "";
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: var(--pc-width);
	margin-inline: auto;
	background: url(../../../../images/cnt/lp/sp/bg-sky.jpg) no-repeat 50%;
	background-size: cover;
	z-index: -1;
}
.type_contents > section {
	padding: 4rem 0;
}

/* campaign_section
============================================================================================================ */
.campaign_section {
	padding: 5rem 0;
}
.campaign_section .campaign_title {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.5;
}
.campaign_section .campaign_title .fukidashi {
	position: relative;
	display: block;
	width: fit-content;
	margin: 0 auto .5rem;
	font-size: 2.2rem;
}
.campaign_section .campaign_title .fukidashi::before,
.campaign_section .campaign_title .fukidashi::after {
	content: "";
	position: absolute;
	top: calc(50% - 2.8rem / 2 + .2rem);
	height: 2.8rem;
	border-left: .2rem solid;
}
.campaign_section .campaign_title .fukidashi::before {
	left: -1.6rem;
	transform: rotate(-22deg);
}
.campaign_section .campaign_title .fukidashi::after {
	right: -1.6rem;
	transform: rotate(22deg);
}
.campaign_section .more {
	margin-top: 3rem;
}


/* reason_section
============================================================================================================ */
.reason_section {
	position: relative;
	padding: 5rem 0 4rem;
	z-index: 2;
}
.reason_section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../../../../images/cnt/lp/sp/bg-reason.jpg) no-repeat 50% 0;
	background-size: cover;
	opacity: 0.6;
	z-index: -1;
}
.reason_contents section + section {
	margin-top: 1.5rem;
}
.reason_contents section {
	position: relative;
	padding: 0 3rem 3rem;
	background-color: #fff;
}
.reason_contents section::before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	border: .1rem solid var(--color-theme);
	pointer-events: none;
	opacity: 0.3;
}
.reason_contents section header {
	text-align: center;
	font-weight: var(--font-weight-bold);
}
.reason_contents section header .num {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 6rem;
	height: 3rem;
	margin: 0 auto 1.2rem;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	z-index: 2;
}
.reason_contents section header .num::before {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	height: 200%;
	background: linear-gradient(to right, var(--color-theme) 0%, var(--color-green) 100%);
	border-radius: 100%;
	z-index: -1;
}
.reason_contents section header h3 {
	font-size: 2.8rem;
	line-height: calc(36 / 28);
}
.reason_contents section .img {
	width: 12rem;
	margin: .5rem auto;
}


/* review_section
============================================================================================================ */
.review_section {
	position: relative;
	padding-bottom: 5rem;
	background: url(../../../../images/cnt/lp/sp/bg-review.png) 50% 0;
	background-size: 100%;
}
.review_section .review_header {
	position: relative;
	padding: 2.5rem 0 3rem;
	color: #fff;
	text-align: center;
	font-size: 2.2rem;
	line-height: calc(30 / 22);
}
.review_section .review_header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: -7rem;
	background: linear-gradient(135deg, var(--color-theme) 0%, var(--color-dark) 100%);
}
.review_section .review_header > * {
	position: relative;
	z-index: 2;
}
.review_section .review_header .ico {
	width: 4rem;
	margin: 0 auto;
}
.review_section .review_header h2 {
	position: relative;
	margin-top: 0.5rem;
}
.review_section .review_header h2::before,
.review_section .review_header h2::after {
	content: "";
	position: absolute;
	top: calc(50% - 7rem / 2);
	width: 3.2rem;
	height: 7rem;
	background: url(../../../../images/cnt/lp/sp/img-review-point.svg) 50%;
	background-size: 100%;
}
.review_section .review_header h2::before {
	left: 1.5rem;
}
.review_section .review_header h2::after {
	right: 1.5rem;
	transform: scaleX(-1);
}
.review_section .review_header .en {
	position: absolute;
	right: 0;
	left: 0;
	bottom: -1.1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	width: 14.2rem;
	height: 2.2rem;
	background-color: var(--color-green);
	border-radius: 1.1rem;
	color: #fff;
	font-size: 1.5rem;
	padding-top: 0.1rem;
	line-height: 1;
	z-index: 6;
}
.review_section .review_header .en::after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	top: calc(100% + .3rem);
	width: 12rem;
	height: .9rem;
	margin-inline: auto;
	background: url(../../../../images/cnt/lp/sp/img-review-line.svg) 50%;
	background-size: 100%;
}
.review_section .review_contents {
	position: relative;
	margin: 0 1.5rem 3rem;
	padding: 3rem 1.5rem 0;
	background-color: #fff;
	box-shadow: 0 .3rem 1rem rgba(0,0,0,.16);
	z-index: 3;
}

.review_section .stars_block {
	padding-bottom: 2rem;
}
.review_section .stars_block .stars {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
}
.review_section .stars_block .stars .star {
	position: relative;
	width: 3.4rem;
	height: 3.2rem;
}
.review_section .stars_block .stars .star::before,
.review_section .stars_block .stars .star::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../../../../images/cnt/lp/sp/ico-star.svg) no-repeat 50%;
	background-size: 100%;
}
.review_section .stars_block .stars .star::before {
	filter: brightness(0);
	opacity: 0.06;
}
.review_section .stars_block .stars .star::after {
	clip-path: inset(0 100% 0 0);
}
.review_section .stars_block .stars:is([data-rate^="1"], [data-rate^="2"], [data-rate^="3"], [data-rate^="4"], [data-rate^=5]) .star:nth-child(1):after,
.review_section .stars_block .stars:is([data-rate^="2"], [data-rate^="3"], [data-rate^="4"], [data-rate^="5"]) .star:nth-child(2):after,
.review_section .stars_block .stars:is([data-rate^="3"], [data-rate^="4"], [data-rate^="5"]) .star:nth-child(3):after,
.review_section .stars_block .stars:is([data-rate^="4"], [data-rate^="5"]) .star:nth-child(4):after,
.review_section .stars_block .stars:is([data-rate^="5"]) .star:nth-child(5):after {
	clip-path: inset(0);
}
.review_section .stars_block .stars[data-rate="0.1"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.1"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.1"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.1"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.1"] .star:nth-child(5):after {
	clip-path: inset(0 90% 0 0);
}
.review_section .stars_block .stars[data-rate="0.2"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.2"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.2"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.2"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.2"] .star:nth-child(5):after {
	clip-path: inset(0 80% 0 0);
}
.review_section .stars_block .stars[data-rate="0.3"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.3"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.3"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.3"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.3"] .star:nth-child(5):after {
	clip-path: inset(0 70% 0 0);
}
.review_section .stars_block .stars[data-rate="0.4"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.4"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.4"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.4"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.4"] .star:nth-child(5):after {
	clip-path: inset(0 60% 0 0);
}
.review_section .stars_block .stars[data-rate="0.5"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.5"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.5"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.5"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.5"] .star:nth-child(5):after {
	clip-path: inset(0 50% 0 0);
}
.review_section .stars_block .stars[data-rate="0.6"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.6"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.6"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.6"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.6"] .star:nth-child(5):after {
	clip-path: inset(0 40% 0 0);
}
.review_section .stars_block .stars[data-rate="0.7"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.7"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.7"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.7"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.7"] .star:nth-child(5):after {
	clip-path: inset(0 30% 0 0);
}
.review_section .stars_block .stars[data-rate="0.8"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.8"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.8"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.8"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.8"] .star:nth-child(5):after {
	clip-path: inset(0 20% 0 0);
}
.review_section .stars_block .stars[data-rate="0.9"] .star:nth-child(1):after,
.review_section .stars_block .stars[data-rate="1.9"] .star:nth-child(2):after,
.review_section .stars_block .stars[data-rate="2.9"] .star:nth-child(3):after,
.review_section .stars_block .stars[data-rate="3.9"] .star:nth-child(4):after,
.review_section .stars_block .stars[data-rate="4.9"] .star:nth-child(5):after {
	clip-path: inset(0 10% 0 0);
}
.review_section .stars_block .rate {
	margin-left: 0.2rem;
	color: var(--color-theme);
	font-weight: 700;
	font-size: 4rem;
	line-height: 1;
	letter-spacing: 0;
}
.review_section .stars_block .notes {
	margin-top: 0.3rem;
	text-align: center;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--color-gray);
}

.review_section .review {
	padding: 1.5rem 0 2rem;
	border-top: .2rem solid #ecf0f3;
	font-size: 1.4rem;
	line-height: calc(24 / 14);
}
.review_section .review h3 {
	margin-bottom: 0.8rem;
	color: var(--color-theme);
	font-size: 1.6rem;
	line-height: 1.5;
}
.review_section .review .person {
	margin-top: 0.7rem;
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	color: var(--color-gray);
}
.review_section .review .person::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	margin-right: 0.8rem;
	background: url(../../../../images/cnt/lp/sp/ico-person.svg) no-repeat 50%;
	background-size: 100%;
}


/* guide_section
============================================================================================================ */
.guide_section {
	padding: 5rem 0;
}
.guide_section .guide_title {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2rem;
	font-size: 2.6rem;
	line-height: 1.5;
	text-align: center;
}
.guide_section .guide_title::before {
	content: "";
	display: block;
	width: 4rem;
	height: 3rem;
	margin-right: 1rem;
	background: url(../../../../images/cnt/lp/sp/ico-guide.svg) no-repeat 50%;
	background-size: 100%;
}

.guide_section section + section {
	margin-top: -1px;
}
.guide_section section h3 {
	position: relative;
	padding: 2.5rem;
	border-top: 1px solid var(--color-navy);
	border-bottom: 1px solid var(--color-navy);
	color: var(--color-theme);
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
}
.guide_section section h3::before,
.guide_section section h3::after {
	content: "";
	position: absolute;
	top: calc(50% - .1rem);
	right: 1.5rem;
	width: 2rem;
	border-top: .2rem solid;
}
.guide_section section h3::after {
	transform: rotate(90deg);
	transition: transform var(--transition), opacity var(--transition);
}
.guide_section section h3.-open::after {
	transform: rotate(0);
	opacity: 0;
}
.guide_section section .content {
	overflow: hidden;
	height: 0;
	transition: height var(--transition);
	font-size: 1.4rem;
	line-height: calc(24 / 14);
}
.guide_section section .content_inner {
	padding: 2.5rem 1.5rem 3rem;
}
.guide_section section .content_inner > * + * {
	margin-top: 1.5em;
}
.guide_section section .content_inner .notes {
	margin-top: 0.3rem;
	font-size: 1.2rem;
	line-height: calc(20 / 12);
}
.guide_section section .content_inner .more {
	margin-top: 2.5rem;
	text-align: center;
}


/* contact_section
============================================================================================================ */
.contact_section {
	padding: 5rem 0 4rem;
	background-color: var(--bg-light);
	text-align: center;
}
.contact_section .contact_title {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2rem;
	font-size: 2.6rem;
	line-height: 1.5;
	text-align: center;
}
.contact_section .contact_title::before {
	content: "";
	display: block;
	width: 4rem;
	height: 2.6rem;
	margin-right: 1rem;
	background: url(../../../../images/cnt/lp/sp/ico-contact.svg) no-repeat 50%;
	background-size: 100%;
}
.contact_section .notes {
	margin-top: 1rem;
	font-size: 1.2rem;
	color: var(--color-gray);
}


/* page_container
============================================================================================================ */
.pc_logo,
.pc_nav {
	display: none;
}
@media screen and (min-width: 1025px) {
	.pc_logo,
	.pc_nav {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		bottom: 0;
		width: calc((100% - var(--pc-width)) / 2);
		font-size: 10px;
	}
	.pc_logo {
		left: 0;
	}
	.pc_logo a {
		display: block;
		width: 260px;
		max-width: 80%;
	}
	.pc_logo img {
		filter: brightness(0) invert(1);
	}
	.pc_nav {
		right: 0;
	}
	.pc_nav > * {
		width: 300px;
		max-width: 90%;
	}
	.pc_nav ul li {
		margin-bottom: 30px;
	}
	.pc_nav ul a {
		position: relative;
		display: inline-block;
		font-size: 16px;
		line-height: calc(22 / 16);
		padding-left: 28px;
		text-decoration: none;
		letter-spacing: 0.1em;
	}
	.pc_nav ul a::after {
		content: "";
		position: absolute;
		left: 0;
		top: 2px;
		width: 20px;
		height: 20px;
		background: url(../../../../images/cnt/lp/sp/arrow-blue.svg) no-repeat 50%;
		background-size: 100%;
		transform: rotate(90deg);
	}
	@media (hover) {
		.pc_nav ul a:hover {
			text-decoration: underline;
		}
	}
	.pc_nav .btn {
		margin-top: 50px;
	}
	.pc_nav .box_btn {
		height: 72px;
		padding: 0 45px 0 15px;
		font-size: 16px;
		text-align: center;
	}
	.pc_nav .box_btn::after {
		right: 20px;
		top: calc(50% - 10px);
		width: 20px;
		height: 20px;
	}
}

/* other-highlight_section
============================================================================================================ */
.other-highlight_section {
	padding-block: calc(40 / 375 * 100%) calc(41 / 375 * 100%);
	background-image: image-set(url(../../../../images/cnt/lp/sp/2026clearveil/bg-other_highlight.webp) type("image/webp"), url(../../../../images/cnt/lp/sp/2026clearveil/bg-other_highlight.png) type("image/jpeg"));
	background-size: cover;
  background-position: bottom;
	background-repeat: no-repeat;
	position: relative;
}
.other-highlight_section::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 10%;
	top: 0;
	background: linear-gradient(to bottom, #ffffff, transparent);
	z-index: 0;
}


.other-highlight_bnr {
  padding-inline: calc(25 / 375 * 100%);
	position: relative;
	z-index: 1;
}

.other-highlight_note {
	margin-block: calc(25 / 375 * 100%) 0;
	padding-inline: calc(15 / 375 * 100%);
	font-size: 1rem;
	line-height: 1.5;
    margin-top: 0;
margin-bottom: 1.5em;
}

.other-highlight_note > *:not(:first-child) {
	margin-block-start: calc(10 / 375 * 100%);
}

.other-highlight_note .note-li-body {
	padding-left: 1em;
	text-indent: -1em;
}

.other-highlight_note .note-li-head{
	text-align: center;
	list-style: none;
	font-weight: 600;
	margin-bottom: .8em;
}

.other-highlight_note .note-p {
	padding-left: 1em;
	text-indent: -1em;
}

#footer .note-p {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1rem;
	text-align: left;
margin-top: 2em;
	margin-left: 1em;
	margin-right: 1em;
}

.other-highlight_note a{
	color: #316CC4;
}

.other-highlight_title {
	margin-block-start: calc(47 / 375 * 100%);
}

.other-highlight_title_sub {
	font-size: 1.2rem;
	display: block;
	color: #000;
}

.other-highlight_title_main {
	display: block;
	font-size: 3.2rem;
	color: #316CC4;
}

.other-highlight_title_main .s_txt{
	font-size: 2.4rem;
}

.other-highlight_content {
  margin-block-start: calc(24 / 375 * 100%);
  padding-inline: calc(15 / 375 * 100%);
}

.other-highlight_list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.other-highlight_item .image {
  flex-shrink: 0;
  width: 8.4rem; 
  margin-right: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.other-highlight_item .text {
  flex-grow: 1;
  position: relative;
}

.other-highlight_item {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 5px;
  padding: 1.5rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.other-highlight_item .image {
  flex-shrink: 0;
  width: 9rem; 
  height: 9rem;
  margin-right: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  /* background-color: #f0f8ff; Example bg for icon placeholder */
  /* border-radius: 50%; */
}

.other-highlight_item .image img {
  width: 100%;
  height: auto;
}

.other-highlight_item .text h3 {
  font-size: 1.8rem;
  color: #000;
	margin-block-end: calc(5 / 345 * 100%);
  font-weight: bold;
}

.other-highlight_item .text p {
  font-size: 1.4rem;
  line-height: 1.5;
}

/* 「初回クーポン」改修
----------------------------------------*/
.kv_btn {
  margin-top: 0;
}

.bnr_wrap {
  margin-top: 0;
}

.kv {
  margin-bottom: 0;
}

.first-time_coupon .item_box_small img {
	max-width: none;
	width: 100%;
}

.first-time_coupon .item_block .item_box {
	padding: 0;
}

.first-time_coupon .item_block .item_box a {
	padding: 10%;
	font-weight: bold;
	
}

.first-time_coupon .item_block .item_box .item_number {
	color: #000000;
	text-decoration: underline;
	font-size: 36px;
	margin-bottom: 10px;
}

.first-time_coupon .item_block .item_box figure {
	height: auto;
}

.first-time_coupon .ttl_first-time_coupon {
	padding-top: 30px;
}


.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
}

.modal_content {
  background: #fff;
  width: 90%;
  max-width: 400px;
  margin: 20% auto;
  padding: 25px;
  text-align: center;
  border-radius: 12px;
  position: relative;
}

.close {
  position: absolute;
  right: 15px;
  top: 10px;
  font-size: 24px;
  cursor: pointer;
}

.coupon_code {
  font-size:26px;
  font-weight:700;
  letter-spacing:3px;
  background:#f2f5f7;
  padding:14px;
  border-radius:10px;
}

button {
  background: #0099DF;
  color: white;
  border: none;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
}

button:hover {
  opacity: 0.9;
}

#copyMsg {
  margin-top: 10px;
  font-size: 12px;
  color: #0099DF;
}

.coupon_notes{
  text-align:left;
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #ddd;
  font-size:12px;
  line-height:1.7;
  color:#666;
}


#copyBtn{
  margin-top:12px;
  margin-bottom:20px;
}