@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: bold;
}
._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;
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.5;
		background: linear-gradient(to bottom, #60A6E2, #1E52B5);
		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: image-set(url(../../../../images/cnt/lp/sp/2026clearveil/bg-main.webp) type("image/webp"), url(../../../../images/cnt/lp/sp/2026clearveil/bg-main.jpg) type("image/jpeg")) 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/2026clearveil/bg-kv.webp) type("image/webp"), url(../../../../images/cnt/lp/sp/2026clearveil/bg-kv.png) type("image/jpeg")), #316CC4;
	background-size: 100%;
  background-position: bottom;
	background-repeat: no-repeat;
	color: var(--color-theme);
	font-weight: var(--font-weight-bold);
	padding: 0 0 calc(270 / 375 * 100%);
	position: relative;
}

.kv-title {
	display: flex;
	align-items: center;
	justify-content: center;
}

.kv-bnr {
	width: 100%;
	position: absolute;
	bottom: -7%;
	padding-inline: calc(14 / 375 * 100%);
	z-index: 499;
}

.kv-bnr-contact {
	margin-top: calc(29 / 375 * 100%);
}

/* intro
============================================================================================================ */
.intro {
	background-image: image-set(url(../../../../images/cnt/lp/sp/2026clearveil/bg-intro.webp) type("image/webp"), url(../../../../images/cnt/lp/sp/2026clearveil/bg-intro.png) type("image/jpeg"));
	background-size: 100%;
  background-position: bottom;
	background-repeat: no-repeat;
	position: relative;
	padding-block: calc(58 / 375 * 100%) calc(66 / 375 * 100%);
	padding-inline: calc(30 / 375 * 100%);
}

.intro-title {
	margin-block-end: calc(9 / 375 * 100%);
}

.intro-content .intro-item:not(:first-child) {
	margin-block-start: calc(20 / 375 * 100%);
}

/* highlights
============================================================================================================ */
.highlights_section{
	padding-block: calc(34 / 375 * 100%) calc(32 / 375 * 100%);
	padding-inline: calc(15 / 375 * 100%);
}

.highlights_title {
	margin-block-end: calc(20 / 375 * 100%);
}

.highlights_item {
	border-radius: 10px;
	border-radius: 30px 30px 10px 10px;
  background: #EDF6FC;
	letter-spacing: 0.05em;
}

.highlights_item:not(:first-child) {
	margin-block-start: calc(24 / 345 * 100%);
}

.highlights_item_head{
	position: relative;
	color: #fff;
}

.highlights_item_head_text {
	position: absolute;
	top: 42%;
	width: 80%;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	left: calc(24 / 375 * 100%);
	transform: translateY(-50%);
	font-size: 2.4rem;
	line-height: calc(40 / 24);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.05em;
}

.highlights_item_head_sub {
	display: inline-block;
	font-size: 1.2rem;
	padding-inline: calc(10 / 375 * 100%);
	padding-block-start: calc(5 / 375 * 100%);
}

.highlights_item_body {
	padding-block: calc(24 / 345 * 100%) calc(32 / 345 * 100%);
	padding-inline: calc(15 / 345 * 100%);
}

.highlights_item_body_title {
	text-align: center;
}

.highlights_item_body_title_sub {
	font-weight: bold;
	font-size: 1.4rem;
	color: #000;
	display: block;
}

.highlights_item_body_title_main {
	font-weight: bold;
	font-size: 2.6rem;
	color: #316CC4;
	display: block;
}

.highlights_item_body_text {
	margin-block-start: calc(20 / 345 * 100%);
}

.highlights_item_body_text p{
	margin-block-start: calc(20 / 345 * 100%);
	font-size: 1.4rem;
	line-height: calc(23 / 14);
	color: #000;
	text-align: left;
}

p.highlights_item_body_note {
	margin-block-start: calc(8 / 345 * 100%);
	font-size: 1rem;
	color: #000;
}

.highlights_item_body_text picture:not(:first-child) {
	margin-block-start: calc(20 / 345 * 100%);
}

.highlights_item_body_title_block {
	font-weight: bold;
	border: #316CC4 1px solid;
	text-align: center;
	color: #000;
	font-size: 1.6rem;
	margin-block-start: calc(12 / 345 * 100%);
	padding-block: calc(6 / 345 * 100%);
}

/* product-difference
============================================================================================================ */
.product-difference_section .section_header {
	margin-block-end: calc(15 / 375 * 100%);
}

.product-difference_title {
	font-size: 2rem;
	letter-spacing: 0.05em;
	color: #000;
}

.product-difference_scroll_box {
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding-inline: calc(15 / 375 * 100%);
  padding-block-end: calc(25 / 375 * 100%);
}

.product-difference_scroll_box::-webkit-scrollbar {
	height: 8px;
}

.product-difference_scroll_box::-webkit-scrollbar-track {
  background: #f1f1f1;
	border-radius: 8px;
}

.product-difference_scroll_box::-webkit-scrollbar-thumb {
  background: #ccc;
	border-radius: 8px;
}

.scroll_content {
  display: inline-block;
  min-width: 100%;
}

.scroll_content img {
  max-width: none !important; /* Ensure it overflows */
  width: 75rem; 
  height: auto;
  vertical-align: top;
}

.scroll_hint {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.scroll_hint .icon{
	width: 22%;
}

.scroll_hint.is-hidden {
  opacity: 0;
}

/* 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;
}

.safety_section {
  background-color: #fff;
  border-radius: 5px;
  padding: 3.2rem 1.5rem;
  margin-block-start: calc(24 / 345 * 100%);
  box-shadow: 0 4px 12px rgba(50,150,255,0.1);
}

.safety_section h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  color: #316CC4;
  margin-block-end: calc(12 / 345 * 100%);
  font-weight: bold;
  letter-spacing: 0.05em;
}

.safety_section h3 img {
  width: 2.7rem;
  height: auto;
  margin-right: 0.5rem;
}

.safety_section p {
  font-size: 1.5rem;
  line-height: 1.7;
  text-align: left;
  margin-bottom: 2.5rem;
  color: #000;
}

.safety_section .safety_section_letter {
	letter-spacing: 0.01em;
}

.safety_images {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.safety_images .img_box {
  width: calc(50% - 0.5rem);
}

/* highlight-detail_section
============================================================================================================ */
.highlight-detail_section {
	border-top: 2px solid #316CC4;
	padding-block-end: 8rem;
}

.highlight-detail_content {
  padding-inline: calc(15 / 375 * 100%);
  margin-block-start: calc(25 / 375 * 100%);
}

.highlight-detail_title {
	margin-block-start: calc(44 / 375 * 100%);
}

.highlight-detail_title_sub {
	font-size: 1.2rem;
	display: block;
	color: #000;
	margin-block-end: calc( 5 / 375 * 100%);
}

.highlight-detail_title_main {
	display: block;
	font-size: 2.4rem;
	color: #316CC4;
}

.highlight-detail_item {
  margin-bottom: 4rem;
  overflow: hidden;
  background-color: #fff;
}

.highlight-detail_head {
  padding: 0;
  margin: 0;
  background-color: #316CC4; 
  color: #fff;
  position: relative;
}

.highlight-detail_head picture {
  display: block;
}

.highlight-detail_head img {
  width: 100%;
  height: auto;
  display: block;
}

.highlight-detail_trigger {
  padding: 1rem 4rem 1.5rem 2rem;
  cursor: pointer;
  position: relative;
  background-color: #fff;
	border-bottom: 1px solid #316CC4;
}

.is-open .highlight-detail_trigger {
	border-bottom: none;
}

.highlight-detail_body {
  display: none;
  background-color: #fff;
	border-bottom: 1px solid #316CC4;
	padding-block-end: calc(20 / 345 * 100%);
}

.highlight-detail_body .pt {
	margin-block-start: calc(20 / 345 * 100%);
}

.highlight-detail_body p{
	font-size: 1.4rem;
}

.highlight-detail_body p.highlights_detail_body_note {
	margin-block-start: calc(8 / 345 * 100%);
	font-size: 1rem;
}

.highlight-detail_body .pw{
  padding-inline: 2rem;
}

.highlight-detail_body ._fwb {
	color: #316CC4;
}

.highlight-detail_body .highlights_item_body_note {
	margin-block-end: calc( 20 / 345 * 100%);
}

.highlight-detail_body_title_block {
	font-weight: bold;
	border: #316CC4 1px solid;
	text-align: center;
	color: #000;
	font-size: 1.6rem;
	margin-inline: 2rem;
	margin-block-end: calc(12 / 345 * 100%);
}

.highlight-detail_trigger_sub {
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
  display: block;
  margin-bottom: 0.5rem;
}

.highlight-detail_trigger_main {
  font-size: 2.6rem;
  font-weight: bold;
  color: #316CC4;
  display: block;
  line-height: 1.2;
}

.highlight-detail_icon {
  position: absolute;
  top: 65%;
  right: 1.5rem;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}

.highlight-detail_icon::before,
.highlight-detail_icon::after {
  content: "";
  position: absolute;
  background-color: #316CC4;
	transition: transform 0.3s ease;
  top: 50%;
  left: 50%;
	transform: translate(-50%, -50%);
}

/* Horizontal line */
.highlight-detail_icon::before {
  width: 100%;
  height: 2px;
}

/* Vertical line */
.highlight-detail_icon::after {
  width: 2px;
  height: 100%;
	transform: translate(-50%, -50%) rotate(0deg) scaleY(1);
}

.highlight-detail_item.is-open .highlight-detail_icon::after {
	transform: translate(-50%, -50%) rotate(-90deg) scaleY(1);
}

.highlight-detail_content01 {
	margin-top: 1.6rem;
	padding: 4rem 1.7rem;
	background-color: #EDF6FC;
}

.hdc01_panel + .hdc01_panel {
	margin-top: 2.4rem;
}

.hdc01_heading {
	position: relative;
	margin: 0 0 1.6rem;
	padding-left: 0.9rem;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #000;
	font-weight: 700;
	letter-spacing: .05em;
}

.hdc01_heading::before {
	content: "";
	position: absolute;
	left: 0;
	width: 3px;
	height: 100%;
	background-color: #000000;
}

.hdc01_text {
	margin: 0;
	font-size: 1.2rem;
	line-height: calc(22/12);
	color: #000;
	letter-spacing: .05em;
}

.hdc01_text ._fwb{
	color: #000;
}

.hdc01_imgbox {
	margin-top: 1.6rem;
	padding: 1rem;
	border-radius: 2px;
	background-color: #fff;
}

.hdc01_imgbox img {
	display: block;
	width: 100%;
	height: auto;
}

.hdc02_item {
	margin: 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.hdc02_card {
	padding: 2.4rem 2.4rem 2.6rem;
	border: 1px solid #316CC4;
	border-radius: 5px;
	background-color: #fff;
}

.highlight-specifications {
	margin-top: 1.4rem;
	padding: 3rem 1.5rem 6rem;
}

.highlight-specifications_title {
	margin: 0;
	font-size: 2.6rem;
	line-height: 1.2;
	text-align: center;
	font-weight: 700;
	letter-spacing: .04em;
	color: #000;
}

.highlight-specifications_list {
	margin-top: 2rem;
}

.highlight-specifications_row {
	padding: 0 0 1.6rem;
	margin: 0 0 1.6rem;
	border-bottom: 1px solid #bababa;
}

.highlight-specifications_row:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.highlight-specifications_row dt {
	margin: 0 0 .7rem;
	font-size: 1.4rem;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: .04em;
	color: #000;
}

.highlight-specifications_row dd {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.6;
	letter-spacing: .05em;
	color: #000;
}
.hdc02_badge {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: .7rem 1.1rem;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	background-color: #316CC4;
	letter-spacing: .05em;
}

.hdc02_title {
	margin: 0 0 0.5rem;
	font-size: 1.6rem;
	line-height: calc(22/12);
	font-weight: 700;
	color: #1f73ce;
	letter-spacing: .04em;
}

.hdc02_text {
	margin: 0;
	font-size: 1.2rem;
	line-height: calc(22/12);
	letter-spacing: .05em;
	color: #000;
}

.reason_section {
	position: relative;
}

.reason_bubble {
	position: absolute;
	top: -3.5rem;
	width: 87%;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
}


/* item_list
============================================================================================================ */
.item_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}
.item_list > * {
	width: calc((100% - 1.5rem) / 2);
}
.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 .ph {
	width: 10rem;
	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-bottom: 2rem;
	background-color: #fff;
	z-index: 3;
}
.type_section .section_header::before,
.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::before {
	top: -4.8rem;
}
.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: 6rem 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: 3rem 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: 26px;
		text-decoration: none;
		letter-spacing: 0.1em;
		color: #fff;
	}
	.pc_nav ul a::after {
		content: "";
		position: absolute;
		left: 0;
		top: 2px;
		width: 20px;
		height: 20px;
		background: url(../../../../images/cnt/lp/sp/2026clearveil/arrow-blue.svg) no-repeat 50%;
		background-size: 100%;
		transform: rotate(90deg);
	}
	@media (hover) {
		.pc_nav ul a:hover {
			text-decoration: underline;
		}
	}
	.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;
	}
}
