@charset "UTF-8";

/***************************************************

	media

***************************************************/

.gl_content {
  width: 100%;
  color: var(--text2);
}
.gl_content .sub_title {
  margin-bottom: 40px;
}
.gl_content .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: center;
}
.content_gl_text {
  margin-bottom: 40px;
}
.sub_title .grad_01 {
  font-weight: 700;
  background: linear-gradient(180deg, #b39500 0%, #955c00 50%, #4e261e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  margin-bottom: 0;
}
.sub_text {
  display: block;
  font-size: 26px;
  font-weight: 700;
  color: var(--text2);
  text-align: center;
}

.list_sub {
  font-size: 24px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 12px;
}
.gl_list {
  margin-bottom: 40px;
}
.gl_list li {
  margin-bottom: 40px;
}
.gl_list li .list_sub {
  padding-bottom: 6px;
  border-bottom: 2px solid var(--color2);
}

.gl_list_sub {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 10px;
}

/* 汎用NEWマーク */
.list_sub .new {
  display: inline-block;
  background-color: #721226;    /* 赤色（目立つ色） */
  color: #ffffff;               /* 文字色：白 */
  font-size: 14px;              /* 文字サイズ */
  font-weight: bold;
  padding: 4px 10px;             /* バッジ内の余白 */
  border-radius: 4px;           /* 角丸 */
  vertical-align: middle;       /* 上下中央揃え */
  line-height: 1.2;
}

/* 左側につける場合の間隔 */
.list_sub .new:first-child {
  margin-right: 10px;
}

/* -----------------------------------
   スマホ表示（460px以下）の時のNEWマーク設定
----------------------------------- */
@media (max-width: 460px) {
  /* スマホの時は上側に配置 */
  .list_sub .new {
    display: block;             /* 改行させて独立させる */
    width: fit-content;         /* 文字の幅に合わせる */
    margin-right: 0 !important;  /* 横の余白をリセット */
    margin-left: 0 !important;
    margin-bottom: 6px;         /* 下（タイトル文字との間）に隙間を作る */
  }
}

.list_none {
  list-style-type: none;
}
ul.annotation li {
  display: flex;
  margin-bottom: 10px;
}
ul.annotation li::before {
  content: "　";
  margin-right: 0.25em;
}
.en_page ul.annotation li::before {
  content: "*";
}
.gl_list_sub li {
  margin-bottom: 4px;
}

.gl_content .text_right {
  text-align: right;
  font-weight: 500;
  color: var(--text);
}

/* --- アップデート情報のカード風スタイル --- */
.gl_list > li {
  padding: 24px 28px;                  /* 内側の余白 */
  margin-bottom: 32px;                 /* カード同士の間隔 */
  background-color: rgba(255, 255, 255, 0.45); /* 背景をわずかに明るくして浮き立たせる */
  border: 1px solid var(--color2);     /* 既存のデザインに合わせた枠線 */
  border-radius: 6px;                  /* 角を少し丸める */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* ほんのり影をつけて立体感を出す */
}

/* スマホ表示時の余白調整 */
@media (max-width: 460px) {
  .gl_list > li {
    padding: 20px 16px;
    margin-bottom: 24px;
  }
}

/* ----------------- */
/* ----------------- */
/* ----------------- */
/* ----------------- */
/* ----------------- */
/* ----------------- */
/* ----------------- */
/* ----------------- */

.media_list li {
  width: 100%;
  padding: 16px 0;
  position: relative;
  display: flex;
  align-items: center;
}

.media_list li:first-child::before,
.media_list li::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-repeat: repeat-x;
  background-position: 0 0;
  background-size: contain;
  background-image: url("../images/guideline/line.png");
  position: absolute;
  bottom: 0;
  left: 0;
}

.media_list li:first-child::before {
  top: 0;
  bottom: unset;
}

.media_list li .list_head {
  width: calc(100% - 672px);
}

.media_list li .list_head .date {
  font-size: 16px;
  font-weight: 700;
  color: var(--text2);
  margin-bottom: 4px;
}

.media_list li .list_head .icon {
  height: 23px;
  position: relative;
}

.media_list li .list_head .icon::after {
  content: "";
  display: inline-block;
  width: 82px;
  height: 23px;
  line-height: 25px;
  background: #ccc;
  font-size: 12px;
  font-weight: 400;
  font-family: "Cinzel", serif;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}

.media_list li .list_head .icon.x::after {
  content: "X";
  background: #4d4d4d;
}

.media_list li .list_head .icon.youtube::after {
  content: "YouTube";
  background: #6b152a;
}

.media_list li .list_head .icon.magazine::after {
  content: "Magazine";
  background: #6b5615;
}

.media_list li .list_head .icon.tv::after {
  content: "TV";
  background: #2b6b15;
}

.media_list li .list_head .icon.web::after {
  content: "WEB";
  background: #152b6b;
}

.media_list li .list_head .icon.newspaper::after {
  content: "Newspaper";
  background: #56156b;
}

.media_list li .list_cont {
  width: 672px;
}

.media_list li .list_cont a,
.media_list li .list_cont p {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: var(--text2);
}

.media_list li .list_cont a {
  padding-right: 30px;
  position: relative;
}

.media_list li .list_cont a::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("../images/common/icon_link.png");
  position: absolute;
  bottom: 0;
  right: 0;
}

/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media (max-width: 1440px) {
  .media_list {
  }

  .media_list li {
    padding: 1.111111vw 0;
  }

  .media_list li:first-child::before,
  .media_list li::after {
    height: 0.138889vw;
  }

  .media_list li .list_head {
    width: calc(100% - 46.666667vw);
  }

  .media_list li .list_head .date {
    font-size: 1.111111vw;
    margin-bottom: 0.277778vw;
  }

  .media_list li .list_head .icon {
    height: 1.597222vw;
  }

  .media_list li .list_head .icon::after {
    width: 5.694444vw;
    height: 1.597222vw;
    line-height: 1.736111vw;
    font-size: 0.833333vw;
  }

  .media_list li .list_cont {
    width: 46.666667vw;
  }

  .media_list li .list_cont a,
  .media_list li .list_cont p {
    font-size: 1.111111vw;
  }

  .media_list li .list_cont a {
    padding-right: 2.083333vw;
  }

  .media_list li .list_cont a::after {
    width: 1.666667vw;
    height: 1.666667vw;
  }
}

/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media (max-width: 460px) {
  #page_header .text_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #page_header .text_wrapper .header_title img {
    height: 12vw;
  }

  #page_header .text_wrapper .main {
    margin-top: 5.333333vw;
  }

  .media_list {
  }

  .media_list li {
    padding: 3.466667vw 0 4.266667vw;
    display: block;
  }

  .media_list li:first-child::before,
  .media_list li::after {
    height: 0.533333vw;
  }

  .media_list li .list_head {
    width: auto;
    display: flex;
    align-items: center;
    margin-bottom: 2.4vw;
  }

  .media_list li .list_head .date {
    font-size: 4.266667vw;
    margin: 0 2.933333vw 0 0;
  }

  .media_list li .list_head .icon {
    height: 6.133333vw;
  }

  .media_list li .list_head .icon::after {
    width: 21.866667vw;
    height: 6.133333vw;
    line-height: 6.666667vw;
    font-size: 3.2vw;
  }

  .media_list li .list_cont {
    width: auto;
  }

  .media_list li .list_cont a,
  .media_list li .list_cont p {
    font-size: 3.733333vw;
  }

  .media_list li .list_cont a {
    padding-right: 6.4vw;
  }

  .media_list li .list_cont a::after {
    width: 5.333333vw;
    height: 5.333333vw;
  }

  /* -------------------------- */
  /* -------------------------- */
  /* -------------------------- */
  /* -------------------------- */
  /* -------------------------- */
  .gl_content .title {
    font-size: 6.4vw;
  }
  .sub_text,
  .list_sub {
    font-size: 4.888888vw;
  }
}
/* ===== フォントサイズ調整 ===== */

@media (min-width: 461px) {
  .gl_list_sub li,
  .gl_list li > p:not(.list_sub) {
    font-size: 18px;
  }
}