@charset "UTF-8";


/*============================
テキストリンクが改行された際のクリックアクションが1行目だけになってしまう事象の対策
============================*/
.a-ListDecoratable-footer .a-ListDecoratable__item a {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  body #main #contents .o-global-heroArea .o-global-heroArea__content .o-global-heroArea__thumb img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
  }

  /* ===========================================
  関連記事
  ===========================================*/
  body #main .related_article {
    width: 100%;
    max-width: 880px;
    border: solid #1B1C7B 2px;
  }
body #main .related_article .related_content {
    display: flex;
    justify-content: start;
    align-items: stretch;
  }
   body #main .related_article .related_content .related_article_ttl {
    display: flex;
    align-items: center;
    background-color: #1b1c7b;
  }
  body #main .related_article .related_content .related_article_ttl p {
    padding: 32px;
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
  body #main .related_article .related_content .related_article_txt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: calc(100% - 128px);
    padding: 18px 23px 14px;
  }
   body #main .related_article .related_content .related_article_txt a {
    width: 100%;
    color: #1b1c7b;
    cursor: pointer;
    text-decoration: underline;
  }
body #main .related_article .related_content .related_article_txt a .txt {
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    margin-bottom: 5px;
  }
  body #main .related_article .related_content .related_article_txt a .txt:nth-child(2) {
    margin-bottom: 0;
  }
  body #main .related_article .related_content .related_article_txt a:hover {
    text-decoration: none;
  }

   /* ===========================================
    H4
  ===========================================*/
    body #main #contents .detail_list_ttl {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 5px;
    font-weight: bold;
    position: relative;
  }

   body #main #contents .detail_list_ttl::after {
    content: none;
   }

   body #main #contents .detail_list_ttl span {
    width: 16px;
    height: 16px;
    padding-bottom: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1b1c7b;
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    color: #fff;
  }

  /* ===========================================
    flexレイアウト
  ===========================================*/
   body #main .contentMiddle .di-flexLayout {
    display: flex;
    gap: 40px;
   }

   body #main .contentMiddle .di-flexLayout__body {
    width: 360px;
   }

   body #main .contentMiddle .di-flexLayout__sub {
    width: 480px;
   }

      /* ===========================================
    タイトル付きの画像
  ===========================================*/
body #main .contentMiddle .di-figure {
  padding: 18px;
}

body #main .contentMiddle .di-figure__ttl {
  margin-bottom: 10px;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 26px;
  color: #1b1c7b;
  font-weight: bold;
  text-align: center;
}

   /* ===========================================
    説明リストの数字なしVer.タイトル
  ===========================================*/
   .a-heading.-has-number-prefix.-has-number-null .a-heading__wrapper .a-heading__prefix>.-number {
    width: 8px;
    min-width: initial !important;
    height: 8px;
    min-height: initial !important;
   }

   .a-heading.-has-number-prefix.-has-number-null.-size-3xs .a-heading__title {
    padding-left: 15px !important;
   }

      /* ===========================================
    section個別対応
  ===========================================*/
  body #main .contentMiddle #contents .ingenuity_data {
    background-color: #e3f1fa;
    padding: 0 30px 20px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_ttl {
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 32px;
    font-weight: bold;
    text-align: center;
    color: #1b1c7b;
    padding: 17px 0 19px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content {
    background-color: white;
    position: relative;
    max-width: 820px;
    width: 100%;
    padding: 30px 76px 18px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content p {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0;
    position: relative;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content p::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border: solid 2px #1B1C7B;
    top: 7px;
    left: -16px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content p:nth-child(6) {
    margin-bottom: 0px !important;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content img {
    width: 114px;
    position: absolute;
    bottom: 0;
    right: 60px;
  }

  /* .section_04-4 .a-heading.-size-3xs .a-heading__wrapper .a-heading__title {
    font-weight: normal !important;
  } */
}

@media screen and (max-width: 767px)  {
  body #main #contents .o-global-heroArea .o-global-heroArea__content .o-global-heroArea__thumb img {
    width: auto;
    max-width: 100%;
    max-height: 127px;
  }

   /* ===========================================
  関連記事
  ===========================================*/
   body #main .related_article {
    /* width: 100vw; */
    margin: 0 auto;
    /* padding: 0 18px; */
  }

  /*関連記事 .related_content*/
  body #main .related_article .related_content {
    border: solid #1B1C7B 2px;
  }
   body #main .related_article .related_content .related_article_ttl {
    background-color: #1b1c7b;
  }
 body #main .related_article .related_content .related_article_ttl p {
    padding: 3px 0 7px;
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }
  body #main .related_article .related_content .related_article_txt {
    padding: 19px 12px 12px;
  }
  body #main .related_article .related_content .related_article_txt a {
    color: #1b1c7b;
    cursor: pointer;
    text-decoration: underline;
  }
  body #main .related_article .related_content .related_article_txt a .txt {
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    margin-bottom: 5px;
  }
  body #main .related_article .related_content .related_article_txt a .txt:nth-child(2) {
    margin-bottom: 0;
  }
  body #main .related_article .related_content .related_article_txt a:hover {
    text-decoration: none;
  }

 /* ===========================================
    H4
  ===========================================*/
    body #main #contents .detail_list_ttl {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
  }

    body #main #contents .detail_list_ttl::after {
      content: none;
    }

body #main #contents .detail_list_ttl span {
    font-size: 14px;
    line-height: 24px;
    font-weight: 500;
    color: #fff;
    width: 16px;
    height: 16px;
    background-color: #1B1C7B;
    display: flex;
    align-items: center;
    justify-content: center;
  }

   /* body #main .contentMiddle .point_area.di-flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.25rem 15px;
  }*/

    /* ===========================================
    タイトル付きの画像
  ===========================================*/
   body #main .contentMiddle .di-figure {
  padding: 4.8vw 18px 18px;
}

body #main .contentMiddle .di-figure__ttl {
  margin-bottom: 2.13333vw;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 26px;
  color: #1b1c7b;
  font-weight: bold;
  text-align: center;
}


   /* ===========================================
    説明リストの数字なしVer.タイトル
  ===========================================*/
    .a-heading.-has-number-prefix.-has-number-null .a-heading__wrapper .a-heading__prefix>.-number {
    width: 8px;
    min-width: initial !important;
    height: 8px;
    min-height: initial !important;
   }

   .a-heading.-has-number-prefix.-has-number-null.-size-3xs .a-heading__title {
    padding-left: 15px !important;
   }

      /* ===========================================
    画面幅表示
  ===========================================*/
body #main .di-w100vw {
    width: 100vw;
    margin-left: -18px !important;
   }

    /* ===========================================
    横スクロール設定
  ===========================================*/
      .simplebar-track {
        background: #eeeeee;
      }

      /* .simplebar-track {
      background: #FFF;
      height: 20px !important;
    } */

      .simplebar-scrollbar {
        background: #1b1c7b;
      }

      /* .simplebar-scrollbar {
      background: #1B1C7B;
      left: 14px !important;
    } */

      /* .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
      height: 20px !important;
      left: 13px !important;
    } */

      .simplebar-scrollbar::before {
        opacity: 0 !important;
      }

      .section_01 .overflow-x-item {
        width: 402px;
      }

         /* ===========================================
    section個別対応
  ===========================================*/
  body #main .contentMiddle #contents .ingenuity_data {
    background-color: #e3f1fa;
    /* padding-bottom: 20px; */
  }
  body #main .contentMiddle #contents .ingenuity_data .data_ttl {
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: .05em;
    line-height: 32px;
    font-weight: bold;
    text-align: center;
    color: #1b1c7b;
    padding: 19px 0 8px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content {
    width: 90.4vw;
    margin: 0 auto;
    background-color: white;
    position: relative;
    padding: 4.8vw 7.46667vw 0 7.46667vw;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content .txt {
    width: 80vw;
    padding: 0;
    margin-bottom: 0;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content .txt p {
    margin-bottom: 2.66667vw;
    font-size: 4.26667vw;
    font-weight: 500;
    line-height: calc(28 / 16);
    letter-spacing: 0;
    position: relative;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content .txt p::before {
    content: "";
    position: absolute;
    width: 3.2vw;
    height: 3.2vw;
    border: solid 2px #1B1C7B;
    top: 2.3vw;
    left: -4.3vw;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content .txt p:nth-child(6) {
    margin-bottom: 0px !important;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content img {
    margin: 6.66667vw 0 0;
    /*margin-left: calc(100% - 130px);*/
    width: 114px;
  }
  body #main .contentMiddle #contents .ingenuity_data .data_content .ta-center {
    text-align: center;
  }
}