@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(15px, -2.412rem + 8.91vw, 65px);/*375-768*/
	--cts-width: 1578px;
	/* font */
	--dp-font-jp:  "Zen Kaku Gothic New", sans-serif;
	/* 100 - 900 */

	/* color */
	--cts-white1: #FFFFFF;
	--cts-gray1: #F2F2F2;
	--cts-gray2: #707070;
	--cts-orange1: #F16421;
	--cts-orange2: #FFBB9E;
	--color-black1:#000000;
}

/* LP共通汎用
____________________*/
#container a, #container a span {
    color: inherit;
    text-decoration: none;
}
.pagetop {
	display: none;	
}
#pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 55px;
}
#pagetop a {
	color: #fff;
	background-color: #333;
	border-radius: 5px;
	display: block;
	font-size: 12px;
	line-height: 1.5em;
	padding: 5px 10px;
	text-align: center;
	text-decoration: none;
}
figure {
	margin: 0;
	text-align: center;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
.l-header {
    width: 100%;
    background: #fff;
    position: relative;
}
.c-breadcrumb--gray {
	display: flex;
	align-items: center;
}
.bnr_link_win11_wrap {
    margin: 0 auto;
}
.bnr_link_win11 img {
    transition: opacity 0.3s;
    width: 300px;
}
.bnr_link_win11 img:hover {
	opacity: 0.75;
}
.BreadcrumbList_wrap {
	background: #fff;
	position: relative;
    z-index: 2;
}
.footer-wrap {
    background: #fff;
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px), print and (min-width: 768px) {
	.c-breadcrumb__list.u-pc-width,
	.bnr_link_win11_wrap.u-pc-width {
		padding-inline: 30px;
	}
	.bnr_link_win11_wrap.u-pc-width {
		width: auto;
	}
}
@media screen and (max-width: 1000px) {
	.c-breadcrumb--gray {
		display: inherit;
	}
	.bnr_link_win11_wrap {
		width: 100%;
		margin: 10px auto 0;
		padding-block-end: 10px;
	}
	.bnr_link_win11 {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}
}
.contents__wrap {
	width: 100%;
	margin-inline: auto;
	background: var(--cts-color1);
	color: var(--color-black1);
	font-family: var(--dp-font-jp);
	letter-spacing: 0.05em;
	/* overflow: hidden; */
}
.contents__wrap img {
	max-width: 100%;
	vertical-align: bottom;
}
.contents {
	margin-top: 120px;
	margin-bottom: 120px;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.flash:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}
.contents__inner {
	width: 100%;
	max-width: var(--cts-width);
	margin-inline: auto;
	padding-inline: var(--cts-gutter);
	box-sizing: border-box;
}
.contents__wrap .link__inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: clamp(5px,0.236rem + 1.38vw,12px);
	padding-inline: clamp(25px,0.737rem + 2vw,40px);
	margin-top: 10px;
	min-height: 50px;
	background: var(--dp-color);
	font-size: clamp(15px, 0.545rem + 1.61vw, 18px);
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	letter-spacing: var(--cts-font-ls);
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
	border-radius: 4px;
	width: 100%;
}
.link__inner::before {
	position: absolute;
	content: "";
	width: 150%;
	height: 100%;
	top: 0;
	left: -168%;
	background: var(--color-orange1);
	transform: skewX(-18deg);
	opacity: .7;
	z-index: 0;
}
.link__inner::after {
	content: "";
	position: absolute;
	top: calc(50% - 4px);
    right: 24px;
    width: 9px;
    height: 9px;
    border-right: 1px solid;
    border-bottom: 1px solid;
	border-color: #fff;
	transform: rotate(-45deg);
}
.link--over::before {
	animation: link-over ease-out .4s both;
}
.link--out::before {
	animation: link-out ease-in .4s both;
}
@keyframes link-over {
	0% {
		left: -168%;
	}
	100% {
		left: -18%;
	}
}
@keyframes link-out {
	0% {
		left: -18%;
	}
	100% {
		left: 168%;
	}
}
/* コンテンツ
____________________*/
.contents__wrap {
	padding-block-start: 0;
	padding-block-end: 0;
	position: relative;
	z-index: 0;
}
.contents__wrap .link__inner {
	color: var(--cts-color1);
	font-size: clamp(17px, 0.545rem + 1.61vw, 20px);
	font-weight: 500;
	text-align: center;
	background: var(--cts-color5);
	border-radius: 9999px;
	padding-block:0;
    padding-inline: 0;
	margin-top: 10px;
}
.contents__wrap .link__inner span {
	position: relative;
	z-index: +1;
	padding-block: clamp(5px,0.236rem + 1.38vw,14px);
    padding-inline: clamp(25px,0.737rem + 2vw,40px);
	width: 100%;
	height: 100%;
}
.contents__wrap .link__inner::after {
	border-right: 2px solid;
    border-bottom: 2px solid;
	border-color: var(--cts-color1);
}
.ttl-h2 {
	color: var(--cts-white1);
	font-size: 2.97vw;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.ttl-h2 .ttl-bg {
	position: relative;
	padding: 0.2vw 1vw;
}
.ttl-h2 .ttl-bg::after {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--cts-orange1);
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
/* mv
____________________*/
.contents--mv {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.382;
	padding-top: 0;
	padding-bottom: 48vw;
	position: relative;
	z-index: 2;
	margin-top: 0;
	margin-bottom: 0;
	overflow: hidden;
}
.contents--mv .mv {
	width: 70vw;
	padding-top: 6vw;
	position: relative;
	z-index: 2;
}
.contents--mv .mv .txt-model-year {
	color: var(--cts-orange1);
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1;
	background: var(--cts-white1);
	border: 1px solid var(--cts-orange1);
	padding: 0.26vw 0.55vw;
	display: inline-block;
	position: relative;
	z-index: 5;
}
.contents--mv .mv .txt-model-name {
	font-size: 2.5vw;
    font-weight: 700;
	letter-spacing: 0.05em;
	margin-top: 1.2vw;
	position: relative;
	z-index: 5;
}
.contents--mv .mv .ttl-h1 {
    font-size: 3.91vw;
	font-weight: 700;
	line-height: 1.4;
	text-shadow: 5px 5px 5px rgba(255, 255, 255, 1);
	margin-top: 3vw;
	position: relative;
	z-index: 5;
}
.contents--mv .mv .ttl-sub {
	font-size: 1.51vw;
	font-weight: 700;
	line-height: 2.2;
	margin-top: 3vw;
	position: relative;
	z-index: 5;
}
.contents--mv .mv .ttl-sub .linner {
	padding-left: 0.5vw;
	background: var(--cts-white1);
	border-bottom: 0.3vw solid var(--cts-orange1);
}
.contents--mv .mv .kv-pc-1 {
	width: 31.1vw;
	position: absolute;
	top: 6.38vw;
	right: -2.5vw;
	z-index: 4;
}
.contents--mv .mv .kv-pc-2 {
	width: 17.2vw;
	position: absolute;
	top: -1.1vw;
    right: 15.5vw;
	z-index: 4;
}
.contents--mv .mv .object-1 {
	position: absolute;
    top: -0.8vw;
	left: -9.8vw;
    z-index: 2;
}
.contents--mv .mv .object-2 {
	position: absolute;
    top: 12.2vw;
    left: 2.4vw;
    z-index: 3;
}
.contents--mv .mv .object-3 {
    position: absolute;
    bottom: -13vw;
    left: -12.6vw;
    z-index: 3;
}
.contents--mv .mv .object-4 {
    position: absolute;
    top: 14.2vw;
    right: -11.6vw;
    z-index: 3;
}
.contents--mv .mv .object-5 {
	position: absolute;
    top: 8.2vw;
    right: -17.6vw;
    z-index: 2;
}
.contents--mv .mv .object-6 {
	position: absolute;
    top: -15.8vw;
    right: 10.3vw;
    z-index: 2;
}
.contents--mv .mv .object-7 {
	position: absolute;
    bottom: -8.8vw;
    left: 26.3vw;
    z-index: 2;
}
.contents--mv .mv .object-8 {
    position: absolute;
    bottom: 1.2vw;
    left: 33.6vw;
    z-index: 3;
}
.square {
	display: block;
	border-radius: 1.56vw;
	aspect-ratio: 1 / 1;
}
.circle {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}
.w160 {
	width: 8.33vw;
}
.w194 {
	width: 10.1vw;
}
.w200 {
	width: 10.42vw;
}
.w264 {
	width: 13.75vw;
}
.w330 {
	width: 17.34vw;
}
.w380 {
	width: 19.8vw;
}
.w537 {
	width: 27.97vw;
}
.orange {
	background: #FBE2D8;
	background: radial-gradient(circle,rgba(251, 226, 216, 1) 0%, rgba(254, 207, 186, 1) 100%);
}
.pink {
	background: #FFD2D2;
	background: radial-gradient(circle,rgba(255, 210, 210, 1) 0%, rgba(248, 166, 166, 1) 100%);
	opacity: 0.8;
}
.contents--mv .bg-gray {
	width: 90vw;
	height: 38vw;
	background: var(--cts-gray1);
	border-radius: 0 0 0 8.35vw;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
/* features
____________________*/
.contents--features {
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
}
.contents--features .object-9 {
	position: absolute;
    top: 26.2vw;
    left: 5.3vw;
    z-index: 2;
	opacity: 1;
}
.contents--features .object-10 {
    position: absolute;
    top: 24.2vw;
    left: 13.6vw;
    z-index: 3;
	opacity: 1;
}
.contents--features .object-11 {
	position: absolute;
	top: 10.2vw;
    right: 9.3vw;
    z-index: 2;
	opacity: 1;
}
.contents--features .object-12 {
    position: absolute;
    top: 20.2vw;
    right: 4.6vw;
    z-index: 3;
	opacity: 1;
}
.w126 {
	width: 6.56vw;
}
.w145 {
	width: 7.55vw;
}
.w242 {
	width: 12.6vw;
}
.w246 {
	width: 12.81vw;
}
.features-list {
	display:flex;
	justify-content:center;
	align-items:center;
	gap: 2vw;
	position: relative;
	z-index: 3;
}

.features-list-item {
	position: relative;
	width: 13.75vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display:flex;
	justify-content:center;
	align-items:center;
	overflow: visible;
}

.circle-border {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.circle-border circle {
	fill: none;
	stroke: #F16421;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 301.5929;
	stroke-dashoffset: 301.5929;
	transform-origin: 50% 50%;
	transform: rotate(-90deg);
	pointer-events: none;
}

.features-list-item-txt {
	z-index: 2;
	color: #F16421;
	font-size: 1.88vw;
	font-weight: 700;
	text-align: center;
	opacity: 0;              /* ← 初期は非表示 */
	transform: translateY(10px); /* ← 少し下から浮かび上がる感じに */
	transition: none;
}
.features {
	padding-top: 9.1vw;
	padding-inline: var(--cts-gutter);
}
.features-card-wrap {
	width: 64.6vw;
	max-width: 1240px;
	margin: 0 auto;
	padding-top: 11vw;
	position: relative;
}
.features-card-wrap .ttl-h2 {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.5vw;
	position: absolute;
	top: -2.5vw;
	right: 0;
	z-index: 3;
}
.features-card-wrap .bg-orange {
	width: 90vw;
	height: 100%;
	background: #FBE2D8;
	background: radial-gradient(circle,rgba(251, 226, 216, 0.3) 0%, rgba(254, 207, 186, 0.3) 100%);
	border-radius: 0 8.4vw 8.4vw 0;
	position: absolute;
	top: 0;
	left: -17.2vw;
	z-index: 1;
}
.features-card-wrap .features-card {
	width: 30vw;
	max-width: 540px;
	position: absolute;
	z-index: 2;
}
.features-card-wrap .features-card:nth-of-type(1) {
	top: 10vw;
	left: 0;
}
.features-card-wrap .features-card:nth-of-type(2) {
	top: 22vw;
	right: 0;
}
.features-card-wrap .features-card:nth-of-type(3) {
	top: 65vw;
	left: 0;
}
.features-card-wrap .features-card:nth-of-type(4) {
	top: 84vw;
	right: 0;
}
.features-card-wrap .features-card:nth-of-type(5) {
	top: 118vw;
	left: 0;
}
.features-card-wrap .features-card:nth-of-type(6) {
	top: 134vw;
	right: 0;
}
.card-ttl-block {
	width: 100%;
	padding-bottom: 1.65vw;
	position: relative;
	z-index: 1;
}
.card-ttl-block .ttl-h3 {
	font-size: 2.06vw;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 3;
}
.card-ttl-block .number {
	width: 7.5vw;
	position: absolute;
	z-index: 2;
	bottom: 0.5vw;
	right: 0;
}
.card-thum {
	border-radius: 2.5vw;
	overflow: hidden;
}
.txt-card {
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.05em;
	margin-top: 1.5vw;
}
.card-1-list {
	display: flex;
	gap: 0.31vw;
	margin-top: 1.5vw;
}
.i-o-port-block {
	border: 1px solid var(--cts-gray2);
	padding: 0.8vw;
	box-sizing: border-box;
	margin-top: 1.5vw;
}
.i-o-port-list li {
    position: relative;
	font-size: 1.04vw;
    font-weight: 700;
    line-height: 1.7;
    text-indent: -1.5em;
    margin-left: 1.5em;
}
.i-o-port-list li::before {
	content: "●";
	margin-right: 0.5em;
}
.card-thum-other {
	display: flex;
	gap: 1.3vw;
	margin-top: 0.8vw;
}
/* specifications
____________________*/
.contents--specifications {
    padding-top: 7.8vw;
	padding-bottom: 5vw;
    margin-top: 0;
	margin-bottom: 0;
}
.specifications .ttl-h2 {
	text-align: center;
}
.specifications-wrap {
	width: 52vw;
	max-width: 1000px;
	border: 1px solid var(--cts-gray2);
	margin: 2.6vw auto 0;
	padding: 3.1vw 3.6vw;
	box-sizing: border-box;
	position: relative;
}
.specifications-wrap .object-13 {
	position: absolute;
	top: 6.2vw;
    left: 7vw;
    z-index: 2;
	opacity: 1;
}
.specifications-wrap .object-14 {
    position: absolute;
	top: 3.6vw;
    left: 3.6vw;
    z-index: 2;
	opacity: 1;
}
.w121 {
	width: 5.57vw;
}
.w195 {
	width: 7.73vw;
}
.specifications-flex {
	display: flex;
	justify-content: space-between;
	gap: 2.1vw;
	position: relative;
    z-index: 3;
}
.img-block {
	width: 18.6vw;
	max-width: 350px;
	display: flex;
	justify-content: flex-end;
	align-items: end;
	position: relative;
}
.img-block .img-note {
	width: 13.6vw;
}
.img-block .img-note img {
	width: 100%;
}
.spec-list {
	width: calc(100% - 19.7vw);
}
.spec-list-block {
	display: flex;
	align-items: baseline;
	gap: 1.25vw;
	margin: 0.75vw 0;
}
.spec-list dt {
	color: var(--cts-white1);
	font-size: 0.89vw;
	font-weight: 500;
	text-align: center;
	width: 5.21vw;
	background: var(--cts-orange2);
	flex: none;
}
.spec-list dd {
	font-size: 0.89vw;
	font-weight: 700;
}
.perfect-wrap {
	width: 100%;
	background: var(--cts-gray1);
	padding: 0.93vw;
	margin-top: 1.8vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5vw;
	box-sizing: border-box;
}
.perfect-ttl-block {
	padding-inline: 0.8vw;
}
.perfect-ttl-block .ttl-perfect {
	font-size: 0.89vw;
    font-weight: 700;
	line-height: 2.2;
	text-align: center;
}
.perfect-ttl-block .ttl-perfect .liner {
	border-bottom: 0.3vw solid var(--cts-white1);
}
.perfect-list {
	font-size: 0.89vw;
    font-weight: 700;
    line-height: 2.2;
}
.perfect-list li {
	position: relative;
}
.perfect-list li::before {
	content: "□";
	padding-right: 0.5em;
}
.img-perfect {
    width: 11.4vw;
}
/* q-a
____________________*/
.contents--q-a {
	background: var(--cts-gray1);
	padding-top: 7.8vw;
    padding-bottom: 5vw;
    margin-top: 0;
    margin-bottom: 0;
}
.q-a .ttl-h2 {
	text-align: center;
}
.q-a-wrap {
	width: 52.09vw;
	margin: 5.2vw auto 0;
	background: var(--cts-white1);
}
.q-block {
	position: relative;
	cursor: pointer;
	padding: 1.7vw;
	background: var(--cts-white1);
	font-weight: bold;
	user-select: none;
	border-top: 1px solid var(--cts-orange1);
}
.q-a-content:last-child .q-block {
	border-bottom: 1px solid var(--cts-orange1);
}
.q-block .arrow-q {
	position: absolute;
    right: 2vw;
    top: 50%;
    width: 0.7vw;
    height: 0.7vw;
	border-right: 3px solid var(--cts-orange1);
	border-bottom: 3px solid var(--cts-orange1);
	transform: translateY(-50%) rotate(45deg);
	transition: transform 0.3s ease;
}
.q-block.active .arrow-q {
	transform: translateY(-50%) rotate(-135deg);
}
.a-block {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: all 0.4s ease;
	background: #fff;
	padding: 0 1.7vw 0 4.1vw;
	line-height: 1.6;
	border-left: 2px solid #eee;
}
.a-block {
	border-top: 1px solid var(--cts-orange1);
}
.q-a-content:last-child .a-block {
	border-top: none;
}
.q-block.active + .a-block {
	max-height: 500px;
	opacity: 1;
	padding: 1.7vw 1.7vw 1.7vw 4.1vw;
}
.ttl-h3-q {
	font-size: 1.25vw;
	font-weight: 700;
	text-indent: -1.7em;
    margin-left: 1.7em;
	position: relative;
}
.ttl-h3-q::before {
	content: "Q.";
	letter-spacing: 0.2em;
	padding-right: 0.5em;
}
.a-block-inner-flex {
	display: flex;
	justify-content: space-between;
	gap: 1.82vw;
}
.txt-a {
	font-size: 0.89vw;
    font-weight: 500;
	letter-spacing: 0.05em;
	position: relative;
}
.txt-a::before {
	content: "A.";
	color: #F16421;
	font-size: 1.25vw;
	font-weight: 700;
	letter-spacing: 0.2em;
	position: absolute;
	top: -0.4vw;
    left: -2.5vw;
}
.img-q {
    width: 20.33vw;
	min-width: 233px;
}
.a-table-wrap {
	margin-top: 0.5vw;
}
.a-table th, .a-table td {
	font-size: 0.89vw;
    font-weight: 500;
	line-height: 1.7;
    letter-spacing: 0.05em;
	text-align: left;
	padding: 0.3vw;
}
.a-table th {
	border-left: 1px solid var(--cts-gray2);
	border-right: 1px solid var(--cts-gray2);
	background: var(--cts-orange2);
}
.a-table td {
	border: 1px solid var(--cts-gray2);
}
.btn-q-a-wrap {
	margin-top: 0.75vw;
	display: flex;
	justify-content: flex-start;
	gap: 1vw;
}
.btn-q-a {
	color: var(--cts-orange1);
    font-size: 0.89vw;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    max-width: 600px;
    background: var(--cts-white1);
    border: 3px solid var(--cts-orange1);
    border-radius: 9999px;
    display: block;
    padding: 0.54vw 2.54vw;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}
.btn-q-a .btn-q-a-arrow {
	position: absolute;
    right: 1vw;
    top: 50%;
    width: 0.4vw;
    height: 0.4vw;
    border-right: 2px solid var(--cts-orange1);
    border-bottom: 2px solid var(--cts-orange1);
    transform: translateY(-50%) rotate(-45deg);
    transition: transform 0.3s ease;
}
/* campaign
____________________*/
.contents--campaign {
	padding-top: 9.4vw;
	margin-top: 0;
	margin-bottom: 0;
}
.campaign-wrap {
	width: 65.1vw;
    max-width: 1250px;
    margin: 0 auto;
    position: relative;
}
.campaign-wrap.end::before {
	content: "本キャンペーンは終了しました。​";
	color: var(--color-black1);
	font-size: 2.1875vw;
    font-weight: 900;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
    z-index: 3;
}
.campaign-wrap.end::after {
    content: "";
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 110%;
    background: rgba(204, 204, 204, 0.8);
    z-index: 2;
}
.campaign-wrap .bg-pink {
    width: 75.42vw;
    height: 100%;
	background: #FFD2D2;
	background: radial-gradient(circle,rgba(255, 210, 210, 0.4) 0%, rgba(248, 166, 166, 0.4) 100%);
    border-radius: 8.4vw;
    position: absolute;
    top: 3vw;
    left: 50%;
    transform: translate(-50%, 0%);
    z-index: 1;
}
.campaign-wrap .ttl-h2 {
	position: relative;
	z-index: 2;
}
.txt-campaign {
	color: var(--color-black1);
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1.9;
	margin-top: 3vw;
	position: relative;
	z-index: 2;
}
.campaign-list {
	display: flex;
	position: relative;
	gap: 1.35vw;
	margin-top: 3vw;
	z-index: 2;
}
.campaign-list-item {
	background: var(--cts-white1);
	border: 1px solid var(--cts-orange2);
	border-radius: 0.83vw;
	padding: 1.35vw;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
.campaign-list-item .now {
	color: var(--cts-white1);
	font-size: 1.01vw;
	font-weight: 500;
	padding: 0.05vw 0.25vw;
	background: var(--cts-orange1);
	position: absolute;
	top: 1.35vw;
	left: 1.35vw;
}
.item-name {
	font-size: 1.01vw;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	margin-top: 0.5vw;
	letter-spacing: 0.05em;
}
.txt-campaign-2 {
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	margin-top: 3.15vw;
	position: relative;
	z-index: 2;
}
.txt-campaign-3 {
	font-size: 1.01vw;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	margin-top: 1.15vw;
	position: relative;
	z-index: 2;
}
.btn-1 {
	color: var(--cts-orange1);
	font-size: 1.25vw;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	max-width: 600px;
	background: var(--cts-white1);
	border: 3px solid var(--cts-orange1);
	border-radius: 9999px;
	display: block;
	padding: 1.54vw;
	margin: 3vw auto 0;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
.btn-1 .btn-arrow {
	position: absolute;
    right: 2vw;
    top: 50%;
	width: 31.3vw;
    width: 0.7vw;
    height: 0.7vw;
    border-right: 3px solid var(--cts-orange1);
    border-bottom: 3px solid var(--cts-orange1);
    transform: translateY(-50%) rotate(-45deg);
    transition: transform 0.3s ease;
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 15vw;
	padding-bottom: 15vw;
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.item-wrap {
	width: 75.42vw;
	margin-inline: auto;
	position: relative;
	z-index: 5;
}
.ttl-lineup {
	color: var(--color-black1);
	font-size: 2.1875vw;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-shadow: 3px 3px 5px rgba(255, 255, 255, 1);
}
.txt-line-up-1 {
	font-size: 1.25vw;
	font-weight: 700;
	margin-top: 1.5vw;
}
.txt-line-up-2 {
	font-size: 1.25vw;
	font-weight: 700;
	margin-top: 2.5vw;
}
.link-block {
	width: 36vw;
	max-width: 688px;
	display: flex;
	align-items: stretch;
	gap: 0.83vw;
	margin-top: 0.75vw;
}
.link-2 {
	color: var(--color-black1);
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	width: calc(100% / 2);
	background: var(--cts-white1);
	border: 1px solid var(--cts-orange2);
	display: flex;
    justify-content: flex-start;
    align-items: center;
	padding: 1.07vw 4.07vw 1.07vw 1.07vw;
	position: relative;
}
.link-2 .btn-2-arrow {
	width: 3.35vw;
    height: 3.35vw;
	display: block;
	border: 3px solid var(--cts-orange1);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: -0.9vw;
	transform: translate(-50%,-50%);
}
.link-2 .btn-2-arrow::after {
	content: "";
	position: absolute;
    right: 1.4vw;
    top: 50%;
    width: 31.3vw;
    width: 0.7vw;
    height: 0.7vw;
    border-right: 3px solid var(--cts-orange1);
    border-bottom: 3px solid var(--cts-orange1);
    transform: translateY(-50%) rotate(-45deg);
    transition: transform 0.3s ease;
}
.item-wrap .img-model {
	position: absolute;
    right: -11vw;
    top: 7.5vw;
	z-index: -1;
    transform: translate(-50%, -50%);
    width: 29vw;
}
.contents--line-up .object-15 {
    position: absolute;
    top: 4.2vw;
    left: 2.3vw;
    z-index: 2;
    opacity: 1;
}
.contents--line-up .object-16 {
    position: absolute;
    top: 11.7vw;
    left: 10.1vw;
    z-index: 2;
    opacity: 1;
}
.contents--line-up .object-17 {
    position: absolute;
    bottom: 13.8vw;
    right: 9.3vw;
    z-index: 2;
    opacity: 1;
}
.contents--line-up .object-18 {
    position: absolute;
    top: 16.2vw;
    right: 4.3vw;
    z-index: 2;
    opacity: 1;
}
.w139 {
    width: 6.33vw;
}
.w169 {
    width: 7.11vw;
}
.w236 {
    width: 9.26vw;
}
.w321 {
	width: 11.18vw;
}
/* to-top
____________________*/
.contents__wrap .to-top {
	width: 100%;
	display: flex;
	justify-content: center;
	left: 0;
	bottom: 0;
	position: sticky;
	z-index: 5;
	border-bottom: 1px solid var(--cts-orange2);
}
.btn-top {
	font-size: 1.5625vw;
	font-weight: 700;
	width: 19vw;
	color: #F16421;
	max-width: 360px;
	padding: 0.89vw 0;
	text-decoration: none;
	background: var(--cts-orange2);
	border-radius: 1.6vw 1.6vw 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
.btn-top .btn-top-arrow {
	width: 1.67vw;
	margin-right: 0.75vw;
}
@media (max-width: 768px) {/*375-768*/
.pc {
	display: none !important;
}
.sp {
	display: block !important;
}
.l-header {
	z-index: 2;
}
#maincontent {
	z-index: 1;
	position: relative;
}
/* コンテンツ
____________________*/
.contents__wrap {
	padding-block-end: 0;
	letter-spacing: 0.02em;
}
/* .contents {
	margin-top: 50px;
	margin-bottom: 50px;
} */
.ttl-h2 {
	font-size: 5.333333333333334vw;
}
.ttl-h2 .ttl-bg {
    position: relative;
    padding: 1.2vw 4vw;
}
/* mv
____________________*/
.contents--mv {
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 12vw;
	aspect-ratio: 421 / 395;
}
.contents--mv .mv {
	width: 75vw;
	padding-inline: 0;
	padding-top: 4vw;
}
.contents--mv .mv .txt-model-year {
	font-size: 2.4vw;
	padding: 0.8vw 0.75vw;
}
.contents--mv .mv .txt-model-name {
	font-size: 3.5vw;
	margin-top: 1vw;
}
.contents--mv .mv .ttl-h1 {
	font-size: 6.42vw;
	margin-top: 5vw;
}
.contents--mv .mv .ttl-sub {
	font-size: 3.51vw;
	margin-top: 15vw;
}
.contents--mv .mv .kv-pc-1 {
	width: 38.7vw;
	top: 14.38vw;
	right: -7.5vw;
}
.contents--mv .mv .kv-pc-2 {
	width: 21.4vw;
	top: -6.1vw;
    right: 10.5vw;
}
.contents--mv .bg-gray {
	height: 81.6vw;
}
.contents--mv .mv .object-1 {
	top: 22.25vw;
}
.contents--mv .mv .object-2 {
	top: 43.2vw;
	left: 9.4vw;
}
.contents--mv .mv .object-3 {
    bottom: -28vw;
    left: -28.6vw;
}
.contents--mv .mv .object-4 {
	top: 29.2vw;
    right: -13.6vw;
}
.contents--mv .mv .object-5 {
    top: 17.2vw;
    right: -19.6vw;
}
.contents--mv .mv .object-6 {
    top: -28.8vw;
    right: -0.7vw;
}
.contents--mv .mv .object-7 {
    bottom: -6.8vw;
    left: 21.3vw;
}
.contents--mv .mv .object-8 {
    bottom: 10.2vw;
    left: 33.6vw;
}
.w160 {
    width: 13.33vw;
}
.w194 {
    width: 15vw;
}
.w200 {
	width: 16.53vw;
}
.w264 {
    width: 22.15vw;
}
.w330 {
	width: 25.34vw;
}
.w380 {
	width: 31.8vw;
}
.w537 {
	width: 45.05vw;
}
/* features
____________________*/ 
.contents--features {
	margin-top: -12vw;
	z-index: 2;
}
.features-list {
	gap: 4.2vw;
}
.features-list-item {
	width: 22.94vw;
}
.features-list-item-txt {
	font-size: 3.2vw;
}
.contents--features .object-9 {
	display: none;
}
.contents--features .object-10 {
	display: none;
}
.contents--features .object-11 {
    top: 28.2vw;
    right: 9.3vw;
}
.contents--features .object-12 {
    top: 39.2vw;
}
.w246 {
	width: 13.4vw;
}
.features {
	padding-top: 27vw;
	padding-inline: 5.33vw;
}
.features-card-wrap {
	width: 100%;
	padding-top: 30vw;
}
.features-card-wrap .ttl-h2 {
	top: -5.5vw;
	right: inherit;
}
.features-card-wrap .features-card {
	width: 82.15vw;
}
.features-card-wrap .features-card:nth-of-type(1),
.features-card-wrap .features-card:nth-of-type(2),
.features-card-wrap .features-card:nth-of-type(3),
.features-card-wrap .features-card:nth-of-type(4),
.features-card-wrap .features-card:nth-of-type(5),
.features-card-wrap .features-card:nth-of-type(6) {
	position: relative;
	top: inherit;
	left: inherit;
	right: inherit;
}
.features-card-wrap .features-card:nth-of-type(n+2) {
	margin-top: 21vw;
}
.features-card-wrap .features-card:nth-of-type(6) {
	margin-top: 30vw;
}
.card-ttl-block {
	padding-bottom: 4.65vw;
}
.card-ttl-block .ttl-h3 {
	font-size: 6vw;
}
.card-ttl-block .number {
	width: 19.5vw;
	right: 2vw;
	bottom: 2.5vw;
}
.txt-card {
	font-size: 3.4666666666666663vw;
	margin-top: 3.5vw;
}
.features-card-wrap .bg-orange {
	width: 93vw;
	height: 101%;
	left: -5.2vw;
}
.i-o-port-block {
	margin-top: 4.5vw;
	padding: 3.5vw;
}
.i-o-port-list li {
	font-size: 2.933333333333333vw;
}
.card-thum-other {
	margin-top: 3.8vw;
	gap: 3.3vw;
}
/* specifications
____________________*/
.contents--specifications {
    padding-top: 27.8vw;
	padding-bottom: 22vw;
}
.specifications-wrap {
	width: 86vw;
	margin: 7.6vw auto 0;
	padding: 5.1vw 4.6vw;
}
.specifications-flex {
	flex-direction: column-reverse;
}
.spec-list-block {
	margin: 2.55vw 0;
	gap: 5.25vw;
}
.spec-list {
	width: 100%;
}
.spec-list dt {
	font-size: 2.933333333333333vw;
	width: 18.14vw;
}
.spec-list dd {
	font-size: 2.933333333333333vw;
}
.img-block {
	width: 100%;
}
.img-block .img-note {
	width: 30.4vw;
	margin-inline: auto;
}
.specifications-wrap .object-13 {
    top: 51.2vw;
    left: 52vw;
}
.specifications-wrap .object-14 {
    top: 64.6vw;
    left: 66.6vw;
}
.w121 {
	width: 10.5vw;
}
.w195 {
	width: 15.99vw;
}
.perfect-wrap {
	flex-wrap: wrap;
	gap: 2.5vw;
	padding: 3.93vw;
}
.perfect-ttl-block {
	order: 1;
}
.perfect-ttl-block .ttl-perfect {
	font-size: 3.2vw;
}
.perfect-ttl-block .ttl-perfect .liner {
	border-bottom: 1.3vw solid var(--cts-white1);
}
.perfect-list-wrap {
	width: 100%;
	order: 3;
}
.perfect-list {
	font-size: 2.933333333333333vw;
}
.img-perfect {
	width: 36vw;
	order: 2;
}
/* q-a
____________________*/
.contents--q-a {
    padding-top: 19vw;
    padding-bottom: 11vw;
}
.q-a-wrap {
	width: 86vw;
	margin: 15vw auto 0;
}
.q-block {
    padding: 4vw 3vw 12vw 3vw;
}
.ttl-h3-q {
	font-size: 3.4666666666666663vw;
}
.a-block {
	padding: 0 1.7vw 0 9.1vw;
}
.q-block .arrow-q {
	top: inherit;
	left: 50%;
	bottom: 2vw;
	width: 2.4vw;
    height: 2.4vw;
}
.a-block-inner-flex {
	flex-direction: column;
}
.txt-a {
	font-size: 2.933333333333333vw;
}
.txt-a::before {
	font-size: 3.4666666666666663vw;
	left: -6.5vw;
}
.img-q {
	width: 47.2vw;
	min-width: inherit;
	margin-inline: auto;
}
.q-block.active + .a-block {
    padding: 3.7vw 1.7vw 5.7vw 9.1vw;
}
.a-table-wrap {
    margin-top: 2.5vw;
}
.a-table {
	width: 100%;
}
.a-table th {
	width: 19vw;
	font-size: 2.933333333333333vw;
	border-top: 1px solid var(--cts-gray2);
    border-bottom: 1px solid var(--cts-gray2);
	border-right: none;
	padding: 1.2vw;
	vertical-align: top;
}
.a-table td {
	font-size: 2.933333333333333vw;
	border-left: none;
	padding: 1.2vw;
	vertical-align: top;
}
.btn-q-a-wrap {
	margin-top: 2.5vw;
	gap: 2vw;
}
.btn-q-a {
	font-size: 2.933333333333333vw;
	border: 1px solid var(--cts-orange1);
	padding: 1.54vw 4.54vw;
}
.btn-q-a .btn-q-a-arrow {
	right: 2.5vw;
    width: 1vw;
    height: 1vw;
}
/* campaign
____________________*/
.contents--campaign {
	padding-top: 12.4vw;
}
.campaign-wrap .bg-pink {
	width: 87vw;
	height: 102%;
}
.campaign-wrap {
	width: 76vw;
}
.campaign-wrap.end::before {
	font-size: 4.8vw;
}
.txt-campaign {
	font-size: 2.933333333333333vw;
}
.campaign-list {
	flex-wrap: wrap;
	gap: 2.12vw;
}
.campaign-list-item {
	width: calc(50% - 2.12vw);
	border-radius: 4.2vw;
	padding: 3vw;
}
.campaign-list-item .now {
	font-size: 2.933333333333333vw;
	padding: 0.55vw 1.25vw;
	top: 3vw;
    left: 3vw;
}
.item-name {
	font-size: 2.933333333333333vw;
	margin-top: 1.5vw;
}
.txt-campaign-2 {
	font-size: 3.2vw;
	margin-top: 5.15vw;
}
.txt-campaign-3 {
	font-size: 2.666666666666667vw;
	margin-top: 2.15vw;
}
.btn-1 {
	font-size: 3.2vw;
	border: 2px solid var(--cts-orange1);
	padding: 4.27vw;
	margin: 4vw auto 0;
}
.btn-1 .btn-arrow {
	width: 1.7vw;
    height: 1.7vw;
    border-right: 1px solid var(--cts-orange1);
    border-bottom: 1px solid var(--cts-orange1);
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 20vw;
	padding-bottom: 9vw;
}
.item-wrap {
	width: 91vw;
}
.item-wrap .img-model {
	width: 58.7vw;
	right: -28vw;
    top: 41.5vw;
}
.ttl-lineup {
	font-size: 5.333333333333334vw;
	margin-left: 4vw;
}
.txt-line-up-1 {
	font-size: 3.4666666666666663vw;
	line-height: 1.7;
	margin-top: 12vw;
	margin-left: 4vw;
}
.txt-line-up-2 {
	font-size: 3.4666666666666663vw;
	margin-top: 27.5vw;
}
.link-block {
	width: 100%;
	margin-top: 2.75vw;
}
.link-2 {
	font-size: 2.933333333333333vw;
	padding: 3.1vw 11.1vw 3.1vw 3.1vw;
}
.link-2 .btn-2-arrow {
	width: 7.73vw;
	height: 7.73vw;
	border-width: 2px;
}
.link-2 .btn-2-arrow::after {
	width: 1.7vw;
    height: 1.7vw;
	border-right: 2px solid var(--cts-orange1);
    border-bottom: 2px solid var(--cts-orange1);
	right: 3.2vw;
}
.contents--line-up .object-15 {
    top: 19.2vw;
    left: 8.3vw;
}
.contents--line-up .object-16 {
	top: 33.7vw;
    left: 19.1vw;
}
.contents--line-up .object-17 {
	bottom: 38.8vw;
	right: 9.3vw;
}
.contents--line-up .object-18 {
	top: 26.2vw;
    right: -5.7vw;
}
.w139 {
	width: 10.19vw;
}
.w169 {
	width: 18vw;
}
.w236 {
	width: 16.37vw;
}
.w321 {
	width: 29.55vw;
}
/* to-top
____________________*/
.contents__wrap .to-top {
	width: 100%;
	display: block;
	background: #FFBB9E;
	background: linear-gradient(0deg,rgba(242, 123, 66, 1) 0%, rgba(255, 187, 158, 1) 100%);
	padding: 4vw var(--cts-gutter);
	box-sizing: border-box;
}
.to-top .txt-line-up-2 {
	color: var(--cts-white1);
	margin-top: 0;
}
}
@media (max-width: 479px) {
	.contents--mv .pc {
		display: none;
	}
	.contents--mv .sp {
		display: block;
	}
}