@charset "utf-8";

/* CSS Document */

:root {
  --fontsize-lrg: 18px;
  --fontsize-med: 16px;
  --fontsize-sml: 15px;
  --fontsize-xsml: 14px;
  --fontsize-xxsml: 13px;

  --fontweight-med: 500;
  --fontweight-bold: bold;

  --fontroboto: 'Roboto', sans-serif;

  }

html{}
  body{
    font-size: var( --fontsize-med);
    font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", Helvetica Neue,Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: var(--color-black);
    line-height: 1.75;
    -webkit-text-size-adjust: 100%;
    position: relative;
    }
    a{color: var(--color-black);}

    _:lang(x)::-ms-backdrop, .selector {
      font-family: Meiryo, sans-serif;
      }

.mainvisual{
  padding-bottom: 24%;
  position: relative;
  overflow-x: hidden;
  }
  .mainvisualmain{
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 1;
    }
    .pagettl{
      font-size: 30px;
      font-weight: bold;
      position: absolute;
      top: 10%;
      left: 8.5%;
      }
    .illustwrap{
      display: flex;
      justify-content: flex-end;
      width: 59.5%;
      max-width: 850px;
      position: absolute;
      right: 12%;
      bottom: -30%;
      }
      .illustmain{
        overflow: hidden;
        width: 93.5%;
        max-width: 835px;
        position: absolute;
        top: 4%;
        right: -2%;
        }
      .illustbg{
        width: 100%;
        z-index: 1;
        }
      .illustmain-anime {animation: illustmain-anime 60s linear infinite;}
      @keyframes illustmain-anime {
        0%  {transform: rotate(0);}
        100%  {transform: rotate(-360deg);}
        }
    .mainvisualcatch{
      width: 208px;
      position: absolute;
      bottom: 0;
      left: 7%;
      }  
  .scrollbutton{
    width: 42px;
    position: absolute;
    right: 20px;
    bottom: 20px;
    }
    .scrollbutton-link{transition: .3s;}
      .scrollbutton-link:hover{opacity: .7;}

  .mainvisualbg{
    width: 100%;
    height: calc(100vh + 100px);
    background-image: url(../images/mv-fig-03.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    }

.declarationwrap{
  margin-bottom: 130px;
  padding-top: 30px;
  padding-right: 20px;
  padding-left: 20px;
  position: relative;
  }
  .declarationwrap::before,
  .declarationwrap::after{
    content: "";
    width: 50%;
    height: 100%;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    }
    .declarationwrap::before{
      max-width: 379px;
      background-image: url(../images/declaration-fig-02.jpg);
      background-position: left bottom;
      left: 0;
      bottom: 0;
      }
      .declarationwrap::after{
        max-width: 371px;
        background-image: url(../images/declaration-fig-03.jpg);
        background-position: right bottom;
        right: 0;
        bottom: -50px;
        }  
  .declarationinner{
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 100;
    }
    .declarationttl{
      max-width: 574px;
      margin: 0 auto 100px;
      }
    .declarationpar{
      font-weight: bold;
      text-align: center;
      line-height: 2.4;
      }
      .declarationpar:not(:last-of-type){margin-bottom: 2em;}

.objective{
  margin-bottom: 180px;
  padding-right: 20px;
  padding-left: 20px;
  }
  .objectiveinner{
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    }
    .objective-ttl{
      max-width: 579px;
      position: relative;
      z-index: 100;
      }
    .objectivelist{
      display: flex;
      align-items: flex-end;
      margin-top: -23.6%;
      margin-bottom: 100px;
      }
      .objectiveitem{
        width: calc(100% / 3);
        background-repeat: no-repeat;
        background-size: 100% auto;
        position: relative;
        }
        .objectivedeco01{
          width: 62px;
          position: absolute;
          bottom: 0;
          left: -30px;
          z-index: 200;
          }
        .objectivedeco02{
          width: 95px;
          position: absolute;
          bottom: -125px;
          right: 6%;
          z-index: 200;
          }
    .sdgswrap{
      display: flex;
      align-items: flex-start;
      padding-top: 75px;
      padding-right: 100px;
      padding-bottom: 75px;
      padding-left: 100px;
      background-color: rgba(234,245,248,1);
      border-radius: 10px;
      }
      .sdgsdetail{
        order: 1;
        width: calc(52% - 70px);
        }
        .sdgsttl{
          margin-bottom: 10px;
          font-size: 30px;
          font-weight: bold;
          color: rgba(45,159,187,1);
          }
        .sdgspar{
          font-size: 14px;
          line-height: 2.2;
          }
      .sdgsfig{
        order: 0;
        width: 48%;
        margin-right: 70px;
        padding-top: 45px;
        padding-right: 25px;
        padding-bottom: 45px;
        padding-left: 25px;
        background-color: rgba(255,255,255,1);
        }

.qanda{
  margin-bottom: 150px;
  padding-right: 20px;
  padding-left: 20px;
  background-image: url(../images/qanda-fig-01.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100%;
  }
  .qandainner{padding-top: 21%;}
    .qandattl{
      width: 100%;
      max-width: 760px;
      margin: 0 auto 125px;
      padding-left: 160px;
      }
    .qandalist{
      max-width: 1080px;
      margin: 0 auto;
      }
      .qandaitem{
        display: flex;
        align-items: center;
        }
        .qandaitem.left{margin-bottom: 25px;}
        .qandaitem:first-of-type{margin-bottom: 90px;}
        .qandaitem-main{}
          .fig .qandaitem-main{width: calc(100% - 500px);}
          .right .qandaitem-main{order: 0;}
          .qandaitem-head{
            display: flex;
            align-items: flex-start;
            margin-bottom: 25px;
            }
            .qandaitem-head::before{
              content: "Q";
              width: 65px;
              font-family: var(--fontroboto);
              font-size: 62px;
              font-weight: bold;
              color: rgba(45,159,187,1);
              line-height: 1;
              }
              .qandaitem-head-par{
                width: calc(100% - 65px);
                font-size: 24px;
                font-weight: bold;
                color: rgba(45,159,187,1);
                line-height: 1.4;
                }
          .qandaitem-body{                
            display: flex;
            align-items: flex-start;
            }
            .qandaitem-body::before{
              content: "A";
              width: 65px;
              font-family: var(--fontroboto);
              font-size: 62px;
              font-weight: bold;
              color: rgba(233,117,94,1);
              line-height: 1;
              }
              .qandaitem-body-par{
                width: calc(100% - 65px);
                font-weight: bold;
                line-height: 1.8;
                }
        .left .qandaitem-fig{
          width: 505px;
          margin-right: 65px;
          margin-left: -50px;
          }
        .right .qandaitem-fig{
          order: 1;
          width: 505px;
          margin-right: -50px;
          margin-left: 65px;
          }

.blogcta{
  padding-top: 110px;
  padding-right: 20px;
  padding-bottom: 110px;
  padding-left: 20px;
  background-image: url(../images/cta-fig-03.jpg), url(../images/cta-fig-04.jpg);
  background-position: center top, center bottom;
  background-repeat: repeat-x;
  background-size: 1380px;
  background-color: rgba(45,159,187,1);
  }
  .blogcta-link{
    display: flex;
    max-width: 940px;
    margin: 0 auto;
    transition: .3s;
    position: relative;
    z-index: 300;
    }
    .blogcta-link:hover{opacity: .7;}
    .blogcta-link img{align-self: flex-start;}
.support{
  padding-top: 210px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: rgba(234,245,248,1);
  position: relative;
  }
  .supportinner{
    position: relative;
    z-index: 200;
    }
    .supporthead{
      max-width: 770px;
      margin: 0 auto;
      padding-top: 60px;
      padding-right: 20px;
      padding-bottom: 60px;
      padding-left: 20px;
      border-radius: 10px;
      background-color: rgba(255,255,255,1);
      position: relative;
      z-index: 200;
      }
      .supportttl{
        max-width: 541px;
        margin: 0 auto 30px;
        }
      .supportintro{
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        line-height: 2;
        }
      .supporthead-deco01{
        width: 64px;
        position: absolute;
        top: -68px;
        left: 50%;
        }
      .supporthead-deco02{
        width: 116px;
        position: absolute;
        top: 20px;
        left: -44px;
        z-index: 100;
        }
      .supporthead-deco03{
        width: 93px;
        position: absolute;
        top: 20px;
        right: -27px;
        z-index: 100;
        }
    .supportlist{
      max-width: 1080px;
      margin: -180px auto;
      padding-top: 265px;
      padding-right: 20px;
      padding-left: 20px;
      padding-bottom: 140px;
      border-radius: 10px;
      background-color: rgba(255,255,255,1);
      }
      .supportlist-main{}
        .supportlist-detail{
          display: flex;
          flex-wrap: wrap;
          max-width: 772px;
          margin: 0 auto;
          }
          .supportlist-item{
            padding-top: 25px;
            padding-right: 15px;
            padding-bottom: 25px;
            padding-left: 15px;
            width: calc((100% - 75px) / 2);
            font-weight: bold;
            line-height: 1.2;
            background-image: url(../images/support-fig-05.svg);
            background-position: left bottom;
            background-repeat: repeat-x;
            }
            .supportlist-item:nth-of-type(-n+2){
              background-image: url(../images/support-fig-05.svg), url(../images/support-fig-05.svg);
              background-position: left bottom, left top;
              background-repeat: repeat-x;
              }
            .supportlist-item:not(:nth-of-type(2n+2)){margin-right: 75px;}

.support-deco01{
  width: 525px;
  position: absolute;
  top: -460px;
  left: 0;
  }
.support-deco02{
  width: 409px;
  position: absolute;
  top: -455px;
  right: 0;
  }
.support-deco03{
  width: calc(100% + 40px);
  margin-left: -20px;
  margin-top: 120px;
  position: relative;
  z-index: 300;
  }  

.waveframe{position: relative;}
  .waveframe::before,
  .waveframe::after{
    content: "";
    width: 20px;
    height: calc(100% - 38px);
    background-repeat: repeat-y;
    background-size: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    }
    .waveframe::before{
      background-image: url(../images/waveframe-fig-08.png);
      left: 0;
      }
    .waveframe::after{
      background-image: url(../images/waveframe-fig-04.png);
      right: 0;
      }

.waveframe-top,
.waveframe-bottom{
  width: 100%;
  height: 20px;
  background-repeat: no-repeat;
  background-size: 20px;
  position: absolute;
  left: 0;
  }
  .waveframe-top{
    background-image: url(../images/waveframe-fig-01.png), url(../images/waveframe-fig-03.png);
    background-position: left top, right top;
    top: 0;
    }
  .waveframe-bottom{
    background-image: url(../images/waveframe-fig-07.png), url(../images/waveframe-fig-05.png);
    background-position: left bottom, right bottom;
    bottom: 0;
    }  
  .waveframe-top::before,
  .waveframe-bottom::before{
    content: "";
    width: calc(100% - 38px);
    height: 20px;
    background-position: center top;
    background-repeat: repeat-x;
    background-size: 760px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    }
    .waveframe-top::before{
      background-image: url(../images/waveframe-fig-02.png);
      top: 0;
      }
    .waveframe-bottom::before{
      background-image: url(../images/waveframe-fig-06.png);
      bottom: 0;
      }

.glfooter{
  padding-top: 120px;
  padding-right: 20px;
  padding-bottom: 55px;
  padding-left: 20px;
  background-color: rgba(255,255,255,1);
  position: relative;
  z-index: 100;
  }
  .footercta{
    display: flex;
    flex-wrap: wrap;
    max-width: 1300px;
    margin: 0 auto 75px;
    }
    .footercta-button{
      width: calc((100% - 40px) / 2);
      height: 115px;
      padding-top: 1px;
      padding-right: 1px;
      padding-bottom: 1px;
      padding-left: 1px;
      }
    .footercta-button:first-of-type{margin-right: 40px;}
      .footercta-link{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        border-radius: 10px;
        transition: .3s;
        }
        .footercta-link:hover{opacity: .7;}
        .mail .footercta-link{background-color: rgba(45,159,187,1)}
        .tel .footercta-link{background-color: rgba(233,117,94,1)}
        .footercta-mailicon{
          display: flex;
          width: 34px;
          margin-right: 10px;
          }
          .footercta-mailtxt{
            font-size: 22px;
            font-weight: bold;
            color: rgba(255,255,255,1);
            line-height: 1.2;
            }
        .footercta-telicon{
          display: flex;
          width: 35px;
          margin-right: 10px;
          }
          .footercta-teltxt{
            display: flex;
            flex-direction: column;
            }
            .footercta-telnum{
              font-family: var(--fontroboto);
              font-size: 34px;
              font-weight: 500;
              color: rgba(255,255,255,1);
              line-height: 1.2;
              }
            .footercta-teltime{
              font-weight: bold;
              color: rgba(255,255,255,1);
              line-height: 1.2;
              }

    .footermain{
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      max-width: 1300px;
      margin: 0 auto;
      }
      .footerinfo{display: flex;}
        .footerlogo{
          width: 240px;
          margin-right: 35px;
          }
        .footerdata{}
          .footerdata-name{
            margin-bottom: 5px;
            font-weight: bold;
            }
          .footerdata-add{
            font-size: 14px;
            line-height: 1.4;
            }
      .footercopy{}
        .footercopy-txt{
          font-size: 11px;
          color: rgba(35,57,85,1);
          }

.pagetop{
  display: none;
  width: 42px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  }
  .pagetop-link{transition: .3s;}
    .pagetop-link:hover{opacity: .7;}

@media screen and (max-width: 1400px) {}/* max-width: 1400px */

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

.pagettl{
  font-size: 26px;
  top: 8%;
  left: 6%;
  }
.illustwrap{right: 6%;}
.mainvisualcatch{width: 170px;}  

.declarationwrap::before{max-width: 303px;}
.declarationwrap::after{max-width: 296px;}
.declarationttl{
  max-width: 492px;
  margin: 0 auto 60px;
  }
.declarationpar{line-height: 2.2;}
.declarationpar:not(:last-of-type){margin-bottom: 1.5em;}

.sdgswrap{
  padding-top: 50px;
  padding-right: 65px;
  padding-bottom: 50px;
  padding-left: 65px;
  }
  .sdgsdetail{width: calc(52% - 50px);}
  .sdgsfig{
    margin-right: 50px;
    padding-top: 35px;
    padding-right: 20px;
    padding-bottom: 35px;
    padding-left: 20px;
    }

.qandattl{
  max-width: 600px;
  margin: 0 auto 75px;
  padding-left: 120px;
  }
  .qandaitem:first-of-type{margin-bottom: 60px;}
  .fig .qandaitem-main{width: calc(100% - 420px);}
  .qandaitem-head{margin-bottom: 25px;}
  .qandaitem-head::before{
    width: 50px;
    font-size: 50px;
    }
  .qandaitem-head-par{
    width: calc(100% - 50px);
    font-size: 20px;
    }
  .qandaitem-body::before{
    width: 50px;
    font-size: 50px;
    }
  .qandaitem-body-par{width: calc(100% - 50px);}
  .left .qandaitem-fig{
    width: 400px;
    margin-right: 40px;
    margin-left: -15px;
    }
  .right .qandaitem-fig{
    width: 400px;
    margin-right: -15px;
    margin-left: 40px;
    }

.blogcta{
  padding-top: 70px;
  padding-bottom: 70px;
  }
  .supporthead{
    padding-top: 45px;
    padding-bottom: 45px;
    }
  .supportttl{
    max-width: 450px;
    margin: 0 auto 20px;
    }
  .supporthead-deco01{
    width: 51px;
    top: -55px;
    }
  .supporthead-deco02{
    width: 92px;
    left: -35px;
    }
  .supporthead-deco03{
    width: 74px;
    right: -20px;
    }
  .supportlist{
    margin: -120px auto;
    padding-top: 205px;
    padding-bottom: 100px;
    }
.support-deco01{
  width: 420px;
  top: -250px;
  }
.support-deco02{
  width: 300px;
  top: -350px;
  }
.support-deco03{margin-top: 60px;}  

}/* max-width: 1200px */

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

.pagettl{font-size: 24px;}
.illustwrap{
  width: 65%;
  /* padding-top: 3%;
  right: 5%;
  bottom: -18%; */
  bottom: -26%;
  }
.mainvisualcatch{width: 130px;}  

.declarationwrap{margin-bottom: 100px;}
  .declarationwrap::after{opacity: .7;}
  .declarationwrap::before{max-width: 227px;}
  .declarationwrap::after{max-width: 222px;}
  .declarationttl{
    max-width: 344px;
    margin: 0 auto 40px;
    }
  .objectivelist{margin-bottom: 80px;}  
  .declarationpar{
    font-size: var(--fontsize-sml);
    line-height: 2;
    }
  .objectivedeco02{
    width: 75px;
    bottom: -105px;
    }

.sdgswrap{
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  }
  .sdgsdetail{width: calc(52% - 40px);}
  .sdgsttl{font-size: 26px;}
  .sdgsfig{
    margin-right: 40px;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    }

.qanda{margin-bottom: 100px;}
  .qandattl{
    max-width: 450px;
    margin: 0 auto 50px;
    padding-left: 80px;
    }
  .qandaitem:first-of-type{margin-bottom: 60px;}
  .fig .qandaitem-main{width: calc(100% - 325px);}
  .qandaitem-head{margin-bottom: 25px;}
  .qandaitem-head::before{
    width: 50px;
    font-size: 40px;
    }
  .qandaitem-head-par{
    width: calc(100% - 50px);
    font-size: 18px;
    }
  .qandaitem-body::before{
    width: 50px;
    font-size: 40px;
    }
  .qandaitem-body-par{width: calc(100% - 40px);}
  .left .qandaitem-fig{
    width: 300px;
    margin-right: 40px;
    margin-left: -15px;
    }
  .right .qandaitem-fig{
    width: 300px;
    margin-right: -15px;
    margin-left: 40px;
    }

.support{padding-top: 150px;}
  .supporthead{max-width: 650px;}
  .supportlist-item{
    padding-top: 20px;
    padding-right: 15px;
    padding-bottom: 20px;
    padding-left: 15px;
    width: calc((100% - 30px) / 2);
    }
  .supportlist-item:not(:nth-of-type(2n+2)){margin-right: 30px;}

.glfooter{
  padding-top: 80px;
  padding-bottom: 20px;
  }
  .footercta{margin: 0 auto 50px;}
  .footercta-button{
    width: calc((100% - 20px)  /2);
    height: 80px;
    }
  .footercta-button:first-of-type{margin-right: 20px;}
  .footercta-mailicon{width: 30px;}
  .footercta-mailtxt{font-size: 20px;}
  .footercta-telicon{width: 30px;}
  .footercta-telnum{font-size: 28px;}
  .footermain{
    flex-direction: column;
    align-items: center;
    }
  .footerinfo{margin-bottom: 30px;}

}/* max-width: 992px */

@media not all and (max-width: 768px) {

.objectiveitem-fig-sp{display: none;}
.blogcta-fig-sp{display: none;}

.tel .footercta-link{pointer-events: none;}

}/* not max-width: 768px */

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

body{font-size: var( --fontsize-xsml);}

.illustwrap{bottom: -20%;}

.declarationwrap{
  margin-bottom: 60px;
  padding-right: 15px;
  padding-left: 15px;
  }
.declarationwrap::before{max-width: 151px;}
.declarationwrap::after{max-width: 148px;}
.declarationttl{max-width: 287px;}
.declarationpar{font-size: var(--fontsize-xsml)}

.objective{
  margin-bottom: 100px;
  padding-right: 15px;
  padding-left: 15px;
  }
  .objectivelist{
    flex-wrap: wrap;
    margin-top: -23.6%;
    }
    .objective-ttl{
      max-width: 350px;
      margin: 0 auto;
      }
  .objectivelist{
    display: flex;
    align-items: flex-end;
    max-width: 350px;
    margin: 0 auto;
    margin-top: -23.6%;
    margin-bottom: 50px;
    }
  .objectiveitem{
    width: 100%;
    margin-bottom: 30px;
    }
  .objectiveitem-fig-pc{display: none;}
  .objectivedeco01{
    width: 33px;
    bottom: 2px;
    left: 15px;
    }  
  .objectivedeco02{
    width: 51px;
    bottom: -105px;
    right: 25px;
    }
  .sdgswrap{
    flex-wrap: wrap;
    max-width: 550px;
    margin: 0 auto;
    }
    .sdgsdetail{
      order: 0;
      width: 100%;
      margin-bottom: 20px;
      }
    .sdgsttl{font-size: 22px;}
    .sdgspar{line-height: 2;}
    .sdgsfig{
      order: 1;
      width: 100%;
      margin-right: 0;
      }

.qanda{
  margin-bottom: 70px;
  padding-right: 15px;
  padding-left: 15px;
  background-image: url(../images/qanda-fig-01.jpg);
  }
  .qandattl{
    max-width: 350px;
    padding-left: 50px;
    }
  .qandalist{max-width: 550px;}
  .qandaitem{flex-direction: column;}
  .qandaitem.left,
  .qandaitem:first-of-type{margin-bottom: 30px;}
  .fig .qandaitem-main{
    order: 1;
    width: 100%;
    }
  .qandaitem-head::before,
  .qandaitem-body::before{
    width: 40px;
    font-size: 30px;
    }
  .qandaitem-head-par{
    width: calc(100% - 40px);
    font-size: 16px;
    }
  .left .qandaitem-fig,
  .right .qandaitem-fig{
    order: 0;
    width: 100%;
    max-width: 300px;
    margin: 0 auto 20px;
    }

.blogcta{
  padding-top: 60px;
  padding-right: 15px;
  padding-bottom: 60px;
  padding-left: 15px;
  }
  .blogcta-link{max-width: 550px;}
  .blogcta-fig-pc{display: none;}

.support{
  padding-top: 100px;
  padding-right: 15px;
  padding-left: 15px;
  }
  .supporthead{
    max-width: 500px;
    padding-top: 35px;
    padding-bottom: 35px;
    }
  .supportttl{max-width: 350px;}
  .supportintro{
    max-width: 400px;
    margin: 0 auto;
    text-align: left;
    line-height: 1.8;
    }
  .supportintro br{display: none;}
  .supporthead-deco01{
    width: 40px;
    top: -43px;
    }
  .supporthead-deco02{
    width: 73px;
    top: 42px;
    left: -26px;
    }
  .supporthead-deco03{
    width: 59px;
    top: 46px;
    right: -18px;
    }
  .supportlist{
    padding-top: 180px;
    padding-bottom: 70px;
    }  
  .supportlist-item{
    padding-top: 15px;
    padding-right: 10px;
    padding-bottom: 15px;
    padding-left: 10px;
    width: calc((100% - 20px) / 2);
    font-size: 13px;
    }
  .supportlist-item:not(:nth-of-type(2n+2)){margin-right: 20px;}
  .support-deco01{
    width: 336px;
    top: -250px;
    }
  .support-deco02{
    width: 240px;
    top: -350px;
    }
  .support-deco03{
    width: calc(100% + 30px);
    margin-left: -15px;
    }  

.glfooter{padding-top: 50px;}
  .footercta-button{
    width: calc((100% - 10px) / 2);
    height: 70px;
    }
  .footercta-button:first-of-type{margin-right: 10px;}
  .footercta-mailicon{width: 26px;}
  .footercta-mailtxt{font-size: 18px;}
  .footercta-telicon{width: 26px;}
  .footercta-telnum{font-size: 26px;}
  .footerinfo{
    flex-direction: column;
    align-items: center;
    }
  .footerlogo{
    margin-right: 0;
    margin-bottom: 20px;
    }
  .footerdata{text-align: center;}

}/* max-width: 768px */

@media not all and (max-width: 576px) {

.declarationfig{display: none;}
.supportttl-sp{display: none;}
.supportank-button{display: none;}
.footerdata-add br{display: none;}
.pagetop-figsp{display: none;}

}/*  not max-width: 576px */

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

.mainvisual{padding-bottom: 20%;}
.mainvisualmain{overflow-x: hidden;}
.mainvisualcatch{display: none;}  
.scrollbutton{
  width: 32px;
  right: 15px;
  bottom: 15px;
  }

.pagettl{
  font-size: 20px;
  top: 35px;
  left: 25px;
  }
.illustwrap{
  width: 95%;
  padding-top: 3%;
  top: 20%;
  right: -30%;
  bottom: auto;
  }
.mainvisualbg{
  height: 100vh;
  background-image: url(../images/mv-fig-04.jpg);
  background-position: left bottom;
  }

.declarationwrap::before,
.declarationwrap::after{display: none;}
.declarationinner{
  max-width: 480px;
  }
.declarationpar{
  font-weight: bold;
  text-align: left;
  }
  .declarationpar:last-of-type{margin-bottom: 30px;}
  .declarationpar br{display: none;}

.declarationfig{
  width: calc(100% + 30px);
  margin-left: -15px;
  }

.objective{
  margin-bottom: 50px;
  padding-right: 15px;
  padding-left: 15px;
  }
  .objectivedeco01{display: none;}

.supporthead{
  max-width: 360px;
  padding-top: 30px;
  padding-bottom: 20px;
  }
  .supportttl{max-width: 200px;}
  .supportintro{
    max-width: 300px;
    margin: 0 auto;
    text-align: left;
    line-height: 1.6;
    }
  .supportttl-pc{display: none;}
  .supporthead-deco02{
    width: 58px;
    top: 82px;
    left: -18px;
    }
  .supporthead-deco03{
    width: 47px;
    top: 86px;
    right: -15px;
    }
  .supportlist{padding-top: 150px;}
  .supportlist-detail{max-width: 400px;}
  .supportlist-item{width: 100%;}
  .supportlist-item:not(:nth-of-type(2n+2)){margin-right: 0;}
  .supportlist-item:nth-of-type(-n+2){
    background-image: url(../images/support-fig-05.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    }
  .supportlist-item:first-of-type{
    background-image: url(../images/support-fig-05.svg), url(../images/support-fig-05.svg);
    background-position: left bottom, left top;
    background-repeat: repeat-x;
    }
  .support-deco01{
    width: 315px;
    top: -310px;
    }
  .support-deco02{
    width: 204px;
    top: -332px;
    }

.footercta-button{width: 100%;}
  .footercta-button:first-of-type{
    margin-right: 0;
    margin-bottom: 20px;  
    }

.pagetop{
  width: 32px;
  bottom: 15px;
  right: 15px;
  }
  .pagetop-figpc{display: none;}

.supportank-button{
  max-width: 312px;
  margin: 0 auto 50px;
  }
  .supportank-link{transition: .3s;}
    .supportank-link:hover{opacity: 7;}

}/* max-width: 576px */

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

.sdgswrap{
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  }
  .sdgsttl{font-size: 20px;}
  .sdgspar{line-height: 1.8;}
  .sdgsfig{
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    }

.supportintro{max-width: 260px;}
  .supportlist{padding-top: 150px;}
  .support-deco01{
    width: 252px;
    top: -260px;
    }
  .support-deco02{
    width: 163px;
    top: -282px;
    }


}/* max-width: 476px */

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

.pagettl{
  font-size: 18px;
  top: 30px;
  left: 20px;
  }

}/* max-width: 376px */ 