@charset "UTF-8";
/*!  変数・関数
================================================ */
/*!  base
================================================ */
html {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #020202;
  line-height: 1.6;
  font-size: 16px;
}

body {
  background-color: #fff;
}

body.top {
  background-color: #F7F7F7;
}

.container {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.hover {
  transition: ease 0.5s;
}
.hover:hover {
  opacity: 0.7;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/*!  common
================================================ */
/*!  header
===================================== */
/* 2024/09/24更新 
header {
  position: relative;
  background: #070203;
  z-index: 100;
}
header .header-lang {
  width: 100%;
  background-color: #46AF36;
}
header .header-lang .header-lang-container {
  width: 1100px;
  height: 36px;
  margin: 0 auto;
  padding: 6px 0 0 0;
}
header .header-lang .header-lang-container ul {
  display: flex;
  width: 330px;
  margin: 0 0 0 780px;
}
header .header-lang .header-lang-container ul li {
  position: relative;
  font-size: 0.875rem;
  font-weight: 500;
  color: #000;
  padding: 0 20px;
}
header .header-lang .header-lang-container ul li::after {
  position: absolute;
  display: block;
  content: "";
  top: 5px;
  right: 0;
  width: 1px;
  height: 13px;
  background: #000;
}
header .header-lang .header-lang-container ul li a:hover {
  color: #fff;
  transition: 0.3s all;
}

header::after {
  position: absolute;
  bottom: -10px;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #46AF36;
} 
header .container {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 14px 0 13px 0;
}
header .container .header-logo {
  margin-right: 14px;
}
header .container .header-logo img {
  width: 167px;
}
header .container .header-catch {
  padding-bottom: 3px;
}
header .container .header-catch img {
  width: 167px;
}
header .container .header-sns {
  position: absolute;
  top: 9px;
  right: 0;
  width: 155px;
}
header .container .header-sns ul {
  display: flex;
  justify-content: space-between;
}
  */

/*!  footer
===================================== */
/*  2024/09/24更新 
 footer {
  position: relative;
  height: 143px;
  background-color: #000;
  text-align: center;
}
footer::after {
  position: absolute;
  top: 101px;
  left: 0;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #40B136;
  z-index: 1;
}
footer .container {
  position: relative;
}
footer .footer-company {
  position: absolute;
  top: 56px;
  right: 0;
  left: 0;
  text-align: center;
  margin: auto;
  z-index: 30;
}
footer .footer-logo {
  position: absolute;
  top: 15px;
  right: 2px;
  width: 100px;
  background-color: #080606;
  z-index: 20;
}
footer small {
  position: absolute;
  top: 115px;
  right: 0;
  left: 0;
  font-size: 14px;
  color: #fff;
  margin: auto;
} */

/*!  kv
================================================ */
.kv {
  background: url("../img/top/kv-img01.png") no-repeat center -35px;
  height: 1009px;
  padding-bottom: 73px;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation-name: blur;
          animation-name: blur;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

/* 2024/09/24更新 */
.kv{
  margin-top: 150px;
}
/* 2024/09/24更新 end */

@-webkit-keyframes blur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes blur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.kv .container {
  position: relative;
}
.kv .kv-title01 {
  position: absolute;
  top: 15px;
  left: -6px;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-duration: 0.9s;
          animation-duration: 0.9s;
}
.kv .kv-title02 {
  position: absolute;
  top: 215px;
  left: -6px;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-duration: 0.9s;
          animation-duration: 0.9s;
}
.kv .kv-title03 {
  position: absolute;
  top: 382px;
  left: -6px;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.9s;
          animation-duration: 0.9s;
}
.kv .kv-catch {
  position: absolute;
  top: 577px;
  left: 0;
  -webkit-animation-delay: 2.3s;
          animation-delay: 2.3s;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.kv .kv-banner {
  position: absolute;
  top: 746px;
  left: 50px;
  margin: auto;
}

/*!  catch
================================================ */
.catch {
  text-align: center;
  padding-top: 92px;
}
.catch h2 {
  margin-bottom: 60px;
}
.catch p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 400;
  margin-bottom: 40px;
}
.catch p:nth-of-type(6) {
  font-size: 1.25rem;
  margin-bottom: 80px;
}
.catch p span {
  color: #69be28;
}
.catch .catch-movie {
  width: 754px;
  height: 424px;
  margin: 0 auto 113px;
}

/*!  list
================================================ */
.list {
  text-align: center;
  margin-bottom: 126px;
}
.list h2 {
  margin-bottom: 35px;
}
.list .list-container {
  background-color: #E3E3E3;
  padding: 50px 0 48px;
}
.list .list-container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
}
.list .list-container ul li {
  width: 354px;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 20px;
  overflow: hidden;
}
.list .list-container ul li picture img {
  transition: 0.5s all;
}
.list .list-container ul li:hover picture img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  transition: 0.3s all;
}
.list .list-container ul li:hover .list-detail {
  color: #69be28;
}
.list .list-container ul li:hover .list-detail::after {
  right: 5px;
  background: url(../img/top/list-arrow_on.png) no-repeat center top;
}
.list .list-container ul li:last-child {
  margin-bottom: 55px;
}
.list .list-container ul li .list-detail {
  position: relative;
  height: 69px;
  line-height: 69px;
  background-color: #F6F6F6;
}
.list .list-container ul li .list-detail::after {
  display: block;
  position: absolute;
  top: 23px;
  right: 12px;
  content: "";
  width: 10px;
  height: 24px;
  background: url(../img/top/list-arrow_off.png) no-repeat center top;
  transition: 0.3s all;
}
.list .list-container .list-more {
  width: 94px;
  text-align: center;
  margin: 0 auto;
}
.list .list-container .list-more img:first-child {
  margin-bottom: 20px;
  transition: all 0.3s;
}
.list .list-container .list-more:hover img:first-child {
  margin-bottom: 30px;
}

/*!  declaration
================================================ */
.declaration h2 {
  text-align: center;
  margin-bottom: 52px;
  padding-top: 71px;
}
.declaration .declaration-wrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 70px;
}
.declaration .declaration-wrapper .declaration-pic {
  width: 446px;
}
.declaration .declaration-wrapper .declaration-pic .main-pic {
  position: relative;
  margin-bottom: 10px;
}
.declaration .declaration-wrapper .declaration-pic .main-pic li {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 446px;
  height: 575px;
}
.declaration .declaration-wrapper .declaration-pic .sum-pic {
  display: flex;
  flex-wrap: wrap;
  margin-top: 585px;
}
.declaration .declaration-wrapper .declaration-pic .sum-pic li {
  position: relative;
  width: 142px;
  margin-right: 10px;
  margin-bottom: 10px;
  z-index: 10;
}
.declaration .declaration-wrapper .declaration-pic .sum-pic li:nth-child(3n) {
  margin-right: 0;
}
.declaration .declaration-wrapper .declaration-pic .sum-pic li:hover::after {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  background: rgba(105, 190, 40, 0.3);
  z-index: 20;
}
.declaration .declaration-wrapper .declaration-pic .sum-pic li.active::after {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  background: rgba(105, 190, 40, 0.3);
  z-index: 20;
}
.declaration .declaration-wrapper .declaration-text {
  width: 609px;
  color: #070203;
  font-weight: 500;
  /*名前が長い場合改行を防ぐ*/
  /*      p.name-p {
          font-size: 4.375rem;
          line-height: 1;
          margin: 0 0 46px 13px;
        }
        p.dept-p {
          font-size: 1.75rem;
          line-height: 1;
          margin: 0 0 13px 0;
        }*/
}
.declaration .declaration-wrapper .declaration-text h3 {
  font-size: 1.25rem;
  font-weight: 400;
  color: #001014;
  line-height: 1;
  border-left: #69be28 solid 1px;
  margin-bottom: 4px;
  padding-left: 10px;
}
.declaration .declaration-wrapper .declaration-text p.name {
  font-size: 4.375rem;
  line-height: 1;
  margin-bottom: 45px;
}
.declaration .declaration-wrapper .declaration-text p.long {
  font-size: 4.3rem;
}
.declaration .declaration-wrapper .declaration-text p.dept {
  font-size: 1.75rem;
  line-height: 1;
  margin: 19px 0 42px 0;
}
.declaration .declaration-wrapper .declaration-text .qa {
  padding: 0 14px 52px;
  border: #69be28 solid 6px;
}
.declaration .declaration-wrapper .declaration-text .qa h4 {
  width: 310px;
  font-size: 1.5rem;
  line-height: 2;
  color: #69be28;
  background-color: #fff;
  margin: -43px 0 0 5px;
  padding: 0 0 0 8px;
}
.declaration .declaration-wrapper .declaration-text .qa h4 img {
  margin-left: 44px;
}
.declaration .declaration-wrapper .declaration-text .qa dt {
  display: flex;
  justify-content: space-between;
  margin-bottom: 13px;
}
.declaration .declaration-wrapper .declaration-text .qa dt p {
  width: 500px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #69be28;
  padding-top: 12px;
}
.declaration .declaration-wrapper .declaration-text .qa dd {
  font-size: 1rem;
  font-weight: 400;
}
.declaration .declaration-wrapper .declaration-text .qa dd p {
  margin-bottom: 32px;
}

/*!  member
================================================ */
.member h2 {
  text-align: center;
  margin-bottom: 34px;
}
.member ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 72px;
}
.member ul li {
  position: relative;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 11px 12px 0;
  border: 1px solid #000;
  box-sizing: border-box;
}
.member ul li:nth-child(4n) {
  margin-right: 0;
}
.member ul li a {
  position: relative;
  display: block;
  width: 264px;
  height: 67.5px;
  z-index: 10;
}
.member ul li.member01 {
  background: url("../img/declaration/member-img01.png");
  background-size: cover;
}
.member ul li.member01 a {
  padding: 23px 0 0 113px;
}
.member ul li.member02 {
  background: url("../img/declaration/member-img02.png");
  background-size: cover;
}
.member ul li.member02 a {
  padding: 23px 0 0 107px;
}
.member ul li.member03 {
  background: url("../img/declaration/member-img03.png");
  background-size: cover;
}
.member ul li.member03 a {
  padding: 23px 0 0 119px;
}
.member ul li.member04 {
  background: url("../img/declaration/member-img04.png");
  background-size: cover;
}
.member ul li.member04 a {
  padding: 23px 0 0 122px;
}
.member ul li.member05 {
  background: url("../img/declaration/member-img05.png");
  background-size: cover;
}
.member ul li.member05 a {
  padding: 23px 0 0 96px;
}
.member ul li.member06 {
  background: url("../img/declaration/member-img06.png");
  background-size: cover;
}
.member ul li.member06 a {
  padding: 23px 0 0 106px;
}
.member ul li.member07 {
  background: url("../img/declaration/member-img07.png");
  background-size: cover;
}
.member ul li.member07 a {
  padding: 23px 0 0 106px;
}
.member ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #69be28;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.6;
  transition: -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
}
.member ul li::after {
  display: inline-block;
  position: absolute;
  content: "";
  top: 19px;
  right: 10px;
  width: 10px;
  height: 27px;
  background: url("../img/declaration/member-arrow-off.png") no-repeat;
  background-size: cover;
  z-index: 10;
  transition: 0.3s all;
}
.member ul li:hover {
  color: #2B6A21;
}
.member ul li:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.member ul li:hover::after {
  right: 4.5px;
}
.member .member-back {
  position: relative;
  overflow: hidden;
  width: 354px;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center;
  line-height: 69px;
  margin: 0 auto 88px;
  border: solid 1px #001014;
  transition: ease 0.2s;
}
.member .member-back a {
  position: relative;
  display: block;
  width: 100%;
  height: 69px;
  z-index: 10;
}
.member .member-back::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #69be28;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.6;
  transition: -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.member .member-back::after {
  display: inline-block;
  position: absolute;
  content: "";
  top: 20.6px;
  left: 12px;
  width: 10px;
  height: 27px;
  background: url("../img/declaration/member-back-arrow-off.png") no-repeat;
  background-size: cover;
  z-index: 10;
  transition: 0.3s all;
}
.member .member-back:hover {
  color: #fff;
}
.member .member-back:hover::before {
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.member .member-back:hover::after {
  left: 6.5px;
  background: url("../img/declaration/member-back-arrow-on.png") no-repeat;
}

/*!  英語版
===================================== */
.eng {
  font-family: Fira Sans, Helvetica, Arial, Delta Pro, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
}
.eng .kv .kv-title01 {
  top: 153px;
  left: -17px;
}
.eng .kv .kv-title02 {
  top: 273px;
  left: -17px;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.eng .kv .kv-title03 {
  top: 421px;
  left: -17px;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.eng .kv .kv-banner {
  left: 105px;
}
.eng h2 {
  font-family: Oswald;
  font-weight: bold;
}
.eng .catch .catch-movie {
  margin: 0 auto 233px;
}
.eng .catch h2 {
  position: relative;
  padding-top: 28px;
  line-height: 1.1;
  color: #69be28;
  font-size: 48px;
}
.eng .catch h2::before {
  content: "";
  width: 206px;
  height: 1px;
  background-color: #69be28;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.eng .list h2 {
  position: relative;
  padding-top: 28px;
  line-height: 1.1;
  color: #69be28;
  font-size: 48px;
}
.eng .list h2::before {
  content: "";
  width: 206px;
  height: 1px;
  background-color: #69be28;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.eng .declaration h2 {
  position: relative;
  margin-bottom: 45px;
}
.eng .declaration-wrapper .declaration-text .qa h4 {
  width: 400px;
  font-weight: 700;
  margin: -45px 0 0 5px;
}
.eng .declaration-wrapper .declaration-text .qa h4 img {
  margin-left: 12px;
}
.eng .member h2 {
  position: relative;
  padding-top: 28px;
  line-height: 1.1;
  color: #69be28;
  font-size: 40px;
}
.eng .member h2::before {
  content: "";
  width: 206px;
  height: 1px;
  background-color: #69be28;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.eng .member h2 br.sp {
  display: none;
}
.eng .member ul li {
  font-size: 1.375rem;
  letter-spacing: -0.06rem;
}
.eng .member ul li.member01 {
  background: url("../img/declaration/member-img01_eng.png");
  background-size: cover;
}
.eng .member ul li.member01 a {
  padding: 27px 0 0 104px;
}
.eng .member ul li.member02 {
  font-size: 1.25rem;
  background: url("../img/declaration/member-img02_eng.png");
  background-size: cover;
}
.eng .member ul li.member02 a {
  padding: 27px 0 0 70px;
  text-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, 1px 0px 0px #fff, -1px 0px 0px #fff, 0px 1px 0px #fff, 0px -1px 0px #fff;
}
.eng .member ul li.member02 a:hover {
  text-shadow: none;
  transition: 0.3s all;
}
.eng .member ul li.member03 {
  background: url("../img/declaration/member-img03_eng.png");
  background-size: cover;
}
.eng .member ul li.member03 a {
  padding: 27px 0 0 70px;
}
.eng .member ul li.member04 {
  background: url("../img/declaration/member-img04_eng.png");
  background-size: cover;
}
.eng .member ul li.member04 a {
  font-size: 1.25rem;
  padding: 27px 0 0 73px;
  text-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, 1px 0px 0px #fff, -1px 0px 0px #fff, 0px 1px 0px #fff, 0px -1px 0px #fff;
}
.eng .member ul li.member04 a:hover {
  text-shadow: none;
  transition: 0.3s all;
}
.eng .member ul li.member05 {
  background: url("../img/declaration/member-img05_eng.png");
  background-size: cover;
}
.eng .member ul li.member05 a {
  padding: 27px 0 0 97px;
}
.eng .member ul li.member06 {
  background: url("../img/declaration/member-img06_eng.png");
  background-size: cover;
}
.eng .member ul li.member06 a {
  font-size: 1.25rem;
  padding: 27px 0 0 77px;
}
.eng .member ul li.member07 {
  background: url("../img/declaration/member-img07_eng.png");
  background-size: cover;
}
.eng .member ul li.member07 a {
  padding: 27px 0 0 104px;
}
.eng .member ul li::after {
  top: 22px;
  right: 8px;
}
.eng .member ul li:hover::after {
  right: 4.5px;
}

@media screen and (max-width: 768px) {
  /*!  base
  ================================================ */
  .container {
    width: 93.75vw;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  /*!  common
  ================================================ */
  /*!  header
  ===================================== */
  header .header-lang .header-lang-container {
    width: 100%;
    height: 6.5625vw;
    padding: 1.5625vw 0 0 0;
  }
  header .header-lang .header-lang-container ul {
    width: 65.625vw;
    margin: 0 0 0 35.9375vw;
  }
  header .header-lang .header-lang-container ul li {
    font-size: 2.5vw;
    padding: 0 3.90625vw;
  }
  header .header-lang .header-lang-container ul li::after {
    top: 0.78125vw;
    width: 1px;
    height: 2.1875vw;
    background: #000;
  }
  header::after {
    bottom: -1.25vw;
    height: 1.5625vw;
  }
  header .container {
    padding: 2.34375vw 0 2.8125vw 0;
  }
  header .container .header-logo {
    margin-right: 2.5vw;
  }
  header .container .header-logo img {
    width: 26.09375vw;
  }
  header .container .header-catch {
    padding-bottom: 0.46875vw;
  }
  header .container .header-catch img {
    width: 26.09375vw;
  }
  header .container .header-sns {
    top: 2.03125vw;
    width: 24.21875vw;
  }
  header .container .header-sns img {
    width: 6.25vw;
  }

  /*!  footer
  ===================================== */
  /* footer {
    height: calc(100vh - 50px);
  } */
  footer .container {
    position: relative;
  }
  footer::after {
    top: 15.78125vw;
    height: 1.5625vw;
  }
  footer .footer-company {
    top: 8.125vw;
  }
  footer .footer-company img {
    width: 48.125vw;
  }
  footer .footer-logo {
    top: 2.34375vw;
    right: 0;
    left: auto;
    width: 15.3125vw;
    height: 17.1875vw;
    background-color: #080606;
  }
  footer .footer-logo img {
    width: 14.0625vw;
  }
  /* footer small {
    position: absolute;
    top: 17.65625vw;
    bottom:0;
    font-size: 2.1875vw;
  } */

  /*!  kv
  ================================================ */
  .kv {
    background: url("../img/sp/top/kv-img01.png") no-repeat center 1.875vw;
    background-size: cover;
    height: 150.3125vw;
    padding-bottom: 5.9375vw;
  }
  .kv .container {
    width: 100%;
  }
  .kv .kv-title01 {
    top: 2.1875vw;
    left: 0;
  }
  .kv .kv-title01 img {
    width: 60.625vw;
  }
  .kv .kv-title02 {
    top: 24.375vw;
    left: 0;
  }
  .kv .kv-title02 img {
    width: 61.25vw;
  }
  .kv .kv-title03 {
    top: 44.21875vw;
    left: 0;
  }
  .kv .kv-title03 img {
    width: 61.25vw;
  }
  .kv .kv-catch {
    top: 65.625vw;
  }
  .kv .kv-catch img {
    width: 43.4375vw;
  }
  .kv .kv-banner {
    top: 126.71875vw;
    left: 3.125vw;
  }
  .kv .kv-banner img {
    width: 93.75vw;
  }

  /*!  catch
  ================================================ */
  .catch {
    padding-top: 10.15625vw;
  }
  .catch h2 {
    margin-bottom: 7.5vw;
  }
  .catch h2 img {
    width: 54.0625vw;
  }
  .catch p {
    font-size: 3.4375vw;
    margin-bottom: 10.15625vw;
  }
  .catch p:nth-of-type(6) {
    font-size: 4.0625vw;
    margin-bottom: 8.59375vw;
  }
  .catch .catch-movie {
    width: 87.34375vw;
    height: 49.0625vw;
    margin: 0 auto 12.8125vw;
  }

  /*!  list
  ================================================ */
  .list {
    margin-bottom: 9.0625vw;
  }
  .list h2 {
    margin-bottom: 5.3125vw;
  }
  .list h2 img {
    width: 83.90625vw;
  }
  .list .list-container {
    padding: 2.1875vw 3.125vw 6.25vw;
  }
  .list .list-container ul {
    width: 93.75vw;
  }
  .list .list-container ul li {
    width: 45.625vw;
    font-size: 2.5vw;
    margin-bottom: 3.125vw;
  }
  .list .list-container ul li picture img {
    width: 45.625vw;
  }
  .list .list-container ul li:hover picture img {
    -webkit-transform: scale(1.2, 1.2);
            transform: scale(1.2, 1.2);
    transition: 0.3s all;
  }
  .list .list-container ul li:hover .list-detail::after {
    right: 0.78125vw;
  }
  .list .list-container ul li:last-child {
    margin-bottom: 7.8125vw;
  }
  .list .list-container ul li .list-detail {
    height: 8.90625vw;
    line-height: 8.90625vw;
  }
  .list .list-container ul li .list-detail::after {
    top: 2.8125vw;
    right: 1.09375vw;
    width: 1.09375vw;
    height: 2.96875vw;
    background-size: cover;
  }
  .list .list-container .list-more {
    width: 14.6875vw;
  }
  .list .list-container .list-more img:first-child {
    width: 14.6875vw;
    margin-bottom: 2.8125vw;
  }
  .list .list-container .list-more img:last-child {
    width: 9.0625vw;
  }
  .list .list-container .list-more:hover img:first-child {
    margin-bottom: 2.8125vw;
  }

  /*!  declaration
  ================================================ */
  .declaration h2 {
    margin-bottom: 6.40625vw;
    padding-top: 10vw;
  }
  .declaration h2 img {
    width: 93.59375vw;
  }
  .declaration .declaration-wrapper {
    position: relative;
    display: block;
    margin: 0 auto 9.84375vw;
  }
  .declaration .declaration-wrapper .declaration-pic {
    width: 69.6875vw;
    height: 97.1875vw;
    margin: 0 auto 4.375vw;
  }
  .declaration .declaration-wrapper .declaration-pic .main-pic {
    margin-bottom: 4.375vw;
  }
  .declaration .declaration-wrapper .declaration-pic .main-pic li {
    display: block;
    position: relative;
    left: inherit;
    width: 69.6875vw;
    height: 97.1875vw;
  }
  .declaration .declaration-wrapper .declaration-pic .main-pic li img {
    width: 69.6875vw;
    height: 97.1875vw;
  }
  .declaration .declaration-wrapper .declaration-pic .sum-pic {
    display: none;
  }
  .declaration .declaration-wrapper .declaration-text {
    width: 93.75vw;
    text-align: center;
  }
  .declaration .declaration-wrapper .declaration-text h3 {
    width: 13.75vw;
    font-size: 3.75vw;
    margin: 0 auto 3.125vw;
    padding-left: 1.25vw;
  }
  .declaration .declaration-wrapper .declaration-text p.name {
    font-size: 12.5vw;
    margin-bottom: 7.8125vw;
  }
  .declaration .declaration-wrapper .declaration-text p.dept {
    font-size: 4.6875vw;
    margin: 2.34375vw 0 11.875vw 0;
  }
  .declaration .declaration-wrapper .declaration-text p.dept-p {
    font-size: 4.6875vw;
    line-height: 1;
    margin: 0 0 0.78125vw 0;
  }
  .declaration .declaration-wrapper .declaration-text p.name-p {
    font-size: 12.5vw;
    line-height: 1;
    margin: 0 0 9.0625vw 0;
  }
  .declaration .declaration-wrapper .declaration-text .qa {
    padding: 0 3.75vw 14.6875vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa h4 {
    width: 54.6875vw;
    font-size: 4.6875vw;
    margin: -7.8125vw 0 0 0;
    padding: 0 0 0 1.40625vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa h4 img {
    width: 11.09375vw;
    margin-left: 6.25vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dl {
    padding-top: 3.75vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dt {
    display: block;
    text-align: center;
    margin-bottom: 3.125vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dt img {
    width: 10.15625vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dt p {
    width: 100%;
    text-align: left;
    font-size: 3.125vw;
    padding-top: 2.03125vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dd {
    font-size: 3.125vw;
  }
  .declaration .declaration-wrapper .declaration-text .qa dd p {
    text-align: left;
    margin-bottom: 5.3125vw;
  }

  /*!  member
  ================================================ */
  .member h2 {
    margin-bottom: 6.5625vw;
  }
  .member h2 img {
    width: 78.125vw;
  }
  .member ul {
    margin-bottom: 11.71875vw;
    justify-content: space-between;
  }
  .member ul li {
    font-size: 4.375vw;
    margin: 0 0 3.125vw 0;
    border: 0.15625vw solid #000;
  }
  .member ul li:nth-child(4n) {
    margin-right: 0;
  }
  .member ul li:nth-child(2n) {
    margin-right: 0;
  }
  .member ul li a {
    display: block;
    width: 45.625vw;
    height: 11.640625vw;
  }
  .member ul li img {
    width: 45.78125vw;
  }
  .member ul li.member01 a {
    padding: 3.90625vw 0 0 18.90625vw;
  }
  .member ul li.member02 a {
    padding: 3.90625vw 0 0 18.28125vw;
  }
  .member ul li.member03 a {
    padding: 3.90625vw 0 0 20.46875vw;
  }
  .member ul li.member04 a {
    padding: 3.90625vw 0 0 21.09375vw;
  }
  .member ul li.member05 a {
    padding: 3.90625vw 0 0 16.5625vw;
  }
  .member ul li.member06 a {
    padding: 3.90625vw 0 0 18.4375vw;
  }
  .member ul li.member07 a {
    padding: 3.90625vw 0 0 18.4375vw;
  }
  .member ul li::after {
    top: 3.125vw;
    right: 0.625vw;
    width: 1.875vw;
    height: 5vw;
  }
  .member .member-back {
    width: 68.75vw;
    font-size: 3.75vw;
    line-height: 13.28125vw;
    margin: 0 auto 12.8125vw;
  }
  .member .member-back a {
    height: 13.28125vw;
  }
  .member .member-back::after {
    top: 4.0625vw;
    left: 1.25vw;
    width: 1.875vw;
    height: 5vw;
  }

  .swiper-container {
    width: 69.6875vw;
    height: 97.1875vw;
  }

  .swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 42.5vw;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    width: 6.25vw;
    height: 16.5625vw;
    background-size: contain;
    margin-top: -px_vw(53);
  }

  /* 次ページボタンのスタイル */
  .swiper-button-next {
    background-image: url("../img/sp/declaration/swiper-arrow-right.png");
    background-repeat: no-repeat;
  }

  /* 前ページボタンのスタイル */
  .swiper-button-prev {
    background-image: url("../img/sp/declaration/swiper-arrow-left.png");
    background-repeat: no-repeat;
  }

  .swiper-button-prev::after,
.swiper-button-next::after {
    display: none;
  }

  /*!  英語版
  ===================================== */
  .eng .kv .kv-title01 {
    top: 39.84375vw;
    left: 0.46875vw;
  }
  .eng .kv .kv-title01 img {
    width: 83.75vw;
  }
  .eng .kv .kv-title02 {
    top: 55vw;
    left: 0.46875vw;
  }
  .eng .kv .kv-title02 img {
    width: 83.75vw;
  }
  .eng .kv .kv-title03 {
    top: 75vw;
    left: 0.46875vw;
  }
  .eng .kv .kv-title03 img {
    width: 83.75vw;
  }
  .eng .kv .kv-banner {
    left: 3.125vw;
  }
  .eng .catch h2 {
    font-size: 6.5625vw;
    padding-top: 3.90625vw;
    margin-bottom: 7.03125vw;
  }
  .eng .catch .catch-movie {
    margin: 0 auto 17.5vw;
  }
  .eng .list h2 {
    font-size: 6.5625vw;
    line-height: 1.5;
    margin-bottom: 2.8125vw;
    padding-top: 5.9375vw;
  }
  .eng .declaration h2 {
    text-align: left;
  }
  .eng .declaration .declaration-text h3 {
    width: 31.25vw;
  }
  .eng .declaration .declaration-wrapper .declaration-text .qa h4 {
    width: 73.4375vw;
    padding: 0 0 0 1.09375vw;
  }
  .eng .declaration .declaration-wrapper .declaration-text .qa h4 img {
    margin-left: 1.875vw;
  }
  .eng .member h2 {
    font-size: 6.5625vw;
    margin-bottom: 5.9375vw;
  }
  .eng .member h2 br.sp {
    display: block;
  }
  .eng .member ul li {
    font-size: 3.75vw;
  }
  .eng .member ul li.member01 a {
    padding: 4.0625vw 0 0 17.5vw;
  }
  .eng .member ul li.member02 {
    font-size: 3.75vw;
  }
  .eng .member ul li.member02 a {
    padding: 4.21875vw 0 0 11.71875vw;
  }
  .eng .member ul li.member03 a {
    padding: 4.0625vw 0 0 14.0625vw;
  }
  .eng .member ul li.member04 a {
    font-size: 3.59375vw;
    padding: 4.375vw 0 0 12.5vw;
  }
  .eng .member ul li.member05 a {
    padding: 4.0625vw 0 0 16.5625vw;
  }
  .eng .member ul li.member06 a {
    font-size: 3.59375vw;
    padding: 4.375vw 0 0 13.125vw;
  }
  .eng .member ul li.member07 a {
    padding: 4.0625vw 0 0 17.1875vw;
  }
  .eng .member ul li::after {
    top: 3.75vw;
    right: 0.625vw;
    width: 1.40625vw;
    height: 3.75vw;
  }
}