@charset "shift_jis";
/* Updated 2024/05/17.T */
.title-heading01 {
  height: 110px;
  padding: 0;
  margin-bottom: 45px;
}
.h1-title {
  font-weight: 700;
  color: #004831;
  line-height: 1.5;
  font-size: 3.6rem;
}
.main {
  width: 700px;
  margin: 0 auto;
}
.h1-under {
  text-align: center;
  font-size: 2.0rem;
  margin-bottom: 50px;
}
.h2title-heading {
  padding-bottom: 8px;
  border-bottom: 2px solid #c4d700;
  text-align: center;
  margin-bottom: 42px;
}
.h2-title {
  display: flex;
  justify-content: center;
  width: 100%;
  color: #004831;
  font-weight: 700;
  font-size: 2.8rem;
}
.table-img {
  margin-bottom: 45px;
}
.sec01 .text01 {
  margin-bottom: 48px;
}
.sec01 h3 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: #004831;
  margin-bottom: 50px;
}
.sec01 .text02 {
  margin-bottom: 40px;
}
.table01 {
  width: 508px;
  border: 1px solid #d5dedb;
  margin: 0 auto 40px;
}
.table01 th , td {
  text-align: center;
  vertical-align: middle;
  border-top: 1px solid #d5dedb;
  border-left: 1px solid #d5dedb;
}
.table01 .green01 {
  width: 128px;
  height: 79px;
  background-color: #4D7F6F;
  color: #fff;
  font-weight: 700;
}
.table01 .green02 {
  width: 191px;
  height: 79px;
  background-color: #F3F8F6;
}
.table01 .nuber {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.nuber p {
  margin-bottom: 10px;
}
.nuber img {
  width: 24px;
}
.h4-title {
  height: 68px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.h4-title h4 {
  font-size: 2.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.h4-title.num01 {
  background-color: #C4D7001A;
}
.h4-title.num02 {
  background-color: #00B2B31A;
}
.h4-title.num03 {
  background-color: #E1457E1A;
}
.h4-title.num04 {
  background-color: #0082DC1A;
}
.nuber-ico {
  height: 30px;
  width: 28px;
  display: contents;
}
.h4-text {
  margin-left: 10px;
}
.sec01 .text03 {
  font-weight: 700;
  margin-bottom: 24px;
}
.sec01 .text04 {
  margin-bottom: 41px;
}
.sec01 .caption {
  margin-bottom: 41px;
}
.sec02 {
  margin-bottom: 106px;
}
.sec02 .text05 {
  margin-bottom: 31px;
}
.sec03 {
  margin-bottom: 95px;
}
.sec03 .text01 {
  margin-bottom: 30px;
}
.bnr-content {
  display: flex;
  justify-content: center;
  margin-bottom: 94px;
}
.article01-carousel {
  width: 1200px;
  margin: 0 auto;
}
.article01-carousel .inner {
  border-radius: 10px;
  box-shadow: 0 0 4px 0 rgba(20,29,29,.05), 0 12px 14px 0 rgba(20,29,29,.08);
  text-decoration: none;
}
.article01-carousel .item {
  max-width: 282px;
}
.article01-carousel p {
  padding: 22px 15px 45px 15px;
  box-sizing: border-box;
  max-height: 87px;
  color: #141d1d;
}
.slick-list {
  height: 245px;
}
.footer-logo {
  padding-bottom: 78px;
}
.h4-black {
  text-align: center;
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: 50px;
}
.text06 {
  margin-bottom: 31px;
}
.dot-list {
  margin: 0!important;
}
.dot-list li {
  margin: 0!important;
}
.mb90 {
  margin-bottom: 90px;
}
/* ----------------------------------
fixed btn
---------------------------------- */
.fixed-area {
  position: fixed;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 78px;
  background: rgba(255, 255, 255);
}
.fixed-area .btn-type01 {
  position: relative;
  padding: 0;
  width: 450px;
  height: 48px;
  border-radius: 24px;
}
.fixed-area .btn-type01:before {
  position: absolute;
  top: calc(50% - 16px);
  left: 20px;
  display: block;
  width: 32px;
  height: 32px;
  content: "";
}
.fixed-area .btn-type01 .inner {
  padding: 0 0 0 2px;
  min-height: 100%;
  font-size: 1.5rem;
  line-height: 1;
}
.fixed-area .btn02 {
  margin-left: 58px;
}
.green-box {
  background-color: #F3F8F6;
  padding: 24px 118px 24px 118px;
  margin-bottom: 40px;
}
.green-box h4 {
  font-size: 2.0rem;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
.rank {
  margin-bottom: 105px;
}
.rank-content {
  display: flex;
  justify-content: center;
}
.green-box ul {
  display: flex;
  justify-content: center;
  flex-flow: column;
}
.green-box li {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
}
.green-box li:last-child {
  margin-bottom: 0;
}
.green-box li img {
  margin-right: 8px;
}
.right-ul {
  margin-left: 60px;
}
.li-title {
  display: flex;
  justify-content: center;
  font-weight: 700;
}
.source {
  font-size: 1.4rem;
  text-indent: -3em;
  padding-left: 3em;
}
@media screen and (max-width: 767px) {
  .main {
    width: 100%;
    padding: 0 4.8vw;
  }
  .table01 {
    width: 100%;
  }
  .article01-carousel {
    width: 100%;
  }
  .slick-list.draggable {
    padding: 0!important;
  }
  .article01-carousel .item {
    max-width: 100%;
    padding-right: 10px;
    box-sizing: border-box;
  }
  .carousel-block01>.list .item>.inner {
    margin-left: 0px;
  }
  .slick-list {
    height: 39vh;
  }
  .title-heading01 {
    height: 100%;
    padding: 28px 0px;
  }
  .h1-title {
    font-size: 2.8rem;
  }
  .h1-under {
    font-size: 2.0rem;
  }
  .h2title-heading {
    margin-bottom: 30px;
  }
  .bnr-content._sp-content {
    margin-top: 90px;
    margin-bottom: 0;
  }
  .fixed-area {
    padding: 0 2.8vw;
  }
  .fixed-area .btn-type01 {
    width: 100%;
    padding: 0 7px;
  }
  .fixed-area .btn01 {
    margin-right: 10px;
    width: 55%;
  }
  .fixed-area .btn02 {
    margin: 0;
  }
  .table-img {
    margin-bottom: 30px;
  }
  .green-box {
    padding: 20px 25px;
  }
  .rank {
    margin-bottom: 70px;
  }
  .rank-content {
    margin: 0 14px;
    flex-flow: column;
    align-items: center;
  }
  .right-ul {
    margin-left: 0;
    margin-top: 30px;
  }
}