.web_font, .ttl_style_en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal; }

.web_font2 {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.05em; }

.ttl_style_big {
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.5; }

@media screen and (max-width: 768px) {
  .ttl_style_big {
    font-size: 4.358974359vw;
    line-height: 1.58; } }
.ttl_style_small {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 2; }

@media screen and (max-width: 768px) {
  .ttl_style_small {
    font-size: 3.5897435897vw;
    line-height: 1.57; } }
.ttl_style_en {
  font-size: 1.375rem;
  line-height: 1.36; }

@media screen and (max-width: 768px) {
  .ttl_style_en {
    font-size: 3.3333333333vw;
    line-height: 1.36; } }
.btn_style1 {
  width: 22.5rem;
  height: 2.5rem;
  border: 1px solid #64696E;
  border-radius: 100px;
  font-size: 0.8125rem;
  position: relative; }
  .btn_style1:before {
    display: block;
    content: '';
    width: 0.5625rem;
    height: 0.6875rem;
    background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
    background-size: 0.5625rem 0.6875rem;
    position: absolute;
    top: 50%;
    right: 1.25rem;
    transform: translate3d(0, -50%, 0); }
  .btn_style1 a, .btn_style1 span {
    display: flex;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-left: 1.25rem;
    align-items: center; }
  .btn_style1.left {
    margin-left: auto; }
  .btn_style1.mini {
    width: 15rem; }
  .btn_style1.window:before {
    width: 0.75rem;
    height: 0.75rem;
    background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
    background-size: 0.75rem 0.75rem; }
  .btn_style1.white {
    border-color: #fff; }
    .btn_style1.white:before {
      background: url("/energy_supply/energy/newenergy/images/icon_arrow_w.png") left top no-repeat;
      background-size: 0.5625rem 0.6875rem; }
    .btn_style1.white a, .btn_style1.white span {
      color: #fff !important; }

@media screen and (max-width: 768px) {
  .btn_style1 {
    width: 76.9230769231vw;
    height: 7.6923076923vw;
    font-size: 2.8205128205vw; }
    .btn_style1:before {
      width: 2.4358974359vw;
      height: 2.8205128205vw;
      background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
      background-size: 2.4358974359vw 2.8205128205vw;
      right: 3.8461538462vw; }
    .btn_style1 a, .btn_style1 span {
      padding-left: 3.8461538462vw; }
    .btn_style1.mini {
      width: 30.7692307692vw;
      width: 76.9230769231vw; }
    .btn_style1.window:before {
      width: 2.5641025641vw;
      height: 2.5641025641vw;
      background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
      background-size: 2.5641025641vw 2.5641025641vw; }
    .btn_style1.white:before {
      background: url("/energy_supply/energy/newenergy/images/icon_arrow_w.png") left top no-repeat;
      background-size: 2.4358974359vw 2.8205128205vw; }
    .btn_style1.white.window:before {
      background: url("../images/icon_window_w.png") left top no-repeat;
      background-size: 2.5641025641vw 2.5641025641vw; } }
.btn_style2 {
  width: 100%;
  height: 2.5rem;
  border: 1px solid #64696E;
  border-radius: 100px;
  font-size: 1.125rem;
  position: relative; }
  .btn_style2:before {
    display: block;
    content: '';
    width: 0.5625rem;
    height: 0.6875rem;
    background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
    background-size: 0.5625rem 0.6875rem;
    position: absolute;
    top: 50%;
    right: 1.25rem;
    transform: translate3d(0, -50%, 0); }
  .btn_style2 a {
    display: flex;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center; }
  .btn_style2.window:before {
    width: 0.75rem;
    height: 0.75rem;
    background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
    background-size: 0.75rem 0.75rem; }
  .btn_style2.white {
    border-color: #fff; }
    .btn_style2.white:before {
      background: url("/energy_supply/energy/newenergy/images/icon_arrow_w.png") left top no-repeat;
      background-size: 0.5625rem 0.6875rem; }
    .btn_style2.white a {
      color: #fff !important; }
    .btn_style2.white.window:before {
      width: 0.75rem;
      height: 0.75rem;
      background: url("../images/icon_window_w.png") left top no-repeat;
      background-size: 0.75rem 0.75rem; }

@media screen and (max-width: 768px) {
  .btn_style2 {
    height: 10.2564102564vw;
    font-size: 3.5897435897vw; }
    .btn_style2:before {
      width: 2.4358974359vw;
      height: 2.8205128205vw;
      background: url("/energy_supply/energy/newenergy/images/icon_arrow.png") left top no-repeat;
      background-size: 2.4358974359vw 2.8205128205vw;
      right: 2.5641025641vw; }
    .btn_style2.window:before {
      width: 2.5641025641vw;
      height: 2.5641025641vw;
      background: url("/energy_supply/energy/newenergy/images/icon_window.png") left top no-repeat;
      background-size: 2.5641025641vw 2.5641025641vw; }
    .btn_style2.white:before {
      background: url("/energy_supply/energy/newenergy/images/icon_arrow_w.png") left top no-repeat;
      background-size: 2.4358974359vw 2.8205128205vw; }
    .btn_style2.white.window:before {
      width: 2.5641025641vw;
      height: 2.5641025641vw;
      background: url("/energy_supply/energy/newenergy/images/icon_arrow_w.png") left top no-repeat;
      background-size: 2.5641025641vw 2.5641025641vw; } }
@keyframes floating-y {
  0% {
    transform: translateY(-10%); }
  100% {
    transform: translateY(10%); } }
@keyframes floating-y2 {
  0% {
    transform: translateY(-5%); }
  100% {
    transform: translateY(5%); } }
@keyframes rotation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/*------------------------------------------------------------
#Contents_area
------------------------------------------------------------*/
#Contents_area img {
  width: 100%;
  height: auto; }
#Contents_area .section_box {
  padding-bottom: 3.75rem;
  margin-bottom: 2.1875rem;
  border-bottom: 1px solid #000000; }
  #Contents_area .section_box:first-child {
    padding-top: 1.25rem; }
  #Contents_area .section_box:last-child {
    border-bottom: none; }
  #Contents_area .section_box h2 {
    margin-bottom: 3.75rem; }
  #Contents_area .section_box h3 {
    margin-bottom: 1.25rem; }
  #Contents_area .section_box a {
    text-decoration: underline; }
  #Contents_area .section_box.section01 .box {
    display: flex;
    justify-content: space-between; }
    #Contents_area .section_box.section01 .box .left_box {
      width: 22.9375rem; }
    #Contents_area .section_box.section01 .box .right_box {
      width: 37.5rem; }
    #Contents_area .section_box.section01 .box + .box {
      margin-top: 5rem; }
  #Contents_area .section_box.section02 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #Contents_area .section_box.section02 ul li {
      width: 18.75rem; }
      #Contents_area .section_box.section02 ul li:last-child {
        width: 100%;
        margin-top: 3.75rem;
        display: flex;
        justify-content: space-between; }
        #Contents_area .section_box.section02 ul li:last-child .left_area {
          width: 31.25rem; }
        #Contents_area .section_box.section02 ul li:last-child .right_area {
          width: 28.0625rem; }

@media screen and (max-width: 768px) {
  #Contents_area .section_box {
    padding-bottom: 12.8205128205vw;
    margin-bottom: 4.4871794872vw; }
    #Contents_area .section_box:first-child {
      padding-top: 2.5641025641vw; }
    #Contents_area .section_box:last-child {
      margin-bottom: 0vw;
      padding-bottom: 7.6923076923vw; }
    #Contents_area .section_box h2 {
      margin-bottom: 7.6923076923vw; }
    #Contents_area .section_box h3 {
      margin-bottom: 2.5641025641vw; }
    #Contents_area .section_box.section01 .box {
      display: block; }
      #Contents_area .section_box.section01 .box .left_box {
        width: 100%;
        margin-bottom: 6.4102564103vw; }
      #Contents_area .section_box.section01 .box .right_box {
        width: 100%; }
        #Contents_area .section_box.section01 .box .right_box .link {
          margin-top: 1.2820512821vw; }
      #Contents_area .section_box.section01 .box + .box {
        margin-top: 10.2564102564vw; }
    #Contents_area .section_box.section02 ul {
      display: block; }
      #Contents_area .section_box.section02 ul li {
        width: 100%;
        margin-bottom: 10.2564102564vw; }
        #Contents_area .section_box.section02 ul li:last-child {
          width: 100%;
          margin: 0;
          display: block; }
          #Contents_area .section_box.section02 ul li:last-child .left_area {
            width: 100%;
            margin-bottom: 6.4102564103vw; }
          #Contents_area .section_box.section02 ul li:last-child .right_area {
            width: 100%; } }
