@charset "utf-8";


/**
* Project
**/

.l-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: min(2vw, 20px) min(4vw, 40px);
	transition: background-color 0.3s ease;
}

@media only screen and (max-width: 767px) {
	.l-header {
		padding: 5vw 5vw;
	}
}

.p-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

.p-header__logo {
	width: min(19vw, 316px);
	z-index: 102;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.p-header__logo {
		width: 40vw;
	}
}

.p-header__logo img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.p-header__nav {
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0px 0px 20px 0px #00000014;
	padding: 0 min(2vw, 4px);
}

@media only screen and (max-width: 1080px) {
	.p-header__nav {
		display: none;
	}
}

.p-header__list {
	display: flex;
	align-items: center;
}

.p-header__item {
	position: relative;
}

.p-header__item:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 20px;
	background-color: #CCCCCC;
}

.p-header__item a {
	display: block;
	font-size: min(1vw, 15px);
	font-weight: 700;
	color: #000000;
	text-decoration: none;
	padding: min(1.2vw, 18px) min(2vw, 28px);
	transition: color 0.3s;
}

.p-header__item a:hover {
	color: #005BC1;
}

.p-header__hamburger {
	display: none;
	background-color: #005BC1;
	border: none;
	cursor: pointer;
	padding: 0;
	width: min(12vw, 48px);
	height: min(12vw, 48px);
	border-radius: 50%;
	position: relative;
	z-index: 102;
	transition: background-color 0.3s ease;
}

@media only screen and (max-width: 1080px) {
	.p-header__hamburger {
		display: block;
	}
}

.p-header__hamburgerLine {
	position: absolute;
	left: 50%;
	width: 45%;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s ease;
	border-radius: 2px;
}

.p-header__hamburgerLine:nth-child(1) {
	top: calc(50% - 4px);
	transform: translate(-50%, -50%);
}

.p-header__hamburgerLine:nth-child(2) {
	top: calc(50% + 4px);
	transform: translate(-50%, -50%);
}

.p-header__hamburgerLine:nth-child(3) {
	display: none;
}

.p-header__hamburger.is-active {
	background-color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.p-header__hamburger.is-active .p-header__hamburgerLine {
	background-color: #666;
	height: 1px;
}

.p-header__hamburger.is-active .p-header__hamburgerLine:nth-child(1) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.p-header__hamburger.is-active .p-header__hamburgerLine:nth-child(2) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.p-header__drawer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #EEF8FF;
	z-index: 99;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 30vw 10vw 10vw;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.p-header__drawer.is-active {
	transform: translateX(0);
}

.p-header__drawerList {
	text-align: left;
	width: 100%;
}

.p-header__drawerItem {
	margin-bottom: 2vw;
}

.p-header__drawerItem:last-child {
	margin-bottom: 0;
}

.p-header__drawerItem a {
	font-size: 4.8vw;
	font-weight: 500;
	color: #222;
	display: block;
	padding: 2vw 0;
	text-decoration: none;
}

.p-fixed {
	position: fixed;
	bottom: 36px;
	right: 36px;
	width: 136px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* @media only screen and (max-width: 767px) {
	.p-fixed {
		display: none;
	}
} */

.p-fixed a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	width: 136px;
	height: 136px;
	border-radius: 136px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-fixed a.orange {
	background-image: url(../../images/sharedgridbattery_4th/fixed-bg_orange.png);
}

.p-fixed a.blue {
	background-image: url(../../images/sharedgridbattery_4th/fixed-bg_blue.png);
}

.p-fixed a.light_blue {
	background-image: url(../../images/sharedgridbattery_4th/fixed-bg_light-blue.png);
}

.p-fixed__icon {
	display: block;
	width: 46px;
	margin: 0 auto 10px;
}

.p-fixed__desc {
	color: var(--color_bg);
	font-size: min(1.8vw, 18px);
	line-height: 1.1;
	font-weight: 700;
}

.p-fixed__small {
	display: block;
	margin-top: 6px;
	font-size: min(1.1vw, 12px);
	text-align: center;
	line-height: 1.2;
	color: #fff;
}

/* 260304追加 */
@media only screen and (max-width: 767px) {
	.p-fixed {
		width: 80px;
		bottom: 100px;
		right: 10px;
		gap: 8px;
	}

	.p-fixed__desc {
		font-size: 10px;
	}

	.p-fixed__link.sp_hidden {
		display: none;
	}

	.p-fixed a {
		width: 80px;
		height: 80px;
	}
	.p-fixed a:hover {
		opacity: 1;
	}
}
/* 260304追加ここまで */

.p-mv__logo {
	position: absolute;
	top: 18px;
	left: 18px;
	width: min(18vw, 316px);
	z-index: 1;
}


@media only screen and (max-width: 767px) {
	.p-mv__logo {
		top: 10vw;
		left: 5vw;
		width: 38vw;
	}
}

.p-mv {
	position: relative;
	overflow: hidden;
	max-height: 100vh;
	min-height: min(60vw, 1100px);
}


@media only screen and (max-width: 767px) {
	.p-mv {
		width: 100%;
		height: 100vh;
		max-height: auto;
		min-height: auto;
	}
}

.p-mv__img {
	position: relative;
}

.p-mv__inner,
.p-mv__img,
.p-mv__img picture {
	height: 100%;
}

.p-mv__wrap {
	display: flex;
	flex-direction: column;
	gap: 3vw;
	position: absolute;
	top: 50%;
	left: 5vw;
	transform: translate(0, -50%);
	width: min(46vw, 1000px);
}

@media only screen and (max-height: 1100px) {
	.p-mv__wrap {
		top: 54%;
		width: min(42vw, 1000px);
	}
}

@media only screen and (max-width: 767px) {
	.p-mv__wrap {
		top: 30vw;
		left: 50%;
		transform: translate(-50%, 0);
		width: 87%;
	}
}

@media only screen and (max-width: 767px) {
	.p-mv__btn {
		display: none;
	}
}


@media only screen and (max-width: 767px) {
	.p-mv__img img {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.p-mv__btnMain {
	width: 79%;
}

.p-mv__submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	;
	padding: min(0.8vw, 18px) 20px min(0.9vw, 20px);
	text-align: center;
	font-size: min(2vw, 30px);
	font-weight: 900;
	color: var(--color_bg);
	background: var(--color_accent1);
	border-radius: 50px;
}

@media only screen and (max-width: 1600px) {
	.p-mv__submit {
		font-size: min(1.6vw, 20px);
	}
}


@media only screen and (max-width: 1400px) {
	.p-mv__btnTxt {
		font-size: min(1.6vw, 20px);
	}
}

.p-mv__submit i {
	display: inline-flex;
	max-width: min(3.2vw, 63px);
}

.p-mv__submit:hover {
	background: var(--color_accent2);
	opacity: 1;
}

.p-mv__submit:after {
	position: absolute;
	top: 50%;
	right: 6%;
	content: "";
	width: min(1.3vw, 26px);
	height: min(1.3vw, 26px);
	transform: translate(0, -50%);
	background-image: url(../../images/sharedgridbattery_4th/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-mv__btnTxt {
	display: block;
	margin-bottom: min(0.8vw, 13px);
	font-size: min(1.4vw, 28px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--color_accent1);
	text-align: center;
}

@media only screen and (max-width: 1600px) {
	.p-mv__btnTxt {
		font-size: min(1.4vw, 20px);
	}
}

@media only screen and (max-width: 1400px) {
	.p-mv__btnTxt {
		font-size: min(1.2vw, 20px);
	}
}

.p-mv__btnInner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2.8vw;
	padding: min(9vw, 179px) min(4vw, 68px) min(2.2vw, 50px) min(4vw, 36px);
	background: rgba(255, 255, 255, 0.5);
	border-radius: 15px;
}

.p-mv__offer {
	position: absolute;
	top: -5vw;
	left: 50%;
	transform: translate(-50%, 0);
	width: 79%;
}

.p-mv__ttl {
	width: 71%;
	margin: 0 auto min(7.2vw, 84px);
}

@media only screen and (max-height: 1100px) {
	.p-mv__ttl {
		width: 84.74%;
		margin: 0 auto min(2.8vw, 84px);
	}
}

@media only screen and (max-width: 767px) {
	.p-mv__ttl {
		width: 100%;
		margin: 0 auto;
	}
}

.p-mv__btnImg {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 32%;
}

@media only screen and (max-width: 767px) {
	.p-mv__btnImg {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 29vw;
	}
}

.p-mv__spBtn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-image: url(../../images/sharedgridbattery_4th/spbtn-bg.svg);
	background-size: cover;
	background-position: center;
	background-size: cover;
	z-index: 1;
}

.p-mv__spLink {
	color: var(--color_bg);
	position: relative;
	display: block;
	padding: 2vw 12vw 2.6vw 3.8vw;
}

.p-mv__spNote {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2vw;
	font-size: 5.45vw;
	font-weight: 800;
	padding-right: 2vw;
	width: 70vw;
}

.p-mv__spNote:after {
	position: absolute;
	top: 50%;
	right: 6%;
	content: "";
	width: 3vw;
	height: 3vw;
	transform: translate(0, -50%);
	background-image: url(../../images/sharedgridbattery_4th/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-mv__spNote i {
	width: 8vw;
}

.p-mv__spSmall {
	font-size: 3vw;
}

.p-mv__contactBtn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: min(1.2vw, 20px) auto 0;
	width: 65%;
	padding: min(0.7vw, 12px) 20px;
	text-align: center;
	font-size: min(1.4vw, 20px);
	font-weight: 900;
	color: #fff;
	background-color: #215EB0;
	border-radius: 50px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.p-mv__contactBtn:hover {
	opacity: 0.8 !important;
	color: #fff;
}

.p-mv__contactBtn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 9%;
	width: min(0.6vw, 10px);
	height: min(0.6vw, 10px);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
	.p-mv__contactBtn {
		margin-top: 3vw;
		width: 85%;
		padding: 3.5vw 5vw;
		font-size: 3.8vw;
	}

	.p-mv__contactBtn::after {
		width: 2.2vw;
		height: 2.2vw;
		right: 8%;
	}
}

.l-property {
  padding: min(8vw, 106px) min(4vw, 40px) 0;
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .l-property {
    padding: 16vw 5.8vw 0;
  }
}

.p-property {
  max-width: 1200px;
  margin: 0 auto;
}

.p-property__ttl {
  font-size: min(3.6vw, 46px);
  font-weight: 800;
  text-align: center;
  color: #005BC1;
  margin-bottom: min(4vw, 40px);
}

@media only screen and (max-width: 767px) {
  .p-property__ttl {
    font-size: 6.8vw;
    margin-bottom: 8vw;
  }
}

.p-property__list {
  display: flex;
  justify-content: center;
  gap: min(2vw, 24px);
}

@media only screen and (max-width: 960px) {
  .p-property__list {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 767px) {
  .p-property__list {
    flex-direction: column;
    gap: 6vw;
  }
}

.p-property__item {
  width: calc((100% - min(4vw, 48px)) / 3);
  background: #F4F4F4;
  border-radius: 10px;
  padding: 10px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

@media only screen and (max-width: 960px) {
  .p-property__item {
    width: calc((100% - min(2vw, 24px)) / 2);
  }
}

@media only screen and (max-width: 767px) {
  .p-property__item {
    width: 100%;
    padding: 3vw;
  }
}

.p-property__link {
  display: block;
  text-decoration: none;
  color: inherit;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  height: 100%;
}

.p-property__link:hover {
  opacity: 1 !important;
}

.p-property__imgWrap {
  position: relative;
  width: 100%;
  aspect-ratio: 365 / 243;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .p-property__imgWrap figcaption {
    font-size: 3.2vw;
  }
}

.p-property__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 2;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* .p-property__link:hover .p-property__img {
  transform: scale(1.1);
} */

.p-property__body {
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .p-property__body {
    padding: 6vw 5vw 8vw;
  }
}

.p-property__metaArea {
  border-bottom: 1px solid #D3D3D3;
  margin-bottom: min(1.5vw, 10px);
  padding-bottom: min(1.5vw, 16px);
}

@media only screen and (max-width: 767px) {
  .p-property__metaArea {
    margin-bottom: 4vw;
    padding-bottom: 4vw;
  }
}

.p-property__metaArea_inr {
  display: flex;
  align-items: stretch;
	justify-content: center;
  padding: 0 4%;
}

.p-property__yieldArea {
  display: flex;
	justify-content: center;
  padding: 0 4%;
  border-bottom: 1px solid #D3D3D3;
  margin-bottom: min(1.5vw, 6px);
  padding-bottom: min(1.5vw, 16px);
}

@media only screen and (max-width: 767px) {
  .p-property__yieldArea {
    margin-bottom: 4vw;
    padding-bottom: 4vw;
  }
}

.p-property__area {
  font-size: min(1vw, 13px);
  color: #969696;
  font-weight: 500;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .p-property__area {
    font-size: 3vw;
  }
}

.p-property__name,
.p-property__yield:nth-child(1) {
  width: 30%;
  box-sizing: border-box;
  text-align: left;
}

@media only screen and (max-width: 767px) {
.p-property__name,
.p-property__yield:nth-child(1) {
    width: 40%;
  }
}

.p-property__name {
  font-size: min(1.6vw, 18px);
  font-weight: 900;
  line-height: 1.2;
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .p-property__name {
    font-size: 4.8vw;
  }
}

.p-property__priceArea,
.p-property__yield:nth-child(2) {
  width: 30%;
  padding-left: min(3vw, 15px);
  box-sizing: border-box;
  text-align: left;
}

@media only screen and (max-width: 767px) {
.p-property__priceArea,
.p-property__yield:nth-child(2) {
    width: 40%;
  }
}


@media only screen and (max-width: 767px) {
  .p-property__priceArea {
    padding-left: 4vw;
  }
  .p-property__yield:nth-child(2) {
    padding-left: 4vw;
  }
}

.p-property__label,
.p-property__yield dt {
  display: block;
  font-size: min(1.1vw, 13px);
  color: #969696;
  margin-bottom: min(0.4vw, 4px);
  font-weight: 500;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
  .p-property__label,
  .p-property__yield dt {
    font-size: 3vw;
    margin-bottom: 1vw;
  }
}

.p-property__price,
.p-property__yield dd {
  display: block;
  line-height: 1.2;
  font-weight: 700;
}

.p-property__price {
  font-size: min(2vw, 24px);
  color: #FF0000;
  word-break: keep-all;
}

.p-property__yield dd {
  font-size: min(1.8vw, 20px);
  color: #0ED743;
}

@media only screen and (max-width: 767px) {
  .p-property__price {
    font-size: 6vw;
  }
  .p-property__yield dd {
    font-size: 6vw;
  }
}

.l-achievement {
	padding: min(13vw, 129px) 0;
	background-image: url(../../images/sharedgridbattery_4th/achievement-bg.jpg);
	background-position: center;
	background-size: cover;
}

.p-achievement {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.p-achievement__head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(2vw, 32px);
}

@media only screen and (max-width: 767px) {
	.p-achievement__head {
		position: relative;
		margin-bottom: 3.8vw;
		padding: 0 8vw;
	}
}

.p-achievement__ttl {
	position: relative;
	padding: 0 min(8vw, 70px);
	font-size: min(3.2vw, 46px);
	line-height: 1.4;
	font-weight: 800;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-achievement__ttl {
		font-size: 5.8vw;
		padding: 0 6vw;
	}
}

/* .p-achievement__ttl:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: min(4vw, 84px);
	height: min(8vw, 158px);
	transform: translate(0, -50%);
	background: url(../../images/sharedgridbattery_4th/icon-deco-l.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
    .p-achievement__ttl:before {
    	width: 7vw;
    	height: 13vw;
    }
}

.p-achievement__ttl:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: min(4vw, 84px);
	height: min(8vw, 158px);
	transform: translate(0, -50%);
	background: url(../../images/sharedgridbattery_4th/icon-deco-r.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
    .p-achievement__ttl:after {
    	width: 7vw;
    	height: 13vw;
    }
} */

.p-achievement__ttl strong {
	/* color: var(--color_sub); */
	color: #FFFB00;
}

.p-achievement__cont {
	font-size: ;
	text-align: center;
}

.p-achievement__subttl {
	margin-bottom: min(1.2vw, 12px);
	font-size: min(2vw, 36px);
	font-weight: 700;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-achievement__subttl {
		margin-bottom: 1.2vw;
		font-size: 3.8vw;
	}
}

.p-achievement__unit {
	padding: 4px 20px 6px;
	font-size: min(3.2vw, 38px);
	color: var(--color_bg);
	background: var(--color_accent1);
	line-height: 1.4;
	border-radius: 6px;
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-achievement__unit {
		padding: 4px 16px 6px;
		font-size: 4.8vw
	}
}

.p-achievement__note {
	display: block;
	margin-top: min(1.2vw, 16px);
	font-size: min(1.8vw, 16px);
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-achievement__note {
		margin-top: 1.2vw;
		font-size: 3vw;
	}
}

.l-about {
	padding: min(10vw, 100px) min(4vw, 40px) min(6vw, 60px);
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.l-about {
		padding: 10vw 5.8vw 5.8vw;
	}
}


.p-about__head {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(5vw, 58px);
}

.p-about__ttl {
	font-size: min(3.2vw, 46px);
	line-height: 1.4;
	font-weight: 800;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-about__ttl {
		font-size: 6.2vw;
	}
}

.p-about__ttl strong {
	margin-right: 8px;
	padding: 0px 8px 1px;
	color: var(--color_main);
	background: #FFFB00;
	line-height: 1.2;
	display: inline-block;
}

.p-about__desc {
	margin-top: min(2.8vw, 32px);
	color: var(--color_bg);
	font-size: min(2vw, 24px);
}


@media only screen and (max-width: 767px) {
	.p-about__desc {
		margin: 5.8vw 0 4vw;
		font-size: 3.6vw;
	}
}

.p-about__img {
	width: 100%;
	margin: 0 auto;
}


@media only screen and (max-width: 767px) {
	.p-about__img {
		width: 68%;
		margin: 0 auto;
	}
}


.p-about__cont {
	max-width: 843px;
	margin: 0 auto;
}

.p-about__last {
	margin-top: min(1.2vw, 12px);
	font-size: min(2.2vw, 36px);
	text-align: center;
	color: #FFFB00;
	font-weight: 700;
	line-height: 1.1;
}

@media only screen and (max-width: 767px) {
	.p-about__last {
		margin-top: 2.8vw;
		font-size: 5.8vw;
	}
}

.p-about__last strong {
	font-size: min(4vw, 68px);
	font-family: "Afacad", sans-serif;
}

@media only screen and (max-width: 767px) {
	.p-about__last strong {
		font-size: 10.8vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-about__last span {
		margin-left: -2px;
	}
}

.p-about__last small {
	margin-left: -8px;
	font-size: min(2vw, 32px);
}

@media only screen and (max-width: 767px) {
	.p-about__last small {
		margin-left: -10px;
		font-size: 4.8vw;
	}
}

.l-need {
	padding: min(14vw, 140px) min(4vw, 40px);
}

@media only screen and (max-width: 767px) {
	.l-need {
		padding: 10vw 5.8vw;
	}
}

.p-need__accord {
	max-width: 1200px;
	margin: 0 auto;
	/*padding: min(4vw,58px) min(4vw,58px);*/
	background: #FFF8E6;
	border-radius: 10px;
}

@media only screen and (max-width: 767px) {
	.p-need__accord {
		/*padding: 8vw 4.4vw 7.8vw;*/
	}
}

.p-need__accordTtl {
	position: relative;
	text-align: center;
	cursor: pointer;
	padding: min(4vw, 58px) min(4vw, 58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl {
		padding: 8vw 4.4vw 7.8vw;
	}
}

.p-need__accordTtl:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 60px;
	content: "";
	width: min(3.2vw, 44px);
	height: min(3.2vw, 44px);
	background-image: url(../../images/sharedgridbattery_4th/icon-plus.svg);
	background-size: 100%;
	transform: translate(0, -50%);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl:after {
		right: 5vw;
		width: 6vw;
		height: 6vw;
	}
}

.p-need__accordTtl.is-active:after {
	width: min(3.2vw, 44px);
	height: min(3.2vw, 44px);
	background-image: url(../../images/sharedgridbattery_4th/icon-minus.svg);
	background-size: 100%;
	transform: translate(0, -50%);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl.is-active:after {
		width: 6vw;
		height: 6vw;
	}
}

.p-need__accordTtl span {
	font-size: min(3.2vw, 34px);
	font-weight: 800;
	text-align: center;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl span {
		font-size: 4.8vw;
	}
}

.p-need__accordCont {
	display: none;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding: 0 min(4vw, 58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordCont {
		padding: 0 5.4vw;
	}
}

.p-need__accordTtl.is-active+.p-need__accordCont {
	padding-bottom: min(4vw, 58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl.is-active+.p-need__accordCont {
		padding-bottom: 4.4vw;
	}
}

.p-need__accordDesc {
	padding-top: 0;
	text-align: center;
	font-size: min(1.8vw, 20px);
	line-height: 1.6;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-need__accordDesc {
		padding-top: 0;
		font-size: 3.4vw;
	}
}

.p-need__accordDesc span {
	color: var(--color_accent1);
	font-weight: 700;
}

.p-need__accordList {
	display: flex;
	gap: min(2.2vw, 28px);
	margin-top: min(5.8vw, 40px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordList {
		flex-direction: column;
		gap: 3.8vw;
	}
}

.p-need__power {
	width: 50%;
	padding: min(2vw, 28px);
	background: var(--color_bg);
	border-radius: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__power {
		width: 100%;
		padding: 3.8vw 3.8vw 5.8vw;
	}
}

.p-need__powerTtl {
	padding: min(1.2vw, 8px) min(2vw, 20px);
	text-align: center;
	font-size: min(2vw, 26px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--color_bg);
	border-radius: 6px;
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-need__powerTtl {
		padding: 2vw 2.8vw;
		font-size: 4.4vw;
		border-radius: 4px;
	}
}

.p-need__powerList {
	display: flex;
	justify-content: center;
	gap: min(2vw, 20px);
	justify-content: center;
	margin: min(4vw, 70px) 0px min(2.8vw, 40px);
}

@media only screen and (max-width: 767px) {
	.p-need__powerList {
		margin: 5.8vw 0px 3.8vw;
	}
}

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

.p-need__powerList.is-2column {}

.p-need__powerList.is-2column .p-need__powerItem {
	width: 50%;
	margin: 0 auto 12px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-need__powerList.is-2column .p-need__powerItem {
		margin: 0 auto;
	}
}

.p-need__powerTxt {
	font-size: min(1.2vw, 16px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-need__powerTxt {
		font-size: 3.6vw;
	}
}

.p-need__powerIcon {
	display: block;
	width: min(12vw, 107px);
	margin: 0 auto 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerIcon {
		width: 63%;
		margin: 0 auto;
	}
}

.p-need__powerList.is-3column .p-need__powerItem {
	width: 30%;
	margin: 0 auto 12px;
}

.p-need__powerCat {
	display: flex;
	gap: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerCat {
		flex-direction: column;
		gap: 5.8vw;
	}
}

.p-need__powerItem {
	width: 50%;
}

@media only screen and (max-width: 767px) {
	.p-need__powerItem {
		width: 100%;
	}
}

.p-need__powerSubttl {
	display: block;
	margin-bottom: min(1.2vw, 12px);
	padding: min(0.4vw, 8px) min(1.2vw, 20px);
	font-size: min(1.2vw, 16px);
	color: var(--color_bg);
	background: var(--color_main);
	font-weight: 700;
	border-radius: 50px;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.p-need__powerSubttl {
		margin-bottom: 2.8vw;
		padding: 2vw 2.8vw;
		font-size: 4vw;
		line-height: 1.1;
	}
}

.p-need__powerSubttl.is-point {
	background: var(--color_main2);
}

.p-need__powerInner {
	padding: 0 8px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerInner {
		padding: 0 2vw;
	}
}

.p-need__powerReason {
	display: flex;
	align-items: center;
	gap: min(0.4vw, 4px);
	font-size: min(1.2vw, 16px);
	font-weight: 500;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.p-need__powerReason {
		gap: 1.2vw;
		font-size: 3.6vw;
	}
}

.p-need__powerReason img {
	width: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerReason img {
		width: 4vw;
	}
}

.p-need__powerCatch {
	margin: min(3.8vw, 32px) 0;
	font-size: min(2vw, 26px);
	font-weight: 600;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-need__powerCatch {
		margin: 5.8vw 0 3.2vw;
		font-size: 4.4vw;
		line-height: 2;
	}
}

.p-need__powerCatch strong {
	margin-left: 4px;
	padding: 0 min(0.8vw, 10px);
	color: var(--color_bg);
	background: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-need__powerCatch strong {
		padding: 4px 12px;
	}
}

.p-need__powerArrow {
	display: block;
	max-width: 34px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.p-need__powerArrow {
		width: 5.2vw;
	}
}

.p-battery {
	display: flex;
	align-items: center;
	gap: min(6vw, 68px);
	width: 100%;
	margin-top: min(4.8vw, 40px);
	padding: min(2.8vw, 28px) min(12vw, 120px);
	background-image: url(../../images/sharedgridbattery_4th/accord-bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 16px;
	color: var(--color_bg);
	margin-bottom: 56px;
}

@media only screen and (max-width: 960px) {
	.p-battery {
		padding: min(2.8vw, 28px) min(5vw, 120px);
		margin-bottom: 20px;
	}
}


@media only screen and (max-width: 767px) {
	.p-battery {
		flex-direction: column;
		padding: 8vw 6.8vw 6.8vw;
		background-image: url(../../images/sharedgridbattery_4th/accord-bg-sp.svg);
		background-repeat: no-repeat;
		background-size: cover;
	}
}

.p-battery__name {
	display: inline-block;
	position: relative;
	padding: 0 6px 12px;
	font-size: min(3.2vw, 48px);
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	.p-battery__name {
		font-size: 9.8vw;
		padding: 0 2px 12px;
	}
}

.p-battery__name:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	background: var(--color_accent2);
}

@media only screen and (max-width: 767px) {
	.p-battery__name:after {
		height: 1.8vw;
		height: 6px;
	}
}

.p-battery__txt {
	width: 40%;
}

@media only screen and (max-width: 767px) {
	.p-battery__txt {
		width: 100%;
		text-align: center;
	}
}

.p-battery__img {
	width: 60%;
}

@media only screen and (max-width: 767px) {
	.p-battery__img {
		width: 100%;
	}
}

.p-battery__list {
	margin-top: 48px;
}

@media only screen and (max-width: 767px) {
	.p-battery__list {
		margin-top: 5.8vw;
	}
}

.p-battery__list li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: min(2vw, 24px);
}

@media only screen and (max-width: 767px) {
	.p-battery__list li {
		margin-bottom: 1.2vw;
		font-size: 4.4vw;
	}
}

.p-battery__list li img {
	display: block;
	width: 24px;
}

@media only screen and (max-width: 767px) {
	.p-battery__list li img {
		width: 5.8vw;
	}
}

.p-youbute {
	max-width: 900px;
}

@media only screen and (max-width: 767px) {
	.p-youbute {
		max-width: none;
	}
}

.l-revenue {
	padding: min(10vw, 120px) min(4vw, 40px) min(10vw, 100px);
	background-color: #EEF8FF;
}

@media only screen and (max-width: 767px) {
	.l-revenue {
		padding: 10vw 5.8vw;
	}
}

.p-revenue__ttl {
	margin-bottom: min(4.8vw, 60px);
	font-size: min(3.2vw, 46px);
	font-weight: 800;
	text-align: center;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl {
		font-size: 6.8vw;
	}
}

.p-revenue__ttl span {
	position: relative;
	padding-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl span {
		display: inline-block;
		padding-bottom: 2.8vw;
		line-height: 1.2;
	}
}

.p-revenue__ttl span:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	width: 100%;
	height: 6px;
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl span:after {
		height: 1.2vw;
	}
}

.p-revenue__desc {
	font-size: min(2vw, 24px);
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
}

@media only screen and (max-width: 767px) {
	.p-revenue__desc {
		font-size: 3.6vw;
		margin: 8vw 0;
		line-height: 1.6;
	}
}

.p-revenue__desc strong {
	font-size: min(2.4vw, 30px);
	text-align: center;
	font-weight: 700;
	color: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-revenue__desc strong {
		font-size: 4.4vw;
		font-weight: 700;
	}
}

.p-revenue__img {
	max-width: 1200px;
	margin: min(5vw, 58px) auto min(5.8vw, 60px);
	padding: min(5vw, 50px) min(12vw, 120px) min(5.8vw, 60px);
	text-align: center;
	background-color: var(--color_bg);
	border-radius: 16px;
}

@media only screen and (max-width: 767px) {
	.p-revenue__img {
		margin: 5.8vw auto;
		padding: 8vw 5.8vw;
	}
}

.p-revenue__img img {
	max-width: 944px;
}

.p-revenue__catch {
	font-size: min(2vw, 24px);
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch {
		font-size: 4vw;
		line-height: 1.8;
	}
}

.p-revenue__catch span {
	font-size: min(2.2vw, 28px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch span {
		font-size: 4.2vw;
	}
}

.p-revenue__catch strong {
	font-size: min(2.4vw, 30px);
	font-weight: 700;
	color: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch strong {
		font-size: 4.4vw;
	}
}

.p-revenue__bg {
	padding: 0 6px;
	line-height: 1.8;
	background: #FFFB00;
}

.p-revenue__last {
	font-size: min(2vw, 24px);
	font-weight: 500;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-revenue__last {
		font-size: 4vw;
	}
}

.p-revenue__last strong {
	font-weight: 800;
}

.p-revenue__last strong b {
	color: var(--color_accent1);
	font-size: min(2.4vw, 30px);
}

@media only screen and (max-width: 767px) {
	.p-revenue__last strong b {
		font-size: 4.4vw;
	}
}

.l-point {
	padding: min(13vw, 130px) min(4vw, 40px) min(13vw, 136px);
}

@media only screen and (max-width: 767px) {
	.l-point {
		padding: 10vw 5.8vw 0;
	}
}

.p-point__ttl {
	margin-bottom: min(5.8vw, 78px);
	font-size: min(3.2vw, 36px);
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-point__ttl {
		line-height: 1.7;
	}
}

.p-point__ttl small {
	display: block;
	font-size: min(3.2vw, 36px);
	font-weight: 800;
}

@media only screen and (max-width: 767px) {
	.p-point__ttl small {
		font-size: 4vw
	}
}

.p-point__ttl strong {
	font-size: min(4vw, 50px);
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-point__ttl strong {
		font-size: 5.8vw;
	}
}

.p-point__item {
	margin-bottom: min(3.4vw, 34px);
	padding: min(3.2vw, 36px) min(3.8vw, 42px);
	border-radius: 12px;
	background: #EEF8FF;
}

@media only screen and (max-width: 767px) {
	.p-point__item {
		margin-bottom: 4.4vw;
		padding: 5.8vw 5.4vw;
	}
}

.p-point__cont {
	max-width: 1027px;
	margin: 0 auto;
}

.p-point__dt {
	display: flex;
	align-items: center;
	gap: min(2.8vw, 28px);
	padding-bottom: min(2.8vw, 28px);
	border-bottom: 1px solid #8F8F8F;
	font-size: min(3vw, 30px);
	font-weight: 500;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-point__dt {
		flex-direction: column;
		gap: 3.8vw;
		font-size: 5.8vw;
		line-height: 1.4;
		padding-bottom: 5.8vw;
		text-align: center;
	}
}

.p-point__dt span {
	font-weight: 700;
}

.p-point__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0px;
	width: min(7vw, 80px);
	height: min(7vw, 80px);
	color: var(--color_bg);
	background: var(--color_main2);
	border-radius: 80px;
	font-family: "Afacad", sans-serif;
}

@media only screen and (max-width: 767px) {
	.p-point__icon {
		width: 14.2vw;
		height: 14.2vw;
		border-radius: 14.2vw;
	}
}

.p-point__icon small {
	display: block;
	font-size: min(1.2vw, 16px);
	text-align: center;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.p-point__icon small {
		font-size: 3.2vw;
	}
}

.p-point__icon strong {
	display: block;
	font-size: min(2.4vw, 34px);
	text-align: center;
	line-height: 0.8;
}

@media only screen and (max-width: 767px) {
	.p-point__icon strong {
		font-size: 6.8vw;
		line-height: 0.8;
	}
}

.p-point__dd {
	padding: min(3vw, 34px) 0 0;
}

@media only screen and (max-width: 767px) {
	.p-point__dd {
		padding: 5.8vw 0 0;
	}
}

.p-point__dd h5 {
	margin-bottom: min(2.4vw, 24px);
	font-size: min(1.9vw, 22px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-point__dd h5 {
		margin-bottom: 5.8vw;
		font-size: 4.4vw;
	}
}

.p-point__dd p {
	font-size: min(1.4vw, 18px);
}

@media only screen and (max-width: 767px) {
	.p-point__dd p {
		font-size: 4vw;
	}
}

.p-point__last {
	margin: min(8vw, 80px) 0 min(10vw, 100px);
	font-size: min(2.6vw, 30px);
	font-weight: 700;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-point__last {
		margin: 5.8vw 0 8vw;
		font-size: 4.4vw;
	}
}

.p-point__last strong {
	font-weight: 800;
}

.p-point__last strong b {
	color: var(--color_accent1);
	font-size: min(2.8vw, 36px);
}

@media only screen and (max-width: 767px) {
	.p-point__last strong b {
		font-size: 4.8vw;
	}
}

.c-cv__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px min(3vw, 30px) 26px;
	background-image: url(../../images/sharedgridbattery_4th/btn-bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	max-width: 1200px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.c-cv__btn {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		font-size: 4.4vw;
		padding: 5vw 5.8vw;
		background-image: url(../../images/sharedgridbattery_4th/btn-bg-sp.svg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		border-radius: 0;
	}
}

.c-cv__inner {
	position: relative;
	display: flex;
	gap: 12px;
	padding-right: 23%;
}

@media only screen and (max-width: 767px) {
	.c-cv__inner {
		width: 100%;
		padding-right: 20%;
	}
}

.c-cv__left {
	width: ;
}

@media only screen and (max-width: 767px) {
	.c-cv__left {
		width: 93%;
	}
}

.c-cv__ttl {
	margin-bottom: min(0.8vw, 12px);
	font-size: min(2vw, 26px);
	color: var(--color_bg);
	font-weight: 700;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.c-cv__ttl {
		margin-bottom: 2vw;
		font-size: 3.7vw;
		line-height: 1.4;
		text-align: center;
		letter-spacing: -0.001em;
	}
}

.c-cv__submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	max-width: min(100%, 533px);
	width: min(37vw, 533px);
	padding: min(1.6vw, 24px) 20px;
	color: var(--color_accent1);
	font-size: min(2vw, 28px);
	font-weight: 700;
	background: var(--color_bg);
	border-radius: 50px;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit {
		padding: 3vw 1vw 3.2vw;
		font-size: 4.2vw;
		gap: 1.8vw;
		width: 100%;
	}
}

.c-cv__submit i {
	display: block;
	max-width: min(3.2vw, 42px);
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit i {
		max-width: 6.8vw;
	}
}

.c-cv__submit:after {
	position: absolute;
	top: 50%;
	right: 7%;
	content: "";
	width: min(1.3vw, 26px);
	height: min(1.3vw, 26px);
	transform: translate(0, -50%);
	background-image: url(../../images/sharedgridbattery_4th/icon-arrow-orange.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit:after {
		width: 3.4vw;
		height: 3.4vw;
	}
}

.c-cv__right {
	position: absolute;
	bottom: -26px;
	right: -20px;
	width: 38%;
}

@media only screen and (max-width: 767px) {
	.c-cv__right {
		bottom: -5vw;
		right: -12vw;
		width: 38%;
	}
}

.l-epc {
	padding: min(10vw, 120px) min(4vw, 40px) min(10vw, 120px);
	background-color: #EEF8FF;
}

@media only screen and (max-width: 767px) {
	.l-epc {
		padding: 10vw 5.8vw;
	}
}

.p-epc {
	max-width: 1200px;
	margin: 0 auto;
}

.p-epc__head {
	margin-bottom: min(5.8vw, 98px);
}

.p-epc__ttl {
	font-size: min(3.2vw, 36px);
	font-weight: 900;
	line-height: 1.5;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-epc__ttl {
		font-size: 5vw;
	}
}

.p-epc__intro {
	display: flex;
	gap: min(4vw, 40px);
	margin-bottom: min(8vw, 100px);
	align-items: flex-start;
}

@media only screen and (max-width: 767px) {
	.p-epc__intro {
		flex-direction: column;
		gap: 5.8vw;
		margin-bottom: 10vw;
	}
}

.p-epc__introImg {
	width: 50%;
}

@media only screen and (max-width: 767px) {
	.p-epc__introImg {
		width: 100%;
	}
}

.p-epc__introImg img {
	width: 100%;
	height: auto;
}

.p-epc__introTxt {
	width: 50%;
	font-size: min(1.4vw, 18px);
	line-height: 1.88;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-epc__introTxt {
		width: 100%;
		font-size: 3.8vw;
	}
}

.p-epc__introTxt p {
	margin-bottom: min(2vw, 30px);
	line-height: 1.88;
}

.p-epc__introTxt p:last-child {
	margin-bottom: 0;
}

.t-orange {
	color: #EF8200;
	border-bottom: 1px solid #EF8200;
}

.t-orange.large {
	font-size: min(2vw, 20px);
}

@media only screen and (max-width: 767px) {
	.t-orange.large {
		font-size: 4vw;
	}
}

.p-epc__block {
	margin-bottom: min(6vw, 80px);
}

@media only screen and (max-width: 767px) {
	.p-epc__block {
		margin-bottom: 10vw;
	}
}

.p-epc__block:last-of-type {
	margin-bottom: 0;
}

.p-epc__bandTtl {
	background-color: #005BC1;
	/* 指定いただいた青色 */
	color: #fff;
	font-size: min(1.6vw, 24px);
	font-weight: 700;
	padding: min(1.5vw, 16px) min(2vw, 24px);
	margin-bottom: min(3vw, 40px);
	border-radius: 4px;
}

@media only screen and (max-width: 767px) {
	.p-epc__bandTtl {
		font-size: 4.4vw;
		padding: 3vw 4vw;
		margin-bottom: 5vw;
	}
}

.p-epc__bandTtl small {
	font-size: 0.8em;
	font-weight: normal;
	margin-left: 10px;
}

.p-epc__lead {
	font-size: min(1.4vw, 18px);
	font-weight: 500;
	margin-bottom: min(4vw, 60px);
}

@media only screen and (max-width: 767px) {
	.p-epc__lead {
		font-size: 3.8vw;
		margin-bottom: 5vw;
	}
}

.p-epc__cardList {
	display: flex;
	gap: min(3vw, 40px);
	margin-bottom: min(4vw, 54px);
}

@media only screen and (max-width: 767px) {
	.p-epc__cardList {
		flex-direction: column;
		gap: 4vw;
		margin-bottom: 6vw;
	}
}

.p-epc__cardList.is-3col .p-epc__cardItem {
	width: calc((100% - min(4vw, 40px)) / 3);
}

@media only screen and (max-width: 767px) {
	.p-epc__cardList.is-3col .p-epc__cardItem {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {

	.p-epc__cardList.is-4col {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

.p-epc__cardList.is-4col .p-epc__cardItem .p-epc__cardTxt {
	font-size: min(2.4vw, 22px);
}

@media only screen and (max-width: 767px) {
	.p-epc__cardList.is-4col .p-epc__cardItem .p-epc__cardTxt {
		font-size: 4vw;
	}
}

.p-epc__cardList.is-4col .p-epc__cardItem .p-epc__cardIcon {
	margin-bottom: min(4vw, 58px);
}

/* @media only screen and (max-width: 767px) {
	.p-epc__cardList.is-4col .p-epc__cardItem .p-epc__cardTxt {
		margin-bottom: 4vw;
	}
} */

.p-epc__cardItem {
	background: #fff;
	padding: min(3vw, 46px) min(2vw, 20px) min(3vw, 30px) min(2vw, 20px);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	flex: 1;
}

@media only screen and (max-width: 767px) {
	.p-epc__cardItem {
		padding: 6vw 4vw 5.5vw;
		aspect-ratio: auto;
	}
}

.p-epc__cardIcon {
	display: block;
	margin-bottom: min(5vw, 80px);
}

@media only screen and (max-width: 767px) {
	.p-epc__cardIcon {
		height: 12vw;
		margin-bottom: 4vw;
	}
}

.p-epc__cardIcon img {
	height: 100%;
	width: auto;
}

.p-epc__cardTxt {
	color: #005BC1;
	font-weight: 700;
	font-size: min(2.4vw, 28px);
}

@media only screen and (max-width: 767px) {
	.p-epc__cardTxt {
		font-size: 4vw;
	}
}

.p-epc__text {
	font-size: min(1.4vw, 18px);
	line-height: 1.88;
	font-weight: 500;
	margin-bottom: min(2vw, 32px);
}

.p-epc__text:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.p-epc__text {
		font-size: 3.8vw;
		margin-bottom: 4vw;
	}
}

.p-epc__list {
	margin-bottom: min(2vw, 32px);
}

@media only screen and (max-width: 767px) {
	.p-epc__list {
		margin-bottom: 4vw;
	}
}

.p-epc__list li {
	font-size: min(1.4vw, 18px);
	line-height: 1.8;
	font-weight: 500;
	position: relative;
	padding-left: 1.2em;
}

@media only screen and (max-width: 767px) {
	.p-epc__list li {
		font-size: 3.8vw;
	}
}

.p-epc__list li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

.p-epc__btnArea {
	margin-top: min(5vw, 82px);
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-epc__btnArea {
		margin-top: 8vw;
	}
}

.p-epc__submit {
	display: inline-flex;
	align-items: center;
	background-color: #00AEDE;
	color: #fff;
	font-size: min(1.6vw, 24px);
	font-weight: 700;
	padding: min(2vw, 28px) min(6vw, 60px);
	border-radius: 50px;
	position: relative;
	transition: opacity 0.3s;
	width: 100%;
	max-width: 576px;
}

@media only screen and (max-width: 767px) {
	.p-epc__submit {
		font-size: 3.8vw;
		padding: 4vw 8vw;
		width: 100%;
	}
}

.p-epc__submit:hover {
	opacity: 0.8;
}

.p-epc__submit::after {
	content: "";
	position: absolute;
	right: min(4vw, 45px);
	top: 50%;
	transform: translateY(-50%);
	width: min(2vw, 18px);
	height: min(2vw, 18px);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
	.p-epc__submit::after {
		right: 6vw;
		width: 2.5vw;
		height: 2.5vw;
	}
}

.margin_none {
	margin: 0;
}

.l-merit {
	padding: min(12vw, 120px) min(4vw, 40px) min(10vw, 110px);
	background: #FFF8E6;
}

@media only screen and (max-width: 767px) {
	.l-merit {
		padding: 10vw 5.8vw 10vw;
	}
}

.p-merit__head {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(5vw, 50px);
}

@media only screen and (max-width: 767px) {
	.p-merit__head {
		margin-bottom: 8vw;
	}
}

.p-merit__ttl {
	margin-bottom: min(4vw, 40px);
	font-size: min(3.2vw, 36px);
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-merit__ttl {
		margin-bottom: 3.8vw;
		font-size: 6vw;
	}
}

.p-merit__icon {
	display: block;
	max-width: min(5vw, 114px);
	margin: 0 auto 20px;
}

@media only screen and (max-width: 767px) {
	.p-merit__icon {
		max-width: 18vw;
		margin: 0 auto 5.8vw;
	}
}

.p-merit__desc {
	text-align: center;
	font-weight: 500;
	font-size: min(1.8vw, 20px);
}

@media only screen and (max-width: 767px) {
	.p-merit__desc {
		font-size: 3.8vw;
		line-height: 1.8;
	}
}

.p-merit__list {
	max-width: 1200px;
	margin: 0 auto;
}

.p-merit__item {
	padding: min(5.8vw, 58px) min(5.8vw, 58px);
	border-bottom: 1px solid #d3d3d3;
}

@media only screen and (max-width: 767px) {
	.p-merit__item {
		padding: 8vw 0;
	}
}

.p-merit__item:last-child {
	padding: min(4vw, 40px) min(5.8vw, 58px) 0;
	border: 0;
}

@media only screen and (max-width: 767px) {
	.p-merit__item:last-child {
		padding: 8vw 0 0;
		border: 0;
	}
}

.p-merit__dl {
	display: flex;
	align-items: center;
	gap: min(5vw, 50px);
	max-width: 960px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.p-merit__dl {
		flex-direction: column;
		padding: 0;
		gap: 8vw;
	}
}

.p-merit__itemIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 135px;
	height: 135px;
	border-radius: 135px;
	background-color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-merit__itemIcon {
		margin: 0 auto;
		width: 30vw;
		height: 30vw;
		border-radius: 30vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-merit__dt {
		margin: 0 auto;
	}
}

.p-merit__itemIcon img {
	width: 90px;
}

@media only screen and (max-width: 767px) {
	.p-merit__itemIcon img {
		width: 70%;
	}
}

.p-merit__dd h5 {
	margin-bottom: min(1.6vw, 20px);
	font-size: min(2.4vw, 30px);
	font-weight: 700;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.p-merit__dd h5 {
		margin-bottom: 3.8vw;
		font-size: 6.2vw;
	}
}

.p-merit__dd h5 strong {
	color: var(--color_accent1);
}

.p-merit__dd p {
	font-size: min(1.4vw, 18px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-merit__dd p {
		font-size: 3.8vw;
		line-height: 1.8;
	}
}

.p-merit__last {
	margin: min(8vw, 80px) 0 min(8vw, 80px);
	font-size: min(2.4vw, 30px);
	font-weight: 700;
	text-align: center;
	line-height: 1.8;
}

@media only screen and (max-width: 767px) {
	.p-merit__last {
		margin: 5.8vw 0 8vw;
		font-size: 4.8vw;
		text-align: left;
	}
}

.p-merit__last strong {
	font-weight: 800;
}

.p-merit__last strong b {
	color: var(--color_accent1);
	font-size: min(2.4vw, 30px);
}

@media only screen and (max-width: 767px) {
	.p-merit__last strong b {
		font-size: 5vw;
	}
}

.l-contact {
	padding: min(10vw, 120px) min(4vw, 40px) min(10vw, 118px);
	background-color: #fff;
}

@media only screen and (max-width: 767px) {
	.l-contact {
		padding: 10vw 5.8vw;
	}
}

.p-contact {
	max-width: 1000px;
	margin: 0 auto;
}

.p-contact__head {
	margin-bottom: min(4vw, 36px);
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-contact__head {
		margin-bottom: 8vw;
	}
}

.p-contact__ttl {
	color: #005BC1;
	font-size: min(3.6vw, 50px);
	font-weight: 800;
	margin-bottom: min(4vw, 52px);
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.p-contact__ttl {
		font-size: 6.8vw;
		margin-bottom: 4vw;
	}
}

.p-contact__lead {
	font-size: min(1.4vw, 18px);
	font-weight: 500;
	line-height: 1.88;
}

@media only screen and (max-width: 767px) {
	.p-contact__lead {
		font-size: 3.6vw;
	}
}

.p-contact__note {
	font-size: min(1.4vw, 18px);
	display: block;
	font-weight: 500;
	line-height: 1.88;
}

@media only screen and (max-width: 767px) {
	.p-contact__note {
		font-size: 3.6vw;
	}
}

.p-contact__box {
	background-color: #F5F5F5;
	padding: min(8vw, 74px) min(8vw, 80px) min(8vw, 80px);
	border-radius: 10px;
	max-width: 802px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.p-contact__box {
		padding: 8vw 5vw;
	}
}

.p-contact__item {
	margin-bottom: min(3vw, 34px);
}

@media only screen and (max-width: 767px) {
	.p-contact__item {
		margin-bottom: 6vw;
	}
}

.p-contact__label {
	display: block;
	font-size: min(1.3vw, 16px);
	font-weight: 700;
	margin-bottom: 10px;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.p-contact__label {
		font-size: 3.6vw;
	}
}

.p-contact__req {
	margin-left: 2px;
}

.p-contact__inputs.is-radio {
	display: flex;
	gap: min(3vw, 30px);
	flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
	.p-contact__inputs.is-radio {
		gap: 4vw;
	}
}

.p-contact__radio {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: min(3vw, 30px);
	flex-wrap: wrap;
}

.p-contact__radio input[type="radio"] {
	display: none;
}

.p-contact__radio .wpcf7-list-item {
	margin: initial;
}

.p-contact__radio .wpcf7-list-item-label {
	position: relative;
	padding-left: 36px;
	font-size: min(1.3vw, 16px);
}

@media only screen and (max-width: 767px) {
	.p-contact__radio .wpcf7-list-item-label {
		font-size: 3.6vw;
		padding-left: 6vw;
	}
}

.p-contact__radio .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background-color: #fff;
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
	.p-contact__radio .wpcf7-list-item-label::before {
		width: 4.5vw;
		height: 4.5vw;
	}
}

.p-contact__radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #222;
}

@media only screen and (max-width: 767px) {
	.p-contact__radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
		left: 1.25vw;
		width: 2vw;
		height: 2vw;
	}
}

/* .p-contact__radioTxt {
	position: relative;
	padding-left: 36px;
	font-size: min(1.3vw, 16px);
}

@media only screen and (max-width: 767px) {
	.p-contact__radioTxt {
		font-size: 3.6vw;
		padding-left: 6vw;
	}
}

.p-contact__radioTxt::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background-color: #fff;
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
	.p-contact__radioTxt::before {
		width: 4.5vw;
		height: 4.5vw;
	}
}

.p-contact__radio input[type="radio"]:checked+.p-contact__radioTxt::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #222;
}

@media only screen and (max-width: 767px) {
	.p-contact__radio input[type="radio"]:checked+.p-contact__radioTxt::after {
		left: 1.25vw;
		width: 2vw;
		height: 2vw;
	}
} */

.p-contact__input,
.p-contact__textarea {
	width: 100%;
	padding: 11px 16px;
	border: 1px solid #D4D4D4;
	border-radius: 5px;
	background-color: #fff;
	font-size: min(1.4vw, 16px);
	font-family: inherit;
	box-sizing: border-box;
	transition: border-color 0.3s;
}

.p-contact__input::placeholder,
.p-contact__textarea::placeholder {
	color: #969696;
}

.p-contact__input:focus,
.p-contact__textarea:focus {
	outline: none;
	border-color: #005BC1;
}

@media only screen and (max-width: 767px) {

	.p-contact__input,
	.p-contact__textarea {
		padding: 3.5vw 4vw;
		font-size: 16px;
	}
}

.p-contact__textarea {
	height: 260px;
	resize: none;
}

@media only screen and (max-width: 767px) {
	.p-contact__textarea {
		height: 40vw;
	}
}

.p-contact__privacy {
	text-align: center;
	margin-top: min(4vw, 28px);
	margin-bottom: min(3vw, 34px);
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy {
		margin-top: 8vw;
		margin-bottom: 6vw;
	}
}

.p-contact__check {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}

.p-contact__check input[type="checkbox"] {
	margin-right: 8px;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

@media only screen and (max-width: 767px) {
	.p-contact__check input[type="checkbox"] {
		width: 4.5vw;
		height: 4.5vw;
		margin-right: 2vw;
	}
}

.p-contact__privacy .wpcf7-list-item-label {
	font-size: min(1.3vw, 14px);
	/* font-weight: 500; */
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy .wpcf7-list-item-label {
		font-size: 3.6vw;
	}
}

.p-contact__privacy .wpcf7-list-item-label a {
	text-decoration: underline;
}

.p-contact__privacy .wpcf7-list-item-label a:hover {
	text-decoration: none;
}

.p-contact__privacy {
	text-align: center;
	margin-top: min(4vw, 36px);
	margin-bottom: min(3vw, 34px);
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy {
		margin-top: 8vw;
		margin-bottom: 6vw;
	}
}

.p-contact__check {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}

/* .p-contact__check input[type="checkbox"] {
	display: none;
} */

/* .p-contact__check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
} */

.p-contact__privacy .wpcf7-list-item-label {
	position: relative;
	padding-left: 28px;
	font-size: min(1.3vw, 16px);
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy .wpcf7-list-item-label {
		padding-left: 8vw;
		font-size: 3.6vw;
	}
}

.p-contact__privacy .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 51%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border: 1px solid #D4D4D4;
	border-radius: 4px;
	background-color: #fff;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy .wpcf7-list-item-label::before {
		width: 5.5vw;
		height: 5.5vw;
	}
}

.p-contact__privacy .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	width: 5px;
	height: 10px;
	border-right: 2px solid #005BC1;
	border-bottom: 2px solid #005BC1;
	transform: translateY(-60%) rotate(45deg);
	opacity: 0;
	transition: opacity 0.2s ease;
}

@media only screen and (max-width: 767px) {
	.p-contact__privacy .wpcf7-list-item-label::after {
		left: 2vw;
		width: 1.5vw;
		height: 2.8vw;
	}
}

/* ✅ ~ （兄弟結合子）を使う */
.p-contact__privacy input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
  opacity: 1;
}

.p-contact__privacy input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {
  border-color: #005BC1;
}


/* .p-contact__check input[type="checkbox"]:checked+.p-contact__privacy .wpcf7-list-item-label::after {
	opacity: 1;
} */

/* .p-contact__check input[type="checkbox"]:checked+.p-contact__privacy .wpcf7-list-item-label::before {
	border-color: #005BC1;
} */

.p-contact__privacy .wpcf7-list-item-label a {
	text-decoration: underline;
	color: #222;
	transition: opacity 0.3s;
}

.p-contact__privacy .wpcf7-list-item-label a:hover {
	opacity: 0.7;
}

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

.p-contact__submitArea .wpcf7-spinner {
	display: none;
}

.p-contact__submit {
	background-color: #005BC1;
	color: #fff;
	border: none;
	padding: 18px 40px;
	font-size: min(1.4vw, 15px);
	font-weight: 700;
	border-radius: 5px;
	cursor: pointer;
	width: 100%;
	max-width: 207px;
	transition: opacity 0.3s;
}

@media only screen and (max-width: 767px) {
	.p-contact__submit {
		font-size: 4.2vw;
		padding: 4vw;
		max-width: 100%;
	}
}

.p-contact__submit:hover {
	opacity: 0.8;
}

.l-footer {
	border-top: 1px solid #CCCCCC;
	padding: min(10vw, 62px) min(5vw, 74px) min(8.5vw, 69px) min(4vw, 67px);
}

@media only screen and (max-width: 767px) {
	.l-footer {
		padding: 12vw 5.8vw 8.5vw;
	}
}

.p-footer__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(4vw, 40px);
}

@media only screen and (max-width: 767px) {
	.p-footer__top {
		flex-direction: column;
		gap: 4vw;
	}
}

.p-footer__btm {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

@media only screen and (max-width: 960px) {
	.p-footer__btm {
		flex-direction: column;
		gap: 4vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-footer__btm {
		flex-direction: column;
	}
}

.p-footer__left {
	display: flex;
	align-items: flex-end;
	gap: min(5vw, 60px);
}

@media only screen and (max-width: 767px) {
	.p-footer__left {
		flex-direction: column;
		align-items: center;
		gap: 8.8vw;
	}
}

.p-footer__logo {
	display: block;
	width: min(19vw, 316px);
}

@media only screen and (max-width: 767px) {
	.p-footer__logo {
		width: 88%;
	}
}

.p-footer__address {
	font-size: min(1.2vw, 16px);
	font-weight: 500;
	line-height: 2;
}

@media only screen and (max-width: 767px) {
	.p-footer__address {
		font-size: 3.7vw;
		text-align: center;
		line-height: 2;
	}
}

.p-footer__address strong {
	font-size: min(1.4vw, 18px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-footer__address strong {
		font-size: 3.8vw;
	}
}

.p-footer__copy {
	font-size: min(0.9vw, 12px);
	font-weight: 500;
	padding-bottom: 14px;
}

@media only screen and (max-width: 767px) {
	.p-footer__copy {
		margin-top: 10.8vw;
		margin-left: auto;
		margin-right: auto;
		font-size: 2.8vw;
		letter-spacing: -0.02em;
	}
}

.p-footer__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(4vw, 40px);
	margin-bottom: min(12vw, 120px);
}

@media only screen and (max-width: 767px) {
	.p-footer__top {
		margin-bottom: 16vw;
	}
}

.p-footer__btn {
	position: relative;
	display: block;
	max-width: 576px;
	width: 50%;
	padding: 26px 20px 24px;
	font-size: min(1.4vw, 24px);
	font-weight: 700;
	color: var(--color_bg);
	background: var(--color_main2);
	border-radius: 50px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-footer__btn {
		width: 100%;
		padding: 4.8vw 5.8vw;
		font-size: 3.8vw;
	}
}

.p-footer__btn.is-contact {
	background: var(--color_main);
}

.p-footer__btn:after {
	position: absolute;
	top: 50%;
	right: 6%;
	content: "";
	width: min(1.1vw, 20px);
	height: min(1.1vw, 20px);
	transform: translate(0, -50%);
	background-image: url(../../images/sharedgridbattery_4th/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@media only screen and (max-width: 767px) {
	.p-footer__btn:after {
		width: 3.4vw;
		height: 3.4vw;
	}
}



/**
* Animation
**/

.js-body {
	opacity: 0;
	visibility: hidden;
	transition-duration: 6s;
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-body.is-active {
	opacity: 1;
	visibility: inherit;
}

.js-mv__img {
	transform: scale(1.08);
	transition-duration: 6s;
	filter: blur(6px);
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-mv__img.is-active {
	transform: scale(1);
	filter: blur(0);
}

.js-mv__ttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-mv__ttl.is-active {
	opacity: 1;
	filter: blur(0);
}

.js-mv__ttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-mv__subttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-mv__subttl.is-active {
	opacity: 1;
	filter: blur(0);
}

.js-mv__scroll,
.js-mv__logo {
	transition-duration: 2s;
	opacity: 0;
	transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.js-mv__scroll.is-active,
.js-mv__logo.is-active {
	opacity: 1;
}

.js-dummy {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.js-dummy__wrap {
	display: inline-block;
	position: relative;
}





/**
* youtube
**/

.l-youbute {
	padding: min(10vw, 120px) min(4vw, 40px) 0;
}

.p-youtube__area {
	max-width: 1200px;
	margin-inline: auto;
	aspect-ratio: 560 / 315;
}

.p-youtube__area iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.grecaptcha-badge {
  visibility: hidden;
}

@media (768px <= width) {
	.p-contact__box .wpcf7-not-valid-tip,
	.p-contact__box .wpcf7-response-output {
		font-size: 1.6em;
	}
}
