/* ==========================================================================
   top__mv
   ========================================================================== */
.top__mv{
   margin-bottom: 68px;
}

.top__mv img{
   width: 100%;
}

@media (max-width: 767px) {

   .top__mv{
      margin-bottom: 60px;
   }

}

/* ==========================================================================
   top__news
   ========================================================================== */

.top__news{
   margin-bottom: 70px;
}

.top__news .c-secttl{
   margin-bottom: 77px;
}

.top__news .c-secttl img{
   width: 107px;
}

.top__news dl{
   display: flex;
   margin-bottom: 20px;
   font-size: 16px;
   line-height: 1.8;
}

.top__news dl dt{
   width: 236px;
   text-align: right;
   margin-right: 37px;
   flex: none;
}

@media (max-width: 767px) {

   .top__news{
      margin-bottom: 40px;
   }

   .top__news .c-secttl{
      margin-bottom: 40px;
   }

   .top__news .c-secttl img{
      width: auto;
      height: 18px;
   }

   .top__news dl{
      display: block;
      margin-bottom: 24px;
      font-size: 14px;
      line-height: 1.7;
   }

   .top__news dl dt{
      width: 100%;
      text-align: left;
      margin-right: 0px;
      margin-bottom: 8px;
   }

}

/* ==========================================================================
   top__about
   ========================================================================== */
.top__about{
   margin-bottom: 200px;
   padding-top: 70px;
}

.top__about .c-secttl{
   margin-bottom: 60px;
}

.top__about .c-secttl img{
   width: 164px;
}

.top__about > img{
   margin-bottom: 57px;
}
.top__about_content{
   /* padding: 0 150px; */
   text-align: center;
}
.top__about_content em{
   font-style: normal;
   display: block;
   padding-bottom: 20px;
   font-size: 16px;
}
.top__about_content .c-txt{
   margin-bottom: 40px;
}
.top__about_content .c-txt+.c-txt{
   margin-bottom: 0;
}

@media (max-width: 767px) {

   .top__about{
      margin-bottom: 100px;
      padding-top: 60px;
   }

   .top__about .c-secttl{
      margin-bottom: 30px;
   }

   .top__about img{
      margin-bottom: 24px;
   }

   .top__about_content{
      padding: 0;
      text-align: left;;
   }
   .top__about_content em{
   padding-bottom: 10px;
   }

   .top__about_content .c-txt{
      margin-bottom: 20px;
   }
}


/* ==========================================================================
   top__gyoran
   ========================================================================== */
.top__gyoran{
   background-color: rgba(0,0,0,.9);
   background: rgba(0,0,0,.9) url(../img/top/bg-img.png) no-repeat 100% 100% / 471px;
   padding: 83px 0 78px;
}

.top__gyoran .c-secttl{
   margin-bottom: 80px;
}

.top__gyoran .c-secttl span{
   padding: 0 50px 30px;
}

.top__gyoran .c-secttl img{
   width: 315px;
}

.top__gyoran .c-txt{
   color: #fff;
   margin-bottom: 24px;
}

.top__gyoran .swiper{
   width: 100%;
   max-width: 884px;
   margin: 0 auto 43px;
   padding-bottom: 50px;
}

.top__gyoran .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    display: inline-block;
    border-radius: 50%;
    background: #fff;
    opacity: 1;
    border: 1px solid #707070;
    margin: 0 6px !important;
}

.top__gyoran .swiper-pagination-bullet-active {
    background: #707070;
}

.top__gyoran .swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 0px;
    left: 0;
    width: 100%
}

.top__gyoran__info{
   padding: 235px 0 84px;
   color: #fff;
   text-align: center;
   font-size: 17px;
   line-height: 2.17;
}

.top__gyoran__info dl{
   margin-bottom: 32px;
}

.top__gyoran__info ul{
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

.top__gyoran__info ul li{
   margin: 0 10px;
}

.top__gyoran__btn{
   display: flex;
   justify-content: space-between;
   max-width: 1010px;
   margin: 0 auto;
}

.top__gyoran__btn > div{
   background-color: #000;
   width: 48%;
   border: 1px solid #fff;
   padding: 31px 0px;
}

.top__gyoran__btn > div > p{
   color: #fff;
   text-align: center;
   font-size: 16px;
   margin-bottom: 21px;
}

.top__gyoran__btn > div ul{
   display: flex;
   align-items: center;
   justify-content: center;
}

.top__gyoran__btn > div a{
   background-color: #fff;
   color: #000;
   display: block;
   font-size: 16px;
   width: 164px;
   height: 60px;
   border: 1px solid #707070;
   display: flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
}

.top__gyoran__btn > div a.hover{
   opacity: .7;
}

.top__gyoran__btn > div:first-child img{
   width: 150px;
   margin-right: 30px;
}

.top__gyoran__btn > div:last-child img{
   width: 211px;
   margin-right: 30px;
}


@media (max-width: 767px) {

   .top__gyoran{
      margin-bottom: 60px;
      background: rgba(0,0,0,.9) url(../img/top/bg-img.png) no-repeat 100% 100% / 90%;
      padding: 63px 0 58px;
   }

   .top__gyoran .c-secttl{
      margin-bottom: 60px;
   }
   .top__gyoran .c-secttl span{
      padding: 0 0 10px;
   }
   .top__gyoran .c-secttl img{
      width: auto;
      height: 20px;
   }


   .top__gyoran .swiper{
      width: 100%;
      max-width: 884px;
      margin: 0 auto 33px;
      padding-bottom: 40px;
   }

   .top__gyoran .swiper-pagination-bullet {
       width: 14px;
       height: 14px;
   }


   .top__gyoran__info{
      padding: 125px 0 64px;
      font-size: 14px;
   }

   .top__gyoran__info ul li{
      margin: 0;
      width: 100%;
   }

   .top__gyoran__btn{
      display: block;
   }

   .top__gyoran__btn > div{
      width: 100%;
      padding: 31px 0px;
      margin-bottom: 20px;
   }

   .top__gyoran__btn > div > p{
      color: #fff;
      text-align: center;
      font-size: 16px;
      margin-bottom: 14px;
   }

   .top__gyoran__btn > div ul{
      display: block;
   }

   .top__gyoran__btn > div a{
      margin: 0 auto;
   }


   .top__gyoran__btn > div:first-child img{
      margin: 0 auto 24px;
      display: block;
   }

   .top__gyoran__btn > div:last-child img{
      margin: 0 auto 24px;
      display: block;
   }

}


/* ==========================================================================
   top__outline
   ========================================================================== */
.top__outline{
  max-width: 1035px;
  line-height: 2.22;
  font-size: 18px;
  padding: 100px 0;
}

.top__outline .c-secttl span{
   border-bottom: 0px solid #000;
}

.top__outline .c-secttl span img{
   width: 110px;
}

.top__outline th{
   width: 274px;
   text-align: right;
   padding-right: 54px;
   padding-bottom: 40px;
}

.top__outline td{
   padding-bottom: 40px;
}

.top__outline td ul li{
   text-indent: -1.3em;
   margin-left: 1.3em;
}

.top__outline td i img{
   width: 20px;
   margin-right: 5px;
   margin-bottom: 5px;
}

@media (max-width: 767px) {

   .top__outline{
     line-height: 1.8;
     font-size: 14px;
     padding: 60px 0;
   }

   .top__outline th{
      width: 100%;
      text-align: left;
      padding-right: 0px;
      padding-bottom: 0px;
      display: block;
   }

   .top__outline td{
      padding-bottom: 40px;
      display: block;
   }

}


/* ==========================================================================
   top__history
   ========================================================================== */
.top__history{
  background: url(../img/top/bg-history.jpg) no-repeat 50% 50% / cover;
  line-height: 2.77;
  font-size: 18px;
  color: #fff;
  padding: 95px 0 166px;
}

.top__history .wrap{
   max-width: 750px;
}

.top__history .c-secttl span{
   border-bottom: 0px solid #000;
}

.top__history .c-secttl span img{
   width: 140px;
}

.top__history th{
   width: 274px;
   text-align: right;
   padding-right: 54px;
}

.top__history td ul li{
   text-indent: -1.3em;
   margin-left: 1.3em;
}

.top__history td i img{
   width: 20px;
   margin-right: 5px;
   margin-bottom: 5px;
}

@media (max-width: 767px) {

   .top__history{
     line-height: 1.8;
     font-size: 14px;
     padding: 65px 0;
   }

   .top__history th{
      padding-right: 0px;
      width: 80px;
      padding-bottom: 16px;
      padding-right: 20px;
      white-space: nowrap;
   }

   .top__history td{
      padding-bottom: 16px;
   }

}



/* ==========================================================================
   top__member
   ========================================================================== */
.top__member{
  line-height: 2.7;
  font-size: 18px;
  padding: 95px 0 166px;
  max-width: 850px;
}

.top__member h3{
   text-align: center;
   font-size: 20px;
   line-height: 1;
   margin-bottom: 45px;
}

.top__member .c-secttl span{
   border-bottom: 0px solid #000;
}

.top__member .c-secttl span img{
   width: 140px;
}

.top__member table{
   margin-bottom: 100px;
   white-space: nowrap;
   vertical-align: middle;
   margin: 0 20px 100px;
}

.top__member th{
   width: 150px;
   text-align: right;
   padding-right: 27px;
}

.top__member td{
   padding-right: 36px;
}

.top__member__list{
   display: flex;
   justify-content: center;
}

.top__member__list a{
   font-size: 13px;
   background-color: #fff;
   display: block;
   border: 2px solid #707070;
   padding: 1px 10px 0;
   line-height: 2;

}

.top__member__list a.hover{
   opacity: .7;
}

.top__member__list td{
   padding-right: 24px;
   vertical-align: middle;
}


@media (max-width: 1023px) {
   .top__member{
      font-size: 13px;
   }

   .top__member__list a{
      font-size: 10px;
   }
}


@media (max-width: 767px) {

   .top__member{
     line-height: 2.7;
     font-size: 13px;
     padding: 85px 0 40px;
   }

   .top__member h3{
      margin-bottom: 25px;
      font-size: 17px;

   }


   .top__member table{
      margin-bottom: 80px;
      white-space: nowrap;
      vertical-align: middle;
      display: block;
      width: 100%;
   }

   .top__member tbody{
      overflow: scroll;
      display: block;
      width: 100%;
   }

   .top__member th{
      width: auto;
      text-align: right;
      padding-right: 10px;
   }

   .top__member td{
      padding-right: 20px;
      padding-bottom: 10px;
   }

   .top__member__list{
      font-size: 13px;
      flex-wrap: wrap;
   }

   .top__member__list table:first-child{
      margin-bottom: 0;
   }


   .top__member__list a{
      font-size: 10px;
      padding: 1px 5px 0;
      border: 1px solid #707070;
   }



   .top__member__list td{
      padding-right: 0px;
      vertical-align: middle;
   }

   .top__member__list th{
      width: 120px;
   }

   .top__member__list td:nth-child(2){
      width: 110px;
   }

   .top__member__list td:nth-child(2){
   }
}


@media (max-width: 350px) {
   .top__member__list{
      font-size: 11px;
   }
}


.scroll-hint-icon{
   height: 100px !important;
   width: 133px !important;
}