@charset "UTF-8";

/* ==========================================================================
   RESET CSS
   ブラウザ固有のデフォルトスタイルをリセット・初期化するための記述
   ========================================================================== */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers
   古いブラウザ向けにHTML5要素をブロック要素として明示
*/
article,
aside,
main,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ==========================================================================
   WEB FONTS
   Webフォント（Noto Sans JP / IBM Plex Sans）の読み込み設定
   ========================================================================== */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../../assets/fonts/NotoSansJP/NotoSansJP-Regular.woff2") format("woff2"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Regular.woff") format("woff"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../../assets/fonts/NotoSansJP/NotoSansJP-Medium.woff2") format("woff2"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Medium.woff") format("woff"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Medium.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../../assets/fonts/NotoSansJP/NotoSansJP-SemiBold.woff2") format("woff2"), url("../../assets/fonts/NotoSansJP/NotoSansJP-SemiBold.woff") format("woff"), url("../../assets/fonts/NotoSansJP/NotoSansJP-SemiBold.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../../assets/fonts/NotoSansJP/NotoSansJP-Bold.woff2") format("woff2"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Bold.woff") format("woff"), url("../../assets/fonts/NotoSansJP/NotoSansJP-Bold.otf") format("opentype");
}

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../../assets/fonts/IBM_Plex_Sans/IBMPlexSans-Regular.woff2") format("woff2"), url("../../assets/fonts/IBM_Plex_Sans/IBMPlexSans-Regular.woff") format("woff"), url("../../assets/fonts/IBM_Plex_Sans/IBMPlexSans-Regular.ttf") format("truetype");
}

/* ==========================================================================
   CSS VARIABLES (DESIGN TOKENS)
   サイト共通のカラーパレット定義（テキスト色・ブランドグリーン・アクセントカラー等）
   ========================================================================== */
:root {
  --color-txt-primary: #333;
  --color-txt-secondary: #5A5A5A;
  --color-txt-tertiary: #5B5B5B;
  --color-line-primary: #C9C9C9;
  --color-txt-link: #898109;
  --color-site-green--01: #349552;
  --color-site-green--02: #266433;
  --color-site-green--03: #4BA064;
  --color-site-green--04: #2D6A2D;
  --color-site-green--05: #024C00;
  --color-site-green--06: #91BB9C;
  --color-site-gray--01: #404040;
  --color-site-gold: #B0A728;
}

/* ==========================================================================
   BASE STYLES
   タグ要素に対する基本設定（タイポグラフィ、背景、スクロール位置調整など）
   ========================================================================== */
* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: max-content;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", "Meiryo", sans-serif, system-ui, -apple-system;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--color-txt-primary);
  background-image: url(../../assets/images/common/bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  text-decoration-skip: none;
  -webkit-text-size-adjust: 100%;
}

/* ページ内リンクジャンプ時の固定ヘッダー被り防止オフセット */
body * {
  scroll-margin-top: 70px;
}

@media print,
screen and (width > 768px) {
  body * {
    scroll-margin-top: 110px;
  }
}

/* モーダル表示時に背面スクロールを固定するための状態クラス */
body.dialog-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

button {
  font-family: "Noto Sans JP", sans-serif;
}

img {
  vertical-align: bottom;
}

/* ==========================================================================
   UTILITY (u-*)
   特定のスタイルを強制適用するための単一機能クラス
   ========================================================================== */
/* PC専用表示（SP画面幅で非表示） */
@media only screen and (width <=768px) {
  .u-use--pc {
    display: none !important;
  }
}

/* SP専用表示（PC画面幅で非表示） */
@media print,
screen and (width > 768px) {
  .u-use--sp {
    display: none !important;
  }
}

/* ==========================================================================
   LAYOUT (l-*)
   サイトの骨組み・外枠・共通レイアウト構造を定義
   ========================================================================== */
/* 共通ヘッダー（スマホ時は固定、スクロール時に白背景化、PC時はsticky） */
.l-header {
  width: 100%;
  height: 61px;
  display: grid;
  grid-template-columns: 100%;
  place-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  transition: background 0.2s, box-shadow 0.1s;
}

/* スクロール時のヘッダースタイル（白背景・シャドウ付与） */
.l-header.is_scroll {
  background: #FFFFFF;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05);
  transition: background 0.3s, box-shadow 0.2s;
}

/* 下層ページ用のヘッダースタイル */
body:not(.top) .l-header {
  background: #FFFFFF;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05);
}

@media print,
screen and (width > 768px) {
  .l-header {
    height: auto;
    padding: 12px 0;
    position: sticky;
    background: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05);
  }
}

.l-header__inner {
  width: 100%;
  height: 100%;
}

/* メインコンテンツ枠 */
.l-main {
  position: relative;
}

.l-main__inner {
  position: relative;
  z-index: 10;
}

/* トップページ用のメインレイアウト（背景固定要素と重ねるグリッド配置） */
body.top .l-main {
  display: grid;
  grid-template-columns: 100%;
}

body.top .l-main__inner {
  grid-column: 1/2;
  grid-row: 1/2;
}

/* フォームページ専用のメインレイアウト余白 */
.l-main--form {
  padding: 100px 0 60px;
}

@media print,
screen and (width > 768px) {
  .l-main--form {
    padding-bottom: 100px;
  }
}

/* 記事コンテンツ用の中央揃えインナーコンテナ（最大幅800px） */
.l-article__inner {
  width: calc(100% - 20px);
  margin: 0 auto 0;
}

@media print,
screen and (width > 768px) {
  .l-article__inner {
    width: min(97.5609756098vw, 800px);
  }
}

/* 共通フッターレイアウト */
.l-footer {
  background: linear-gradient(45deg, rgb(5, 59, 21), rgba(2, 76, 0, 0.8));
  padding: 60px 20px 40px;
}

@media print,
screen and (width > 768px) {
  .l-footer {
    padding: 80px 0 40px;
  }
}

.l-footer__inner {
  margin: auto;
  max-width: 1124px;
}

.l-footer__img {
  width: 100%;
}

.l-footer__txt:not(:last-child) {
  margin-bottom: 24px;
}

@media print,
screen and (width > 768px) {
  .l-footer__txt:not(:last-child) {
    margin-bottom: 32px;
  }
}

/* ==========================================================================
   COMPONENT (c-*)
   サイト全体で再利用可能な汎用UIパーツ（ボタン、見出し、テキスト、リストなど）
   ========================================================================== */

/* ========================================================================== */
/* --- 汎用ボタンコンポーネント (c-btn) --- */
/* ========================================================================== */
.c-btn {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 40px;
}

@media print,
screen and (width > 768px) {
  .c-btn {
    flex-direction: row;
    align-items: flex-start;
    gap: 46px;
  }
}

.c-btn__item {
  width: 276px;
}

.c-btn__item .c-txt {
  margin-top: 12px;
}

.c-btn__item--fit {
  width: fit-content;
}

.c-btn__item--fit .c-txt {
  margin-top: 12px;
}

/* 緑色のカプセル型ボタンリンク */
.c-btn__link {
  display: block;
  padding: 8px;
  border-radius: 34px;
  background-color: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.444;
  color: #fff;
  text-align: center;
}

@media (hover: hover) {
  .c-btn__link:where(:any-link, :enabled, summary):hover {
    background-color: #fff;
    color: var(--color-site-green--01);
  }
}

@media print,
screen and (width > 768px) {
  html[lang=ja] .c-btn__link {
    font-size: 18px;
  }
}

/* 無効（非活性）状態のボタンスタイル */
.c-btn__link.is_disabled {
  pointer-events: none;
  background-color: #d9d9d9;
  color: #fff;
}

/* 横幅100%の枠線ボタンコンポーネント */
.c-btn--full {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
  margin-bottom: 20px;
}

.c-btn--full__item {
  width: 100%;
}

.c-btn--full__link {
  display: block;
  padding: 9px 8px;
  border: 1px solid var(--color-site-green--06);
  border-radius: 4px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  color: var(--color-site-green--06);
  background-color: #fff;
}

@media print,
screen and (width > 768px) {
  .c-btn--full__link:hover {
    color: #fff;
    background-color: var(--color-site-green--06);
  }
}

/* ========================================================================== */
/* --- 汎用中黒リストコンポーネント (c-list) --- */
/* ========================================================================== */
.c-list {
  width: fit-content;
  margin: auto;
}

.c-list__item {
  position: relative;
  padding-left: 16px;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.c-list__item::before {
  content: "・";
  position: absolute;
  left: 0;
}

.c-list__item:not(:last-child) {
  margin-bottom: 10px;
}

.c-list__link {
  color: var(--color-site-gold);
  text-decoration: underline;
}

.c-list__link:hover {
  text-decoration: none;
}

/* ========================================================================== */
/* --- 汎用見出しコンポーネント (c-hd) --- */
/* ========================================================================== */
/* レベル2の大見出し（セクションタイトル等） */
.c-hd-lv02 {
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  color: var(--color-txt-secondary);
  line-height: 1;
}

@media print,
screen and (width > 768px) {
  .c-hd-lv02 {
    font-size: 36px;
  }
}

/* 第1階層見出し（緑文字） */
.c-hd--primary {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-site-green--03);
  margin-bottom: 12px;
}

html[lang=en] .c-hd--primary {
  line-height: 1.23;
}

@media print,
screen and (width > 768px) {
  .c-hd--primary {
    font-size: 22px;
    scroll-margin-top: 110px;
  }
}

/* 第2階層見出し（小見出し） */
.c-hd--secondary {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-site-green--03);
  margin-bottom: 12px;
}

html[lang=en] .c-hd--secondary {
  line-height: 1.23;
}

/* 第3階層見出し */
.c-hd--tertiary {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-site-green--03);
}

/* ========================================================================== */
/* --- 汎用テキストコンポーネント (c-txt) --- */
/* ========================================================================== */
.c-txt {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

/* テキストサイズバリエーション：プライマリ */
@media print,
screen and (width > 768px) {
  .c-txt--primary {
    font-size: 18px;
  }
}

/* テキストサイズバリエーション：セカンダリ（FAQ見出し用途含む） */
@media print,
screen and (width > 768px) {
  .c-txt--secondary {
    font-size: 20px;
  }
}

.c-txt--secondary#faq {
  margin-top: 40px;
}

@media print,
screen and (width > 768px) {
  .c-txt--secondary#faq {
    scroll-margin-top: 110px;
  }
}

/* テキストサイズバリエーション：ターシャリ */
@media print,
screen and (width > 768px) {
  .c-txt--tertiary {
    font-size: 22px;
  }
}

/* テキストサイズバリエーション：クオータナリ */
.c-txt--quaternary {
  font-size: 18px;
}

@media print,
screen and (width > 768px) {
  .c-txt--quaternary {
    font-size: 22px;
  }
}

/* 共通コンポーネント：インデント付きテキスト補助 */
.c-txt__indent {
  display: block;
  margin-left: 1em;
}

/* ========================================================================== */
/* --- 汎用注釈・注意書きコンポーネント (c-note) ※印付き --- */
/* ========================================================================== */
.c-note {
  width: fit-content;
  margin: 12px auto 0;
}

.c-note__item {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 500;
  color: var(--color-txt-tertiary);
  text-align: left;
  position: relative;
  padding-left: 12px;
}

.c-note__item:not(:last-child) {
  margin-bottom: 12px;
}

.c-note__item::before {
  content: "※";
  position: absolute;
  left: 0;
}

@media print,
screen and (width > 768px) {
  .c-note__item {
    font-size: 13px;
  }
}

/* ========================================================================== */
/* --- 汎用セクションコンテナ (c-section) --- */
/* ========================================================================== */
.c-section {
  padding: 60px 0;
}

@media print,
screen and (width > 768px) {
  .c-section {
    padding: 80px 0;
  }
}

.c-section--02 {
  padding: 60px 0;
}

@media print,
screen and (width > 768px) {
  .c-section--02 {
    padding: 80px 0;
  }
}

.c-section__inner {
  width: calc(100% - 20px);
  margin: 0 auto 0;
}

@media print,
screen and (width > 768px) {
  .c-section__inner {
    width: min(97.5609756098vw, 800px);
  }
}

/* ========================================================================== */
/* --- お知らせ一覧用アイテムコンポーネント (c-item--news) --- */
/* ========================================================================== */
.c-item--news {
  border-bottom: 1px solid var(--color-line-primary);
}

.c-item--news__link {
  padding: 24px 0;
  display: block;
}

@media (hover: hover) {
  .c-item--news__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-txt-link);
    text-decoration: underline;
  }
}

.c-item--news__date {
  font-size: 15px;
  line-height: 1.75;
  font-weight: 500;
  padding-bottom: 8px;
}

.c-item--news__hd {
  display: block;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
}

/* リンク機能を持たない行用修飾子 */
.c-item--nolink {
  pointer-events: none;
}

/* ========================================================================== */
/* --- スケジュール・タイムライン表示コンポーネント (c-schedule) 矢印付き2列配置 --- */
/* ========================================================================== */
.c-schedule {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px 32px;
}

@media print,
screen and (width > 768px) {
  .c-schedule {
    width: fit-content;
    margin: auto;
    gap: 4px 52px;
  }
}

.c-schedule__txt {
  max-width: fit-content;
  height: fit-content;
  font-size: 16px;
  font-weight: 700;
}

/* 奇数番目（左側列）に右向き矢印を擬似要素で表示 */
.c-schedule__txt:nth-child(odd) {
  justify-self: end;
  position: relative;
}

.c-schedule__txt:nth-child(odd)::after {
  content: "";
  width: 8px;
  height: 10px;
  background: var(--color-txt-primary);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 50%;
  right: -22px;
  translate: 0 -50%;
}

@media print,
screen and (width > 768px) {
  .c-schedule__txt {
    font-size: 20px;
  }

  .c-schedule__txt:nth-child(odd)::after {
    width: 11px;
    height: 13px;
    right: -33px;
  }
}

@media print,
screen and (width > 768px) {
  .c-schedule--center {
    grid-template-columns: repeat(2, auto);
  }
}

@media print,
screen and (width > 768px) {
  html[lang=en] .c-schedule {
    grid-template-columns: repeat(2, auto);
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .c-schedule {
    place-items: center start;
  }
}

html[lang=en] .c-schedule__txt {
  text-align: left;
}

@media print,
screen and (width > 768px) {
  html[lang=en] .c-schedule__txt:nth-child(odd) {
    max-width: initial;
    justify-self: initial;
    white-space: nowrap;
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .c-schedule__txt:nth-child(even) {
    white-space: nowrap;
  }
}

/* ==========================================================================
   PROJECT (p-*)
   サイトの特定のセクション・機能・ページ固有のスタイルモジュール
   ========================================================================== */

/* ========================================================================== */
/* --- 背景固定装飾グラフィック (p-fixbg) --- */
/* ========================================================================== */
.p-fixbg {
  aspect-ratio: 375/779;
  width: 100%;
  height: auto;
  background: url(../images/common/img_sticky_sp.svg) no-repeat left top;
  background-size: cover;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 5;
  grid-column: 1/2;
  grid-row: 1/2;
}

@media print,
screen and (width > 768px) {
  .p-fixbg {
    aspect-ratio: 1440/1264;
    background-image: url(../images/common/img_sticky.svg);
    top: -280px;
  }
}

/* ========================================================================== */
/* --- グローバルナビゲーション (p-gnav) ドロワーメニュー・多言語切替対応 --- */
/* ========================================================================== */
.p-gnav {
  padding: 0 10px;
}

@media only screen and (width <=768px) {
  .p-gnav {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 24px;
  }

  /* ドロワー展開時の背景マスク（オーバーレイ） */
  .p-gnav.menu_open::before {
    content: "";
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 500;
    background-color: rgba(51, 51, 51, 0.8);
  }
}

@media print,
screen and (width > 768px) {
  .p-gnav {
    display: grid;
    place-items: center;
    padding: 0 38px;
  }
}

/* SP版ドロワーメニューの本体コンテナ */
@media only screen and (width <=768px) {
  .p-gnav__main {
    width: 100%;
    height: 100%;
    padding: 32px 40px 40px;
    background: url(../../assets/images/common/bg.jpg) no-repeat left top;
    background-size: cover;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow-y: scroll;
  }

  .p-gnav.menu_open .p-gnav__main {
    animation: menuOpen 0.3s forwards;
  }
}

@media print,
screen and (width > 768px) {
  .p-gnav__title {
    display: none !important;
  }
}

.p-gnav__title__img:nth-child(1) {
  width: 233px;
  height: auto;
  margin-bottom: 12px;
}

.p-gnav__title__img:nth-child(2) {
  width: 259px;
  height: auto;
  margin-bottom: 60px;
}

/* 多言語切替サブメニュー */
@media print,
screen and (width > 768px) {
  .p-gnav__sub {
    position: absolute;
    top: 20px;
    right: min(2vw, 38px);
  }
}

@media only screen and (width <=768px) {
  .p-gnav__sub {
    width: 118px;
    height: 110px;
    background-color: #fff;
    position: absolute;
    top: 64px;
    right: 10px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .p-gnav.lang_open .p-gnav__sub {
    animation: menuOpen 0.3s forwards;
  }
}

/* ナビゲーションリンク一覧 */
@media print,
screen and (width > 768px) {
  .p-gnav__list {
    width: min(70vw, 980px);
    margin: auto;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0 clamp(8px, 1.66vw, 24px);
  }

  html[lang=en] .p-gnav__list {
    width: min(75vw, 1050px);
  }
}

@media only screen and (width <=768px) {
  .p-gnav__list__item:not(:last-child) {
    margin-bottom: 40px;
  }
}

.p-gnav__list__link {
  font-size: 16px;
  line-height: 1.448125;
  font-weight: 600;
  color: var(--color-site-gray--01);
}

@media only screen and (width <=768px) {
  .p-gnav__list__link {
    pointer-events: none;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    display: block;
    position: relative;
  }

  .p-gnav__list__link::after {
    content: "";
    width: 7px;
    height: 12px;
    background: url(../images/common/icon_arrow.svg) no-repeat left top;
    background-size: 7px 12px;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
  }
}

@media print,
screen and (width > 768px) {
  .p-gnav__list__link {
    display: block;
    width: fit-content;
    padding: 8px 12px;
  }

  .p-gnav__list__link:hover {
    background-color: var(--color-site-green--01);
    color: #fff;
    border-radius: 4px;
  }
}

.p-gnav__list__txt {
  pointer-events: visible;
}

@media print,
screen and (width > 768px) {
  .p-gnav__list__txt {
    pointer-events: none;
  }
}

/* 言語選択スイッチ（JP / EN） */
.p-gnav__lan {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0 12px;
}

@media only screen and (width <=768px) {
  .p-gnav__lan {
    height: 100%;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 16px;
  }
}

.p-gnav__lan__item--current .p-gnav__lan__link {
  background-color: var(--color-site-green--01);
  color: #fff;
  border-radius: 100px;
}

.p-gnav__lan__link {
  font-size: 16px;
  line-height: 1.448125;
  color: var(--color-site-gray--01);
  font-family: "IBM Plex Sans";
  font-weight: 400;
  padding: 4px 12px;
}

@media print,
screen and (width > 768px) {
  .p-gnav__lan__link:hover {
    background-color: var(--color-site-green--01);
    color: #fff;
    border-radius: 100px;
  }
}

/* SP用ハンバーガー＆言語切替ボタントリガー */
.p-gnav__btn {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px;
  width: 24px;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-gnav__btn {
    display: none;
  }
}

.p-gnav__btn__current {
  font-family: "IBM Plex Sans";
  font-size: 11px;
  line-height: 1;
  color: var(--color-site-green--02);
}

.l-header.is_scroll .p-gnav__btn__current,
body:not(.top) .p-gnav__btn__current {
  color: var(--color-site-gray--01);
}

.p-gnav__btn__icon {
  display: block;
  background-color: var(--color-site-green--02);
}

.l-header.is_scroll .p-gnav__btn__icon,
body:not(.top) .p-gnav__btn__icon {
  background-color: var(--color-site-gray--01);
}

/* 地球アイコン（多言語切替）マスク画像 */
.p-gnav__btn--lan .p-gnav__btn__icon {
  width: 24px;
  height: 24px;
  -webkit-mask-image: url(../images/common/icon_earth.svg);
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_earth.svg);
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* ハンバーガーアイコンマスク画像 */
.p-gnav__btn--menu .p-gnav__btn__icon {
  width: 24px;
  height: 18px;
  -webkit-mask-image: url(../images/common/icon_menu.svg);
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_menu.svg);
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* メニューを閉じるバツボタン */
.p-gnav__btn--close {
  width: 20px;
  height: 20px;
  position: fixed;
  top: 32px;
  right: 40px;
}

.p-gnav__btn--close .p-gnav__btn__icon {
  width: 20px;
  height: 20px;
  -webkit-mask-image: url(../images/common/icon_menu_close.svg);
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_menu_close.svg);
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #595656 !important;
}

/* ドロワーメニュー開閉アニメーション */
@keyframes menuOpen {
  0% {
    opacity: 0;
    visibility: visible;
    pointer-events: visible;
  }

  100% {
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
  }
}

/* ========================================================================== */
/* --- トップページ メインビジュアル / ヒーローエリア (p-jumbotron) --- */
/* ========================================================================== */
.p-jumbotron {
  background-size: contain, cover;
  background-repeat: no-repeat;
  background-position: center center, center bottom;
  width: 100%;
  min-height: 585px;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (width <=768px) {
  .p-jumbotron {
    min-height: 548px;
    background-size: cover contain;
  }
}

/* 言語ごとの背景タイポグラフィ切り替え */
html[lang=ja] .p-jumbotron {
  background-image: url(../images/ja/bg_txt.svg), url(../images/common/img_bg_mv.png);
}

@media only screen and (width <=768px) {
  html[lang=ja] .p-jumbotron {
    background-image: url(../images/ja/bg_txt_sp.svg), url(../images/common/img_bg_mv_sp.png);
  }
}

html[lang=en] .p-jumbotron {
  background-image: url(../images/en/bg_txt.svg), url(../images/common/img_bg_mv.png);
}

@media only screen and (width <=768px) {
  html[lang=en] .p-jumbotron {
    background-image: url(../images/en/bg_txt_sp.svg), url(../images/common/img_bg_mv_sp.png);
  }
}

@media only screen and (width <=768px) {
  .p-jumbotron__inner {
    width: 100%;
    padding: 0 10px;
  }
}

.p-jumbotron__hd__sub {
  display: block;
  margin-bottom: 20px;
}

@media print,
screen and (width > 768px) {
  .p-jumbotron__hd__sub {
    margin-bottom: 40px;
  }

  html[lang=en] .p-jumbotron__hd__sub {
    margin-bottom: 20px;
  }
}

@media only screen and (width <=768px) {
  .p-jumbotron__hd__sub__img {
    width: auto;
    height: auto;
  }
}

.p-jumbotron__hd__main {
  display: block;
  margin-bottom: 40px;
}

.p-jumbotron__hd__main__img {
  max-width: 100%;
}

@media only screen and (width <=768px) {
  .p-jumbotron__hd__main__img {
    width: auto;
    height: auto;
  }
}

html[lang=en] .p-jumbotron__hd__main {
  margin-bottom: 20px;
}

.p-jumbotron__txt {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--color-site-green--02);
}

@media print,
screen and (width > 768px) {
  .p-jumbotron__txt {
    font-size: 24px;
  }
}

/* ========================================================================== */
/* --- セクションタイトルヘッダー (p-head) スクロール連動アニメーション対応 --- */
/* ========================================================================== */
.p-head {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 40px;
  position: relative;
  display: grid;
  place-items: end center;
}

@media print,
screen and (width > 768px) {
  .p-head {
    margin-bottom: 60px;
  }
}

.p-head__hd {
  width: fit-content;
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  z-index: -1;
}

.p-head__hd__img {
  max-width: 100%;
}

@media only screen and (width <=768px) {
  .p-head__hd__img {
    width: auto;
    height: auto;
  }
}

.p-head .c-hd-lv02 {
  grid-column: 1/2;
  grid-row: 1/2;
  align-self: end;
}

/* IntersectionObserver 用のフェードインアニメーション定義 */
.p-head.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-head.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

/* ========================================================================== */
/* --- アコーディオンコンポーネント (p-accordion) <details>/<summary> 展開パーツ --- */
/* ========================================================================== */
.p-accordion[open] .p-accordion__title::before {
  rotate: 0deg;
}

.p-accordion:not(:last-child) {
  margin-bottom: 20px;
}

.p-accordion .c-list {
  width: 100%;
}

@media print,
screen and (width > 768px) {
  .p-accordion .c-list {
    width: calc(100% - 35px);
  }
}

@media print,
screen and (width > 768px) {
  .p-accordion--pattern .c-list {
    width: 490px;
  }

  html[lang=en] .p-accordion--pattern .c-list {
    width: calc(100% - 35px);
  }
}

/* 開閉見出しバー（プラス・マイナスアイコン付き） */
.p-accordion__title {
  position: relative;
  padding: 8px;
  list-style: none;
  cursor: pointer;
  text-align: center;
  color: #fff;
  border-radius: 4px;
  background-color: #91BB9C;
  font-size: 16px;
  font-weight: 600;
}

.p-accordion__title::before,
.p-accordion__title::after {
  position: absolute;
  top: 50%;
  right: 33px;
  width: 14px;
  height: 2px;
  content: "";
  background-color: #fff;
}

.p-accordion__title::before {
  rotate: 90deg;
}

.p-accordion__title::-webkit-details-marker {
  display: none;
}

@media print,
screen and (width > 768px) {
  .p-accordion__title:hover {
    background-color: var(--color-site-green--01);
  }

  .p-accordion__title::before,
  .p-accordion__title::after {
    right: 80px;
  }
}

.p-accordion__content {
  padding-top: 12px;
}

/* 終了済みイベント等を折りたたんで「もっと見る」形式で開閉するアコーディオン修飾子 */
.p-accordion--finished {
  position: relative;
  padding-bottom: 80px;
}

.p-accordion--finished[open] .p-accordion--finished__button__open {
  display: none;
}

.p-accordion--finished[open] .p-accordion--finished__button__close {
  display: block;
}

.p-accordion--finished__button {
  display: block;
  list-style: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: grid;
  width: 176px;
  height: 39px;
  cursor: pointer;
  color: #fff;
  border-radius: 34px;
  background-color: var(--color-site-green--01);
  translate: -50% 0;
  place-items: center;
}

.p-accordion--finished__button::-webkit-details-marker {
  display: none;
}

@media (hover: hover) {
  .p-accordion--finished__button:where(:any-link, :enabled, summary):hover {
    color: var(--color-site-green--02);
    background-color: #fff;
  }
}

.p-accordion--finished__button__open,
.p-accordion--finished__button__close {
  font-size: 16px;
  font-weight: 600;
}

.p-accordion--finished__button__close {
  display: none;
}

/* ========================================================================== */
/* --- メンテナンス告知ボックス (p-maintenance) 赤枠のアラート表示 --- */
/* ========================================================================== */
.p-maintenance {
  width: calc(100% - 20px);
  margin: 40px auto 0;
  padding: 20px;
  border: 4px solid #990000;
  background-color: #fff;
}

@media print,
screen and (width > 768px) {
  .p-maintenance {
    width: min(100vw, 800px);
  }
}

@media print,
screen and (width > 768px) {
  .p-maintenance {
    padding: 36px;
  }
}

.p-maintenance__hd {
  margin-bottom: 24px;
  padding-bottom: 4px;
  text-align: center;
  border-bottom: 1px solid #990000;
  font-size: 18px;
  font-weight: 600;
}

@media print,
screen and (width > 768px) {
  .p-maintenance__hd {
    margin-bottom: 12px;
  }
}

.p-maintenance__lead {
  margin-bottom: 24px;
  text-align: center;
  color: #000;
  font-size: 16px;
  font-weight: 500;
}

@media print,
screen and (width > 768px) {
  .p-maintenance__lead {
    margin-bottom: 12px;
  }
}

.p-maintenance__period {
  margin-bottom: 24px;
  text-align: center;
  color: #900;
  font-size: 16px;
  font-weight: 500;
}

@media print,
screen and (width > 768px) {
  .p-maintenance__period {
    margin-bottom: 12px;
  }
}

.p-maintenance__txt {
  color: #000;
  font-size: 16px;
  font-weight: 400;
}

/* ========================================================================== */
/* --- 展覧会・展示会情報ブロック (p-exhibition) --- */
/* ========================================================================== */
.p-exhibition {
  padding: 37px 14px;
  border: 3px solid var(--color-site-green--01);
  background: url(../images/common/bg_exhibition_sp.png) no-repeat center center;
  background-size: cover;
  width: calc(100% - 20px);
  margin: 80px auto 80px;
}

@media print,
screen and (width > 768px) {
  .p-exhibition {
    width: min(100vw, 800px);
  }
}

@media print,
screen and (width > 768px) {
  .p-exhibition {
    padding: 37px;
    background-image: url(../images/common/bg_exhibition.png);
  }
}

.p-exhibition__hd {
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-exhibition__hd::after {
  content: "";
  width: 275px;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-exhibition__hd {
    margin-bottom: 24px;
  }

  .p-exhibition__hd::after {
    width: 100%;
  }
}

.p-exhibition__lead {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-exhibition__lead {
    margin-bottom: 24px;
  }
}

.p-exhibition__info {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  margin: 0 auto 24px;
}

@media print,
screen and (width > 768px) {
  .p-exhibition__info {
    width: fit-content;
  }
}

.p-exhibition__info__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.p-exhibition__info__period {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-site-green--01);
}

@media print,
screen and (width > 768px) {
  .p-exhibition__info__period {
    font-size: 24px;
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .p-exhibition__info__period {
    font-size: 20px;
  }
}

.p-exhibition__list__item {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 500;
}

.p-exhibition__list__item:not(:last-child) {
  margin-bottom: 4px;
}

.p-exhibition__list__number {
  position: absolute;
  left: 0;
}

.p-exhibition__result {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin: 36px auto 24px;
}

.p-exhibition .c-btn {
  margin: auto;
}

.p-exhibition .c-btn__item {
  width: 176px;
}

/* ========================================================================== */
/* --- 発表会・公開プレゼンテーション・WS情報 (p-presentation / p-workshop) --- */
/* ========================================================================== */
.p-presentation {
  padding: 37px 14px;
  border: 3px solid var(--color-site-green--01);
  background: url(../images/common/bg_exhibition_sp.png) no-repeat center center;
  background-size: cover;
  width: calc(100% - 20px);
  margin: 80px auto 80px;
}

@media print,
screen and (width > 768px) {
  .p-presentation {
    width: min(100vw, 800px);
  }
}

@media print,
screen and (width > 768px) {
  .p-presentation {
    padding: 37px;
    background-image: url(../images/common/bg_exhibition.png);
  }
}

.p-presentation__date {
  text-align: right;
  margin-bottom: 15px;
}

.p-presentation__hd {
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-presentation__hd::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-presentation__hd {
    margin-bottom: 24px;
  }

  .p-presentation__hd::after {
    width: 100%;
  }
}

.p-presentation__lead {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-align: left;
}

@media print,
screen and (width > 768px) {
  .p-presentation__lead {
    margin-bottom: 24px;
  }
}

@media only screen and (width <=768px) {
  .p-presentation__lead {
    font-size: 17px;
    text-align: left;
  }
}

.p-presentation__info {
  display: grid;
  gap: 12px;
  margin: 0 auto 24px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__info {
    width: fit-content;
    grid-template-columns: 110px 1fr;
  }
}

.p-presentation__info__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.p-presentation__info__dt--darkgreen {
  background: var(--color-site-green--02);
}

.p-presentation__info__period {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-site-green--01);
}

@media print,
screen and (width > 768px) {
  .p-presentation__info__period {
    font-size: 24px;
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .p-presentation__info__period {
    font-size: 20px;
  }
}

/* 過去の開催分のグレーアウト表示修飾子 */
.p-presentation__info__title--past {
  background: #999 !important;
  opacity: 1 !important;
}

.p-presentation__info__title--past+.p-presentation__info__dd .p-presentation__info__dt--darkgreen {
  background: #999;
}

.p-presentation__info__title--past+.p-presentation__info__dd .p-presentation__info__period {
  color: #999;
}

.p-presentation__info__title--past+.p-presentation__info__dd .p-presentation__info__dd {
  color: #999;
}

@media print,
screen and (width > 768px) {
  .p-presentation__info--fullwidth {
    width: 100%;
  }

  .p-presentation__info--fullwidth .p-presentation__info__period {
    min-width: 600px;
  }
}

.p-presentation__list__item {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 500;
}

.p-presentation__list__item:not(:last-child) {
  margin-bottom: 4px;
}

.p-presentation__list__number {
  position: absolute;
  left: 0;
}

.p-presentation__result {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin: 24px auto 24px;
}

.p-presentation .c-btn {
  margin: 0 auto 24px;
}

.p-presentation .c-btn__item {
  width: 250px;
}

.p-presentation .c-list {
  width: 100%;
}

.p-presentation .c-list .p-presentation__list__item {
  padding-left: 1.5em;
}

.p-presentation__gmap {
  width: 100%;
  height: 250px;
}

.p-presentation .c-note {
  margin-left: 0;
}

/* プレゼン・プログラム詳細リスト（カウンタ機能付き） */
.p-presentation__list--program {
  counter-reset: program-counter;
}

.p-presentation__list--program-column {
  margin-left: 1.5em;
}

.p-presentation__list--program .p-presentation__list__item-lv4 {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
}

@media only screen and (width <=768px) {
  .p-presentation__list--program .p-presentation__list__item-lv4 {
    display: block;
    margin-bottom: 12px;
  }
}

.p-presentation__list--program .p-presentation__list__item-column {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
}

@media only screen and (width <=768px) {
  .p-presentation__list--program .p-presentation__list__item-column {
    display: block;
  }
}

.p-presentation__list--program .p-presentation__list__title {
  color: var(--color-site-green--01);
}

.p-presentation__list--program .p-presentation__list__title::before {
  counter-increment: program-counter;
  content: counter(program-counter) ". ";
  margin-right: 0.5em;
}

.p-presentation__list--program .p-presentation__list__title-lv4 {
  color: var(--color-txt-primary);
}

.p-presentation__list--program .p-presentation__list__title-lv4::before {
  margin-right: 0;
  content: none;
}

.p-presentation__list--program .p-presentation__list__txt {
  margin-left: 1.5em;
  display: block;
}

.p-presentation__list--program .p-presentation__list__txt-lv4 {
  margin-left: 0;
}

.p-presentation__list__item {
  padding-left: 0;
}

@media only screen and (width <=768px) {
  .p-presentation__list__item-caution {
    font-size: 12px;
  }
}

.p-presentation__list__item-caution .p-presentation__list__txt {
  display: block;
  margin-left: 1.5em;
}

.p-presentation__list__txt-access {
  font-size: 15px;
}

@media only screen and (width <=768px) {
  .p-presentation__list__txt-access {
    font-size: 13px;
  }
}

.p-presentation__list__item--note {
  font-size: 14px;
}

@media only screen and (width <=768px) {
  .p-presentation__list__item--note {
    font-size: 13px;
  }
}

.p-presentation__list__item-date {
  font-size: 24px;
  font-weight: 700;
}

@media only screen and (width <=768px) {
  .p-presentation .p-presentation__list__item-date--sp16 {
    font-size: 16px;
  }
}

.p-presentation__info__title {
  background: #999;
  grid-column: 1/-1;
}

.p-presentation__info__title--green {
  background: var(--color-site-green--01);
}

.p-presentation__info__title--past {
  background: #999 !important;
  opacity: 1 !important;
}

/* ポスター掲示エリア（プレゼン・社会実験共通） */
.p-presentation__posters,
.p-social-experiment__posters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

@media only screen and (width <=768px) {

  .p-presentation__posters,
  .p-social-experiment__posters {
    flex-direction: column;
  }
}

.p-presentation__poster,
.p-social-experiment__poster {
  flex: 1;
  min-width: 300px;
}

@media only screen and (width <=768px) {

  .p-presentation__poster,
  .p-social-experiment__poster {
    min-width: auto;
  }
}

.p-presentation__poster__img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.p-presentation__map,
.p-social-experiment__map {
  margin-top: 1rem;
}

.p-presentation__map__img {
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ========================================================================== */
/* --- 社会実験セクション (p-social-experiment) --- */
/* ========================================================================== */
.p-social-experiment__hd {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 900;
  background: var(--Linear, linear-gradient(96deg, #7ED5FF -0.68%, #FDB2C4 49.68%, #B0A728 100.04%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  width: 100%;
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-social-experiment__hd::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-social-experiment__hd {
    margin-bottom: 24px;
  }

  .p-social-experiment__hd::after {
    width: 100%;
  }
}

.p-presentation .p-social-experiment__hd--size28 {
  font-size: 24px;
}

@media print,
screen and (width > 768px) {
  .p-presentation .p-social-experiment__hd--size28 {
    font-size: 28px;
  }
}

/* ワークショップ向けのリストインデント調整 */
.p-presentation.p-workshop .p-presentation__list__item-indent {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.45;
}

.p-presentation.p-workshop .p-presentation__info__period .p-presentation__list__item {
  font-weight: 700;
}

@media print,
screen and (width > 768px) {
  .p-presentation.p-workshop .p-presentation__info__period .p-presentation__list__item {
    font-size: 24px;
  }
}

.p-presentation__result__img {
  width: 100%;
  height: auto;
}

.p-presentation__result__img :hover {
  cursor: pointer;
}

@media print,
screen and (width > 768px) {
  .p-presentation__result__img {
    max-width: 512px;
  }
}

.p-presentation__result__close {
  width: 100px;
  margin: 12px auto;
  text-align: center;
  position: absolute;
  right: 40px;
  top: 40px;
}

/* ポスター拡大モーダルダイアログ (<dialog> 要素) */
.p-presentation__modal,
.p-social-experiment__modal {
  margin: 0;
  padding: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: none;
}

@media only screen and (width <=768px) {

  .p-presentation__modal,
  .p-social-experiment__modal {
    width: 100%;
    height: fit-content;
  }
}

.p-presentation__modal::backdrop,
.p-social-experiment__modal::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.p-presentation__modal__img {
  width: auto;
  height: 80vh;
}

@media only screen and (width <=768px) {
  .p-presentation__modal__img {
    width: 100%;
    height: 100%;
  }
}

html:has(dialog[open]) {
  overflow: hidden;
}

.p-presentation.p-workshop_en .p-presentation__list__item-indent {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

@media only screen and (width <=768px) {
  .p-presentation__list__item-date {
    font-size: 18px;
  }
}

@media only screen and (width <=768px) {
  .p-social-experiment__list__item-date {
    font-size: 18px;
  }
}

.p-social-experiment__list__item-date__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
}

/* グラデーションタイトル修飾 */
.p-social-experiment__hd {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 900;
  background: var(--Linear, linear-gradient(96deg, #7ED5FF -0.68%, #FDB2C4 49.68%, #B0A728 100.04%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  font-size: 38px;
  width: 100%;
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-social-experiment__hd::after {
  content: "";
  width: 275px;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-social-experiment__hd {
    margin-bottom: 24px;
  }

  .p-social-experiment__hd::after {
    width: 100%;
  }
}

/* 社会実験のアナウンス・注意書きバナー */
.p-social-experiment__caution {
  width: 100%;
  border-radius: 4px;
  background-color: #18572B;
  text-align: center;
  margin: 4px 0;
  padding: 10px 4px;
}

.p-social-experiment__caution.is_disabled {
  filter: grayscale(100%);
  opacity: 0.6;
}

.p-social-experiment__caution__txt {
  text-align: center;
}

.p-social-experiment__caution__link {
  display: block;
}

.p-social-experiment__caution__link:link,
.p-social-experiment__caution__link:visited {
  text-decoration: none;
  color: #FFF;
}

.p-social-experiment__caution__link:hover {
  text-decoration: underline;
}

.p-social-experiment__caution.is_disabled .p-social-experiment__caution__link {
  pointer-events: none;
  cursor: not-allowed;
  text-decoration: none;
}

.p-social-experiment__caution__link.is_disabled {
  pointer-events: none;
  cursor: not-allowed;
  text-decoration: none;
  filter: grayscale(100%);
  opacity: 0.6;
}

.p-social-experiment__caution__link.is_disabled:hover {
  text-decoration: none;
}

/* ========================================================================== */
/* --- コンペ等の審査結果・受賞結果発表セクション (p-result) --- */
/* ========================================================================== */
.p-result {
  padding: 37px 14px 40px;
  border: 3px solid var(--color-site-green--01);
  background: url(../images/common/bg_exhibition_sp.png) no-repeat center bottom;
  background-size: cover;
  position: relative;
  width: calc(100% - 20px);
  margin: 80px auto 80px;
}

@media print,
screen and (width > 768px) {
  .p-result {
    width: min(98.2142857143vw, 1100px);
  }
}

@media print,
screen and (width > 768px) {
  .p-result {
    padding: 37px;
    background-image: url(../images/common/bg_exhibition.png);
  }
}

.p-result__title {
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-result__title::after {
  content: "";
  width: 275px;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-result__title {
    margin-bottom: 24px;
  }

  .p-result__title::after {
    width: 100%;
  }
}

.p-result__hd {
  position: relative;
  margin: 36px auto 12px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: var(--color-site-green--01);
}

@media print,
screen and (width > 768px) {
  .p-result__hd {
    font-size: 22px;
    margin-top: 48px;
    margin-bottom: 36px;
  }
}

.p-result__lead {
  max-width: 1100px;
  margin: 0 auto 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-result__lead {
    font-size: 18px;
    margin-bottom: 24px;
  }
}

.p-result__date {
  font-size: 10px;
  position: absolute;
  top: 4px;
  right: 6px;
}

@media print,
screen and (width > 768px) {
  .p-result__date {
    font-size: 13px;
    top: 6px;
    right: 8px;
  }
}

/* 受賞ランク別のアコーディオンブロック（最優秀賞・優秀賞など） */
.p-result__rank {
  max-width: 800px;
  margin: 0 auto 24px;
  border-bottom: 1px solid var(--color-site-green--02);
}

.p-result__rank[open] .p-result__rank__title::after {
  rotate: 0deg;
}

.p-result__rank__title {
  padding: 12px 0;
  text-align: center;
  line-height: 1;
  font-size: 24px;
  font-weight: 700;
  list-style: none;
  position: relative;
  cursor: pointer;
}

.p-result__rank__title::after {
  content: "";
  width: 16px;
  height: 10px;
  background: url(../images/common/icon_arrow_rank.svg) no-repeat left top;
  background-size: 16px 10px;
  position: absolute;
  right: 14px;
  top: 50%;
  translate: 0 -50%;
  rotate: 180deg;
}

.p-result__rank__title::-webkit-details-marker {
  display: none;
}

.p-result__rank__content {
  padding-top: 12px;
  padding-bottom: 36px;
}

.p-result__rank__content .p-result__lead {
  margin-bottom: 24px;
}

.p-result__rank__caution {
  text-align: center;
  font-size: 18px;
}

.p-result__rank__img {
  width: 100%;
  height: auto;
  margin-bottom: 16px;
}

/* 結果情報の定義リスト (dt/dd) */
.p-result__info {
  display: grid;
  grid-template-columns: 156px 1fr;
  gap: 16px 12px;
  margin: 0 auto;
}

.p-result__info:not(:last-child) {
  margin-bottom: 16px;
}

html[lang=en] .p-result__info {
  grid-template-columns: 140px 1fr;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-result__info {
    grid-template-columns: 100px 1fr;
  }
}

.p-result__info__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-result__info__dt {
    font-size: 11px;
  }
}

.p-result__info__dd {
  font-size: 18px;
  font-weight: 500;
}

.p-result__info__period {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-site-green--01);
}

@media print,
screen and (width > 768px) {
  .p-result__info__period {
    font-size: 24px;
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .p-result__info__period {
    font-size: 20px;
  }
}

/* 結果発表動画・アーカイブ埋め込みリスト */
.p-result__movie {
  margin: 0 auto;
}

.p-result__movie:not(:last-child) {
  margin-bottom: 36px;
}

@media print,
screen and (width > 768px) {
  .p-result__movie:not(:last-child) {
    margin-bottom: 48px;
  }
}

.p-result__movie__dt {
  margin-bottom: 16px;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.p-result__movie__dd {
  width: 100%;
  display: grid;
  grid-template-columns: 100%;
  gap: 12px;
}

@media print,
screen and (width > 768px) {
  .p-result__movie__dd {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 30px;
  }
}

.p-result__movie__img {
  width: 100%;
}

.p-result__movie__caption {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-result__movie__caption {
    margin-top: 8px;
    font-size: 16px;
  }
}

.p-result__movie__link {
  color: var(--color-site-gold);
}

/* ========================================================================== */
/* --- 審査員コメント・総評ブロック (p-comment) 「続きを読む」グラデーション開閉機能付き --- */
/* ========================================================================== */
.p-comment {
  max-width: 800px;
  margin: 52px auto 32px;
}

.p-comment[open] .p-comment__title::after {
  rotate: 0deg;
}

.p-comment__title {
  padding: 12px 0;
  text-align: center;
  line-height: 1;
  font-size: 24px;
  font-weight: 700;
  color: var(--color-site-green--04);
  background-color: #fff;
  border: 1px solid var(--color-site-green--04);
  border-radius: 40px;
  list-style: none;
  position: relative;
  cursor: pointer;
}

.p-comment__title::after {
  content: "";
  width: 16px;
  height: 10px;
  -webkit-mask-image: url(../images/common/icon_arrow_rank.svg);
  -webkit-mask-size: 16px 10px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_arrow_rank.svg);
  mask-size: 16px 10px;
  mask-repeat: no-repeat;
  mask-position: center;
  position: absolute;
  right: 14px;
  top: 50%;
  translate: 0 -50%;
  rotate: 180deg;
  background-color: var(--color-site-green--04);
}

.p-comment__title::-webkit-details-marker {
  display: none;
}

.p-comment__content {
  padding: 10px 0;
}

@media print,
screen and (width > 768px) {
  .p-comment__content {
    padding: 22px 0;
  }
}

.p-comment__lead {
  margin-bottom: 40px;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
}

@media print,
screen and (width > 768px) {
  .p-comment__lead {
    font-size: 18px;
  }
}

.p-comment__lead__min {
  font-size: 12px;
}

@media print,
screen and (width > 768px) {
  .p-comment__lead__min {
    font-size: 14px;
  }
}

.p-comment__link {
  color: var(--color-site-gold);
  text-decoration: underline;
}

.p-comment__section {
  padding: 0 20px;
}

@media print,
screen and (width > 768px) {
  .p-comment__section {
    padding: 0 40px;
  }
}

.p-comment__section:not(:last-child) {
  margin-bottom: 22px;
}

.p-comment__name {
  padding: 12px;
  margin-bottom: 22px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  border-bottom: 1px solid #878787;
}

/* チェックボックスのON/OFFで展開する長文アコーディオン制御 */
.p-comment__input {
  display: none;
}

.p-comment__input:checked~.p-comment__details {
  grid-template-rows: 1fr;
  padding-bottom: 74px;
}

.p-comment__input:checked~.p-comment__details .p-comment__box::after {
  display: none;
}

.p-comment__input:checked~.p-comment__details .p-comment__button {
  bottom: 12px;
}

.p-comment__input:checked~.p-comment__details .p-comment__button__close {
  display: block;
}

.p-comment__input:checked~.p-comment__details .p-comment__button__open {
  display: none;
}

.p-comment__details {
  display: grid;
  grid-template-rows: 160px;
  overflow: hidden;
  position: relative;
}

.p-comment__box {
  position: relative;
}

/* 未展開時の下部フェードアウトグラデーション効果 */
.p-comment__box::after {
  content: "";
  width: 100%;
  height: 160px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0, rgba(255, 255, 255, 0.7) 100%);
}

.p-comment__txt {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
}

.p-comment__txt:not(:last-child) {
  margin-bottom: 24px;
}

.p-comment__button {
  display: block;
  position: absolute;
  bottom: 48px;
  left: 50%;
  display: grid;
  width: 123px;
  height: 30px;
  cursor: pointer;
  color: #fff;
  border-radius: 34px;
  background-color: var(--color-site-green--01);
  translate: -50% 0;
  place-items: center;
}

.p-comment__button::-webkit-details-marker {
  display: none;
}

@media (hover: hover) {
  .p-comment__button:where(:any-link, :enabled, summary):hover {
    color: var(--color-site-green--02);
    background-color: #fff;
  }
}

.p-comment__button__open,
.p-comment__button__close {
  font-size: 15px;
  font-weight: 500;
  color: #fff;
}

.p-comment__button__close {
  display: none;
}

/* ========================================================================== */
/* --- 一次審査通過・過去実績等のバナーグリッド (p-passed) --- */
/* ========================================================================== */
.p-passed {
  display: grid;
  margin: auto;
  grid-template-columns: 100%;
  gap: 24px 40px;
  margin-top: 40px;
}

@media print,
screen and (width > 768px) {
  .p-passed {
    width: min(100%, 800px);
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (hover: hover) {
  .p-passed__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}

.p-passed__img {
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.p-passed__label {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  color: var(--color-site-green--01);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  gap: 8px;
}

/* ========================================================================== */
/* --- トップページ用お知らせ「もっと見る」展開ブロック (p-news--top) --- */
/* ========================================================================== */
.p-news--top__more {
  position: relative;
  padding-bottom: 80px;
}

.p-news--top__more[open] .p-news--top__button__open {
  display: none;
}

.p-news--top__more[open] .p-news--top__button__close {
  display: block;
}

.p-news--top__button {
  display: block;
  list-style: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: grid;
  width: 176px;
  height: 39px;
  cursor: pointer;
  color: #fff;
  border-radius: 34px;
  background-color: var(--color-site-green--01);
  translate: -50% 0;
  place-items: center;
}

.p-news--top__button::-webkit-details-marker {
  display: none;
}

@media (hover: hover) {
  .p-news--top__button:where(:any-link, :enabled, summary):hover {
    color: var(--color-site-green--02);
    background-color: #fff;
  }
}

.p-news--top__button__open,
.p-news--top__button__close {
  font-size: 16px;
  font-weight: 600;
}

.p-news--top__button__close {
  display: none;
}

/* ========================================================================== */
/* --- 趣旨・目的セクション (p-purpose) 画像＋テキストの左右交互レイアウト --- */
/* ========================================================================== */
.p-purpose {
  width: calc(100% - 20px);
  margin: 0 auto;
}

@media print,
screen and (width > 768px) {
  .p-purpose {
    max-width: 1100px;
  }
}

.p-purpose__column {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: start;
}

@media only screen and (width <=768px) {
  .p-purpose__column {
    align-items: flex-start;
  }

  .p-purpose__column:nth-of-type(1) .p-purpose__column__txt__inner {
    padding-top: 0;
  }
}

@media print,
screen and (width > 768px) {
  .p-purpose__column {
    flex-direction: row;
  }

  .p-purpose__column:not(:last-child) {
    margin-bottom: 80px;
  }

  .p-purpose__column:not(.p-purpose__column--reverse) .p-purpose__column__txt__inner {
    padding-left: 0;
  }

  /* 左右反転バリエーション */
  .p-purpose__column--reverse {
    flex-direction: row-reverse;
  }

  .p-purpose__column--reverse .p-purpose__column__txt__inner {
    padding-right: 0;
  }
}

.p-purpose__column.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-purpose__column.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

@media print,
screen and (width > 768px) {
  .p-purpose__column__txt {
    width: 50%;
  }
}

.p-purpose__column__txt .c-txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

.p-purpose__column__txt .c-txt:not(:last-of-type) {
  margin-bottom: 40px;
}

@media print,
screen and (width > 768px) {
  .p-purpose__column__txt .c-txt {
    font-size: 18px;
  }
}

.p-purpose__column__txt__inner {
  padding: 40px 20px;
}

@media print,
screen and (width > 768px) {
  .p-purpose__column__txt__inner {
    margin: 0 0 0 auto;
    padding: 43px min(4.1666666667vw, 60px) 43px;
  }
}

.p-purpose__column__img {
  width: 100%;
}

@media print,
screen and (width > 768px) {
  .p-purpose__column__img {
    width: 50%;
  }
}

.p-purpose__column__img .c-img__img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ========================================================================== */
/* --- 概要・開催概要セクション (p-about) 賞金表示・応募資格・会場マップ等 --- */
/* ========================================================================== */
.p-about {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-about__hd {
  font-weight: 600;
  line-height: 1;
  color: var(--color-site-green--03);
  margin-bottom: 12px;
}

html[lang=en] .p-about__hd {
  line-height: 1.23;
}

.p-about__hd--01 {
  font-size: 20px;
}

@media print,
screen and (width > 768px) {
  .p-about__hd--01 {
    font-size: 22px;
  }
}

.p-about__hd--02 {
  font-size: 13px;
  text-align: left;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

@media print,
screen and (width > 768px) {
  .p-about__hd--02 {
    font-size: 16px;
  }
}

.p-about__txt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

@media print,
screen and (width > 768px) {
  .p-about__txt {
    font-size: 20px;
  }
}

/* 概要内の各項目ブロック */
.p-about__box {
  width: 100%;
  border-top: 1px solid var(--color-line-primary);
  padding-top: 40px;
  text-align: center;
  text-align: left;
}

.p-about__box:nth-child(odd of .p-about__box--half) {
  border-right: 1px solid var(--color-line-primary);
}

.p-about__box:not(:last-child) {
  padding-bottom: 32px;
}

/* 2カラム表示用の半分幅バリエーション */
.p-about__box--half {
  width: 50%;
}

.p-about__box--intro,
.p-about__box--qualification,
.p-about__box--registration {
  border-top: 0;
}

@media print,
screen and (width > 768px) {
  .p-about__box--intro {
    padding-top: 20px;
    padding-bottom: 80px !important;
  }

  .p-about__box--intro+.p-about__box {
    padding-top: 80px;
  }
}

.p-about__box--qualification {
  padding-top: 8px;
}

@media print,
screen and (width > 768px) {
  .p-about__box--qualification {
    padding-top: 48px;
  }
}

@media print,
screen and (width > 768px) {
  .p-about__box--registration {
    padding-top: 104px;
  }
}

@media print,
screen and (width > 768px) {
  .p-about__box--request .p-about__note {
    width: 100%;
  }
}

.p-about__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-about__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

.p-about__lead {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

@media print,
screen and (width > 768px) {
  .p-about__lead {
    font-size: 24px;
  }
}

.p-about__host {
  font-size: 16px;
  font-weight: 600;
  margin-top: 13px;
}

@media print,
screen and (width > 768px) {
  .p-about__host {
    font-size: 20px;
  }
}

.p-about__host__txt {
  color: var(--color-site-green--03);
  margin-right: 12px;
}

/* 募集提案テーマの2分割表示 */
.p-about__proposal {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  text-align: center;
  border-top: 1px solid var(--color-line-primary);
}

.p-about__proposal__item {
  padding: 32px 0;
}

.p-about__proposal__item:not(:nth-child(2n)) {
  border-right: 1px solid var(--color-line-primary);
}

@media print,
screen and (width > 768px) {
  .p-about__proposal__item {
    padding-top: 40px;
  }
}

@media only screen and (width <=768px) {
  .p-about__proposal__item .p-about__txt {
    font-size: 13px;
  }
}

.p-about__proposal.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-about__proposal.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

.p-about__list {
  display: grid;
  gap: 4px;
  width: fit-content;
  margin: auto;
}

.p-about__list__item {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  padding-left: 14px;
  text-align: left;
}

.p-about__list__item::before {
  content: "・";
  position: absolute;
  left: 0;
}

@media print,
screen and (width > 768px) {
  .p-about__list__item {
    font-size: 20px;
    padding-left: 20px;
  }
}

.p-about__list__strong {
  color: var(--color-site-gold);
}

.p-about__list--secondary:not(:last-child) {
  margin-bottom: 16px;
}

@media print,
screen and (width > 768px) {
  .p-about__list--secondary .p-about__list__item {
    font-size: 18px;
  }
}

.p-about__map {
  margin-top: 24px;
}

.p-about__map__google {
  width: 100%;
  height: 53.333vw;
  margin-top: 12px;
  position: relative;
}

@media print,
screen and (width > 768px) {
  .p-about__map__google {
    width: min(800px, 97.56vw);
    height: min(400px, 48.78vw);
    margin-top: 24px;
  }
}

.p-about__map__google iframe {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.p-about__picture__img {
  width: 100%;
  height: auto;
}

.p-about__note {
  width: fit-content;
  margin: 12px auto 0;
}

.p-about__note__item {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 500;
  color: var(--color-txt-tertiary);
  text-align: left;
  position: relative;
  padding-left: 12px;
}

.p-about__note__item:not(:last-child) {
  margin-bottom: 12px;
}

.p-about__note__item::before {
  content: "※";
  position: absolute;
  left: 0;
}

@media print,
screen and (width > 768px) {
  .p-about__note__item {
    font-size: 15px;
  }
}

.p-about__column {
  display: flex;
  align-items: end;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 24px;
  width: fit-content;
  margin: auto;
}

.p-about__column .p-about__hd {
  margin-bottom: 5px;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-about__column .p-about__hd {
    font-size: 18px;
  }
}

/* 賞金金額表示コンポーネント（数字と税・単位の組み合わせ） */
.p-about__prize {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: 1fr auto;
  margin: auto;
  width: fit-content;
  font-weight: 500;
  line-height: 1;
}

html[lang=en] .p-about__prize {
  column-gap: 4px;
}

.p-about__prize__money {
  grid-column: 1/2;
  grid-row: 1/3;
  font-size: 32px;
  font-weight: 700;
}

@media print,
screen and (width > 768px) {
  .p-about__prize__money {
    font-size: 50px;
  }
}

.p-about__prize__tax {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: 11px;
  align-self: end;
}

.p-about__prize__unit {
  grid-column: 2/3;
  grid-row: 2/3;
  font-size: 16px;
  padding-bottom: 5px;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-about__prize__unit {
    padding-bottom: 0;
  }
}

/* 賞金総額（強調・大型表示） */
.p-about__prize--total .p-about__prize__money {
  font-size: 50px;
}

@media print,
screen and (width > 768px) {
  .p-about__prize--total .p-about__prize__money {
    font-size: 60px;
  }
}

.p-about__prize--total .p-about__prize__tax {
  font-size: 13px;
}

.p-about__prize--total .p-about__prize__unit {
  font-size: 20px;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-about__prize--total .p-about__prize__unit {
    font-size: 18px;
  }
}

/* 「○点 × ○○万円」などの掛け算形式の賞金表記 */
.p-about__multiply {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
}

@media print,
screen and (width > 768px) {
  .p-about__multiply {
    gap: 8px;
  }
}

.p-about__multiply__txt {
  font-size: 16px;
}

.p-about__multiply .p-about__prize {
  margin: 0;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-about__multiply .p-about__prize {
    width: 100%;
  }

  html[lang=en] .p-about__multiply .p-about__prize__money {
    justify-self: end;
  }

  html[lang=en] .p-about__multiply .p-about__prize__tax,
  html[lang=en] .p-about__multiply .p-about__prize__unit {
    text-align: left;
  }
}

.p-about__people {
  font-size: 20px;
}

@media print,
screen and (width > 768px) {
  .p-about__people {
    font-size: 24px;
  }
}

.p-about__detail {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
}

html[lang=en] .p-about__detail {
  line-height: 1.5;
}

@media print,
screen and (width > 768px) {
  .p-about__detail {
    font-size: 22px;
  }
}

@media print,
screen and (width > 768px) {
  .p-about__detail--secondary {
    font-size: 18px;
  }
}

/* 概要セクション内のアクションボタン群 */
.p-about__btns {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 40px;
}

@media print,
screen and (width > 768px) {
  .p-about__btns {
    flex-direction: row;
    gap: 46px;
  }
}

.p-about__btns__item {
  width: 276px;
}

.p-about__btns__link {
  display: block;
  padding: 8px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.444;
  color: #fff;
  text-align: center;
  border-radius: 34px;
  background-color: var(--color-site-green--01);
}

@media (hover: hover) {
  .p-about__btns__link:where(:any-link, :enabled, summary):hover {
    background-color: #fff;
    color: var(--color-site-green--01);
  }
}

@media print,
screen and (width > 768px) {
  html[lang=ja] .p-about__btns__link {
    font-size: 18px;
  }
}

/* 公開前・準備中の「COMING SOON」バナー */
.p-about__comingsoon {
  font-size: 20px;
  font-weight: 700;
  line-height: 125%;
  color: #fff;
  text-align: center;
  background-color: var(--color-site-green--04);
  padding: 24px 12px;
}

@media print,
screen and (width > 768px) {
  .p-about__comingsoon {
    font-size: 24px;
  }
}

/* ========================================================================== */
/* --- 応募要項・募集要項セクション (p-guideline) --- */
/* ========================================================================== */
.p-guideline__intro {
  text-align: center;
  margin-bottom: 40px;
}

.p-guideline__intro .c-txt:not(:last-child) {
  margin-bottom: 20px;
}

.p-guideline__intro .c-txt--primary {
  font-size: 16px;
}

.p-guideline__intro .c-btn {
  margin-bottom: 12px;
}

.p-guideline__box {
  width: 100%;
  border-top: 1px solid var(--color-line-primary);
  padding-top: 34px;
  padding-bottom: 34px;
  text-align: center;
}

.p-guideline__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-guideline__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

.p-guideline__box:last-child {
  padding-bottom: 0;
}

.p-guideline__box--accordion {
  padding-top: 0;
  border-top: 0;
}

.p-guideline__box--noborder {
  border-top: 0;
}

.p-guideline__box .c-hd--primary {
  margin-bottom: 12px;
}

.p-guideline__box .c-hd--primary+.c-txt {
  margin-bottom: 34px;
}

.p-guideline__box .c-hd--primary+.c-txt+.c-note {
  margin-top: -22px;
  margin-bottom: 20px;
}

.p-guideline__box .c-btn {
  margin-top: 12px;
}

.p-guideline__box .c-btn+.c-txt {
  margin-top: -28px;
}

.p-guideline__box .c-list:not(:last-child) {
  margin-bottom: 34px;
}

/* ========================================================================== */
/* --- 審査委員会・委員紹介セクション (p-committee) --- */
/* ========================================================================== */
.p-committee__box {
  width: 100%;
  text-align: center;
}

.p-committee__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-committee__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

.p-committee__box .c-txt {
  margin-bottom: 44px;
}

.p-committee .c-hd--secondary {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--color-line-primary);
}

.p-committee .c-hd--secondary:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border: none;
}

.p-committee .c-txt--secondary {
  margin-bottom: 12px;
  font-size: 15px;
}

/* ========================================================================== */
/* --- 地域連携・地元説明会セクション (p-local) --- */
/* ========================================================================== */
.p-local .c-hd--primary {
  margin-bottom: 20px;
}

.p-local .c-hd--secondary {
  margin-bottom: 12px;
}

.p-local__lead {
  text-align: center;
  margin-bottom: 20px;
}

.p-local__box {
  width: 100%;
  text-align: center;
  padding-top: 24px;
}

.p-local__box:not(:last-child) {
  padding-bottom: 24px;
}

.p-local__box--border {
  border-bottom: 1px solid var(--color-line-primary);
}

.p-local__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-local__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

.p-local__meeting {
  text-align: center;
}

.p-local__meeting:not(:last-child) {
  margin-bottom: 25px;
}

.p-local__meeting .c-txt {
  margin-bottom: 8px;
}

@media only screen and (width <=768px) {
  .p-local__meeting .c-txt {
    text-align: left;
  }
}

/* ========================================================================== */
/* --- お問い合わせセクション (p-contact) --- */
/* ========================================================================== */
.p-contact .c-txt {
  margin-bottom: 20px;
}

.p-contact__box {
  width: 100%;
  text-align: center;
}

.p-contact__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-contact__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

/* ========================================================================== */
/* --- 動画・YouTubeアーカイブギャラリーセクション (p-movie) --- */
/* ========================================================================== */
.p-movie {
  width: calc(100% - 20px);
  margin: 0 auto 0;
  display: flex;
  align-items: start;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: start;
  gap: 40px;
}

@media print,
screen and (width > 768px) {
  .p-movie {
    width: min(100vw, 960px);
  }
}

@media print,
screen and (width > 768px) {
  .p-movie {
    gap: 120px;
  }
}

.p-movie__item {
  width: 100%;
}

/* PC時は動画を左右ジグザグに配置 */
@media print,
screen and (width > 768px) {
  .p-movie__item {
    width: 560px;
  }

  .p-movie__item:nth-child(even) {
    align-self: end;
  }
}

.p-movie__item.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-movie__item.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.4s;
}

.p-movie__title {
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
  color: #000;
  text-align: center;
  margin-bottom: 12px;
}

/* YouTubeアスペクト比固定埋め込み枠 (16:9) */
.p-movie__youtube {
  width: 100%;
  aspect-ratio: 560/315;
}

.p-movie__youtube iframe {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.p-movie__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 動画一覧のアコーディオン格納修飾子 */
.p-movie--accordion {
  width: 100%;
  margin: 0 auto 24px;
}

.p-movie--accordion[open] .p-movie--accordion__title::after {
  rotate: 0deg;
}

.p-movie--accordion__title {
  padding: 7px 48px;
  text-align: center;
  line-height: 1.4;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  list-style: none;
  background-color: var(--color-site-green--04);
  position: relative;
  cursor: pointer;
}

.p-movie--accordion__title::after {
  content: "";
  width: 12px;
  height: 8px;
  -webkit-mask-image: url(../images/common/icon_arrow_rank.svg);
  -webkit-mask-size: 12px 8px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_arrow_rank.svg);
  mask-size: 12px 8px;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
  position: absolute;
  right: 14px;
  top: 50%;
  translate: 0 -50%;
  rotate: 180deg;
}

.p-movie--accordion__title::-webkit-details-marker {
  display: none;
}

@media print,
screen and (width > 768px) {
  .p-movie--accordion__title {
    font-size: 24px;
  }

  .p-movie--accordion__title::after {
    width: 16px;
    height: 10px;
    -webkit-mask-size: 16px 10px;
    mask-size: 16px 10px;
  }
}

.p-movie--accordion__body {
  padding-top: 12px;
  padding-bottom: 36px;
}

.p-movie--accordion__section {
  max-width: 800px;
  margin: 24px auto 0;
}

@media print,
screen and (width > 768px) {
  .p-movie--accordion__section:first-child {
    margin-top: 48px;
  }
}

.p-movie--accordion__hd {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-movie--accordion__hd {
    font-size: 20px;
  }
}

.p-movie--accordion__inner {
  display: grid;
  grid-template-columns: 100%;
  gap: 12px;
}

@media print,
screen and (width > 768px) {
  .p-movie--accordion__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 30px;
  }
}

.p-movie--accordion__img {
  width: 100%;
}

.p-movie--accordion__caption {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}

@media print,
screen and (width > 768px) {
  .p-movie--accordion__caption {
    margin-top: 12px;
    font-size: 18px;
  }
}

/* ========================================================================== */
/* --- SNSリンク一覧セクション (p-sns) --- */
/* ========================================================================== */
.p-sns {
  padding: 60px 0;
}

@media print,
screen and (width > 768px) {
  .p-sns {
    padding-bottom: 114px;
  }
}

.p-sns__title {
  margin-bottom: 24px;
  text-align: center;
  color: var(--color-site-green--03);
  font-size: 24px;
  font-weight: 700;
}

.p-sns__list {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

.p-sns__item {
  width: 42px;
}

@media (hover: hover) {
  .p-sns__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.7;
  }
}

.p-sns__icon {
  width: 100%;
}

/* ========================================================================== */
/* --- 下層ページ用 ページタイトルヘッダー (p-pagetitle) --- */
/* ========================================================================== */
.p-pagetitle {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  place-items: center;
  padding: 88px 0 24px;
  margin-bottom: 60px;
  background: url(../images/common/bg_pagetitle_sp.jpg) no-repeat center bottom;
  background-size: cover;
}

@media print,
screen and (width > 768px) {
  .p-pagetitle {
    padding-top: 24px;
    height: 100px;
    background-image: url(../images/common/bg_pagetitle.jpg);
  }
}

.p-pagetitle__sub {
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  z-index: 1;
}

.p-pagetitle__main {
  grid-column: 1/2;
  grid-row: 1/2;
  place-self: end center;
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  color: var(--color-site-green--02);
  position: relative;
  z-index: 2;
}

/* ========================================================================== */
/* --- 投稿詳細・お知らせ記事本文エリア (p-entry) --- */
/* ========================================================================== */
.p-entry {
  width: calc(100% - 20px);
  margin: 0 auto 0;
  padding-bottom: 80px;
}

@media print,
screen and (width > 768px) {
  .p-entry {
    width: min(97.5609756098vw, 800px);
  }
}

@media print,
screen and (width > 768px) {
  .p-entry {
    padding-bottom: 120px;
  }
}

.p-entry__time {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 12px;
}

.p-entry__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.75;
  border-bottom: 2px solid var(--color-site-green--01);
  padding-bottom: 24px;
  margin-bottom: 40px;
}

@media print,
screen and (width > 768px) {
  .p-entry__title {
    font-size: 24px;
  }
}

.p-entry__img {
  width: auto;
  height: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto 40px;
}

.p-entry__txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.p-entry__txt:not(:last-child) {
  margin-bottom: 24px;
}

.p-entry__list:not(:last-child) {
  margin-bottom: 24px;
}

.p-entry__list__item {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  position: relative;
  padding-left: 20px;
}

.p-entry__list__item:not(:last-child) {
  margin-bottom: 8px;
}

.p-entry__list__item::before {
  position: absolute;
  left: 0;
}

.p-entry__list--normal .p-entry__list__item::before {
  content: "・";
}

/* 連番付きリスト修飾子 */
.p-entry__list--number {
  counter-reset: my-counter;
}

.p-entry__list--number .p-entry__list__item::before {
  content: counter(my-counter) ".";
  counter-increment: my-counter;
  font-weight: 700;
  color: var(--color-site-green--05);
}

/* 記事内の外部リンク（アイコン付き） */
.p-entry__link {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  padding-left: 28px;
  position: relative;
}

.p-entry__link::before {
  content: "";
  width: 20px;
  height: 22px;
  -webkit-mask-image: url(../images/common/icon_link.svg);
  -webkit-mask-size: 20px 22px;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url(../images/common/icon_link.svg);
  mask-size: 20px 22px;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: var(--color-txt-primary);
  position: absolute;
  left: 0;
}

@media (hover: hover) {
  .p-entry__link:where(:any-link, :enabled, summary):hover {
    color: var(--color-site-green--02);
  }

  .p-entry__link:where(:any-link, :enabled, summary):hover::before {
    background-color: var(--color-site-green--02);
  }
}

/* ========================================================================== */
/* --- 問い合わせ等のフォームラッパー (p-form) --- */
/* ========================================================================== */
.p-form {
  width: calc(100% - 20px);
  margin: 0 auto 0;
}

@media print,
screen and (width > 768px) {
  .p-form {
    width: min(97.5609756098vw, 800px);
  }
}

/* ========================================================================== */
/* --- フッターナビゲーション (p-fnav) --- */
/* ========================================================================== */
.p-fnav {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 40px;
}

@media print,
screen and (width > 768px) {
  .p-fnav {
    flex-direction: row;
    gap: 40px;
    margin-bottom: 80px;
  }
}

.p-fnav__link {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
}

@media (hover: hover) {
  .p-fnav__link:where(:any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
}

/* ========================================================================== */
/* --- コピーライト表示 (p-copyright) --- */
/* ========================================================================== */
.p-copyright {
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin-top: 40px;
}

@media print,
screen and (width > 768px) {
  .p-copyright {
    margin-top: 80px;
  }
}

/* ========================================================================== */
/* --- ピックアップインフォメーション・特設案内ブロック (p-pickup-info) --- */
/* ========================================================================== */
.p-pickup-info {
  padding: 37px 14px 40px;
  border: 3px solid var(--color-site-green--01);
  background: url(../images/common/bg_exhibition_sp.png) no-repeat center bottom;
  background-size: cover;
  width: calc(100% - 20px);
  margin: 80px auto 80px;
  /* リードを中央寄せにしたいケース（ユースケース別に追加適用） */
  /* YouTube 用（ブロックに .p-pickup-info--youtube を付与） */
  /* border と背景を無効化（.p-pickup-info--youtube--noborder を付与） */
}

@media print,
screen and (width > 768px) {
  .p-pickup-info {
    width: min(98.2142857143vw, 1100px);
  }
}

@media print,
screen and (width > 768px) {
  .p-pickup-info {
    padding: 37px;
    background-image: url(../images/common/bg_exhibition.png);
    width: min(100vw, 800px);
  }
}

.p-pickup-info__hd {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 900;
  background: var(--Linear, linear-gradient(96deg, #7ED5FF -0.68%, #FDB2C4 49.68%, #B0A728 100.04%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  font-size: 38px;
  width: 100%;
  position: relative;
  padding-bottom: 24px;
  margin: 0 auto 12px;
  line-height: 1;
  text-align: center;
}

.p-pickup-info__hd::after {
  content: "";
  width: 275px;
  height: 1px;
  background: var(--color-site-green--01);
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
}

@media print,
screen and (width > 768px) {
  .p-pickup-info__hd {
    margin-bottom: 24px;
  }

  .p-pickup-info__hd::after {
    width: 100%;
  }
}

.p-pickup-info__date {
  text-align: right;
  margin-bottom: 15px;
}

.p-pickup-info__lead {
  margin-bottom: 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

@media print,
screen and (width > 768px) {
  .p-pickup-info__lead {
    font-size: 18px;
    margin-bottom: 36px;
  }
}

.p-pickup-info__lead--secondary+.p-pickup-info__lead--secondary {
  margin-bottom: 12px;
}

.p-pickup-info__lead--left {
  text-align: left;
}

.p-pickup-info__lead--center {
  text-align: center;
}

.p-pickup-info--center-lead .p-pickup-info__lead {
  text-align: center;
}

.p-pickup-info__info {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  margin: 24px auto;
}

@media print,
screen and (width > 768px) {
  .p-pickup-info__info {
    width: fit-content;
    gap: 24px;
  }
}

html[lang=en] .p-pickup-info__info {
  grid-template-columns: 140px 1fr;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-pickup-info__info {
    grid-template-columns: 100px 1fr;
  }
}

.p-pickup-info__info__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

@media only screen and (width <=768px) {
  html[lang=en] .p-pickup-info__info__dt {
    font-size: 11px;
  }
}

.p-pickup-info__info__dd {
  font-size: 18px;
  font-weight: 500;
}

.p-pickup-info__info__dd--secondary {
  font-size: 16px;
}

.p-pickup-info__info__period {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-site-green--01);
}

@media print,
screen and (width > 768px) {
  .p-pickup-info__info__period {
    font-size: 24px;
  }
}

@media only screen and (width <=768px) {
  html[lang=en] .p-pickup-info__info__period {
    font-size: 20px;
  }
}

.p-pickup-info__map {
  position: relative;
  margin-top: 4px;
  aspect-ratio: 514/250;
}

.p-pickup-info__map iframe {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.p-pickup-info__list__item {
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 500;
}

.p-pickup-info__list__item::before {
  content: "・";
  position: absolute;
  left: 0;
}

.p-pickup-info__list__item:not(:last-child) {
  margin-bottom: 4px;
}

.p-pickup-info__list__number {
  position: absolute;
  left: 0;
}

.p-pickup-info__result {
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  margin: 36px auto 24px;
}

.p-pickup-info__result__img {
  width: 100%;
  height: auto;
}

.p-pickup-info__result__img :hover {
  cursor: pointer;
}

@media print,
screen and (width > 768px) {
  .p-pickup-info__result__img {
    max-width: 512px;
  }
}

.p-pickup-info__modal {
  margin: 0;
  padding: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: none;
}

@media only screen and (width <=768px) {
  .p-pickup-info__modal {
    width: 100%;
    height: fit-content;
  }
}

.p-pickup-info__modal::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.p-pickup-info__modal__img {
  width: auto;
  height: 80vh;
}

@media only screen and (width <=768px) {
  .p-pickup-info__modal__img {
    width: 100%;
    height: 100%;
  }
}

/* ピックアップインフォ内のYouTube動画埋め込み・目次リンクブロック修飾子 */
.p-pickup-info--youtube {
  /* 目次（TOC） */
  /* 目次番号（非リンク） */
}

.p-pickup-info--youtube .p-pickup-info__img {
  width: 100%;
  aspect-ratio: 16/9;
}

.p-pickup-info--youtube .p-pickup-info__lead {
  margin-bottom: 24px;
}

.p-pickup-info--youtube .p-pickup-info__title {
  font-size: 15px;
  line-height: 1;
  font-weight: 400;
  color: #000;
  text-align: center;
  margin-bottom: 12px;
}

.p-pickup-info--youtube .p-pickup-info__toc {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--color-site-green--02);
  background: #fff;
  border-radius: 6px;
}

.p-pickup-info--youtube .p-pickup-info__toc__lead {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
}

.p-pickup-info--youtube .p-pickup-info__list {
  margin: 0;
}

.p-pickup-info--youtube .p-pickup-info__list__item {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.6;
}

.p-pickup-info--youtube .p-pickup-info__list__item:not(:last-child) {
  margin-bottom: 6px;
}

.p-pickup-info--youtube .p-pickup-info__list__item::before {
  content: "›";
  /* › */
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-site-green--01);
}

.p-pickup-info--youtube .p-pickup-info__list__item a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.p-pickup-info--youtube .p-pickup-info__list__item--sub {
  margin-left: 8px;
  padding-left: 16px;
  font-size: 14px;
  opacity: 0.95;
  display: flex;
  align-items: baseline;
  column-gap: 6px;
}

.p-pickup-info--youtube .p-pickup-info__toc__num {
  display: inline-block;
  flex: none;
  min-width: 1.2em;
  text-align: center;
  text-decoration: none !important;
  color: #000;
}

/* 枠線と背景を消去したYouTube動画埋め込みバリエーション */
.p-pickup-info--youtube--noborder {
  border: none;
  background: none;
}

@media print,
screen and (width > 768px) {
  .p-pickup-info--youtube--noborder {
    background-image: none;
  }
}

.p-pickup-info--youtube--noborder .p-pickup-info__title {
  font-size: 18px;
}

/* ==========================================================================
   追加カスタムスタイル 
   ========================================================================== */
/* 追加 */

/* 1. 丸数字スタイルを定義 */
@counter-style circled-decimal {
  system: cyclic;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: " ";
}

/* 2. 丸数字 ol 用クラス */
.p-about__list--circled {
  list-style: circled-decimal;
  padding-left: 0;
  margin-left: 10;
}

/* 3. ここだけ追加：ol の中だけ・を消す */
.p-about__list.p-about__list--circled .p-about__list__item::before {
  content: none;
  /* または display: none; */
}

/* この会場ブロックのマップ部分だけに効く */
.p-about__box .p-about__map__google {
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  /* 4:3 比率 450 / 600 */
  position: relative;
  overflow: hidden;
}

.p-about__box .p-about__map__google iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  /* 既存の width="600" height="450" はそのままOK */
}

.p-presentation__posters .p-about__hd.p-about__hd--01 {
  text-align: center;
}

.p-about__list--big {
  margin: 0;
  padding: 0;
  padding-left: 1.6em;
}

.p-about__list--big .p-about__list__item {
  margin: 0;
  padding: 0;
  list-style-type: disc;
}

.p-about__list--big .p-about__list__item:not(:last-child) {
  margin-bottom: 10px;
}

/* p-about__list--big 内の ::before 擬似要素だけを消去して ::marker に統一 */
.p-about__list--big .p-about__list__item::before {
  content: none !important;
}

/* リストアイテムの標準マーカーを表示し、文字との被りを防ぐ左余白を確保 */
.p-about__list--big .p-about__list__item {
  list-style-type: disc !important;
  padding-left: 0 !important;
}

ul.p-about__list--big {
  padding-left: 1.2em !important;
}

.p-presentation__list .p-presentation__list__item {
  text-align: left;
}

/* 詳細情報のテーブル */
.p-about__table {
  width: 100%;
  border-collapse: collapse;
}

.p-about__table th,
.p-about__table td {
  padding: 5px 5px;
  vertical-align: top;
  line-height: 1.6;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  position: relative;
  padding-left: 14px;
  text-align: left;
}


.p-about__table th {
  /* 項目名の幅を固定（文字数に応じて調整） */
  text-align: left;
  white-space: nowrap;
  /* 項目名が途中で折り返されないようにする */
  font-weight: bold;
}


/* ==========================================================================
   ここから下を肉付け（社会実験ページ用）
   ========================================================================== */

/* --- 1. 区切りブロック（グレーの線を引く本体） --- */
.p-presentation__box {
  width: 100%;
  border-top: 1px solid var(--color-line-primary);
  padding-top: 40px;
  text-align: left;
}

.p-presentation__box:not(:last-child) {
  padding-bottom: 32px;
}

.p-presentation__box.js-observe {
  translate: 0 100px;
  opacity: 0;
}

.p-presentation__box.js-observe.is_active {
  translate: 0 0;
  opacity: 1;
  transition: all 0.3s;
}

/* --- 2. 見出しバリエーション --- */
.p-presentation__hd {
  font-weight: 600;
  line-height: 1;
  color: var(--color-site-green--03);
  margin-bottom: 12px;
}

html[lang=en] .p-presentation__hd {
  line-height: 1.23;
}

.p-presentation__hd--01 {
  font-size: 20px;
  margin-top: 24px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__hd--01 {
    font-size: 22px;
  }
}

/* 中見出し時は緑の線(::after)を消す */
.p-presentation__hd--01::after {
  content: none;
}

/* --- 3. 共通概要定義リスト（実施期間・場所など） --- */
.p-presentation__dl {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  row-gap: 12px;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 24px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__dl {
    font-size: 18px;
    column-gap: 24px;
    row-gap: 16px;
  }
}

.p-presentation__dt {
  font-weight: 700;
  color: var(--color-txt-primary);
  white-space: nowrap;
}

.p-presentation__dd {
  font-weight: 500;
  color: var(--color-txt-primary);
}

/* --- 4. イベントカード群 --- */
.p-presentation__events {
  margin-top: 20px;
}

.p-presentation__card {
  border: 1px solid #000;
  margin-bottom: 16px;
}

.p-presentation__card__title {
  display: block;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: left;
  color: #fff;
}

.p-presentation__card__body {
  display: grid;
  gap: 1px;
  background-color: #000;
}

.p-presentation__card__body--col1 {
  grid-template-columns: repeat(1, 1fr);
}

.p-presentation__card__body--col2 {
  grid-template-columns: repeat(2, 1fr);
}

.p-presentation__card__body--col3 {
  grid-template-columns: repeat(3, 1fr);
}

.p-presentation__card__body--col4 {
  grid-template-columns: repeat(4, 1fr);
}

.p-presentation__card__item {
  font-size: 13px;
  background-color: #fff;
  padding: 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-presentation__card__item .p-presentation__result__img {
  margin-top: auto;
  max-width: 100%;
  height: auto;
}

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

  .p-presentation__card__body--col2,
  .p-presentation__card__body--col3,
  .p-presentation__card__body--col4 {
    grid-template-columns: 1fr;
  }
}

/* --- 5. イベントスケジュール表 ＆ 注釈・QRコード --- */
.p-presentation__schedule {
  margin: 32px auto;
  width: 100%;
}

.p-presentation__schedule__table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  border: 1px solid var(--color-site-green--01);
}

.p-presentation__schedule__table th {
  background-color: var(--color-site-green--01);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 12px 8px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  vertical-align: middle;
}

.p-presentation__schedule__table td {
  border: 1px solid #ddd;
  padding: 12px 8px;
  font-size: 15px;
  line-height: 1.5;
  vertical-align: middle;
  background-color: #fff;
}

.p-presentation__schedule__table td:first-child {
  text-align: left;
  font-weight: 700;
  background-color: #f8faf8;
  color: var(--color-site-green--02);
  border-right: 1px solid var(--color-site-green--01);
}

.p-presentation__schedule__sub {
  display: block;
  font-size: 0.85em;
  font-weight: 400;
  color: var(--color-txt-secondary);
  margin-top: 2px;
}

.p-presentation__schedule__badge {
  display: inline-block;
  padding: 2px 6px;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 4px;
  background-color: var(--color-site-green--02);
  color: #fff;
  margin-right: 4px;
}

.p-presentation__schedule__notes {
  margin-top: 16px;
  text-align: left;
}

.p-presentation__schedule__lead {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-site-green--01);
  margin-bottom: 8px;
}

.p-presentation__schedule__txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 8px;
}

.p-presentation__schedule__qr-group {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
}

.p-presentation__schedule__qr-img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

/* --- 6. 独立イベントマップブロック --- */
.p-presentation__event-map {
  margin: 32px auto;
  width: 100%;
}

.p-presentation__event-map__label {
  display: inline-block;
  align-self: start;
  padding: 8px 16px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin-bottom: 12px;
}

.p-presentation__event-map__box {
  width: 100%;
  min-height: 140px;
  border: 1px solid #000;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}

.p-presentation__event-map__txt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-txt-primary);
}

.p-presentation__event-map__box img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   パーソナルモビリティ社会実験ブロック (p-presentation__mobility)
   ========================================================================== */
.p-presentation__mobility {
  width: 100%;
  margin: 24px auto;
}

.p-presentation__mobility__section:not(:last-child) {
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px dashed var(--color-line-primary);
}

.p-presentation__mobility__sub-txt {
  display: block;
  margin-top: 4px;
  font-size: 0.95em;
  color: var(--color-txt-secondary);
}

.p-presentation__mobility__map-space {
  width: 100%;
  min-height: 240px;
  border: 1px solid #000;
  background-color: #fafafa;
  margin: 20px 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-presentation__mobility__map-space img {
  max-width: 100%;
  height: auto;
  display: block;
}

.p-presentation__mobility__map-link {
  font-size: 15px;
  font-weight: 700;
  margin-top: 8px;
  text-align: left;
}

.p-presentation__mobility__port-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  border: 1px solid #000;
}

.p-presentation__mobility__port-table th,
.p-presentation__mobility__port-table td {
  border: 1px solid #000;
  padding: 10px 12px;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
}

.p-presentation__mobility__port-table th {
  width: 80px;
  text-align: center;
  font-weight: 700;
  background-color: #f5f5f5;
  white-space: nowrap;
}

.p-presentation__mobility__qr-group {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 700;
}

.p-presentation__mobility__qr-link {
  display: inline-block;
  transition: opacity 0.2s;
}

.p-presentation__mobility__qr-link:hover {
  opacity: 0.7;
}

.p-presentation__mobility__qr-img {
  width: 80px;
  height: 80px;
  border: 1px solid #ccc;
  display: block;
}

.p-presentation__mobility__dl {
  display: grid;
  gap: 12px;
  margin: 0 auto 24px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__mobility__dl {
    width: 100;
    grid-template-columns: 130px 1fr;
  }
}

/* dt：p-presentation__info__dt と完全同一（緑背景・白文字） */
.p-presentation__mobility__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* dd：右側コンテンツ */
.p-presentation__mobility__dd {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}

/* --- モビリティ走行マップブロック --- */
.p-presentation__mobility__map {
  margin: 24px auto;
  width: 100%;
}

.p-presentation__mobility__map__label {
  display: inline-block;
  align-self: start;
  padding: 8px 16px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin-bottom: 12px;
}

.p-presentation__mobility__map__box {
  width: 100%;
  min-height: 140px;
  border: 1px solid #000;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}

.p-presentation__mobility__map__txt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-txt-primary);
}

.p-presentation__mobility__map__box img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   関連情報ブロック (p-presentation__related)
   ========================================================================== */

/* 下部の注釈・補足エリア（スケジュールと完全同一） */
.p-presentation__related__notes {
  margin-top: 16px;
  text-align: center;
}

/* 注釈リード文（スケジュールと完全同一） */
.p-presentation__related__lead {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-site-green--01);
  margin-bottom: 8px;
}

/* 注釈テキスト（スケジュールと完全同一） */
.p-presentation__related__txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 8px;
}

/* QRコードグループ（スケジュールと完全同一） */
.p-presentation__related__qr-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
}

.p-presentation__related__qr-link {
  display: inline-block;
  transition: opacity 0.2s;
}

.p-presentation__related__qr-link:hover {
  opacity: 0.7;
}

.p-presentation__related__qr-img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}

/* ==========================================================================
   試乗可能機種ブロック (p-presentation__models)
   ※見出し・文字サイズ・枠線を p-presentation__events に完全準拠
   ========================================================================== */

/* ブロック全体 */
.p-presentation__models {
  margin: 32px auto;
  width: 100%;
}

/* スマホ表示時の横スクロールラッパー */
.p-presentation__models__scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 24px;
}

/* 機種テーブル本体（黒枠1px） */
.p-presentation__models__table {
  width: 100%;
  min-width: 600px;
  /* スマホで文字が潰れない最小幅 */
  border-collapse: collapse;
  border: 1px solid #000;
  background-color: #fff;
  text-align: center;
}

/* テーブル内の全セル共通（黒線1px・文字サイズ13px） */
.p-presentation__models__table th,
.p-presentation__models__table td {
  border: 1px solid #000;
  padding: 10px 8px;
  font-size: 13px;
  /* p-presentation__events と同一 */
  line-height: 1.5;
  vertical-align: middle;
}

/* カード見出し行（緑バー・白文字：p-presentation__card__title と同一） */
.p-presentation__models__title {
  background: var(--color-site-green--01) !important;
  color: #fff !important;
  font-size: 16px !important;
  /* p-presentation__card__title と同一 */
  font-weight: 500;
  text-align: left;
  padding: 10px 14px !important;
}

/* 説明文行 */
.p-presentation__models__desc {
  text-align: left;
  padding: 14px !important;
  font-size: 13px;
  line-height: 1.6;
  background-color: #fff;
}

/* 写真プレースホルダー枠 */
.p-presentation__models__photo {
  height: 110px;
  background-color: #fafafa;
}

.p-presentation__models__photo span {
  display: inline-block;
  background-color: #fff100;
  /* 画像の黄色マーカー目印 */
  padding: 2px 6px;
  font-weight: 700;
}

/* 将来画像が入った時の自動フィット */
.p-presentation__models__photo img {
  max-width: 100%;
  max-height: 100px;
  object-fit: contain;
  display: block;
  margin: auto;
}

/* 機種名セル（太字） */
.p-presentation__models__name {
  font-size: 14px !important;
  font-weight: 700;
}

/* 補足注釈（※特例特定小型原付 など） */
.p-presentation__models__sub {
  display: block;
  font-size: 0.85em;
  font-weight: 400;
  color: var(--color-txt-secondary);
  margin-top: 2px;
}

/* 提供会社名セル */
.p-presentation__models__company {
  font-size: 13px;
  font-weight: 500;
  background-color: #fafafa;
}

/* ==========================================================================
   利用の流れブロック (p-presentation__flow)
   ========================================================================== */

/* ブロック全体 */
.p-presentation__flow {
  margin: 32px auto;
  width: 100%;
}

/* 黒枠ボックス */
.p-presentation__flow__box {
  width: 100%;
  border: 1px solid #000;
  background-color: #fff;
  padding: 20px 16px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__flow__box {
    padding: 24px 28px;
  }
}

/* リスト全体 */
.p-presentation__flow__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 各ステップの行（薄い破線で区切る） */
.p-presentation__flow__item {
  padding-bottom: 16px;
}

.p-presentation__flow__item:not(:last-child) {
  margin-bottom: 16px;
  border-bottom: 1px dashed var(--color-line-primary);
}

/* ステップの見出しエリア（番号 ＋ タイトル） */
.p-presentation__flow__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin-bottom: 6px;
}

/* 緑色のステップ番号（サイトの緑・太字） */
.p-presentation__flow__num {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-site-green--01);
  line-height: 1;
}

.p-presentation__flow__num::after {
  content: ".";
}

/* ステップタイトル */
.p-presentation__flow__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-site-green--01);
  line-height: 1.4;
}

/* 2番などの補足注記（※乗車までの時間短縮〜） */
.p-presentation__flow__sub {
  font-size: 13px;
  font-weight: 400;
  color: var(--color-txt-secondary);
}

/* 説明文エリア（番号の右側に揃うよう少し左インデント） */
/* ↓↓↓ 横スクロール（overflow-x: auto）と画像の元サイズ維持を追加 ↓↓↓ */
.p-presentation__flow__body {
  padding-left: 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 画像が枠幅に合わせて無理に縮小されず、はみ出た分が横スクロールできるようにする */
.p-presentation__flow__body img {
  max-width: none;
  height: 250px;
  display: block;
}

/* スマホ表示時（768px以下）：枠の幅に合わせて縮小する */
@media only screen and (max-width: 768px) {
  .p-presentation__flow__body img {
    max-width: 100%;
    height: auto;
  }
}

.p-presentation__flow__txt {
  font-size: 14px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}

.p-presentation__flow__txt:not(:last-child) {
  margin-bottom: 4px;
}

/* ボックス下の注記（★2回目以降〜） */
.p-presentation__flow__note {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-txt-primary);
  text-align: left;
}

/* ==========================================================================
   試乗にあたっての注意事項ブロック (p-presentation__faq)
   ========================================================================== */

/* 全体枠 */
.p-presentation__faq {
  margin: 32px auto;
  width: 100%;
}

/* 黒枠ボックス */
.p-presentation__faq__box {
  width: 100%;
  border: 1px solid #000;
  background-color: #fff;
  padding: 20px 16px;
}

@media print,
screen and (width > 768px) {
  .p-presentation__faq__box {
    padding: 24px 28px;
  }
}

/* リスト全体 */
.p-presentation__faq__list {
  margin: 0;
  padding: 0;
}

/* 各Q&Aの行間マージン */
.p-presentation__faq__item:not(:last-child) {
  margin-bottom: 24px;
}

/* 質問（Q）：画像通りの太字 ＆ 下線 */
.p-presentation__faq__q {
  font-size: 15px;
  font-weight: 700;
  color: var(--color-txt-primary);
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-bottom: 8px;
  text-align: left;
}

@media print,
screen and (width > 768px) {
  .p-presentation__faq__q {
    font-size: 16px;
  }
}

/* 回答（A）エリア */
.p-presentation__faq__a {
  margin: 0;
  text-align: left;
}

.p-presentation__faq__txt {
  font-size: 14px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}

/* Q1の事前登録QRコードグループ */
.p-presentation__faq__qr-group {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 700;
}

.p-presentation__faq__qr-link {
  display: inline-block;
  transition: opacity 0.2s;
}

.p-presentation__faq__qr-link:hover {
  opacity: 0.7;
}

.p-presentation__faq__qr-img {
  width: 80px;
  height: 80px;
  border: 1px solid #ccc;
  display: block;
  object-fit: contain;
}

/* ==========================================================================
   来場方法ブロック (p-presentation__access) ※個別カスタマイズ用
   ========================================================================== */
.p-presentation__access {
  display: grid;
  gap: 12px;
  margin: 0 auto 24px;
  width: 100%;
}

@media print,
screen and (width > 768px) {
  .p-presentation__access {
    grid-template-columns: 110px 1fr;
    gap: 16px 24px;
  }
}

/* 「来場方法」緑ラベル */
.p-presentation__access__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* 右側コンテンツ */
.p-presentation__access__dd {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}


/* ==========================================================================
   その他ブロック (p-presentation__other) ※個別カスタマイズ用
   ========================================================================== */
.p-presentation__other {
  display: grid;
  gap: 12px;
  margin: 0 auto 24px;
  width: 100%;
}

@media print,
screen and (width > 768px) {
  .p-presentation__other {
    grid-template-columns: 110px 1fr;
    gap: 16px 24px;
  }
}

/* 「その他」緑ラベル */
.p-presentation__other__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* 右側コンテンツ */
.p-presentation__other__dd {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}

/* ==========================================================================
   チラシブロック (p-presentation__chirashi) 
   ========================================================================== */
.p-presentation__chirashi {
  display: grid;
  gap: 12px;
  margin: 0 auto 24px;
  width: 100%;
}

@media print,
screen and (width > 768px) {
  .p-presentation__chirashi {
    grid-template-columns: 110px 1fr;
    gap: 16px 24px;
  }
}

/* 「その他」緑ラベル */
.p-presentation__chirashi__dt {
  align-self: start;
  padding: 8px;
  background: var(--color-site-green--01);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/* 右側コンテンツ */
.p-presentation__chirashi__dd {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
  color: var(--color-txt-primary);
}