@font-face {
	font-family: Local Noto Sans JP;
	src: local("Noto Sans JP"), local("Noto Sans CJK JP Regular");
}

:root {
	--font-base: "Local Noto Sans JP", "Noto Sans Japanese", "Noto Sans JP", "Roboto", "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-roboto: "Roboto", "Noto Sans", system-ui, sans-serif;
	--font-roboto-cond: "Roboto Condensed", "Noto Sans", system-ui, sans-serif;
	--size-rate: 1;
	--col_purewhite: #FFF;
	--col_black: #333;
	--col_gray: #787878;
	--col_elogoblue: #0099d9;
	--col_wablue: #2b97ce;
	--col_ecogreen: #32cc8c;
	--col_neofutureyellow: #dbdf48;
	--col_neofutureblack: #2e2a29;
	--col_mildsporyvio: #696dab;

	--colors_swiper-pagination-bottom: 0px;
	--colors_swiper-theme-color: #333333;
	--colors_swiper-pagination-bullet-inactive-opacity: .6;
	--colors_swiper-pagination-bullet-horizontal-gap: 0.6rem;

	--caution_red: #ff0000;
}

html {
	scrollbar-gutter: stable;
}

body {
	font-family: var(--font-base);
}

section {
	overflow: hidden;
}

#main_contents a,
#main_contents .btn {
	transition-property: all;
	transition: 0.2s linear;
}

section img {
	width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

.sponly {
	display: none;
}



h1,
h2,
h3,
h4 {
	margin: 0;
	padding: 0;
}

h3 {
	border-bottom: none;
	padding-bottom: 0;
}

.fc_red {
	color: var(--caution_red);
}

.fc_white {
	color: var(--col_purewhite) !important;
}

/* .items_slider SWIPER OVERRIDE SETTINGS START */
.items_slider .swiper-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin-top: 18px;
}

/* デフォルトの矢印ボタンの「位置指定（absolute）」を解除する */
.items_slider .swiper-controls .swiper-button-prev,
.items_slider .swiper-controls .swiper-button-next {
	position: static;
	margin: 0;
	width: 22px;
	height: 22px;
	background: white;
	padding: 7px;
	border-radius: 15px;
}

::slotted(svg),
svg {
	fill: #333;
}

/* 矢印の形や色をカンプに合わせる（例：青色にするなど） */
.items_slider .swiper-controls .swiper-button-prev::after,
.items_slider .swiper-controls .swiper-button-next::after {
	font-size: 20px;
	/* 矢印のサイズ */
	font-weight: bold;
}

/* ページネーション（ドット）の幅を自動にする */
.items_slider .swiper-controls .swiper-pagination {
	position: static;
	width: auto;
	background: white;
	border-radius: 15px;
	/* 角丸はお好みで調整 */

	/* --- 高さ調整のコア設定 --- */
	height: 24px;
	/* 全体の高さを24pxに固定 */
	display: flex;
	/* 中のドットを並べる */
	align-items: center;
	/* 上下中央に配置 */
	justify-content: center;
	padding: 0 12px;
	/* 左右の余白（上下パディングは不要になります） */
	box-sizing: border-box;
	/* パディングを含めて24pxにする設定 */
}

.items_slider .swiper-pagination-bullet {
	transition: all 0.3s;
	width: 6px;
	/* ドットの基本サイズ */
	height: 6px;
	margin: 0 4px !important;
	/* ドット間の間隔 */
}

.items_slider .swiper-pagination-bullet-active {
	width: 24px;
	border-radius: 10px;
}


.items_slider.slider_wrap {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 20px 3.2vw;
}

@media (min-width:1300px) {
	.items_slider.slider_wrap {
		max-width: 71.2vw;
	}
}

@media (max-width:767px) {
	.items_slider.slider_wrap {
		margin: 0 0 8vw 5.2vw;
		padding: 0 0 5vw;
	}

	.items_slider .swiper-controls {
		margin-top: 1vw;
		justify-content: flex-start;
		margin-left: calc(52% - 31vw);
	}

	.items_slider .swiper-controls .swiper-button-prev,
	.items_slider .swiper-controls .swiper-button-next {
		width: 5vw;
		height: 5vw;
		padding: 1.9%;
		border-radius: 18px;
	}

	.items_slider .swiper-controls .swiper-pagination {
		height: 5vw;
		padding: 0 1vw;
		border-radius: 18px;
		gap: 0.1vw;
	}

	.items_slider .swiper-pagination-bullet {
		width: 1.8vw;
		height: 1.8vw;
	}

	.items_slider .swiper-pagination-bullet-active {
		width: 8vw;
		border-radius: 12px;
	}

	.items_slider .swiper-button-lock,
	.items_slider .swiper-pagination-lock {
		display: flex !important;
		opacity: 0.65;
		cursor: default;
		pointer-events: none;
	}
}

.item_card {
	cursor: pointer;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.item_card figure {

	line-height: 0;
	border-radius: 8px;
	overflow: hidden;
}

.item_card figure img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: bottom;
	transition: transform 0.4s ease;
}

.item_card img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.item_card a {
	text-decoration: none;
	display: block;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
}

.item_card a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

/* 文字の設定（::after） */
.item_card a::after {
	content: "詳しく見る";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.1em;
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 2;
	white-space: nowrap;
}

.item_card a:hover::before,
.item_card a:hover::after {
	opacity: 1;
}

.item_card:hover figure {
	/* 2. 浮き上がりに合わせて影を強くする */
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6);
}

.item_card:hover figure img {
	/* 3. 枠の中で画像だけをズームさせる */
	transform: scale(1.1);
}

/* SWIPER OVERRIDE SETTINGS END */



/* COLORS_SWIPER SETTINGS START*/
.colors_swiper-pagination .swiper-pagination-bullet {
	width: 24px;
	height: 24px;
	border: solid 1px #787878;
	opacity: 0.6;
}

.colors_swiper-pagination .swiper-pagination-bullet-active {
	opacity: 1;
}

.colors_swiper-pagination .swiper-pagination-bullet_1 {
	background: linear-gradient(to bottom,
			#575757 0%,
			#575757 30%,
			#655f8f 30%,
			#655f8f 100%);
}

.colors_swiper-pagination .swiper-pagination-bullet_2 {
	background: linear-gradient(to bottom,
			#575757 0%,
			#575757 30%,
			#c6bf6f 30%,
			#c6bf6f 100%);
}

.colors_swiper-pagination .swiper-pagination-bullet_3 {
	background: linear-gradient(to bottom,
			#575757 0%,
			#575757 30%,
			#da816f 30%,
			#da816f 100%);
}

.colors_swiper-pagination .swiper-pagination-bullet_4 {
	background: linear-gradient(to bottom,
			#000 0%,
			#000 30%,
			#f5f5f5 30%,
			#f5f5f5 100%);
}

.colors_swiper-pagination .swiper-pagination-bullet_5 {
	background: linear-gradient(to bottom,
			#000 0%,
			#000 30%,
			#777578 30%,
			#777578 100%);
}

.colors_swiper-pagination .swiper-pagination-bullet_6 {
	background: #f5f5f5;
}

.colors_swiper-pagination .swiper-pagination-bullet_7 {
	background: #777578;
}

.colors_swiper-pagination .swiper-pagination-bullet_8 {
	background: #281c2a;
}

.colors_swiper-pagination .swiper-pagination-bullet_9 {
	background: #9BBDCC;
}

.colors_swiper-pagination .swiper-pagination-bullet_10 {
	background: #a47f62
}

.colors_swiper {
	margin-bottom: 10px;
}

.colors_swiper-container {
	position: relative;
	padding-bottom: 51px;
	overflow: hidden;
	width: 74vw;
}

.colors_swiper-slide {
	width: 66vw;
	text-align: center;
}

.colors_swiper-slide {
	opacity: 0;
	pointer-events: none;
}

.colors_swiper-slide.swiper-slide-active {
	opacity: 1;
	pointer-events: auto;
	transition: all 1s ease-in-out;
}

.colors_swiper-slide p {
	font-size: 14px;
	padding-top: 1.55vw;
	padding-bottom: 0;
	margin: 1vw 0 0;
	font-weight: 700;
	text-align: center;
}

div.colors_swiper-slide {
	font-size: 18px;
	font-weight: 600;
	max-width: 66vw;
}

div.colors_swiper-slide>img {
	margin-bottom: 27px;
}

.pagenation_container {
	display: flex;
	justify-content: center;
	text-align: center;
	position: absolute;
	top: 39.7vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	width: 100%;
}

@media(max-width:750px) {
	.styles {
		padding-bottom: 50px;
	}

	div.colors_swiper-slide {
		font-size: 3vw;
		max-width: 75vw;
	}

	.colors_swiper-container {
		padding-bottom: 7.2vw;
		width: 97vw;
	}

	.colors_swiper-slide p {
		font-size: 2.2vw;
		padding-top: 3.5vw;
	}

	.colors_swiper-slide {
		width: 74.6vw;
		text-align: center;
		margin-top: 4.5vw;
	}

	#mainContents .colors_swiper-slide p {
		font-size: 3.8vw;
		padding-top: 6.1vw;
		padding-bottom: 0vw;
	}

	#white_accent>div>div.car_image>div>div.pagenation_container {
		width: 95vw;
		top: 51vw;
	}

	.colors_swiper-pagination .swiper-pagination-bullet {
		width: 5vw;
		height: 5vw;
		border: solid 1px #333;
	}
		.swiper-button-next,
		.swiper-button-prev {
					height: 22px;
			width: 22px;
		}

}


/* COLORS_SWIPER SETTINGS END*/






.content-wrapper {
	width: 85.7vw;
	margin: 0 auto;
	position: relative;
}

/* ページ内リンク */
.inpage_link {
	text-align: center;
	padding: 8.99vw 20px;
}

.section_ttl {
	font-weight: bold;
	color: #888;
	margin: 2px 0 10px;
	padding: 0;
	font-size: clamp(20px, 1.8vw, 24px);
	text-align: center;
}

/* 親コンテナ */
.link_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	/* max-width: 1200px; */
	margin: 0 auto;
}

/* 各リンク（ボタン） */
.link_container a {
	flex: 0 0 19vw;
	transition: all 0.3s;
}

.link_container a:hover {
	opacity: 0.8;
	transform: translateY(3px);
}

.link_container img {
	width: 100%;
	/* コンテナ幅に合わせる */
	height: auto;
	display: block;
}

/* --- スマホ版（SP）の調整 --- */
@media (max-width: 768px) {
	.inpage_link {
		padding: 8vw 20px;
	}

	.section_ttl {

		font-size: 5.3vw;

	}

	.link_container {
		gap: 4vw 2.6vw;
		width: 67.8vw;
	}

	.link_container a {
		flex: 0 0 48%;
		max-width: none;
		/* PC用の制限を解除 */
		min-width: 0;
		/* PC用の制限を解除 */
	}

}

#cat-link {
	padding: 1vw 0 4vw;
}

.cat-link-list {
	margin: auto;
	width: 69.83894583vw;
}


/*                                                                                          option*/
.option {
	padding: 45px 0 4.43vw;
	background-color: #fff;
	color: #000;
	background: url(../../img/esky/bg_others.webp) no-repeat center top / cover;
}

.option .section-headline {
	font-size: 28px;
	color: #333;
	font-weight: bold;
	text-align: center;
	letter-spacing: .15em;
	width: 322px;
	margin: auto;
	border-bottom: 1px solid #ccc;
	padding: 0 0 10px;
}

.option-box {
	width: 85.7vw;
	margin: auto;
	position: relative;
	padding: 40px 0;
	border-bottom: 1px solid rgba(0, 98, 160, 0.5);
}

.option-box__title {
	font-size: 18px;
	font-weight: bold;
	color: #305ccd;
	text-align: center;
	margin: 0 0 20px;
	border: none;
}

.option-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 1;
}

.option-inner .option-img {
	margin: 0 33px 0 0;
}

.option-inner .option-img.filter {
	width: 27.5vw;
}

.option-inner .option-img.aircoorde {
	width: 32.7vw;
}

.option-inner .option-img.yoman {
	width: 32.7vw;
}

.option-data {
	flex: 1 1 0%;
}

.option-data__text {
	font-size: 14px;
	margin: 0 0 16px;
	text-align: left;
}

.option-data__text--strong {
	text-align: left;
	vertical-align: top;
	font-size: 18px;
	font-weight: bold;
	color: #305ccd;
	margin: 0 0 15px;
}

.option-data .option-data__text--strong {
	color: #305CCD;
}

.option-data__text--strong__notes {
	font-size: 10px;
	display: inline-block;
	vertical-align: top;
	padding: 3px 0 0;
}

.option-data__pm25 {
	margin: 0 0 7px;
}

.option-data__pm25 img {
	max-width: 187px;
}

.option-data__logo img {
	max-width: 250px;
}

.option-data__item-name {
	font-size: 19px;
	font-weight: bold;
	text-align: left;
	margin: 0;
}

.option-data__item-name--ja {
	font-size: 10px;
	letter-spacing: .45em;
	display: block;
	line-height: .5;
}

.option-data__price {
	font-size: 16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 0 10px;
}

.option-data__price--value {
	font-size: 24px;
	font-weight: bold;
}

.option-data__price--value__cautions {
	font-size: 12px;
	color: #f00;
	border: 1px solid #f00;
	padding: 6px;
	margin: 0 0 0 24px;
}

.option-data__price_mult {
	align-items: center;
	display: grid;
	grid-template-columns: 5.7vw 1fr;
	gap: 0.3vw 0.5vw;
	margin-bottom: 1vw;
}

.option-data__price_mult dt {
	background-color: #338D27;
	color: #fff;
	font-size: 0.86vw;
	font-weight: 400;
	padding: 0.5vw;
	text-align: center;
}

.option-data__price_mult dd {
	color: #5c5c5c;
	margin: 0;
}

.option-data__price_time {
	border: 1px solid #000;
	border-radius: 0.4vw;
	margin-left: 0.8em;
	padding: 0.1em 0.5em;
}

.option-data__notes {
	font-size: 12px;
	text-align: left;
	text-indent: -2.5em;
	padding: 0 0 0 2.5em;
	margin: 0;
}

.option-data__notes.type-02 {
	text-indent: 0;
	padding: 0 0 0 0;
}

.option-data__logo {
	margin: 0 0 10px;
}

.option-data__link {
	margin: 20px 0 0;
}

.option-data__link a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 310px;
	height: 38px;
	font-size: 19px;
	font-weight: bold;
	color: #233f93;
	background: #fff;
	border: 1px solid #233f93;
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
}

.option-data__link a:hover {
	background: #233f93;
	color: #fff;
	text-decoration: none;
}

.catalog {
	background-color: #fff;
	color: #000;
	border-bottom: 1px solid rgba(38, 38, 38, .15);
	padding-bottom: calc(var(--size-rate) * 100px);
}

.catalog .section-headline {
	width: 100%;
	height: 50px;
	border-radius: 25px;
	border: 2px solid var(--col_black);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 19px;
	font-weight: bold;
	color: var(--col_black);
	margin: 0 0 17px;
}

.catalog .catalog-inner {
	width: 85.7vw;
	margin: auto;
	position: relative;
	z-index: 1;
}

.catalog .catalog-bnr {
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.catalog .catalog-bnr a img {
	width: 100%;
}

.catalog .catalog-bnr a {
	display: block;
	width: 24%;
}




.catalog_intro {
	display: flex;
	margin-top: 2.928257687vw;
	margin-bottom: 2.562225476vw;
}

.catalog_intro>div {
	width: 50%;
}

.catalog_intro>div>h3 {
	font-style: normal;
	font-weight: 700;
	font-size: clamp(24px, 2.34vw, 40px);
	line-height: 150%;
	color: var(--col_navy);
}

.catalog_intro>div>p {
	font-style: normal;
	font-weight: 700;
	font-size: clamp(14px, 1.32vw, 22px);
	line-height: 175%;
	color: var(--col_black);
}

/*                                                                   KV*/

.main_contents-area .kv_wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	position: relative;
}

/*                                                                kv  */
/*高さや位置はJS制御となった*/
.kv_wrap {
	position: relative;
	width: 100%;
	/* height: calc(100vh - 127px); */
	min-height: 500px;
	overflow: hidden;
	clip-path: inset(0);
}

.bg_movie {
	position: fixed;
	/* top: calc(50% + 50px); */
	left: 0;
	width: 100%;
	/* height: calc(100vh - 100px); */
	z-index: 0;
	pointer-events: none;
	/* transform: translateY(-50%); */
}


.bg_movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}


.kv_overlay {
	position: absolute;
	bottom: 3vw;
	left: 0;
	width: min(36vw, 400px);
	transform: translate(0, 0);
	z-index: 1;
}

.mv_logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2vw 5vw 1.5vw 5vw;
	gap: 0.1vw;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 0 131px 131px 0;
}

.mv_logo>p {
	font-weight: 700;
	font-size: 1.464vw;
	line-height: 150%;
	text-align: center;
	color: #333;
}


h1 {
	color: #000;
	font-size: 1.43vw;
	text-align: center;
}

.catalog-notes__list--item {
	font-size: 12px;
	margin-bottom: 6px;
	line-height: 140%;
}

.catalog-notes__list {
	text-indent: -0.7em;
	padding-left: 0.7em;
}
@media (min-width:1500px){
	.mv_logo {
			padding: 40px 40px 40px 20px;
				}
.mv_logo>p {
		font-size: 22px;
	}
}
@media (max-width: 767px) {
	.kv_overlay {
		width: 53vw;
			bottom: 10vw;
	}

	.mv_logo {
		padding: 2.9vw 5vw 1.5vw;
		gap: 1.5vw;
	}

	.mv_logo>p {
		font-size: 2.18vw;
		margin: 0;
	}

	.catalog-notes__list {
		text-indent: -0.7em;
		padding-left: 0.7em;
	}

	.catalog-notes__list {
		width: 95%;
		margin: 0 auto;
		padding-top: 10px;
	}
}

.est_time_caption--blank {
	display: inline-block;
	width: 30px;
	height: 17px;
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	margin: 0 2px;
	vertical-align: bottom;
}

.est_time_caption {
	display: inline;
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	padding: 0 4px;
	margin-right: 1px;
}


@media (max-width:767px) {
	.sponly {
		display: block;
	}

	.main_contents-area {
		max-width: 100%;
		overflow: hidden;
	}



	.content-wrapper {
		padding: 0 4vw;
		width: 100%;
	}

	#top-mv {
		position: relative;
		/* aspect-ratio: 375 / 402; */
		}

	#top-mv img {
		width: 100%;
	}


	.cat-main {
		margin-bottom: 30px;
		padding-top: 40px;
	}

	.cat-ttl {
		font-size: 20px;
		padding-left: 27px;
	}

	#cat02 .cat-main {
		padding-bottom: 0;
	}

	.cat-main {
		margin-bottom: 0;
		padding-top: 27px;
	}

	#cat-link {
		padding: 1vw 0 2vw;
	}

	.cat-ttl {
		font-size: 20px;
		padding-left: 17px;
		margin: 0;
	}

	.main_contents-area img.cat_icn {
		width: 40px;
		height: 40px;
		margin: 0 10px 0 0;
		padding: 4px 3px 8px 3px;
		border-radius: 50%;
	}


	.option {
		padding: 8vw 5vw;
		width: 100%;
		overflow: hidden;
	}

	.option p {
		color: #333;
	}

	.option-data__price {
		font-size: 12px;
	}

	.option-box__title {
		font-size: 16px;
	}

	.option-inner {
		display: block;
	}

	.option-box {
		width: 100%;
		padding: 10vw 0;
	}

	.option-inner .option-img.filter {
		min-width: 100%;
		margin-bottom: 5vw;
	}

	.option-inner .option-img.aircoorde {
		min-width: 100%;
		margin-bottom: 5vw;
	}

	.option-data__pm25 img {
		max-width: 37.5%;
	}

	.option-data__text--strong {
		font-size: 16px;
	}

	.option-data__item-name {
		font-size: 17px;
		margin-bottom: 10px;
	}

	.option-data__notes {
		font-size: 10px;
		text-align: left;
		text-indent: -2.5em;
		padding: 0 0 0 2.5em;
	}

	.option-data__logo {
		width: 60%;
		margin: 20px 0;
	}

	.option-data__logo.yoman {
		margin: 20px auto;
	}

	.option-data__link a {
		width: 100%;
	}

	.option-inner .option-img.yoman {
		margin-bottom: 5vw;
		min-width: 100%;
	}

	.option-data__price_mult {
		grid-template-columns: 80px 1fr;
		gap: 20px 7px;
		margin-bottom: 12px;
	}

	.option-data__price_mult dt {
		font-size: 12px;
		padding: 5px;
		text-align: center;
	}

	.option-data__price_time {
		border: 1px solid #000;
		border-radius: 0.4vw;
		margin-left: 0.8em;
		padding: 0.1em 0.5em;
	}

	.catalog {
		margin-bottom: 10vw;
	}

	.catalog .section-headline {
		margin-top: 21px;
		font-size: 86%;
		margin: 0px auto 20px;
	}

	.catalog .catalog-inner {
		width: 100%;
		padding: 0 5vw;
	}

	.catalog .catalog-bnr {
		margin-bottom: 0;
		gap: 4vw;
	}

	.catalog .catalog-bnr a img {
		width: 100%;
	}

	.catalog .catalog-bnr a {
		display: block;
		width: 43vw;
	}

	footer .l-sitemap {
		padding-top: 75px;
	}

	.wrap {
		width: 100%;
	}

	.kv_name {
		font-family: var(--font-base);
		font-style: normal;
		font-weight: 400;
		font-size: clamp(13.483px, 3.595vw, 18px);
		line-height: 150%;
		text-align: center;
		color: #333333;
	}

	p.catalog-btn {
		padding: 0;
		margin: 0px 0 8.5vw;
	}

	.cat-link-list {
		margin: auto;
		width: 89.84vw;
	}

	.catalog-btn a span {

		margin: 0.2rem 0 0 0;
	}

	.catalog-btn a {
		width: 90%;
	}

	.catalog-btn a {
		font-size: 3.7vw;
		padding: 5vw 0 0 31vw;
		height: 28vw;
		border-radius: 8px 8px 13vw 8px;
		width: 100%;
	}

	.catalog-btn a::before {
		width: 4vw;
		height: 4.7vw;
		right: 5vw;
		top: 50%;
		transform: translateY(-50%);
	}

	.catalog-btn a span.catalog-decoration-title {
		font-size: 3.1vw;
		letter-spacing: 0.05em;
		margin: 0;
	}

	.catalog-btn a:after {
		position: absolute;
		left: 5%;
		top: 21%;
		content: "";
		width: 24%;
		height: 75%;
		margin-top: -2vw;
	}

	.catalog-btn a:hover {
		opacity: 0.50;
		text-decoration: none;
	}

	.catalog_intro>div>p {
		font-style: normal;
		font-weight: 700;
		font-size: 16px;
		line-height: 175%;
		color: var(--col_black);
	}
}

@media only screen and (max-width: 767px) {
	img {
		max-width: 100%;
	}
}

@media (max-width: 576px) {
	.catalog .catalog-bnr a {
		display: block;
		width: 100%;
	}
}

/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　inpagelink*/


/*                                                               specialmovie*/
.special_movie {
	background: #E6F0F5;
	padding: 3.1vw 20px 2vw;
}

.special_movie_items_wrap {
	margin: 4vw auto;
	width: 80.5vw;
}

.special_movie_items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.5vw;
	margin-top: 6.2vw;
}

.movie_title {
	font-style: normal;
	font-weight: 700;
	font-size: 1.65vw;
	text-align: center;
	color: #333333;
	margin-bottom: 25px;
}

.movie_items_link {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin: 23px auto;
	width: 29.5vw;
	gap: 1.25vw;
}

.movie_items_link a {
	display: block;
	transition: all 0.3s;
}

.movie_items_link a:hover {
	opacity: 0.8;
	transform: translateY(3px);
}

@media (max-width: 767px) {
	.special_movie_items {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 11vw;
	}

	.movie_items_link {
		width: 79.5vw;
	}

	.movie_title {
		font-size: 15px;
	}
}

/*                               cars*/
.outer_wrap {
	border-radius: 0px 0px 0px 120px;
	padding-bottom: 4.8vw;
	margin-bottom: 3.5vw;
}

.item_wrap_outer {
	border-radius: 0px 0px 0px 90px;
	margin-left: 4.85vw;
}

.item_wrap_inner {
	padding: 4.2vw 0px 0.7vw 5vw;
	margin: 0 auto;
}

@media (max-width: 767px) {
	.outer_wrap {
		border-radius: 0px 0px 0px 40px;
		padding-bottom: 4.8vw;
		margin-bottom: 3.5vw;
	}

	.item_wrap_inner {
		padding: 8vw 0px 0 7vw;
		margin: 0 auto;
	}

	.item_wrap_outer {
		border-radius: 0px 0px 0px 50px;
		margin-left: 9.85vw;
	}
}

/*                                                                     mildsporty*/
.mild_sporty .outer_wrap {
	background: #696DAB;
}

.mild_sporty .item_wrap_outer {
	background: rgba(255, 254, 254, 0.5);
}

.mild_sporty .title {
	background: url(../../img/esky/img_mildsporty_bg.webp) center / cover;
	aspect-ratio: 1366 / 410;
	position: relative;
}

.mild_sporty .title>img {
	position: absolute;
	top: 4vw;
	left: 14vw;
	width: 42vw;
}

.car_image {
	display: flex;
	justify-content: center;
}

.car_image>picture>img {
	display: block;
	width: 72vw;
}

.car_movie {
	margin-bottom: 83px;
}

.car_movie_title {
	margin: 0.8vw auto;
	width: 23.5vw;
}

.mild_sporty .item_name {
	color: var(--col_purewhite);
}

@media (max-width: 767px) {
	.mild_sporty .title {
		background: url(../../img/esky/img_mildsporty_bg_SP.webp) center / cover;
		aspect-ratio: 375 / 150;
	}

	.mild_sporty .title>img {
		width: 65vw;
	}

	.car_image>picture>img {
		width: 85vw;
	}

	.car_movie_title {
		margin: 1vw auto 30px;
		width: 67vw;
	}
}

/*                                                                  neo_future */

.neo_future .outer_wrap {
	background: #2E2A29;
}

.neo_future .item_wrap_outer {
	background: #DBDF48;
}

.neo_future .title {
	background: url(../../img/esky/img_neofuture_bg.webp) center / cover;
	aspect-ratio: 1366 / 410;
	position: relative;
}

.neo_future .title>img {
	position: absolute;
	top: 4vw;
	left: 14vw;
	width: 42vw;
}

.neo_future .car_image>img {

	margin-top: -11px;
}

.neo_future .car_movie_title {
	margin: 11px auto;
	width: 26.5vw;
}

@media (max-width: 767px) {
	.neo_future .title {
		background: url(../../img/esky/img_neofuture_bg_SP.webp) center / cover;
		aspect-ratio: 375 / 150;
	}

	.neo_future .car_movie_title {
		width: 67vw;
	}

	.neo_future .title>img {
		width: 65vw;
	}

}

/*                                                                  white_accent */

.white_accent .outer_wrap {
	background: #C0E5F8;
}

.white_accent .item_wrap_outer {
	background: #2B97CE;
}

.white_accent .title {
	background: url(../../img/esky/img_white_bg.webp) center / cover;
	aspect-ratio: 1366 / 410;
	position: relative;
}

.white_accent .title>img {
	position: absolute;
	top: 4.5vw;
	left: 14vw;
	width: 42vw;
}

.white_catch {
	text-align: center;
	margin: 0 auto 2vw;
}

.white_catch p.large {
	font-style: normal;
	font-weight: 700;
	font-size: 2.343vw;
	line-height: 150%;
	text-align: center;
	color: #333333;
	margin: 17px auto;
}

.white_catch p.small {
	font-style: normal;
	font-weight: 700;
	font-size: 1.464vw;
	line-height: 150%;
	/* または24px */
	text-align: center;
	color: #333333;

}

.white_accent .item_name {
	color: white;
}

@media (max-width: 767px) {
	.white_catch p.large {
			font-size: 24px;
		}
				.white_catch p.small {
					font-size: 16px;
								}
	.white_accent .title>img {
		width: 62vw;
	}
}

/* 　　　　　　　　　　　　　　　　　　　　　　　　アクセ別枠 */
.extras.inpage_link {
	padding: 50px 20px;
}

.extras .link_container a {
	flex: 0 0 18.5vw;
}

@media (max-width: 767px) {
	.extras.inpage_link {
			padding: 25px 20px;
		}
	.extras .link_container {
		gap: 3vw;
		width: 90vw;
	}

	.extras .link_container a {
		flex: 0 0 42.5vw;
	}
}

/* 　　　　　　　　　　　　　　　　　　　　　　　　クオーターガーニッシュ */
.acc_inner_title h2 {
	font-style: normal;
	font-weight: 900;
	font-size: 40px;
	line-height: 130%;
	text-align: center;
}

.acc_inner_title h2>span {
	font-style: normal;
	font-weight: 900;
	font-size: 32px;
	line-height: 130%;
	text-align: center;
}

.acc_inner_category {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 16px auto 52px;
}

.acc_inner_category>div>img {
	max-width: 173px;
}

.acc_inner_category>div>p {
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	display: flex;
	align-items: center;
	color: var(--col_black);
	margin: 0 0 0 8px;
}

.acc_inner_h3 {
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 150%;

	text-align: center;

	color: var(--col_black);

}

.quater_garnish h2 {
	color: var(--col_elogoblue);
}

.quater_garnish {
	width: 100%;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 111px 20px;
	background: linear-gradient(to bottom, #C7D9FF 0%, #FFEFDA 58%);
}

/* 💡 擬似要素で背景画像レイヤーを作成 */
.quater_garnish::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;

	/* 背景画像をセット */
	background: url("../../img/esky/img_exterior_bg.webp") no-repeat center bottom / 100% auto;

	/* 💡 ここで背景画像だけの透明度を調整（例: 0.5 で50%の薄さ） */
	opacity: 0.8;
}

.acc_items_outer {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 59vw;
	margin: 49px auto 77px;
	gap: 7px;
}

.acc_item {
	display: flex;
	flex-wrap: wrap;
}

.acc_item_text {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 120%;
	text-align: center;
	color: #FFFFFF;
	background: #787878;
	border-radius: 0px 0px 10px 10px;
	width: 100%;
	padding: 7px;
}

.acc_body_title {
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 150%;
	color: var(--col_black);
	text-align: center;
}

.acc_body_title>span {
	color: var(--col_elogoblue);
	padding: 0 36px 0 37px;
}

.acc_body_catch {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	color: #787878;
	letter-spacing: 0.05rem;
}

.quater_garnish_outer {
	border: 3px solid transparent;
	border-radius: 60px;
	background: linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(to bottom, #7bc1ff, #ffd39d) border-box;
	padding: 58px 20px 48px;
	max-width: 980px;
}

.acc_body_outer {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 29px auto;
	width: 95%;
	gap: 32px;
}

.quater_garnish .acc_inner_category>div>img {
	max-width: 143px;
}

.acc_body_sample_text {
	border-radius: 20px;
	color: var(--col_black);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 4.6rem;
	margin-bottom: 17px;
	padding: 0 1rem;
}

.acc_body_sample_text>p {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 120%;
}

.acc_body_sample_text.sbst_1 {
	border: 1px solid #DD816A;
}

.acc_body_sample_text.sbst_2 {
	border: 1px solid #A77F5E;
}

.acc_body_sample_text.sbst_3 {
	border: 1px solid var(--col_neofutureyellow);
}

.acc_body_sample_name {
	margin: 14px 0;
}

.acc_body_sample_name>p {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 120%;
	text-align: center;
	color: var(--col_black);
}

.acc_body_sample_name>p>span {
	font-size: 12px;
	line-height: 150%;
}

.garnish_price_wrap {
	margin: 46px auto;
	width: 50%;
	min-width: 467px;
}

.garnish_price_wrap>h4 {
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 150%;
	color: #333333;
	border-left: none;
	position: relative;
	margin: 0 auto 9px;
}

.garnish_price {
	display: flex;
	border-top: #333 2px solid;
	justify-content: space-between;
}

.grade {
	display: flex;
	align-items: end;
}

.grade {
	display: flex;
	align-items: end;
	gap: 5px;
	margin-bottom: 7px;
}

.grade>span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0px 8px;
	gap: 8px;

	background: var(--col_elogoblue);
	border-radius: 3px;

	font-style: normal;
	font-weight: 400;
	font-size: 12px;
	line-height: 150%;
	color: var(--col_purewhite);

}

.pricing {
	display: flex;
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 83%;
	color: #333333;
	align-items: baseline;
}

.quater_garnish .pricing {
	margin-top: 11px;
	font-size: 40px;
}

.pricing>span {
	font-size: 16px;
}

.quater_garnish .pricing>span {
	font-size: 19px;
}

.pricing>.time {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0px 7px;
	gap: 6px;
	margin-left: 15px;
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 132%;
	color: #333333;
}

.garnish_outro {
	margin: 56px 20px 20px;
}

.garnish_outro p {
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 150%;
	text-align: center;
	color: #1E1E1E;
}

/* ボタンを画面中央に配置する親枠 */
.garnish_outro_btn {
	text-align: center;
	margin: 14px auto;
	width: 100%;
}

/* ボタン本体 */
.garnish_outro_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	/* width: 58.5vw; */
	max-width: 800px;
	height: 7.4vw;
	max-height: 100px;
	margin: 0 40px;
	background-color: #0099D9;
	border-radius: 35px;
	color: #ffffff;
	font-size: 2.343vw;
	font-weight: 700;
	text-decoration: none;
	padding: 0 60px;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

@media (max-width: 767px) {
	.acc_inner_title h2>span {
		font-size: 5.333vw;
	}

	.acc_inner_title h2 {
		font-size: 6.4vw;

	}

	.acc_inner_category>div>img {
		max-width: none;
		width: 38vw;
	}

	.acc_inner_category>div>p {
		font-size: 4.333vw;
	}
}

@media (min-width:1350px) {
	.garnish_outro_btn a {

		width: 880px;
		height: 120px;
		margin: 0 auto;
		font-size: 40px;
	}
}

/* 💡 右側の「＞」矢印アイコン（CSS描画） */
.garnish_outro_btn a::after {
	content: "";
	position: absolute;
	right: 48px;
	top: 50%;
	width: 20px;
	height: 20px;
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
	transition: transform 0.3s ease, right 0.3s ease;
}

/* 💡 ホバー時の演出（ほんのり明るくし、矢印を右に少し動かす） */
.garnish_outro_btn a:hover {
	opacity: 0.85;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(0, 153, 217, 0.3);
}

.garnish_outro_btn a:hover::after {
	right: 26px;
	/* ホバーで矢印がスッと右に移動 */
}


/* --- スマホ対応 (SP: 768px以下) --- */
@media (max-width: 768px) {

.quater_garnish {
		padding: 56px 13px;
	}

	.quater_garnish_outer {
		border-radius: 30px;
		padding: 8vw 8vw;
	}

	.acc_items_outer {
		grid-template-columns: repeat(2, 1fr);
		max-width: none;
		margin: 3vw auto;
	}

	.acc_body_outer {
		grid-template-columns: repeat(1, 1fr);

	}

	.acc_inner_category {
		margin: 5vw auto 5.5vw;
	}

	.acc_inner_h3 {

		font-size: 4.267vw;
	}

	.acc_item_text {
		font-size: 3.2vw;
	}

	.acc_body_title {
		margin-top: 13vw;
		font-size: 6.4vw;
	}

	.garnish_price_wrap {
		margin: 46px auto;
		width: 100%;
		min-width: auto;
	}

	.garnish_price_wrap>h4 {
		font-size: 5vw;
	}

	.quater_garnish .pricing {
		margin-top: 1vw;
		font-size: 10vw;
	}

	.quater_garnish .pricing>span {
		font-size: 3.7vw;
	}

	.garnish_price {
		flex-direction: column;
		padding-top: 5vw;
	}

.garnish_outro {
	margin: 28px 0px 10px;
}

.garnish_outro p {
	font-size: 4.1vw;
}

.garnish_outro_btn a {
	width: 77vw;
	height: 15vw;
	font-size: 5.2vw;
	border-radius: 6vw;
	padding: 0;
	margin: 5vw auto 0;
}

	.garnish_outro_btn a::after {
		right: 6vw;
		width: 2.2vw;
		height: 2.2vw;
		border-width: 2px;
	}
}

/* 　　　　　　　　　　　　　　　　　　　　　　　　フロアマット */
.floor_mat {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	position: relative;
	z-index: 1;
	background: linear-gradient(to bottom, #E5F7F0 0%, #FDFFB0 100%);
	padding: 112px 20px;
	margin-bottom: 72px;
}

/* 💡 擬似要素を使って背景画像レイヤーを作る */
.floor_mat::before {
	content: "";
	position: absolute;
	inset: 0;
	/* top:0; right:0; bottom:0; left:0; の短縮形 */
	z-index: -1;
	/* 中身のコンテンツより後ろに配置 */

	/* 重ねたい画像を背景にセット */
	background:
		url("../../img/esky/img_basic_bg_01.webp") no-repeat left top / clamp(250px, 30vw, 450px) auto,
		url("../../img/esky/img_basic_bg_02.webp") no-repeat center bottom / 100% auto;

	/* 💡 ここで画像の不透明度を自由に変更できます！（例: 50%に薄くする） */
	opacity: 0.5;
}

.floor_mat h2 {
	color: #32CC8C;
}

.floor_mat_outer {
	border: 3px solid transparent;
	border-radius: 60px;
	background: linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(to bottom, var(--col_ecogreen), #31e431) border-box;
	padding: 4vw 5vw;
	max-width: 980px;
}

.floor_mat_main {
	display: flex;
	gap: 35px;
}

.icon_container {
	display: flex;
	align-items: center;
}

.note_bg_orange {
	display: inline-block;
	padding: 1px 10px;
	background: #FF6363;
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 150%;
	text-align: center;
	color: #FFFFFF;
}

.floor_mat_main p {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 150%;

	color: #333333;

}

.floor_mat_main p.floormnat_catch {
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 150%;
	color: #32CC8C;
	margin: 7px 0;
}

.floor_mat_main p.floormat_name {
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 120%;
	color: #333333;
	margin: 6px 0;
}

.grades_box1 {
	margin: 15px 0 8px;
}

.grades_box1>div>p {
	margin: 7px 0 0;
}

.floor_mat_main .grade {
	gap: 7px;
}

.grades_box2>div>p {
	margin: 7px 0 0;
}

.floor_mat_main p.body {
	margin: 0;
}

.floor_mat_monomaterial {
	display: flex;
	justify-content: center;
	align-items: start;
	margin: 58px auto 40px;
	width: 88%;
	gap: 14px;
}

.floor_mat_monomaterial>div:nth-of-type(1) {
	flex: 0 0 22%;
}

.floor_mat_monomaterial p {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 148%;
	color: #333333;
	margin: 0;
}

.floor_mat_explain_img {
	width: 63%;
	margin: 0 auto 57px;
	min-width: 500px;
}

.floor_mat_explain {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 21px;
	margin-bottom: 80px;
}

.floor_mat_explain h4 {
	border-left: none;
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 150%;
	text-align: center;
	color: #333333;

}

.floor_mat_explain_txt {
	border-top: 2px solid var(--col_black);
	margin-top: 9px;
}

.floor_mat_explain_txt p {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;

	color: #333333;
}

.caution-area_red {
	border: solid 1px #ff0000;
	margin: 54px 0 11px;
}

.caution-area_red p {
	font-style: normal;
	font-weight: 700;
	font-size: 12px;
	line-height: 150%;
	margin: 4px 6px;
	color: #FF0000;
}

.caution-area_list ul li {
	font-style: normal;
	font-weight: 700;
	font-size: 12px;
	line-height: 150%;
	color: #333333;

}
@media (min-width: 1500px) {
	.floor_mat_outer {
			padding: 4vw 50px;
		}
	
}
@media (max-width: 928px) {
	.floor_mat_outer {
			padding: 4vw 2vw;
		}
	.floor_mat_main p.floormnat_catch {
		font-size: 3.1vw;
	}
}
@media (max-width: 767px) {
.floor_mat {
		padding: 56px 13px;
		margin-bottom: 36px;
	}

	.floor_mat_outer {
		border-radius: 30px;
		padding: 7vw 5.4vw;
	}

	.floor_mat_main {
		flex-direction: column;
		gap: 35px;
	}

	.floor_mat_explain_img {
		width: 100%;
		min-width: auto;
	}

	.note_bg_orange,
	.floor_mat_main p.floormnat_catch {
		font-size: 5.333vw;
	}

	.floor_mat_main p.floormat_name {
		font-size: 5.333vw;
		line-height: 140%;
	}

.floor_mat_monomaterial {
	flex-direction: column;
	gap: 5vw;
}

	.floor_mat_monomaterial>div:nth-of-type(1) {
		margin: 0 auto;
	}

	.floor_mat_monomaterial>div>img {
		width: 43vw;
	}

	.floor_mat_monomaterial p {
		font-size: 3.733vw;

	}

.floor_mat_explain {
	grid-template-columns: repeat(1, 1fr);
	margin-bottom: 30px;
}
.caution-area_red {
	margin: 25px 0 11px;
}
}

/*																														 アクセ01 */
.charge_kv {
	aspect-ratio: 1366 / 595;
	position: relative;
}

.sky_bg_kv {
	background: url(../../img/esky/img_charge_bg.webp) center / cover;
	aspect-ratio: 1366 / 231;
}

.sky_bg_kv h4 {
	font-family: var(--font-roboto-cond);
	font-style: normal;
	font-weight: 400;
	font-size: 4.392vw;
	line-height: 100%;
	color: #FFFFFF;
	margin: 0;
	text-align: center;
	padding-top: 4.2vw;
	border: none;
}

.sky_bg_kv p.sky_bg_yellow {
	font-style: normal;
	font-weight: 700;
	font-size: 1.025vw;
	line-height: 150%;
	color: #E9E244;
	margin: 0 0 7px;
	text-align: center;
}

.sky_bg_kv p.sky_bg_catch {
	font-style: normal;
	font-weight: 700;
	font-size: 1.464vw;
	line-height: 150%;

	color: #FFFFFF;
	margin: 0 0;
	text-align: center;
}

.charge_car {
	width: 51vw;
	position: absolute;
	aspect-ratio: 700/388;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.ex_items_title {
	position: relative;
	background: #0099D9;
	border-radius: 30px;
	color: var(--col_purewhite);
	max-width: 688px;
	margin: 13px auto;
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	text-align: center;
	padding: 6px;
}
.ex_items_title::before{
	position: absolute;
	content: "";
	width: 11px;
	height: 11px;
	top: 50%;
	left: 45px;
	background: white;
	border-radius: 100%;
	transform: translateY(-50%);
}
.ex_items_title::after {
	position: absolute;
	content: "";
	width: 11px;
	height: 11px;
	top: 50%;
	right: 45px;
	background: white;
	border-radius: 100%;
	transform: translateY(-50%);
}
.acc_ex_item {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 91vw;
	margin: 42px auto;
	gap: 11px 25px;
}

.charge {
	margin-top: 64px;
}

@media (max-width: 767px) {
	.charge {
			margin-top: 32px;
		}
	.sky_bg_kv {
		aspect-ratio: 962 / 300;
	}

	.charge_kv {
		aspect-ratio: 700 / 500;
	}

	.sky_bg_kv h4 {
		font-size: 9vw;

	}

	.sky_bg_kv p.sky_bg_yellow {
		font-size: 4.025vw;
	}

	.sky_bg_kv p.sky_bg_catch {
		font-size: 3.464vw;
	}
.ex_items_title{
	width: 90vw;
}
.ex_items_title::before {
	left: 25px;

}

.ex_items_title::after {
	right: 25px;

}
	.charge_car {
		width: 76vw;
	}

	.acc_ex_item {
		grid-template-columns: repeat(2, 1fr);
		width: 91vw;
	}

}

/*																														 動画回り */

/* 親要素：基準枠にする */
a.video-itm {
	display: block;
	position: relative;
	/* 💡 これが必須 */
	overflow: hidden;
	border-radius: 8px;
	/* 必要に応じて角丸 */
}

/* 枠内のサムネイル画像 */
a.video-itm img {
	width: 100%;
	height: auto;
	display: block;
}

/* 再生ボタンを包むカバー領域（画像の上に全体を重ねる） */
.p-card-modal-video__poster-cover {
	position: absolute;
	/* 💡 画像の上に重ねる */
	inset: 0;
	/* top:0; left:0; right:0; bottom:0; のショートハンド */
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: background-color 0.3s ease;
}

/* 中央のSVG再生アイコン */
.p-card-modal-video__poster-play {
	width: 50px;
	/* 💡 アイコンのサイズ（適宜調整してください） */
	height: 50px;
	transition: transform 0.3s ease;
}

/* 💡 ホバー時の演出（お好みで調整） */
a.video-itm:hover .p-card-modal-video__poster-play {
	transform: scale(1.1);
	/* ホバーで再生ボタンが少し拡大 */
}

.movie_sect_title {
	position: relative;
	margin-bottom: 22px;
}

.movie_sect_title>p {
	font-style: normal;
	font-weight: 700;
	font-size: 1.757vw;
	line-height: 150%;
	text-align: center;
	color: #2B97CE;
	margin-bottom: 0px;
}

.movie_sect_title h6 {
	font-style: normal;
	font-weight: 700;
	font-size: 1.757vw;
	line-height: 150%;
	text-align: center;
	color: #1E1E1E;
}

.movie_sect_title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -25px;
	width: 177px;
	height: 5px;
	transform: translateX(-50%);
	background: #0099D9;
}

.movie_wrap {
	width: 51vw;
	aspect-ratio: 700 / 393;
	/* background: #D9D9D9; */
	margin: 2vw auto 6vw;
}

@media (max-width:768px) {
	.special_movie {
		padding: 4.1vw 20px 2vw;
	}

	.movie_sect_title>p {
		font-size: 4.3vw;
	}

	.movie_sect_title h6 {
		font-size: 4.3vw;
	}

	.movie_sect_title::after {
		bottom: -2.9vw;
		width: 34vw;
		height: 4px;
	}

	.movie_wrap {
		width: 80vw;
		height: 46vw;
		/* background: #D9D9D9; */
		margin: 8vw auto 2vw;
	}

	.car_movie {
		margin-bottom: 2vw;
	}
}

/* 💡 ショート動画の共通コンテナ（Gridで列サイズを統一） */
.short_movie_wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	/* PCは画面幅に合わせて均等4列で自動伸縮 */
	gap: 1.5vw;
	/* 画面幅に応じた自然な隙間 */
	width: 80vw;
	/* セクション全体の幅に合わせる */
	max-width: 1000px;
	margin: 80px auto;
	justify-content: center;
}

/* 💡 2個しか配置されないエリア（#others側など）は中央に2列分だけ寄せる */
.short_movie_wrap:has(> .movie_item:nth-last-child(2):first-child) {
	grid-template-columns: repeat(2, 1fr);
	width: 39vw;
	/* 4列時の2列分と同じ比率の幅 */
	max-width: 480px;
}

/* 各カード枠 */
.short_movie_wrap .movie_item {
	width: 100%;
	max-width: none;
	/* 固定幅の制限を解除 */
}
@media (max-width: 767px) {
.short_movie_wrap,
	.short_movie_wrap:has(> .movie_item:nth-last-child(2):first-child) {
		grid-template-columns: repeat(2, 1fr) !important;
		/* 4個並びも2個並びも強制的に2列 */
		width: 100% !important;
		/* 左右いっぱいまで広げる */
		padding: 0 4vw !important;
		/* 端の画面余白リセット */
		margin: 30px auto !important;
		gap: 4vw 3vw !important;
		/* 縦横の可変隙間 */
		box-sizing: border-box;
		max-width: none;
	}
}

/*                                                                                   others*/

.others {
	margin-top: 22px;
	margin-bottom: 35px;
}


/*                                                  cat_link*/
#cat-link {
	padding: 7.6vw 0 2vw;
}
.cat-link-list {
	margin: auto;
	width: 69.83894583vw;
}
.catalog-btn {
	text-align: left;
	display: flex;
	justify-content: center;
}
.catalog-btn a {
	position: relative;
	text-decoration: none;
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;
	color: var(--col_black);
	display: flex;
	flex-direction: column;
	padding: 16px 24px;
	width: 383.52px;
	height: 121px;
	background: linear-gradient(180deg, #FFFFFF 0%, #DBDEE3 100%);
	border: 1px solid #DBDEE3;
	border-radius: 8px 8px 56px 8px;
	text-align: left;
}
.catalog-btn a span.catalog-decoration-title {
	color: var(--col_elogoblue);
	font-family: var(--font-roboto-cond);
	font-style: normal;
	font-weight: 700;
	font-size: var(--fs_12);
	line-height: 150%;
	letter-spacing: 0.1em;
}
.catalog-btn a span {
	margin-left: 6.7rem;
	margin-top: 0.3rem;
}
.catalog-btn a::before {
	position: absolute;
	content: "";
	background: url(../../img/esky/arr_navy_right_double.png) no-repeat center / cover;
	width: 18px;
	height: 18px;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
}
.catalog-btn a:after {
	position: absolute;
	left: 5%;
	top: 19%;
	content: "";
	width: 24%;
	height: 100%;
	background: url(../../img/esky/img_catalog.webp) no-repeat top center / 100% auto;
	margin-top: -6px;
}
@media (max-width: 767px) {
#cat-link {
		padding: 13vw 0 2vw;
	}
.cat-link-list {
	margin: auto;
	width: 89.84vw;
}
p.catalog-btn {
	padding: 0;
	margin: 0px 0 8.5vw;
}
.catalog-btn a {
	font-size: 3.7vw;
	padding: 5vw 0 0 31vw;
	height: 28vw;
	border-radius: 8px 8px 13vw 8px;
	width: 100%;
}
.catalog-btn a span.catalog-decoration-title {
	font-size: 3.1vw;
	letter-spacing: 0.05em;
	margin: 0;
}
.catalog-btn a span {
	margin: 0.2rem 0 0 0;
}
.catalog-btn a::before {
	width: 4vw;
	height: 4.7vw;
	right: 5vw;
	top: 50%;
	transform: translateY(-50%);
}
.catalog-btn a:after {
	position: absolute;
	left: 5%;
	top: 21%;
	content: "";
	width: 24%;
	height: 75%;
	margin-top: -2vw;
}
}