@charset "UTF-8";
/* Scss Document */
/* Shitrota Setting */
/* 色 */
.sp_only {
  display: none;
}

/* セクション間のマージン */
/* *** *** *** *** *** *** *** *** */
.section0,
.section1,
.section2,
.section3,
.section4,
.section11 {
  margin-bottom: 90px;
}

.section5,
.section6 {
  margin-bottom: 150px;
}

.section2 {
  margin-top: 180px;
}

@media (max-width: 767.98px) {
  .sp_only {
    display: block;
  }

  .section0,
.section1,
.section2,
.section3,
.section4,
.section11 {
    margin-bottom: 60px;
  }

  .section5,
.section6 {
    margin-bottom: 90px;
  }

  .section2 {
    margin-top: 0;
  }
}
/* キービジュアル */
/* *** *** *** *** *** *** *** *** */
.key-visual {
  position: relative;
  display: block;
  height: 100vh;
  width: 100%;
  margin-bottom: 150px;
  background-image: url("../../images/kv.jpg");
  background-position: 50% 50%;
  background-size: cover;
}
.key-visual .kv-copy {
  position: absolute;
  top: 50%;
  left: 5%;
  margin-top: -50px;
}
.key-visual .kv-copy h1 {
  font-size: 3.75rem;
  margin-bottom: 20px;
}
.key-visual .kv-copy h1 span {
  display: inline;
  background: #fff;
  padding: 10px 40px;
}
.key-visual .kv-copy p {
  font-size: 2rem;
}
.key-visual .kv-copy p span {
  display: inline;
  background: #fff;
  padding: 10px 40px;
}
.key-visual #kv-logo {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 140px;
  animation: rotateY 8s linear 0s infinite;
}
.key-visual #kv-scroll {
  position: absolute;
  left: calc(50% - 15px);
  bottom: 30px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.key-visual #kv-scroll::before {
  display: block;
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  width: 20px;
  height: 20px;
  left: 5px;
  top: -5px;
}
.key-visual #kv-scroll::after {
  display: block;
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  width: 20px;
  height: 20px;
  left: 5px;
  top: 5px;
}

/* 右下のロゴ回転アニメーション */
@keyframes rotateY {
  0% {
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  25% {
    -webkit-transform: rotateY(90deg);
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
  }
  50% {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  75% {
    -webkit-transform: rotateY(270deg);
    -moz-transform: rotateY(270deg);
    transform: rotateY(270deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
    -moz-transform: rotateY(360deg);
    transform: rotateY(360deg);
  }
}
@media (max-width: 767.98px) {
  .key-visual {
    margin-bottom: 90px;
  }
  .key-visual .kv-copy {
    margin-right: 5%;
  }
  .key-visual .kv-copy h1 {
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  .key-visual .kv-copy h1 span {
    padding: 0;
  }
  .key-visual .kv-copy p {
    font-size: 1rem;
  }
  .key-visual .kv-copy p span {
    padding: 5px 0;
  }
  .key-visual #kv-logo {
    right: 10px;
    width: 80px;
  }
}
/* SDGs */
/* *** *** *** *** *** *** *** *** */
.section0 .sdgs_logo_wrap {
  flex-basis: 500px;
  flex-grow: 0;
}
.section0 .sdgs_logo {
  display: block;
  margin-bottom: 30px;
  transition: opacity 300ms ease;
}
.section0 .sdgs_logo:hover {
  opacity: 0.7;
}
.section0 .sdgs-link {
  padding: 1rem 5rem;
  font-size: 1rem;
}
.section0 .btn-green.sdgs-link span {
  top: calc(50% - 4px);
  transform: translate(0, -50%);
}
.section0 .btn-green.sdgs-link:hover span {
  transform: translate(8px, -50%);
}
@media (max-width: 767.98px) {
  .section0 .sdgs-link {
    padding: 0.5rem 2rem;
  }
}

/* 事業案内 */
/* *** *** *** *** *** *** *** *** */
/* 事業案内 目次 */
.service-index {
  position: relative;
  margin: 0;
  padding-top: 90px;
  width: 100%;
  height: 380px;
  min-height: 380px;
  background: linear-gradient(-15deg, rgba(168, 142, 183, 0.8), rgba(112, 189, 138, 0.8)), url(../../images/img-sv00.jpg);
  background-size: cover;
  background-position: 50% 50%;
  text-align: center;
  color: #fff;
}
.service-index p.lead {
  font-size: 2rem;
  font-weight: 400;
}
.service-index p {
  font-size: 1.25rem;
  line-height: 1.8;
}
.service-index ul {
  position: absolute;
  bottom: -93px;
  left: 0;
  right: 0;
}
.service-index ul li {
  display: inline-block;
}
.service-index ul li a {
  display: block;
  padding: 0 45px;
  text-align: center;
  color: #333;
}
.service-index ul li a:hover {
  text-decoration: none;
  /*opacity: 0.7;*/
  transition: 0.8s all;
  color: #70bd8a;
  filter: brightness(120%);
}
.service-index ul img {
  display: block;
  margin: 0 auto 5px;
  width: 100px;
  height: auto;
  border: 3px solid #fff;
}

@media (max-width: 1000px) {
  .service-index ul li a {
    padding: 0 20px;
  }
}
@media (max-width: 767.98px) {
  .service-index {
    height: auto;
    padding: 30px 15px 20px 15px;
  }
  .service-index p {
    text-align: left;
  }
  .service-index .lead {
    line-height: 1.5;
  }
  .service-index ul {
    position: relative;
    bottom: auto;
    padding: 0;
  }
  .service-index ul li a {
    padding: 0 10px 15px;
  }
}
/* 事業案内 キャプション 共通 */
.caption-box {
  position: relative;
  overflow: hidden;
  min-width: 480px;
  padding: 52px 60px;
  background: #fff;
  z-index: 1;
  -webkit-filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.4));
  filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.4));
}
.caption-box .num {
  position: absolute;
  top: -24px;
  right: -2px;
  font-size: 12rem;
  z-index: -1;
  color: #eee;
  line-height: 1;
  letter-spacing: -0.5rem;
  font-weight: 300;
  font-family: Arial, Helvetica, "sans-serif";
  font-style: italic;
}
.caption-box p:not(.text-lead) {
  margin-bottom: 2rem;
}

/* 事業案内 キャプション 位置調整 */
.section2 .caption-box,
.section4 .caption-box {
  top: 0;
  bottom: 0;
  margin: 50px -40% auto 40%;
}

.section3 .caption-box,
.section5 .caption-box {
  top: 0;
  bottom: 0;
  margin: 60px 40% 60px -40%;
}

@media (max-width: 1459.98px) {
  .section3 .caption-box,
.section5 .caption-box {
    margin: 60px 40% 60px -100%;
  }
}
@media (max-width: 1339.98px) {
  .section3 .caption-box,
.section5 .caption-box {
    margin: 60px 40% 60px -200%;
  }
}
@media (max-width: 767.98px) {
  .caption-box {
    width: auto;
    min-width: 0;
    padding: 20px 0 30px;
    -webkit-filter: none;
    filter: none;
    text-align: center;
  }
  .caption-box .num {
    top: -15px;
    left: 0;
    right: 0;
  }

  .section2 .caption-box,
.section4 .caption-box {
    margin: 0;
  }

  .section3 .caption-box,
.section5 .caption-box {
    margin: 0;
  }
}
/* 事業案内 イメージ */
.img-posi, .img-sv04, .img-sv03, .img-sv02, .img-sv01 {
  min-height: 500px;
  max-height: 580px;
  background-size: cover;
}

@media (max-width: 767.98px) {
  .img-posi, .img-sv04, .img-sv03, .img-sv02, .img-sv01 {
    min-height: 300px;
    max-height: 340px;
    background-size: cover;
  }
}
.img-sv01 {
  background-image: url("../../images/img-sv01.jpg");
  background-position: 50% 50%;
}

.img-sv02 {
  background-image: url("../../images/img-sv02.jpg");
  background-position: 50% 50%;
}

.img-sv03 {
  background-image: url("../../images/img-sv03.jpg");
  background-position: 50% 50%;
}

.img-sv04 {
  background-image: url("../../images/img-sv04.jpg");
  background-position: 50% 50%;
}

/* 会社案内 */
/* *** *** *** *** *** *** *** *** */
.google-map_wrap {
  display: flex;
  margin: 0;
  padding: 0 15px;
}
.google-map_wrap .google-map .map_link_wrap {
  position: absolute;
  left: 7px;
  bottom: 4px;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .google-map_wrap {
    margin: 0;
    padding: 0;
  }
  .google-map_wrap .google-map {
    position: relative;
  }
  .google-map_wrap .google-map .map_link_wrap {
    width: auto;
    left: 15px;
    bottom: 7px;
  }
}
.corp {
  position: relative;
  width: 100%;
  min-height: 500px;
  max-height: 580px;
  background-image: url("../../images/img-corp.jpg");
  background-position: 50% 50%;
  background-size: cover;
}
.corp .corp-ditails {
  position: absolute;
  top: -50px;
  left: 40%;
  padding: 52px 60px 40px;
  width: 40%;
  background: #fff;
  -webkit-filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.4));
  filter: drop-shadow(0px 1px 6px rgba(0, 0, 0, 0.4));
}
.corp .corp-ditails h3 {
  margin-bottom: 30px;
}

@media (max-width: 1023.98px) {
  .corp {
    min-height: auto;
    max-height: auto;
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .corp .corp-ditails {
    position: relative;
    top: 0;
    left: 0;
    padding: 20px 15px;
    width: auto;
    -webkit-filter: none;
    filter: none;
  }
}
@media (max-width: 767.98px) {
  .google-map {
    padding-bottom: 60%;
  }

  .corp {
    min-height: 720px;
    max-height: 720px;
  }
  .corp .corp-ditails h3 {
    margin-bottom: 15px;
  }
}

/*# sourceMappingURL=top.css.map */
