@charset "UTF-8";
/**
 * ress v5.0.2
 *
 * Concrete CMS のレイアウト追加 UI で select 要素が表示されないため appearance プロパティをコメントアウト
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

/**
 * 引用符はダブルクォーテーションを推奨する
 * すべての CSS カスタムプロパティは _root.scss で設定する
 * ブレイクポイントを適用した CSS カスタムプロパティには接尾辞 -responsive を付与する
 * ショートハンドで省略したプロパティにはその初期値が設定されることに注意する（意図せず上書きされる場合がある）
 * 接頭辞が以下のクラスセレクターはバリエーション識別子につき単体では使用しない（他のクラスセレクターと組み合わせて使用する）
 * A. mod-
 *
 * 可読性、検索性が低下するため以下を除きネストは推奨しない
 * A. 疑似要素
 * B. 疑似クラス
 * C. 同じ対象に付与されたクラス（結合子なしで連結されるクラス）
 * D. 先祖を指定するセレクター
 * E. Concrete CMS のエリアを指定するセレクター
 *
 * calc() では以下の場合プロパティ全体が無効になるため注意する
 * A. 加算、減算に単位のない数値が含まれている（0 を代入する場合でも単位が必要）
 * B. 乗算の被乗数と乗数、除算の被除数と除数の両方に単位がある（単位を付与できるのは片方のみ）
 *
 * CSS プロパティ記述順（参考）
 * Recess* Property Order
 * https://github.com/stormwarning/stylelint-config-recess-order/blob/main/groups.js
 *
 * Sass データタイプ
 * number @debug meta.type-of(1px);
 * string @debug meta.type-of('true');
 * color @debug meta.type-of(#fff);
 * list @debug meta.type-of((a, b, c));
 * map @debug meta.type-of((a:1px, b:2px, c:3px));
 * calculation @debug meta.type-of(clamp(min, value, max));
 * bool @debug meta.type-of(true);
 * null @debug meta.type-of(null);
 * function
 * arglist
 */
/**
 * ブレイクポイントのマップを作成する
 *
 * 変更する場合は common.js のメディアクエリリストも確認する
 */
/**
 * 行高のマップを作成する
 */
/**
 * 文字サイズのマップを作成する
 */
/**
 * 文字の余白左右から余白上下を算出する
 *
 * 余白上下から行高分を減算し文字の四方の視覚的余白を揃える
 *
 * @param {number} $volume - 余白左右
 * @param {string} $key-font-size - 文字サイズのマップのキー
 * @return {number} - 余白左右から行高分を減算した余白上下
 */
/**
 * z-index のリストを作成する
 */
/**
 * スタックレベルのリストから z-index を算出する
 *
 * 同じスタックコンテキスト内での重なり順を設定する
 * リストの先頭から z-index が 1 づつ増加する（先頭が最背面）
 * ブロックやコンテナが移動できなくなるため編集モードでは z-index を無効にする
 *
 * @param {string} $value - z-index のリストの値
 * @return {number} - オフセットを加算した index の値
 */
/**
 * HEX から RGB を算出する
 *
 * @param {color} $value - HEX カラーコード
 * @return {color} - RGB カラーコード
 */
/**
 * 単位を除去する
 *
 * CSS カスタムプロパティは非対応
 *
 * @param {number} $value - 数値（単位あり）
 * @return {number} - 数値（単位なし）
 */
/**
 * 単位を px から vw へ変換する
 *
 * @param {number} $value - 変換する幅（px）
 * @param {number} $viewport - 変換時のビューポート幅（px）
 * @return {number} - 変換した幅（vw）
 */
/**
 * 数値をビューポート幅に応じ設定域内で可変する
 *
 * @param {number} $min - 最小値（px）
 * @param {number} $max-rate [1.2] - 最大倍率
 * @return {calculation} - clamp 関数
 */
/**
 * 画像幅、画像高、表示高から画像の表示幅を算出する
 *
 * @param {number} $original-width - 画像幅（px、単位なし）
 * @param {number} $original-height - 画像高（px、単位なし）
 * @param {number} $display-height - 表示高（em）
 * @return {number} - 表示幅（em）
 */
/**
 * 画像幅、画像高、表示幅から画像の表示高を算出する
 *
 * @param {number} $original-width - 画像幅（px、単位なし）
 * @param {number} $original-height - 画像高（px、単位なし）
 * @param {number} $display-width - 表示幅（em）
 * @return {number} - 表示高（em）
 */
/**
 * url 関数の引数の末尾に一意なクエリ文字列を付与する
 *
 * @param {string} $url - パス（ダブルクォーテーションあり）
 * @return {function} - url 関数（ダブルクォーテーションあり）
 */
/**
 * スペースを含む可能性のある引数には二重引用符を使用する（ファイル名、セレクター名など）
 * @mixin で引数を使用しない場合は空の括弧を記述しない
 * @include で引数を変更しない場合は空の括弧を記述しない
 * @include で引数を変更する場合はキーも記述する（mixin の引数が 1 つの場合のみ省略する）
 */
/**
 * 言語に応じたスタイルを適用する
 *
 * @param {string} $key - 言語コード [ja (日本語) | en (English) | zh (簡体字中文)]
 */
/**
 * ブレイクポイントに応じたスタイルを適用する
 *
 * media type で判定する
 * 可読性確保のため Mixin 内では使用しない
 *
 * @param {string} $key - ブレイクポイント [small | lte-compact | compact | gte-compact | lte-medium | medium | gte-medium | lte-large | large | gte-large | x-large | print]
 */
/**
 * プライマリー入力デバイスの hover に応じたスタイルを適用する
 *
 * media feature で判定する
 *
 * @param {bool} $only [false] - プライマリー入力デバイスの hover が有効な場合のみスタイルを適用する [true | false]
 * @param {string} $cursor [pointer] - カーソル
 * @param {string} $selector [false] - 対象セレクターに追加するセレクター
 */
/**
 * animation 関連プロパティを設定する
 *
 * @param {string} $name [fade-in] - アニメーション名
 * @param {number} $duration [1.2s] - 所要時間
 * @param {number} $timing-function [--ease-in-sine（加速）] - 加速曲線
 * @param {number} $delay [0s] - 待機時間
 * @param {string} $iteration-count [1] - 再生回数
 * @param {string} $direction [normal] - 再生方向
 * @param {string} $fill-mode [both] - 前後状態
 * @param {string} $play-state [running] - 再生状態
 */
/**
 * transition 関連プロパティを設定する
 *
 * 複数プロパティへの適用で不具合を生じる場合は待機時間で時差を設定する（Safari の場合 opacity と transform など）
 *
 * @param {string} $property [all] - 適用プロパティ
 * @param {number} $duration [--transition-duration] - 所要時間
 * @param {number} $timing-function [--ease-out-expo（減速）] - 加速曲線
 * @param {number} $delay [0s] - 待機時間
 */
/**
 * フェードインで表示する
 *
 * 状態識別クラスセレクターは JavaScript で制御する
 * 対象指定クラスセレクターは JavaScript で設定する
 *
 * @param {string} $direction - 方向 [top | bottom | left | right]
 */
/**
 * 再配置で表示する
 *
 * 状態識別クラスセレクターは JavaScript で制御する
 * 対象指定クラスセレクターは JavaScript で設定する
 *
 * @param {string} $direction - 方向 [top | bottom | left | right]
 */
/**
 * WAI-ARIA 属性を使用してトグル表示する
 *
 * WAI-ARIA 属性は JavaScript で制御する
 * 復帰後の値が対象毎に異なる height、padding 等は呼び出し元で設定する
 * 展開時の height が auto の場合 transition は適用されない（アニメーション効果は opacity などで付与する）
 */
/**
 * hover で透明度を変更する
 *
 * 背面の要素が透過することで問題を生じる場合は別途白などの背景を用意する
 *
 * @param {number} $opacity [0.9] - mouseenter での透明度
 * @param {string} $cursor [pointer] - カーソル
 */
/**
 * hover で位置を変更する
 *
 * @param {string} $translate-x [0] - mouseenter での X 軸位置
 * @param {string} $translate-y [0.2em] - mouseenter での Y 軸位置
 */
/**
 * hover で位置を変更する 3D
 *
 * @param {string} $translate-x [0] - mouseenter での X 軸位置
 * @param {string} $translate-y [0.1em] - mouseenter での Y 軸位置
 * @param {string} $translate-z [0.1em] - mouseenter での Z 軸位置
 */
/**
 * hover で倍率を変更する
 *
 * @param {string} $scale-x [--scale] - mouseenter での X 軸、Y 軸倍率
 */
/**
 * hover で倍率を変更する 3D
 *
 * @param {string} $scale-x [--scale] - mouseenter での X 軸、Y 軸倍率
 * @param {string} $scale-y [--scale-z] - mouseenter での Z 軸倍率
 */
/**
 * hover でテキストノードに明滅する下線を表示する
 *
 * @param {color} $color [--color-link] - 色
 * @param {number} $opacity-enable [0.8] - 透明度
 * @param {number} $opacity-active [0] - 透明度
 */
/**
 * hover で要素全体に明滅する枠線下を表示する
 *
 * @param {string} $selector [false] - 対象セレクターに追加するセレクター
 * @param {number} $border-width [1px] - 線幅
 * @param {color} $color [--color-normal] - 色
 * @param {number} $opacity [0] - 透明度
 */
/**
 * hover で伸縮する枠線下を表示する
 *
 * @param {number} $border-width [1px] - 線幅
 * @param {string} $origin-enter [left] - mouseenter での起点 [left | center | right]
 * @param {string} $origin-leave [left] - mouseleave での起点 [left | center | right]
 */
/**
 * タッチのスタイルを無効にする
 */
/**
 * スクロールバーを非表示にする
 */
/**
 * ウィンドウ幅で表示する（親要素の幅を無視する）
 *
 * y スクロールバーが表示されると x スクロールバーも表示される
 */
/**
 * 上下の margin に同じ値を設定する
 *
 * @param {number} $value [auto] - margin 上下
 */
/**
 * 左右の margin に同じ値を設定する
 *
 * @param {number} $value [auto] - margin 左右
 */
/**
 * 上下の padding に同じ値を設定する
 *
 * @param {number} $value [var(--space-normal)] - padding 上下
 */
/**
 * 左右の padding に同じ値を設定する
 *
 * @param {number} $value [var(--space-normal)] - padding 左右
 */
/**
 * 文字の上下左右の padding に同じ値を設定し行高分を補正する
 *
 * @param {number} $volume [var(--box-volume-horizontal)] - 余白左右
 * @param {string} $key-font-size [normal] - 文字サイズのマップのキー
 */
/**
 * ブロックに疑似要素で下線を表示する
 *
 * @param {number} $gap [0.4em] - 間隔
 * @param {number} $height [1px] - 下線高
 */
/**
 * 子要素の間隔上を削除する
 */
/**
 * 最初の子要素の間隔上を削除する
 *
 * 対象の最初の子要素にカスタムスタイルがある場合にも対応する
 */
/**
 * 要素を上下左右中央揃えで配置する
 *
 * @param {string} $direction - 整列方向 [column | row]
 */
/**
 * フロートの子要素を設定する
 *
 * 間隔下は行高分を補正して算出する
 *
 * @param {string} $type - タイプ [left | right]
 * @param {number} $width [50%] - 最初のアイテムの幅
 * @param {number} $gap [--container-float-gap-horizontal-responsive] - 間隔左右
 * @param {string} $key-font-size [normal] - 文字サイズのマップのキー
 */
/**
 * ボタンの形状を設定する
 *
 * @param {string} $border-radius [var(--button-border-radius)] - 枠線角丸
 * @param {string} $volume-vertical [var(--button-volume-vertical)] - 余白上下
 * @param {string} $volume-horizontal [var(--button-volume-horizontal)] - 余白左右
 */
/**
 * ボタンの色彩を設定する
 *
 * @param {color} $background-color-enable [--button-background-color-enable] - 背景色 有効
 * @param {color} $color-enable [--button-color-enable] - 文字色 有効
 */
/**
 * ボタンの色彩を設定する 枠線あり
 *
 * @param {number} $border-width [2px] - 枠線幅
 * @param {color} $border-color-enable [var(--button-border-color-enable)] - 枠線色 有効
 * @param {color} $background-color-enable [var(--button-background-color-enable)] - 背景色 有効
 * @param {number} $background-color-opacity-enable [1] - 背景色透明度 有効
 * @param {color} $color-enable [var(--button-color-enable)] - 文字色 有効
 * @param {color} $border-color-active [var(--button-border-color-active)] - 枠線色 アクティブ
 * @param {color} $background-color-active [var(--button-background-color-active)] - 背景色 アクティブ
 * @param {color} $color-active [var(--button-color-active)] - 文字色 アクティブ
 */
/**
 * ボタンの色彩を設定する グラデーション
 *
 * @param {color} $color-enable [--button-color-enable] - 文字色 有効
 * @param {color} $color-active [--button-color-active] - 文字色 アクティブ
 */
/**
 * サイン
 */
/**
 * 画像をインラインの先頭または末尾へ上下中央揃えで配置する
 *
 * @param {string} $type - タイプ [before（先頭） | after（末尾）]
 * @param {number} $image-width [100] - 画像幅（px、単位なし）
 * @param {number} $image-height [100] - 画像高（px、単位なし）
 * @param {number} $height [1em] - 表示高
 * @param {number} $rotate-z [0deg] - 回転角
 * @param {number} $gap [--marker-gap] - 間隔
 * @param {number} $offset-vertical [0em] - 画像オフセット垂直
 * @param {number} $offset-vertical-correction [-0.2em] - 画像オフセット垂直補正値（Noto Sans JP）
 * @param {string} $file ["circle--a-silver.svg"] - 画像ファイル名
 */
/* 外部リンク */
/* ファイル */
/**
 * 画像をブロックの最初の行の先頭に上下中央揃えで配置する
 *
 * 画像を最初の行に対して上下中央揃えで配置する
 * 適用したブロックの左に画像表示分の余白を付与する
 * 高解像度対応のため疑似要素で表示する画像は背景として設定する
 * アングル等の画像は上向きと右向きのみ用意して反転する
 * 文字サイズや画像高に合わせ行高を設定して使する
 *
 * @param {string} $display [block] - [block | flex | inline-block]
 * @param {number} $image-width [100] - 画像幅（px、単位なし）
 * @param {number} $image-height [100] - 画像高（px、単位なし）
 * @param {number} $height [1em] - 表示高
 * @param {number} $rotate-z [0deg] - 回転角
 * @param {number} $opacity [1] - 透明度
 * @param {number} $gap [--marker-gap] - 間隔
 * @param {number} $padding-top [0em] - 余白上
 * @param {number} $padding-left [0em] - 余白左
 * @param {number} $line-height [var(--line-height-font-size-normal)] - 行高
 * @param {number} $offset-vertical [0em] - 画像オフセット垂直
 * @param {string} $file ["circle--a-silver.svg"] - 画像ファイル名
 */
/* サイドナビゲーション 2 階層以降 */
/* リンク */
/**
 * 画像をブロックの左右いずれかに上下中央揃えで配置する
 *
 * 適用したブロックの左右いずれかに画像表示分の余白を付与する
 * 高解像度対応のため疑似要素で表示する画像は背景として設定する
 * アングル等の画像は上向きと右向きのみ用意して反転する
 * 間隔は対象要素の文字サイズに準拠する
 *
 * @param {string} $type - タイプ [left | right]
 * @param {number} $image-width [100] - 画像幅（px、単位なし）
 * @param {number} $image-height [100] - 画像高（px、単位なし）
 * @param {number} $height [1em] - 表示高
 * @param {number} $rotate-z [0deg] - 回転角
 * @param {number} $gap [--marker-gap] - 間隔
 * @param {number} $padding-horizontal [0em] - 余白左右（適用したブロックに設定されている余白）
 * @param {string} $file ["circle--a-silver.svg"] - 画像ファイル名
 */
/**
 * 画像をブロックの上下いずれかに左右中央揃えで配置する
 *
 * 適用したブロックの上下いずれかに画像表示分の余白を付与する
 * 高解像度対応のため疑似要素で表示する画像は背景として設定する
 * アングル等の画像は上向きと右向きのみ用意して反転する
 * 間隔は対象要素の文字サイズに準拠する
 *
 * @param {string} $type - タイプ [left | right]
 * @param {number} $image-width [100] - 画像幅（px、単位なし）
 * @param {number} $image-height [100] - 画像高（px、単位なし）
 * @param {number} $height [1em] - 表示高
 * @param {number} $rotate-z [0deg] - 回転角
 * @param {number} $gap [--marker-gap] - 間隔
 * @param {number} $padding-horizontal [0em] - 余白左右（適用したブロックに設定されている余白）
 * @param {string} $file ["circle--a-silver.svg"] - 画像ファイル名
 */
/**
 * 背景をテキストでクリップする
 */
/**
 * 背景にストライプを表示する
 *
 * @param {string} $content [""] - 表示する文字列
 */
/**
 * 背面に疑似要素でテキストを表示する
 *
 * @param {string} $content [""] - 表示する文字列
 */
/**
 * ボックスに影を付与する
 *
 * @param {number} $offset-x [var(--shadow-offset)] - オフセット X
 * @param {number} $offset-y [var(--shadow-offset)] - オフセット Y
 * @param {number} $blur [var(--shadow-blur)] - ぼかし
 * @param {number} $spread [var(--shadow-spread)] - 広がり
 * @param {color} $color [var(--shadow-color)] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * ボックスに影を付与する 内側
 *
 * @param {number} $offset-x [--shadow-offset] - オフセット X
 * @param {number} $offset-y [--shadow-offset] - オフセット Y
 * @param {number} $blur [--shadow-blur] - ぼかし
 * @param {number} $spread [0] - 広がり
 * @param {color} $color [--shadow-color] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * ボックスに光彩を付与する
 *
 * @param {number} $blur [--shadow-blur] - ぼかし
 * @param {number} $spread [0] - 広がり
 * @param {color} $color [--shadow-color] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * ボックスに光彩を付与する 内側
 *
 * @param {number} $blur [--shadow-blur] - ぼかし
 * @param {number} $spread [0] - 広がり
 * @param {color} $color [--shadow-color] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * 画像のアルファチャンネルに対応した光彩を付与する
 *
 * Safari は動作が不安定
 *
 * @param {number} $blur [--shadow-blur] - ぼかし
 * @param {color} $color [--shadow-color] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * 文字に影を付与する
 *
 * @param {string} $offset [0.1em] - オフセット
 * @param {number} $blur [0.1em] - ぼかし
 * @param {color} $color [--color-black] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * 文字に光彩を付与する
 *
 * @param {number} $blur [0.1em] - ぼかし
 * @param {color} $color [--color-black] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * 文字に縁取りを付与する
 *
 * 1px のみ
 *
 * @param {number} $blur [0] - ぼかし
 * @param {color} $color [--color-white] - 色
 * @param {number} $opacity [1] - 透明度
 */
/**
 * 文字を置換する
 */
/**
 * 文字を切詰する
 */
/**
 * 言語に応じたフォントファミリーを設定する サンセリフ
 */
/**
 * 言語に応じたフォントファミリーを設定する セリフ
 */
/**
 * 言語に応じたフォントファミリーを設定する サインボード
 */
/**
 * 文字サイズと行高を設定する
 *
 * 標準より大きな文字サイズでは反比例する行高を設定する
 *
 * @param {string} $key [normal] - サイズ [normal | large-1 | large-2 | large-3 | large-4 | large-5 | large-6 | large-7 | small-1 | small-2]
 */
/**
 * \Concrete\Core\Html\Image クラスで出力される画像を最適化する
 */
/**
 * ress を補完
 */
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-print-color-adjust: exact;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

blockquote,
q {
  quotes: none;
}

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

ul,
ol,
dd {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  outline: none;
}

abbr[title] {
  text-decoration: none;
}

picture {
  line-height: 1;
}

img {
  vertical-align: bottom;
}

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

caption,
th {
  text-align: left;
}

th {
  font-weight: normal;
  vertical-align: top;
}

button {
  color: inherit;
  background-color: transparent;
  border: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  outline: none;
}

fieldset {
  border: 0;
}

/* フェードイン */
@keyframes fade-in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
/* フェードアウト */
@keyframes fade-out {
  0% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: hidden;
    opacity: 0;
  }
}
/* スライドイン */
@keyframes slide-in-top {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translateY(var(--translate-slide-in-opposite));
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-in-bottom {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translateY(var(--translate-slide-in));
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-in-left {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translateX(var(--translate-slide-in-opposite));
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slide-in-right {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translateX(var(--translate-slide-in));
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
}
/* ボタン */
@keyframes button {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, 0.1em);
  }
  100% {
    transform: translate(0, 0);
  }
}
:root {
  --font-size-unit: 0.625;
  /**
   * 空間
   */
  --space-base: calc(var(--font-size-unit) * 1rem);
  --space-normal: calc(var(--space-base) * var(--space-scale-responsive));
  --space-large-1: calc(var(--space-normal) * var(--space-ratio-increase-responsive));
  --space-large-2: calc(var(--space-large-1) * var(--space-ratio-increase-responsive));
  --space-large-3: calc(var(--space-large-2) * var(--space-ratio-increase-responsive));
  --space-large-4: calc(var(--space-large-3) * var(--space-ratio-increase-responsive));
  --space-large-5: calc(var(--space-large-4) * var(--space-ratio-increase-responsive));
  --space-large-6: calc(var(--space-large-5) * var(--space-ratio-increase-responsive));
  --space-large-7: calc(var(--space-large-6) * var(--space-ratio-increase-responsive));
  --space-small-1: calc(var(--space-normal) / var(--space-ratio-decrease-responsive));
  --space-small-2: calc(var(--space-small-1) / var(--space-ratio-decrease-responsive));
  --space-small-3: calc(var(--space-small-2) / var(--space-ratio-decrease-responsive));
  /**
   * 角丸
   */
  --border-radius-base: calc(var(--font-size-unit) * 0.6rem);
  /* 倍率 */
  --border-radius-normal: calc(var(--border-radius-base) * var(--border-radius-scale-responsive));
  --border-radius-large-1: calc(var(--border-radius-normal) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-2: calc(var(--border-radius-large-1) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-3: calc(var(--border-radius-large-2) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-4: calc(var(--border-radius-large-3) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-5: calc(var(--border-radius-large-4) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-6: calc(var(--border-radius-large-5) * var(--border-radius-ratio-increase-responsive));
  --border-radius-large-7: calc(var(--border-radius-large-6) * var(--border-radius-ratio-increase-responsive));
  --border-radius-small-1: calc(var(--border-radius-normal) / var(--border-radius-ratio-decrease-responsive));
  --border-radius-small-2: calc(var(--border-radius-small-1) / var(--border-radius-ratio-decrease-responsive));
  --border-radius-small-3: calc(var(--border-radius-small-2) / var(--border-radius-ratio-decrease-responsive));
  /* 半円 */
  --border-radius-semicircle: 100em;
  /**
   * 行高
   *
   * 標準より大きな文字サイズでは反比例する行高を設定
   * ステップ比が増加すると行高は減少
   */
  --line-height-base: 1.7;
  --line-height-ratio: 1.05;
  --line-height-font-size-normal: var(--line-height-base);
  --line-height-font-size-large-1: calc(var(--line-height-font-size-normal) / var(--line-height-ratio));
  --line-height-font-size-large-2: calc(var(--line-height-font-size-large-1) / var(--line-height-ratio));
  --line-height-font-size-large-3: calc(var(--line-height-font-size-large-2) / var(--line-height-ratio));
  --line-height-font-size-large-4: calc(var(--line-height-font-size-large-3) / var(--line-height-ratio));
  --line-height-font-size-large-5: calc(var(--line-height-font-size-large-4) / var(--line-height-ratio));
  --line-height-font-size-large-6: calc(var(--line-height-font-size-large-5) / var(--line-height-ratio));
  --line-height-font-size-large-7: calc(var(--line-height-font-size-large-6) / var(--line-height-ratio));
  --line-height-font-size-small-1: var(--line-height-base);
  --line-height-font-size-small-2: var(--line-height-base);
  --line-height-font-size-small-3: var(--line-height-base);
  /**
   * 文字
   */
  /* noto-sans-jp-regular - japanese_latin */
  /* noto-sans-jp-700 - japanese_latin */
  /* inter-300 - latin */
  /* inter-regular - latin */
  /**
   * 文字ファミリー
   *
   * 言語毎に切り替える場合は mixin で設定する
   * 総称フォントには引用符を付与しない
   * serif 明朝
   * sans-serif ゴシック
   * monospace 等幅
   * system-ui システム -apple-system（Safari、FireFox）、BlinkMacSystemFont（Chrome）を含む
   * cursive 筆記
   * fantasy 装飾
   */
  /* 日本語（ja-JP） */
  --font-family-sans: "Noto Sans JP", "Hiragino Sans", "BIZ UDGothic", sans-serif, "Apple Color Emoji";
  --font-family-serif: "Noto Serif JP", "Hiragino Mincho ProN", "BIZ UDPMincho", serif;
  /* English（en-US アメリカ） */
  --font-family-sans-en: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --font-family-serif-en: serif;
  /* Simplified Chinese 簡体字中文（zh-CN 中国） */
  --font-family-sans-cn: "Microsoft YaHei", "SimHei", sans-serif;
  --font-family-serif-cn: "SimSun", serif;
  /* Traditional Chinese 繁体字中文（zh-TW 台湾） */
  --font-family-sans-tw: "Microsoft JhengHei", "PMingLiU", sans-serif;
  /* Traditional Chinese 繁体字中文（zh-HK 香港） */
  --font-family-sans-hk: "Microsoft JhengHei", "PMingLiU", sans-serif;
  /* Verdana */
  --font-family-verdana: "Verdana", sans-serif;
  /* Inter */
  --font-family-inter: "Inter", sans-serif;
  /**
   * 文字サイズ
   *
   * 通常は mixin.font-size-line-height() で設定する（標準より大きな文字サイズでは反比例する行高を適用する）
   * Chrome の最小値は 10px
   */
  --font-size-base: calc(var(--font-size-unit) * 1.5rem);
  --font-size-normal: calc(var(--font-size-base) * var(--font-size-scale-responsive));
  --font-size-large-1: calc(var(--font-size-normal) * var(--font-size-ratio-increase-responsive));
  --font-size-large-2: calc(var(--font-size-large-1) * var(--font-size-ratio-increase-responsive));
  --font-size-large-3: calc(var(--font-size-large-2) * var(--font-size-ratio-increase-responsive));
  --font-size-large-4: calc(var(--font-size-large-3) * var(--font-size-ratio-increase-responsive));
  --font-size-large-5: calc(var(--font-size-large-4) * var(--font-size-ratio-increase-responsive));
  --font-size-large-6: calc(var(--font-size-large-5) * var(--font-size-ratio-increase-responsive));
  --font-size-large-7: calc(var(--font-size-large-6) * var(--font-size-ratio-increase-responsive));
  --font-size-small-1: calc(var(--font-size-normal) / var(--font-size-ratio-decrease-responsive));
  --font-size-small-2: calc(var(--font-size-small-1) / var(--font-size-ratio-decrease-responsive));
  --font-size-small-3: calc(var(--font-size-small-2) / var(--font-size-ratio-decrease-responsive));
  /**
   * 文字ウェイト
   *
   * Windows、Android のバリエーションはバージョンに依存する
   * ウェブフォントはどの環境でも設定通り表示される
   *
   * 100 Thin
   * 200 Extra Light (Ultra Light)
   * 300 Light
   * 400 Normal
   * 500 Medium
   * 600 Semi Bold (Demi Bold) - Windows はここから太字
   * 700 Bold - Android 14 以下はここから太字
   * 800 Extra Bold (Ultra Bold)
   * 900 Black (Heavy)
   * https://www.w3.org/TR/css-fonts-3/#font-weight-numeric-values
   */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  /**
   * 文字間隔
   */
  --letter-spacing-base: 0em;
  --letter-spacing--ratio: 2;
  --letter-spacing-normal: var(--letter-spacing-base);
  --letter-spacing-large-1: calc(var(--letter-spacing-normal) * var(--letter-spacing--ratio));
  --letter-spacing-large-2: calc(var(--letter-spacing-large-1) * var(--letter-spacing--ratio));
  /**
   * 色
   *
   * アルファチャンネル対応のため HEX を RGB に変換し rgb() で設定する
   *
   * background-color: rgb(var(--color-black)); // 通常
   * background-color: rgb(var(--color-black), 0.7); // アルファチャンネル
   */
  /* HTML */
  --color-white: 255, 255, 255;
  --color-white-smoke: 245, 245, 245;
  --color-gainsboro: 220, 220, 220;
  --color-light-gray: 211, 211, 211;
  --color-silver: 192, 192, 192;
  --color-dark-gray: 169, 169, 169;
  --color-gray: 128, 128, 128;
  --color-dimgray: 105, 105, 105;
  --color-black: 0, 0, 0;
  /* 基本 */
  --color-normal: 26, 26, 26;
  --color-link: var(--color-normal);
  --color-fill: 244, 244, 244;
  --color-stroke: 214, 214, 214;
  --color-shadow: var(--color-black);
  --color-success: 0, 128, 0;
  --color-caution: 230, 0, 18;
  /* 汎用 */
  --color-1: 0, 131, 66;
  --color-2: 0, 82, 64;
  --color-3: 17, 148, 106;
  --color-4: 232, 201, 92;
  --color-5: 15, 197, 195;
  --color-6: 0, 124, 222;
  --color-7: 193, 239, 138;
  --color-8: 234, 249, 244;
  --color-9: 230, 230, 230;
  --color-10: 255, 120, 0;
  --color-11: 58, 80, 97;
  --color-12: 28, 39, 47;
  /* サイン */
  /* エラー */
  --color-debug: var(--color-gray);
  --color-info: var(--color-normal);
  --color-notice: var(--color-gray);
  --color-warning: var(--color-caution);
  --color-error: var(--color-caution);
  --color-critical: var(--color-caution);
  --color-alert: var(--color-caution);
  --color-emergency: var(--color-caution);
  /**
   * 変化
   *
   * Sine（緩い）から Expo（激しい） へと変化する
   */
  --linear: cubic-bezier(0.0, 0.0, 1.0, 1.0);
  /* Sine */
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  /* Quad */
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  /* Cubic */
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  /* Quart */
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  /* Quint */
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  /* Expo */
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  /* Circ - Expo の加減速を抑制 */
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  /* Back - 予備動作（戻り）を追加 */
  --ease-in-back: cubic-bezier(0.6, - 0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, - 0.55, 0.265, 1.55);
  /* translate */
  --translate-slide-in: var(--page-volume-horizontal-responsive);
  --translate-slide-in-opposite: calc(var(--translate-slide-in) * -1);
  /**
   * ページ
   */
  --page-width-max: 1280px;
  /* 余白左右 */
  --page-volume-centering: calc((100% - var(--page-width-max)) / 2);
  /**
   * Concrete CMS ツールバー
   */
  --toolbar-height: 47px;
  /**
   * ヘッダー
   */
  /* 余白上下 */
  /* スクロール位置が normal の場合 */
  /* 余白左右 */
  /* スクロール位置が normal の場合 */
  /* サイトロゴ */
  --header-site-logo-image-width: 528;
  --header-site-logo-image-height: 120;
  /* スクロール位置が normal の場合 */
  /* ヘッダー */
  --header-height-responsive: calc((var(--header-volume-vertical-responsive) * 2) + var(--header-site-logo-height-responsive));
  /* スクロール位置が normal の場合 */
  /**
   * ビジュアル
   */
  --visual-image-width: 3200;
  --visual-image-height: 1080;
  --visual-dot-height: 0.4em;
  --visual-dot-gap-top: var(--font-size-small-2);
  --visual-height-responsive: calc(100% * (var(--visual-image-height) / var(--visual-image-width)) + var(--visual-dot-height) + var(--visual-dot-gap-top));
  /**
   * サイド
   */
  --side-width: 240px;
  --side-gap: var(--space-large-4);
  --side-navigation-volume-vertical: var(--space-normal);
  --side-navigation-volume-horizontal: var(--space-normal);
  /**
   * フッター
   */
  /**
   * コンテナ
   */
  /* 間隔 */
  --container-gap-top: var(--space-large-3);
  /* 間隔縮小 */
  /* 間隔拡大 */
  /* フレックス */
  /* フロート */
  /**
   * ボックス
   */
  /* 余白左右 */
  --box-volume-horizontal: var(--space-large-2);
  /* 角丸 標準 */
  --box-border-radius-normal: var(--border-radius-normal);
  /* 角丸 大 */
  --box-border-radius-large: var(--border-radius-large-3);
  /**
   * 行内
   */
  /**
   * マーカー
   */
  --marker-gap: 0.4em;
  --marker-gap-list: 0.4em;
  /**
   * セパレーター
   */
  --separator-gap: 0.6em;
  /**
   * 影、光彩
   */
  --shadow-offset: 0.8rem;
  --shadow-blur: 1rem;
  --shadow-spread: -0.4rem;
  --shadow-color: var(--color-shadow);
  /**
   * ボタン
   */
  /* 標準 */
  --button-volume-vertical: 0.6em;
  --button-volume-horizontal: 2em;
  /* 角丸 標準 */
  --button-border-radius: var(--border-radius-semicircle);
  /* 色 有効 */
  --button-border-color-enable: var(--color-1);
  --button-background-color-enable: var(--color-white);
  --button-color-enable: var(--color-3);
  /* 色 無効 */
  --button-border-color-disable: var(--color-light-gray);
  --button-background-color-disable: var(--color-light-gray);
  --button-color-disable: var(--color-link);
  /* 色 アクティブ */
  --button-border-color-active: var(--color-1);
  --button-background-color-active: var(--color-1);
  --button-color-active: var(--color-white);
  /* 色 非アクティブ */
  --button-border-color-inactive: var(--color-stroke);
  --button-background-color-inactive: var(--color-light-gray);
  --button-color-inactive: var(--color-link);
  /**
   * その他
   */
  /* 画像 */
  --image-gap-top: var(--space-large-1);
  /* ページリスト */
  --page-list-gap-top: var(--space-large-2);
  /* ファイル */
  --file-gap-top: var(--space-large-1);
  /* リンク ボタン */
  --link-button-gap-top: var(--space-large-2);
  /* 表 */
  --table-gap-top: var(--space-large-1);
  /* リスト */
  --list-gap-top: var(--space-large-1);
  /* 見出し 2 */
  --heading-2-gap-top: var(--space-large-5);
  /* 見出し 3 */
  --heading-3-gap-top: var(--space-large-5);
  /* 見出し 4 */
  --heading-4-gap-top: var(--space-large-4);
  /* 見出し 5 */
  --heading-5-gap-top: var(--space-large-3);
  /* 見出し 6 */
  --heading-6-gap-top: var(--space-large-2);
  /* 段落 */
  --paragraph-gap-top: var(--space-normal);
  /* キャプション */
  --caption-gap-top: var(--space-small-1);
  /* 注釈 */
  --annotation-gap-top: var(--space-small-2);
  /* アンカー */
  --anchor-lead: var(--space-normal);
}
@media screen and (width < 768px) {
  :root {
    --space-scale-responsive: 1;
    --space-ratio-increase-responsive: 1.3;
    --space-ratio-decrease-responsive: 1.3;
  }
}
@media print, screen and (768px <= width) {
  :root {
    --space-scale-responsive: 1.05;
    --space-ratio-increase-responsive: 1.4;
    --space-ratio-decrease-responsive: 1.4;
  }
}
@media screen and (width < 768px) {
  :root {
    --border-radius-scale-responsive: 1;
    --border-radius-ratio-increase-responsive: 1.2;
    --border-radius-ratio-decrease-responsive: 1.2;
  }
}
@media print, screen and (768px <= width) {
  :root {
    --border-radius-scale-responsive: 1.05;
    --border-radius-ratio-increase-responsive: 1.2;
    --border-radius-ratio-decrease-responsive: 1.2;
  }
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp-v54-japanese_latin-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/noto-sans-jp-v54-japanese_latin-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/inter-v19-latin-300.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/inter-v19-latin-regular.woff2") format("woff2");
}
@media screen and (width < 768px) {
  :root {
    --font-size-scale-responsive: 1;
    --font-size-ratio-increase-responsive: 1.12;
    --font-size-ratio-decrease-responsive: 1.12;
  }
}
@media print, screen and (768px <= width) {
  :root {
    --font-size-scale-responsive: 1.06;
    --font-size-ratio-increase-responsive: 1.14;
    --font-size-ratio-decrease-responsive: 1.14;
  }
}
@media screen and (width < 768px) {
  :root {
    --page-volume-horizontal-responsive: var(--space-large-2);
    --page-volume-horizontal-header-responsive: var(--space-large-2);
    --content-volume-horizontal-responsive: 0;
  }
}
@media print, screen and (768px <= width) {
  :root {
    --page-volume-horizontal-responsive: var(--space-large-3);
    --page-volume-horizontal-header-responsive: var(--space-large-1);
    --content-volume-horizontal-responsive: 0;
  }
}
@media print, screen and (width < 1024px) {
  :root {
    --header-volume-vertical-responsive: var(--space-normal);
  }
}
@media screen and (1024px <= width) {
  :root {
    --header-volume-vertical-responsive: var(--space-large-1);
  }
}
@media screen and (1024px <= width) {
  :root .part-wrapper.mod-scroll-normal {
    --header-volume-vertical-responsive: var(--space-normal);
  }
}
@media print, screen and (width < 1024px) {
  :root {
    --header-volume-horizontal-responsive: var(--space-normal);
  }
}
@media screen and (1024px <= width) {
  :root {
    --header-volume-horizontal-responsive: var(--space-large-1);
  }
}
@media screen and (1024px <= width) {
  :root .part-wrapper.mod-scroll-normal {
    --header-volume-horizontal-responsive: var(--space-normal);
  }
}
@media screen and (width < 768px) {
  :root {
    --header-site-logo-height-responsive: 35px;
  }
}
@media print, screen and (768px <= width < 1024px) {
  :root {
    --header-site-logo-height-responsive: 45px;
  }
}
@media screen and (1024px <= width) {
  :root {
    --header-site-logo-height-responsive: 65px;
  }
}
@media screen and (1024px <= width) {
  :root .part-wrapper.mod-scroll-normal {
    --header-site-logo-height-responsive: 45px;
  }
}
@media screen and (1024px <= width) {
  :root .part-wrapper.mod-scroll-normal {
    --header-height-responsive: calc((var(--header-volume-vertical-responsive) * 2) + var(--header-site-logo-height-responsive));
  }
}
@media screen and (width < 768px) {
  :root {
    --container-gap-vertical-responsive: var(--space-large-1);
    --container-gap-horizontal-responsive: var(--space-large-1);
  }
}
@media print, screen and (768px <= width < 1024px) {
  :root {
    --container-gap-vertical-responsive: var(--space-large-2);
    --container-gap-horizontal-responsive: var(--space-large-2);
  }
}
@media screen and (1024px <= width) {
  :root {
    --container-gap-vertical-responsive: var(--space-large-3);
    --container-gap-horizontal-responsive: var(--space-large-3);
  }
}
@media screen and (width < 768px) {
  :root {
    --container-gap-vertical-narrow-responsive: var(--space-normal);
    --container-gap-horizontal-narrow-responsive: var(--space-normal);
  }
}
@media print, screen and (768px <= width < 1024px) {
  :root {
    --container-gap-vertical-narrow-responsive: var(--space-large-1);
    --container-gap-horizontal-narrow-responsive: var(--space-large-1);
  }
}
@media screen and (1024px <= width) {
  :root {
    --container-gap-vertical-narrow-responsive: var(--space-large-2);
    --container-gap-horizontal-narrow-responsive: var(--space-large-2);
  }
}
@media screen and (width < 768px) {
  :root {
    --container-gap-vertical-wide-responsive: var(--space-large-2);
    --container-gap-horizontal-wide-responsive: var(--space-large-2);
  }
}
@media print, screen and (768px <= width < 1024px) {
  :root {
    --container-gap-vertical-wide-responsive: var(--space-large-3);
    --container-gap-horizontal-wide-responsive: var(--space-large-3);
  }
}
@media screen and (1024px <= width) {
  :root {
    --container-gap-vertical-wide-responsive: var(--space-large-4);
    --container-gap-horizontal-wide-responsive: var(--space-large-4);
  }
}
@media screen and (width < 768px) {
  :root {
    --container-flex-gap-horizontal-responsive: var(--space-large-1);
  }
}
@media print, screen and (768px <= width) {
  :root {
    --container-flex-gap-horizontal-responsive: var(--space-large-2);
  }
}
@media screen and (width < 768px) {
  :root {
    --container-float-gap-horizontal-responsive: var(--space-large-1);
  }
}
@media print, screen and (768px <= width) {
  :root {
    --container-float-gap-horizontal-responsive: var(--space-large-2);
  }
}
@media screen and (width < 768px) {
  :root {
    --row-gap-vertical-responsive: var(--space-large-2);
    --row-gap-horizontal-responsive: var(--space-large-2);
  }
}
@media print, screen and (768px <= width) {
  :root {
    --row-gap-vertical-responsive: var(--space-large-2);
    --row-gap-horizontal-responsive: var(--space-large-2);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-y: scroll;
}
@media print {
  body {
    width: 1023px;
  }
}
/* テーマ領域 */
.ccm-page {
  /* ツールバーがある場合 */
}
.ccm-page * {
  letter-spacing: var(--letter-spacing-normal);
}
.ccm-page a {
  /* アンカーリンクが固定ヘッダーと重なる問題に対応する */
}
@media screen and (1024px <= width) {
  .ccm-page a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
.ccm-page a:target {
  display: block;
  height: 0;
  scroll-margin-top: calc(var(--header-height-responsive) + var(--anchor-lead));
}
.ccm-toolbar-visible .ccm-page a:target {
  scroll-margin-top: calc(var(--header-height-responsive) + var(--anchor-lead) + var(--toolbar-height));
}
.ccm-page form fieldset {
  margin-top: var(--space-large-1);
}
.ccm-page form .form-group {
  margin-top: var(--space-large-1);
  margin-bottom: var(--space-large-1);
}
.ccm-page form input.ccm-input-date,
.ccm-page form input.form-control,
.ccm-page form input[type=text],
.ccm-page form input[type=email],
.ccm-page form input[type=tel],
.ccm-page form input[type=url],
.ccm-page form input[type=password],
.ccm-page form textarea {
  margin-top: 0.2em;
  border: 1px solid rgb(var(--color-stroke));
  border-radius: 0;
  padding-top: calc(0.2em - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  padding-bottom: calc(0.2em - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  padding-right: 0.2em;
  padding-left: 0.2em;
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}
@media screen and (width < 480px) {
  .ccm-page form input.ccm-input-date,
  .ccm-page form input.form-control,
  .ccm-page form input[type=text],
  .ccm-page form input[type=email],
  .ccm-page form input[type=tel],
  .ccm-page form input[type=url],
  .ccm-page form input[type=password],
  .ccm-page form textarea {
    width: 90%;
  }
}
@media print, screen and (768px <= width) {
  .ccm-page form input.ccm-input-date,
  .ccm-page form input.form-control,
  .ccm-page form input[type=text],
  .ccm-page form input[type=email],
  .ccm-page form input[type=tel],
  .ccm-page form input[type=url],
  .ccm-page form input[type=password],
  .ccm-page form textarea {
    width: 80%;
  }
}
.ccm-page form input[type=number] {
  width: 10em;
}
.ccm-page form textarea.form-control {
  height: 10em;
}
.ccm-page form select.form-control {
  border: 1px solid rgb(var(--color-stroke));
  border-radius: 0;
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}
@media screen and (width < 480px) {
  .ccm-page form select.form-control {
    width: 90%;
  }
}
@media screen and (1024px <= width) {
  .ccm-page form select.form-control {
    width: 80%;
  }
}
.ccm-page form .control-label {
  display: block;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}
.ccm-page form .control-label .text-required {
  margin-left: var(--space-small-1);
  color: rgb(var(--color-caution));
}
.ccm-page form .checkbox {
  display: inline-block;
}
.ccm-page form .form-actions {
  margin-top: var(--space-large-2);
  text-align: center;
}
.ccm-page .btn {
  display: inline-block;
  margin-top: var(--link-button-gap-top);
  cursor: pointer;
  text-align: center;
  border-radius: var(--button-border-radius);
  padding-top: var(--button-volume-vertical);
  padding-bottom: var(--button-volume-vertical);
  padding-right: var(--button-volume-horizontal);
  padding-left: var(--button-volume-horizontal);
  background-image: linear-gradient(90deg, rgb(var(--color-3)), rgb(var(--color-5)) 50%, rgb(var(--color-7)));
  background-size: 200% 100%;
  cursor: pointer;
  text-align: center;
  color: rgb(var(--color-white));
  transition-property: background-position;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}
@media (hover: hover) {
  .ccm-page .btn:hover {
    cursor: pointer;
    background-position: 100% 0;
    color: rgb(var(--color-white));
  }
}
@media (hover: none) {
  .ccm-page .btn:active {
    background-position: 100% 0;
    color: rgb(var(--color-white));
  }
}
.ccm-page .btn:not(:last-child) {
  margin-right: var(--space-large-1);
}
.ccm-page .btn.pull-right {
  float: none;
}
.ccm-page .login-page .login-page-title {
  display: none;
}
.ccm-page .login-page .col-form-label {
  display: inline-block;
  margin-top: var(--space-normal);
}
.ccm-page .login-page .btn-link {
  margin-top: var(--space-normal);
  color: rgb(var(--color-link));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .ccm-page .login-page .btn-link:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  .ccm-page .login-page .btn-link:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}

.ccm-pagination-wrapper {
  margin-top: var(--space-large-2);
}

.pagination {
  display: flex;
  flex-flow: row nowrap;
  column-gap: 2px;
  justify-content: center;
}

.pagination > li {
  overflow: hidden;
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

.pagination > li > a,
.pagination > li > span {
  display: block;
  min-width: 2.5em;
  color: rgb(var(--button-color-enable));
  text-align: center;
  background-color: rgb(var(--button-background-color-enable));
  border: 2px solid rgb(var(--button-border-color-enable));
  padding-top: calc(var(--button-volume-vertical) * 0.5);
  padding-bottom: calc(var(--button-volume-vertical) * 0.5);
  padding-right: calc(var(--button-volume-horizontal) * 0.5);
  padding-left: calc(var(--button-volume-horizontal) * 0.5);
  transition-property: border, background-color, color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
.pagination > li > a:hover,
.pagination > li > span:hover {
  color: rgb(var(--button-color-active));
  background-color: rgb(var(--button-background-color-active));
  border: 2px solid rgb(var(--button-border-color-active));
}

.pagination > li > a {
  text-decoration: none;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  border-top-left-radius: var(--border-radius-normal);
  border-bottom-left-radius: var(--border-radius-normal);
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: var(--border-radius-normal);
  border-bottom-right-radius: var(--border-radius-normal);
}

.pagination > li.active > a,
.pagination > li.active > span {
  color: rgb(var(--button-color-active));
  background-color: rgb(var(--button-background-color-active));
  border: 2px solid rgb(var(--button-border-color-active));
}

.pagination > li.disabled > a,
.pagination > li.disabled > span {
  color: rgb(var(--button-color-disable));
  background-color: rgb(var(--button-background-color-disable));
  border: 2px solid rgb(var(--button-border-color-disable));
}

/**
 * メインコンテントナビゲーション
 */
.part-main-content {
  /* 1 階層 */
  /* 2 階層以降 */
}
.part-main-content .block-autonav {
  margin-top: var(--list-space-top);
}
.part-main-content .block-autonav li a {
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-main-content .block-autonav li a:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  .part-main-content .block-autonav li a:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
.part-main-content .block-autonav > li:not(:first-child) {
  margin-top: var(--space-normal);
}
.part-main-content .block-autonav > li > a {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
  display: inline-block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.6em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-main-content .block-autonav > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.6em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/triangle--a-1-right.svg?v=uw7s7sv");
  height: 0.6em;
  aspect-ratio: 100/100;
  content: "";
}
.part-main-content .block-autonav li ul {
  margin-left: var(--space-large-2);
}
.part-main-content .block-autonav li ul li {
  margin-top: var(--space-normal);
}
.part-main-content .block-autonav li ul li a {
  display: inline-block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.4em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-main-content .block-autonav li ul li a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.4em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-silver.svg?v=uw7s7sw");
  height: 0.4em;
  aspect-ratio: 100/100;
  content: "";
}

/**
 * サイドナビゲーション
 */
.part-side-navigation {
  /* 1 階層 */
  /* 2 階層 */
  /* 3 階層 */
  /* 4 階層 */
  /* 5 階層 */
}
.part-side-navigation .block-autonav li {
  border-top: 1px solid rgb(var(--color-white));
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}
.part-side-navigation .block-autonav li a {
  display: block;
  background-color: rgb(var(--color-fill));
  padding-top: var(--side-navigation-volume-vertical);
  padding-bottom: var(--side-navigation-volume-vertical);
  padding-right: var(--side-navigation-volume-horizontal);
  padding-left: var(--side-navigation-volume-horizontal);
  transition-property: background-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-side-navigation .block-autonav li a:hover, .part-side-navigation .block-autonav li a.nav-selected {
    cursor: pointer;
    background-color: rgb(var(--color-4));
  }
}
@media (hover: none) {
  .part-side-navigation .block-autonav li a:active, .part-side-navigation .block-autonav li a.nav-selected {
    background-color: rgb(var(--color-4));
  }
}
.part-side-navigation .block-autonav > li > a {
  display: block;
  position: relative;
  padding-top: var(--side-navigation-volume-vertical);
  padding-left: calc(calc(var(--side-navigation-volume-horizontal)) + 0.348em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-side-navigation .block-autonav > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.6em / 2 + var(--side-navigation-volume-vertical) + 0em);
  left: calc(var(--side-navigation-volume-horizontal));
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/angle--b-2-right.svg?v=uw7s7tb");
  height: 0.6em;
  aspect-ratio: 58/100;
  content: "";
}
.part-side-navigation .block-autonav > li > ul > li > a {
  display: block;
  position: relative;
  padding-top: var(--side-navigation-volume-vertical);
  padding-left: calc(calc(var(--side-navigation-volume-horizontal) + 0.5em) + 0.3em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-side-navigation .block-autonav > li > ul > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + var(--side-navigation-volume-vertical) + 0em);
  left: calc(var(--side-navigation-volume-horizontal) + 0.5em);
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-1.svg?v=uw7s7tl");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > a {
  display: block;
  position: relative;
  padding-top: var(--side-navigation-volume-vertical);
  padding-left: calc(calc(var(--side-navigation-volume-horizontal) + 1.5em) + 0.3em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + var(--side-navigation-volume-vertical) + 0em);
  left: calc(var(--side-navigation-volume-horizontal) + 1.5em);
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-1.svg?v=uw7s7u3");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > ul > li > a {
  display: block;
  position: relative;
  padding-top: var(--side-navigation-volume-vertical);
  padding-left: calc(calc(var(--side-navigation-volume-horizontal) + 2.5em) + 0.3em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > ul > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + var(--side-navigation-volume-vertical) + 0em);
  left: calc(var(--side-navigation-volume-horizontal) + 2.5em);
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-1.svg?v=uw7s7ue");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > ul > li > ul > li > a {
  display: block;
  position: relative;
  padding-top: var(--side-navigation-volume-vertical);
  padding-left: calc(calc(var(--side-navigation-volume-horizontal) + 3.5em) + 0.3em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.part-side-navigation .block-autonav > li > ul > li > ul > li > ul > li > ul > li > a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + var(--side-navigation-volume-vertical) + 0em);
  left: calc(var(--side-navigation-volume-horizontal) + 3.5em);
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-1.svg?v=uw7s7va");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}

.block-breadcrumb {
  font-size: 0;
}

.block-breadcrumb-item {
  display: inline;
  color: rgb(var(--color-silver));
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}
.block-breadcrumb-item:not(:first-child) {
  margin-left: var(--marker-gap);
}
.block-breadcrumb-item:not(:first-child)::before {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/angle--a-1-right.svg?v=uw7s7vi");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 0.6em;
  aspect-ratio: 56/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-right: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-breadcrumb-item:not(:first-child)::before {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-breadcrumb-item > a {
  color: rgb(var(--color-silver));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-white), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .block-breadcrumb-item > a:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-white), 0);
  }
}
@media (hover: none) {
  .block-breadcrumb-item > a:active {
    text-decoration-color: rgb(var(--color-white), 0);
  }
}

/* 段落 */
.block-file {
  margin-top: var(--space-large-1);
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.block-file::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle-angle--a-1-right.svg?v=uw7s7w6");
  height: 1em;
  aspect-ratio: 100/100;
  content: "";
}

/* リンク */
.block-file-link {
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
.block-file-link::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-download.svg?v=uw7s7wo");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 92/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-file-link::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-file-link.mod-doc::after, .block-file-link.mod-docx::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-doc.svg?v=uw7s7x0");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-file-link.mod-doc::after, .block-file-link.mod-docx::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-file-link.mod-dxf::after, .block-file-link.mod-dwg::after, .block-file-link.mod-igs::after, .block-file-link.mod-iges::after, .block-file-link.mod-step::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-cad.svg?v=uw7s7xs");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-file-link.mod-dxf::after, .block-file-link.mod-dwg::after, .block-file-link.mod-igs::after, .block-file-link.mod-iges::after, .block-file-link.mod-step::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-file-link.mod-pdf::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-pdf.svg?v=uw7s7y7");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-file-link.mod-pdf::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-file-link.mod-xls::after, .block-file-link.mod-xlsx::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-xls.svg?v=uw7s7yk");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-file-link.mod-xls::after, .block-file-link.mod-xlsx::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

@media (hover: hover) {
  .block-file-link:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  .block-file-link:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}

/* ファイルサイズ */
.block-file-size {
  margin-left: 0.5em;
  color: rgb(var(--color-info));
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

/**
 * カスタムクラス
 * Google カスタム検索
 */
.block-html-search .gsib_a {
  padding: 0 !important;
}

.block-html-search .gsc-search-button {
  cursor: pointer;
}

.block-html-search .gsc-input {
  margin: 0 !important;
}

/**
 * カスタムクラス
 * Iframe
 */
.block-html-iframe-a {
  margin-top: var(--space-large-3);
}

.block-html-iframe-a iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.part-main-content .block-image,
.part-lower .block-image,
.part-side .block-image {
  margin-top: var(--image-gap-top);
}

.part-main-content .block-image,
.part-lower .block-image,
.part-side .block-image,
.part-recruit .block-image,
.part-promotion .block-image {
  /* 編集モードがオフの場合 */
}
@media screen {
  .mod-edit-false .part-main-content .block-image,
  .mod-edit-false .part-lower .block-image,
  .mod-edit-false .part-side .block-image,
  .mod-edit-false .part-recruit .block-image,
  .mod-edit-false .part-promotion .block-image {
    visibility: hidden;
    opacity: 0;
  }
  .mod-edit-false .part-main-content .block-image.mod-visible,
  .mod-edit-false .part-lower .block-image.mod-visible,
  .mod-edit-false .part-side .block-image.mod-visible,
  .mod-edit-false .part-recruit .block-image.mod-visible,
  .mod-edit-false .part-promotion .block-image.mod-visible {
    animation-name: fade-in;
    animation-duration: 1.2s;
    animation-timing-function: var(--ease-out-sine);
    animation-delay: 0.2s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
  }
}

.block-image picture,
.block-image a {
  display: block;
  overflow: hidden;
}

/* img 要素 */
.ccm-image-block {
  width: 100%;
  height: auto;
}

.part-main-content a .ccm-image-block,
.part-lower a .ccm-image-block,
.part-side a .ccm-image-block,
.part-recruit a .ccm-image-block,
.part-promotion a .ccm-image-block {
  /* 編集モード以外の場合 */
}
.mod-edit-false .part-main-content a .ccm-image-block,
.mod-edit-false .part-lower a .ccm-image-block,
.mod-edit-false .part-side a .ccm-image-block,
.mod-edit-false .part-recruit a .ccm-image-block,
.mod-edit-false .part-promotion a .ccm-image-block {
  transition-property: transform;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  transition-property: transform;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
@media (hover: hover) {
  .mod-edit-false .part-main-content a .ccm-image-block:hover,
  .mod-edit-false .part-lower a .ccm-image-block:hover,
  .mod-edit-false .part-side a .ccm-image-block:hover,
  .mod-edit-false .part-recruit a .ccm-image-block:hover,
  .mod-edit-false .part-promotion a .ccm-image-block:hover {
    cursor: pointer;
    transform: scale(1.05);
  }
}
@media (hover: none) {
  .mod-edit-false .part-main-content a .ccm-image-block:active,
  .mod-edit-false .part-lower a .ccm-image-block:active,
  .mod-edit-false .part-side a .ccm-image-block:active,
  .mod-edit-false .part-recruit a .ccm-image-block:active,
  .mod-edit-false .part-promotion a .ccm-image-block:active {
    transform: scale(1.05);
  }
}

.block-image-caption {
  margin-top: var(--space-small-1);
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

/**
 * カスタムクラス
 */
/* 幅を制限する */
.block-image-reduce-width-1,
.block-image-reduce-width-2,
.block-image-reduce-width-3,
.block-image-reduce-width-4 {
  margin-right: auto;
  margin-left: auto;
}

.block-image-reduce-width-1 {
  width: 80%;
}

.block-image-reduce-width-2 {
  width: 60%;
}

.block-image-reduce-width-3 {
  width: 40%;
}

.block-image-reduce-width-4 {
  width: 20%;
}

@media screen and (width < 768px) {
  .block-image-reduce-width-1-at-small,
  .block-image-reduce-width-2-at-small,
  .block-image-reduce-width-3-at-small,
  .block-image-reduce-width-4-at-small {
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (width < 768px) {
  .block-image-reduce-width-1-at-small {
    width: 80%;
  }
}

@media screen and (width < 768px) {
  .block-image-reduce-width-2-at-small {
    width: 60%;
  }
}

@media screen and (width < 768px) {
  .block-image-reduce-width-3-at-small {
    width: 40%;
  }
}

@media screen and (width < 768px) {
  .block-image-reduce-width-4-at-small {
    width: 20%;
  }
}

@media print, screen and (768px <= width) {
  .block-image-reduce-width-1-at-large,
  .block-image-reduce-width-2-at-large,
  .block-image-reduce-width-3-at-large,
  .block-image-reduce-width-4-at-large {
    margin-right: auto;
    margin-left: auto;
  }
}

@media print, screen and (768px <= width) {
  .block-image-reduce-width-1-at-large {
    width: 80%;
  }
}

@media print, screen and (768px <= width) {
  .block-image-reduce-width-2-at-large {
    width: 60%;
  }
}

@media print, screen and (768px <= width) {
  .block-image-reduce-width-3-at-large {
    width: 40%;
  }
}

@media print, screen and (768px <= width) {
  .block-image-reduce-width-4-at-large {
    width: 20%;
  }
}

/* 高さを制限する */
.block-image-reduce-height-1,
.block-image-reduce-height-2,
.block-image-reduce-height-3,
.block-image-reduce-height-4 {
  overflow: hidden;
}

.block-image-reduce-height-1 .block-image,
.block-image-reduce-height-2 .block-image,
.block-image-reduce-height-3 .block-image,
.block-image-reduce-height-4 .block-image {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}

.block-image-reduce-height-1 .ccm-image-block,
.block-image-reduce-height-2 .ccm-image-block,
.block-image-reduce-height-3 .ccm-image-block,
.block-image-reduce-height-4 .ccm-image-block {
  width: auto;
}

.block-image-reduce-height-1 .ccm-image-block {
  height: 240px;
}

.block-image-reduce-height-2 .ccm-image-block {
  height: 180px;
}

.block-image-reduce-height-3 .ccm-image-block {
  height: 120px;
}

.block-image-reduce-height-4 .ccm-image-block {
  height: 60px;
}

/* 囲みを付与する 枠線 */
.block-image-box-a .block-image-thumbnail {
  padding: 3px;
  background-color: rgb(var(--color-stroke));
}

/* 囲みを付与する 正方形の背景 */
.block-image-box-square-a .block-image-thumbnail {
  padding: var(--space-small-1);
  background-color: rgb(var(--color-fill));
}

.block-image-box-square-a .ccm-image-block {
  aspect-ratio: 1;
  object-fit: contain;
}

/* 角丸を付与する */
.block-image-round-a .block-image picture,
.block-image-round-a .block-image a {
  overflow: hidden;
  border-radius: var(--border-radius-normal);
}

/* 影を付与する */
.block-image-shadow-a .block-image {
  box-shadow: var(--shadow-offset) var(--shadow-offset) var(--shadow-blur) var(--shadow-spread) rgb(var(--shadow-color), 1);
}

/* リンクにアイコンを付与する */
.block-image-icon-link .block-image a {
  position: relative;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
.block-image-icon-link .block-image a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 2em;
  height: 2em;
  content: "";
  background: rgb(var(--color-3)) url("../images/angle--b-white-right.svg") center no-repeat;
  background-clip: padding-box;
  border: 0.5em solid rgb(var(--color-3));
  transition-property: background, border;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
@media (hover: hover) {
  .block-image-icon-link .block-image a:hover {
    cursor: pointer;
  }
  .block-image-icon-link .block-image a:hover::after {
    background: rgb(var(--color-10)) url("../images/angle--b-white-right.svg") center no-repeat;
    border: 0.5em solid rgb(var(--color-10));
  }
}
@media (hover: none) {
  .block-image-icon-link .block-image a:active::after {
    background: rgb(var(--color-10)) url("../images/angle--b-white-right.svg") center no-repeat;
    border: 0.5em solid rgb(var(--color-10));
  }
}

/* 切り抜く 正方形 */
.block-image-clip-square-a .block-image-thumbnail {
  padding: var(--space-small-1);
  background-color: rgb(var(--color-stroke));
}

.block-image-clip-square-a .ccm-image-block {
  aspect-ratio: 1;
  object-fit: cover;
}

/* 切り抜く 円形 */
.block-image-clip-circle-a .block-image-thumbnail {
  padding: var(--space-small-1);
  clip-path: circle(50%);
  background-color: rgb(var(--color-stroke));
}

.block-image-clip-circle-a .ccm-image-block {
  aspect-ratio: 1;
  object-fit: cover;
}

.block-image-clip-circle-a .block-image a,
.block-image-clip-circle-a .block-image picture {
  clip-path: circle(50%);
}

/**
 * 拡張カスタムクラス
 */
.block-image a.block-image-modal-link {
  position: relative;
}
.block-image a.block-image-modal-link::after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  background: rgb(var(--color-black), 0.4) url("../images/magnifier--a-white.svg") no-repeat;
  background-clip: padding-box;
  border: 0.2em solid rgb(var(--color-black), 0.4);
}

.block-image a.block-image-modal-link .ccm-image-block {
  transition-property: transform;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .block-image a.block-image-modal-link .ccm-image-block:hover {
    cursor: zoom-in;
    transform: scale(1.05);
  }
}
@media (hover: none) {
  .block-image a.block-image-modal-link .ccm-image-block:active {
    transform: scale(1.05);
  }
}

/**
 * ビジュアル
 */
.part-visual {
  /**
   * 以下をオーバーライド
   * concrete/bedrock/assets/@concretecms/bedrock/assets/imagery/scss/frontend/image-slider/_image-slider.scss
   */
  /**
   * 以下をオーバーライド
   * concrete/bedrock/assets/@concretecms/bedrock/assets/imagery/scss/frontend/_responsive-slides.scss
   */
}
.part-visual .ccm-image-slider-text {
  display: none;
}
.part-visual .ccm-image-slider-title {
  display: none;
}
.part-visual .rslides_nav {
  display: block;
  width: 2em;
  height: 2em;
  margin-top: calc((var(--space-small-1) + var(--font-size-small-1) + var(--font-size-small-2) + 2em) / 2 * -1);
  background: url("../images/circle-angle--c-1-up.svg") no-repeat left top/contain;
  opacity: 0.8;
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media print, screen and (480px <= width) {
  .part-visual .rslides_nav {
    width: 3em;
    height: 3em;
    margin-top: calc((var(--space-small-1) + var(--font-size-small-1) + var(--font-size-small-2) + 3em) / 2 * -1);
  }
}
@media (hover: hover) {
  .part-visual .rslides_nav:hover {
    cursor: pointer;
    opacity: 1;
  }
}
@media (hover: none) {
  .part-visual .rslides_nav:active {
    opacity: 1;
  }
}
.part-visual .rslides_nav.prev {
  left: var(--space-small-1);
  transform: rotateZ(270deg);
}
.part-visual .rslides_nav.next {
  right: var(--space-small-1);
  transform: rotateZ(90deg);
}
.part-visual .rslides_tabs {
  display: flex;
  column-gap: var(--space-small-1);
  justify-content: center;
  width: 100%;
  padding-bottom: 0;
  margin-top: var(--visual-dot-gap-top);
  line-height: 0;
}
.part-visual .rslides_tabs li {
  margin-right: 0;
}
.part-visual .rslides_tabs li a {
  display: block;
  width: 2em;
  height: var(--visual-dot-height);
  margin-right: 0;
  background-color: rgb(var(--color-light-gray));
  border-radius: 0;
  transition-property: background-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
.part-visual .rslides_tabs li a:hover {
  background-color: rgb(var(--button-background-color-active));
}
.part-visual .rslides_tabs li.rslides_here a {
  background-color: rgb(var(--button-background-color-active));
}

/**
 * カスタムクラス
 */
/**
 * ヘッダーナビゲーション
 */
.part-header-navigation .block-nestable-manual-nav {
  display: flex;
  row-gap: var(--space-normal);
  column-gap: 3px;
}
@media print, screen and (width < 1024px) {
  .part-header-navigation .block-nestable-manual-nav {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.part-header-navigation .block-nestable-manual-nav > li > a {
  display: block;
  padding-bottom: var(--space-normal);
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-white));
  text-align: center;
  padding-right: var(--space-large-1);
  padding-left: var(--space-large-1);
  border-bottom: 3px solid rgb(var(--color-white), 0);
  transition-property: border-bottom;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-header-navigation .block-nestable-manual-nav > li > a:hover, .part-header-navigation .block-nestable-manual-nav > li > a.nav-path-selected {
    cursor: pointer;
    border-bottom: 3px solid rgb(var(--color-white), 1);
  }
}
@media (hover: none) {
  .part-header-navigation .block-nestable-manual-nav > li > a:active, .part-header-navigation .block-nestable-manual-nav > li > a.nav-path-selected {
    border-bottom: 3px solid rgb(var(--color-white), 1);
  }
}

/**
 * ヘッダーリンク
 */
.part-header-link .block-nestable-manual-nav {
  display: flex;
  column-gap: var(--space-normal);
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}
@media print, screen and (width < 1024px) {
  .part-header-link .block-nestable-manual-nav {
    justify-content: center;
  }
}
.part-header-link .block-nestable-manual-nav > li > a {
  display: block;
  color: rgb(var(--color-white));
  text-align: center;
  background-color: rgb(var(--color-white), 0.2);
  padding-right: var(--space-large-3);
  padding-left: var(--space-large-3);
  transition-property: background-color, color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-header-link .block-nestable-manual-nav > li > a:hover {
    cursor: pointer;
    color: rgb(var(--color-normal));
    background-color: rgb(var(--color-white));
  }
}
@media (hover: none) {
  .part-header-link .block-nestable-manual-nav > li > a:active {
    color: rgb(var(--color-normal));
    background-color: rgb(var(--color-white));
  }
}

/**
 * フッターリンク
 */
@media print, screen and (480px <= width) {
  .part-footer-link .block-nestable-manual-nav {
    display: flex;
    flex-wrap: wrap;
    row-gap: 1em;
    column-gap: 1em;
    justify-content: center;
  }
}
@media screen and (width < 480px) {
  .part-footer-link .block-nestable-manual-nav > li {
    display: block;
    position: relative;
    padding-top: 0em;
    padding-left: calc(0em + 0.4em + var(--marker-gap));
    line-height: var(--line-height-font-size-normal);
  }
  .part-footer-link .block-nestable-manual-nav > li::before {
    display: block;
    position: absolute;
    top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.4em / 2 + 0em + 0em);
    left: 0em;
    transform: rotateZ(0deg);
    opacity: 1;
    background-image: url("../images/circle--a-white.svg?v=uw7s7yw");
    height: 0.4em;
    aspect-ratio: 100/100;
    content: "";
  }
}
@media print, screen and (480px <= width) {
  .part-footer-link .block-nestable-manual-nav > li {
    display: flex;
    align-items: center;
    padding-right: 1em;
    line-height: 1;
  }
}
@media print, screen and (480px <= width) {
  .part-footer-link .block-nestable-manual-nav > li:not(:last-child) {
    padding-right: 1em;
    border-right: 1px solid rgb(var(--color-silver));
  }
}
.part-footer-link .block-nestable-manual-nav > li > a {
  color: rgb(var(--color-silver));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-silver), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-footer-link .block-nestable-manual-nav > li > a:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-silver), 0);
  }
}
@media (hover: none) {
  .part-footer-link .block-nestable-manual-nav > li > a:active {
    text-decoration-color: rgb(var(--color-silver), 0);
  }
}

/**
 * カスタムクラス
 */
.block-nestable-manual-nav-color-white .block-nestable-manual-nav > li > a {
  color: rgb(var(--color-white));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-white), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .block-nestable-manual-nav-color-white .block-nestable-manual-nav > li > a:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-white), 0);
  }
}
@media (hover: none) {
  .block-nestable-manual-nav-color-white .block-nestable-manual-nav > li > a:active {
    text-decoration-color: rgb(var(--color-white), 0);
  }
}

.block-page-list-wrapper {
  margin-top: var(--page-list-gap-top);
}

.block-page-list-header h2 {
  margin-top: var(--heading-2-gap-top);
  margin-bottom: var(--space-large-3);
  font-weight: var(--font-weight-bold);
  padding-right: var(--space-small-2);
  padding-left: var(--space-small-2);
  font-size: var(--font-size-large-5);
  line-height: var(--line-height-font-size-large-5);
  position: relative;
  padding-bottom: calc(0.4em + 3px);
}
.block-page-list-header h2::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
}
.block-page-list-header h2::after {
  background-image: linear-gradient(90deg, rgb(var(--color-6)), rgb(var(--color-5)));
}

.block-page-list-page-entry {
  padding-top: var(--space-large-2);
  padding-bottom: var(--space-large-2);
}
.block-page-list-page-entry:not(:first-child) {
  border-top: 1px solid rgb(var(--color-stroke));
}

.block-page-list-title > a {
  color: rgb(var(--color-link));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .block-page-list-title > a:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  .block-page-list-title > a:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}

/**
 * カスタムクラス
 */
.block-page-list-multiple {
  margin-top: var(--page-list-gap-top);
}

.block-page-list-multiple-item:not(:first-child) {
  padding-top: var(--space-large-1);
}

.block-page-list-multiple-item-inner {
  display: flex;
  column-gap: 1em;
}
@media screen and (width < 768px) {
  .block-page-list-multiple-item-inner {
    flex-wrap: wrap;
  }
}

.block-page-list-multiple-thumbnail picture {
  display: block;
  overflow: hidden;
}

.block-page-list-multiple-thumbnail picture img {
  width: 100%;
  height: auto;
}

.block-page-list-multiple-thumbnail a {
  display: block;
  height: 100%;
}

.block-page-list-multiple-thumbnail a picture img {
  /* 編集モード以外の場合 */
}
.mod-edit-false .block-page-list-multiple-thumbnail a picture img {
  transition-property: transform;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  transition-property: transform;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
@media (hover: hover) {
  .mod-edit-false .block-page-list-multiple-thumbnail a picture img:hover {
    cursor: pointer;
    transform: scale(1.05);
  }
}
@media (hover: none) {
  .mod-edit-false .block-page-list-multiple-thumbnail a picture img:active {
    transform: scale(1.05);
  }
}

.block-page-list-multiple-date-item {
  width: 6em;
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-black));
  letter-spacing: 0.05em;
  white-space: nowrap;
}

@media screen and (width < 768px) {
  .block-page-list-multiple-header {
    width: 100%;
  }
}

a.block-page-list-multiple-title {
  color: rgb(var(--color-link));
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  a.block-page-list-multiple-title:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  a.block-page-list-multiple-title:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
a.block-page-list-multiple-title.mod-file::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-download.svg?v=uw7s7yy");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 92/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-file::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

a.block-page-list-multiple-title.mod-file.mod-doc::after, a.block-page-list-multiple-title.mod-file.mod-docx::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-doc.svg?v=uw7s7zj");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-file.mod-doc::after, a.block-page-list-multiple-title.mod-file.mod-docx::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

a.block-page-list-multiple-title.mod-file.mod-dxf::after, a.block-page-list-multiple-title.mod-file.mod-dwg::after, a.block-page-list-multiple-title.mod-file.mod-igs::after, a.block-page-list-multiple-title.mod-file.mod-iges::after, a.block-page-list-multiple-title.mod-file.mod-step::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-cad.svg?v=uw7s7zm");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-file.mod-dxf::after, a.block-page-list-multiple-title.mod-file.mod-dwg::after, a.block-page-list-multiple-title.mod-file.mod-igs::after, a.block-page-list-multiple-title.mod-file.mod-iges::after, a.block-page-list-multiple-title.mod-file.mod-step::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

a.block-page-list-multiple-title.mod-file.mod-pdf::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-pdf.svg?v=uw7s7zn");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-file.mod-pdf::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

a.block-page-list-multiple-title.mod-file.mod-xls::after, a.block-page-list-multiple-title.mod-file.mod-xlsx::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/file--a-xls.svg?v=uw7s80c");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.4em;
  aspect-ratio: 80/100;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-file.mod-xls::after, a.block-page-list-multiple-title.mod-file.mod-xlsx::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

a.block-page-list-multiple-title.mod-external::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/external--a-1.svg?v=uw7s80q");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 0.8em;
  aspect-ratio: 100/90;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.block-page-list-multiple-title.mod-external::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-page-list-multiple-size {
  margin-left: 0.5em;
  color: rgb(var(--color-info));
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

.block-page-list-multiple-sign-suffix::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/new--a-1.svg?v=uw7s81b");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 1.2em;
  aspect-ratio: 100/50;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, .block-page-list-multiple-sign-suffix::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

.block-page-list-multiple-description {
  margin-top: var(--space-small-1);
}

.block-page-list-multiple-category-item {
  display: inline-block;
  vertical-align: bottom;
}
.block-page-list-multiple-category-item.mod-a {
  border: 1px solid rgb(var(--color-dimgray));
  color: rgb(var(--color-dimgray));
  font-size: var(--font-size-small-2);
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
}
.block-page-list-multiple-category-item.mod-b {
  background-color: rgb(var(--color-1));
  color: rgb(var(--color-white));
  font-size: var(--font-size-small-2);
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
}
.block-page-list-multiple-category-item.mod-prefix {
  margin-right: 1em;
}
.block-page-list-multiple-category-item.mod-suffix {
  margin-left: 1em;
}

.block-video {
  margin-top: var(--space-large-2);
}

/**
 * カスタムクラス
 */
/* ボックス */
.block-video-box-a {
  margin-top: var(--space-large-2);
}
.block-video-box-a > *:first-child, .block-video-box-a > *:first-child > .common-link-button, .block-video-box-a > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}
@media print, screen and (768px <= width) {
  .block-video-box-a {
    background-color: rgb(var(--color-38));
    padding-top: calc(var(--box-volume-horizontal) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    padding-bottom: calc(var(--box-volume-horizontal) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    padding-right: var(--box-volume-horizontal);
    padding-left: var(--box-volume-horizontal);
  }
}

.youtubeBlock {
  margin-top: var(--space-large-2);
}

/* リンク 共通 */
a.common-link {
  text-decoration-line: underline;
  text-decoration-color: rgb(var(--color-link), 0.6);
  transition-property: text-decoration-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  /* リンク */
  /* リンク 外部（ a[target="_blank"] で自動付与すると例外が必要になるため手動付与を推奨） */
  /**
   * 拡張スタイル
   */
}
@media (hover: hover) {
  a.common-link:hover {
    cursor: pointer;
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
@media (hover: none) {
  a.common-link:active {
    text-decoration-color: rgb(var(--color-link), 0);
  }
}
a.common-link.mod-external {
  margin-right: var(--marker-gap);
}
a.common-link.mod-external::after {
  display: inline-block;
  margin-top: calc(0em + -0.2em);
  background-image: url("../images/external--a-1.svg?v=uw7s826");
  background-size: contain;
  transform: rotateZ(0deg);
  height: 0.8em;
  aspect-ratio: 100/90;
  vertical-align: middle;
  content: "";
  /* Safari */
  margin-left: var(--marker-gap);
}
_:lang(x) + _:-webkit-full-screen-document, a.common-link.mod-external::after {
  margin-top: calc(0em + -0.2em - 0.05em);
}

/* リンク ボタン 共通 */
a.common-link-button {
  /* リンク ボタン */
  /* リンク ボタン B */
  /* リンク ボタン C */
  /**
   * 拡張スタイル
   */
  /* メール */
  /* ダウンロード */
}
a.common-link-button.mod-a {
  display: inline-block;
  margin-top: var(--link-button-gap-top);
  cursor: pointer;
  text-align: center;
  border-radius: var(--button-border-radius);
  padding-top: var(--button-volume-vertical);
  padding-bottom: var(--button-volume-vertical);
  padding-right: var(--button-volume-horizontal);
  padding-left: var(--button-volume-horizontal);
  background-image: linear-gradient(90deg, rgb(var(--color-3)), rgb(var(--color-5)) 50%, rgb(var(--color-7)));
  background-size: 200% 100%;
  cursor: pointer;
  text-align: center;
  color: rgb(var(--color-white));
  transition-property: background-position;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}
@media (hover: hover) {
  a.common-link-button.mod-a:hover {
    cursor: pointer;
    background-position: 100% 0;
    color: rgb(var(--color-white));
  }
}
@media (hover: none) {
  a.common-link-button.mod-a:active {
    background-position: 100% 0;
    color: rgb(var(--color-white));
  }
}
a.common-link-button.mod-b {
  display: block;
  margin-top: var(--link-button-gap-top);
  cursor: pointer;
  text-align: center;
  border-radius: var(--button-border-radius);
  padding-top: var(--button-volume-vertical);
  padding-bottom: var(--button-volume-vertical);
  padding-right: var(--button-volume-horizontal);
  padding-left: var(--button-volume-horizontal);
  border: 2px solid rgb(var(--button-border-color-enable));
  background-color: rgb(var(--button-background-color-enable), 1);
  color: rgb(var(--button-color-enable));
  transition-property: border, background-color, color, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
  position: relative;
  padding-right: calc(2em + 0.8em + var(--marker-gap));
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  a.common-link-button.mod-b:hover {
    cursor: pointer;
    border: 2px solid rgb(var(--button-border-color-active));
    background-color: rgb(var(--button-background-color-active));
    color: rgb(var(--button-color-active));
  }
}
@media (hover: none) {
  a.common-link-button.mod-b:active {
    border: 2px solid rgb(var(--button-border-color-active));
    background-color: rgb(var(--button-background-color-active));
    color: rgb(var(--button-color-active));
  }
}
a.common-link-button.mod-b::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%) rotateZ(180deg);
  background-image: url("../images/triangle--a-1-up.svg?v=uw7s82m");
  background-size: contain;
  height: 0.8em;
  aspect-ratio: 100/100;
  content: "";
}
@media (hover: hover) {
  a.common-link-button.mod-b:hover {
    cursor: pointer;
    position: relative;
    padding-right: calc(2em + 0.8em + var(--marker-gap));
  }
  a.common-link-button.mod-b:hover::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%) rotateZ(180deg);
    background-image: url("../images/triangle--a-white-up.svg?v=uw7s82r");
    background-size: contain;
    height: 0.8em;
    aspect-ratio: 100/100;
    content: "";
  }
}
@media (hover: none) {
  a.common-link-button.mod-b:active {
    position: relative;
    padding-right: calc(2em + 0.8em + var(--marker-gap));
  }
  a.common-link-button.mod-b:active::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%) rotateZ(180deg);
    background-image: url("../images/triangle--a-white-up.svg?v=uw7s834");
    background-size: contain;
    height: 0.8em;
    aspect-ratio: 100/100;
    content: "";
  }
}
a.common-link-button.mod-c {
  display: inline-block;
  margin-top: var(--link-button-gap-top);
  cursor: pointer;
  text-align: center;
  border-radius: var(--button-border-radius);
  padding-top: var(--button-volume-vertical);
  padding-bottom: var(--button-volume-vertical);
  padding-right: 3em;
  padding-left: 3em;
  border: 2px solid rgb(var(--button-border-color-enable));
  background-color: rgb(var(--button-background-color-enable), 1);
  color: rgb(var(--button-color-enable));
  transition-property: border, background-color, color, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
  /**
   * 拡張スタイル
   */
}
@media (hover: hover) {
  a.common-link-button.mod-c:hover {
    cursor: pointer;
    border: 2px solid rgb(var(--button-border-color-active));
    background-color: rgb(var(--button-background-color-active));
    color: rgb(var(--button-color-active));
  }
}
@media (hover: none) {
  a.common-link-button.mod-c:active {
    border: 2px solid rgb(var(--button-border-color-active));
    background-color: rgb(var(--button-background-color-active));
    color: rgb(var(--button-color-active));
  }
}
a.common-link-button.mod-c.mod-2 {
  border: 2px solid rgb(var(--color-white));
  background-color: rgb(var(--color-white), 0);
  color: rgb(var(--color-white));
  transition-property: border, background-color, color, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  a.common-link-button.mod-c.mod-2:hover {
    cursor: pointer;
    border: 2px solid rgb(var(--color-white));
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-normal));
  }
}
@media (hover: none) {
  a.common-link-button.mod-c.mod-2:active {
    border: 2px solid rgb(var(--color-white));
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-normal));
  }
}

/* 表 共通 */
.common-table {
  width: 100%;
  margin-top: var(--table-gap-top);
  /* 表 */
  /* 表 1 列目幅 20% */
  /* 表 ストライプ */
  /* 表 B */
  /**
   * 拡張スタイル
   */
  /* テーブル内の列を等幅にする */
  /* テーブル内のデータセルを左揃えで配置する */
  /* テーブル内のデータセルを中央揃えで配置する */
  /* テーブル内のデータセルを右揃えで配置する */
  /* テーブル内のデータセルを上下中央揃えで配置する */
}
.common-table th > *:first-child,
.common-table td > *:first-child {
  margin-top: 0;
}
.common-table.mod-a th, .common-table.mod-a td {
  border: 1px solid rgb(var(--color-stroke));
  padding-top: var(--space-large-1);
  padding-bottom: var(--space-large-1);
  padding-right: var(--space-large-1);
  padding-left: var(--space-large-1);
}
.common-table.mod-a th {
  text-align: center;
  vertical-align: middle;
  background-color: rgb(var(--color-8));
}
.common-table.mod-a td {
  vertical-align: top;
}
.common-table.mod-a.mod-first-column-20 th:first-child, .common-table.mod-a.mod-first-column-20 td:first-child {
  width: 20%;
}
.common-table.mod-b th, .common-table.mod-b td {
  padding-top: var(--space-small-2);
  padding-bottom: var(--space-small-2);
  padding-right: var(--space-small-2);
  padding-left: var(--space-small-2);
  /* 編集モードがオンの場合 */
}
.mod-edit-true .common-table.mod-b th, .mod-edit-true .common-table.mod-b td {
  border: 2px dotted rgb(var(--color-stroke));
}
.common-table.mod-b th {
  font-weight: var(--font-weight-bold);
  text-align: right;
  white-space: nowrap;
}
.common-table.mod-b td {
  vertical-align: top;
}
.common-table.mod-fixed {
  table-layout: fixed;
}
.common-table.mod-data-align-left td {
  text-align: left;
}
.common-table.mod-data-align-center td {
  text-align: center;
}
.common-table.mod-data-align-right td {
  text-align: right;
}
.common-table.mod-data-align-middle td {
  vertical-align: middle;
}

/* リスト 共通 */
/* 番号付きリスト 共通 */
.common-ordered-list {
  /* 番号付きリスト */
  /* 番号付きリスト B */
  /* 番号付きリスト 大文字 */
}
.common-ordered-list.mod-a {
  margin-top: var(--list-gap-top);
  counter-reset: a;
}
.common-ordered-list.mod-a + p {
  margin-top: var(--list-gap-top);
}
.common-ordered-list.mod-a li {
  position: relative;
  padding-left: calc(1.5em + var(--marker-gap-list));
}
.common-ordered-list.mod-a li:not(:first-child) {
  margin-top: var(--space-normal);
}
.common-ordered-list.mod-a li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  min-width: 1.5em;
  height: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: rgb(var(--color-1));
  text-align: right;
  content: counter(a, decimal) ".";
  counter-increment: a;
}
.common-ordered-list.mod-b {
  margin-top: var(--list-gap-top);
  counter-reset: b;
}
.common-ordered-list.mod-b + p {
  margin-top: var(--list-gap-top);
}
.common-ordered-list.mod-b li {
  position: relative;
  padding-left: calc(1.5em + var(--marker-gap-list));
}
.common-ordered-list.mod-b li:not(:first-child) {
  margin-top: var(--space-normal);
}
.common-ordered-list.mod-b li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2em;
  aspect-ratio: 1/1;
  font-size: var(--font-size-large-1);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: rgb(var(--color-white));
  content: counter(b, decimal);
  counter-increment: b;
  background-color: rgb(var(--color-1));
  border-radius: 50%;
  font-size: var(--font-size-small-2);
  line-height: var(--line-height-font-size-small-2);
}
.common-ordered-list.mod-upper-alpha.mod-a {
  margin-top: var(--list-gap-top);
  counter-reset: upper-alpha-a;
}
.common-ordered-list.mod-upper-alpha.mod-a + p {
  margin-top: var(--list-gap-top);
}
.common-ordered-list.mod-upper-alpha.mod-a li {
  position: relative;
  padding-left: calc(1.5em + var(--marker-gap-list));
}
.common-ordered-list.mod-upper-alpha.mod-a li:not(:first-child) {
  margin-top: var(--space-normal);
}
.common-ordered-list.mod-upper-alpha.mod-a li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  display: block;
  min-width: 1.5em;
  height: var(--font-size-normal);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: rgb(var(--color-1));
  text-align: right;
  content: counter(upper-alpha-a, upper-alpha) ".";
  counter-increment: upper-alpha-a;
}

/* 箇条書きリスト 共通 */
.common-unordered-list {
  /* 箇条書きリスト */
  /* 箇条書きリスト B */
}
.common-unordered-list.mod-a {
  margin-top: var(--list-gap-top);
}
.common-unordered-list.mod-a + p {
  margin-top: var(--list-gap-top);
}
.common-unordered-list.mod-a li {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.3em + var(--marker-gap-list));
  line-height: var(--line-height-font-size-normal);
}
.common-unordered-list.mod-a li::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-silver.svg?v=uw7s83m");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}
.common-unordered-list.mod-a li:not(:first-child) {
  margin-top: var(--space-normal);
}
/* 見出し 2 共通 */
.common-heading-2 {
  margin-top: var(--heading-2-gap-top);
  margin-bottom: var(--space-large-3);
  /* 見出し 2 */
  /* 見出し 2 B */
  /**
   * 拡張スタイル
   */
}
.common-heading-2.mod-a {
  font-weight: var(--font-weight-bold);
  padding-right: var(--space-small-2);
  padding-left: var(--space-small-2);
  font-size: var(--font-size-large-5);
  line-height: var(--line-height-font-size-large-5);
  position: relative;
  padding-bottom: calc(0.4em + 3px);
}
.common-heading-2.mod-a::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
}
.common-heading-2.mod-a::after {
  background-image: linear-gradient(90deg, rgb(var(--color-6)), rgb(var(--color-5)));
}
.common-heading-2.mod-b {
  font-family: var(--font-family-inter);
  font-weight: var(--font-weight-light);
  text-align: center;
  font-size: var(--font-size-large-7);
  line-height: var(--line-height-font-size-large-7);
}
.common-heading-2.mod-b::after {
  display: block;
  width: 2em;
  height: 2px;
  margin-top: var(--space-small-1);
  content: "";
  background-image: linear-gradient(90deg, rgb(var(--color-6)), rgb(var(--color-5)));
  margin-right: auto;
  margin-left: auto;
}

/* 見出し 3 共通 */
.common-heading-3 {
  margin-top: var(--heading-3-gap-top);
  margin-bottom: var(--space-large-2);
  /* 見出し 3 */
  /* 見出し 3 B */
  /**
   * 拡張スタイル
   */
}
.common-heading-3.mod-a {
  padding-top: var(--space-small-2);
  padding-bottom: calc(var(--space-small-2) + 10px);
  padding-left: calc(5px + var(--space-large-1));
  font-weight: var(--font-weight-bold);
  background-image: linear-gradient(0deg, rgb(var(--color-white)), rgb(var(--color-white)) 9px, transparent 9px, transparent 100%), linear-gradient(90deg, transparent 5px, rgb(var(--color-white)) 5px, rgb(var(--color-white)) 100%), linear-gradient(0deg, rgb(var(--color-6)), rgb(var(--color-5)));
  border-bottom: 2px solid rgb(var(--color-stroke));
  font-size: var(--font-size-large-4);
  line-height: var(--line-height-font-size-large-4);
}
/* 見出し 4 共通 */
.common-heading-4 {
  margin-top: var(--heading-4-gap-top);
  margin-bottom: var(--space-large-1);
  /* 見出し 4 */
  /* 見出し 4 B */
  /* 見出し 4 C */
  /**
   * 拡張スタイル
   */
}
.common-heading-4.mod-a {
  font-weight: var(--font-weight-bold);
  color: rgb(var(--color-1));
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}
.common-heading-4.mod-b {
  margin-bottom: 0;
  font-weight: var(--font-weight-bold);
  background-color: rgb(var(--color-stroke));
  padding-right: var(--space-large-1);
  padding-left: var(--space-large-1);
  padding-top: var(--space-normal);
  padding-bottom: var(--space-normal);
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}
.common-heading-4.mod-b.mod-2 {
  color: rgb(var(--color-white));
  background-color: rgb(var(--color-1));
}
.common-heading-4.mod-c {
  font-weight: var(--font-weight-bold);
  background-color: rgb(var(--color-fill));
  border-left: 5px solid rgb(var(--color-4));
  padding-right: var(--space-large-1);
  padding-left: var(--space-large-1);
  padding-top: var(--space-normal);
  padding-bottom: var(--space-normal);
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}

/* 見出し 5 共通 */
.common-heading-5 {
  margin-top: var(--heading-5-gap-top);
  /* 見出し 5 */
  /* 見出し 5 B */
  /**
   * 拡張スタイル
   */
}
.common-heading-5.mod-a {
  font-weight: var(--font-weight-bold);
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.6em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}
.common-heading-5.mod-a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.6em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/square--a-1.svg?v=uw7s84j");
  height: 0.6em;
  aspect-ratio: 100/100;
  content: "";
}
/* 見出し 6 共通 */
.common-heading-6 {
  margin-top: var(--heading-6-gap-top);
  /* 見出し 6 */
  /* 見出し 6 B */
  /**
   * 拡張スタイル
   */
}
.common-heading-6.mod-a {
  font-weight: var(--font-weight-bold);
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 20px + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}
.common-heading-6.mod-a::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 2px / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/rectangle-horizontal--a-1.svg?v=uw7s85b");
  height: 2px;
  aspect-ratio: 100/10;
  content: "";
}
/**
 * 拡張スタイル
 */
/* 段落 */
.common-paragraph {
  /* 段落 中央揃え */
  /* 段落 中央揃え スモールスクリーン */
  /* 段落 右揃え */
  /* 段落 署名 */
  /* 段落 注目 */
  /* 段落 マーカー リンク */
  /* 段落 マーカー 三角 */
  /* 段落 マーカー アスタリスク */
  /* 段落 マーカー チェック */
  /* 段落 マーカー 米印 */
  /* 段落 マーカー 注意 */
  /* 段落 マーカー 備考 */
  /* 段落 マーカー 注目 */
}
.common-paragraph:not(:has(> .common-link-button)) {
  margin-top: var(--paragraph-gap-top);
}
.common-paragraph.mod-align-center {
  text-align: center;
}
@media screen and (width < 480px) {
  .common-paragraph.mod-align-center-at-small {
    text-align: center;
  }
}
.common-paragraph.mod-align-right {
  text-align: right;
}
.common-paragraph.mod-signature {
  font-weight: var(--font-weight-bold);
  text-align: right;
}
.common-paragraph.mod-notice {
  margin-top: var(--heading-6-gap-top);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}
.common-paragraph.mod-marker-link {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
  /* 段落 マーカー リンク B */
}
.common-paragraph.mod-marker-link::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle-angle--a-1-right.svg?v=uw7s85n");
  height: 1em;
  aspect-ratio: 100/100;
  content: "";
}
.common-paragraph.mod-marker-triangle {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.6em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-triangle::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.6em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/triangle--a-silver-right.svg?v=uw7s86e");
  height: 0.6em;
  aspect-ratio: 100/100;
  content: "";
}
.common-paragraph.mod-marker-asterisk {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.8em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-asterisk::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.8em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/asterisk--a-1.svg?v=uw7s86w");
  height: 0.8em;
  aspect-ratio: 100/100;
  content: "";
}
.common-paragraph.mod-marker-check {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-check::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/check--a-1.svg?v=uw7s87d");
  height: 1em;
  aspect-ratio: 100/100;
  content: "";
}
.common-paragraph.mod-marker-reference {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-reference::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/reference--a-1.svg?v=uw7s88d");
  height: 1em;
  aspect-ratio: 100/100;
  content: "";
}
.common-paragraph.mod-marker-exclamation {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1.0309278351em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-exclamation::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/exclamation--a-1.svg?v=uw7s891");
  height: 1em;
  aspect-ratio: 100/97;
  content: "";
}
.common-paragraph.mod-marker-note {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1.032em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-paragraph.mod-marker-note::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1.2em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/pin--a-1.svg?v=uw7s89k");
  height: 1.2em;
  aspect-ratio: 86/100;
  content: "";
}
/**
 * カスタムクラス
 */
.common-lead {
  /* リード */
  /* リード B */
  /**
   * 拡張スタイル
   */
}
.common-lead.mod-a {
  margin-top: var(--heading-2-gap-top);
  font-size: var(--font-size-large-4);
  line-height: var(--line-height-font-size-large-4);
}
@media print, screen and (768px <= width) {
  .common-lead.mod-a {
    font-size: var(--font-size-large-6);
    line-height: var(--line-height-font-size-large-6);
  }
}
.common-lead.mod-b {
  margin-top: var(--space-large-3);
  font-size: var(--font-size-large-3);
  line-height: var(--line-height-font-size-large-3);
}

/* キャプション 共通 */
.common-caption {
  margin-top: var(--caption-gap-top);
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
  /* キャプション */
  /* キャプション 中央揃え */
  /* キャプション 右揃え */
  /* キャプション マーカー 丸 */
  /* キャプション マーカー 注目 */
}
.common-caption.mod-align-center {
  text-align: center;
}
.common-caption.mod-align-right {
  text-align: right;
}
.common-caption.mod-marker-circle {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 0.3em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-caption.mod-marker-circle::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 0.3em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/circle--a-1.svg?v=uw7s89l");
  height: 0.3em;
  aspect-ratio: 100/100;
  content: "";
}
.common-caption.mod-marker-attention {
  display: block;
  position: relative;
  padding-top: 0em;
  padding-left: calc(0em + 1em + var(--marker-gap));
  line-height: var(--line-height-font-size-normal);
}
.common-caption.mod-marker-attention::before {
  display: block;
  position: absolute;
  top: calc(var(--line-height-font-size-normal) * 1em / 2 - 1em / 2 + 0em + 0em);
  left: 0em;
  transform: rotateZ(0deg);
  opacity: 1;
  background-image: url("../images/attention--a-1.svg?v=uw7s89v");
  height: 1em;
  aspect-ratio: 100/100;
  content: "";
}

/* 注釈 共通 */
.common-annotation {
  margin-top: var(--annotation-gap-top);
  font-size: var(--font-size-small-2);
  line-height: var(--line-height-font-size-small-2);
  /* 注釈 */
  /* 注釈 中央揃え */
  /* 注釈 右揃え */
}
.common-annotation.mod-align-center {
  text-align: center;
}
.common-annotation.mod-align-right {
  text-align: right;
}

/* 重要 */
.common-strong {
  font-weight: var(--font-weight-bold);
}

/* 強調 */
.common-emphasis {
  font-style: italic;
  font-weight: var(--font-weight-bold);
}

/* 太字 */
.common-bold {
  font-weight: var(--font-weight-bold);
}

/* 下線 */
.common-underline {
  font-weight: var(--font-weight-bold);
  background-image: linear-gradient(0deg, rgb(var(--color-4)) 0.4em, transparent 0.4em, transparent 100%);
}

/* 注意 */
.common-caution {
  color: rgb(var(--color-caution));
}

/* 上付き */
/* 下付き */
/* 字間 */
.common-letter-spacing {
  /* 標準 */
}
.common-letter-spacing.mod-normal {
  letter-spacing: normal;
}

/* サイン */
.common-sign {
  display: inline-block;
  vertical-align: bottom;
}
.common-sign.mod-a {
  border: 1px solid rgb(var(--color-dimgray));
  color: rgb(var(--color-dimgray));
  font-size: var(--font-size-small-2);
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
}
.common-sign.mod-b {
  background-color: rgb(var(--color-1));
  color: rgb(var(--color-white));
  font-size: var(--font-size-small-2);
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
}
.common-sign.mod-prefix {
  margin-right: 1em;
}
.common-sign.mod-suffix {
  margin-left: 1em;
}

/**
 * カスタムクラス
 */
/* 余白を付与する */
.common-gap-top-container {
  margin-top: var(--container-gap-top) !important;
}

.common-gap-top-link-button {
  margin-top: var(--link-button-gap-top) !important;
}

.common-gap-top-table {
  margin-top: var(--table-gap-top) !important;
}

.common-gap-top-list {
  margin-top: var(--list-gap-top) !important;
}

.common-gap-top-heading-2 {
  margin-top: var(--heading-2-gap-top) !important;
}

.common-gap-top-heading-3 {
  margin-top: var(--heading-3-gap-top) !important;
}

.common-gap-top-heading-4 {
  margin-top: var(--heading-4-gap-top) !important;
}

.common-gap-top-heading-5 {
  margin-top: var(--heading-5-gap-top) !important;
}

.common-gap-top-heading-6 {
  margin-top: var(--heading-6-gap-top) !important;
}

.common-gap-top-paragraph {
  margin-top: var(--paragraph-gap-top) !important;
}

.common-gap-top-caption {
  margin-top: var(--caption-gap-top) !important;
}

.common-gap-top-image {
  margin-top: var(--image-gap-top) !important;
}

.common-gap-top-file {
  margin-top: var(--file-gap-top) !important;
}

.common-gap-top-negative {
  position: relative;
  margin-top: calc(var(--space-large-2) * -1) !important;
  /* 編集モードがオフの場合 */
}
.mod-edit-false .common-gap-top-negative {
  z-index: 2;
}

/* 余白を付与する */
/* 囲みを付与する */
.common-box-a,
.common-box-b {
  padding-top: var(--box-volume-horizontal);
  padding-bottom: var(--box-volume-horizontal);
  padding-right: var(--box-volume-horizontal);
  padding-left: var(--box-volume-horizontal);
}
.common-box-a > *:first-child, .common-box-a > *:first-child > .common-link-button, .common-box-a > .ccm-custom-style-container:first-child > *:first-child,
.common-box-b > *:first-child,
.common-box-b > *:first-child > .common-link-button,
.common-box-b > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.common-box-a {
  border: 1px solid rgb(var(--color-stroke));
}

.common-box-b {
  background-color: rgb(var(--color-fill));
  position: relative;
  padding-bottom: calc(var(--box-volume-horizontal) + 3px);
}
.common-box-b::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
}
.common-box-b::after {
  background-image: linear-gradient(90deg, rgb(var(--color-3)), rgb(var(--color-5)));
}

/* 要素を行内に配置する */
.common-row,
.common-row-center,
.common-row-right {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--row-gap-vertical-responsive);
  column-gap: var(--row-gap-horizontal-responsive);
}
.common-row > *, .common-row > * > .common-link-button,
.common-row-center > *,
.common-row-center > * > .common-link-button,
.common-row-right > *,
.common-row-right > * > .common-link-button {
  margin-top: 0 !important;
}

.common-row {
  justify-content: flex-start;
}

.common-row-center {
  justify-content: center;
}

.common-row-right {
  justify-content: flex-end;
}

.common-row-b {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--space-normal);
  column-gap: var(--space-normal);
}
.common-row-b > *, .common-row-b > * > .common-link-button {
  margin-top: 0 !important;
}

@media screen and (width < 480px) {
  .common-row-b > p {
    flex-basis: calc((100% - var(--space-normal) * 1) / 2);
  }
}

/* 要素を行内に配置する パイプ区切り */
.common-row-separator-a {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--space-normal);
  column-gap: calc(var(--space-normal) / 2);
  margin-top: var(--paragraph-gap-top);
}
.common-row-separator-a > *, .common-row-separator-a > * > .common-link-button {
  margin-top: 0 !important;
}
.common-row-separator-a > *:not(:last-child)::after {
  display: inline-block;
  margin-left: calc(var(--space-normal) / 2);
  color: rgb(var(--color-link));
  content: "|";
}

/* 水平スクロールで表示する */
@media screen and (width < 768px) {
  .common-scroll-horizontal-at-small {
    overflow: auto;
  }
}
@media screen and (width < 768px) {
  .common-scroll-horizontal-at-small .common-table {
    width: 768px;
  }
}

/**
 * 拡張スタイル
 */
/* 表示 */
.common-display-false {
  display: none;
}

@media screen and (width < 768px) {
  .common-display-false-at-lte-compact {
    display: none;
  }
}

@media print, screen and (width < 1024px) {
  .common-display-false-at-lte-medium {
    display: none;
  }
}

@media screen and (1024px <= width) {
  .common-display-false-at-large {
    display: none;
  }
}

/* 幅を設定する */
.common-width-5 {
  width: calc(5 * 1%) !important;
}

.common-width-10 {
  width: calc(10 * 1%) !important;
}

.common-width-15 {
  width: calc(15 * 1%) !important;
}

.common-width-20 {
  width: calc(20 * 1%) !important;
}

.common-width-25 {
  width: calc(25 * 1%) !important;
}

.common-width-30 {
  width: calc(30 * 1%) !important;
}

.common-width-35 {
  width: calc(35 * 1%) !important;
}

.common-width-40 {
  width: calc(40 * 1%) !important;
}

.common-width-45 {
  width: calc(45 * 1%) !important;
}

.common-width-50 {
  width: calc(50 * 1%) !important;
}

.common-width-55 {
  width: calc(55 * 1%) !important;
}

.common-width-60 {
  width: calc(60 * 1%) !important;
}

.common-width-65 {
  width: calc(65 * 1%) !important;
}

.common-width-70 {
  width: calc(70 * 1%) !important;
}

.common-width-75 {
  width: calc(75 * 1%) !important;
}

.common-width-80 {
  width: calc(80 * 1%) !important;
}

.common-width-85 {
  width: calc(85 * 1%) !important;
}

.common-width-90 {
  width: calc(90 * 1%) !important;
}

.common-width-95 {
  width: calc(95 * 1%) !important;
}

.common-width-100 {
  width: calc(100 * 1%) !important;
}

/* 間隔を付与する */
.common-gap-top-none {
  margin-top: 0 !important;
  /* カスタムスタイルで利用する場合 */
}
.common-gap-top-none.ccm-custom-style-container > *:first-child, .common-gap-top-none.ccm-custom-style-container > *:first-child > .common-link-button, .common-gap-top-none.ccm-custom-style-container > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.common-gap-top-normal {
  margin-top: var(--space-normal) !important;
}

.common-gap-top-large-1 {
  margin-top: var(--space-large-1) !important;
}

.common-gap-top-large-2 {
  margin-top: var(--space-large-2) !important;
}

.common-gap-top-large-3 {
  margin-top: var(--space-large-3) !important;
}

.common-gap-top-large-4 {
  margin-top: var(--space-large-4) !important;
}

.common-gap-top-large-5 {
  margin-top: var(--space-large-5) !important;
}

.common-gap-top-small-1 {
  margin-top: var(--space-small-1) !important;
}

.common-gap-top-small-2 {
  margin-top: var(--space-small-2) !important;
}

.common-left-em {
  margin-left: 1em !important;
}

.common-right-em {
  margin-right: 1em !important;
}

/* 背景を設定する */
.common-background-1 {
  background-color: rgb(var(--color-49));
}

.common-background-2 {
  background-color: rgb(var(--color-50));
}

.common-background-gradient-1 {
  background-image: linear-gradient(90deg, rgb(var(--color-39)), rgb(var(--color-40)));
}

.common-background-gradient-1-reverse {
  background-image: linear-gradient(270deg, rgb(var(--color-39)), rgb(var(--color-40)));
}

/* 左揃えで配置する */
.common-align-left {
  text-align: left !important;
}

/* 中央揃えで配置する */
.common-align-center {
  text-align: center !important;
}

/* 右揃えで配置する */
.common-align-right {
  text-align: right !important;
}

/* 上下左右中央揃えで配置する column 方向 */
.common-align-justify-center-column {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* 上下左右中央揃えで配置する row 方向 */
.common-align-justify-center-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* 文字サイズを設定する */
.common-font-size {
  font-size: var(--font-size-normal);
  line-height: var(--line-height-font-size-normal);
}

.common-font-size-large-1 {
  font-size: var(--font-size-large-1);
  line-height: var(--line-height-font-size-large-1);
}

.common-font-size-large-2 {
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}

.common-font-size-large-3 {
  font-size: var(--font-size-large-3);
  line-height: var(--line-height-font-size-large-3);
}

.common-font-size-large-4 {
  font-size: var(--font-size-large-4);
  line-height: var(--line-height-font-size-large-4);
}

.common-font-size-large-5 {
  font-size: var(--font-size-large-5);
  line-height: var(--line-height-font-size-large-5);
}

.common-font-size-large-6 {
  font-size: var(--font-size-large-6);
  line-height: var(--line-height-font-size-large-6);
}

.common-font-size-large-7 {
  font-size: var(--font-size-large-7);
  line-height: var(--line-height-font-size-large-7);
}

.common-font-size-small-1 {
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

.common-font-size-small-2 {
  font-size: var(--font-size-small-2);
  line-height: var(--line-height-font-size-small-2);
}

.common-font-weight-bold {
  font-weight: var(--font-weight-bold);
}

/* 文字を白色にする */
.common-color-white {
  color: rgb(var(--color-white));
}

/* ソースコードの改行で生じるインライン要素間の間隔を削除する */
/* Concrete CMS SVG スプライト <svg class="common-svg-sprite"></svg> */
.common-svg-sprite {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: var(--marker-gap);
  margin-left: var(--marker-gap);
}

/* Font Awesome アイコンフォント <i class="common-font-awesome"></i> */
.common-font-awesome {
  margin-right: var(--marker-gap);
  margin-left: var(--marker-gap);
}

.container-brick {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--container-gap-vertical-responsive);
  column-gap: var(--container-gap-horizontal-responsive);
  justify-content: center;
}

.container-brick-item > *:first-child, .container-brick-item > *:first-child > .common-link-button, .container-brick-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}
@media screen and (width < 768px) {
  .container-brick-item {
    flex-basis: 100%;
  }
}
@media print, screen and (768px <= width) {
  .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 1) / 2);
  }
}

@media screen and (width < 768px) {
  .mod-brick-3 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 1) / 2);
  }
}
@media print, screen and (768px <= width) {
  .mod-brick-3 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 2) / 3);
  }
}

@media screen and (width < 768px) {
  .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 1) / 2);
  }
}
@media print, screen and (768px <= width < 1024px) {
  .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 2) / 3);
  }
}
@media screen and (1024px <= width) {
  .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 3) / 4);
  }
}

@media screen and (width < 480px) {
  .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 1) / 2);
  }
}
@media screen and (480px <= width < 768px) {
  .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 2) / 3);
  }
}
@media print, screen and (768px <= width < 1024px) {
  .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 3) / 4);
  }
}
@media screen and (1024px <= width) {
  .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-responsive) * 4) / 5);
  }
}

/**
 * カスタムクラス
 */
/* 間隔を変更する 拡大 */
@media print, screen and (768px <= width) {
  .container-gap-wide .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 1) / 2);
  }
}

@media print, screen and (768px <= width) {
  .container-gap-wide .mod-brick-3 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 2) / 3);
  }
}

@media print, screen and (768px <= width < 1024px) {
  .container-gap-wide .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 2) / 3);
  }
}
@media screen and (1024px <= width) {
  .container-gap-wide .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 3) / 4);
  }
}

@media print, screen and (768px <= width < 1024px) {
  .container-gap-wide .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 3) / 4);
  }
}
@media screen and (1024px <= width) {
  .container-gap-wide .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-wide-responsive) * 4) / 5);
  }
}

/* 間隔を変更する 縮小 */
.container-gap-narrow .container-brick-item {
  flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 1) / 2);
}

@media screen and (width < 768px) {
  .container-gap-narrow .mod-brick-3 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 1) / 2);
  }
}
@media print, screen and (768px <= width) {
  .container-gap-narrow .mod-brick-3 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 2) / 3);
  }
}

@media screen and (width < 768px) {
  .container-gap-narrow .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 1) / 2);
  }
}
@media print, screen and (768px <= width < 1024px) {
  .container-gap-narrow .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 2) / 3);
  }
}
@media screen and (1024px <= width) {
  .container-gap-narrow .mod-brick-4 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 3) / 4);
  }
}

@media screen and (width < 480px) {
  .container-gap-narrow .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 1) / 2);
  }
}
@media screen and (480px <= width < 768px) {
  .container-gap-narrow .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 2) / 3);
  }
}
@media print, screen and (768px <= width < 1024px) {
  .container-gap-narrow .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 3) / 4);
  }
}
@media screen and (1024px <= width) {
  .container-gap-narrow .mod-brick-5 .container-brick-item {
    flex-basis: calc((100% - var(--container-gap-horizontal-narrow-responsive) * 4) / 5);
  }
}

/* 間隔を変更する 削除 */
@media print, screen and (768px <= width) {
  .container-gap-none .container-brick-item {
    flex-basis: 50%;
  }
}

@media print, screen and (768px <= width) {
  .container-gap-none .mod-brick-3 .container-brick-item {
    flex-basis: 33.3333333333%;
  }
}

@media print, screen and (768px <= width < 1024px) {
  .container-gap-none .mod-brick-4 .container-brick-item {
    flex-basis: 33.3333333333%;
  }
}
@media screen and (1024px <= width) {
  .container-gap-none .mod-brick-4 .container-brick-item {
    flex-basis: 25%;
  }
}

@media print, screen and (768px <= width < 1024px) {
  .container-gap-none .mod-brick-5 .container-brick-item {
    flex-basis: 25%;
  }
}
@media screen and (1024px <= width) {
  .container-gap-none .mod-brick-5 .container-brick-item {
    flex-basis: 20%;
  }
}

.container-column {
  grid-template-columns: repeat(2, 1fr);
  row-gap: var(--container-gap-vertical-responsive);
  column-gap: var(--container-gap-horizontal-responsive);
}
@media print, screen and (768px <= width) {
  .container-column {
    display: grid;
  }
}

@media print, screen and (768px <= width) {
  .container-column-item > *:first-child, .container-column-item > *:first-child > .common-link-button, .container-column-item > .ccm-custom-style-container:first-child > *:first-child {
    margin-top: 0 !important;
  }
}

/**
 * カスタムクラス
 */
/* 比率を変更する 10:90 */
.container-10-90 .container-column {
  grid-template-columns: 1fr 9fr;
}

.container-10-90.container-reverse .container-column {
  grid-template-columns: 9fr 1fr;
}

/* 比率を変更する 20:80 */
.container-20-80 .container-column {
  grid-template-columns: 2fr 8fr;
}

.container-20-80.container-reverse .container-column {
  grid-template-columns: 8fr 2fr;
}

/* 比率を変更する 30:70 */
.container-30-70 .container-column {
  grid-template-columns: 3fr 7fr;
}

.container-30-70.container-reverse .container-column {
  grid-template-columns: 7fr 3fr;
}

/* 比率を変更する 40:60 */
.container-40-60 .container-column {
  grid-template-columns: 4fr 6fr;
}

.container-40-60.container-reverse .container-column {
  grid-template-columns: 6fr 4fr;
}

/* 比率を変更する 60:40 */
.container-60-40 .container-column {
  grid-template-columns: 6fr 4fr;
}

.container-60-40.container-reverse .container-column {
  grid-template-columns: 4fr 6fr;
}

/* 比率を変更する 70:30 */
.container-70-30 .container-column {
  grid-template-columns: 7fr 3fr;
}

.container-70-30.container-reverse .container-column {
  grid-template-columns: 3fr 7fr;
}

/* 比率を変更する 80:20 */
.container-80-20 .container-column {
  grid-template-columns: 8fr 2fr;
}

.container-80-20.container-reverse .container-column {
  grid-template-columns: 2fr 8fr;
}

/* 比率を変更する 90:10 */
.container-90-10 .container-column {
  grid-template-columns: 9fr 1fr;
}

.container-90-10.container-reverse .container-column {
  grid-template-columns: 1fr 9fr;
}

/* 位置を反転する */
.container-reverse .container-column-item.mod-item-1 {
  order: 2;
}

.container-reverse .container-column-item.mod-item-2 {
  order: 1;
}

/* 列数を維持する */
.container-keep .container-column {
  display: grid;
}

.container-keep .container-column-item > *:first-child, .container-keep .container-column-item > *:first-child > .common-link-button, .container-keep .container-column-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.container-file-row {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--space-large-1);
  column-gap: var(--space-large-1);
}
.container-file-row > *, .container-file-row > * > .common-link-button {
  margin-top: 0 !important;
}

@media print, screen and (480px <= width) {
  .container-float {
    display: flow-root;
  }
}

@media print, screen and (480px <= width) {
  .container-float-item:first-child {
    width: calc(50% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: right;
    margin-right: 0;
    margin-left: var(--container-float-gap-horizontal-responsive);
  }
  .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-float-item:last-child {
    margin-left: 0;
    margin-right: 50%;
  }
  .container-float-item > *:first-child, .container-float-item > *:first-child > .common-link-button, .container-float-item > .ccm-custom-style-container:first-child > *:first-child {
    margin-top: 0 !important;
  }
}

/**
 * カスタムクラス
 */
/* 比率を変更する 60:40 */
@media print, screen and (480px <= width) {
  .container-60-40 .container-float-item:first-child {
    width: calc(40% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: right;
    margin-right: 0;
    margin-left: var(--container-float-gap-horizontal-responsive);
  }
  .container-60-40 .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-60-40 .container-float-item:last-child {
    margin-left: 0;
    margin-right: 40%;
  }
}

.container-60-40.container-keep .container-float-item:first-child {
  width: calc(40% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: right;
  margin-right: 0;
  margin-left: var(--container-float-gap-horizontal-responsive);
}
.container-60-40.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-60-40.container-keep .container-float-item:last-child {
  margin-left: 0;
  margin-right: 40%;
}

@media print, screen and (480px <= width) {
  .container-60-40.container-reverse .container-float-item:first-child {
    width: calc(40% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: left;
    margin-right: var(--container-float-gap-horizontal-responsive);
    margin-left: 0;
  }
  .container-60-40.container-reverse .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-60-40.container-reverse .container-float-item:last-child {
    margin-left: 40%;
    margin-right: 0;
  }
}

.container-60-40.container-reverse.container-keep .container-float-item:first-child {
  width: calc(40% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: left;
  margin-right: var(--container-float-gap-horizontal-responsive);
  margin-left: 0;
}
.container-60-40.container-reverse.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-60-40.container-reverse.container-keep .container-float-item:last-child {
  margin-left: 40%;
  margin-right: 0;
}

/* 比率を変更する 70:30 */
@media print, screen and (480px <= width) {
  .container-70-30 .container-float-item:first-child {
    width: calc(30% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: right;
    margin-right: 0;
    margin-left: var(--container-float-gap-horizontal-responsive);
  }
  .container-70-30 .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-70-30 .container-float-item:last-child {
    margin-left: 0;
    margin-right: 30%;
  }
}

.container-70-30.container-keep .container-float-item:first-child {
  width: calc(30% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: right;
  margin-right: 0;
  margin-left: var(--container-float-gap-horizontal-responsive);
}
.container-70-30.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-70-30.container-keep .container-float-item:last-child {
  margin-left: 0;
  margin-right: 30%;
}

@media print, screen and (480px <= width) {
  .container-70-30.container-reverse .container-float-item:first-child {
    width: calc(30% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: left;
    margin-right: var(--container-float-gap-horizontal-responsive);
    margin-left: 0;
  }
  .container-70-30.container-reverse .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-70-30.container-reverse .container-float-item:last-child {
    margin-left: 30%;
    margin-right: 0;
  }
}

.container-70-30.container-reverse.container-keep .container-float-item:first-child {
  width: calc(30% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: left;
  margin-right: var(--container-float-gap-horizontal-responsive);
  margin-left: 0;
}
.container-70-30.container-reverse.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-70-30.container-reverse.container-keep .container-float-item:last-child {
  margin-left: 30%;
  margin-right: 0;
}

/* 比率を変更する 80:20 */
@media print, screen and (480px <= width) {
  .container-80-20 .container-float-item:first-child {
    width: calc(20% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: right;
    margin-right: 0;
    margin-left: var(--container-float-gap-horizontal-responsive);
  }
  .container-80-20 .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-80-20 .container-float-item:last-child {
    margin-left: 0;
    margin-right: 20%;
  }
}

.container-80-20.container-keep .container-float-item:first-child {
  width: calc(20% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: right;
  margin-right: 0;
  margin-left: var(--container-float-gap-horizontal-responsive);
}
.container-80-20.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-80-20.container-keep .container-float-item:last-child {
  margin-left: 0;
  margin-right: 20%;
}

@media print, screen and (480px <= width) {
  .container-80-20.container-reverse .container-float-item:first-child {
    width: calc(20% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: left;
    margin-right: var(--container-float-gap-horizontal-responsive);
    margin-left: 0;
  }
  .container-80-20.container-reverse .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-80-20.container-reverse .container-float-item:last-child {
    margin-left: 20%;
    margin-right: 0;
  }
}

.container-80-20.container-reverse.container-keep .container-float-item:first-child {
  width: calc(20% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: left;
  margin-right: var(--container-float-gap-horizontal-responsive);
  margin-left: 0;
}
.container-80-20.container-reverse.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-80-20.container-reverse.container-keep .container-float-item:last-child {
  margin-left: 20%;
  margin-right: 0;
}

/* 比率を変更する 90:10 */
@media print, screen and (480px <= width) {
  .container-90-10 .container-float-item:first-child {
    width: calc(10% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: right;
    margin-right: 0;
    margin-left: var(--container-float-gap-horizontal-responsive);
  }
  .container-90-10 .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-90-10 .container-float-item:last-child {
    margin-left: 0;
    margin-right: 10%;
  }
}

.container-90-10.container-keep .container-float-item:first-child {
  width: calc(10% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: right;
  margin-right: 0;
  margin-left: var(--container-float-gap-horizontal-responsive);
}
.container-90-10.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-90-10.container-keep .container-float-item:last-child {
  margin-left: 0;
  margin-right: 10%;
}

@media print, screen and (480px <= width) {
  .container-90-10.container-reverse .container-float-item:first-child {
    width: calc(10% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: left;
    margin-right: var(--container-float-gap-horizontal-responsive);
    margin-left: 0;
  }
  .container-90-10.container-reverse .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-90-10.container-reverse .container-float-item:last-child {
    margin-left: 10%;
    margin-right: 0;
  }
}

.container-90-10.container-reverse.container-keep .container-float-item:first-child {
  width: calc(10% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: left;
  margin-right: var(--container-float-gap-horizontal-responsive);
  margin-left: 0;
}
.container-90-10.container-reverse.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-90-10.container-reverse.container-keep .container-float-item:last-child {
  margin-left: 10%;
  margin-right: 0;
}

/* 位置を反転する */
@media print, screen and (480px <= width) {
  .container-reverse .container-float-item:first-child {
    width: calc(50% - var(--container-float-gap-horizontal-responsive) / 2);
    padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
    float: left;
    margin-right: var(--container-float-gap-horizontal-responsive);
    margin-left: 0;
  }
  .container-reverse .container-float-item:last-child {
    /*  編集モードで最初のアイテムがクリックできない問題に対応する */
  }
  .mod-edit-true .container-reverse .container-float-item:last-child {
    margin-left: 50%;
    margin-right: 0;
  }
}

.container-reverse.container-keep .container-float-item:first-child {
  width: calc(50% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: left;
  margin-right: var(--container-float-gap-horizontal-responsive);
  margin-left: 0;
}
.container-reverse.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-reverse.container-keep .container-float-item:last-child {
  margin-left: 50%;
  margin-right: 0;
}

/* 列数を維持する */
.container-keep .container-float {
  display: flow-root;
}

.container-keep .container-float-item:first-child {
  width: calc(50% - var(--container-float-gap-horizontal-responsive) / 2);
  padding-bottom: calc(var(--container-float-gap-horizontal-responsive) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  float: right;
  margin-right: 0;
  margin-left: var(--container-float-gap-horizontal-responsive);
}
.container-keep .container-float-item:last-child {
  /*  編集モードで最初のアイテムがクリックできない問題に対応する */
}
.mod-edit-true .container-keep .container-float-item:last-child {
  margin-left: 0;
  margin-right: 50%;
}
.container-keep .container-float-item > *:first-child, .container-keep .container-float-item > *:first-child > .common-link-button, .container-keep .container-float-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.container-grid {
  display: grid;
  row-gap: var(--container-gap-vertical-responsive);
  column-gap: var(--container-gap-horizontal-responsive);
}
@media screen and (width < 768px) {
  .container-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media print, screen and (768px <= width) {
  .container-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (width < 768px) {
  .container-grid.mod-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (768px <= width) {
  .container-grid.mod-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (width < 480px) {
  .container-grid.mod-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (480px <= width) {
  .container-grid.mod-grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (1024px <= width) {
  .container-grid.mod-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (width < 480px) {
  .container-grid.mod-grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (480px <= width < 768px) {
  .container-grid.mod-grid-5 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (768px <= width < 1024px) {
  .container-grid.mod-grid-5 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (1024px <= width) {
  .container-grid.mod-grid-5 {
    grid-template-columns: repeat(5, 1fr);
  }
}

.container-grid-item > *:first-child, .container-grid-item > *:first-child > .common-link-button, .container-grid-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

/**
 * カスタムクラス
 */
/*  */
@media screen and (1024px <= width) {
  .container-label {
    display: grid;
    grid-template-columns: 220px 1fr;
  }
}

.container-label-item.mod-item-1,
.container-label-item.mod-item-2 {
  padding-top: var(--space-large-1);
  padding-bottom: var(--space-large-1);
  padding-right: var(--space-large-2);
  padding-left: var(--space-large-2);
}
.container-label-item.mod-item-1 > *:first-child, .container-label-item.mod-item-1 > *:first-child > .common-link-button, .container-label-item.mod-item-1 > .ccm-custom-style-container:first-child > *:first-child,
.container-label-item.mod-item-2 > *:first-child,
.container-label-item.mod-item-2 > *:first-child > .common-link-button,
.container-label-item.mod-item-2 > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

@media print, screen and (width < 1024px) {
  .container-label-item.mod-item-1 {
    position: relative;
  }
}
@media screen and (1024px <= width) {
  .container-label-item.mod-item-1 {
    display: grid;
    align-items: center;
    justify-content: center;
  }
}
.mod-a .container-label-item.mod-item-1 {
  color: rgb(var(--color-white));
  background-image: linear-gradient(90deg, rgb(var(--color-11)), rgb(var(--color-12)));
}

.mod-a .container-label-item.mod-item-2 {
  background-color: rgb(var(--color-fill));
}

.container-normal-item > *:first-child, .container-normal-item > *:first-child > .common-link-button, .container-normal-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

/**
 * カスタムクラス
 */
/* 間隔を変更する 拡大 */
@media print, screen and (768px <= width) {
  .container-gap-wide .container-brick,
  .container-gap-wide .container-grid {
    row-gap: var(--container-gap-horizontal-wide-responsive);
    column-gap: var(--container-gap-vertical-wide-responsive);
  }
}

/* 間隔を変更する 縮小 */
.container-gap-narrow .container-brick,
.container-gap-narrow .container-grid {
  row-gap: var(--container-gap-horizontal-narrow-responsive);
  column-gap: var(--container-gap-vertical-narrow-responsive);
}

/* 間隔を変更する 削除 */
.container-gap-none .container-brick,
.container-gap-none .container-grid {
  row-gap: 0;
  column-gap: 0;
}

/* 角丸を付与する */
.container-item-round .container-brick-item,
.container-item-round .container-column,
.container-item-round .container-grid-item {
  overflow: hidden;
  background-color: rgb(var(--color-13));
  border-radius: var(--box-border-radius-normal);
}

/* 囲みを付与する */
.container-box-a,
.container-box-b {
  padding-top: var(--box-volume-horizontal);
  padding-bottom: var(--box-volume-horizontal);
  padding-right: var(--box-volume-horizontal);
  padding-left: var(--box-volume-horizontal);
}

.container-box-a {
  border: 1px solid rgb(var(--color-stroke));
}

.container-box-b {
  background-color: rgb(var(--color-fill));
  position: relative;
  padding-bottom: calc(var(--box-volume-horizontal) + 3px);
}
.container-box-b::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
}
.container-box-b::after {
  background-image: linear-gradient(90deg, rgb(var(--color-3)), rgb(var(--color-5)));
}

@media screen and (width < 768px) {
  .container-box-a .container-column-item:first-child > *:first-child, .container-box-a .container-column-item:first-child > *:first-child > .common-link-button, .container-box-a .container-column-item:first-child > .ccm-custom-style-container:first-child > *:first-child,
  .container-box-a .container-float-item:first-child > *:first-child,
  .container-box-a .container-float-item:first-child > *:first-child > .common-link-button,
  .container-box-a .container-float-item:first-child > .ccm-custom-style-container:first-child > *:first-child,
  .container-box-b .container-column-item:first-child > *:first-child,
  .container-box-b .container-column-item:first-child > *:first-child > .common-link-button,
  .container-box-b .container-column-item:first-child > .ccm-custom-style-container:first-child > *:first-child,
  .container-box-b .container-float-item:first-child > *:first-child,
  .container-box-b .container-float-item:first-child > *:first-child > .common-link-button,
  .container-box-b .container-float-item:first-child > .ccm-custom-style-container:first-child > *:first-child {
    margin-top: 0 !important;
  }
}

/* アイテムに囲みを付与する */
.container-item-box-a .container-brick-item,
.container-item-box-a .container-column-item,
.container-item-box-a .container-grid-item,
.container-item-box-b .container-brick-item,
.container-item-box-b .container-column-item,
.container-item-box-b .container-grid-item {
  padding-top: var(--box-volume-horizontal);
  padding-bottom: var(--box-volume-horizontal);
  padding-right: var(--box-volume-horizontal);
  padding-left: var(--box-volume-horizontal);
}

.container-item-box-a .container-column-item > *:first-child, .container-item-box-a .container-column-item > *:first-child > .common-link-button, .container-item-box-a .container-column-item > .ccm-custom-style-container:first-child > *:first-child,
.container-item-box-b .container-column-item > *:first-child,
.container-item-box-b .container-column-item > *:first-child > .common-link-button,
.container-item-box-b .container-column-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.container-item-box-a .container-brick-item,
.container-item-box-a .container-column-item,
.container-item-box-a .container-grid-item {
  background-color: rgb(var(--color-fill));
  border: 1px solid rgb(var(--color-stroke));
}

.container-item-box-b .container-brick-item,
.container-item-box-b .container-column-item,
.container-item-box-b .container-grid-item {
  background-color: rgb(var(--color-fill));
  position: relative;
  padding-bottom: calc(var(--box-volume-horizontal) + 3px);
}
.container-item-box-b .container-brick-item::after,
.container-item-box-b .container-column-item::after,
.container-item-box-b .container-grid-item::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
}
.container-item-box-b .container-brick-item::after,
.container-item-box-b .container-column-item::after,
.container-item-box-b .container-grid-item::after {
  background-image: linear-gradient(90deg, rgb(var(--color-3)), rgb(var(--color-5)));
}

.part-wrapper {
  position: relative;
  font-weight: var(--font-weight-normal);
  font-feature-settings: "pkna" 1;
  color: rgb(var(--color-normal));
  font-family: var(--font-family-sans);
  font-size: var(--font-size-normal);
  line-height: var(--line-height-font-size-normal);
}
:lang(ja) .part-wrapper {
  font-family: var(--font-family-sans);
}
:lang(en) .part-wrapper {
  font-family: var(--font-family-sans-en);
}
:lang(zh) .part-wrapper {
  font-family: var(--font-family-sans-cn);
}

.part-wrapper-inner {
  /* 編集モードがオフの場合 */
}
.mod-edit-false .part-wrapper-inner {
  animation-name: fade-in;
  animation-duration: 1.2s;
  animation-timing-function: var(--ease-out-expo);
  animation-delay: 0.2s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: both;
  animation-play-state: running;
}

.part-wrapper-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--color-black), 0.8);
  visibility: hidden;
  opacity: 0;
  transition-property: visibility, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
.part-wrapper-overlay[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
}
.part-wrapper-overlay[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
}

.part-wrapper-overlay-image {
  visibility: hidden;
  opacity: 0;
  transition-property: visibility, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}
.part-wrapper-overlay-image[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
}
.part-wrapper-overlay-image[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
}
.part-wrapper-overlay-image[aria-hidden=false] {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 7;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  cursor: zoom-out;
  background-color: rgb(var(--color-black), 0.8);
}

.part-wrapper-overlay-image img {
  max-width: 80%;
  max-height: 80%;
}

.part-header {
  width: 100%;
  background-color: rgb(var(--color-white));
  box-shadow: 0 0 var(--shadow-blur) var(--shadow-spread) rgb(var(--shadow-color), 1);
  transition-property: background-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 管理画面パネルがなく編集モード以外の場合 */
  /* 編集モード以外の場合 */
  /* 編集モード以外でツールバーがある場合 */
}
@media screen and (1024px <= width) {
  .part-header {
    background-color: rgb(var(--color-1));
  }
}
html:not(.ccm-panel-open) .mod-edit-false .part-header {
  position: fixed;
}
.mod-edit-false .part-header {
  top: 0;
  z-index: 6;
}
.ccm-toolbar-visible .mod-edit-false .part-header {
  top: var(--toolbar-height);
}

@media screen and (1024px <= width) {
  .part-header-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
  }
}

.part-header-masthead {
  background-color: rgb(var(--color-white));
  padding-top: var(--header-volume-vertical-responsive);
  padding-bottom: var(--header-volume-vertical-responsive);
  padding-right: var(--header-volume-horizontal-responsive);
  padding-left: var(--header-volume-horizontal-responsive);
  transition-property: padding;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}

.part-header-masthead-inner {
  height: var(--header-site-logo-height-responsive);
  aspect-ratio: var(--header-site-logo-image-width)/var(--header-site-logo-image-height);
  transition-property: height;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}

.part-header-control {
  /* ツールバーがある場合 */
}
@media print, screen and (width < 1024px) {
  .part-header-control {
    position: fixed;
    top: 0;
    right: 0;
  }
}
@media screen and (1024px <= width) {
  .part-header-control {
    display: none;
  }
}
.ccm-toolbar-visible .part-header-control {
  top: var(--toolbar-height);
}

.part-header-control-element {
  position: relative;
  display: block;
  height: calc(var(--header-volume-vertical-responsive) * 2 + var(--header-site-logo-height-responsive));
  aspect-ratio: 1/1;
  cursor: pointer;
  background-color: rgb(var(--color-1), 0.8);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  outline: none;
  transition-property: height, background-color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-header-control-element:hover {
    cursor: pointer;
    background-color: rgb(var(--color-1));
  }
}
@media (hover: none) {
  .part-header-control-element:active {
    background-color: rgb(var(--color-1));
  }
}
.part-header-control-item.mod-menu .part-header-control-element::before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../images/square-menu--a-open.svg?v=uw7s8al");
  background-size: contain;
}
.part-header-control-item.mod-menu .part-header-control-element[aria-expanded=true]::before {
  background-image: url("../images/square-menu--a-close.svg?v=uw7s8b7");
}

.part-header-tool {
  /* mixin.aria-hidden のエフェクトを無効にする */
}
@media print, screen and (width < 1024px) {
  .part-header-tool {
    position: fixed;
    top: var(--header-height);
    left: 0;
    z-index: 5;
    width: 100%;
    max-height: calc(100% - (var(--header-volume-vertical-responsive) * 2 + var(--header-site-logo-height-responsive)));
    padding-top: var(--space-large-3);
    padding-bottom: var(--space-large-3);
    overflow: auto;
    overscroll-behavior-y: contain;
    background-color: rgb(var(--color-1));
    border-top: 1px solid rgb(var(--color-white));
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
    visibility: hidden;
    opacity: 0;
    transition-property: visibility, opacity;
    transition-duration: 0.8s;
    transition-timing-function: var(--ease-out-expo);
    transition-delay: 0s;
    transition-property: visibility, opacity, top;
    transition-duration: 0.8s;
    transition-timing-function: var(--ease-out-expo);
    transition-delay: 0s;
  }
  .part-header-tool[aria-hidden=true] {
    visibility: hidden;
    opacity: 0;
  }
  .part-header-tool[aria-hidden=false] {
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (1024px <= width) {
  .part-header-tool {
    padding-right: var(--space-normal);
  }
}
.part-header-tool.mod-effect-false {
  transition-property: top;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
}

@media screen and (1024px <= width) {
  .part-header-tool-inner {
    display: flex;
    flex-direction: column-reverse;
    align-items: end;
    justify-content: space-between;
    height: 100%;
  }
}

@media screen and (1024px <= width) {
  .part-header-tool-upper {
    display: flex;
    column-gap: var(--space-large-2);
  }
}

.part-header-tool-lower {
  /* スクロール位置が normal の場合 */
}
@media screen and (1024px <= width) {
  .part-header-tool-lower {
    display: flex;
    column-gap: var(--space-large-4);
    max-height: 2em;
    margin-top: var(--space-large-1);
    opacity: 1;
    transition-property: max-height, opacity;
    transition-duration: 0.8s;
    transition-timing-function: var(--ease-out-expo);
    transition-delay: 0s;
  }
}
@media screen and (1024px <= width) {
  .part-wrapper.mod-scroll-normal .part-header-tool-lower {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
  }
}

@media print, screen and (width < 1024px) {
  .part-header-link {
    margin-top: var(--space-large-4);
  }
}

.part-header-language {
  display: flex;
  column-gap: var(--space-small-1);
  align-items: center;
}
@media print, screen and (width < 1024px) {
  .part-header-language {
    justify-content: center;
    margin-top: var(--space-large-3);
  }
}

.part-header-language-element {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.4em;
  aspect-ratio: 1/1;
  color: rgb(var(--color-white));
  background-color: rgb(var(--color-2));
  border-radius: 50%;
  font-size: var(--font-size-small-2);
  line-height: var(--line-height-font-size-small-2);
  transition-property: background-color, color;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-header-language-element:hover {
    cursor: pointer;
    color: rgb(var(--color-normal));
    background-color: rgb(var(--color-white));
  }
}
@media (hover: none) {
  .part-header-language-element:active {
    color: rgb(var(--color-normal));
    background-color: rgb(var(--color-white));
  }
}
:lang(ja) .part-header-language-item.mod-ja .part-header-language-element {
  color: rgb(var(--color-normal));
  background-color: rgb(var(--color-white));
}
:lang(en) .part-header-language-item.mod-en .part-header-language-element {
  color: rgb(var(--color-normal));
  background-color: rgb(var(--color-white));
}
:lang(zh) .part-header-language-item.mod-cn .part-header-language-element {
  color: rgb(var(--color-normal));
  background-color: rgb(var(--color-white));
}

.part-middle {
  transition-property: margin-top;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 管理画面パネルがなく編集モード以外の場合 */
  /* 編集モード以外でツールバーがある場合 */
  /* home ページテンプレート */
  /* 編集モード以外の場合 */
  /* 編集モード以外でツールバーがある場合 */
}
html:not(.ccm-panel-open) .mod-edit-false .part-middle {
  margin-top: var(--header-height-responsive);
}
html:not(.ccm-panel-open).ccm-toolbar-visible .mod-edit-false .part-middle {
  margin-top: calc(var(--header-height-responsive) + var(--toolbar-height));
}
html:not(.ccm-panel-open) .mod-edit-false.mod-template-home .part-middle {
  margin-top: calc(var(--header-height-responsive) + var(--visual-height-responsive));
}
html:not(.ccm-panel-open).ccm-toolbar-visible .mod-edit-false.mod-template-home .part-middle {
  margin-top: calc(var(--header-height-responsive) + var(--visual-height-responsive) + var(--toolbar-height));
}

.part-middle-inner {
  background-color: rgb(var(--color-white));
}

.part-breadcrumb {
  background-color: rgb(var(--color-black));
}
@media screen and (1024px <= width) {
  .part-breadcrumb {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-breadcrumb-inner {
  padding-top: var(--space-small-2);
  padding-bottom: var(--space-small-2);
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

.part-signboard {
  background-image: url("../images/signboard.webp?v=uw7s8bg");
  background-position: center;
  background-size: cover;
  border-bottom: var(--space-large-3) solid rgb(var(--color-4));
}
.mod-category-topics .part-signboard {
  background-image: url("../images/signboard-topics.webp?v=uw7s8bt");
}
.mod-category-products .part-signboard {
  background-image: url("../images/signboard-products.webp?v=uw7s8ct");
}
.mod-category-sustainability .part-signboard {
  background-image: url("../images/signboard-sustainability.webp?v=uw7s8de");
}
.mod-category-company .part-signboard {
  background-image: url("../images/signboard-company.webp?v=uw7s8dl");
}
.mod-category-recruit .part-signboard {
  background-image: url("../images/signboard-recruit.webp?v=uw7s8e9");
}
@media screen and (1024px <= width) {
  .part-signboard {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-signboard-inner {
  padding-top: var(--space-large-5);
  padding-bottom: var(--space-large-5);
  margin-right: var(--page-volume-horizontal-responsive);
  margin-left: var(--page-volume-horizontal-responsive);
}

.part-signboard-category {
  color: rgb(var(--color-white));
  text-align: center;
  padding-right: var(--space-normal);
  padding-left: var(--space-normal);
  font-size: var(--font-size-large-4);
  line-height: var(--line-height-font-size-large-4);
}
.part-signboard-category::after {
  display: block;
  width: 7em;
  height: 1px;
  margin-top: var(--space-small-1);
  content: "";
  background-color: rgb(var(--color-4));
  margin-right: auto;
  margin-left: auto;
}

@media screen and (1024px <= width) {
  .part-isolation {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-isolation-inner {
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

.part-central {
  padding-top: var(--space-large-4);
  padding-bottom: var(--space-large-5);
}

.part-central-inner {
  /* カラム */
  /* カラム 2 列 */
}
@media screen and (1024px <= width) {
  .part-central-inner.mod-column {
    display: grid;
    column-gap: var(--side-gap);
    align-items: start;
  }
}
@media screen and (1024px <= width) {
  .part-central-inner.mod-column-2 {
    grid-template-columns: 1fr var(--side-width);
  }
}

@media screen and (1024px <= width) {
  .mod-column .part-central-item > *:first-child, .mod-column .part-central-item > *:first-child > .common-link-button, .mod-column .part-central-item > .ccm-custom-style-container:first-child > *:first-child {
    margin-top: 0 !important;
  }
}
.part-central-item.mod-item-2 {
  /* ツールバーがある場合 */
}
@media screen and (1024px <= width) {
  .part-central-item.mod-item-2 {
    position: sticky;
    top: calc(var(--header-height-responsive) + var(--space-normal));
    margin-top: calc((var(--space-large-4) + var(--space-large-3) + 1em * var(--line-height-font-size-normal)) * -1);
  }
}
@media screen and (1024px <= width) {
  .ccm-toolbar-visible .part-central-item.mod-item-2 {
    top: calc(var(--header-height-responsive) + var(--space-normal) + var(--toolbar-height));
  }
}

.part-central-header-heading {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large-6);
  line-height: var(--line-height-font-size-large-6);
}

.part-central-header-date {
  margin-top: var(--space-small-2);
}

.part-main-header-heading {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-large-6);
  line-height: var(--line-height-font-size-large-6);
}

.part-main-header-date {
  margin-top: var(--space-small-2);
}

.part-main-header-attribute {
  margin-top: var(--paragraph-gap-top);
}

.part-main-content {
  margin-top: var(--space-large-5);
}
.part-main-content > *:first-child, .part-main-content > *:first-child > .common-link-button, .part-main-content > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

@media print, screen and (width < 1024px) {
  .part-side {
    padding-top: var(--space-large-5);
  }
}
.part-side-navigation-heading {
  background-image: linear-gradient(0deg, transparent 3px, rgb(var(--color-black)) 3px, rgb(var(--color-black)) 100%), linear-gradient(90deg, rgb(var(--color-4)), rgb(var(--color-5)));
  padding-top: var(--space-large-3);
  padding-bottom: calc(var(--space-large-3) + 3px);
  padding-right: var(--space-large-1);
  padding-left: var(--space-large-1);
}

.part-side-navigation-heading a {
  color: rgb(var(--color-white));
}

.part-side-utility {
  margin-top: var(--space-large-3);
}

.part-lower {
  background-color: rgb(var(--color-fill));
}
@media screen and (1024px <= width) {
  .part-lower {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-lower-inner {
  padding-top: var(--space-large-5);
  padding-top: var(--space-large-3);
  padding-bottom: var(--space-large-3);
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

.part-lower-header > *:first-child, .part-lower-header > *:first-child > .common-link-button, .part-lower-header > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.part-lower-content {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--space-large-2);
  column-gap: var(--space-large-2);
  background-color: rgb(var(--color-9));
  padding-right: var(--space-large-3);
  padding-left: var(--space-large-3);
  padding-top: var(--space-large-3);
  padding-bottom: var(--space-large-3);
}

.part-lower-content-item {
  flex-grow: 1;
  color: rgb(var(--color-3));
  background-color: rgb(var(--color-white));
}
.part-lower-content-item > *:first-child, .part-lower-content-item > *:first-child > .common-link-button, .part-lower-content-item > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}
.part-lower-content-item.mod-full {
  width: 100%;
  padding-top: calc(var(--space-normal) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  padding-bottom: calc(var(--space-normal) - (var(--line-height-font-size-normal) - 1) / 2 * var(--font-size-normal));
  padding-right: var(--space-normal);
  padding-left: var(--space-normal);
}

.part-footer {
  position: relative;
}

.part-footer-control {
  right: var(--space-small-1);
  z-index: 3;
  visibility: hidden;
  opacity: 0;
  transition-property: visibility, opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 表示許可領域 */
  /* 表示禁止領域 */
}
.part-footer-control[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
}
.part-footer-control[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
}
.part-footer-control.mod-allow-area {
  position: fixed;
  bottom: var(--space-small-1);
}
@media print, screen and (width < 1024px) {
  .part-footer-control.mod-allow-area {
    bottom: var(--space-large-1);
  }
}
.part-footer-control.mod-deny-area {
  position: absolute;
  top: -1.5em;
}

.part-footer-control-top {
  position: relative;
  display: block;
  height: 3em;
  aspect-ratio: 1/1;
  cursor: pointer;
  opacity: 0.8;
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
.part-footer-control-top::before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../images/circle-angle--c-1-up.svg?v=uw7s8es");
  background-size: contain;
}
@media (hover: hover) {
  .part-footer-control-top:hover {
    cursor: pointer;
    opacity: 1;
  }
}
@media (hover: none) {
  .part-footer-control-top:active {
    opacity: 1;
  }
}

.part-footer-upper {
  background-image: url("../images/footer-upper.jpg?v=uw7s8f3");
  background-position: center;
  background-size: cover;
  padding-top: var(--space-large-5);
  padding-bottom: var(--space-large-5);
}
@media screen and (1024px <= width) {
  .part-footer-upper {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-footer-upper-inner {
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

.part-footer-utility > *:first-child, .part-footer-utility > *:first-child > .common-link-button, .part-footer-utility > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.part-footer-lower {
  padding-top: var(--space-large-2);
  padding-bottom: var(--space-large-2);
  color: rgb(var(--color-silver));
  background-color: rgb(var(--color-black));
}
@media screen and (1024px <= width) {
  .part-footer-lower {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-footer-lower-inner {
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

.part-footer-small {
  display: block;
  margin-top: var(--space-large-1);
  text-align: center;
  font-size: var(--font-size-small-2);
  line-height: var(--line-height-font-size-small-2);
}

.part-footer-small abbr {
  padding-right: 0.2em;
  font-family: var(--font-family-verdana);
  font-size: var(--font-size-small-1);
  line-height: var(--line-height-font-size-small-1);
}

.part-visual {
  width: 100%;
  transition-property: top;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 管理画面パネルがなく編集モード以外の場合 */
  /* 編集モード以外の場合 */
  /* 編集モード以外でツールバーがある場合 */
}
html:not(.ccm-panel-open) .mod-edit-false .part-visual {
  position: fixed;
}
.mod-edit-false .part-visual {
  top: var(--header-height-responsive);
  z-index: -1;
}
.ccm-toolbar-visible .mod-edit-false .part-visual {
  top: calc(var(--header-height-responsive) + var(--toolbar-height));
}

.part-visual-background > *:first-child, .part-visual-background > *:first-child > .common-link-button, .part-visual-background > .ccm-custom-style-container:first-child > *:first-child {
  margin-top: 0 !important;
}

.part-visual-foreground {
  /* 編集モード以外の場合 */
}
@media screen and (1024px <= width) {
  .part-topics {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

.part-topics-inner {
  padding-top: var(--space-large-4);
  padding-right: var(--page-volume-horizontal-responsive);
  padding-left: var(--page-volume-horizontal-responsive);
}

@media screen and (1024px <= width) {
  .part-recruit {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

@media print, screen and (width < 1024px) {
  .part-recruit-inner {
    padding-top: var(--space-large-5);
  }
}
@media screen and (1024px <= width) {
  .part-recruit-inner {
    padding-top: var(--space-large-5);
    padding-bottom: var(--space-large-5);
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}

@media print, screen and (768px <= width) {
  .part-products-inner {
    max-width: calc(var(--page-width-max) * 1.2);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (1024px <= width) {
  .part-products-inner {
    padding-left: var(--space-large-5);
  }
}

.part-products-box {
  background-image: linear-gradient(90deg, rgb(var(--color-11)), rgb(var(--color-12)));
}
@media print, screen and (768px <= width) {
  .part-products-box {
    padding: var(--page-volume-horizontal-responsive);
  }
}

@media screen and (1024px <= width) {
  .part-products-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: calc(var(--space-large-5) * -1);
  }
}

.part-products-tagline {
  /* 編集モード以外の場合 */
}
@media screen and (width < 768px) {
  .part-products-tagline {
    padding-top: var(--page-volume-horizontal-responsive);
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}
@media screen {
  .mod-edit-false .part-products-tagline {
    visibility: hidden;
    opacity: 0;
  }
  .mod-edit-false .part-products-tagline.mod-visible {
    animation-name: slide-in-left;
    animation-duration: 1.2s;
    animation-timing-function: var(--ease-out-sine);
    animation-delay: 0.2s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
  }
}

@media screen and (width < 768px) {
  .part-products-tagline img {
    width: 70%;
  }
}
@media print, screen and (768px <= width) {
  .part-products-tagline img {
    height: 60px;
  }
}

.part-products-heading {
  text-align: right;
}
@media screen and (width < 768px) {
  .part-products-heading {
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}
@media print, screen and (width < 1024px) {
  .part-products-heading {
    margin-top: var(--space-large-1);
  }
}

.part-products-heading span {
  display: inline-block;
  padding-right: 0.2em;
  font-family: var(--font-family-inter);
  font-size: 36px;
  font-style: italic;
  line-height: 1;
  background-image: linear-gradient(90deg, rgb(var(--color-5)), rgb(var(--color-6)));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media print, screen and (768px <= width) {
  .part-products-heading span {
    font-size: 60px;
  }
}

.part-products-subheading {
  margin-top: var(--space-large-1);
}
@media screen and (width < 768px) {
  .part-products-subheading {
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}

.part-products-subheading span {
  display: inline-block;
  padding-right: 0.2em;
  font-family: var(--font-family-inter);
  font-size: 36px;
  font-style: italic;
  line-height: 1;
  background-image: linear-gradient(90deg, rgb(var(--color-54)), rgb(var(--color-55)));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media print, screen and (768px <= width) {
  .part-products-subheading span {
    font-size: 48px;
  }
}

.part-products-lead {
  margin-top: var(--space-normal);
  color: rgb(var(--color-white));
}
@media screen and (width < 768px) {
  .part-products-lead {
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}

.part-products-link {
  display: grid;
  margin-top: var(--space-large-1);
}
@media screen and (width < 768px) {
  .part-products-link {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (768px <= width) {
  .part-products-link {
    grid-template-columns: repeat(3, 1fr);
  }
}

.part-products-link-item {
  display: grid;
  /* 編集モード以外の場合 */
}
@media screen {
  .mod-edit-false .part-products-link-item {
    visibility: hidden;
    opacity: 0;
  }
  .mod-edit-false .part-products-link-item.mod-visible {
    animation-name: slide-in-bottom;
    animation-duration: 1.2s;
    animation-timing-function: var(--ease-out-sine);
    animation-delay: 0.2s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
  }
}

.part-products-link-item-background,
.part-products-link-item-foreground,
.part-products-link-item-foreground a {
  width: 100%;
  aspect-ratio: 720/480;
  overflow: hidden;
}
.part-products-link-item-background,
.part-products-link-item-foreground {
  grid-row: 1/2;
  grid-column: 1/2;
}

.part-products-link-item-foreground {
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-timing-function: var(--ease-out-expo);
  transition-delay: 0s;
  /* 対象セレクター */
  /* 追加セレクターがある場合 */
  /* hover が有効なデバイスの場合 */
  /* hover が無効なデバイスの場合 */
}
@media (hover: hover) {
  .part-products-link-item-foreground:hover {
    cursor: pointer;
    opacity: 0;
  }
}
@media (hover: none) {
  .part-products-link-item-foreground:active {
    opacity: 0;
  }
}

.part-products-link-item-foreground a {
  display: block;
}

.part-products-link-item-background img,
.part-products-link-item-foreground img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (1024px <= width) {
  .part-promotion {
    padding-right: var(--page-volume-centering);
    padding-left: var(--page-volume-centering);
  }
}

@media screen and (1024px <= width) {
  .part-promotion-inner {
    padding-top: var(--space-large-5);
    padding-bottom: var(--space-large-5);
    padding-right: var(--page-volume-horizontal-responsive);
    padding-left: var(--page-volume-horizontal-responsive);
  }
}

.maintenance-mode-site-name img {
  height: 60px;
}

.maintenance-mode-heading-1 {
  margin-top: var(--space-large-2);
  font-size: var(--font-size-large-2);
  line-height: var(--line-height-font-size-large-2);
}

.maintenance-mode-small {
  display: block;
  margin-top: var(--space-large-2);
}

/*# sourceMappingURL=style.css.map */
