@charset "UTF-8";
/*!
    CSSファイルの直接の改変厳禁
    SCSSファイルからCSSファイルを生成してください
*/
@import url("https://fonts.googleapis.com/css2?family=Lexend+Zetta:wght@100..900&family=Lexend:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* Reset
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

main, article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
	content: "";
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
	--ja-font: "Noto Sans JP", sans-serif;
	--en-font: "Lexend Zetta", "Noto Serif Display", serif;
	--color--prim: #ED6C00;
	--color--sec: #FFB100;
	--color--dk-gy: #333;
	--color--gy: #666;
	--color--rd: #AB0828;
	--color--gr: #00ADA9;
	--color--pl: #6479BD;
	--color--br: #0064A0;
	--color--yl: #FFB100;
	--color--wh: #FFF;
	--color--lt-yl: #FCF3E4;
	--color--lt-gy: #F7F7F7;
	--base-font-color: var(--color--dk-gy);
	--link-color: var(--color--rd);
	--link-hover-color: var(--color--prim);
}

:root {
	--break-point: 1024px;
}

@media screen and (min-width: 1024px) {
	:root {
		--header-height: 79px;
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--header-height: 50px;
	}
}
@media screen and (min-width: 1024px) {
	:root {
		/* --font-size--11l: 4.5rem;
		--font-size--10l: 4rem;
		--font-size--9l: 3.4rem;
		--font-size--8l: 3.2rem;
		--font-size--7l: 3rem;
		--font-size--6l: 2.8rem;
		--font-size--5l: 2.6rem;
		--font-size--4l: 2.4rem;
		--font-size--3l: 2.2rem;
		--font-size--2l: 2rem;
		--font-size--l: 1.8rem; */
		--base-font-size: 1.7rem;
		--base-letter-spacing: 0.1em;
		--base-line-height: 2.2;
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--base-font-size: 1.4rem;
		--base-letter-spacing: 0.05em;
		--base-line-height: 2;
	}
}
:root {
	--vw: 1vw;
}

@media screen and (min-width: 1024px) {
	:root {
		--content-width--s: min(calc(var(--vw) * 50), 750px);
		--content-width: min(calc(var(--vw) * 68), 900px);
		--content-width--l: calc(var(--vw) * 84);
		--content-width--xl: calc(var(--vw) * 88);
		--neg-margin--l: calc((var(--content-width--l) - var(--content-width)) / -2);
		--neg-margin--xl: calc((var(--content-width--xl) - var(--content-width)) / -2);
		--neg-margin--max: calc((var(--content-padding)) * -1);
		--content-padding--s: calc((var(--vw) * 100 - var(--content-width)) / 2 + var(--content-width) - var(--content-width--s));
		--content-padding: calc((var(--vw) * 100 - var(--content-width)) / 2);
		--content-padding--l: calc((var(--vw) * 100 - var(--content-width--l)) / 2);
		--content-padding--xl: calc((var(--vw) * 100 - var(--content-width--xl)) / 2);
		--section-margin: 150px;
		--child-section-margin: 80px;
		--elem-gap--xl: 90px;
		--elem-gap--l: 70px;
		--elem-gap--m: 40px;
		--elem-gap--s: 30px;
		--elem-gap--xs: 20px;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	:root {
		--elem-gap--xl: 60px;
		--elem-gap--l: 50px;
		--elem-gap--m: 30px;
		--elem-gap--s: 20px;
		--elem-gap--xs: 10px;
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--content-width--s: calc(var(--vw) * 85);
		--content-width: calc(var(--vw) * 85);
		--content-width--l: calc(var(--vw) * 90);
		--content-width--xl: calc(var(--vw) * 100 - 26px);
		--neg-margin--l: calc((var(--content-width--l) - var(--content-width)) / -2);
		--neg-margin--xl: calc((var(--content-width--xl) - var(--content-width)) / -2);
		--neg-margin--max: calc((var(--content-padding)) * -1);
		--content-padding--s: calc((var(--vw) * 100 - var(--content-width)) / 2);
		--content-padding: calc((var(--vw) * 100 - var(--content-width)) / 2);
		--content-padding--l: calc((var(--vw) * 100 - var(--content-width--l)) / 2);
		--content-padding--xl: calc((var(--vw) * 100 - var(--content-width--xl)) / 2);
		--section-margin: 80px;
		--child-section-margin: 40px;
		--elem-gap--xl: 50px;
		--elem-gap--l: 40px;
		--elem-gap--m: 30px;
		--elem-gap--s: 20px;
		--elem-gap--xs: 10px;
	}
}
@media screen and (min-width: 1024px) {
	:root {
		--radius--xs: 20px;
		--radius--s: 30px;
		--radius--m: 40px;
		--radius--l: 50px;
		--radius--xl: 80px;
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--radius--xs: 10px;
		--radius--s: 20px;
		--radius--m: 30px;
		--radius--l: 40px;
		--radius--xl: 50px;
	}
}
/* Fonts
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
:lang(ja) {
	font-family: var(--ja-font);
}

:lang(en) {
	font-family: var(--en-font);
	font-weight: 400;
	letter-spacing: -0.2em;
	/*font-variant-ligatures: none;*/
}

html {
	font-size: 62.5%;
}

body {
	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
	font-weight: 400;
	color: var(--base-font-color);
	letter-spacing: var(--base-letter-spacing);
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

/* common
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
html {
	height: 100%;
}

body {
	background: var(--color--lt-yl);
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

p, ul, ol, dl {
	margin-block: 0 var(--elem-gap--s);
}

h1, h2, h3, h4, h5 {
	line-height: 1.5;
	margin-block: 0 var(--elem-gap--s);
	font-size: 3rem;
	font-weight: 700;
}

li {
	margin-inline: 2.2em 0;
}

ul:not([class]), ol:not([class]) {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 8px 0;
}
ul:not([class]) ul, ul:not([class]) ol, ol:not([class]) ul, ol:not([class]) ol {
	margin-block: 8px;
}

ul {
	list-style: disc;
}
ul ul {
	list-style: circle;
}
ul.no-style {
	list-style: none;
}
ul.no-style > li {
	margin-inline: 0;
}

ol {
	list-style: decimal;
}
ol:not([class]) ol {
	counter-reset: number-child-list;
	margin-block: 0.5em;
}
ol:not([class]) ol > li {
	counter-increment: number-child-list;
	list-style: none;
	margin-left: 2.5em;
}
ol:not([class]) ol > li::before {
	content: "(" counter(number-child-list) ")";
	width: 2.5em;
	display: inline-block;
	margin-left: -2.5em;
}
ol.parentheses {
	counter-reset: parentheses-list;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.5em 0;
}
ol.parentheses > li {
	counter-increment: parentheses-list;
	-webkit-margin-start: 2.5em;
	        margin-inline-start: 2.5em;
	list-style: none;
}
ol.parentheses > li::before {
	content: "(" counter(parentheses-list) ")";
	width: 2.5em;
	display: inline-block;
	-webkit-margin-start: -2.5em;
	        margin-inline-start: -2.5em;
}
ol.parentheses ol {
	list-style: katakana;
	margin-block: 0.5em;
}

.hidden {
	display: none;
}

table {
	border-collapse: collapse;
	line-height: 1.5;
}
table th, table td {
	padding: 8px 16px;
	text-align: left;
	vertical-align: middle;
}
table th p, table th ul, table th ol, table th dl, table td p, table td ul, table td ol, table td dl {
	margin-block: 0 8px;
}
table th :not(input):not(select):not(textarea):not(span):last-child, table td :not(input):not(select):not(textarea):not(span):last-child {
	-webkit-margin-after: 0 !important;
	        margin-block-end: 0 !important;
}
table th {
	font-weight: 400;
}
table tbody tr.combine > td {
	border-top: none;
	border-bottom-style: dashed;
}
table tbody tr:last-child > th, table tbody tr:last-child > td {
	border-bottom: none;
}
table tbody th[rowspan] ~ td {
	border-bottom-style: dashed;
}
table thead th {
	width: auto;
	text-align: center;
	border-top: none;
}
table tfoot th,
table tfoot td {
	border-bottom: none;
}
table caption {
	font-weight: bold;
	text-align: left;
}

hr {
	display: none;
}

img {
	max-width: 100%;
	height: auto;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	border: none;
	vertical-align: bottom;
}

i {
	font-style: normal;
}

em {
	font-style: normal;
	font-weight: 700;
}

strong {
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 0.4em;
	text-decoration-color: color-mix(in srgb, var(--color--sec) 20%, transparent);
	-webkit-text-decoration-skip-ink: none;
	        text-decoration-skip-ink: none;
	text-underline-offset: -0.2em;
}

sup {
	vertical-align: top;
	line-height: 1.8;
	font-size: max(40%, 1.1rem);
}

sub {
	vertical-align: baseline;
	line-height: 1.8;
	font-size: max(40%, 1.1rem);
}

ins {
	color: #C00;
}

a {
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	color: var(--base-font-color);
	text-decoration: none;
}
@media (hover: hover) {
	a:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
	a:where(:any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
}
a:hover span {
	cursor: pointer;
}
a.inactive, .inactive a {
	cursor: default;
	pointer-events: none;
}
a:not([class]) {
	text-decoration: underline;
	color: var(--link-color);
	font-weight: 500;
}
@media (hover: hover) {
	a:not([class]):where(:-moz-any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
	a:not([class]):where(:any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
}
@media screen and (min-width: 1024px) {
	a[href^="tel:"] {
		color: var(--base-font-color);
		text-decoration: none;
		pointer-events: none;
	}
}

input,
select,
textarea,
button {
	font-family: var(--ja-font);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	margin: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 0;
	background: transparent;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
	font-size: var(--base-font-size);
	font-weight: 500;
	line-height: 1.8;
	overflow: visible;
}

@media screen and (max-width: 1023.98px) {
	input, textarea {
		font-size: 1.6rem;
	}
}

select,
input[type=submit],
button {
	cursor: pointer;
}

figcaption {
	text-align: left;
}

summary {
	display: block;
	cursor: pointer;
}

summary::-webkit-details-marker {
	display: none;
}

.italic {
	font-style: italic;
}

.note {
	font-size: 1.3rem;
	line-height: 1.8;
}
.note--s {
	font-size: 1.2rem;
}
.note strong {
	color: var(--color--prim);
	font-weight: normal;
}

.flow-root {
	display: flow-root;
}

.float-clear {
	clear: both;
}

.align-right {
	text-align: right;
}

.align-center {
	text-align: center;
}

.flex-end {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.flex-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

:focus-visible {
	outline: 2px dotted var(--color--dk-gy);
	outline-offset: -1px;
}

@media screen and (max-width: 1023.98px) {
	table th, table td {
		padding: 8px 5px;
		width: auto;
	}
	.note {
		font-size: 1.1rem;
	}
}
@media screen and (min-width: 1024px) {
	.mob-only {
		display: none;
	}
}
@media screen and (max-width: 1023.98px) {
	.pc-only {
		display: none !important;
	}
	.mob-only {
		display: block;
	}
	br.mob-only {
		display: inline;
	}
}
.page-header {
	color: var(--color--wh);
	margin-inline: var(--neg-margin--max);
	padding-inline: var(--content-padding--l);
	padding-block: var(--elem-gap--l) calc(var(--elem-gap--l) + var(--radius--xl));
	background-image: radial-gradient(circle at 95% 130%, var(--color--sec) 0%, var(--color--prim) 80%);
}
.page-header .top-site-title {
	position: relative;
	z-index: 2;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto 0;
	font-size: 2.8rem;
	line-height: 1;
}
.page-header .top-site-title-vpp {
	font-size: 3.4rem;
	font-weight: 330;
}
.page-header .top-site-title-link {
	color: var(--color--wh);
}
.page-header .page-title {
	position: relative;
	z-index: 2;
}
.page-header .page-title-ja {
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin: 0;
}
.page-header .page-title-en {
	font-size: min(10vw, 14rem);
	line-height: 0.9;
	margin-inline: -0.1em;
}
.page-header:has(.hero) {
	position: relative;
	z-index: -1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	height: clamp(400px, 100svh - var(--header-height) - var(--elem-gap--xl) * 2 - 50px, 650px);
}
.page-header:has(.hero) .top-site-title-link {
	color: var(--color--prim);
}
.page-header:has(.hero) .page-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--elem-gap--xs);
}
.page-header:has(.hero) .page-title-ja {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	font-size: 5.4rem;
	line-height: 1.3;
	margin-block: auto;
}
.page-header:has(.hero) .page-title:has(.page-subtitle) .page-title-ja {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.page-header:has(.hero) .page-title-en {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	font-size: 2rem;
	line-height: 1.2;
	margin-block: 0;
}
.page-header:has(.hero) .page-subtitle {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	margin-block: 0 auto;
}
.page-header:has(.hero) .hero {
	position: absolute;
	inset: 0 0 0 45vw;
	clip-path: inset(-10svh 0 calc(-10svh + var(--radius--xl)) round 1000px 0 0 1000px);
}
.page-header:has(.hero) .hero-image {
	-o-object-fit: cover;
	   object-fit: cover;
	height: 100%;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.page-header:has(.hero) .page-title-ja {
		font-size: 5rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.page-header .top-site-title {
		font-size: 1.4rem;
		line-height: 1;
		margin-block: 0 40svh;
	}
	.page-header .top-site-title-vpp {
		font-size: 1.8rem;
	}
	.page-header .page-title-ja {
		font-size: 2.6rem;
		letter-spacing: 0.1em;
	}
	.page-header .page-title-en {
		font-size: min(13vw, 14rem);
	}
	.page-header:has(.hero) {
		position: relative;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		height: auto;
	}
	.page-header:has(.hero) .top-site-title {
		position: absolute;
		inset: var(--elem-gap--l) var(--content-padding--l) auto auto;
	}
	.page-header:has(.hero) .page-title {
		margin-block: 40svh 0;
	}
	.page-header:has(.hero) .page-title-ja {
		font-size: 3.6rem;
	}
	.page-header:has(.hero) .page-title-en {
		font-size: 1.6rem;
		margin-block: 0 var(--elem-gap--m);
	}
	.page-header:has(.hero) .page-subtitle {
		font-size: 1.8rem;
	}
	.page-header:has(.hero) .hero {
		inset: 0 0 auto;
		height: 40svh;
		clip-path: inset(0 calc(var(--vw) * -10) 0 round 0 0 50% 50%);
	}
}

.wrapper {
	overflow: clip;
}

.contents {
	position: relative;
	z-index: 2;
	display: flow-root;
	padding-block: 0;
	padding-inline: var(--content-padding);
}

.container {
	margin-inline: var(--neg-margin--max);
	padding-inline: var(--content-padding);
	padding-block: var(--section-margin);
	background: var(--color--wh);
	border-radius: var(--radius--xl);
	margin-block: calc(var(--radius--xl) * -1) var(--section-margin);
}
.container > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.container:has(.container > .frame:first-child) {
	-webkit-padding-before: var(--elem-gap--m);
	        padding-block-start: var(--elem-gap--m);
}

.learn-more-slider .swiper-controller .swiper-button::before, .arrow-icon::before, .arrow-s-icon::before, .news-link .news-link-icon::before {
	content: "";
	position: relative;
	z-index: 2;
	display: block;
	width: 17px;
	aspect-ratio: 17/5;
	background-color: var(--color--wh);
	-webkit-mask: url(/business/vpp/assets/images/icn_arrow.svg) no-repeat center/contain;
	        mask: url(/business/vpp/assets/images/icn_arrow.svg) no-repeat center/contain;
	margin-block: -2px 0;
}

.more-button::after, .arrow-icon::after, .arrow-s-icon::after, .news-link .news-link-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--color--sec)), to(var(--color--prim)));
	background-image: linear-gradient(90deg, var(--color--sec) 0%, var(--color--prim) 100%);
	background-size: 100% 100%;
	-webkit-transition: 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	transition: 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}

.arrow-icon, .arrow-s-icon, .news-link .news-link-icon {
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	vertical-align: middle;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 68px;
	height: 68px;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	border-radius: 50%;
	margin-inline: auto 0;
}
[target=_blank] .arrow-icon::before, [target=_blank] .arrow-s-icon::before, [target=_blank] .news-link .news-link-icon::before, .news-link [target=_blank] .news-link-icon::before {
	aspect-ratio: 14/13;
	-webkit-mask-image: url(/business/vpp/assets/images/icn_arrow_ext.svg);
	        mask-image: url(/business/vpp/assets/images/icn_arrow_ext.svg);
	width: 14px;
	margin-block: 0;
}
.arrow-icon--down {
	rotate: 90deg;
}
.arrow-icon--wh::before, .arrow-s-icon--wh::before {
	background: var(--color--prim);
}
.arrow-icon--wh::after, .arrow-s-icon--wh::after {
	background: var(--color--wh);
}
@media (hover: hover) {
	a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .arrow-icon::after, a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::after, a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link-icon::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
	a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .arrow-icon::after, a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .arrow-s-icon::after, a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link a:has(.arrow-icon, .arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link-icon::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
}
@media screen and (max-width: 1023.98px) {
	.arrow-icon, .arrow-s-icon, .news-link .news-link-icon {
		width: 40px;
		height: 40px;
	}
}

.arrow-s-icon, .news-link .news-link-icon {
	width: 50px;
	height: 50px;
}
@media (hover: hover) {
	a:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::after, a:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link a:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link-icon::after, button:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::after, button:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link button:has(.arrow-s-icon, .news-link .news-link-icon):where(:-moz-any-link, :enabled, summary):hover .news-link-icon::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
	a:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .arrow-s-icon::after, a:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link a:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link-icon::after, button:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .arrow-s-icon::after, button:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link .news-link-icon::after, .news-link button:has(.arrow-s-icon, .news-link .news-link-icon):where(:any-link, :enabled, summary):hover .news-link-icon::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
}
@media screen and (max-width: 1023.98px) {
	.arrow-s-icon, .news-link .news-link-icon {
		width: 30px;
		height: 30px;
	}
}

.more-button {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 8px 0;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	-webkit-transition: 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	transition: 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	color: var(--color--wh) !important;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--color--sec)), to(var(--color--prim)));
	background-image: linear-gradient(90deg, var(--color--sec) 0%, var(--color--prim) 100%);
	background-size: 100% 100%;
}
.more-button--wh {
	color: var(--color--prim) !important;
}
.more-button--wh::after {
	background: var(--color--wh);
}
.more-button--wh .arrow-icon::before, .more-button--wh .arrow-s-icon::before, .more-button--wh .news-link .news-link-icon::before, .news-link .more-button--wh .news-link-icon::before {
	background: var(--color--prim);
}
@media (hover: hover) {
	.more-button:where(:-moz-any-link, :enabled, summary):hover::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
	.more-button:where(:any-link, :enabled, summary):hover::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
}
@media (hover: hover) {
	a:has(.more-button):where(:-moz-any-link, :enabled, summary):hover .more-button::after, button:has(.more-button):where(:-moz-any-link, :enabled, summary):hover .more-button::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
	a:has(.more-button):where(:any-link, :enabled, summary):hover .more-button::after, button:has(.more-button):where(:any-link, :enabled, summary):hover .more-button::after {
		background-size: 200% 100%;
		scale: 1.1;
	}
}
.more-button-wrapper {
	margin-inline: auto 0;
}
.more-button-label {
	position: relative;
	z-index: 2;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
}
.more-button .arrow-icon, .more-button .arrow-s-icon, .more-button .news-link .news-link-icon, .news-link .more-button .news-link-icon {
	width: auto;
	height: auto;
	background: transparent;
	margin: 0;
}
.more-button .arrow-icon::after, .more-button .arrow-s-icon::after, .more-button .news-link .news-link-icon::after, .news-link .more-button .news-link-icon::after {
	display: none;
}
@media screen and (max-width: 1023.98px) {
	.more-button {
		width: 76px;
		height: 76px;
	}
	.more-button-label {
		font-size: 1rem;
	}
}

.frame {
	position: relative;
	display: flow-root;
	margin-inline: calc(var(--neg-margin--max) + var(--elem-gap--m));
	padding-inline: calc(var(--content-padding) - var(--elem-gap--m));
	padding-block: var(--elem-gap--l);
	border-radius: var(--radius--l);
	background: var(--color--lt-yl);
}
.frame--gradient {
	background-image: linear-gradient(160deg, var(--color--sec) 0%, var(--color--prim) 800px);
	background-size: 100% 100%;
}
.frame--ol {
	background: transparent;
	border: 1px solid var(--color--prim);
}
.frame + .frame {
	-webkit-margin-before: var(--elem-gap--m);
	        margin-block-start: var(--elem-gap--m);
}
.frame > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.frame .frame, .frame--narrow {
	margin-inline: var(--neg-margin--l);
	padding-inline: var(--elem-gap--l);
	border-radius: var(--radius--s);
}
.frame-heading {
	position: relative;
	margin-inline: var(--neg-margin--l);
	margin-block: -1em var(--elem-gap--l);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 4rem;
	line-height: 1.2;
	font-weight: 500;
	color: var(--color--prim);
	background: var(--color--wh);
	border: 1px solid var(--color--prim);
	border-radius: var(--radius--xs);
	padding: 0.4em 0.6em;
}
.frame:has(.frame-heading) {
	-webkit-padding-before: 0;
	        padding-block-start: 0;
	margin-block: calc(var(--elem-gap--m) + var(--elem-gap--m));
}
@media screen and (max-width: 1023.98px) {
	.frame {
		margin-inline: calc(var(--neg-margin--max) + var(--elem-gap--xs));
		padding-inline: calc(var(--content-padding) - var(--elem-gap--xs));
	}
	.frame .frame, .frame--narrow {
		padding-inline: var(--elem-gap--s);
	}
	.frame-heading {
		font-size: 1.8rem;
		margin-inline: var(--neg-margin);
	}
	.frame .section-content--2col {
		margin-inline: 0;
	}
}

.section {
	margin-block: 0 var(--section-margin);
}
.section:not(:first-child) {
	-webkit-margin-before: var(--section-margin);
	        margin-block-start: var(--section-margin);
}
.section:last-child, .section > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.bullet-heading + .section {
	-webkit-margin-before: 0;
	        margin-block-start: 0;
}
.section-hgroup:has(.section-heading-en) {
	text-align: center;
}
.section-heading-en {
	font-size: 3rem;
	line-height: 1.2;
	color: var(--color--prim);
	font-weight: 400;
	margin-block: 0 var(--elem-gap--xs);
}
.section-heading {
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-block: 0 var(--elem-gap--l);
	margin-inline: var(--neg-margin--l);
}
.section-heading:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.section-heading--center {
	text-align: center;
}
.section .child-section {
	margin-block: 0 var(--child-section-margin);
}
.section .child-section:last-child, .section .child-section > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.section-child-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
	margin-block: 0 var(--elem-gap--m);
	font-size: 3rem;
	font-weight: 500;
}
.home-news > .section-child-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.section-child-heading:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.section-child-heading--center {
	text-align: center;
}
.section-desc {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: text;
	font-size: 1.8rem;
}
.section-content {
	margin-block: var(--elem-gap--xl);
}
.section-content--2col {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "heading text" "image image";
	-ms-grid-columns: auto var(--elem-gap--l) 1fr;
	grid-template-columns: auto 1fr;
	-ms-grid-rows: auto 0 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 var(--elem-gap--l);
	margin-inline: var(--neg-margin--l);
	margin-block: 0 var(--elem-gap--xl);
}
.section-content--2col .section-child-heading {
	width: 13em;
	margin-block: 0;
}
.section-content--2col .section-desc :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.section-content--2col .image-wrapper, .section-content--2col .how-demonstration-image-wrapper,
.section-content--2col .diagram-wrapper,
.section-content--2col .why-mismatch-diagram-wrapper,
.section-content--2col .home-about-vpp-diagram-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: image;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.section-heading {
		font-size: 3.6rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.section-heading-en {
		font-size: 1.8rem;
	}
	.section-heading {
		font-size: 2.2rem;
	}
	.section-child-heading {
		font-size: 1.8rem;
	}
	.section-desc {
		font-size: 1.4rem;
	}
	.section-content--2col {
		    grid-template-areas: "heading" "text" "image";
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		-ms-grid-rows: auto 0 auto 0 auto;
		grid-template-rows: auto auto auto;
		gap: 0;
	}
	.section-content--2col .section-child-heading {
		width: auto;
		margin-block: 0 var(--elem-gap--m);
	}
	.section-content--2col .section-desc {
		font-size: 1.4rem;
	}
	.section-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.section-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.section-content--2col .image-wrapper, .section-content--2col .how-demonstration-image-wrapper,
.section-content--2col .diagram-wrapper,
.section-content--2col .why-mismatch-diagram-wrapper,
.section-content--2col .home-about-vpp-diagram-wrapper {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
}

.image, .how-demonstration-image,
.diagram,
.why-mismatch-diagram,
.home-about-vpp-diagram {
	width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.image-wrapper, .how-demonstration-image-wrapper,
.diagram-wrapper,
.why-mismatch-diagram-wrapper,
.home-about-vpp-diagram-wrapper {
	text-align: center;
	margin-block: var(--elem-gap--xl);
}
.image-wrapper:first-child, .how-demonstration-image-wrapper:first-child,
.diagram-wrapper:first-child,
.why-mismatch-diagram-wrapper:first-child,
.home-about-vpp-diagram-wrapper:first-child {
	-webkit-margin-before: 0;
	        margin-block-start: 0;
}
.image-wrapper:last-child, .how-demonstration-image-wrapper:last-child,
.diagram-wrapper:last-child,
.why-mismatch-diagram-wrapper:last-child,
.home-about-vpp-diagram-wrapper:last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
@media screen and (max-width: 1023.98px) {
	.image-wrapper, .how-demonstration-image-wrapper,
	.diagram-wrapper,
	.why-mismatch-diagram-wrapper,
	.home-about-vpp-diagram-wrapper {
		margin-block: var(--elem-gap--m);
	}
}

.image, .how-demonstration-image {
	border-radius: var(--radius--s);
}

.diagram, .why-mismatch-diagram, .home-about-vpp-diagram {
	width: auto;
	max-width: 100%;
}

.thumbnail, .learn-more-thumbnail, .home-service-index-thumbnail, .related-contents-thumbnail {
	max-width: none;
	width: 100%;
	height: auto;
	-webkit-transition: -webkit-transform 0.4s ease;
	transition: -webkit-transform 0.4s ease;
	transition: transform 0.4s ease;
	transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.thumbnail-wrapper, .learn-more-thumbnail-wrapper, .home-service-index-thumbnail-wrapper, .related-contents-thumbnail-wrapper {
	overflow: hidden;
}
@media (hover: hover) {
	a:where(:-moz-any-link, :enabled, summary):hover .thumbnail, a:where(:-moz-any-link, :enabled, summary):hover .learn-more-thumbnail, a:where(:-moz-any-link, :enabled, summary):hover .home-service-index-thumbnail, a:where(:-moz-any-link, :enabled, summary):hover .related-contents-thumbnail {
		transform: scale(1.05);
	}
	a:where(:any-link, :enabled, summary):hover .thumbnail, a:where(:any-link, :enabled, summary):hover .learn-more-thumbnail, a:where(:any-link, :enabled, summary):hover .home-service-index-thumbnail, a:where(:any-link, :enabled, summary):hover .related-contents-thumbnail {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}

.video {
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.news-filter {
	margin-block: 0 var(--elem-gap--m);
}
.news-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	gap: var(--elem-gap--s);
	margin: 0;
}
.news-item {
	border-top: 1px solid color-mix(in srgb, var(--color--dk-gy) 30%, transparent);
	list-style: none;
	margin: 0;
	padding-block: var(--elem-gap--s) 0;
}
.news-link {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 7em var(--elem-gap--s) 1fr var(--elem-gap--s) auto;
	grid-template-columns: 7em 1fr auto;
	gap: 0 var(--elem-gap--s);
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
}
.news-link .news-link-icon {
	width: 24px;
	height: 24px;
	background: transparent;
	border-radius: 0;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}
.news-link .news-link-icon::after {
	display: none;
}
.news-link[href*=".pdf"] .news-link-icon {
	background: url(/business/vpp/assets/images/icn_pdf.svg) no-repeat center/contain;
	background-color: transparent !important;
}
.news-link[href*=".pdf"] .news-link-icon::before {
	display: none;
}
.news-date {
	font-size: 1.6rem;
	letter-spacing: -0.1em;
	-ms-flex-item-align: baseline;
	    align-self: baseline;
}
@media screen and (max-width: 1023.98px) {
	.news-link {
		-ms-grid-rows: auto var(--elem-gap--xs) auto;
		    grid-template-areas: "date date" "title icon";
		-ms-grid-columns: 1fr var(--elem-gap--s) auto;
		grid-template-columns: 1fr auto;
		gap: var(--elem-gap--xs) var(--elem-gap--s);
	}
	.news-link .news-link-icon {
		grid-area: icon;
	}
	.news-date {
		grid-area: date;
		font-size: 1.5rem;
	}
	.news-title {
		grid-area: title;
	}
}
.top-title-wrapper > .news-title {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
	}
.top-contents-index-link > .news-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	}
.learn-more-link > .news-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
	}

.bottom-vpp-loop-slider {
	position: absolute;
	inset: auto 0 0;
	margin-block: 0 -0.1em;
	font-size: 18rem;
	line-height: 0.9;
	-webkit-text-stroke: 1px var(--color--prim);
	overflow: hidden;
	color: var(--color--lt-yl);
	paint-order: stroke;
	white-space: nowrap;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.bottom-vpp-loop-slider .loop-text {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	-webkit-animation: loop-slider 60s infinite linear 1s both;
	        animation: loop-slider 60s infinite linear 1s both;
	will-change: translate;
	padding-right: 0.5em;
}
@media screen and (max-width: 1023.98px) {
	.bottom-vpp-loop-slider {
		font-size: 8rem;
	}
	.bottom-vpp-loop-slider .loop-text {
		-webkit-animation: loop-slider 30s infinite linear 1s both;
		        animation: loop-slider 30s infinite linear 1s both;
	}
}
@-webkit-keyframes loop-slider {
	from {
		translate: 0;
	}
	to {
		translate: -100%;
	}
}
@keyframes loop-slider {
	from {
		translate: 0;
	}
	to {
		translate: -100%;
	}
}

input[type=text], [type=tel], textarea, select {
	border-radius: 10px;
	padding: 0.8em;
	background-color: var(--color--lt-gy);
	width: 100%;
}
input[type=text]::-webkit-input-placeholder, [type=tel]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
input[type=text]::-moz-placeholder, [type=tel]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
input[type=text]:-ms-input-placeholder, [type=tel]:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
input[type=text]::-ms-input-placeholder, [type=tel]::-ms-input-placeholder, textarea::-ms-input-placeholder, select::-ms-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
input[type=text]::placeholder, [type=tel]::placeholder, textarea::placeholder, select::placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}

.select-wrapper {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
.select-wrapper::after {
	content: "";
	position: absolute;
	inset: 0 18px 0 auto;
	margin-block: auto;
	background: var(--color--prim);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	width: 18px;
	height: 14px;
	pointer-events: none;
}
.select-wrapper select {
	width: auto;
	padding-right: 50px;
}
@media screen and (max-width: 1023.98px) {
	.select-wrapper::after {
		inset: 0 14px 0 auto;
		width: 14px;
		height: 10px;
	}
	.select-wrapper select {
		padding-right: 40px;
	}
}

.sub-contents {
	position: relative;
	z-index: 2;
	padding-block: var(--elem-gap--xl) var(--section-margin);
	margin-inline: var(--neg-margin--max);
	padding-inline: var(--content-padding);
}
.sub-contents::before {
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--color--wh);
	inset: 0 calc(var(--elem-gap--xl) * -1) -200px;
	clip-path: inset(0 0 0 0 round 60vw 60vw 0 0);
}
.sub-contents .bottom-vpp-loop-slider {
	color: var(--color--wh);
}

.bottom-contact {
	margin-inline: var(--neg-margin--l);
	margin-block: 0 var(--elem-gap--xl);
}
.bottom-contact-link {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--elem-gap--xs) auto var(--elem-gap--xs) auto;
	grid-template-columns: 1fr auto auto;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 var(--elem-gap--xs);
	background-image: linear-gradient(170deg, var(--color--sec) 0%, var(--color--prim) 60%);
	background-size: 100% 100%;
	border-radius: var(--radius--m);
	color: var(--color--wh) !important;
	padding: var(--elem-gap--l);
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.bottom-contact-link-label {
	font-size: 2rem;
	font-weight: 500;
}
@media (hover: hover) {
	.bottom-contact-link:where(:-moz-any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
	.bottom-contact-link:where(:any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
}
.bottom-contact-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--elem-gap--xs);
}
.bottom-contact-heading-en {
	font-size: 8rem;
	line-height: 0.9;
	margin: 0 -0.1em;
}
.bottom-contact-heading-ja {
	font-size: 2.4rem;
	font-weight: 500;
	margin: 0;
}
@media screen and (max-width: 1023.98px) {
	.bottom-contact-link {
		-ms-grid-columns: 1fr var(--elem-gap--s) auto;
		grid-template-columns: 1fr auto;
		gap: 0 var(--elem-gap--s);
		padding: var(--elem-gap--m) var(--elem-gap--s);
	}
	.bottom-contact-link-label {
		display: none;
	}
	.bottom-contact-heading-en {
		font-size: 3.6rem;
	}
	.bottom-contact-heading-ja {
		font-size: 1.8rem;
	}
}

.related-contents {
	position: relative;
	z-index: 2;
	margin-inline: var(--neg-margin--l);
	padding-block: var(--elem-gap--m) 0;
	border-top: 1px solid var(--color--prim);
}
.related-contents-heading {
	font-size: 3.2rem;
	font-weight: 500;
	color: var(--color--prim);
	margin-block: 0 var(--elem-gap--m);
}
.related-contents-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--elem-gap--l) 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--elem-gap--l);
}
.related-contents-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: var(--elem-gap--m);
}
.related-contents-title {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	word-break: keep-all;
	overflow-wrap: anywhere;
	margin: 0;
}
.related-contents-thumbnail-wrapper {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	position: relative;
	width: min(40%, 280px);
	border-radius: var(--radius--s);
}
.related-contents-thumbnail-wrapper .arrow-s-icon, .related-contents-thumbnail-wrapper .news-link .news-link-icon, .news-link .related-contents-thumbnail-wrapper .news-link-icon {
	position: absolute;
	inset: auto var(--elem-gap--xs) var(--elem-gap--xs) auto;
}
@media screen and (max-width: 1023.98px) {
	.related-contents-heading {
		font-size: 2rem;
	}
	.related-contents-list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: var(--elem-gap--m);
	}
	.related-contents-link {
		gap: var(--elem-gap--s);
	}
	.related-contents-title {
		font-size: 1.6rem;
	}
	.related-contents-thumbnail-wrapper {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		position: relative;
		width: min(30%, 200px);
	}
}

.header {
	position: sticky;
	inset: 0 0 auto;
	z-index: 100;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: var(--header-height);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 min(2vw, 30px);
	padding: 0 30px;
	background: var(--color--wh);
}
@media screen and (max-width: 1023.98px) {
	.header {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		padding: 0 0 0 15px;
	}
}
.header .site-title {
	position: relative;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 100%;
	margin: 0 auto 0 0;
}
.header .site-title-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 20px;
}
.header .site-title-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.header .site-title-logo-image {
	height: min(2.8vw, 36px);
	width: auto;
	vertical-align: top;
}
@media screen and (max-width: 1023.98px) {
	.header .site-title-logo-image {
		height: 20px;
	}
}
@media screen and (max-width: 1350px) {
	.header::before {
		content: "";
		position: fixed;
		z-index: 2;
		inset: var(--header-height) 0 0;
		background: rgba(0, 0, 0, 0.16);
		visibility: hidden;
		opacity: 0;
		-webkit-transition: 0.4s ease;
		transition: 0.4s ease;
	}
	.header:has(.nav.is-opened)::before {
		visibility: visible;
		opacity: 1;
	}
}

.nav {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	height: 100%;
}
.nav-inner {
	height: 100%;
}
.nav-button {
	display: none;
}
.nav-list {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	margin: 0 0 0 auto;
	gap: 0 min(1.5vw, 30px);
}
.nav-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	list-style: none;
	margin: 0;
	line-height: 1.5;
}
.nav-item .toggle-button {
	display: none;
}
.nav-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
@media (hover: hover) {
	.nav-link:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
	.nav-link:where(:any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
}
.nav-link--button {
	display: -ms-grid;
	display: grid;
	place-items: center;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	height: 50px;
	padding: 0 20px;
	border-radius: 25px;
	color: var(--color--wh) !important;
	-webkit-transition: background-size 0.4s ease;
	transition: background-size 0.4s ease;
	background-image: linear-gradient(100deg, var(--color--sec) 0%, var(--color--prim) 100%);
	background-size: 100% 100%;
}
@media (hover: hover) {
	.nav-link--button:where(:-moz-any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
	.nav-link--button:where(:any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
}
.nav-label {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: min(0.02vw, 0.1em);
}
@media screen and (min-width: 1024px) {
	.nav .arrow-icon {
		display: none;
	}
}
@media screen and (max-width: 1350px) {
	body:has(.nav.is-opened) {
		overflow: hidden !important;
	}
	.nav-button {
		display: block;
		position: relative;
		cursor: pointer;
		width: 79px;
		height: 79px;
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		margin: 0 0 0 auto;
	}
	.nav-button::before {
		content: "";
		position: absolute;
		inset: 0;
		margin: auto;
		height: 1px;
		border-top: 1px solid;
		color: var(--base-font-color);
		width: 40px;
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}
	.nav-button-inner {
		position: absolute;
		inset: 0;
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		overflow: hidden;
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}
	.nav-button-inner::before, .nav-button-inner::after {
		content: "";
		position: absolute;
		inset: -10px 0 0;
		margin: auto;
		border-top: 1px solid;
		height: 1px;
		color: var(--base-font-color);
		width: 40px;
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}
	.nav-button-inner::after {
		inset: 10px 0 0;
	}
	.nav.is-opened .nav-button::before {
		opacity: 0;
	}
	.nav.is-opened .nav-button-inner::before, .nav.is-opened .nav-button-inner::after {
		rotate: 45deg;
		inset: 0;
	}
	.nav.is-opened .nav-button-inner::after {
		rotate: -45deg;
	}
	.nav-inner {
		visibility: hidden;
		position: fixed;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		z-index: 4;
		inset: var(--header-height) 0 auto;
		padding: 0;
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
		-webkit-transition: visibility 0.4s ease, clip-path 0.4s ease;
		transition: visibility 0.4s ease, clip-path 0.4s ease;
		overflow: auto;
		pointer-events: none;
		background: var(--color--wh);
		clip-path: inset(0 0 100% 0);
	}
	.nav.is-opened .nav-inner {
		visibility: visible;
		pointer-events: initial;
		clip-path: inset(0 0 0 0);
	}
	.nav-list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr var(--elem-gap--l) 1fr;
		grid-template-columns: 1fr 1fr;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		width: var(--content-width);
		height: auto;
		margin: var(--elem-gap--l) auto;
		gap: var(--elem-gap--m) var(--elem-gap--l);
	}
	.nav-item {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.nav-item:has(.nav-link--button) {
		-ms-grid-column-span: 2;
		grid-column: span 2/span 2;
		margin-block: var(--elem-gap--xs) 0;
	}
	.nav-link {
		width: -webkit-fill-available;
		width: -moz-available;
		width: stretch;
		gap: 0 var(--elem-gap--s);
	}
	.nav-link--button {
		-ms-grid-columns: 1fr auto;
		grid-template-columns: 1fr auto;
		place-items: initial;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 100%;
		height: auto;
		padding: var(--elem-gap--xs) var(--elem-gap--xs) var(--elem-gap--xs) var(--elem-gap--s);
		border-radius: var(--radius--m);
	}
	.nav-item:has(.nav-link--button) {
		padding: 0;
		border: none;
	}
	.nav-link:not(.nav-link--button) .arrow-icon {
		width: 20px;
		height: 20px;
	}
	.nav-link:not(.nav-link--button) .arrow-icon::after {
		display: none;
	}
	.nav-label {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: auto;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
	.nav .arrow-icon {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
	}
}
@media screen and (max-width: 1023.98px) {
	.nav-button {
		width: 50px;
		height: 50px;
	}
	.nav-button::before {
		width: 25px;
	}
	.nav-button-inner::before, .nav-button-inner::after {
		inset: -8px 0 0;
		width: 25px;
	}
	.nav-button-inner::after {
		inset: 8px 0 0;
	}
	.nav-list {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		margin: var(--elem-gap--l) auto;
		gap: var(--elem-gap--m) 0;
	}
	.nav-item {
		-ms-grid-column-span: 1 !important;
		grid-column: span 1/span 1 !important;
	}
}

.footer-lower .eneos-group-link::after, .footer-nav-child-link[target=_blank]::after, a[target=_blank] .footer-nav-label::after {
	content: "";
	display: inline-block;
	background-color: var(--color--prim);
	width: 14px;
	height: 14px;
	-webkit-mask-image: url(../images/icn_arrow_ext.svg);
	        mask-image: url(../images/icn_arrow_ext.svg);
	-webkit-mask-size: 11px auto;
	        mask-size: 11px auto;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: 50% 50%;
	        mask-position: 50% 50%;
	margin-inline: 5px 0;
	vertical-align: middle;
}

.footer {
	position: relative;
	z-index: 2;
}
.footer-upper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-block: var(--section-margin);
	background-color: var(--color--dk-gy);
	padding-inline: var(--content-padding--l);
}
.footer-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	gap: 0 var(--content-padding--l);
	line-height: 1.6;
}
.footer-nav .site-title {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.footer-nav .site-title-logo-image {
	width: auto;
	height: 24px;
}
.footer-nav-list {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	-webkit-column-count: 2;
	   -moz-column-count: 2;
	        column-count: 2;
	gap: 50px;
	margin-bottom: 0;
}
.footer-nav-item {
	-webkit-column-break-inside: avoid;
	   -moz-column-break-inside: avoid;
	        break-inside: avoid-column;
	list-style: none;
	margin: 0 0 30px;
}
.footer-nav-item:nth-child(2) {
	-webkit-column-break-after: always;
	   -moz-column-break-after: always;
	        break-after: always;
}
.footer-nav-link, .footer-nav-item > .footer-nav-label {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 10px;
	color: #FFF;
}
@media (hover: hover) {
	.footer-nav-link:where(:-moz-any-link, :enabled, summary):hover, .footer-nav-item > .footer-nav-label:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
	.footer-nav-link:where(:any-link, :enabled, summary):hover, .footer-nav-item > .footer-nav-label:where(:any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
}
.footer-nav-link::before, .footer-nav-item > .footer-nav-label::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 6px;
	background-color: var(--color--prim);
	-webkit-transform: translate(0, -0.1em);
	        transform: translate(0, -0.1em);
}
.footer-nav-label {
	font-size: 1.7rem;
	font-weight: 500;
}
.footer-nav-child-list {
	margin: 20px 0 0 16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 10px 0;
}
.footer-nav-child-item {
	list-style: none;
	margin: 0;
}
.footer-nav-child-link {
	display: inline-block;
	color: #CCC;
	font-size: 1.3rem;
}
@media (hover: hover) {
	.footer-nav-child-link:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
	.footer-nav-child-link:where(:any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
}
@media screen and (max-width: 1280px) {
	.footer-nav {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 50px 0;
	}
}
@media screen and (max-width: 1023.98px) {
	.footer-nav {
		width: 100%;
		gap: 30px 0;
	}
	.footer-nav .site-title-logo-image {
		height: 16px;
	}
	.footer-nav-list {
		display: -ms-grid;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		-webkit-column-count: initial;
		   -moz-column-count: initial;
		        column-count: initial;
		gap: 20px;
		margin-bottom: 0;
	}
	.footer-nav-item {
		margin: 0;
	}
	.footer-nav-link {
		gap: 0 10px;
	}
	.footer-nav-label {
		font-size: 1.4rem;
		font-weight: 400;
	}
	.footer-nav-child-list {
		margin: 15px 0 0 16px;
		gap: 10px 0;
	}
	.footer-nav-child-link {
		font-size: 1.2rem;
	}
}
.footer-lower {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 20px 0;
	background-color: #000;
	padding: 0 50px 50px;
}
.footer-lower .utility-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0 30px;
	width: 100%;
	margin: 0 -50px 30px;
	padding: 30px 50px;
	border-bottom: 1px solid var(--color--gy);
}
.footer-lower .utility-nav-item {
	list-style: none;
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.6;
}
.footer-lower .utility-nav-link {
	color: #FFF;
}
@media (hover: hover) {
	.footer-lower .utility-nav-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
		opacity: 0.8;
	}
	.footer-lower .utility-nav-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
		opacity: 0.8;
	}
}
.footer-lower .eneos-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 25px;
	line-height: 1;
	margin-inline: 0 auto;
}
.footer-lower .eneos-group-label {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.footer-lower .eneos-group-label-image {
	height: 23px;
	width: auto;
}
.footer-lower .eneos-group-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px 40px;
	margin: 0;
	padding-inline: 25px 0;
	border-left: 1px solid #1a1a1a;
}
.footer-lower .eneos-group-item {
	list-style: none;
	margin: 0;
}
.footer-lower .eneos-group-item:first-child {
	width: 100%;
}
.footer-lower .eneos-group-item-image {
	height: 16px;
	width: auto;
}
.footer-lower .eneos-group-item-image--descender {
	margin-bottom: -5px;
	height: 21px;
}
.footer-lower .eneos-group-link::after {
	background-color: #FFF;
}
.footer-lower .copyright {
	font-family: "Lexend", "Noto Serif Display", serif;
	letter-spacing: 0;
	font-size: 1.5rem;
	line-height: 1.8;
	color: #CBCBCB;
	margin: 0 0 0 auto;
}
@media screen and (max-width: 1023.98px) {
	.footer-lower {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 30px 0;
		padding: 0 23px 40px;
	}
	.footer-lower .utility-nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-column-count: initial;
		   -moz-column-count: initial;
		        column-count: initial;
		gap: 20px 30px;
		margin: 0 -23px;
		padding: 30px 23px;
	}
	.footer-lower .utility-nav-item {
		list-style: none;
		margin: 0;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.footer-lower .utility-nav-link {
		color: #FFF;
	}
}
@media screen and (max-width: 1023.98px) and (hover: hover) {
	.footer-lower .utility-nav-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
		opacity: 0.8;
	}
	.footer-lower .utility-nav-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
		opacity: 0.8;
	}
}
@media screen and (max-width: 1023.98px) {
	.footer-lower .eneos-group {
		width: auto;
		margin-inline: auto;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 12px;
	}
	.footer-lower .eneos-group-label-image {
		width: auto;
		height: 13px;
	}
	.footer-lower .eneos-group-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 8px;
		padding-inline: 0;
		border: none;
	}
	.footer-lower .eneos-group-item {
		list-style: none;
		margin: 0;
	}
	.footer-lower .eneos-group-item:first-child {
		width: auto;
	}
	.footer-lower .eneos-group-item-image {
		width: auto;
		height: 10px;
	}
	.footer-lower .eneos-group-item-image--descender {
		height: 13px;
		margin-bottom: -3px;
	}
	.footer-lower .copyright {
		font-size: 1rem;
		margin: 0 auto;
	}
}
@media screen and (max-width: 1023.98px) {
	.footer .pagetop-button {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		position: absolute !important;
		right: 30px;
		top: auto !important;
		bottom: 0 !important;
		height: 100px;
	}
	.footer .pagetop-button-icon {
		-webkit-transform: none;
		        transform: none;
	}
}

.top {
	color: var(--color--wh);
	margin-inline: var(--neg-margin--max);
	padding-inline: var(--content-padding--l);
	padding-block: 0 var(--radius--xl);
	background-image: radial-gradient(circle at 100% 40%, var(--color--sec) 0%, var(--color--prim) 60%);
}
.top-title {
	position: relative;
	z-index: 2;
	grid-area: title;
	margin-block: 0 -1.35em;
	font-size: min(10vw, 14rem);
	line-height: 0.9;
	margin-inline: -0.1em;
}
.top-title-wrapper > .top-title {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.top-contents-index-link > .top-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
}
.learn-more-link > .top-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.top-title-wrapper {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "title title" "slogan hero" ". scroll";
	-ms-grid-columns: 1fr 76%;
	grid-template-columns: 1fr 76%;
	padding-block: var(--elem-gap--xl) 0;
	margin-block: 0 var(--section-margin);
}
.top-title-vpp {
	font-size: min(12.2vw, 17rem);
	font-weight: 330;
}
.top-hero {
	-ms-grid-row: 2;
	-ms-grid-column: 2;
	grid-area: hero;
	border-radius: var(--radius--xl);
	overflow: clip;
	min-height: 350px;
	max-height: calc(100svh - var(--header-height) - var(--elem-gap--xl) * 2 - 50px);
	-webkit-mask: url(/business/vpp/images/msk_hero.svg) no-repeat 50% 100%/166px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
	        mask: url(/business/vpp/images/msk_hero.svg) no-repeat 50% 100%/166px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
}
.top-hero-slider, .top-hero-list, .top-hero-item {
	width: 100%;
	height: 100%;
}
.top-hero-image {
	width: 100%;
	height: calc(100% - 0.5px);
	-o-object-fit: cover;
	   object-fit: cover;
}
.top-slogan {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: slogan;
	position: relative;
	z-index: 2;
	font-size: 2.4rem;
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-inline: 0 calc(var(--content-width--l) * -1);
	margin-block: auto var(--elem-gap--m);
}
.top .scroll-text {
	-ms-grid-row: 3;
	-ms-grid-column: 2;
	grid-area: scroll;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 5px 0;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	font-size: 1.2rem;
	letter-spacing: -0.1em;
	line-height: 1;
	translate: 0 -50%;
}
.top .scroll-icon {
	-webkit-animation: scroll 2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
	        animation: scroll 2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
.top .scroll-icon::before {
	content: "";
	display: block;
	width: 5px;
	height: 50px;
	background: var(--color--wh);
	clip-path: polygon(calc(50% - 2px) 0, calc(50% - 1px) 0, calc(50% - 1px) calc(100% - 5px), calc(50% + 3px) calc(100% - 5px), calc(50% - 2px) 100%);
}
@-webkit-keyframes scroll {
	0% {
		clip-path: inset(0 0 100% 0);
	}
	50% {
		clip-path: inset(0 0 0 0);
	}
	100% {
		clip-path: inset(100% 0 0 0);
	}
}
@keyframes scroll {
	0% {
		clip-path: inset(0 0 100% 0);
	}
	50% {
		clip-path: inset(0 0 0 0);
	}
	100% {
		clip-path: inset(100% 0 0 0);
	}
}
@media screen and (max-width: 1023.98px) {
	.top {
		padding-block: 0 var(--radius--xl);
		background-image: radial-gradient(circle at 100% 40%, var(--color--sec) 0%, var(--color--prim) 50%);
	}
	.top-title {
		margin-block: 0;
		font-size: min(10.8vw, 14rem);
		margin-block: 0 var(--elem-gap--xs);
	}
	.top-title-wrapper {
		    grid-template-areas: "title" "slogan" "hero" "scroll";
		-ms-grid-columns: 100%;
		grid-template-columns: 100%;
	}
	.top-title-vpp {
		font-size: min(14vw, 17rem);
	}
	.top-hero {
		min-height: 300px;
		height: calc(100svh - var(--header-height) - 400px);
		-webkit-mask: url(/business/vpp/images/msk_hero.svg) no-repeat 50% 100%/100px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
		        mask: url(/business/vpp/images/msk_hero.svg) no-repeat 50% 100%/100px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
	.top-slogan {
		font-size: 1.6rem;
		letter-spacing: 0.15em;
		margin-block: 0 var(--elem-gap--s);
		margin-inline: 0;
	}
	.top .scroll-text {
		font-size: 1.1rem;
	}
	.top .scroll-icon::before {
		height: 45px;
	}
	.top-title-wrapper > .news-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-title-wrapper > .top-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-hero {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-slogan {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
	}
	.top .scroll-text {
		-ms-grid-row: 4;
		-ms-grid-column: 1;
	}
}
.top-contents-index {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 var(--elem-gap--m);
	margin-block: var(--section-margin);
}
.top-contents-index-item {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
}
.top-contents-index-link {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "icon icon" "title title" "desc arrow";
	-ms-grid-columns: 1fr 10px auto;
	grid-template-columns: 1fr auto;
	-ms-grid-rows: auto var(--elem-gap--s) auto var(--elem-gap--s) auto;
	grid-template-rows: auto auto auto;
	-ms-grid-rows: 1fr var(--elem-gap--s) auto var(--elem-gap--s) auto;
	grid-template-rows: 1fr auto auto;
	gap: var(--elem-gap--s) 10px;
	height: 100%;
	background: var(--color--wh);
	padding: var(--elem-gap--s);
	border-radius: var(--radius--l);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
@media (hover: hover) {
	.top-contents-index-link:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
	.top-contents-index-link:where(:any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
}
.top-contents-index-icon {
	grid-area: icon;
	margin-inline: auto 0;
}
.top-contents-index-link > .top-contents-index-icon {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
}
.learn-more-link > .top-contents-index-icon {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	-ms-grid-column-span: 1;
}
.top-contents-index-title {
	grid-area: title;
	font-size: min(2.7vw, 3.2rem);
	line-height: 1.2;
	font-weight: 500;
	color: var(--color--prim);
	letter-spacing: -0.15em;
	margin-block: 0;
}
.top-title-wrapper > .top-contents-index-title {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.top-contents-index-link > .top-contents-index-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
}
.learn-more-link > .top-contents-index-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.top-contents-index-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	grid-area: desc;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	margin-block: 0;
}
.home-about-vpp > .top-contents-index-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.home-service-index-link > .top-contents-index-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.service-flow > .top-contents-index-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.top-contents-index .arrow-icon {
	-ms-grid-row: 5;
	-ms-grid-column: 3;
	grid-area: arrow;
	margin-inline: auto 0;
	align-self: flex-end;
}
@media screen and (max-width: 1350px) {
	.top-contents-index {
		gap: 0 var(--elem-gap--s);
	}
	.top-contents-index-desc {
		font-size: 1.8rem;
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.top-contents-index-link {
		    grid-template-areas: "icon" "title" "desc" "arrow";
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
	.top-contents-index-link > .news-link-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .news-title {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-title {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-contents-index-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-contents-index-title {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-contents-index .arrow-icon {
		-ms-grid-row: 4;
		-ms-grid-column: 1;
	}
}
@media screen and (max-width: 1023.98px) {
	.top-contents-index {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: var(--elem-gap--s) 0;
		margin-block: var(--section-margin);
	}
	.top-contents-index-item {
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 0%;
		        flex: 1 1 0%;
	}
	.top-contents-index-link {
		    grid-template-areas: "title icon" "desc arrow";
		-ms-grid-rows: auto var(--elem-gap--s) auto;
		grid-template-rows: auto auto;
		gap: var(--elem-gap--s) var(--elem-gap--xs);
	}
	.top-contents-index-icon {
		width: 80px;
	}
	.top-contents-index-title {
		font-size: 2.2rem;
		margin-block: auto 0;
	}
	.top-contents-index-desc {
		font-size: 1.8rem;
	}
	.top-contents-index-link > .news-link-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .news-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-contents-index-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .top-contents-index-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-contents-index .arrow-icon {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
}

.home-section {
	margin-block: 0 var(--section-margin);
}
.home-section-heading {
	margin-block: 0 var(--elem-gap--m);
}
.home-section-heading-en {
	font-size: 8rem;
	line-height: 0.9;
	margin-inline: -0.1em;
	margin-block: 0 0.1em;
	color: var(--color--prim);
}
.home-section-heading-en--wh {
	color: var(--color--wh);
}
.home-section-heading-en--l {
	font-size: 12rem;
}
.home-section-heading-ja {
	font-size: 2.8rem;
	color: var(--base-font-color);
	font-weight: 500;
	margin: 0;
}
.home-section-heading-ja--l {
	font-size: 3.6rem;
}
.home-section-heading-ja:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
@media screen and (max-width: 1023.98px) {
	.home-section-heading-en {
		font-size: 4.5rem;
	}
	.home-section-heading-en--l {
		font-size: 5rem;
	}
	.home-section-heading-ja {
		font-size: 2.2rem;
	}
	.home-section-heading-ja--l {
		font-size: 2.4rem;
	}
}
.home-news {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "heading button news";
	-ms-grid-columns: auto 40px auto 40px 1fr;
	grid-template-columns: auto auto 1fr;
	gap: 0 40px;
}
.home-news .home-section-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
}
.home-news .news-list {
	-ms-grid-row: 1;
	-ms-grid-column: 5;
	grid-area: news;
}
.home-news .news-item {
	border-top: 1px solid color-mix(in srgb, var(--color--wh) 50%, transparent);
}
.home-news .news-link {
	color: var(--color--wh);
}
@media (hover: hover) {
	.home-news .news-link:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--lt-yl);
	}
	.home-news .news-link:where(:any-link, :enabled, summary):hover {
		color: var(--color--lt-yl);
	}
}
.home-news .more-button-wrapper {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: button;
	margin-inline: 0 var(--elem-gap--l);
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.home-news {
		    grid-template-areas: "heading button" "news news";
		-ms-grid-columns: auto auto;
		grid-template-columns: auto auto;
	}
	.home-news .more-button-wrapper {
		margin-inline: auto 0;
	}
	.home-news > .section-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news .news-list {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-news .more-button-wrapper {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
	}
}
@media screen and (max-width: 1023.98px) {
	.home-news {
		    grid-template-areas: "heading button" "news news";
		-ms-grid-columns: auto auto;
		grid-template-columns: auto auto;
	}
	.home-news .more-button-wrapper {
		margin-inline: auto 0;
	}
	.home-news > .section-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news .news-list {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-news .more-button-wrapper {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
	}
}
.home-about-vpp {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto 0 auto 0 auto;
	    grid-template-areas: "heading heading" "desc more-button" "diagram diagram";
	-ms-grid-columns: 1fr var(--elem-gap--s) auto;
	grid-template-columns: 1fr auto;
	gap: 0 var(--elem-gap--s);
	margin-inline: var(--neg-margin--l);
}
.home-about-vpp .home-section-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
}
.home-about-vpp-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	grid-area: desc;
	font-size: 1.8rem;
	margin: 0;
}
.home-about-vpp > .home-about-vpp-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.home-service-index-link > .home-about-vpp-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.service-flow > .home-about-vpp-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.home-about-vpp-diagram-wrapper {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: diagram;
}
.home-about-vpp .more-button-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	grid-area: more-button;
}
@media screen and (max-width: 1023.98px) {
	.home-about-vpp-desc {
		font-size: 1.5rem;
	}
}
.home-service {
	-webkit-margin-after: calc(var(--section-margin) * -1 + var(--elem-gap--m)) !important;
	        margin-block-end: calc(var(--section-margin) * -1 + var(--elem-gap--m)) !important;
}
.home-service .home-section-heading {
	margin-inline: var(--neg-margin--l);
	margin-block: 0;
}
.home-service-index {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
	gap: var(--elem-gap--m);
	width: calc(var(--vw) * 120);
	margin-block: var(--header-height) 0;
}
.home-service-index-wrapper {
	overflow: clip;
	margin-inline: calc(var(--neg-margin--max) + var(--elem-gap--m));
	width: calc(var(--vw) * 100 - var(--elem-gap--m) * 2);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100svh;
	display: -ms-grid;
	display: grid;
}
.home-service-index-link {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "thumb thumb" "count count" "title-en button" "title-ja title-ja" "desc desc";
	-ms-grid-columns: 1fr auto;
	grid-template-columns: 1fr auto;
	padding-inline: var(--elem-gap--l);
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.home-service-index-link {
		    grid-template-areas: "thumb thumb" "count count" "title-en button" "title-ja title-ja" "desc desc";
	}
	.home-service-index-link > .top-contents-index-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-link > .home-about-vpp-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
}
.home-service-index-thumbnail {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.home-service-index-thumbnail-wrapper {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
	grid-area: thumb;
	border-radius: var(--radius--s);
	height: calc(100svh - var(--header-height) - 440px);
	margin-block: 0;
	margin-inline: calc(var(--elem-gap--l) * -1);
	-webkit-transition: height 0.2s ease, margin 0.2s ease;
	transition: height 0.2s ease, margin 0.2s ease;
}
.home-service-index-item:first-child {
	margin-inline: calc(var(--content-padding--l) - var(--elem-gap--m)) 0;
}
.home-service-index-item:last-child {
	margin-inline: 0 calc(var(--content-padding--l) - var(--elem-gap--m));
}
.home-service-index-count {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
	grid-area: count;
	position: relative;
	z-index: 2;
	font-size: 8rem;
	line-height: 0.9;
	color: var(--color--prim);
	margin-block: -0.5em 0.2em;
	text-shadow: -1px -1px 0 var(--color--wh), 1px -1px 0 var(--color--wh), -1px 1px 0 var(--color--wh), 1px 1px 0 var(--color--wh);
}
.home-service-index-title-en {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: title-en;
	font-size: 5rem;
	line-height: 1;
	color: var(--color--wh);
	letter-spacing: -0.15em;
	margin-block: 0 var(--elem-gap--xs);
}
.home-service-index-title-ja {
	-ms-grid-row: 4;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
	grid-area: title-ja;
	font-size: 3.2rem;
	line-height: 1.4;
	font-weight: 500;
	color: var(--color--dk-gy);
	margin-block: 0 var(--elem-gap--s);
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.home-service-index-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	grid-area: desc;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 500;
	color: var(--color--wh);
	margin-block: 0;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.home-about-vpp > .home-service-index-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.home-service-index-link > .home-service-index-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.service-flow > .home-service-index-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
@media screen and (max-width: 1023.98px) {
	.home-service {
		-webkit-margin-after: calc(var(--section-margin) * -1 + var(--elem-gap--xs)) !important;
		        margin-block-end: calc(var(--section-margin) * -1 + var(--elem-gap--xs)) !important;
	}
	.home-service-index {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: var(--elem-gap--xl);
		max-width: none !important;
		width: auto !important;
		height: auto;
		margin-inline: 0;
		padding-inline: 0;
	}
	.home-service-index-wrapper {
		display: block;
		margin-inline: var(--neg-margin--l);
		width: var(--content-width--l);
		height: auto !important;
	}
	.home-service-index-item {
		margin-inline: 0 !important;
	}
	.home-service-index-link {
		    grid-template-areas: "thumb thumb" "count count" "title-en button" "title-ja button" "desc desc";
		padding-inline: var(--elem-gap--s);
	}
	.home-service-index-thumbnail {
		height: auto;
	}
	.home-service-index-thumbnail-wrapper {
		height: auto !important;
		margin-block: 0 !important;
		margin-inline: calc(var(--elem-gap--s) * -1);
	}
	.home-service-index-count {
		font-size: 6rem;
		margin-block: -0.5em 0.2em;
	}
	.home-service-index-title-en {
		font-size: 2.6rem;
	}
	.home-service-index-title-ja {
		font-size: 2rem;
		line-height: 1.3;
		font-weight: 500;
	}
	.home-service-index-desc {
		font-size: 1.5rem;
		line-height: 1.6;
		word-break: normal;
		overflow-wrap: normal;
	}
	.home-service-index-link > .top-contents-index-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-link > .home-about-vpp-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-thumbnail-wrapper {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-count {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-title-en {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-title-ja {
		-ms-grid-row: 4;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.home-service-index-link > .home-service-index-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
}
.home-contact {
	margin-inline: var(--neg-margin--l);
	padding-block: var(--elem-gap--m);
	border-top: 1px solid var(--color--prim);
}
.home-contact-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.home-contact .home-section-heading {
	margin-block: 0;
}

.problems {
	position: relative;
	margin-inline: calc(var(--neg-margin--max) + var(--elem-gap--m));
	margin-block: 0 calc(var(--section-margin) * -1 - var(--elem-gap--m));
	padding: min(var(--content-padding--l) + var(--elem-gap--m), 150px);
	border: 2px solid var(--color--prim);
	border-radius: 300px;
}
.problems-heading {
	position: absolute;
	inset: 0 0 auto;
	margin-inline: auto;
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	translate: 0 -50%;
	background: var(--color--wh);
	padding-inline: var(--elem-gap--m);
}
.problems-heading-en {
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color--prim);
	margin: 0;
}
.problems-heading-ja {
	font-size: 4rem;
	font-weight: 500;
	margin: 0;
}
.problems-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--elem-gap--l);
	border: 2px dashed var(--color--prim);
	border-radius: 300px;
	padding-inline: 50px;
	overflow: hidden;
}
.problems-item {
	position: relative;
	z-index: 3;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 278px;
}
.problems-comment {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-block: 0;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	color: var(--color--prim);
}
.problems-image {
	-ms-flex-item-align: end;
	    align-self: flex-end;
}
.problems-arrow {
	position: absolute;
	inset: calc((var(--content-padding--l) + var(--elem-gap--m)) / 2) 0 0;
	background: var(--color--wh);
	width: 120px;
	margin-inline: auto;
}
.problems-arrow::before {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0;
	margin-inline: auto;
	border-left: 2px solid var(--color--prim);
	width: 0;
}
.problems-arrow::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: auto 0 20px;
	margin-inline: auto;
	border-bottom: 3px solid var(--color--prim);
	border-right: 3px solid var(--color--prim);
	width: 100px;
	height: 100px;
	-webkit-transform: scale(0.4, 1) rotate(45deg);
	        transform: scale(0.4, 1) rotate(45deg);
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.problems-heading-en {
		font-size: 2.4rem;
	}
	.problems-heading-ja {
		font-size: 3.6rem;
	}
	.problems-comment {
		font-size: 2rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.problems {
		padding: 0 var(--elem-gap--s) var(--elem-gap--s);
		margin-block: 0 calc(var(--section-margin) * -1 - var(--elem-gap--xs));
		border-radius: var(--radius--xl);
	}
	.problems-heading {
		position: relative;
		inset: auto;
		z-index: 4;
		margin-block: -3em var(--elem-gap--s);
		translate: 0;
		padding-inline: var(--elem-gap--xs);
	}
	.problems-heading-en {
		font-size: 2rem;
	}
	.problems-heading-ja {
		font-size: 2rem;
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
	.problems-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: var(--elem-gap--m);
		border-radius: var(--radius--m);
		padding-inline: var(--elem-gap--xs);
	}
	.problems-item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: auto;
		gap: var(--elem-gap--xs);
		padding-block: var(--elem-gap--s) 0;
	}
	.problems-comment {
		font-size: 1.6rem;
		margin-block: auto;
	}
	.problems-image {
		margin-block: auto 0;
		max-width: 80%;
		-ms-flex-item-align: center;
		    -ms-grid-row-align: center;
		    align-self: center;
	}
	.problems-arrow {
		width: 100px;
	}
	.problems-arrow::after {
		inset: auto 0 15px;
		width: 80px;
		height: 80px;
	}
}

:root {
	--col2-image-max-width: 630px;
}

.solution {
	position: relative;
	z-index: 2;
}
.solution-hgroup {
	text-align: center;
	margin-inline: var(--neg-margin--l);
	margin-block: 0 var(--elem-gap--xl);
}
.solution-subheading {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	color: var(--color--prim);
	background: var(--color--wh);
	border-radius: var(--radius--xs);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.5em 1em;
	margin-inline: auto;
}
.solution-heading {
	margin-inline: var(--neg-margin--l);
	margin-block: 0 var(--elem-gap--xl);
	text-align: center;
}
.solution-child-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
	margin-block: 0 var(--elem-gap--m);
	font-size: 3rem;
	font-weight: 500;
}
.home-news > .solution-child-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.solution-child-heading:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.solution-content--col2 {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "heading image" "text image";
	-ms-grid-columns: 1fr var(--elem-gap--l) min(45%, var(--col2-image-max-width));
	grid-template-columns: 1fr min(45%, var(--col2-image-max-width));
	-ms-grid-rows: auto 0 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 var(--elem-gap--l);
	margin-block: 0 var(--elem-gap--l);
	margin-inline: var(--neg-margin--l);
}
.frame .solution-content--col2 {
	margin-inline: 0;
}
.solution-content--col2 .diagram-caption {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	background: var(--color--wh);
	border-radius: var(--radius--xs);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.5em 1em;
	margin-inline: auto;
}
.solution-content--col2 .diagram-wrapper, .solution-content--col2 .why-mismatch-diagram-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: image;
	margin-block: 0;
}
.solution-content--col2 .image, .solution-content--col2 .how-demonstration-image {
	margin-inline: auto;
}
.solution-content--col2 .image-wrapper, .solution-content--col2 .how-demonstration-image-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: image;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--elem-gap--xs);
	margin-block: 0;
}
.solution-content--col2 .image-caption {
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	font-size: 1.8rem;
	padding-inline: var(--elem-gap--xs);
	margin-inline: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.solution-content--col2 .image-caption small {
	font-size: 1.6rem;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.solution-subheading {
		font-size: 2.2rem;
	}
	.solution-heading {
		font-size: 3.6rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.solution-child-heading {
		font-size: 1.8rem;
	}
	.solution-desc {
		font-size: 1.4rem;
	}
	.solution-content--col2 {
		    grid-template-areas: "heading" "image" "text";
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		-ms-grid-rows: auto 0 auto 0 auto;
		grid-template-rows: auto auto auto;
		gap: 0;
		margin-block: 0 var(--elem-gap--l);
	}
	.solution-content--col2 .diagram-caption {
		font-size: 1.4rem;
	}
	.solution-content--col2 .diagram-wrapper, .solution-content--col2 .why-mismatch-diagram-wrapper {
		width: auto;
		margin-block: 0 var(--elem-gap--m);
	}
	.solution-content--col2 .image-wrapper, .solution-content--col2 .how-demonstration-image-wrapper {
		width: auto;
		margin-block: 0 var(--elem-gap--m);
	}
	.solution-content--col2 .image-caption {
		font-size: 1.4rem;
	}
	.solution-content--col2 .image-caption small {
		font-size: 1.2rem;
	}
}

.solution-point {
	position: relative;
}
.solution-point-count {
	position: absolute;
	top: 0;
	translate: 0 -50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	font-size: 4rem;
	line-height: 1;
	font-weight: 500;
	color: var(--color--prim);
	border: 1px solid var(--color--prim);
	margin-inline: -15px 0;
	padding: 0.4em;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	border-radius: var(--radius--xs);
	background: var(--color--lt-yl);
}
.solution-point-count-num {
	display: -ms-grid;
	display: grid;
	place-items: center;
	font-size: 4.5rem;
	font-weight: 400;
	text-align: center;
	width: 1.4em;
	height: 1.4em;
	border-radius: 10px;
	color: var(--color--wh);
	letter-spacing: 0;
	background-image: linear-gradient(160deg, var(--color--sec) 0%, var(--color--prim) 80%);
	background-size: 100% 100%;
}
.solution-point-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
	margin-block: 0 var(--elem-gap--m);
	font-size: 3rem;
	font-weight: 500;
}
.home-news > .solution-point-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.solution-point-heading:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.solution-point-heading .name {
	white-space: nowrap;
}
.solution-point:first-child, .solution-point + .solution-point {
	-webkit-margin-before: var(--elem-gap--xl);
	        margin-block-start: var(--elem-gap--xl);
}
.solution-point-desc {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: text;
	font-size: 1.8rem;
}
.solution-point-desc > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.solution-point-count {
		font-size: 3.6rem;
	}
	.solution-point-count-num {
		font-size: 4rem;
	}
	.solution-point-heading {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.solution-point-count {
		font-size: 2.4rem;
		margin-inline: -5px 0;
		padding: 0.2em 0.2em 0.2em 0.4em;
	}
	.solution-point-count-num {
		font-size: 3rem;
		width: 1.2em;
		height: 1.2em;
	}
	.solution-point-heading {
		font-size: 1.8rem;
	}
	.solution-point-desc {
		font-size: 1.4rem;
	}
}

.operation-scheme {
	margin-inline: calc(var(--elem-gap--l) * -1);
	padding-inline: var(--elem-gap--l);
	margin-block: 0 calc(var(--elem-gap--l) * -1) !important;
	padding-block: var(--elem-gap--l);
	background: var(--color--wh);
	border-radius: 0 0 var(--radius--s) var(--radius--s);
}
.operation-scheme > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.operation-scheme .diagram-caption {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	background: var(--color--wh);
	border-radius: var(--radius--xs);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.5em 1em;
	margin-inline: auto;
	margin-block: 0 var(--elem-gap--s);
}
@media screen and (max-width: 1023.98px) {
	.operation-scheme {
		margin-inline: calc(var(--elem-gap--s) * -1);
		padding-inline: var(--elem-gap--s);
		margin-block: 0 calc(var(--elem-gap--l) * -1) !important;
		padding-block: var(--elem-gap--m);
	}
	.operation-scheme .diagram-caption {
		font-size: 1.6rem;
	}
}

.reasons-desc {
	margin-inline: var(--neg-margin--l);
}
.reasons-list {
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: var(--elem-gap--xs) var(--elem-gap--m);
	margin-block: var(--elem-gap--l) 0;
	margin-inline: var(--neg-margin--l);
}
.reasons-item {
	position: relative;
	counter-increment: reasons-counter;
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	-ms-grid-row-span: 3;
	grid-row: span 3;
	padding: var(--elem-gap--l) var(--elem-gap--s);
}
.reasons-item-heading {
	position: relative;
	font-weight: 500;
	margin: 0;
	padding-block: 0 var(--elem-gap--xs);
}
.reasons-item-heading small {
	font-size: 2rem;
}
.reasons-item-heading::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	border-bottom: 1px solid var(--color--prim);
}
.reasons-item::before {
	content: counter(reasons-counter);
	font-family: var(--en-font);
	font-size: 5rem;
	line-height: 1;
	color: var(--color--prim);
}
.reasons-item::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--color--prim);
	border-radius: var(--radius--l);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100px, 0% 100px, 0% calc(100% - 100px), 100% calc(100% - 100px), 100% 100%, 0% 100%);
}
.reasons-item:first-child .reasons-item-heading::before {
	margin-inline: 0 calc((var(--elem-gap--m) / 2 + var(--elem-gap--s)) * -1);
}
.reasons-item:last-child .reasons-item-heading::before {
	margin-inline: calc((var(--elem-gap--m) / 2 + var(--elem-gap--s)) * -1) 0;
}
.reasons-item:not(:first-child):not(:last-child) .reasons-item-heading::before {
	margin-inline: calc((var(--elem-gap--m) / 2 + var(--elem-gap--s)) * -1);
}
.reasons-item-desc {
	margin-block: 0;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.reasons-item::before {
		font-size: 4.5rem;
	}
	.reasons-item-heading {
		font-size: 2.4rem;
	}
	.reasons-item-heading small {
		font-size: 1.6rem;
	}
	.reasons-item-desc {
		font-size: 1.6rem;
		line-height: 2;
	}
}
@media screen and (max-width: 1023.98px) {
	.reasons-list {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		margin-block: var(--elem-gap--l) 0;
	}
	.reasons-item {
		padding: var(--elem-gap--m) var(--elem-gap--s);
	}
	.reasons-item-heading {
		font-size: 2rem;
	}
	.reasons-item-heading small {
		font-size: 1.4rem;
	}
	.reasons-item::before {
		font-size: 3.6rem;
	}
	.reasons-item::after {
		clip-path: polygon(0% 0%, 100% 0%, 100% 60px, 0% 60px, 0% calc(100% - 60px), 100% calc(100% - 60px), 100% 100%, 0% 100%);
	}
	.reasons-item-heading::before {
		margin-inline: 0 !important;
	}
	.reasons-item-heading:has(wbr) {
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
	.reasons-item-desc {
		font-size: 1.3rem;
	}
}

.service-flow {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "heading list" "desc list";
	-ms-grid-columns: 1fr var(--elem-gap--l) auto;
	grid-template-columns: 1fr auto;
	-ms-grid-rows: auto 0 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 var(--elem-gap--l);
	margin-inline: var(--neg-margin--l);
}
.service-flow-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
	margin-inline: 0;
}
.home-news > .service-flow-heading {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.service-flow-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	grid-area: desc;
}
.home-about-vpp > .service-flow-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.home-service-index-link > .service-flow-desc {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.service-flow > .service-flow-desc {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.service-flow-link {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	gap: 0 10px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 2.2rem;
	color: var(--color--prim) !important;
}
.service-flow-list {
	-ms-grid-row: 1;
	-ms-grid-row-span: 3;
	-ms-grid-column: 3;
	grid-area: list;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--elem-gap--m);
	width: calc(var(--content-width--l) * 0.5);
}
.service-flow-item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 var(--elem-gap--xs);
	border: 1px solid var(--color--prim);
	list-style: none;
	counter-increment: reasons-counter;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
	border-radius: var(--radius--s);
	padding: var(--elem-gap--xs) var(--elem-gap--s);
	margin: 0;
}
.service-flow-item::before {
	content: counter(reasons-counter);
	font-family: var(--en-font);
	font-size: 4rem;
	line-height: 1;
	color: var(--color--prim);
	font-weight: 400;
	width: 1em;
}
.service-flow-item:not(:first-child)::after {
	content: "";
	position: absolute;
	inset: auto 0 100%;
	width: 0;
	height: var(--elem-gap--m);
	margin-inline: auto;
	border-left: 1px solid var(--color--prim);
}
@media screen and (max-width: 1023.98px) {
	.service-flow {
		display: -ms-grid;
		display: grid;
		    grid-template-areas: "heading" "list" "desc";
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		-ms-grid-rows: auto auto auto;
		grid-template-rows: auto auto auto;
	}
	.service-flow-link {
		font-size: 1.6rem;
	}
	.service-flow-list {
		width: auto;
		gap: var(--elem-gap--s);
		margin-block: 0 var(--elem-gap--m) !important;
	}
	.service-flow-item {
		font-size: 1.6rem;
		padding: var(--elem-gap--xs) var(--elem-gap--s);
	}
	.service-flow-item::before {
		font-size: 3rem;
	}
	.service-flow-item:not(:first-child)::after {
		height: var(--elem-gap--s);
	}
	.service-flow > .top-contents-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.service-flow > .home-about-vpp-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.service-flow > .home-service-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.service-flow > .service-flow-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.service-flow-list {
		-ms-grid-row: 2;
		-ms-grid-row-span: 1;
		-ms-grid-column: 1;
	}
}

.faq-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: var(--elem-gap--m);
}
.faq-question {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: var(--elem-gap--xs);
	font-size: 1.8rem;
	line-height: 2;
	font-weight: 500;
}
.faq-question::before {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	content: "Q";
	font-family: var(--en-font);
	font-size: 4rem;
	line-height: 1;
	font-weight: 400;
	color: var(--color--prim);
}
.faq-answer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: var(--elem-gap--xs);
	background: var(--color--wh);
	padding: var(--elem-gap--m) var(--elem-gap--l);
	border-radius: var(--radius--s);
}
.faq-answer::before {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	content: "A";
	font-family: var(--en-font);
	font-size: 4rem;
	line-height: 1;
	font-weight: 400;
	color: var(--color--wh);
	text-shadow: -1px -1px 0 var(--color--prim), 1px -1px 0 var(--color--prim), -1px 1px 0 var(--color--prim), 1px 1px 0 var(--color--prim);
	-webkit-margin-before: -20px;
	        margin-block-start: -20px;
}
.faq-answer-inner {
	font-size: 1.8rem;
}
.faq-answer-inner > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
@media screen and (max-width: 1023.98px) {
	.faq-question {
		font-size: 1.4rem;
	}
	.faq-question::before {
		font-size: 3.2rem;
	}
	.faq-answer {
		padding: var(--elem-gap--s) var(--elem-gap--s);
	}
	.faq-answer::before {
		font-size: 3.2rem;
		-webkit-margin-before: -20px;
		        margin-block-start: -20px;
	}
	.faq-answer-inner {
		font-size: 1.4rem;
	}
}

.merit {
	background-image: linear-gradient(160deg, var(--color--sec) 0%, var(--color--prim) 80%);
	background-size: 100% 100%;
}
.solution:has(.merit) {
	margin-block: 0 calc(var(--section-margin) * -1 + var(--elem-gap--m));
}
.merit-list {
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: var(--elem-gap--xs) var(--elem-gap--m);
	margin-inline: var(--neg-margin--l);
}
.merit-item {
	position: relative;
	z-index: 2;
	counter-increment: merit-counter;
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	-ms-grid-row-span: 3;
	grid-row: span 3;
	padding: 0 var(--elem-gap--s) var(--elem-gap--s);
}
.merit-item-heading {
	position: relative;
	font-size: 2.8rem;
	font-weight: 500;
	color: var(--color--prim);
	margin-block: 0 var(--elem-gap--xs);
}
.merit-item-desc {
	font-size: 1.6rem;
	line-height: 2;
}
.merit-item-desc p {
	margin-block: 0 var(--elem-gap--xs);
}
.merit-item-desc > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.merit-item::before {
	content: counter(merit-counter);
	font-family: var(--en-font);
	font-size: 7rem;
	line-height: 1;
	color: var(--color--wh);
	margin-inline: calc(var(--elem-gap--s) * -1);
	margin-block: 0 var(--elem-gap--s);
	width: 90px;
	height: 90px;
	display: -ms-grid;
	display: grid;
	place-items: center;
	text-align: center;
}
.merit-item::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: var(--color--wh);
	border-radius: var(--radius--s);
	-webkit-mask: url(/business/vpp/co-location-storage-battery/images/msk_notch.svg) no-repeat 0 0/120px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
	        mask: url(/business/vpp/co-location-storage-battery/images/msk_notch.svg) no-repeat 0 0/120px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
}
.merit-plus {
	position: relative;
	margin-block: 80px;
	padding: var(--elem-gap--s);
	color: var(--color--wh);
	text-align: center;
}
.merit-plus::before {
	content: "";
	position: absolute;
	inset: auto 0 100%;
	margin: 0 auto -10px;
	background: var(--color--wh);
	width: 68px;
	height: 68px;
	clip-path: polygon(0 calc(50% - 1px), calc(50% - 1px) calc(50% - 1px), calc(50% - 1px) 0, calc(50% + 1px) 0, calc(50% + 1px) calc(50% - 1px), 100% calc(50% - 1px), 100% calc(50% + 1px), calc(50% + 1px) calc(50% + 1px), calc(50% + 1px) 100%, calc(50% - 1px) 100%, calc(50% - 1px) calc(50% + 1px), 0 calc(50% + 1px));
}
.merit-plus::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid var(--color--wh);
	border-radius: 100px;
	clip-path: polygon(0% 0%, calc(50% - 60px) 0%, calc(50% - 60px) 3px, calc(50% + 60px) 3px, calc(50% + 60px) 0%, 100% 0%, 100% 100%, 0% 100%);
}
.merit-plus-heading {
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.6;
	margin-block: 0 var(--elem-gap--xs);
}
.merit-plus-heading:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.merit-plus-desc {
	font-size: 1.6rem;
	line-height: 2;
}
.merit-plus-desc p {
	margin-block: 0 0.5em;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.merit-item::before {
		font-size: 5rem;
	}
	.merit-item-heading {
		font-size: 2.4rem;
	}
	.merit-plus-heading {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.merit-list {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
	.merit-item-heading {
		font-size: 2rem;
	}
	.merit-item-heading:has(wbr) {
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
	.merit-item::before {
		font-size: 3.6rem;
		width: 50px;
		height: 50px;
	}
	.merit-item::after {
		-webkit-mask: url(/business/vpp/co-location-storage-battery/images/msk_notch.svg) no-repeat 0 0/70px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
		        mask: url(/business/vpp/co-location-storage-battery/images/msk_notch.svg) no-repeat 0 0/70px auto, url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><rect x="0" y="0" height="100" width="100"/></svg>') repeat center/100% 100%;
		-webkit-mask-composite: xor;
		        mask-composite: exclude;
	}
	.merit-item-desc {
		font-size: 1.3rem;
	}
	.merit-plus {
		margin-block: 60px;
	}
	.merit-plus::before {
		margin: 0 auto -10px;
		width: 50px;
		height: 50px;
	}
	.merit-plus::after {
		border-radius: var(--radius--m);
		clip-path: polygon(0% 0%, calc(50% - 40px) 0%, calc(50% - 40px) 3px, calc(50% + 40px) 3px, calc(50% + 40px) 0%, 100% 0%, 100% 100%, 0% 100%);
	}
	.merit-plus-heading {
		font-size: 2rem;
	}
	.merit-plus-desc {
		font-size: 1.3rem;
		text-align: left;
	}
}

.why-mismatch {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--elem-gap--s) 1fr;
	grid-template-columns: repeat(2, 1fr);
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	gap: var(--elem-gap--s);
	margin-block: var(--elem-gap--l);
}
.why-mismatch-item {
	position: relative;
	background: var(--color--wh);
	padding: var(--elem-gap--m) var(--elem-gap--s);
	border-radius: var(--radius--s);
}
.why-mismatch-item-heading {
	position: absolute;
	inset: 0 auto auto var(--elem-gap--s);
	translate: 0 -50%;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	color: var(--color--wh);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.5em 1em;
	border-radius: 10px;
	background-image: linear-gradient(160deg, var(--color--sec) 0%, var(--color--prim) 80%);
	background-size: 100% 100%;
}
.why-mismatch-diagram-caption {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	margin-block: 0 var(--elem-gap--xs);
}
.why-mismatch-diagram-wrapper {
	margin-block: 0;
}
.why-mismatch-diagram-wrapper:not(:first-of-type) {
	margin-block: var(--elem-gap--m) 0;
}
.why-arrow {
	position: relative;
	width: 120px;
	height: 120px;
	margin-inline: auto;
	margin-block: calc(var(--elem-gap--s) * -1) var(--elem-gap--s);
}
.why-arrow::before {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0;
	margin-inline: auto;
	border-left: 2px solid var(--color--prim);
	width: 0;
}
.why-arrow::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: auto 0 20px;
	margin-inline: auto;
	border-bottom: 3px solid var(--color--prim);
	border-right: 3px solid var(--color--prim);
	width: 100px;
	height: 100px;
	-webkit-transform: scale(0.4, 1) rotate(45deg);
	        transform: scale(0.4, 1) rotate(45deg);
}
@media screen and (max-width: 1023.98px) {
	.why-mismatch {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: var(--elem-gap--l);
	}
	.why-mismatch-item-heading {
		font-size: 1.4rem;
	}
	.why-mismatch-diagram-caption {
		font-size: 1.6rem;
	}
	.why-arrow {
		width: 100px;
		height: 100px;
	}
	.why-arrow::after {
		inset: auto 0 15px;
		width: 80px;
		height: 80px;
	}
}

.how {
	-webkit-margin-after: calc(var(--section-margin) * -1 + var(--elem-gap--m)) !important;
	        margin-block-end: calc(var(--section-margin) * -1 + var(--elem-gap--m)) !important;
}
.how-generation-resources {
	background-image: linear-gradient(90deg, var(--color--sec) 0%, var(--color--prim) 800px);
	background-size: 100% 100%;
	-webkit-margin-before: calc(var(--elem-gap--m) + var(--elem-gap--xl)) !important;
	        margin-block-start: calc(var(--elem-gap--m) + var(--elem-gap--xl)) !important;
}
.how-generation-resources .section-desc {
	color: var(--color--wh);
}
.how-generation-resources strong {
	text-decoration-color: var(--color--yl);
}
.how-generation-resources-diagram {
	max-width: 1243px;
	width: 100%;
}
.how-generation-resources-diagram-caption {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.8;
	margin-block: 0 -3.6em;
	width: 55%;
}
.how-generation-resources-diagram-caption:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.how-demonstration {
	/* .note {
		margin-inline: var(--neg-margin--l);
		margin-block: var(--elem-gap--m) 0;
	} */
}
.how-demonstration-item {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "image heading" "image text";
	-ms-grid-columns: min(50%, 600px) var(--elem-gap--l) 1fr;
	grid-template-columns: min(50%, 600px) 1fr;
	-ms-grid-rows: auto 0 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 var(--elem-gap--l);
}
.how-demonstration-item:nth-child(even) {
	    grid-template-areas: "heading image" "text image";
	-ms-grid-columns: 1fr min(50%, 600px);
	grid-template-columns: 1fr min(50%, 600px);
}
.how-demonstration-item:not(:first-child) {
	border-top: 1px solid var(--color--prim);
	padding-block: var(--elem-gap--l) 0;
	margin-block: var(--elem-gap--l) 0;
}
.how-demonstration-hgroup {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: heading;
}
.home-news > .how-demonstration-hgroup {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.how-demonstration-subheading {
	font-size: 1.8rem;
	line-height: 1.4;
	color: var(--color--prim);
	font-weight: 500;
	border: 1px solid var(--color--prim);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.3em 1em;
	border-radius: var(--radius--m);
	margin-block: 0 var(--elem-gap--xs);
}
.how-demonstration-heading {
	font-size: 2.4rem;
	font-weight: 500;
}
.how-demonstration-desc {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: text;
	font-size: 1.6rem;
}
.how-demonstration-desc > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.how-demonstration-image-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: image;
	margin-block: 0;
}
@media screen and (max-width: 1023.98px) {
	.how {
		-webkit-margin-after: calc(var(--section-margin) * -1 + var(--elem-gap--xs)) !important;
		        margin-block-end: calc(var(--section-margin) * -1 + var(--elem-gap--xs)) !important;
	}
	.how-generation-resources {
		-webkit-margin-before: calc(var(--elem-gap--m) + var(--elem-gap--xl)) !important;
		        margin-block-start: calc(var(--elem-gap--m) + var(--elem-gap--xl)) !important;
	}
	.how-generation-resources-diagram-caption {
		font-size: 1.6rem;
		margin-block: 0 var(--elem-gap--s);
		width: auto;
	}
	.how-demonstration-item {
		display: block;
	}
	.how-demonstration-item:not(:first-child) {
		padding-block: var(--elem-gap--m) 0;
		margin-block: var(--elem-gap--m) 0;
	}
	.how-demonstration-hgroup {
		margin-block: 0 var(--elem-gap--m);
	}
	.how-demonstration-subheading {
		font-size: 1.4rem;
	}
	.how-demonstration-heading {
		font-size: 1.8rem;
		margin-block: 0;
	}
	.how-demonstration-desc {
		font-size: 1.4rem;
	}
	.how-demonstration-image-wrapper {
		margin-block: var(--elem-gap--m);
	}
	.how-demonstration .note {
		margin-inline: var(--neg-margin);
		margin-block: var(--elem-gap--m) 0;
	}
}

.learn-more {
	-webkit-margin-before: var(--elem-gap--xl);
	        margin-block-start: var(--elem-gap--xl);
	-webkit-margin-end: var(--neg-margin--max);
	        margin-inline-end: var(--neg-margin--max);
	-webkit-padding-end: var(--content-padding);
	        padding-inline-end: var(--content-padding);
	overflow: hidden;
	border-end-end-radius: 0;
	border-start-end-radius: 0;
}
.learn-more-heading {
	font-size: 3.2rem;
	font-weight: 500;
	color: var(--color--prim);
	margin-block: 0 var(--elem-gap--m);
	margin-inline: var(--neg-margin--l);
}
.learn-more-slider {
	position: relative;
	margin-inline: var(--neg-margin--l) var(--neg-margin--max);
	-webkit-padding-end: var(--content-padding--l);
	        padding-inline-end: var(--content-padding--l);
}
.learn-more-slider .swiper-controller {
	position: absolute;
	z-index: 2;
	inset: auto var(--content-padding--l) calc(100% - 50px) auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 160px;
	height: 160px;
	background: var(--color--wh);
	border-radius: 50%;
}
.learn-more-slider .swiper-controller::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 26px;
	border-left: 1px solid var(--color--prim);
}
.learn-more-slider .swiper-controller .swiper-button {
	display: block;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	position: relative !important;
	inset: auto !important;
	width: 50%;
	height: 100px;
	text-indent: 100vw;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.learn-more-slider .swiper-controller .swiper-button::before {
	position: absolute;
	inset: 0;
	margin: auto;
	background-color: var(--color--prim);
}
.learn-more-slider .swiper-controller .swiper-button::after {
	display: none;
}
.learn-more-slider .swiper-controller .swiper-button-prev {
	scale: -1 1;
}
.learn-more-list-wrapper {
	margin-inline: 0 var(--content-padding--xl);
	overflow: visible !important;
}
.learn-more-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0;
}
.learn-more-item {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	width: 420px !important;
	height: auto !important;
}
.learn-more-link {
	display: -ms-grid;
	display: grid;
	    grid-template-areas: "image image" "title icon" "category category";
	-ms-grid-columns: 1fr var(--elem-gap--xs) auto;
	grid-template-columns: 1fr auto;
	-ms-grid-rows: auto 10px auto 10px 1fr;
	grid-template-rows: auto auto 1fr;
	gap: 10px var(--elem-gap--xs);
	height: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--wh);
	border-radius: var(--radius--s);
	padding: 0 var(--elem-gap--s) var(--elem-gap--s);
}
.learn-more-link .arrow-s-icon {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	-ms-grid-column-span: 1;
	grid-area: icon;
	    align-self: center;
}
.learn-more-title {
	grid-area: title;
	margin: 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
}
.top-title-wrapper > .learn-more-title {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 2;
}
.top-contents-index-link > .learn-more-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
}
.learn-more-link > .learn-more-title {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
}
.learn-more-category {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: category;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 10px;
	margin-block: auto 0;
	line-height: 1.5;
}
@media screen and (max-width: 1023.98px){
	.news-link .news-link-icon {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.news-date {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 3;
	}
	.news-title {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-title {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-contents-index-icon {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.top-contents-index-title {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-title-wrapper > .top-contents-index-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.home-about-vpp-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.service-flow-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-link > .service-flow-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.learn-more-link .arrow-s-icon {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.top-contents-index-link > .arrow-s-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 1;
	}
	.learn-more-title {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.top-title-wrapper > .learn-more-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .learn-more-title {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px){
	.home-about-vpp-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-thumbnail-wrapper {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-count {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-title-en {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-title-ja {
		-ms-grid-row: 4;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.home-service-index-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-link > .home-service-index-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.service-flow-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.home-service-index-link > .service-flow-desc {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
	}
	.top-contents-index-link > .arrow-s-icon {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.top-contents-index-link > .learn-more-title {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
}
.learn-more-category-label {
	color: var(--color--prim);
	font-size: 1.5rem;
	letter-spacing: -0.1em;
}
.learn-more-link[href*=".pdf"] .learn-more-category::after {
	content: "";
	width: 24px;
	height: 24px;
	background: url(/business/vpp/assets/images/icn_pdf.svg) no-repeat center/contain;
	background-color: transparent !important;
}
.learn-more-thumbnail-wrapper {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: image;
	border-radius: var(--radius--s) var(--radius--s) 0 0;
	margin-block: 0 var(--elem-gap--xs);
	margin-inline: calc(var(--elem-gap--s) * -1);
}
@media screen and (max-width: 1023.98px){
	.home-news .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-about-vpp .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.solution-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .solution-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.solution-content--col2 .diagram-wrapper, .solution-content--col2 .why-mismatch-diagram-wrapper {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.solution-content--col2 .image-wrapper, .solution-content--col2 .how-demonstration-image-wrapper {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.solution-point-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .solution-point-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.solution-point-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.service-flow-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .service-flow-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.how-demonstration-hgroup {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .how-demonstration-hgroup {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.how-demonstration-desc {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.how-demonstration-image-wrapper {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
	.learn-more-thumbnail-wrapper {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px){
	.home-news > .home-section-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .solution-child-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .solution-point-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .service-flow-heading {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.home-news > .how-demonstration-hgroup {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
}
@media screen and (max-width: 1023.98px) {
	.learn-more-heading {
		font-size: 2rem;
		padding-inline: 0 100px;
	}
	.learn-more-heading:has(wbr) {
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
	.learn-more-slider .swiper-controller {
		inset: auto var(--content-padding--l) calc(100% - 20px) auto;
		width: 80px;
		height: 80px;
	}
	.learn-more-slider .swiper-controller::before {
		height: 26px;
	}
	.learn-more-slider .swiper-controller .swiper-button {
		height: 60px;
	}
	.learn-more-item {
		width: min(var(--content-width--l) - 60px, 360px) !important;
	}
	.learn-more-title {
		font-size: 1.6rem;
	}
	.learn-more-category-label {
		font-size: 1.3rem;
	}
	.learn-more-link[href*=".pdf"] .learn-more-category::after {
		content: "";
		width: 24px;
		height: 24px;
		background: url(/business/vpp/assets/images/icn_pdf.svg) no-repeat center/contain;
		background-color: transparent !important;
	}
}

.contact-desc {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--elem-gap--m) 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--elem-gap--m);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-block: var(--elem-gap--s) 0;
}
@media screen and (max-width: 1023.98px) {
	.contact-desc {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: var(--elem-gap--s);
		margin-block: var(--elem-gap--m) 0;
	}
}
.contact-step {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr var(--elem-gap--s) 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 var(--elem-gap--s);
	margin: 0;
}
.contact-step-item {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: var(--elem-gap--xs);
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 500;
	border: 1px solid color-mix(in srgb, var(--color--wh) 50%, transparent);
	border-radius: var(--radius--s);
	margin: 0;
	list-style: none;
}
.contact-step-item:not(:first-child)::before {
	content: "";
	position: absolute;
	inset: 50% 100% auto auto;
	height: 0;
	width: var(--elem-gap--s);
	margin: auto 0;
	border-top: 1px solid color-mix(in srgb, var(--color--wh) 50%, transparent);
}
.contact-step-item.is-current {
	background: var(--color--wh);
	color: var(--color--prim);
}
.contact-step-count {
	font-family: var(--en-font);
	font-size: 3rem;
	line-height: 1;
}
.contact-step-label {
	margin-inline: auto;
}
@media screen and (max-width: 1023.98px) {
	.contact-step-item {
		font-size: 2rem;
	}
	.contact-step-count {
		font-size: 2.4rem;
	}
}
.contact-note {
	font-weight: 500;
	margin-block: 0;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.contact-message {
	margin-block: 0 var(--elem-gap--m);
}
.container:has(.contact-message:first-child) {
	-webkit-padding-before: var(--elem-gap--m);
	        padding-block-start: var(--elem-gap--m);
}
.container:has(.contact-message:last-child) {
	-webkit-padding-after: var(--elem-gap--m);
	        padding-block-end: var(--elem-gap--m);
}
.contact-message-thanks {
	color: var(--color--prim);
	font-size: 3rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.6;
}
@media screen and (max-width: 1023.98px) {
	.contact-message-thanks {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.contact-message {
		margin-block: 0 var(--elem-gap--xs);
	}
	.container:has(.contact-message:first-child) {
		-webkit-padding-before: var(--elem-gap--xs);
		        padding-block-start: var(--elem-gap--xs);
	}
	.container:has(.contact-message:last-child) {
		-webkit-padding-after: var(--elem-gap--xs);
		        padding-block-end: var(--elem-gap--xs);
	}
}
.contact-form {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	gap: var(--elem-gap--m) 0;
	border-top: 1px solid color-mix(in srgb, var(--color--dk-gy) 30%, transparent);
	margin-block: var(--elem-gap--l);
	padding-block: var(--elem-gap--m) 0;
}
.contact-form > div {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	gap: 10px;
}
.contact-form dt, .contact-form dd {
	line-height: 1.8;
	min-width: 0;
}
.contact-form dt {
	font-size: 1.6rem;
	font-weight: 500;
}
.contact-form dd {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 15px;
}
.contact-form dd p:last-of-type {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.contact-form .form-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px;
}
.contact-form .form-row--narrow input[type=text], .contact-form .form-row--narrow input[type=tel] {
	width: 120px;
}
.contact-form input[type=text], .contact-form [type=tel], .contact-form textarea, .contact-form select {
	border-radius: 10px;
	padding: 0.8em;
	background-color: var(--color--lt-gy);
	width: 100%;
}
.contact-form input[type=text]::-webkit-input-placeholder, .contact-form [type=tel]::-webkit-input-placeholder, .contact-form textarea::-webkit-input-placeholder, .contact-form select::-webkit-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
.contact-form input[type=text]::-moz-placeholder, .contact-form [type=tel]::-moz-placeholder, .contact-form textarea::-moz-placeholder, .contact-form select::-moz-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
.contact-form input[type=text]:-ms-input-placeholder, .contact-form [type=tel]:-ms-input-placeholder, .contact-form textarea:-ms-input-placeholder, .contact-form select:-ms-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
.contact-form input[type=text]::-ms-input-placeholder, .contact-form [type=tel]::-ms-input-placeholder, .contact-form textarea::-ms-input-placeholder, .contact-form select::-ms-input-placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
.contact-form input[type=text]::placeholder, .contact-form [type=tel]::placeholder, .contact-form textarea::placeholder, .contact-form select::placeholder {
	color: color-mix(in srgb, var(--color--dk-gy) 40%, transparent);
}
.contact-form .select-wrapper {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
.contact-form .select-wrapper::after {
	content: "";
	position: absolute;
	inset: 0 18px 0 auto;
	margin-block: auto;
	background: var(--color--prim);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	width: 18px;
	height: 14px;
	pointer-events: none;
}
.contact-form .select-wrapper select {
	width: auto;
	padding-right: 50px;
}
.contact-form [id^=require_], .contact-form #comparison_email_confirmation {
	font-size: 1.4rem;
	color: var(--color--prim);
	display: none;
}
@media screen and (max-width: 1023.98px) {
	.contact-form dt {
		font-size: 1.4rem;
	}
	.contact-form dd {
		border-top: none;
		gap: 10px;
	}
	.contact-form .form-row {
		gap: 10px;
	}
	.contact-form .form-row--narrow input[type=text], .contact-form .form-row--narrow input[type=tel] {
		max-width: 70px;
	}
	.contact-form .select-wrapper::after {
		inset: 0 14px 0 auto;
		width: 14px;
		height: 10px;
	}
	.contact-form .select-wrapper select {
		width: auto;
		padding-right: 40px;
	}
}
.contact-consent-check {
	text-align: center;
}
.contact-consent-check p {
	margin-block: 0 10px;
}
.contact-consent-check :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.contact-consent-check [for$=consent] {
	cursor: pointer;
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.contact-consent-check [for$=consent]::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	-webkit-margin-end: 10px;
	        margin-inline-end: 10px;
	border: 1px solid color-mix(in srgb, var(--color--dk-gy) 50%, transparent);
	border-radius: 10px;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.contact-consent-check [for$=consent]::after {
	content: "";
	position: absolute;
	inset: auto auto auto 10px;
	width: 10px;
	height: 15px;
	border: 2px solid var(--color--wh);
	border-top: none;
	border-left: none;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-margin-before: -5px;
	        margin-block-start: -5px;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.contact-consent-check :checked + [for$=consent]::before {
	border-color: var(--color--prim);
	background-color: var(--color--prim);
}
.contact-consent-check :checked + [for$=consent]::after {
	visibility: visible;
	opacity: 1;
}
@media screen and (max-width: 1023.98px) {
	.contact-consent-check [for$=consent]::before {
		width: 25px;
		height: 25px;
		-webkit-margin-end: 10px;
		        margin-inline-end: 10px;
		border-radius: 8px;
	}
	.contact-consent-check [for$=consent]::after {
		inset: auto auto auto 8px;
		width: 8px;
		height: 12px;
		-webkit-margin-before: -4px;
		        margin-block-start: -4px;
	}
	.contact-consent-check :checked + [for$=consent]::before {
		border-color: var(--color--prim);
		background-color: var(--color--prim);
	}
	.contact-consent-check :checked + [for$=consent]::after {
		visibility: visible;
		opacity: 1;
	}
}
.contact-submit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-block: var(--elem-gap--l) 0;
	gap: var(--elem-gap--m);
}
.contact-submit button {
	display: -ms-grid;
	display: grid;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-grid-columns: 1fr var(--elem-gap--xs) auto;
	grid-template-columns: 1fr auto;
	gap: var(--elem-gap--xs);
	padding: var(--elem-gap--xs) var(--elem-gap--xs) var(--elem-gap--xs) var(--elem-gap--m);
	border-radius: var(--radius--xl);
	width: 450px;
	text-align: center;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--color--sec)), to(var(--color--prim)));
	background-image: linear-gradient(90deg, var(--color--sec) 0%, var(--color--prim) 100%);
	background-size: 100% 100%;
	font-size: 2rem;
	color: var(--color--wh);
	text-align: left;
	-webkit-transition: background-size 0.4s ease;
	transition: background-size 0.4s ease;
}
@media (hover: hover) {
	.contact-submit button:where(:-moz-any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
	.contact-submit button:where(:any-link, :enabled, summary):hover {
		background-size: 200% 100%;
	}
}
@media screen and (max-width: 1023.98px) {
	.contact-submit {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	.contact-submit button {
		font-size: 1.8rem;
	}
}

.required-mark {
	color: var(--color--prim);
}

.back-top-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: var(--elem-gap--xs);
	font-size: 2rem;
	font-weight: 500;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}
@media screen and (max-width: 1023.98px) {
	.back-top-link {
		font-size: 1.6rem;
	}
}
/*# sourceMappingURL=style.css.map */