  @media screen and (min-width: 768px) {
    .contents_body .media_large{
      font-size: 0;
      margin: 0 -14px;
    }
    .contents_body .media_large li{
      display: inline-block;
      width: 476px;
      margin: 0 14px;
    }
    .contents_body .media_large li img{
      float: left;
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
    }
    .contents_body .media_large li .txt_wrap{
      margin-left: 252px;
      padding: 56px 0 0;
    }
    .contents_body .media_large li .name_en{
      font-size: 15px;
      font-weight: bold;
      line-height: 26px;
      letter-spacing: 0.04em;
    }
    .contents_body .media_large li .name_ja{
      font-size: 13px;
      line-height: 26px;
    }

    .contents_body .link.pdf{
      position: relative;
      display: block;
      font-size: 13px;
      font-weight: bold;
      line-height: 21px;
      letter-spacing: 0.04em;
      border: 1px solid #CCC;
      background-color: #fff;
      padding: 12px 0 13px 35px;
      box-sizing: border-box;
      color: #0099D9;
    }
    .contents_body .link.pdf:before{
      content: '';
      position: absolute;
      top: 14px;
      left: 14px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/arrow.png') no-repeat center center;
      background-size: 100% auto;
    }
    .contents_body .link.pdf:after{
      content: '';
      position: absolute;
      top: 14px;
      right: 14px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/pdf.png') no-repeat center center;
      background-size: 100% auto;
    }

    .contents_body .media_large .link.pdf{
      width: 196px;
      margin: 21px 0 0;
    }
    .contents_body .media_large .link.pdf:first-of-type{
      margin: 40px 0 0;
    }

    .contents_body .media_middle{
      font-size: 0;
      margin: 112px -14px 0;
    }
    .contents_body .media_middle li{
      display: inline-block;
      width: 304px;
      margin: 0 14px;
    }
    .contents_body .media_middle .name{
      font-size: 15px;
      font-weight: bold;
      line-height: 28px;
      padding: 6px 20px 0;
      border-left: 1px solid #E6E6E6;
    }
    .contents_body .media_middle img{
      height: 308px;
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
      margin: 30px 0 0;
    }
    .contents_body .media_middle .link.pdf{
      width: 217px;
      margin: 7px 0 0;
    }
    .contents_body .media_middle .link.pdf:first-of-type{
      margin: 35px 0 0;
    }
    .contents_body .link.list{
      position: relative;
      display: inline-block;
      font-size: 13px;
      font-weight: bold;
      line-height: 21px;
      letter-spacing: 0.04em;
      padding: 0 20px 0 21px;
      box-sizing: border-box;
      color: #0099D9;
      margin: 20px 0 0;
    }
    .contents_body .link.list:before{
      content: '';
      position: absolute;
      top: 3px;
      left: 4px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/arrow.png') no-repeat center center;
      background-size: 100% auto;
    }

    h2{
      margin-top: 95px;
      margin-bottom: 28px;
    }

    .contents_body .media_small{
      font-size: 0;
      margin: 0 -14px 0;
    }
    .contents_body .media_small li{
      display: inline-block;
      width: 224px;
      margin: 28px 14px 0;
      vertical-align: top;
    }
    .contents_body .media_small .name{
      min-height: 56px;
      font-size: 15px;
      font-weight: bold;
      line-height: 28px;
      padding: 6px 20px 0;
      border-left: 1px solid #E6E6E6;
    }
    .contents_body .media_small img{
      height: 252px;
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
      margin: 30px 0 0;
    }
    .contents_body .media_small .link.pdf{
      width: 196px;
      margin: 7px 0 0;
      font-size: 11px;
    }
    .contents_body .media_small .link.pdf:first-of-type{
      margin: 35px 0 0;
    }

    .contents_body .movie_list{
      font-size: 0;
      margin: 0 -42px 0;
    }
    .contents_body .movie_list li{
      display: inline-block;
      width: 448px;
      margin: 28px 42px 0;
      vertical-align: top;
    }
    .contents_body .movie_list li .movie{
      cursor: pointer;
    }
    .contents_body .movie_list li p{
      font-size: 15px;
      font-weight: bold;
      line-height: 21px;
      padding: 30px 0;
    }


    .pc_none {
        display: none !important
    }
}

@media screen and (max-width: 767px) {

    html,
    body {
        /*font-size: .26667vw*/
    }

    body {
        min-width: 320px
    }

    .contents_body .media_large li{
      margin-top: 48px;
      overflow: hidden;
    }
    .contents_body .media_large li:first-child{
      margin-top: 0;
    }
    .contents_body .media_large li img{
      float: left;
      width: calc(112 / 375 * 100vw);
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
    }
    .contents_body .media_large li .txt_wrap{
      margin-left: calc(140 / 375 * 100vw);
      padding: 0;
    }
    .contents_body .media_large li .name_en{
      font-size: 15px;
      font-weight: bold;
      line-height: 26px;
      letter-spacing: 0.04em;
    }
    .contents_body .media_large li .name_ja{
      font-size: 13px;
      line-height: 26px;
    }

    .contents_body .link.pdf{
      position: relative;
      display: block;
      font-size: 11px;
      font-weight: bold;
      line-height: 18px;
      letter-spacing: 0.04em;
      border: 1px solid #CCC;
      background-color: #fff;
      padding: 14px 0 13px 35px;
      box-sizing: border-box;
      color: #0099D9;
    }
    .contents_body .link.pdf:before{
      content: '';
      position: absolute;
      top: 16px;
      left: 14px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/arrow.png') no-repeat center center;
      background-size: 100% auto;
    }
    .contents_body .link.pdf:after{
      content: '';
      position: absolute;
      top: 14px;
      right: 13px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/pdf.png') no-repeat center center;
      background-size: 100% auto;
    }

    .contents_body .media_large .link.pdf{
      margin: 7px 0 0;
    }
    .contents_body .media_large .link.pdf:first-of-type{
      margin: 14px 0 0;
    }

    .contents_body .media_middle{
      margin: 20px 0 0;
      padding: 0;
      overflow: hidden;
    }
    .contents_body .media_middle li{
      position: relative;
      margin: 28px 0 0;
      padding: 0 0 10px calc(112 / 375 * 100vw);
    }
    .contents_body .media_middle .name{
      font-size: 15px;
      font-weight: bold;
      line-height: 28px;
    }
    .contents_body .media_middle img{
      position: absolute;
      top: 0;
      left: 0;
      width: calc(84 / 375 * 100vw);
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
    }
    .contents_body .media_middle .link.pdf{
      width: 170px;
      margin: 7px 0 0;
    }
    .contents_body .link.list{
      position: relative;
      display: inline-block;
      font-size: 13px;
      font-weight: bold;
      line-height: 21px;
      letter-spacing: 0.04em;
      padding: 0 20px 0 21px;
      box-sizing: border-box;
      color: #0099D9;
      margin: 20px 0 0;
    }
    .contents_body .link.list:before{
      content: '';
      position: absolute;
      top: 3px;
      left: 4px;
      display: block;
      width: 14px;
      height: 14px;
      background: url('/jp/ja/img/common/arrow.png') no-repeat center center;
      background-size: 100% auto;
    }

    h2{
      margin-top: 60px;
      margin-bottom: 28px;
    }

    .contents_body .media_small{
      margin: 0;
      overflow: hidden;
    }
    .contents_body .media_small li{
      position: relative;
      margin: 48px 0 0;
      padding-left: calc(112 / 375 * 100vw);
      min-height: calc(120 / 375 * 100vw);
    }
    .contents_body .media_small li:first-child{
      margin: 0;
    }
    .contents_body .media_small .name{
      font-size: 15px;
      font-weight: bold;
      line-height: 28px;
    }
    .contents_body .media_small img{
      position: absolute;
      top: 0;
      left: 0;
      width: calc(84 / 375 * 100vw);
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
    }
    .contents_body .media_small .link.pdf{
      margin: 14px 0 0;
      font-size: 11px;
    }

    .contents_body .movie_list li{
      margin: 28px 0 0;
      vertical-align: top;
    }
    .contents_body .movie_list li .movie img{
      width: 100%;
    }
    .contents_body .movie_list li p{
      font-size: 15px;
      font-weight: bold;
      line-height: 21px;
      padding: 28px 0;
    }


    .sp_none {
        display: none !important
    }
}





/* 2025/09/19 追加分　メディア表示の共通設定 */
.contents_body .media_large,
.contents_body .media_middle {
  display: flex;
  margin: 0;
  gap: 20px;
}

.contents_body .media_middle {
  margin-top: 110px;
}

/* リストアイテムの設定 */
.contents_body .media_large li {
  display: flex;
  width: 50%;
  margin: 0;
  gap: 40px;
  align-items: end;
}

.contents_body .media_middle li {
  width: 33%;
  margin: 0;
}

/* 画像コンテナの設定 */
.pub_img {
  overflow: hidden;
  display: flex;
  align-items: center;
}

.pub_img img {
  width: auto;
  height: auto;
  margin: 0;
  border: 1px solid #E6E6E6;
}

/* 画像サイズの設定 */
.contents_body .media_large img,
.contents_body .media_middle img,
.contents_body .media_small img {
  width: 100%;
  height: auto;
  max-width: 217px;
}

.contents_body .media_small img {
  margin: 0;
}

/* テキスト部分の設定 */
.contents_body .media_large li .txt_wrap {
  padding: 0;
  margin: 0;
  width: 60%;
}

/* 各サイズの画像コンテナサイズ */
.contents_body .media_large .pub_img {
  width: 218px;
  height: 268px;
}

.contents_body .media_middle .pub_img {
  width: 218px;
  height: 305px;
  margin: 30px 0 0 0;
}
.contents_body .media_middle img{
  margin: 0;
  width: 100%;
  height: auto;
}

.contents_body .media_small .pub_img {
  width: 196px;
  height: 280px;
  margin-top: 30px;
}

/* モバイル対応 (767px以下) */
@media screen and (max-width: 767px) {
  /* レイアウトをブロック表示に変更 */
  .contents_body .media_large,
  .contents_body .media_middle,
  .contents_body .media_small {
    display: block;
  }

  /* リストアイテムを縦並びに */
  .contents_body .media_large li,
  .contents_body .media_middle li,
  .contents_body .media_small li {
    width: 100%;
    margin-bottom: 30px;
  }

  /* モバイル時の画像サイズ調整 */
  .contents_body .media_large .pub_img {
    width: 40%;
    height: auto;
  }

  .contents_body .media_small li{
    min-height: 170px;
  }
  

  .contents_body .media_middle .pub_img,
  .contents_body .media_small .pub_img {
    width: 30%;
    height: auto;
    margin: 0;
  }

  .contents_body .media_large img,
  .contents_body .media_middle img,
  .contents_body .media_small img {
    width: 30%;
  }

  .contents_body .media_large li img{
      float: none;
      box-sizing: border-box;
      border: 1px solid #E6E6E6;
      width: 100%;
  }


}