/* ------------------------------
common
---------------------------------*/
.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

br.pc {
	display: inline;
}
br.sp {
	display: none;
}

@media screen and (max-width: 750px) {
	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}
	br.pc {
		display: none;
	}
	br.sp {
		display: inline;
	}
}

a.not-link {
	pointer-events: none;
	cursor: default;
}

.global_nav_item--has-submenu {
	position: relative;
}

.global_nav_menu_pc {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translate(-50%, 8px);
	z-index: 100;
	min-width: 250px;
	padding: 10px 16px;
	background: #fff;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.global_nav_menu_pc a {
	display: block;
	padding: 8px 0;
	white-space: nowrap;
	font-size: 14px;
	color: initial;
	position: relative;
	z-index: 10;
}

@media screen and (min-width: 749px) {
	.global_nav_item--has-submenu:hover .global_nav_menu_pc,
	.global_nav_item--has-submenu:focus-within .global_nav_menu_pc {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, 0);
	}
	.global_nav_item--has-submenu:hover .global_nav_menu_pc::before,
	.global_nav_item--has-submenu:focus-within .global_nav_menu_pc::before {
		content: "";
		position: absolute;
		z-index: 0;
		width: 100%;
		height: 20px;
		top: -20px;
		left: 0;
		right: 0;
	}
}

/* ------------------------------
Products common
---------------------------------*/
.page-template-page-battery .products_fv {
	overflow: hidden;
}
.l-section > .inner {
	max-width: clamp(530px, 70.588vw, 1200px);
}

@media screen and (max-width: 999px) {
	.l-section {
		padding-inline: clamp(20px, 1.765vw, 30px);
	}
	.l-section > .inner {
		max-width: none;
	}
}
@media screen and (max-width: 750px) {
	.l-section {
		padding-inline: 0;
	}
}

/* ---- text ---- */
.c-txt {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 500;
	line-height: 2.2;
	letter-spacing: 0.08em;
}
.c-txt-sm {
	font-size: clamp(13px, 0.941vw, 16px);
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 750px) {
	.c-txt {
		line-height: 1.7;
	}
	.c-txt-sm {
		line-height: 1.6;
	}
}

/* ---- heading ---- */
.c-sec-head {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(20px, 1.765vw, 30px);
	margin-bottom: clamp(40px, 3.52vw, 60px);
}
.c-sec-head__txt {
	text-align: center;
}

.c-h3 {
	width: auto;
	font-size: clamp(20px, 2.471vw, 42px);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.6;
}
.bg-bk {
	background: #111;
	color: #fff;
	padding-inline: 16px;
	padding-block: 0 4px;
}

.c-h3-icon {
	width: 100%;
	font-size: clamp(20px, 2.083vw, 30px);
	font-weight: bold;
	color: #dc2f1f;
	border-bottom: 2px solid #dc2f1f;
	display: flex;
	align-items: center;
	gap: 10px;
}

.c-h3-icon::before {
	content: "";
	display: inline-block;
	width: clamp(20px, 2.083vw, 30px);
	height: clamp(20px, 2.083vw, 30px);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	vertical-align: middle;
	flex-shrink: 0;
}

.c-h3-icon.--icon01::before {
	background-image: url(../images/icon/icon_before01.webp);
}

.c-h3-icon.--icon02::before {
	background-image: url(../images/icon/icon_before02.webp);
}

.c-h3-icon.--icon03::before {
	background-image: url(../images/icon/icon_before03.webp);
}

/* ---- parts ---- */

.bg-r {
	border-radius: clamp(24px, 2.79vw, 48px) 0 clamp(24px, 2.79vw, 48px) 0;
}

.c-lbg-row {
	width: 100%;
	position: relative;
	background: #f6f5ed;
	padding-block: clamp(20px, 2.64vw, 45px);
	padding-inline: clamp(30px, 2.778vw, 64px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: clamp(15px, 4.1vw, 70px);
}
.c-lbg-row-title {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 500;
	color: #dc2f1f;
	flex-shrink: 0;
}

@media screen and (max-width: 750px) {
	.c-lbg-row {
		flex-flow: column;
	}
}

.c-lbg-col {
	width: 100%;
	position: relative;
	background: #f6f5ed;
	padding-block: clamp(20px, 2.353vw, 40px);
	padding-inline: clamp(20px, 2.353vw, 40px);
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: clamp(15px, 1.765vw, 30px);
}
.c-lbg-col-title {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 600;
	flex-shrink: 0;
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 56px;
}
.c-lbg-col-title::before {
	content: "";
	width: 40px;
	height: 2px;
	background: #dc2f1f;
	position: absolute;
	left: 0;
	top: clamp(10px, 0.824vw, 14px);
}

.c-lbg-txts {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: clamp(14px, 1.176vw, 20px);
}
.c-lbg-txts.is-sepalate {
	gap: clamp(20px, 1.765vw, 30px);
}
.c-lbg-txts.is-sepalate > *:not(:last-child) {
	border-bottom: 1px solid #111;
	padding-bottom: clamp(20px, 1.765vw, 30px);
}

ul.c-list {
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 18px;
}
ul.c-list > li {
	font-size: clamp(12px, 0.941vw, 16px);
	font-weight: 500;
	letter-spacing: 0.08em;
}
ul.c-list > li::marker {
	color: #dc2f1f;
}

/* ---- button ---- */
.c-btn-box {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	gap: clamp(20px, 2.353vw, 40px);
}

.c-btn {
	width: max-content;
	max-width: 560px;
	min-width: 300px;
	height: clamp(60px, 6.471vw, 110px);
	background: #000;
	border-radius: 9999px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-inline: clamp(20px, 2.353vw, 40px) clamp(40px, 4.706vw, 80px);
	color: #fff;
	font-size: clamp(14px, 1.412vw, 24px);
	font-weight: 600;
	gap: clamp(14px, 1.176vw, 20px);
}
.c-btn::after {
	content: "";
	width: clamp(16px, 1.412vw, 24px);
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url(../images/icon/icon_arrow_right01.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	flex-shrink: 0;
	position: absolute;
	right: clamp(16px, 1.412vw, 24px);
}

.c-btn-download {
	width: max-content;
	max-width: 560px;
	height: clamp(60px, 6.471vw, 110px);
	background: #000;
	border-radius: 9999px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left: clamp(115px, 11.647vw, 198px);
	padding-right: clamp(25px, 3.824vw, 65px);
}

.c-btn-download > figure {
	position: absolute;
	left: clamp(20px, 2.353vw, 40px);
	width: clamp(75px, 7.882vw, 134px);
	height: auto;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.c-btn-download > figure img {
	width: 100%;
	object-fit: contain;
}

.c-btn-download > span {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(14px, 1.176vw, 20px);
	position: relative;
	font-size: clamp(14px, 1.412vw, 24px);
	font-weight: 600;
}
.c-btn-download > span::after {
	content: "";
	width: clamp(16px, 1.412vw, 24px);
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url(../images/common/icon-download.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	flex-shrink: 0;
}
@media screen and (max-width: 750px) {
	.c-btn-download {
		width: min(320px, 100%);
	}
	.c-btn {
		width: min(320px, 100%);
	}
	.c-btn-box {
		flex-flow: column;
	}
}

/* ---- table ---- */
.c-border-table {
	width: 100%;
	display: grid;
	gap: clamp(30px, 4.706vw, 80px);
}

.c-border-table--2col {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (max-width: 750px) {
	.c-border-table--2col {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
}

.c-border-table__col {
	display: flex;
	flex-direction: column;
}

.c-border-table__head {
	margin-bottom: 15px;
}

.c-border-table__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: clamp(26px, 2.118vw, 36px);
	padding-inline: 16px 25px;
	border-radius: 0 999px 999px 0;
	background: #dc2f1f;
	color: #fff;
	font-size: clamp(11px, 0.824vw, 14px);
	font-weight: 700;
	line-height: 1;
}

.c-border-table__title {
	margin-top: 14px;
	font-size: clamp(14px, 1.294vw, 22px);
	font-weight: 700;
	line-height: 1.5;
	color: #222;
}

.c-border-table__row {
	width: 100%;
	display: grid;
	grid-template-columns: clamp(120px, 9.412vw, 160px) minmax(0, 1fr);
	align-items: center;
	column-gap: 20px;
	padding: 20px 0;
	position: relative;
}
.c-border-table__row::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: radial-gradient(circle, #dc2f1f 1px, transparent 1px) repeat-x;
	background-size: 6px 2px;
}
.c-border-table__row:first-child {
	padding-top: 0;
}

.c-border-table__label {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 500;
	color: #dc2f1f;
}

.c-border-table__value {
	font-size: clamp(14px, 1.059vw, 18px);
	font-weight: 500;
	text-align: right;
}

/* ------------------------------
main
---------------------------------*/
.sec-main {
	padding-block: clamp(30px, 3.52vw, 60px) clamp(30px, 4.1vw, 70px);
}
.sec-main .page_title {
	margin-bottom: clamp(40px, 3.52vw, 60px);
}
.product-main__wrapper {
	width: 100%;
	display: grid;
	gap: clamp(60px, 4.7vw, 80px);
	align-items: center;
}
.product-main {
	width: 100%;
	display: grid;
	grid-template-columns: clamp(350px, 29.64vw, 500px) minmax(0, 1fr);
	gap: clamp(40px, 4.7vw, 80px);
	align-items: center;
}
.pmc__img {
	width: 100%;
	height: auto;
	aspect-ratio: 504 / 472;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
}
.pmc__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.product-main__info {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(40px, 4.35vw, 74px);
}

.product-main__price {
	width: min(418px, 68%);
	text-align: center;
}

.product-main__price-title {
	font-size: clamp(24px, 1.765vw, 30px);
	font-weight: 500;
	color: #dc2f1f;
	text-align: center;
	line-height: 1;
	padding-bottom: 20px;
	position: relative;
}

.product-main__price-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: radial-gradient(circle, #dc2f1f 1px, transparent 1px) repeat-x;
	background-size: 6px 2px;
}

.product-main__price-text {
	font-size: clamp(50px, 5vw, 85px);
	font-weight: bold;
	line-height: 1;
	margin-top: 15px;
}

.product-main__price-text span {
	font-size: clamp(36px, 2.941vw, 50px);
}

.product-spec {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 28px;
}

@media screen and (max-width: 750px) {
	.product-main {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ------------------------------
reason
---------------------------------*/
.sec-reason {
	padding-block: clamp(30px, 4.1vw, 70px) 0;
}

@media screen and (min-width: 1699px) {
	.sec-reason .inner {
		max-width: 1326px;
	}
}
.sec-reason .page_title {
	margin-bottom: clamp(40px, 4.7vw, 80px);
}

.c-reason {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 2.353vw, 40px);
	margin-bottom: clamp(40px, 3.52vw, 60px);
}

.c-reason__item {
	position: relative;
	background: #f6f5ed;
	overflow: hidden;
	display: grid;
	grid-template-columns: clamp(300px, 28.824vw, 490px) minmax(0, 1fr);
	align-items: center;
	padding-inline: clamp(20px, 4.7vw, 80px);
}

.c-reason__head {
	width: 100%;
	position: relative;
	z-index: 10;
}

.c-reason__label {
	color: #dc2f1f;
	font-weight: 700;
	font-size: clamp(15px, 1.765vw, 30px);
	display: block;
	position: absolute;
	top: clamp(24px, 3.294vw, 56px);
	left: 6.25%;
	z-index: 10;
	line-height: 0.6;
}

.c-reason__title {
	color: #dc2f1f;
	font-size: clamp(24px, 2.353vw, 40px);
	font-weight: 700;
	line-height: calc(48 / 40);
}

.c-reason__text {
	width: 100%;
	padding-block: clamp(20px, 4.7vw, 80px);
	position: relative;
	z-index: 10;
}

.c-reason__bg {
	position: absolute;
	top: 0;
	left: 4.75%;
	font-size: clamp(65px, 7.941vw, 135px);
	font-weight: 700;
	color: #fff;
	pointer-events: none;
	user-select: none;
	line-height: 0.7;
	font-style: italic;
	font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 750px) {
	.c-reason__item {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-reason__head {
		padding-block: clamp(65px, 4.7vw, 80px) 0;
	}
	.c-reason__title {
		text-align: center;
	}
}

/* ------------------------------
compare
---------------------------------*/
.sec-compare {
	padding-block: 0 clamp(60px, 7.059vw, 120px);
	position: relative;
}
@media screen and (max-width: 750px) {
	.sec-compare {
		padding-bottom: 10vw;
	}
}

.sec-compare::before {
	content: "";
	background: #f6f5ed;
	width: 100%;
	height: 29%;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 0;
}
@media screen and (max-width: 750px) {
	.sec-compare::before {
		height: 22.5%;
	}
}

.sec-compare .inner {
	position: relative;
	z-index: 10;
}

@media screen and (min-width: 1699px) {
	.sec-compare .inner {
		max-width: 1326px;
	}
}

.c-compare {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.c-compare-intro {
	font-weight: 500;
	font-size: clamp(14px, 1.1vw, 18px);
	line-height: calc(40 / 18);
	text-align: center;
	margin-top: clamp(13px, 1.412vw, 24px);
	max-width: 800px;
}

@media screen and (max-width: 750px) {
	.c-compare-intro {
		line-height: calc(48/28);
	}
}

.c-compare-card {
	width: 100%;
	max-width: 1326px;
	margin-inline: auto;
	background: #fff;
	border-radius: clamp(12px, 1.412vw, 24px);
	overflow: hidden;
	box-shadow: 0px 5px 18px 0px rgba(17, 17, 17, 0.1);
	margin-top: clamp(19px, 1.294vw, 22px);
}

.c-compare-table__wrapper {
	width: 100%;
	padding: clamp(35px, 3.529vw, 60px) clamp(10px, 2.647vw, 45px) 27px;
}

.c-compare-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}
@media screen and (max-width: 750px) {
	.c-compare-table {
		width: clamp(910px, 72.647vw, 1235px);
	}
}

/* テーブルヘッダー */
.c-compare-table thead {
	background: #f6f5ed;
}

.c-compare-table thead th {
	padding: clamp(16px, 1vw, 17px) clamp(8px, 0.882vw, 15px) clamp(16px, 1.06vw, 18px);
	font-size: clamp(17px, 1.3vw, 21px);
	font-weight: 700;
	text-align: center;
	line-height: calc(28 / 21);
	border: none;
	border-radius: clamp(24px, 2.824vw, 48px) 0 clamp(24px, 2.824vw, 48px) 0;
}

.c-compare-table thead th.c-compare-table__label-cell {
	background: #fff;
	border: none;
	border-radius: 0;
	width: calc(140.0001/1235*100%);
}
@media screen and (max-width: 750px) {
	.c-compare-table thead th.c-compare-table__label-cell {
		width: calc(65/910*100%);
	}
}

.c-compare-table__company-cell {
	background: #f6f5ed;
	position: relative;
	width: calc(161/1235*100%);
}
@media screen and (max-width: 750px) {
	.c-compare-table__company-cell {
		width: calc(130/910*100%);
	}
}

.c-compare-table thead th.c-compare-table__company-cell--is-gp {
	background: #dc2f1f;
	color: #fff;
	font-size: clamp(22px, 1.6vw, 26px);
	line-height: 1.5;
	font-weight: 700;
	border-top: 2px solid #dc2f1f;
	border-left: 2px solid #dc2f1f;
	border-right: 2px solid #dc2f1f;
	border-radius: clamp(24px, 2.824vw, 48px) 0 0 0;
	width: calc(290/1235*100%);
	transform: translateY(-20px); /* 上にずらす */
	padding: clamp(19px, 1.295vw, 22px) clamp(8px, 0.882vw, 15px) 0;
	position: relative;
	z-index: 10;
}
@media screen and (max-width: 750px) {
	.c-compare-table thead th.c-compare-table__company-cell--is-gp {
		width: calc(194/910*100%);
		transform: translateY(-18px);
	}
}

/* 突き出した下の隙間を埋める */
.c-compare-table__company-cell--is-gp::after {
	content: "";
	position: absolute;
	bottom: -20px; /* 枠線の太さを考慮 */
	left: -2px;
	right: -2px;
	height: 20px;
	background: #dc2f1f;
	border-left: 2px solid #dc2f1f;
	border-right: 2px solid #dc2f1f;
}

@media screen and (max-width: 750px) {
	.c-compare-table__company-cell--is-gp::after {
		bottom: -18px;
	}
}

/* テーブルボディ */
.c-compare-table tbody tr {
	position: relative;
}

.c-compare-table tbody tr:not(:last-child) th,
.c-compare-table tbody tr:not(:last-child) td {
	background-image: radial-gradient(circle, #dc2f1f 1px, transparent 1px);
	background-repeat: repeat-x;
	background-size: 6px 2px;
	background-position: bottom left;
}

.c-compare-table tbody th,
.c-compare-table tbody td {
	padding: clamp(5px, 0.47vw, 10px);
	font-weight: 500;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	border: none;
	height: clamp(72px, 4.882vw, 83px);
}

.c-compare-table tbody tr:last-child th,
.c-compare-table tbody tr:last-child td {
	border-bottom: none;
}

.c-compare-table tbody th {
	text-align: left;
	padding-left: 0;
}

@media screen and (max-width: 750px) {
	.c-compare-table tbody th {
		padding: 5px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.c-compare-table tbody tr:first-child th {
		padding-left: 15px;
	}
}

.c-compare-table tbody td {
	font-size: clamp(13px, 1vw, 16px);
}

.c-compare-table__row-label {
	text-align: left;
	position: relative;
	white-space: nowrap;
}

.c-compare-table__data-cell {
	text-align: center;
	background: #fff;
	position: relative;
	border-left: 1px solid #e8e7dd;
}

.c-compare-table tbody tr:not(:last-child) td.c-compare-table__data-cell--is-gp {
	background: radial-gradient(circle, #dc2f1f 1px, transparent 1px) repeat-x bottom left / 6px 2px, #fff;
}

.c-compare-table tbody td.c-compare-table__data-cell--is-gp {
	background: #fff;
	color: #dc2f1f;
	font-weight: 700;
	font-size: clamp(17px, 1.3vw, 22px);
	line-height: calc(30/22);
	border-left: 2px solid #dc2f1f !important;
	border-right: 2px solid #dc2f1f !important;
}

.c-compare-table tbody td.c-compare-table__data-cell--is-gp span {
	font-size: clamp(15px, 1.1vw, 18px);
}

.c-compare-table tbody tr:last-child td.c-compare-table__data-cell--is-gp {
	border-bottom: 2px solid #dc2f1f;
	border-radius: 0 0 clamp(23px, 2.706vw, 46px) 0;
}

/* 注記 */
.c-compare-notes {
	width: 100%;
	max-width: 100%;
	padding: 0 clamp(23px, 2.588vw, 44px) clamp(18px, 2.083vw, 34px);
	font-size: clamp(13px, 0.824vw, 14px);
	line-height: 1.5;
	color: #666;
	text-align: left;
}
@media screen and (max-width: 750px) {
	.c-compare-notes {
		line-height: calc(19/13);
	}
}

.c-compare-notes p {
	position: relative;
	letter-spacing: .08em;
	font-feature-settings: "palt";
	margin-bottom: clamp(3px, 0.412vw, 7px);
}
@media screen and (max-width: 750px) {
	.c-compare-notes p {
		margin-bottom: -2px;
	}
}

.c-compare-notes p::before {
	display: inline-block;
	content: "※";
}

.c-compare-notes p:last-child {
	margin-bottom: 0;
}

.c-compare .scroll-hint-icon {
	top: calc(50% - 50px);
    left: auto;
	right: 1%;
	width: 132px;
	background: rgba(0, 0, 0, .6);
	z-index: 1;
}


/* ------------------------------
cost
---------------------------------*/

.sec-cost {
	padding-block: clamp(60px, 5.882vw, 100px);
}
.sec-cost .page_title {
	margin-bottom: clamp(30px, 2.353vw, 40px);
}
.c-cost {
	width: 100%;
	display: grid;
	grid-template-columns: clamp(400px, 33.353vw, 567px) minmax(0, 1fr);
	gap: clamp(30px, 4.7vw, 80px);
	align-items: flex-start;
}
.c-cost__txts {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: clamp(20px, 2.353vw, 40px);
	align-items: flex-start;
}

.c-cost__exp-list {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: clamp(10px, 0.882vw, 15px);
}
.c-cost__exp-list > div {
	width: 100%;
	display: grid;
	grid-template-columns: clamp(120px, 9.412vw, 160px) minmax(0, 1fr);
	align-items: center;
	column-gap: 20px;
	position: relative;
}
.c-cost__exp-list > div dt {
	font-size: clamp(14px, 1.059vw, 18px);
}
.c-cost__exp-list > div dd {
	font-size: clamp(16px, 1.294vw, 22px);
	font-weight: bold;
	color: #dc2f1f;
}

@media screen and (max-width: 750px) {
	.c-cost {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-cost__txts {
		align-items: center;
	}
}
/* ------------------------------
features
---------------------------------*/
.sec-p-features {
	padding-block: clamp(60px, 7.059vw, 120px);
	position: relative;
	background: #dc2f1f;
}
.sec-p-features::before {
	content: "";
	width: 100%;
	height: 100%;
	background-image: url(../images/products/sec8_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
}
.sec-p-features .inner {
	position: relative;
	z-index: 10;
}
.sec-p-features .page_title {
	color: #fff;
	margin-bottom: clamp(40px, 3.52vw, 60px);
}
.sec-p-features .page_title .ja {
	color: #fff;
}

.c-features {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(20px, 2.353vw, 40px);
}
.c-features__grid {
	width: 100%;
	display: grid;
	gap: clamp(15px, 1.412vw, 24px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.c-features__grid-item {
	width: 100%;
	position: relative;
	background: #fff;
	padding-block: clamp(30px, 3.529vw, 60px);
	padding-inline: clamp(20px, 3.529vw, 60px);
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: clamp(14px, 1.176vw, 20px);
}
.c-fgi__ttl {
	width: 100%;
	border-bottom: 1px solid #dc2f1f;
	padding-bottom: clamp(14px, 1.176vw, 20px);
	font-size: clamp(16px, 1.529vw, 26px);
	font-weight: 600;
	color: #dc2f1f;
}
.c-features-caution {
	width: 100%;
}

@media screen and (max-width: 750px) {
	.c-features__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-fgi__ttl {
		text-align: center;
	}
}

/* ------------------------------
Energy Visibility
---------------------------------*/
.sec-visibility {
	padding-block: clamp(60px, 7.059vw, 120px) clamp(40px, 4.706vw, 80px);
}
.sec-visibility .inner {
	max-width: none;
}

.c-visibility__list {
	width: 100%;
	display: flex;
	flex-flow: column;
	position: relative;
	max-width: 1920px;
	margin-inline: auto;
}
.c-visibility__list-item {
	width: 100%;
	position: relative;
	display: grid;
	grid-template-columns: clamp(450px, 46.412vw, 789px) minmax(0, 1fr);
	align-items: flex-start;
	gap: clamp(15px, 4.7vw, 80px);
}
.c-fli__img {
	width: 100%;
	height: auto;
	aspect-ratio: 790 / 505;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
	border-radius: 0 clamp(40px, 4.706vw, 80px) 0 0;
}
.c-fli__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.c-fli__body {
	width: 100%;
	padding-top: clamp(30px, 2.647vw, 45px);
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: clamp(15px, 2.353vw, 40px);
}

@media screen and (max-width: 750px) {
	.c-visibility__list-item {
		grid-template-columns: minmax(0, 1fr);
		align-items: center;
	}
	.c-fli__body {
		padding-top: 0;
		align-items: center;
	}
}

/* ------------------------------
mode
---------------------------------*/
.sec-mode {
	padding-block: 0 clamp(60px, 7.059vw, 120px);
	position: relative;
}
.sec-mode::before {
	content: "";
	background: #f6f5ed;
	width: 100%;
	height: 41.2%;
	max-height: 280px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-inline: auto;
	z-index: 0;
}

.sec-mode .c-sec-head {
	margin-bottom: clamp(60px, 5.294vw, 90px);
}
.sec-mode .inner {
	position: relative;
	z-index: 10;
}
@media screen and (min-width: 1699px) {
	.sec-mode .inner {
		max-width: 1326px;
	}
}
.c-mode {
	width: 100%;
	position: relative;
}
.c-mode-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.706vw, 46px);
}

.c-mode-card {
	height: 100%;
	position: relative;
}

.c-mode-card__inner {
	height: 100%;
	background: #fff;
	border-radius: 24px;
	padding-block: clamp(24px, 2.353vw, 40px);
	padding-inline: clamp(15px, 1.471vw, 25px);
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(12px, 1.176vw, 20px);
}

.c-balloon {
	position: absolute;
	top: -26px;
	left: -26px;
	z-index: 2;
	width: clamp(70px, 5.294vw, 90px);
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50% 50% 4px 50%;
	background: #111;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-family: "Roboto", sans-serif;
}

.c-balloon-label {
	font-size: clamp(11px, 0.824vw, 14px);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
.c-balloon-num {
	font-size: clamp(30px, 2.706vw, 46px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

.c-mode-card__title {
	width: 100%;
	font-size: clamp(18px, 1.412vw, 24px);
	font-weight: 600;
	color: #dc2f1f;
	text-align: center;
	line-height: 1;
	padding-bottom: 20px;
	position: relative;
}

.c-mode-card__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: radial-gradient(circle, #dc2f1f 1px, transparent 1px) repeat-x;
	background-size: 6px 2px;
}

.c-mode-card__text {
	width: 100%;
	margin: 0;
	font-size: clamp(13px, 0.941vw, 16px);
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 800px) {
	.c-mode {
		max-width: 700px;
		margin-inline: auto;
	}
}
@media screen and (max-width: 750px) {
	.sec-mode::before {
		max-height: none;
	}
	.c-mode-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 50px;
	}
	.c-mode-card .c-balloon {
		top: -30px;
		left: -12px;
	}
}

/* ------------------------------
back up
---------------------------------*/
.sec-backup {
	padding-block: clamp(60px, 7.059vw, 120px);
	position: relative;
	background: #dc2f1f;
	overflow: hidden;
}
.sec-backup::before {
	content: "Extended Power";
	position: absolute;
	bottom: 0;
	font-size: clamp(50px, 11.176vw, 190px);
	font-weight: bold;
	line-height: 0.6;
	color: #d04747;
	font-family: "Roboto", sans-serif;
	left: 0;
	right: 0;
	margin-inline: auto;
	width: max-content;
}
.sec-backup .inner {
	position: relative;
	z-index: 10;
}
.sec-backup .page_title {
	color: #fff;
}
.sec-backup .c-sec-head__txt {
	color: #fff;
}
.sec-backup .page_title .ja {
	color: #fff;
}

.c-appliance {
	width: 100%;
	position: relative;
}
.c-appliance-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.353vw, 40px);
}

.c-appliance-card {
	height: 100%;
	position: relative;
}

.c-appliance-card__img {
	width: 100%;
	height: auto;
	aspect-ratio: 374 / 274;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
}
.c-appliance-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-appliance-card {
	height: 100%;
	position: relative;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(12px, 1.176vw, 20px);
}

.c-appliance-card__title {
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: clamp(14px, 1.412vw, 24px);
	font-weight: 600;
	line-height: 1;
}

@media screen and (max-width: 750px) {
	.c-appliance-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ------------------------------
tax-benefit
---------------------------------*/
.sec-tax-benefit {
	background: #f6f5ed;
	padding-block: clamp(60px, 5.882vw, 100px);
}
.c-tax-benefit {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	background: #fff;
	gap: clamp(40px, 3.882vw, 66px);
	padding-block: clamp(30px, 4.118vw, 70px) clamp(40px, 5.294vw, 90px);
	padding-inline: clamp(30px, 6.765vw, 115px);
	position: relative;
}
.tax-benefit__head {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(30px, 2.941vw, 50px);
}

.tax-benefit__ttl {
	width: 100%;
	font-size: clamp(20px, 2.353vw, 40px);
	line-height: 1.45;
	font-weight: 700;
	color: #dc2f1f;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(18px, 1.941vw, 33px);
}
.tax-benefit__ttl::before,
.tax-benefit__ttl::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #dc2f1f;
	display: block;
}
.tax-benefit__ttl > span {
	flex-shrink: 0;
}
.tax-benefit__ttl > span > span {
	background: #dc2f1f;
	color: #fff;
	padding-inline: 10px;
	padding-block: 0 3px;
	margin-inline: 4px;
}

.tax-benefit__group {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(20px, 1.765vw, 30px);
}
.tax-benefit__subttl {
	width: 100%;
	font-size: clamp(18px, 2.083vw, 30px);
	font-weight: bold;
	color: #dc2f1f;
	border-bottom: 2px solid #dc2f1f;
	display: flex;
	align-items: center;
	gap: clamp(10px, 0.882vw, 15px);
}
.tax-benefit__subttl::before {
	content: "";
	display: inline-block;
	width: clamp(18px, 1.588vw, 27px);
	height: clamp(18px, 1.588vw, 27px);
	vertical-align: middle;
	background: #dc2f1f;
	flex-shrink: 0;
}

.c-border-table--tax {
	gap: clamp(30px, 4.118vw, 70px);
}
.c-border-table__row {
	grid-template-columns: clamp(90px, 9.412vw, 160px) minmax(0, 1fr);
}

.c-tax-benefit__step {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(15px, 1.412vw, 24px);
	margin-top: 20px;
}

.c-step-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(12px, 1.176vw, 20px);
}

.c-step-card {
	height: 100%;
	position: relative;
}

.c-step-card__inner {
	height: 100%;
	background: #fff;
	border-radius: 24px;
	padding-block: clamp(24px, 2.941vw, 50px) clamp(24px, 2.353vw, 40px);
	padding-inline: clamp(12px, 1vw, 17px);
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
	display: flex;
	flex-flow: column;
	align-items: center;
}
.c-step-card .c-balloon {
	width: clamp(45px, 3.412vw, 58px);
	top: -20px;
	left: -8px;
}
.c-step-card .c-balloon-label {
	font-size: clamp(10px, 0.706vw, 12px);
}
.c-step-card .c-balloon-num {
	font-size: clamp(18px, 1.529vw, 26px);
}
.c-step-card__title {
	width: 100%;
	font-size: clamp(16px, 1.176vw, 20px);
	font-weight: bold;
	color: #dc2f1f;
	line-height: 1.6;
	text-align: center;
}

.c-tax-benefit__merit {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(15px, 1.412vw, 24px);
	margin-top: 20px;
}
.c-merit-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(20px, 2.588vw, 44px);
	row-gap: clamp(20px, 1.882vw, 32px);
}

.c-merit-card {
	height: 100%;
	position: relative;
	background: #fff;
	border-radius: 24px;
	padding-block: clamp(24px, 2.353vw, 40px);
	padding-inline: clamp(20px, 2.941vw, 50px);
	filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 10%));
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: clamp(12px, 1.176vw, 20px);
}

.c-merit-card__title {
	width: 100%;
	font-size: clamp(18px, 1.412vw, 24px);
	font-weight: 600;
	color: #dc2f1f;
	text-align: center;
	line-height: 1;
	padding-bottom: 20px;
	position: relative;
}

.c-merit-card__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: radial-gradient(circle, #dc2f1f 1px, transparent 1px) repeat-x;
	background-size: 6px 2px;
}

.c-merit-card__text {
	width: 100%;
	margin: 0;
	font-size: clamp(13px, 0.941vw, 16px);
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 750px) {
	.tax-benefit__ttl {
		line-height: 1.7;
	}
	.c-tax-benefit__step {
		gap: 35px;
	}
	.c-step-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 35px;
	}
	.c-merit-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.c-tax-benefit__merit {
		gap: 35px;
	}
}

/* ------------------------------
FAQ
---------------------------------*/
.sec-faq {
	padding-block: clamp(40px, 4.706vw, 80px) clamp(60px, 7.059vw, 120px);
}
.c-faq-list {
	display: flex;
	flex-flow: column;
	gap: 30px;
	margin-top: 40px;
}

.c-faq-list__item {
	background: #f6f5ed;
	border-radius: 15px;
}

.c-faq-list__item-ttl {
	font-size: 18px;
	font-weight: 500;
	position: relative;
	padding: 25px 80px;
	cursor: pointer;
}

.c-faq-list__item-ttl span {
	font-size: 25px;
	color: #dc2f1f;
	position: absolute;
	top: 20px;
	left: 40px;
}

/*アイコンの＋と×*/
.c-faq-list__item-ttl::before,
.c-faq-list__item-ttl::after {
	position: absolute;
	content: "";
	width: 15px;
	height: 2px;
	background-color: #111;
}

.c-faq-list__item-ttl::before {
	top: 48%;
	right: 40px;
	transform: rotate(0deg);
}

.c-faq-list__item-ttl::after {
	top: 48%;
	right: 40px;
	transform: rotate(90deg);
	transition: 0.3s;
}

.c-faq-list__item-ttl.close::after {
	transform: rotate(0);
}

.c-faq-list__item-txt {
	display: none;
	font-size: 18px;
	font-weight: 500;
	border-top: 1px solid #000;
	width: calc(100% - 80px);
	margin: 0 auto;
	padding: 25px 40px;
	position: relative;
}

.c-faq-list__item-txt span {
	font-size: 25px;
	color: #dc2f1f;
	position: absolute;
	top: 20px;
	left: 0px;
}

@media screen and (max-width: 1700px) {
	.c-faq-list {
		display: flex;
		flex-flow: column;
		gap: 1.7647058824vw;
		margin-top: 2.3529411765vw;
	}
	.c-faq-list__item {
		background: #f6f5ed;
		border-radius: 0.8823529412vw;
	}
	.c-faq-list__item-ttl {
		font-size: 1.0588235294vw;
		font-weight: 500;
		position: relative;
		padding: 1.4705882353vw 4.7058823529vw;
		cursor: pointer;
	}
	.c-faq-list__item-ttl span {
		font-size: 1.4705882353vw;
		color: #dc2f1f;
		position: absolute;
		top: 1.1764705882vw;
		left: 2.3529411765vw;
	}
	/*アイコンの＋と×*/
	.c-faq-list__item-ttl::before,
	.c-faq-list__item-ttl::after {
		position: absolute;
		content: "";
		width: 0.8823529412vw;
		height: 0.1176470588vw;
		background-color: #111;
	}
	.c-faq-list__item-ttl::before {
		top: 48%;
		right: 2.3529411765vw;
		transform: rotate(0deg);
	}
	.c-faq-list__item-ttl::after {
		top: 48%;
		right: 2.3529411765vw;
		transform: rotate(90deg);
		transition: 0.3s;
	}
	.c-faq-list__item-ttl.close::after {
		transform: rotate(0);
	}
	.c-faq-list__item-txt {
		display: none;
		font-size: 1.0588235294vw;
		font-weight: 500;
		border-top: 0.0588235294vw solid #000;
		width: calc(100% - 4.7058823529vw);
		margin: 0 auto;
		padding: 1.4705882353vw 2.3529411765vw;
		position: relative;
	}
	.c-faq-list__item-txt span {
		font-size: 1.4705882353vw;
		color: #dc2f1f;
		position: absolute;
		top: 1.1764705882vw;
		left: 0vw;
	}
}
@media screen and (max-width: 750px) {
	.c-faq-list {
		gap: 5.3333333333vw;
		margin-top: 5.3333333333vw;
	}
	.c-faq-list__item {
		border-radius: 2.6666666667vw;
	}
	.c-faq-list__item-ttl {
		font-size: 4.2666666667vw;
		padding: 4vw 10.6666666667vw;
	}
	.c-faq-list__item-ttl span {
		font-size: 5.3333333333vw;
		top: 3.2vw;
		left: 4vw;
	}
	/*アイコンの＋と×*/
	.c-faq-list__item-ttl::before,
	.c-faq-list__item-ttl::after {
		position: absolute;
		content: "";
		width: 4vw;
		height: 0.5333333333vw;
		background-color: #111;
	}
	.c-faq-list__item-ttl::before {
		right: 5.3333333333vw;
	}
	.c-faq-list__item-ttl::after {
		right: 5.3333333333vw;
	}
	.c-faq-list__item-txt {
		font-size: 3.7333333333vw;
		width: calc(100% - 0vw);
		padding: 4vw 10.6666666667vw;
	}
	.c-faq-list__item-txt span {
		font-size: 5.3333333333vw;
		top: 2.6666666667vw;
		left: 3.4666666667vw;
	}
}
