
/*====================================================
////id |  mv
====================================================*/
#mv {
  display: flex;
    align-items: center;
  min-height: min(calc(100svh - var(--header_h)), 180vw);
  padding-bottom: min(2.6vw, 60px);
}
.mv-inner {
  display: flex;
    align-items: center;
  min-height: 50vw;
}
.mv-img {
  margin: auto;
  position: absolute;
    top: min(2.6vw, 60px);
    left: 0;
    right: 0;
  width: calc(100% - (min(2.6vw, 60px) * 2));
  height: calc(100% - (min(2.6vw, 60px) * 2));
}
.mv-img .coverImg {
  border-radius: min(2.6vw, 40px);
  padding: 0;
  height: 100%;
}
.mv-img img {
  animation: 10s linear forwards sa-show;
  transform: scale(1.1);
}
.mv-head {
  text-shadow: 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB;
}
.mv-text {
  font-weight: 700;
  margin-top: min(5vw, 50px);
  text-shadow: 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB, 0 0 .2em #FBFBFB;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
  .mv-inner {
    margin-top: min(35vw, 300px);
  }
  .mv-head {
    font-size: min(6.6vw, 4rem);
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  .mv-inner {
    min-height: 800px;
  }
  .mv-head {
    font-size: min(4vw, 4.5rem);
  }
  .mv-img img {
    object-position: top;
  }
  .mv-text {
    font-size: 2rem;
  }
}

@media (hover: hover) {}

/*====================================================
////id |  about
====================================================*/
#about {
  overflow: hidden;
}
.about-inner {
  padding-top: calc(min(21.5vw, 105px) - min(2.6vw, 60px));
}
.about-inner::after {
  background: url('../img/top/deco-1.svg') no-repeat center / contain;
  content: '';
  display: block;
  margin: auto;
  position: absolute;
}
.about-text {
  line-height: 2.4;
  position: relative;
}
.about-text-deco {
  background: no-repeat center / contain;
  transform: rotate(30deg);
  transform-origin: left;
}
.about-text-deco.show {
  animation: .8s cubic-bezier(0.55,  0.055, 0.675, 0.19) .3s forwards sa-show;
}
.about-link {
  margin-top: min(8.5vw, 56px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
  .about-inner {
    padding-bottom: min(46vw, 190px);
  }
  .about-inner::after {
    right: -3%;
    bottom: min(17vw, 70px);
    width: min(70%, 360px);
    height: 90px;
  }
  .about-head {
    width: 60%;
  }
  .about-text-deco {
    margin: auto;
    position: absolute;
      right: 0;
      bottom: calc(100% + min(5vw, 30px));
    width: min(40%, 200px);
    height: min(21.5vw, 140px);
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  .about-inner {
    padding-bottom: min(15vw, 190px);
  }
  .about-inner::after {
    left: 47%;
    bottom: min(8vw, 95px);
    width: min(40%, 430px);
    height: 100px;
  }
  .about-text {
    display: grid;
      align-items: center;
      grid-gap: min(3vw, 40px);
      grid-template-columns: 1fr 25%;
    font-size: min(1.67vw, 1.8rem);
  }
  .about-text-deco {
    height: 100%;
  }
}
@media screen and (min-width:1290px) {
  .about-text {
    font-size: 1.8rem;
  }

}

@media (hover: hover) {}

/*====================================================
////id |  service
====================================================*/
#service {
  background: var(--color_5);
}
.service-inner {
  padding: min(13vw, 78px) 0 min(13vw, 140px);
}
.service-head {
  margin-bottom: 0;
  position: relative;
  z-index: 10;
}
.service-item-wrapper {
  display: grid;
    grid-gap: min(20vw, 136px);
}
.service-item {
  position: relative;
}
.service-item-img .coverImg {
  width: calc(100% + var(--innerBox_margin));
}
.service-item:nth-child(odd) .service-item-img .coverImg {
  border-radius: 0 min(10.5vw, 50px) 0 0;
  margin-left: calc(var(--innerBox_margin) * -1);
}
.service-item:nth-child(even) .service-item-img .coverImg {
  border-radius: min(10.5vw, 50px) 0 0 0;
  margin-right: calc(var(--innerBox_margin) * -1);
}
.service-item-img .coverImg img {
  transform: scale(1.2);
}
.service-item-img .coverImg.show img {
  animation: 10s linear forwards sa-show;
}
.service-item-head {
  display: grid;
    grid-gap: .2em;
    place-items: baseline;
  line-height: 1.3;
  margin-bottom: 1em;
}
.service-item-head .text > span {
  background: #fff;
  display: inline-block;
  padding: .2em .5em .3em;
}
.service-item-text {
  line-height: 2.3;
}
.service-item-detail_img {
  margin: min(10.5vw, 53px) auto 0;
}
.service-item-link {
  margin-top: min(10.5vw, 70px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 1290.0px) {
  .service-item {
    position: relative;
  }
  .service-item-img {
    width: min(100%, 900px);
  }
  .service-item:nth-child(even) .service-item-img {
    margin: 0 0 0 auto;
  }
  .service-item:nth-child(1) .service-item-img {
    margin-top: calc(min(3.4vw, 3.3rem) * -.7);
  }
  .service-item-img .coverImg {
    padding-top: min(58.5vw, 450px);
  }
  .service-item-deco {
    background: no-repeat center / contain;
    position: absolute;
      top: calc(min(8vw, 30px) * -1);
    width: min(18vw, 130px);
    height: min(20vw, 145px);
  }
  .service-item:nth-child(odd) .service-item-deco {
    right: 3%;
  }
  .service-item:nth-child(even) .service-item-deco {
    left: 3%;
  }
  .service-item-text {
    margin: auto;
    width: min(100%, 900px);
  }
  .service-item-head {
    margin-top: -.85em ;
  }
  .service-item:nth-child(1) .service-item-head {
    margin-top: 1.6em;
  }
  .service-item-detail_img {
    width: min(100%, 600px);
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1290.1px) {
  .service-item-wrapper {
    margin-top: min(10vw, 130px);
  }
  .service-item {
    display: flex;
      align-items: flex-end;
      gap: min(5vw, 100px);
  }
  .service-item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .service-item-img {
    width: 50%;
  }
  .service-item-img .coverImg {
    padding-top: 740px;
    height: 100%;
  }
  .service-item-head {
    font-size: 3.3rem;
  }
  .service-item-text {
    flex: 1;
    position: relative;
  }
  .service-item-deco {
    background: no-repeat center / contain;
    position: absolute;
      right: 8%;
      bottom: calc(100% - 15px);
    width: min(10vw, 130px);
    height: min(11.5vw, 145px);
  }
}

@media (hover: hover) {}

/*====================================================
////id |  banner
====================================================*/
.banner-inner {
  padding: min(10.5vw, 140px) 0 0;
}
.banner-item-wrapper {
  display: grid;
    grid-gap: min(5vw, 40px);
    place-content: center;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
  .banner-item-wrapper {
    margin: auto;
    max-width: 600px;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {}


/*====================================================
////id |  sdgs
====================================================*/
.sdgs-inner {
  padding: min(28vw, 260px) 0 0;
  width: 90%;
  max-width: 1340px;
}
.sdgs-content {
  background: #fff;
  border-radius: min(5.3vw, 30px);
  position: relative;
}
.sdgs-head {
  font-size: min(4.25vw, 3.3rem);
}
.sdgs-head .en {
  font-size: min(17.3vw, 12rem);
  line-height: 1;
  position: absolute;
    top: -.6em;
}
.sdgs-item-wrapper {
  display: grid;
    grid-gap: min(10.5vw, 40px);
  margin-top: min(10.5vw, 70px);
}
.sdgs-item-img {
  background: no-repeat center / cover;
  display: flex;
    align-items: center;
    justify-content: center;
}
.sdgs-item-head {
  font-size: 1.25em;
}
.sdgs-other-wrapper {
  display: grid;
    grid-gap: min(4vw, 20px);
  margin-top: min(10.5vw, 84px);
}
.sdgs-other {
  border-radius: min(4vw, 15px);
  display: grid;
    grid-gap: min(3vw, 30px) min(3vw,60px);
  border: solid 1px var(--color_1);
  padding: min(6vw, 24px) min(5vw, 20px);
}
.sdgs-other-img {
  margin: auto;
  width: 100%;
  max-width: 400px;
}
.sdgs-other-head {
  color: var(--color_1);
  font-size: min(4.3vw, 2.2rem);
  margin-bottom: .8em;
  text-align: center;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {
  .sdgs-content {
    background: #fff;
    border-radius: min(5.3vw, 30px);
    padding: min(12.8vw, 90px) min(7vw, 50px);
    position: relative;
  }
  .sdgs-item {
    display: grid;
      align-items: center;
      grid-gap: 12px min(3.7vw, 40px);
      grid-template-columns: 100px 1fr;
  }
  .sdgs-item-text {
    grid-column: span 2;
  }
  .sdgs-item-img {
    min-height: 100px;
    padding: 12px;
  }
  .sdgs-item-img .coverImg {
    padding-top: 76px;
    width: 76px;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
  .sdgs-content {
    padding: min(10vw, 90px) min(5vw, 150px);
  }
  .sdgs-head .en {
    left: min(5vw, 90px);
  }
  .sdgs-item {
    display: grid;
      grid-gap: .5em min(3vw, 55px);
      grid-template-columns: 28% 1fr;
      grid-template-rows: auto 1fr;
  }
  .sdgs-item-img {
    grid-row: span 2;
    padding: 30px;
  }
  .sdgs-item-img .coverImg {
    padding-top: 120px;
    width: 120px;
  }
}
@media print, screen and (min-width: 960.1px) {
  .sdgs-other {
    border-radius: 5px;
    display: grid;
      align-items: center;
      grid-template-columns: 28% 1fr;
    padding: min(4vw, 50px) min(3vw, 56px);
  }
  .sdgs-other-head {
    font-size: 2.2rem;
    text-align: left;
  }
}
@media (hover: hover) {}


/*====================================================
////id |  news
====================================================*/
.news-inner {
  padding-bottom: 0;
}
.news-head {
  margin-bottom: .5em;
}
.news-link {
  margin-top: 1.3em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  .news-wrapper {
    display: grid;
      grid-gap: min(8vw, 100px);
      grid-template-columns: auto 1fr;
  }
  .archive-item-wrapper {
    margin: 0 0 0 auto;
    max-width: 840px;
  }
}

@media (hover: hover) {}


/*====================================================
////id |  banner
====================================================*/
.banner2-inner {
  padding-bottom: 0;
}
.banner2-item-wrapper {
  display: grid;
    grid-gap: min(5vw, 40px) min(2.5vw, 40px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960.0px) {
  .banner2-item-wrapper {
    margin: auto;
    max-width: 600px;
  }
}

@media screen and (max-width: 769.0px) {
  .banner2-item-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .banner2-item:not(.banner_2) {
    grid-column: span 2;
  }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960.1px) {
  .banner2-item-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .banner2-item:not(.banner_2) {
    grid-column: span 2;
  }
}

@media (hover: hover) {}


/*====================================================
////id |  xxx
====================================================*/

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

/* ////////// PC ////////// */
@media print, screen and (min-width: 769.1px) {
}

@media (hover: hover) {}
