@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(30px, 2.152vw + 21.93px, 65px);
	--cts-width: 1610px;

	/* font */
	--dp-font-jp: "Noto Sans JP", sans-serif;      
	/* 100 to 900 */

	/* color */
	--color-white-1: #FFFFFF;
	--color-gray-1: #484848;
	--color-gray-2: #EBEBEB;
	--color-gray-3: #999999;
	--color-blue-1: #004DA0;
	--color-blue-2: #E5F6FC;
	--color-yellow-1: #F39900;
	--color-black-1: #000000;
}

/* LP共通汎用
____________________*/
body {
	padding-right: 0 !important;
	overflow: visible !important;
}
#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;
}
header.l-header.p-header {
	display: block !important;
}
.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 (max-width: 1280px) {
    .l-header {
        z-index: 10;
    }
}
@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 !important;
		padding-block-end: 10px;
	}
	.bnr_link_win11 {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}
}
.contents__wrap {
	width: 100%;
	margin-inline: auto;
	font-size: var(--cts-font-size);
	font-family: var(--dp-font-jp);
	letter-spacing: 0.05em;
	color: var(--color-white-1);
}
.contents__wrap img {
	max-width: 100%;
	vertical-align: bottom;
}

/* コンテンツ
____________________*/
::selection {
	color: var(--color-white-1);
	background-color: var(--color-blue-1);
}
.contents__wrap {
	color: var(--color-gray-1);
	/* margin-bottom: 100px; */
	background: var(--color-white-1);
	position: relative;
	z-index: 1;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.contents__inner {
	width: 100%;
	max-width: var(--cts-width);
	margin-inline: auto;
	padding-inline: var(--cts-gutter);
	box-sizing: border-box;
	position: relative;
}
.blue-box {
	padding: 50px;
	background: var(--color-blue-2);
	border-radius: 50px;
}
.ttl-h2 {
	font-size: 40px;
	font-weight: 700;
	color: var(--color-blue-1);
	line-height: 1.5;
	text-align: center;
}
.ttl-h2-block-wide {
	background: var(--color-blue-2);
	padding-block: 30px;
}
.ttl-h2-block-wide .ttl-h2 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
}
.ttl-h2-block-wide .ttl-h2::before,
.ttl-h2-block-wide .ttl-h2::after {
	content: "";
	width: 38px;
	height: 33px;
	background: url(../../../service/ads-warranty/images/inverted-triangle.webp) no-repeat center center/contain;
}
.txt-lp-main {
	font-size: 18px;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	margin-top: 30px;
}
.note-wrap {
	width: fit-content;
	max-width: 775px;
	margin: 30px auto 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.lp-note {
	font-size: 14px;
	font-weight: 500; 
	line-height: 1.5;
	text-indent: -2.7em;
    margin-left: 2.7em;
}
/* ボタン */
.contents__wrap .btn-link {
	display: block;
	padding: 14px 10px;
	position: relative;
	background: var(--color-blue-1);
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	color: var(--color-white-1);
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
	width: 100%;
}
.btn-link::before {
	position: absolute;
	content: "";
	width: 150%;
	height: 100%;
	top: 0;
	left: -168%;
	background: var(--color-white-1);
	transform: skewX(-18deg);
	opacity: .3;
	z-index: 1;
}
.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%;
	}
}
.btn-link::after {
	content: "";
	width: 10px;
	height: 16px;
	background: url(../../../service/ads-warranty/images/arrow-right-1.webp) no-repeat center center/contain;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
.flash:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}
@media (max-width: 1610px) {/*375-768*/
	.blue-box {
		padding: 3.106vw;
		border-radius: 3.106vw;
	}
	.ttl-h2 {
		font-size: 2.484vw;
	}
	.ttl-h2-block-wide {
		padding-block: 1.863vw;
	}
	.ttl-h2-block-wide .ttl-h2 {
		gap: 3.106vw;
	}
	.ttl-h2-block-wide .ttl-h2::before,
	.ttl-h2-block-wide .ttl-h2::after {
		width: 2.36vw;
		height: 2.05vw;
	}
	.txt-lp-main {
		font-size: 1.118vw;
		margin-top: 1.863vw;
	}
	.note-wrap {
		max-width: 48.137vw;
		margin-top: 1.863vw; /* 元の「30px auto 0」からpx部分のみ抽出 */
		gap: 0.311vw;
	}
	.lp-note {
		font-size: 0.87vw;
	}
	/* ボタン */
	.contents__wrap .btn-link {
		padding: 0.9vw 2.621vw;
		font-size: 1.118vw;
	}
	.btn-link::after {
		width: 0.621vw;
		height: 0.994vw;
		right: 0.932vw;
	}
}
@media (max-width: 768px) {/*375-768*/

.pc {
    display: none !important;
}
.sp {
    display: block !important;
}
.contents__wrap {
    padding-bottom: 0;
}
.blue-box {
    padding: 6.667vw 5.333vw;
    border-radius: 5.333vw;
}
.ttl-h2 {
    font-size: 4.8vw;
}
.ttl-h2-block-wide {
    background: var(--color-blue-2);
    padding-block: 5.333vw;
}
.ttl-h2-block-wide .ttl-h2 {
    gap: 5.333vw;
}
.ttl-h2-block-wide .ttl-h2::before,
.ttl-h2-block-wide .ttl-h2::after {
    width: 6.4vw;
    height: 5.6vw;
}
.txt-lp-main {
    font-size: 3.2vw;
    text-align: left;
    margin-top: 5.333vw;
}
.note-wrap {
	max-width: inherit;
    margin: 4vw auto 0;
    gap: 1.333vw;
}
.lp-note {
    font-size: 2.933vw;
}
/* ボタン */
.contents__wrap .btn-link {
    font-size: 2.667vw;
	padding: 3.4vw 4.621vw;
}
.btn-link::after {
    width: 2.133vw;
    height: 3.2vw;
	right: 2.932vw;
}
}
/* mv
____________________*/
.contents--mv {
    background: url(../../../service/ads-warranty/images/bg-kv-pc.webp) no-repeat center center /contain;
    width: 100%;
    aspect-ratio: 1920 / 750;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.contents--mv .mv {
    color: var(--color-white-1);
    width: fit-content;
    position: absolute;
    top: 3.75vw;        /* 72px / 1920 * 100 */
    left: 11.458vw;     /* 220px / 1920 * 100 */
    padding-inline: 0;
    z-index: 2;
}
.contents--mv .mv .kv-tag {
    border: 0.156vw solid var(--color-white-1); /* 3px / 1920 * 100 */
    border-radius: 9999px;                      /* 形状維持のためpxのまま */
    padding: 0.781vw 1.667vw;                   /* 15px 32px */
    display: inline-block;
}
.contents--mv .mv .kv-tag .txt-kv-tag {
    font-size: 1.354vw; /* 26px / 1920 * 100 */
    font-weight: 700;
    line-height: 1;
}
.contents--mv .mv .ttl-h1 {
    font-size: 4.167vw; /* 80px / 1920 * 100 */
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .05em;
    margin-top: 1.563vw; /* 【修正部分】30px / 1920 * 100 */
}
.contents--mv .mv .kv-note {
    font-size: 1.302vw; /* 25px / 1920 * 100 */
    font-weight: 700;
    line-height: 1;
    margin-top: 0.781vw; /* 15px / 1920 * 100 */
}
@media (max-width: 768px) {/*375-768*/
	.contents--mv {
		background: url(../../../service/ads-warranty/images/bg-kv-sp.webp) no-repeat center center /contain;
		width: 100%;
		aspect-ratio: 375 / 280; /* 比率のためそのままで問題ありません */
		position: relative;
		z-index: 1;
		overflow: hidden;
	}
	.contents--mv .mv {
		position: absolute; /* PC版の記述を継承していない場合のために念のため */
		top: 12.8vw;        /* 48px / 375 * 100 */
		left: 8vw;          /* 30px / 375 * 100 */
	}
	.contents--mv .mv .kv-tag {
		padding: 1.333vw 1.867vw;                   /* 5px 7px */
		border: 0.267vw solid var(--color-white-1); /* 1px / 375 * 100 */
	}
	.contents--mv .mv .kv-tag .txt-kv-tag {
		font-size: 2.933vw; /* 11px / 375 * 100 */
		letter-spacing: 0;
	}
	.contents--mv .mv .ttl-h1 {
		font-size: 6.667vw; /* 25px / 375 * 100 */
		margin-left: 2.667vw; /* 10px / 375 * 100 */
	}
	.contents--mv .mv .kv-note {
		font-size: 2.48vw;  /* 9.3px / 375 * 100 */
		margin-top: 2.667vw;  /* 10px / 375 * 100 */
		margin-left: 2.667vw; /* 10px / 375 * 100 */
	}
}

/* nav
____________________*/
.contents__wrap .page-nav {
    width: 100%;
    max-width: var(--cts-width);
	padding-inline: var(--cts-gutter);
    margin: 60px auto 0;
    position: sticky;
    top: 60px;
    z-index: 2;
}
.page-nav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
}
.page-nav-list li {
    width: 100%;
}
.page-nav-list li .page-nav-link {
    color: var(--color-blue-1);
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    padding: 18px;
    border: 1px solid var(--color-blue-1);
    border-radius: 9999px;
    background: var(--color-white-1);
    display: flex;
	align-items: center;
	justify-content: center;
    position: relative;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.page-nav-list li .page-nav-link .arrow {
    width: 24px;
    height: 14px;
    background: url(../../../service/ads-warranty/images/arrow-bottom-2.webp) no-repeat center center/contain;
    position: absolute;
    top: 50%;
    right: 35px;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}
.page-nav-list li .page-nav-link:hover .arrow {
	background: url(../../../service/ads-warranty/images/arrow-bottom-2.webp) no-repeat center center/contain;
}
.page-nav-list li .page-nav-link:hover .arrow {
    transform: translateY(calc(-50% + 4px));
}
.page-nav-list li .page-nav-link.is-active {
    color: var(--color-white-1);
    background-color: var(--color-blue-1);
}
.page-nav-list li .page-nav-link.is-active .arrow {
    background: url(../../../service/ads-warranty/images/arrow-bottom-1.webp) no-repeat center center/contain;
}
@media (max-width: 1610px) {
	.contents__wrap .page-nav {
		margin-top: 3.727vw; /* 元の「60px auto 0」からpx部分のみ抽出 */
		top: 3.727vw;
	}
	.page-nav-list {
		gap: 1.553vw;
	}
	.page-nav-list li .page-nav-link {
		font-size: 1.242vw;
		padding: 1.118vw;
	}
	.page-nav-list li .page-nav-link .arrow {
		width: 1.491vw;
		height: 0.87vw;
		right: 2.174vw;
	}
	.page-nav-list li .page-nav-link:hover .arrow {
		transform: translateY(calc(-50% + 0.248vw)); /* 4px部分をvwに変換 */
	}
}
@media (max-width: 768px) {
	.contents__wrap .page-nav {
		margin: 6.667vw 0 0;
		padding-inline: 2.133vw;
		top: 6.667vw;
		box-sizing: border-box;
	}
	.page-nav-list {
		gap: 1.067vw;
	}
	.page-nav-list li .page-nav-link {
		font-size: 2.667vw;
		letter-spacing: 0;
		padding: 1.067vw;
		height: 11.467vw;
	}
	.page-nav-list li .page-nav-link .arrow {
		display: none;
	}
}
/* features
____________________*/
.contents--features {
	padding-top: 140px;
}
.features-item-wrap {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	gap: 35px;
	margin-top: 60px;
}
.features-item {
	width: calc((100% - 70px) / 3);
	background: var(--color-white-1);
	border-radius: 30px;
	padding: 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 19px;
	box-sizing: border-box;
}
.features-icon {
	width: 152px;
}
.features-item-detail {
	width: 100%;
}
.features-item-detail .ttl-h3 {
	color: var(--color-blue-1);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	border-bottom: 1px solid var(--color-blue-1);
	padding-bottom: 15px;
}
.features-item-detail .txt-detail {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7;
	margin-top: 10px;
}
.about-bnr {
	background: var(--color-white-1);
	border-radius: 30px;
	margin-top: 35px;
	padding: 5px 25px;
	display: flex;
	align-items: center;
	gap: 65px;
}
.icon-about-bnr {
	width: 157px;
}
.txt-about-bnr-1 {
	color: var(--color-blue-1);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}
.txt-about-bnr-2 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	margin-top: 25px;
}
.txt-yellow {
	color: var(--color-yellow-1);
}
.txt-about-bnr-1 .txt-l {
	font-size: 125%;
}
@media (max-width: 1610px) {
	.contents--features {
		padding-top: 8.696vw;
	}
	.features-item-wrap {
		gap: 2.174vw;
		margin-top: 3.727vw;
	}
	.features-item {
		width: calc((100% - 4.348vw) / 3); /* 70pxをvwに変換 */
		border-radius: 1.863vw;
		padding: 1.553vw;
		gap: 1.18vw;
	}
	.features-icon {
		width: 9.441vw;
	}
	.features-item-detail .ttl-h3 {
		font-size: 1.988vw;
		padding-bottom: 0.932vw;
	}
	.features-item-detail .txt-detail {
		font-size: 1.118vw;
		margin-top: 0.621vw;
	}
	.about-bnr {
		border-radius: 1.863vw;
		margin-top: 2.174vw;
		padding: 0.311vw 1.553vw;
		gap: 4.037vw;
	}
	.icon-about-bnr {
		width: 9.752vw;
	}
	.txt-about-bnr-1 {
		font-size: 2.484vw;
	}
	.txt-about-bnr-2 {
		font-size: 1.366vw;
		margin-top: 1.553vw;
	}
}
@media (max-width: 768px) {
	.contents--features {
		padding-top: 21.333vw;
	}
	.features-item-wrap {
		flex-direction: column;
		gap: 16vw;
		margin-top: 14.727vw;
	}
	.features-item {
		width: 72.8vw;
		padding: 20vw 8vw 4vw; /* 75px 30px 15px を変換 */
		flex-direction: column;
		gap: 0;
		position: relative;
	}
	.features-icon {
		width: 28.533vw;
		position: absolute;
		top: -12vw; /* -45px を変換 */
		left: 50%;
		transform: translateX(-50%);
	}
	.features-item-detail .ttl-h3 {
		font-size: 4.8vw;
	}
	.features-item-detail .txt-detail {
		font-size: 3.2vw;
		text-align: center;
	}
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 140px;
	position: relative;
	z-index: 1;
}
.line-up-wrap {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 26px 43px;
	margin-top: 40px;
}
.line-up-item {
	color: var(--color-gray-1);
	width: calc((100% - 43px) / 2);
	padding: 25px 30px;
	background: var(--color-white-1);
	border-radius: 30px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
.line-up-item .item-left {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.line-up-item .brand-logo {
	width: 190px;
}
.line-up-item .model-image {
	width: 190px;
	margin-top: auto;
	padding-bottom: 20px;
}
.line-up-item .item-right {
	width: 408px;
}
.line-up-item .model-name {
	color: var(--color-blue-1);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
}
.line-up-item .inner-flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-top: 15px;
}
.line-up-item .spec-list {
	font-size: 18px;
	font-weight: 500;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.line-up-item .model-price {
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}
.line-up-item .model-price .tax {
	font-size: 15px;
}
.line-up-item .btn-link {
	margin-top: 25px;
}
.line-up-note {
	font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
	text-align: center;
	margin-top: 30px;
}
@media (max-width: 1610px) {
	.contents--line-up {
		padding-top: 8.696vw;
	}
	.line-up-wrap {
		gap: 1.615vw 2.671vw; /* 26px 43px をそれぞれ変換 */
		margin-top: 2.484vw;
	}
	.line-up-item {
		width: calc((100% - 2.671vw) / 2); /* 43px を vw に変換 */
		padding: 1.553vw 1.863vw;
		border-radius: 1.863vw;
	}
	.line-up-item .brand-logo {
		width: 11.801vw;
	}
	.line-up-item .model-image {
		width: 11.801vw;
		padding-bottom: 1.242vw;
	}
	.line-up-item .item-right {
		width: 25.342vw;
	}
	.line-up-item .model-name {
		font-size: 1.118vw;
	}
	.line-up-item .inner-flex {
		gap: 1.242vw;
		margin-top: 0.932vw;
	}
	.line-up-item .spec-list {
		font-size: 1.118vw;
		gap: 0.311vw;
	}
	.line-up-item .model-price {
		font-size: 1.366vw;
	}
	.line-up-item .model-price .tax {
		font-size: 0.932vw;
	}
	.line-up-item .btn-link {
		margin-top: 1.553vw;
	}
	.line-up-note {
		font-size: 0.87vw;
        margin-top: 1.863vw;
	}
}
@media (max-width: 768px) {/*375-768*/
	.contents--line-up {
		padding-top: 21.333vw;
	}
	.line-up-wrap {
		flex-direction: column;
	}
	.line-up-item {
		width: 72.8vw;
		padding: 2.667vw;
		flex-direction: column;
		align-items: flex-start;
		border-radius: 2.667vw;
	}
	.line-up-item .item-left {
		align-items: flex-start;
	}
	.line-up-item .brand-logo {
		width: 36.8vw;
	}
	.line-up-item .model-name {
		font-size: 2.933vw;
		word-break: break-all;
		margin-top: 1.333vw;
	}
	.line-up-item .model-image {
		width: 37.333vw;
		margin-top: 0;
		padding-bottom: 0;
	}
	.line-up-item .item-right {
		width: 100%;
		display: flex;
		align-items: center;
		margin-top: 2.667vw;
	}
	.line-up-item .inner-flex {
		flex-direction: column;
		gap: 4vw;
		margin-top: 0;
	}
	.line-up-item .spec-list {
		font-size: 2.933vw;
	}
	.line-up-item .model-price {
		font-size: 4.267vw;
	}
	.line-up-item .model-price .tax {
		font-size: 2.933vw;
	}
	.line-up-item .btn-link {
		margin-top: 4vw;
	}
	.line-up-note {
		font-size: 2.933vw;
        margin-top: 4vw;
		text-align: left;
	}
}
/* about
____________________*/
.contents--about {
	padding-top: 140px;
}
.about .blue-box {
	padding-top: 110px;
	position: relative;
}
.about .blue-box .speech-bubble {
	background: var(--color-blue-1);
	padding: 15px 34px;
	border-radius: 20px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
}
.about .blue-box .speech-bubble::after {
    content: "";
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 25px 15px 0 15px; /* 上・右・下・左の順（下は0） */
    border-color: var(--color-blue-1) transparent transparent transparent; /* 上だけ色を残す */
}
.about .blue-box .speech-bubble .ttl-h2 {
	color: var(--color-white-1);
	font-size: 40px;
}
.txt-about-main {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.txt-about-main-2 {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-top: 25px;
}
.txt-blue {
	color: var(--color-blue-1);
}
.txt-xl {
	font-size: 200%;
}
.txt-l {
	font-size: 125%;
}
.about-item-wrap {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 40px;
	margin-top: 70px;
}
.about-item {
	width: calc((100% - 40px) / 2);
	background: var(--color-white-1);
	border-radius: 30px;
	padding: 0 30px 25px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.about-item-sp-block {
	display: none;
}
.about-item-inner-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.about-icon {
	width: 273px;
}
.about-item-detail {
	width: calc(100% - 273px);
	display: flex;
	flex-direction: column;
	align-items: self-start;
}
.about-item:nth-of-type(1) .about-item-detail {
	padding-left: 25px;
}
.about-item-detail .txt-about-detail-main {
	font-size: 50px;
	font-weight: 700;
	text-align: left;
}
.about-item:nth-of-type(2) p:nth-of-type(n+2) {
	padding-left: 50px;
}
.about-item-detail .txt-about-detail-main sup {
	font-size: 24%;
	vertical-align: super;
}
.about-item-detail .txt-about-detail-main .txt-m {
	font-size: 64%;
}
.about-item-detail .txt-about-detail-main .txt-l {
	font-size: 160%;
}
.txt-about {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 15px;
}
.about-item .btn-link {
	margin-top: auto;
}
.btn-link.btn-l {
	width: 627px;
	font-size: 27px;
	margin: 60px auto 0;
}
@media (max-width: 1610px) {
	.contents--about {
		padding-top: 8.696vw;
	}
	.about .blue-box {
		padding-top: 6.832vw;
	}
	.about .blue-box .speech-bubble {
		padding: 0.932vw 2.112vw;
		border-radius: 1.242vw;
		top: -1.242vw;
	}
	.about .blue-box .speech-bubble::after {
		bottom: -1.553vw;
		border-width: 1.553vw 0.932vw 0 0.932vw; /* 25px 15px 0 15px を変換 */
	}
	.about .blue-box .speech-bubble .ttl-h2 {
		font-size: 2.484vw;
	}
	.txt-about-main {
		font-size: 2.484vw;
	}
	.txt-about-main-2 {
		font-size: 1.553vw;
		margin-top: 1.553vw;
	}
	.about-item-wrap {
		gap: 2.484vw;
		margin-top: 4.348vw;
	}
	.about-item {
		width: calc((100% - 2.484vw) / 2); /* 40px を変換 */
		border-radius: 1.863vw;
		padding: 0 1.863vw 1.553vw; /* 0 30px 25px を変換 */
		gap: 0.621vw;
	}
	.about-icon {
		width: 16.957vw;
	}
	.about-item-detail {
		width: calc(100% - 16.957vw); /* 273px を変換 */
	}
	.about-item:nth-of-type(1) .about-item-detail {
		padding-left: 1.553vw;
	}
	.about-item-detail .txt-about-detail-main {
		font-size: 3.106vw;
	}
	.about-item:nth-of-type(2) p:nth-of-type(n+2) {
		padding-left: 3.106vw;
	}
	.txt-about {
		font-size: 1.366vw;
		margin-top: 0.932vw;
	}
	.btn-link.btn-l {
		width: 38.944vw;
		font-size: 1.677vw;
		margin-top: 3.727vw; /* 元の「60px auto 0」からpx部分のみ抽出 */
	}
}
@media (max-width: 768px) {/*375-768*/
	.contents--about {
        padding-top: 26.667vw;
    }
    .about .blue-box .speech-bubble {
        width: 74.667vw;
        padding: 1.333vw 4vw;
        border-radius: 2.667vw;
    }
    .about .blue-box .speech-bubble::after {
        bottom: -4vw;
        border-width: 4vw 2.667vw 0 2.667vw;
    }
    .about .blue-box .speech-bubble .ttl-h2 {
        font-size: 4.8vw;
    }
    .txt-about-main {
        font-size: 4.8vw;
    }
    .txt-l {
        font-size: 138.89%;
    }
    .txt-xl {
        font-size: 277.78%;
    }
    .txt-about-main-2 {
        font-size: 3.733vw;
        text-align: left;
        margin-top: 5.333vw;
    }
    .about-item-wrap {
        flex-direction: column;
        gap: 5.333vw;
        margin-top: 10.667vw;
    }
    .about-item {
        width: 72.8vw;
        padding: 2.667vw;
        border-radius: 2.667vw;
        gap: 0;
    }
    .about-item-sp-block {
        display: block;
    }
    .about-item-sp-block .txt-about-detail-main {
        font-size: 8vw;
        font-weight: 700;
        position: relative;
    }
    .about-item-sp-block .txt-about-detail-main .txt-m {
        font-size: 66.67%;
    }
    .about-item-sp-block .txt-about-detail-main .txt-l {
        font-size: 166.67%;
    }
    .about-item-sp-block .txt-about-detail-main sup {
        font-size: 26.67%;
        position: absolute;
        right: 2.133vw;
        top: 4.533vw;
    }
    .about-item-inner-flex {
        gap: 1.333vw;
    }
    .about-item:nth-of-type(1) .about-item-detail,
    .about-item:nth-of-type(2) p:nth-of-type(n+2) {
        padding-left: 0;
    }
    .about-item-detail {
        width: calc(100% - 30.933vw); /* 116px を変換 */
    }
    .about-item-detail .txt-about-detail-main {
        display: none;
    }
    .txt-about {
        font-size: 3.733vw;
    }
    .about-icon {
        width: 30.933vw;
    }
    .about-bnr {
        flex-direction: column;
        gap: 0;
        border-radius: 2.667vw;
        margin-top: 17.333vw;
        padding: 20vw 3.2vw 4vw; /* 75px 12px 15px を変換 */
        position: relative;
    }
    .about-bnr .icon-about-bnr {
        width: 28.533vw;
        position: absolute;
        top: -13.333vw; /* -50px を変換 */
        left: 50%;
        transform: translateX(-50%);
    }
    .txt-about-bnr-1 {
        font-size: 4.267vw;
        line-height: 1.5;
        text-align: center;
    }
    .txt-about-bnr-1 .txt-l {
        font-size: 143.75%;
    }
    .txt-about-bnr-2 {
        font-size: 3.733vw;
        line-height: 1.5;
        text-align: center;
        margin-top: 2.667vw;
    }
    .btn-link.btn-l {
        font-size: 3.2vw;
        width: 72.8vw;
        margin-top: 9.333vw;
    }
}
/* popup
____________________*/
#safetyservice_upgrade_popup_06 {
    width: 100%;
    margin: 60px auto;
    color: #484848;
    font-family: "Roboto", "Noto Sans JP", YuGothic Medium, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, 游ゴシック体, YuGothic, メイリオ, Meiryo, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Sans-Serif;
    font-size: 14px;
	line-height: normal;
}
#safetyservice_upgrade_popup_06 img {
    width: auto;
    max-width: 100%;
}
#safetyservice_upgrade_popup_06 .inner {
    width: 94%;
    max-width: 1140px;
    margin: 0 auto;
}
#safetyservice_upgrade_popup_06 .content_col-1 {
    text-align: center;
}
#safetyservice_upgrade_popup_06 .content-element p.ttl-01 {
    background: #fff;
    color: #036eb8;
    border: 2px solid #036eb8;
    border-radius: 15px;
    font-size: 20px;
	font-weight: 500;
    padding: 15px 20px;
    display: block;
    width: 100%;
    max-width: 431px;
    margin: 0 auto;
}
#safetyservice_upgrade_popup_06 .content-element p.ttl-02 {
	color: #036eb8;
	font-size: 20px;
	font-weight: 500;
	margin: 1rem 0;
}
#safetyservice_upgrade_popup_06 .content-element p.ttl-03 {
    font-size: 20px;
    font-weight: bold;
    color: #f39800;
}
#safetyservice_upgrade_popup_06 .img-list {
    display: flex;
    margin: 1.5rem auto;
    justify-content: space-between;
}
#safetyservice_upgrade_popup_06 .img-list img {
    width: 31.333%;
}
#safetyservice_upgrade_popup_06 span.p_note {
    font-size: 12px;
}
#safetyservice_upgrade_popup_06 h2 {
    color: #fff;
    font-size: 20px;
    background: #036eb8;
    text-align: center;
    padding: 1em;
	margin-bottom: 1rem;
}
#safetyservice_upgrade_popup_06 .content {
    margin-top: 40px;
}
#safetyservice_upgrade_popup_06 h3 {
    font-size: 16px;
    font-weight: 500;
    margin: 1rem 0 1em .5rem;
}
#safetyservice_upgrade_popup_06 .content ul li {
    font-size: 14px;
    list-style: none;
    margin: 0;
    padding: 0;
}
#safetyservice_upgrade_popup_06 .content ul li::before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    background-color: #484848;
    border-radius: 50%;
    position: relative;
    top: -2px;
    margin-right: 4px;
}
#safetyservice_upgrade_popup_06 dl.caution {
    margin-top: 20px;
}
#safetyservice_upgrade_popup_06 dl.caution dd {
    font-size: 12px;
    color: #7f7f7f;
    text-align: left;
}
#safetyservice_upgrade_popup_06 dl.caution dd::before {
    content: "※";
}

#safetyservice_upgrade_popup_06 .content_col-2 {
    text-align: center;
}
#safetyservice_upgrade_popup_06 .content_col-2 p {
	font-size: 16px;
	font-weight: 500;
    text-align: left;
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
}	
#safetyservice_upgrade_popup_06 .content.content_col-3 ul li {
	margin-left: 1rem;
}
#safetyservice_upgrade_popup_06 .content_col-3 p {
    margin-bottom: .35em;
}
#safetyservice_upgrade_popup_06 .content.content_col-4 {
    text-align: center;
}
#safetyservice_upgrade_popup_06 .img-list.half-column {
    justify-content: center;
}
#safetyservice_upgrade_popup_06 .half-column__cont {
    width: 33.333%;
    display: flex;
    flex-direction: column;
    margin: 0 20px;
}
#safetyservice_upgrade_popup_06 .img-list.half-column img {
    width: 100%;
    max-width: 372px;
    margin: 0 auto;
}
#safetyservice_upgrade_popup_06 .half-column__cont a {
    width: max-content;
    margin: .5rem auto 0;
}
#safetyservice_upgrade_popup_06 .cont_soudan {
	width: 100%;
	max-width: 668px;
    text-align: center;
    background: #b7c7e2;
    padding: 30px 10px;
	margin: 0 auto;
	font-size: 16px;
}
#safetyservice_upgrade_popup_06 .cont_soudan h3 {
    background: none;
    color: #484848;
    padding: 0;
	font-weight: bold;
	margin-top: 0;
	font-size: 16px;
}
#safetyservice_upgrade_popup .cont_soudan p span {
    font-size: 14px;
}
	
#safetyservice_upgrade_popup_06 .sp_only {
    display: none;
	}
	@media screen and (max-width: 767px){
	#safetyservice_upgrade_popup_06 {
		font-size: 12px;
	}
	#safetyservice_upgrade_popup_06 .content-element p.ttl-01 {
		font-size: 16px;
	}
	#safetyservice_upgrade_popup_06 .content-element p.ttl-02 {
		font-size: 16px;
	}
	#safetyservice_upgrade_popup_06 .content-element p.ttl-03 {
		font-size: 16px;
	}
	#safetyservice_upgrade_popup_06 dl.caution dd {
		font-size: 11px;
	}
	#safetyservice_upgrade_popup_06 h2 {
		font-size: 16px;
	}
	#safetyservice_upgrade_popup_06 h3 {
		font-size: 14px;
	}
	#safetyservice_upgrade_popup_06 .cont_soudan h3 {
		font-size: 14px;
	}
	#safetyservice_upgrade_popup_06 .cont_soudan {
		font-size: 14px;
	}
	#safetyservice_upgrade_popup_06 .cont_soudan p span {
		font-size: 12px;
	}
	#safetyservice_upgrade_popup_06 .content ul li {
		font-size: 12px;
	}
	#safetyservice_upgrade_popup_06 .content ul li::before {
		width: 4px;
		height: 4px;
		margin-right: 3px;
	}
	#safetyservice_upgrade_popup_06 .content_col-2 p {
		font-size: 14px;
	}
	#safetyservice_upgrade_popup_06 .content ul {
		padding: 0;
	}
	#safetyservice_upgrade_popup_06 .img-list.half-column {
		flex-direction: column;
	}
	#safetyservice_upgrade_popup_06 .half-column__cont {
		width: 100%;
		margin: 0 auto;
	}
	#safetyservice_upgrade_popup_06 .half-column__cont:first-child {
		margin-bottom: 30px;
	}
	#safetyservice_upgrade_popup_06 .sp_only {
		display: block;
	}
	input.popup_flg ~ .popup_content_wrapper {
    width: 90vw;
	}
	#safetyservice_upgrade_popup,
	#safetyservice_upgrade_popup_02,
	#safetyservice_upgrade_popup_03,
	#safetyservice_upgrade_popup_04,
	#safetyservice_upgrade_popup_05,
	#safetyservice_upgrade_popup_06,
	#safetyservice_upgrade_popup_07{
		margin: 10px auto !important;
	}
}

/* faq
____________________*/
.contents--faq {
	padding-block: 75px;
	margin-top: 95px;
	background: var(--color-gray-2);
}
.faq .ttl-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.faq .ttl-wrap .ttl-h2 {
	color:var(--color-black-1);
	font-size: 40px;
}
.faq .ttl-wrap .arrow  {
	width: 45px;
	height: 23px;
	background: url(../../../service/ads-warranty/images/arrow-4.webp) no-repeat center center/contain;
	display: inline-block;
}
.faq-container {
	margin-top: 55px;
}
.faq-item {
	border-top: 1px solid var(--color-gray-3);
}
/* 質問エリア（ボタン） */
.faq-question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 40px 0;
	border: none;
	cursor: pointer;
	text-align: left;
}

/* 矢印（通常時は下向き） */
.faq-arrow {
	display: inline-block;
	width: 24px;
	height: 12px;
	background: url(../../../service/ads-warranty/images/arrow-4.webp) no-repeat center center/contain;
	transform: rotate(180deg); /* 右下を向く＝下矢印に見える */
	transition: transform 0.3s ease; /* 0.3秒かけて滑らかに回転 */
	margin-top: 15px;
	margin-right: 10px;
	flex-shrink: 0;
}

/* 展開時（aria-expanded="true"）の矢印（上向きに反転） */
.faq-question[aria-expanded="true"] .faq-arrow {
	transform: rotate(0deg); /* 反転して上を向く */
}

/* 回答エリアのコンテナ（高さのアニメーション） */
.faq-answer {
	display: grid;
	grid-template-rows: 0fr; /* 初期状態は高さゼロ（非表示） */
	transition: grid-template-rows 0.3s ease; /* 0.3秒かけて開閉 */
	overflow: hidden;
}

/* 質問がクリックされたら、回答の数値を 1fr にして中身の高さまで展開 */
.faq-question[aria-expanded="true"] + .faq-answer {
	grid-template-rows: 1fr;
}

/* 回答の内側の余白とテキストのフェードイン */
.faq-answer-content {
	min-height: 0;
	padding: 0;
	opacity: 0;
	color: #555;
	line-height: 1.6;
	transition: opacity 0.3s ease, padding 0.3s ease;
}

/* 展開時の余白と不透明度 */
.faq-question[aria-expanded="true"] + .faq-answer .faq-answer-content {
	padding-bottom: 45px;
	opacity: 1;
}
.txt-q {
	color: var(--color-gray-1);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.7;
}
.q-number {
	color: var(--color-blue-1);
	margin-right: 1em;
}
.txt-a {
	color: var(--color-gray-1);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8;
}
.txt-a + .txt-a {
	margin-top: 1em;
}
.answer + .txt-a {
	margin-top: 1em;
}
.txt-a a {
	color: var(--color-blue-1);
	text-decoration: underline;
}
.txt-bold {
	font-weight: 700;
}
.txt-mt0 {
	margin-top: 0 !important;
}
.txt-a a:hover {
	text-decoration: none;
}
.answer {
	list-style: decimal;
    margin-left: 1.5em;
}
.answer li {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8;
}
@media (max-width: 1610px) {
	.contents--faq {
		padding-block: 4.658vw;
		margin-top: 5.901vw;
	}
	.faq .ttl-wrap .ttl-h2 {
		font-size: 2.484vw;
	}
	.faq .ttl-wrap .arrow {
		width: 2.795vw;
		height: 1.429vw;
	}
	.faq-container {
		margin-top: 3.416vw;
	}
	.faq-question {
		padding: 2.484vw 0; /* 40px 0 を変換 */
	}
	.faq-arrow {
		width: 1.491vw;
		height: 0.745vw;
		margin-top: 0.932vw;
		margin-right: 0.621vw;
	}
	.faq-question[aria-expanded="true"] + .faq-answer .faq-answer-content {
		padding-bottom: 2.795vw;
	}
	.txt-q {
		font-size: 1.366vw;
	}
	.txt-a {
		font-size: 1.118vw;
	}
	.answer li {
		font-size: 1.118vw;
	}
}
@media (max-width: 768px) {/*-768*/
	.contents--faq {
		/* 30px */
		padding-block: 8vw;
		margin-top: 35px;
	}
	.faq .ttl-wrap .ttl-h2 {
		/* 22px */
		font-size: 5.8667vw;
	}
	.faq .ttl-wrap .arrow {
		/* 26px 16px */
		width: 6.9333vw;
		height: 4.2667vw;
	}
	.faq-container {
		/* 15px */
		margin-top: 4vw;
	}
	.faq-question {
		/* 15px 0 */
		padding: 4vw 0;
		/* 15px */
		gap: 4vw;
	}
	.faq-arrow {
		/* 15px 9px */
		width: 4vw;
		height: 2.4vw;
		/* 8px */
		margin-top: 2.1333vw;
	}
	.faq-question[aria-expanded="true"] + .faq-answer .faq-answer-content {
		/* 15px */
		padding-bottom: 4vw;
	}
	.txt-q {
		/* 14px */
		font-size: 3.7333vw;
	}
	.txt-a {
		/* 12px */
		font-size: 3.2vw;
	}
	.answer li {
		font-size: 3.2vw;
	}
}
/* line-up-2
____________________*/
.contents--line-up-2 {
	padding-bottom: 100px;
}
.p-common-item-slider__section .top-link-slider-wrapper:nth-of-type(n+6){
	display: none !important;
}
.p-top-ranking-model {
    display: none;
}
.top-subrotation-slider-section {
    display: none;
}
.p-top-bnr-ss {
	display: none;
}
/* bnr
____________________*/
.contents--bnr {
	padding-bottom: 60px;
}
.bnr-wrap {
	display: flex;
	justify-content: center;
	gap: 28px;
	margin-top: 50px;
}
.bnr-link {
	width: 1140px;
}
@media (max-width: 768px) {/*-768*/ 
	.bnr-link {
		width: 85.333vw;
	}
}


footer.l-footer.p-footer {
	display: block !important;
}
#floating-button {
	display: none !important;
}