@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
picture,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/*
独自リセット
css-wipeより抜粋
*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* リセットCSSでは bodyのline-height:1 だが
  main要素の下に無駄な余白ができるので0にする */
/* mixins */
/**
 * clamp関数の文字列を返す
 *
 * @param {Number} $size-at-min-width - 最小画面幅での要素のサイズ (px|rem|emなど)
 * @param {Number} $size-at-max-width - 最大画面幅での要素のサイズ (px|rem|emなど)
 * @param {Number} $min-width [optional] - 最小画面幅 (デフォルト: $min-width-default)
 * @param {Number} $max-width [optional] - 最大画面幅 (デフォルト: $max-width-default)
 * @return {String} CSS clamp関数を含む計算式
 *
 * @description
 * 画面幅に応じて値が滑らかに変化するレスポンシブな値を生成します。
 * 例えば、フォントサイズやマージン、パディングなどの値を画面幅に応じて
 * 自動的に調整することができます。
 *
 * @example
 *   // フォントサイズを16pxから24pxまで可変させる
 *   font-size: clamp-calc(16px, 24px);
 *
 *   // マージンを2remから4remまで可変させる（画面幅768px～1200px）
 *   margin: clamp-calc(2rem, 4rem, 768px, 1200px);
 *
 * @note
 * - 引数の単位は一貫している必要はありません（px, rem等が混在可能）
 * - 内部で全ての値をpxに変換して計算を行います
 * - 返り値は入力された$size-at-min-widthと同じ単位で返されます
 * - 負の値（マイナスマージンなど）にも対応しています
 *
 * @implementation
 * 1. 入力値を全てpxに変換
 * 2. 線形の傾きを計算
 * 3. y軸との交点を計算
 * 4. 必要に応じて最小値と最大値を入れ替え
 * 5. 元の単位に変換して最終的なclamp関数を構築
 */
/**
 * 与えられた値をピクセル(px)単位に変換する関数
 *
 * @param {Number} $value - 変換したい値（rem または px）
 * @return {Number} 変換後のピクセル値
 *
 * @example
 *   convert-to-px(1.5rem)  // 24px ($base-font-size が 16px の場合)
 *   convert-to-px(20px)    // 20px (そのまま返される)
 *   convert-to-px(2em)     // 2em (非対応の単位はそのまま返される)
 *
 * @description
 * - rem単位の場合: $base-font-sizeを基準にしてpxに変換
 * - px単位の場合: 値をそのまま返す
 * - その他の単位: 変換せずそのまま返す
 *
 * @throws {Error} $base-font-size が定義されていない場合にエラー
 */
/**
 * ピクセル(px)単位の値をrem単位に変換する関数
 *
 * @param {Number} $px-value - 変換したい値（px または rem）
 * @return {Number} 変換後のrem値
 *
 * @example
 *   convert-to-rem(16px)   // 1rem ($base-font-size が 16px の場合)
 *   convert-to-rem(24px)   // 1.5rem ($base-font-size が 16px の場合)
 *   convert-to-rem(1.5rem) // 1.5rem (そのまま返される)
 *   convert-to-rem(2em)    // 2em (非対応の単位はそのまま返される)
 *
 * @description
 * - px単位の場合: $base-font-sizeを基準にしてremに変換
 * - rem単位の場合: 値をそのまま返す
 * - その他の単位: 変換せずそのまま返す
 *
 * @note
 * - レスポンシブデザインに適したrem単位への変換に使用
 * - $base-font-size はグローバルで定義されている必要がある
 *
 * @throws {Error} $base-font-size が定義されていない場合にエラー
 */
/*
 * 補助関数：小数点以下の指定した桁数で四捨五入する関数
 */
/*
 * 補助関数：累乗を計算する関数
 * 引数：$number 底となる数
 *      $exponent 指数（正の整数のみ対応）
 */
/* サイズ指定をremにする */
html {
  scroll-behavior: smooth;
}

body {
  margin-left: auto;
  margin-right: auto;
  font-family: "BIZ UDGothic", "Montserrat", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  font-weight: normal;
  letter-spacing: 0.05em;
  color: #1b160d;
}

::-moz-selection {
  background: #25b101;
  color: #fff;
}

::selection {
  background: #25b101;
  color: #fff;
}

a {
  text-decoration: none;
}

a,
a:visited,
a:hover,
a:active {
  color: inherit;
}

a {
  transition: 0.3s opacity;
}

@media (hover: hover) {
  a:hover,
  a:active {
    opacity: 0.6;
  }
}
textarea,
input,
button,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

img,
picture {
  width: 100%;
  display: block;
}

.l-container {
  width: 100%;
  max-width: 68.375rem;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  margin: 0 auto;
}

.l-container.--narrow {
  max-width: 61.875rem;
}

.l-container.--wide {
  max-width: 79.375rem;
}

.l-section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  .l-section {
    padding-top: 6.875rem;
    padding-bottom: 6.875rem;
  }
}
.l-section.--pt0 {
  padding-top: 0;
}

.l-section.--pb0 {
  padding-bottom: 0;
}

.l-section.--primary-color {
  background-color: #25b101;
}

.l-section.--gray {
  background-color: #f2faef;
}

.l-section__header {
  margin-bottom: 2.5rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-section__header {
    margin-bottom: 3.75rem;
  }
}
.l-section__content {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .l-section__content {
    margin-top: 3.75rem;
  }
}
/**
 * ヘッダーレイアウト
 *
 * サイト共通で使用するヘッダーの構造を定義
 * - 基本の高さ: SP 60px / PC 56px
 * - position: fixed に対応（.--fixed）
 */
/* ベーススタイル */
.l-header {
  width: 100%;
  height: 3.75rem;
  background-color: #fff;
}
@media screen and (min-width: 992px) {
  .l-header {
    height: 3.5rem;
  }
}

/* 固定ヘッダー */
.l-header.--fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

/* 固定ヘッダー用スペーサー
  - ヘッダーと同じ高さの空白を挿入
  - スクロール時のコンテンツのずれを防止
  - .--fixedが付いていないときはスタイルが当たらず無効化される */
.l-header__spacer:has(~ .l-header.--fixed) {
  display: block;
  width: 100%;
  height: 3.75rem;
}
@media screen and (min-width: 992px) {
  .l-header__spacer:has(~ .l-header.--fixed) {
    height: 3.5rem;
  }
}

/* ヘッダーの内部レイアウト */
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .l-header__inner {
    padding: 0 0.9375rem;
    max-width: 90rem;
  }
}

.l-center {
  margin-left: auto;
  margin-right: auto;
}

.l-spacer {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.l-spacer.--2 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.l-spacer.--3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.l-spacer.--4 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.l-spacer.--5 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.l-spacer.--6 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.l-spacer.--7 {
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}

.l-spacer.--8 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.l-spacer__top {
  margin-top: 0.5rem;
}

.l-spacer__top.--2 {
  margin-top: 1rem;
}

.l-spacer__top.--3 {
  margin-top: 1.5rem;
}

.l-spacer__top.--4 {
  margin-top: 2rem;
}

.l-spacer__top.--5 {
  margin-top: 2.5rem;
}

.l-spacer__top.--6 {
  margin-top: 3rem;
}

.l-spacer__top.--7 {
  margin-top: 3.5rem;
}

.l-spacer__top.--8 {
  margin-top: 4rem;
}

.l-spacer__bottom {
  margin-bottom: 0.5rem;
}

.l-spacer__bottom.--2 {
  margin-bottom: 1rem;
}

.l-spacer__bottom.--3 {
  margin-bottom: 1.5rem;
}

.l-spacer__bottom.--4 {
  margin-bottom: 2rem;
}

.l-spacer__bottom.--5 {
  margin-bottom: 2.5rem;
}

.l-spacer__bottom.--6 {
  margin-bottom: 3rem;
}

.l-spacer__bottom.--7 {
  margin-bottom: 3.5rem;
}

.l-spacer__bottom.--8 {
  margin-bottom: 4rem;
}

.l-spacer__bottom.--10 {
  margin-bottom: 5rem;
}

.l-spacer__bottom.--16 {
  margin-bottom: 8rem;
}

.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border: 0.0625rem solid transparent;
  border-radius: 0.125rem;
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  text-align: center;
  transition: 0.3s;
}

.c-button.--primary-color {
  background-color: #25b101;
  color: #fff;
}

.c-button.--secondary-color {
  background-color: #05a5d2;
  color: #fff;
}

.c-button.--outlined {
  border-color: #25b101;
  color: #25b101;
}

@media (hover: hover) {
  .c-button.--outlined:hover {
    background-color: #25b101;
    color: #fff;
    opacity: 1;
  }
}
.c-button.--small {
  min-width: 10rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
}

.c-button.--icon-contact::before,
.c-button.--icon-download::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 0.5rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #25b101;
}

.c-button.--icon-contact::before {
  -webkit-mask-image: url("../img/common/icon-contact-button.svg");
          mask-image: url("../img/common/icon-contact-button.svg");
}

.c-button.--icon-download::before {
  -webkit-mask-image: url("../img/common/icon-download.svg");
          mask-image: url("../img/common/icon-download.svg");
}

.c-button.--arrow {
  padding-right: 0;
}

.c-button.--arrow::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 0.75rem;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
}

.c-button.--arrow.--large::after {
  width: 1.5rem;
  height: 1.5rem;
}

.c-button.--arrow-circle::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin-left: 0.625rem;
  -webkit-mask-image: url("../img/common/icon-arrow-circle.svg");
          mask-image: url("../img/common/icon-arrow-circle.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
}

.c-button.--arrow-square {
  padding-top: 0;
  padding-bottom: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-button.--arrow-square {
    width: auto;
  }
}

.c-button.--arrow-square > span {
  border-right: 1px solid #fff;
  padding: 0.875rem 1rem;
}

.c-button.--arrow-square::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.25rem;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
}

.c-button.--cancel-padding {
  margin-left: -1rem;
  margin-right: -1rem;
}

@media (hover: hover) {
  .c-button.--hover-bg {
    border-radius: 999px;
    transition: background-color 0.2s ease;
  }
  .c-button.--hover-bg:hover {
    background-color: #f2faef;
    opacity: 1;
  }
}
.c-button.--link-external {
  padding-right: 0;
}

.c-button.--link-external::after {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 0.75rem;
  -webkit-mask-image: url("../img/common/icon-link-external.svg");
          mask-image: url("../img/common/icon-link-external.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
}

.c-button.--page-back {
  color: #fff;
  font-weight: 700;
  border: 1px solid #25b101;
  background-color: #25b101;
  border-radius: 8px;
  gap: 0.375rem;
  padding: 0.75rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-button.--page-back {
    font-size: 0.875rem;
    gap: 0.75rem;
  }
}

.c-button.--page-back::before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.75rem;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
  transform: rotate(180deg);
}

/* ---------------------------------------------------------
  Card
--------------------------------------------------------- */
.c-card {
  background-color: #fff;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}

.c-card.--transparent {
  background-color: transparent;
  box-shadow: none;
}

.c-card.--p0 {
  padding: 0;
}

.c-card__title {
  margin-bottom: 0.5rem;
  color: inherit;
}

.c-card__body {
  color: inherit;
}

.c-card__image {
  margin-bottom: 1rem;
  width: 100%;
  height: auto;
}

/* リンクカード */
.c-card.--link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}

@media (hover: hover) {
  .c-card.--link:hover {
    transform: translateY(-0.25rem);
  }
}
/* アウトラインカード */
.c-card.--outline {
  border: 0.0625rem solid #25b101;
  box-shadow: none;
}

/* 青背景カード */
.c-card.--primary-color {
  background-color: #25b101;
  color: #fff;
}

/* ボーダーレスカード */
.c-card.--borderless {
  background-color: transparent;
  box-shadow: none;
  padding: 0;
}

.c-grid {
  display: grid;
  gap: 1.5rem;
}

.c-grid.--col-4,
.c-grid.--col-3,
.c-grid.--col-2 {
  grid-template-columns: 1fr;
}

@media screen and (min-width: 768px) {
  .c-grid.--col-4,
  .c-grid.--col-3,
  .c-grid.--col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .c-grid.--col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .c-grid.--col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-grid.--auto-fit-sm {
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
}

.c-grid.--auto-fit-md {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.c-grid.--auto-fit-lg {
  grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
}

.c-grid.--auto-fit-xl {
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}

/* 画像コンテナ */
.c-image-container {
  position: relative;
  width: 100%;
}

/* コンテナ内のimg要素 */
.c-image-container img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-image-container picture {
  height: 100%;
}

/* object-fitの指定 */
.c-image-container.--contain img {
  -o-object-fit: contain;
     object-fit: contain;
}

/* アスペクト比が指定されている場合のみheight: 100%を適用 */
.c-image-container.--4-3 img,
.c-image-container.--16-9 img,
.c-image-container.--1-1 img {
  height: 100%;
}

/* アスペクト比のバリエーション */
.c-image-container.--4-3 {
  aspect-ratio: 4/3;
}

.c-image-container.--16-9 {
  aspect-ratio: 16/9;
}

.c-image-container.--1-1 {
  aspect-ratio: 1/1;
}

/* サイズバリエーション */
.c-image-container.--small {
  max-width: 15rem;
}

.c-image-container.--medium {
  max-width: 30rem;
}

.c-image-container.--large {
  max-width: 50rem;
}

/* オーバーレイ */
.c-image-container.--overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
  pointer-events: none;
}

.c-link-panel {
  display: block;
  background-color: #f6f6f6;
}

.c-link-panel__link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
  padding: 1rem;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .c-link-panel__link:hover {
    opacity: 0.7;
  }
}
.c-link-panel__body {
  margin-top: 1rem;
}

.c-link-panel__title {
  margin-bottom: 0.5rem;
}

/* ========================================
  メディア
======================================== */
.c-media {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}

.c-media__image-area {
  flex-shrink: 0;
  width: 100%;
}

.c-media__body {
  flex: 1;
}

.c-media.--reverse {
  flex-direction: column-reverse;
}

/* PC Layout */
@media screen and (min-width: 768px) {
  .c-media {
    flex-direction: row;
    gap: 2.5rem;
  }
  .c-media__image-area {
    width: 50%;
  }
  .c-media.--reverse {
    flex-direction: row-reverse;
  }
}
/* Link variant */
.c-media.--link {
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .c-media.--link:hover {
    opacity: 0.7;
  }
}
/* 垂直方向に中央寄せ */
.c-media.--vertical-center .c-media__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .c-media.--vertical-center .c-media__image-area {
    width: 40%;
  }
}
.c-tab {
  background-color: transparent;
}

.c-tab__list {
  display: flex;
  gap: 1px;
}

.c-tab__button {
  text-align: center;
  width: 100%;
  padding: 1rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.c-tab__button.is-active {
  background-color: #fff;
}

.c-tab__panels {
  background-color: #fff;
}

.c-tab__panel {
  display: none;
  padding: 1.5rem;
}

.c-tab__panel.is-active {
  display: block;
}

/* ----------------------------------------
  Headings
---------------------------------------- */
.c-heading-1 {
  font-size: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 700;
}

.c-heading-1.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 2.625rem;
  line-height: 1.5;
  letter-spacing: 0.0125rem;
}
@media screen and (min-width: 768px) {
  .c-heading-1.--en {
    font-size: 3.25rem;
  }
}

.c-heading-2 {
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-heading-2 {
    font-size: 2.25rem;
  }
}

.c-heading-2.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 2.125rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-heading-2.--en {
    font-size: 2.75rem;
  }
}

.c-heading-3 {
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-heading-3 {
    font-size: 2.125rem;
  }
}

.c-heading-3.--en,
.c-heading-3.--en.c-h2-heading2 {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1.875rem;
  line-height: 1.5;
  letter-spacing: 0.0125rem;
}
@media screen and (min-width: 768px) {
  .c-heading-3.--en,
  .c-heading-3.--en.c-h2-heading2 {
    font-size: 2.25rem;
  }
}

.c-heading-4 {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-heading-4 {
    font-size: 1.75rem;
  }
}

.c-heading-4.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.0125rem;
}
@media screen and (min-width: 768px) {
  .c-heading-4.--en {
    font-size: 1.75rem;
  }
}

.c-heading-5 {
  font-size: 1.375rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 2%;
}
@media screen and (min-width: 768px) {
  .c-heading-5 {
    font-size: 1.5rem;
  }
}

.c-heading-5.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.0125rem;
}
@media screen and (min-width: 768px) {
  .c-heading-5.--en {
    font-size: 1.375rem;
  }
}

.c-heading-6 {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-heading-6 {
    font-size: 1.25rem;
  }
}

.c-heading-6.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-heading-6.--en {
    font-size: 1.125rem;
  }
}

.c-heading-1.--center,
.c-heading-2.--center,
.c-heading-3.--center,
.c-heading-4.--center,
.c-heading-5.--center,
.c-heading-6.--center,
.c-text.--center {
  text-align: center;
}

.c-heading-1.--white,
.c-heading-2.--white,
.c-heading-3.--white,
.c-heading-4.--white,
.c-heading-5.--white,
.c-heading-6.--white,
.c-text.--white {
  color: #fff;
}

.c-heading-1.--primary-color,
.c-heading-2.--primary-color,
.c-heading-3.--primary-color,
.c-heading-4.--primary-color,
.c-heading-5.--primary-color,
.c-heading-6.--primary-color,
.c-text.--primary-color {
  color: #25b101;
}

/* ----------------------------------------
  Body Text
---------------------------------------- */
.c-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.5;
}

.c-text.--center {
  text-align: center;
}

.c-text.--lg {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-text.--lg {
    font-size: 1.125rem;
  }
}

.c-text.--sm {
  font-size: 0.875rem;
  line-height: 1.5;
}

.c-text.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

.c-text.--lg.--en {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-text.--lg.--en {
    font-size: 1.125rem;
  }
}

.c-text.--sm.--en {
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.0125rem;
}

.c-text.--medium,
.c-text.--lg.--medium,
.c-text.--sm.--medium {
  font-weight: 500;
}

.c-text.--bold,
.c-text.--lg.--bold,
.c-text.--sm.--bold {
  font-weight: bold;
}

.c-text.--gray {
  color: #948d81;
}

.c-text.--primary-color {
  color: #25b101;
}

.c-text.--secondary-color {
  color: #05a5d2;
}

.c-text.--secondary-orange-color {
  color: #f8974d;
}

/* ----------------------------------------
  Caption
---------------------------------------- */
.c-caption {
  font-size: 0.75rem;
  line-height: 1.5;
}

.c-caption.--en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* ----------------------------------------
  Table Text
---------------------------------------- */
.c-table-text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-table-text.--sm {
  font-size: 0.75rem;
  line-height: 1.5;
}

.c-table-text.--medium,
.c-table-text.--sm.--medium {
  font-weight: 500;
}

/* ----------------------------------------
  lower-h2
---------------------------------------- */
.c-h2-heading1 {
  font-size: 1.5rem;
  font-weight: 500;
  padding-bottom: 0.875rem;
  border-bottom: 2px solid #948d81;
  position: relative;
}

.c-h2-heading2 {
  font-size: 2.125rem;
  font-weight: 700;
  padding-bottom: 1.25rem;
  border-bottom: 2px solid #948d81;
  position: relative;
  line-height: 1.2;
}
@media screen and (max-width: 576px) {
  .c-h2-heading2 {
    font-size: 1.5rem;
  }
}

.c-h2-heading1::after,
.c-h2-heading2::after {
  content: "";
  width: 3.5625rem;
  height: 0.125rem;
  background: #25b101;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.c-h2-heading2::after {
  width: 9.6875rem;
}
@media screen and (max-width: 576px) {
  .c-h2-heading2::after {
    width: 7.5rem;
  }
}

/* ----------------------------------------
  Section Heading with Icon and English Subtitle
---------------------------------------- */
.c-section-heading-icon-en {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .c-section-heading-icon-en {
    gap: 1rem;
    margin-bottom: 2.5rem;
  }
}

.c-section-heading-icon-en__icon {
  width: clamp(3rem, 1.9615625rem + 2.885vw, 3.75rem);
  height: clamp(3rem, 1.9615625rem + 2.885vw, 3.75rem);
  background-color: #25b101;
  -webkit-mask-image: url("../../_assets/img/common/icon-leaf.svg");
          mask-image: url("../../_assets/img/common/icon-leaf.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  flex-shrink: 0;
  margin-top: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
}

.c-section-heading-icon-en.--building .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-building.svg");
          mask-image: url("../../_assets/img/common/icon-building.svg");
}

.c-section-heading-icon-en.--target .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-target.svg");
          mask-image: url("../../_assets/img/common/icon-target.svg");
}

.c-section-heading-icon-en.--bar-chart .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-bar-chart-square-up.svg");
          mask-image: url("../../_assets/img/common/icon-bar-chart-square-up.svg");
}

.c-section-heading-icon-en.--folder-search .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-folder-search-straight.svg");
          mask-image: url("../../_assets/img/common/icon-folder-search-straight.svg");
}

.c-section-heading-icon-en.--checked .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-checked.svg");
          mask-image: url("../../_assets/img/common/icon-checked.svg");
}

.c-section-heading-icon-en.--board-tasks .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-board-tasks.svg");
          mask-image: url("../../_assets/img/common/icon-board-tasks.svg");
}

.c-section-heading-icon-en.--rank-star .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-rank-star.svg");
          mask-image: url("../../_assets/img/common/icon-rank-star.svg");
}

.c-section-heading-icon-en.--hat .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-hat.svg");
          mask-image: url("../../_assets/img/common/icon-hat.svg");
}

.c-section-heading-icon-en.--question .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-question.svg");
          mask-image: url("../../_assets/img/common/icon-question.svg");
}

.c-section-heading-icon-en.--microplastics .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/common/icon-microplastics.svg");
          mask-image: url("../../_assets/img/common/icon-microplastics.svg");
}

.c-section-heading-icon-en.--sun .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/learn/icon-sun.svg");
          mask-image: url("../../_assets/img/learn/icon-sun.svg");
}

.c-section-heading-icon-en.--graduated .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/learn/icon-graduated.svg");
          mask-image: url("../../_assets/img/learn/icon-graduated.svg");
}

.c-section-heading-icon-en.--search .c-section-heading-icon-en__icon {
  -webkit-mask-image: url("../../_assets/img/learn/icon-search-chat.svg");
          mask-image: url("../../_assets/img/learn/icon-search-chat.svg");
}

.c-section-heading-icon-en__content {
  flex: 1;
}

.c-section-heading-icon-en__en-title {
  display: block;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.4;
  font-weight: 700;
  color: #25b101;
  margin-bottom: 0.25rem;
}

.c-section-heading-icon-en__title {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 700;
  color: #1b160d;
}
@media screen and (min-width: 768px) {
  .c-section-heading-icon-en__title {
    font-size: 1.75rem;
  }
}

.c-section-heading-icon-en.--secondary .c-section-heading-icon-en__icon {
  background-color: #05a5d2;
}

.c-section-heading-icon-en.--secondary .c-section-heading-icon-en__en-title {
  color: #05a5d2;
}

.c-section-heading-icon-en.--orange .c-section-heading-icon-en__icon {
  background-color: #f8974d;
}

.c-section-heading-icon-en.--orange .c-section-heading-icon-en__en-title {
  color: #f8974d;
}

/**
 * 大きなアイコンとテキストのボタン風のUI
 * - アイコン付きのテキストリンクは、c-icon-inline を使用する
*/
.c-icon-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .c-icon-label {
    flex-direction: row;
  }
}

.c-icon-label__icon {
  flex-shrink: 0;
  width: 3.4375rem;
  height: 3.4375rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-icon-label__text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-icon-label.--sp-horizontal {
  flex-direction: row;
}

/**
 * アイコン付きテキストリンク
 * - 大きなアイコンとテキストのボタン風のUIは、c-icon-label を使用する
*/
.c-icon-inline {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
  margin-right: 1.5em;
}

.c-icon-inline::after {
  position: absolute;
  content: "";
  margin-right: 0.25rem;
  width: 1.2em;
  height: 1.2em;
  margin-left: 0.2em;
  display: inline-block;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}

.c-icon-inline.--external-link::after {
  -webkit-mask-image: url("../../_assets/img/common/icon-external-link.svg");
          mask-image: url("../../_assets/img/common/icon-external-link.svg");
}

.c-icon-inline.--pdf {
  margin-right: 2.5em;
}

.c-icon-inline.--pdf::after {
  -webkit-mask-image: url("../../_assets/img/common/icon-pdf.svg");
          mask-image: url("../../_assets/img/common/icon-pdf.svg");
  width: 2em;
  height: 2em;
}

.c-icon-inline.--primary {
  color: #25b101;
  font-weight: 700;
}

.c-icon-inline.--white {
  color: #fff;
}

.c-underline-animation span {
  position: relative;
  display: inline-block;
}

@media (hover: hover) {
  a.c-underline-animation:hover {
    opacity: 1;
    color: #25b101;
    font-weight: bold;
  }
}
.c-underline-animation > span::before {
  content: "";
  position: absolute;
  bottom: -0.0625rem;
  left: 0;
  width: 0;
  height: 0.125rem;
  background-color: currentColor;
  transition: width 0.2s ease, color 0.2s ease, font-weight 0.2s ease;
}

@media (hover: hover) {
  .c-underline-animation:hover > span::before {
    width: 100%;
  }
}
.c-accordion {
  margin: 0;
  padding: 0;
}

.c-accordion__item {
  border-bottom: 0.0625rem solid #948d81;
}

.c-accordion__item:first-child {
  border-top: 0.0625rem solid #948d81;
}

.c-accordion__trigger {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1em;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.c-accordion__trigger[aria-expanded=true] .c-accordion__icon {
  transform: rotate(180deg);
}

.c-accordion__title {
  flex: 1;
  margin: 0;
  padding: 0;
}

.c-accordion__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  transition: transform 0.3s;
  -webkit-mask-image: url(../../_assets/img/common/icon-arrow-v-shape.svg);
          mask-image: url(../../_assets/img/common/icon-arrow-v-shape.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #1b160d;
}

.c-accordion__body {
  padding: 1em;
}

.c-moving-arrow {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 0.0625rem solid #948d81;
  margin-left: 0.625rem;
}

.c-moving-arrow__icon {
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask-image: url("../../_assets/img/common/icon-arrow2.svg");
          mask-image: url("../../_assets/img/common/icon-arrow2.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #25b101;
}

@media (hover: hover) {
  a:has(.c-moving-arrow):hover {
    opacity: 1;
  }
  a:hover .c-moving-arrow__icon {
    animation: slide-arrow 0.3s;
  }
}
@keyframes slide-arrow {
  0% {
    transform: translateX(0);
  }
  49% {
    transform: translateX(200%);
  }
  50% {
    transform: translateX(-200%);
  }
  100% {
    transform: translateX(0);
  }
}
.c-breadcrumb {
  padding: 1rem 1.25rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding: 0.625rem 1rem;
  }
}

.c-breadcrumb__items {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  max-width: 64rem;
  margin: 0 auto;
  overflow: hidden;
}

.c-breadcrumb__item {
  color: #25b101;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__item {
    font-size: inherit;
  }
}

.c-breadcrumb__item a:hover {
  opacity: 0.5;
}

.c-breadcrumb__item::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  background-color: #333;
  -webkit-mask-image: url("../img/common/icon-arrow-v-shape.svg");
          mask-image: url("../img/common/icon-arrow-v-shape.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transform: rotate(-90deg);
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__item::before {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}

.c-breadcrumb__item:first-child::before {
  display: none;
}

.c-breadcrumb__item:last-child {
  color: #1b160d;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.c-list-marker-disk-ul li {
  position: relative;
  list-style: none;
  padding-left: 1.75rem;
}

.c-list-marker-disk-ul li::before {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background-color: #948d81;
  left: 0.375rem;
  top: 50%;
  transform: translateY(-50%);
}

.c-back-to-top {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.25rem;
  background-color: #534d43;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  opacity: 0.4;
  visibility: hidden;
}
@media screen and (min-width: 576px) {
  .c-back-to-top {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}

.c-back-to-top__arrow {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s ease;
  transform: rotate(270deg);
  background-color: #fff;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.c-back-to-top:hover {
  opacity: 1;
}

.c-back-to-top:hover .c-back-to-top__arrow {
  transform: rotate(270deg) translateX(0.125rem);
}

.c-back-to-top.is-visible {
  visibility: visible;
}

/* アクセシビリティのためのスタイル */
@media (prefers-reduced-motion: reduce) {
  .c-back-to-top,
  .c-back-to-top__arrow {
    transition: none;
  }
}
.c-arrow {
  display: inline-block;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
}

.c-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 62.5%;
  height: 62.5%;
  -webkit-mask-image: url(../../_assets/img/common/icon-arrow.svg);
          mask-image: url(../../_assets/img/common/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #25b101;
}

.c-arrow.--framed {
  background-color: #25b101;
  border-radius: 0.25rem;
}

.c-arrow.--framed.--secondary-color {
  background-color: #05a5d2;
}

.c-arrow.--framed.--secondary-color-orange {
  background-color: #f8974d;
}

.c-arrow.--framed::before {
  background-color: #fff;
}

.c-arrow.--small {
  width: 1.5rem;
  height: 1.5rem;
}

.c-arrow.--small::before {
  width: 0.875rem;
  height: 0.875rem;
}

.c-arrow.--large {
  width: 3rem;
  height: 3rem;
}

.c-arrow.--large::before {
  width: 2rem;
  height: 2rem;
}

.c-info-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.c-info-table th,
.c-info-table td {
  padding-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-right: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  vertical-align: top;
  text-align: left;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.6;
}

.c-info-table th:first-child,
.c-info-table td:first-child {
  padding-left: 0;
  padding-right: 0;
}

.c-info-table th:last-child,
.c-info-table td:last-child {
  padding-right: 0;
}

.c-info-table th:not(:first-child),
.c-info-table td:not(:first-child) {
  padding-left: 1rem;
}
@media screen and (min-width: 768px) {
  .c-info-table th:not(:first-child),
  .c-info-table td:not(:first-child) {
    padding-left: 1.25rem;
  }
}

.c-info-table th {
  background-color: #fff;
  font-weight: 700;
  color: #1b160d;
}

.c-info-table td {
  background-color: #fff;
}

.c-info-table.--definition th {
  width: clamp(5rem, 1.5384375rem + 9.615vw, 7.5rem);
  background-color: #fff;
  color: #1b160d;
}

.c-info-table.--timeline th {
  width: 10rem;
  background-color: #fff;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-info-table.--timeline th {
    width: 11.25rem;
  }
}

.c-info-table.--timeline td {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
}

.c-info-table.--stats th {
  background-color: #f2faef;
  color: #1b160d;
  text-align: center;
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  padding: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem) clamp(0.25rem, -0.096125rem + 0.962vw, 0.5rem);
}

.c-info-table.--stats td {
  text-align: center;
  font-feature-settings: "tnum";
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  padding: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem) clamp(0.25rem, -0.096125rem + 0.962vw, 0.5rem);
}

.c-info-table.--stats th:first-child,
.c-info-table.--stats td:first-child {
  text-align: left;
  font-weight: 500;
}

.c-info-table.--members th {
  width: 7.5rem;
  color: #1b160d;
}
@media screen and (min-width: 768px) {
  .c-info-table.--members th {
    width: 8.75rem;
  }
}

.c-info-table.--members td {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.6;
}

@media screen and (max-width: 576px) {
  .c-info-table.--stats {
    font-size: 0.6875rem;
  }
}

@media screen and (max-width: 576px) {
  .c-info-table.--stats th,
  .c-info-table.--stats td {
    padding: 0.375rem 0.1875rem;
  }
}

@media screen and (max-width: 576px) {
  .c-info-table.--timeline th,
  .c-info-table.--members th {
    width: 6.25rem;
  }
}

.c-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: list-counter;
}

.c-list ol,
.c-list ul {
  counter-reset: list-counter;
  margin-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-left: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.c-list > li {
  position: relative;
  margin-bottom: clamp(1.5rem, 0.4615625rem + 2.885vw, 2.25rem);
  counter-increment: list-counter;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  font-weight: 500;
  color: #1b160d;
  padding-left: clamp(1.5rem, 1.153875rem + 0.962vw, 1.75rem);
}

.c-list > li::before {
  content: counter(list-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #1b160d;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.6;
}

.c-list.--circle-number {
  margin-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding: 0;
  list-style: none;
  counter-reset: circle-counter;
}

.c-list.--circle-number ol,
.c-list.--circle-number ul {
  counter-reset: circle-counter;
  margin: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem) 0 0 clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.c-list.--circle-number > li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  counter-increment: circle-counter;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #534d43;
}

.c-list.--circle-number > li::before {
  content: "①";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 500;
  color: #948d81;
  margin-right: 0;
  font-size: 1em;
}

.c-list.--circle-number > li:nth-child(2)::before {
  content: "②";
}

.c-list.--circle-number > li:nth-child(3)::before {
  content: "③";
}

.c-list.--circle-number > li:nth-child(4)::before {
  content: "④";
}

.c-list.--circle-number > li:nth-child(5)::before {
  content: "⑤";
}

.c-list.--bracket-number {
  margin-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding: 0;
  list-style: none;
  counter-reset: bracket-counter;
}

.c-list.--bracket-number ol,
.c-list.--bracket-number ul {
  counter-reset: bracket-counter;
  margin: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem) 0 0 clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.c-list.--bracket-number > li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: clamp(1.75rem, 1.403875rem + 0.962vw, 2rem);
  counter-increment: bracket-counter;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #534d43;
}

.c-list.--bracket-number > li::before {
  content: "(" counter(bracket-counter) ")";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 500;
  color: #948d81;
  margin-right: 0;
  font-size: 1em;
}

.p-header {
  transition: transform 0.2s ease;
}

.p-header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.p-header.is-hidden {
  transform: translateY(-100%);
}

body.is-drawer-opened .p-header.is-hidden {
  transform: none;
}

.p-header__wrapper {
  display: block;
  width: 100%;
}
@media (max-width: 991px) {
  .p-header__wrapper {
    display: flex;
    flex-direction: column;
  }
}

.p-header__upper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 3.75rem;
  padding: 0 0.625rem;
}
@media screen and (min-width: 992px) {
  .p-header__upper {
    padding: 0.625rem 3.375rem 0.625rem 0.625rem;
    height: 3.5rem;
  }
}

.p-header__upper-left {
  margin-right: 1.6666666667vw;
  margin-left: 0.6944444444vw;
}
@media (max-width: 991px) {
  .p-header__upper-left {
    margin: 0;
    flex: 1;
  }
}

.p-header__upper-right {
  display: flex;
  align-items: center;
  gap: 0;
  margin-right: 3.75rem;
}

.p-header__globe-link,
.p-header__search-button-sp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: none;
  border: none;
  cursor: pointer;
}

.p-header__globe-link img,
.p-header__search-button-sp img {
  width: 1.5rem;
  height: 1.5rem;
}

.p-header__upper-list {
  display: none;
}
@media screen and (min-width: 992px) {
  .p-header__upper-list {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    justify-content: flex-end;
  }
}

.p-header__upper-list .p-header__link {
  padding: 0.625rem;
  border: 1px solid #9d9993;
  color: #534d43;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}

.p-header__upper-item {
  display: flex;
  align-items: center;
}

.p-header__link {
  color: #1b160d;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  padding: 0.25rem 0;
}

.p-header__lang {
  display: flex;
  align-items: center;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

.p-header__lang-left,
.p-header__lang-right {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 1.5rem;
  color: #25b101;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.p-header__lang.--drawer {
  justify-content: center;
}

.p-header__lang.--drawer .p-header__lang-left,
.p-header__lang.--drawer .p-header__lang-right {
  width: 5.125rem;
  height: 2.5rem;
  font-size: 0.9375rem;
}

.p-header__lang-left {
  padding-right: 0.625rem;
}

.p-header__lang-left:after {
  content: "/";
  display: block;
  width: 0.0625rem;
  height: 1rem;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #d3cec5;
  padding-left: 0.625rem;
}

.p-header__lang-right {
  color: #d3cec5;
}

a.p-header__lang-left,
a.p-header__lang-right {
  color: #948d81;
  background-color: transparent;
}

@media (hover: hover) {
  a.p-header__lang-left:hover,
  a.p-header__lang-right:hover {
    color: #25b101;
    opacity: 1;
  }
}
.p-header__logo-link {
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 992px) {
  .p-header__logo-link {
    margin-right: auto;
  }
}

.p-header__logo-link img {
  width: 3.75rem;
  max-width: 50vw;
}
@media screen and (min-width: 992px) {
  .p-header__logo-link img {
    width: 5.625rem;
  }
}

.p-header__logo-link-text {
  font-size: 0.75rem;
  color: #948d81;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-header__logo-link-text {
    font-size: 0.875rem;
  }
}

@media (hover: hover) {
  .p-header__logo-link:hover {
    opacity: 0.7;
  }
}
.p-header__nav {
  position: absolute;
  top: 3.75rem;
  left: 0;
  width: 100%;
  height: calc(100vh - 4rem);
  background-color: #fff;
  overflow-y: scroll;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 100;
}
@media screen and (min-width: 992px) {
  .p-header__nav {
    position: static;
    width: auto;
    height: auto;
    background: none;
    margin-left: auto;
    overflow-y: visible;
    transform: none;
  }
}

.p-header__nav.is-opened {
  transform: translateX(0);
}

body.is-drawer-opened {
  overflow: hidden;
}

.p-header__nav-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 1rem;
}
@media screen and (min-width: 992px) {
  .p-header__nav-list {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 1.25vw;
    padding: 0;
  }
}

@media screen and (min-width: 992px) {
  .p-header-en .p-header__nav-list {
    gap: 2.375rem;
  }
}

.p-header__nav-item {
  width: 100%;
}
.p-header__nav-item.menu-item-has-children {
  border-bottom: none;
}
@media screen and (min-width: 992px) {
  .p-header__nav-item {
    width: auto;
    border: none;
  }
}

.p-header__nav-group {
  position: relative;
}
@media screen and (min-width: 992px) {
  .p-header__nav-group {
    padding: 0.5rem 0;
  }
}

.p-header__nav-link-wrapper {
  position: relative;
  display: block;
}

.p-header__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  flex: 1 0 auto;
}
@media screen and (min-width: 992px) {
  .p-header__nav-link {
    padding: 0.25rem 0;
  }
}

.p-header__nav-link:has(~ .p-header__nav-icon-wrapper) {
  padding-right: 1.875rem;
}

.p-header__nav-link,
.p-header__dropdown-link {
  color: #1b160d;
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.current-menu-item > .p-header__nav-link-wrapper > .p-header__nav-link,
.current-menu-item > .p-header__nav-link {
  color: #25b101;
}

.current-menu-item > .p-header__dropdown-link {
  color: #25b101;
}

.current-menu-ancestor > .p-header__nav-link-wrapper > .p-header__nav-link,
.current-menu-ancestor > .p-header__nav-link {
  color: #25b101;
}

.menu-item.is-anchor-link.current-menu-item > .p-header__nav-link-wrapper > .p-header__nav-link,
.menu-item.is-anchor-link.current-menu-item > .p-header__nav-link {
  color: #1b160d;
}

.p-header__nav-icon-wrapper {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}

body.is-drawer-opened .p-header__nav-icon-wrapper {
  padding: 0.75rem 1rem;
  z-index: 1;
}

.p-header__nav-icon {
  position: relative;
  display: block;
  width: 2rem;
  height: 2rem;
  padding: 0.5rem;
  margin-left: 0.3125rem;
  flex-shrink: 0;
  background-color: #1b160d;
  -webkit-mask-image: url(../../_assets/img/common/icon-arrow-v-shape.svg);
          mask-image: url(../../_assets/img/common/icon-arrow-v-shape.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 992px) {
  .p-header__nav-icon {
    width: 1.5rem;
    height: 1.5rem;
    transition: transform 0.3s ease;
  }
}

.p-header__nav-link-wrapper.is-opened .p-header__nav-icon,
.p-header__nav-icon-wrapper.is-opened .p-header__nav-icon {
  transform: rotate(180deg);
}

@media screen and (min-width: 992px) and (hover: hover) {
  .p-header__nav-item:hover .p-header__nav-icon {
    transform: rotate(180deg);
  }
}
.p-header__dropdown {
  display: none;
  padding: 0.5rem 1rem;
  background-color: #f2faef;
}
@media screen and (min-width: 992px) {
  .p-header__dropdown {
    position: absolute;
    top: 100%;
    left: -1.625rem;
    min-width: 12.5rem;
    padding: 1rem;
    border-radius: 0.5rem;
    border: none;
  }
}

.p-header__dropdown-indent {
  padding-left: 1rem;
}

@media screen and (min-width: 992px) and (hover: hover) {
  .p-header__nav-group:hover .p-header__dropdown {
    display: block;
  }
  .p-header__nav-group:hover .p-header__dropdown.--flex {
    display: flex;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
}
.p-header__nav-link-wrapper.is-opened + .js-header__dropdown {
  display: block;
}

.p-header__dropdown-link {
  display: block;
  padding: 0.75rem 1rem;
}

.p-header__menu-button {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  height: 3.75rem;
  background-color: #25b101;
  border: none;
  cursor: pointer;
  z-index: 102;
}
@media screen and (min-width: 992px) {
  .p-header__menu-button {
    display: none;
  }
}

.p-header__menu-line {
  display: block;
  width: 1.375rem;
  height: 0.125rem;
  background-color: #fff;
  transition: transform 0.3s ease;
}
.p-header__menu-line + .p-header__menu-line {
  margin-top: 0.4375rem;
}

.p-header__menu-button.is-opened .p-header__menu-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.p-header__menu-button.is-opened .p-header__menu-line:nth-child(2) {
  opacity: 0;
}
.p-header__menu-button.is-opened .p-header__menu-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.p-header__drawer-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
}

.p-header__drawer-bg.is-opened {
  display: block;
}

@media (max-width: 991px) {
  .p-header__upper {
    order: 2;
  }
}

@media (max-width: 991px) {
  .p-header__lower {
    order: 1;
  }
}
@media screen and (min-width: 992px) {
  .p-header__lower {
    display: block;
    background-color: rgba(255, 255, 255, 0.8);
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
  }
}

.p-header__lower-left {
  padding-right: clamp(0.5rem, -4.26925rem + 7.692vw, 1.5rem);
  border-right: 1px solid #e3e3e3;
}

.p-header__lower-right {
  display: flex;
  gap: 1.6666666667vw;
  align-items: center;
  margin-right: clamp(0.5rem, -9.0384375rem + 15.385vw, 2.5rem);
  padding-left: clamp(0.5rem, -3.0769375rem + 5.769vw, 1.25rem);
}

.p-header__search-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 2.5rem;
  padding: 0.25rem;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-header__search-button:hover {
    opacity: 0.7;
  }
}

.p-header__search-button-sp {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-header__search-button-sp:hover {
    opacity: 0.7;
  }
}

.p-header__search-button span {
  font-family: "BIZ UDGothic", "Montserrat", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  color: #534d43;
  letter-spacing: 0.05em;
  white-space: nowrap;
  margin-right: 0.625rem;
}

.p-header__search-button img,
.p-header__search-button-sp img {
  width: 1.5rem;
  height: 1.5rem;
}

.p-header__search-form {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 200;
}
.p-header__search-form.is-active {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 992px) {
  .p-header__search-form {
    position: fixed;
    top: 3.75rem;
    left: auto;
    right: 2.5rem;
    width: 25rem;
    transform: translateY(-10px);
    border-radius: 0.5rem;
  }
  .p-header__search-form.is-active {
    transform: translateY(0);
  }
}

.p-header__search-form-inner {
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
  gap: 0.75rem;
}
@media screen and (min-width: 992px) {
  .p-header__search-form-inner {
    padding: 1.25rem 1.5rem;
  }
}

.p-header__search-input-wrapper {
  display: flex;
  flex: 1;
  border: 1px solid #d3cec5;
  border-radius: 0.25rem;
  overflow: hidden;
}

.p-header__search-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: none;
  outline: none;
  font-size: 0.875rem;
  background-color: #fff;
}
.p-header__search-input::-moz-placeholder {
  color: #9d9993;
}
.p-header__search-input::placeholder {
  color: #9d9993;
}

.p-header__search-submit {
  padding: 0.75rem 1rem;
  background-color: #25b101;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .p-header__search-submit:hover {
    background-color: #1a7e01;
  }
}

.p-header__search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #9d9993;
  cursor: pointer;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .p-header__search-close:hover {
    color: #1b160d;
  }
}

.p-footer {
  width: 100%;
  padding: 5rem 0 0;
  background-color: #f8f8f8;
}
@media screen and (min-width: 992px) {
  .p-footer {
    padding: 10rem 0 0;
  }
}

.p-footer__inner {
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  max-width: 80rem;
  margin: 0 auto;
}

.p-footer__top {
  display: block;
  gap: 2.5rem;
}
@media screen and (min-width: 992px) {
  .p-footer__top {
    display: flex;
    align-items: flex-start;
    margin-bottom: 7.5rem;
  }
}

@media screen and (min-width: 992px) {
  .p-footer__left {
    width: 20rem;
    flex-shrink: 0;
    margin-right: clamp(0rem, -23.846125rem + 38.462vw, 5rem);
  }
}

.p-footer__logo {
  margin: 0 auto 2rem;
}
@media screen and (min-width: 992px) {
  .p-footer__logo {
    margin: 0 0 2rem;
  }
}

.p-footer__logo-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: #1b160d;
}
.p-footer__logo-link img {
  width: 9rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-footer__logo-link img {
    width: 7.75rem;
  }
}

.p-footer__logo-link-text {
  font-size: 1.125rem;
  font-weight: bold;
  color: #9d9993;
  line-height: 1.2;
}
@media screen and (min-width: 992px) {
  .p-footer__logo-link-text {
    font-size: 1.25rem;
  }
}

.p-footer__buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-footer__button-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background-color: #fff;
  border: 0.125rem solid #25b101;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: all 0.3s ease;
}
.p-footer__button-item:hover {
  background-color: #25b101;
}
.p-footer__button-item:hover .p-footer__button-text {
  color: #fff;
}
.p-footer__button-item:hover .c-arrow {
  color: #fff;
}

.p-footer__button-text {
  font-size: 1rem;
  font-weight: bold;
  color: #1b160d;
  transition: color 0.3s ease;
}

.p-footer__nav.c-grid.--col-3 {
  grid-template-columns: 1fr;
  gap: 2.5rem 1.25rem;
}
@media screen and (min-width: 576px) {
  .p-footer__nav.c-grid.--col-3 {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 992px) {
  .p-footer__nav.c-grid.--col-3 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0rem 2.5rem;
    margin-top: 5rem;
  }
}

.p-footer__nav {
  width: 100%;
  margin-top: 3rem;
  display: none;
}
@media screen and (min-width: 992px) {
  .p-footer__nav {
    display: grid;
    margin-top: 0;
    flex: 1;
  }
}

.p-footer__sp-nav {
  margin-top: 2.5rem;
}
@media screen and (min-width: 992px) {
  .p-footer__sp-nav {
    display: none;
  }
}

.p-footer__sp-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-footer__sp-nav-link {
  display: block;
  padding: 0.625rem 0;
  font-size: 1rem;
  color: #1b160d;
  text-decoration: none;
}
.p-footer__sp-nav-link:hover {
  opacity: 0.7;
}

.p-footer__sp-nav-link.--small {
  font-size: 0.8125rem;
}

.p-footer__menu-title {
  display: block;
  border-top: 0.0625rem solid #948d81;
  margin-bottom: 1rem;
}
@media screen and (min-width: 576px) {
  .p-footer__menu-title {
    border: none;
    margin-bottom: 1.25rem;
  }
}
.p-footer__menu-title.c-text {
  font-size: 1rem !important;
  color: #1b160d !important;
  line-height: 1.2;
}
.p-footer__menu-title--spacer-top {
  margin-top: 2rem;
}

.p-footer__menu-subtitle {
  font-size: 0.8125rem !important;
  color: #534d43 !important;
  margin: 1.25rem 0 0.75rem 0;
  line-height: 1.2;
}

.p-footer__menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-footer__menu-list.c-text {
  line-height: 1.2;
}

.p-footer__menu-item {
  margin: 0;
}

.p-footer__menu-link {
  display: block;
  list-style: none;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 0;
  font-size: 0.8125rem !important;
  color: #534d43 !important;
  text-decoration: none;
}
.p-footer__menu-link:hover {
  color: #1b160d !important;
}

.p-footer__others {
  margin-top: 2rem;
  list-style: none;
  padding: 0;
}
@media screen and (min-width: 992px) {
  .p-footer__others {
    margin-top: 2.5rem;
  }
}

.p-footer__others-item {
  margin-bottom: 0.5rem;
}
.p-footer__others-item:last-child {
  margin-bottom: 0;
}

.p-footer__others-link {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #1b160d;
  text-decoration: none;
  padding: 0.125rem 0;
}
.p-footer__others-link:hover {
  color: #1b160d !important;
}

.p-footer__sp-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 0;
}
@media screen and (min-width: 992px) {
  .p-footer__sp-bottom {
    display: none;
  }
}

.p-footer__sp-logo {
  width: 9rem;
}

.p-footer__sns {
  display: flex;
  gap: 1.25rem;
}

.p-footer__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: #948d81;
  text-decoration: none;
}
.p-footer__sns-link:hover {
  color: #1b160d;
}
.p-footer__sns-link svg {
  width: 1.25rem;
  height: 1.25rem;
}

.p-footer__bottom {
  background-color: #fff;
  padding: 2rem 0.75rem;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 576px) {
  .p-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .p-footer__bottom {
    padding: 2rem 5rem;
  }
}

.p-footer__policy-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 576px) {
  .p-footer__policy-list {
    justify-content: flex-start;
  }
}

.p-footer__policy-link {
  font-size: 0.8125rem !important;
  color: #1b160d !important;
  text-decoration: none;
}
.p-footer__policy-link:hover {
  opacity: 0.7;
}

.p-footer__copyright {
  text-align: center;
  color: #1b160d;
  font-size: 0.8125rem !important;
}
@media screen and (min-width: 576px) {
  .p-footer__copyright {
    text-align: left;
  }
}
.p-footer__copyright small {
  font-size: inherit;
}

.p-mv {
  width: 100%;
  height: calc(100vh - 4rem);
}
@media screen and (min-width: 768px) {
  .p-mv {
    height: calc(100vh - 8.75rem);
  }
}
@media screen and (min-width: 992px) {
  .p-mv {
    max-height: 67.5rem;
  }
}

.p-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 390/693;
}
@media screen and (min-width: 992px) {
  .p-mv__inner {
    aspect-ratio: 16/9;
  }
}

.p-mv__video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* メインビジュアル下情報セクション */
.p-mv-info {
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 10;
  margin-top: -2rem;
}
@media screen and (min-width: 768px) {
  .p-mv-info {
    position: absolute;
    margin-top: -2.8125rem;
  }
}

@media (max-width: 767px) {
  .p-mv-info .l-container {
    padding: 0;
  }
}
.p-mv-info__flex {
  display: flex;
  flex-direction: column;
  max-width: 60rem;
  width: 100%;
  margin: 0 auto;
  border-top: 3px solid #25b101;
  border-bottom: 3px solid #25b101;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-mv-info__flex {
    border: 3px solid #25b101;
    border-radius: 0.75rem;
    flex-direction: row;
    gap: 0;
  }
}

.p-mv-info__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #1b160d;
  text-decoration: none;
  padding: 20px 24px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  position: relative;
  min-height: 70px;
}
@media screen and (min-width: 768px) {
  .p-mv-info__item {
    width: 33.3333333333%;
    padding: 1.75rem 0;
    min-height: 5rem;
  }
}

.p-mv-info__item:not(:last-child) {
  border-bottom: 1px solid #7fde7a;
}
@media screen and (min-width: 768px) {
  .p-mv-info__item:not(:last-child) {
    border-right: 1px solid #7fde7a;
    border-bottom: none;
  }
}

.p-mv-info__text {
  font-size: 0.9375rem;
  line-height: 1.4;
  margin-right: 1rem;
  width: 10.125rem;
}
@media screen and (min-width: 768px) {
  .p-mv-info__text {
    font-size: 1.25rem;
    width: auto;
    margin-right: 0.5rem;
  }
}

.p-top-initiatives {
  background-color: #fff;
}
@media screen and (min-width: 576px) {
  .p-top-initiatives {
    background-color: #f8f8f8;
  }
}

.p-top-initiatives .l-section {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-initiatives .l-section {
    padding-top: 9.5rem;
  }
}

.p-top-initiatives__tab {
  padding: 5rem 0 2rem;
  background-color: #fff;
}

.p-top-initiatives__tab-content {
  width: 100%;
}

.p-top-initiatives__tab-content .c-tab__panels {
  padding-top: clamp(0rem, -2.0769375rem + 5.769vw, 1.5rem);
}

.p-top-initiatives__tab-content .c-tab__panel {
  padding: clamp(0rem, -2.0769375rem + 5.769vw, 1.5rem);
}

.p-top-initiatives__tab .c-tab__list {
  display: flex;
  gap: clamp(0.25rem, -5.98075rem + 17.308vw, 4.75rem);
  justify-content: center;
  margin-bottom: 2.5rem;
}

.p-top-initiatives__tab .c-tab__button {
  position: relative;
  font-size: clamp(0.9375rem, 0.5048125rem + 1.202vw, 1.25rem);
  font-weight: 700;
  width: auto;
  padding: clamp(0.625rem, -0.0673125rem + 1.923vw, 1.125rem) clamp(0.625rem, -0.9326875rem + 4.327vw, 1.75rem);
  border: none;
  border-radius: 0.75rem;
  transition: all 0.3s ease;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab1]:not(.is-active) {
  background-color: #f2faef;
  color: #7fde7a;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab1].is-active {
  background-color: #25b101;
  color: #fff;
  z-index: 1;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab2]:not(.is-active) {
  background-color: #e4f1f8;
  color: #abd4eb;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab2].is-active {
  background-color: #05a5d2;
  color: #fff;
  z-index: 1;
}

.p-top-initiatives__tab .c-tab__button.is-active::after {
  content: "";
  position: absolute;
  bottom: -1.09375rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 0.625rem solid transparent;
  border-right: 0.625rem solid transparent;
  z-index: 2;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab1].is-active::after {
  border-top: 1.125rem solid #25b101;
}

.p-top-initiatives__tab .c-tab__button[data-tab=tab2].is-active::after {
  border-top: 1.125rem solid #05a5d2;
}

.p-top-initiatives__cards.c-grid.--col-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: clamp(0.625rem, 0.10575rem + 1.442vw, 1rem);
       column-gap: clamp(0.625rem, 0.10575rem + 1.442vw, 1rem);
  margin-top: 1.875rem;
}
@media screen and (min-width: 576px) {
  .p-top-initiatives__cards.c-grid.--col-2 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1.875rem;
    margin-top: 2rem;
  }
}

.p-top-initiatives__card.c-card {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: clamp(0rem, -2.0769375rem + 5.769vw, 1.5rem);
  display: flex;
  align-items: center;
  text-align: center;
  min-height: 8.75rem;
}

.p-top-initiatives__card .c-card__title {
  color: #25b101;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(0.9375rem, 0.158625rem + 2.163vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.p-top-initiatives__card .c-card__body {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 576px) {
  .p-top-initiatives__card .c-card__body {
    flex-direction: row;
    justify-content: flex-end;
    width: auto;
  }
}

.p-top-initiatives__card .c-card__body .c-text {
  font-size: clamp(0.875rem, 0.35575rem + 1.442vw, 1.25rem);
  font-weight: 700;
  text-align: left;
}

.p-top-initiatives__card .c-card__image {
  width: 5rem;
  height: 5rem;
  flex-shrink: 0;
  margin-bottom: 1.5rem;
}

.p-top-initiatives__card .c-arrow.--framed {
  flex-shrink: 0;
  align-self: flex-end;
  margin-left: 1rem;
}

.p-top-initiatives__card.--secondary .c-card__title {
  color: #05a5d2;
}

.p-top-initiatives__card.--secondary .c-arrow.--framed {
  border-color: #05a5d2;
}

.p-top-initiatives__card.--secondary .c-arrow.--framed::after {
  border-left-color: #05a5d2;
}

.p-top-initiatives__sdgs {
  background-color: #fff;
  overflow: hidden;
}

@media (max-width: 767px) {
  .p-top-initiatives__sdgs .l-container {
    padding: 0;
  }
}

.p-top-initiatives__sdgs-bg-wrapper {
  max-width: 100%;
  overflow: hidden;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-top-initiatives__sdgs-bg-wrapper {
    max-width: 55.625rem;
    border-radius: 0.75rem;
  }
}

.p-top-initiatives__sdgs-bg {
  position: relative;
  display: block;
  background-image: url("../../_assets/img/top/top-sdgs-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 0.5rem 0.5rem 0.5rem 2.5rem;
}

.p-top-initiatives__sdgs-bg .c-icon-label {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.p-top-initiatives__sdgs-bg .c-icon-label__icon {
  width: clamp(4.375rem, -1.85575rem + 17.308vw, 8.875rem);
  height: clamp(4.375rem, -1.85575rem + 17.308vw, 8.875rem);
}

.p-top-initiatives__sdgs-bg .c-icon-label__text {
  font-size: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.19em;
}

.p-top-initiatives__sdgs-bg .c-arrow.--framed {
  position: absolute;
  width: clamp(2.5rem, -2rem + 12.5vw, 5.75rem);
  height: clamp(2.5rem, -2rem + 12.5vw, 5.75rem);
  bottom: 0;
  right: 0;
  border-radius: 0;
  border-top-left-radius: clamp(0.3125rem, 0.052875rem + 0.721vw, 0.5rem);
}

.p-top-initiatives__sdgs-decoration-text {
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-initiatives__sdgs-decoration-text {
    margin-top: 0;
  }
}

.p-top-initiatives__sdgs-decoration-text span {
  display: block;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 10.3vw;
  font-weight: 500;
  color: #f2faef;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 0.8;
}
@media screen and (min-width: 768px) {
  .p-top-initiatives__sdgs-decoration-text span {
    transform: translateY(17%);
  }
}

.p-top-initiatives .p-section-button-wrapper {
  padding: 4.5rem 0;
  text-align: center;
}

.p-top-about {
  position: relative;
  overflow: hidden;
}

.p-top-about__bg {
  background-image: url("../../_assets/img/top/sky-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: clamp(3.75rem, -0.5769375rem + 12.019vw, 6.875rem) 0;
  color: #fff;
}

.p-top-section__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 1.740375rem + 0.721vw, 2.1875rem);
}
@media screen and (min-width: 576px) {
  .p-top-section__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}

.p-top-section__title-area {
  flex: 1;
}

.p-top-about__button-area,
.p-top-news__button-area {
  flex-shrink: 0;
  margin-left: 0;
  align-self: flex-start;
}
@media screen and (min-width: 768px) {
  .p-top-about__button-area,
  .p-top-news__button-area {
    margin-left: 2rem;
    align-self: auto;
  }
}

.p-top-about__button-area.u-hidden-md,
.p-top-news__button-area.u-hidden-md {
  margin-top: 2.5rem;
  text-align: center;
}

.p-top-about__main-button {
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(21px);
          backdrop-filter: blur(21px);
}

.p-top-about__main-button.c-button.--arrow-square > span {
  flex: 1;
  color: #fff;
  font-weight: 700;
  border-right: 1px solid #d3cec5;
}

.p-top-about__description {
  margin-bottom: clamp(2.5rem, 1.2884375rem + 3.365vw, 3.375rem);
}

.p-top-about__description .c-text {
  color: #fff;
  line-height: 1.8;
}

.p-top-about__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 576px) {
  .p-top-about__content {
    flex-direction: row;
    gap: clamp(1.5rem, -1.7884375rem + 9.135vw, 3.875rem);
    align-items: flex-start;
  }
}

.p-top-about__overview-card {
  width: 100%;
  flex: 1;
}
@media screen and (min-width: 576px) {
  .p-top-about__overview-card {
    max-width: 30rem;
  }
}

.p-top-about__overview.c-card {
  background-color: #fff;
  border-radius: 0.75rem;
  width: 100%;
  padding: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.p-top-about__overview.c-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.p-top-about__overview .c-card__image.c-image-container {
  width: 100%;
  height: auto;
  aspect-ratio: 480/300;
  margin-bottom: 0;
  overflow: hidden;
}

.p-top-about__overview .c-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-about__overview .c-card__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-top-about__overview .c-card__title {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
  flex: 1;
  padding: 1.5rem 1.5rem;
  border-right: 1px solid #534d43;
  margin: 0;
}
@media screen and (min-width: 576px) {
  .p-top-about__overview .c-card__title {
    padding-top: clamp(0.9375rem, 0.158625rem + 2.163vw, 1.5rem);
    padding-bottom: clamp(0.9375rem, 0.158625rem + 2.163vw, 1.5rem);
  }
}

.p-top-about__overview .c-card__body .c-arrow {
  margin: 0 0.9375rem;
}

.p-top-about__overview .c-card__body .c-arrow:before {
  background-color: #534d43;
}

.p-top-about__index {
  flex: 1;
  width: 100%;
}
@media screen and (min-width: 576px) {
  .p-top-about__index {
    max-width: 32.375rem;
    margin-top: 5.25rem;
  }
}

.p-top-about__index-inner {
  position: relative;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(21px);
          backdrop-filter: blur(21px);
  border-radius: 0.75rem;
  padding: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-bottom: clamp(1.25rem, 1.25rem + 0vw, 1.25rem);
}

.p-top-about__index-title {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #1b160d;
  letter-spacing: 0.08em;
  margin-bottom: 1.5rem;
  background-color: #fff;
  padding: 0.375rem 1.5rem;
  border-radius: 0;
  border-bottom-right-radius: 0.25rem;
  border-top-left-radius: 0.75rem;
}

.p-top-about__nav {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.p-top-about__nav-item.c-button.--arrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.3125rem 1.25rem;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  border-radius: 0;
}

.p-top-about__nav-item.c-button.--arrow:last-child {
  border-bottom: none;
}

.p-top-about__nav-item.c-button.--arrow:hover {
  background-color: rgba(255, 255, 255, 0.1);
  padding-left: 1.5rem;
}

.p-top-about__nav-item.c-button.--arrow::after {
  content: "→";
  color: #fff;
  font-size: 0.875rem;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.p-top-about__nav-item.c-button.--arrow:hover::after {
  opacity: 1;
  transform: translateX(0.25rem);
}

.p-top-news {
  background-color: #f8f8f8;
}

.p-top-news__header {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__header {
    margin-bottom: 4rem;
  }
}

.p-top-external-link-banners {
  background-color: #f8f8f8;
}

.p-top-external-link-banners__container {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (max-width: 575px) {
  .p-top-external-link-banners__container.l-container {
    padding: 0;
  }
}

.p-top-external-link-banners .c-image-container {
  border-radius: 0 0 0.5rem 0;
  overflow: hidden;
}
@media screen and (min-width: 576px) {
  .p-top-external-link-banners .c-image-container {
    border-radius: 0.5rem;
  }
}

@media (max-width: 575px) {
  .p-top-external-link-banners .p-top-external-link-banners__upper .c-image-container {
    border-radius: 0;
  }
}

.p-top-external-link-banners__lower {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.3125rem;
}
@media screen and (min-width: 576px) {
  .p-top-external-link-banners__lower {
    flex-direction: row;
  }
}

.p-top-external-link-banners__lower .c-card {
  max-width: none;
  width: 100%;
  background-color: transparent;
  box-shadow: none;
}
@media screen and (min-width: 576px) {
  .p-top-external-link-banners__lower .c-card {
    max-width: 21.25rem;
  }
}

@media (max-width: 575px) {
  .p-top-external-link-banners__lower .c-card__image {
    margin-bottom: 0.5rem;
  }
}

.p-top-external-link-banners__card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1b160d;
}
@media (max-width: 575px) {
  .p-top-external-link-banners__card-title {
    padding-left: 1rem;
  }
}

.p-top-statistics {
  background-color: #5c564d;
  color: #fff;
}

.p-top-statistics .l-container {
  max-width: 55rem;
}
@media (max-width: 575px) {
  .p-top-statistics .l-container {
    padding: 0;
  }
}

.p-top-statistics__accordion {
  margin-top: 2.5rem;
}

.p-top-statistics__item {
  border-bottom: 0.0625rem solid #d3cec5;
}

.p-top-statistics__item:first-child {
  border-top: 0.0625rem solid #d3cec5;
}

.p-top-statistics__item:last-child {
  border-bottom: none;
}

.p-top-statistics__trigger {
  background: transparent;
  color: #fff;
  padding: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem) clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: none;
  text-align: left;
  cursor: pointer;
}

.p-top-statistics__trigger:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.p-top-statistics__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem) clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.p-top-statistics__link:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.p-top-statistics__trigger[aria-expanded=true] {
  background-color: rgba(157, 153, 147, 0.5);
}

.p-top-statistics__title {
  font-size: clamp(0.875rem, 0.35575rem + 1.442vw, 1.25rem);
  font-weight: 700;
  flex: 1;
}

.p-top-statistics__external-note {
  display: block;
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  font-weight: 400;
  opacity: 0.7;
}
@media screen and (min-width: 576px) {
  .p-top-statistics__external-note {
    display: inline-block;
    margin-left: 0.5rem;
  }
}

.p-top-statistics__icon {
  width: 2.5rem;
  height: 2.5rem;
  -webkit-mask-image: url("../../_assets/img/common/icon-arrow-v-shape.svg");
          mask-image: url("../../_assets/img/common/icon-arrow-v-shape.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #d3cec5;
  transition: transform 0.3s ease;
}

.p-top-statistics__trigger[aria-expanded=true] .p-top-statistics__icon {
  transform: rotate(180deg);
}

.p-top-statistics__external-icon {
  width: 2.5rem;
  height: 2.5rem;
  -webkit-mask-image: url("../../_assets/img/common/icon-exit.svg");
          mask-image: url("../../_assets/img/common/icon-exit.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #d3cec5;
}

.p-top-statistics__content {
  background-color: rgba(0, 0, 0, 0.1);
}

.p-top-statistics__body {
  padding: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.p-top-statistics__description {
  margin-bottom: 1.5rem;
}

.p-top-statistics__pdf-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 576px) {
  .p-top-statistics__pdf-links {
    gap: 2rem;
  }
}

.p-top-statistics__pdf-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.p-top-statistics__pdf-link:hover {
  color: #25b101;
}

.p-top-statistics__pdf-icon {
  width: 2.5rem;
  height: 2.5rem;
  -webkit-mask-image: url("../../_assets/img/common/icon-pdf.svg");
          mask-image: url("../../_assets/img/common/icon-pdf.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #fff;
  transition: background-color 0.3s ease;
}

.p-top-statistics__pdf-link:hover .p-top-statistics__pdf-icon {
  background-color: #25b101;
}

.p-top-statistics__pdf-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 500;
}

.p-top-statistics__excel-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-top-statistics__excel-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.p-top-statistics__excel-link:hover {
  color: #25b101;
}

.p-top-statistics__excel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #25b101;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  min-width: 3.125rem;
  height: 1.5rem;
  text-align: center;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}

.p-top-statistics__excel-link:hover .p-top-statistics__excel-icon {
  background-color: #fff;
  color: #25b101;
}

.p-top-statistics__excel-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 500;
}

.p-top-handbook {
  background-color: #5c564d;
  color: #fff;
}

.p-top-handbook__content {
  display: flex;
  flex-direction: column-reverse;
  gap: clamp(1.5rem, -0.5769375rem + 5.769vw, 3rem);
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-top-handbook__content {
    flex-direction: row;
    gap: clamp(3rem, -12rem + 31.25vw, 7.375rem);
  }
}

.p-top-handbook__image {
  flex-shrink: 0;
}

.p-top-handbook__image-container.c-image-container {
  border-radius: 0.5rem;
  overflow: hidden;
  max-width: 25.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-handbook__image-container.c-image-container {
    max-width: 25.625rem;
    width: 30vw;
  }
}

.p-top-handbook__text {
  flex: 1;
}

.p-top-handbook__title {
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.p-top-handbook__description {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .p-top-handbook__description {
    margin-bottom: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
  }
}

.p-top-handbook__description .c-text {
  line-height: 1.8;
}

.p-top-handbook__buttons {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
@media screen and (min-width: 576px) {
  .p-top-handbook__buttons {
    flex-direction: row;
    gap: 1.5rem;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .p-top-handbook__buttons {
    justify-content: flex-start;
  }
}

.p-top-handbook__button-wrapper.p-section-button-wrapper.--small {
  width: 100%;
}
@media screen and (min-width: 576px) {
  .p-top-handbook__button-wrapper.p-section-button-wrapper.--small {
    width: auto;
  }
}

.p-top-handbook__button.c-button.--arrow-square {
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border: none;
}
@media screen and (min-width: 576px) {
  .p-top-handbook__button.c-button.--arrow-square {
    width: 15.125rem;
  }
}

.p-top-handbook__button.c-button.--arrow-square:after {
  margin-left: 0.5rem;
}

.p-top-handbook__button.c-button.--arrow-square:hover {
  opacity: 0.7;
}

.p-top-handbook__button.--gray.c-button.--arrow-square {
  background-color: #9d9993;
  color: #1b160d;
}

.p-top-handbook__button.--gray.c-button.--arrow-square > span {
  color: inherit;
  border-right: 1px solid #534d43;
}

.p-top-handbook__button.--primary.c-button.--arrow-square {
  background-color: #25b101;
}

.p-top-handbook__button.--primary.c-button.--arrow-square > span {
  color: #fff;
  border-right: 1px solid #fff;
}

.p-top-handbook__buttons.--sp {
  margin-top: 1.5rem;
}

.p-news-search {
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-news-search__field {
  position: relative;
  max-width: 18.75rem;
}

.p-news-search__select {
  width: 100%;
  padding: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-right: clamp(3rem, 2.3076875rem + 1.923vw, 3.5rem);
  border: 2px solid #25b101;
  border-radius: 0.5rem;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  background-color: #fff;
  color: #1b160d;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.p-news-search__select:focus {
  outline: none;
  border-color: #25b101;
}

.p-news-search__arrow {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #25b101;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-news-search__arrow::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/common/icon-arrow-v-shape.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: brightness(0) invert(1);
}

.p-news-search .screen-reader-text {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.p-news {
  margin: 0 auto;
}

.p-news-lists {
  display: flex;
  flex-direction: column;
  gap: 1.3125rem;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-news-lists {
    gap: 2rem;
  }
}

.p-news-list {
  border-bottom: 1px solid #e3e3e3;
}

.p-news-list:last-child {
  border-bottom: none;
}

.p-news-list-link {
  display: flex;
  flex-direction: column;
  padding: 0 0 1.3125rem 0;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
}
@media screen and (min-width: 768px) {
  .p-news-list-link {
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.p-news-list-link:hover {
  opacity: 0.7;
}

.p-news-list-date {
  color: #534d43;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-news-list-date {
    width: 6.25rem;
  }
}

.p-news-list-title {
  color: #1b160d;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-news-list-title {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
  }
}

.p-news-pagination {
  margin-top: clamp(3rem, 0.403875rem + 7.212vw, 4.875rem);
}

.p-news-page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  list-style: none;
}

.p-news-page-number,
.page-numbers {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}
.p-news-page-number:hover,
.page-numbers:hover {
  opacity: 0.7;
}

.p-news-page-number-current,
.page-numbers.current {
  background-color: #25b101;
  color: #fff;
}
.p-news-page-number-current:hover,
.page-numbers.current:hover {
  opacity: 1;
  background-color: #25b101;
}

.page-numbers.prev,
.page-numbers.next {
  font-size: 0;
  position: relative;
}
.page-numbers.prev::before,
.page-numbers.next::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1b160d;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.page-numbers.prev::before {
  transform: rotate(180deg);
}

.p-news-list-left {
  display: flex;
  gap: 1.625rem;
  width: 14.375rem;
  align-items: center;
}

.p-news-list-tab {
  font-size: 0.875rem;
  padding: 0.125rem 0.5rem;
  background: #f2faef;
  border-radius: 1.25rem;
  width: 7.125rem;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
  color: #2e2e2e;
}
@media screen and (max-width: 768px) {
  .p-news-list-tab {
    font-size: 0.75rem;
  }
}

.p-single {
  background-color: #f2faef;
}

.p-single__background {
  background-color: #f2faef;
  padding-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  padding-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-single__inner {
  max-width: 50rem;
  margin: 0 auto;
}

.p-single__header {
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.p-single__title {
  font-size: clamp(1.75rem, 1.403875rem + 0.962vw, 2rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-single__date {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #534d43;
  display: block;
  margin-bottom: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
}

.p-single__header::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #e3e3e3;
  margin-top: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
}

.p-single__content {
  background-color: #fff;
  padding: clamp(0.9375rem, -1.2259375rem + 6.01vw, 2.5rem);
  border-radius: 0.5rem;
}

.p-single__content h1 {
  font-size: clamp(1.25rem, 0.5576875rem + 1.923vw, 1.75rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-single__content h2 {
  font-size: clamp(1.125rem, 0.9519375rem + 0.481vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
  background-color: #f1f1f1;
  margin-top: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding: 0.625rem 1.25rem;
  border-radius: 0.25rem;
}

.p-single__content h3 {
  font-size: clamp(1rem, 0.8269375rem + 0.481vw, 1.125rem);
  font-weight: 700;
  color: #1b160d;
  margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-single__content h4 {
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  margin-top: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-single__content p {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.8;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-single__content ul,
.p-single__content ol {
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-left: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
}

.p-single__content ul li,
.p-single__content ol li {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.8;
  color: #1b160d;
  margin: 0 0 clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-single__content ul li::marker,
.p-single__content ol li::marker {
  color: #25b101;
}

.p-single__content img {
  max-width: 100%;
  height: auto;
  margin: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem) 0;
  border-radius: 0.5rem;
}

.p-single__content img:has(+ .wp-element-caption),
.p-page-content img:has(+ .wp-element-caption) {
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-single__content .wp-element-caption,
.p-page-content .wp-element-caption {
  font-size: 0.875rem;
  color: #948d81;
  text-align: center;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-single-sdgs-case .p-single__content a[target=_blank]:not(.c-button):not(.p-no-external-link-icon) {
  color: #25b101;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  padding-right: clamp(1.5rem, 1.153875rem + 0.962vw, 1.75rem);
}
.p-single-sdgs-case .p-single__content a[target=_blank]:not(.c-button):not(.p-no-external-link-icon):hover {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.p-single-sdgs-case .p-single__content a[target=_blank]:not(.c-button):not(.p-no-external-link-icon)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(1.5rem, 1.153875rem + 0.962vw, 1.75rem);
  height: clamp(1.5rem, 1.153875rem + 0.962vw, 1.75rem);
  background-color: #25b101;
  -webkit-mask-image: url("../../_assets/img/common/icon-exit.svg");
          mask-image: url("../../_assets/img/common/icon-exit.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.p-single__content .p-no-external-link-icon a[target=_blank],
.p-page-content .p-no-external-link-icon a[target=_blank] {
  padding-right: 0;
}
.p-single__content .p-no-external-link-icon a[target=_blank]::after,
.p-page-content .p-no-external-link-icon a[target=_blank]::after {
  display: none;
}

.p-single__sdgs-icons.wp-block-columns {
  gap: clamp(1rem, -0.384625rem + 3.846vw, 2rem) !important;
  margin: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem) 0;
}
.p-single__sdgs-icons.wp-block-columns img {
  border-radius: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.p-single__sdgs-icons.wp-block-columns div:empty {
  display: none !important;
}

@media (max-width: 767px) {
  .p-single__sdgs-icons.wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important;
  }
}

.p-single__content figure.is-provider-youtube iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.p-single__back {
  padding-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  text-align: center;
  margin-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-single__back.--pb0 {
  padding-bottom: 0;
}

.p-single__back-link {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

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

.p-single__navigation {
  background-color: #f1f1f1;
  padding-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  padding-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-single__nav-links {
  display: flex;
  justify-content: space-between;
  gap: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
}
@media (max-width: 767px) {
  .p-single__nav-links {
    flex-direction: column;
  }
}

.p-single__nav-link {
  flex: 0 1 calc(50% - clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem));
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  background-color: #fff;
  border-radius: 0.5rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
@media (max-width: 767px) {
  .p-single__nav-link {
    flex: 1;
    max-width: 100%;
  }
}

.p-single__nav-link:hover {
  text-decoration: none;
  color: inherit;
  border-color: #25b101;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.08);
}

.p-single__nav-link.--prev {
  justify-content: flex-start;
}

.p-single__nav-link.--next {
  justify-content: flex-end;
}

.p-single__nav-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}

.p-single__nav-label {
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  font-weight: 700;
  color: #25b101;
}

.p-single__nav-title {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
}

.p-single__nav-link .c-arrow {
  width: 2rem;
  height: 2rem;
  background-color: #25b101;
  flex-shrink: 0;
}

.p-single__nav-link .c-arrow::before {
  background-color: #fff;
}

.p-single__nav-link .c-arrow.--left {
  transform: rotate(180deg);
}

.p-single__company-name {
  display: inline-block;
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  color: #25b101;
  background-color: #fff;
  border: 1px solid #25b101;
  border-radius: 0.5rem;
  padding: 0 1rem;
  margin-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-single__category {
  display: block;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #534d43;
}

.p-single__content,
.p-page-content {
  overflow-wrap: break-word;
}

.p-single__content a {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

.p-single__content ul.wp-block-list > li > ul.wp-block-list,
.p-page-content ul.wp-block-list > li > ul.wp-block-list {
  margin-top: 0.75rem;
}

.p-404-head {
  display: flex;
  justify-content: center;
  gap: 0.625rem;
  margin-bottom: 2.5rem;
}

.p-404-icon {
  width: 3.125rem;
  height: 3.125rem;
}

.p-404-head-text {
  margin-bottom: 0;
  color: #948d81;
  font-weight: 400;
}

.p-404-page-back__button {
  margin-top: 2.5rem;
  text-align: center;
}

/* ---------------------------------------------------------
  About
--------------------------------------------------------- */
.p-about {
  background-color: #fff;
  padding: 5rem 0;
}

.p-about__cards {
  display: grid;
  gap: 1.5rem;
  row-gap: 2.5rem;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .p-about__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .p-about__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-basics {
  background-color: #fffbe8;
}

.p-basics__content {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}
@media screen and (min-width: 768px) {
  .p-basics__content {
    flex-direction: row;
    gap: clamp(1rem, -0.2115625rem + 3.365vw, 1.875rem);
  }
}

.p-basics__content + .p-basics__content {
  margin-top: clamp(2.5rem, -2.6923125rem + 14.423vw, 6.25rem);
}

.p-basics__youtube-wrapper {
  flex: 1;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .p-basics__youtube-wrapper {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 65.7894736842%;
  }
}

.p-basics__youtube-content {
  position: relative;
  max-width: 50rem;
  margin: 0 auto;
}

.p-basics__youtube-content-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-basics__youtube-thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../../_assets/img/basics/youtube-thumbnail.webp"), url("../../_assets/img/basics/youtube-thumbnail.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: transform 0.3s ease;
  z-index: 2;
}
.p-basics__youtube-thumbnail:hover {
  transform: scale(1.02);
}

.p-basics__youtube-thumbnail.--video-2 {
  background-image: url("../../_assets/img/laboratory/lab-thumbnail1.webp"), url("../../_assets/img/basics/lab-thumbnail1.png");
}

.p-basics__youtube-thumbnail.--video-3 {
  background-image: url("../../_assets/img/laboratory/lab-thumbnail2.webp"), url("../../_assets/img/basics/lab-thumbnail2.png");
}

.p-basics__youtube-content-inner-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.p-basics__youtube-content-inner-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0.5rem;
}

.p-basics__youtube-content-inner.--playing .p-basics__youtube-thumbnail {
  opacity: 0;
  visibility: hidden;
}
.p-basics__youtube-content-inner.--playing .p-basics__youtube-content-inner-video {
  opacity: 1;
  visibility: visible;
}

.p-basics__text-content-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .p-basics__text-content-wrapper {
    flex: 0 1 auto;
    max-width: 50%;
  }
}

.p-basics__text-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.p-basics__title {
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  margin-top: 0;
}

.p-basics__description {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #534d43;
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  margin-top: 0;
  padding-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  border-top: 2px solid #f8974d;
}

.p-basics__experiment-link {
  background-color: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-basics__experiment-link {
    margin-top: auto;
  }
}

.p-basics__experiment-button {
  display: grid;
  grid-template-columns: 45% minmax(0, 1fr);
  align-items: stretch;
  color: #1b160d;
  text-decoration: none;
  transition: all 0.3s ease;
  min-height: 7.5rem;
}

.p-basics__experiment-button:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
}

.p-basics__experiment-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.p-basics__experiment-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-basics__experiment-content-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-right: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-basics__experiment-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-basics__experiment-label {
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  color: #f8974d;
  font-weight: 700;
}

.p-basics__experiment-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.3;
}

.p-basics__experiment-button .c-arrow {
  flex-shrink: 0;
  align-self: flex-end;
}

.p-board-members {
  font-family: "BIZ UDGothic", "Montserrat", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}
@media screen and (max-width: 576px) {
  .p-board-members {
    display: block;
  }
}

.p-board-members .c-info-table.--members {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 576px) {
  .p-board-members .c-info-table.--members {
    display: block;
    margin-top: 0;
    margin-bottom: 0;
  }
  .p-board-members .c-info-table.--members tbody {
    display: block;
  }
  .p-board-members .c-info-table.--members tr {
    display: block;
    margin-bottom: 1rem;
    margin-top: 1rem;
    border: none;
  }
  .p-board-members .c-info-table.--members tr:has(+ tr th:empty) {
    border-bottom: 1px solid #f0f0f0;
  }
  .p-board-members .c-info-table.--members tr:has(th:empty) {
    border-bottom: 1px solid #f0f0f0;
  }
  .p-board-members .c-info-table.--members tr:has(+ tr th:not(:empty)) th,
  .p-board-members .c-info-table.--members tr:has(+ tr th:not(:empty)) td {
    padding-bottom: 0.5rem !important;
  }
}

.p-board-members .c-info-table.--members th,
.p-board-members .c-info-table.--members td {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  vertical-align: middle;
}
@media screen and (max-width: 576px) {
  .p-board-members .c-info-table.--members th,
  .p-board-members .c-info-table.--members td {
    padding: 0.25rem 0 0.25rem 0.5rem;
  }
}

.p-board-members th:empty {
  background-color: transparent;
  border: none;
}
@media screen and (max-width: 576px) {
  .p-board-members th:empty {
    display: none;
  }
}

.p-board-members tr:not(:first-child):has(th:not(:empty)) {
  border-top: 1px solid #e3e3e3;
}
@media screen and (max-width: 576px) {
  .p-board-members tr:not(:first-child):has(th:not(:empty)) {
    border-top: none;
    margin-top: 2rem;
  }
}

.p-board-members tr:not(:first-child) th:not(:empty) {
  padding-top: 1.875rem;
  border-top: 1px solid #e3e3e3;
}
@media screen and (max-width: 576px) {
  .p-board-members tr:not(:first-child) th:not(:empty) {
    border-top: none;
  }
}

.p-board-members .c-info-table.--members tr:has(th:empty) th,
.p-board-members .c-info-table.--members tr:has(th:empty) td {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.p-board-members .c-info-table.--members tr:has(+ tr th:empty) th,
.p-board-members .c-info-table.--members tr:has(+ tr th:empty) td {
  padding-bottom: 0.625rem;
}

.p-board-members .c-info-table.--members tr:has(+ tr th:not(:empty)) th,
.p-board-members .c-info-table.--members tr:has(+ tr th:not(:empty)) td {
  padding-bottom: 1.875rem;
}

.p-board-members th:not(:empty) {
  font-weight: 700;
  color: #1b160d;
}
@media screen and (max-width: 576px) {
  .p-board-members th:not(:empty) {
    display: block;
    width: 100%;
    text-align: left;
    background-color: #f2faef;
    padding: 0.5rem 0.75rem !important;
    margin-bottom: 0.5rem;
    font-size: clamp(0.8125rem, 0.7259375rem + 0.24vw, 0.875rem);
    font-weight: 600;
    border-radius: 0.25rem;
  }
}

.p-board-members td:first-of-type {
  font-weight: 500;
  color: #1b160d;
  white-space: nowrap;
  padding-right: 0;
}
@media screen and (max-width: 576px) {
  .p-board-members td:first-of-type {
    display: block;
    font-weight: 600;
    color: #1b160d;
    font-size: clamp(0.875rem, 0.7884375rem + 0.24vw, 0.9375rem);
    width: 100%;
  }
}

.p-board-members td:last-of-type {
  color: #534d43;
  line-height: 1.7;
}
@media screen and (max-width: 576px) {
  .p-board-members td:last-of-type {
    display: block;
    font-size: clamp(0.8125rem, 0.7259375rem + 0.24vw, 0.875rem);
    color: #534d43;
    padding-left: 0.75rem;
    width: 100%;
  }
}

.p-boxed-list-section__content {
  margin-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-boxed-list-section__content.--mt0 {
  margin-top: 0;
}
.p-boxed-list-section__content.--mt0 .p-boxed-list-section__box {
  margin-top: 0;
}

.p-boxed-list-section__box {
  background-color: #fff;
  border-radius: 0.75rem;
  padding-top: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
  padding-bottom: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
  padding-left: clamp(1.25rem, 0.384625rem + 2.404vw, 1.875rem);
  padding-right: clamp(1.25rem, 0.384625rem + 2.404vw, 1.875rem);
  margin-top: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
}
@media screen and (min-width: 768px) {
  .p-boxed-list-section__box {
    padding-left: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
    padding-right: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
  }
}

.p-boxed-list-section__catchphrase {
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  color: #1b160d;
}

.p-boxed-list-section__note {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  color: #534d43;
}

.p-boxed-list-section__list {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 0;
}

.p-boxed-list-section__item {
  border-bottom: 1px solid #e3e3e3;
}
.p-boxed-list-section__item:last-child {
  border-bottom: none;
}

.p-boxed-list-section__link {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  text-decoration: none;
  color: #1b160d;
  transition: background-color 0.3s ease;
}
.p-boxed-list-section__link:hover {
  background-color: rgba(37, 177, 1, 0.1);
}

.p-boxed-list-section__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid #25b101;
  color: #25b101;
  border-radius: 50%;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.p-boxed-list-section__text {
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  font-weight: 700;
  flex: 1;
}

.p-boxed-list-section__link .c-arrow {
  flex-shrink: 0;
}

.p-heading-1-en-sub-title {
  display: block;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 0.625rem;
}

.p-horizontal-scroll {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  margin-top: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-left: 0;
  margin-right: 0;
  padding-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}
@media screen and (min-width: 768px) {
  .p-horizontal-scroll {
    margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
    margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  }
}
.p-horizontal-scroll::after {
  position: absolute;
  top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  right: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  z-index: 10;
  padding-top: clamp(0.375rem, 0.2019375rem + 0.481vw, 0.5rem);
  padding-bottom: clamp(0.375rem, 0.2019375rem + 0.481vw, 0.5rem);
  padding-left: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-right: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  border-radius: 62.4375rem;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-horizontal-scroll::after {
    content: "← → スクロールできます";
    opacity: 0.8;
    animation: scroll-hint-show-hide 6s ease-in-out forwards;
  }
}
@media screen and (min-width: 768px) {
  .p-horizontal-scroll::after {
    animation-duration: 3s;
  }
}
.p-horizontal-scroll:hover::after, .p-horizontal-scroll:focus-within::after {
  opacity: 0;
}
.p-horizontal-scroll img {
  min-width: 43.75rem;
  height: auto;
  vertical-align: bottom;
  border-radius: 0.5rem;
}
.p-horizontal-scroll table {
  min-width: 43.75rem;
}
.p-horizontal-scroll.--w1000 img {
  min-width: 62.5rem;
}

.p-width-95vw {
  width: 95vw;
  margin-left: auto;
  margin-right: auto;
}

.p-horizontal-scroll::-webkit-scrollbar {
  height: 0.5rem;
}

.p-horizontal-scroll::-webkit-scrollbar-track {
  background-color: #d3cec5;
  border-radius: 0.25rem;
}

.p-horizontal-scroll::-webkit-scrollbar-thumb {
  background-color: #25b101;
  border-radius: 0.25rem;
}

.p-horizontal-scroll::-webkit-scrollbar-thumb:hover {
  background-color: #7fde7a;
}

.p-section-button-wrapper .c-button.--arrow-square {
  margin: 0 auto;
  border-radius: 0.25rem;
  background-color: #534d43;
  color: #fff;
}

.p-section-button-wrapper .c-button.--arrow-square span {
  flex: 1;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  padding: 1.125rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-section-button-wrapper .c-button.--arrow-square span {
    padding: 1.125rem 2.375rem;
  }
}

.p-section-button-wrapper.--small .c-button.--arrow-square span {
  padding: 0.625rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-section-button-wrapper.--small .c-button.--arrow-square span {
    padding: 0.625rem 1.875rem;
  }
}

.p-section-button-wrapper.--small .c-button.--arrow-square:after {
  margin-left: 0.875rem;
}

.p-card {
  position: relative;
  color: inherit;
  box-shadow: none;
}

.p-card__image {
  position: relative;
  border-radius: 0.75rem;
  aspect-ratio: 340/225;
  overflow: hidden;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

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

.p-card__body.--left {
  text-align: left;
}

.p-card__title {
  font-size: 1rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-left: 0;
  margin-right: 0;
}

.p-card__description {
  font-size: 1rem;
  font-weight: 700;
  margin-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  padding-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  border-top: 2px solid #25b101;
}

.p-card__arrow.c-arrow.--framed {
  position: absolute;
  bottom: 0;
  right: 0;
  border-radius: 0;
  border-top-left-radius: 0.25rem;
  background-color: #25b101;
}

.p-card.--color-secondary-orange .p-card__description {
  border-top-color: #f8974d;
}

.p-card.--color-secondary-orange .p-card__arrow.c-arrow.--framed {
  background-color: #f8974d;
}

.p-card.--color-secondary .p-card__description {
  border-top-color: #05a5d2;
}

.p-card.--color-secondary .p-card__arrow.c-arrow.--framed {
  background-color: #05a5d2;
}

.p-card.--color-black .p-card__description {
  border-top-color: #1b160d;
}

.p-card.--color-black .p-card__arrow.c-arrow.--framed {
  background-color: #1b160d;
}

.p-card.--color-black.--color-gray-border .p-card__description {
  border-top-color: #e3e3e3;
}

.p-card-flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: clamp(1rem, -4.9615625rem + 9.615vw, 2.25rem);
       column-gap: clamp(1rem, -4.9615625rem + 9.615vw, 2.25rem);
  row-gap: 3rem;
}

.p-card-flex-item {
  width: 100%;
  max-width: 25rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-card-flex-item {
    width: 20.625rem;
  }
}

.p-button-section.c-button.--arrow {
  width: 100%;
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-radius: 0.75rem;
  background-color: #25b101;
  color: #fff;
  text-align: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-button-section.c-button.--arrow {
    width: 16.6875rem;
  }
}

.p-button-section.c-button.--arrow::after {
  transform: rotate(90deg);
  background-color: #fff;
  width: 1.75rem;
  height: 1.75rem;
}

.p-button-section.c-button.--arrow.--color-secondary-orange {
  background-color: #f8974d;
}

.p-button-section.c-button.--arrow.--color-secondary {
  background-color: #05a5d2;
}

.p-section-navigation {
  margin-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-section-navigation__buttons {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-section-navigation__buttons {
    flex-direction: row;
    justify-content: center;
    gap: clamp(1.25rem, 0.384625rem + 2.404vw, 1.875rem);
  }
}

.p-background-blue {
  background-color: #e4f1f8;
}

.p-background-green {
  background-color: #f2faef;
}

.p-max-width-300-centered {
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
}

.p-mt0 {
  margin-top: 0 !important;
}

a.p-link-underline,
.p-link-underline a {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

@keyframes scroll-hint-show-hide {
  0% {
    opacity: 0.8;
    transform: scale(1);
  }
  25% {
    opacity: 1;
    transform: scale(1.05);
  }
  50% {
    opacity: 0.8;
    transform: scale(1);
  }
  75% {
    opacity: 1;
    transform: scale(1.05);
  }
  85% {
    opacity: 0.8;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
.p-history {
  margin: 0;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

.p-history .p-history__year-start:not(:first-child) {
  border-top: 1px solid #e3e3e3;
}

.p-history tr:not(.p-history__year-start) th,
.p-history tr:not(.p-history__year-start) td {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-history tr:not(.p-history__year-start) th,
  .p-history tr:not(.p-history__year-start) td {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

.p-history tr:has(+ .p-history__year-start) th,
.p-history tr:has(+ .p-history__year-start) td {
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-history tr:has(+ .p-history__year-start) th,
  .p-history tr:has(+ .p-history__year-start) td {
    padding-bottom: 2.25rem;
  }
}

.p-history .p-history__year-start:not(:first-child) th,
.p-history .p-history__year-start:not(:first-child) td {
  padding-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-history .p-history__year-start:not(:first-child) th,
  .p-history .p-history__year-start:not(:first-child) td {
    padding-top: 2.25rem;
  }
}

.p-history .p-history__year-start th {
  font-weight: 600;
  color: #1b160d;
}

.p-history th:empty {
  background-color: transparent;
}

.p-history td:first-of-type {
  padding-right: 0;
}

@media screen and (min-width: 576px) {
  .p-history td:first-of-type {
    width: 3.75rem;
  }
}

@media screen and (max-width: 576px) {
  .p-history {
    display: block;
  }
  .p-history tbody {
    display: block;
  }
  .p-history tr {
    display: block;
    margin-bottom: 1rem;
    border: none;
  }
  .p-history th:not(:empty) {
    display: block;
    width: 100%;
    text-align: left;
    background-color: #f2faef;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
  }
  .p-history th:empty {
    display: none;
  }
  .p-history td {
    display: inline-block;
    vertical-align: top;
    padding: 0.25rem 0.5rem 0.25rem 0;
    font-size: 0.875rem;
  }
  .p-history td:first-of-type {
    width: 3.75rem;
    flex-shrink: 0;
    padding-right: 0.75rem;
  }
  .p-history td:last-of-type {
    width: calc(100% - 4.5rem);
    padding-left: 0;
  }
}

@media screen and (max-width: 576px) {
  .p-history .p-history__year-start:not(:first-child) {
    border-top: none;
    margin-top: 1.5rem;
  }
  .p-history .p-history__year-start:not(:first-child) th,
  .p-history .p-history__year-start:not(:first-child) td {
    padding-top: 0.25rem;
  }
}

.p-initiatives {
  background-color: #fff;
}

.p-initiatives__section-title {
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  color: #1b160d;
  text-align: center;
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-initiatives__sustainability {
  background-color: #f2faef;
  padding-top: clamp(3.75rem, 2.01925rem + 4.808vw, 5rem);
  padding-bottom: clamp(3.75rem, 2.01925rem + 4.808vw, 5rem);
}

.p-initiatives__sustainability-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}
@media screen and (min-width: 576px) {
  .p-initiatives__sustainability-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-initiatives__sustainability-card {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 1rem;
  position: relative;
  transition: all 0.3s ease;
}

.p-initiatives__sustainability-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.p-initiatives__sustainability-card .c-section-heading-icon-en {
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  border-bottom: 1px solid #d3cec5;
  padding-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  gap: 0.5rem;
}

.p-initiatives__sustainability-card .c-section-heading-icon-en__icon {
  width: clamp(3rem, 1.9615625rem + 2.885vw, 3.75rem);
  height: clamp(3rem, 1.9615625rem + 2.885vw, 3.75rem);
}

.p-initiatives__sustainability-card .c-section-heading-icon-en__en-title {
  font-size: 0.875rem;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  color: #25b101;
  margin-bottom: 0.25rem;
}

.p-initiatives__sustainability-card .c-section-heading-icon-en__title-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: space-between;
}

.p-initiatives__sustainability-card .c-section-heading-icon-en__title {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
  flex: 1;
}

.p-initiatives__sustainability-card .c-text {
  font-size: 0.875rem;
  color: #534d43;
  line-height: 1.6;
  margin-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  margin-bottom: 0;
}

.p-initiatives__sustainability-card .c-arrow.--framed {
  flex-shrink: 0;
}

.p-initiatives__competitiveness {
  background-color: #e4f1f8;
  padding-top: clamp(3.75rem, 2.01925rem + 4.808vw, 5rem);
  padding-bottom: clamp(3.75rem, 2.01925rem + 4.808vw, 5rem);
}

.p-initiatives__competitiveness-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  justify-items: center;
}
@media screen and (min-width: 576px) {
  .p-initiatives__competitiveness-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .p-initiatives__competitiveness-cards {
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
  }
}

.p-initiatives__competitiveness-card {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 11.25rem;
  position: relative;
  transition: all 0.3s ease;
  width: 100%;
}

.p-initiatives__competitiveness-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.p-initiatives__competitiveness-card .c-section-heading-icon-en {
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-initiatives__competitiveness-card .c-section-heading-icon-en__icon {
  width: 5rem;
  height: 5rem;
  background-color: #05a5d2;
}

.p-initiatives__competitiveness-card .c-section-heading-icon-en__en-title {
  font-size: 1.25rem;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  color: #05a5d2;
  margin-bottom: 0.25rem;
}

.p-initiatives__competitiveness-card .c-section-heading-icon-en__title {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
}

.p-initiatives__competitiveness-card .c-text {
  font-size: 0.875rem;
  color: #534d43;
  line-height: 1.6;
  text-align: left;
  margin: 0;
  flex: 1;
}

.p-initiatives__competitiveness-card .c-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.p-initiatives__competitiveness-card .c-arrow.--framed {
  flex-shrink: 0;
  align-self: flex-end;
}

.p-initiatives__qa-link {
  text-align: right;
  padding-top: clamp(0.75rem, -0.2884375rem + 2.885vw, 1.5rem);
  padding-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-initiatives__qa-link .c-button {
  font-size: 1rem;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  color: #1b160d;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-learn .l-spacer__bottom.--16 {
    margin-bottom: 0;
  }
}

.p-learn .c-grid.--auto-fit-lg {
  row-gap: 2.5rem;
}

.p-learn__folder-section {
  position: relative;
  background-color: #fff;
}

.p-learn__folder-section.--1st {
  padding-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-learn__folder-section.--1st {
    padding-top: 3.5rem;
  }
}

.p-learn__folder-wrapper {
  position: relative;
}

.p-learn__folder-content {
  position: relative;
  background-color: #fffbe8;
  padding: 0 0 5.5rem;
  box-shadow: 4px -4px 16px rgba(223, 201, 184, 0.25);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-learn__folder-content {
    padding: 0 0 1.5625rem;
  }
}
.p-learn__folder-content::before {
  content: "";
  position: absolute;
  top: -4.24375rem;
  left: -0.75625rem;
  width: 9.375rem;
  height: 5rem;
  -webkit-mask-image: url("../../_assets/img/learn/tab-shape-sp.svg");
          mask-image: url("../../_assets/img/learn/tab-shape-sp.svg");
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left top;
          mask-position: left top;
  background-color: #fffbe8;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-learn__folder-content::before {
    top: -4.24375rem;
    left: -0.75625rem;
    width: 29.75rem;
    height: 5rem;
    -webkit-mask-image: url("../../_assets/img/learn/tab-shape.svg");
            mask-image: url("../../_assets/img/learn/tab-shape.svg");
  }
}

.p-learn__folder-content.--darker-orange {
  background-color: #fee7c9;
}
.p-learn__folder-content.--darker-orange::before {
  background-color: #fee7c9;
}

.p-learn__folder-content.--no-tab {
  box-shadow: none;
  padding-top: 6.25rem;
}
.p-learn__folder-content.--no-tab::before {
  display: none;
}

.p-learn__folder-content.--no-tab.l-section {
  padding-top: clamp(3rem, -1.5rem + 12.5vw, 6.25rem);
  padding-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-learn__folder-content.--no-tab.l-section.--pt0 {
  padding-top: 0;
}

.p-learn__folder-content.--green {
  background-color: #f2faef;
}
.p-learn__folder-content.--green::before {
  background-color: #f2faef;
}

.p-learn__folder-content.--blue {
  background-color: #e4f1f8;
}
.p-learn__folder-content.--blue::before {
  background-color: #e4f1f8;
}

.p-learn__folder-content .p-heading-1-en-sub-title {
  margin-top: 0;
  padding-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-learn__folder-content .p-heading-1-en-sub-title {
    padding-top: 0;
  }
}
@media (min-width: 1600px) {
  .p-learn__folder-content .p-heading-1-en-sub-title {
    padding-top: 2.5rem;
  }
}

.p-learn__folder-header {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-learn__folder-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
  }
}

.p-learn__folder-header.--lower-page {
  margin-top: 0;
  padding-top: clamp(2.125rem, 0.9134375rem + 3.365vw, 3rem);
}

.p-learn__folder-header.--lower-page-v2 {
  margin-bottom: clamp(2.5rem, -2.6923125rem + 14.423vw, 6.25rem);
}

.p-learn__folder-header-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
@media (min-width: 1095px) {
  .p-learn__folder-header-content {
    flex-direction: row;
    align-items: flex-end;
    -moz-column-gap: 1.125rem;
         column-gap: 1.125rem;
  }
}

@media (min-width: 1095px) {
  .p-learn__folder-header-content.--lower-page {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 1rem;
  }
}

.p-learn__folder-header-content.--lower-page .p-learn__folder-description {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  color: #534d43;
}

.p-learn__folder-header-content.--lower-page.--v2 .p-learn__folder-description {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  color: #1b160d;
}

.p-learn__folder-title {
  flex: 0 0 auto;
  font-size: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-learn__folder-title::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.p-learn__folder-title.--icon-sun::before {
  background-image: url("../../_assets/img/learn/icon-sun.svg");
}
.p-learn__folder-title.--icon-graduated::before {
  background-image: url("../../_assets/img/learn/icon-graduated.svg");
}
.p-learn__folder-title.--icon-search::before {
  background-image: url("../../_assets/img/learn/icon-search-chat.svg");
}

.p-learn__folder-description {
  font-size: clamp(0.875rem, 0.35575rem + 1.442vw, 1.25rem);
  color: #9d9993;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0;
}

.p-learn__folder-header-button {
  flex-shrink: 0;
  align-self: flex-start;
}

.p-learn__cards {
  margin-bottom: 2.5rem;
}

@media (max-width: 1079px) {
  .p-learn__cards.--kids {
    max-width: 34.375rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-learn__cards.--beginners {
  max-width: 34.375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 992px) {
  .p-learn__cards.--beginners {
    max-width: none;
  }
}

.p-learn__cards.--experts {
  max-width: 34.375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-learn__cards.--experts {
    max-width: none;
  }
}

.p-learn__cards-grid.c-grid.--col-3.--kids {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: clamp(0.625rem, -0.0673125rem + 1.923vw, 1.125rem);
  justify-items: center;
}
@media screen and (min-width: 576px) {
  .p-learn__cards-grid.c-grid.--col-3.--kids {
    gap: 1.125rem;
  }
}
@media (min-width: 1080px) {
  .p-learn__cards-grid.c-grid.--col-3.--kids {
    grid-template-columns: 24.5rem 19.875rem 19.875rem;
    grid-template-rows: repeat(2, auto);
    gap: 1.125rem;
    justify-items: start;
  }
}

@media (max-width: 767px) {
  .p-learn__cards-grid.c-grid.--col-4.--beginners {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: clamp(0.625rem, -0.0673125rem + 1.923vw, 1.125rem);
    justify-items: center;
  }
}

.p-learn__cards-flex.--experts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.625rem, -0.0673125rem + 1.923vw, 1.125rem);
  justify-content: left;
}
@media screen and (min-width: 768px) {
  .p-learn__cards-flex.--experts {
    justify-content: center;
  }
}
@media screen and (min-width: 576px) {
  .p-learn__cards-flex.--experts {
    gap: 1.125rem;
  }
}
.p-learn__cards-flex.--experts .p-learn__card {
  flex: 0 0 calc(50% - 0.5625rem);
  max-width: 17.1875rem;
}
@media screen and (min-width: 768px) {
  .p-learn__cards-flex.--experts .p-learn__card {
    flex: 0 0 calc(33.333% - 0.75rem);
    max-width: none;
  }
}

.p-learn__card.c-card {
  width: 100%;
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.p-learn__card.c-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.p-learn__card.c-card.--kids:first-child {
  grid-column: 1/-1;
  grid-row: 1;
}
@media (min-width: 1080px) {
  .p-learn__card.c-card.--kids:first-child {
    grid-column: auto;
    grid-row: span 2;
  }
}
.p-learn__card.c-card.--kids:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
@media (min-width: 1080px) {
  .p-learn__card.c-card.--kids:nth-child(2) {
    grid-column: auto;
    grid-row: auto;
  }
}
.p-learn__card.c-card.--kids:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
@media (min-width: 1080px) {
  .p-learn__card.c-card.--kids:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }
}
.p-learn__card.c-card.--kids:nth-child(4) {
  grid-column: 1;
  grid-row: 3;
}
@media (min-width: 1080px) {
  .p-learn__card.c-card.--kids:nth-child(4) {
    grid-column: auto;
    grid-row: auto;
  }
}
.p-learn__card.c-card.--kids:nth-child(5) {
  grid-column: 2;
  grid-row: 3;
}
@media (min-width: 1080px) {
  .p-learn__card.c-card.--kids:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
  }
}

.p-learn__card-image.c-image-container {
  width: 100%;
  aspect-ratio: 175/134;
  margin: 0;
  overflow: hidden;
}
.p-learn__card-image.c-image-container img {
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-learn__card-image.c-image-container {
    aspect-ratio: 318/124;
  }
}

.p-learn__card-image.c-image-container.--auto-height {
  aspect-ratio: unset;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-learn__card-image.c-image-container.--aspect-ratio-pc_330_185 {
    aspect-ratio: 330/185;
  }
}

.p-learn__card:hover .p-learn__card-image img {
  transform: scale(1.05);
}

.p-learn__card-body.c-card__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 clamp(0.75rem, -2.8269375rem + 5.769vw, 1.5rem);
  background-color: #f8974d;
}

@media (max-width: 767px) {
  .p-learn__card-body.c-card__body.--experts {
    padding: 0 0 0 0.5rem;
  }
}

.p-learn__card-body.c-card__body.--green {
  background-color: #25b101;
}

.p-learn__card-body.c-card__body.--blue {
  background-color: #05a5d2;
}

.p-learn__card-title {
  display: flex;
  align-items: center;
  font-size: clamp(0.8125rem, -0.08175rem + 1.442vw, 1rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin: 0;
  flex: 1;
  padding-right: 0.75rem;
  height: 2.5rem;
  border-right: 1px solid #fff;
}

@media (max-width: 767px) {
  .p-learn__card-body.c-card__body.--experts .p-learn__card-title {
    padding-right: 0.125rem;
  }
}

.p-learn__card-title.--small {
  font-size: 0.8125rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .p-learn__card-title.--small {
    letter-spacing: -0.05em;
  }
}

.p-learn__card-title-x-small-text {
  font-size: 0.625rem;
  font-weight: 400;
}

.p-learn__card-title.--small {
  font-size: 0.8125rem;
}

.p-learn__card .c-arrow {
  flex-shrink: 0;
}

.p-learn__card .c-arrow:before {
  background-color: #fff;
}

.p-learn__page-number {
  position: absolute;
  top: -2.625rem;
  left: 0.9375rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-learn__page-number {
    position: static;
    text-align: right;
    padding-right: 4rem;
  }
}
.p-learn__page-number span {
  display: block;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: #f8974d;
  line-height: 1;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 768px) {
  .p-learn__page-number span {
    font-size: 6rem;
  }
}

.p-learn__page-number.--green span {
  color: #25b101;
}

.p-learn__page-number.--blue span {
  color: #05a5d2;
}

.p-learn .c-section-heading-icon-en {
  margin-bottom: 0;
}

.p-learn__kids-links-section .p-learn__folder-description {
  color: #534d43;
}

.p-location-access__text p {
  margin-bottom: 0.75rem;
}

.p-location-map iframe {
  width: 100%;
  height: 18.75rem;
  border: 0;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-location-map iframe {
    height: 28.125rem;
  }
}

.p-page-hero {
  position: relative;
  text-align: center;
  padding: 1.25rem 0;
  min-height: 13.0625rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-page-hero {
    min-height: clamp(12.5rem, 12.5rem + 0vw, 12.5rem);
    margin-top: 3.09375rem;
  }
}

.p-page-hero {
  position: relative;
  background-image: url("../img/common/lower-hero-sp.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-hero {
    background-image: url("../img/common/lower-hero.jpg");
    background-position: right center;
  }
}
@media screen and (min-width: 992px) {
  .p-page-hero {
    background-position: center center;
  }
}

@supports (background-image: url("data:image/webp;base64,UklGRjIAAABXRUJQVlA4ICYAAACyAgCdASoCAAEAAQAcJaQAA3AA/v3AgAA=")) {
  .p-page-hero {
    background-image: url("../img/common/lower-hero-sp.webp");
  }
  @media screen and (min-width: 768px) {
    .p-page-hero {
      background-image: url("../img/common/lower-hero.webp");
    }
  }
}
.p-page-hero__breadcrumb {
  text-align: left;
}

.p-page-hero__breadcrumb .c-breadcrumb {
  display: inline-flex;
  width: auto;
  font-size: 0.75rem;
  color: #534d43;
  padding: 0.375rem 0;
  border-radius: 0 62.4375rem 62.4375rem 0;
}

.p-page-hero__breadcrumb .c-breadcrumb__items {
  max-width: none;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.p-page-hero__breadcrumb .c-breadcrumb__item,
.p-page-hero__breadcrumb .c-breadcrumb__item a {
  color: #534d43;
}

.p-page-hero__breadcrumb .c-breadcrumb__item::before {
  background-color: #25b101;
  width: 1.5em;
  height: 1.5em;
}

.p-page-hero__breadcrumb .c-breadcrumb__item a:hover {
  opacity: 0.7;
}

.p-page-hero__title-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.p-page-hero__title-area .c-heading-1 {
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-page-hero__title-area .p-heading-1-en-sub-title {
  display: block;
}

.p-page-content {
  padding: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem) 0;
}

.p-page-content__inner {
  max-width: 50rem;
  margin: 0 auto;
}

.p-page-content__inner h1 {
  font-size: clamp(1.25rem, 0.5576875rem + 1.923vw, 1.75rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-page-content__inner h2 {
  font-size: clamp(1.125rem, 0.9519375rem + 0.481vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
  background-color: #f2faef;
  margin-top: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding: 0.625rem 1.25rem;
  border-radius: 0.25rem;
}

.p-page-content__inner h3 {
  font-size: clamp(1rem, 0.8269375rem + 0.481vw, 1.125rem);
  font-weight: 700;
  color: #1b160d;
  margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-page-content__inner h4 {
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  margin-top: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-page-content__inner p {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.8;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-page-content__inner ul,
.p-page-content__inner ol {
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-left: clamp(1.875rem, 1.35575rem + 1.442vw, 2.25rem);
}

.p-page-content__inner ul li,
.p-page-content__inner ol li {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.8;
  color: #1b160d;
  margin: 0 0 clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}
.p-page-content__inner ul li::marker,
.p-page-content__inner ol li::marker {
  color: #25b101;
  font-weight: 700;
}

.p-page-content__inner img {
  max-width: 100%;
  height: auto;
  margin: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem) 0;
  border-radius: 0.5rem;
}

.c-pagination {
  margin-top: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
  text-align: center;
}

.c-pagination__title {
  font-size: 0.875rem;
  color: #948d81;
  margin: 0 0 0.75rem;
}

.c-pagination__link {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  margin: 0 0.25rem;
  background-color: #fff;
  border: 1px solid #d3cec5;
  color: #05a5d2;
  text-decoration: none;
  border-radius: 0.25rem;
}

.c-pagination__link:hover {
  background-color: #05a5d2;
  color: #fff;
}

.p-nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  max-width: 50rem;
  margin: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem) auto 0;
}
@media screen and (min-width: 768px) {
  .p-nav {
    grid-template-columns: 1fr 1fr;
    gap: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  }
}

.p-nav__prev-container,
.p-nav__next-container {
  background-color: #f2faef;
  border-radius: 0.75rem;
  padding: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
}
.p-nav__prev-container.--hidden,
.p-nav__next-container.--hidden {
  visibility: hidden;
}

.p-nav__link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease;
}
.p-nav__link:hover {
  transform: translateY(-0.125rem);
}

.p-nav__button {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-nav__link.--prev .p-nav__button {
  justify-content: flex-start;
}

.p-nav__link.--next .p-nav__button {
  justify-content: flex-end;
}

.p-nav__label {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #25b101;
}

.p-nav__title-box {
  background-color: #fff;
  border-radius: 0.5rem;
  padding: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-nav__title {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
  display: block;
}

.p-nav__button .c-arrow.--framed {
  width: 2rem;
  height: 2rem;
  background-color: #25b101;
  border-radius: 0.25rem;
  flex-shrink: 0;
}

.p-nav__button .c-arrow.--framed::before {
  background-color: #fff;
}

.p-nav__button .c-arrow.--left {
  transform: rotate(180deg);
}

.p-font-color-primary {
  color: #25b101 !important;
  font-weight: 700;
}

.p-qa-question,
.p-qa-answer {
  position: relative;
  padding-left: 1.5em;
}

.p-qa-answer {
  color: #25b101 !important;
  margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.p-qa-question:before,
.p-qa-answer:before {
  position: absolute;
  left: 0.1em;
  top: 0;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  font-size: inherit;
  color: inherit;
  margin-right: 0.5em;
}

.p-qa-question:before {
  content: "Q.";
}

.p-qa-answer:before {
  content: "A.";
}

.p-box {
  border-radius: 0.5rem;
  padding-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-right: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  margin-top: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  background-color: #f2faef;
}
@media screen and (min-width: 768px) {
  .p-box {
    padding-left: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
    padding-right: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
    margin-top: clamp(1rem, 1rem + 0vw, 1rem);
    margin-bottom: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem);
  }
}
.p-box > *:first-child {
  margin-top: 0;
}
.p-box > *:last-child {
  margin-bottom: 0;
}
.p-box ul,
.p-box ol {
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-left: clamp(2.25rem, 1.5576875rem + 1.923vw, 2.75rem);
}
.p-box ul:last-child,
.p-box ol:last-child {
  margin-bottom: 0;
}
.p-box ul li,
.p-box ol li {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}
.p-box ul li:last-child,
.p-box ol li:last-child {
  margin-bottom: 0;
}

ul.p-box,
ol.p-box {
  padding-left: clamp(2.25rem, 1.5576875rem + 1.923vw, 2.75rem);
}
ul.p-box li,
ol.p-box li {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}
ul.p-box li:last-child,
ol.p-box li:last-child {
  margin-bottom: 0;
}
ul.p-box p,
ol.p-box p {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}
ul.p-box p:last-child,
ol.p-box p:last-child {
  margin-bottom: 0;
}

.p-arrow-down {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
}
@media screen and (min-width: 768px) {
  .p-arrow-down {
    margin-top: clamp(1rem, 1rem + 0vw, 1rem);
    margin-bottom: clamp(1rem, 1rem + 0vw, 1rem);
  }
}

.p-arrow-down__icon {
  width: 0;
  height: 0;
  border-left: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem) solid transparent;
  border-right: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem) solid transparent;
  border-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem) solid #25b101;
}
@media screen and (min-width: 768px) {
  .p-arrow-down__icon {
    border-left-width: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
    border-right-width: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
    border-top-width: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  }
}

.p-table.wp-block-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-table.wp-block-table {
    margin-top: clamp(1.25rem, 0.2115625rem + 2.885vw, 2rem);
    margin-bottom: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
  }
}

.p-table.wp-block-table tr {
  border-bottom: none;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-table.wp-block-table tr {
    display: table-row;
    border-bottom: 1px solid #d3cec5;
  }
  .p-table.wp-block-table tr:last-child {
    border-bottom: none;
  }
}

.p-table.wp-block-table td {
  border: none;
  vertical-align: top;
  padding-top: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-right: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
}
@media screen and (min-width: 768px) {
  .p-table.wp-block-table td {
    padding-left: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
    padding-right: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  }
}
.p-table.wp-block-table td:first-child {
  background-color: #f2faef;
  font-weight: 700;
  width: 100%;
  border-right: none;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .p-table.wp-block-table td:first-child {
    width: 8.75rem;
    border-right: 1px solid #d3cec5;
    border-bottom: none;
    text-align: left;
  }
}
.p-table.wp-block-table td:nth-child(2) {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-table.wp-block-table td:nth-child(2) {
    flex: 1;
  }
}
.p-table.wp-block-table td ul {
  margin-bottom: 0;
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}
.p-table.wp-block-table td ul li {
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}
.p-table.wp-block-table td ul li:last-child {
  margin-bottom: 0;
}
.p-table.wp-block-table td p {
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}
.p-table.wp-block-table td p:last-child {
  margin-bottom: 0;
}

.p-page-content a[href$=".pdf"]:not(.p-no-default-icon),
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon),
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon),
.p-page-content a[href$=".xls"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon),
.p-page-content a[href$=".docx"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon),
.p-page-content a[href$=".doc"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon) {
  position: relative;
  display: inline-flex;
  font-weight: 700;
  align-items: center;
  text-decoration: none;
}
.p-page-content a[href$=".pdf"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".docx"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon):hover,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon):hover {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.p-page-content a[href$=".pdf"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".docx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon)::after {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0.5em;
}

.p-page-content a[href$=".pdf"]:not(.p-no-default-icon),
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon) {
  color: #25b101;
  margin-right: 2.5em;
}
.p-page-content a[href$=".pdf"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon):visited {
  color: #25b101;
}
.p-page-content a[href$=".pdf"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".PDF"]:not(.p-no-default-icon)::after {
  content: "";
  display: inline-block;
  -webkit-mask-image: url("../../_assets/img/common/icon-pdf.svg");
          mask-image: url("../../_assets/img/common/icon-pdf.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: currentColor;
  width: 2em;
  height: 2em;
}

.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon),
.p-page-content a[href$=".xls"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon),
.p-page-content a[href$=".docx"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon),
.p-page-content a[href$=".doc"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon) {
  margin-right: 4.375rem;
}
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".docx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon)::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  min-width: 3.125rem;
  height: 1.5rem;
  text-align: center;
  flex-shrink: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".docx"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon):hover::after {
  background-color: #fff;
  border: 1px solid;
}

.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon),
.p-page-content a[href$=".xls"]:not(.p-no-default-icon),
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon) {
  color: #25b101;
}
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon):visited {
  color: #25b101;
}
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon)::after {
  content: "EXCEL";
  background-color: #25b101;
}
.p-page-content a[href$=".xlsx"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".XLSX"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".xls"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".XLS"]:not(.p-no-default-icon):hover::after {
  color: #25b101;
  border-color: #25b101;
}

.p-page-content a[href$=".docx"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon),
.p-page-content a[href$=".doc"]:not(.p-no-default-icon),
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon) {
  color: #05a5d2;
}
.p-page-content a[href$=".docx"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon):visited,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon):visited {
  color: #05a5d2;
}
.p-page-content a[href$=".docx"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon)::after,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon)::after {
  content: "WORD";
  background-color: #05a5d2;
}
.p-page-content a[href$=".docx"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".DOCX"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".doc"]:not(.p-no-default-icon):hover::after,
.p-page-content a[href$=".DOC"]:not(.p-no-default-icon):hover::after {
  color: #05a5d2;
  border-color: #05a5d2;
}

.p-page-section-heading__sub {
  margin-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-page-content .p-sitemap a {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

.p-page-content .p-fiber-history-notice {
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  color: #9d9993;
}

.p-page-content .p-fiber-history.p-table.wp-block-table td:empty {
  padding: 0;
}

.p-pdf-download-section__content {
  margin-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-pdf-download-section__card {
  display: flex;
  gap: clamp(1.25rem, 0.384625rem + 2.404vw, 1.875rem);
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-pdf-download-section__card {
    gap: clamp(1.875rem, 1.009625rem + 2.404vw, 2.5rem);
  }
}

.p-pdf-download-section__card-image {
  flex-shrink: 0;
  width: clamp(5rem, 1.5384375rem + 9.615vw, 7.5rem);
}
@media screen and (min-width: 768px) {
  .p-pdf-download-section__card-image {
    width: clamp(7.5rem, 4.0384375rem + 9.615vw, 10rem);
  }
}
.p-pdf-download-section__card-image img {
  width: 100%;
  height: auto;
}

.p-pdf-download-section__card-content {
  flex: 1;
}

.p-pdf-download-section__title {
  font-size: clamp(1.25rem, 1.25rem + 0vw, 1.25rem);
  font-weight: 700;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  color: #1b160d;
}

.p-pdf-introduction__header {
  margin-bottom: clamp(2.5rem, -0.9615625rem + 9.615vw, 5rem);
}

.p-pdf-introduction__title {
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
}

.p-pdf-introduction__description {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
}

.p-pdf-introduction__description.--notice {
  color: #534d43;
  margin-top: 1rem;
}

.p-pdf-introduction__notice-badge {
  display: inline-block;
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  font-weight: 700;
  color: #fff;
  background-color: #25b101;
  border-radius: 0.25rem;
  padding: 0.25rem 0.875rem;
  margin-bottom: 1rem;
}

.p-pdf-introduction__notice-text {
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  font-weight: 500;
  color: #534d43;
}

.p-pdf-introduction__content {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}
@media screen and (min-width: 768px) {
  .p-pdf-introduction__content {
    flex-direction: row;
    gap: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  }
}

.p-pdf-introduction__image-area {
  flex: 0 0 auto;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-pdf-introduction__image-area {
    flex: 0 1 35%;
    max-width: 35%;
  }
}

.p-pdf-introduction__image {
  margin-bottom: 1rem;
  border-radius: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.p-pdf-introduction__image.--slight-zoom img {
  transform: scale(1.01);
}

.p-pdf-introduction__download-area {
  text-align: center;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
}
@media screen and (min-width: 768px) {
  .p-pdf-introduction__download-area {
    text-align: left;
  }
}

.p-pdf-introduction__details {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-pdf-introduction__details {
    flex: 0 0 65%;
    max-width: 65%;
  }
}

.p-pdf-introduction__section {
  margin-bottom: clamp(2rem, 1.3076875rem + 1.923vw, 2.5rem);
}
.p-pdf-introduction__section:last-child {
  margin-bottom: 0;
}

.p-pdf-introduction__section-title {
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  border-bottom: 2px solid #f8974d;
}

.p-pdf-introduction__section-title.--border-secondary-color {
  border-bottom: 2px solid #05a5d2;
}

.p-pdf-introduction__section-title.--border-primary-color {
  border-bottom: 2px solid #25b101;
}

.p-pdf-introduction__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-pdf-introduction__list-item {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.6;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  padding-left: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  position: relative;
}
.p-pdf-introduction__list-item:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #f8974d;
  font-weight: 700;
}
.p-pdf-introduction__list-item:last-child {
  margin-bottom: 0;
}

.p-pdf-introduction__list.--bullet-secondary-color .p-pdf-introduction__list-item:before {
  color: #05a5d2;
}

.p-pdf-introduction__list.--bullet-primary-color .p-pdf-introduction__list-item:before {
  color: #25b101;
}

.p-pdf-introduction__synopsis-title {
  font-size: clamp(1.125rem, 0.9519375rem + 0.481vw, 1.25rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-pdf-introduction__synopsis-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.7;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}
.p-pdf-introduction__synopsis-text:last-child {
  margin-bottom: 0;
}

/* ---------------------------------------------------------
  SDGs Cases Page
--------------------------------------------------------- */
.p-sdgs-cases {
  display: flex;
  min-height: 100vh;
}
@media (max-width: 767px) {
  .p-sdgs-cases {
    flex-direction: column;
    min-height: auto;
  }
}

.p-sdgs-cases__layout {
  display: flex;
  width: 100%;
}
@media (max-width: 767px) {
  .p-sdgs-cases__layout {
    flex-direction: column;
  }
}

/* ---------------------------------------------------------
  Sidebar
--------------------------------------------------------- */
.p-sdgs-cases__sidebar {
  flex-shrink: 0;
  width: clamp(17.5rem, 12.3076875rem + 14.423vw, 21.25rem);
  background-color: #f2faef;
  padding: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-top: clamp(0.9375rem, -2.95675rem + 10.817vw, 3.75rem);
  padding-left: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-right: 1rem;
}
@media (max-width: 767px) {
  .p-sdgs-cases__sidebar {
    width: 100%;
    padding: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  }
}
@media screen and (min-width: 768px) {
  .p-sdgs-cases__sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
  }
}

.p-sdgs-cases__sidebar-inner {
  border-radius: 0.5rem;
}

.p-sdgs-cases__sidebar-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  color: #25b101;
}

.p-sdgs-cases__sidebar-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-sdgs-cases__sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem) 0;
  color: #1b160d;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.p-sdgs-cases__sidebar-link:hover {
  opacity: 0.7;
}

.p-sdgs-cases__sidebar-link.is-active .c-arrow.--framed {
  background-color: #25b101;
}

.p-sdgs-cases__sidebar-text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

/* ---------------------------------------------------------
  Main Content
--------------------------------------------------------- */
.p-sdgs-cases__main {
  flex: 1;
  min-width: 0;
  background-color: #fff;
  padding: clamp(0.9375rem, -2.95675rem + 10.817vw, 3.75rem);
}
@media (max-width: 767px) {
  .p-sdgs-cases__main {
    padding: clamp(0.9375rem, -0.533625rem + 4.087vw, 2rem);
  }
}

.p-sdgs-cases__section {
  margin-bottom: clamp(3rem, 0.23075rem + 7.692vw, 5rem);
}

.p-sdgs-cases__section:last-child {
  margin-bottom: 0;
}

.p-sdgs-cases__cards {
  display: grid;
  gap: 2rem;
}
@media (max-width: 767px) {
  .p-sdgs-cases__cards {
    gap: 3rem;
  }
}

/* ---------------------------------------------------------
  Card
--------------------------------------------------------- */
.p-sdgs-cases__card {
  display: flex;
  gap: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding: clamp(0rem, -1.73075rem + 4.808vw, 1.25rem);
  background-color: #fff;
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 767px) {
  .p-sdgs-cases__card {
    flex-direction: column;
    gap: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  }
}

.p-sdgs-cases__card:hover {
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.12);
  text-decoration: none;
  color: inherit;
}

/* アイキャッチ画像（左側） */
.p-sdgs-cases__card-image {
  flex-shrink: 0;
  width: clamp(7.5rem, -0.2884375rem + 21.635vw, 13.125rem);
  max-width: 100%;
}
@media (max-width: 767px) {
  .p-sdgs-cases__card-image {
    width: 100%;
  }
}

.p-sdgs-cases__card-image img {
  width: 100%;
  aspect-ratio: 210/157;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem;
}
@media (max-width: 767px) {
  .p-sdgs-cases__card-image img {
    aspect-ratio: 361/241;
  }
}

/* コンテンツエリア（右側） */
.p-sdgs-cases__card-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* 上段：会社ロゴ + 会社名 */
.p-sdgs-cases__card-company {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  border-bottom: 1px solid #e1e1e1;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-sdgs-cases__card-logo {
  flex-shrink: 0;
}

.p-sdgs-cases__card-logo img {
  width: 3.5rem;
  height: 3.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0.5rem;
  border: 1px solid #e1e1e1;
}

.p-sdgs-cases__card-company-name {
  font-size: clamp(0.8125rem, 0.7259375rem + 0.24vw, 0.875rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
}

/* 下段：記事タイトル + 詳しく見る */
.p-sdgs-cases__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.p-sdgs-cases__card-title {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.4;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  flex: 1;
}

.p-sdgs-cases__card-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
}

.p-sdgs-cases__card-link-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #25b101;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.p-sdgs-cases__card-link-text:hover {
  opacity: 0.7;
}

.p-sdgs-cases__card-link .c-arrow {
  width: 1.5rem;
  height: 1.5rem;
}

.p-sdgs-cases__card-link .c-arrow::before {
  background-color: #25b101;
}

/* ---------------------------------------------------------
  Sidebar Arrow Customization
--------------------------------------------------------- */
.c-arrow.--sidebar-arrow {
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 0.25rem;
  transform: rotate(90deg);
  flex-shrink: 0;
}

.c-arrow.--sidebar-arrow::before {
  background-color: #948d81;
  width: 50%;
  height: 50%;
}

.p-sdgs-cases__sidebar-link.is-active .c-arrow.--sidebar-arrow {
  background-color: #25b101;
}
.p-sdgs-cases__sidebar-link.is-active .c-arrow.--sidebar-arrow::before {
  background-color: #fff;
}

.p-single__content .p-search {
  margin-top: 0;
  margin-bottom: 0;
}

.p-search__header {
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  text-align: center;
}

.p-search__title {
  font-size: clamp(1.25rem, 0.5576875rem + 1.923vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  color: #1b160d;
}
.p-search__title span {
  color: #25b101;
}

.p-search__result-count {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  color: #534d43;
}

.p-search__form {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-search__form-inner {
  display: flex;
  border: 1px solid #d3cec5;
  border-radius: 0.25rem;
  overflow: hidden;
}

.p-search__form-input {
  flex: 1;
  padding-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-left: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  padding-right: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  border: none;
  outline: none;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  background-color: #fff;
}
.p-search__form-input::-moz-placeholder {
  color: #9d9993;
}
.p-search__form-input::placeholder {
  color: #9d9993;
}

.p-search__form-submit {
  padding-top: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-left: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  padding-right: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  background-color: #25b101;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .p-search__form-submit:hover {
    background-color: #1a7e01;
  }
}

.p-search__results {
  margin-bottom: clamp(3rem, 0.23075rem + 7.692vw, 5rem);
}

.p-search__item {
  padding-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  border-bottom: 1px solid #d3cec5;
}
.p-search__item:first-child {
  border-top: 1px solid #d3cec5;
}

.p-search__item-header {
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-search__item-title {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
.p-search__item-title a {
  color: #25b101;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .p-search__item-title a:hover {
    opacity: 0.7;
  }
}

.p-search__item-excerpt {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.6;
  color: #1b160d;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
}

.p-search__item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.75rem;
  color: #9d9993;
}

.p-search__item-date {
  display: inline-block;
}

.p-search__item-category {
  display: inline-block;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  background-color: #d3cec5;
  border-radius: 0.25rem;
}

.p-search .navigation.pagination {
  margin-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
  display: flex;
  justify-content: center;
}

.p-search .nav-links {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.p-search .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0.5rem;
  font-size: 1rem;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}
.p-search .page-numbers.current {
  background-color: #25b101;
  color: #fff;
  border-color: #25b101;
}
@media (hover: hover) {
  .p-search .page-numbers:hover:not(.current) {
    background-color: #d3cec5;
    border-color: #d3cec5;
  }
}

.p-search__no-results {
  text-align: center;
  margin-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  padding: clamp(1.5rem, -0.5769375rem + 5.769vw, 3rem);
  background-color: #d3cec5;
  border-radius: 0.5rem;
}
.p-search__no-results p {
  margin-bottom: 1rem;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.6;
}
.p-search__no-results p:last-child {
  margin-bottom: 0;
}

.p-search__categories {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-search__categories-title {
  font-size: clamp(1.125rem, 0.60575rem + 1.442vw, 1.5rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
}

.p-search__categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.p-search__categories-list li {
  margin-bottom: 0.5rem;
}
.p-search__categories-list a {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: #d3cec5;
  color: #1b160d;
  text-decoration: none;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .p-search__categories-list a:hover {
    background-color: #d3cec5;
  }
}

/* ---------------------------------------------------------
  Sustainability Report Page
--------------------------------------------------------- */
.p-sustainability-report {
  background-color: #fff;
}

.p-sustainability-report__header {
  text-align: center;
  margin-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-sustainability-report__title {
  font-size: clamp(1.75rem, 0.7115625rem + 2.885vw, 2.5rem);
  font-weight: 700;
  color: #1b160d;
  line-height: 1.2;
  margin-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
}

.p-sustainability-report__subtitle {
  font-size: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  font-weight: 500;
  color: #25b101;
  margin-bottom: 0;
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
}

.p-sustainability-report__cards {
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-sustainability-report__cards {
    gap: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  }
}

.p-sustainability-report__card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background-color: #fff;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-sustainability-report__card {
    flex-direction: row;
    align-items: center;
  }
}

.p-sustainability-report__card:hover {
  opacity: 0.7;
}

.p-sustainability-report__card-image.c-image-container {
  border-radius: 0.75rem;
  aspect-ratio: 360/270;
  margin-bottom: 0.75rem;
  flex-shrink: 0;
  overflow: hidden;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-sustainability-report__card-image.c-image-container {
    aspect-ratio: 361/239;
    width: 41.3385826772%;
    margin-bottom: 0;
  }
}

.p-sustainability-report__card-image.c-image-container img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

.p-sustainability-report__card:hover .p-sustainability-report__card-image img {
  transform: scale(1.05);
}

.p-sustainability-report__card-body {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-sustainability-report__card-body {
    flex: 1;
    padding-left: clamp(0.75rem, -0.2884375rem + 2.885vw, 1.5rem);
  }
}

.p-sustainability-report__card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1b160d;
  margin-top: 0;
  margin-bottom: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  margin-left: 0;
  margin-right: 0;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .p-sustainability-report__card-title {
    margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  }
}

.p-sustainability-report__card-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-shrink: 0;
}

.p-sustainability-report__card-link-text {
  font-size: 1rem;
  font-weight: 700;
  color: #25b101;
  letter-spacing: 0.12em;
}

.p-sustainability-report__card .c-arrow::before {
  background-color: #25b101;
}

.p-theater .c-grid {
  row-gap: 5rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}

.p-form__background {
  background-color: #f2faef;
  padding-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  padding-left: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  padding-right: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  border-radius: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  margin-top: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
}
@media screen and (min-width: 768px) {
  .p-form__background {
    padding-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
    padding-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
    padding-left: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
    padding-right: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
    margin-top: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
    margin-bottom: clamp(1.5rem, 0.8076875rem + 1.923vw, 2rem);
  }
}

.p-form__background.--gray {
  background-color: #f8f8f8;
}

.p-form__background.--orange {
  background-color: #fffbe8;
}

.p-form__background.--complete {
  background-color: #f2faef;
  text-align: center;
}

.p-form__description {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-form__background .p-form__description {
  padding-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  border-bottom: 1px solid #d3cec5;
}

.p-form__item {
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}
@media screen and (min-width: 768px) {
  .p-form__item {
    display: flex;
    align-items: flex-start;
    gap: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  }
}

.p-form__label {
  display: block;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 500;
  color: #1b160d;
  margin-bottom: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
}
@media screen and (min-width: 768px) {
  .p-form__label {
    flex-shrink: 0;
    width: clamp(7.5rem, 5.76925rem + 4.808vw, 8.75rem);
    margin-bottom: 0;
    margin-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  }
}

.p-form__required {
  color: #e53e3e;
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  margin-left: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
}

@media screen and (min-width: 768px) {
  .p-form__field-container {
    flex: 1;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-form__field-container.--center {
    text-align: center;
  }
}

.p-form__checkbox {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  color: #1b160d;
}

.p-form__checkbox input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: clamp(1.125rem, 0.9519375rem + 0.481vw, 1.25rem);
  height: clamp(1.125rem, 0.9519375rem + 0.481vw, 1.25rem);
  border: 2px solid #d1d5db;
  border-radius: clamp(0.1875rem, 0.1009375rem + 0.24vw, 0.25rem);
  background-color: #fff;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  margin-top: clamp(0.0625rem, -0.0240625rem + 0.24vw, 0.125rem);
}

.p-form__checkbox input[type=checkbox]:checked {
  background-color: #25b101;
  border-color: #25b101;
}

.p-form__checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(0.625rem, 0.4519375rem + 0.481vw, 0.75rem);
  height: clamp(0.625rem, 0.4519375rem + 0.481vw, 0.75rem);
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.p-form__checkbox input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(37, 177, 1, 0.2);
}

.p-form__checkbox input[type=checkbox]:hover {
  border-color: #25b101;
}

.p-form__checkbox .wpcf7-list-item {
  margin-left: 0;
}

.p-form__checkbox .wpcf7-list-item-label {
  cursor: pointer;
}

.p-form__input {
  width: 100%;
  padding: clamp(0.5rem, 0.3269375rem + 0.481vw, 0.625rem) clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  border: 1px solid #d1d5db;
  border-radius: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.4;
  background-color: #fff;
  transition: border-color 0.15s ease-in-out;
}

.p-form__input:focus {
  outline: none;
  border-color: #25b101;
  box-shadow: 0 0 0 2px rgba(37, 177, 1, 0.2);
}

.p-form__select {
  width: 100%;
  padding-top: clamp(0.5rem, 0.3269375rem + 0.481vw, 0.625rem);
  padding-bottom: clamp(0.5rem, 0.3269375rem + 0.481vw, 0.625rem);
  padding-left: clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  padding-right: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
  border: 1px solid #d1d5db;
  border-radius: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.4;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.15s ease-in-out;
}

.p-form__select:focus {
  outline: none;
  border-color: #25b101;
  box-shadow: 0 0 0 2px rgba(37, 177, 1, 0.2);
}

.p-form__textarea {
  width: 100%;
  min-height: clamp(6.25rem, 4.51925rem + 4.808vw, 7.5rem);
  padding: clamp(0.5rem, 0.3269375rem + 0.481vw, 0.625rem) clamp(0.75rem, 0.403875rem + 0.962vw, 1rem);
  border: 1px solid #d1d5db;
  border-radius: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.4;
  background-color: #fff;
  resize: vertical;
  transition: border-color 0.15s ease-in-out;
}
@media screen and (min-width: 768px) {
  .p-form__textarea {
    min-height: 7.5rem;
  }
}

.p-form__textarea:focus {
  outline: none;
  border-color: #25b101;
  box-shadow: 0 0 0 2px rgba(37, 177, 1, 0.2);
}

.p-form__note {
  font-size: clamp(0.75rem, 0.5769375rem + 0.481vw, 0.875rem);
  color: #948d81;
  margin-top: clamp(0.25rem, 0.0769375rem + 0.481vw, 0.375rem);
}

.p-form__row {
  display: flex;
  gap: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-form__row {
    flex-direction: row;
  }
}

.p-form__col {
  flex: 1;
}

.p-form__input.--short {
  max-width: clamp(12.5rem, 5.5769375rem + 19.231vw, 17.5rem);
}

.p-form__button-container {
  text-align: center;
  margin-top: clamp(1.5rem, 0.115375rem + 3.846vw, 2.5rem);
}

.p-section-button-wrapper {
  display: flex;
  justify-content: center;
  margin-top: clamp(1.5rem, 0.115375rem + 3.846vw, 2.5rem);
}

.p-section-button-wrapper.--small {
  margin-top: clamp(1rem, -0.384625rem + 3.846vw, 2rem);
}

.p-form__submit-wrapper {
  position: relative;
  display: inline-flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form__submit-wrapper {
    width: auto;
  }
}

.p-form__submit-wrapper input[type=submit] {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: clamp(2.875rem, 2.35575rem + 1.442vw, 3.25rem);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 3.125rem;
  border: none;
  border-radius: 0.25rem;
  background-color: #534d43;
  color: #fff;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (min-width: 768px) {
  .p-form__submit-wrapper input[type=submit] {
    width: auto;
    min-width: 15.625rem;
    padding-left: 1.25rem;
    padding-right: 3.75rem;
  }
}

.p-form__submit-wrapper .wpcf7-spinner {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}

.p-form__submit-wrapper::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  right: 3.125rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: #d3cec5;
  z-index: 1;
  pointer-events: none;
}

.p-form__submit-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.875rem;
  width: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  height: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  background-color: #fff;
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

.p-form__submit-wrapper input[type=submit]:hover {
  opacity: 0.7;
}

.p-form__submit-wrapper input[type=submit]:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(37, 177, 1, 0.2);
}

.p-form__notice {
  margin-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-form__notice-title {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-form__notice-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.7;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-form__notice-text:last-child {
  margin-bottom: 0;
}

.p-form__completion-title {
  font-size: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  font-weight: 700;
  color: #1b160d;
  margin-bottom: clamp(1rem, 0.3076875rem + 1.923vw, 1.5rem);
}

.p-form__completion-text {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  line-height: 1.8;
  color: #1b160d;
  margin-bottom: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}

.p-form__confirm-screen .p-form__background {
  background-color: #fffbe8;
}

.p-form__confirm-value {
  padding-top: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  padding-bottom: clamp(0.5rem, 0.153875rem + 0.962vw, 0.75rem);
  line-height: 1.7;
  border-bottom: 1px solid #d3cec5;
}

.p-form__confirm-value.--empty {
  color: #948d81;
  font-style: italic;
}

.p-form__button-group {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
  margin-top: clamp(2rem, 0.615375rem + 3.846vw, 3rem);
}
@media screen and (min-width: 768px) {
  .p-form__button-group {
    flex-direction: row;
    justify-content: center;
  }
}

.p-form__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(2.875rem, 2.35575rem + 1.442vw, 3.25rem);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (min-width: 768px) {
  .p-form__button {
    width: auto;
    min-width: 15.625rem;
  }
}

a.p-form__button,
a.visited.p-form__button {
  color: #fff;
}

.p-form__button {
  background-color: #534d43;
  color: #fff;
  border-color: #534d43;
}
.p-form__button:hover {
  opacity: 0.7;
}

.p-form__button.--secondary {
  background-color: #fff;
  color: #534d43;
  border-color: #534d43;
}
.p-form__button.--secondary:hover {
  background-color: #534d43;
  color: #fff;
}

.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

.p-glossary {
  padding-top: clamp(3.75rem, 2.01925rem + 4.808vw, 5rem);
  padding-bottom: clamp(3.75rem, -1.4423125rem + 14.423vw, 7.5rem);
}

.p-glossary__layout {
  display: grid;
  gap: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}
@media screen and (min-width: 992px) {
  .p-glossary__layout {
    grid-template-columns: 280px 1fr;
  }
}

@media screen and (min-width: 992px) {
  .p-glossary__sidebar {
    position: sticky;
    top: 2.5rem;
    align-self: start;
    height: 90vh;
    overflow-y: auto;
  }
}

.p-glossary__sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: clamp(1.25rem, 0.903875rem + 0.962vw, 1.5rem);
  background-color: #f2faef;
  border-radius: 0.5rem;
}

.p-glossary__sidebar-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #25b101;
}

.p-glossary__sidebar-nav {
  padding: 0.75rem;
  background: #fff;
  border-radius: 0.5rem;
}

.p-glossary__search-form {
  display: flex;
}

.p-glossary__search-input {
  width: 100%;
  border: 1px solid #d3cec5;
  padding: 0.5rem;
  background-color: #fff;
  font-size: 0.875rem;
  border-radius: 0.25rem 0 0 0.25rem;
  -webkit-appearance: none; /* for safari */
}

.p-glossary__search-submit {
  cursor: pointer;
  border: none;
  background-color: #948d81;
  color: #fff;
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0 0.25rem 0.25rem 0;
  -webkit-appearance: none; /* for safari */
}

.p-glossary__sidebar-list.--category {
  display: grid;
  gap: 0;
}

.p-glossary__sidebar-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background-color: #fff;
  border-radius: 0.5rem;
  transition: background-color 0.3s;
}
.p-glossary__sidebar-link .c-arrow {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.p-glossary__sidebar-link.is-active, .p-glossary__sidebar-link:hover {
  background-color: #25b101;
  color: #fff;
}
.p-glossary__sidebar-link.is-active .c-arrow::before, .p-glossary__sidebar-link:hover .c-arrow::before {
  background-color: #fff;
}

.p-glossary__sidebar-list.--syllabary {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.5rem;
}

.p-glossary__syllabary-link {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #d3cec5;
  aspect-ratio: 1/1;
  transition: background-color 0.3s;
  border-radius: 0.25rem;
}
.p-glossary__syllabary-link.is-active, .p-glossary__syllabary-link:hover {
  background-color: #7fde7a;
  color: #fff;
}

.p-glossary__syllabary-link.is-disabled {
  color: #d3cec5;
  background-color: #f0f0f0;
  pointer-events: none;
  cursor: default;
}

.p-glossary__section {
  padding-top: 120px;
  margin-top: -80px;
}
.p-glossary__section:not(:last-child) {
  margin-bottom: clamp(2.5rem, 0.76925rem + 4.808vw, 3.75rem);
}

.p-glossary__section-title {
  font-size: 1.25rem;
  font-weight: 700;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #25b101;
  margin-bottom: 1.5rem;
}

.p-glossary .c-accordion__item {
  border: none;
}

.p-glossary .c-accordion__trigger {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
  width: 100%;
  padding: clamp(1rem, 0.653875rem + 0.962vw, 1.25rem);
}

.p-glossary .c-accordion__title {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 700;
}

.p-glossary__accordion-icon {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  border: 1px solid #25b101;
  border-radius: 0.25rem;
  background-color: #25b101;
}

.p-glossary__accordion-icon::before,
.p-glossary__accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  height: 2px;
  background-color: #fff;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

.p-glossary__accordion-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.p-glossary .c-accordion__item.is-open > .c-accordion__trigger {
  background-color: #fff;
}

.p-glossary .c-accordion__item.is-open .p-glossary__accordion-icon {
  background-color: #fff;
}

.p-glossary .c-accordion__item.is-open .p-glossary__accordion-icon::before,
.p-glossary .c-accordion__item.is-open .p-glossary__accordion-icon::after {
  background-color: #25b101;
}

.p-glossary .c-accordion__item.is-open .p-glossary__accordion-icon::after {
  transform: translate(-50%, -50%) rotate(0);
}

.p-glossary .c-accordion__body {
  padding: 1.5rem;
  background-color: #f2faef;
}

.p-glossary .c-accordion__body p {
  font-size: clamp(0.875rem, 0.7019375rem + 0.481vw, 1rem);
  font-weight: 500;
}

@media screen and (max-width: 991px) {
  .p-glossary__sidebar-title {
    position: relative;
    cursor: pointer;
    padding-right: 1.875rem;
  }
  .p-glossary__sidebar-title::after, .p-glossary__sidebar-title::before {
    content: "";
    position: absolute;
    right: 0.625rem;
    top: 50%;
    width: 1rem;
    height: 2px;
    background-color: #25b101;
    transition: transform 0.3s;
  }
  .p-glossary__sidebar-title::before {
    transform: translateY(-50%) rotate(90deg);
  }
  .p-glossary__sidebar-title::after {
    transform: translateY(-50%) rotate(0);
  }
  .p-glossary__sidebar-content {
    display: none;
    padding-top: 1rem;
  }
  .js-sp-accordion-item.is-open .p-glossary__sidebar-title::before {
    transform: translateY(-50%) rotate(0);
  }
  .js-sp-accordion-item.is-open .p-glossary__sidebar-content {
    display: block;
  }
}
.u-hidden {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .u-hidden-md {
    display: none !important;
  }
}

@media screen and (min-width: 992px) {
  .u-hidden-lg {
    display: none !important;
  }
}

@media not all and (min-width: 768px) {
  .u-hidden-until-md {
    display: none !important;
  }
}

@media not all and (min-width: 992px) {
  .u-hidden-until-lg {
    display: none !important;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-line-break {
  display: inline-block !important;
}

.u-uppercase {
  text-transform: uppercase;
}

.u-font-feature-settings-palt {
  font-feature-settings: "palt";
}

.u-font-en {
  font-family: "Montserrat", "BIZ UDGothic", "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

.js-fade {
  opacity: 0;
  transition: all 1s ease-out;
}

.js-fade.--delay-5 {
  transition: all 1s 0.5s ease-out;
}

.js-fade.--delay-10 {
  transition: all 1s 1s ease-out;
}

.js-fade.--from-top {
  transform: translate(0, -20px);
}

.js-fade.--from-bottom {
  transform: translate(0, 20px);
}

.js-fade.--from-left {
  transform: translate(-20px, 0);
}

.js-fade.--from-right {
  transform: translate(20px, 0);
}

.js-fade.is-active {
  opacity: 1;
  transform: translate(0, 0);
}/*# sourceMappingURL=style.css.map */