@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lexend+Exa:wght@100..900&display=swap');

/* ========================================
   共通
======================================== */

.yumin {
  font-family: 'Shippori Mincho', "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "MS PMincho", serif;
}

.sokuryou {
  overflow-x: hidden;
  overflow-y: visible;
  position: relative;
  font-family: 'Shippori Mincho', "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "MS PMincho", serif;
}

.sokuryou.contain {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.section {
  width: 90%;
  margin: 0 auto;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }

  .sp-only {
    display: block;
  }
}

.sokuryou_bg_white {
  background: url('../img/case-bg.png') no-repeat center top;
  background-size: cover;
  border-radius: 60px 60px 0 0;
  position: relative;
  margin-top: -100px;
  /* flowを上に引き上げつつ余白を消す */
}

/* ========================================
   mv
======================================== */
.mv {
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(100vh - 93px);
  padding-top: 93px;
  background: #fff;

  .mv_image {
    width: 670px;
    height: 500px;
    flex: 1;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .mv_content {
    flex: 1;
    padding: 25px 0 0 98px;

    span {
      display: block;
      font-family: 'Lexend Exa', sans-serif;
      font-weight: bold;
      font-size: 20px;
      line-height: normal;
      color: #3e3e3e;
    }

    h2 {
      font-size: 60px;
      line-height: 1.9;
      color: #0e6d1d;
      letter-spacing: -4.8px;
      margin: 33px auto;
      white-space: nowrap;
    }

    p {
      font-size: 18px;
      line-height: 2;
    }
  }
}

@media screen and (max-width: 1200px) {
  .mv {
    flex-direction: column;
    min-height: auto;
    padding: 150px 40px 40px 40px;
    align-items: center;

    .mv_image {
      width: 100%;
      max-width: 669px;
      height: auto;
    }

    .mv_content {
      padding: 40px 0 0 0;
      text-align: center;
    }
  }
}

@media screen and (max-width: 768px) {
  .mv {
    padding: 120px 20px 40px 20px;

    .mv_content {
      span {
        font-size: 15px;
        line-height: 1.6;
      }

      h2 {
        font-size: 36px;
        margin: 30 auto;
      }

      p {
        font-size: 15px;
        line-height: 1.6;
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .mv {
    .mv_content {
      >h2 {
        font-size: 28px;
      }
    }
  }
}

/* ========================================
   sokuryou_scroll
======================================== */
.sokuryou_scroll {
  position: fixed;
  right: 20px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1000;
  pointer-events: none;
  animation: scrollFloat 2s ease-in-out infinite;

  >span {
    font-family: 'Lexend Exa', sans-serif;
    font-weight: 300;
    font-size: 10px;
    line-height: 2;
    color: #0e6d1d;
    transform: rotate(-90deg);
    transform-origin: center;
    margin-bottom: 20px;
  }

  .sokuryou_scroll_arrow {
    width: 1px;
    height: 69px;
    background: #0e6d1d;
    position: relative;

    &:after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 4px solid transparent;
      border-right: 4px solid transparent;
      border-top: 7px solid #0e6d1d;
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_scroll {
	display:none;
  }
}

@keyframes scrollFloat {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

/* ========================================
   イントロ
======================================== */
.sokuryou_conts_intro {
  padding: 50px 0 120px;

  .sokuryou_conts_intro_inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 0 auto;
    gap: 20px;

    .sokuryou_intro_sections {
      max-width: 1016px;
      display: flex;
      flex-direction: column;
      gap: 30px;
      margin-bottom: 90px;
    }

    .sokuryou_intro_section {
      width: 585px;

      h3 {
        font-size: 30px;
        line-height: 1.7;
        color: #0e6d1d;
        letter-spacing: -2.4px;
        margin: 0 0 5px;
      }

      p {
        margin: 0;
        font-size: 16px;
        line-height: 1.7;
        letter-spacing: -1.28px;
      }
    }

    .sokuryou_conts_intro_bg {
      width: 441px;
      height: 523px;
      flex-shrink: 0;

      img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }

  .sokuryou_conts_intro_text {
    p {
      margin: 18px 0 0;
      font-size: 16px;
      text-align: center;
      line-height: 1.7;
    }
  }
}

@media screen and (max-width: 1200px) {
  .sokuryou_conts_intro {
    .sokuryou_conts_intro_inner {
      align-items: center;

      .sokuryou_intro_sections {
        max-width: none;
      }

      .sokuryou_intro_section {
        width: 100%;

        h3 {
          width: 100%;
          font-size: 28px;

        }

        p {
          width: 100%;
          font-size: 15px;
        }
      }

      .sokuryou_conts_intro_bg {
        width: 45%;
        min-width: 320px;
        height: auto;
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_intro {
    padding: 50px 0 90px;

    .sokuryou_conts_intro_inner {
      flex-direction: column-reverse;
      align-items: center;
      gap: 20px;

      .sokuryou_intro_sections {
        width: 100%;
        gap: 40px;
        margin-bottom: 40px;
      }

      .sokuryou_intro_section {
        h3 {
          font-size: 24px;
        }

        p {
          font-size: 15px;
          line-height: 1.6;
        }
      }

      .sokuryou_conts_intro_bg {
        width: 70%;
        min-width: 0;
      }
    }

    .sokuryou_conts_intro_text {
      p {
        font-size: 13px;
        text-align: left;
        line-height: 1.6;
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_intro {
    .sokuryou_conts_intro_inner {
      .sokuryou_intro_section {
        h3 {
          font-size: 20px;
        }
      }
    }
  }
}

/* ========================================
   3つの約束
======================================== */
.sokuryou_conts_promise {
  padding: 0 0 212px 0;

  .sokuryou_promise_title {
    text-align: center;
    margin-bottom: 54px;

    >h3 {
      font-size: 30px;
      line-height: 1.5;
      color: #0e6d1d;
      margin-bottom: 8px;
    }

    p {
      font-size: 16px;
      line-height: 1.7;
      letter-spacing: -1.28px;
    }
  }

  .sokuryou_promise_cards {
    display: flex;
    gap: clamp(16px, 2.8vw, 49px);
    justify-content: space-between;
    margin: 0 auto;
    width: min(100%, 1110px);

    .sokuryou_promise_card {
      flex: 1 1 0;
      min-width: 0;
      max-width: 337px;
      position: relative;
      background: #fff;
      border: 1px solid #d3d3d3;
      box-shadow: 0 5px 6px rgba(0, 0, 0, 0.3);
      border-radius: 60px 0 60px 0;
      padding: 11px 11px 20px 11px;

      .sokuryou_promise_card_img {
        width: 100%;
        height: clamp(180px, 21vw, 259px);
        border-radius: 50px 0 0 0;
        overflow: hidden;
        margin-bottom: 12px;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      p {
        font-size: clamp(14px, 1.35vw, 20px);
        line-height: 1.7;
        text-align: center;
        letter-spacing: -1.6px;
        width: 100%;
        margin: 0 auto;
      }
    }
  }

  .sokuryou_promise_card {
    opacity: 0;
    transform: translateX(-24px);
  }

  .sokuryou_promise_cards.is-visible .sokuryou_promise_card {
    animation: fadeInLeft 0.9s ease-out forwards;
  }

  .sokuryou_promise_cards.is-visible .sokuryou_promise_card:nth-child(1) {
    animation-delay: 0.1s;
  }

  .sokuryou_promise_cards.is-visible .sokuryou_promise_card:nth-child(2) {
    animation-delay: 0.4s;
  }

  .sokuryou_promise_cards.is-visible .sokuryou_promise_card:nth-child(3) {
    animation-delay: 0.7s;
  }

  .sokuryou_promise_note {
    text-align: center;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: -1.28px;
  }
}

@media screen and (max-width: 1200px) {
  .sokuryou_conts_promise {
    .sokuryou_promise_title {
      >h3 {
        font-size: clamp(24px, 2.6vw, 30px);
      }
    }

    .sokuryou_promise_cards {
      flex-wrap: nowrap;
      gap: clamp(12px, 2vw, 24px);
      width: min(100%, 980px);

      .sokuryou_promise_card {
        border-radius: 40px 0 0 0;
        padding: 10px 10px 15px;

        .sokuryou_promise_card_img {
          border-radius: 30px 0 0 0;
        }

        p {
          line-height: 1.6;
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_promise {
    .sokuryou_promise_title {
      margin-bottom: 30px;

      >h3 {
        font-size: 24px;
        padding: 0;
      }
    }

    .sokuryou_promise_cards {
      flex-direction: column;
      align-items: center;
      padding: 0;
      gap: 20px;
      width: 100%;
      box-sizing: border-box;

      .sokuryou_promise_card {
        width: 100%;
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;

        .sokuryou_promise_card_img {
          height: auto;
          aspect-ratio: 315 / 259;
          max-height: 200px;
        }

        p {
          font-size: 13px;
          line-height: 1.5;
        }
      }
    }

    .sokuryou_promise_note {
      padding: 0 20px;
      font-size: 15px;
      line-height: 1.6;
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_promise {
    .sokuryou_promise_title {
      >h3 {
        font-size: 20px;
      }
    }
  }
}

/* ========================================
   MIDORI測量部の業務内容
======================================== */
.sokuryou_conts_gyoumu {
  background: #fff;
  padding: 0 0 160px;
  position: relative;
  --gyoumu-pin-top: 130px;
  --gyoumu-pin-left: 0px;
  --gyoumu-pin-width: 100%;
  --gyoumu-pin-height: 600px;
  --gyoumu-stop-top: 0px;

  .sokuryou_gyoumu_layout {
    display: grid;
    grid-template-columns: 4.5fr 4fr 1.5fr;
    width: 100%;
    align-items: flex-start;
    position: relative;
  }

  .sokuryou_gyoumu_column_left {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    align-self: start;
    height: fit-content;
  }

  .sokuryou_gyoumu_title {
    width: fit-content;
    padding-bottom: 65px;
    min-height: 158px;
    text-align: left;

    >h3 {
      margin: 0;
      font-size: 36px;
      line-height: 1.7;
      font-weight: bold;
      color: #333;
    }

    p {
      font-size: 16px;
      margin: 0;
      line-height: 1.7;
    }
  }

  .sokuryou_gyoumu_content {
    display: flex;
    flex-direction: column;
        gap: 100px;
        padding: 80px 59px 20px 59px;
    transform: translateY(0);
    will-change: transform;

    .sokuryou_gyoumu_item {
      >h4 {
        color: #0E6D1D;
        font-size: 26px;
        margin: 0;
        line-height: 2;
        font-weight: bold;
      }

      p {
        font-size: 18px;
        line-height: 1.7;
        margin: 0;
        text-align: justify;
      }
    }
  }

  .sokuryou_gyoumu_column_right {
    padding-top: 223px;
  }

  .sokuryou_gyoumu_image_box {
    width: 100%;
    height: 420px;
    overflow: hidden;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
  }
}

.sokuryou_conts_gyoumu.is-pinned .sokuryou_gyoumu_layout {
  position: fixed;
  top: var(--gyoumu-pin-top);
  left: var(--gyoumu-pin-left);
  width: var(--gyoumu-pin-width);
  height: var(--gyoumu-pin-height);
  z-index: 20;
  overflow: hidden;
}

.sokuryou_conts_gyoumu.is-ended .sokuryou_gyoumu_layout {
  position: absolute;
  top: var(--gyoumu-stop-top);
  left: 0;
  width: 100%;
  height: var(--gyoumu-pin-height);
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_gyoumu {
    .sokuryou_gyoumu_layout {
      grid-template-columns: 1fr;
    }

    .sokuryou_gyoumu_column_left {
      align-items: flex-start;
      position: static;
    }

    .sokuryou_gyoumu_title {
      width: 90%;
      margin: 0 auto;
      padding-bottom: 0;
    }

    .sokuryou_gyoumu_content {
      width: 90%;
      margin: 20px auto 0;
      transform: none !important;
      will-change: auto;
    }

    .sokuryou_gyoumu_column_right {
      padding: 0 40px 40px 40px;
      position: static;

      .sokuryou_gyoumu_image_box {
        display: none;
      }
    }

    .sokuryou_gyoumu_image_box {
      height: 300px;
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_gyoumu {
    padding: 0 0 100px;

    .sokuryou_gyoumu_title {

      >h3 {
        font-size: 32px;
      }
    }

    .sokuryou_gyoumu_content {
      padding: 0 20px;
      gap: 24px;

      .sokuryou_gyoumu_item {

        p {
          font-size: 15px;
          line-height: 1.6;
        }
      }
    }

    .sokuryou_gyoumu_column_right {
      padding: 0 20px 20px 20px;
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_gyoumu {
    .sokuryou_gyoumu_title {
      >h3 {
        font-size: 28px;
      }
    }

    .sokuryou_gyoumu_content {
      .sokuryou_gyoumu_item {
        >h4 {
          font-size: 18px;
        }

        p {
          font-size: 14px;
          line-height: 1.6;
        }
      }
    }
  }
}

/* ========================================
   測量だけで終わらせない
======================================== */
.sokuryou_conts_support {
  padding: 0 0 140px;
  background: #fff;

  .sokuryou_support_title {
    text-align: center;
    margin-bottom: 67px;

    >h3 {
      font-size: 30px;
      line-height: 1.5;
      color: #0e6d1d;
      margin: 0;
    }

    p {
      font-size: 16px;
      line-height: 1.7;
      letter-spacing: -1.28px;
      margin: 18px 0 0;
    }
  }

  .sokuryou_support_items {
    max-width: 990px;
    margin: 0 auto;

    .sokuryou_support_item {
      background: #f9f9f9;
      border-radius: 20px;
      box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
      padding: 34px 42px;
      margin-bottom: 30px;
      display: flex;
      gap: 48px;
      align-items: flex-start;

      &:last-child {
        margin-bottom: 0;
      }

      .sokuryou_support_item_img {
        width: 292px;
        height: 169px;
        flex-shrink: 0;
        overflow: hidden;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .sokuryou_support_item_content {
        flex: 1;

        >h4 {
          font-size: 26px;
          line-height: 1.5;
          color: #0e6d1d;
          font-weight: bold;
          margin: 4px 0 6px;
        }

        p {
          font-size: 16px;
          line-height: 1.5;
          margin: 0;
        }
      }
    }
  }

  .sokuryou_support_item {
    opacity: 0;
    transform: translateY(24px);
  }

  .sokuryou_support_items.is-visible .sokuryou_support_item {
    animation: fadeInUp 0.9s ease-out forwards;
  }

  .sokuryou_support_items.is-visible .sokuryou_support_item:nth-child(1) {
    animation-delay: 0.1s;
  }

  .sokuryou_support_items.is-visible .sokuryou_support_item:nth-child(2) {
    animation-delay: 0.35s;
  }

  .sokuryou_support_items.is-visible .sokuryou_support_item:nth-child(3) {
    animation-delay: 0.6s;
  }
}

@media screen and (max-width: 1200px) {
  .sokuryou_conts_support {

    .sokuryou_support_title {
      padding: 0 20px;
      margin-bottom: 50px;

      >h3 {
        font-size: 24px;
      }
    }

    .sokuryou_support_items {

      .sokuryou_support_item {
        gap: 20px;
        flex-direction: column;

        .sokuryou_support_item_img {
          width: 100%;
          max-width: 100%;
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_support {
    padding: 0 0 80px 0;

    .sokuryou_support_title {
      margin-bottom: 30px;

      >h3 {
        font-size: 22px;
      }
    }

    .sokuryou_support_items {

      .sokuryou_support_item {
        padding: 20px;
        margin-bottom: 20px;

        .sokuryou_support_item_content {
          >h4 {
            font-size: 20px;
          }

          p {
            font-size: 15px;
            line-height: 1.6;
          }
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_support {
    .sokuryou_support_title {
      >h3 {
        font-size: 20px;
      }
    }
  }
}

/* ========================================
   フロー＆サービス概要
======================================== */
.sokuryou_conts_flow_service {
  position: relative;
  top: 0;
  background: linear-gradient(180deg, #254d0e 0%, #173a03 100%);
  border-radius: 60px 60px 0 0;
  padding: 100px 0;
  color: #fff;

  .sokuryou_flow_section {
    margin-bottom: 150px;

    .sokuryou_flow_title {
      text-align: center;
      margin-bottom: 67px;

      >span {
        font-size: 12px;
        line-height: 1.5;
        display: block;
        font-weight: bold;
      }

      >h3 {
        font-size: 30px;
        line-height: 1.5;
        margin-top: 5px;
      }
    }

    .sokuryou_flow_content {
      width: max-content;
      margin: 0 auto;
      position: relative;

      .sokuryou_flow_line {
        position: absolute;
        left: 14px;
        top: 14px;
        width: 5px;
        height: 95%;
        background: #fff;
      }

      .sokuryou_flow_steps {
        padding-left: 62px;
        position: relative;

        .sokuryou_flow_step {
          margin-bottom: 45px;
          position: relative;

          &:last-child {
            margin-bottom: 0;
          }

          >h4 {
            font-size: 24px;
            line-height: 1.5;
            font-weight: bold;
            display: inline;
            position: relative;

            &::after {
              content: '';
              position: absolute;
              left: -62px;
              top: 50%;
              transform: translateY(-50%);
              width: 32px;
              height: 32px;
              background: #fff;
              border-radius: 50%;
              display: block;
            }
          }

          >span {
            font-size: 18px;
            line-height: 1.5;
            font-weight: normal;
            display: inline;
          }
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_flow_service {
    .sokuryou_flow_section {
      margin-bottom: 80px;

      .sokuryou_flow_title {
        >h3 {
          font-size: 30px;
        }
      }

      .sokuryou_flow_content {
        .sokuryou_flow_steps {
          .sokuryou_flow_step {
            margin-bottom: 40px;

            >h4 {
              font-size: 20px;
              display: block;
              margin: 0;
            }

            >span {
              font-size: 15px;
              line-height: 1.6;
              display: block;
            }
          }
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_flow_service {
    .sokuryou_flow_section {
      margin-bottom: 40px;

      .sokuryou_flow_title {
        >h3 {
          font-size: 26px;
        }
      }

      .sokuryou_flow_content {
        width: 80%;

        .sokuryou_flow_steps {
          .sokuryou_flow_step {
            >h4 {
              font-size: 18px;
            }

            >span {
              font-size: 14px;
            }
          }
        }
      }
    }
  }
}

/* ========================================
   事例
======================================== */
.sokuryou_conts_case {
  position: relative;
  padding: 128px 0 120px 0;

  .sokuryou_conts_case_inner {
    max-width: 964px;

    .sokuryou_case_title {
      margin: 0 auto 60px;
      padding-left: 15px;
      position: relative;
      z-index: 1;

      >span {
        font-family: 'Lexend Exa', sans-serif;
        font-size: 12px;
        line-height: 1.5;
        letter-spacing: -0.96px;
        display: block;
      }

      >h3 {
        font-size: 45px;
        line-height: 1.5;
        margin: 8px 0;
      }

      p {
        font-size: 18px;
        line-height: 1.5;
        margin: 16px 0 0 0;
      }
    }

    .sokuryou_case_items {
      display: flex;
      flex-direction: column;
      gap: 50px;
      padding: 0;
      position: relative;
      z-index: 1;

      .sokuryou_case_item {
        display: flex;
        gap: 35px;

        .sokuryou_case_image {
          width: 293px;
          height: 354px;
          flex-shrink: 0;
          border: 1px solid #d7d7d7;
          opacity: 0;
          transform: translateY(24px);

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }

        .sokuryou_case_image.is-visible {
          animation: fadeInUp 0.9s ease-out forwards;
        }

        .sokuryou_case_content {
          flex: 1;
          padding-top: 14px;

          .sokuryou_case_content_title {
            display: flex;
            align-items: center;
            gap: 25px;
            margin-bottom: 20px;

            .sokuryou_case_badge {
              display: inline-block;
              background: #000;
              color: #fff;
              font-size: 18px;
              line-height: 1.5;
              font-weight: bold;
              padding: 4px 17px 5px;
              white-space: nowrap;
            }

            >h4 {
              font-size: 24px;
              line-height: 1.5;
              margin: 0;
              font-weight: normal;
            }
          }

          .sokuryou_case_text {
            display: flex;
            flex-direction: column;
            gap: 25px;
            font-size: 16px;
            line-height: 1.5;

            p {
              margin: 0;

              &.case_subtitle {
                font-weight: bold;
              }
            }
          }
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_case {
    .sokuryou_conts_case_inner {
      .sokuryou_case_title {
        padding-left: 0;

        >h3 {
          font-size: 32px;
        }
      }

      .sokuryou_case_items {
        .sokuryou_case_item {
          flex-direction: column;
          gap: 10px;

          .sokuryou_case_image {
            width: 70%;
            height: auto;
          }

          .sokuryou_case_content {
            .sokuryou_case_content_title {
              flex-direction: column;
              align-items: flex-start;
              gap: 10px;

              >h4 {
                font-size: 18px;
              }
            }

            .sokuryou_case_text {
              font-size: 15px;
              line-height: 1.6;
            }
          }
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_case {
    .sokuryou_case_title {
      >h3 {
        font-size: 28px;
      }
    }
  }
}

/* ========================================
   Q&A
======================================== */
.sokuryou_conts_qa {
  position: relative;
  padding: 0 0 100px;

  .sokuryou_qa_title {
    text-align: center;
    margin-bottom: 34px;

    >span {
      font-size: 12px;
      line-height: 1.5;
      display: block;
      font-weight: bold;
    }

    >h3 {
      font-size: 30px;
      line-height: 1.5;
      margin-top: 5px;
    }
  }

  .sokuryou_qa_list {
    max-width: 729px;
    margin: 0 auto;

    .sokuryou_qa_item {
      border-top: 1px solid #000;
      padding: 24px 22px;

      &:last-child {
        border-bottom: 1px solid #000;
      }

      >h4 {
        font-size: 16px;
        line-height: 1.5;
        font-weight: bold;
        margin: 0;
      }

      p {
        font-size: 14px;
        line-height: 1.5;
        margin: 12px 0 5px;
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .sokuryou_conts_qa {
    padding: 0 0 80px;

    .sokuryou_qa_title {
      >h3 {
        font-size: 24px;
      }
    }

    .sokuryou_qa_list {
      max-width: 100%;

      .sokuryou_qa_item {
        padding: 20px 10px;

        >h4 {
          font-size: 15px;
          line-height: 1.6;
        }

        p {
          font-size: 15px;
          line-height: 1.6;
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .sokuryou_conts_qa {
    .sokuryou_qa_title {
      >h3 {
        font-size: 20px;
      }
    }
  }
}

/* ========================================
   フェードインアニメーション
======================================== */
.fade_in_op {
  opacity: 0;
  animation: fadeInOpacity 1.5s ease-in forwards;
}

.mv_image .fade_in_op {
  opacity: 0;
  transform: translateY(30px);
  animation: none;
}

.mv_image .fade_in_op.mv_fade_start {
  animation: fadeInUp 1.5s ease-out forwards;
}

@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fade_in_up1 {
  transform: translateY(30px);
  animation: fadeInUp 1.5s ease-out 0.3s forwards;
}

.fade_in_up2 {
  transform: translateY(30px);
  animation: fadeInUp 1.5s ease-out 0.5s forwards;
}

.fade_in_up3 {
  transform: translateY(30px);
  animation: fadeInUp 1.5s ease-out 0.7s forwards;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-24px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
