:root {
  /* サイトコンテンツの幅 */
  --w-site-content-inner: 1200px;
  --w-site-content-inner-narrow: 994px;
  --w-content-safe-area: 32px;
  --w-site-content: calc(
    var(--w-site-content-inner) + var(--w-content-safe-area) * 2
  );
  --w-site-content-narrow: calc(
    var(--w-site-content-inner-narrow) + var(--w-content-safe-area) * 2
  );

  /* レイアウト */
  --l-grid-columns: 1fr minmax(auto, var(--w-site-content)) 1fr;

  /* カラー */
  --c-accent: #333f48;
  --c-theme: #00a7ac;
  --c-base: #f5f6f7;
  --c-base2: #f6f8fb;
  --c-txt: #101010;
  --c-red: #e10000;
  --c-warning: #df1d59;
  --c-sub: #333f48;
  --c-border: #ccc;
  --c-white: #fff;
  --c-theme-dark: #007f84;
  --c-cta: #ffe303;
  --c-cta-hover: #f5d900;
  --c-number-bg: #255a81;
  --c-note: #666; /* 注釈用テキストカラー */
  --c-txt-sub: #666; /* サブテキストカラー */
  --c-sticky-bg: #edf0f3; /* ナビゲーション等の固定表示用背景色 */

  /* タイポグラフィ */
  --ff-base: 'Noto Sans JP', sans-serif;
  --ff-base-en: 'Noto Sans', sans-serif;
  --fz-base: 1rem;
  --fz-base-sp: 1rem;
  --fz-note: 0.875rem; /* 注記用フォントサイズ */
  --fw-bold: 700;
  --lht-base: 1.6;
  --lht-heading: 1.4;
  --fz-h1: 2.25rem;
  --fz-h1-sm: 2rem;
  --fz-h2: 1.875rem;
  --fz-h2-sm: 1.75rem;
  --fz-h3: 1.625rem;
  --fz-h3-sm: 1.5rem;
  --fz-h4: 1.375rem;
  --fz-h4-sm: 1.25rem;
  --fz-h5: 1.125rem;
  --fz-h5-sm: 1.125rem;
  --fz-h6: 1rem;
  --fz-h6-sm: 1rem;

  /* インタラクション */
  --hover-scale: 1.15;
  --hover-opacity: 0.8;
  --trans-speed: 0.25s;

  /* スペース */
  --wysiwyg-elm-row-gutter: 20px;

  /* ブレークポイント */
  --bp-sm: 520px;
  --bp-md: 1100px;

  /* HubSpotカラムレイアウト */
  --hs-column-gap: 2.13%;
  --hs-column-width-multiplier: 8.333;

  /*
   * ヘッダー高さのフォールバック（JS未実行時の保険）
   *
   * BlHeaderScroll が `header.offsetHeight` を計算して --header-base-height を
   * 上書きするが、別ページからアンカー付き URL で遷移した直後は JS 実行前に
   * ブラウザがハッシュ位置へジャンプし、未設定だと :target { scroll-margin-top }
   * が 0px で計算されてヘッダーに隠れる。実体に近い値をデフォルトとして持たせ、
   * JS が走るまでの暫定オフセットを確保する。
   *
   * 値の根拠（PC ≥ 1025px）: headerInner（padding 17px×2 + ロゴ 26px ≈ 60px）
   * + グロナビ（padding 19px×2 + 行高 25.6px ≈ 64px）+ border 1px ≈ 125px。
   * 余裕分も含めて 128px に設定。
   */
  --header-base-height: 128px;
  --header-visible-offset: 128px;
}

@media (width <= 1024px) {
  :root {
    /*
     * タブレット帯（501-1024px）での有効値。
     * media query 自体は ≤500px も含むが、≤500px は後続の
     * `@media (width <= 500px)` ブロックで上書きされる（CSS カスケード）。
     *
     * この帯ではグロナビが display: none となり headerInner のみが残る。
     * padding 17px×2 + ロゴ 26px ≈ 60px。余裕分も含めて 72px に設定。
     */
    --header-base-height: 72px;
    --header-visible-offset: 72px;
  }
}

@media (width <= 500px) {
  :root {
    /*
     * 狭幅 SP 帯（≤500px）での有効値。
     *
     * ブレークポイントは BlHeader 本体の CSS（BlHeader/style.module.css）
     * の `@media (width <= 500px)` と一致させている。同ブロックで
     * `flex-wrap: wrap` により SP アクションが段落ちし、ヘッダー実体高が
     * 一段大きくなるため。
     *
     * padding-block: 12px、ロゴ 13px、margin-top 8px、SPボタン 40px ≈ 85px。
     * 余裕分も含めて 96px に設定。
     *
     * なお既存の `--w-content-safe-area` のブレークポイントは ≤520px だが、
     * これはコンテンツ左右余白のための独立した境界であり、ヘッダー実体高
     * の段落ち境界（500px）とは別の調整。501〜520px はヘッダー実体高は
     * 段落ち前（タブレット帯 72px）のままで正しい。
     */
    --header-base-height: 96px;
    --header-visible-offset: 96px;
  }
}

@media (width <= 520px) {
  :root {
    --w-content-safe-area: 18px;
  }
}

/* 英語サイト: Noto Sans（head でフォント読み込み） */
html:lang(en) {
  --ff-base: var(--ff-base-en);
}

/**
 * ベース
 */
:target {
  /*
   * Sticky 群の合算高さ + 視認性のための追加余白分だけアンカーターゲットを
   * 下にオフセットする。
   * - --header-base-height                  : BlHeaderScroll が publish する
   *                                           ヘッダーの実体高（表示状態に依らず常時）
   * - --bl-product-sticky-bar-anchor-height : PC では BlProductStickyBar の実体高、
   *                                           SP では 0px
   * - --bl-sticky-menu-base-height          : BlTabListSticky が publish する
   *                                           タブナビの実体高（isShow に依らず常時）
   * - --bl-nav-local-sticky-height          : BlNavLocalSticky（PC で可視）の高さ
   * - --bl-mobile-sticky-nav-height         : BlMobileStickyNav menuButton（SP で可視）の高さ
   * - 20px                                   : 視認性のための追加余白（Sticky 直下に
   *                                           要素がぴったり接しないようにする）
   *
   * scroll-margin-top はクリック時点で確定し、スクロール途中の値変化を再評価
   * しないため、各 Sticky の表示状態に依らない「実体高さ」を使って
   * 着地時のスタック高さと一致するよう予約する。
   * （ヘッダーはアンカー遷移中は隠さないよう BlHeaderScroll 側で抑止している）
   *
   * PC 製品バーは SP でも高さ計測のためレイアウトされるので、
   * --bl-product-sticky-bar-base-height を直接加算せず、SP では 0px にする。
   * 製品バーが無いページでは --bl-product-sticky-bar-base-height は未定義で 0px。
   */
  --scroll-offset: 20px;
  --bl-product-sticky-bar-anchor-height: var(
    --bl-product-sticky-bar-base-height,
    0px
  );

  scroll-margin-top: calc(
    var(--header-base-height, 0px) + var(--bl-product-sticky-bar-anchor-height) +
      var(--bl-sticky-menu-base-height, 0px) +
      var(--bl-nav-local-sticky-height, 0px) +
      var(--bl-mobile-sticky-nav-height, 0px) + var(--scroll-offset)
  );
}

@media (width <= 520px) {
  :target {
    --bl-product-sticky-bar-anchor-height: 0px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;

  font: inherit;

  /* プロジェクトごとに調整 */
  font-family: var(--ff-base);
  font-size: 100%;
  line-height: var(--lht-base);
  color: var(--c-txt);
  vertical-align: baseline;
}

@media (width <= 520px) {
  *,
  *::before,
  *::after {
    font-size: var(--fz-base-sp);
  }
}

sup,
sub {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  list-style: none;
}

button {
  cursor: pointer;
  background: none;
}

table {
  border-collapse: collapse;
}

html {
  scroll-behavior: smooth;
  word-break: normal;
  overflow-wrap: break-word;
}

a {
  color: var(--c-txt);
}

form [data-hsfc-id='Renderer'] .hsfc-RichText,
form [data-hsfc-id='Step'] .hsfc-RichText,
form [data-hsfc-id='Renderer'] .hsfc-RichText p,
form [data-hsfc-id='Step'] .hsfc-RichText p {
  font-size: var(--fz-base);
  line-height: var(--lht-base);
  color: var(--c-txt);
}

form [data-hsfc-id='Renderer'] .hsfc-RichText p span,
form [data-hsfc-id='Renderer'] .hsfc-RichText p a,
form [data-hsfc-id='Step'] .hsfc-RichText p span,
form [data-hsfc-id='Step'] .hsfc-RichText p a {
  font-size: inherit;
  color: inherit;
}

a:focus {
  text-decoration: none;
}

a > img,
a > picture {
  transition: filter var(--trans-speed);
}

a:focus > img,
a:focus > picture {
  transform: scale(var(--hover-scale));
  opacity: var(--hover-opacity);
}

@media (hover) {
  a:hover {
    text-decoration: none;
  }

  a:hover > img,
  a:hover > picture {
    transform: scale(var(--hover-scale));
    opacity: var(--hover-opacity);
  }
}

/* アイコンホバー時の挙動を共通で処理するためのクラス名 */
a :is(path, circle, rect)[class='fill'],
a :is(path, circle, rect)[class='stroke'] {
  transition: fill var(--trans-speed);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  transition: var(--trans-speed);
}

/**
 * レイアウト
 */
.hs_cos_wrapper_type_module {
  display: grid;
  grid-template-columns: var(--l-grid-columns);
}

@media (width <= 520px) {
  .hs_cos_wrapper_type_module {
    grid-template-columns: 1fr minmax(auto, 100%) 1fr;
  }
}

:where(.hs_cos_wrapper_type_module) > * {
  grid-column: 1 / 4;
  width: 100%;
}

.ly_cont {
  max-width: var(--w-site-content);
  margin-inline: auto;
  padding-inline: var(--w-content-safe-area);
}

.ly_cont.ly_cont__narrow {
  max-width: var(--w-site-content-narrow);
}

.ly_cont__narrow .ly_gridCentered {
  padding-inline: 0;
}

.ly_cont.ly_cont__col {
  display: flex;
  justify-content: space-between;
  padding-top: 70px;
  padding-bottom: 70px;
}

@media (width <= 520px) {
  .ly_cont.ly_cont__col {
    flex-direction: column;
    padding-top: 35px;
    padding-bottom: 35px;
  }
}

.ly_cont_main {
  flex: 1;
  margin-right: 3.252%;
}

@media (width <= 520px) {
  .ly_cont_main {
    margin-right: 0;
    margin-bottom: 60px;
  }
}

.ly_cont_main > *:first-child {
  margin-top: 0;
}

.ly_cont_side {
  flex: 0 0 260px;
}

.ly_cont_side.ly_cont_side__wide {
  flex: 0 0 360px;
}

.ly_cont_side > *:first-child {
  margin-top: 0;
}

.ly_gridCentered {
  grid-column: 2 / 3;
  padding-inline: var(--w-content-safe-area);
}

.ly_btnCenterColArea {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: center;

  margin-block: 100px;

  @media (width <= 520px) {
    margin-block: 84px;
  }
}

.ly_postHeaderMargin {
  margin-bottom: 100px;

  @media (width <= 520px) {
    margin-bottom: 84px;
  }
}

.bl_postKeyVisual {
  margin-bottom: 44px;
  text-align: center;
}

/**
 * 見出し汎用
 */
.is_verticalLineHeading,
[data-vertical-line-heading] {
  padding-left: 10px;
  border-left: 4px solid var(--c-theme);
}

/**
 * ポストリストのpaddingキャンセル
 */
.bl_postList_paddingCancel {
  padding: 0 !important;
}

/**
 * セクション
 */
.bl_sect {
  padding-top: 70px;
  padding-bottom: 70px;
}

article div[id^='sect']:last-child .bl_sect {
  padding-bottom: 120px;
}

@media (width <= 520px) {
  .bl_sect {
    padding-top: 35px;
    padding-bottom: 35px;
  }

  article div[id^='sect']:last-child .bl_sect {
    padding-bottom: 100px;
  }
}

/**
 * ボックス
 */
.bl_bgGray {
  /* bl_borderBoxと重複する場合はbl_borderBoxの方のpaddingを優先させるため、CSSSの順序を保つこと */
  padding: 20px;
  background-color: var(--c-base);
}

.bl_borderBox {
  padding: 2rem;
  border: 1px solid var(--c-border);
}

@media (width <= 520px) {
  .bl_borderBox {
    padding: 1.5rem;
  }
}

/**
 * ユーザー入力ブロック
 */
.bl_wysiwyg > *:first-child {
  margin-top: 0;
}

/* 実際にHubSpotにデプロイすると末尾に空のspan要素が生成されるため、span以外の要素のみを対象にする */
.bl_wysiwyg > :nth-last-child(1 of :not(span)) {
  margin-bottom: 0;
}

/* iOS Safari のテキスト自動拡大（text inflation）を抑止し、SP実機での文字サイズが意図より大きくなる事象を防ぐ */
.bl_wysiwyg table {
  /* stylelint-disable property-no-vendor-prefix */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  /* stylelint-enable property-no-vendor-prefix */
  text-size-adjust: 100%;
}

/* ブログ記事（.bl_wysiwyg）にモジュールがドロップされることがあるので、class属性を持たない要素を対象にする */
:where(.bl_wysiwyg) :where(h1:not([class])) {
  margin-top: 96px;
  margin-bottom: 32px;
  padding-bottom: 20px;

  font-size: var(--fz-h1);
  font-weight: var(--fw-bold);
  line-height: var(--lht-heading);
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h1:not([class])) {
    font-size: var(--fz-h1-sm);
  }
}

:where(.bl_wysiwyg) :where(h2:not([class])) {
  position: relative;

  margin-top: 80px;
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 2px solid var(--c-border);

  font-size: var(--fz-h2);
  font-weight: var(--fw-bold);
  line-height: var(--lht-heading);
}

:where(.bl_wysiwyg) :where(h2:not([class]))::after {
  content: '';

  position: absolute;
  bottom: -2px;
  left: 0;

  width: 100px;
  height: 2px;

  background: var(--c-theme);
}

:where(.bl_wysiwyg.is_titleNoBorder) :where(h2:not([class])) {
  padding-bottom: 0;
  border-bottom: 0;
}

:where(.bl_wysiwyg.is_titleNoBorder) :where(h2:not([class]))::after {
  content: none;
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h2:not([class])) {
    font-size: var(--fz-h2-sm);
  }

  :where(.bl_wysiwyg) :where(h2:not([class]))::after {
    width: 80px;
  }
}

:where(.bl_wysiwyg) :where(h3:not([class])) {
  margin-top: 64px;
  margin-bottom: 24px;

  font-size: var(--fz-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lht-heading);
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h3:not([class])) {
    font-size: var(--fz-h3-sm);
  }
}

:where(.bl_wysiwyg) :where(h4:not([class])) {
  margin-top: 40px;
  margin-bottom: 24px;

  font-size: var(--fz-h4);
  font-weight: var(--fw-bold);
  line-height: var(--lht-heading);
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h4:not([class])) {
    font-size: var(--fz-h4-sm);
  }
}

:where(.bl_wysiwyg) :where(h5:not([class])) {
  margin-top: 32px;
  margin-bottom: 20px;

  font-size: var(--fz-h5);
  font-weight: var(--fw-bold);
  line-height: var(--lht-heading);
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h5:not([class])) {
    font-size: var(--fz-h5-sm);
  }
}

:where(.bl_wysiwyg) :where(h6:not([class])) {
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: var(--fz-h6);
  line-height: var(--lht-heading);
}

@media (width <= 520px) {
  :where(.bl_wysiwyg) :where(h6:not([class])) {
    font-size: var(--fz-h6-sm);
  }
}

:where(.bl_wysiwyg) :where(h1:not([class])) span,
:where(.bl_wysiwyg) :where(h2:not([class])) span,
:where(.bl_wysiwyg) :where(h3:not([class])) span,
:where(.bl_wysiwyg) :where(h4:not([class])) span,
:where(.bl_wysiwyg) :where(h5:not([class])) span,
:where(.bl_wysiwyg) :where(h6:not([class])) span {
  font-size: inherit;
}

:where(.bl_wysiwyg) :where(blockquote:not([class])) {
  margin-block: var(--wysiwyg-elm-row-gutter);
  padding: 20px;
  background-color: var(--c-base);
}

:where(.bl_wysiwyg) :where(pre:not([class])) {
  margin-block: var(--wysiwyg-elm-row-gutter);
  padding: 20px;
  background-color: var(--c-base);
}

:where(.bl_wysiwyg) :where(p:not([class])) {
  margin-block: var(--wysiwyg-elm-row-gutter);
}

:where(.bl_wysiwyg) :where(strong:not([class])) {
  font-weight: var(--fw-bold);
}

:where(.bl_wysiwyg) :where(em:not([class])) {
  font-style: italic;
}

:where(.bl_wysiwyg) :where(ul:not([class])),
:where(.bl_wysiwyg) :where(ol:not([class])) {
  margin-block: var(--wysiwyg-elm-row-gutter);
  padding-left: 1em;
  list-style-type: disc;
}

/* リセットスタイルに詳細度で勝つために:where()で囲わない */
:where(.bl_wysiwyg) ul:not([class]) {
  list-style-type: disc;
}

/* リセットスタイルに詳細度で勝つために:where()で囲わない */
:where(.bl_wysiwyg) ol:not([class]) {
  counter-reset: ol-item;
  padding-left: 0;
}

:where(.bl_wysiwyg) ol:not([class]) li {
  padding-left: 1.25em;
  text-indent: -1.5em;
}

:where(.bl_wysiwyg) ol:not([class]) li::before {
  content: counter(ol-item) '. ';
  counter-increment: ol-item;
  margin-right: 0.5em;
}

:where(.bl_wysiwyg) :where(li:not([class])) + :where(li:not([class])) {
  margin-top: 8px;
}

:where(.bl_wysiwyg) :where(li:not([class])) > :where(p:not([class])) {
  display: inline;
}

:where(.bl_wysiwyg) :where(a:not([class])),
:where(.bl_wysiwyg) :where(a:not([class])):visited {
  color: inherit;
}

:where(.bl_wysiwyg) :where(a:not([class])):hover {
  text-decoration: none;
}

:where(.bl_wysiwyg) :where(td *:not([class]):first-child) {
  margin-block-start: 0;
}

:where(.bl_wysiwyg) :where(td *:not([class]):last-child) {
  margin-block-end: 0;
}

/**
 * 共通ブロック
 */
.bl_crossTable {
  background-color: #fff;
}

:where(.bl_crossTable) table {
  table-layout: fixed;
  width: 100%;
}

:where(.bl_crossTable) table tr:first-child {
  border-top: 1px solid #ddd;
}

:where(.bl_crossTable) table tr th:first-child,
:where(.bl_crossTable) table tr td:first-child {
  border-left: 1px solid #ddd;
}

:where(.bl_crossTable) table tr:last-child {
  border-bottom: 1px solid #ddd;
}

:where(.bl_crossTable) th {
  padding: 15px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;

  font-weight: var(--fw-bold);
  text-align: left;
  vertical-align: middle;

  background-color: #efefef;
}

:where(.bl_crossTable) td {
  padding: 15px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;

  text-align: left;
  vertical-align: middle;
}

@media (width <= 520px) {
  .bl_crossTable {
    overflow-x: auto;
    border-right-width: 0;
  }

  :where(.bl_crossTable) table {
    width: auto;
    min-width: 100%;
  }

  :where(.bl_crossTable) th,
  :where(.bl_crossTable) td {
    white-space: nowrap;
  }
}

/* blog-csr-post.hubl.htmlで使用しているシンプルなテーブルパターン */
.bl_simpleTableRow {
  table-layout: fixed;
  width: 100%;

  tr {
    border-bottom: 1px solid var(--c-border);
    text-align: left;
  }

  th {
    width: 30%;
    padding-block: 16px;
    font-weight: 500;
    text-align: left;
  }

  td {
    padding-block: 16px;
  }
}

/**
 * リッチテキスト用のアイコン付きリンクスタイル表示用
 */
.is_linkWithIcon {
  display: inline-flex;
  gap: 8px;
  align-items: center;

  &::after {
    content: '';

    display: inline-block;

    width: 20px;
    height: 20px;

    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23333F48'/%3E%3Cpath d='M10.6318 6.16113C10.8466 5.94652 11.1944 5.9464 11.4092 6.16113L15.3281 10.0791L14.9395 10.4688L11.4092 13.998C11.1945 14.2126 10.8466 14.2125 10.6318 13.998C10.4171 13.7833 10.4172 13.4355 10.6318 13.2207L13.248 10.6025H5.5498C5.24605 10.6025 5 10.3565 5 10.0527C5.00013 9.74909 5.24613 9.50293 5.5498 9.50293H13.1953L10.6318 6.93848C10.417 6.72369 10.417 6.37592 10.6318 6.16113Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  /* ファイル形式のアイコン（最優先：target="_blank"でもファイル形式ならファイルアイコン） */
  &[href$='.pdf']::after,
  &[href$='.PDF']::after,
  &[href$='.doc']::after,
  &[href$='.DOC']::after,
  &[href$='.docx']::after,
  &[href$='.DOCX']::after,
  &[href$='.xls']::after,
  &[href$='.XLS']::after,
  &[href$='.xlsx']::after,
  &[href$='.XLSX']::after,
  &[href$='.ppt']::after,
  &[href$='.PPT']::after,
  &[href$='.pptx']::after,
  &[href$='.PPTX']::after {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20Z' fill='%23333F48'/%3E%3Cpath d='M6.615 5.22917H10.9792L13.385 7.73167V14.4375H6.615V5.22917ZM6.615 4.41667C6.18166 4.41667 5.83333 4.77917 5.83333 5.22917V14.4375C5.83333 14.8875 6.1825 15.25 6.615 15.25H13.3858C13.8175 15.25 14.1667 14.8867 14.1667 14.4375V7.57417C14.1674 7.45985 14.1245 7.34955 14.0467 7.26583L11.4217 4.54083C11.3841 4.50128 11.3388 4.4698 11.2887 4.44831C11.2386 4.42682 11.1846 4.41577 11.13 4.41583H6.615V4.41667Z' fill='white'/%3E%3Cpath d='M7.64999 8.88583H12.3375V8.07333H7.64999V8.88583ZM7.64999 10.51H12.3375V9.6975H7.64999V10.51ZM7.64999 12.1358H12.3375V11.3225H7.64999V12.1358Z' fill='white'/%3E%3C/svg%3E");
  }

  /* target="_blank"のアイコン（ファイル形式でない場合のみ） */
  &[target='_blank']:not(
      [href$='.pdf'],
      [href$='.PDF'],
      [href$='.doc'],
      [href$='.DOC'],
      [href$='.docx'],
      [href$='.DOCX'],
      [href$='.xls'],
      [href$='.XLS'],
      [href$='.xlsx'],
      [href$='.XLSX'],
      [href$='.ppt'],
      [href$='.PPT'],
      [href$='.pptx'],
      [href$='.PPTX']
    )::after {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23333F48'/%3E%3Cpath d='M5.39844 6.24365L5.39844 13.5562H6.24219V6.24365H5.39844Z' fill='white'/%3E%3Cpath d='M13.5547 13.5562H6.24219V14.3999H13.5547V13.5562Z' fill='white'/%3E%3Cpath d='M6.24219 13.5562V14.3999C5.77531 14.3999 5.39844 14.023 5.39844 13.5562H6.24219Z' fill='white'/%3E%3Cpath d='M14.3984 6.24365V5.3999H11.0234V6.24365H14.3984Z' fill='white'/%3E%3Cpath d='M14.3984 5.3999H13.5547V8.7749H14.3984V5.3999Z' fill='white'/%3E%3Cpath d='M13.2734 6.5249L9.33594 10.4624' stroke='white' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M13.9766 9.19678C14.2072 9.19678 14.3984 9.00553 14.3984 8.7749H13.5547C13.5547 9.00553 13.7459 9.19678 13.9766 9.19678Z' fill='white'/%3E%3Cpath d='M13.5547 10.4624V13.5562H14.3984V10.4624H13.5547Z' fill='white'/%3E%3Cpath d='M13.5547 13.5562H14.3984C14.3984 14.023 14.0216 14.3999 13.5547 14.3999V13.5562Z' fill='white'/%3E%3Cpath d='M13.9766 10.0405C13.7459 10.0405 13.5547 10.2318 13.5547 10.4624H14.3984C14.3984 10.2318 14.2072 10.0405 13.9766 10.0405Z' fill='white'/%3E%3Cpath d='M10.6016 5.82178C10.6016 6.0524 10.7928 6.24365 11.0234 6.24365V5.3999C10.7928 5.3999 10.6016 5.59115 10.6016 5.82178Z' fill='white'/%3E%3Cpath d='M9.33594 5.3999H6.24219V6.24365H9.33594V5.3999Z' fill='white'/%3E%3Cpath d='M6.24219 6.24365H5.39844C5.39844 5.77678 5.77531 5.3999 6.24219 5.3999V6.24365Z' fill='white'/%3E%3Cpath d='M9.75781 5.82178C9.75781 5.59115 9.56656 5.3999 9.33594 5.3999V6.24365C9.56656 6.24365 9.75781 6.0524 9.75781 5.82178Z' fill='white'/%3E%3C/svg%3E");
  }
}

/* フッター内のSNSアイコンのprimary要素は白に統一 */
.footer .iconPrimary {
  fill: var(--c-white) !important;
  stroke: var(--c-white) !important;
}

/* フッター内のSNSアイコンのaccent/secondary要素はaccent色に */
.footer .iconSecondary {
  fill: var(--c-accent) !important;
  stroke: var(--c-accent) !important;
}

/* ページシェア内のSNSアイコンのprimary要素は黒に統一 */
.elPageShare .iconPrimary {
  fill: #000 !important;
  stroke: #000 !important;
}

/**
 * メディア リッチテキスト用のテーブルスタイル
 */
.media_table table {
  table-layout: fixed;
  width: 100%;

  tr {
    border-bottom: 1px solid var(--c-border);
  }

  tr:last-child {
    border-bottom: unset;
  }

  th {
    width: 30%;
    font-weight: var(--fw-bold);
    text-align: left;
  }

  td {
    padding: 24px 0;

    a {
      display: flex;
      gap: 8px;
      align-items: center;
      text-decoration: none;
    }

    a[target='_blank']::after {
      content: '';

      display: inline-block;
      flex: 0 0 20px;

      width: 20px;
      height: 20px;

      vertical-align: middle;

      background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23333F48'/%3E%3Cpath d='M5.39844 6.24365L5.39844 13.5562H6.24219V6.24365H5.39844Z' fill='white'/%3E%3Cpath d='M13.5547 13.5562H6.24219V14.3999H13.5547V13.5562Z' fill='white'/%3E%3Cpath d='M6.24219 13.5562V14.3999C5.77531 14.3999 5.39844 14.023 5.39844 13.5562H6.24219Z' fill='white'/%3E%3Cpath d='M14.3984 6.24365V5.3999H11.0234V6.24365H14.3984Z' fill='white'/%3E%3Cpath d='M14.3984 5.3999H13.5547V8.7749H14.3984V5.3999Z' fill='white'/%3E%3Cpath d='M13.2734 6.5249L9.33594 10.4624' stroke='white' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M13.9766 9.19678C14.2072 9.19678 14.3984 9.00553 14.3984 8.7749H13.5547C13.5547 9.00553 13.7459 9.19678 13.9766 9.19678Z' fill='white'/%3E%3Cpath d='M13.5547 10.4624V13.5562H14.3984V10.4624H13.5547Z' fill='white'/%3E%3Cpath d='M13.5547 13.5562H14.3984C14.3984 14.023 14.0216 14.3999 13.5547 14.3999V13.5562Z' fill='white'/%3E%3Cpath d='M13.9766 10.0405C13.7459 10.0405 13.5547 10.2318 13.5547 10.4624H14.3984C14.3984 10.2318 14.2072 10.0405 13.9766 10.0405Z' fill='white'/%3E%3Cpath d='M10.6016 5.82178C10.6016 6.0524 10.7928 6.24365 11.0234 6.24365V5.3999C10.7928 5.3999 10.6016 5.59115 10.6016 5.82178Z' fill='white'/%3E%3Cpath d='M9.33594 5.3999H6.24219V6.24365H9.33594V5.3999Z' fill='white'/%3E%3Cpath d='M6.24219 6.24365H5.39844C5.39844 5.77678 5.77531 5.3999 6.24219 5.3999V6.24365Z' fill='white'/%3E%3Cpath d='M9.75781 5.82178C9.75781 5.59115 9.56656 5.3999 9.33594 5.3999V6.24365C9.56656 6.24365 9.75781 6.0524 9.75781 5.82178Z' fill='white'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }

    a:not([target])::after {
      content: '';

      display: inline-block;
      flex: 0 0 20px;

      width: 20px;
      height: 20px;

      vertical-align: middle;

      background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23333F48'/%3E%3Cpath d='M13.2031 8L17.2031 12L13.2031 16' stroke='white' stroke-width='1.2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3Cpath d='M7 11.97H16.2' stroke='white' stroke-width='1.2' stroke-miterlimit='10' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
  }

  td:first-child {
    width: 35%;
  }

  @media (width <= 520px) {
    display: block;

    thead {
      display: none;
    }

    tbody,
    tr,
    td {
      display: block;
    }

    tr {
      padding: 24px 0;
    }

    tr:last-child {
      border-bottom: 1px solid var(--c-border);
    }

    td {
      margin-top: 16px;
      padding: 0;
    }

    td:first-child {
      width: 100%;
      margin-top: 0;
      padding-top: 0;
    }
  }
}

/**
 * HubSpot DnD layout
 * https://github.com/HubSpot/cms-theme-boilerplate/blob/main/src/css/objects/_layout.css
 * 上記を一部修正している（ブレークポイントの値、不要padding-inlineの削除、カラム形成時のmax-widthの設定など）
 */

/* Mobile layout */
.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.row-fluid .span1,
.row-fluid .span2,
.row-fluid .span3,
.row-fluid .span4,
.row-fluid .span5,
.row-fluid .span6,
.row-fluid .span7,
.row-fluid .span8,
.row-fluid .span9,
.row-fluid .span10,
.row-fluid .span11,
.row-fluid .span12 {
  width: 100%;
  min-height: 1px;
}

/* Desktop layout */

@media (width >= 521px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .row-fluid .span1 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 1 - var(--hs-column-gap) *
        (11 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span2 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 2 - var(--hs-column-gap) *
        (10 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span3 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 3 - var(--hs-column-gap) *
        (9 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span4 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 4 - var(--hs-column-gap) *
        (8 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span5 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 5 - var(--hs-column-gap) *
        (7 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span6 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 6 - var(--hs-column-gap) *
        (6 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span7 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 7 - var(--hs-column-gap) *
        (5 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span8 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 8 - var(--hs-column-gap) *
        (4 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span9 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 9 - var(--hs-column-gap) *
        (3 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span10 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 10 - var(--hs-column-gap) *
        (2 * var(--hs-column-width-multiplier) / 100)
    );
  }

  .row-fluid .span11 {
    width: calc(
      var(--hs-column-width-multiplier) * 1% * 11 - var(--hs-column-gap) *
        (1 * var(--hs-column-width-multiplier) / 100)
    );
  }
}

/* カラムを形成する場合は最大幅を設定 */
.row-fluid:has(> .span1),
.row-fluid:has(> .span2),
.row-fluid:has(> .span3),
.row-fluid:has(> .span4),
.row-fluid:has(> .span5),
.row-fluid:has(> .span6),
.row-fluid:has(> .span7),
.row-fluid:has(> .span8),
.row-fluid:has(> .span9),
.row-fluid:has(> .span10),
.row-fluid:has(> .span11) {
  max-width: var(--w-site-content);
  margin-inline: auto;
  padding-inline: var(--w-content-safe-area);
}

/* カラムを形成する場合は左右の余白を削除 */
.row-fluid:has(> .span1) .ly_gridCentered,
.row-fluid:has(> .span2) .ly_gridCentered,
.row-fluid:has(> .span3) .ly_gridCentered,
.row-fluid:has(> .span4) .ly_gridCentered,
.row-fluid:has(> .span5) .ly_gridCentered,
.row-fluid:has(> .span6) .ly_gridCentered,
.row-fluid:has(> .span7) .ly_gridCentered,
.row-fluid:has(> .span8) .ly_gridCentered,
.row-fluid:has(> .span9) .ly_gridCentered,
.row-fluid:has(> .span10) .ly_gridCentered,
.row-fluid:has(> .span11) .ly_gridCentered {
  padding-inline: 0;
}

.content-wrapper {
  margin: 0 auto;
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.scroll-hint-icon {
  z-index: 1;
}

/**
 * ユーティリティクラス
 */
.hp_pt0 {
  padding-top: 0 !important;
}

.hp_pt5 {
  padding-top: 5px !important;
}

.hp_pt10 {
  padding-top: 10px !important;
}

.hp_pt15 {
  padding-top: 15px !important;
}

.hp_pt20 {
  padding-top: 20px !important;
}

.hp_pt25 {
  padding-top: 25px !important;
}

.hp_pt30 {
  padding-top: 30px !important;
}

.hp_pt35 {
  padding-top: 35px !important;
}

.hp_pt40 {
  padding-top: 40px !important;
}

.hp_pt45 {
  padding-top: 45px !important;
}

.hp_pt50 {
  padding-top: 50px !important;
}

.hp_pt55 {
  padding-top: 55px !important;
}

.hp_pt60 {
  padding-top: 60px !important;
}

.hp_pt65 {
  padding-top: 65px !important;
}

.hp_pt70 {
  padding-top: 70px !important;
}

.hp_pt75 {
  padding-top: 75px !important;
}

.hp_pt80 {
  padding-top: 80px !important;
}

.hp_pt85 {
  padding-top: 85px !important;
}

.hp_pt90 {
  padding-top: 90px !important;
}

.hp_pt95 {
  padding-top: 95px !important;
}

.hp_pt100 {
  padding-top: 100px !important;
}

.hp_pb0 {
  padding-bottom: 0 !important;
}

.hp_pb5 {
  padding-bottom: 5px !important;
}

.hp_pb10 {
  padding-bottom: 10px !important;
}

.hp_pb15 {
  padding-bottom: 15px !important;
}

.hp_pb20 {
  padding-bottom: 20px !important;
}

.hp_pb25 {
  padding-bottom: 25px !important;
}

.hp_pb30 {
  padding-bottom: 30px !important;
}

.hp_pb35 {
  padding-bottom: 35px !important;
}

.hp_pb40 {
  padding-bottom: 40px !important;
}

.hp_pb45 {
  padding-bottom: 45px !important;
}

.hp_pb50 {
  padding-bottom: 50px !important;
}

.hp_pb55 {
  padding-bottom: 55px !important;
}

.hp_pb60 {
  padding-bottom: 60px !important;
}

.hp_pb65 {
  padding-bottom: 65px !important;
}

.hp_pb70 {
  padding-bottom: 70px !important;
}

.hp_pb75 {
  padding-bottom: 75px !important;
}

.hp_pb80 {
  padding-bottom: 80px !important;
}

.hp_pb85 {
  padding-bottom: 85px !important;
}

.hp_pb90 {
  padding-bottom: 90px !important;
}

.hp_pb95 {
  padding-bottom: 95px !important;
}

.hp_pb100 {
  padding-bottom: 100px !important;
}

.hp_MT5 {
  margin-top: -5px !important;
}

.hp_MT10 {
  margin-top: -10px !important;
}

.hp_MT15 {
  margin-top: -15px !important;
}

.hp_MT20 {
  margin-top: -20px !important;
}

.hp_MT25 {
  margin-top: -25px !important;
}

.hp_MT30 {
  margin-top: -30px !important;
}

.hp_MT35 {
  margin-top: -35px !important;
}

.hp_MT40 {
  margin-top: -40px !important;
}

.hp_MT45 {
  margin-top: -45px !important;
}

.hp_MT50 {
  margin-top: -50px !important;
}

.hp_MT55 {
  margin-top: -55px !important;
}

.hp_MT60 {
  margin-top: -60px !important;
}

.hp_MT65 {
  margin-top: -65px !important;
}

.hp_MT70 {
  margin-top: -70px !important;
}

.hp_MT75 {
  margin-top: -75px !important;
}

.hp_MT80 {
  margin-top: -80px !important;
}

.hp_MT85 {
  margin-top: -85px !important;
}

.hp_MT90 {
  margin-top: -90px !important;
}

.hp_MT95 {
  margin-top: -95px !important;
}

.hp_MT100 {
  margin-top: -100px !important;
}

.hp_mt0 {
  margin-top: 0 !important;
}

.hp_mt5 {
  margin-top: 5px !important;
}

.hp_mt10 {
  margin-top: 10px !important;
}

.hp_mt15 {
  margin-top: 15px !important;
}

.hp_mt20 {
  margin-top: 20px !important;
}

.hp_mt25 {
  margin-top: 25px !important;
}

.hp_mt30 {
  margin-top: 30px !important;
}

.hp_mt32 {
  margin-top: 32px !important;
}

.hp_mt35 {
  margin-top: 35px !important;
}

.hp_mt40 {
  margin-top: 40px !important;
}

.hp_mt44 {
  margin-top: 44px !important;
}

.hp_mt45 {
  margin-top: 45px !important;
}

.hp_mt50 {
  margin-top: 50px !important;
}

.hp_mt55 {
  margin-top: 55px !important;
}

.hp_mt60 {
  margin-top: 60px !important;
}

.hp_mt64 {
  margin-top: 64px !important;
}

.hp_mt65 {
  margin-top: 65px !important;
}

.hp_mt70 {
  margin-top: 70px !important;
}

.hp_mt75 {
  margin-top: 75px !important;
}

.hp_mt80 {
  margin-top: 80px !important;
}

.hp_mt85 {
  margin-top: 85px !important;
}

.hp_mt90 {
  margin-top: 90px !important;
}

.hp_mt95 {
  margin-top: 95px !important;
}

.hp_mt100 {
  margin-top: 100px !important;
}

.hp_MB5 {
  margin-bottom: -5px !important;
}

.hp_MB10 {
  margin-bottom: -10px !important;
}

.hp_MB15 {
  margin-bottom: -15px !important;
}

.hp_MB20 {
  margin-bottom: -20px !important;
}

.hp_MB25 {
  margin-bottom: -25px !important;
}

.hp_MB30 {
  margin-bottom: -30px !important;
}

.hp_MB35 {
  margin-bottom: -35px !important;
}

.hp_MB40 {
  margin-bottom: -40px !important;
}

.hp_MB45 {
  margin-bottom: -45px !important;
}

.hp_MB50 {
  margin-bottom: -50px !important;
}

.hp_MB55 {
  margin-bottom: -55px !important;
}

.hp_MB60 {
  margin-bottom: -60px !important;
}

.hp_MB65 {
  margin-bottom: -65px !important;
}

.hp_MB70 {
  margin-bottom: -70px !important;
}

.hp_MB75 {
  margin-bottom: -75px !important;
}

.hp_MB80 {
  margin-bottom: -80px !important;
}

.hp_MB85 {
  margin-bottom: -85px !important;
}

.hp_MB90 {
  margin-bottom: -90px !important;
}

.hp_MB95 {
  margin-bottom: -95px !important;
}

.hp_MB100 {
  margin-bottom: -100px !important;
}

.hp_mb0 {
  margin-bottom: 0 !important;
}

.hp_mb5 {
  margin-bottom: 5px !important;
}

.hp_mb10 {
  margin-bottom: 10px !important;
}

.hp_mb15 {
  margin-bottom: 15px !important;
}

.hp_mb20 {
  margin-bottom: 20px !important;
}

.hp_mb25 {
  margin-bottom: 25px !important;
}

.hp_mb30 {
  margin-bottom: 30px !important;
}

.hp_mb35 {
  margin-bottom: 35px !important;
}

.hp_mb40 {
  margin-bottom: 40px !important;
}

.hp_mb45 {
  margin-bottom: 45px !important;
}

.hp_mb50 {
  margin-bottom: 50px !important;
}

.hp_mb55 {
  margin-bottom: 55px !important;
}

.hp_mb60 {
  margin-bottom: 60px !important;
}

.hp_mb65 {
  margin-bottom: 65px !important;
}

.hp_mb70 {
  margin-bottom: 70px !important;
}

.hp_mb75 {
  margin-bottom: 75px !important;
}

.hp_mb80 {
  margin-bottom: 80px !important;
}

.hp_mb85 {
  margin-bottom: 85px !important;
}

.hp_mb90 {
  margin-bottom: 90px !important;
}

.hp_mb95 {
  margin-bottom: 95px !important;
}

.hp_mb100 {
  margin-bottom: 100px !important;
}

.hp_bgcBase {
  background-color: var(--c-base) !important;
}

.hp_bgcWhite {
  background-color: #fff !important;
}

.hp_sectBgImg {
  background-position: top;
}

.hp_fwb {
  font-weight: 700 !important;
}

.hp_tal {
  text-align: left !important;
}

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

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

.hp_serif {
  font-family: serif !important;
}

.sm_only {
  display: none !important;
}

/*
 * 表の1行目固定（JS分離ヘッダー）
 * js/sticky-first-row.js が tr.is_stickyFirstRow を検知し、
 * overflow 箱の外へクローンする。切り戻し時はこのブロックごと削除。
 */
.has_stickyFirstRow {
  overflow-x: visible !important;
  overflow-y: visible !important;
}

.is_stickyFirstRowBar {
  position: sticky;
  z-index: 2;
  top: 0;
  background-color: #ededed;
}

.is_stickyFirstRowHeaderScroll {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.is_stickyFirstRowHeaderScroll::-webkit-scrollbar {
  display: none;
}

tr.is_stickyFirstRowSource {
  visibility: collapse;
}

tr.is_stickyFirstRowSource > th,
tr.is_stickyFirstRowSource > td {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top-width: 0 !important;
  border-bottom-width: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

@media (width <= 520px) {
  .lg_only {
    display: none !important;
  }

  .sm_only {
    display: block !important;
  }

  .sm_pt0 {
    padding-top: 0 !important;
  }

  .sm_pt5 {
    padding-top: 5px !important;
  }

  .sm_pt10 {
    padding-top: 10px !important;
  }

  .sm_pt15 {
    padding-top: 15px !important;
  }

  .sm_pt20 {
    padding-top: 20px !important;
  }

  .sm_pt25 {
    padding-top: 25px !important;
  }

  .sm_pt30 {
    padding-top: 30px !important;
  }

  .sm_pt35 {
    padding-top: 35px !important;
  }

  .sm_pt40 {
    padding-top: 40px !important;
  }

  .sm_pt45 {
    padding-top: 45px !important;
  }

  .sm_pt50 {
    padding-top: 50px !important;
  }

  .sm_pt55 {
    padding-top: 55px !important;
  }

  .sm_pt60 {
    padding-top: 60px !important;
  }

  .sm_pt65 {
    padding-top: 65px !important;
  }

  .sm_pt70 {
    padding-top: 70px !important;
  }

  .sm_pt75 {
    padding-top: 75px !important;
  }

  .sm_pt80 {
    padding-top: 80px !important;
  }

  .sm_pt85 {
    padding-top: 85px !important;
  }

  .sm_pt90 {
    padding-top: 90px !important;
  }

  .sm_pt95 {
    padding-top: 95px !important;
  }

  .sm_pt100 {
    padding-top: 100px !important;
  }

  .sm_pb0 {
    padding-bottom: 0 !important;
  }

  .sm_pb5 {
    padding-bottom: 5px !important;
  }

  .sm_pb10 {
    padding-bottom: 10px !important;
  }

  .sm_pb15 {
    padding-bottom: 15px !important;
  }

  .sm_pb20 {
    padding-bottom: 20px !important;
  }

  .sm_pb25 {
    padding-bottom: 25px !important;
  }

  .sm_pb30 {
    padding-bottom: 30px !important;
  }

  .sm_pb35 {
    padding-bottom: 35px !important;
  }

  .sm_pb40 {
    padding-bottom: 40px !important;
  }

  .sm_pb45 {
    padding-bottom: 45px !important;
  }

  .sm_pb50 {
    padding-bottom: 50px !important;
  }

  .sm_pb55 {
    padding-bottom: 55px !important;
  }

  .sm_pb60 {
    padding-bottom: 60px !important;
  }

  .sm_pb65 {
    padding-bottom: 65px !important;
  }

  .sm_pb70 {
    padding-bottom: 70px !important;
  }

  .sm_pb75 {
    padding-bottom: 75px !important;
  }

  .sm_pb80 {
    padding-bottom: 80px !important;
  }

  .sm_pb85 {
    padding-bottom: 85px !important;
  }

  .sm_pb90 {
    padding-bottom: 90px !important;
  }

  .sm_pb95 {
    padding-bottom: 95px !important;
  }

  .sm_pb100 {
    padding-bottom: 100px !important;
  }

  .sm_mt0 {
    margin-top: 0 !important;
  }

  .sm_mt5 {
    margin-top: 5px !important;
  }

  .sm_mt10 {
    margin-top: 10px !important;
  }

  .sm_mt15 {
    margin-top: 15px !important;
  }

  .sm_mt20 {
    margin-top: 20px !important;
  }

  .sm_mt25 {
    margin-top: 25px !important;
  }

  .sm_mt28 {
    margin-top: 28px !important;
  }

  .sm_mt30 {
    margin-top: 30px !important;
  }

  .sm_mt32 {
    margin-top: 32px !important;
  }

  .sm_mt35 {
    margin-top: 35px !important;
  }

  .sm_mt40 {
    margin-top: 40px !important;
  }

  .sm_mt45 {
    margin-top: 45px !important;
  }

  .sm_mt48 {
    margin-top: 48px !important;
  }

  .sm_mt50 {
    margin-top: 50px !important;
  }

  .sm_mt55 {
    margin-top: 55px !important;
  }

  .sm_mt60 {
    margin-top: 60px !important;
  }

  .sm_mt65 {
    margin-top: 65px !important;
  }

  .sm_mt70 {
    margin-top: 70px !important;
  }

  .sm_mt75 {
    margin-top: 75px !important;
  }

  .sm_mt80 {
    margin-top: 80px !important;
  }

  .sm_mt84 {
    margin-top: 84px !important;
  }

  .sm_mt85 {
    margin-top: 85px !important;
  }

  .sm_mt90 {
    margin-top: 90px !important;
  }

  .sm_mt95 {
    margin-top: 95px !important;
  }

  .sm_mt100 {
    margin-top: 100px !important;
  }

  .sm_MT5 {
    margin-top: -5px !important;
  }

  .sm_MT10 {
    margin-top: -10px !important;
  }

  .sm_MT15 {
    margin-top: -15px !important;
  }

  .sm_MT20 {
    margin-top: -20px !important;
  }

  .sm_MT25 {
    margin-top: -25px !important;
  }

  .sm_MT28 {
    margin-top: -28px !important;
  }

  .sm_MT30 {
    margin-top: -30px !important;
  }

  .sm_MT32 {
    margin-top: -32px !important;
  }

  .sm_MT35 {
    margin-top: -35px !important;
  }

  .sm_MT40 {
    margin-top: -40px !important;
  }

  .sm_MT45 {
    margin-top: -45px !important;
  }

  .sm_MT48 {
    margin-top: -48px !important;
  }

  .sm_MT50 {
    margin-top: -50px !important;
  }

  .sm_MT55 {
    margin-top: -55px !important;
  }

  .sm_MT60 {
    margin-top: -60px !important;
  }

  .sm_MT65 {
    margin-top: -65px !important;
  }

  .sm_MT70 {
    margin-top: -70px !important;
  }

  .sm_MT75 {
    margin-top: -75px !important;
  }

  .sm_MT80 {
    margin-top: -80px !important;
  }

  .sm_MT84 {
    margin-top: -84px !important;
  }

  .sm_MT85 {
    margin-top: -85px !important;
  }

  .sm_MT90 {
    margin-top: -90px !important;
  }

  .sm_MT95 {
    margin-top: -95px !important;
  }

  .sm_MT100 {
    margin-top: -100px !important;
  }
}
