
.l-main > section:not(.c-sustainability-localnav) {
  margin-block: 10rem;
  padding-block: 6rem 10rem;
  @media (max-width: 767.98px) {
    margin-block: 6rem;
    padding-block: 0px 6rem;
  }
}

.p-intro__catch {
	font-size: clamp(1.6rem,2.2vw,2.2rem);
	font-weight: bold;
	color: #0075C2;
	border: 1px solid #0075C2;
	border-radius: 10px;
	padding: 16px 40px;
	display: inline-flex;
	position: relative;
	margin-bottom: 2rem;
	line-height: 140%;
	@media (max-width: 767.98px) {
		padding: 6px 20px;
		line-height: 130%;
	}
}

.p-attempt {
	margin-block: 0px 10rem;
	padding-block: 0px 15rem;
}

.p-energy {
	margin-block: 10rem !important;
	padding-block: 0px !important;
	@media (max-width: 767.98px) {
		margin-block: 5rem !important;
		padding-block: 0px !important;
	}
}

.p-discharge {
	margin-block: 5rem 5rem !important;
	padding-block: 0px 5rem !important;
	@media (max-width: 767.98px) {
		margin-block: 2.5rem 5rem !important;
		padding-block: 0 !important;
	}
}

.p-challenge {
	margin-block: 5rem 2rem !important;
	padding-block: 0px !important;
}

.p-attempt {
	margin-block: 10rem 2.5rem !important;
	padding-block: 0px !important;
	@media (max-width: 767.98px) {
		margin-block: 5rem 2.5rem !important;
		padding-block: 0px !important;
	}
}

.p-back-filter {
	margin-block: 5rem 2.5rem !important;
	padding-block: 0px 2.5rem !important;
	@media (max-width: 767.98px) {
		margin-block: 2rem 2.5rem !important;
		padding-block: 0px 2.5rem !important;
	}
}

.p-environment-sales {
	margin-block: 3.5rem 2.5rem !important;
	padding-block: 0px 2.5rem !important;
	@media (max-width: 767.98px) {
		padding-block: 0 !important;
	}
}

.p-environment-update {
	margin-block: 5rem 2.5rem !important;
	padding-block: 0px !important;
}

.p-both {
	margin-block: 10rem 2.5rem !important;
	padding-block: 0px 2.5rem !important;
	@media (max-width: 767.98px) {
		margin-block: 5rem 0 !important;
		padding-block: 0 !important;
	}
}

.p-achievement {
	margin-block: 8.5rem 7.5rem !important;
	padding-block: 0px 2.5rem !important;
	@media (max-width: 767.98px) {
		margin-block: 5rem !important;
		padding-block: 0 !important;
	}
}


.p-energy .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-discharge .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-challenge .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-attempt .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-back-filter .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-back-filter .p-sec__ttl2 {
	margin-bottom: 1rem;
	color: #0075C2;
	font-size: clamp(2rem,3vw,3rem);
	font-weight: bold;
	line-height: calc(72 / 30);
	letter-spacing: 0.035em;
	@media (max-width: 767.98px) {
		font-size: 2rem;
	}
}

.p-environment-sales .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-environment-update .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-both .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-achievement .p-sec__ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-principle__list {
  display: grid;
  grid-auto-columns: minmax(0, auto);
  margin-top: 2.75vw;
  counter-reset: item;
  background: #FFF;
  padding: 3rem 4vw;
  filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.16));
  @media (max-width: 767.98px) {
	margin-top: 30px;
  	padding: 0rem 4vw;
  }
}

.l-blue_txt_ttl {
	font-size: clamp(1.8rem,2.4vw,2.4rem);
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.p-principle__item {
  line-height: 2;
  border-bottom: 1px solid #C1C1C1;
  padding-block: 2vw;
  padding-inline: 3rem;
  display: grid;
  grid-template-columns: 1fr 2fr;
  counter-increment: item;
  &:last-of-type {
  	border-bottom: 0px;
  }
  span:nth-of-type(1) {
  	font-size: clamp(1.4rem,1.8vw,1.8rem);
	font-weight: 500;
	color: #0075C2;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
	&::before {
		content: counter(item) ". ";
	}
  }
  span:nth-of-type(2) {
  	font-size: clamp(1.4rem,1.8vw,1.8rem);
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
  }
  @media (max-width: 767.98px) {
  	grid-template-columns: 6fr;
	padding-block: 6vw;
  	padding-inline: 2rem;
  }
}

.p-back-filter__ttl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 3rem;
}

.p-both .p-sec__wrap:nth-of-type(2) {
	margin-top: 10vw;
}

.p-both .img_box {
	margin-block: 0px;
	column-gap: 6rem;
}

.p-both .img_box li {
	place-items: start;
}

.both_ttl {
	color: #0075C2;
	font-size: clamp(1.6rem,2.2vw,2.2rem);
	font-weight: bold;
	@media (max-width: 767.98px) {
		font-size: 1.6rem;
	}
}

.both_txt {
	font-size: clamp(1.4rem,1.8vw,1.8rem) !important;
	font-weight: normal !important;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
}

.p-achievement {
	display: grid;
	row-gap: 6rem;
	border-bottom: 0px !important;
}

.achievement-box {
	background: #FFF;
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.16));
	padding: 40px 4vw 40px 10rem;
	display: grid;
	align-items: center;
	row-gap: 2rem;
	position: relative;
	&::before {
		content: '';
		background: #0075C2;
		display: inline-block;
		width: 6px;
		height: 80%;
		left: 40px;
		position: absolute;
	}
	@media (max-width: 767.98px) {
		padding: 3rem 3rem 3rem 6rem;
		&::before {
			height: 90%;
			left: 30px;
		}
	}
	dt {
		color: #0075C2;
		font-size: clamp(1.4rem,1.8vw,1.8rem);
		font-weight: bold;
		@media (max-width: 767.98px) {
			font-size: 1.4rem;
		}
	}
	dd {
		font-size: clamp(1.4rem,1.8vw,1.8rem);
		@media (max-width: 767.98px) {
			font-size: 1.4rem;
		}
	}
}

.p-future__label {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

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

.p-future__label-item-title {
	width: 360px;
	color: #fff;
	font-size: clamp(1.4rem,1.8vw,1.8rem);
	font-weight: 600;
	background: #027dc5;
	border-top-left-radius: 33px;
	border-bottom-left-radius: 33px;
	padding: 10px 20px;
	text-align: center;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
}

.p-future__label-item-desc {
	flex: 1;
	color: #232323;
	font-size: clamp(1.4rem,1.8vw,1.8rem);
	border-top-right-radius: 33px;
	border-bottom-right-radius: 33px;
	padding: 10px 35px;
	background: #f8f8f8;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
}

.p-future__roadmap-ttl {
	width: fit-content;
	margin-inline: auto;
	padding-inline: 80px;
	color: #fff;
	font-size: clamp(1.8rem,2.6vw,2.6rem);
	background: #29B371;
	@media (max-width: 767.98px) {
		font-size: 1.8rem;
	}
}

.c-product_ttl {
	color: #0075C2;
	font-size: clamp(2rem,4vw,4rem);
	font-weight: 500;
	position: relative;
    padding-bottom: clamp(10px,2vw,20px);
	border-bottom: 3px solid #CCCCCC;
	@media (max-width: 767.98px) {
		font-size: 2rem;
	}
}

.c-product_ttl::after {
	content: '';
	background: #0075C2;
	display: inline-block;
	max-width: 250px;
	width: 30%;
	height: 3px;
	left: 0px;
	bottom: -3px;
	position: absolute;
}

.l-main > section:not(.c-sustainability-localnav) {
	margin-block: 100px;
	padding-block: 0px 100px;
	@media (max-width: 767.98px) {
	  margin-block: 40px;
	  padding-block: 0px 30px;
	}
  }
  
  .p-inner__box {
	  display: grid;
	  row-gap: 2rem;
	  @media (max-width: 767.98px) {
		  row-gap: 1rem;
	  }
  }
  
  .point_list {
	  margin-block: 2rem;
	  display: grid;
	  row-gap: 2rem;
	  @media (max-width: 767.98px) {
		  margin-block: 0;
	  }
	  dl {
		  display: flex;
		  flex-wrap: wrap;
		  font-size: clamp(1.4rem,1.8vw,1.8rem);
		  @media (min-width: 767.99px) {
			  border-radius: 33px;
			  overflow: hidden;
			  font-size: 1.4rem;
		  }
		  * {
			  padding: 2rem 3vw;
		  }
		  dt {
			  background: #027DC5;
			  font-size: clamp(1.4rem,1.8vw,1.8rem);
			  color: #FFF;
			  font-weight: 600;
			  width: 30%;
			  text-align: center;
			  @media (max-width: 767.98px) {
				  width: 100%;
				  padding: 5px 2rem;
			  }
		  }
		  dd {
			  background: #F8F8F8;
			  font-size: clamp(1.4rem,1.8vw,1.8rem);
			  width: 70%;
			  @media (max-width: 767.98px) {
				  width: 100%;
				  padding: 2rem;
			  }
		  }
	  }
  }
  
  .road_map {
	  display: grid;
	  row-gap: 4rem;
	  @media (max-width: 767.98px) {
		  margin-block: 2rem;
		  row-gap: 2rem;
	  }
  }
  
  .road_map_ttl {
	  font-size: clamp(1.4rem,1.8vw,1.8rem);
	  font-weight: 600;
	  color: #FFF;
	  background: #29B371;
	  display: inline-flex;
	  padding: 1rem 6vw;
	  margin: 0px auto;
	  text-align: center;
	  @media (max-width: 767.98px) {
		font-size: 1.4rem;
	  }
  }
  
  .p-attempt {
	  border-bottom: 0px !important;
  }
  
  .attempt_box__inner {
	  display: grid;
	  row-gap: 2rem;
	  margin-block: 0 5rem;
	  @media (max-width: 767.98px) {
		  margin-block: 2rem 3rem;
		  row-gap: 2rem;
	  }
	  .l-line_ttl {
		  font-size: clamp(1.4rem,1.8vw,1.8rem);
		  text-indent: -20px;
		  padding-left: 20px;
		  @media (max-width: 767.98px) {
			font-size: 1.4rem;
		  }
		  &::after {
			  width: 180px;
		  }
	  }
	  picture {
		  margin-top: 3rem;
	  }
  }
  
  .attempt_box_txt {
	  font-size: clamp(1.4rem,1.8vw,1.8rem);
	  font-weight: 500;
	  line-height: var(--line-height-base);
	  @media (max-width: 767.98px) {
		font-size: 1.4rem;
	  }
  }
  
  .attempt_gray_box {
	  background: #EBEBEB;
	  padding: 3rem 4rem;
	  @media (max-width: 767.98px) {
		  padding: 2rem;
		  margin-top: 1rem;
	  }
  }
  
  .attempt_gray_box_ttl {
	  background: #0075C2;
	  color: #FFF;
	  font-size: clamp(1.4rem,1.8vw,1.8rem);
	  font-weight: 500;
	  padding: 3px 5.5vw;
	  display: inline-flex;
	  @media (max-width: 767.98px) {
		font-size: 1.4rem;
	  }
  }
  
  .attempt_list {
	  margin-top: 2rem;
	  display: grid;
	  row-gap: 5px;
	  li {
		  font-size: clamp(1.4rem,1.8vw,1.8rem);
		  text-indent: -1em;
		  margin-left: 1em;
		  @media (max-width: 767.98px) {
			font-size: 1.4rem;
		  }
		  &::before {
			  content: '・';
		  }
	  }
  }

.p-environment-update-flex {
	display: flex;
	gap: 10rem;
	@media (max-width: 767.98px) {
		flex-direction: column;
		gap: 2rem;
	}
}

.p-environment-update-flex__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3rem;
	width: 50%;
	@media (max-width: 767.98px) {
		width: 100%;
	}
}

.p-environment-update-flex p {
	
}

.p-environment-update-img {
	width: 50%;
	@media (max-width: 767.98px) {
		width: 100%;
	}
}

.u-both-ttl {
	margin-bottom: 2rem;
}

.p-both-flex {
	display: flex;
	justify-content: space-between;
	gap: 10rem;
	@media (max-width: 767.98px) {
		flex-direction: column;
		gap: 3rem;
	}
}

.p-both-flex-item {
	width: 50%;
	@media (max-width: 767.98px) {
		width: 100%;
	}
}

.p-discharge__margin {
	margin-bottom: 4rem;
	@media (max-width: 767.98px) {
		margin-bottom: 0;
	}
}

.attempt_compare_box {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.attempt_compare_box__item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	@media (max-width: 992px) {
		flex-direction: column;
		align-items: flex-start;
	}
}

.attempt_compare_box__item-title {
	width: 100%;
	max-width: 335px;
	font-size: clamp(1.4rem,1.8vw,1.8rem);
	font-weight: bold;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
}

.attempt_compare_box__item img {
	width: 100%;
	max-width: 650px;
	@media (max-width: 992px) {
		max-width: 100%;
	}
}

.p-back-filter__margin {
	margin-block: 20px;
}

.p-energy__margin {
	display: flex;
	flex-direction: column;
	margin-top: 4rem;
	gap: 7rem;
	@media (max-width: 767.98px) {
		margin-top: 0;
	}
}

.p-energy__margin img {
	width: 100%;
	max-width: 1030px;
	margin-inline: auto;
}

.p-back-filter .l-gray_box_ttl {
	margin-bottom: 0;
}

.p-back-filter .img_box {
	margin-block: 20px;
	@media (max-width: 767.98px) {
		margin-block: 20px 0;
	}
}

.p-back-filter__desc {
	margin-top: 2rem;
	font-size: clamp(1.4rem,1.8vw,1.8rem);
	line-height: calc(32 / 18);
	letter-spacing: 0.02em;
	@media (max-width: 767.98px) {
		font-size: 1.4rem;
	}
}