.ccArea01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .ccArea01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ccArea01 .ccBox {
  width: 48%;
}
@media (max-width: 767px) {
  .ccArea01 .ccBox {
    width: 100%;
    margin-bottom: 20px;
  }
}
.ccArea01 .txtBox {
  width: 50%;
}
@media (max-width: 767px) {
  .ccArea01 .txtBox {
    width: 100%;
  }
}

h2.merit {
  color: #607F72;
  font-size: clamp(24px, 3.125vw, 43px);
  border-bottom: solid 1px #607F72;
  line-height: 1;
  padding-bottom: 30px;
  margin-bottom: 40px;
}
h2.merit strong {
  font-size: 150%;
  font-weight: normal;
  line-height: 1;
}

.cc01 {
  color: #607F72;
  font-size: clamp(15px, 1.8055555556vw, 24px);
  line-height: 1.8em;
}
.cc01.cnt {
  text-align: center;
}
.cc01.mb {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .cc01.mb {
    margin-bottom: 20px;
  }
}
.cc01 strong {
  font-size: 200%;
  font-weight: normal;
}

.cc02 {
  color: #607F72;
  font-size: 24px;
  line-height: 1.8em;
}
@media (max-width: 991px) {
  .cc02 {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .cc02 {
    font-size: 18px;
  }
}
.cc02.mb {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .cc02.mb {
    margin-bottom: 30px;
  }
}

.enTtl {
  font-size: 124px;
  line-height: 1;
  color: #607F72;
  margin-bottom: 70px;
}
@media (max-width: 1280px) {
  .enTtl {
    font-size: 9.96vw;
  }
}
@media (max-width: 767px) {
  .enTtl {
    font-size: 48px;
    margin-bottom: 30px;
  }
}

.inner03 {
  width: 90%;
  max-width: 1440px;
  margin: 0 auto;
}

.introArea {
  margin-bottom: 250px;
}
@media (max-width: 767px) {
  .introArea {
    margin-bottom: 100px;
  }
}
.introArea .imgList {
  display: grid;
  grid-template-columns: 1fr 34.7222222222%;
  grid-template-rows: repeat(2, 1fr);
  aspect-ratio: 1440/582;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .introArea .imgList {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    margin-top: 30px;
  }
}
.introArea .imgList .main {
  grid-row: 1/3;
  grid-row: span 2;
}
@media (max-width: 767px) {
  .introArea .imgList .main {
    grid-column: 1/3;
    grid-row: auto;
  }
}
.introArea .imgList .main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.introArea .imgList .sub img {
  width: 100%;
  display: block;
}

.bnrArea {
  margin-bottom: 200px;
}
@media (max-width: 767px) {
  .bnrArea {
    margin-bottom: 100px;
  }
}
.bnrArea .inner02 {
  width: 80%;
  max-width: 1080px;
}
.bnrArea a {
  -webkit-transition: opacity 0.4s ease 0s;
  transition: opacity 0.4s ease 0s;
}
@media (min-width: 992px) {
  .bnrArea a:hover {
    opacity: 0.7;
  }
}

.meritNavArea .inner02, .meritArea .inner02 {
  max-width: 1240px;
}

.meritNavArea .meritNavList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
@media (max-width: 767px) {
  .meritNavArea .meritNavList {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2px;
  }
}
.meritNavArea .meritNavList li {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .meritNavArea .meritNavList li {
    -webkit-box-flex: inherit;
    -webkit-flex: inherit;
        -ms-flex: inherit;
            flex: inherit;
    width: calc((100% - 4px) / 3);
  }
}
.meritNavArea .meritNavList li a {
  display: block;
  height: 100%;
  position: relative;
}
@media (min-width: 992px) {
  .meritNavArea .meritNavList li a:hover .bg::before {
    background: rgba(0, 0, 0, 0.4);
    mix-blend-mode: multiply;
  }
}
.meritNavArea .meritNavList li a .bg {
  display: block;
  position: relative;
  z-index: 1;
}
.meritNavArea .meritNavList li a .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(96, 127, 114, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  -webkit-transition: background 0.4s ease 0s;
  transition: background 0.4s ease 0s;
}
.meritNavArea .meritNavList li a .txtWrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -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;
  row-gap: clamp(5px, 1.6666666667vw, 22px);
}
.meritNavArea .meritNavList li a .txtWrap span {
  color: #fff;
  text-align: center;
}
.meritNavArea .meritNavList li a .txtWrap span.meritTtl {
  font-size: clamp(14px, 1.6666666667vw, 22px);
  line-height: 1;
}
.meritNavArea .meritNavList li a .txtWrap span.meritTtl strong {
  font-size: 177%;
  line-height: 1;
  font-weight: normal;
}
.meritNavArea .meritNavList li a .txtWrap span.meritTxt {
  font-size: clamp(11px, 1.3888888889vw, 18px);
  line-height: 1.8em;
}
.meritNavArea .meritNavList li a .txtWrap span.view {
  font-size: clamp(10px, 1.3194444444vw, 17px);
  position: relative;
}
.meritNavArea .meritNavList li a .txtWrap span.view::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  bottom: -5px;
  left: 50%;
  margin-left: -4px;
}
@media (max-width: 767px) {
  .meritNavArea .meritNavList li a .txtWrap span.view::before {
    width: 6px;
    height: 6px;
    bottom: -3px;
    margin-left: -3px;
  }
}

.meritArea {
  overflow: hidden;
  padding: 200px 0;
}
@media (max-width: 767px) {
  .meritArea {
    padding: 100px 0;
  }
}
.meritArea#merit02, .meritArea#merit04 {
  background: #eef1f0;
}
.meritArea .img01 {
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .meritArea .img01 {
    margin-top: 30px;
  }
}
.meritArea .meritBox01 {
  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-column-gap: clamp(30px, 10.1388888889vw, 144px);
     -moz-column-gap: clamp(30px, 10.1388888889vw, 144px);
          column-gap: clamp(30px, 10.1388888889vw, 144px);
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .meritArea .meritBox01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
    margin-bottom: 40px;
  }
}
.meritArea .meritBox01 .txtWrap {
  width: 36.2903225806%;
}
@media (max-width: 767px) {
  .meritArea .meritBox01 .txtWrap {
    width: 100%;
  }
}
.meritArea .meritBox01 .imgWrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.meritArea .meritBox01 .imgWrap .mImg {
  width: calc(100% + max(0px, (100vw - 1240px) / 2));
}
@media (max-width: 767px) {
  .meritArea .meritBox01 .imgWrap .mImg {
    width: 100%;
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .meritArea .meritBox01 .imgWrap .mImg figcaption {
    right: 20px;
  }
}
.meritArea .meritBox01 .imgWrap .thumbs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .meritArea .meritBox01 .imgWrap .thumbs {
    margin-top: 10px;
  }
}
.meritArea .meritBox01 .imgWrap .thumbs figure {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.meritArea .meritBox02 {
  padding: 0 clamp(30px, 4.3055555556vw, 60px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(30px, 4.3055555556vw, 60px);
     -moz-column-gap: clamp(30px, 4.3055555556vw, 60px);
          column-gap: clamp(30px, 4.3055555556vw, 60px);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .meritArea .meritBox02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 30px;
    padding: 0;
  }
}
.meritArea .meritBox02 .txtWrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.meritArea .meritBox02 .imgWrap {
  width: 50.3571428571%;
}
@media (max-width: 767px) {
  .meritArea .meritBox02 .imgWrap {
    width: 100%;
  }
}