/* ======================================
ファーストビュー
========================================= */
.firstview {
  position: relative;
  margin-bottom: 60px;
  margin-top: 150px;
}

.firstview__text {
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  text-shadow: 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 20px rgba(255, 255, 255, 1), 0px 0px 20px rgba(255, 255, 255, 1);
}

.firstview__text h2 {
  font-size: 51px;
  line-height: 1.8;
}

.firstview__text p {
  font-size: 34px;
  letter-spacing: 24px;
  padding-left: 20px;
  padding-top: 65px;
}

.dots-wrap {
  display: flex;
  justify-content: center;
  position: absolute;
  transform: translate(-50%);
  bottom: -45px;
  left: 50%;
  text-align: left;
}

.dots-wrap li {
  width: 75px;
  height: 10px;
  margin: 0 30px;
  background: #d7d7d7;
  cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
  background: #5ba969;
}
.dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

@media screen and (max-width: 1300px) {
  .firstview {
    margin-top: 120px;
  }
}

@media screen and (max-width: 1024px) {
  .firstview {
    margin-top: 12.7vw;
  }

  .firstview__text {
    transform: translate(-50%, -50%);
    left: 50%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .firstview__text h2 {
    font-size: 6vw;
  }

  .firstview__text p {
    font-size: 4vw;
    letter-spacing: 2vw;
    padding-left: 0%;
    padding-top: 3%;
  }

  .dots-wrap {
    bottom: -5vw;
  }

  .dots-wrap li {
    width: 6vw;
    height: 1vw;
    margin: 0 2vw;
  }
}

/* ======================================
ABOUT
========================================= */
.about__content {
  background-image: url(../img/index/img01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 90%;
  margin: 10% auto;
  max-width: 1700px;
}

.about__flex {
  display: flex;
}

.about__box {
  background-color: #eaf5e6;
  color: #709f51;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 1px 2px 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
  border: solid 4px #709f51;
  width: 33%;
  padding: 2.5% 0%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 800;
  letter-spacing: 0.3vw;
  line-height: 1.4;
}

.about__box p {
  font-size: min(2.8vw, 52px);
}

.about__box small {
  font-size: min(2vw, 40px);
}

.about__text {
  color: #fff;
  opacity: 0.8;
  padding: 1% 2%;
  letter-spacing: 0.2vw;
  line-height: 2;
}

.about__text p .a32 {
  font-size: min(3.2vw, 32px);
}
.about__text p .a26 {
  font-size: min(2.6vw, 26px);
}
.about__text p .a34 {
  font-size: min(3.4vw, 34px);
}

@media screen and (max-width: 1024px) {
  .about__content {
    margin: 5% auto;
  }

  .about__flex {
    flex-direction: column;
  }

  .about__box {
    width: calc(100% - 1vw);
    border-width: 0.5vw;
  }

  .about__text {
    line-height: 4vw;
    padding: 3%;
  }
}

/* ======================================
ABOUT02
========================================= */
.about02__content {
  background-image: url(../img/index/img02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 90%;
  margin: 0px auto;
  max-width: 1700px;
}

.about02__content p {
  color: #fff;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-size: min(2vw, 22px);
  line-height: 2.3;
  letter-spacing: 1px;
  padding: 7% 0%;
}
/* ======================================
BUSINESS
========================================= */
.business__wrapper {
  background-color: #ebecec;
  margin-top: 120px;
  padding-bottom: 35px;
}

.business__content {
  width: 80%;
  margin: 110px auto;
  max-width: 1500px;
}

.business__flex {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.business__flex:nth-child(2n) {
  flex-direction: row-reverse;
}

.business__flex:nth-child(2n) .business__right {
  justify-content: flex-start;
}

.business__left {
  width: 45%;
}

.business__img {
  box-shadow: 23px 23px 0px #cbd8b7;
}

.business__right {
  width: 55%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.business__text {
  background-color: #fff;
  width: 82%;
}

.business__text h3 {
  text-align: center;
  font-size: 28px;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 800;
  padding-top: 7%;
}

.business__text p {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.5;
  padding: 7% 9%;
}

@media screen and (max-width: 1300px) {
  .business__left {
    width: 34%;
  }

  .business__right {
    width: 66%;
  }

  .business__text {
    width: 90%;
  }
}

@media screen and (max-width: 1024px) {
  .business__wrapper {
    margin-top: 10%;
    padding-bottom: 1%;
  }

  .business__content {
    margin: 6% auto;
  }

  .business__flex,
  .business__flex:nth-child(2n) {
    flex-direction: column;
    align-items: center;
    margin-top: 7%;
  }

  .business__left {
    width: 90%;
  }

  .business__img {
    box-shadow: 2vw 2vw 0px #cbd8b7;
  }

  .business__right,
  .business__flex:nth-child(2n) .business__right {
    width: 100%;
    justify-content: center;
    margin-top: 8%;
  }

  .business__text h3 {
    font-size: min(4vw, 30px);
    line-height: 1.5;
  }

  .business__text p {
    font-size: min(3vw, 16px);
  }
}

/* ======================================
OFFICE
========================================= */
.office__content {
  display: flex;
  justify-content: space-between;
  margin-top: 90px;
 /* max-width: 1900px;*/
}

.office__box {
  display: flex;
  flex-direction: column;
  width: 32.3%;
}

.office__text {
  width: 75%;
  margin: 50px auto;
  font-weight: 700;
}

.office__text h3 {
  font-size: 28px;
}

.office__text p {
  line-height: 2;
  padding-top: 30px;
}

.map__content {
  background-color: #ebecec;
  padding: 50px 0px;
}

.map__flex {
  width: 95%;
  margin: 0 auto;
  max-width: 1800px;
  display: flex;
  justify-content: space-between;
}

.map__box {
  display: flex;
  flex-direction: column;
}

.map__box a {
  font-weight: 700;
  text-align: center;
  margin-top: 45px;
}

@media screen and (max-width: 1024px) {
  .office__content {
    flex-direction: column;
    align-items: center;
    margin-top: 5%;
  }

  .office__box {
    width: 100%;
  }

  .office__text {
    margin: 5% auto;
  }

  .office__text h3 {
    font-size: min(4vw, 30px);
  }

  .office__text p {
    font-size: min(3vw, 16px);
    padding-top: 4%;
  }

  .map__content {
    padding: 5% 0px 0%;
  }

  .map__flex {
    flex-direction: column;
  }

  .map__box {
    margin-bottom: 7%;
  }

  .map__box a {
    margin-top: 3%;
    font-size: min(3vw, 16px);
  }
}

/* ======================================
TOPICS
========================================= */
.topics__content {
  width: 80%;
  margin: 40px auto;
  max-width: 1500px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.topics__content::after {
  content: "";
  width: 32%;
}

.topics__box {
  display: flex;
  flex-direction: column;
  width: 32%;
}

.topics__img-wrap {
  position: relative;
}

.topics__img-wrap p {
  position: absolute;
  right: 0px;
  background-color: #709e52;
  color: #fff;
  font-weight: 100;
  letter-spacing: 1px;
  padding: 6px 16px;
}

.topics__img img {
  object-fit: cover;
  height: 14vw;
}

.topics__title {
  font-family: "shippori-mincho", sans-serif;
  font-weight: 700;
  font-size: 24px;
  margin: 25px 0px;
}

.topics__text {
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 25px;
}

.topics__more {
  color: #1f7247;
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  .topics__content {
    flex-direction: column;
    align-items: center;
    margin: 5% auto;
  }

  .topics__box {
    width: 100%;
    margin-bottom: 6%;
  }

  .topics__img-wrap p {
    padding: 1% 1%;
  }

  .topics__img img {
    height: 40vw;
  }

  .topics__title {
    font-size: min(4vw, 30px);
    margin: 3% 0px;
  }

  .topics__text {
    font-size: min(3vw, 16px);
    margin-bottom: 3%;
  }

  .topics__more {
    font-size: min(3vw, 16px);
  }
}

/* ======================================
NEWS
========================================= */
.news__wrapper {
  width: 80%;
  margin: 85px auto 170px;
  max-width: 1500px;
  border-top: solid 1px #8a8a8a;
}

.news__content {
  width: 85%;
  margin: 95px auto 0px;
}

.news__line {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 700;
  margin: 25px 0px;
  letter-spacing: 1px;
}

.news__data {
  width: 16%;
  /*margin-right: 4%;*/
  white-space: nowrap;
}

.news__cat {
  background-color: #cdcece;
  /*padding: 10px 6%;*/
  padding: 10px 0px;
  width: 17%;
  text-align: center;
  white-space: nowrap;
}

.news__text {
  line-height: 1.5;
  width: 58%;
  margin-left: 9%;
  position: relative;
}

.news__text::after {
  content: "▶";
  color: #5b9a69;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: -8%;
}

@media screen and (max-width: 1500px) {
  .news__wrapper {
    margin: 5% auto 10%;
  }
  .news__line {
    flex-wrap: wrap;
  }

  .news__data {
    width: 100%;
    margin-bottom: 2%;
  }

  .news__text {
    width: 96%;
    margin-left: 4%;
    margin-top: 2%;
  }

  .news__text::after {
    left: -3%;
  }
}

@media screen and (max-width: 1024px) {
  .news__content {
    width: 100%;
    margin: 0 auto;
  }

  .news__line {
    margin: 5% 0;
    font-size: min(3vw, 16px);
  }

  .news__cat {
    padding: 2%;
    width: auto;
  }
}
