@charset "utf-8";
/* zesp3_sim.cssは「おすすめのプランを診断する」コンテンツ用で完結している為、それ以外のページスタイルを定義 */
/* パーツここから */

/* 画像とテキスト */
.zesp3-main .img-text {
	display: flex;
	justify-content: space-between;
}

.zesp3-main .img-text-text {
	width: calc(570 / 14 * 1em);
}

.zesp3-main .img-text-text p {
	font-size: calc(18 / 14 * 1em);
	font-weight: 500;
	line-height: 1.72;
	letter-spacing: -0.02em;
}

.zesp3-main .img-text-text p span[data-color="red"] {
	color: #c3002c;
}

.zesp3-main .img-text-text p span[data-fw="bold"] {
	font-weight: bold;
}

.zesp3-main .img-text-text p em {
	font-size: calc(24 / 18 * 1em);
	font-weight: bold;
}

.zesp3-main .img-text-text ul:not([data-list]) {
	display: flex;
	flex-direction: column;
}

.zesp3-main .img-text-text ul:not([data-list]) li {
	font-size: calc(16 / 14 * 1em);
	font-weight: bold;
	line-height: 1.93;
	position: relative;
}

.zesp3-main .img-text-text ul:not([data-list]) li em {
	font-size: calc(20 / 16 * 1em);
	font-weight: bold;
}

.zesp3-main .img-text-text ul:not([data-list]) li::before {
	content: '';
	position: absolute;
	top: calc(2 / 16 * 1em);
	left: 0;
	background-repeat: no-repeat;
	box-sizing: unset;
}

.zesp3-main .img-text-text sup {
	top: -0.7em;
	font-weight: 500;
}

.zesp3-main .img-text-img {
	width: calc(550 / 14 * 1em);
	margin-top: calc(14 / 14 * 1em);
}

.zesp3-main .img-text-img img {
	width: 100%;
	height: auto;
}

/* 注記 */
.zesp3-main ul[data-list] li,
.zesp3-main ol[data-list] li {
	font-size: calc(12 / 14 * 1em);
	line-height: 2.16;
	padding-left: calc(12 / 12 * 1em);
	position: relative;
}

.zesp3-main ul[data-list] li::before,
.zesp3-main ol[data-list] li::before {
	position: absolute;
	left: 0;
	top: 0;
}

.zesp3-main ul[data-list] li a,
.zesp3-main ol[data-list] li a {
	color: #c50029;
	text-decoration: underline;
}

.zesp3-main ul[data-list="asterisk"] li::before {
	content: '＊';
}

.zesp3-main ul[data-list="dot"] li::before {
	content: '・';
}

.zesp3-main ul[data-list="annotation"] li::before {
	content: '※';
}

.zesp3-main ol[data-list] {
	counter-reset: number 0;
}

.zesp3-main ol[data-list="asterisk-num"] li {
	padding-left: calc(24 / 12 * 1em);
}

.zesp3-main ol[data-list="asterisk-num"] li::before {
	content: '＊' counter(number);
	counter-increment: number 1;
}

/* ボタン */
.zesp3-main .zesp-btn {
	width: fit-content;
}

.zesp3-main .zesp-btn a {
	font-size: calc(18 / 14 * 1em);
	font-weight: bold;
	padding: calc(14 / 18 * 1em) calc(24 / 18 * 1em);
	line-height: 1.72;
	color: #c3002c;
	border: 1px solid #c3002c;
	background-color: #fff;
	box-shadow: 0 8px 8px rgba(0, 0, 0, 0.36);
	display: flex;
	align-items: center;
	position: relative;
	transition: color 300ms, background-color 300ms;
	text-decoration: none;
}

.zesp3-main .zesp-btn a[target="_blank"]::after {
	content: '';
	mask-image: url("../IMAGES/icon_external.svg");
	mask-size: 100% auto;
	mask-repeat: no-repeat;
	-webkit-mask-image: url("../IMAGES/icon_external.svg");
	-webkit-mask-size: 100% auto;
	-webkit-mask-repeat: no-repeat;
	display: inline-block;
	background-color: #c3002c;
	min-width: calc(20 / 18 * 1em);
	height: calc(20 / 18 * 1em);
	margin-left: calc(20 / 18 * 1em);
	transition: background-color 300ms;
}

.zesp3-main .zesp-btn a[data-icon="finger"]::after {
	content: '';
	mask-image: url("../IMAGES/icon_finger.svg");
	mask-size: 100% auto;
	mask-repeat: no-repeat;
	-webkit-mask-image: url("../IMAGES/icon_finger.svg");
	-webkit-mask-size: 100% auto;
	-webkit-mask-repeat: no-repeat;
	display: inline-block;
	min-width: calc(26 / 18 * 1em);
	height: calc(30 / 18 * 1em);
	margin-left: calc(11 / 18 * 1em);
}

/* カラム1 */
.zesp3-main .column-3[data-style="01"] > ul {
	display: flex;
	gap: calc(75 / 14 * 1em);
	margin: 0;
}

.zesp3-main .column-3[data-style="01"] > ul > li {
	display: flex;
	flex-direction: column;
	gap: calc(14 / 14 * 1em);
}

.zesp3-main .column-3[data-style="01"] > ul > li .column-3-img {
	border: 1px solid #a9a9a9;
	width: calc(340 / 14 * 1em);
	min-height: calc(220 / 14 * 1em);
	display: flex;
	align-items: center;
	justify-content: center;
}

.zesp3-main .column-3[data-style="01"] > ul > li:first-child .column-3-img img {
	width: calc(196 / 14 * 1em);
	height: auto;
}

.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img {
	display: flex;
	flex-direction: column;
	gap: calc(10 / 14 * 1em);
}

.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img p {
	font-family: ShinGoPro-Bold, sans-serif !important;
	font-size: calc(16 / 14 * 1em);
	color: #c3002c;
	line-height: 1.93;
}

.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img img {
	width: calc(74 / 14 * 1em);
	height: auto;
}

.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(3) .column-3-img img {
	width: calc(160 / 14 * 1em);
	height: auto;
}

.zesp3-main .column-3[data-style="01"] > ul > li p {
	font-size: calc(16 / 14 * 1em);
	line-height: 1.5;
	letter-spacing: -0.02em;
	margin: 0;
}

.zesp3-main .column-3[data-style="01"] > ul > li p em {
	font-size: calc(18 / 16 * 1em);
	font-weight: 500;
}

.zesp3-main .column-3[data-style="01"] > ul > li p a {
	color: #c50029;
	text-decoration: underline;
}

.zesp3-main .column-3[data-style="01"] ul[data-list="annotation"] {
	margin: 0;
}

.zesp3-main .column-3[data-style="01"] ul[data-list="annotation"] li {
	line-height: 1.83;
	letter-spacing: -0.05em;
}

/* カラム2 */
.zesp3-main .column-3[data-style="02"] > ol {
	display: flex;
	gap: calc(45 / 14 * 1em);
	margin-top: calc(60 / 14 * 1em);
	padding-top: calc(40 / 14 * 1em);
	counter-reset: number 0;
}

.zesp3-main .column-3[data-style="02"] > ol > li {
	border: 1px solid #c3002c;
	width: calc(360 / 14 * 1em);
	min-height: calc(330 / 14 * 1em);
	padding: calc(53 / 14 * 1em) calc(20 / 14 * 1em) calc(22 / 14 * 1em);
	text-align: center;
	position: relative;
}

.zesp3-main .column-3[data-style="02"] > ol > li:not(:last-child)::after {
	content: '';
	border-style: solid;
	border-top: calc(18 / 14 * 1em) solid transparent;
	border-bottom: calc(18 / 14 * 1em) solid transparent;
	border-left: calc(28 / 14 * 1em) solid #c3002c;
	border-right: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	right: calc(-28 / 14 * 1em);
}

.zesp3-main .column-3[data-style="02"] > ol > li::before {
	content: counter(number);
	counter-increment: number 1;
	font-family: ShinGoPro-Bold, sans-serif;
	font-size: calc(34 / 14 * 1em);
	line-height: 2;
	background-color: #c3002c;
	color: #fff;
	position: absolute;
	top: calc(-40 / 34 * 1em);
	left: 50%;
	transform: translate(-50%, 0);
	width: calc(80 / 34 * 1em);
	height: calc(80 / 34 * 1em);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zesp3-main .column-3[data-style="02"] > ol > li p {
	font-size: calc(16 / 14 * 1em);
	line-height: 1.75;
	letter-spacing: -0.02em;
	margin: 0;
}

.zesp3-main .column-3[data-style="02"] > ol > li p em {
	font-size: calc(18 / 16 * 1em);
	font-weight: 500;
}

.zesp3-main .column-3[data-style="02"] > ol > li p span {
	text-decoration: underline;
	text-decoration-color: #c3002c;
}

.zesp3-main .column-3[data-style="02"] > ol > li p + p {
	margin-top: calc(4 / 16 * 1em);
}

.zesp3-main .column-3[data-style="02"] > ol > li .column-3-img {
	margin-top: calc(28 / 14 * 1em);
}

.zesp3-main .column-3[data-style="02"] > ol > li:first-child .column-3-img img {
	width: calc(94 / 14 * 1em);
	height: auto;
}

.zesp3-main .column-3[data-style="02"] > ol > li:nth-child(3) .column-3-img img {
	width: calc(126 / 14 * 1em);
	margin-left: calc(14 / 14 * 1em);
	height: auto;
}

.zesp3-main .column-3[data-style="02"] > ol > li .zesp-btn {
	margin-top: calc(18 / 14 * 1em);
	margin-right: auto;
	margin-left: auto;
}

.zesp3-main .column-3[data-style="02"] > ol > li .zesp-btn a {
	padding: calc(14 / 18 * 1em) calc(16 / 18 * 1em);
	letter-spacing: -0.04em;
}

.zesp3-main .column-3[data-style="02"] ul[data-list="annotation"] {
	margin: calc(20 / 14 * 1em) 0 0 0;
}

.zesp3-main .column-3[data-style="02"] ul[data-list="annotation"] li {
	text-align: left;
	letter-spacing: -0.02em;
	line-height: 1.83;
}

/* サポートブロック */
.zesp3-main .support-list {
	display: flex;
	flex-direction: column;
	gap: calc(20 / 14 * 1em);
}

.zesp3-main .support-item {
	position: relative;
	border: 1px solid #8a8a8a;
}

.zesp3-main .support-item::before {
	content: '';
	background-repeat: no-repeat;
	background-position: center;
	width: calc(80 / 14 * 1em);
	height: calc(80 / 14 * 1em);
	border: 1px solid #c3002c;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	top: calc(20 / 14 * 1em);
	left: calc(20 / 14 * 1em);
	box-sizing: unset;
}

.zesp3-main .support-list .support-item:first-child::before {
	background-image: url('../IMAGES/icon_search.svg');
	background-size: calc(56 / 14 * 1em) calc(52 / 14 * 1em);
}

.zesp3-main .support-list .support-item:nth-child(2)::before {
	background-image: url('../IMAGES/icon_residence.svg');
	background-size: calc(40 / 14 * 1em) calc(55 / 14 * 1em);
}

.zesp3-main .support-list .support-item:nth-child(3)::before {
	background-image: url('../IMAGES/icon_amount.svg');
	background-size: calc(32 / 14 * 1em) calc(35 / 14 * 1em);
}

.zesp3-main .support-list .support-item:nth-child(4)::before {
	background-image: url('../IMAGES/icon_update.svg');
	background-size: calc(59 / 14 * 1em) calc(37 / 14 * 1em);
}

.zesp3-main .support-list .support-item:nth-child(5)::before {
	background-image: url('../IMAGES/icon_charging.svg');
	background-size: calc(60 / 14 * 1em) calc(40 / 14 * 1em);
}

.zesp3-main .support-title {
	background-color: #fff;
	padding: calc(18 / 14 * 1em) calc(23 / 14 * 1em) calc(18 / 14 * 1em) calc(140 / 14 * 1em);
}

.zesp3-main .support-title p {
	font-size: calc(16 / 14 * 1em);
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

.zesp3-main .support-detail {
	background-color: #f5f5f5;
	padding: calc(22 / 14 * 1em) calc(23 / 14 * 1em) calc(22 / 14 * 1em) calc(140 / 14 * 1em);
}

.zesp3-main .support-detail p {
	font-weight: 500;
	font-size: calc(18 / 14 * 1em);
	line-height: 1.55;
	margin: 0;
	letter-spacing: -0.05em;
}

.zesp3-main .support-detail p a {
	text-decoration: underline;
}

.zesp3-main .support-detail p a[data-color="black"] {
	color: #343434;
}

.zesp3-main .support-detail p span[data-font="brand"] {
	font-family: ShinGoPro-Regular, sans-serif !important;
}

.zesp3-main .support-detail p span[data-color="red"] {
	color: #c50029;
}

.zesp3-main .support-detail p sup {
	top: -0.7em;
}

.zesp3-main sup {
	font-size: 0.55em;
}

/* パーツここまで */
/* ブロックごとの調整 */
.zesp3-spot,
.zesp3-plan,
.zesp3-benefits,
.zesp3-step,
.zesp3-renewable-energy,
.zesp3-support,
.zesp3-corporation {
	margin-top: calc(102 / 14 * 1em);
}

/* zesp-zesp3 */
.zesp3-zesp3 h1 em {
	font-family: ShinGoPro-Bold, sans-serif !important;
	font-size: calc(22 / 22 * 1em) !important;
	position: relative;
}

.zesp3-zesp3 h1 sup {
	top: -0.7em;
}

.zesp3-zesp3 .img-text ul:not([data-list]) {
	gap: calc(20 / 14 * 1em);
	margin: calc(24 / 14 * 1em) 0 0 0;
}

.zesp3-zesp3 .img-text ul:not([data-list]) li {
	padding: calc(6 / 16 * 1em) 0 calc(6 / 16 * 1em) calc(68 / 16 * 1em);
	letter-spacing: -0.01em;
}

.zesp3-zesp3 .img-text ul:not([data-list]) li::before {
	background-position: center;
	width: calc(50 / 16 * 1em);
	height: calc(50 / 16 * 1em);
	border: 1px solid #c3002c;
	border-radius: 10px;
	top: 50%;
	transform: translate(0, -50%);
}

.zesp3-zesp3 .img-text-text > p {
	font-size: calc(20 / 14 * 1em);
}

.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="map"]::before {
	background-size: calc(21 / 16 * 1em) calc(35 / 16 * 1em);
	background-image: url("../IMAGES/icon_map.svg");
}

.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="amount"]::before {
	background-size: calc(26 / 16 * 1em) calc(28 / 16 * 1em);
	background-image: url("../IMAGES/icon_amount.svg");
}

.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="benefits"]::before {
	background-size: calc(29 / 16 * 1em) calc(35 / 16 * 1em);
	background-image: url("../IMAGES/icon_benefits.svg");
}

.zesp3-zesp3 .img-text ol[data-list="asterisk-num"] {
	margin: calc(24 / 14 * 1em) 0 0 0;
}

/* zesp3-spot */
.zesp3-spot .img-text {
	display: grid;
	grid-template-columns: calc(550 / 14 * 1em) calc(570 / 14 * 1em);
	grid-template-areas:
		"text img"
		"note img";
	grid-template-rows: max-content 1fr;
}

.zesp3-spot .img-text .img-text-text {
	grid-area: text;
	width: 100%;
}

.zesp3-spot .img-text .img-text-text p {
	margin: 0;
}

.zesp3-spot .img-text .img-text-text ul {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: calc(24 / 14 * 1em) calc(56 / 14 * 1em);
	margin: calc(28 / 14 * 1em) 0 0 0;
}

.zesp3-spot .img-text .img-text-text li {
	font-size: calc(18 / 14 * 1em) !important;
	font-weight: normal !important;
	line-height: 2.2 !important;
	padding-left: calc(53 / 18 * 1em);
	min-height: calc(40 / 18 * 1em);
}

.zesp3-spot .img-text .img-text-text li::before {
	content: '';
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(40 / 18 * 1em);
	height: calc(40 / 18 * 1em);
}

.zesp3-spot .img-text .img-text-text li[data-icon="parking"]::before {
	background-image: url("../IMAGES/icon_parking.png");
}

.zesp3-spot .img-text .img-text-text li[data-icon="cart"]::before {
	background-image: url("../IMAGES/icon_cart.png");
}

.zesp3-spot .img-text .img-text-text li[data-icon="convenience-store"]::before {
	background-image: url("../IMAGES/icon_convenience-store.png");
}

.zesp3-spot .img-text .img-text-text li[data-icon="accommodation"]::before {
	background-image: url("../IMAGES/icon_accommodation.png");
}

.zesp3-spot .img-text .img-text-img {
	grid-area: img;
	justify-self: right;
}

.zesp3-spot .img-text ol[data-list="asterisk-num"] {
	grid-area: note;
	margin-top: calc(28 / 14 * 1em);
}

.zesp3-spot .zesp-btn {
	margin: calc(62 / 14 * 1em) auto 0;
}

.zesp3-spot ul[data-list="annotation"] {
	width: fit-content;
	margin: calc(20 / 14 * 1em) auto 0;
}

/* zesp3-plan */
.zesp3-plan .image {
	margin-top: calc(26 / 14 * 1em);
	text-align: right;
}

.zesp3-plan .image img {
	max-width: 1142px;
	height: auto;
}

.zesp3-plan ol[data-list="asterisk-num"] {
	width: fit-content;
	margin-top: calc(30 / 14 * 1em);
}

/* zesp3-step */
.zesp3-step-link a {
	font-size: calc(18 / 14 * 1em);
	font-weight: 500;
	color: #343434;
	line-height: 1.72;
	text-decoration: none;
	position: relative;
	padding-bottom: calc(6 / 18 * 1em);
}

.zesp3-step-link a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #606060;
	width: 100%;
	height: 2px;
}

/* zesp3-renewable-energy */
.zesp3-renewable-energy .overview {
	margin-bottom: 0 !important;
	font-weight: 500;
}

.zesp3-renewable-energy .overview a {
	color: #343434;
	text-decoration: underline;
}

.zesp3-renewable-energy .overview sup {
	top: -0.7em;
	font-weight: 500;
}

.zesp3-renewable-energy ol[data-list="asterisk-num"] {
	margin-top: calc(10 / 14 * 1em);
}

.zesp3-renewable-energy ol[data-list="asterisk-num"] li {
	line-height: 1.83;
}

/* zesp3-support */
.zesp3-support ol[data-list="asterisk-num"] {
	margin-top: calc(14 / 14 * 1em);
}

.zesp3-support ol[data-list="asterisk-num"] li {
	line-height: 1.83;
}

.zesp3-support .overview {
	margin-top: 0 !important;
	font-weight: 500;
}

.zesp3-support .overview a {
	text-decoration: underline;
}

/* zesp3-corporation */
.zesp3-corporation.noBorderTop {
	position: relative;
	padding-top: calc(96 / 14 * 1em) !important;
	padding-bottom: calc(60 / 14 * 1em);
}

.zesp3-corporation::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	background-color: #f5f5f5;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.zesp3-corporation > .wrap > .headerWrap > .header::before {
	background-color: #606060;
}

.zesp3-corporation .zesp-btn {
	margin: 0 auto;
}

.zesp3-corporation .zesp-btn a[target="_blank"]::after {
	content: none;
}

.zesp3-corporation .zesp-btn + ul[data-list="annotation"] {
	width: fit-content;
	margin: calc(18 / 14 * 1em) auto 0;
}

.zesp3-corporation .zesp-btn a {
	color: #343434;
}

.zesp3-corporation .overview {
	font-weight: 500;
}

.zesp3-corporation .overview ul[data-list="dot"] {
	margin: 0;
}

.zesp3-corporation .overview ul[data-list="dot"] li {
	font-size: calc(18 / 18 * 1em);
	line-height: 1.75;
	font-weight: 500;
}

.zesp3-corporation .overview ul[data-list="asterisk"] {
	margin: calc(12 / 18 * 1em) 0 0 0;
}

.zesp3-corporation .overview ul[data-list="asterisk"] li {
	font-size: calc(12 / 18 * 1em);
	line-height: 1.83;
}

/* zesp3-notes */
.zesp3-notes-lists ul {
	margin: 0;
}

.zesp3-notes-lists ul[data-list] li {
	font-size: calc(14 / 14 * 1em);
	line-height: 1.57;
}

/* zesp3-floating */
.zesp3-floating {
	position: fixed;
	bottom: 0;
	right: 0;
	left: 0;
	padding: 0 3.667%;
}

.zesp3-floating-btn {
	max-width: 1170px;
	display: flex;
	justify-content: flex-end;
	margin: 0 auto;
}

.zesp3-floating-btn a {
	font-size: calc(14 / 14 * 1em);
	font-weight: bold;
	background-color: #c3002c;
	color: #fff;
	line-height: 1.5;
	padding: calc(6 / 16 * 1em) calc(23 / 16 * 1em);
	display: block;
	width: fit-content;
	transition: background-color 300ms;
	text-decoration: none;
}

.zesp3-floating-btn a span[data-font="brand"] {
	font-family: ShinGoPro-Bold, sans-serif !important;
}

@media screen and (min-width: 581px) {
	.zesp3-main .column-3[data-style="01"] > ul > li p a:hover,
	.zesp3-main ul[data-list] li a:hover,
	.zesp3-main ol[data-list] li a:hover,
	.zesp3-main .zesp3-renewable-energy .overview a:hover,
	.zesp3-main .support-detail p a:hover,
	.zesp3-main .zesp3-support .overview a:hover {
		text-decoration: none;
	}
	
	.zesp3-main .zesp-btn a:hover {
		background-color: #c3002c;
		color: #fff;
	}
	
	.zesp3-main .zesp-btn a:hover::after {
		background-color: #fff;
	}
	
	.zesp3-floating-btn a:hover {
		background-color: #920023;
	}
}

@media screen and (max-width: 580px) {
	/* パーツここから */
	/* 画像とテキスト */
	.zesp3-main .img-text {
		flex-direction: column;
	}
	
	.zesp3-main .img-text-text {
		width: 100%;
	}

	.zesp3-main .img-text-text p {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.57;
		margin: 0;
	}

	.zesp3-main .img-text-text p em {
		font-size: calc(32 / 750 * 100vw);
		font-weight: bold;
	}

	.zesp3-main .img-text-text ul:not([data-list]) li {
		font-size: calc(26 / 750 * 100vw);
		line-height: 2.07;
	}

	.zesp3-main .img-text-text ul:not([data-list]) li em {
		font-size: calc(32 / 750 * 100vw);
		line-height: 1.68;
	}

	.zesp3-main .img-text-text ul:not([data-list]) li::before {
		top: calc(16 / 750 * 100vw);
	}

	.zesp3-main .img-text-img {
		width: 100%;
		margin-top: calc(52 / 750 * 100vw);
	}

	/* 注記 */
	.zesp3-main ul[data-list] li,
	.zesp3-main ol[data-list] li {
		font-size: calc(24 / 750 * 100vw);
		line-height: 1.5;
		padding-left: calc(24 / 750 * 100vw);
	}

	.zesp3-main ol[data-list="asterisk-num"] li {
		padding-left: calc(46 / 750 * 100vw);
	}

	/* ボタン */
	.zesp3-main .zesp-btn a {
		font-size: calc(28 / 750 * 100vw);
		padding: calc(17 / 750 * 100vw) calc(50 / 750 * 100vw) calc(17 / 750 * 100vw) calc(80 / 750 * 100vw);
		line-height: 1.42;
		box-shadow: 0 calc(16 / 750 * 100vw) calc(16 / 750 * 100vw) rgba(0, 0, 0, 0.36);
		max-width: calc(670 / 750 * 100vw);
	}

	.zesp3-main .zesp-btn a[target="_blank"]::after {
		min-width: calc(46 / 750 * 100vw);
		height: calc(46 / 750 * 100vw);
		margin-left: calc(66 / 750 * 100vw);
	}

	.zesp3-main .zesp-btn a[data-icon="finger"]::after {
		min-width: calc(41 / 750 * 100vw);
		height: calc(47 / 750 * 100vw);
		margin-left: calc(45 / 750 * 100vw);
	}

	/* カラム1 */
	.zesp3-main .column-3[data-style="01"] > ul {
		flex-direction: column;
		gap: calc(61 / 750 * 100vw);
		padding-top: calc(20 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li {
		gap: calc(15 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li .column-3-img {
		width: 100%;
		min-height: calc(320 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li:first-child .column-3-img img {
		width: calc(320 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img {
		gap: calc(36 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img p {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.1;
	}

	.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(2) .column-3-img img {
		width: calc(107 / 750 * 100vw);
	}
	
	.zesp3-main .column-3[data-style="01"] > ul > li:nth-child(3) .column-3-img img {
		width: calc(160 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="01"] > ul > li p {
		font-size: calc(26 / 750 * 100vw);
		line-height: 1.46;
	}

	.zesp3-main .column-3[data-style="01"] > ul > li p em {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.28;
	}

	.zesp3-main .column-3[data-style="01"] ul[data-list="annotation"] li {
		line-height: 1.5;
	}

	/* カラム2 */
	.zesp3-main .column-3[data-style="02"] > ol {
		flex-direction: column;
		gap: calc(76 / 750 * 100vw);
		padding-top: calc(48 / 750 * 100vw);
		margin-top: calc(18 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li {
		width: 100%;
		min-height: unset;
		padding: calc(58 / 750 * 100vw) calc(30 / 750 * 100vw) calc(36 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li:not(:last-child)::after {
		border-right: calc(14 / 750 * 100vw) solid transparent;
  		border-left: calc(14 / 750 * 100vw) solid transparent;
  		border-top: calc(24 / 750 * 100vw) solid #c3002c;
  		border-bottom: 0;
		bottom: calc(-24 / 750 * 100vw);
		left: 50%;
		transform: translate(-50%, 0);
		right: unset;
		top: unset;
	}

	.zesp3-main .column-3[data-style="02"] > ol > li::before {
		font-size: calc(34 / 750 * 100vw);
		line-height: 2;
		top: calc(-40 / 750 * 100vw);
		width: calc(80 / 750 * 100vw);
		height: calc(80 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li p {
		font-size: calc(26 / 750 * 100vw);
		line-height: 1.46;
		letter-spacing: -0.05em;
	}

	.zesp3-main .column-3[data-style="02"] > ol > li p em {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1;
	}

	.zesp3-main .column-3[data-style="02"] > ol > li p + p {
		margin-top: calc(2 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li .column-3-img {
		margin-top: calc(38 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li:first-child .column-3-img img {
		width: calc(94 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li:nth-child(3) .column-3-img img {
		width: calc(173 / 750 * 100vw);
		margin-left: calc(30 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li .zesp-btn {
		margin-top: calc(40 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] > ol > li .zesp-btn a {
		padding: calc(33 / 750 * 100vw) calc(84 / 750 * 100vw) calc(33 / 750 * 100vw) calc(64 / 750 * 100vw);
	}

	.zesp3-main .column-3[data-style="02"] ul[data-list="annotation"] {
		margin: calc(44 / 750 * 100vw) 0 0 0;
	}

	.zesp3-main .column-3[data-style="02"] ul[data-list="annotation"] li {
		line-height: 1.5;
		letter-spacing: -0.07em;
	}

	/* サポートブロック */
	.zesp3-main .support-list {
		gap: calc(40 / 750 * 100vw);
	}

	.zesp3-main .support-item::before {
		width: calc(116 / 750 * 100vw);
		height: calc(116 / 750 * 100vw);
		top: calc(18 / 750 * 100vw);
		left: calc(18 / 750 * 100vw);
	}

	.zesp3-main .support-list .support-item:first-child::before {
		background-size: calc(84 / 750 * 100vw) calc(78 / 750 * 100vw);
	}
	
	.zesp3-main .support-list .support-item:nth-child(2)::before {
		background-size: calc(57 / 750 * 100vw) calc(78 / 750 * 100vw);
	}
	
	.zesp3-main .support-list .support-item:nth-child(3)::before {
		background-size: calc(52 / 750 * 100vw) calc(55 / 750 * 100vw);
	}
	
	.zesp3-main .support-list .support-item:nth-child(4)::before {
		background-size: calc(79 / 750 * 100vw) calc(57 / 750 * 100vw);
	}
	
	.zesp3-main .support-list .support-item:nth-child(5)::before {
		background-size: calc(77 / 750 * 100vw) calc(53 / 750 * 100vw);
	}

	.zesp3-main .support-title {
		padding: calc(39 / 750 * 100vw) calc(20 / 750 * 100vw) calc(45 / 750 * 100vw) calc(170 / 750 * 100vw);
	}

	.zesp3-main .support-title p {
		font-size: calc(26 / 750 * 100vw);
		line-height: 1.46;
		letter-spacing: -0.05em;
	}

	.zesp3-main .support-detail {
		padding: calc(18 / 750 * 100vw) calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
	}
	
	.zesp3-main .support-detail p {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.5;
	}
	/* パーツここまで */
	/* ブロックごとの調整 */
	
	.zesp3-spot,
	.zesp3-plan,
	.zesp3-benefits,
	.zesp3-step,
	.zesp3-renewable-energy,
	.zesp3-support,
	.zesp3-corporation {
		margin-top: calc(86 / 750 * 100vw);
	}

	/* zesp-zesp3 */
	.zesp3-zesp3 h1 span {
		line-height: 1.9 !important;
	}
	
	.zesp3-zesp3 h1 em {
		font-size: calc(30 / 750 * 100vw) !important;
	}

	.zesp3-zesp3 .img-text ul:not([data-list]) {
		gap: calc(10 / 750 * 100vw);
		margin: calc(20 / 750 * 100vw) 0 0 0;
	}

	.zesp3-zesp3 .img-text ul:not([data-list]) li {
		padding: 0 0 0 calc(108 / 750 * 100vw);
	}

	.zesp3-zesp3 .img-text ul:not([data-list]) li::before {
		width: calc(76 / 750 * 100vw);
		height: calc(76 / 750 * 100vw);
		border-radius: calc(10 / 750 * 100vw);
		top: 50%;
	}
	
	.zesp3-zesp3 .img-text-text > p {
		font-size: calc(32 / 750 * 100vw);
	}

	.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="map"]::before {
		background-size: calc(34 / 750 * 100vw) calc(56 / 750 * 100vw);
	}
	
	.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="amount"]::before {
		background-size: calc(42 / 750 * 100vw) calc(45 / 750 * 100vw);
	}
	
	.zesp3-zesp3 .img-text-text ul:not([data-list]) li[data-icon="benefits"]::before {
		background-size: calc(46 / 750 * 100vw) calc(56 / 750 * 100vw);
	}
	
	.zesp3-zesp3 .img-text ol[data-list="asterisk-num"] {
		margin: calc(16 / 750 * 100vw) 0 0 0;
	}
	
	/* zesp3-spot */
	.zesp3-spot .img-text {
		grid-template-columns: 1fr;
		grid-template-areas: unset;
		grid-template-rows: none;
	}
	
	.zesp3-spot .img-text .img-text-text {
		grid-area: unset;
	}
	
	.zesp3-spot .img-text .img-text-text ul {
		grid-template-columns: max-content 1fr;
		gap: calc(38 / 750 * 100vw) calc(86 / 750 * 100vw);
		margin-top: calc(47 / 750 * 100vw);
	}

	.zesp3-spot .img-text .img-text-text li {
		font-size: calc(26 / 750 * 100vw) !important;
		line-height: 2.07 !important;
		padding-left: calc(110 / 750 * 100vw);
		min-height: calc(80 / 750 * 100vw);
		padding-top: calc(10 / 750 * 100vw);
	}

	.zesp3-spot .img-text .img-text-text li::before {
		width: calc(80 / 750 * 100vw);
		height: calc(80 / 750 * 100vw);
		top: 0 !important;
	}

	.zesp3-spot .img-text .img-text-img {
		grid-area: unset;
		justify-self: unset;
	}

	.zesp3-spot .img-text ol[data-list="asterisk-num"] {
		grid-area: unset;
		margin-top: calc(46 / 750 * 100vw);
	}

	.zesp3-spot .zesp-btn {
		margin: calc(52 / 750 * 100vw) auto 0;
	}

	.zesp3-spot ul[data-list="annotation"] {
		margin: calc(36 / 750 * 100vw) auto 0;
	}
	
	/* zesp3-plan */
	.zesp3-plan .image {
		margin-top: calc(20 / 750 * 100vw);
	}
	
	.zesp3-plan ol[data-list="asterisk-num"] {
		margin-top: calc(10 / 750 * 100vw);
		padding-left: calc(20 / 750 * 100vw);
	}
	
	/* zesp3-plan slider */
	.zesp3-plan .slider-container {
		width: auto;
		margin: 0 -15px;
	}

	.zesp3-plan .slider-container .slider li img {
		width: calc(288 / 375 * 100vw) !important;
		display: block;
		margin: 0 auto;
	}

	.zesp3-plan .slick-next:before,
	.zesp3-plan .slick-prev:before {
		width: 100%;
		content: "";
		color: #666;
		margin: 0 auto;
		display: inline-block;
		text-align: center;
	}

	.zesp3-plan .slick-next:before {
		content: "";
	}
	
	/* zesp3-step */
	.zesp3-step-link a {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.1;
		padding-bottom: calc(16 / 750 * 100vw);
	}

	/* zesp3-renewable-energy */
	.zesp3-renewable-energy ol[data-list="asterisk-num"] {
		margin-top: calc(10 / 750 * 100vw);
	}
	
	.zesp3-renewable-energy ol[data-list="asterisk-num"] li {
		line-height: 1.5;
	}
	
	/* zesp3-support */
	.zesp3-support ol[data-list="asterisk-num"] {
		margin-top: calc(36 / 750 * 100vw);
	}
	
	.zesp3-support ol[data-list="asterisk-num"] li {
		line-height: 1.29;
	}
	
	.zesp3-support .overview {
		margin-top: calc(30 / 750 * 100vw) !important;
	}
	
	/* zesp3-corporation */
	.zesp3-corporation.noBorderTop {
		padding-top: calc(74 / 750 * 100vw) !important;
		padding-bottom: calc(50 / 750 * 100vw);
	}

	.zesp3-corporation > .wrap > .headerWrap > .header::before {
		background: none;
		border-color: #606060;
	}
	
	.zesp3-corporation .zesp-btn {
		width: 100%;
	}
	
	.zesp3-corporation .zesp-btn a {
		text-align: center;
		padding-left: calc(50 / 750 * 100vw);
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
	}
	
	.zesp3-corporation .zesp-btn + ul[data-list="annotation"] {
		margin: calc(42 / 750 * 100vw) auto 0;
		padding-left: calc(22 / 750 * 100vw);
	}

	.zesp3-corporation .overview {
		line-height: 1.57 !important;
	}
	
	.zesp3-corporation .overview ul[data-list="dot"] li {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.57;
	}

	.zesp3-corporation .overview ul[data-list="asterisk"] {
		margin: calc(22 / 750 * 100vw) 0 0 0;
	}

	.zesp3-corporation .overview ul[data-list="asterisk"] li {
		font-size: calc(24 / 750 * 100vw);
		line-height: 1.29;
	}

	/* zesp3-notes */
	.zesp3-notes-lists ul[data-list] li {
		font-size: calc(24 / 750 * 100vw);
		line-height: 1.5;
	}

	/* zesp3-floating */
	.zesp3-floating {
		bottom: 0;
		left: 0;
		right: unset;
		padding: 0;
		z-index: 10;
	}

	.zesp3-floating[data-fix="false"] {
		position: absolute;
		bottom: -5rem;
	}

	.zesp3-floating-btn a {
		font-size: calc(20 / 750 * 100vw);
		line-height: 1;
		padding: calc(28 / 750 * 100vw) calc(44 / 750 * 100vw);
	}
}

/* ZESP3ページのみtopへ戻るボタン個別調整 */
@media screen and (max-width: 580px) {
	.toTopBtn {
		margin: 0 calc(20 / 375 * 100vw) 0 0;
	}
	
	.toTopBtn[data-fix='false'] {
		bottom: -5rem;
	}
}

/* Aiアシスタント調整 */

/* 位置 */
/* バツボタン */
#nissan-ai-info-assistant .nb-bottom-\[120px\] {
	bottom: 174px;
}

/* チャットアイコン・説明 */
#nissan-ai-info-assistant .nb-bottom-\[80px\] {
	bottom: 140px;
}

/* 説明吹き出し */
#nissan-ai-info-assistant .nb-bottom-\[96px\] {
	bottom: 152px;
}

/* サイズ */
/* バツボタン */
#nissan-ai-info-assistant [data-testid="test-chatbot"] {
	width: 20px;
	height: 20px;
}

/* チャットアイコン */
#nissan-ai-info-assistant > svg {
	width: 48px;
	height: 48px;
}

/* 説明 */
#nissan-ai-info-assistant [data-testid="tooltip-content"] {
	font-size: calc(10 / 14 * 1em);
}

#nissan-ai-info-assistant [data-testid="tooltip-content"] span {
	vertical-align: middle;
}

@media screen and (max-width: 580px) {
	/* 位置 */
	/* バツボタン */
	#nissan-ai-info-assistant .nb-bottom-\[120px\] {
		bottom: calc(150 / 750 * 100vw);
	}
	
	/* チャットアイコン・説明 */
	#nissan-ai-info-assistant .nb-bottom-\[80px\] {
		bottom: calc(96 / 750 * 100vw);
	}
	
	/* 説明吹き出し */
	#nissan-ai-info-assistant .nb-bottom-\[96px\] {
		bottom: calc(114 / 750 * 100vw);
	}
	
	/* サイズ */
	/* バツボタン */
	#nissan-ai-info-assistant [data-testid="test-chatbot"] {
		width: calc(40 / 750 * 100vw);
		height: calc(40 / 750 * 100vw);
	}
	
	/* チャットアイコン */
	#nissan-ai-info-assistant > svg {
		width: calc(84 / 750 * 100vw);
    	height: calc(84 / 750 * 100vw);
	}
	
	/* 説明 */
	#nissan-ai-info-assistant > div:has([data-testid="tooltip-content"]) {
		padding: calc(8 / 750 * 100vw) calc(14 / 750 * 100vw);
	}
	
	#nissan-ai-info-assistant [data-testid="tooltip-content"] {
		font-size: calc(20 / 750 * 100vw);
	}
}