/* ----------------------------------------------------------------
    Pseudo element (Block)
----------------------------------------------------------------- */
.t-hero_txt-main::before {
  display: block;
  content: "";
}

/* ----------------------------------------------------------------
    Top (.t-*[-*])
----------------------------------------------------------------- */
/* .t-hero
----------------------------------------------- */
.t-hero {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 88px;
  padding: 0 0 92px;
}
.t-hero_inner {
  position: relative;
  left: -40px;
}
.t-hero_txt {
  display: flex;
  z-index: 2;
  position: absolute;
  bottom: 12px;
  left: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 555px;
  min-height: 555px;
  border-radius: 50%;
  background: rgba(244, 240, 231, 0.85);
  filter: drop-shadow(5px 5px 8px rgba(51, 51, 51, 0.15));
}
.t-hero_txt-main {
  position: relative;
  padding: 0 0 23px;
  font-size: 5.4rem;
  line-height: calc(62 / 54);
  text-transform: uppercase;
}
.t-hero_txt-main::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 96px;
  height: 3px;
  background: #000;
}
.t-hero_txt-main_a {
  color: #9d4551;
}
.t-hero_txt-main_b {
  color: #5b7e45;
}
.t-hero_txt-main_c {
  color: #1c5a90;
}
.t-hero_txt-main_br {
  display: block;
  text-transform: none;
}
.t-hero_txt-main_br > span {
  text-transform: uppercase;
}
.t-hero_txt-sub {
  margin: 0;
  font-size: 2.1rem;
  text-transform: uppercase;
}
.t-hero_txt-sub > span {
  display: block;
}
.t-hero_img {
  margin: 0 -36px 0 0;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .t-hero {
    margin: 0;
    padding: 17px 0 245px;
    overflow-x: hidden;
  }
  .t-hero_inner {
    position: static;
  }
  .t-hero_txt {
    bottom: 64px;
    left: -26px;
    min-width: 300px;
    min-height: 300px;
  }
  .t-hero_txt-main {
    margin: 0 0 10px;
    padding: 0 0 16px;
    font-size: 3.2rem;
  }
  .t-hero_txt-main::before {
    width: 55px;
  }
  .t-hero_txt-sub {
    font-size: 1.5rem;
  }
  .t-hero_img {
    position: relative;
    margin: 0 -100px 0 20px;
  }
  .t-hero_img::before {
    position: absolute;
    right: calc(100px + -1px);
    bottom: -70px;
    transform: rotate(-90deg);
    color: #999;
    font-size: 1.4rem;
    content: "scroll down";
  }
  .t-hero_img::after {
    display: block;
    position: absolute;
    right: calc(100px + 20px);
    bottom: -125px;
    width: 8px;
    height: 130px;
    transform: skewY(45deg);
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    content: "";
  }
  .t-hero_img > img {
    width: auto;
    height: 276px;
  }
}
@media only screen and (max-width: 490px) {
  .t-hero_img > img {
    height: auto;
  }
}

/* .t-lyt
----------------------------------------------- */
.t-lyt {
  display: flex;
  position: relative;
  margin: 0 0 72px;
  padding: 0 0 49px;
}
.t-lyt_content {
  width: 55%;
  padding: 80px 50px 72px;
  border-radius: 15px;
  background: #f4f0e7;
  box-shadow: 5px 5px 8px rgba(51, 51, 51, 0.1);
}
.t-lyt_img {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 48.3333333333%;
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 5px 5px 8px rgba(51, 51, 51, 0.1);
}
.t-lyt_btn {
  max-width: 280px;
  margin: 0 auto;
}
.t-lyt.-lyt-02 {
  justify-content: flex-end;
  padding: 64px 0 0;
}
.t-lyt.-lyt-02 > .t-lyt_img {
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .t-lyt {
    flex-direction: column-reverse;
    align-items: center;
    margin: 0 -20px 88px;
    padding: 0;
  }
  .t-lyt:first-child {
    margin-bottom: 0;
  }
  .t-lyt_content {
    width: 100%;
    padding: 170px 20px 48px;
  }
  .t-lyt_img {
    position: static;
    width: 335px;
    margin: 0 0 -120px;
  }
}
