@charset "utf-8";
/* 2026.08.06
---------------------------------------------------*/
body.home {
  background-image:
    url("/img/home/hom_bg_001.svg"),
    linear-gradient(to bottom, #fff 0%, #fff 12.5%, transparent 12.5%, transparent 100%),
    url("/common2/img/cmn_lin_001.svg") !important;
  background-repeat: no-repeat,    no-repeat, repeat !important;
  background-position: right -10% top 32px, top, top !important;
  background-size: 60% auto, 100% auto, 27.8125% auto !important;
}
body.home header {
	background-color: #FFF !important;
	position: relative !important;
}
body.home header.small {
	background-color: #FFF;
	position: fixed !important;
	-ms-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
body.home header .hdr__logo h1 {
	color: #014076 !important;
}
body.home header .nav--global > ul > li.gn01 span a {
	color: #014076 !important;
}
body.home header .nav--global > ul > li > a {
	color: #014076 !important;
	font-weight: 500;
}
body.home header .nav--global > ul > li:nth-last-of-type(1) a {
  color: #FFFFFF !important;
}

#Catch.copy2026 {
  align-items: center;
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 6.25% 8.3333%;
  padding: 4.1666% 8.3333%;
}
#Catch.copy2026 > section {
  display: block;
  text-align: justify;
  width: 70%;
}
#Catch.copy2026 > section h1 {
  color: #014076;
  font-weight: 650;
  font-size: 2.4444em;
  line-height: normal;
  margin: 0 0 1em;
  text-shadow:
    -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff,
     2px  2px 0 #fff;
}
#Catch.copy2026 > section h1 strong {
  color: #ec6104;
  font-size: 1.125em;
  font-weight: 650;
}
#Catch.copy2026 > section h1 span {
  font-size: 1.125em;
}
#Catch.copy2026 > section h1 em {
}
#Catch.copy2026 > section > p {
  font-size: 1.3333em;
  font-weight: 500;
  margin: 0 0 4em;
  text-shadow:
  /* 内側 */
  -0.5px  0     #fff,
   0.5px  0     #fff,
   0     -0.5px #fff,
   0      0.5px #fff,
  /* 中間 */
  -1px    0     #fff,
   1px    0     #fff,
   0     -1px   #fff,
   0      1px   #fff,
  /* 外側 */
  -1.5px  0     #fff,
   1.5px  0     #fff,
   0     -1.5px #fff,
   0      1.5px #fff,
  /* 斜め */
  -1px   -1px   #fff,
   1px   -1px   #fff,
  -1px    1px   #fff,
   1px    1px   #fff;
}
#Catch.copy2026 > section > p em {
  color: #ec6104;
  font-weight: 600;
}
#Catch.copy2026 > section div {
  display: block;
  overflow: visible;
  position: relative;
}
#Catch.copy2026 > section div > p {
  border-radius: 60px;
  display: block;
  font-size: .9375em;
  font-weight: 500;
  overflow: hidden;
  position: absolute;
  right: 2em;
  top: 0;
  transition: transform .3s ease;
  transform: translateY(-50%);
}
#Catch.copy2026 > section div > p:hover {
  cursor: pointer;
  transform: translateY(-50%) scale(1.0625);
}
#Catch.copy2026 > section div > p a {
  color: #FFFFFF;
  background-color: orange;
  display: block;
  padding: .375em 3em .375em 2em;
  position: relative;
}
#Catch.copy2026 > section div > p a:hover {
  background-color: orangered;
	opacity: 1;
}
#Catch.copy2026 > section div > p a::before {
  color: #FFFFFF;
  content: "\e5e1";
	font-family: 'Material Icons';
  font-size: .9375em;
  margin-top: .5px;
  position: absolute;
  top: 50%;
  right: 1.25em;
	transform: translateY(-50%);
}
#Catch.copy2026 > section div ul {
  display: block;
  background-color: #FFFFFF;
  border-radius: 10px;
  list-style: none;
  overflow: visible;
  padding: 3em 2em 2.5em 0;
  position: relative;
  text-align: left;
}
#Catch.copy2026 > section div ul::before {
  background: #ccc;
  content: "";
  height: .8px;
  left: 0;
  position: absolute;
  top: -1px;
  width: 33.3333%;
}
#Catch.copy2026 > section div ul::after {
  background-color: #FFFFFF;
  content: "LATEST UPDATES";
  color: #809eb6;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1em;
  letter-spacing: .075em;
  padding-right: 1em;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
}
#Catch.copy2026 > section div ul li {
  font-size: .9375em;
}
#Catch.copy2026 > section div ul li span.date {
  color: #666666;
  font-weight: 500;
  margin-right: .666em;
}
#Catch.copy2026 > section div ul li a {
  display: inline-block;
  transition: transform .3s ease;
  vertical-align: bottom;
}
#Catch.copy2026 > section div ul li a:hover {
	opacity: 1;
  transform: translateX(.5em);
}
#Catch.copy2026 > ul {
  display: block;
  list-style: none;
  text-align: justify;
  width: 27.5%;
}
#Catch.copy2026 > ul > li {
  align-items: center;
  background-color: #FFFFFF;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, .125);
  border: #CCCCCC solid 1px;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 1em;
  padding: 1.5em 1.25em;
  position: relative;
  transition: transform .3s ease;
}
#Catch.copy2026 > ul > li:hover {
  cursor: pointer;
  transform: scale(1.0625);
}
#Catch.copy2026 > ul > li:hover  > span.txt a {
	color: orangered;
}
#Catch.copy2026 > ul > li > span.pic {
  aspect-ratio: 1;
  background-color: #a9d1d8;
  border-radius: 100px;
  display: block;
  width: 25%;
}
#Catch.copy2026 > ul > li > span.pic > img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
#Catch.copy2026 > ul > li > span.txt {
	color: #014076;
  display: block;
  transition: transform .3s ease;
  width: 68.75%;
}
#Catch.copy2026 > ul > li > span.txt em {
  font-size: .8em;
  font-weight: 500;
  letter-spacing: 0;
}
#Catch.copy2026 > ul > li > span.txt small {
  color: #617f88;
  display: block;
  font-size: .875em;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: oblique;
  line-height: 1em;
}
#Catch.copy2026 > ul > li > span.txt a {
  display: block;
	color: #014076;
  font-size: 1.4444em;
  font-weight: 700;
  margin: 0 0 .1875em;
  position: relative;
  transition: transform .3s ease;
}
#Catch.copy2026 > ul > li > span.txt a::before {
  color: #809eb6;
  content: "\e5e1";
	font-family: 'Material Icons';
  font-size: .8em;
  margin-top: 1px;
  position: absolute;
  top: 50%;
  right: .5em;
	transform: translateY(-50%);
}
#Catch.copy2026 > ul > li:hover  > span.txt {
  transform: translateX(.5em);
}
#Catch.copy2026 > ul > li:nth-last-of-type(1) {
  margin: 0;
}
#Catch.copy2026 > ul > li a {
  display: block;
}

.menu {
  background-color: rgba(255, 255, 255, 1.0); 
  display: block;
  overflow: hidden;
  padding: 4.1666% 8.3333%;
  padding: 6.25% 8.3333%;
}
.menu > h2 {
  align-items: center;
  display: flex;
  font-size: 1em;
  margin: 0 0 6em;
}
.menu > h2 em {
  align-items: center;
  color: #014076;
  display: flex;
  font-size: 2.25em;
  font-weight: 700;
  width: 32.5%;
}
.menu > h2 em::before {
  background-color: #014076;
  content: "";
  height: 1px;
  margin-right: .5em;
  width: 1em;
}
.menu > p.btn {
  display: inline-block;
  font-size: 1.375em;
  font-weight: 600;
  margin: 0 auto;
  vertical-align: bottom;
  transition: transform .3s ease;
  width: 30%;
}
.menu > p.btn:hover {
  transform: scale(1.0625);
}
.menu > p.btn a {
  background-color: #1e74af;
  border-radius: 60px;
  color: #FFFFFF;
  display: block;
  overflow: hidden;
  padding: .625em;
  text-align:center; 
}

#issues.menu {
  background-color: rgba(255, 255, 255, .75); 
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
#issues > dl {
  display: block;
  overflow: hidden;
  width: 66.6666%;
}
#issues > dl dt {
  border-left: #f6a200 solid 8px;
  color: #014076;
  display: block;
  font-size: 1.25em;
  font-weight: 600;
  line-height: normal;
  margin: 0 0 2em .5em;
  overflow: hidden;
  padding-left: 1.5em;
  text-align: left;
}
#issues > dl dt em {
  align-items: center;
  display: flex;
  font-weight: 800;
  font-size: 2em;
  position: relative;
}
#issues > dl dt em::after {
  content: "";
  flex: 1;
  height: .8px;
  background: #014076;
  margin-left: .5em;
}
#issues > dl dd {
  background-color: #f8fafb;
  border: #CCC solid 2px;
  border-radius: 20px;
  display: block;
  font-family: "M PLUS Rounded 1c", sans-serif;
  overflow: hidden;
  padding: 2em;
}
#issues > dl dd ul {
  font-size: 1.25em;
  font-weight: 500;
  line-height: 2em;
  list-style: none;
  text-align: justify;
}
#issues > dl dd ul li {
	align-items: center;
  color: #29494d;
  display: flex;
}
#issues > dl dd ul li em {
  color: orangered;
  font-weight: 700;
}
#issues > dl dd ul li::before {
  color: orangered;
  content: "select_check_box";
  font-weight: 700;
  font-family: 'Material Symbols Outlined';
  flex-shrink: 0;
  font-size: 1.1em;
  line-height: 1;
  margin-right: .5em;
}
#issues > div {
  aspect-ratio: 9 / 10;
  border-radius: 50px;
  display: block;
  overflow: hidden;
  width: 33.3333%;
  text-align: center;
}
#issues > div img {
	display: block;
	height: 101%;
	width: 101%;
	object-fit: cover;
}
#service.menu {
  background: linear-gradient(to bottom,  #f8fafb, #FFF);
}
#service.menu > p.btn a {
  background-color: #ff4500;
}
#service.menu > ul {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 2.5em;
}
#service.menu > ul > li {
  background-color: #f8fafb;
  border: #CCCCCC solid 2px;
  border-radius: 10px;
  display: block;
  overflow: visible;
  padding: 0 2em 2em;
  text-align: center;
  transition: transform .3s ease;
  width: 30%;
}
#service.menu > ul > li:hover {
  transform: scale(1.0625);
}
#service.menu > ul > li h3 {
  background-color: #0fb3af;
  border-radius: 6px;
  color: #FFFFFF;
  display: block;
  font-size: 1.1875em;
  font-weight: 700;
  line-height: normal;
  margin: 0;
  padding: .75em 0;
  text-align: center;
  transform: translateY(-33.3333%);
}
#service.menu > ul > li:nth-of-type(2) {
  background-color: #e1f3fa;
  width: 35%;
}
#service.menu > ul > li:nth-of-type(2) h3 {
  background-color: #005cb2;
  font-size: 1.375em;
}
#service.menu > ul > li:nth-of-type(3) h3 {
  background-color: #f7ac00;
}
#service.menu > ul > li h4 {
  color: #323e40;
  font-size: 1.25em;
  font-weight: 700;
  line-height: normal;
  margin: 0 0 .5em;
  text-align: center;
}
#service.menu > ul > li span.pic {
  aspect-ratio: 1;
  border-radius: 100px;
  display: block;
  margin: 0 auto 1.5em;
  overflow: hidden;
  width: 33.333%;
}
#service.menu > ul > li span.pic > img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
#service.menu > ul li ul {
  display: inline-block;
  font-size: .9375em;
  font-weight: 500;
  list-style: disc;
  margin: 0 auto;
  max-width: 90%;
  text-align: justify;
}
#service.menu > ul > li:nth-of-type(2) ul {
  font-size: 1em;
}
#service.menu > ul > li:nth-of-type(2) h4 {
  color: #004280;
  font-size: 1.5em;
  font-weight: 800;
}

#trackrecord.menu {
  background-color: #f8fafb;
  background: linear-gradient(to bottom, #f0f0f0, #f8fafb);
}
#trackrecord.menu > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 2.5em;
}
#trackrecord.menu > ul > li {
  background-color: #FFFFFF;
  border: #CCCCCC solid 2px;
  border-radius: 10px;
  display: block;
  overflow: visible;
  padding: 0 1em 2em;
  text-align: center;
  transition: transform .3s ease;
  width: 23.125%;
}
#trackrecord.menu > ul > li:hover {
  transform: scale(1.0625);
}
#trackrecord.menu > ul > li h3 {
  background-color: #014076;
  border-radius: 100px;
  color: #FFFFFF;
  display: block;
  font-size: 1.1875em;
  font-weight: 500;
  line-height: normal;
  margin: 0 10%;
  padding: .375em 0;
  text-align: center;
  transform: translateY(-50%);
}
#trackrecord.menu > ul > li span.pic {
  aspect-ratio: 1;
  border-radius: 100px;
  display: block;
  margin: 0 auto 1.5em;
  overflow: hidden;
  width: 40%;
}
#trackrecord.menu > ul > li span.pic > img {
	display: block;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
#trackrecord.menu > ul > li dl {
  letter-spacing: 0;
  text-align: center;
}
#trackrecord.menu > ul > li dl dt {
  color: #ec6104;
  font-weight: 700;
  margin: 0 0 1em;
}
#trackrecord.menu > ul > li dl dt::before {
  content: "約";
}
#trackrecord.menu > ul > li:nth-of-type(1) dl dt::after {
  content: "%";
}
#trackrecord.menu > ul > li:nth-of-type(2) dl dt::after {
  content: "t-CO2";
  font-size: .75em;
}
#trackrecord.menu > ul > li:nth-of-type(3) dl dt::after {
  content: "%";
}
#trackrecord.menu > ul > li:nth-of-type(4) dl dt {
  text-indent: 1em;
}
#trackrecord.menu > ul > li:nth-of-type(4) dl dt::after {
  content: "億円";
}
#trackrecord.menu > ul > li dl dt em {
  font-size: 3em;
  font-weight: 800;
  margin: 0 .1em;
}
#trackrecord.menu > ul > li dl dd {
  font-size: .9375em;
}

@media (max-width: 1200px) {
body.home header {
	background-color: #FFF;
	position: fixed !important;
}
body.home {
  background-image:
    linear-gradient(rgba(255,255,255,.6666), rgba(255,255,255,.6666)),
    url("/img/home/hom_bg_001.svg");
  background-repeat:
    no-repeat,
    no-repeat;
  background-position:
    center 0,
    center 0;
  background-size:
    106.25% auto,
    106.25% auto;
}
#Catch.copy2026 {
  display: block;
	padding: 30px 20px;
}
#Catch.copy2026 > section {
  margin: 0 0 3em;
  width: auto;  
}
#Catch.copy2026 > section h1 {/*
  background-color: rgba(255, 255, 255, .75);*/
  font-size: 1.1875em;
  font-weight: 800;
  margin: 0 0 .5em;
  text-shadow:
  /* 内側 */
  -0.5px  0     #fff,
   0.5px  0     #fff,
   0     -0.5px #fff,
   0      0.5px #fff,
  /* 中間 */
  -1px    0     #fff,
   1px    0     #fff,
   0     -1px   #fff,
   0      1px   #fff,
  /* 外側 */
  -1.5px  0     #fff,
   1.5px  0     #fff,
   0     -1.5px #fff,
   0      1.5px #fff,
  /* 斜め */
  -1px   -1px   #fff,
   1px   -1px   #fff,
  -1px    1px   #fff,
   1px    1px   #fff;
}
#Catch.copy2026 > section h1 br {
  display: none;
}
#Catch.copy2026 > section h1 strong {
  font-size: 1em;
  font-weight: 800;
}
#Catch.copy2026 > section h1 span {
  font-size: 1em;
  font-weight: 800;
}
#Catch.copy2026 > section > p {/*
  background-color: rgba(255, 255, 255, .75);*/
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 2em;
}
#Catch.copy2026 > section div ul {
  display: block;
  background-color: #FFFFFF;
  border: #CCC solid 1px;
  border-radius: 10px;
  list-style: none;
  margin: 0 0 1em;
  overflow: visible;
  padding: 1em;
  position: relative;
  text-align: left;
}
#Catch.copy2026 > section div ul::before {
  background: none;
  content: "LATEST UPDATES";
  color: #809eb6;
  display: block;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-weight: 500;
  height: auto;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
  top: 0;
  transform: translateY(0%);
  width: auto;
}
#Catch.copy2026 > section div ul::after {
  display: none;
}
#Catch.copy2026 > section div ul li {
  margin-bottom: 1em;
}
#Catch.copy2026 > section div ul li:nth-last-of-type(1) {
  margin-bottom: 0;
}
#Catch.copy2026 > section div > p {
  border-radius: 60px;
  display: block;
  font-size: .9375em;
  font-weight: 500;
  margin: 0 25%;
  overflow: hidden;
  position: relative;
  right: initial;
  top: 0;
  transform: translateY(0%);
}
#Catch.copy2026 > ul {
  width: auto;
}
#Catch.copy2026 > ul > li {
  line-height: normal;
  padding: 1em;
}
#Catch.copy2026 > ul > li > span.txt a {
  font-size: 1.125em;
}
#Catch.copy2026 > ul > li > span.pic {
  width: 25%;
}
#Catch.copy2026 > ul > li > span.txt {
  width: 70%;
}
#issues.menu {
  background: linear-gradient(
  to bottom,
  #f8fafb 0%,
  #f8fafb 30%,
  transparent 100%);
  flex-direction: column-reverse;
	padding: 20px 20px 30px;
}
#issues > dl {
  width: auto;
}
#issues > dl dt {
  border-left: #f6a200 solid 5px;
  font-size: 1em;
  margin: 0 0 2em;
  padding-left: 1em;
}
#issues > dl dt em {
  font-size: 1.1875em;
}
#issues > dl dt em::after {
  display: none;
}
#issues > dl dd {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
#issues > dl dd ul {
  font-size: 1em;
  font-weight: 500;
  line-height: 2em;
  list-style: none;
  text-align: justify;
}
#issues > dl dd ul li {
  display: inline-block;
  line-height: normal;
  margin: 0 0 1em;
  vertical-align: middle; 
}
#issues > dl dd ul li em {
  font-weight: 600;
  display: inline;
}
#issues > dl dd ul li::before {
  font-size: 1.25em;
  display: inline-block;
  line-height: normal;
  margin-right: .5em;
  vertical-align: middle; 
  margin-top: -2px; 
}
#issues > div {
  aspect-ratio: auto;
  border-radius: 0px;
  display: block;
  margin: 0 20% 1em 30%;
  overflow: hidden;
  width: 50%;
  text-align: center;
}
.menu > p.btn {
  font-size: 1em;
  width: 75%;
}
.menu > h2 {
  display: block;
  font-size: .9375em;
  margin: 0 0 2em;
}
.menu > h2 em {
  display: block;
  font-size: 1.375em;
  margin-bottom: .5em;
  text-align: center;
  width: auto;
}
.menu > h2 em::before {
  display: none;
}
#service.menu {
  display: block;
  padding: 30px 20px;
}
#service.menu > ul {
  display: block;
  margin: 0 0 1.5em;
}
#service.menu > ul > li {
  background-color: #FFFFFF;
  border: #CCCCCC solid 1px;
  margin: 0 0 1em;
  padding: 1em;
  width: auto;
}
#service.menu > ul > li:nth-last-of-type(1) {
  margin: 0;
}
#service.menu > ul > li:nth-of-type(2) {
  width: auto;
}
#service.menu > ul li ul {
  font-size: .875em;
  line-height: normal;
}
#service.menu > ul > li:nth-of-type(2) ul {
  font-size: .875em;
  line-height: normal;
}
#service.menu > ul > li h3 {
  font-size: 1.125em;
  margin: 0 0 1em;
  transform: translateY(0);
}
#service.menu > ul > li:nth-of-type(2) h3 {
  font-size: 1.125em;
}
#service.menu > ul > li > div:nth-of-type(1) {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 1em;
}
#service.menu > ul > li h4 {
  font-size: 1.125em;
  margin: 0;
  text-align: justify;
  width: 75%;
}
#service.menu > ul > li:nth-of-type(2) h4 {
  font-size: 1.125em;
  margin: 0;
  text-align: justify;
  width: 75%;
}
#service.menu > ul > li span.pic {
  margin: 0;
  width: 20%;
}

#trackrecord.menu {
  display: block;
  padding: 30px 20px;
}
#trackrecord.menu > ul {
  display: block;
  margin: 0 0 1.5em;
}
#trackrecord.menu > ul > li {
  background-color: #FFFFFF;
  border: #CCCCCC solid 1px;
  margin: 0 0 1em;
  padding: 1em;
  width: auto;
}
#trackrecord.menu > ul > li h3 {
  border-radius: 6px;
  font-size: 1.125em;
  margin: 0 0 1em;
  transform: translateY(0);
}
#trackrecord.menu > ul > li > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}
#trackrecord.menu > ul > li span.pic {
  margin: 0;
  width: 20%;
}
#trackrecord.menu > ul > li dl {
  font-size: 1em;
  margin: 0;
  text-align: justify;
  width: 75%;
}
#trackrecord.menu > ul > li dl dt {
  margin: 0;
}
#trackrecord.menu > ul > li:nth-of-type(4) dl dt {
  text-indent: 0;
}
#trackrecord.menu > ul > li dl dt em {
  font-size: 2.25em;
}
#trackrecord.menu > ul > li dl dd {
  font-size: .875em;
  line-height: normal;
}
#trackrecord.menu > ul > li dl dd br {
  display: none;
}
}
