/*! Writen  by SCSS */
.bnr_jtb {
  max-width: 800px;
  margin: 0 auto;
  margin-top: clamp(40px, 5%, 60px); }

.bg_wrap01 {
  position: relative; }
  .bg_wrap01 .merit_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1; }

.sec_main {
  position: relative;
  margin-bottom: 60px; }
  @media screen and (max-width: 600px) {
    .sec_main {
      margin-bottom: 10px; } }
  .sec_main .main_img01 {
    position: absolute;
    inset: 0;
    margin: auto;
    opacity: 0;
    transition: all 0.5s ease-out; }
    @media screen and (max-width: 600px) {
      .sec_main .main_img01 {
        opacity: 1; } }
  .sec_main .main_txts {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    margin: auto; }
    @media screen and (max-width: 600px) {
      .sec_main .main_txts {
        width: 100%; } }
    .sec_main .main_txts .main_txt01 {
      position: absolute;
      inset: 0;
      margin: auto; }
      .sec_main .main_txts .main_txt01 .main_img02 {
        opacity: 0;
        transition: all 0.6s ease-out; }
      .sec_main .main_txts .main_txt01 .main_img02_ico {
        position: absolute;
        inset: 0;
        margin: auto;
        transition: all 0.5s ease-out;
        opacity: 0;
        transform: translateX(-20px); }
    .sec_main .main_txts .main_txt02 {
      position: absolute;
      inset: 0;
      margin: auto; }
      .sec_main .main_txts .main_txt02 .main_img03_ico {
        clip-path: inset(0 0 0 100%);
        transition: clip-path 0.8s ease-in-out; }
      .sec_main .main_txts .main_txt02 .main_img03 {
        position: absolute;
        inset: 0;
        margin: auto;
        transition: all 0.5s ease-out;
        opacity: 0; }
  .sec_main.active1 .main_img01 {
    opacity: 1; }
  .sec_main.active2 .main_txt01 .main_img02 {
    opacity: 1; }
  .sec_main.active3 .main_txt02 .main_img03_ico {
    clip-path: inset(0 0 0 0); }
  .sec_main.active3 .main_txt01 .main_img02_ico {
    opacity: 1;
    transform: translateX(0); }
  .sec_main.active4 .main_txt02 .main_img03 {
    opacity: 1; }

.sec_merit {
  position: relative;
  padding-bottom: clamp(80px, 12.5%, 150px); }
  @media screen and (max-width: 600px) {
    .sec_merit {
      padding-bottom: 0;
      margin-bottom: 20px; } }
  @media screen and (max-width: 600px) {
    .sec_merit .inner_1280 {
      width: 100%; } }
  @media screen and (max-width: 600px) {
    .sec_merit {
      background-image: url("../img/top/merit_bg_sp.png");
      background-position: top center;
      background-size: 100% auto;
      background-repeat: no-repeat; } }

.sec_cnt_btn {
  position: relative; }
  .sec_cnt_btn .bg_img01 {
    width: 100%;
    position: absolute;
    top: calc(100vw/16);
    right: 0;
    z-index: 1; }
    @media screen and (max-width: 600px) {
      .sec_cnt_btn .bg_img01 {
        top: calc(246vw/3.75); } }
  .sec_cnt_btn .bg_img02 {
    width: calc(695vw/16);
    position: absolute;
    right: 0;
    bottom: calc(160vw/16);
    z-index: 1; }
    @media screen and (max-width: 600px) {
      .sec_cnt_btn .bg_img02 {
        width: 100%;
        bottom: calc(1090vw/3.75); } }
  .sec_cnt_btn .inner_1280 {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 600px) {
      .sec_cnt_btn .inner_1280 {
        gap: 30px 0; } }
    .sec_cnt_btn .inner_1280 .cnt_btn {
      max-width: 1000px;
      margin: 0 auto;
      display: block;
      position: relative;
      z-index: 2; }
      @media screen and (max-width: 600px) {
        .sec_cnt_btn .inner_1280 .cnt_btn {
          width: 90%; } }
      .sec_cnt_btn .inner_1280 .cnt_btn:nth-child(2n) figcaption {
        text-align: right; }
        @media screen and (max-width: 600px) {
          .sec_cnt_btn .inner_1280 .cnt_btn:nth-child(2n) figcaption {
            text-align: left; } }
      .sec_cnt_btn .inner_1280 .cnt_btn img {
        filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.4)); }
        @media screen and (max-width: 600px) {
          .sec_cnt_btn .inner_1280 .cnt_btn img {
            filter: none; } }
      .sec_cnt_btn .inner_1280 .cnt_btn figcaption {
        font-size: 12px;
        font-feature-settings: "palt";
        letter-spacing: 0.1em;
        margin-top: 5px; }
        @media screen and (max-width: 600px) {
          .sec_cnt_btn .inner_1280 .cnt_btn figcaption {
            margin-top: 3px;
            font-size: 10px; } }
    .sec_cnt_btn .inner_1280 > a {
      transition: transform 1s ease-in-out, opacity 0.3s ease; }
      @media (hover: hover) {
        .sec_cnt_btn .inner_1280 > a:hover {
          opacity: 0.7; } }

.no_link {
  pointer-events: none;
  opacity: 0.4; }

.inner {
  max-width: 1000px;
  width: calc(100% - 40px);
  margin: 0 auto; }

.flex {
  display: flex;
  justify-content: space-between; }

.ai_fs {
  align-items: flex-start; }

.flex_wrap {
  flex-wrap: wrap; }

.flex_rr {
  flex-direction: row-reverse; }

.pos_r {
  position: relative; }

.pos_a {
  position: absolute; }

.banner_fp {
  max-width: 810px;
  margin: 0 auto clamp(30px, 4.167vw, 50px); }

/*# sourceMappingURL=top.css.map */
