@charset "UTF-8";
:root {
  --c_green: #23AC38;
  --c_green_ov: #005D24;
  --c_yellow: #FABE00;
  --c_blue: #1F4EA3;
  --c_orange: #ED6B00;
  --g_green: linear-gradient(to right, #7BBD27, #46B034);
  --g_green_btm: linear-gradient(to bottom, #7BBD27, #46B034);
  --g_orange: linear-gradient(to right, #FFCE00, #F25D00);
  --g_orange_ov: linear-gradient(to right, #CBA503, #C24A01);
  --g_orange_btm: linear-gradient(to bottom, #FFCE00, #F25D00);
  --g_orange_lft: linear-gradient(to left, #FFCE00, #F25D00);
  --g_blue: linear-gradient(to right, #00D0F0, #23429A);
  --g_blue_ov: linear-gradient(to right, #038DC1, #1C367A);
  --g_blue_btm: linear-gradient(to bottom, #00D0F0, #23429A);
  --g_blue_lft: linear-gradient(to left, #00D0F0, #23429A);
  --g_to_footer: linear-gradient(to bottom, #fff, #F4F4F4);
  --g_to_footer2: linear-gradient(to bottom, transparent, #F4F4F4);
}

@use 'setting';
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-weight: 500;
  font-family: "Noto Sans JP", serif;
  line-height: 1.8;
  scroll-behavior: smooth;
  font-size: 10px;
}

@media screen and (max-width: 1440px) {
  html {
    font-size: calc(100vw * 10 / 1440);
  }
}

@media (max-width: 767px) {
  html {
    font-size: 2.66667vw;
  }
}

table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

ul, ol {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

sup {
  font-size: .5em;
}

sup.top {
  vertical-align: text-top;
}

sup.btm {
  vertical-align: text-bottom;
}

.en {
  font-family: "Roboto", serif;
}

@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.h1 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

.h1.white {
  color: #fff;
}

@media (max-width: 767px) {
  .h1 {
    font-size: 2rem;
  }
}

.h1 span {
  display: block;
  font-size: 6.4rem;
  font-weight: 900;
}

@media (max-width: 767px) {
  .h1 span {
    font-size: 4rem;
  }
}

.h2 {
  background: var(--g_green_btm);
  color: #fff;
  margin-bottom: 6rem;
  padding: 2rem 0;
  font-size: 4.2rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

@media (max-width: 767px) {
  .h2 {
    font-size: 2.8rem;
  }
}

.h2 small {
  display: block;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .h2 small {
    font-size: 1.2rem;
  }
}

.h3 {
  background: url(../img/ttl_point.png) no-repeat center top/5.4rem;
  color: var(--c_green);
  margin-bottom: 6rem;
  padding-top: 6.4rem;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .h3 {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
}

#news_tab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
}

@media (max-width: 767px) {
  #news_tab {
    gap: .3rem;
    overflow: scroll;
  }
}

#news_tab li {
  margin-bottom: 2px;
}

#news_tab li:has( > a.active) {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #news_tab li {
    width: 15rem;
  }
}

#news_tab a {
  color: #fff;
  display: block;
  position: relative;
  height: 100%;
  padding: 1.6rem 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

@media (max-width: 767px) {
  #news_tab a {
    font-size: 1.4rem;
  }
}

#news_tab a[href="all"] {
  background: #414141;
}

#news_tab a[href="newsrelease"] {
  background: var(--c_green);
}

#news_tab a[href="info"] {
  background: var(--c_yellow);
}

#news_tab a[href="supply"] {
  background: var(--c_orange);
}

#news_tab a:not(.active)::after {
  content: '';
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.15));
  position: absolute;
  inset: auto auto 0 0;
  width: 100%;
  height: 2rem;
}

#news_list {
  background: #fff;
  padding: 1rem 3rem 3rem;
  border: 3px solid;
  border-radius: 0 0 2rem 2rem;
}

@media (max-width: 767px) {
  #news_list {
    padding: 1rem 2rem 2rem;
  }
}

#news_list.all {
  border-color: #414141;
}

#news_list.newsrelease {
  border-color: var(--c_green);
}

#news_list.info {
  border-color: var(--c_yellow);
}

#news_list.supply {
  border-color: var(--c_orange);
}

#news_list ul li:last-child {
  margin-bottom: 0;
}

#news_list ul li.cat_hide {
  display: none;
}

#news_list ul li.year_hide {
  display: none;
}

#news_list ul a {
  display: block;
  padding: 2rem 0;
  border-bottom: 1px solid #C4C4C4;
}

#news_list ul .day {
  font-size: 1.4rem;
  font-weight: 700;
}

#news_list ul .cat {
  color: #fff;
  margin-left: 2rem;
  padding: 0 .5rem;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid;
}

@media (max-width: 767px) {
  #news_list ul .cat {
    margin-left: 1rem;
  }
}

#news_list ul .cat.newsrelease {
  background: var(--c_green);
  border-color: var(--c_green);
}

#news_list ul .cat.info {
  background: var(--c_yellow);
  border-color: var(--c_yellow);
}

#news_list ul .cat.supply-ppa, #news_list ul .cat.supply-kouri {
  background: var(--c_orange);
  border-color: var(--c_orange);
}

#news_list ul .cat.supply-ppa::after, #news_list ul .cat.supply-kouri::after {
  background: #fff;
  color: var(--c_orange);
  margin: 0 -.5rem 0 .5rem;
  padding: 0 .5rem;
}

#news_list ul .cat.supply-ppa::after {
  content: 'PPA';
}

#news_list ul .cat.supply-kouri::after {
  content: '小売';
}

#news_list ul p {
  margin-top: .5rem;
  font-size: 1.6rem;
}

#header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 8rem;
  z-index: 3;
  transition: .5s;
}

@media (max-width: 767px) {
  #header {
    height: 6rem;
  }
}

#header::before {
  content: '';
  background: linear-gradient(to bottom, #fff, transparent);
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
  transition: .5s;
}

#header.bg::before {
  opacity: 1;
}

#header .h_logo {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-left: 3rem;
}

@media (max-width: 767px) {
  #header .h_logo {
    gap: 1rem;
    margin-left: 1rem;
  }
}

#header .h_logo .a{
  width: 10.8rem;
}

@media (max-width: 767px) {
  #header .h_logo .a{
    width: 7.4rem;
  }
}

#header .h_logo .b{
  width: 31.7rem;
}

@media (max-width: 767px) {
  #header .h_logo .b{
    width: 19.4rem;
  }
}

#header .h_links {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-right: 9.6rem;
}

@media (max-width: 767px) {
  #header .h_links {
    display: none;
  }
}

#header .h_links .contact, #header .h_links .contract {
  color: #fff;
  display: block;
  position: relative;
  padding: 1rem 0;
  width: 20rem;
  font-size: 1.6rem;
  text-align: center;
  border-radius: 10rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

#header .h_links .contact::after, #header .h_links .contract::after {
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

#header .h_links .contact {
  background: var(--g_orange);
}

#header .h_links .contact::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
}

@media (min-width: 768px) {
  #header .h_links .contact:hover {
    background: var(--g_orange_ov);
  }
}

#header .h_links .contract {
  background: var(--g_blue);
}

#header .h_links .contract::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
}

@media (min-width: 768px) {
  #header .h_links .contract:hover {
    background: var(--g_blue_ov);
  }
}

#header .menu_btn {
  background: var(--c_green);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: absolute;
  inset: 0 0 auto auto;
  width: 8rem;
  height: 8rem;
  border-bottom-left-radius: 100%;
  cursor: pointer;
}

@media (max-width: 767px) {
  #header .menu_btn {
    width: 6rem;
    height: 6rem;
  }
}

#header .menu_btn::before, #header .menu_btn::after, #header .menu_btn span {
  background: #fff;
  display: block;
  position: absolute;
  width: 2rem;
  height: 2px;
  transition: .2s;
}

#header .menu_btn::before {
  content: '';
  inset: 2rem 2rem auto auto;
}

@media (max-width: 767px) {
  #header .menu_btn::before {
    inset: 1.5rem 1.5rem auto auto;
  }
}

#header .menu_btn::after {
  content: '';
  inset: calc(2rem + 12px) 2rem auto auto;
}

@media (max-width: 767px) {
  #header .menu_btn::after {
    inset: calc(1.5rem + 12px) 1.5rem auto auto;
  }
}

#header .menu_btn span {
  inset: calc(2rem + 6px) 2rem auto auto;
}

@media (max-width: 767px) {
  #header .menu_btn span {
    inset: calc(1.5rem + 6px) 1.5rem auto auto;
  }
}

#header.show .menu_btn::after {
  inset: calc(2rem + 6px) 2rem auto auto;
  transform: rotate(45deg);
}

@media (max-width: 767px) {
  #header.show .menu_btn::after {
    inset: calc(1.5rem + 6px) 1.5rem auto auto;
  }
}

#header.show .menu_btn::before {
  inset: calc(2rem + 6px) 2rem auto auto;
  transform: rotate(-45deg);
}

@media (max-width: 767px) {
  #header.show .menu_btn::before {
    inset: calc(1.5rem + 6px) 1.5rem auto auto;
  }
}

#header.show .menu_btn span {
  display: none;
}

#header .menu {
  background: #fff;
  display: none;
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  padding: 20rem 0 15rem;
  overflow: scroll;
  z-index: -1;
}

@media (max-width: 767px) {
  #header .menu {
    padding: 9rem 0 6rem;
  }
}

#header .menu .h_inner {
  width: 96rem;
  margin: 0 auto;
}

@media (max-width: 767px) {
  #header .menu .h_inner {
    width: 100%;
    padding: 0 4rem;
  }
}

@media (min-width: 768px) {
  #header .menu .h_links {
    display: none;
  }
}

@media (max-width: 767px) {
  #header .menu .h_links {
    display: flex;
    flex-direction: column;
    margin: 0 auto 6rem;
  }
}

#header .menu .nav1 {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  #header .menu .nav1 {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  #header .menu .nav1 .block {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  }
}

@media (min-width: 768px) {
  #header .menu .nav1 .block + .block {
    padding-top: 2.5rem;
  }
}

#header .menu .nav1 p a {
  position: relative;
  padding-left: 3rem;
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
}

#header .menu .nav1 p a.nolink {
  pointer-events: none;
}

@media (max-width: 767px) {
  #header .menu .nav1 p a {
    display: block;
    padding: 2rem 3rem;
  }
}

#header .menu .nav1 p a::before {
  content: '';
  background: var(--c_green);
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
}

@media (max-width: 767px) {
  #header .menu .nav1 p:has( + ul) a::after {
    content: "+";
    display: inline-block;
    font-family: 'Font Awesome 6 Free';
    background: #000;
    color: #fff;
    position: absolute;
    inset: 50% 0 auto auto;
    translate: 0 -50%;
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    text-align: center;
    border-radius: 100%;
  }
  #header .menu .nav1 p:has( + ul) a.show::after {
    content: "";
    display: inline-block;
    font-family: 'Font Awesome 6 Free';
  }
}

#header .menu .nav1 ul {
  padding-top: 2rem;
}

@media (max-width: 767px) {
  #header .menu .nav1 ul {
    display: none;
    padding: 0 0 2rem;
  }
}

#header .menu .nav1 ul li {
  font-size: 1.4rem;
}

#header .menu .nav1 ul li + li {
  padding-top: 1rem;
}

#header .menu .nav1 ul li::before {
  content: '・';
}

#header .menu .nav1 a {
  text-decoration: 1px underline;
}

#header .menu .nav1 a.nolink {
  text-decoration: none;
}

#header .menu .nav2 {
  padding-top: 11.2rem;
}

@media (max-width: 767px) {
  #header .menu .nav2 {
    padding-top: 3rem;
  }
}

#header .menu .nav2 p {
  font-size: 1.6rem;
  text-align: center;
}

#header .menu .nav2 ul {
  display: flex;
  gap: 1rem;
  padding-top: 3rem;
}

@media (max-width: 767px) {
  #header .menu .nav2 ul {
    flex-direction: column;
    padding-top: 2rem;
  }
}

#header .menu .nav2 ul li {
  flex: 1;
}

#header .menu .nav2 ul li a {
  display: block;
  padding: 1.8rem 0;
  font-size: 1.8rem;
  text-align: center;
  border-radius: 10rem;
  transition: .2s;
}

#header .menu .nav2 ul li .buy {
  background: var(--g_orange);
  color: #fff;
}

@media (min-width: 768px) {
  #header .menu .nav2 ul li .buy:hover {
    background: var(--g_orange_ov);
  }
}

#header .menu .nav2 ul li .sell {
  background: var(--g_blue);
  color: #fff;
}

@media (min-width: 768px) {
  #header .menu .nav2 ul li .sell:hover {
    background: var(--g_blue_ov);
  }
}

#header .menu .nav2 ul li .other {
  background: #fff;
  color: #000;
  outline: 1px solid #000;
  outline-offset: -1px;
}

@media (min-width: 768px) {
  #header .menu .nav2 ul li .other:hover {
    background: #000;
    color: #fff;
  }
}

body.menu_show {
  overflow: hidden;
}

.f_inner {
  width: 120rem;
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .f_inner {
    padding: 0 2rem;
  }
}

.f_reviews {
  background: #F4F4F4;
  padding: 10rem 0;
}

@media (max-width: 767px) {
  .f_reviews {
    padding: 9rem 0;
  }
}

.f_reviews ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 4rem;
  padding-top: 4rem;
}

@media (max-width: 767px) {
  .f_reviews ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.f_reviews ul a {
  display: block;
  padding: 1rem 0;
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: 1px solid #E2E2E2;
  pointer-events: none;
}

.f_reviews .btn {
  margin-top: 4rem;
}

@media (max-width: 767px) {
  .f_reviews .btn {
    margin-top: 3rem;
  }
}

.f_reviews .btn a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 18rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
  margin: auto;
}

.f_reviews .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .f_reviews .btn a:hover {
    background: var(--c_green_ov);
  }
}

.f_plant_company {
  display: flex;
}

@media (max-width: 767px) {
  .f_plant_company {
    flex-direction: column;
  }
}

.f_plant_company > * {
  position: relative;
  flex: 1;
}

.f_plant_company .bg {
  overflow: hidden;
}

@media (max-width: 767px) {
  .f_plant_company .bg img {
    width: 140%;
    margin-left: -20%;
  }
}

.f_plant_company .box {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 100%;
}

.f_plant_company .box .btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 3rem;
}

@media (max-width: 767px) {
  .f_plant_company .box .btns {
    flex-direction: column;
    align-items: center;
  }
}

.f_plant_company .box .btns a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 22rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
}

.f_plant_company .box .btns a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .f_plant_company .box .btns a:hover {
    background: var(--c_green_ov);
  }
}

.f_contact {
  background: #fff;
  padding: 8rem 0;
}

@media (max-width: 767px) {
  .f_contact {
    padding: 9rem 0;
  }
}

.f_contact .txt {
  padding-top: 4rem;
  font-size: 1.6rem;
  text-align: center;
}

.f_contact ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 1rem;
  width: 100rem;
  margin: 4rem auto 0;
}

@media (max-width: 767px) {
  .f_contact ul {
    gap: 1rem;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .f_contact ul li {
    width: 100%;
  }
}

.f_contact ul a {
  display: block;
  position: relative;
  width: 36rem;
  padding: 1.8rem 0;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
}

.f_contact ul a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 2rem auto auto;
  translate: 0 -50%;
  font-weight: 400;
}

@media (max-width: 767px) {
  .f_contact ul a {
    width: 100%;
  }
}

.f_contact ul a.buy {
  background: var(--g_orange);
  color: #fff;
}

@media (min-width: 768px) {
  .f_contact ul a.buy:hover {
    background: var(--g_orange_ov);
  }
}

.f_contact ul a.sell {
  background: var(--g_blue);
  color: #fff;
}

@media (min-width: 768px) {
  .f_contact ul a.sell:hover {
    background: var(--g_blue_ov);
  }
}

.f_contact ul a.other {
  background: #fff;
  color: #000;
  outline: 1px solid #000;
  outline-offset: -1px;
}

@media (min-width: 768px) {
  .f_contact ul a.other:hover {
    background: #000;
    color: #fff;
  }
}

#footer .f_nav {
  background: #E8E8E8;
  padding: 9rem 0 6rem;
}

@media (max-width: 767px) {
  #footer .f_nav {
    padding: 4rem 0;
  }
}

#footer .f_nav .row {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  #footer .f_nav .row {
    flex-direction: column-reverse;
    gap: 4rem;
  }
}

#footer .f_nav .f_logo a {
  display: block;
  width: 15rem;
  margin: 0 auto 2rem;
}

#footer .f_nav .f_logo p {
  font-size: 1.2rem;
  text-align: center;
}

#footer .f_nav .nav {
  display: flex;
  gap: 3.2rem;
}

#footer .f_nav .nav .block + .block {
  padding-top: 1.5rem;
}

#footer .f_nav .nav a {
  text-decoration: underline;
}

#footer .f_nav .nav a.nolink {
  text-decoration: none;
}

#footer .f_nav .nav p a {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
}

#footer .f_nav .nav p a.nolink {
  pointer-events: none;
}

#footer .f_nav .nav p a::before {
  content: "";
  background: var(--c_green);
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
}

#footer .f_nav .nav ul {
  padding-top: 1.5rem;
}

#footer .f_nav .nav ul li {
  font-size: 1.2rem;
}

#footer .f_nav .nav ul li + li {
  padding-top: .5rem;
}

#footer .f_nav .nav ul li::before {
  content: '・';
}

#footer .f_nav .nav .area1 {
  display: flex;
  gap: 1.5rem 3.2rem;
}

@media (max-width: 767px) {
  #footer .f_nav .nav .area1 {
    flex-direction: column;
    flex: 1;
  }
}

#footer .f_bnr {
  background: #F4F4F4;
  padding: 4rem 0;
}

@media (max-width: 767px) {
  #footer .f_bnr {
    padding: 0;
  }
}

#footer .f_bnr ul {
  display: flex;
  justify-content: center;
  gap: 0 1rem;
}

@media (max-width: 767px) {
  #footer .f_bnr ul {
    flex-direction: column;
  }
}

#footer .f_bnr ul li {
  width: 30rem;
}

@media (max-width: 767px) {
  #footer .f_bnr ul li {
    width: 100%;
  }
}

#footer .f_copy {
  background: #000;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 1.6rem 3rem;
  font-size: 1.2rem;
}

@media (max-width: 767px) {
  #footer .f_copy {
    flex-direction: column-reverse;
    align-items: center;
    gap: .5rem;
    padding: 1rem 0;
  }
}

#footer .f_copy ul {
  display: flex;
}

#footer .f_copy ul li + li::before {
  content: '｜';
  margin: 0 .2rem;
}

.top_mv {
  overflow: hidden;
}

.top_mv video {
  display: block;
  width: 100%;
}

@media (max-width: 767px) {
  .top_mv video {
    width: 160%;
    margin-left: -30%;
  }
}

.top_info {
  background: url(../img/top_info_bg01.png) no-repeat left -16rem top 16rem/77.6rem 23.1rem, url(../img/top_info_bg02.png) no-repeat left -7rem top 62rem/75.5rem 35.7rem, url(../img/top_info_bg03.png) no-repeat left 77rem top 60rem/63rem 31.3rem;
  padding: 7.3rem 0 12rem;
}

@media (max-width: 767px) {
  .top_info {
    background: url(../img/top_info_bg01.png) no-repeat left -11rem top 15.2rem/38.2rem 11.4rem, url(../img/top_info_bg02.png) no-repeat left -7rem top 85rem/37.2rem 17.6rem, url(../img/top_info_bg03.png) no-repeat left 15rem top 81rem/31rem 15.4rem;
    padding: 9rem 0;
  }
}

.top_info .inner {
  width: 100rem;
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .top_info .inner {
    padding: 0 2rem;
  }
}

.top_info .news_box {
  padding-top: 6rem;
}

.top_info .btn {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .top_info .btn {
    margin-top: 2rem;
  }
}

.top_info .btn a {
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: underline;
}

.top_info .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  background: #000;
  color: #fff;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  margin-left: 1rem;
  text-align: center;
  border-radius: 100%;
}

.top_lead {
  position: relative;
  overflow: hidden;
}

.top_lead .bg {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.top_lead .bg::after {
  content: '';
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top_lead .bg video {
  display: block;
  width: 100%;
}

@media (max-width: 767px) {
  .top_lead .bg video {
    width: auto;
    height: 100%;
  }
}

.top_lead .inner {
  width: 100rem;
  max-width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .top_lead .inner {
    padding: 0 2rem;
  }
}

.top_lead .inner .box {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem 9rem;
  padding: 21.1rem 0;
}

@media (max-width: 767px) {
  .top_lead .inner .box {
    flex-direction: column;
    padding: 6rem 0;
  }
}

.top_lead .inner .box .catch img {
  width: 13rem;
  margin: 0 auto 1.5rem;
}

.top_lead .inner .box .catch p {
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
}

.top_lead .inner .box .txt {
  font-size: 1.6rem;
  line-height: 2;
}

.top_bg {
  background: url(../img/top_bg.png) no-repeat left -38rem top 5rem/190.6rem 140rem;
  padding: 14.2rem 0 10rem;
}

@media (max-width: 767px) {
  .top_bg {
    background: url(../img/top_bg_sp.png) no-repeat center top 4rem/55.3rem 88.7rem;
    padding: 9rem 0;
  }
}

.top_bg .lead {
  padding: 3rem 2rem 0;
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 767px) {
  .top_bg .lead {
    font-size: 1.4rem;
  }
}

.top_bg .slider {
  margin-top: 6rem;
}

@media (max-width: 767px) {
  .top_bg .slider {
    margin-top: 4rem;
  }
}

.top_bg .slider .slick-slide {
  position: relative;
  width: 64rem;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide {
    width: 31rem;
  }
}

.top_bg .slider .slick-slide .img {
  position: relative;
}

.top_bg .slider .slick-slide .img img {
  transition: .5s;
  transform: scale(0.9);
  border-radius: 2rem;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .img img {
    border-radius: 1rem;
  }
}

.top_bg .slider .slick-slide .img .ttl {
  display: none;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .img .ttl {
    display: block;
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -50% -50%;
  }
}

.top_bg .slider .slick-slide .box {
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 48rem;
  max-width: 100%;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .box {
    position: initial;
    translate: 0;
    opacity: 0;
  }
}

.top_bg .slider .slick-slide .ttl {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .ttl {
    display: none;
  }
}

.top_bg .slider .slick-slide .txt {
  color: #fff;
  display: none;
  padding: 3rem 0;
  font-size: 1.4rem;
  line-height: 2;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .txt {
    color: #000;
    display: block;
    padding: 4rem 0 2rem;
  }
}

.top_bg .slider .slick-slide .btn {
  display: none;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide .btn {
    display: block;
  }
}

.top_bg .slider .slick-slide .btn a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 18rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
  margin: 0 auto;
}

.top_bg .slider .slick-slide .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .top_bg .slider .slick-slide .btn a:hover {
    background: var(--c_green_ov);
  }
}

.top_bg .slider .slick-slide.slick-center img {
  transform: scale(1);
}

@media (min-width: 768px) {
  .top_bg .slider .slick-slide.slick-center .txt {
    display: block;
  }
  .top_bg .slider .slick-slide.slick-center .btn {
    display: block;
  }
}

@media (max-width: 767px) {
  .top_bg .slider .slick-slide.slick-center .box {
    opacity: 1;
  }
}

.top_bg .slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding-top: 3rem;
}

@media (max-width: 767px) {
  .top_bg .slider .slick-dots {
    position: absolute;
    inset: 18.4rem auto auto 50%;
    translate: -50% 0;
    padding-top: 0;
  }
}

.top_bg .slider .slick-dots li {
  background: var(--c_yellow);
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 100%;
  overflow: hidden;
  cursor: pointer;
}

.top_bg .slider .slick-dots li.slick-active {
  background: var(--c_green);
}

.top_bg .slider .slick-dots li button {
  background: none;
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
  border: none;
}

.top_solution {
  padding-top: 11.2rem;
}

@media (max-width: 767px) {
  .top_solution {
    padding-top: 9rem;
  }
}

.low {
  background: url(../img/low_bg.jpg) no-repeat center top/100%;
  padding-top: 8rem;
}

@media (max-width: 767px) {
  .low {
    padding-top: 6rem;
  }
}

.breadcrumbs {
  padding: 1rem 3rem 6rem;
}

@media (max-width: 767px) {
  .breadcrumbs {
    padding: 0 1rem 2rem;
  }
}

.breadcrumbs ul {
  display: flex;
}

.breadcrumbs ul li {
  background: #fff;
  position: relative;
  padding: .3rem 2rem .3rem 1rem;
  font-size: 1.2rem;
  white-space: nowrap;
  border-radius: 10rem 0 0 10rem;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.breadcrumbs ul li + li {
  margin-left: -1rem;
}

.breadcrumbs ul li:first-child {
  padding: .3rem 2rem .3rem 3.4rem;
}

.breadcrumbs ul li:first-child::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  background: var(--c_green);
  color: #fff;
  position: absolute;
  inset: 0 auto auto 0;
  width: 2.4rem;
  height: 2.4rem;
  line-height: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100%;
}

.breadcrumbs ul li:last-child {
  background: var(--c_green);
  color: #fff;
  max-width: 28.2rem;
  padding: .3rem 1rem;
  border-radius: 10rem;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.low_head {
  position: relative;
  width: 120rem;
  max-width: 100%;
  margin: 0 auto;
  z-index: 1;
}

@media (max-width: 767px) {
  .low_head {
    padding: 0 4rem;
  }
}

.low_head::before {
  content: '';
  background: linear-gradient(to bottom, #f2f2f2, rgba(242, 242, 242, 0));
  position: absolute;
  inset: 24rem auto auto 50%;
  translate: -50% 0;
  width: 132rem;
  height: 56.6rem;
  border-radius: 3rem;
  filter: drop-shadow(0 -3px 6px rgba(0, 0, 0, 0.2));
  z-index: -1;
}

@media (max-width: 767px) {
  .low_head::before {
    inset: 9.6rem auto auto 50%;
    width: calc(100% - 4rem);
  }
}

.low_head .mv {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 5rem;
  overflow: hidden;
  width: 100%;
  height: 41.3rem;
}

@media (max-width: 767px) {
  .low_head .mv {
    height: auto;
    border-radius: 2rem;
  }
}

.low_head .mv .content {
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 100%;
}

@media (max-width: 767px) {
  .low_head .mv .content {
    position: initial;
    translate: none;
    padding: 4rem 0;
  }
}

.low_head .links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 6rem;
}

@media (max-width: 767px) {
  .low_head .links {
    flex-direction: column;
    align-items: center;
    margin-top: 3.7rem;
  }
}

.low_head .links a {
  background: var(--c_yellow);
  color: #fff;
  display: block;
  padding: 1.5rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 10rem;
}

@media (max-width: 767px) {
  .low_head .links a {
    padding: .7rem 1.5rem;
    font-size: 1.2rem;
  }
}

.low_head .links a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  margin-left: 1rem;
}

.low_head .links a.active, .low_head .links a:hover {
  background: var(--c_green);
}

.low_head:not(:has( > .mv)) {
  padding-top: 9rem;
}

.low_head:not(:has( > .mv))::before {
  inset: 0 auto auto 50%;
}

.low_head.detail {
  width: 100rem;
  max-width: 100%;
}

@media (max-width: 767px) {
  .low_head.detail {
    padding-top: 4rem;
  }
}

.low_head.detail h1 {
  color: #23AC38;
  position: relative;
  padding-top: 6.3rem;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}

.low_head.detail h1::before {
  content: '';
  background: url(../img/ttl_point.png) no-repeat center/cover;
  position: absolute;
  inset: 0 auto auto 50%;
  translate: -50% 0;
  width: 5.4rem;
  height: 5.4rem;
}

@media (max-width: 767px) {
  .low_head.detail h1 {
    font-size: 2rem;
    text-align: left;
  }
}

.low_head.detail p {
  padding-top: 4rem;
  font-size: 1.4rem;
  text-align: right;
}

@media (max-width: 767px) {
  .low_head.detail p {
    padding-top: 2rem;
  }
}

.low_content {
  position: relative;
  padding-top: 9rem;
  z-index: 2;
}

@media (max-width: 767px) {
  .low_content {
    padding-top: 3rem;
  }
}

.low_content.detail {
  padding-top: 4rem;
}

.low_content.detail .inner {
  width: 100rem;
  max-width: 100%;
}

.low_content section {
  position: relative;
}

.low_content section .anchor {
  position: absolute;
  inset: 0 auto auto 0;
  translate: 0 -8rem;
}

@media (max-width: 767px) {
  .low_content section .anchor {
    translate: 0 -6rem;
  }
}

.low_content .lead {
  font-size: 1.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  .low_content .lead {
    font-size: 1.6rem;
    text-align: left;
  }
}

.inner {
  width: 120rem;
  max-width: 100%;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .inner {
    padding: 0 4rem;
  }
}

.anchor_nav {
  background: var(--g_orange_btm);
  display: flex;
  position: fixed;
  inset: 11rem 0 auto auto;
  margin-right: -26rem;
  z-index: 1;
  outline: 2px solid var(--c_orange);
  outline-offset: -2px;
  border-radius: 2rem 0 0 2rem;
  transition: .2s;
}

@media (max-width: 767px) {
  .anchor_nav {
    margin-right: -21.5rem;
  }
}

.anchor_nav ul {
  background: #fff;
  width: 26rem;
  padding: 2rem 1rem 2rem 2rem;
  border: 2px solid var(--c_orange);
  border-right: none;
  border-radius: 2rem 0 0 2rem;
}

@media (max-width: 767px) {
  .anchor_nav ul {
    width: 21.5rem;
  }
}

.anchor_nav ul li + li {
  margin-top: 1rem;
}

.anchor_nav ul a {
  display: inline-block;
  position: relative;
  padding-left: 3.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .anchor_nav ul a {
    padding-left: 2.8rem;
  }
}

.anchor_nav ul a::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  background: var(--g_orange_btm);
  color: #fff;
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  border-radius: 100%;
  width: 2.4rem;
  height: 2.4rem;
  line-height: 2.4rem;
  font-size: .8em;
  text-align: center;
}

@media (max-width: 767px) {
  .anchor_nav ul a::before {
    width: 1.8rem;
    height: 1.8rem;
    line-height: 1.8rem;
  }
}

@media (max-width: 767px) {
  .anchor_nav ul a {
    font-size: 1.2rem;
  }
}

.anchor_nav p {
  color: #fff;
  padding: 0 1rem;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: "Roboto", serif;
  text-align: center;
  writing-mode: tb;
  user-select: none;
  cursor: pointer;
}

.anchor_nav .close {
  background: var(--g_orange_btm);
  display: none;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: -1rem auto auto -1rem;
  width: 3rem;
  height: 3rem;
  border: 2px solid #fff;
  border-radius: 100%;
  cursor: pointer;
}

.anchor_nav .close::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
}

.anchor_nav.show {
  margin-right: 0;
}

.anchor_nav.show .close {
  display: flex;
}

.reviews01 ul, .reviews02 ul{
  display: grid;
}

.reviews01 ul .img, .reviews02 ul .img {
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}

.reviews01 ul .img .icons, .reviews02 ul .img .icons {
  display: flex;
  gap: 1rem;
  position: absolute;
}

.reviews01 ul .img .icons span, .reviews02 ul .img .icons span {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: block;
}

.reviews01 ul .img .icons span.zeroemi, .reviews02 ul .img .icons span.zeroemi {
  background-image: url(../img/reviwes_icon_zeroemi.png);
}

.reviews01 ul .img .icons span.soudenwari, .reviews02 ul .img .icons span.soudenwari {
  background-image: url(../img/reviwes_icon_soudenwari.png);
}

.reviews01 ul .img .icons span.ppa, .reviews02 ul .img .icons span.ppa {
  background-image: url(../img/reviwes_icon_ppa.png);
}

.reviews01 ul .img .icons span.chikudenchi, .reviews02 ul .img .icons span.chikudenchi {
  background-image: url(../img/reviwes_icon_chikudenchi.png);
}

.reviews01 ul .img .icons span.drvpp, .reviews02 ul .img .icons span.drvpp {
  background-image: url(../img/reviwes_icon_drvpp.png);
}

.reviews01 ul .img .icons span.chisanchisyou, .reviews02 ul .img .icons span.chisanchisyou {
  background-image: url(../img/reviwes_icon_chisanchisyou.png);
}

.reviews01 {
  padding-bottom: 9rem;
}

.reviews01 .catch {
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .reviews01 .catch {
    font-size: 2.4rem;
  }
}

.reviews01 ul {
  grid-template-columns: repeat(2, 1fr);
  gap: 9rem 6rem;
  padding-top: 9rem;
}

@media (max-width: 767px) {
  .reviews01 ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
    padding-top: 6rem;
  }
}

.reviews01 ul .img .icons {
  inset: 2rem auto auto 2.4rem;
}

@media (max-width: 767px) {
  .reviews01 ul .img .icons {
    inset: 1rem auto auto 1.5rem;
  }
}

.reviews01 ul .img .icons span {
  width: 6rem;
  height: 8rem;
}

@media (max-width: 767px) {
  .reviews01 ul .img .icons span {
    width: 4rem;
    height: 6rem;
  }
}

.reviews01 ul .ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 11rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-bottom: 5px solid var(--c_green);
}

@media (max-width: 767px) {
  .reviews01 ul .ttl {
    font-size: 2rem;
  }
}

.reviews01 ul .txt {
  padding-top: 2rem;
  font-size: 1.6rem;
  line-height: 2;
}

.reviews02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.reviews02 ul {
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 6rem;
}

@media (max-width: 767px) {
  .reviews02 ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.reviews02 ul .img .icons {
  inset: 1rem auto auto 1.5rem;
}

.reviews02 ul .img .icons span {
  width: 5rem;
  height: 7rem;
}

@media (max-width: 767px) {
  .reviews02 ul .img .icons span {
    width: 4rem;
    height: 6rem;
  }
}

.reviews02 ul .ttl {
  padding-top: 1rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.reviews02 ul.b{
	grid-template-columns: repeat(4, 1fr);
	padding-top: 9rem;
}

.reviews02 ul.b .ttl{
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}

@media (max-width: 767px) {
	.reviews02 ul.b{
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
	}
}

.powerplant01 {
  margin-bottom: 9rem;
}

.powerplant01 .generation {
  padding-bottom: 9rem;
}

.powerplant01 .generation ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  padding-top: 6rem;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.powerplant01 .generation ul li {
  padding: 3rem;
  border-radius: 2rem;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li {
    padding: 2rem;
  }
}

.powerplant01 .generation ul li.wind {
  background: linear-gradient(to bottom, rgba(173, 75, 209, 0.2) 0%, rgba(159, 44, 201, 0.2) 100%);
}

.powerplant01 .generation ul li.wind .kw {
  color: #A420C3;
}

.powerplant01 .generation ul li.sun {
  background: linear-gradient(to bottom, rgba(250, 190, 0, 0.2), rgba(204, 157, 9, 0.2));
}

.powerplant01 .generation ul li.sun .kw {
  color: #FFB100;
}

.powerplant01 .generation ul li.gomi {
  background: linear-gradient(to bottom, rgba(250, 167, 11, 0.2), rgba(237, 107, 0, 0.2));
}

.powerplant01 .generation ul li.gomi .kw {
  color: #ED6B00;
}

.powerplant01 .generation ul li.bio {
  background: linear-gradient(to bottom, rgba(143, 195, 31, 0.2), rgba(123, 163, 35, 0.2));
}

.powerplant01 .generation ul li.bio .kw {
  color: #8FC31F;
}

.powerplant01 .generation ul li.geother {
  background: linear-gradient(to bottom, rgba(234, 54, 61, 0.2), rgba(148, 38, 42, 0.2));
}

.powerplant01 .generation ul li.geother .kw {
  color: #94262A;
}

.powerplant01 .generation ul li.water {
  background: linear-gradient(to bottom, rgba(16, 208, 234, 0.2), rgba(0, 176, 240, 0.2));
}

.powerplant01 .generation ul li.water .kw {
  color: #00BBFF;
}

.powerplant01 .generation ul li .icon {
  margin-bottom: 3rem;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li .icon {
    margin-bottom: 1rem;
  }
}

.powerplant01 .generation ul li .icon img {
  width: auto;
  height: 12rem;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li .icon img {
    height: 10rem;
  }
}

.powerplant01 .generation ul li .type {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li .type {
    font-size: 2rem;
  }
}

.powerplant01 .generation ul li .kw {
  font-size: 6.4rem;
  font-weight: 900;
  text-align: center;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li .kw {
    font-size: 4.8rem;
  }
}

.powerplant01 .generation ul li .kw span {
  font-size: 3.2rem;
}

@media (max-width: 767px) {
  .powerplant01 .generation ul li .kw span {
    font-size: 2.4rem;
  }
}

.powerplant01 .generation .cap {
  padding-top: 2rem;
  font-size: 1.2rem;
  text-align: center;
}

.powerplant01 .areas .tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 5rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .tab {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

.powerplant01 .areas .tab a {
  background: #FABE00;
  color: #fff;
  display: block;
  padding: 1.5rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 10rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .tab a {
    padding: .5rem 0;
    font-size: 1.2rem;
    text-align: center;
  }
}

.powerplant01 .areas .tab a.active {
  background: linear-gradient(to bottom, #7BBD27, #46B034);
}

.powerplant01 .areas .district {
  margin-bottom: 9rem;
}

.powerplant01 .areas .district .area {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 2rem;
  font-size: 3.6rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .area {
    font-size: 2.4rem;
  }
}

.powerplant01 .areas .district .area img {
  width: 13rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .area img {
    width: 8rem;
  }
}

.powerplant01 .areas .district .lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists {
    grid-template-columns: repeat(1, 1fr);
  }
}

.powerplant01 .areas .district .lists li {
  padding: 2rem 1rem 1rem;
  border-radius: 1.5rem;
}

.powerplant01 .areas .district .lists li .ttl {
  color: #fff;
  padding-bottom: 2rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists li .ttl {
    font-size: 1.8rem;
  }
}

.powerplant01 .areas .district .lists li .box {
  display: flex;
  border-radius: 1.5rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists li .box {
    flex-direction: column;
  }
}

.powerplant01 .areas .district .lists li .box .img {
  width: 31.5rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists li .box .img {
    width: 100%;
  }
}

.powerplant01 .areas .district .lists li .box .txt_content {
  background: rgba(255, 255, 255, 0.9);
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 2.4rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists li .box .txt_content {
    padding: 2rem;
  }
}

.powerplant01 .areas .district .lists li .box .txt_content p {
  display: flex;
  align-items: center;
}

.powerplant01 .areas .district .lists li .box .txt_content p .a {
  width: 6.8rem;
  margin-right: 2rem;
  padding: .2rem 0;
  font-size: 1.2rem;
  text-align: center;
  border-radius: .3rem;
}

.powerplant01 .areas .district .lists li .box .txt_content p .b {
  position: relative;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .powerplant01 .areas .district .lists li .box .txt_content p .b {
    font-size: 1.4rem;
  }
}

.powerplant01 .areas .district .lists li .box .txt_content p + p {
  margin-top: 1rem;
}

.powerplant01 .areas .district .lists li .box .txt_content p.type .b {
  padding-left: 3.5rem;
}

.powerplant01 .areas .district .lists li .box .txt_content p.type .b::before {
  content: '';
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 3rem;
  height: 3rem;
}

.powerplant01 .areas .district .lists li.gomi {
  background: linear-gradient(to bottom, #faa70b, #ed6b00);
}

.powerplant01 .areas .district .lists li.gomi .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_gomi.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.gomi .box .txt_content p .a {
  background: rgba(237, 107, 0, 0.3);
}

.powerplant01 .areas .district .lists li.bio {
  background: linear-gradient(to bottom, #8fc31f, #7ba323);
}

.powerplant01 .areas .district .lists li.bio .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_bio.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.bio .box .txt_content p .a {
  background: rgba(123, 163, 35, 0.3);
}

.powerplant01 .areas .district .lists li.sun {
  background: linear-gradient(to bottom, #fabe00, #cc9d09);
}

.powerplant01 .areas .district .lists li.sun .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_sun.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.sun .box .txt_content p .a {
  background: rgba(204, 157, 9, 0.3);
}

.powerplant01 .areas .district .lists li.wind {
  background: linear-gradient(to bottom, #ad4bd1, #9f2cc9);
}

.powerplant01 .areas .district .lists li.wind .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_wind.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.wind .box .txt_content p .a {
  background: rgba(159, 44, 201, 0.3);
}

.powerplant01 .areas .district .lists li.geother {
  background: linear-gradient(to bottom, #EA363D, #94262A);
}

.powerplant01 .areas .district .lists li.geother .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_geother.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.geother .box .txt_content p .a {
  background: rgba(148, 38, 42, 0.3);
}

.powerplant01 .areas .district .lists li.water {
  background: linear-gradient(to bottom, #10D0EA, #00B0F0);
}

.powerplant01 .areas .district .lists li.water .box .txt_content p.type .b::before {
  background: url(../img/ico_gene_water.svg) no-repeat center/cover;
}

.powerplant01 .areas .district .lists li.water .box .txt_content p .a {
  background: rgba(0, 176, 240, 0.3);
}

.powerplant01 .areas .district .nomessage {
  font-size: 2rem;
  font-weight: 700;
}

.powerplant02 {
  padding-bottom: 9rem;
}

.powerplant02 .plans {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9.2rem 6rem;
  padding-bottom: 9rem;
}

@media (max-width: 767px) {
  .powerplant02 .plans {
    grid-template-columns: repeat(1, 1fr);
    gap: 6rem;
  }
}

.powerplant02 .plans .ttl {
  margin-bottom: 3rem;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .powerplant02 .plans .ttl {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
}

.powerplant02 .plans .coefficient {
  background: #EBEBEB;
  margin-bottom: 3rem;
  font-size: 1.6rem;
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .powerplant02 .plans .coefficient {
    margin-bottom: 2rem;
    padding-bottom: .5rem;
    font-size: 1.4rem;
    text-align: center;
  }
}

.powerplant02 .plans .coefficient span {
  background: #414141;
  color: #fff;
  display: inline-block;
  margin-right: 1.8rem;
  padding: .5rem 1.8rem;
}

@media (max-width: 767px) {
  .powerplant02 .plans .coefficient span {
    width: 100%;
    margin: 0 0 .5rem;
  }
}

.powerplant02 .plans .img {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}

@media (max-width: 767px) {
  .powerplant02 .plans .img {
    flex-direction: column;
  }
}

@media (min-width: 768px) {
  .powerplant02 .plans .img .a {
    width: calc(60% - 3rem);
  }
  .powerplant02 .plans .img .b {
    width: 40%;
  }
}

.powerplant02 .cap {
  counter-reset: num 0;
  font-size: 1.2rem;
}

.powerplant02 .cap li {
  padding-left: 2em;
  text-indent: -2em;
}

.powerplant02 .cap li::before {
  counter-increment: num 1;
  content: counter(num) ".　";
}

.powerplant02 .cap li + li {
  margin-top: 1rem;
}

.supply01 {
  padding-bottom: 9rem;
}

.supply01 .h2 + .lead {
  margin-bottom: 9rem;
}

.supply01 .img {
  width: 90rem;
  max-width: 100%;
  margin: 9rem auto 0;
}

@media (max-width: 767px) {
  .supply01 .img {
    overflow: scroll;
  }
  .supply01 .img img {
    width: 200%;
  }
}

.supply02 {
  background: #F2F2F2;
  padding: 9rem 0;
}

.supply02 .map {
  position: relative;
  width: 70rem;
  max-width: 100%;
  margin: 0 auto;
}

.supply02 .txt_content {
  position: absolute;
  inset: 0 auto auto 0;
}

@media (max-width: 767px) {
  .supply02 .txt_content {
    position: initial;
    margin-bottom: 4rem;
  }
}

.supply02 .txt_content .ttl {
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .supply02 .txt_content .ttl {
    font-size: 2rem;
  }
}

.supply02 .txt_content .txt {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .supply02 .txt_content .txt {
    font-size: 1.4rem;
  }
}

.supply02 .txt_content .area {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .8rem 3rem;
  margin-bottom: 4rem;
  font-size: 1.6rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .supply02 .txt_content .area {
    gap: .5rem 0;
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }
}

.supply02 .txt_content .area li {
  position: relative;
  padding-left: 2.3rem;
}

@media (max-width: 767px) {
  .supply02 .txt_content .area li {
    padding-left: 1.8rem;
  }
}

.supply02 .txt_content .area li::before {
  content: '';
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .supply02 .txt_content .area li::before {
    width: 1.4rem;
    height: 1.4rem;
  }
}

.supply02 .txt_content .area li.hokkaido::before {
  background: rgba(123, 66, 214, 0.6);
}

.supply02 .txt_content .area li.tohoku::before {
  background: rgba(48, 127, 232, 0.6);
}

.supply02 .txt_content .area li.kanto::before {
  background: rgba(0, 176, 240, 0.6);
}

.supply02 .txt_content .area li.chubu::before {
  background: rgba(35, 172, 56, 0.6);
}

.supply02 .txt_content .area li.hokuriku::before {
  background: rgba(2, 38, 2, 0.6);
}

.supply02 .txt_content .area li.kansai::before {
  background: rgba(153, 201, 22, 0.6);
}

.supply02 .txt_content .area li.chugoku::before {
  background: rgba(250, 199, 0, 0.6);
}

.supply02 .txt_content .area li.shikoku::before {
  background: rgba(237, 107, 0, 0.6);
}

.supply02 .txt_content .area li.kyusyu::before {
  background: rgba(236, 70, 111, 0.6);
}

.supply02 .txt_content .achievements {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .2rem;
  width: 24.2rem;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .supply02 .txt_content .achievements {
    width: 100%;
  }
}

.supply02 .txt_content .achievements li {
  background: rgba(35, 172, 56, 0.1);
  padding: .7rem 0;
}

.supply02 .txt_content .achievements li:nth-child(1) {
  background: var(--c_green);
  grid-column: span 2;
  color: #fff;
}

.supply03 {
  padding: 9rem 0;
}

.supply03 ul {
  display: flex;
  gap: 6rem;
}

@media (max-width: 767px) {
  .supply03 ul {
    flex-direction: column;
    gap: 3rem;
  }
}

.supply03 ul li {
  flex: 1;
}

.supply03 ul .ttl {
  background: var(--g_orange_btm);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

@media (max-width: 767px) {
  .supply03 ul .ttl {
    font-size: 2rem;
  }
}

.supply03 ul .img {
  background: #fff;
  padding: 2rem;
  border: 2px solid #ED6A01;
  border-radius: 0 0 2rem 2rem;
}

.supply03 ul .img img {
  width: auto;
  height: 20rem;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .supply03 ul .img img {
    height: 16rem;
  }
}

.supply03 ul .txt {
  padding-top: 1rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .supply03 ul .txt {
    font-size: 1.4rem;
  }
}

.supply04 {
  background: #F2F2F2;
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.supply04 .plan {
  padding-bottom: 6rem;
}

.supply04 .plan .type {
  padding-bottom: 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  text-decoration: 3px underline var(--c_green);
  text-underline-offset: 1rem;
}

@media (max-width: 767px) {
  .supply04 .plan .type {
    font-size: 2rem;
  }
}

.supply04 .plan .desc {
  padding-bottom: 4rem;
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 767px) {
  .supply04 .plan .desc {
    font-size: 1.4rem;
  }
}

.supply04 .plan .lists {
  counter-reset: num 0;
}

.supply04 .plan .lists li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1.8rem 3rem 1.8rem 1rem;
  border-radius: 10rem;
}

@media (max-width: 767px) {
  .supply04 .plan .lists li {
    flex-direction: column;
    padding: 1rem;
    border-radius: 2rem;
  }
}

.supply04 .plan .lists li.a {
  background: #DAEFD5;
}

.supply04 .plan .lists li.a .fee::before {
  background: #4AB231;
}

.supply04 .plan .lists li.b {
  background: #FEF2CC;
}

.supply04 .plan .lists li.b .fee::before {
  background: #FABE00;
}

.supply04 .plan .lists li.c {
  background: #FDE1CC;
}

.supply04 .plan .lists li.c .fee::before {
  background: #ED6B00;
}

.supply04 .plan .lists li.d {
  background: #CEEFFC;
}

.supply04 .plan .lists li.d .fee::before {
  background: #06B0F0;
}

.supply04 .plan .lists li + li {
  margin-top: 1rem;
}

.supply04 .plan .lists li .fee {
  position: relative;
  padding-left: 7rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .supply04 .plan .lists li .fee {
    padding: 5rem 0 0;
    font-size: 1.8rem;
    text-align: center;
  }
}

.supply04 .plan .lists li .fee::before {
  counter-increment: num 1;
  content: counter(num, decimal-leading-zero);
  color: #fff;
  display: block;
  position: absolute;
  inset: 50% auto auto 1rem;
  translate: 0 -50%;
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  text-align: center;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .supply04 .plan .lists li .fee::before {
    inset: 0 auto auto 50%;
    translate: -50% 0;
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
  }
}

.supply04 .plan .lists li .calculation {
  font-size: 2rem;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .supply04 .plan .lists li .calculation {
    padding-top: 1rem;
    font-size: 1.6rem;
  }
}

.supply04 .btn a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 20rem;
  margin: 0 auto;
  padding: 1.5rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.supply04 .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

.supply04 .btn a:hover {
  background: var(--c_green_ov);
}

.environment01 {
  padding-bottom: 9rem;
}

.environment01 .img {
  width: 57rem;
  max-width: 100%;
  margin: 4rem auto 0;
  border-radius: 2rem;
  overflow: hidden;
}

.environment02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.environment02 ul {
  display: flex;
  gap: 4rem 3rem;
}

@media (max-width: 767px) {
  .environment02 ul {
    flex-direction: column;
  }
}

.environment02 ul li {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.environment02 ul .plan {
  position: relative;
  width: 100%;
  margin-bottom: 3rem;
  padding-bottom: 1.8rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .environment02 ul .plan {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-size: 2rem;
  }
}

.environment02 ul .plan::after {
  content: '';
  background: var(--g_green);
  position: absolute;
  inset: auto auto 0 0;
  width: 100%;
  height: 2px;
}

.environment02 ul .plan span {
  display: block;
  font-size: 1.4rem;
}

.environment02 ul .desc {
  margin-bottom: 2rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .environment02 ul .desc {
    font-size: 1.4rem;
  }
}

.environment02 ul .lists {
  margin-top: auto;
  border-radius: 1rem;
  overflow: hidden;
}

.environment02 ul .lists dl + dl {
  margin-top: .2rem;
}

.environment02 ul .lists dt, .environment02 ul .lists dd {
  padding: .5rem 0;
  font-size: 1.6rem;
  text-align: center;
}

.environment02 ul .lists dt {
  background: #23AC38;
  color: #fff;
  font-weight: 700;
}

.environment02 ul .lists dd {
  background: #DFEDE1;
  margin-top: .2rem;
}

.environment02 .img {
  margin-top: 6rem;
}

@media (max-width: 767px) {
  .environment02 .img {
    overflow: scroll;
  }
  .environment02 .img img {
    width: 200%;
  }
}

.electric01 {
  background: var(--g_to_footer);
}

.electric01 .img {
  margin-top: 4rem;
}

.electric01 .img .relative{
	position: relative;
}

.electric01 .img a {
	position: absolute;
	inset: 37% 6% auto auto;
	width: 19%;
	height: 3%;
}

@media (max-width: 767px) {
  .electric01 .img {
    overflow: scroll;
  }
  .electric01 .img  .relative {
    width: 200%;
  }
	.electric01 .img a {
		width: 19%;
	}
}

.ppa01 {
  padding-bottom: 9rem;
}

.ppa01 .img {
  width: 57rem;
  max-width: 100%;
  margin: 4rem auto 6rem;
  border-radius: 2rem;
  overflow: hidden;
}

.ppa01 .merit {
  counter-reset: num 0;
  display: flex;
  gap: 4rem 3rem;
  padding-bottom: 6rem;
}

@media (max-width: 767px) {
  .ppa01 .merit {
    flex-direction: column;
  }
}

.ppa01 .merit li {
  flex: 1;
  position: relative;
}

.ppa01 .merit li::before {
  counter-increment: num 1;
  content: counter(num);
  background: var(--c_orange);
  color: #fff;
  display: block;
  position: absolute;
  inset: 0 auto auto 50%;
  translate: -50% -50%;
  width: 3.5rem;
  height: 3.5rem;
  line-height: 3.5rem;
  font-size: 1.9rem;
  text-align: center;
  border-radius: 100%;
}

.ppa01 .merit li .ttl {
  background: var(--g_orange);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 12.8rem;
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1rem;
}

@media (max-width: 767px) {
  .ppa01 .merit li .ttl {
    height: auto;
    margin-bottom: 1rem;
    padding: 2rem;
    font-size: 2.4rem;
  }
}

.ppa01 .merit li .txt {
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .ppa01 .merit li .txt {
    font-size: 1.4rem;
  }
}

.ppa01 .recommendation {
  background: #F4F4F4;
  padding: 5rem 3rem 4rem;
  border-radius: 2rem;
}

@media (max-width: 767px) {
  .ppa01 .recommendation {
    padding: 4rem 2rem;
  }
}

.ppa01 .recommendation .ttl {
  padding-bottom: 4rem;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .ppa01 .recommendation .ttl {
    font-size: 2.2rem;
  }
}

.ppa01 .recommendation .lists {
  display: flex;
  gap: 3rem;
  padding-bottom: 3rem;
}

@media (max-width: 767px) {
  .ppa01 .recommendation .lists {
    flex-direction: column;
  }
}

.ppa01 .recommendation .lists li {
  background: var(--g_blue_btm);
  color: #fff;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 2rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1.5rem;
}

.ppa01 .recommendation .lists li small {
  display: block;
  padding-top: .5rem;
  font-size: .8rem;
}

.ppa01 .recommendation .lists li::before {
  content: '';
  background: url(../img/ico_lamp.svg) no-repeat center/cover;
  position: absolute;
  inset: 0 auto auto 1rem;
  translate: 0 -50%;
  width: 5rem;
  height: 5.6rem;
}

.ppa01 .recommendation .cap {
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 767px) {
  .ppa01 .recommendation .cap {
    font-size: 1.4rem;
    text-align: left;
  }
}

.ppa02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.ppa02 .service {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem;
}

@media (max-width: 767px) {
  .ppa02 .service {
    grid-template-columns: repeat(1, 1fr);
  }
}

.ppa02 .service .box {
  margin-bottom: 2rem;
}

.ppa02 .service .box .ttl {
  background: var(--g_green_btm);
  color: #fff;
  padding: 2.4rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

.ppa02 .service .box .img {
  background: #fff;
  padding: 2rem;
  border: 2px solid #46B034;
  border-radius: 0 0 2rem 2rem;
  overflow: hidden;
}

.ppa02 .service .lists > li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .ppa02 .service .lists > li {
    padding-left: 1.5rem;
    font-size: 1.4rem;
  }
}

.ppa02 .service .lists > li + li {
  margin-top: 1.5rem;
}

.ppa02 .service .lists > li::before {
  content: '';
  background: #46B034;
  position: absolute;
  inset: .6rem auto auto 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .ppa02 .service .lists > li::before {
    width: 1rem;
    height: 1rem;
  }
}

.ppa03 {
  background: var(--g_to_footer);
  padding-top: 9rem;
}

.ppa03 .features {
  counter-reset: num 0;
  display: flex;
  gap: 4rem 3rem;
}

@media (max-width: 767px) {
  .ppa03 .features {
    flex-direction: column;
  }
}

.ppa03 .features li {
  flex: 1;
  position: relative;
}

.ppa03 .features li::before {
  counter-increment: num 1;
  content: counter(num);
  background: var(--c_orange);
  color: #fff;
  display: block;
  position: absolute;
  inset: 0 auto auto 50%;
  translate: -50% -50%;
  width: 3.5rem;
  height: 3.5rem;
  line-height: 3.5rem;
  font-size: 1.9rem;
  text-align: center;
  border-radius: 100%;
}

.ppa03 .features li .ttl {
  background: var(--g_orange);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 12.8rem;
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1rem;
}

@media (max-width: 767px) {
  .ppa03 .features li .ttl {
    height: auto;
    margin-bottom: 1rem;
    padding: 2rem;
    font-size: 2.4rem;
  }
}

.ppa03 .features li .txt {
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .ppa03 .features li .txt {
    font-size: 1.4rem;
  }
}

.ppa03 .features li .txt span {
  color: var(--c_orange);
}

.battery01 {
  padding-bottom: 9rem;
}

.battery01 .img {
  width: 57rem;
  max-width: 100%;
  margin: 4rem auto 0;
  border-radius: 2rem;
  overflow: hidden;
}

.battery02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.battery02 .service {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6rem;
}

@media (max-width: 767px) {
  .battery02 .service {
    grid-template-columns: repeat(1, 1fr);
  }
}

.battery02 .service .box {
  margin-bottom: 2rem;
}

.battery02 .service .box .ttl {
  background: var(--g_green_btm);
  color: #fff;
  padding: 2.4rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

.battery02 .service .box .img {
  background: #fff;
  padding: 2rem;
  border: 2px solid #46B034;
  border-radius: 0 0 2rem 2rem;
  overflow: hidden;
}

.battery02 .service .lists > li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .battery02 .service .lists > li {
    padding-left: 1.5rem;
    font-size: 1.4rem;
  }
}

.battery02 .service .lists > li + li {
  margin-top: 1.5rem;
}

.battery02 .service .lists > li::before {
  content: '';
  background: #46B034;
  position: absolute;
  inset: .6rem auto auto 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .battery02 .service .lists > li::before {
    width: 1rem;
    height: 1rem;
  }
}

.battery03 {
  padding: 9rem 0;
}

.battery03 .features {
  display: grid;
  grid-template: 'item1 item2' 'item1 item3'/ 1fr 1fr;
  gap: 6rem;
}

@media (max-width: 767px) {
  .battery03 .features {
    display: flex;
    flex-direction: column;
  }
}

.battery03 .features .box {
  margin-bottom: 2rem;
}

.battery03 .features .box .ttl {
  background: var(--g_orange_btm);
  color: #fff;
  padding: 2.4rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

.battery03 .features .box .ttl:not(:has( + .img)) {
  border-radius: 2rem;
}

.battery03 .features .box .img {
  background: #fff;
  padding: 2rem;
  border: 2px solid var(--c_orange);
  border-radius: 0 0 2rem 2rem;
  overflow: hidden;
}

.battery03 .features .txt {
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .battery03 .features .txt {
    font-size: 1.4rem;
  }
}

.battery04 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.battery04 .achievements {
  display: flex;
  gap: 6rem;
  padding-top: 4rem;
}

@media (max-width: 767px) {
  .battery04 .achievements {
    flex-direction: column;
  }
}

.battery04 .achievements li {
  flex: 1;
}

.battery04 .achievements li .img {
  border-radius: 2rem;
  overflow: hidden;
}

.battery04 .achievements li .ttl {
  margin-bottom: 2rem;
  padding: 2rem 0 calc(2rem + 5px);
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-bottom: 5px solid #23AC38;
}

@media (max-width: 767px) {
  .battery04 .achievements li .ttl {
    padding: 1rem 0 calc(1rem + 5px);
    font-size: 2rem;
  }
}

.battery04 .achievements li .txt {
  margin-bottom: 4rem;
  font-size: 1.6rem;
  line-height: 2;
}

@media (max-width: 767px) {
  .battery04 .achievements li .txt {
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
}

.battery04 .achievements li .btn a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 20rem;
  margin: 0 auto;
  padding: 1.5rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 1rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.battery04 .achievements li .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

.vppdr01 {
  padding-bottom: 9rem;
}

.vppdr01 .row {
  display: flex;
  align-items: center;
  gap: 6rem;
  margin-bottom: 9rem;
}

@media (max-width: 767px) {
  .vppdr01 .row {
    flex-direction: column;
    gap: 3rem;
    margin-bottom: 6rem;
  }
}

.vppdr01 .row > * {
  flex: 1;
}

.vppdr01 .row .txt {
  font-size: 1.6rem;
}

.vppdr01 .market_img {
  width: 80rem;
  max-width: 100%;
  margin: 0 auto 9rem;
}

@media (max-width: 767px) {
  .vppdr01 .market_img {
    margin: 0 auto 6rem;
  }
}

.vppdr01 .box {
  background: #F5F5F5;
  width: 80rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 5rem;
  border-radius: 3rem;
}

@media (max-width: 767px) {
  .vppdr01 .box {
    padding: 2rem;
    border-radius: 2rem;
  }
}

.vppdr01 .box .ttl {
  color: var(--c_green);
  padding-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .vppdr01 .box .ttl {
    font-size: 2rem;
  }
}

.vppdr01 .box .txt {
  font-size: 1.6rem;
  line-height: 2;
}

@media (max-width: 767px) {
  .vppdr01 .box .txt {
    font-size: 1.4rem;
  }
}

.vppdr02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.vppdr02 .img {
  width: 86rem;
  max-width: 100%;
  margin: 4rem auto 0;
}

@media (max-width: 767px) {
  .vppdr02 .img {
    overflow: scroll;
  }
  .vppdr02 .img img {
    width: 200%;
  }
}

.vppdr03 {
  padding: 9rem 0;
}

.vppdr03 .img {
  width: 96rem;
  max-width: 100%;
  margin: 4rem auto 0;
}

@media (max-width: 767px) {
  .vppdr03 .img {
    overflow: scroll;
  }
  .vppdr03 .img img {
    width: 200%;
  }
}

.vppdr04 {
  counter-reset: num 0;
  background: #F5F5F5;
  padding: 9rem 0;
}

.vppdr04 .row {
  display: flex;
  align-items: center;
  gap: 2rem 6rem;
}

.vppdr04 .row + .row {
  padding-top: 6rem;
}

@media (min-width: 768px) {
  .vppdr04 .row:nth-child(odd) {
    flex-direction: row-reverse;
  }
}

@media (max-width: 767px) {
  .vppdr04 .row {
    flex-direction: column-reverse;
  }
}

.vppdr04 .row .img {
  background: #fff;
  width: 66em;
  max-width: 100%;
  padding: 3rem;
  border-radius: 2rem;
}

.vppdr04 .row .txt_content {
  flex: 1;
}

.vppdr04 .row .txt_content .ttl {
  color: var(--c_blue);
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 3rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .vppdr04 .row .txt_content .ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}

.vppdr04 .row .txt_content .ttl::before {
  counter-increment: num 1;
  content: "事例" counter(num);
  background: var(--g_blue);
  color: #fff;
  display: block;
  padding: 2rem 5rem 2rem 2rem;
  clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
  border-radius: 2rem 0 0 2rem;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .vppdr04 .row .txt_content .ttl::before {
    padding: 1.2rem 3rem 1.2rem 1.2rem;
    border-radius: 1rem 0 0 1rem;
  }
}

.vppdr04 .row .txt_content .txt {
  position: relative;
  padding-left: 8rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .vppdr04 .row .txt_content .txt {
    font-size: 1.4rem;
  }
}

.vppdr04 .row .txt_content .txt small {
  display: block;
  padding-top: 2rem;
  font-size: 1.4rem;
}

@media (max-width: 767px) {
  .vppdr04 .row .txt_content .txt small {
    padding-top: 1rem;
    font-size: 1.2rem;
  }
}

.vppdr04 .row .txt_content .txt::before {
  content: 'Point!';
  background: var(--g_orange_btm);
  color: #fff;
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  width: 6rem;
  height: 6rem;
  line-height: 6rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100%;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
}

.company01 {
  padding-bottom: 12rem;
}

@media (max-width: 767px) {
  .company01 {
    padding-bottom: 9rem;
  }
}

.company01 dl {
  display: flex;
  flex-wrap: wrap;
  width: 61.4rem;
  margin: 0 auto 4rem;
  font-size: 1.6rem;
  border: 1px solid var(--c_orange);
  border-radius: 1rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .company01 dl {
    flex-direction: column;
    width: 100%;
    font-size: 1.4rem;
  }
}

.company01 dl dt {
  background: var(--c_orange);
  color: #fff;
  width: 25%;
  padding: 1.8rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .company01 dl dt {
    width: 100%;
    padding: 1.5rem;
  }
}

.company01 dl dd {
  width: 75%;
  padding: 1.8rem 2rem;
  border-bottom: 1px solid var(--c_orange);
}

.company01 dl dd:last-child {
  border-bottom: none;
}

@media (max-width: 767px) {
  .company01 dl dd {
    width: 100%;
    padding: 1.5rem;
  }
}

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

.company01 .download a {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .company01 .download a {
    font-size: 1.4rem;
  }
}

.company01 .download a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  background: #000;
  color: #fff;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  margin-left: 1rem;
  font-size: 1.5rem;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .company01 .download a::after {
    width: 2.4rem;
    height: 2.4rem;
    line-height: 2.4rem;
    font-size: 1.2rem;
  }
}

.company02 .row {
  display: grid;
  grid-template: "map train" "map car"/calc(64% - 6rem) 36%;
  gap: 4.2rem 6rem;
}

@media (max-width: 767px) {
  .company02 .row {
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }
}

.company02 .map {
  grid-area: map;
  position: relative;
  border-radius: 2rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .company02 .map {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
  }
}

.company02 .map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

@media (max-width: 767px) {
  .company02 .map iframe {
    position: absolute;
    inset: 0 auto auto 0;
  }
}

.company02 .train {
  grid-area: train;
}

.company02 .train .ttl {
  background: var(--g_orange_btm);
}

.company02 .train .ttl::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  margin-right: 1rem;
}

.company02 .train .txt {
  border: 2px solid var(--c_orange);
}

.company02 .car {
  grid-area: car;
}

.company02 .car .ttl {
  background: var(--g_green_btm);
}

.company02 .car .ttl::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  margin-right: 1rem;
}

.company02 .car .txt {
  border: 2px solid var(--c_green);
}

.company02 .ttl {
  color: #fff;
  padding: 1.8rem 0;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 2rem 2rem 0 0;
}

@media (max-width: 767px) {
  .company02 .ttl {
    font-size: 2rem;
  }
}

.company02 .txt {
  background: #fff;
  padding: 1.5rem 2rem;
  font-size: 1.4rem;
  line-height: 2;
  border-radius: 0 0 2rem 2rem;
}

.company02 .txt span {
  font-weight: 700;
}

.support01 .content01 {
  padding-bottom: 9rem;
}

.support01 .content01 .sec_ttl {
  margin-bottom: 4rem;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 2;
  text-decoration: 3px underline var(--c_green);
  text-underline-offset: 1rem;
  text-align: center;
}

@media (max-width: 767px) {
  .support01 .content01 .sec_ttl {
    font-size: 3rem;
  }
}

@media (min-width: 768px) {
  .support01 .content01 .h2 {
    margin-bottom: 9rem;
  }
}

.support01 .content01 .lead.a {
  margin-bottom: 9rem;
}

.support01 .content01 .cap {
  margin-top: 5.4rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 767px) {
  .support01 .content01 .cap {
    font-size: 1.6rem;
  }
}

.support01 .content01 .img {
  width: 94rem;
  max-width: 100%;
  margin: 2rem auto 0;
}

@media (max-width: 767px) {
  .support01 .content01 .img {
    overflow: scroll;
  }
  .support01 .content01 .img img {
    width: 200%;
  }
}

.support01 .content02 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.support01 .content02 .merit {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
}

.support01 .content02 .merit li {
  background: #fff;
  width: 34rem;
  padding: 3rem 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  border-radius: 6rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.16);
}

@media (max-width: 767px) {
  .support01 .content02 .merit li {
    width: 100%;
    font-size: 1.6rem;
  }
}

.support01 .content02 .merit img {
  width: 14rem;
  margin: 0 auto 1rem;
}

@media (max-width: 767px) {
  .support01 .content02 .merit img {
    width: 10rem;
  }
}

.support01 .content03 {
  padding: 9rem 0;
}

@media (max-width: 767px) {
  .support01 .content03 .sp_row {
    display: flex;
    gap: 2rem;
  }
}

.support01 .content03 .flow {
  color: #fff;
  display: flex;
  width: 89.6rem;
  margin: 0 auto 2rem;
  font-size: 2.4rem;
  font-weight: 700;
  border-radius: 2rem 0 0 2rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .support01 .content03 .flow {
    flex-direction: column;
    width: auto;
    margin-bottom: 0;
    font-size: 1.8rem;
    border-radius: 1rem 1rem 0 0;
  }
}

.support01 .content03 .flow span {
  display: block;
  width: 50%;
  clip-path: polygon(0 0, calc(100% - 2.5rem) 0, 100% 50%, calc(100% - 2.5rem) 100%, 0 100%);
}

@media (max-width: 767px) {
  .support01 .content03 .flow span {
    flex: 1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2.5rem), 50% 100%, 0 calc(100% - 2.5rem));
    writing-mode: tb;
  }
}

.support01 .content03 .flow span.a {
  background: var(--g_blue_lft);
  width: calc(50% + 2.5rem);
  margin-right: -2.5rem;
  padding: 2rem 3rem;
  z-index: 1;
}

@media (max-width: 767px) {
  .support01 .content03 .flow span.a {
    width: 100%;
    margin-right: 0;
    margin-bottom: -2.5rem;
    padding: 2rem 1rem;
  }
}

.support01 .content03 .flow span.b {
  background: var(--g_orange_lft);
  width: 50%;
  padding: 2rem 3rem 2rem 5.5rem;
}

@media (max-width: 767px) {
  .support01 .content03 .flow span.b {
    width: 100%;
    padding: 4.5rem 1rem 2rem 1rem;
  }
}

.support01 .content03 .row {
  display: flex;
  position: relative;
  width: 89.6rem;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .support01 .content03 .row {
    flex: 1;
    flex-direction: column;
    width: auto;
    gap: 6rem;
  }
}

.support01 .content03 .row > * {
  margin: 0 auto;
}

@media (max-width: 767px) {
  .support01 .content03 .row > * {
    margin: 0;
  }
}

.support01 .content03 .row::before {
  content: '';
  background: url(../img/support01_plus.svg) no-repeat center/cover;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 4.2rem;
  height: 4.2rem;
}

@media (max-width: 767px) {
  .support01 .content03 .row::before {
    width: 3rem;
    height: 3rem;
  }
}

.support01 .content03 .row .ttl {
  font-size: 2rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .support01 .content03 .row .ttl {
    font-size: 1.6rem;
  }
}

.support01 .content03 .row .lists {
  counter-reset: num 0;
  padding-top: 2rem;
}

@media (max-width: 767px) {
  .support01 .content03 .row .lists {
    padding-top: 1rem;
  }
}

.support01 .content03 .row .lists li {
  font-size: 1.8rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .support01 .content03 .row .lists li {
    font-size: 1.4rem;
  }
}

.support01 .content03 .row .lists li + li {
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .support01 .content03 .row .lists li + li {
    margin-top: .5rem;
  }
}

.support01 .content03 .row .lists li::before {
  counter-increment: num 1;
  content: counter(num);
  color: #fff;
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2.5rem;
  margin-right: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100%;
}

@media (max-width: 767px) {
  .support01 .content03 .row .lists li::before {
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    margin-right: .5rem;
    font-size: 1.2rem;
  }
}

.support01 .content03 .row .establishment .ttl {
  color: var(--c_blue);
}

.support01 .content03 .row .establishment .lists li::before {
  background: var(--g_blue_btm);
}

.support01 .content03 .row .operation .ttl {
  color: var(--c_orange);
}

.support01 .content03 .row .operation .lists li::before {
  background: var(--g_orange_btm);
}

.support01 .content04 {
  background: #F5F5F5;
  padding: 9rem 0;
}

.support01 .content04 .box {
  position: relative;
  width: 80rem;
  max-width: 100%;
  margin: 0 auto;
}

.support01 .content04 .lead {
  position: absolute;
  inset: 0 auto auto 0;
  text-align: left;
}

@media (max-width: 767px) {
  .support01 .content04 .lead {
    position: initial;
  }
}

.support01 .content04 .explanation {
  background: linear-gradient(to bottom, #fff, #F2F2F2);
  position: absolute;
  inset: auto 0 0 auto;
  padding: 2rem 2rem 2rem 7.8rem;
  font-size: 1.6rem;
  border-radius: 2rem;
}

@media (max-width: 767px) {
  .support01 .content04 .explanation {
    background: #fff;
    position: inherit;
    margin-top: 2rem;
    padding: 2rem 2rem 2rem 6rem;
    font-size: 1.4rem;
  }
}

.support01 .content04 .explanation::before {
  content: '';
  background: url(../img/support_map_pin.svg) no-repeat center/cover;
  position: absolute;
  inset: 50% auto auto 2rem;
  translate: 0 -50%;
  width: 3.8rem;
  height: 5rem;
}

@media (max-width: 767px) {
  .support01 .content04 .explanation::before {
    width: 3rem;
    height: 4rem;
  }
}

.support01 .content04 .map {
  position: relative;
}

@media (max-width: 767px) {
  .support01 .content04 .map {
    inset: 0 auto auto 50%;
    translate: -50% 0;
    width: 100vw;
    margin-top: 4rem;
  }
}

.support01 .content04 .map span {
  position: absolute;
  width: 2.3rem;
  height: 3rem;
  cursor: pointer;
}

@media (max-width: 767px) {
  .support01 .content04 .map span {
    width: 1.1rem;
    height: 1.4rem;
  }
}

.support01 .content04 .map span[href="iwate"] {
  inset: auto 23.4% 58.3% auto;
}

.support01 .content04 .map span[href="niigata"] {
  inset: auto 33.2% 45.9% auto;
}

.support01 .content04 .map span[href="saitama"] {
  inset: auto 31.8% 33.5% auto;
}

.support01 .content04 .map span[href="sizuoka"] {
  inset: auto 39.1% 27% auto;
}

.support01 .content04 .map span[href="aichi"] {
  inset: auto 43.1% 28.2% auto;
}

.support01 .content04 .map span[href="aichi2"] {
  inset: auto 45% 31% auto;
}

.support01 .content04 .map span[href="mie"] {
  inset: auto 46.5% 26.9% auto;
}

.support01 .content04 .map span[href="shimane"] {
  inset: auto 63.8% 31.3% auto;
}

.support01 .content04 .map span[href="hiroshima"] {
  inset: auto 63.8% 25.2% auto;
}

.support01 .content04 .map span[href="kumamoto"] {
  inset: auto 74.7% 14% auto;
}

.support01 .content04 .map .detail {
  display: none;
  background: #fff;
  position: absolute;
  inset: auto auto 31rem 8rem;
  width: 31rem;
  padding: 3rem;
  border-radius: 2rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail {
    inset: auto auto 16rem 2rem;
    width: 18rem;
    padding: 1.5rem;
  }
}

.support01 .content04 .map .detail::after {
  content: '';
  background: #fff;
  position: absolute;
  inset: 95% 2rem auto auto;
  width: 4.2rem;
  height: 5.1rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  clip-path: polygon(0 0, 100% 0, 80% 100%);
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail::after {
    width: 3rem;
    height: 3rem;
  }
}

.support01 .content04 .map .detail .place {
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail .place {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
}

.support01 .content04 .map .detail .place small {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail .place small {
    font-size: 1rem;
  }
}

.support01 .content04 .map .detail .company {
  margin-bottom: 2rem;
  font-size: 2rem;
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail .company {
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
}

.support01 .content04 .map .detail .txt {
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .support01 .content04 .map .detail .txt {
    font-size: 1rem;
  }
}

.support02 {
  background: var(--g_to_footer);
  padding: 9rem 0;
}

.support02 .sec_ttl {
  margin-bottom: 10.5rem;
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 2;
  text-decoration: 3px underline var(--c_green);
  text-underline-offset: 1rem;
  text-align: center;
}

@media (max-width: 767px) {
  .support02 .sec_ttl {
    font-size: 3rem;
  }
}

.support02 .row {
  display: flex;
  gap: 9rem 6rem;
}

@media (max-width: 767px) {
  .support02 .row {
    flex-direction: column;
  }
}

.support02 .row > * {
  flex: 1;
}

.support02 .lead {
  text-align: left;
}

.support02 .img {
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .support02 .img img {
    width: auto;
    height: 47.8rem;
    margin: 0 auto;
  }
}

.support02 .example {
  margin-top: 5rem;
}

@media (max-width: 767px) {
  .support02 .example {
    margin-top: 3rem;
  }
}

.support02 .example p {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.support02 .example ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem 2rem;
  margin-top: 2rem;
  font-size: 1.6rem;
}

.support02 .example ul li::before {
  content: '・';
}

@media (max-width: 767px) {
  .support02 .example ul {
    flex-direction: column;
  }
}

.info .year_select {
  display: flex;
  justify-content: flex-end;
  padding: 1rem 0 2rem;
  border-bottom: 1px solid #414141;
}

.info .year_select select {
  background: #414141;
  color: #fff;
  padding: 1rem 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  border: none;
  border-radius: 10rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  outline: none;
  cursor: pointer;
}

.info #news_list.info{
	border-color: #414141;
}

.info #news_list.release{
	border-color: var(--c_green);
}

.info #news_list.customer{
	border-color: var(--c_yellow);
}

.info .pager {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding-top: 4rem;
}

@media (max-width: 767px) {
  .info .pager {
    gap: .5rem;
    padding-top: 3rem;
  }
}

.info .pager li {
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  border-radius: 100%;
  overflow: hidden;
}

@media (max-width: 767px) {
  .info .pager li {
    width: 3.5rem;
    height: 3.5rem;
    line-height: 3.5rem;
  }
}

.info .pager a, .info .pager span {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 1.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  .info .pager a, .info .pager span {
    font-size: 1.6rem;
  }
}

.info .pager a {
  background: #E2E2E2;
}

.info .pager a.active {
  background: var(--c_green);
  color: #fff;
}

.info .pager a.prev::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
}

.info .pager a.next::before {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
}

.info .pager span {
  margin: 0 -1rem;
}

.info_detail h2 {
  color: var(--c_green);
  margin: 6rem 0 4rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .info_detail h2 {
    margin: 4rem 0 2rem;
    font-size: 2rem;
  }
}

.info_detail h3 {
  margin: 6rem 0 4rem;
  font-size: 1.8rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .info_detail h3 {
    margin: 4rem 0 2rem;
    font-size: 1.6rem;
  }
}

.info_detail p {
  margin-bottom: 4rem;
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .info_detail p {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
}

.info_detail img {
  margin: 4rem 0;
}

@media (max-width: 767px) {
  .info_detail img {
    margin: 2rem 0;
  }
}

.info_detail table {
  border-collapse: collapse;
  width: 100%;
  margin: 4rem 0;
  font-size: 1.6rem;
  line-height: 2;
  border-radius: 1rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .info_detail table {
    margin: 2rem 0;
    font-size: 1.4rem;
  }
}

.info_detail table tr + tr {
  border-top: 5px solid #fff;
}

.info_detail table td {
  background: #E8F7EA;
  padding: 2rem 3rem;
}

@media (max-width: 767px) {
  .info_detail table td {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
  }
}

.info_detail table td:first-child {
  background: var(--c_green);
  color: #fff;
  font-weight: 700;
  width: 20%;
}

@media (max-width: 767px) {
  .info_detail table td:first-child {
    width: 100%;
    text-align: center;
  }
}

.info_detail .btm {
  margin-top: 6rem;
  padding-top: 4rem;
  border-top: 1px solid #C4C4C4;
}

@media (max-width: 767px) {
  .info_detail .btm {
    margin-top: 4rem;
    padding-top: 2rem;
  }
}

.info_detail .btm p {
  font-size: 1.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  .info_detail .btm p {
    font-size: 1.6rem;
  }
}

.info_detail .btm p a {
  font-weight: 700;
  text-decoration: underline;
}

.info_detail .btm .btn a {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 18rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
  margin: auto;
}

.info_detail .btm .btn a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .info_detail .btm .btn a:hover {
    background: var(--c_green_ov);
  }
}

.contact {
  background: var(--g_to_footer2);
  padding-bottom: 11rem;
}

@media (max-width: 767px) {
  .contact {
    padding-bottom: 0;
  }
}

.contact p {
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 767px) {
  .contact p {
    font-size: 1.4rem;
  }
}

.contact ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 1rem;
  width: 100rem;
  margin: 4rem auto 0;
}

@media (max-width: 767px) {
  .contact ul {
    gap: 1rem;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .contact ul li {
    width: 100%;
  }
}

.contact ul a {
  display: block;
  position: relative;
  width: 36rem;
  padding: 1.8rem 0;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
}

.contact ul a::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 2rem auto auto;
  translate: 0 -50%;
  font-weight: 400;
}

@media (max-width: 767px) {
  .contact ul a {
    width: 100%;
  }
}

.contact ul a.buy {
  background: var(--g_orange);
  color: #fff;
}

@media (min-width: 768px) {
  .contact ul a.buy:hover {
    background: var(--g_orange_ov);
  }
}

.contact ul a.sell {
  background: var(--g_blue);
  color: #fff;
}

@media (min-width: 768px) {
  .contact ul a.sell:hover {
    background: var(--g_blue_ov);
  }
}

.contact ul a.other {
  background: #fff;
  color: #000;
  outline: 1px solid #000;
  outline-offset: -1px;
}

@media (min-width: 768px) {
  .contact ul a.other:hover {
    background: #000;
    color: #fff;
  }
}

.contact_buy p,
.contact_sell p,
.contact_other p {
  font-size: 1.6rem;
  text-align: center;
}

@media (max-width: 767px) {
  .contact_buy p,
  .contact_sell p,
  .contact_other p {
    font-size: 1.4rem;
  }
}

.contact_buy label.error,
.contact_sell label.error,
.contact_other label.error {
  display: block;
  color: red;
  width: 100%;
  padding-left: 1em;
  font-size: .8em;
}

.contact_buy .form,
.contact_sell .form,
.contact_other .form {
  width: 100rem;
  max-width: 100%;
  margin: 6rem auto 0;
}

.contact_buy .form form,
.contact_sell .form form,
.contact_other .form form {
  display: flex;
  flex-wrap: wrap;
}

.contact_buy .form dl,
.contact_sell .form dl,
.contact_other .form dl {
  display: flex;
  width: 100%;
  height: 6.4rem;
  font-size: 1.6rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .contact_buy .form dl,
  .contact_sell .form dl,
  .contact_other .form dl {
    flex-direction: column;
    height: auto;
    font-size: 1.4rem;
  }
}

.contact_buy .form dl + dl,
.contact_sell .form dl + dl,
.contact_other .form dl + dl {
  margin-top: 1rem;
}

.contact_buy .form dl dt,
.contact_sell .form dl dt,
.contact_other .form dl dt {
  background: #E7E7E7;
  display: flex;
  align-items: center;
  width: 20rem;
  padding: 0 1rem 0 3rem;
  font-weight: 700;
  border-radius: 1rem 0 0 1rem;
}

@media (max-width: 767px) {
  .contact_buy .form dl dt,
  .contact_sell .form dl dt,
  .contact_other .form dl dt {
    justify-content: center;
    width: 100%;
    padding: 1rem 0;
    border-radius: 1rem 1rem 0 0;
  }
}

.contact_buy .form dl dt sup,
.contact_sell .form dl dt sup,
.contact_other .form dl dt sup {
  font-size: 1.6rem;
}

.contact_buy .form dl dd,
.contact_sell .form dl dd,
.contact_other .form dl dd {
  background: #fff;
  flex: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  border: 1px solid #B7B7B7;
  border-radius: 0 1rem 1rem 0;
  overflow: hidden;
  position: relative;
}

.contact_buy .form dl dd.col,
.contact_sell .form dl dd.col,
.contact_other .form dl dd.col {
  align-items: center;
  flex-direction: row;
  justify-content: flex-start;
}

.contact_buy .form dl dd.col p,
.contact_sell .form dl dd.col p,
.contact_other .form dl dd.col p {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: flex-start;
}

.contact_buy .form dl dd.blank .wpcf7-list-item.first,
.contact_sell .form dl dd.blank .wpcf7-list-item.first,
.contact_other .form dl dd.blank .wpcf7-list-item.first {
  display: none;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd,
  .contact_sell .form dl dd,
  .contact_other .form dl dd {
    border-radius: 0;
  }
}

.contact_buy .form dl dd .wpcf7-list-item,
.contact_sell .form dl dd .wpcf7-list-item,
.contact_other .form dl dd .wpcf7-list-item {
  margin: 0;
}

.contact_buy .form dl dd .radio, .contact_buy .form dl dd .wpcf7-radio,
.contact_sell .form dl dd .radio,
.contact_sell .form dl dd .wpcf7-radio,
.contact_other .form dl dd .radio,
.contact_other .form dl dd .wpcf7-radio {
  display: flex;
  align-items: center;
  gap: .5rem 4rem;
  height: 100%;
  padding: 0 2rem;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd .radio, .contact_buy .form dl dd .wpcf7-radio,
  .contact_sell .form dl dd .radio,
  .contact_sell .form dl dd .wpcf7-radio,
  .contact_other .form dl dd .radio,
  .contact_other .form dl dd .wpcf7-radio {
    flex-wrap: wrap;
    width: 100%;
    padding: 1.5rem;
    font-size: 1.4rem;
  }
}

.contact_buy .form dl dd .radio .wpcf7-list-item, .contact_buy .form dl dd .wpcf7-radio .wpcf7-list-item,
.contact_sell .form dl dd .radio .wpcf7-list-item,
.contact_sell .form dl dd .wpcf7-radio .wpcf7-list-item,
.contact_other .form dl dd .radio .wpcf7-list-item,
.contact_other .form dl dd .wpcf7-radio .wpcf7-list-item {
  padding: 0;
  align-items: center;
  display: flex;
}

.contact_buy .form dl dd .radio .wpcf7-list-item span, .contact_buy .form dl dd .wpcf7-radio .wpcf7-list-item span,
.contact_sell .form dl dd .radio .wpcf7-list-item span,
.contact_sell .form dl dd .wpcf7-radio .wpcf7-list-item span,
.contact_other .form dl dd .radio .wpcf7-list-item span,
.contact_other .form dl dd .wpcf7-radio .wpcf7-list-item span {
  padding: 0;
}

.contact_buy .form dl dd .wpcf7-not-valid-tip,
.contact_sell .form dl dd .wpcf7-not-valid-tip,
.contact_other .form dl dd .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 1.5em;
  font-size: .8em;
}

.contact_buy .form dl dd label,
.contact_sell .form dl dd label,
.contact_other .form dl dd label {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.contact_buy .form dl dd input, .contact_buy .form dl dd select, .contact_buy .form dl dd textarea,
.contact_sell .form dl dd input,
.contact_sell .form dl dd select,
.contact_sell .form dl dd textarea,
.contact_other .form dl dd input,
.contact_other .form dl dd select,
.contact_other .form dl dd textarea {
  font-size: 1.6rem;
  outline: none;
}

.contact_buy .form dl dd input[type="text"], .contact_buy .form dl dd input[type="email"], .contact_buy .form dl dd input[type="tel"],
.contact_sell .form dl dd input[type="text"],
.contact_sell .form dl dd input[type="email"],
.contact_sell .form dl dd input[type="tel"],
.contact_other .form dl dd input[type="text"],
.contact_other .form dl dd input[type="email"],
.contact_other .form dl dd input[type="tel"] {
  width: 100%;
  height: 100%;
  padding: 0 2rem;
  border: none;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd input[type="text"], .contact_buy .form dl dd input[type="email"], .contact_buy .form dl dd input[type="tel"],
  .contact_sell .form dl dd input[type="text"],
  .contact_sell .form dl dd input[type="email"],
  .contact_sell .form dl dd input[type="tel"],
  .contact_other .form dl dd input[type="text"],
  .contact_other .form dl dd input[type="email"],
  .contact_other .form dl dd input[type="tel"] {
    padding: 1.5rem;
    font-size: 1.4rem;
  }
}

.contact_buy .form dl dd input[type="radio"],
.contact_sell .form dl dd input[type="radio"],
.contact_other .form dl dd input[type="radio"] {
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 1rem;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd input[type="radio"],
  .contact_sell .form dl dd input[type="radio"],
  .contact_other .form dl dd input[type="radio"] {
    width: 2rem;
    height: 2rem;
  }
}

.contact_buy .form dl dd select,
.contact_sell .form dl dd select,
.contact_other .form dl dd select {
  width: 100%;
  height: 100%;
  padding: 0 2rem;
  border: none;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd select,
  .contact_sell .form dl dd select,
  .contact_other .form dl dd select {
    padding: 1.5rem;
    font-size: 1.4rem;
  }
}

.contact_buy .form dl dd span,
.contact_sell .form dl dd span,
.contact_other .form dl dd span {
  padding-right: 2rem;
}

.contact_buy .form dl dd textarea,
.contact_sell .form dl dd textarea,
.contact_other .form dl dd textarea {
  width: 100%;
  height: 100%;
  padding: 2rem;
  border: none;
  resize: none;
}

@media (max-width: 767px) {
  .contact_buy .form dl dd textarea,
  .contact_sell .form dl dd textarea,
  .contact_other .form dl dd textarea {
    padding: 1.5rem;
    font-size: 1.4rem;
  }
}

@media (min-width: 768px) {
  .contact_buy .form dl.half,
  .contact_sell .form dl.half,
  .contact_other .form dl.half {
    width: 50%;
  }
  .contact_buy .form dl.left dd, .contact_buy .form dl.right dt,
  .contact_sell .form dl.left dd,
  .contact_sell .form dl.right dt,
  .contact_other .form dl.left dd,
  .contact_other .form dl.right dt {
    border-radius: 0;
  }
  .contact_buy .form dl.textarea,
  .contact_sell .form dl.textarea,
  .contact_other .form dl.textarea {
    height: 25.6rem;
  }
}

.contact_buy .form dl input:-webkit-autofill,
.contact_sell .form dl input:-webkit-autofill,
.contact_other .form dl input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.contact_buy .form dl textarea:-webkit-autofill,
.contact_sell .form dl textarea:-webkit-autofill,
.contact_other .form dl textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.contact_buy .form .btn,
.contact_sell .form .btn,
.contact_other .form .btn {
  margin: 6rem auto 0;
}

@media (max-width: 767px) {
  .contact_buy .form .btn,
  .contact_sell .form .btn,
  .contact_other .form .btn {
    margin: 2rem auto 0;
  }
}

.contact_buy .form .btn ul,
.contact_sell .form .btn ul,
.contact_other .form .btn ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}

.contact_buy .form .btn li,
.contact_sell .form .btn li,
.contact_other .form .btn li {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 18rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
  height: 4rem;
}

.contact_buy .form .btn li::after,
.contact_sell .form .btn li::after,
.contact_other .form .btn li::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .contact_buy .form .btn li:hover,
  .contact_sell .form .btn li:hover,
  .contact_other .form .btn li:hover {
    background: var(--c_green_ov);
  }
}

.contact_buy .form .btn input,
.contact_sell .form .btn input,
.contact_other .form .btn input {
  background: none;
  color: #fff;
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  border: none;
  border-radius: 10rem;
  cursor: pointer;
}

.contact_buy .form .btn.b,
.contact_sell .form .btn.b,
.contact_other .form .btn.b {
  display: none;
}

.contact_buy .form .btn #back,
.contact_sell .form .btn #back,
.contact_other .form .btn #back {
  background: #797878;
}

.contact_buy .wpcf7-response-output,
.contact_sell .wpcf7-response-output,
.contact_other .wpcf7-response-output {
  width: 100%;
  font-size: 1.6rem;
}

.contact_form:not(.confirm) .step2 {
  display: none;
}

.contact_form:not(.thanks) .step3 {
  display: none;
}

.contact_form.thanks form {
  display: none;
}

.contact_form.thanks .step1 {
  display: none;
}

.contact_form.thanks .step2 {
  display: none;
}

.contact_form.thanks .wpcf7-response-output {
  display: none;
}

.contact_form.confirm .wpcf7-response-output {
  display: none;
}

.contact_form.confirm .step1 {
  display: none;
}

.contact_form.confirm .step3 {
  display: none;
}

.contact_form.confirm .form dt sup {
  display: none;
}

.contact_form.confirm .form dd input[type="text"], .contact_form.confirm .form dd input[type="email"], .contact_form.confirm .form dd input[type="tel"], .contact_form.confirm .form dd textarea, .contact_form.confirm .form dd select {
  border: none;
  background: none;
}

.contact_form.confirm .form dd label {
  pointer-events: none;
}

.contact_form.confirm .form dd input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.contact_form.confirm .form dd textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.policy .content {
  padding-bottom: 12rem;
}

@media (max-width: 767px) {
  .policy .content {
    padding-bottom: 9rem;
  }
}

.policy .content:last-child {
  padding-bottom: 0;
}

.policy .ttl {
  color: var(--c_green);
  margin: 4rem 0 1rem;
  font-size: 2.4rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .policy .ttl {
    font-size: 2rem;
  }
}

.policy .txt {
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .policy .txt {
    font-size: 1.6rem;
  }
}

.policy .txt_link {
  color: var(--c_green);
  text-decoration: underline;
  word-wrap: break-word;
}

.policy .btn {
  background: var(--c_green);
  color: #fff;
  display: block;
  position: relative;
  width: 27.2rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 10rem;
  margin: 4rem auto 0;
}

.policy .btn::after {
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  position: absolute;
  inset: 50% 1.5rem auto auto;
  translate: 0 -50%;
}

@media (min-width: 768px) {
  .policy .btn:hover {
    background: var(--c_green_ov);
  }
}

.policy .table {
  width: 100rem;
  max-width: 100%;
  margin: 4rem auto;
  border-radius: 1rem;
  overflow: hidden;
}

@media (max-width: 767px) {
  .policy .table {
    margin: 2rem auto;
  }
}

.policy .table table {
  border-spacing: .5rem;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .policy .table table {
    font-size: 1.4rem;
  }
}

.policy .table table tr + tr {
  border-top: 5px solid #fff;
}

.policy .table table th {
  background: #E7E7E7;
  width: 20%;
  padding: 2rem 3rem;
  font-weight: 700;
  text-align: left;
}

@media (max-width: 767px) {
  .policy .table table th {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    text-align: center;
  }
}

.policy .table table td {
  background: #F0F0F0;
  width: 80%;
  padding: 2rem 3rem;
  line-height: 2;
}

@media (max-width: 767px) {
  .policy .table table td {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
  }
}

.policy .table ul li {
  padding-left: 1em;
  text-indent: -1em;
}

.policy .cap li {
  padding-left: 1.8em;
  text-indent: -1.8em;
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .policy .cap li {
    font-size: 1.6rem;
  }
}

.sitepolicy .lead {
  padding-bottom: 6rem;
  font-size: 1.6rem;
}

.sitepolicy .txt {
  padding-bottom: 12rem;
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .sitepolicy .txt {
    font-size: 1.6rem;
  }
}

.sitepolicy .txt:last-child {
  padding-bottom: 0;
}

.effect_ttl {
  visibility: hidden;
}

.effect_ttl.done {
  visibility: visible !important;
}

.effect_ttl em {
  font-style: normal;
}

.effect_ttl i {
  font-style: normal;
  opacity: 0;
  transition: opacity 1.2s, transform 1.2s;
  transform: translate3d(1em, 0, 0);
  display: inline-block;
  min-width: .25em;
  display: inline-block;
}

.effect_ttl.show i {
  opacity: 1;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  transform: none !important;
}

.effect_ttl.show i:nth-child(1) {
  transition-delay: 0s;
}

.effect_ttl.show i:nth-child(2) {
  transition-delay: 0.1s;
}

.effect_ttl.show i:nth-child(3) {
  transition-delay: 0.2s;
}

.effect_ttl.show i:nth-child(4) {
  transition-delay: 0.3s;
}

.effect_ttl.show i:nth-child(5) {
  transition-delay: 0.4s;
}

.effect_ttl.show i:nth-child(6) {
  transition-delay: 0.5s;
}

.effect_ttl.show i:nth-child(7) {
  transition-delay: 0.6s;
}

.effect_ttl.show i:nth-child(8) {
  transition-delay: 0.7s;
}

.effect_ttl.show i:nth-child(9) {
  transition-delay: 0.8s;
}

.effect_ttl.show i:nth-child(10) {
  transition-delay: 0.9s;
}

.effect_ttl.show i:nth-child(11) {
  transition-delay: 1s;
}

.effect_ttl.show i:nth-child(12) {
  transition-delay: 1.1s;
}

.effect_ttl.show i:nth-child(13) {
  transition-delay: 1.2s;
}

.effect_ttl.show i:nth-child(14) {
  transition-delay: 1.3s;
}

.evt {
  visibility: hidden;
}

.evt.done {
  visibility: visible;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3rem, 0);
    transform: translate3d(0, 3rem, 0);
  }
  30% {
    opacity: .5;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3rem, 0);
    transform: translate3d(0, 3rem, 0);
  }
  30% {
    opacity: .5;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

#news_list ul.all {
  display: none;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding-top: 4rem;
  text-align: center;
}

@media (max-width: 767px) {
  .wp-pagenavi {
    gap: .5rem;
    padding-top: 3rem;
  }
}

.wp-pagenavi a, .wp-pagenavi span {
  width: 5rem;
  height: 5rem;
  line-height: 5rem;
  position: relative;
  border-radius: 100%;
  background: #E2E2E2;
  border: 1px solid #DDD;
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .wp-pagenavi a, .wp-pagenavi span {
    width: 3.5rem;
    height: 3.5rem;
    line-height: 3.5rem;
  }
}

.wp-pagenavi .current {
  background: var(--c_green);
  border: none;
  color: #fff;
}

.wp-pagenavi .extend {
  background: none;
  border: none;
  width: auto;
  height: auto;
  margin-right: 1.6em;
  margin-left: .3em;
}

.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  color: #fff;
  border: none;
  color: transparent;
}

.wp-pagenavi .previouspostslink::before {
  color: #000;
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
}

.wp-pagenavi .nextpostslink::before {
  color: #000;
  content: "";
  display: inline-block;
  font-family: 'Font Awesome 6 Free';
  font-weight: 600;
}

#news_list .all {
  display: none;
}

#news_tab .all {
  background: #414141;
}

#news_tab .newsrelease {
  background: var(--c_green);
}

#news_tab .info {
  background: var(--c_yellow);
}

#news_tab .supply {
  background: var(--c_orange);
}

.ca_body .lead {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  margin-bottom: 5.5rem;
}

@media (max-width: 767px) {
  .ca_body .lead {
    text-align: left;
    font-size: 1.4rem;
  }
  .ca_body .lead br {
    display: none;
  }
}

.ca_body .h2 {
  margin-top: 11rem;
}

@media (max-width: 767px) {
  .ca_body .h2 {
    margin-top: 7rem;
  }
}

.ca_body .h2:nth-of-type(1) {
  margin-top: 0;
}

.ca_body dt {
  color: #23AC38;
  font-size: 2.4rem;
  font-weight: bold;
}

@media (max-width: 767px) {
  .ca_body dt {
    font-size: 2rem;
  }
}

.ca_body dd, .ca_body li, .ca_body p {
  line-height: 1.77;
  font-size: 1.8rem;
}

@media (max-width: 767px) {
  .ca_body dd, .ca_body li, .ca_body p {
    font-size: 1.6rem;
  }
}

.ca_body dd a, .ca_body li a, .ca_body p a {
  color: #23AC38;
  text-decoration: underline;
}

.ca_body li {
  margin-left: 1em;
  text-indent: -1em;
}

.ca_body ol > li {
  margin: 0;
  text-indent: 0;
}

.ca_body dd {
  margin-bottom: 4rem;
}

@media (max-width: 767px) {
  .ca_body dd {
    margin-bottom: 3rem;
  }
}

.ca_body .table {
  width: 100rem;
  max-width: 100%;
  margin: 4rem auto 0;
}

.ca_body table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 .7rem;
}

.ca_body tr > * {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.125;
  text-align: left;
  padding: 1em 2em;
}

@media (max-width: 767px) {
  .ca_body tr > * {
    font-size: 1.3rem;
    padding: 1em 1em;
    line-height: 1.875;
  }
}

.ca_body tr > *:nth-child(1) {
  font-weight: bold;
  width: 20rem;
}

@media (max-width: 767px) {
  .ca_body tr > *:nth-child(1) {
    width: 7rem;
  }
}

.ca_body tr:last-child th {
  border-radius: 0 0 0 1rem;
}

.ca_body tr:last-child td {
  border-radius: 0 0 1rem 0;
}

.ca_body td {
  word-break: break-all;
}

.ca_body td li, .ca_body td p {
  line-height: inherit;
}

@media (max-width: 767px) {
  .ca_body td li, .ca_body td p {
    font-size: 1.3rem;
  }
}

.ca_body thead th:nth-child(1) {
  background: rgba(35, 172, 56, 0.3);
  border-radius: 1rem 0 0 0;
}

.ca_body thead th:nth-child(2) {
  background: rgba(35, 172, 56, 0.1);
  border-radius: 0 1rem 0 0;
}

.ca_body tbody th {
  background: #E7E7E7;
}

.ca_body tbody td {
  background: rgba(231, 231, 231, 0.3);
}