  body {
      font-family: "Noto Sans JP", sans-serif;
      box-sizing: border-box;
  }

  body,
  h1,
  h2,
  p {
      padding: 0;
      margin: 0;
  }

  a {
      text-decoration: underline;
      color: #0046AD;
  }

  a:hover {
      opacity: 0.8;
  }

  .arrow_box {
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all .3s;
      position: relative;
      z-index: 2;
  }

  a.bt_line_black {
      position: relative;
      display: inline-block;
      padding: 17px 40px;
      margin-bottom: 60px;
      font-size: 16px;
      color: #000;
      text-decoration: none;
      border: 1px solid #000;
      border-radius: 6px;
      overflow: hidden;
      transition: all .3s;
      background-color: #fff;
  }

  .field--type-text-with-summary section div.arrow {
      width: 0;
      height: 0;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 10px solid #000;
      z-index: 3;
      transition: all .3s;
      margin-right: 10.5px;
  }

  a.bt_line_black:hover {
      color: #fff;
      background-color: #000;
      opacity: 1.0;
  }

  a.bt_line_black:hover .arrow {
      border-left: 10px solid #fff;
  }

  /*
    a.bt_line_black::before {
        content: "";
        display: inline-block;
        width: 15px;
        height: 20px;
        margin-right: 10px;
        background: url("https://www.tdk.com/system/files/TDK_shape_black_right.png");
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: bottom;
    }
    

    a.bt_line_black:hover::before {
        content: "";
        display: inline-block;
        width: 15px;
        height: 20px;
        margin-right: 10px;
        background: url("https://www.tdk.com/system/files/TDK_shape_white_right.png");
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: bottom;
    }
*/
  #contents_2 {
      background-image: url(https://www.tdk.com/system/files/dx_background_02.jpg), url(https://www.tdk.com/system/files/dx_background_03.png), url(https://www.tdk.com/system/files/dx_background_04.png), url(https://www.tdk.com/system/files/dx_background_05.png) !important;
      background-position: top center, top 1020px left, top 2210px right, bottom center !important;
      background-size: contain, auto, auto, contain !important;
      background-repeat: no-repeat !important;
  }



  p {
      font-size: 16px;
      line-height: 32px;
  }

  p.notes {
      font-size: 12px;
  }

  .field--type-text-with-summary section h2 {
      font-size: 40px;
      font-weight: lighter;
      line-height: 60px;
      margin-bottom: 40px;
      margin-top: 100px;
  }

  img.mtb_40 {
      margin-top: 40px;
      margin-bottom: 40px;
  }

  .center-aligned-container {
      max-width: inherit;
      padding: 0;
  }

  .field--type-text-with-summary section {
      width: 100%;
      max-width: inherit;
      margin: 0;
      padding: 0px 20px;
  }

  .field--type-text-with-summary section div {
      max-width: 980px;
      margin: 0 auto;
  }

  /* 共通 */
  .pc_only {
      display: block;
  }

  .sp_only {
      display: none;
  }

  /* ページタイトル */
  .page_title {
      text-align: center;
      /*
        padding: 14px 20px 17px;
        */
      box-sizing: border-box;
  }

  .page_title h1 {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 60px;
      font-weight: 400;
      line-height: 1.2;
      margin: 100px 0;
      padding: 0 20px;
  }

  .page_title h1 img {
      width: 50px;
      min-width: 50px;
  }

  .page_title h1 span {
      display: block;
      font-size: 60px;
      line-height: 1.2;
      margin-left: 30px;
  }

  /* メインビジュアル 1280px基準 */
  .mv_area {
      margin: 0 calc(50% - 50vw);
      background: #EEEEEE;
  }

  .mv_area img {
      width: 100%;
  }


  .mv_text_box {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 57px 20px 43px 20px;
  }

  .mv_text {
      max-width: 700px;
      width: 100%;
      font-size: 20px;
      font-weight: 400;
      line-height: 1.875;
  }

  .mv_top {
      position: relative;
  }

  .mv_top_txt {
      /*background-color: #334069;*/
      padding: 40px 30px;
      color: #1132FF;
      position: absolute;
      left: 9.02%;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      max-width: 44.444444vw;
  }

  .mv_top_txt h2 {
      font-size: 2.8vw;
      margin-bottom: 10px;
      line-height: 1.3;
      font-weight: bold;
  }

  .mv_top_txt h3 {
      margin-bottom: 40px;
      color: #000;
      font-size: 2vw;
      font-weight: bold;
  }

  .mv_top_txt p {
      font-size: 1.40625vw;
      margin-bottom: 0;
      line-height: normal;
  }

  .mv_top_txt .mv_top_name {
      font-size: 1.7vw;
      font-weight: bold;
      margin-top: 3.4722222vw;
      color: #000;
  }

  .mv_top_txt .mv_top_name span {
      font-size: 1.2vw;
      font-weight: normal;
      display: inline-block;
      line-height: normal;
      margin-top: 5px;
  }


  .bg_blue {
      background: url("https://www.tdk.com/system/files/dx_background_01.jpg") !important;
      background-size: cover !important;
      background-repeat: no-repeat !important;
      vertical-align: bottom;
      color: #000;
  }


  .flex_2clm {
      display: flex;
      justify-content: space-between;
      margin-top: 32px;
  }

  .\32 clm_text,
  .\32 clm_image {
      width: 48.6%;
  }

  #stage #contents table tr th {
      background: #f7f8f9;
      font-weight: normal;
      color: #000;
  }

  #stage #contents table tr th,
  #stage #contents table tr td {
      padding: 0.8em 0.5em;
  }

  #stage #contents table tr th {
      text-align: center;
  }

  @keyframes slideIn {
      100% {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .jsSlideIn {
      display: block;
      overflow: hidden;
      opacity: 0;
      transition: 0.6s;
      transform: translateY(3rem);
  }

  .jsSlideIn.isEnable {
      animation: slideIn 1s forwards;
  }

  @media screen and (max-width: 768px) {
      .page_title h1 span {
          font-size: 5.3333333333vw;
      }
  }

  @media screen and (max-width: 768px) {

      /* 共通 */
      .pc_only {
          display: none;
      }

      .sp_only {
          display: block;
      }

      /* ページタイトル */
      .page_title {
          padding-top: 0;
          padding-bottom: 4vw;
      }

      .page_title h1 {
          font-size: 4vw;
          margin: 7vw 0;
      }

      .page_title h1 img {
          width: 9vw;
          min-width: inherit;
      }

      .page_title h1 span {
          line-height: 1.6;
          margin-left: 2vw;
      }

      /* メインビジュアル */
      .main_area {
          width: 90%;
          top: 0;
          padding: 0 5.3333333333vw 12vw;
      }

      .mv_text_box {
          padding: 1.6vw 5.3333333333vw 5.9vw 5.3333333333vw;
      }

      .mv_text {
          font-size: 3.4666666667vw;
          line-height: 1.5384615385;
      }

      .mv_top_txt {
          width: 100%;
          padding: 7vw 5.3333333333vw;
          right: 0;
          top: unset;
          bottom: 0;
          transform: translateY(0%);
          -webkit-transform: translateY(0%);
          -ms-transform: translateY(0%);
          opacity: 0.9;
          max-width: 100%;
          left: 0;
          position: unset;
      }

      .mv_top_txt h2 {
          font-size: 4.8vw;
          line-height: 1.3888888889;
          margin-bottom: 10px;
      }

      .mv_top_txt p {
          font-size: 3.4666666667vw;
          line-height: 1.5384615385;
          margin-bottom: 0;
      }

      .mv_top_txt .mv_top_name {
          font-size: 5.333333333333334vw;
          margin-top: 20px;
          line-height: normal;
      }

      .mv_top_txt .mv_top_name span {
          font-size: 2.933333333333333vw;
      }


      .sp_reverse {
          flex-direction: column-reverse;

      }

      /*-------------2025更新ここまで-------------*/


      .flex_2clm {
          flex-wrap: wrap;
      }

      .\32 clm_text,
      .\32 clm_image {
          width: 100%;
      }

      .\32 clm_image {
          margin: 20px 0;
      }

      .field--type-text-with-summary section {
          padding: 0 20px;
      }

      .field--type-text-with-summary section h2 {
          font-size: 30px;
          line-height: 40px;
          margin: 40px 0 40px 0;
      }

      #contents_2 {
          background-position: top left, top 870px left, top 1930px right, bottom center !important;
          background-size: 110vh, 60vw, 60vw, 120vh !important;
      }

  }