@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Roboto+Condensed:ital,wght@0,400..700;1,400..700&display=swap");
/*---------------------------------------------
	目次
  ---------------------------------------------
	リセット
	リンク
	フォント
	メインコンテンツ
	強制指定
	[CL]  カラム
	[HD]  見出し
	[TX]  テキスト
	[HR]  区切り線
	[IG]  画像
	[LT]  リスト
	[LK1]  アイコンリンク
	[LK2]  横並びリンク
	[TG1] タグ
	[TG2] ラベル
	[BT]  ボタン
	[BT3] シェアボタン
	[BT4] メニューボタン
	[BT5] ページトップボタン
	[BX]  ボックス
	[FR]  枠
	[PL]  パネル
	[TB]  表
	[NV1] コンテンツナビゲーション
	[NV2] タブ
	[NV3] ページネーション
	[NV4] パンクズリンク
	[FM]  フォーム
	[EB1] 動画埋め込み
	[EB2] モーダル
	[SL]  スライダー
	[SC]  スクロールエフェクト
	[ACD]  アコーディオン
	[HBS]  ハイブリッドスクロール

	1200px未満
	768px未満
	480px未満
	印刷用
 ----------------------------------------------*/
/*---------------------------------------------
	リセット
  ---------------------------------------------*/
html {
  overflow-y: scroll;
}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, header, address,
figure, figcaption {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

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

caption,
th {
  text-align: left;
}

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

object,
embed {
  vertical-align: top;
}

legend {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: var(--f16px);
  font-weight: normal;
}

img, abbr, acronym, fieldset {
  border: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

ul li {
  list-style-type: none;
}

input,
select,
textarea,
button {
  font-family: inherit;
  font-size: inherit;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  color: var(--color-txt);
  text-align: left;
  line-height: var(--lineheight-base);
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

section {
  overflow: hidden;
}

.visible {
  overflow: visible;
}

/*---------------------------------------------
	リンク
  ---------------------------------------------*/
.mod a {
  text-decoration: underline;
  color: var(--color-link);
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}
html:not(.sp) .mod a:hover {
  text-decoration: none;
  color: var(--color-link-hover);
}

/*---------------------------------------------
	フォント
  ---------------------------------------------*/
body {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

/* ----- Webフォント（Google Fonts） ----- */
/* フォントの読み込みは本CSSの最初に記述 */
.txt-en {
  font-family: "Roboto Condensed", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}

/* 見出し・キャッチコピーにWebフォントを指定 */
.copy,
h2:not([class*=heading]),
h3:not([class*=heading]),
h4:not([class*=heading]),
h5:not([class*=heading]),
h6:not([class*=heading]),
.heading1,
.heading2,
.heading3,
.heading4,
.heading5,
.box .heading,
.frame .heading {
  font-family: "Roboto", "Noto Sans JP", -apple-system, BlinkMacSystemFont, MyYuGothicM, "Yu Gothic", Meiryo, "Hiragino kaku Gothic ProN", sans-serif;
  font-weight: 500;
}

/*---------------------------------------------
	メインコンテンツ
  ---------------------------------------------*/
#wrapper {
  min-width: var(--min-content-width);
}

main {
  display: block;
}

.mod .content {
  padding-top: var(--content-padding-top);
  padding-bottom: var(--content-padding-bottom);
  background-color: var(--color-white);
}
.mod .content:not([class*=bg-]) + .content:not([class*=bg-]) {
  padding-top: 0;
}

.mod .row {
  max-width: var(--max-content-width);
  margin: 0 auto;
  padding: 0 4vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.mod .row .row {
  padding: 0;
}

.mod .anchor:before {
  content: "";
  display: block;
  margin-top: calc(var(--fixed-header-height-pc) * -1);
  padding-top: var(--fixed-header-height-pc);
}

.mod .fixed {
  position: fixed;
  z-index: 10000;
  width: 100%;
}

/*---------------------------------------------
	強制指定
  ---------------------------------------------*/
/* ----- 上下左右中央寄せ ----- */
.mod .left {
  text-align: left !important;
}

.mod .center {
  text-align: center !important;
}

.mod .right {
  text-align: right !important;
}

.mod .top {
  vertical-align: top !important;
}

.mod .middle {
  vertical-align: middle !important;
}

.mod .bottom {
  vertical-align: bottom !important;
}

/* ----- 表示／非表示 ----- */
@media screen and (min-width: 1200px), print {
  .mod .pc-hide {
    display: none !important;
  }
  .mod .tb-show {
    display: none !important;
  }
}
@media screen and (min-width: 768px), print {
  .mod .sp-show {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px), print {
  .mod .tb-hide {
    display: none !important;
  }
}
@media screen and (max-width: 767px), print {
  .mod .sp-hide {
    display: none !important;
  }
  .mod .tb-show {
    display: none !important;
  }
}
/* ----- 文字サイズ ----- */
.mod .xxxxl {
  font-size: var(--fontsize-xxxxl) !important;
}

.mod .xxxl {
  font-size: var(--fontsize-xxxl) !important;
}

.mod .xxl {
  font-size: var(--fontsize-xxl) !important;
}

.mod .xl {
  font-size: var(--fontsize-xl) !important;
}

.mod .l {
  font-size: var(--fontsize-l) !important;
}

.mod .ml {
  font-size: var(--fontsize-ml) !important;
}

.mod .mm {
  font-size: var(--fontsize-mm) !important;
}

.mod .m {
  font-size: var(--fontsize-m) !important;
}

.mod .ms {
  font-size: var(--fontsize-ms) !important;
}

.mod .s {
  font-size: var(--fontsize-s) !important;
}

.mod .xs {
  font-size: var(--fontsize-xs) !important;
}

.mod .xxs {
  font-size: var(--fontsize-xxs) !important;
}

.mod .xxxs {
  font-size: var(--fontsize-xxxs) !important;
}

.mod .xxxxs {
  font-size: var(--fontsize-xxxxs) !important;
}

/* ----- 文字装飾 ----- */
.mod .normal {
  font-weight: normal !important;
}

.mod .bold {
  font-weight: bold !important;
}

.mod .italic {
  font-style: italic !important;
}

.mod .oblique {
  font-style: oblique !important;
}

/* ----- 幅 ----- */
.mod .w10 {
  width: 0.625rem !important;
}

.mod .w20 {
  width: 1.25rem !important;
}

.mod .w30 {
  width: 1.875rem !important;
}

.mod .w40 {
  width: 2.5rem !important;
}

.mod .w50 {
  width: 3.125rem !important;
}

.mod .w60 {
  width: 3.75rem !important;
}

.mod .w70 {
  width: 4.375rem !important;
}

.mod .w80 {
  width: 5rem !important;
}

.mod .w90 {
  width: 5.625rem !important;
}

.mod .w100 {
  width: 6.25rem !important;
}

.mod .w110 {
  width: 6.875rem !important;
}

.mod .w120 {
  width: 7.5rem !important;
}

.mod .w130 {
  width: 8.125rem !important;
}

.mod .w140 {
  width: 8.75rem !important;
}

.mod .w150 {
  width: 9.375rem !important;
}

.mod .w160 {
  width: 10rem !important;
}

.mod .w170 {
  width: 10.625rem !important;
}

.mod .w180 {
  width: 11.25rem !important;
}

.mod .w190 {
  width: 11.875rem !important;
}

.mod .w200 {
  width: 12.5rem !important;
}

.mod .w210 {
  width: 13.125rem !important;
}

.mod .w220 {
  width: 13.75rem !important;
}

.mod .w230 {
  width: 14.375rem !important;
}

.mod .w240 {
  width: 15rem !important;
}

.mod .w250 {
  width: 15.625rem !important;
}

.mod .w260 {
  width: 16.25rem !important;
}

.mod .w270 {
  width: 16.875rem !important;
}

.mod .w280 {
  width: 17.5rem !important;
}

.mod .w290 {
  width: 18.125rem !important;
}

.mod .w300 {
  width: 18.75rem !important;
}

.mod .w310 {
  width: 19.375rem !important;
}

.mod .w320 {
  width: 20rem !important;
}

.mod .w330 {
  width: 20.625rem !important;
}

.mod .w340 {
  width: 21.25rem !important;
}

.mod .w350 {
  width: 21.875rem !important;
}

.mod .w360 {
  width: 22.5rem !important;
}

.mod .w370 {
  width: 23.125rem !important;
}

.mod .w380 {
  width: 23.75rem !important;
}

.mod .w390 {
  width: 24.375rem !important;
}

.mod .w400 {
  width: 25rem !important;
}

.mod .w410 {
  width: 25.625rem !important;
}

.mod .w420 {
  width: 26.25rem !important;
}

.mod .w430 {
  width: 26.875rem !important;
}

.mod .w440 {
  width: 27.5rem !important;
}

.mod .w450 {
  width: 28.125rem !important;
}

.mod .w460 {
  width: 28.75rem !important;
}

.mod .w470 {
  width: 29.375rem !important;
}

.mod .w480 {
  width: 30rem !important;
}

.mod .w490 {
  width: 30.625rem !important;
}

.mod .w500 {
  width: 31.25rem !important;
}

/* ----- 上マージン ----- */
.mod .mt0 {
  margin-top: 0rem !important;
}

.mod .mt5 {
  margin-top: 0.3125rem !important;
}

.mod .mt10 {
  margin-top: 0.625rem !important;
}

.mod .mt15 {
  margin-top: 0.9375rem !important;
}

.mod .mt20 {
  margin-top: 1.25rem !important;
}

.mod .mt25 {
  margin-top: 1.5625rem !important;
}

.mod .mt30 {
  margin-top: 1.875rem !important;
}

.mod .mt35 {
  margin-top: 2.1875rem !important;
}

.mod .mt40 {
  margin-top: 2.5rem !important;
}

.mod .mt45 {
  margin-top: 2.8125rem !important;
}

.mod .mt50 {
  margin-top: 3.125rem !important;
}

.mod .mt55 {
  margin-top: 3.4375rem !important;
}

.mod .mt60 {
  margin-top: 3.75rem !important;
}

.mod .mt65 {
  margin-top: 4.0625rem !important;
}

.mod .mt70 {
  margin-top: 4.375rem !important;
}

.mod .mt75 {
  margin-top: 4.6875rem !important;
}

.mod .mt80 {
  margin-top: 5rem !important;
}

.mod .mt85 {
  margin-top: 5.3125rem !important;
}

.mod .mt90 {
  margin-top: 5.625rem !important;
}

.mod .mt95 {
  margin-top: 5.9375rem !important;
}

.mod .mt100 {
  margin-top: 6.25rem !important;
}

/* ----- 下マージン ----- */
.mod .mb0 {
  margin-bottom: 0rem !important;
}

.mod .mb5 {
  margin-bottom: 0.3125rem !important;
}

.mod .mb10 {
  margin-bottom: 0.625rem !important;
}

.mod .mb15 {
  margin-bottom: 0.9375rem !important;
}

.mod .mb20 {
  margin-bottom: 1.25rem !important;
}

.mod .mb25 {
  margin-bottom: 1.5625rem !important;
}

.mod .mb30 {
  margin-bottom: 1.875rem !important;
}

.mod .mb35 {
  margin-bottom: 2.1875rem !important;
}

.mod .mb40 {
  margin-bottom: 2.5rem !important;
}

.mod .mb45 {
  margin-bottom: 2.8125rem !important;
}

.mod .mb50 {
  margin-bottom: 3.125rem !important;
}

.mod .mb55 {
  margin-bottom: 3.4375rem !important;
}

.mod .mb60 {
  margin-bottom: 3.75rem !important;
}

.mod .mb65 {
  margin-bottom: 4.0625rem !important;
}

.mod .mb70 {
  margin-bottom: 4.375rem !important;
}

.mod .mb75 {
  margin-bottom: 4.6875rem !important;
}

.mod .mb80 {
  margin-bottom: 5rem !important;
}

.mod .mb85 {
  margin-bottom: 5.3125rem !important;
}

.mod .mb90 {
  margin-bottom: 5.625rem !important;
}

.mod .mb95 {
  margin-bottom: 5.9375rem !important;
}

.mod .mb100 {
  margin-bottom: 6.25rem !important;
}

/* ----- 左マージン ----- */
.mod .ml0 {
  margin-left: 0rem !important;
}

.mod .ml5 {
  margin-left: 0.3125rem !important;
}

.mod .ml10 {
  margin-left: 0.625rem !important;
}

.mod .ml15 {
  margin-left: 0.9375rem !important;
}

.mod .ml20 {
  margin-left: 1.25rem !important;
}

.mod .ml25 {
  margin-left: 1.5625rem !important;
}

.mod .ml30 {
  margin-left: 1.875rem !important;
}

.mod .ml35 {
  margin-left: 2.1875rem !important;
}

.mod .ml40 {
  margin-left: 2.5rem !important;
}

.mod .ml45 {
  margin-left: 2.8125rem !important;
}

.mod .ml50 {
  margin-left: 3.125rem !important;
}

.mod .ml55 {
  margin-left: 3.4375rem !important;
}

.mod .ml60 {
  margin-left: 3.75rem !important;
}

.mod .ml65 {
  margin-left: 4.0625rem !important;
}

.mod .ml70 {
  margin-left: 4.375rem !important;
}

.mod .ml75 {
  margin-left: 4.6875rem !important;
}

.mod .ml80 {
  margin-left: 5rem !important;
}

.mod .ml85 {
  margin-left: 5.3125rem !important;
}

.mod .ml90 {
  margin-left: 5.625rem !important;
}

.mod .ml95 {
  margin-left: 5.9375rem !important;
}

.mod .ml100 {
  margin-left: 6.25rem !important;
}

/* ----- 右マージン ----- */
.mod .mr0 {
  margin-right: 0rem !important;
}

.mod .mr5 {
  margin-right: 0.3125rem !important;
}

.mod .mr10 {
  margin-right: 0.625rem !important;
}

.mod .mr15 {
  margin-right: 0.9375rem !important;
}

.mod .mr20 {
  margin-right: 1.25rem !important;
}

.mod .mr25 {
  margin-right: 1.5625rem !important;
}

.mod .mr30 {
  margin-right: 1.875rem !important;
}

.mod .mr35 {
  margin-right: 2.1875rem !important;
}

.mod .mr40 {
  margin-right: 2.5rem !important;
}

.mod .mr45 {
  margin-right: 2.8125rem !important;
}

.mod .mr50 {
  margin-right: 3.125rem !important;
}

.mod .mr55 {
  margin-right: 3.4375rem !important;
}

.mod .mr60 {
  margin-right: 3.75rem !important;
}

.mod .mr65 {
  margin-right: 4.0625rem !important;
}

.mod .mr70 {
  margin-right: 4.375rem !important;
}

.mod .mr75 {
  margin-right: 4.6875rem !important;
}

.mod .mr80 {
  margin-right: 5rem !important;
}

.mod .mr85 {
  margin-right: 5.3125rem !important;
}

.mod .mr90 {
  margin-right: 5.625rem !important;
}

.mod .mr95 {
  margin-right: 5.9375rem !important;
}

.mod .mr100 {
  margin-right: 6.25rem !important;
}

/* ----- 上パディング ----- */
.mod .pt0 {
  padding-top: 0rem !important;
}

.mod .pt5 {
  padding-top: 0.3125rem !important;
}

.mod .pt10 {
  padding-top: 0.625rem !important;
}

.mod .pt15 {
  padding-top: 0.9375rem !important;
}

.mod .pt20 {
  padding-top: 1.25rem !important;
}

.mod .pt25 {
  padding-top: 1.5625rem !important;
}

.mod .pt30 {
  padding-top: 1.875rem !important;
}

.mod .pt35 {
  padding-top: 2.1875rem !important;
}

.mod .pt40 {
  padding-top: 2.5rem !important;
}

.mod .pt45 {
  padding-top: 2.8125rem !important;
}

.mod .pt50 {
  padding-top: 3.125rem !important;
}

.mod .pt55 {
  padding-top: 3.4375rem !important;
}

.mod .pt60 {
  padding-top: 3.75rem !important;
}

.mod .pt65 {
  padding-top: 4.0625rem !important;
}

.mod .pt70 {
  padding-top: 4.375rem !important;
}

.mod .pt75 {
  padding-top: 4.6875rem !important;
}

.mod .pt80 {
  padding-top: 5rem !important;
}

.mod .pt85 {
  padding-top: 5.3125rem !important;
}

.mod .pt90 {
  padding-top: 5.625rem !important;
}

.mod .pt95 {
  padding-top: 5.9375rem !important;
}

.mod .pt100 {
  padding-top: 6.25rem !important;
}

/* ----- 下パディング ----- */
.mod .pb0 {
  padding-bottom: 0rem !important;
}

.mod .pb5 {
  padding-bottom: 0.3125rem !important;
}

.mod .pb10 {
  padding-bottom: 0.625rem !important;
}

.mod .pb15 {
  padding-bottom: 0.9375rem !important;
}

.mod .pb20 {
  padding-bottom: 1.25rem !important;
}

.mod .pb25 {
  padding-bottom: 1.5625rem !important;
}

.mod .pb30 {
  padding-bottom: 1.875rem !important;
}

.mod .pb35 {
  padding-bottom: 2.1875rem !important;
}

.mod .pb40 {
  padding-bottom: 2.5rem !important;
}

.mod .pb45 {
  padding-bottom: 2.8125rem !important;
}

.mod .pb50 {
  padding-bottom: 3.125rem !important;
}

.mod .pb55 {
  padding-bottom: 3.4375rem !important;
}

.mod .pb60 {
  padding-bottom: 3.75rem !important;
}

.mod .pb65 {
  padding-bottom: 4.0625rem !important;
}

.mod .pb70 {
  padding-bottom: 4.375rem !important;
}

.mod .pb75 {
  padding-bottom: 4.6875rem !important;
}

.mod .pb80 {
  padding-bottom: 5rem !important;
}

.mod .pb85 {
  padding-bottom: 5.3125rem !important;
}

.mod .pb90 {
  padding-bottom: 5.625rem !important;
}

.mod .pb95 {
  padding-bottom: 5.9375rem !important;
}

.mod .pb100 {
  padding-bottom: 6.25rem !important;
}

/* ----- 左パディング ----- */
.mod .pl0 {
  padding-left: 0rem !important;
}

.mod .pl5 {
  padding-left: 0.3125rem !important;
}

.mod .pl10 {
  padding-left: 0.625rem !important;
}

.mod .pl15 {
  padding-left: 0.9375rem !important;
}

.mod .pl20 {
  padding-left: 1.25rem !important;
}

.mod .pl25 {
  padding-left: 1.5625rem !important;
}

.mod .pl30 {
  padding-left: 1.875rem !important;
}

.mod .pl35 {
  padding-left: 2.1875rem !important;
}

.mod .pl40 {
  padding-left: 2.5rem !important;
}

.mod .pl45 {
  padding-left: 2.8125rem !important;
}

.mod .pl50 {
  padding-left: 3.125rem !important;
}

.mod .pl55 {
  padding-left: 3.4375rem !important;
}

.mod .pl60 {
  padding-left: 3.75rem !important;
}

.mod .pl65 {
  padding-left: 4.0625rem !important;
}

.mod .pl70 {
  padding-left: 4.375rem !important;
}

.mod .pl75 {
  padding-left: 4.6875rem !important;
}

.mod .pl80 {
  padding-left: 5rem !important;
}

.mod .pl85 {
  padding-left: 5.3125rem !important;
}

.mod .pl90 {
  padding-left: 5.625rem !important;
}

.mod .pl95 {
  padding-left: 5.9375rem !important;
}

.mod .pl100 {
  padding-left: 6.25rem !important;
}

/* ----- 右パディング ----- */
.mod .pr0 {
  padding-right: 0rem !important;
}

.mod .pr5 {
  padding-right: 0.3125rem !important;
}

.mod .pr10 {
  padding-right: 0.625rem !important;
}

.mod .pr15 {
  padding-right: 0.9375rem !important;
}

.mod .pr20 {
  padding-right: 1.25rem !important;
}

.mod .pr25 {
  padding-right: 1.5625rem !important;
}

.mod .pr30 {
  padding-right: 1.875rem !important;
}

.mod .pr35 {
  padding-right: 2.1875rem !important;
}

.mod .pr40 {
  padding-right: 2.5rem !important;
}

.mod .pr45 {
  padding-right: 2.8125rem !important;
}

.mod .pr50 {
  padding-right: 3.125rem !important;
}

.mod .pr55 {
  padding-right: 3.4375rem !important;
}

.mod .pr60 {
  padding-right: 3.75rem !important;
}

.mod .pr65 {
  padding-right: 4.0625rem !important;
}

.mod .pr70 {
  padding-right: 4.375rem !important;
}

.mod .pr75 {
  padding-right: 4.6875rem !important;
}

.mod .pr80 {
  padding-right: 5rem !important;
}

.mod .pr85 {
  padding-right: 5.3125rem !important;
}

.mod .pr90 {
  padding-right: 5.625rem !important;
}

.mod .pr95 {
  padding-right: 5.9375rem !important;
}

.mod .pr100 {
  padding-right: 6.25rem !important;
}

/* ----- 背景色 ----- */
.mod .bg-light {
  background-color: var(--color-light-gray) !important;
}

.mod .bg-gray {
  background-color: var(--color-gray) !important;
}

.mod .bg-dark {
  background-color: var(--color-dark-gray) !important;
}

.mod .bg-color0 {
  background-color: var(--color-main) !important;
}

.mod .bg-color1 {
  background-color: var(--color-sub1) !important;
}

.mod .bg-color2 {
  background-color: var(--color-sub2) !important;
}

.mod .bg-color3 {
  background-color: var(--color-accent) !important;
}

.mod .bg-main {
  background-color: var(--color-main) !important;
}

.mod .bg-accent {
  background-color: var(--color-accent) !important;
}

.mod .bg-sub1 {
  background-color: var(--color-sub1) !important;
}

.mod .bg-sub2 {
  background-color: var(--color-sub2) !important;
}

.mod .bg-sub3 {
  background-color: var(--color-sub3) !important;
}

.mod .bg-sub4 {
  background-color: var(--color-sub4) !important;
}

.mod .bg-white {
  background-color: var(--color-white) !important;
}

.mod .bg-light-gray {
  background-color: var(--color-light-gray) !important;
}

.mod .bg-gray {
  background-color: var(--color-gray) !important;
}

.mod .bg-dark-gray {
  background-color: var(--color-dark-gray) !important;
}

.mod .bg-black {
  background-color: var(--color-black) !important;
}

.mod .bg-txt {
  background-color: var(--color-txt) !important;
}

.mod .bg-note {
  background-color: var(--color-note) !important;
}

.mod .bg-placeholder {
  background-color: var(--color-placeholder) !important;
}

.mod .bg-link {
  background-color: var(--color-link) !important;
}

.mod .bg-link-hover {
  background-color: var(--color-link-hover) !important;
}

.mod .bg-gradation1 {
  background: var(--color-sub3) !important;
  background: linear-gradient(45deg, var(--color-sub3) 0, var(--color-sub4) 100%) !important;
}

.mod .bg-img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* ----- 文字色 ----- */
.mod .txt-main {
  color: var(--color-main) !important;
}

.mod .txt-accent {
  color: var(--color-accent) !important;
}

.mod .txt-sub1 {
  color: var(--color-sub1) !important;
}

.mod .txt-sub2 {
  color: var(--color-sub2) !important;
}

.mod .txt-sub3 {
  color: var(--color-sub3) !important;
}

.mod .txt-sub4 {
  color: var(--color-sub4) !important;
}

.mod .txt-white {
  color: var(--color-white) !important;
}

.mod .txt-light-gray {
  color: var(--color-light-gray) !important;
}

.mod .txt-gray {
  color: var(--color-gray) !important;
}

.mod .txt-dark-gray {
  color: var(--color-dark-gray) !important;
}

.mod .txt-black {
  color: var(--color-black) !important;
}

.mod .txt-txt {
  color: var(--color-txt) !important;
}

.mod .txt-note {
  color: var(--color-note) !important;
}

.mod .txt-placeholder {
  color: var(--color-placeholder) !important;
}

.mod .txt-link {
  color: var(--color-link) !important;
}

.mod .txt-link-hover {
  color: var(--color-link-hover) !important;
}

.mod .txt-main * {
  color: var(--color-main) !important;
}

.mod .txt-accent * {
  color: var(--color-accent) !important;
}

.mod .txt-sub1 * {
  color: var(--color-sub1) !important;
}

.mod .txt-sub2 * {
  color: var(--color-sub2) !important;
}

.mod .txt-sub3 * {
  color: var(--color-sub3) !important;
}

.mod .txt-sub4 * {
  color: var(--color-sub4) !important;
}

.mod .txt-white * {
  color: var(--color-white) !important;
}

.mod .txt-light-gray * {
  color: var(--color-light-gray) !important;
}

.mod .txt-gray * {
  color: var(--color-gray) !important;
}

.mod .txt-dark-gray * {
  color: var(--color-dark-gray) !important;
}

.mod .txt-black * {
  color: var(--color-black) !important;
}

.mod .txt-txt * {
  color: var(--color-txt) !important;
}

.mod .txt-note * {
  color: var(--color-note) !important;
}

.mod .txt-placeholder * {
  color: var(--color-placeholder) !important;
}

.mod .txt-link * {
  color: var(--color-link) !important;
}

.mod .txt-link-hover * {
  color: var(--color-link-hover) !important;
}

/*---------------------------------------------
	[CL] カラム
  ---------------------------------------------*/
.mod .col-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  -webkit-column-gap: var(--col-space-wide);
     -moz-column-gap: var(--col-space-wide);
          column-gap: var(--col-space-wide);
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -ms-flex-line-pack: justify;
      align-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.mod .col-set.gutter1 {
  -webkit-column-gap: var(--col-space-wide-gutter1);
     -moz-column-gap: var(--col-space-wide-gutter1);
          column-gap: var(--col-space-wide-gutter1);
}

.mod .col-set.gutter2 {
  -webkit-column-gap: var(--col-space-wide-gutter2);
     -moz-column-gap: var(--col-space-wide-gutter2);
          column-gap: var(--col-space-wide-gutter2);
}

.mod .col-set.gutter3 {
  -webkit-column-gap: var(--col-space-wide-gutter3);
     -moz-column-gap: var(--col-space-wide-gutter3);
          column-gap: var(--col-space-wide-gutter3);
}

.mod .no-gutter {
  width: 100%;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
}

.mod .col1-2,
.mod .col1-3,
.mod .col2-3,
.mod .col1-4,
.mod .col3-4,
.mod .col1-5,
.mod .col2-5,
.mod .col3-5,
.mod .col4-5,
.mod .col1-6 {
  width: auto;
  min-width: 0;
}

.mod .col1-2 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide)) / 2);
      flex-basis: calc((100% - var(--col-space-wide)) / 2);
}

.mod .col1-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 2) / 3);
      flex-basis: calc((100% - var(--col-space-wide) * 2) / 3);
}

.mod .col2-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 2) / 3 * 2 + var(--col-space-wide));
      flex-basis: calc((100% - var(--col-space-wide) * 2) / 3 * 2 + var(--col-space-wide));
}

.mod .col1-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 3) / 4);
      flex-basis: calc((100% - var(--col-space-wide) * 3) / 4);
}

.mod .col3-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 3) / 4 * 3 + var(--col-space-wide) * 2);
      flex-basis: calc((100% - var(--col-space-wide) * 3) / 4 * 3 + var(--col-space-wide) * 2);
}

.mod .col1-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 4) / 5);
      flex-basis: calc((100% - var(--col-space-wide) * 4) / 5);
}

.mod .col2-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 4) / 5 * 2 + var(--col-space-wide));
      flex-basis: calc((100% - var(--col-space-wide) * 4) / 5 * 2 + var(--col-space-wide));
}

.mod .col3-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 4) / 5 * 3 + var(--col-space-wide) * 2);
      flex-basis: calc((100% - var(--col-space-wide) * 4) / 5 * 3 + var(--col-space-wide) * 2);
}

.mod .col4-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 4) / 5 * 4 + var(--col-space-wide) * 3);
      flex-basis: calc((100% - var(--col-space-wide) * 4) / 5 * 4 + var(--col-space-wide) * 3);
}

.mod .col1-6 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide) * 5) / 6);
      flex-basis: calc((100% - var(--col-space-wide) * 5) / 6);
}

.mod .gutter1 .col1-2 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1)) / 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter1)) / 2);
}

.mod .gutter1 .col1-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 2) / 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 2) / 3);
}

.mod .gutter1 .col2-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 2) / 3 * 2 + var(--col-space-wide-gutter1));
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 2) / 3 * 2 + var(--col-space-wide-gutter1));
}

.mod .gutter1 .col1-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 3) / 4);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 3) / 4);
}

.mod .gutter1 .col3-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 3) / 4 * 3 + var(--col-space-wide-gutter1) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 3) / 4 * 3 + var(--col-space-wide-gutter1) * 2);
}

.mod .gutter1 .col1-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 4) / 5);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 4) / 5);
}

.mod .gutter1 .col2-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 2 + var(--col-space-wide-gutter1));
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 2 + var(--col-space-wide-gutter1));
}

.mod .gutter1 .col3-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 3 + var(--col-space-wide-gutter1) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 3 + var(--col-space-wide-gutter1) * 2);
}

.mod .gutter1 .col4-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 4 + var(--col-space-wide-gutter1) * 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 4) / 5 * 4 + var(--col-space-wide-gutter1) * 3);
}

.mod .gutter1 .col1-6 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter1) * 5) / 6);
      flex-basis: calc((100% - var(--col-space-wide-gutter1) * 5) / 6);
}

.mod .gutter2 .col1-2 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2)) / 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter2)) / 2);
}

.mod .gutter2 .col1-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 2) / 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 2) / 3);
}

.mod .gutter2 .col2-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 2) / 3 * 2 + var(--col-space-wide-gutter2));
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 2) / 3 * 2 + var(--col-space-wide-gutter2));
}

.mod .gutter2 .col1-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 3) / 4);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 3) / 4);
}

.mod .gutter2 .col3-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 3) / 4 * 3 + var(--col-space-wide-gutter2) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 3) / 4 * 3 + var(--col-space-wide-gutter2) * 2);
}

.mod .gutter2 .col1-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 4) / 5);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 4) / 5);
}

.mod .gutter2 .col2-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 2 + var(--col-space-wide-gutter2));
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 2 + var(--col-space-wide-gutter2));
}

.mod .gutter2 .col3-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 3 + var(--col-space-wide-gutter2) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 3 + var(--col-space-wide-gutter2) * 2);
}

.mod .gutter2 .col4-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 4 + var(--col-space-wide-gutter2) * 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 4) / 5 * 4 + var(--col-space-wide-gutter2) * 3);
}

.mod .gutter2 .col1-6 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter2) * 5) / 6);
      flex-basis: calc((100% - var(--col-space-wide-gutter2) * 5) / 6);
}

.mod .gutter3 .col1-2 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3)) / 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter3)) / 2);
}

.mod .gutter3 .col1-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 2) / 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 2) / 3);
}

.mod .gutter3 .col2-3 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 2) / 3 * 2 + var(--col-space-wide-gutter3));
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 2) / 3 * 2 + var(--col-space-wide-gutter3));
}

.mod .gutter3 .col1-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 3) / 4);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 3) / 4);
}

.mod .gutter3 .col3-4 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 3) / 4 * 3 + var(--col-space-wide-gutter3) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 3) / 4 * 3 + var(--col-space-wide-gutter3) * 2);
}

.mod .gutter3 .col1-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 4) / 5);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 4) / 5);
}

.mod .gutter3 .col2-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 2 + var(--col-space-wide-gutter3));
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 2 + var(--col-space-wide-gutter3));
}

.mod .gutter3 .col3-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 3 + var(--col-space-wide-gutter3) * 2);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 3 + var(--col-space-wide-gutter3) * 2);
}

.mod .gutter3 .col4-5 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 4 + var(--col-space-wide-gutter3) * 3);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 4) / 5 * 4 + var(--col-space-wide-gutter3) * 3);
}

.mod .gutter3 .col1-6 {
  -ms-flex-preferred-size: calc((100% - var(--col-space-wide-gutter3) * 5) / 6);
      flex-basis: calc((100% - var(--col-space-wide-gutter3) * 5) / 6);
}

.mod .row .no-gutter {
  margin-bottom: 1.25rem;
}

.mod .no-gutter > .col1-2 {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.mod .no-gutter > .col1-3 {
  -ms-flex-preferred-size: 33.3333333333%;
      flex-basis: 33.3333333333%;
}
.mod .no-gutter > .col2-3 {
  -ms-flex-preferred-size: 66.6666666667%;
      flex-basis: 66.6666666667%;
}
.mod .no-gutter > .col1-4 {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}
.mod .no-gutter > .col3-4 {
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%;
}
.mod .no-gutter > .col1-5 {
  -ms-flex-preferred-size: 20%;
      flex-basis: 20%;
}
.mod .no-gutter > .col2-5 {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
}
.mod .no-gutter > .col3-5 {
  -ms-flex-preferred-size: 60%;
      flex-basis: 60%;
}
.mod .no-gutter > .col4-5 {
  -ms-flex-preferred-size: 80%;
      flex-basis: 80%;
}
.mod .no-gutter > .col1-6 {
  -ms-flex-preferred-size: 16.6666666667%;
      flex-basis: 16.6666666667%;
}

/*---------------------------------------------
	[HD] 見出し
  ---------------------------------------------*/
.mod h2:not([class*=heading]),
.mod .heading1 {
  font-size: var(--fontsize-heading1);
  font-weight: bold;
  line-height: var(--lineheight-heading1);
}

.mod h3:not([class*=heading]),
.mod .heading2 {
  font-size: var(--fontsize-heading2);
  font-weight: bold;
  line-height: var(--lineheight-heading2);
}

.mod h4:not([class*=heading]),
.mod .heading3 {
  font-size: var(--fontsize-heading3);
  font-weight: bold;
  line-height: var(--lineheight-heading3);
}

.mod h5:not([class*=heading]),
.mod .heading4 {
  font-size: var(--fontsize-heading4);
  font-weight: bold;
  line-height: var(--lineheight-heading4);
}

.mod h6:not([class*=heading]),
.mod .heading5 {
  font-size: var(--fontsize-heading5);
  font-weight: bold;
  line-height: var(--lineheight-heading5);
}

.mod h2 + h3,
.mod h2 + h4,
.mod h3 + h4,
.mod h2 + h5,
.mod h3 + h5,
.mod h4 + h5,
.mod h2 + h6,
.mod h3 + h6,
.mod h4 + h6,
.mod h5 + h6,
.mod h2 + [class*=heading],
.mod h3 + [class*=heading],
.mod h4 + [class*=heading],
.mod h5 + [class*=heading],
.mod h6 + [class*=heading],
.mod [class*=heading] + h2,
.mod [class*=heading] + h3,
.mod [class*=heading] + h4,
.mod [class*=heading] + h5,
.mod [class*=heading] + h6,
.mod [class*=heading] + [class*=heading],
.mod h2:first-child,
.mod h3:first-child,
.mod h4:first-child,
.mod h5:first-child,
.mod h6:first-child,
.mod [class*=heading]:first-child {
  margin-top: 0 !important;
}

.mod .col-set + h2 {
  margin-top: 1.875rem;
}
.mod .col-set + h3 {
  margin-top: 1.25rem;
}
.mod .col-set + h4 {
  margin-top: 0.625rem;
}
.mod .col-set + h5 {
  margin-top: 0;
}
.mod .col-set + h6 {
  margin-top: 0;
}
.mod .col-set + .heading1 {
  margin-top: 1.875rem;
}
.mod .col-set + .heading2 {
  margin-top: 1.25rem;
}
.mod .col-set + .heading3 {
  margin-top: 0.625rem;
}
.mod .col-set + .heading4 {
  margin-top: 0;
}
.mod .col-set + .heading5 {
  margin-top: 0;
}

/*---------------------------------------------
	[TX] テキスト
  ---------------------------------------------*/
.mod p {
  margin-bottom: var(--elm-space-wide);
}

.mod b,
.mod strong {
  font-weight: bold;
}

.mod .caution {
  color: var(--color-accent) !important;
}

.mod .copy {
  font-size: var(--f26px);
  font-weight: bold;
  line-height: var(--lineheight-subtext);
}

/* ----- 注記 ----- */
.mod .note {
  position: relative;
  padding-left: 1.4em;
}

.mod .note-num {
  position: relative;
  padding-left: 2.4em;
}

.mod .note + .note,
.mod .note-num + .note-num {
  margin-top: -1.5625rem;
}

.mod .note:before,
.mod .note-num:before {
  content: "※";
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  margin: 0;
  background-color: transparent !important;
  border-radius: 0;
}

.mod .note-num:before {
  content: "※" attr(data-num);
}

/* ----- 省略 ----- */
.mod .txt-ellipsis {
  width: 100%;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mod .txt-ellipsis:not([data-line]), .mod .txt-ellipsis[data-line="1"] {
  line-clamp: 1;
  -webkit-line-clamp: 1;
}
.mod .txt-ellipsis[data-line="2"] {
  line-clamp: 2;
  -webkit-line-clamp: 2;
}
.mod .txt-ellipsis[data-line="3"] {
  line-clamp: 3;
  -webkit-line-clamp: 3;
}
.mod .txt-ellipsis[data-line="4"] {
  line-clamp: 4;
  -webkit-line-clamp: 4;
}
.mod .txt-ellipsis[data-line="5"] {
  line-clamp: 5;
  -webkit-line-clamp: 5;
}

/*---------------------------------------------
	[HR] 区切り線
  ---------------------------------------------*/
.mod hr {
  clear: both;
  margin-bottom: var(--elm-space-wide);
  color: var(--color-white);
  background: none transparent;
  border-top: 0px none transparent;
  border-right: 0px none transparent;
  border-left: 0px none transparent;
  border-bottom: 1px solid var(--color-gray);
}

/*---------------------------------------------
	[IG] 画像
  ---------------------------------------------*/
.mod .img {
  margin-bottom: var(--elm-space-wide);
  text-align: center;
}
.mod .img > a {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
  overflow: hidden;
}

.mod .img .modal-video:before,
.mod .modal-video .img:before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 4rem;
  height: 4rem;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-mask-image: url(../images/icon_play_modal.svg);
          mask-image: url(../images/icon_play_modal.svg);
  background-color: var(--color-white);
  background-repeat: no-repeat;
  background-size: 100%;
}

.mod .img.full img {
  width: 100%;
}

/* ホバーエフェクト */
.mod .img > a:after,
.mod a .img:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-black);
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.mod .img .modal-video:after,
.mod .modal-video .img:after {
  opacity: 0.5 !important;
}

html:not(.sp) .mod .img > a:hover:after,
html:not(.sp) .mod a:hover .img:after {
  opacity: 0.5;
}

.mod .img > a img,
.mod .img > a .bg-img,
.mod a .img img,
.mod a .img .bg-img {
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

html:not(.sp) .mod .img > a:hover img,
html:not(.sp) .mod .img > a:hover .bg-img,
html:not(.sp) .mod a:hover .img img,
html:not(.sp) .mod a:hover .img .bg-img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/* ----- [IG2] 画像 > キャプションあり ----- */
.mod figure {
  margin-bottom: var(--elm-space-wide);
}

.mod .caption {
  display: block;
  margin-top: -1.25rem;
  margin-left: auto;
  margin-right: auto;
  font-size: var(--f14px);
  color: #777;
}
.mod .left .caption {
  margin-left: 0;
}
.mod .right .caption {
  margin-right: 0;
}
.mod .img .caption {
  margin-top: 0.625rem;
}

/* ----- [IG3] 画像 > 画像＋テキスト ----- */
.mod .img-set,
.mod .thumb-set {
  overflow: hidden;
}
.mod .img-set .img,
.mod .thumb-set .img {
  float: left;
  max-width: 50%;
  margin-right: calc(var(--col-space-wide) / 2);
  padding-right: calc(var(--col-space-wide) / 2);
}
.mod .img-set .img.right,
.mod .thumb-set .img.right {
  float: right;
  max-width: 50%;
  margin-right: 0;
  padding-right: 0;
  margin-left: calc(var(--col-space-wide) / 2);
  padding-left: calc(var(--col-space-wide) / 2);
}

.mod .thumb-set > .img + .txt {
  overflow: hidden;
}

/*---------------------------------------------
	[LT] リスト
  ---------------------------------------------*/
.mod ul {
  margin-bottom: var(--elm-space-wide);
}
.mod ul li {
  position: relative;
  margin-bottom: 0.625rem;
  padding: 0 0 0 1em;
}
.mod ul li:before {
  content: "";
  position: absolute;
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  top: 0.8em;
  left: 0.5em;
  margin: -0.125rem 0 0 -0.125rem;
  background-color: var(--color-note);
  border-radius: 100%;
}
.mod ul li:last-of-type {
  margin-bottom: 0;
}
.mod ul.col-set {
  margin-bottom: 0;
}
.mod ul.col-set li {
  margin-bottom: var(--elm-space-wide);
  padding-left: 0;
}
.mod ul.col-set li:before {
  display: none;
}

.mod ol {
  margin-bottom: var(--elm-space-wide);
  padding: 0;
}
.mod ol li {
  margin: 0 0 0.625rem 1.8em;
  padding: 0 0 0 0.1em;
}
.mod ol li:last-of-type {
  margin-bottom: 0;
}

.mod ul ul,
.mod ol ol,
.mod ol ul {
  margin: 0.625rem 0 0;
}

/* ----- [LT3] リスト > 定義リスト ----- */
.mod dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: var(--elm-space-wide);
  overflow: hidden;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod dl.border-set {
  border-bottom: solid 1px var(--color-gray);
}
.mod dl.border-set > dt {
  border-top: solid 1px var(--color-gray);
  padding: 1.25rem 0;
}
.mod dl.border-set > dd {
  border-top: solid 1px var(--color-gray);
  padding: 1.25rem 0 1.25rem var(--elm-space-wide);
}
.mod dl dt {
  width: 12.5rem;
  padding: 0 0 0.625rem;
  font-weight: bold;
  color: var(--color-black);
}
.mod dl dt.w10 ~ dt {
  width: 0.625rem;
}
.mod dl dt.w10 ~ dd {
  width: calc(100% - 0.625rem);
}
.mod dl dt.w20 ~ dt {
  width: 1.25rem;
}
.mod dl dt.w20 ~ dd {
  width: calc(100% - 1.25rem);
}
.mod dl dt.w30 ~ dt {
  width: 1.875rem;
}
.mod dl dt.w30 ~ dd {
  width: calc(100% - 1.875rem);
}
.mod dl dt.w40 ~ dt {
  width: 2.5rem;
}
.mod dl dt.w40 ~ dd {
  width: calc(100% - 2.5rem);
}
.mod dl dt.w50 ~ dt {
  width: 3.125rem;
}
.mod dl dt.w50 ~ dd {
  width: calc(100% - 3.125rem);
}
.mod dl dt.w60 ~ dt {
  width: 3.75rem;
}
.mod dl dt.w60 ~ dd {
  width: calc(100% - 3.75rem);
}
.mod dl dt.w70 ~ dt {
  width: 4.375rem;
}
.mod dl dt.w70 ~ dd {
  width: calc(100% - 4.375rem);
}
.mod dl dt.w80 ~ dt {
  width: 5rem;
}
.mod dl dt.w80 ~ dd {
  width: calc(100% - 5rem);
}
.mod dl dt.w90 ~ dt {
  width: 5.625rem;
}
.mod dl dt.w90 ~ dd {
  width: calc(100% - 5.625rem);
}
.mod dl dt.w100 ~ dt {
  width: 6.25rem;
}
.mod dl dt.w100 ~ dd {
  width: calc(100% - 6.25rem);
}
.mod dl dt.w110 ~ dt {
  width: 6.875rem;
}
.mod dl dt.w110 ~ dd {
  width: calc(100% - 6.875rem);
}
.mod dl dt.w120 ~ dt {
  width: 7.5rem;
}
.mod dl dt.w120 ~ dd {
  width: calc(100% - 7.5rem);
}
.mod dl dt.w130 ~ dt {
  width: 8.125rem;
}
.mod dl dt.w130 ~ dd {
  width: calc(100% - 8.125rem);
}
.mod dl dt.w140 ~ dt {
  width: 8.75rem;
}
.mod dl dt.w140 ~ dd {
  width: calc(100% - 8.75rem);
}
.mod dl dt.w150 ~ dt {
  width: 9.375rem;
}
.mod dl dt.w150 ~ dd {
  width: calc(100% - 9.375rem);
}
.mod dl dt.w160 ~ dt {
  width: 10rem;
}
.mod dl dt.w160 ~ dd {
  width: calc(100% - 10rem);
}
.mod dl dt.w170 ~ dt {
  width: 10.625rem;
}
.mod dl dt.w170 ~ dd {
  width: calc(100% - 10.625rem);
}
.mod dl dt.w180 ~ dt {
  width: 11.25rem;
}
.mod dl dt.w180 ~ dd {
  width: calc(100% - 11.25rem);
}
.mod dl dt.w190 ~ dt {
  width: 11.875rem;
}
.mod dl dt.w190 ~ dd {
  width: calc(100% - 11.875rem);
}
.mod dl dt.w200 ~ dt {
  width: 12.5rem;
}
.mod dl dt.w200 ~ dd {
  width: calc(100% - 12.5rem);
}
.mod dl dt.w210 ~ dt {
  width: 13.125rem;
}
.mod dl dt.w210 ~ dd {
  width: calc(100% - 13.125rem);
}
.mod dl dt.w220 ~ dt {
  width: 13.75rem;
}
.mod dl dt.w220 ~ dd {
  width: calc(100% - 13.75rem);
}
.mod dl dt.w230 ~ dt {
  width: 14.375rem;
}
.mod dl dt.w230 ~ dd {
  width: calc(100% - 14.375rem);
}
.mod dl dt.w240 ~ dt {
  width: 15rem;
}
.mod dl dt.w240 ~ dd {
  width: calc(100% - 15rem);
}
.mod dl dt.w250 ~ dt {
  width: 15.625rem;
}
.mod dl dt.w250 ~ dd {
  width: calc(100% - 15.625rem);
}
.mod dl dt.w260 ~ dt {
  width: 16.25rem;
}
.mod dl dt.w260 ~ dd {
  width: calc(100% - 16.25rem);
}
.mod dl dt.w270 ~ dt {
  width: 16.875rem;
}
.mod dl dt.w270 ~ dd {
  width: calc(100% - 16.875rem);
}
.mod dl dt.w280 ~ dt {
  width: 17.5rem;
}
.mod dl dt.w280 ~ dd {
  width: calc(100% - 17.5rem);
}
.mod dl dt.w290 ~ dt {
  width: 18.125rem;
}
.mod dl dt.w290 ~ dd {
  width: calc(100% - 18.125rem);
}
.mod dl dt.w300 ~ dt {
  width: 18.75rem;
}
.mod dl dt.w300 ~ dd {
  width: calc(100% - 18.75rem);
}
.mod dl dt.w310 ~ dt {
  width: 19.375rem;
}
.mod dl dt.w310 ~ dd {
  width: calc(100% - 19.375rem);
}
.mod dl dt.w320 ~ dt {
  width: 20rem;
}
.mod dl dt.w320 ~ dd {
  width: calc(100% - 20rem);
}
.mod dl dt.w330 ~ dt {
  width: 20.625rem;
}
.mod dl dt.w330 ~ dd {
  width: calc(100% - 20.625rem);
}
.mod dl dt.w340 ~ dt {
  width: 21.25rem;
}
.mod dl dt.w340 ~ dd {
  width: calc(100% - 21.25rem);
}
.mod dl dt.w350 ~ dt {
  width: 21.875rem;
}
.mod dl dt.w350 ~ dd {
  width: calc(100% - 21.875rem);
}
.mod dl dt.w360 ~ dt {
  width: 22.5rem;
}
.mod dl dt.w360 ~ dd {
  width: calc(100% - 22.5rem);
}
.mod dl dt.w370 ~ dt {
  width: 23.125rem;
}
.mod dl dt.w370 ~ dd {
  width: calc(100% - 23.125rem);
}
.mod dl dt.w380 ~ dt {
  width: 23.75rem;
}
.mod dl dt.w380 ~ dd {
  width: calc(100% - 23.75rem);
}
.mod dl dt.w390 ~ dt {
  width: 24.375rem;
}
.mod dl dt.w390 ~ dd {
  width: calc(100% - 24.375rem);
}
.mod dl dt.w400 ~ dt {
  width: 25rem;
}
.mod dl dt.w400 ~ dd {
  width: calc(100% - 25rem);
}
.mod dl dt.w410 ~ dt {
  width: 25.625rem;
}
.mod dl dt.w410 ~ dd {
  width: calc(100% - 25.625rem);
}
.mod dl dt.w420 ~ dt {
  width: 26.25rem;
}
.mod dl dt.w420 ~ dd {
  width: calc(100% - 26.25rem);
}
.mod dl dt.w430 ~ dt {
  width: 26.875rem;
}
.mod dl dt.w430 ~ dd {
  width: calc(100% - 26.875rem);
}
.mod dl dt.w440 ~ dt {
  width: 27.5rem;
}
.mod dl dt.w440 ~ dd {
  width: calc(100% - 27.5rem);
}
.mod dl dt.w450 ~ dt {
  width: 28.125rem;
}
.mod dl dt.w450 ~ dd {
  width: calc(100% - 28.125rem);
}
.mod dl dt.w460 ~ dt {
  width: 28.75rem;
}
.mod dl dt.w460 ~ dd {
  width: calc(100% - 28.75rem);
}
.mod dl dt.w470 ~ dt {
  width: 29.375rem;
}
.mod dl dt.w470 ~ dd {
  width: calc(100% - 29.375rem);
}
.mod dl dt.w480 ~ dt {
  width: 30rem;
}
.mod dl dt.w480 ~ dd {
  width: calc(100% - 30rem);
}
.mod dl dt.w490 ~ dt {
  width: 30.625rem;
}
.mod dl dt.w490 ~ dd {
  width: calc(100% - 30.625rem);
}
.mod dl dt.w500 ~ dt {
  width: 31.25rem;
}
.mod dl dt.w500 ~ dd {
  width: calc(100% - 31.25rem);
}
.mod dl dt.w510 ~ dt {
  width: 31.875rem;
}
.mod dl dt.w510 ~ dd {
  width: calc(100% - 31.875rem);
}
.mod dl dt.w520 ~ dt {
  width: 32.5rem;
}
.mod dl dt.w520 ~ dd {
  width: calc(100% - 32.5rem);
}
.mod dl dt.w530 ~ dt {
  width: 33.125rem;
}
.mod dl dt.w530 ~ dd {
  width: calc(100% - 33.125rem);
}
.mod dl dt.w540 ~ dt {
  width: 33.75rem;
}
.mod dl dt.w540 ~ dd {
  width: calc(100% - 33.75rem);
}
.mod dl dt.w550 ~ dt {
  width: 34.375rem;
}
.mod dl dt.w550 ~ dd {
  width: calc(100% - 34.375rem);
}
.mod dl dt.w560 ~ dt {
  width: 35rem;
}
.mod dl dt.w560 ~ dd {
  width: calc(100% - 35rem);
}
.mod dl dt.w570 ~ dt {
  width: 35.625rem;
}
.mod dl dt.w570 ~ dd {
  width: calc(100% - 35.625rem);
}
.mod dl dt.w580 ~ dt {
  width: 36.25rem;
}
.mod dl dt.w580 ~ dd {
  width: calc(100% - 36.25rem);
}
.mod dl dt.w590 ~ dt {
  width: 36.875rem;
}
.mod dl dt.w590 ~ dd {
  width: calc(100% - 36.875rem);
}
.mod dl dt.w600 ~ dt {
  width: 37.5rem;
}
.mod dl dt.w600 ~ dd {
  width: calc(100% - 37.5rem);
}
.mod dl dt.w610 ~ dt {
  width: 38.125rem;
}
.mod dl dt.w610 ~ dd {
  width: calc(100% - 38.125rem);
}
.mod dl dt.w620 ~ dt {
  width: 38.75rem;
}
.mod dl dt.w620 ~ dd {
  width: calc(100% - 38.75rem);
}
.mod dl dt.w630 ~ dt {
  width: 39.375rem;
}
.mod dl dt.w630 ~ dd {
  width: calc(100% - 39.375rem);
}
.mod dl dt.w640 ~ dt {
  width: 40rem;
}
.mod dl dt.w640 ~ dd {
  width: calc(100% - 40rem);
}
.mod dl dt.w650 ~ dt {
  width: 40.625rem;
}
.mod dl dt.w650 ~ dd {
  width: calc(100% - 40.625rem);
}
.mod dl dt.w660 ~ dt {
  width: 41.25rem;
}
.mod dl dt.w660 ~ dd {
  width: calc(100% - 41.25rem);
}
.mod dl dt.w670 ~ dt {
  width: 41.875rem;
}
.mod dl dt.w670 ~ dd {
  width: calc(100% - 41.875rem);
}
.mod dl dt.w680 ~ dt {
  width: 42.5rem;
}
.mod dl dt.w680 ~ dd {
  width: calc(100% - 42.5rem);
}
.mod dl dt.w690 ~ dt {
  width: 43.125rem;
}
.mod dl dt.w690 ~ dd {
  width: calc(100% - 43.125rem);
}
.mod dl dt.w700 ~ dt {
  width: 43.75rem;
}
.mod dl dt.w700 ~ dd {
  width: calc(100% - 43.75rem);
}
.mod dl dt.w710 ~ dt {
  width: 44.375rem;
}
.mod dl dt.w710 ~ dd {
  width: calc(100% - 44.375rem);
}
.mod dl dt.w720 ~ dt {
  width: 45rem;
}
.mod dl dt.w720 ~ dd {
  width: calc(100% - 45rem);
}
.mod dl dt.w730 ~ dt {
  width: 45.625rem;
}
.mod dl dt.w730 ~ dd {
  width: calc(100% - 45.625rem);
}
.mod dl dt.w740 ~ dt {
  width: 46.25rem;
}
.mod dl dt.w740 ~ dd {
  width: calc(100% - 46.25rem);
}
.mod dl dt.w750 ~ dt {
  width: 46.875rem;
}
.mod dl dt.w750 ~ dd {
  width: calc(100% - 46.875rem);
}
.mod dl dt.w760 ~ dt {
  width: 47.5rem;
}
.mod dl dt.w760 ~ dd {
  width: calc(100% - 47.5rem);
}
.mod dl dt.w770 ~ dt {
  width: 48.125rem;
}
.mod dl dt.w770 ~ dd {
  width: calc(100% - 48.125rem);
}
.mod dl dt.w780 ~ dt {
  width: 48.75rem;
}
.mod dl dt.w780 ~ dd {
  width: calc(100% - 48.75rem);
}
.mod dl dt.w790 ~ dt {
  width: 49.375rem;
}
.mod dl dt.w790 ~ dd {
  width: calc(100% - 49.375rem);
}
.mod dl dt.w800 ~ dt {
  width: 50rem;
}
.mod dl dt.w800 ~ dd {
  width: calc(100% - 50rem);
}
.mod dl dt.w810 ~ dt {
  width: 50.625rem;
}
.mod dl dt.w810 ~ dd {
  width: calc(100% - 50.625rem);
}
.mod dl dt.w820 ~ dt {
  width: 51.25rem;
}
.mod dl dt.w820 ~ dd {
  width: calc(100% - 51.25rem);
}
.mod dl dt.w830 ~ dt {
  width: 51.875rem;
}
.mod dl dt.w830 ~ dd {
  width: calc(100% - 51.875rem);
}
.mod dl dt.w840 ~ dt {
  width: 52.5rem;
}
.mod dl dt.w840 ~ dd {
  width: calc(100% - 52.5rem);
}
.mod dl dt.w850 ~ dt {
  width: 53.125rem;
}
.mod dl dt.w850 ~ dd {
  width: calc(100% - 53.125rem);
}
.mod dl dt.w860 ~ dt {
  width: 53.75rem;
}
.mod dl dt.w860 ~ dd {
  width: calc(100% - 53.75rem);
}
.mod dl dt.w870 ~ dt {
  width: 54.375rem;
}
.mod dl dt.w870 ~ dd {
  width: calc(100% - 54.375rem);
}
.mod dl dt.w880 ~ dt {
  width: 55rem;
}
.mod dl dt.w880 ~ dd {
  width: calc(100% - 55rem);
}
.mod dl dt.w890 ~ dt {
  width: 55.625rem;
}
.mod dl dt.w890 ~ dd {
  width: calc(100% - 55.625rem);
}
.mod dl dt.w900 ~ dt {
  width: 56.25rem;
}
.mod dl dt.w900 ~ dd {
  width: calc(100% - 56.25rem);
}
.mod dl dt.w910 ~ dt {
  width: 56.875rem;
}
.mod dl dt.w910 ~ dd {
  width: calc(100% - 56.875rem);
}
.mod dl dt.w920 ~ dt {
  width: 57.5rem;
}
.mod dl dt.w920 ~ dd {
  width: calc(100% - 57.5rem);
}
.mod dl dt.w930 ~ dt {
  width: 58.125rem;
}
.mod dl dt.w930 ~ dd {
  width: calc(100% - 58.125rem);
}
.mod dl dt.w940 ~ dt {
  width: 58.75rem;
}
.mod dl dt.w940 ~ dd {
  width: calc(100% - 58.75rem);
}
.mod dl dt.w950 ~ dt {
  width: 59.375rem;
}
.mod dl dt.w950 ~ dd {
  width: calc(100% - 59.375rem);
}
.mod dl dt.w960 ~ dt {
  width: 60rem;
}
.mod dl dt.w960 ~ dd {
  width: calc(100% - 60rem);
}
.mod dl dt.w970 ~ dt {
  width: 60.625rem;
}
.mod dl dt.w970 ~ dd {
  width: calc(100% - 60.625rem);
}
.mod dl dt.w980 ~ dt {
  width: 61.25rem;
}
.mod dl dt.w980 ~ dd {
  width: calc(100% - 61.25rem);
}
.mod dl dt.w990 ~ dt {
  width: 61.875rem;
}
.mod dl dt.w990 ~ dd {
  width: calc(100% - 61.875rem);
}
.mod dl dt.w1000 ~ dt {
  width: 62.5rem;
}
.mod dl dt.w1000 ~ dd {
  width: calc(100% - 62.5rem);
}
.mod dl dd {
  width: calc(100% - 12.5rem);
  padding: 0 0 0.625rem var(--elm-space-wide);
}
.mod dl:not(.border-set) dt:last-of-type, .mod dl:not(.border-set) dd:last-of-type {
  padding-bottom: 0;
}
.mod dl p:last-child,
.mod dl ul:last-child,
.mod dl ol:last-child,
.mod dl dl:last-child {
  margin-bottom: 0;
}
.mod dl.news > dt {
  width: 10em;
}
.mod dl.news > dd {
  width: calc(100% - 10em);
  padding-left: 0;
}
.mod dl.news > dd .tag,
.mod dl.news > dd .label {
  clear: both;
  float: left;
  height: 1.8em;
  margin: 0 1.25rem 0 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mod dl.news > dd .tag a,
.mod dl.news > dd .label span {
  width: 10em;
  margin: 0;
  padding: 0.25rem 0.625rem;
  font-size: var(--f11px);
}
.mod dl.news > dd p {
  overflow: hidden;
  margin-bottom: 0.625rem;
}
.mod dl.news > dd .link-icon:not(li) + .link-icon {
  margin-top: 0;
}
.mod dl.news > dd p:last-child {
  margin-bottom: 0;
}
.mod dl.news > dd .link-icon a {
  font-weight: inherit;
}
.mod dl.news > dd .link-icon a:not(:hover) {
  color: var(--color-txt);
}

/*---------------------------------------------
	[LK1] アイコンリンク
  ---------------------------------------------*/
.mod .link-icon:not(li) + .link-icon {
  margin-top: -1.25rem;
}

.mod .link-icon a,
.mod a .link-icon {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.mod a .link-icon {
  display: block;
}

.mod .link-icon a:after,
.mod a .link-icon:after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-color: var(--color-link);
  content: "";
  display: inline-block;
  margin: -0.125rem 0 0 0.125rem;
  vertical-align: middle;
}

.mod .link-icon a:not([class*=icon-]):after,
.mod a .link-icon:not([class*=icon-]):after {
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

html:not(.sp) .mod .link-icon a:hover,
html:not(.sp) .mod a:hover .link-icon {
  text-decoration: underline;
}

html:not(.sp) .mod .link-icon a:not([class*=icon-]):hover:after,
html:not(.sp) .mod a:hover .link-icon:not([class*=icon-]):after {
  -webkit-transform: translate3d(0.1875rem, 0, 0);
          transform: translate3d(0.1875rem, 0, 0);
}

.mod .link-icon .icon-download:after,
.mod a .link-icon.icon-download:after {
  -webkit-mask-image: url(../images/icon_download.svg);
          mask-image: url(../images/icon_download.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-window:after,
.mod a .link-icon.icon-window:after {
  -webkit-mask-image: url(../images/icon_window.svg);
          mask-image: url(../images/icon_window.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-pdf:after,
.mod a .link-icon.icon-pdf:after {
  -webkit-mask-image: url(../images/icon_pdf.svg);
          mask-image: url(../images/icon_pdf.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-enlarge:after,
.mod a .link-icon.icon-enlarge:after {
  -webkit-mask-image: url(../images/icon_enlarge.svg);
          mask-image: url(../images/icon_enlarge.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-search:after,
.mod a .link-icon.icon-search:after {
  -webkit-mask-image: url(../images/icon_search.svg);
          mask-image: url(../images/icon_search.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-contact:after,
.mod a .link-icon.icon-contact:after {
  -webkit-mask-image: url(../images/icon_contact.svg);
          mask-image: url(../images/icon_contact.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-play:after,
.mod a .link-icon.icon-play:after {
  -webkit-mask-image: url(../images/icon_play.svg);
          mask-image: url(../images/icon_play.svg);
  background-color: var(--color-link);
}

.mod .link-icon .icon-anchor:after,
.mod a .link-icon.icon-anchor a:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

html:not(.sp) .mod .link-icon .icon-anchor:hover:after,
html:not(.sp) .mod a:hover .link-icon.icon-anchor a:after {
  -webkit-transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
          transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
}

.mod li.link-icon {
  padding-left: 0;
}

.mod li.link-icon:before {
  display: none;
}

.mod .txt-white .link-icon a:after,
.mod .txt-white a .link-icon:after,
.mod .txt-white.link-icon a:after,
.mod a.txt-white .link-icon:after,
.mod .link-icon a.txt-white:after,
.mod .accordion.txt-white .accordion-heading:after,
.mod .accordion .txt-white.accordion-heading:after {
  background-color: var(--color-white)  !important;
}

.mod .txt-main .link-icon a:after,
.mod .txt-main a .link-icon:after,
.mod .txt-main.link-icon a:after,
.mod a.txt-main .link-icon:after,
.mod .link-icon a.txt-main:after,
.mod .accordion.txt-main .accordion-heading:after,
.mod .accordion .txt-main.accordion-heading:after {
  background-color: var(--color-main)  !important;
}

.mod .txt-accent .link-icon a:after,
.mod .txt-accent a .link-icon:after,
.mod .txt-accent.link-icon a:after,
.mod a.txt-accent .link-icon:after,
.mod .link-icon a.txt-accent:after,
.mod .accordion.txt-accent .accordion-heading:after,
.mod .accordion .txt-accent.accordion-heading:after {
  background-color: var(--color-accent)  !important;
}

.mod .txt-sub1 .link-icon a:after,
.mod .txt-sub1 a .link-icon:after,
.mod .txt-sub1.link-icon a:after,
.mod a.txt-sub1 .link-icon:after,
.mod .link-icon a.txt-sub1:after,
.mod .accordion.txt-sub1 .accordion-heading:after,
.mod .accordion .txt-sub1.accordion-heading:after {
  background-color: var(--color-sub1)  !important;
}

.mod .txt-sub2 .link-icon a:after,
.mod .txt-sub2 a .link-icon:after,
.mod .txt-sub2.link-icon a:after,
.mod a.txt-sub2 .link-icon:after,
.mod .link-icon a.txt-sub2:after,
.mod .accordion.txt-sub2 .accordion-heading:after,
.mod .accordion .txt-sub2.accordion-heading:after {
  background-color: var(--color-sub2)  !important;
}

.mod .txt-sub3 .link-icon a:after,
.mod .txt-sub3 a .link-icon:after,
.mod .txt-sub3.link-icon a:after,
.mod a.txt-sub3 .link-icon:after,
.mod .link-icon a.txt-sub3:after,
.mod .accordion.txt-sub3 .accordion-heading:after,
.mod .accordion .txt-sub3.accordion-heading:after {
  background-color: var(--color-sub3)  !important;
}

.mod .txt-sub4 .link-icon a:after,
.mod .txt-sub4 a .link-icon:after,
.mod .txt-sub4.link-icon a:after,
.mod a.txt-sub4 .link-icon:after,
.mod .link-icon a.txt-sub4:after,
.mod .accordion.txt-sub4 .accordion-heading:after,
.mod .accordion .txt-sub4.accordion-heading:after {
  background-color: var(--color-sub4)  !important;
}

.mod .txt-light-gray .link-icon a:after,
.mod .txt-light-gray a .link-icon:after,
.mod .txt-light-gray.link-icon a:after,
.mod a.txt-light-gray .link-icon:after,
.mod .link-icon a.txt-light-gray:after,
.mod .accordion.txt-light-gray .accordion-heading:after,
.mod .accordion .txt-light-gray.accordion-heading:after {
  background-color: var(--color-light-gray)  !important;
}

.mod .txt-gray .link-icon a:after,
.mod .txt-gray a .link-icon:after,
.mod .txt-gray.link-icon a:after,
.mod a.txt-gray .link-icon:after,
.mod .link-icon a.txt-gray:after,
.mod .accordion.txt-gray .accordion-heading:after,
.mod .accordion .txt-gray.accordion-heading:after {
  background-color: var(--color-gray)  !important;
}

.mod .txt-dark-gray .link-icon a:after,
.mod .txt-dark-gray a .link-icon:after,
.mod .txt-dark-gray.link-icon a:after,
.mod a.txt-dark-gray .link-icon:after,
.mod .link-icon a.txt-dark-gray:after,
.mod .accordion.txt-dark-gray .accordion-heading:after,
.mod .accordion .txt-dark-gray.accordion-heading:after {
  background-color: var(--color-dark-gray)  !important;
}

.mod .txt-black .link-icon a:after,
.mod .txt-black a .link-icon:after,
.mod .txt-black.link-icon a:after,
.mod a.txt-black .link-icon:after,
.mod .link-icon a.txt-black:after,
.mod .accordion.txt-black .accordion-heading:after,
.mod .accordion .txt-black.accordion-heading:after {
  background-color: var(--color-black)  !important;
}

.mod .txt-txt .link-icon a:after,
.mod .txt-txt a .link-icon:after,
.mod .txt-txt.link-icon a:after,
.mod a.txt-txt .link-icon:after,
.mod a.txt-txt.link-icon:after,
.mod .accordion.txt-txt .accordion-heading:after,
.mod .accordion .txt-txt.accordion-heading:after {
  background-color: var(--color-txt)  !important;
}

.mod .txt-note .link-icon a:after,
.mod .txt-note a .link-icon:after,
.mod .txt-note.link-icon a:after,
.mod a.txt-note .link-icon:after,
.mod a.txt-note.link-icon:after,
.mod .accordion.txt-note .accordion-heading:after {
  background-color: var(--color-note)  !important;
}

.mod .txt-placeholder .link-icon a:after,
.mod .txt-placeholder a .link-icon:after,
.mod .txt-placeholder.link-icon a:after,
.mod a.txt-placeholder .link-icon:after,
.mod a.txt-placeholder.link-icon:after,
.mod .accordion.txt-placeholder .accordion-heading:after,
.mod .accordion .txt-placeholder.accordion-heading:after {
  background-color: var(--color-placeholder)  !important;
}

.mod .txt-link .link-icon a:after,
.mod .txt-link a .link-icon:after,
.mod .txt-link.link-icon a:after,
.mod a.txt-link .link-icon:after,
.mod a.txt-link.link-icon:after,
.mod .accordion.txt-link .accordion-heading:after,
.mod .accordion .txt-link.accordion-heading:after {
  background-color: var(--color-link)  !important;
}

.mod .txt-link-hover .link-icon a:after,
.mod .txt-link-hover a .link-icon:after,
.mod .txt-link-hover.link-icon a:after,
.mod a.txt-link-hover .link-icon:after,
.mod a.txt-link-hover.link-icon:after,
.mod .accordion.txt-link-hover .accordion-heading:after,
.mod .accordion .txt-link-hover.accordion-heading:after {
  background-color: var(--color-link-hover)  !important;
}

/*---------------------------------------------
	[LK2] 横並びリンク
  ---------------------------------------------*/
.mod .link-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.625rem;
  line-height: var(--lineheight-subtext);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.mod .link-horizontal a {
  position: relative;
  margin: 0 1.875rem 0.625rem 0;
  text-decoration: none;
}
html:not(.sp) .mod .link-horizontal a:hover {
  text-decoration: underline;
}
.mod .link-horizontal a:last-child {
  margin-right: 0.9375rem;
}
.mod .link-horizontal a:not(:last-child):before {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 1em;
  top: 0.25em;
  right: -0.9375rem;
  vertical-align: top;
  background-color: color-mix(in srgb, var(--color-black) 15%, transparent);
}

.mod .txt-white .link-horizontal a:not(:last-child):before {
  background-color: color-mix(in srgb, var(--color-white) 20%, transparent);
}

/*---------------------------------------------
	[TG] タグ／ラベル
  ---------------------------------------------*/
.mod .tag,
.mod .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.mod .tag.center,
.mod .label.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mod .tag.right,
.mod .label.right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.mod .tag {
  margin: 0 -0.5rem 0.75rem 0;
}
.mod .tag a {
  display: block;
  margin: 0 0.5rem 0.5rem 0;
  padding: 0.5rem 0.9375rem;
  font-size: var(--f13px);
  line-height: var(--lineheight-tag);
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  border-radius: var(--radius-button);
}

.mod .label {
  margin: 0 -0.625rem 0.625rem 0;
}
.mod .label span {
  display: block;
  margin: 0 0.625rem 0.625rem 0;
  padding: 0.5rem 0.625rem;
  font-size: var(--f13px);
  line-height: var(--lineheight-tag);
  text-align: center;
}

.mod .label-inline {
  display: inline-block;
  margin: 0 0.625rem;
  padding: 0.25rem 0.375rem 0.1875rem;
  font-size: var(--f11px);
  font-weight: bold;
  line-height: var(--lineheight-tag);
  color: var(--color-white);
  text-transform: uppercase;
  vertical-align: middle;
}

.mod .tag a,
.mod .label span,
.mod .label-inline {
  color: var(--color-white) !important;
  background-color: var(--color-main);
}

.mod .tag a.bg-white,
.mod .tag a.bg-light,
.mod .tag a.bg-gray,
.mod .label span.bg-white,
.mod .label span.bg-light,
.mod .label span.bg-gray,
.mod .label-inline.bg-white,
.mod .label-inline.bg-light,
.mod .label-inline.bg-gray {
  color: var(--color-txt) !important;
}

.mod .tag a {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
html:not(.sp) .mod .tag a:hover {
  opacity: 0.8;
}

/*---------------------------------------------
	[BT] ボタン
  ---------------------------------------------*/
.mod .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -1.25rem 0 0;
  line-height: var(--lineheight-subtext);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.mod .btn.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mod .btn.right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.mod .btn.full {
  margin-right: 0;
}
.mod .btn > * {
  display: block;
  min-width: 9.375rem;
  margin: 0 1.25rem var(--elm-space-wide) 0;
  padding: 0.5rem 0 0.4375rem;
  font-size: inherit;
  text-decoration: none;
  border: 0 none;
  cursor: pointer;
  text-align: center;
  border-radius: var(--radius-button);
}
.mod .btn.full > * {
  width: 100%;
  min-width: 0;
  margin-right: 0;
}
.mod .btn .ghost {
  padding: 0.375rem 0 0.3125rem;
  -webkit-transition: background-color 0.2s linear, border 0.2s linear;
  transition: background-color 0.2s linear, border 0.2s linear;
}
.mod .btn span {
  position: relative;
  display: inline-block;
  padding: 0 2.5rem 0 1.875rem;
}
.mod .btn span:after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0.75rem;
  vertical-align: middle;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.mod .btn .icon-download span:after {
  -webkit-mask-image: url(../images/icon_download.svg);
          mask-image: url(../images/icon_download.svg);
}
.mod .btn .icon-window span:after {
  -webkit-mask-image: url(../images/icon_window.svg);
          mask-image: url(../images/icon_window.svg);
}
.mod .btn .icon-pdf span:after {
  -webkit-mask-image: url(../images/icon_pdf.svg);
          mask-image: url(../images/icon_pdf.svg);
}
.mod .btn .icon-index span:after {
  -webkit-mask-image: url(../images/icon_index.svg);
          mask-image: url(../images/icon_index.svg);
}
.mod .btn .icon-open span:after {
  -webkit-mask-image: url(../images/icon_open.svg);
          mask-image: url(../images/icon_open.svg);
}
.mod .btn .icon-close span:after {
  -webkit-mask-image: url(../images/icon_close.svg);
          mask-image: url(../images/icon_close.svg);
}
.mod .btn .icon-enlarge span:after {
  -webkit-mask-image: url(../images/icon_enlarge.svg);
          mask-image: url(../images/icon_enlarge.svg);
}
.mod .btn .icon-search span:after {
  -webkit-mask-image: url(../images/icon_search.svg);
          mask-image: url(../images/icon_search.svg);
}
.mod .btn .icon-contact span:after {
  -webkit-mask-image: url(../images/icon_contact.svg);
          mask-image: url(../images/icon_contact.svg);
}
.mod .btn .icon-play span:after {
  -webkit-mask-image: url(../images/icon_play.svg);
          mask-image: url(../images/icon_play.svg);
}
html:not(.sp) .mod .btn > *:not([class*=icon-]):hover span:after {
  -webkit-transform: translate3d(0.1875rem, 0, 0);
          transform: translate3d(0.1875rem, 0, 0);
}
.mod .btn .icon-back span {
  padding: 0 1.875rem 0 2.5rem;
}
.mod .btn .icon-back span:after {
  left: 0.75rem;
  right: auto;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
html:not(.sp) .mod .btn .icon-back:hover span:after {
  -webkit-transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
          transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
}
.mod .btn .icon-anchor span:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
html:not(.sp) .mod .btn .icon-anchor span:hover:after {
  -webkit-transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
          transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
}
.mod .btn > * {
  color: var(--color-white);
  background-color: var(--color-main);
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.mod .btn > * span:after {
  background-color: var(--color-white);
}
html:not(.sp) .mod .btn > *:hover {
  color: var(--color-white);
  opacity: 0.8;
}
.mod .btn .bg-white,
.mod .btn .bg-light,
.mod .btn .bg-gray {
  color: var(--color-txt);
}
.mod .btn .bg-white:not(.ghost) span:after,
.mod .btn .bg-light:not(.ghost) span:after,
.mod .btn .bg-gray:not(.ghost) span:after {
  background-color: var(--color-dark-gray);
}
html:not(.sp) .mod .btn .bg-white:hover,
html:not(.sp) .mod .btn .bg-light:hover,
html:not(.sp) .mod .btn .bg-gray:hover {
  color: var(--color-txt);
}
.mod .btn .ghost {
  color: var(--color-main);
  border: solid 0.125rem var(--color-main);
  background-color: transparent !important;
}
.mod .btn .ghost span:after {
  background-color: var(--color-main);
}
html:not(.sp) .mod .btn .ghost:hover {
  background-color: var(--color-main) !important;
  opacity: 1;
}
html:not(.sp) .mod .btn .ghost:hover span:after {
  background-color: var(--color-white);
}
.mod .btn .ghost.bg-color1 {
  color: var(--color-sub1);
  border: solid 0.125rem var(--color-sub1);
}
.mod .btn .ghost.bg-color1 span:after {
  background-color: var(--color-sub1);
}
html:not(.sp) .mod .btn .ghost.bg-color1:hover {
  background-color: var(--color-sub1) !important;
}
.mod .btn .ghost.bg-sub1 {
  color: var(--color-sub1);
  border: solid 0.125rem var(--color-sub1);
}
.mod .btn .ghost.bg-sub1 span:after {
  background-color: var(--color-sub1);
}
html:not(.sp) .mod .btn .ghost.bg-sub1:hover {
  background-color: var(--color-sub1) !important;
}
.mod .btn .ghost.bg-color2 {
  color: var(--color-sub2);
  border: solid 0.125rem var(--color-sub2);
}
.mod .btn .ghost.bg-color2 span:after {
  background-color: var(--color-sub2);
}
html:not(.sp) .mod .btn .ghost.bg-color2:hover {
  background-color: var(--color-sub2) !important;
}
.mod .btn .ghost.bg-sub2 {
  color: var(--color-sub2);
  border: solid 0.125rem var(--color-sub2);
}
.mod .btn .ghost.bg-sub2 span:after {
  background-color: var(--color-sub2);
}
html:not(.sp) .mod .btn .ghost.bg-sub2:hover {
  background-color: var(--color-sub2) !important;
}
.mod .btn .ghost.bg-color3 {
  color: var(--color-accent);
  border: solid 0.125rem var(--color-accent);
}
.mod .btn .ghost.bg-color3 span:after {
  background-color: var(--color-accent);
}
html:not(.sp) .mod .btn .ghost.bg-color3:hover {
  background-color: var(--color-accent) !important;
}
.mod .btn .ghost.bg-sub3 {
  color: var(--color-sub3);
  border: solid 0.125rem var(--color-sub3);
}
.mod .btn .ghost.bg-sub3 span:after {
  background-color: var(--color-sub3);
}
html:not(.sp) .mod .btn .ghost.bg-sub3:hover {
  background-color: var(--color-sub3) !important;
}
.mod .btn .ghost.bg-sub4 {
  color: var(--color-sub4);
  border: solid 0.125rem var(--color-sub4);
}
.mod .btn .ghost.bg-sub4 span:after {
  background-color: var(--color-sub4);
}
html:not(.sp) .mod .btn .ghost.bg-sub4:hover {
  background-color: var(--color-sub4) !important;
}
.mod .btn .ghost.bg-dark {
  color: var(--color-dark-gray);
  border: solid 0.125rem var(--color-dark-gray);
}
.mod .btn .ghost.bg-dark span:after {
  background-color: var(--color-dark-gray);
}
html:not(.sp) .mod .btn .ghost.bg-dark:hover {
  background-color: var(--color-dark-gray) !important;
}
.mod .btn .ghost.bg-dark-gray {
  color: var(--color-dark-gray);
  border: solid 0.125rem var(--color-dark-gray);
}
.mod .btn .ghost.bg-dark-gray span:after {
  background-color: var(--color-dark-gray);
}
html:not(.sp) .mod .btn .ghost.bg-dark-gray:hover {
  background-color: var(--color-dark-gray) !important;
}
.mod .btn .ghost.bg-gray {
  color: var(--color-gray);
  border: solid 0.125rem var(--color-gray);
}
.mod .btn .ghost.bg-gray span:after {
  background-color: var(--color-gray);
}
html:not(.sp) .mod .btn .ghost.bg-gray:hover {
  background-color: var(--color-gray) !important;
  color: var(--color-white) !important;
}
.mod .btn .ghost.bg-light-gray {
  color: var(--color-light-gray);
  border: solid 0.125rem var(--color-light-gray);
}
.mod .btn .ghost.bg-light-gray span:after {
  background-color: var(--color-light-gray);
}
html:not(.sp) .mod .btn .ghost.bg-light-gray:hover {
  background-color: var(--color-light-gray) !important;
  color: var(--color-white) !important;
}
.mod .btn .ghost.bg-light {
  color: var(--color-light-gray);
  border: solid 0.125rem var(--color-light-gray);
}
.mod .btn .ghost.bg-light span:after {
  background-color: var(--color-light-gray);
}
html:not(.sp) .mod .btn .ghost.bg-light:hover {
  background-color: var(--color-light-gray) !important;
  color: var(--color-white) !important;
}
.mod .btn .ghost.bg-black {
  color: var(--color-black);
  border: solid 0.125rem var(--color-black);
}
.mod .btn .ghost.bg-black span:after {
  background-color: var(--color-black);
}
html:not(.sp) .mod .btn .ghost.bg-black:hover {
  background-color: var(--color-black) !important;
}
.mod .btn .ghost.bg-txt {
  color: var(--color-txt);
  border: solid 0.125rem var(--color-txt);
}
.mod .btn .ghost.bg-txt span:after {
  background-color: var(--color-txt);
}
html:not(.sp) .mod .btn .ghost.bg-txt:hover {
  background-color: var(--color-txt) !important;
}
.mod .btn .ghost.bg-note {
  color: var(--color-note);
  border: solid 0.125rem var(--color-note);
}
.mod .btn .ghost.bg-note span:after {
  background-color: var(--color-note);
}
html:not(.sp) .mod .btn .ghost.bg-note:hover {
  background-color: var(--color-note) !important;
}
.mod .btn .ghost.bg-link {
  color: var(--color-link);
  border: solid 0.125rem var(--color-link);
}
.mod .btn .ghost.bg-link span:after {
  background-color: var(--color-link);
}
html:not(.sp) .mod .btn .ghost.bg-link:hover {
  background-color: var(--color-link) !important;
}
.mod .btn .ghost.bg-link-hover {
  color: var(--color-link-hover);
  border: solid 0.125rem var(--color-link-hover);
}
.mod .btn .ghost.bg-link-hover span:after {
  background-color: var(--color-link-hover);
}
html:not(.sp) .mod .btn .ghost.bg-link-hover:hover {
  background-color: var(--color-link-hover) !important;
}
.mod .btn .ghost.bg-white {
  color: var(--color-white);
  border: solid 0.125rem var(--color-white);
}
.mod .btn .ghost.bg-white span:after {
  background-color: var(--color-white);
}
html:not(.sp) .mod .btn .ghost.bg-white:hover {
  background-color: var(--color-white) !important;
  color: var(--color-white) !important;
}

.mod .txt-white .btn .ghost:not(:hover) {
  border: solid 0.125rem color-mix(in srgb, var(--color-white) 50%, transparent);
}
.mod .txt-white .btn .ghost span:after {
  background-color: var(--color-white);
}
html:not(.sp) .mod .txt-white .btn .ghost:hover {
  background-color: var(--color-white) !important;
  border: solid 0.125rem var(--color-white) !important;
}
html:not(.sp) .mod .txt-white .btn .ghost:hover span {
  color: var(--color-dark-gray) !important;
}
html:not(.sp) .mod .txt-white .btn .ghost:hover span:after {
  background-color: var(--color-dark-gray)  !important;
}

/*---------------------------------------------
	[BT3] シェアボタン
  ---------------------------------------------*/
.mod .btn-share {
  margin: 0 -0.625rem 0.625rem 0;
  text-align: right;
}
.mod .btn-share > div {
  display: inline-block;
  height: 1.25rem;
  margin: 0 0.625rem 0.625rem 0;
  text-align: left;
  vertical-align: top;
  overflow: hidden;
}
.mod .btn-share.share-facebook .fb-like > span {
  vertical-align: top !important;
}

/*---------------------------------------------
	[BT4] メニューボタン
  ---------------------------------------------*/
.mod #btn-menu {
  position: relative;
  z-index: 1000;
  width: 3.125rem;
  height: 3.125rem;
  background-color: var(--color-main);
  overflow: hidden;
  border-radius: 50%;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
}
html:not(.sp) .mod #btn-menu:hover {
  background-color: color-mix(in srgb, var(--color-main) 65%, white);
}
.mod #btn-menu button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  border: 0 none;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.mod #btn-menu:after {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  top: 1.0625rem;
  right: 1rem;
  background-color: var(--color-white);
  border-radius: 0.125rem;
  -webkit-transition: top 0.3s ease-out, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: top 0.3s ease-out, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, top 0.3s ease-out, width 0.3s ease-out;
  transition: transform 0.3s ease-out, top 0.3s ease-out, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.mod #btn-menu button:before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  top: 1.5rem;
  right: 1rem;
  background-color: var(--color-white);
  border-radius: 0.125rem;
  -webkit-transition: width 0.3s ease-out, right 0.3s ease-out;
  transition: width 0.3s ease-out, right 0.3s ease-out;
}
.mod #btn-menu button:after {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 1.125rem;
  height: 0.125rem;
  top: 1.9375rem;
  right: 1rem;
  background-color: var(--color-white);
  border-radius: 0.125rem;
  -webkit-transition: top 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: top 0.3s ease-out, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, top 0.3s ease-out;
  transition: transform 0.3s ease-out, top 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
html:not(.sp) .mod #btn-menu:hover:after {
  width: 0.875rem;
}
html:not(.sp) .mod #btn-menu button:hover:before {
  width: 0.625rem;
}
.mod #btn-menu.on:after {
  width: 1.125rem !important;
  top: 1.5rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.mod #btn-menu.on button:before {
  width: 0 !important;
  right: 1.5625rem;
}
.mod #btn-menu.on button:after {
  top: 1.5rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/*---------------------------------------------
	[BT5] ページトップボタン
  ---------------------------------------------*/
.mod #pagetop {
  bottom: 0;
}

.mod #btn-pagetop {
  position: absolute;
  width: 3.125rem;
  height: 3.125rem;
  top: 0;
  right: 1.875rem;
  overflow: hidden;
  background-color: var(--color-main);
  border-radius: 50%;
  -webkit-transition: background-color 0.2s linear, -webkit-transform 0.3s ease-out;
  transition: background-color 0.2s linear, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, background-color 0.2s linear;
  transition: transform 0.3s ease-out, background-color 0.2s linear, -webkit-transform 0.3s ease-out;
}
html:not(.sp) .mod #btn-pagetop:hover {
  background-color: color-mix(in srgb, var(--color-main) 65%, white);
}
.mod #btn-pagetop.show {
  -webkit-transform: translate3d(0, -5rem, 0);
          transform: translate3d(0, -5rem, 0);
}
.mod #btn-pagetop a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
.mod #btn-pagetop a:before, .mod #btn-pagetop a:after {
  content: "";
  position: absolute;
  display: block;
  width: 0.625rem;
  height: 0.125rem;
  top: 1.4375rem;
  background-color: var(--color-white);
  border-radius: 0.125rem;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.mod #btn-pagetop a:before {
  left: 1.0625rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.mod #btn-pagetop a:after {
  left: 1.4375rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
html:not(.sp) .mod #btn-pagetop a:hover:before {
  -webkit-transform: translate3d(0, -0.1875rem, 0) rotate(-45deg);
          transform: translate3d(0, -0.1875rem, 0) rotate(-45deg);
}
html:not(.sp) .mod #btn-pagetop a:hover:after {
  -webkit-transform: translate3d(0, -0.1875rem, 0) rotate(45deg);
          transform: translate3d(0, -0.1875rem, 0) rotate(45deg);
}

/*---------------------------------------------
	[BX] ボックス
  ---------------------------------------------*/
.mod .box {
  margin-bottom: var(--col-space-wide);
  padding: var(--elm-space-wide) var(--elm-space-wide) 0;
  background-color: var(--color-light-gray);
  overflow: hidden;
  border-radius: var(--radius-box-pc);
}
.mod .box .heading {
  font-weight: bold;
  font-size: var(--fontsize-box-heading);
  line-height: var(--lineheight-box-heading);
  background-color: color-mix(in srgb, var(--color-black) 7%, transparent);
}
.mod .box .heading:first-child {
  margin: calc(var(--elm-space-wide) * -1) calc(var(--elm-space-wide) * -1) var(--elm-space-wide) !important;
  padding: 0.75rem var(--elm-space-wide);
}

.mod .gutter1 .box {
  margin-bottom: var(--col-space-wide-gutter1);
}

.mod .gutter2 .box {
  margin-bottom: var(--col-space-wide-gutter2);
}

.mod .gutter3 .box {
  margin-bottom: var(--col-space-wide-gutter3);
}

/*---------------------------------------------
	[FR] 枠
  ---------------------------------------------*/
.mod .frame {
  position: relative;
  margin-bottom: var(--col-space-wide);
  padding: var(--elm-space-wide) var(--elm-space-wide) 0;
  background: none transparent !important;
  border: solid 0.625rem var(--color-gray);
  border-radius: var(--radius-frame-pc);
}
.mod .frame:not(.bg-gradation1) {
  overflow: hidden;
}
.mod .frame .heading {
  font-weight: bold;
  font-size: var(--font-frame-heading);
  line-height: var(--lineheight-frame-heading);
  color: var(--color-black);
  background-color: var(--color-gray);
}
.mod .frame .heading:first-child {
  margin: calc(var(--elm-space-wide) * -1) calc(var(--elm-space-wide) * -1) var(--elm-space-wide) !important;
  padding: 0.125rem var(--elm-space-wide) 0.75rem;
}
.mod .frame.bg-white {
  border-color: var(--color-white);
}
.mod .frame.bg-light {
  border-color: var(--color-light-gray);
}
.mod .frame.bg-gray {
  border-color: var(--color-gray);
}
.mod .frame.bg-dark {
  border-color: var(--color-dark-gray);
}
.mod .frame.bg-color0 {
  border-color: var(--color-main);
}
.mod .frame.bg-color1 {
  border-color: var(--color-sub1);
}
.mod .frame.bg-color2 {
  border-color: var(--color-sub2);
}
.mod .frame.bg-color3 {
  border-color: var(--color-accent);
}
.mod .frame.bg-main {
  background-color: var(--color-main) !important;
}
.mod .frame.bg-accent {
  background-color: var(--color-accent) !important;
}
.mod .frame.bg-sub1 {
  background-color: var(--color-sub1) !important;
}
.mod .frame.bg-sub2 {
  background-color: var(--color-sub2) !important;
}
.mod .frame.bg-sub3 {
  background-color: var(--color-sub3) !important;
}
.mod .frame.bg-sub4 {
  background-color: var(--color-sub4) !important;
}
.mod .frame.bg-light-gray {
  background-color: var(--color-light-gray) !important;
}
.mod .frame.bg-dark-gray {
  background-color: var(--color-dark-gray) !important;
}
.mod .frame.bg-black {
  background-color: var(--color-black) !important;
}
.mod .frame.bg-txt {
  background-color: var(--color-txt) !important;
}
.mod .frame.bg-note {
  background-color: var(--color-note) !important;
}
.mod .frame.bg-placeholder {
  background-color: var(--color-placeholder) !important;
}
.mod .frame.bg-link {
  background-color: var(--color-link) !important;
}
.mod .frame.bg-link-hover {
  background-color: var(--color-link-hover) !important;
}
.mod .frame.bg-gradation1 {
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: var(--color-sub3);
  border-right-color: var(--color-sub4);
}
.mod .frame.bg-gradation1:before, .mod .frame.bg-gradation1:after {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% + 1.25rem);
  height: 0.625rem;
  left: -0.625rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(0, var(--color-sub3)), to(var(--color-sub4)));
  background: linear-gradient(to right, var(--color-sub3) 0, var(--color-sub4) 100%);
}
.mod .frame.bg-gradation1:before {
  top: -0.625rem;
}
.mod .frame.bg-gradation1:after {
  bottom: -0.625rem;
}
.mod .frame.bg-img {
  -o-border-image: 10 stretch;
     border-image: 10 stretch;
}
.mod .frame.bg-white .heading {
  border-color: var(--color-white);
}
.mod .frame.bg-light .heading {
  color: var(--color-white);
  background-color: var(--color-light-gray);
}
.mod .frame.bg-gray .heading {
  color: var(--color-white);
  background-color: var(--color-gray);
}
.mod .frame.bg-dark .heading {
  color: var(--color-white);
  background-color: var(--color-dark-gray);
}
.mod .frame.bg-color0 .heading {
  color: var(--color-white);
  background-color: var(--color-main);
}
.mod .frame.bg-color1 .heading {
  color: var(--color-white);
  background-color: var(--color-sub1);
}
.mod .frame.bg-color2 .heading {
  color: var(--color-white);
  background-color: var(--color-sub2);
}
.mod .frame.bg-color3 .heading {
  color: var(--color-white);
  background-color: var(--color-accent);
}
.mod .frame.bg-main .heading {
  color: var(--color-white);
  background-color: var(--color-main);
}
.mod .frame.bg-accent .heading {
  color: var(--color-white);
  background-color: var(--color-accent);
}
.mod .frame.bg-sub1 .heading {
  color: var(--color-white);
  background-color: var(--color-sub1);
}
.mod .frame.bg-sub2 .heading {
  color: var(--color-white);
  background-color: var(--color-sub2);
}
.mod .frame.bg-sub3 .heading {
  color: var(--color-white);
  background-color: var(--color-sub3);
}
.mod .frame.bg-sub4 .heading {
  color: var(--color-white);
  background-color: var(--color-sub4);
}
.mod .frame.bg-light-gray .heading {
  color: var(--color-white);
  background-color: var(--color-light-gray);
}
.mod .frame.bg-dark-gray .heading {
  color: var(--color-white);
  background-color: var(--color-dark-gray);
}
.mod .frame.bg-black .heading {
  color: var(--color-white);
  background-color: var(--color-black);
}
.mod .frame.bg-txt .heading {
  color: var(--color-white);
  background-color: var(--color-txt);
}
.mod .frame.bg-note {
  color: var(--color-white);
  background-color: var(--color-note);
}
.mod .frame.bg-placeholder {
  color: var(--color-white);
  background-color: var(--color-placeholder);
}
.mod .frame.bg-link {
  color: var(--color-white);
  background-color: var(--color-link);
}
.mod .frame.bg-link-hover {
  color: var(--color-white);
  background-color: var(--color-link-hover);
}
.mod .frame.bg-gradation1 .heading {
  color: var(--color-white);
  background: -webkit-gradient(linear, left top, right top, color-stop(0, var(--color-sub3)), to(var(--color-sub4)));
  background: linear-gradient(to right, var(--color-sub3) 0, var(--color-sub4) 100%);
}

.mod .gutter1 .frame {
  margin-bottom: var(--col-space-wide-gutter1);
}

.mod .gutter2 .frame {
  margin-bottom: var(--col-space-wide-gutter2);
}

.mod .gutter3 .frame {
  margin-bottom: var(--col-space-wide-gutter3);
}

/*---------------------------------------------
	[PL] パネル
  ---------------------------------------------*/
/* ----- [PL1] パネル > 画像上 ----- */
.mod .panel-vertical {
  position: relative;
  margin-bottom: var(--col-space-wide);
  background-color: var(--color-light-gray);
  border-radius: var(--radius-panel-pc);
}
.mod .panel-vertical > a {
  display: block;
  text-decoration: none;
}
.mod .panel-vertical > a:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: var(--radius-panel-pc);
}
.mod .panel-vertical .img {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-panel-pc) var(--radius-panel-pc) 0 0;
}
.mod .panel-vertical .img img {
  width: 100%;
}
.mod .panel-vertical .txt {
  position: relative;
  padding: 1.25rem 1.25rem 0;
}
.mod .panel-vertical p {
  font-size: var(--f14px);
  line-height: var(--lineheight-subtext);
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear;
}
.mod .panel-vertical p:not(.link-icon) {
  color: var(--color-txt);
}
.mod .panel-vertical .date,
.mod .panel-vertical .date:not(.link-icon) {
  font-size: var(--f13px);
  color: var(--color-note);
}
.mod .panel-vertical .heading {
  margin-bottom: 1.25rem;
  padding: 0;
  font-size: var(--font-panel-vertical-heading);
  font-weight: bold;
  color: var(--color-black);
  line-height: var(--lineheight-panel-vertical-heading);
}
.mod .panel-vertical .badge {
  margin-left: 1.875rem;
  margin-right: 1.875rem;
}
.mod .panel-vertical .badge.center {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
.mod .panel-vertical .badge.right {
  left: auto;
  right: 0;
}
.mod .panel-vertical .badge + .txt {
  padding-top: 2.5rem;
}
.mod .panel-vertical .tag,
.mod .panel-vertical .link-horizontal {
  position: relative;
  margin: 0;
  line-height: var(--lineheight-tag);
  border-top: solid 1px var(--color-white);
}
.mod .panel-vertical .tag {
  padding: 0.9375rem 0.75rem 0.4375rem 1.25rem;
}
.mod .panel-vertical .link-horizontal {
  padding: 0.9375rem 0.625rem 0.3125rem 1.25rem;
}
.mod .panel-vertical.txt-white .tag, .mod .panel-vertical.txt-white .link-horizontal {
  border-top: solid 1px color-mix(in srgb, var(--color-white) 20%, transparent);
}

.mod .gutter1 .panel-vertical {
  margin-bottom: var(--col-space-wide-gutter1);
}

.mod .gutter2 .panel-vertical {
  margin-bottom: var(--col-space-wide-gutter2);
}

.mod .gutter3 .panel-vertical {
  margin-bottom: var(--col-space-wide-gutter3);
}

/* ----- [PL2] パネル > 画像左右 ----- */
.mod .panel-horizontal {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: var(--min-panel-height);
  background-color: var(--color-light-gray);
  overflow: hidden;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .panel-horizontal > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  text-decoration: none;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .panel-horizontal:not(.txt-white) p:not(.link-icon) {
  color: var(--color-txt);
}
.mod .panel-horizontal .img {
  position: relative;
  z-index: 1;
  width: 50%;
  margin: 0;
  overflow: hidden;
}
.mod .panel-horizontal .img.right {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.mod .panel-horizontal .img > a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mod .panel-horizontal .img img {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mod .panel-horizontal .txt {
  position: relative;
  z-index: 1;
  width: 50%;
  margin: 0;
  padding: var(--elm-space-wide) var(--elm-space-wide) 0;
}
.mod .panel-horizontal .img.right + .badge + .txt {
  padding-right: 2.5rem;
}
.mod .panel-horizontal .img:not(.right) + .badge + .txt {
  padding-left: 2.5rem;
}
.mod .panel-horizontal .col1-2 {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.mod .panel-horizontal .col1-3 {
  -ms-flex-preferred-size: 33.3333333333%;
      flex-basis: 33.3333333333%;
}
.mod .panel-horizontal .col2-3 {
  -ms-flex-preferred-size: 66.6666666667%;
      flex-basis: 66.6666666667%;
}
.mod .panel-horizontal .col1-4 {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}
.mod .panel-horizontal .col3-4 {
  -ms-flex-preferred-size: 75%;
      flex-basis: 75%;
}
.mod .panel-horizontal .col2-5 {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
}
.mod .panel-horizontal .col3-5 {
  -ms-flex-preferred-size: 60%;
      flex-basis: 60%;
}
.mod .panel-horizontal h2:not([class*=heading]),
.mod .panel-horizontal .heading1 {
  font-size: var(--font-panel-horizontal-heading1);
}
.mod .panel-horizontal p {
  line-height: var(--lineheight-subtext);
}
.mod .panel-horizontal .date,
.mod .panel-horizontal .date:not(.link-icon), .mod .panel-horizontal:not(.txt-white) .date:not(.link-icon) {
  font-size: var(--f13px);
  color: var(--color-note);
}
.mod .panel-horizontal .txt .heading {
  margin-bottom: 1.25rem;
  padding: 0;
  font-size: var(--font-panel-horizontal-heading);
  font-weight: bold;
  color: var(--color-black);
  line-height: var(--lineheight-panel-horizontal-heading);
}
.mod .panel-horizontal .badge {
  top: 50%;
}
.mod .panel-horizontal .img:not(.right) + .badge {
  left: 50%;
}
.mod .panel-horizontal .img.col3-4:not(.right) + .badge {
  left: 75%;
}
.mod .panel-horizontal .img.col2-3:not(.right) + .badge {
  left: 66.66666666%;
}
.mod .panel-horizontal .img.col1-2:not(.right) + .badge {
  left: 50%;
}
.mod .panel-horizontal .img.col1-3:not(.right) + .badge {
  left: 33.33333333%;
}
.mod .panel-horizontal .img.col1-4:not(.right) + .badge {
  left: 25%;
}
.mod .panel-horizontal .img.right + .badge {
  left: 50%;
}
.mod .panel-horizontal .img.col3-4.right + .badge {
  left: 25%;
}
.mod .panel-horizontal .img.col2-3.right + .badge {
  left: 33.33333333%;
}
.mod .panel-horizontal .img.col1-2.right + .badge {
  left: 50%;
}
.mod .panel-horizontal .img.col1-3.right + .badge {
  left: 66.66666666%;
}
.mod .panel-horizontal .img.col1-4.right + .badge {
  left: 75%;
}

.mod .row .panel-horizontal {
  margin-bottom: var(--col-space-wide);
  border-radius: var(--radius-panel-pc);
}

.mod .row .gutter1 .panel-horizontal {
  margin-bottom: var(--col-space-wide-gutter1);
}

.mod .row .gutter2 .panel-horizontal {
  margin-bottom: var(--col-space-wide-gutter2);
}

.mod .row .gutter3 .panel-horizontal {
  margin-bottom: var(--col-space-wide-gutter3);
}

/* ----- [PL4] パネル > 背景画像 ----- */
.mod .panel-covered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  overflow: hidden;
}
.mod .panel-covered > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  text-decoration: none;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
.mod .panel-covered:before,
.mod .panel-covered > a:before {
  content: "";
  display: block;
  height: var(--min-panel-height);
}
.mod .panel-covered .img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}
.mod .panel-covered .txt {
  width: 100%;
  padding: var(--elm-space-wide) var(--elm-space-wide) 0.625rem;
}
.mod .panel-covered .txt.bottom {
  position: relative;
  margin-top: -1.25rem;
  padding-top: 3.125rem;
  background: -webkit-gradient(linear, left top, left bottom, from(color-mix(in srgb, var(--color-black) 0%, transparent)), color-stop(3.125rem, color-mix(in srgb, var(--color-black) 50%, transparent)));
  background: linear-gradient(to bottom, color-mix(in srgb, var(--color-black) 0%, transparent) 0%, color-mix(in srgb, var(--color-black) 50%, transparent) 3.125rem);
}
.mod .panel-covered .txt:not(.bottom):before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: color-mix(in srgb, var(--color-black) 50%, transparent);
}
.mod .panel-covered .txt > * {
  position: relative;
}
.mod .panel-covered p {
  line-height: var(--lineheight-subtext);
}
.mod .panel-covered .date {
  font-size: var(--f13px);
}
.mod .panel-covered h2:not([class*=heading]),
.mod .panel-covered .heading1 {
  font-size: var(--font-panel-horizontal-heading1);
}
.mod .panel-covered .heading {
  margin-bottom: 1.25rem;
  padding: 0;
  font-size: var(--font-panel-horizontal-heading);
  font-weight: bold;
  line-height: var(--lineheight-panel-horizontal-heading);
}
.mod .panel-covered .link-horizontal {
  margin: 0 -1.875rem -0.625rem;
  padding: 0.9375rem 1.25rem 0.3125rem 1.875rem;
}
.mod .panel-covered .tag {
  margin: 0 -1.875rem -0.625rem;
  padding: 0.9375rem 1.375rem 0.4375rem 1.875rem;
}
.mod .panel-covered * {
  color: var(--color-white) !important;
}
.mod .panel-covered h2:not([class*=heading]):after,
.mod .panel-covered h3:not([class*=heading]):after,
.mod .panel-covered h4:not([class*=heading]):after,
.mod .panel-covered .heading1:after,
.mod .panel-covered .heading2:after,
.mod .panel-covered .heading3:after,
.mod .panel-covered ul li:before {
  background-color: var(--color-white);
}
.mod .panel-covered h3:not([class*=heading]) {
  border-bottom-color: color-mix(in srgb, var(--color-white) 20%, transparent);
}
.mod .panel-covered .tag,
.mod .panel-covered .link-horizontal {
  border-top: solid 1px color-mix(in srgb, var(--color-white) 20%, transparent);
}
.mod .panel-covered .link-horizontal a:not(:last-child):before {
  background-color: color-mix(in srgb, var(--color-white) 20%, transparent);
}
.mod .panel-covered .link-icon a:after,
.mod .panel-covered a .link-icon:after {
  background-color: var(--color-white)  !important;
}
.mod .panel-covered .btn .ghost:not(:hover) {
  border: solid 0.125rem color-mix(in srgb, var(--color-white) 50%, transparent);
}
.mod .panel-covered .btn .ghost span:after {
  background-color: var(--color-white)  !important;
}
html:not(.sp) .mod .panel-covered .btn .ghost:hover {
  background-color: var(--color-white) !important;
  border: solid 0.125rem var(--color-white) !important;
}
html:not(.sp) .mod .panel-covered .btn .ghost:hover span {
  color: var(--color-dark-gray) !important;
}
html:not(.sp) .mod .panel-covered .btn .ghost:hover span:after {
  background-color: var(--color-dark-gray)  !important;
}

.mod .col-set:not(.no-gutter) .panel-covered {
  margin-bottom: var(--col-space-wide);
  border-radius: var(--radius-panel-pc);
}
.mod .col-set:not(.no-gutter) .panel-covered:before,
.mod .col-set:not(.no-gutter) .panel-covered > a:before {
  border-radius: var(--radius-panel-pc);
}

.mod .gutter1.col-set:not(.no-gutter) .panel-covered {
  margin-bottom: var(--col-space-wide-gutter1);
}

.mod .gutter2.col-set:not(.no-gutter) .panel-covered {
  margin-bottom: var(--col-space-wide-gutter2);
}

.mod .gutter3.col-set:not(.no-gutter) .panel-covered {
  margin-bottom: var(--col-space-wide-gutter3);
}

/* ----- [PL] パネル - 共通設定 ----- */
.mod .panel-vertical > a:before,
.mod .panel-horizontal > a:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-black);
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

html:not(.sp) .mod .panel-vertical > a:hover:before,
html:not(.sp) .mod .panel-horizontal > a:hover:after {
  opacity: 0.05;
}

.mod .panel-vertical.txt-white > a:before,
.mod .panel-horizontal.txt-white > a:after {
  background-color: var(--color-white);
}

html:not(.sp) .mod .panel-vertical.txt-white > a:hover:before,
html:not(.sp) .mod .panel-horizontal.txt-white > a:hover:after {
  opacity: 0.2;
}

.mod .panel-covered .img .bg-img {
  width: 100%;
  height: 100%;
}

.mod .panel-horizontal .txt.middle,
.mod .panel-covered .txt.middle {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}
.mod .panel-horizontal .txt.bottom,
.mod .panel-covered .txt.bottom {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important;
}

.mod .panel-vertical .txt p + *,
.mod .panel-horizontal .txt p + *,
.mod .panel-covered .txt p + * {
  margin-top: -0.3125rem;
}
.mod .panel-vertical .txt .date + *,
.mod .panel-vertical .txt .heading + *,
.mod .panel-horizontal .txt .date + *,
.mod .panel-horizontal .txt .heading + *,
.mod .panel-covered .txt .date + *,
.mod .panel-covered .txt .heading + * {
  margin-top: -0.625rem;
}
.mod .panel-vertical .txt .btn,
.mod .panel-vertical .txt .link-icon,
.mod .panel-horizontal .txt .btn,
.mod .panel-horizontal .txt .link-icon,
.mod .panel-covered .txt .btn,
.mod .panel-covered .txt .link-icon {
  margin-top: 0;
}
.mod .panel-vertical .label,
.mod .panel-horizontal .label,
.mod .panel-covered .label {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  margin-bottom: 0;
}
.mod .panel-vertical .label span,
.mod .panel-horizontal .label span,
.mod .panel-covered .label span {
  float: left;
  display: block;
  margin: 0;
  font-size: var(--f11px);
}
.mod .panel-vertical .txt .label,
.mod .panel-horizontal .txt .label,
.mod .panel-covered .txt .label {
  position: static;
  margin-bottom: 0.9375rem;
}
.mod .panel-vertical .tag a,
.mod .panel-horizontal .tag a,
.mod .panel-covered .tag a {
  padding: 0.25rem 0.625rem;
  font-size: var(--f11px);
}
.mod .panel-vertical .link-horizontal a,
.mod .panel-horizontal .link-horizontal a,
.mod .panel-covered .link-horizontal a {
  margin-right: 1.25rem;
  font-size: var(--f13px);
}
.mod .panel-vertical .link-horizontal a:before,
.mod .panel-horizontal .link-horizontal a:before,
.mod .panel-covered .link-horizontal a:before {
  right: -0.625rem;
}

.mod .panel-vertical .link-horizontal a:before {
  top: 0;
}

.mod .badge {
  position: absolute;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 3.75rem;
  height: 3.75rem;
  margin: -1.875rem 0 0 -1.875rem;
  padding: 0.1875rem;
  font-size: var(--f12px) !important;
  line-height: var(--lineheight-badge) !important;
  overflow: hidden;
  border-radius: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mod .badge a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 3.75rem;
  height: 3.75rem;
  margin: -0.1875rem;
  padding: 0.1875rem;
  text-decoration: none;
  border-radius: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mod .badge a:after {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  border-radius: 6.25rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.mod .badge img {
  display: block;
  width: calc(100% + 0.375rem);
  max-width: none;
  margin: -0.1875rem;
}
.mod .badge {
  color: var(--color-white) !important;
  background-color: var(--color-main);
}
.mod .badge a {
  color: var(--color-white) !important;
}
.mod .badge a:after {
  background-color: var(--color-white);
}
html:not(.sp) .mod .badge a:hover:after {
  opacity: 0.2;
}
.mod .badge.bg-white, .mod .badge.bg-light, .mod .badge.bg-gray {
  color: var(--color-txt) !important;
}
.mod .badge.bg-white a, .mod .badge.bg-light a, .mod .badge.bg-gray a {
  color: var(--color-txt) !important;
}
.mod .badge.bg-white a:after, .mod .badge.bg-light a:after, .mod .badge.bg-gray a:after {
  background-color: var(--color-black);
}
html:not(.sp) .mod .badge.bg-white a:hover:after, html:not(.sp) .mod .badge.bg-light a:hover:after, html:not(.sp) .mod .badge.bg-gray a:hover:after {
  opacity: 0.07;
}

/*---------------------------------------------
	[TB] 表
  ---------------------------------------------*/
.mod table {
  width: 100%;
  margin-bottom: var(--elm-space-wide);
  border-spacing: 0;
}
.mod table td {
  padding: 0.9375rem;
  border: solid 1px var(--color-gray);
}
.mod table th {
  padding: 0.9375rem;
  color: var(--color-black);
  font-weight: bold;
  background-color: var(--color-light-gray);
  border: solid 1px var(--color-gray);
}
.mod table thead th {
  color: var(--color-black);
  background-color: var(--color-gray);
  border: solid 1px color-mix(in srgb, var(--color-gray) 82%, black);
}
.mod table td p:last-child,
.mod table td ul:last-child,
.mod table td ol:last-child,
.mod table td dl:last-child {
  margin-bottom: 0;
}

/*---------------------------------------------
	[NV1] コンテンツナビゲーション
  ---------------------------------------------*/
.mod .nav-content {
  margin-bottom: var(--elm-space-wide);
}
.mod .nav-content ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .nav-content li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 125rem;
  min-height: 3.75rem;
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: var(--lineheight-subtext);
  overflow: hidden;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .nav-content li:before {
  display: none;
}
.mod .nav-content a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0.625rem 0.9375rem;
  text-decoration: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background-color 0.2s linear, border-color 0.2s linear;
  transition: background-color 0.2s linear, border-color 0.2s linear;
}
.mod .nav-content.link-internal a:after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  min-width: 1.5rem;
  margin: 0 -0.3125rem 0 0.3125rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
html:not(.sp) .mod .nav-content.link-internal a:hover:after {
  -webkit-transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
          transform: translate3d(0, 0.1875rem, 0) rotate(90deg);
}
.mod .nav-content {
  background-color: var(--color-light-gray);
}
.mod .nav-content ul {
  border-left: solid 1px var(--color-white);
}
.mod .nav-content a {
  color: var(--color-txt);
  border-right: solid 1px var(--color-white);
}
.mod .nav-content .current a {
  color: var(--color-white);
  background-color: var(--color-main);
  border-color: var(--color-main);
}
html:not(.sp) .mod .nav-content a:hover {
  color: var(--color-white);
  background-color: color-mix(in srgb, var(--color-main) 65%, white);
  border-color: color-mix(in srgb, var(--color-main) 65%, white);
}
.mod .nav-content.link-internal a:after {
  background-color: var(--color-main);
}
.mod .nav-content.link-internal .current a:after, html:not(.sp) .mod .nav-content.link-internal a:hover:after {
  background-color: var(--color-white);
}

@media screen and (min-width: 768px) {
  .mod .row .nav-content ul,
  .mod .nav-content ul:not(.row) {
    border-left: 0 none !important;
  }
  .mod .row .nav-content ul li:last-of-type a,
  .mod .nav-content ul:not(.row) li:last-of-type a {
    margin-right: -1px;
    border-right: 0 none;
  }
}
/*---------------------------------------------
	[NV2] タブ
  ---------------------------------------------*/
.mod .tab {
  margin-bottom: 3.125rem;
}

.mod .row .tab {
  margin-bottom: var(--elm-space-wide);
}

.mod .tab-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 0.625rem 0 0;
  overflow: hidden;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .tab-nav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 125rem;
  min-height: 3.75rem;
  margin: 0;
  padding: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.mod .tab-nav li:last-of-type {
  margin-right: -1px;
  border-right: 0 none;
}
.mod .tab-nav li:before {
  display: none;
}
.mod .tab-nav li button,
.mod .tab-nav li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0.625rem 0.9375rem;
  text-align: center;
  line-height: var(--lineheight-subtext);
  text-decoration: none;
  border: 0 none;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background-color 0.2s linear, border-right-color 0.2s linear, margin 0.2s ease-in-out, padding 0.2s ease-in-out;
  transition: background-color 0.2s linear, border-right-color 0.2s linear, margin 0.2s ease-in-out, padding 0.2s ease-in-out;
}
.mod .tab-nav li.current button, .mod .tab-nav li.current a {
  margin-top: -0.625rem;
  padding-bottom: 1.25rem;
}
.mod .tab-nav li button,
.mod .tab-nav li a {
  color: var(--color-white);
  background-color: var(--color-dark-gray);
  border-right: solid 1px #5f6768;
}
.mod .tab-nav li.current button, .mod .tab-nav li.current a {
  color: var(--color-black) !important;
  background-color: var(--color-light-gray) !important;
  border-right-color: var(--color-light-gray) !important;
}
html:not(.sp) .mod .tab-nav li button:hover, html:not(.sp) .mod .tab-nav li a:hover {
  color: var(--color-white);
  background-color: #5f6768;
}

.mod .sp-tab-nav {
  display: none;
}

.mod .tab-content {
  position: relative;
  background-color: var(--color-light-gray);
  overflow: hidden;
}

.mod .row .tab-content {
  padding: 0;
}

.mod .tab-panel {
  position: absolute;
  display: none;
  width: 100%;
  top: 0;
  left: 0;
  padding: var(--elm-space-wide) 0 0;
}

.mod .tab-panel.current {
  position: relative;
  display: block;
}

.mod .row .tab .tab-panel {
  padding-left: 4%;
  padding-right: 4%;
}

/*---------------------------------------------
	[NV3] ページネーション
  ---------------------------------------------*/
.mod .pagination p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mod .pagination a,
.mod .pagination span {
  position: relative;
  display: inline-block;
  min-width: 2.8125rem;
  height: 2.8125rem;
  padding: 0 0.3125rem;
  line-height: var(--lineheight-pagination);
  margin: 0 1px 1px 0;
  font-size: var(--f14px);
  text-align: center;
}
.mod .pagination a {
  color: var(--color-txt);
  text-decoration: none;
  background-color: var(--color-light-gray);
  -webkit-transition: background-color 0.2s linear, color 0.2s linear;
  transition: background-color 0.2s linear, color 0.2s linear;
}
html:not(.sp) .mod .pagination a:hover {
  color: var(--color-white);
  background-color: color-mix(in srgb, var(--color-main) 65%, white);
}
.mod .pagination .current {
  color: var(--color-white);
  background-color: var(--color-main);
}
.mod .pagination .prev {
  padding: 0 0.625rem 0 1.875rem;
}
.mod .pagination .prev:before {
  left: 0.375rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
html:not(.sp) .mod .pagination .prev:hover:before {
  left: 0.1875rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-color: var(--color-white);
}
.mod .pagination .next {
  padding: 0 1.875rem 0 0.625rem;
}
.mod .pagination .next:before {
  right: 0.375rem;
}
html:not(.sp) .mod .pagination .next:hover:before {
  right: 0.1875rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-color: var(--color-white);
}
.mod .pagination .prev:before,
.mod .pagination .next:before {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -0.75rem;
  background-position: 0 0;
  -webkit-transition: left 0.2s linear, right 0.2s linear;
  transition: left 0.2s linear, right 0.2s linear;
}

/*---------------------------------------------
	[NV4] パンクズリンク
  ---------------------------------------------*/
.breadcrumb ol {
  list-style: none;
}
.breadcrumb ul {
  list-style: none;
}
.breadcrumb li {
  display: inline-block;
  margin-left: 0.8em !important;
}
.breadcrumb li:first-child {
  margin-left: 0 !important;
}
.breadcrumb li:not(:last-child):after {
  content: ">";
  color: var(--color-dark-gray);
  margin-left: 0.8em;
}

/*---------------------------------------------
	[FM] フォーム
  ---------------------------------------------*/
.mod .form dl.border-set {
  margin-bottom: 3.125rem;
}
.mod .form dl.border-set > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5625rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mod .form .caption {
  display: inline-block;
  margin: 0;
  padding: 0.3125rem 0;
  vertical-align: middle;
}
.mod .form input,
.mod .form select,
.mod .form textarea,
.mod .form span {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}
.mod .form input[type=tel],
.mod .form input[type=email],
.mod .form input[type=text],
.mod .form textarea {
  width: 100%;
  max-width: 18.75rem;
  margin: 0.3125rem 0;
  padding: 0.3125rem;
  font-size: 1rem;
  line-height: var(--lineheight-subtext);
  border: 1px solid var(--color-gray);
  vertical-align: middle;
  border-radius: 0.1875rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.mod .form input[type=tel].full,
.mod .form input[type=email].full,
.mod .form input[type=text].full,
.mod .form textarea.full {
  max-width: 100%;
}
.mod .form input[type=tel]:not(.full),
.mod .form input[type=email]:not(.full),
.mod .form input[type=text]:not(.full) {
  margin-right: 0.9375rem;
}
.mod .form .select-wrap {
  position: relative;
  display: inline-block;
  margin: 0.3125rem 0;
}
.mod .form .select-wrap:after {
  position: relative;
  position: absolute;
  top: 1px;
  right: 1px;
  content: "";
  display: block;
  -webkit-mask-image: url(../images/btn_select.svg);
          mask-image: url(../images/btn_select.svg);
  background-color: var(--color-main);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right center;
          mask-position: right center;
  -webkit-mask-size: 1.875rem 2.8125rem;
          mask-size: 1.875rem 2.8125rem;
  border-radius: 0 0.1875rem 0.1875rem 0;
  height: 2.225rem;
  width: 1.875rem;
  pointer-events: none;
}
.mod .form select {
  padding: 0.3125rem 2.5rem 0.3125rem 0.3125rem;
  font-size: 1rem;
  line-height: var(--lineheight-subtext);
  border: 1px solid var(--color-gray);
  vertical-align: middle;
  cursor: pointer;
  border-radius: 0.1875rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
select html:not(.sp) .mod .form input[type=tel]:hover, html:not(.sp) .mod .form input[type=email]:hover, html:not(.sp) .mod .form input[type=text]:hover, html:not(.sp) .mod .form textarea:hover, html:not(.sp) .mod .form select:hover {
  border: 1px solid color-mix(in srgb, var(--color-main) 65%, white);
}
.mod .form select:focus {
  outline-style: outset;
  outline-width: 0.125rem;
  border-color: var(--color-white) !important;
}
.mod .form select::-ms-expand {
  display: none;
}
.mod .form label {
  display: inline-block;
  margin: 0.3125rem 1.25rem 0.3125rem 0;
  cursor: pointer;
}
.mod .form input[type=radio] {
  display: none;
}
.mod .form input[type=radio] + span {
  position: relative;
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.3125rem 0.375rem 0.3125rem 0;
  vertical-align: middle;
  background-color: var(--color-white);
  border: 0.125rem solid var(--color-gray);
  border-radius: 0.5625rem;
}
.mod .form input[type=radio]:checked + span {
  border-color: var(--color-main);
}
.mod .form input[type=radio]:checked + span:after {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0.125rem;
  background-color: var(--color-main);
  border-radius: 0.3125rem;
}
.mod .form input[type=checkbox] {
  display: none;
}
.mod .form input[type=checkbox] + span {
  position: relative;
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.3125rem 0.375rem 0.3125rem 0;
  vertical-align: middle;
  background-color: var(--color-gray);
}
.mod .form input[type=checkbox]:checked + span {
  background: var(--color-main);
}
.mod .form input[type=checkbox]:checked + span:before {
  content: "";
  position: absolute;
  top: 0.1875rem;
  left: 0.1875rem;
  width: 0.625rem;
  height: 0.375rem;
  border-left: 0.125rem solid var(--color-white);
  border-bottom: 0.125rem solid var(--color-white);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.mod .form .zip input[type=text] {
  width: 3.75rem;
  margin-right: 0;
}
.mod .form .zip input[type=text]:last-child {
  width: 5rem;
}
.mod .form .btn-upload {
  position: relative;
  max-width: 18.75rem;
  margin: 0.3125rem 0;
  overflow: hidden;
  white-space: nowrap;
}
.mod .form .btn-upload .upload-value {
  display: block;
  margin: 0 !important;
  padding: 0.3125rem 0.625rem;
  font-size: var(--f14px);
  border: 1px solid var(--color-gray);
  border-right: 0 none;
  vertical-align: middle;
  background-color: transparent;
  border-radius: 0.1875rem 0 0 0.1875rem;
}
html:not(.sp) .mod .form .btn-upload:hover .upload-value {
  border-color: color-mix(in srgb, var(--color-main) 65%, white);
}
.mod .form .btn-upload span {
  position: absolute;
  display: block;
  height: 100%;
  top: 0;
  right: 0;
  padding: 0.3125rem 0.625rem;
  font-size: var(--f14px);
  line-height: var(--lineheight-subtext);
  color: var(--color-white);
  background-color: var(--color-main);
  vertical-align: middle;
  border: 1px solid var(--color-main);
  border-radius: 0 0.1875rem 0.1875rem 0;
}
.mod .form .btn-upload input[type=file] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  text-indent: -9999px;
  cursor: pointer;
  opacity: 0;
}
.mod .form dl.border-set .required {
  position: relative;
  padding-right: 2.5rem;
}
.mod .form dl.border-set .required:after {
  content: "必須";
  position: absolute;
  display: block;
  padding: 0.25rem 0.375rem 0.1875rem;
  top: 50%;
  right: 0;
  font-size: var(--f11px);
  font-weight: bold;
  line-height: var(--lineheight-tag);
  color: var(--color-white);
  vertical-align: middle;
  background-color: var(--color-accent);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.mod :-moz-placeholder {
  color: var(--color-placeholder);
  opacity: 1;
}

.mod ::-webkit-input-placeholder {
  color: var(--color-placeholder);
  opacity: 1;
}

.mod :-ms-input-placeholder {
  color: var(--color-placeholder);
}

.mod :-moz-placeholder-shown {
  color: var(--color-placeholder);
}

.mod :placeholder-shown {
  color: var(--color-placeholder);
}

/*---------------------------------------------
	[EB1] 動画埋め込み
  ---------------------------------------------*/
.mod .embed-video {
  position: relative;
  margin-bottom: var(--elm-space-wide);
  padding: 56.25% 0 0;
}
.mod .embed-video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: 0 none;
}

/*---------------------------------------------
	[EB2] モーダル
  ---------------------------------------------*/
/* Magnific Popup CSS */
.mfp-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10042;
  overflow: hidden;
  background: var(--color-black);
  opacity: 0.8;
  -webkit-animation: mfp-bg-fadein 0.3s linear;
          animation: mfp-bg-fadein 0.3s linear;
}
.mfp-bg.mfp-ready.mfp-removing {
  opacity: 0;
  -webkit-transition: opacity 0.3s linear 0.3s;
  transition: opacity 0.3s linear 0.3s;
}

@-webkit-keyframes mfp-bg-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.8;
  }
}

@keyframes mfp-bg-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.8;
  }
}
.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10043;
  position: fixed;
  outline: none !important;
}
html:not(.sp) .mfp-wrap {
  overflow-y: scroll !important;
}

.mfp-container {
  position: absolute;
  width: 100%;
  max-width: none;
  height: 100%;
  left: 0;
  top: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  z-index: 10045;
  display: inline-block;
  vertical-align: middle;
  margin: 1.25rem auto;
  text-align: left;
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
  transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out, opacity 0.3s linear;
  transition: transform 0.3s ease-out, opacity 0.3s linear, -webkit-transform 0.3s ease-out;
}
.mfp-wrap.mfp-ready.mfp-removing .mfp-content {
  opacity: 0;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
  transition: opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
  transition: transform 0.3s ease-in 0.3s, opacity 0.3s linear 0.3s;
  transition: transform 0.3s ease-in 0.3s, opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
}
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  padding: 2.5rem 0;
  cursor: auto;
}
.mfp-inline-holder .mfp-content > div {
  position: relative;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 3.125rem color-mix(in srgb, var(--color-black) 60%, transparent);
          box-shadow: 0 0 3.125rem color-mix(in srgb, var(--color-black) 60%, transparent);
}
.mfp-inline-holder .mfp-content .content {
  padding-top: var(--modal-content-padding-top);
  padding-bottom: var(--modal-content-padding-top);
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  position: relative;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 3.75rem;
  margin-top: -1.875rem;
  text-indent: -9999px;
  z-index: 10044;
  overflow: hidden;
}
.mfp-preloader:before {
  content: "";
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  margin: 0 auto;
  background-image: url(../images/preloader.gif);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 3.75rem 3.75rem;
}
.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

.mfp-close {
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  right: 0;
  top: 2.5rem;
  text-indent: -9999px;
  cursor: pointer;
  overflow: hidden;
  border: solid 0.125rem color-mix(in srgb, var(--color-black) 50%, transparent);
  background: none;
  outline: none;
  opacity: 0.5;
  border-radius: 0.9375rem;
}
.mfp-ready .mfp-close {
  top: 0;
  -webkit-transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
}
.mfp-ready.mfp-removing .mfp-close {
  top: 2.5rem;
  -webkit-transition: top 0.3s ease-in 0s;
  transition: top 0.3s ease-in 0s;
}
.mfp-ready .mfp-iframe-holder .mfp-close, .mfp-ready .mfp-inline-holder .mfp-close {
  top: -2.5rem;
}
.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-close, .mfp-ready.mfp-removing .mfp-inline-holder .mfp-close {
  top: 0;
}
html:not(.sp) .mfp-close:hover {
  opacity: 1;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.mfp-close:before, .mfp-close:after {
  content: "";
  position: absolute;
  display: block;
  width: 0.125rem;
  height: 1.125rem;
  right: 0.75rem;
  top: 0.25rem;
  background-color: var(--color-white);
  border-radius: 0.125rem;
}
.mfp-close:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.mfp-close:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
html:not(.sp) .mfp-close:hover {
  opacity: 1;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 0.96rem;
  line-height: var(--lineheight-subtext);
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  z-index: 10046;
  width: 2.5rem;
  height: 2.5rem;
  top: 50%;
  margin-top: -1.25rem;
  text-indent: -9999px;
  background-color: var(--color-main);
  border: 0 none;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 50%;
}
.mfp-arrow:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-white);
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.mfp-arrow:hover:before {
  opacity: 0.2;
}
.mfp-arrow:after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -0.75rem;
  mask-image: url(../images/icon_link.svg);
  background-color: var(--color-white);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.mfp-arrow-left {
  left: -6.25rem;
}
.mfp-arrow-right {
  right: -6.25rem;
}
.mfp-arrow-left:after {
  left: 0.4375rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
html:not(.sp) .mfp-arrow-left:hover:after {
  -webkit-transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
          transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
}
.mfp-arrow-right:after {
  right: 0.4375rem;
}
html:not(.sp) .mfp-arrow-right:hover:after {
  -webkit-transform: translate3d(0.1875rem, 0, 0);
          transform: translate3d(0.1875rem, 0, 0);
}
.mfp-ready .mfp-arrow-left {
  left: 1.25rem;
  -webkit-transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
}
.mfp-ready.mfp-removing .mfp-arrow-left {
  left: -6.25rem;
  -webkit-transition: left 0.5s ease-in 0s;
  transition: left 0.5s ease-in 0s;
}
.mfp-ready .mfp-arrow-right {
  right: 1.25rem;
  -webkit-transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
}
.mfp-ready.mfp-removing .mfp-arrow-right {
  right: -6.25rem;
  -webkit-transition: right 0.5s ease-in 0s;
  transition: right 0.5s ease-in 0s;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.mfp-iframe-scaler {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 1.875rem color-mix(in srgb, var(--color-black) 60%, transparent);
          box-shadow: 0 0 1.875rem color-mix(in srgb, var(--color-black) 60%, transparent);
  background: var(--color-black);
}

/* Main image in popup */
img.mfp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
  padding: 2.5rem 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: auto;
  height: auto;
  left: 0;
  top: 2.5rem;
  bottom: 2.5rem;
  right: 0;
  background: #444;
  -webkit-box-shadow: 0 0 3.125rem color-mix(in srgb, var(--color-black) 60%, transparent);
          box-shadow: 0 0 3.125rem color-mix(in srgb, var(--color-black) 60%, transparent);
}
.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: var(--f12px);
  line-height: var(--lineheight-subtext);
}
.mfp-figure figure {
  position: relative;
  margin: 0;
}

.mfp-bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  cursor: auto;
}
.mfp-ready .mfp-bottom-bar {
  bottom: -2.5rem;
  -webkit-transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
}
.mfp-ready.mfp-removing .mfp-bottom-bar {
  bottom: 0;
  -webkit-transition: bottom 0.3s ease-in 0s;
  transition: bottom 0.3s ease-in 0s;
}
.mfp-ready .mfp-iframe-holder .mfp-bottom-bar {
  bottom: 0;
}
.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-bottom-bar {
  bottom: -2.1875rem;
}

.mfp-title {
  float: left;
  height: 1.6em;
  padding-right: 4em;
  text-align: left;
  line-height: var(--lineheight-subtext);
  color: var(--color-white);
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

.sb10 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 10px);
}

.sb11 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 11px);
}

.sb12 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 12px);
}

.sb13 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 13px);
}

.sb14 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 14px);
}

.sb15 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 15px);
}

.sb16 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 16px);
}

.sb17 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 17px);
}

.sb18 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 18px);
}

.sb19 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 19px);
}

.sb20 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 20px);
}

.sb21 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 21px);
}

.sb22 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 22px);
}

.sb23 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 23px);
}

.sb24 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 24px);
}

.sb25 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 25px);
}

/*---------------------------------------------
	[SL] スライダー
  ---------------------------------------------*/
.mod .slider {
  position: relative;
  margin-bottom: var(--elm-space-wide);
}
.mod .slider-container {
  width: 100%;
  overflow: hidden;
}
.mod .slider .panel-vertical,
.mod .slider .panel-covered {
  margin-bottom: 0;
}

/* ----- Slick Slider ----- */
.mod .slick-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  width: calc(100% + var(--col-space-wide));
}

.mod .slick-slider.gutter1 {
  width: calc(100% + var(--col-space-wide-gutter1));
}

.mod .slick-slider.gutter2 {
  width: calc(100% + var(--col-space-wide-gutter2));
}

.mod .slick-slider.gutter3 {
  width: calc(100% + var(--col-space-wide-gutter3));
}

.mod .slick-slider.no-gutter {
  width: 100%;
}

.slick-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: 0;
  left: 0;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.slick-track:before, .slick-track:after {
  display: table;
  content: "";
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-track .col1-2,
.slick-track .col1-3,
.slick-track .col2-3,
.slick-track .col1-4,
.slick-track .col3-4,
.slick-track .col1-5,
.slick-track .col1-6 {
  margin-right: var(--col-space-wide);
}

.gutter1 .slick-track .col1-2,
.gutter1 .slick-track .col1-3,
.gutter1 .slick-track .col2-3,
.gutter1 .slick-track .col1-4,
.gutter1 .slick-track .col3-4,
.gutter1 .slick-track .col1-5,
.gutter1 .slick-track .col1-6 {
  margin-right: var(--col-space-wide-gutter1);
}

.gutter2 .slick-track .col1-2,
.gutter2 .slick-track .col1-3,
.gutter2 .slick-track .col2-3,
.gutter2 .slick-track .col1-4,
.gutter2 .slick-track .col3-4,
.gutter2 .slick-track .col1-5,
.gutter2 .slick-track .col1-6 {
  margin-right: var(--col-space-wide-gutter2);
}

.gutter3 .slick-track .col1-2,
.gutter3 .slick-track .col1-3,
.gutter3 .slick-track .col2-3,
.gutter3 .slick-track .col1-4,
.gutter3 .slick-track .col3-4,
.gutter3 .slick-track .col1-5,
.gutter3 .slick-track .col1-6 {
  margin-right: var(--col-space-wide-gutter3);
}

.no-gutter .slick-track .col1-2,
.no-gutter .slick-track .col1-3,
.no-gutter .slick-track .col2-3,
.no-gutter .slick-track .col1-4,
.no-gutter .slick-track .col3-4,
.no-gutter .slick-track .col1-5,
.no-gutter .slick-track .col1-6 {
  margin-right: 0;
}

.slick-slide {
  display: none;
  min-height: 1px;
  margin-bottom: 0;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-arrow {
  position: absolute;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  top: 50%;
  margin: -1.25rem;
  text-indent: -9999px;
  background-color: var(--color-main);
  border: 0 none;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 50%;
}
.slick-arrow:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-white);
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.slick-arrow:hover:before {
  opacity: 0.2;
}
.slick-arrow:after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_link.svg);
          mask-image: url(../images/icon_link.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -0.75rem;
  mask-image: url(../images/icon_link.svg);
  background-color: var(--color-white);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.slick-prev {
  left: 0;
}
.slick-prev:after {
  left: 0.4375rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
html:not(.sp) .slick-prev:hover:after {
  -webkit-transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
          transform: translate3d(-0.1875rem, 0, 0) rotate(180deg);
}

.slick-next {
  right: 0;
}
.slick-next:after {
  right: 0.4375rem;
}
html:not(.sp) .slick-next:hover:after {
  -webkit-transform: translate3d(0.1875rem, 0, 0);
          transform: translate3d(0.1875rem, 0, 0);
}

.slick-track .img,
.mod .slick-track .img {
  margin-bottom: 0;
}

.slick-dots {
  width: 100%;
  margin: 0.3125rem 0 0;
  padding: 0 0.9375rem 0 0;
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin: 0.125rem !important;
  padding: 0.1875rem !important;
  text-align: center;
  vertical-align: middle;
  border-radius: 0.5rem;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
}
.slick-dots li:before, .mod .slick-dots li:before {
  display: none;
}
html:not(.sp) .slick-dots li:hover,
.slick-dots .slick-active {
  background-color: rgba(139, 209, 215, 0.4);
}
.slick-dots li button {
  position: relative;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0;
  padding: 0;
  text-indent: -9999px;
  background-color: rgba(128, 139, 140, 0.3);
  overflow: hidden;
  border: 0 none;
  cursor: pointer;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
}
html:not(.sp) .slick-dots li:hover button,
.slick-dots .slick-active button {
  background-color: color-mix(in srgb, var(--color-main) 65%, white);
}

/*---------------------------------------------
	[SC] スクロールエフェクト
  ---------------------------------------------*/
/* ----- [SC1] フェードイン ----- */
.mod .fadein {
  opacity: 0;
  -webkit-transform: translate3d(0, 3.125rem, 0);
          transform: translate3d(0, 3.125rem, 0);
}

/* ----- [SC2] スライドイン ----- */
.mod .slidein {
  visibility: hidden;
}
.mod .slidein-bg {
  position: absolute;
  z-index: 1000;
  display: block;
  overflow: hidden;
}
.mod .slidein-bg span {
  position: absolute;
  display: block;
  width: 120%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-dark-gray);
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}

.mod .scale-fadein {
  overflow: hidden;
  max-width: 100%;
  display: inline-block;
}
.mod .scale-fadein img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: transform 1.2s cubic-bezier(0, 0.6, 0.4, 1), -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
}
.mod .scale-fadein.done img {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mod .img > .scale-fadein img,
.mod a .scale-fadein img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: transform 1.2s cubic-bezier(0, 0.6, 0.4, 1), -webkit-transform 1.2s cubic-bezier(0, 0.6, 0.4, 1);
}

.mod .img > .scale-fadein.done img,
.mod a .scale-fadein.done img {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mod .img > .scale-fadein.done:hover img,
.mod a:hover .scale-fadein.done img {
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

.mod .scale-fadein-bg {
  background-size: 130%;
  /*
    transform: scale(1.3);
    transition: transform 1.2s cubic-bezier(0,.6,.4,1);
    */
  -webkit-transition: background-size 1.2s cubic-bezier(0, 0.6, 0.4, 1);
  transition: background-size 1.2s cubic-bezier(0, 0.6, 0.4, 1);
}

.mod .scale-fadein-bg.done {
  background-size: 100%;
}

/*---------------------------------------------
	[ACD] アコーディオン
  ---------------------------------------------*/
.mod .accordion-container {
  margin-bottom: 1.875rem;
}

.mod .accordion {
  padding: 1.875rem 0;
  border-bottom: 1px solid #3E3E3E;
  cursor: pointer;
  position: relative;
}
.mod .accordion:hover {
  color: #1c89a6;
}
.mod .accordion:first-child {
  border-top: 1px solid #3E3E3E;
}
.mod .accordion .accordion-content {
  padding: 1rem 1.25rem 0 0;
  position: relative;
  display: none;
}
.mod .accordion .accordion-content.answer {
  padding: 1rem 1.875rem 0 3.75rem;
}
.mod .accordion .accordion-heading {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  padding-right: 1.875rem;
  font-weight: bold;
  display: block;
  margin-bottom: 0;
}
.mod .accordion .accordion-heading::after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url(../images/icon_open.svg);
          mask-image: url(../images/icon_open.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-color: var(--color-txt);
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  background-position-x: -7.5rem;
}
.mod .accordion .accordion-heading:hover::after {
  background-color: var(--color-link-hover);
}
.mod .accordion .accordion-heading.question {
  text-indent: -3.75rem;
  padding-left: 3.75rem;
}
.mod .accordion .accordion-heading.question .qnum {
  padding-right: 1.25rem;
}
.mod .accordion.open .accordion-heading:after {
  -webkit-mask-image: url(../images/icon_close.svg);
          mask-image: url(../images/icon_close.svg);
}

/*---------------------------------------------
	[HBS]ハイブリッドスクロール
  ---------------------------------------------*/
.scroll-container {
  margin-bottom: 1.875rem;
}

.horizontal-scroll {
  position: absolute;
  top: 0;
  height: 100%;
  will-change: transform;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.mod .scroll-contents {
  height: 100%;
  width: 100vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 6.25rem 0;
}

.sticky-wrap {
  overflow: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
}

.scroll-panels-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.scroll-panels {
  height: 100vh;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}

.mod .scroll-panel {
  background-color: var(--color-light-gray);
  height: 25rem;
  padding: 1.875rem 0 !important;
  display: block;
}

/* ----- テキストフェードイン ----- */
.mod .txt-fadein {
  position: relative;
  overflow: hidden;
  min-height: 1em;
  /*opacity: 0;*/
  display: inline-block;
  text-align: left;
  line-height: 1.1em;
}

.mod .txt-fadein-outer {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  line-height: 1.1em;
}

.mod .center .txt-fadein-outer {
  margin-left: auto;
  margin-right: auto;
}

.mod .right .txt-fadein-outer {
  margin-left: auto;
  margin-right: 0;
}

.txt-fadein.txt-show {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.txt-fadein .txt-fadein-inner {
  opacity: 100%;
  display: inline-block !important;
  line-height: 1em;
  -webkit-animation: txt-fadein 0.8s cubic-bezier(0, 0.6, 0.4, 1);
          animation: txt-fadein 0.8s cubic-bezier(0, 0.6, 0.4, 1);
}

@-webkit-keyframes txt-fadein {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes txt-fadein {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/* ----- イコールハイト ----- */
.mod .equal-height-container {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr var(--col-space-wide) 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--col-space-wide);
  width: 100%;
}

.mod .equal-height-container.gutter1 {
  gap: 0 var(--col-space-wide-gutter1);
}

.mod .equal-height-container.gutter2 {
  gap: 0 var(--col-space-wide-gutter2);
}

.mod .equal-height-container.gutter3 {
  gap: 0 var(--col-space-wide-gutter3);
}

.mod .equal-height-container.gap0 {
  gap: 0 !important;
}

.mod .equal-col3 {
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}

.mod .equal-col4 {
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.mod .equal-col5 {
  -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.mod .equal-col6 {
  -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.mod .equal-height-container *:has(.equal-height) {
  width: 100% !important;
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
}

.mod .equal-row3 *:has(.equal-height) {
  -ms-grid-row-span: 3;
  grid-row: span 3;
}

.mod .equal-row4 *:has(.equal-height) {
  -ms-grid-row-span: 4;
  grid-row: span 4;
}

.mod .equal-row5 *:has(.equal-height) {
  -ms-grid-row-span: 5;
  grid-row: span 5;
}

.mod .equal-row6 *:has(.equal-height) {
  -ms-grid-row-span: 6;
  grid-row: span 6;
}

.mod .equal-height {
  display: block;
}

/*---------------------------------------------
	1200px未満
  ---------------------------------------------*/
@media screen and (max-width: 1199px), print {
  /* ----- 基本フォントサイズ ----- */
  html {
    font-size: var(--fontsize-tablet);
  }
}
/*---------------------------------------------
	768px未満
  ---------------------------------------------*/
@media screen and (max-width: 767px) {
  /* ----- 基本フォントサイズ ----- */
  html {
    font-size: var(--fontsize-sp);
  }
  /* ----- メインコンテンツ ----- */
  .mod .content {
    padding-top: var(--content-padding-top);
    padding-bottom: var(--content-padding-bottom);
  }
  .mod .anchor:before {
    content: "";
    display: block;
    margin-top: calc(var(--fixed-header-height-sp) * -1);
    padding-top: var(--fixed-header-height-sp);
  }
  /* ----- 強制指定 ----- */
  /* 上下左右中央寄せ */
  .mod .sp-left {
    text-align: left !important;
  }
  .mod .sp-center {
    text-align: center !important;
  }
  .mod .sp-right {
    text-align: right !important;
  }
  .mod .sp-top {
    vertical-align: top !important;
  }
  .mod .sp-middle {
    vertical-align: middle !important;
  }
  .mod .sp-bottom {
    vertical-align: bottom !important;
  }
  /* 表示／非表示 */
  .pc-show {
    display: none !important;
  }
  /* 文字サイズ */
  .mod .sp-xxxxl {
    font-size: var(--fontsize-xxxxl) !important;
  }
  .mod .sp-xxxl {
    font-size: var(--fontsize-xxxl) !important;
  }
  .mod .sp-xxl {
    font-size: var(--fontsize-xxl) !important;
  }
  .mod .sp-xl {
    font-size: var(--fontsize-xl) !important;
  }
  .mod .sp-l {
    font-size: var(--fontsize-l) !important;
  }
  .mod .sp-ml {
    font-size: var(--fontsize-ml) !important;
  }
  .mod .sp-mm {
    font-size: var(--fontsize-mm) !important;
  }
  .mod .sp-m {
    font-size: var(--fontsize-m) !important;
  }
  .mod .sp-ms {
    font-size: var(--fontsize-ms) !important;
  }
  .mod .sp-s {
    font-size: var(--fontsize-s) !important;
  }
  .mod .sp-xs {
    font-size: var(--fontsize-xs) !important;
  }
  .mod .sp-xxs {
    font-size: var(--fontsize-xxs) !important;
  }
  .mod .sp-xxxs {
    font-size: var(--fontsize-xxxs) !important;
  }
  .mod .sp-xxxxs {
    font-size: var(--fontsize-xxxxs) !important;
  }
  /* 幅 */
  .mod .sp-w10 {
    width: 0.625rem !important;
  }
  .mod .sp-w20 {
    width: 1.25rem !important;
  }
  .mod .sp-w30 {
    width: 1.875rem !important;
  }
  .mod .sp-w40 {
    width: 2.5rem !important;
  }
  .mod .sp-w50 {
    width: 3.125rem !important;
  }
  .mod .sp-w60 {
    width: 3.75rem !important;
  }
  .mod .sp-w70 {
    width: 4.375rem !important;
  }
  .mod .sp-w80 {
    width: 5rem !important;
  }
  .mod .sp-w90 {
    width: 5.625rem !important;
  }
  .mod .sp-w100 {
    width: 6.25rem !important;
  }
  .mod .sp-w110 {
    width: 6.875rem !important;
  }
  .mod .sp-w120 {
    width: 7.5rem !important;
  }
  .mod .sp-w130 {
    width: 8.125rem !important;
  }
  .mod .sp-w140 {
    width: 8.75rem !important;
  }
  .mod .sp-w150 {
    width: 9.375rem !important;
  }
  .mod .sp-w160 {
    width: 10rem !important;
  }
  .mod .sp-w170 {
    width: 10.625rem !important;
  }
  .mod .sp-w180 {
    width: 11.25rem !important;
  }
  .mod .sp-w190 {
    width: 11.875rem !important;
  }
  .mod .sp-w200 {
    width: 12.5rem !important;
  }
  .mod .sp-w210 {
    width: 13.125rem !important;
  }
  .mod .sp-w220 {
    width: 13.75rem !important;
  }
  .mod .sp-w230 {
    width: 14.375rem !important;
  }
  .mod .sp-w240 {
    width: 15rem !important;
  }
  .mod .sp-w250 {
    width: 15.625rem !important;
  }
  .mod .sp-w260 {
    width: 16.25rem !important;
  }
  .mod .sp-w270 {
    width: 16.875rem !important;
  }
  .mod .sp-w280 {
    width: 17.5rem !important;
  }
  .mod .sp-w290 {
    width: 18.125rem !important;
  }
  .mod .sp-w300 {
    width: 18.75rem !important;
  }
  .mod .sp-w310 {
    width: 19.375rem !important;
  }
  .mod .sp-w320 {
    width: 20rem !important;
  }
  .mod .sp-w330 {
    width: 20.625rem !important;
  }
  .mod .sp-w340 {
    width: 21.25rem !important;
  }
  .mod .sp-w350 {
    width: 21.875rem !important;
  }
  .mod .sp-w360 {
    width: 22.5rem !important;
  }
  .mod .sp-w370 {
    width: 23.125rem !important;
  }
  .mod .sp-w380 {
    width: 23.75rem !important;
  }
  .mod .sp-w390 {
    width: 24.375rem !important;
  }
  .mod .sp-w400 {
    width: 25rem !important;
  }
  .mod .sp-w410 {
    width: 25.625rem !important;
  }
  .mod .sp-w420 {
    width: 26.25rem !important;
  }
  .mod .sp-w430 {
    width: 26.875rem !important;
  }
  .mod .sp-w440 {
    width: 27.5rem !important;
  }
  .mod .sp-w450 {
    width: 28.125rem !important;
  }
  .mod .sp-w460 {
    width: 28.75rem !important;
  }
  .mod .sp-w470 {
    width: 29.375rem !important;
  }
  .mod .sp-w480 {
    width: 30rem !important;
  }
  .mod .sp-w490 {
    width: 30.625rem !important;
  }
  .mod .sp-w500 {
    width: 31.25rem !important;
  }
  /* 上マージン */
  .mod .sp-mt0 {
    margin-top: 0rem !important;
  }
  .mod .sp-mt5 {
    margin-top: 0.3125rem !important;
  }
  .mod .sp-mt10 {
    margin-top: 0.625rem !important;
  }
  .mod .sp-mt15 {
    margin-top: 0.9375rem !important;
  }
  .mod .sp-mt20 {
    margin-top: 1.25rem !important;
  }
  .mod .sp-mt25 {
    margin-top: 1.5625rem !important;
  }
  .mod .sp-mt30 {
    margin-top: 1.875rem !important;
  }
  .mod .sp-mt35 {
    margin-top: 2.1875rem !important;
  }
  .mod .sp-mt40 {
    margin-top: 2.5rem !important;
  }
  .mod .sp-mt45 {
    margin-top: 2.8125rem !important;
  }
  .mod .sp-mt50 {
    margin-top: 3.125rem !important;
  }
  .mod .sp-mt55 {
    margin-top: 3.4375rem !important;
  }
  .mod .sp-mt60 {
    margin-top: 3.75rem !important;
  }
  .mod .sp-mt65 {
    margin-top: 4.0625rem !important;
  }
  .mod .sp-mt70 {
    margin-top: 4.375rem !important;
  }
  .mod .sp-mt75 {
    margin-top: 4.6875rem !important;
  }
  .mod .sp-mt80 {
    margin-top: 5rem !important;
  }
  .mod .sp-mt85 {
    margin-top: 5.3125rem !important;
  }
  .mod .sp-mt90 {
    margin-top: 5.625rem !important;
  }
  .mod .sp-mt95 {
    margin-top: 5.9375rem !important;
  }
  .mod .sp-mt100 {
    margin-top: 6.25rem !important;
  }
  /* 下マージン */
  .mod .sp-mb0 {
    margin-bottom: 0rem !important;
  }
  .mod .sp-mb5 {
    margin-bottom: 0.3125rem !important;
  }
  .mod .sp-mb10 {
    margin-bottom: 0.625rem !important;
  }
  .mod .sp-mb15 {
    margin-bottom: 0.9375rem !important;
  }
  .mod .sp-mb20 {
    margin-bottom: 1.25rem !important;
  }
  .mod .sp-mb25 {
    margin-bottom: 1.5625rem !important;
  }
  .mod .sp-mb30 {
    margin-bottom: 1.875rem !important;
  }
  .mod .sp-mb35 {
    margin-bottom: 2.1875rem !important;
  }
  .mod .sp-mb40 {
    margin-bottom: 2.5rem !important;
  }
  .mod .sp-mb45 {
    margin-bottom: 2.8125rem !important;
  }
  .mod .sp-mb50 {
    margin-bottom: 3.125rem !important;
  }
  .mod .sp-mb55 {
    margin-bottom: 3.4375rem !important;
  }
  .mod .sp-mb60 {
    margin-bottom: 3.75rem !important;
  }
  .mod .sp-mb65 {
    margin-bottom: 4.0625rem !important;
  }
  .mod .sp-mb70 {
    margin-bottom: 4.375rem !important;
  }
  .mod .sp-mb75 {
    margin-bottom: 4.6875rem !important;
  }
  .mod .sp-mb80 {
    margin-bottom: 5rem !important;
  }
  .mod .sp-mb85 {
    margin-bottom: 5.3125rem !important;
  }
  .mod .sp-mb90 {
    margin-bottom: 5.625rem !important;
  }
  .mod .sp-mb95 {
    margin-bottom: 5.9375rem !important;
  }
  .mod .sp-mb100 {
    margin-bottom: 6.25rem !important;
  }
  /* 左マージン */
  .mod .sp-ml0 {
    margin-left: 0rem !important;
  }
  .mod .sp-ml5 {
    margin-left: 0.3125rem !important;
  }
  .mod .sp-ml10 {
    margin-left: 0.625rem !important;
  }
  .mod .sp-ml15 {
    margin-left: 0.9375rem !important;
  }
  .mod .sp-ml20 {
    margin-left: 1.25rem !important;
  }
  .mod .sp-ml25 {
    margin-left: 1.5625rem !important;
  }
  .mod .sp-ml30 {
    margin-left: 1.875rem !important;
  }
  .mod .sp-ml35 {
    margin-left: 2.1875rem !important;
  }
  .mod .sp-ml40 {
    margin-left: 2.5rem !important;
  }
  .mod .sp-ml45 {
    margin-left: 2.8125rem !important;
  }
  .mod .sp-ml50 {
    margin-left: 3.125rem !important;
  }
  .mod .sp-ml55 {
    margin-left: 3.4375rem !important;
  }
  .mod .sp-ml60 {
    margin-left: 3.75rem !important;
  }
  .mod .sp-ml65 {
    margin-left: 4.0625rem !important;
  }
  .mod .sp-ml70 {
    margin-left: 4.375rem !important;
  }
  .mod .sp-ml75 {
    margin-left: 4.6875rem !important;
  }
  .mod .sp-ml80 {
    margin-left: 5rem !important;
  }
  .mod .sp-ml85 {
    margin-left: 5.3125rem !important;
  }
  .mod .sp-ml90 {
    margin-left: 5.625rem !important;
  }
  .mod .sp-ml95 {
    margin-left: 5.9375rem !important;
  }
  .mod .sp-ml100 {
    margin-left: 6.25rem !important;
  }
  /* 右マージン */
  .mod .sp-mr0 {
    margin-right: 0rem !important;
  }
  .mod .sp-mr5 {
    margin-right: 0.3125rem !important;
  }
  .mod .sp-mr10 {
    margin-right: 0.625rem !important;
  }
  .mod .sp-mr15 {
    margin-right: 0.9375rem !important;
  }
  .mod .sp-mr20 {
    margin-right: 1.25rem !important;
  }
  .mod .sp-mr25 {
    margin-right: 1.5625rem !important;
  }
  .mod .sp-mr30 {
    margin-right: 1.875rem !important;
  }
  .mod .sp-mr35 {
    margin-right: 2.1875rem !important;
  }
  .mod .sp-mr40 {
    margin-right: 2.5rem !important;
  }
  .mod .sp-mr45 {
    margin-right: 2.8125rem !important;
  }
  .mod .sp-mr50 {
    margin-right: 3.125rem !important;
  }
  .mod .sp-mr55 {
    margin-right: 3.4375rem !important;
  }
  .mod .sp-mr60 {
    margin-right: 3.75rem !important;
  }
  .mod .sp-mr65 {
    margin-right: 4.0625rem !important;
  }
  .mod .sp-mr70 {
    margin-right: 4.375rem !important;
  }
  .mod .sp-mr75 {
    margin-right: 4.6875rem !important;
  }
  .mod .sp-mr80 {
    margin-right: 5rem !important;
  }
  .mod .sp-mr85 {
    margin-right: 5.3125rem !important;
  }
  .mod .sp-mr90 {
    margin-right: 5.625rem !important;
  }
  .mod .sp-mr95 {
    margin-right: 5.9375rem !important;
  }
  .mod .sp-mr100 {
    margin-right: 6.25rem !important;
  }
  /* 上パディング */
  .mod .sp-pt0 {
    padding-top: 0rem !important;
  }
  .mod .sp-pt5 {
    padding-top: 0.3125rem !important;
  }
  .mod .sp-pt10 {
    padding-top: 0.625rem !important;
  }
  .mod .sp-pt15 {
    padding-top: 0.9375rem !important;
  }
  .mod .sp-pt20 {
    padding-top: 1.25rem !important;
  }
  .mod .sp-pt25 {
    padding-top: 1.5625rem !important;
  }
  .mod .sp-pt30 {
    padding-top: 1.875rem !important;
  }
  .mod .sp-pt35 {
    padding-top: 2.1875rem !important;
  }
  .mod .sp-pt40 {
    padding-top: 2.5rem !important;
  }
  .mod .sp-pt45 {
    padding-top: 2.8125rem !important;
  }
  .mod .sp-pt50 {
    padding-top: 3.125rem !important;
  }
  .mod .sp-pt55 {
    padding-top: 3.4375rem !important;
  }
  .mod .sp-pt60 {
    padding-top: 3.75rem !important;
  }
  .mod .sp-pt65 {
    padding-top: 4.0625rem !important;
  }
  .mod .sp-pt70 {
    padding-top: 4.375rem !important;
  }
  .mod .sp-pt75 {
    padding-top: 4.6875rem !important;
  }
  .mod .sp-pt80 {
    padding-top: 5rem !important;
  }
  .mod .sp-pt85 {
    padding-top: 5.3125rem !important;
  }
  .mod .sp-pt90 {
    padding-top: 5.625rem !important;
  }
  .mod .sp-pt95 {
    padding-top: 5.9375rem !important;
  }
  .mod .sp-pt100 {
    padding-top: 6.25rem !important;
  }
  /* 下パディング */
  .mod .sp-pb0 {
    padding-bottom: 0rem !important;
  }
  .mod .sp-pb5 {
    padding-bottom: 0.3125rem !important;
  }
  .mod .sp-pb10 {
    padding-bottom: 0.625rem !important;
  }
  .mod .sp-pb15 {
    padding-bottom: 0.9375rem !important;
  }
  .mod .sp-pb20 {
    padding-bottom: 1.25rem !important;
  }
  .mod .sp-pb25 {
    padding-bottom: 1.5625rem !important;
  }
  .mod .sp-pb30 {
    padding-bottom: 1.875rem !important;
  }
  .mod .sp-pb35 {
    padding-bottom: 2.1875rem !important;
  }
  .mod .sp-pb40 {
    padding-bottom: 2.5rem !important;
  }
  .mod .sp-pb45 {
    padding-bottom: 2.8125rem !important;
  }
  .mod .sp-pb50 {
    padding-bottom: 3.125rem !important;
  }
  .mod .sp-pb55 {
    padding-bottom: 3.4375rem !important;
  }
  .mod .sp-pb60 {
    padding-bottom: 3.75rem !important;
  }
  .mod .sp-pb65 {
    padding-bottom: 4.0625rem !important;
  }
  .mod .sp-pb70 {
    padding-bottom: 4.375rem !important;
  }
  .mod .sp-pb75 {
    padding-bottom: 4.6875rem !important;
  }
  .mod .sp-pb80 {
    padding-bottom: 5rem !important;
  }
  .mod .sp-pb85 {
    padding-bottom: 5.3125rem !important;
  }
  .mod .sp-pb90 {
    padding-bottom: 5.625rem !important;
  }
  .mod .sp-pb95 {
    padding-bottom: 5.9375rem !important;
  }
  .mod .sp-pb100 {
    padding-bottom: 6.25rem !important;
  }
  /* 左パディング */
  .mod .sp-pl0 {
    padding-left: 0rem !important;
  }
  .mod .sp-pl5 {
    padding-left: 0.3125rem !important;
  }
  .mod .sp-pl10 {
    padding-left: 0.625rem !important;
  }
  .mod .sp-pl15 {
    padding-left: 0.9375rem !important;
  }
  .mod .sp-pl20 {
    padding-left: 1.25rem !important;
  }
  .mod .sp-pl25 {
    padding-left: 1.5625rem !important;
  }
  .mod .sp-pl30 {
    padding-left: 1.875rem !important;
  }
  .mod .sp-pl35 {
    padding-left: 2.1875rem !important;
  }
  .mod .sp-pl40 {
    padding-left: 2.5rem !important;
  }
  .mod .sp-pl45 {
    padding-left: 2.8125rem !important;
  }
  .mod .sp-pl50 {
    padding-left: 3.125rem !important;
  }
  .mod .sp-pl55 {
    padding-left: 3.4375rem !important;
  }
  .mod .sp-pl60 {
    padding-left: 3.75rem !important;
  }
  .mod .sp-pl65 {
    padding-left: 4.0625rem !important;
  }
  .mod .sp-pl70 {
    padding-left: 4.375rem !important;
  }
  .mod .sp-pl75 {
    padding-left: 4.6875rem !important;
  }
  .mod .sp-pl80 {
    padding-left: 5rem !important;
  }
  .mod .sp-pl85 {
    padding-left: 5.3125rem !important;
  }
  .mod .sp-pl90 {
    padding-left: 5.625rem !important;
  }
  .mod .sp-pl95 {
    padding-left: 5.9375rem !important;
  }
  .mod .sp-pl100 {
    padding-left: 6.25rem !important;
  }
  /* 右パディング */
  .mod .sp-pr0 {
    padding-right: 0rem !important;
  }
  .mod .sp-pr5 {
    padding-right: 0.3125rem !important;
  }
  .mod .sp-pr10 {
    padding-right: 0.625rem !important;
  }
  .mod .sp-pr15 {
    padding-right: 0.9375rem !important;
  }
  .mod .sp-pr20 {
    padding-right: 1.25rem !important;
  }
  .mod .sp-pr25 {
    padding-right: 1.5625rem !important;
  }
  .mod .sp-pr30 {
    padding-right: 1.875rem !important;
  }
  .mod .sp-pr35 {
    padding-right: 2.1875rem !important;
  }
  .mod .sp-pr40 {
    padding-right: 2.5rem !important;
  }
  .mod .sp-pr45 {
    padding-right: 2.8125rem !important;
  }
  .mod .sp-pr50 {
    padding-right: 3.125rem !important;
  }
  .mod .sp-pr55 {
    padding-right: 3.4375rem !important;
  }
  .mod .sp-pr60 {
    padding-right: 3.75rem !important;
  }
  .mod .sp-pr65 {
    padding-right: 4.0625rem !important;
  }
  .mod .sp-pr70 {
    padding-right: 4.375rem !important;
  }
  .mod .sp-pr75 {
    padding-right: 4.6875rem !important;
  }
  .mod .sp-pr80 {
    padding-right: 5rem !important;
  }
  .mod .sp-pr85 {
    padding-right: 5.3125rem !important;
  }
  .mod .sp-pr90 {
    padding-right: 5.625rem !important;
  }
  .mod .sp-pr95 {
    padding-right: 5.9375rem !important;
  }
  .mod .sp-pr100 {
    padding-right: 6.25rem !important;
  }
  /* ----- [CL] カラム ----- */
  .mod .col-set {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    -webkit-column-gap: var(--col-space-sp);
       -moz-column-gap: var(--col-space-sp);
            column-gap: var(--col-space-sp);
  }
  .mod .col-set.gutter1 {
    -webkit-column-gap: var(--col-space-sp-gutter1);
       -moz-column-gap: var(--col-space-sp-gutter1);
            column-gap: var(--col-space-sp-gutter1);
  }
  .mod .col-set.gutter2 {
    -webkit-column-gap: var(--col-space-sp-gutter2);
       -moz-column-gap: var(--col-space-sp-gutter2);
            column-gap: var(--col-space-sp-gutter2);
  }
  .mod .col-set.gutter3 {
    -webkit-column-gap: var(--col-space-sp-gutter3);
       -moz-column-gap: var(--col-space-sp-gutter3);
            column-gap: var(--col-space-sp-gutter3);
  }
  .mod .no-gutter {
    width: 100%;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
  .row .mod .no-gutter {
    margin-bottom: var(--elm-space-sp);
  }
  .mod .col1-2,
  .mod .col1-3,
  .mod .col2-3,
  .mod .col1-4,
  .mod .col3-4,
  .mod .col1-5,
  .mod .col2-5,
  .mod .col3-5,
  .mod .col4-5,
  .mod .col1-6,
  .mod .no-gutter > .col1-2,
  .mod .no-gutter > .col1-3,
  .mod .no-gutter > .col2-3,
  .mod .no-gutter > .col1-4,
  .mod .no-gutter > .col3-4,
  .mod .no-gutter > .col1-5,
  .mod .no-gutter > .col2-5,
  .mod .no-gutter > .col3-5,
  .mod .no-gutter > .col4-5,
  .mod .no-gutter > .col1-6,
  .mod .gutter1 .col1-2,
  .mod .gutter1 .col1-3,
  .mod .gutter1 .col2-3,
  .mod .gutter1 .col1-4,
  .mod .gutter1 .col3-4,
  .mod .gutter1 .col1-5,
  .mod .gutter1 .col2-5,
  .mod .gutter1 .col3-5,
  .mod .gutter1 .col4-5,
  .mod .gutter1 .col1-6,
  .mod .gutter1.no-gutter > .col1-2,
  .mod .gutter1.no-gutter > .col1-3,
  .mod .gutter1.no-gutter > .col2-3,
  .mod .gutter1.no-gutter > .col1-4,
  .mod .gutter1.no-gutter > .col3-4,
  .mod .gutter1.no-gutter > .col1-5,
  .mod .gutter1.no-gutter > .col2-5,
  .mod .gutter1.no-gutter > .col3-5,
  .mod .gutter1.no-gutter > .col4-5,
  .mod .gutter1.no-gutter > .col1-6,
  .mod .gutter2 .col1-2,
  .mod .gutter2 .col1-3,
  .mod .gutter2 .col2-3,
  .mod .gutter2 .col1-4,
  .mod .gutter2 .col3-4,
  .mod .gutter2 .col1-5,
  .mod .gutter2 .col2-5,
  .mod .gutter2 .col3-5,
  .mod .gutter2 .col4-5,
  .mod .gutter2 .col1-6,
  .mod .gutter2.no-gutter > .col1-2,
  .mod .gutter2.no-gutter > .col1-3,
  .mod .gutter2.no-gutter > .col2-3,
  .mod .gutter2.no-gutter > .col1-4,
  .mod .gutter2.no-gutter > .col3-4,
  .mod .gutter2.no-gutter > .col1-5,
  .mod .gutter2.no-gutter > .col2-5,
  .mod .gutter2.no-gutter > .col3-5,
  .mod .gutter2.no-gutter > .col4-5,
  .mod .gutter2.no-gutter > .col1-6,
  .mod .gutter3 .col1-2,
  .mod .gutter3 .col1-3,
  .mod .gutter3 .col2-3,
  .mod .gutter3 .col1-4,
  .mod .gutter3 .col3-4,
  .mod .gutter3 .col1-5,
  .mod .gutter3 .col2-5,
  .mod .gutter3 .col3-5,
  .mod .gutter3 .col4-5,
  .mod .gutter3 .col1-6,
  .mod .gutter3.no-gutter > .col1-2,
  .mod .gutter3.no-gutter > .col1-3,
  .mod .gutter3.no-gutter > .col2-3,
  .mod .gutter3.no-gutter > .col1-4,
  .mod .gutter3.no-gutter > .col3-4,
  .mod .gutter3.no-gutter > .col1-5,
  .mod .gutter3.no-gutter > .col2-5,
  .mod .gutter3.no-gutter > .col3-5,
  .mod .gutter3.no-gutter > .col4-5,
  .mod .gutter3.no-gutter > .col1-6 {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .mod .sp-col1-2 {
    -ms-flex-preferred-size: calc(50% - var(--col-space-sp) / 2);
        flex-basis: calc(50% - var(--col-space-sp) / 2);
  }
  .mod .gutter1 .sp-col1-2 {
    -ms-flex-preferred-size: calc(50% - var(--col-space-sp-gutter1) / 2);
        flex-basis: calc(50% - var(--col-space-sp-gutter1) / 2);
  }
  .mod .gutter2 .sp-col1-2 {
    -ms-flex-preferred-size: calc(50% - var(--col-space-sp-gutter2) / 2);
        flex-basis: calc(50% - var(--col-space-sp-gutter2) / 2);
  }
  .mod .gutter3 .sp-col1-2 {
    -ms-flex-preferred-size: calc(50% - var(--col-space-sp-gutter3) / 2);
        flex-basis: calc(50% - var(--col-space-sp-gutter3) / 2);
  }
  .mod .no-gutter > .sp-col1-2 {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
  /* ----- [HG] 見出し ----- */
  .mod h2:not([class*=heading]),
  .mod .heading1 {
    margin: 2.5rem 0 0.9375rem;
    font-size: var(--fontsize-heading1);
  }
  .mod h3:not([class*=heading]),
  .mod .heading2 {
    margin: 1.875rem 0 0.9375rem;
    font-size: var(--fontsize-heading2);
  }
  .mod h4:not([class*=heading]),
  .mod .heading3 {
    margin: 1.25rem 0 0.9375rem;
    font-size: var(--fontsize-heading3);
  }
  .mod h5:not([class*=heading]),
  .mod .heading4 {
    margin: 0.625rem 0 0.9375rem;
    font-size: var(--fontsize-heading4);
  }
  .mod h6:not([class*=heading]),
  .mod .heading5 {
    margin: 0 0 0.9375rem;
    font-size: var(--fontsize-heading5);
  }
  .mod .col-set + h2 {
    margin-top: 1.5625rem;
  }
  .mod .col-set + h3 {
    margin-top: 0.9375rem;
  }
  .mod .col-set + h4 {
    margin-top: 0.3125rem;
  }
  .mod .col-set + h5 {
    margin-top: 0;
  }
  .mod .col-set + h6 {
    margin-top: 0;
  }
  .mod .col-set + .heading1 {
    margin-top: 1.5625rem;
  }
  .mod .col-set + .heading2 {
    margin-top: 0.9375rem;
  }
  .mod .col-set + .heading3 {
    margin-top: 0.3125rem;
  }
  .mod .col-set + .heading4 {
    margin-top: 0;
  }
  .mod .col-set + .heading5 {
    margin-top: 0;
  }
  /* ----- [TX] テキスト ----- */
  .mod p {
    margin-bottom: var(--elm-space-sp);
  }
  .mod .copy {
    font-size: var(--f21px);
  }
  .mod .note + .note,
  .mod .note-num + .note-num {
    margin-top: -0.625rem;
  }
  /* ----- [HR]  区切り線 ----- */
  .mod hr {
    margin-bottom: var(--elm-space-sp);
  }
  /* ----- [IG] 画像 ----- */
  .mod .img {
    margin-bottom: var(--elm-space-sp);
  }
  .mod figure {
    margin-bottom: var(--elm-space-sp);
  }
  .mod .caption {
    margin-top: -0.3125rem;
  }
  .mod .right .caption {
    margin-right: auto;
  }
  .mod .img-set .img, .mod .img-set .img.right {
    float: none;
    width: auto;
    max-width: none;
    text-align: center !important;
  }
  .mod .img-set .img {
    margin-right: 0;
    padding-right: 0;
  }
  .mod .img-set .img.right {
    margin-left: 0;
    padding-left: 0;
  }
  .mod .thumb-set .img {
    margin-right: calc(var(--elm-space-sp) / 2);
    padding-right: calc(var(--elm-space-sp) / 2);
  }
  .mod .thumb-set .img.right {
    margin-right: 0;
    padding-right: 0;
    margin-left: calc(var(--elm-space-sp) / 2);
    padding-left: calc(var(--elm-space-sp) / 2);
  }
  /* ----- [LT] リスト ----- */
  .mod ul {
    margin-bottom: var(--elm-space-sp);
  }
  .mod ul.col-set li {
    margin-bottom: var(--elm-space-sp);
  }
  .mod ol {
    margin-bottom: var(--elm-space-sp);
  }
  .mod dl {
    display: block;
    margin-bottom: var(--elm-space-sp);
  }
  .mod dl dt {
    width: auto !important;
    padding-bottom: 0.3125rem !important;
  }
  .mod dl dd {
    width: auto !important;
    padding: 0 0 var(--elm-space-sp);
  }
  .mod dl.border-set {
    border-bottom: 0 none;
    border-top: solid 1px var(--color-gray);
  }
  .mod dl.border-set > dt {
    padding: 0.9375rem 0 0.3125rem;
    border-top: 0 none;
  }
  .mod dl.border-set > dd {
    width: auto;
    padding: 0 0 var(--elm-space-sp);
    border-top: 0 none;
    border-bottom: solid 1px var(--color-gray);
  }
  .mod dl .mod dl.news > dt {
    float: left;
    padding-right: var(--elm-space-sp);
  }
  .mod dl .mod dl.news.border-set > dt {
    float: left;
    padding-top: 0.9375rem;
    border-top: 0 none;
  }
  .mod dl .mod dl.news > dd .tag,
  .mod dl .mod dl.news > dd .label {
    clear: none;
    float: right;
    margin: 0 0 0.3125rem;
  }
  .mod dl .mod dl.news.border-set .tag, .mod dl .mod dl.news.border-set .label {
    margin-top: 0.9375rem;
  }
  .mod dl .mod dl.news.border-set p + .tag, .mod dl .mod dl.news.border-set p + .label {
    margin-top: 0;
  }
  .mod dl .mod dl.news .link-icon {
    clear: both;
  }
  /* ----- [LK1] アイコンリンク ----- */
  .mod .link-icon:not(li) + .link-icon {
    margin-top: -0.3125rem;
  }
  /* ----- [LK2] 横並びリンク ----- */
  .mod .link-horizontal {
    margin-bottom: 0.3125rem;
  }
  /* ----- [TG1] タグ ----- */
  .mod .tag {
    margin-bottom: 0.4375rem;
  }
  /* ----- [TG2] ラベル ----- */
  .mod .label {
    margin-bottom: 0.3125rem;
  }
  /* ----- [BT] ボタン ----- */
  .mod .btn {
    margin: 0 -0.9375rem 0 0;
  }
  .mod .btn > * {
    margin: 0 0.9375rem var(--elm-space-sp) 0;
  }
  /* ----- [BT3] シェアボタン ----- */
  .mod .btn-share {
    margin-bottom: 0.3125rem;
    text-align: center;
  }
  /* ----- [BT5] ページトップボタン ----- */
  .mod #btn-pagetop {
    right: var(--elm-space-sp);
  }
  .mod #btn-pagetop.show {
    -webkit-transform: translate3d(0, -4.0625rem, 0);
            transform: translate3d(0, -4.0625rem, 0);
  }
  /* ----- [BX] ボックス ----- */
  .mod .box {
    margin-bottom: var(--col-space-sp);
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
    border-radius: var(--radius-box-sp);
  }
  .mod .box .heading:first-child {
    margin: calc(var(--elm-space-sp) * -1) calc(var(--elm-space-sp) * -1) var(--elm-space-sp);
    padding: 0.75rem var(--elm-space-sp);
  }
  .mod .gutter1 .box {
    margin-bottom: var(--col-space-sp-gutter1);
  }
  .mod .gutter2 .box {
    margin-bottom: var(--col-space-sp-gutter2);
  }
  .mod .gutter3 .box {
    margin-bottom: var(--col-space-sp-gutter3);
  }
  /* ----- [FR]  枠 ----- */
  .mod .frame {
    margin-bottom: var(--col-space-sp);
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
    border-radius: var(--radius-frame-sp);
  }
  .mod .frame .heading:first-child {
    margin: calc(var(--elm-space-sp) * -1) calc(var(--elm-space-sp) * -1) var(--elm-space-sp);
    padding: 0.125rem var(--elm-space-sp) 0.75rem;
  }
  .mod .gutter1 .frame {
    margin-bottom: var(--col-space-sp-gutter1);
  }
  .mod .gutter2 .frame {
    margin-bottom: var(--col-space-sp-gutter2);
  }
  .mod .gutter3 .frame {
    margin-bottom: var(--col-space-sp-gutter3);
  }
  /* ----- [PL] パネル ----- */
  /* [PL1] パネル > 画像上 */
  .mod .panel-vertical {
    margin-bottom: var(--col-space-sp);
    border-radius: var(--radius-panel-sp);
  }
  .mod .panel-vertical > a:before {
    border-radius: var(--radius-panel-sp);
  }
  .mod .panel-vertical .img {
    border-radius: var(--radius-panel-sp) var(--radius-panel-sp) 0 0;
  }
  .mod .panel-vertical .badge {
    margin-left: var(--elm-space-sp);
    margin-right: var(--elm-space-sp);
  }
  .mod .panel-vertical .txt {
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
  }
  .mod .panel-vertical .link-horizontal {
    padding: 0.75rem 0.3125rem 0.125rem 0.9375rem;
  }
  .mod .panel-vertical .tag {
    padding: 0.625rem 0.4375rem 0.125rem 0.9375rem;
  }
  .mod .gutter1 .panel-vertical {
    margin-bottom: var(--col-space-sp-gutter1);
  }
  .mod .gutter2 .panel-vertical {
    margin-bottom: var(--col-space-sp-gutter2);
  }
  .mod .gutter3 .panel-vertical {
    margin-bottom: var(--col-space-sp-gutter3);
  }
  .mod .sp-panel-holizontal > a:after {
    content: "";
    display: block;
    clear: both;
  }
  .mod .sp-panel-holizontal .img {
    float: left;
    width: 25%;
    margin: var(--elm-space-sp);
    border-radius: 0;
  }
  .mod .sp-panel-holizontal .badge {
    position: static;
    clear: both;
    float: left;
    width: 25%;
    height: auto;
    margin: calc(var(--elm-space-sp) * -1) var(--elm-space-sp) var(--elm-space-sp);
    border-radius: 0;
  }
  .mod .sp-panel-holizontal .badge > * {
    display: block;
    width: auto;
    height: auto;
    padding: 0.5rem 0.625rem;
    font-size: var(--f11px);
    line-height: var(--lineheight-tag);
  }
  .mod .sp-panel-holizontal .txt,
  .mod .sp-panel-holizontal .badge + .txt {
    padding: var(--elm-space-sp) var(--elm-space-sp) 0 0;
    overflow: hidden;
  }
  .mod .sp-panel-holizontal .label {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
  }
  .mod .sp-panel-holizontal .label span {
    float: none;
    display: block;
    margin: 0;
    text-align: center;
    border: 0 none !important;
  }
  /* [PL2] パネル > 画像左右 */
  .mod .panel-horizontal,
  .mod .panel-horizontal > a {
    display: block;
  }
  .mod .panel-horizontal:before,
  .mod .panel-horizontal > a:before {
    display: none;
  }
  .mod .panel-horizontal .img {
    width: auto !important;
  }
  .mod .panel-horizontal .img > a {
    position: relative;
  }
  .mod .panel-horizontal .img div {
    position: relative;
    width: 100%;
    height: 0;
    padding: 56.25% 0 0;
  }
  .mod .panel-horizontal .img img {
    position: relative;
  }
  .mod .panel-horizontal .txt {
    width: auto !important;
    left: 0 !important;
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
  }
  .mod .panel-horizontal .badge {
    top: auto !important;
    left: 50% !important;
  }
  .mod .panel-horizontal .badge + .txt {
    padding-left: var(--elm-space-sp) !important;
    padding-right: var(--elm-space-sp) !important;
    padding-top: 2.5rem !important;
  }
  .mod .row .panel-horizontal {
    margin-bottom: var(--col-space-sp);
    border-radius: var(--radius-panel-sp);
  }
  .mod .row .gutter1 .panel-horizontal {
    margin-bottom: var(--col-space-sp-gutter1);
  }
  .mod .row .gutter2 .panel-horizontal {
    margin-bottom: var(--col-space-sp-gutter2);
  }
  .mod .row .gutter3 .panel-horizontal {
    margin-bottom: var(--col-space-sp-gutter3);
  }
  /* [PL4] パネル > 背景画像 */
  .mod .panel-covered .txt {
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
  }
  .mod .panel-covered .link-horizontal {
    margin: 0 -0.9375rem;
    padding: 0.75rem 0.3125rem 0.125rem 0.9375rem;
  }
  .mod .panel-covered .tag {
    margin: 0 -0.9375rem;
    padding: 0.625rem 0.4375rem 0.125rem 0.9375rem;
  }
  .mod .col-set:not(.no-gutter) .panel-covered {
    margin-bottom: var(--col-space-sp);
    border-radius: var(--radius-panel-sp);
  }
  .mod .col-set:not(.no-gutter) .panel-covered:before,
  .mod .col-set:not(.no-gutter) .panel-covered > a:before {
    border-radius: var(--radius-panel-sp);
  }
  .mod .col-set.gutter1:not(.no-gutter) .panel-covered {
    margin-bottom: var(--col-space-sp-gutter1);
  }
  .mod .col-set.gutter2:not(.no-gutter) .panel-covered {
    margin-bottom: var(--col-space-sp-gutter2);
  }
  .mod .col-set.gutter3:not(.no-gutter) .panel-covered {
    margin-bottom: var(--col-space-sp-gutter3);
  }
  /* ----- [TB] 表 ----- */
  .mod table {
    margin-bottom: var(--elm-space-sp);
  }
  /* 水平スクロールバー */
  .mod .scroll {
    margin: 0 0 var(--elm-space-sp);
    overflow-x: auto;
  }
  .mod .scroll::-webkit-scrollbar {
    height: 0.3125rem;
  }
  .mod .scroll::-webkit-scrollbar-track {
    background: var(--color-light-gray);
    border-radius: 6.25rem;
  }
  .mod .scroll::-webkit-scrollbar-thumb {
    background: var(--color-main);
    border-radius: 6.25rem;
  }
  .mod .scroll > *:not(.scroll-hint-icon-wrap) {
    min-width: 738px;
    margin-bottom: var(--elm-space-sp);
  }
  /* 水平スクロールバー scroll-hint JS */
  @-webkit-keyframes scroll-hint-appear {
    0% {
      -webkit-transform: translateX(2.5rem);
              transform: translateX(2.5rem);
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    50%, 100% {
      -webkit-transform: translateX(-2.5rem);
              transform: translateX(-2.5rem);
      opacity: 0;
    }
  }
  @keyframes scroll-hint-appear {
    0% {
      -webkit-transform: translateX(2.5rem);
              transform: translateX(2.5rem);
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    50%, 100% {
      -webkit-transform: translateX(-2.5rem);
              transform: translateX(-2.5rem);
      opacity: 0;
    }
  }
  .scroll-hint.is-right-scrollable {
    background: -webkit-gradient(linear, right top, left top, color-stop(0, rgba(0, 0, 0, 0.15)), color-stop(1rem, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 1rem, rgba(0, 0, 0, 0));
  }
  .scroll-hint.is-right-scrollable.is-left-scrollable {
    background: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(0, 0, 0, 0.15)), color-stop(1rem, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0))), -webkit-gradient(linear, right top, left top, color-stop(0, rgba(0, 0, 0, 0.15)), color-stop(1rem, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 1rem, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 1rem, rgba(0, 0, 0, 0));
  }
  .scroll-hint.is-left-scrollable {
    background: -webkit-gradient(linear, left top, right top, color-stop(0, rgba(0, 0, 0, 0.15)), color-stop(1rem, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 1rem, rgba(0, 0, 0, 0));
  }
  .scroll-hint-icon {
    position: absolute;
    top: calc(50% - 1.5625rem);
    left: calc(50% - 3.75rem);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 7.5rem;
    height: 5rem;
    border-radius: 0.3125rem;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: 1.25rem 0.625rem 0.625rem 0.625rem;
  }
  .scroll-hint-icon-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    pointer-events: none;
  }
  .scroll-hint-text {
    font-size: 0.625rem;
    color: #FFF;
    margin-top: 0.3125rem;
  }
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: 0.8;
  }
  .scroll-hint-icon:before {
    display: inline-block;
    width: 2.5rem;
    height: 2.5rem;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
  }
  .scroll-hint-icon:after {
    content: "";
    width: 2.125rem;
    height: 0.875rem;
    display: block;
    position: absolute;
    top: 0.625rem;
    left: 50%;
    margin-left: -1.25rem;
    background-repeat: no-repeat;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
    opacity: 0;
    -webkit-transition-delay: 2.4s;
            transition-delay: 2.4s;
  }
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
    opacity: 1;
  }
  .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
    -webkit-animation: scroll-hint-appear 1.2s linear;
            animation: scroll-hint-appear 1.2s linear;
    -webkit-animation-iteration-count: 2;
            animation-iteration-count: 2;
  }
  .scroll-hint-icon-white {
    background-color: #FFF;
    -webkit-box-shadow: 0 0.25rem 0.3125rem rgba(0, 0, 0, 0.4);
            box-shadow: 0 0.25rem 0.3125rem rgba(0, 0, 0, 0.4);
  }
  .scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
  }
  .scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
  }
  .scroll-hint-icon-white .scroll-hint-text {
    color: #000;
  }
  /* ----- [NV1] コンテンツナビゲーション ----- */
  .mod .nav-content {
    margin-bottom: var(--elm-space-sp);
    overflow: hidden;
  }
  .mod .nav-content ul {
    width: calc(100% + 1px);
    margin-bottom: -1px;
    border-left: 0 none !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .mod .nav-content li {
    width: 50%;
    min-height: 3.125rem;
  }
  .mod .nav-content a {
    padding: 0.3125rem 0.625rem;
  }
  .mod .nav-content.link-internal a {
    padding-right: 1.875rem;
  }
  .mod .nav-content ul li:nth-of-type(2n) a {
    border-right: 0 none !important;
  }
  .mod .nav-content.link-internal a:after {
    position: absolute;
    top: 50%;
    right: 0.3125rem;
    margin: -0.75rem 0 0;
  }
  html:not(.sp) .mod .nav-content.link-internal a:hover:after {
    margin-top: -0.5625rem;
  }
  .mod .nav-content a {
    border-bottom: solid 1px var(--color-white);
  }
  .mod .nav-content .current a {
    border-color: var(--color-main) !important;
  }
  html:not(.sp) .mod .nav-content a:hover {
    border-color: color-mix(in srgb, var(--color-main) 65%, white) !important;
  }
  /* ----- [NV2] タブ ----- */
  .mod .tab {
    margin-bottom: 1.875rem;
  }
  .mod .row .tab {
    margin-bottom: var(--elm-space-sp);
  }
  .mod .sp-accordion .tab-nav {
    display: none;
  }
  .mod .tab-nav li {
    min-height: 3.125rem;
  }
  .mod .tab-nav li a {
    padding: 0.3125rem var(--elm-space-sp);
  }
  .mod .tab-panel {
    padding: 0 var(--elm-space-sp) !important;
  }
  .mod .tab-panel:before {
    content: "";
    display: block;
    height: 0.9375rem;
  }
  .mod .tab-panel:after {
    content: "";
    display: block;
    height: 0.3125rem;
  }
  .mod .sp-accordion .sp-tab-nav {
    display: block;
    margin: 0;
  }
  .mod .sp-accordion .sp-tab-nav button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 100%;
    min-height: 3.125rem;
    padding: 0.3125rem 3.125rem 0.3125rem var(--elm-space-sp);
    color: var(--color-white) !important;
    text-decoration: none;
    text-align: center;
    background-color: var(--color-dark-gray);
    border: 0 none;
    border-top: solid 1px #5f6768;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: background-color 0.2s linear, border-top-color 0.2s linear;
    transition: background-color 0.2s linear, border-top-color 0.2s linear;
  }
  html:not(.sp) .mod .sp-accordion .sp-tab-nav:not(.current) button:hover {
    background-color: #5f6768;
  }
  .mod .sp-accordion .sp-tab-nav:first-of-type button, .mod .sp-accordion .sp-tab-nav.current + .tab-panel + .sp-tab-nav button {
    border-top-color: var(--color-dark-gray);
  }
  .mod .sp-accordion .sp-tab-nav.current button {
    background-color: var(--color-main);
    border-top-color: var(--color-main) !important;
  }
  .mod .sp-accordion .sp-tab-nav button span {
    position: absolute;
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    top: 50%;
    right: 0.625rem;
    margin-top: -0.9375rem;
    border: solid 0.09375rem color-mix(in srgb, var(--color-white) 50%, transparent);
    border-radius: 50%;
  }
  .mod .sp-accordion .sp-tab-nav button span:before, .mod .sp-accordion .sp-tab-nav button span:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    background-color: var(--color-white);
    border-radius: 0.125rem;
  }
  .mod .sp-accordion .sp-tab-nav button span:before {
    width: 0.75rem;
    height: 0.125rem;
    margin: -1px 0 0 -0.375rem;
  }
  .mod .sp-accordion .sp-tab-nav button span:after {
    width: 0.125rem;
    height: 0.75rem;
    margin: -0.375rem 0 0 -1px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  html:not(.sp) .mod .sp-accordion .sp-tab-nav button:hover span:after, .mod .sp-accordion .sp-tab-nav.current button span:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .mod .sp-accordion .tab-panel {
    position: relative;
    width: auto;
  }
  /* ----- [FM] フォーム ----- */
  .mod .form dl.border-set {
    margin-bottom: 1.875rem;
  }
  .mod .form dl.border-set > dt {
    padding: 0.9375rem 0 0.3125rem;
  }
  .mod .form dl.border-set .required:after {
    margin-top: 0.3125rem;
    font-size: var(--f12px);
  }
  /* ----- [EB1] 動画埋め込み ----- */
  .mod .embed-video {
    margin-bottom: var(--elm-space-sp);
  }
  /* ----- [EB2] モーダル ----- */
  .mfp-inline-holder .mfp-content .content {
    padding: var(--elm-space-sp) var(--elm-space-sp) 0;
  }
  /* ----- [SL] スライダー ----- */
  .mod .slider {
    margin-bottom: var(--elm-space-sp);
  }
  .mod .row .slider {
    margin-left: -4vw;
    margin-right: -4vw;
  }
  .mod .slick-slider {
    width: calc(100% + var(--col-space-sp));
  }
  .mod .slick-slider.gutter1 {
    width: calc(100% + var(--col-space-sp-gutter1));
  }
  .mod .slick-slider.gutter2 {
    width: calc(100% + var(--col-space-sp-gutter2));
  }
  .mod .slick-slider.gutter3 {
    width: calc(100% + var(--col-space-sp-gutter3));
  }
  .mod .slick-slider.no-gutter {
    width: 100%;
  }
  .slick-track .col1-2,
  .slick-track .col1-3,
  .slick-track .col2-3,
  .slick-track .col1-4,
  .slick-track .col3-4,
  .slick-track .col1-5,
  .slick-track .col2-5,
  .slick-track .col3-5,
  .slick-track .col4-5,
  .slick-track .col1-6 {
    margin-right: var(--col-space-sp);
  }
  .gutter1 .slick-track .col1-2,
  .gutter1 .slick-track .col1-3,
  .gutter1 .slick-track .col2-3,
  .gutter1 .slick-track .col1-4,
  .gutter1 .slick-track .col3-4,
  .gutter1 .slick-track .col1-5,
  .gutter1 .slick-track .col2-5,
  .gutter1 .slick-track .col3-5,
  .gutter1 .slick-track .col4-5,
  .gutter1 .slick-track .col1-6 {
    margin-right: var(--col-space-sp-gutter1);
  }
  .gutter2 .slick-track .col1-2,
  .gutter2 .slick-track .col1-3,
  .gutter2 .slick-track .col2-3,
  .gutter2 .slick-track .col1-4,
  .gutter2 .slick-track .col3-4,
  .gutter2 .slick-track .col1-5,
  .gutter2 .slick-track .col2-5,
  .gutter2 .slick-track .col3-5,
  .gutter2 .slick-track .col4-5,
  .gutter2 .slick-track .col1-6 {
    margin-right: var(--col-space-sp-gutter2);
  }
  .gutter3 .slick-track .col1-2,
  .gutter3 .slick-track .col1-3,
  .gutter3 .slick-track .col2-3,
  .gutter3 .slick-track .col1-4,
  .gutter3 .slick-track .col3-4,
  .gutter3 .slick-track .col1-5,
  .gutter3 .slick-track .col2-5,
  .gutter3 .slick-track .col3-5,
  .gutter3 .slick-track .col4-5,
  .gutter3 .slick-track .col1-6 {
    margin-right: var(--col-space-sp-gutter3);
  }
  .no-gutter .slick-track .col1-2,
  .no-gutter .slick-track .col1-3,
  .no-gutter .slick-track .col2-3,
  .no-gutter .slick-track .col1-4,
  .no-gutter .slick-track .col3-4,
  .no-gutter .slick-track .col1-5,
  .no-gutter .slick-track .col2-5,
  .no-gutter .slick-track .col3-5,
  .no-gutter .slick-track .col4-5,
  .no-gutter .slick-track .col1-6 {
    margin-right: 0;
  }
  /* ----- [HBS] ハイブリッドスクロール ----- */
  .mod .scroll-panel {
    width: calc(100vw - 2.5rem);
  }
  /* ----- イコールハイト ----- */
  .mod .equal-col-sp1 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .mod .equal-col-sp2 {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .mod .equal-col-sp3 {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .mod .equal-col-sp4 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .mod .equal-col-sp5 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
  .mod .equal-col-sp6 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
/*---------------------------------------------
	480px未満
  ---------------------------------------------*/
@media screen and (max-width: 479px) {
  /* ----- [BT] ボタン ----- */
  .mod .btn {
    margin-right: 0;
  }
  .mod .btn > * {
    width: 100%;
    margin-right: 0;
  }
  /* ----- [FM] フォーム ----- */
  .mod .form input[type=text],
  .mod .form textarea {
    max-width: 100%;
  }
}
/*---------------------------------------------
	印刷用
  ---------------------------------------------*/
@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
  body {
    width: 1024px;
    background-color: var(--color-white);
  }
  .slick-track {
    width: 50000px !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
            transform: translate3d(0, 0, 0) !important;
  }
  .slider .col1-2 {
    width: 482px !important;
  }
  .slider .col1-3 {
    width: 314.66666666px !important;
  }
  .slider .col1-4 {
    width: 231px !important;
  }
  .slider .col1-5 {
    width: 180.8px !important;
  }
  .slider .col1-6 {
    width: 147.33333333px !important;
  }
  .slick-list {
    padding: 0 !important;
  }
  .slick-arrow {
    display: none !important;
  }
  .slick-dots {
    display: none !important;
  }
}