@charset "UTF-8";
/* DLIGHT */
.dm{}

/* =============================================
   WordPress ブロックエディター プリセットカラー & ブロックスタイル
   （ヘッドレス環境用：WPグローバルスタイルの手動定義）
   .news--content 内にスコープして適用
   ============================================= */

/* --- WPプリセットカラー CSS変数定義 --- */
/* WordPressが inline style で var(--wp--preset--color--*) を使うため、変数を定義しておく必要がある */
.news--content {
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
}

/* --- プリセット テキストカラー --- */
.news--content .has-black-color { color: #000000; }
.news--content .has-cyan-bluish-gray-color { color: #abb8c3; }
.news--content .has-white-color { color: #ffffff; }
.news--content .has-pale-pink-color { color: #f78da7; }
.news--content .has-vivid-red-color { color: #cf2e2e; }
.news--content .has-luminous-vivid-orange-color { color: #ff6900; }
.news--content .has-luminous-vivid-amber-color { color: #fcb900; }
.news--content .has-light-green-cyan-color { color: #7bdcb5; }
.news--content .has-vivid-green-cyan-color { color: #00d084; }
.news--content .has-pale-cyan-blue-color { color: #8ed1fc; }
.news--content .has-vivid-cyan-blue-color { color: #0693e3; }
.news--content .has-vivid-purple-color { color: #9b51e0; }

/* --- プリセット 背景カラー --- */
.news--content .has-black-background-color { background-color: #000000; }
.news--content .has-cyan-bluish-gray-background-color { background-color: #abb8c3; }
.news--content .has-white-background-color { background-color: #ffffff; }
.news--content .has-pale-pink-background-color { background-color: #f78da7; }
.news--content .has-vivid-red-background-color { background-color: #cf2e2e; }
.news--content .has-luminous-vivid-orange-background-color { background-color: #ff6900; }
.news--content .has-luminous-vivid-amber-background-color { background-color: #fcb900; }
.news--content .has-light-green-cyan-background-color { background-color: #7bdcb5; }
.news--content .has-vivid-green-cyan-background-color { background-color: #00d084; }
.news--content .has-pale-cyan-blue-background-color { background-color: #8ed1fc; }
.news--content .has-vivid-cyan-blue-background-color { background-color: #0693e3; }
.news--content .has-vivid-purple-background-color { background-color: #9b51e0; }

/* --- テキスト配置 --- */
.news--content .has-text-align-center { text-align: center; }
.news--content .has-text-align-right { text-align: right; }
.news--content .has-text-align-left { text-align: left; }

/* --- フォントサイズ プリセット --- */
.news--content .has-small-font-size { font-size: 13px; }
.news--content .has-regular-font-size { font-size: 16px; }  
.news--content .has-medium-font-size { font-size: 20px; }
.news--content .has-large-font-size { font-size: 36px; }
.news--content .has-x-large-font-size { font-size: 42px; }

/* --- ボタンブロック --- */
.news--content .wp-block-button {
  margin: 1em 0;
}
.news--content .wp-block-button__link {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.news--content .wp-block-button__link:hover {
  opacity: 0.8;
}
/* ボタン：デフォルト色（:where()で詳細度を下げ、has-*クラスやインラインスタイルで上書き可能にする） */
:where(.news--content .wp-block-button__link) {
  background-color: #32373c;
  color: #ffffff;
}
/* ボタン：アウトラインスタイル */
.news--content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 2px solid currentColor;
}
/* ボタンリンク色：ボタン内リンクは背景色に合わせた色にする */
.news--content .wp-block-button__link,
.news--content .wp-block-button__link:hover {
  text-decoration: none;
}

/* --- ボタングループ（横並び） --- */
.news--content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin: 1em 0;
}
.news--content .wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

/* --- カラム --- */
.news--content .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  margin: 1.5em 0;
}
.news--content .wp-block-column {
  flex: 1;
  min-width: 0;
}

/* --- スペーサー --- */
.news--content .wp-block-spacer {
  display: block;
}

/* インラインスタイル（style属性）はブラウザが自動適用するため追加定義不要 */

/* SMARTPHONE
================================================== */
@media screen and (max-width: 768px) {
  
  #news {
    padding: 0 0 100px;
  }
  .news--inner {
    margin: auto;
    padding: 0 7%;
  }
  .news--list {
    border-top: 1px solid #333;
  }
  .news--item {
    border-bottom: 1px solid #333;
  }
  .news--item a {
    display: block;
    padding: 20px 0;
    transition: opacity 0.3s;
    text-align: center;
  }
  .news--item a:hover {
    opacity: 0.6;
  }
  .news--item time {
    padding-top: 0.8rem;
    font-family: var(--font-en-optima);
    font-size: var(--fs16);
    line-height: 1;
  }
  .news--item p {
    font-size: var(--fs18);
    font-weight: normal;
  }
  
  
  .news--detail-wrap {
    padding: 0 0 120px;
  }
  .news--detail {
    max-width: 1170px;
    margin: auto;
    padding: 0 7%;
  }
  .news--content {
    margin: 0 0 80px;
  }
  .news--detail header h1 {
    font-size: var(--fs18);
    margin-bottom: 0.5rem;
  }
  .news--content p {
    line-height: 2.4;
  }

  /* ブロックエディターコンテンツ：リスト記号・余白の復活 */
  .news--content ul {
    list-style: disc;
    padding-left: 1.5em;
    margin: 1em 0;
  }
  .news--content ol {
    list-style: decimal;
    padding-left: 1.5em;
    margin: 1em 0;
  }
  .news--content li {
    list-style: inherit;
    margin: 0.4em 0;
    line-height: 2;
  }
  .news--content ul ul { list-style: circle; }
  .news--content ul ul ul { list-style: square; }

  /* ブロックエディターコンテンツ：見出し */
  .news--content h2 {
    font-size: var(--fs24);
    font-weight: normal;
    margin: 2em 0 1em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid #444;
  }
  .news--content h3 {
    font-size: var(--fs20);
    font-weight: normal;
    margin: 1.8em 0 0.8em;
  }
  .news--content h4 {
    font-size: var(--fs18);
    font-weight: normal;
    margin: 1.5em 0 0.6em;
  }

  /* ブロックエディターコンテンツ：画像・メディア */
  .news--content figure {
    margin: 1.5em 0;
  }
  .news--content figcaption {
    font-size: var(--fs12);
    color: #999;
    margin-top: 0.5em;
    text-align: center;
  }

  /* ブロックエディターコンテンツ：引用 */
  .news--content blockquote {
    margin: 1.5em 0;
    padding: 1em 1.5em;
    border-left: 3px solid #555;
    color: #ccc;
    font-style: italic;
  }

  /* ブロックエディターコンテンツ：テーブル */
  .news--content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
  }
  .news--content th,
  .news--content td {
    padding: 0.6em 1em;
    border: 1px solid #444;
    text-align: left;
  }
  .news--content th {
    background-color: rgba(255, 255, 255, 0.06);
  }

  /* ブロックエディターコンテンツ：リンク */
  .news--content a {
    color: #B4AF73;
    text-decoration: underline;
  }
  .news--content a:hover {
    opacity: 0.7;
  }

  /* ブロックエディターコンテンツ：区切り線 */
  .news--content hr {
    border: none;
    border-top: 1px solid #444;
    margin: 2em 0;
  }

  .news--detail footer .btn-normal {
    margin: auto;
  }
  
}

/* DESKTOP
================================================== */
@media screen and (min-width: 769px), print {
  
  #news {
    padding: 0 0 250px;
  }
  .news--inner {
    max-width: 1170px;
    margin: auto;
    padding: 0 7%;
  }
  .news--list {
    border-top: 1px solid #333;
  }
  .news--item {
    border-bottom: 1px solid #333;
  }
  .news--item a {
    display: flex;
    justify-content: center;
    padding: 30px 0;
    transition: opacity 0.3s;
  }
  .news--item a:hover {
    opacity: 0.6;
  }
  .news--item time {
    width: 180px;
    padding-top: 0.8rem;
    font-family: var(--font-en-optima);
    font-size: var(--fs16);
    line-height: 1;
  }
  .news--item p {
    font-size: var(--fs18);
    font-weight: normal;
  }
  
  
  .news--detail-wrap {
    padding: 0 0 250px;
  }
  .news--detail {
    max-width: 900px;
    margin: auto;
    padding: 0 7%;
  }
  .news--content {
    margin: 0 0 120px;
  }
  .news--content p {
    line-height: 2.4;
  }

  /* ブロックエディターコンテンツ：リスト記号・余白の復活 */
  .news--content ul {
    list-style: disc;
    padding-left: 1.5em;
    margin: 1em 0;
  }
  .news--content ol {
    list-style: decimal;
    padding-left: 1.5em;
    margin: 1em 0;
  }
  .news--content li {
    list-style: inherit;
    margin: 0.4em 0;
    line-height: 2;
  }
  .news--content ul ul { list-style: circle; }
  .news--content ul ul ul { list-style: square; }

  /* ブロックエディターコンテンツ：見出し */
  .news--content h2 {
    font-size: var(--fs28);
    font-weight: normal;
    margin: 2em 0 1em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid #444;
  }
  .news--content h3 {
    font-size: var(--fs24);
    font-weight: normal;
    margin: 1.8em 0 0.8em;
  }
  .news--content h4 {
    font-size: var(--fs20);
    font-weight: normal;
    margin: 1.5em 0 0.6em;
  }

  /* ブロックエディターコンテンツ：画像・メディア */
  .news--content figure {
    margin: 1.5em 0;
  }
  .news--content figcaption {
    font-size: var(--fs13);
    color: #999;
    margin-top: 0.5em;
    text-align: center;
  }

  /* ブロックエディターコンテンツ：引用 */
  .news--content blockquote {
    margin: 1.5em 0;
    padding: 1em 1.5em;
    border-left: 3px solid #555;
    color: #ccc;
    font-style: italic;
  }

  /* ブロックエディターコンテンツ：テーブル */
  .news--content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
  }
  .news--content th,
  .news--content td {
    padding: 0.6em 1em;
    border: 1px solid #444;
    text-align: left;
  }
  .news--content th {
    background-color: rgba(255, 255, 255, 0.06);
  }

  /* ブロックエディターコンテンツ：リンク */
  .news--content a {
    color: #B4AF73;
    text-decoration: underline;
  }
  .news--content a:hover {
    opacity: 0.7;
  }

  /* ブロックエディターコンテンツ：区切り線 */
  .news--content hr {
    border: none;
    border-top: 1px solid #444;
    margin: 2em 0;
  }

  .news--detail footer .btn-normal {
    margin: auto;
  }

}

