@import 'https://fonts.googleapis.com/css?family=Noto+Sans+JP:regular,700&display=swap';
@import 'https://fonts.googleapis.com/css?family=M+PLUS+1p:regular,700&display=swap';
@import 'https://fonts.googleapis.com/css?family=Montserrat:regular,700,italic,700italic&display=swap';
#imPage { display: grid; grid-template-columns: minmax(0, 1fr) 1280px minmax(0, 1fr); grid-template-rows: 120px auto 380px; }
#imHeader { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
#imFooter { display: block; grid-column: 2 / 3; grid-row: 3 / 4; }
#imSideBar { display: none; }
#imContent { display: block; grid-column: 1 / 4; grid-row: 2 / 3; }
#imContentGraphics { display: block; grid-column: 2 / 3; grid-row: 2 / 3; }
@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imPage { display: grid; grid-template-columns: minmax(0, 1fr) 960px minmax(0, 1fr); grid-template-rows: 120px auto 380px; }
	#imHeader { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imFooter { display: block; grid-column: 2 / 3; grid-row: 3 / 4; }
	#imSideBar { display: none; }
	#imContent { display: block; grid-column: 1 / 4; grid-row: 2 / 3; }
	#imContentGraphics { display: block; grid-column: 2 / 3; grid-row: 2 / 3; }
	
}
@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imPage { display: grid; grid-template-columns: minmax(0, 1fr) 768px minmax(0, 1fr); grid-template-rows: 100px auto 820px; }
	#imHeader { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imFooter { display: block; grid-column: 2 / 3; grid-row: 3 / 4; }
	#imSideBar { display: none; }
	#imContent { display: block; grid-column: 1 / 4; grid-row: 2 / 3; }
	#imContentGraphics { display: block; grid-column: 2 / 3; grid-row: 2 / 3; }
	
}
@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imPage { display: grid; grid-template-columns: minmax(0, 1fr) 428px minmax(0, 1fr); grid-template-rows: 100px auto 820px; }
	#imHeader { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imFooter { display: block; grid-column: 2 / 3; grid-row: 3 / 4; }
	#imSideBar { display: none; }
	#imContent { display: block; grid-column: 1 / 4; grid-row: 2 / 3; }
	#imContentGraphics { display: block; grid-column: 2 / 3; grid-row: 2 / 3; }
	
}
@media (max-width: 427.9px)  {
	#imPage { display: grid; grid-template-columns: 0 minmax(0, 1fr) 0; grid-template-rows: 100px auto 820px; }
	#imHeader { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imFooter { display: block; grid-column: 2 / 3; grid-row: 3 / 4; }
	#imSideBar { display: none; }
	#imContent { display: block; grid-column: 1 / 4; grid-row: 2 / 3; }
	#imContentGraphics { display: block; grid-column: 2 / 3; grid-row: 2 / 3; }
	
}
#imContent { display: grid; grid-template-columns: minmax(0, 1fr) 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px 53.333px minmax(0, 1fr); grid-template-rows: auto auto auto; }
#imContent > header { display: block; grid-column: 2 / 26; grid-row: 1 / 2; }
#imGoToCont { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
#imCell_9 { display: grid; grid-column: 2 / 26; grid-row: 2 / 3; }
#imCell_11 { display: grid; grid-column: 2 / 26; grid-row: 3 / 4; }
#imPageRow_1 { display: block; grid-column: 2 / 26; grid-row: 2 / 3; }
#imPageRow_2 { display: block; grid-column: 2 / 26; grid-row: 3 / 4; }
@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imContent { display: grid; grid-template-columns: minmax(0, 1fr) 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px minmax(0, 1fr); grid-template-rows: auto auto auto; }
	#imContent > header { display: block; grid-column: 2 / 26; grid-row: 1 / 2; }
	#imGoToCont { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imCell_9 { display: grid; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imCell_11 { display: grid; grid-column: 2 / 26; grid-row: 3 / 4; }
	#imPageRow_1 { display: block; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imPageRow_2 { display: block; grid-column: 2 / 26; grid-row: 3 / 4; }
	
}
@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imContent { display: grid; grid-template-columns: minmax(0, 1fr) 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px 32px minmax(0, 1fr); grid-template-rows: auto auto auto; }
	#imContent > header { display: block; grid-column: 2 / 26; grid-row: 1 / 2; }
	#imGoToCont { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imCell_9 { display: grid; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imCell_11 { display: grid; grid-column: 2 / 26; grid-row: 3 / 4; }
	#imPageRow_1 { display: block; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imPageRow_2 { display: block; grid-column: 2 / 26; grid-row: 3 / 4; }
	
}
@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imContent { display: grid; grid-template-columns: minmax(0, 1fr) 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px 17.833px minmax(0, 1fr); grid-template-rows: auto auto auto; }
	#imContent > header { display: block; grid-column: 2 / 26; grid-row: 1 / 2; }
	#imGoToCont { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imCell_9 { display: grid; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imCell_11 { display: grid; grid-column: 2 / 26; grid-row: 3 / 4; }
	#imPageRow_1 { display: block; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imPageRow_2 { display: block; grid-column: 2 / 26; grid-row: 3 / 4; }
	
}
@media (max-width: 427.9px)  {
	#imContent { display: grid; grid-template-columns: 0 minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 0; grid-template-rows: auto auto auto; }
	#imContent > header { display: block; grid-column: 2 / 26; grid-row: 1 / 2; }
	#imGoToCont { display: block; grid-column: 2 / 3; grid-row: 1 / 2; }
	#imCell_9 { display: grid; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imCell_11 { display: grid; grid-column: 2 / 26; grid-row: 3 / 4; }
	#imPageRow_1 { display: block; grid-column: 2 / 26; grid-row: 2 / 3; }
	#imPageRow_2 { display: block; grid-column: 2 / 26; grid-row: 3 / 4; }
	
}
#imHeader_imCell_2 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imHeader_imHTMLObject_02 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imHeader_imCellStyleGraphics_2 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imHeader_imCellStyleBorders_2 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

.header-logo {
  display: flex;
  align-items: center;     /* 縦中央 */
  justify-content: center; /* 横中央 */
  height: 80px; /* ヘッダーの高さ */
  color-scheme: light;   /* ← これがポイント */
}

.header-logo img {
  width: 100%;        /* 親要素幅に合わせて可変 */
  max-width: 250px;   /* ただし最大250pxまで */
  height: auto;       /* アスペクト比維持 */
  filter: none !important;
}

/* 反転ルールの当て先を data-theme に合わせる */
html[data-theme="dark"] .header-logo img{
  filter: invert(1) hue-rotate(180deg) !important;
}

/* （任意）手動ヒント data-bg=dark を直接尊重したい場合の保険 */
html[data-bg="dark"] .header-logo img,
body[data-bg="dark"] .header-logo img{
  filter: invert(1) hue-rotate(180deg) !important;
}
#imHeader_imCell_4 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imHeader_imHTMLObject_04 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imHeader_imCellStyleGraphics_4 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imHeader_imCellStyleBorders_4 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* =========================================================
   TOKENS（ここだけ触れば全体調整できます）
   ========================================================= */
:root{
  /* 色 */
  --ink:#111;
  --muted:#666;
  --line:#e5e7eb;

  /* 角丸・影・ぼかし */
  --radius:16px;
  --blur:3px;

  /* レイアウト寸法 */
  --header-h: 120px;   /* ← 追加：ヘッダー高さ */
  --panel-width:min(800px, 86vw);
  --panel-top: calc(var(--header-h) + 100px);
  --space-panel:28px;      /* パネル内余白 */
  --space-block:28px;      /* ブロック間余白 */
  --space-card-gap:14px;   /* カード同士の間隔 */

  /* アイコンサイズ/色 */
  --chev-size-card:20px;   /* カード用（ストローク） */
  --chev-size-text:18px;   /* テキスト用（塗り） */
  --chev-rest:#9aa0a6;     /* 通常時のアイコン色 */

  /* レイヤー */
  --z-overlay: 100000; /* 9998 → 100000 */
  --z-panel:   100001; /* 9999 → 100001 */
  
  /* ヘッダーの余白 */
  --nav-gap: 56px;      /* 項目どうしの間隔（横） */
  --nav-x-pad: 12px;    /* クリック領域の左右パディング */
  --nav-y-pad: 8px;     /* クリック領域の上下パディング */
  --nav-item-min: 40px; /* 最低タップ高（指でも押しやすく） */
  
}

/* =========================================================
   Base
   ========================================================= */
*{box-sizing:border-box}
ul{list-style:none;margin:0;padding:0}
a{color:var(--ink);text-decoration:none}
.site-header{padding:12px 24px; font-size:16px;}
.header-nav ul{display:flex;gap:40px;align-items:center;}
.menu-btn{border:none;background:none;font:inherit;cursor:pointer}

/* 事業内容ボタン：閉=＋ / 開=－（全角） */
.menu-btn::after{ content:"＋"; margin-left:.35em; }
.menu-btn[aria-expanded="true"]::after{ content:"－"; }

.site-header{
  position: relative;               /* 既に fixed/sticky なら不要 */
  z-index: calc(var(--z-overlay) + 2);
}

/* ========== Header Nav Interactions ========== */
/* 項目どうしの“見た目の間隔”を広げる */
.header-nav ul{
  display:flex;
  gap: var(--nav-gap);
  align-items:center;
}

/* 各項目の“クリック領域”を広げる（見た目はそのまま） */
.header-nav a,
.header-nav .menu-btn{
  padding: var(--nav-y-pad) var(--nav-x-pad);
  min-height: var(--nav-item-min);
  display:inline-flex;
  align-items:center;
}

/* まとめてベース */
.header-nav a,
.header-nav .menu-btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .35em;
  padding: 8px 0;
  color: var(--ink);
  text-decoration: none;
  transition: color .16s ease, transform .16s ease;
}

/* 下線アニメ：リンク（a）は ::after を使用 */
.header-nav a::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  opacity: .7;
  transition: transform .18s ease;
}

/* 下線アニメ：ボタン（menu-btn）は ::before（::afterは＋/－用） */
.header-nav .menu-btn::before{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  opacity: .7;
  transition: transform .18s ease;
}

/* hover / focus-visible */
.header-nav a:hover,
.header-nav a:focus-visible,
.header-nav .menu-btn:hover,
.header-nav .menu-btn:focus-visible{
  color: #0DB985;
  transform: translateY(-1px);
}
.header-nav a:hover::after,
.header-nav a:focus-visible::after{ transform: scaleX(1); }
.header-nav .menu-btn:hover::before,
.header-nav .menu-btn:focus-visible::before{ transform: scaleX(1); }

/* “開いている間”は常に強調（menu-btnの＋/－と連動） */
.header-nav .menu-btn[aria-expanded="true"]{
  color: #0DB985;
}
.header-nav .menu-btn[aria-expanded="true"]::before{
  transform: scaleX(1);
}

/* キーボード操作の視認性 */
.header-nav a:focus-visible,
.header-nav .menu-btn:focus-visible{
  outline: 2px solid #0DB985;
  outline-offset: 2px;
}

/* 低モーション設定の端末向け */
@media (prefers-reduced-motion: reduce){
  .header-nav a,
  .header-nav .menu-btn{ transition: none }
  .header-nav a::after,
  .header-nav .menu-btn::before{ transition: none }
}


/* =========================================================
   Overlay（背景ぼかし・外側クリックで閉じる）
   ========================================================= */
.menu-overlay{
  position: fixed;
  top: calc(var(--header-h) + 20px); /* ヘッダー高さ分下げる */
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(17,17,17,.10);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  z-index: var(--z-overlay);
}

/* =========================================================
   Panel（白ウィンドウ）
   ========================================================= */
.mega-panel{
  position:fixed; left:50%; transform:translateX(-50%);
  top:var(--panel-top);
  width:var(--panel-width);
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 22px 40px rgba(0,0,0,.18);
  padding:var(--space-panel);
  z-index:var(--z-panel);
}

.site-footer{
  position: relative;
  z-index: auto !important;
  transform: none !important;      /* もし transform が付いていたら外す */
}

/* ×ボタン（右上） */
.panel-close{
  position:absolute; top:10px; right:10px;
  width:38px; height:38px; display:grid; place-items:center;
  border:none; background:#fff; color:#888; border-radius:8px; cursor:pointer;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.panel-close:hover,
.panel-close:focus-visible{
  color:#0DB985; transform:scale(1.06);
}
.panel-close:focus-visible{ outline:2px solid #0DB985; outline-offset:2px }

/* =========================================================
   Blocks
   ========================================================= */
.mega-stack{ display:flex; flex-direction:column; gap:var(--space-block); }
.menu-block-title{
  margin:0 0 12px; font-size:15px; font-weight:700; color:var(--muted); text-align:left;
}

/* =========================================================
   Card Links（右端に矢印）
   ========================================================= */
.card-links{ display:grid; gap:var(--space-card-gap); }
.card-links.two{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--space-card-gap); }


.card-link{
  position:relative; display:block; text-align:left;
  padding:16px 52px 16px 16px;                     /* 右にアイコン分の余白 */
  background:#fff;
  border:1px solid transparent; border-radius:12px;/* 初期から2pxにしてレイアウトズレ防止 */
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.card-link .label{ font-size:16px; color:var(--ink); opacity:.95; }
.card-link .arrow{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; color:var(--chev-rest);
  transition:transform .16s ease, color .16s ease;
}
.card-link .arrow .chev{
  width:var(--chev-size-card); height:var(--chev-size-card);
  color:inherit; opacity:.95;
  transition:transform .16s ease, color .16s ease, opacity .16s ease;
}
.card-link:hover,
.card-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(0,0,0,.12);
  border-color:#0DB985;
}
.card-link:hover .arrow,
.card-link:focus-visible .arrow{
  color:#0DB985; transform:translateY(-50%) translateX(4px);
}
.card-link:hover .arrow .chev,
.card-link:focus-visible .arrow .chev{
  color:#0DB985; transform:translateX(4px); opacity:1;
}
.card-link:focus-visible{ color:#0DB985; outline-offset:2px }

/* =========================================================
   Text Links（末尾にアイコン）
   ========================================================= */
.text-links{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px; text-align:left; margin-left:10px; font-size:15px; /* ご指定を残しています */
}

.text-links a{
  display:flex; align-items:center; gap:.5em; width:100%;
  padding:5px 2px; font-size:15px;
  text-decoration:none;
  color:var(--ink); opacity:.95;
  transition:transform .16s ease, color .16s ease;
}
.text-links a .chev{
  margin-left:10px;
  width:var(--chev-size-text); height:var(--chev-size-text);
  color:var(--ink); opacity:.95;
  transition:transform .16s ease, color .16s ease, opacity .16s ease;
}
.text-links a:hover,
.text-links a:focus-visible{
  transform:translateX(3px);
  color:#0DB985;
  font-weight:700;
}
.text-links a:hover .chev,
.text-links a:focus-visible .chev{
  color:#0DB985; transform:translateX(3px); opacity:1;
}

/* 動き控えめ設定 */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important }
}


.popup-open { overflow: hidden; touch-action: none; }#imHeader_imCell_5 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imHeader_imHTMLObject_05 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imHeader_imCellStyleGraphics_5 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imHeader_imCellStyleBorders_5 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* ===============================
   グローバルトークン（ヘッダー共通）
=============================== */
:root{
  --header-h: 100px;                           /* ヘッダー高さ */
  --pad-x: clamp(40px, 9.3vw, 60px);           /* 右端余白（トグル位置） */
  --toggle-size: clamp(45px, 10.5vw, 50px);    /* トグル外径 */
  --toggle-icon: calc(0.6 * var(--toggle-size)); /* bars/× のSVGサイズ */
}

/* ===============================
   モジュール内トークン
=============================== */
.sp-fullmenu{
  --text-on-panel:#fff;
  --title-color:#b0ebd8;

  --pad-y:16px;
  --row-py:14px;
  --section-gap:22px;

  --chev-size-text:18px;
  --chev-end-gap:0px;
  --acc-sign-size: var(--chev-size-text);
  --acc-sign-color:#b0ebd8;

  --row-underline: rgba(255,255,255,.28);
  --row-underline-hover: #b0ebd8;
  --bullet-y:1.5em;
}

/* =========================================
   スマホ（～960px）向け表示
========================================= */

/* ヘッダー構造 */
.site-header{
  display:flex;
  align-items:center;
  position:relative;
  overflow:visible;
  height: var(--header-h);
  position:sticky;
  top:0;
  z-index:100002; /* メニューより上 */
}

/* ハンバーガー（右寄せ・縦中央） */
.sp-toggle{
  position:absolute;
  right:var(--pad-x);
  width: var(--toggle-size);
  height: var(--toggle-size);
  aspect-ratio:1/1;
  border-radius:50%;
  padding:0;
  display:grid;
  place-items:center;
  background:#0DB985;
  color:#fff;
  cursor:pointer;
  border:none;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  z-index:10;
}

/* アイコン切替 */
.sp-toggle .icon-x{display:none;}
.sp-toggle[aria-expanded="true"] .icon-bars{display:none;}
.sp-toggle[aria-expanded="true"] .icon-x{display:block;}
.sp-toggle svg{
  width: var(--toggle-icon);
  height: var(--toggle-icon);
  display:block;
  pointer-events:none;
}

/* オーバーレイ */
.sp-fullmenu .sp-overlay{
  position:fixed;
  inset: var(--header-h) 0 0 0;
  z-index:100000;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* パネル */
.sp-fullmenu .sp-panel{
  position:fixed;
  inset:0;
  top: var(--header-h);
  z-index:100001;
  background:#0DB985;
  padding: var(--pad-y) var(--pad-x) max(var(--pad-y), env(safe-area-inset-bottom));
  overflow:auto;
}

/* リスト構成 */
.sp-fullmenu .sp-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}

/* セクション見出し */
.sp-fullmenu .sp-title{
  margin: var(--section-gap) 0 6px;
  font:700 15px/1.2 "Noto Sans JP", sans-serif;
  color:var(--title-color);
  text-align:left;
}

/* リンク行 */
.sp-fullmenu .sp-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  padding:0;
  color:var(--text-on-panel);
  text-decoration:none;
  transition:transform .16s ease,color .16s ease;
}

.sp-fullmenu .sp-txt{
  display:inline-block;
  padding: var(--row-py) 0;
  border-radius:12px;
  transition:color .16s ease;
}

/* hover/focus */
.sp-fullmenu .sp-row:hover .sp-txt,
.sp-fullmenu .sp-row:focus-visible .sp-txt{
  color:#b0ebd8;
}
.sp-fullmenu .sp-row:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}

/* 行末アイコン（JSで追加） */
.sp-fullmenu .sp-row .chev{
  margin-left:auto;
  margin-right: var(--chev-end-gap);
  width: var(--chev-size-text);
  height: var(--chev-size-text);
  color:var(--text-on-panel);
  opacity:.95;
  transition:transform .16s ease,color .16s ease,opacity .16s ease;
}
.sp-fullmenu .sp-row:hover .chev,
.sp-fullmenu .sp-row:focus-visible .chev{
  color:#b0ebd8;
  transform:translateX(3px);
  opacity:1;
}

/* アンダーライン */
.sp-fullmenu .sp-list > .sp-row{
  border-bottom:1px solid var(--row-underline);
}
.sp-fullmenu .sp-list > .sp-row:hover,
.sp-fullmenu .sp-list > .sp-row:focus-visible{
  border-bottom-color:var(--row-underline-hover);
}

/* アコーディオン */
.sp-fullmenu .sp-acc{
  margin-top:var(--section-gap);
  margin-bottom:var(--section-gap);
}
.sp-fullmenu .sp-acc summary::-webkit-details-marker{display:none;}
.sp-fullmenu .sp-acc > summary{
  display:flex;
  align-items:center;
  width:100%;
  padding:6px 0;
  list-style:none;
  cursor:pointer;
  font:700 15px/1.2 "Noto Sans JP", sans-serif;
  color:var(--text-on-panel);
  text-align:left;
}
.sp-fullmenu .sp-acc[open] > summary{color:var(--acc-sign-color);}
.sp-fullmenu .sp-acc > summary .acc-sign{
  margin-left:auto;
  margin-right: var(--chev-end-gap);
  width: var(--acc-sign-size);
  height: var(--acc-sign-size);
  color:currentColor;
  opacity:.95;
  pointer-events:none;
  transition:transform .16s ease,color .16s ease,opacity .16s ease;
}
.sp-fullmenu .sp-acc > summary:hover,
.sp-fullmenu .sp-acc > summary:focus-visible{color:var(--acc-sign-color);}
.sp-fullmenu .sp-acc > summary:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
.sp-fullmenu .sp-acc .sp-row .chev{display:none;}

/* 箇条書き */
.sp-fullmenu .sp-bullets{
  list-style:none;
  margin:6px 0 0 0;
  padding:0;
  width:100%;
}
.sp-fullmenu .sp-bullets li{
  position:relative;
  padding-left:14px;
  margin-left:10px;
}
.sp-fullmenu .sp-bullets li::before{
  content:"-";
  position:absolute;
  left:0;
  top:var(--bullet-y);
  transform:translateY(-50%);
  color:#b0ebd8;
}

/* 動作軽減設定 */
@media (prefers-reduced-motion: reduce){
  .sp-fullmenu *{transition:none!important;}
}

/* Website X5のヘッダー切れ防止 */
#imHeader_imHTMLObject_05_wrapper,
#imHeader_imHTMLObject_05{
  overflow:visible!important;
}
#imFooter_imCell_1 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imFooter_imTextObject_01 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imFooter_imCellStyleGraphics_1 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imFooter_imCellStyleBorders_1 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

#imFooter_imTextObject_01 { width: 100%; }
#imFooter_imTextObject_01 { font-style: normal; font-weight: normal; line-height: 24px; }
#imFooter_imTextObject_01_tab0 div { line-height: 24px; }
#imFooter_imTextObject_01_tab0 .imHeading1 { line-height: 72px; }
#imFooter_imTextObject_01_tab0 .imHeading2 { line-height: 56px; }
#imFooter_imTextObject_01_tab0 .imHeading3 { line-height: 48px; }
#imFooter_imTextObject_01_tab0 .imHeading4 { line-height: 72px; }
#imFooter_imTextObject_01_tab0 .imHeading5 { line-height: 56px; }
#imFooter_imTextObject_01_tab0 .imHeading6 { line-height: 48px; }
#imFooter_imTextObject_01_tab0 ul { list-style: disc; margin: 0; padding: 0; overflow: hidden; }
#imFooter_imTextObject_01_tab0 ul ul { list-style: square; padding-block: 0px; padding-inline: 20px 0px; }
#imFooter_imTextObject_01_tab0 ul ul ul { list-style: circle; }
#imFooter_imTextObject_01_tab0 ul li, ol li { margin-block: 0px; margin-inline: 40px 0px; padding: 0px; }
#imFooter_imTextObject_01_tab0 ol { list-style: decimal; margin: 0; padding: 0; }
#imFooter_imTextObject_01_tab0 ol ol { list-style: lower-alpha; padding-block: 0px; padding-inline: 20px 0px; }
#imFooter_imTextObject_01_tab0 blockquote { margin-block: 0px; margin-inline: 15px 0px; padding: 0; border: none; }
#imFooter_imTextObject_01_tab0 table { border: none; padding: 0; border-collapse: collapse; }
#imFooter_imTextObject_01_tab0 table td { border: 1px solid black; word-wrap: break-word; padding: 4px 3px; margin: 0; vertical-align: middle; }
#imFooter_imTextObject_01_tab0 p { margin: 0; padding: 0; }
#imFooter_imTextObject_01_tab0 .inline-block { display: inline-block; }
#imFooter_imTextObject_01_tab0 sup { vertical-align: super; font-size: smaller; }
#imFooter_imTextObject_01_tab0 sub { vertical-align: sub; font-size: smaller; }
#imFooter_imTextObject_01_tab0 img { border: none; margin: 0; vertical-align: text-bottom;}
#imFooter_imTextObject_01_tab0 .fleft { float: left; float: inline-start; vertical-align: baseline;}
#imFooter_imTextObject_01_tab0 .fright { float: right; float: inline-end; vertical-align: baseline;}
#imFooter_imTextObject_01_tab0 img.fleft { margin-inline-end: 15px; }
#imFooter_imTextObject_01_tab0 img.fright { margin-inline-start: 15px; }
#imFooter_imTextObject_01_tab0 .imTALeft { text-align: start; }
#imFooter_imTextObject_01_tab0 .imTARight { text-align: end; }
#imFooter_imTextObject_01_tab0 .imTACenter { text-align: center; }
#imFooter_imTextObject_01_tab0 .imTAJustify { text-align: justify; }
#imFooter_imTextObject_01_tab0 .imUl { text-decoration: underline; }
#imFooter_imTextObject_01_tab0 .imStrike { text-decoration: line-through; }
#imFooter_imTextObject_01_tab0 .imUlStrike { text-decoration: underline line-through; }
#imFooter_imTextObject_01_tab0 .imVt { vertical-align: top; }
#imFooter_imTextObject_01_tab0 .imVc { vertical-align: middle; }
#imFooter_imTextObject_01_tab0 .imVb { vertical-align: bottom; }
#imFooter_imTextObject_01_tab0 hr { border: solid; border-block-width: 1px 0px; border-inline-width: 0px; }
#imFooter_imTextObject_01_tab0 .fs16lh1-5 { vertical-align: baseline; font-size: 16pt; line-height: 32px; }
#imFooter_imTextObject_01_tab0 .ff1 { font-family: 'M PLUS 1p'; }
#imFooter_imTextObject_01_tab0 .mt1 { margin-top: 13px; }
#imFooter_imTextObject_01 .text-container {width: 100%;}#imFooter_imTextObject_01 .text-container {margin: 0 auto; position: relative;overflow: hidden; display: grid; grid-template-rows: 1fr; grid-template-columns: 1fr; background-color: rgba(255, 255, 255, 1); border-style: solid;border-color: rgba(169, 169, 169, 1); }
#imFooter_imTextObject_01 .text-container .grid-prop.current-tab {z-index: 1; opacity: 1;  }
#imFooter_imTextObject_01 .text-container .grid-prop {grid-area: 1 / 1 / 2 / 2; opacity: 0; box-sizing: border-box; position: relative;  }
#imFooter_imTextObject_01 .text-container .text-tab-content.detach {position: absolute; top: 0; inset-inline-start: 0px; width: 100%; display: none; }
#imFooter_imCell_27 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imFooter_imHTMLObject_27 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imFooter_imCellStyleGraphics_27 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imFooter_imCellStyleBorders_27 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

.back-to-top {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  font-size: clamp(14px, 3.5vw, 16px);
  text-decoration: none;
  color: #000000;
  display: inline-block;
  margin-top: 0px;
}

.back-to-top:hover {
  color: #434343;
}
#imFooter_imCell_28 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imFooter_imHTMLObject_28 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imFooter_imCellStyleGraphics_28 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imFooter_imCellStyleBorders_28 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

.page-top{
  position:fixed; right:max(24px, calc((100vw - 1280px)/2 - 56px)); bottom:40px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:#111; background:none; border:0; cursor:pointer;
  opacity:0; visibility:hidden; transition:opacity .25s;
  z-index:999;
}
.page-top.is-active{opacity:1; visibility:visible;}

.page-top-chevron-up{
  width:14px; height:14px; box-sizing:border-box;
  border-top:3px solid currentColor; border-right:3px solid currentColor;
  transform:rotate(-45deg); /* ↗ を ↑に見せる */
  transition:transform .25s ease, opacity .25s ease;
}
.page-top-label{
  writing-mode:vertical-rl; text-orientation:mixed;
  font:600 12px/1 "Montserrat", system-ui, sans-serif;
  letter-spacing:1px; transition:opacity .25s ease, transform .25s ease, letter-spacing .25s ease;
}

/* アニメを控えたい人に配慮 */
@media (prefers-reduced-motion: reduce){
  .page-top, .page-top-chevron-up, .page-top-label{transition:none}
}


/* アニメーション部分 */
/* 共通トランジション */
.page-top{
  transition: transform .25s ease, color .25s ease, opacity .25s ease;
}

/* PC: hoverのみ */
@media (hover: hover) and (pointer: fine){
  .page-top:hover{
    transform: translateY(-2px);
    color: #9be9d2;
  }
  .page-top:hover .page-top-label{
    letter-spacing: 2px; opacity: .9;
  }
}

/* モバイル: .pressed で演出 */
.page-top.pressed{
  transform: translateY(-2px);
  color: #9be9d2;
}
.page-top.pressed .page-top-label{
  letter-spacing: 2px;
  opacity: .9;
}

/* タッチの快適さ */
.page-top{
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


/* 子要素は位置を動かさない */
.page-top-chevron-up{
  transform: rotate(-45deg);
  transition: opacity .25s ease; /* 好みで */
}


/* レスポンシブ */
@media (max-width: 960px) {
  .page-top {
    right: 12px;
    bottom: 80px;
  }
}

@media (max-width: 768px) {
  .page-top {
    right: 12px;
    bottom: 80px;
  }
  .page-top span { font-size: 11px; }
  .page-top-chevron-up { width: 12px; height: 12px; }
}
#imFooter_imCell_29 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imFooter_imHTMLObject_29 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imFooter_imCellStyleGraphics_29 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imFooter_imCellStyleBorders_29 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* =========================================================
   Footer (refactor)
   - 最小限の重複 / 一貫したトークン / 役割別ブロック
   ========================================================= */

/* ===== Tokens（必要ならここだけ触れば全体が揃います） ===== */
.site-footer{
  --footer-bg: #0DB985;      /* ブランドカラー */
  --footer-fg: #fff;
  --gap-lg: 40px;            /* 上段と下段の区切りなど */
  --gap-col: clamp(50px, 11.6vw, 75px);
  --gap-col-support: clamp(40px, 9.3vw, 65px);
  --pad-x: 20px;
  --pad-t: 40px;
  --pad-b: 20px;
  --title-muted: .8;         /* h4の薄さ */
  --link-hover: .85;         /* hover時の不透明度 */
}

/* ===== 全体 ===== */
.site-footer{
  background: var(--footer-bg);
  color: var(--footer-fg);
  padding: var(--pad-t) var(--pad-x) var(--pad-b);
}

/* ===== 上段：ロゴ＋スローガン／リンク ===== */
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:40px;
  margin-bottom: var(--gap-lg);
}

/* 左：ロゴ＋スローガン */
.footer-brand{
  flex:1 1 200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  /* 960pxで0 → 1280pxで-60px へ補間（式を簡潔に修正） */
  margin-left: 0;
}
@media (min-width:960px) and (max-width:1280px){
  .footer-brand{
    margin-left: calc(-60px * ( (100vw - 960px) / (1280 - 960) ));
  }
}
@media (min-width:1280px){
  .footer-brand{ margin-left: -60px; }
}

.footer-logo{
  max-width:270px;
  width:100%;
  margin:0 auto 12px;
  display:block;
  line-height:0; /* 画像の下余白対策 */
}

.tagline-ja{
  font-family:"M PLUS 1p",sans-serif;
  font-size:clamp(18px, 4.2vw, 22px);
  font-weight:600;
  letter-spacing:.02em;
  margin:0;
}
.tagline-en{
  font-family:"Montserrat",sans-serif;
  font-size:.9em;
  opacity:.85;
  letter-spacing:.03em;
  margin:4px 0 0;
}

/* 右：リンク群（共通navスタイルは後ろで一括指定） */
.footer-links{
  flex:2 1 400px;
  display:flex;
  gap: var(--gap-col);
  justify-content:flex-end;
  text-align:left;
  padding-right: 0;
}
@media (min-width:960px) and (max-width:1280px){
  .footer-links{
    /* 960px→10px, 1280px→30px */
    padding-right: calc(10px + (20 * (100vw - 960px) / (1280 - 960)));
  }
}
@media (min-width:1280px){
  .footer-links{ padding-right: 30px; }
}

/* サブグループ（サポート） */
.footer-support .support-columns{
  display:flex;
  gap: var(--gap-col-support);
}

/* ===== nav（.footer-links と .footer-support の共通体裁） ===== */
.footer-links nav,
.footer-support nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-links nav h4,
.footer-support nav h4{
  margin:0 0 10px;
  font-size:.95em;
  opacity: var(--title-muted);
}
.footer-links nav ul,
.footer-support nav ul{
  list-style:none;
  margin:0;
  padding:0;
}
.footer-links li,
.footer-support li{
  margin:15px 0;
}
.footer-subitem{      /* 任意のサブ項目用 */
  font-size:.9em;
  margin-left:5px;
}

/* ===== フッター内リンクの一元管理 ===== */
.site-footer a{
  color: var(--footer-fg);
  text-decoration:none;
  opacity:1;
  font-weight:600;
}
.site-footer a:hover{
  opacity: var(--link-hover);
  text-decoration:none;
}

/* ===== 下段：コピーライト ===== */
.footer-bottom{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:50px;
  border-top:1px solid rgba(255,255,255,.3);
  padding-top:15px;
  font-size:.9em;
  text-align:center;
  color: rgba(255,255,255,.85);  /* 文字は少し薄く */
  margin-bottom:10px;
}
#imFooter_imCell_30 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imFooter_imHTMLObject_30 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imFooter_imCellStyleGraphics_30 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imFooter_imCellStyleBorders_30 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

:root{
  --text-on-panel:#fff;
  --title-color:#b0ebd8;

  --pad-y: clamp(20px, (100vw - 428px) * 0.07, 50px);
  --row-py:10px;
  --section-gap:22px;

  --chev-size-text:18px;
  --chev-end-gap:0px;
  --acc-sign-size: var(--chev-size-text);
  --acc-sign-color:#b0ebd8;

  --row-underline: rgba(255,255,255,.28);
  --row-underline-hover: #b0ebd8;
  --bullet-y:1.5em;
}

/* 見出し非表示用 */
.visually-hidden{
  position:absolute!important; width:1px; height:1px;
  margin:-1px; border:0; padding:0; clip:rect(0 0 0 0); clip-path:inset(50%);
  overflow:hidden; white-space:nowrap;
}

/* 縦並びメニュー全体 */
.ft-menu-list{
  display:flex;
  flex-direction:column;
  gap:0; /* → 行間は row-py で確保 */
  padding: var(--pad-y) var(--pad-y);
  background:#0DB985;
  color: var(--text-on-panel);
}

/* 見出し（大項目） */
.ft-title{
  margin: var(--section-gap) 0 6px;
  font-weight:700;
  font-size:15px;
  line-height:1.2;
  color: var(--title-color);
  text-align:left;
}

/* リンク行 */
.ft-row{
  display:flex; align-items:center; justify-content:flex-start;
  width:100%; padding:0;
  color: var(--text-on-panel); text-decoration:none;
  border-bottom: 1px solid var(--row-underline);
  transition: transform .16s ease, color .16s ease, border-color .16s ease;
  font-weight:500;
}
.ft-txt{
  display:inline-block;
  padding: var(--row-py) 0;
  border-radius:12px;
  transition: color .16s ease;
}
.ft-row:hover .ft-txt,
.ft-row:focus-visible .ft-txt{ color: var(--title-color); }
.ft-row:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

.ft-row .chev{
  margin-left:auto; margin-right: var(--chev-end-gap);
  width: var(--chev-size-text); height: var(--chev-size-text);
  color: var(--text-on-panel); opacity:.95;
  transition: transform .16s ease, color .16s ease, opacity .16s ease;
}
.ft-row:hover .chev,
.ft-row:focus-visible .chev{
  color: var(--title-color); transform: translateX(3px); opacity:1;
}

/* アコーディオン */
.ft-acc{ margin: var(--section-gap) 0; }
.ft-acc summary::-webkit-details-marker{ display:none; }
.ft-acc > summary{
  display:flex; align-items:center; padding:6px 0;
  font-weight:700; font-size:15px; line-height:1.2;
  color: var(--text-on-panel); cursor:pointer;
  transition: color .16s ease;
}
.ft-acc[open] > summary{ color: var(--acc-sign-color); }
.ft-acc > summary:hover,
.ft-acc > summary:focus-visible{ color: var(--acc-sign-color); }
.ft-acc > summary .acc-sign{
  margin-left:auto; margin-right: var(--chev-end-gap);
  width: var(--acc-sign-size); height: var(--acc-sign-size);
  color: currentColor; opacity:.95; pointer-events:none;
}
.ft-acc .ft-row{ border-bottom: none; } /* アコーディオン内リンクは区切り線ナシ */
.ft-acc .ft-row .chev{ display:none; }

/* 箇条書き */
.ft-bullets{ list-style:none; margin:6px 0 0; padding:0; width:100%; }
.ft-bullets li{ position:relative; padding-left:14px; margin-left:10px; }
.ft-bullets li::before{
  content:"-"; position:absolute; left:0; top:var(--bullet-y); transform:translateY(-50%);
  color:var(--acc-sign-color);
}

/* ブランドブロック */
.ft-menu .ft-brand{
  display:flex; flex-direction:column;
  align-items:flex-start;
  gap:8px; margin-top:50px;
  text-align:left;
  color: currentColor;
}
.ft-menu .ft-brand-logo{
  display:block; max-width:270px; height:auto;
}
.ft-menu .ft-tagline{
  font-family:"M PLUS 1p",sans-serif;
  margin:0; font-weight:600;
  line-height:1.8; letter-spacing:.02em;
  font-size:22px;
}
.ft-tagline-ja{
  font-family:"M PLUS 1p",sans-serif;
  font-size:clamp(18px, 4.2vw, 21px);
  font-weight:600; letter-spacing:.02em; margin:2px 0;
}
.ft-agline-en{
  font-family:"Montserrat",sans-serif;
  font-size:.9em; color: rgba(255,255,255,.85);
  letter-spacing:.03em; margin:2px 0;
}

/* 著作権・規約部分 */
.ft-menu .ft-legal{
  margin: 30px 0 5px;
  display:flex; align-items:center; gap:30px; flex-wrap:wrap;
  color: currentColor;
  font-weight:600; font-size:.9em;
}
.ft-menu .ft-legal a{
  color: currentColor; text-decoration:none;
}
.ft-menu .ft-sep{ opacity:.8; }

.ft-menu .ft-copy{
   margin-top:12px; padding-top:12px;
   border-top:1px solid rgba(255,255,255,.3); 
   font-size:.9em; text-align:left;
   color: var(--acc-sign-color);
}

/* ロゴが濃色背景で見えにくい場合 */
.ft-menu .ft-brand--mono .ft-brand-logo{
  filter: brightness(0) invert(1);
}

/* 先頭要素の余白リセット */
.ft-menu-list{
  padding: 0 var(--pad-y) var(--pad-y);
}
.ft-menu-list > .ft-title:first-child{ margin-top:0; }
.ft-menu-list > .ft-acc:first-child > summary.ft-title{ margin-top:0; }

/* HTMLオブジェクト調整 */
#imFooter_imHTMLObject_30_wrapper,
#imFooter_imHTMLObject_30{
  overflow: visible !important;
}
#imStickyBar_imCell_1 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imStickyBar_imHTMLObject_01 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imStickyBar_imCellStyleGraphics_1 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imStickyBar_imCellStyleBorders_1 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* =========================
   TOKENS
   ========================= */
:root{
  --ub-h: 96px;           /* JSで実測に上書きされます */
  --ub-overlay-gap: 0px;  /* バー直下に隙間を空けたい場合は 8px 等 */

  /* 色など */
  --ub-ink:#111;
  --ub-muted:#666;
  --ub-line:#e5e7eb;

  /* 矢印アイコンサイズ（sprite 用） */
  --ub-chev-card: 20px;
  --ub-chev-text: 18px;
}

/* =========================
   Upperbar（スティッキーバー）
   ========================= */
*{ box-sizing: border-box }
ul{ margin:0; padding:0; list-style:none }
a{ color: var(--ub-ink); text-decoration:none }

.upperbar{
  position: sticky;
  top: 0;
  z-index: 2147483648;           /* ほぼ最上位：オーバーレイより１段上 */
  background: #fff;
}
.upperbar-nav{ padding: 12px 24px; font-size: 16px; }
.upperbar-list{ display:flex; gap:56px; align-items:center; }
.upperbar-link,
.upperbar-menuBtn{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .35em;
  padding: 8px 12px;
  min-height: 40px;
  color: var(--ub-ink);
  transition: color .16s ease, transform .16s ease;
}
.upperbar-menuBtn{
  border: none; background: none; font: inherit; cursor: pointer;
}
.upperbar-menuBtn::after{ content:"＋"; margin-left:.35em; }
.upperbar-menuBtn[aria-expanded="true"]::after{ content:"－"; }
.upperbar-link::after,
.upperbar-menuBtn::before{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background: currentColor; transform: scaleX(0);
  transform-origin:left; opacity:.7; transition: transform .18s ease;
}
.upperbar-link:hover,
.upperbar-link:focus-visible,
.upperbar-menuBtn:hover,
.upperbar-menuBtn:focus-visible{
  color:#0DB985; transform: translateY(-1px);
}
.upperbar-link:hover::after,
.upperbar-link:focus-visible::after{ transform: scaleX(1); }
.upperbar-menuBtn:hover::before,
.upperbar-menuBtn:focus-visible::before{ transform: scaleX(1); }
.upperbar-menuBtn[aria-expanded="true"]{ color:#0DB985; }
.upperbar-menuBtn[aria-expanded="true"]::before{ transform: scaleX(1); }
.upperbar-link:focus-visible,
.upperbar-menuBtn:focus-visible{ outline:2px solid #0DB985; outline-offset:2px }

/* =========================
   Overlay（バーの下から／ぼかし／フェード）
   ========================= */
.upperbar-overlay{
  position: fixed;
  top: calc(var(--ub-h) + var(--ub-overlay-gap)); /* ← バーの“下から” */
  left: 0; right: 0; bottom: 0;
  z-index: 2147483646;         /* ヘッダーより一段下 */
  background: rgba(17,17,17,.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.upperbar-overlay.is-open{
  opacity: 1;
  pointer-events: auto;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .upperbar-overlay{ background: rgba(17,17,17,.34); } /* フォールバック */
}

/* =========================
   Panel（メガメニュー）
   ========================= */
.upperbar-panel{
  position: fixed;
  left: 50%; transform: translateX(-50%);
  top: calc(var(--ub-h) + 100px);
  width: min(800px, 86vw);
  background: #fff;
  border: 1px solid var(--ub-line);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 22px 40px rgba(0,0,0,.18);
  z-index: 2147483647; /* ヘッダーと同い値でもOK */
}
.upperbar-close{
  position:absolute; top:10px; right:10px;
  width:38px; height:38px; display:grid; place-items:center;
  border:none; background:#fff; color:#888; border-radius:8px; cursor:pointer;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}
.upperbar-close:hover,
.upperbar-close:focus-visible{ color:#0DB985; transform:scale(1.06); }
.upperbar-close:focus-visible{ outline:2px solid #0DB985; outline-offset:2px }

.upperbar-stack{ display:flex; flex-direction:column; gap:28px; }
.upperbar-blockTitle{ margin:0 0 12px; font-size:15px; font-weight:700; color:var(--ub-muted); text-align:left; }

.upperbar-cards{ display:grid; gap:14px; }
.upperbar-cards--two{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }

.upperbar-card{
  position:relative; display:block; text-align:left;
  padding:16px 52px 16px 16px;
  background:#fff; border:1px solid transparent; border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.upperbar-cardLabel{ font-size:16px;  color: var(--ub-ink); opacity:.95; }
.upperbar-cardArrow{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; color:#9aa0a6;
  transition: transform .16s ease, color .16s ease;
}
.upperbar-cardArrow .ub-chev{
  width: var(--ub-chev-card); height: var(--ub-chev-card);
  color:inherit; opacity:.95;
  transition: transform .16s ease, color .16s ease, opacity .16s ease;
}
.upperbar-card:hover,
.upperbar-card:focus-visible{
  transform: translateY(-2px);
  box-shadow:0 12px 22px rgba(0,0,0,.12);
  border-color:#0DB985;
}
.upperbar-card:hover .upperbar-cardArrow,
.upperbar-card:focus-visible .upperbar-cardArrow{
  color:#0DB985; transform: translateY(-50%) translateX(4px);
}
.upperbar-card:hover .ub-chev,
.upperbar-card:focus-visible .ub-chev{
  color:#0DB985; transform: translateX(4px); opacity:1;
}
.upperbar-card:focus-visible{ color:#0DB985; outline-offset:2px }

.upperbar-textLinks{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px; text-align:left; margin-left:10px; font-size:15px;
}
.upperbar-textLinks a{
  display:flex; align-items:center; gap:.5em; width:100%;
  padding:5px 2px; font-size:15px;
  color: var(--ub-ink); opacity:.95;  
  text-decoration:none;
  transition: transform .16s ease, color .16s ease;
}
.upperbar-textLinks a .ub-chev{
  margin-left:10px;
  width: var(--ub-chev-text); height: var(--ub-chev-text);
  color: var(--ub-ink); opacity:.95;
  transition: transform .16s ease, color .16s ease, opacity .16s ease;
}
.upperbar-textLinks a:hover,
.upperbar-textLinks a:focus-visible{
  transform: translateX(3px);
  color:#0DB985;
  font-weight:700;
}
.upperbar-textLinks a:hover .ub-chev,
.upperbar-textLinks a:focus-visible .ub-chev{
  color:#0DB985; transform: translateX(3px); opacity:1;
}


#imStickyBar_imCell_2 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imStickyBar_imHTMLObject_02 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imStickyBar_imCellStyleGraphics_2 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imStickyBar_imCellStyleBorders_2 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* =========================
   TOKENS
========================= */
:root{
  --appbar-h: 80px;                 /* JSが実測反映 */
  --appbar-pad-x: 24px;
  --appbar-line:#e5e7eb;

  --ubm-pad-x: clamp(40px, 9.3vw, 60px);
  --ubm-pad-y: 16px;
  --ubm-toggle: clamp(45px, 10.5vw, 50px);
  --ubm-toggle-ic: calc(.6 * var(--ubm-toggle));

  --ubm-panel-bg:#0DB985;
  --ubm-text:#fff;
  --ubm-accent:#b0ebd8;

  --ubm-row-py:14px;
  --ubm-section-gap:22px;
  --ubm-chev:18px;
}

/* ベース */
*{ box-sizing:border-box }
ul{ margin:0; padding:0; list-style:none }
a{ color:var(--ubm-text); text-decoration:none }
[hidden]{ display:none !important; }  /* Safari 等での確実非表示 */

/* =========================
   APPBAR (sticky)
========================= */
.appbar{
  position: sticky; top: 0; z-index: 2147483648;
  height: var(--appbar-h);
  display:flex; align-items:center; padding-inline: var(--appbar-pad-x);
  background:#fff;
}
.appbar-toggle{
  margin-left:auto; width:var(--ubm-toggle); height:var(--ubm-toggle);
  display:grid; place-items:center; border:none; cursor:pointer;
  background:#0DB985; color:#fff; border-radius:50%;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}
.appbar-ic-x{ display:none; }
.appbar-toggle[aria-expanded="true"] .appbar-ic-bars{ display:none; }
.appbar-toggle[aria-expanded="true"] .appbar-ic-x{ display:block; }

/* =========================
   OVERLAY / PANEL（バーの下から）
========================= */
.ubm-overlay{
  position: fixed;
  top: var(--appbar-h); left:0; right:0; bottom:0;
  z-index: 2147483646; /* 背景 */
  background: rgba(17,17,17,0);   /* フェードさせるので初期は透明 */
  backdrop-filter: none; -webkit-backdrop-filter:none;
  opacity: 0; pointer-events:none; transition: opacity .18s ease;
}
.ubm-overlay.is-open{
  opacity:1; pointer-events:auto;
  /* ぼかしが要るなら ↓ を有効化
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  background: rgba(17,17,17,.18);
  */
}

.ubm-panel{
  position: fixed;
  inset: 0; top: var(--appbar-h);          /* ← バーの下から開始 */
  z-index: 2147483647;                      /* panel > overlay */
  background: var(--ubm-panel-bg);
  color: var(--ubm-text);
  padding: var(--ubm-pad-y) var(--ubm-pad-x) max(var(--ubm-pad-y), env(safe-area-inset-bottom));
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}

/* =========================
   LIST / ROWS
========================= */
.ubm-list{ display:flex; flex-direction:column; gap:10px; }

.ubm-title{
  margin: var(--ubm-section-gap) 0 6px;
  font: 700 15px/1.2 system-ui, "Noto Sans JP", sans-serif;
  color: var(--ubm-accent); text-align:left;
}

/* 行（アコーディオン外はボーダーあり） */
.ubm-row{
  display:flex; align-items:center; justify-content:flex-start; width:100%;
  color: var(--ubm-text); text-decoration:none;
  transition: transform .16s ease, color .16s ease, border-color .16s ease;
  border-bottom:1px solid rgba(255,255,255,.28);
}
.ubm-txt{ display:inline-block; padding: var(--ubm-row-py) 0; }

.ubm-row:hover,
.ubm-row:focus-visible{
  color: var(--ubm-accent);
  border-bottom-color: var(--ubm-accent);
}
.ubm-row:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

.ubm-gap-top{ margin-top: var(--ubm-section-gap); }

/* 行末アイコン（JSで <svg.ubm-chev> 追加） */
.ubm-row .ubm-chev{
  margin-left:auto; width: var(--ubm-chev); height: var(--ubm-chev);
  color: var(--ubm-text); opacity:.95;
  transition: transform .16s ease, color .16s ease, opacity .16s ease;
}
.ubm-row:hover .ubm-chev,
.ubm-row:focus-visible .ubm-chev{
  color: var(--ubm-accent); transform: translateX(3px); opacity:1;
}

/* =========================
   ACCORDION
========================= */
.ubm-acc{ margin: var(--ubm-section-gap) 0; }
.ubm-acc summary::-webkit-details-marker{ display:none; }

.ubm-acc > summary{
  display:flex; align-items:center; width:100%; padding:6px 0; cursor:pointer;
  font:700 15px/1.2 system-ui, "Noto Sans JP", sans-serif; color: var(--ubm-text);
  text-align:left;
}
.ubm-acc[open] > summary{ color: var(--ubm-accent); }
.ubm-acc > summary:hover,
.ubm-acc > summary:focus-visible{ color: var(--ubm-accent); }
.ubm-acc > summary:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

.ubm-acc > summary .ubm-acc-sign{
  margin-left:auto; margin-right:6px;
  width: var(--ubm-chev); height: var(--ubm-chev);
  color: currentColor; opacity:.95; pointer-events:none;
}

/* アコーディオン内リンクは区切り線なし */
.ubm-bullets{ list-style:none; margin:6px 0 0; padding:0; width:100%; }
.ubm-bullets li{ position:relative; padding-left:14px; margin-left:10px; }
.ubm-bullets li::before{
  content:"-"; position:absolute; left:0; top:1.5em; transform:translateY(-50%);
  color: var(--ubm-accent);
}
.ubm-acc li .ubm-row{ border-bottom: none; }

/* =========================
   RESPONSIVE
========================= */
/* PCでモバイルメニューを隠す場合（任意） */
@media (min-width: 961px){
  .ubm, .appbar-toggle{ display:none; }
}

/* =========================
   Reduced Motion
========================= */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; }
}
#imStickyBar_imCell_3 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imStickyBar_imHTMLObject_03 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imStickyBar_imCellStyleGraphics_3 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imStickyBar_imCellStyleBorders_3 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

.upperbar-logo {
  display: flex;
  align-items: center;     /* 縦中央 */
  justify-content: center; /* 横中央 */
  color-scheme: light;   /* ← これがポイント */
}

.upperbar-logo img {
  width: 100%;        /* 親要素幅に合わせて可変 */
  max-width: 250px;   /* ただし最大250pxまで */
  height: auto;       /* アスペクト比維持 */
  filter: none !important;
}

/* 反転ルールの当て先を data-theme に合わせる */
html[data-theme="dark"] .upperbar-logo img{
  filter: invert(1) hue-rotate(180deg) !important;
}

/* （任意）手動ヒント data-bg=dark を直接尊重したい場合の保険 */
html[data-bg="dark"] .upperbar-logo img,
body[data-bg="dark"] .upperbar-logo img{
  filter: invert(1) hue-rotate(180deg) !important;
}
#imStickyBar_imCell_4 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imStickyBar_imHTMLObject_04 { position: relative; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imStickyBar_imCellStyleGraphics_4 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imStickyBar_imCellStyleBorders_4 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* 親は固定。ここでは transform を使わない */
#imStickyBarContainer{
  position: fixed;
  top: 0; left: 0; right: 0;
}

/* 直下の子要素を動かす（複数子でも同じ挙動） */
#imStickyBarContainer > *{
  transform: translateY(0);
  transition: transform .7s ease;   /* フェード無し、上下スライドのみ */
  will-change: transform;
}

/* 非表示時：子だけ上にスッと戻る */
#imStickyBarContainer.is-hidden > *{
  transform: translateY(-100%);
}

/* 非表示中はクリック無効（任意） */
#imStickyBarContainer.is-hidden{
  pointer-events: none;
}
.imPageRow { position: relative;  }
#imPageRowGraphics_1 { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
#imPageRowGraphics_1 { background-color: rgba(155, 233, 210, 1); }
#imCell_9 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imHTMLObject_23_09 { position: relative; align-self: start; justify-self: center; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imCellStyleGraphics_9 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imCellStyleBorders_9 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      padding: 0;
      font-family: 'Noto Sans JP', sans-serif;
      background-color: #fff;
    }

    .co2-calculator-section {
      width: 100%;
      padding: 60px 0;
    }

    .co2-calculator-container {
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 40px;
      color: #000;
    }

    .co2-calculator-title-ja {
      font-size: clamp(16px, 3.7vw, 18px);
      margin-bottom: 10px;
      font-weight: 400;
      text-align: left;
    }

    .co2-calculator-title-en {
      display: flex;
      flex-wrap: wrap;
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(28px, 6vw, 42px);
      font-weight: 700;
      margin-bottom: 40px;
    }

    .co2-calculator-title-en span {
      display: inline-block;
      opacity: 0;
      transform: translateY(20px);
      animation: fadeUp 1.5s ease forwards;
    }

    @keyframes fadeUp {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .co2-calculator-text {
      font-size: clamp(14px, 3.5vw, 16px);
      font-weight: 500;
      line-height: 2;
      margin-bottom: 20px;
      padding: 0px 30px;
      text-align: left;
    }

    @media screen and (max-width: 960px) {
      .co2-calculator-container {
        padding: 0 10px;
      }
      .co2-calculator-title-ja,
      .co2-calculator-title-en,
      .co2-calculator-text {
        padding: 0 10px;
      }
    }#imCell_11 { grid-template-columns: 100%; position: relative; box-sizing: border-box; }
#imHTMLObject_23_11 { position: relative; align-self: center; justify-self: center; max-width: 100%; box-sizing: border-box; z-index: 3; }
#imCellStyleGraphics_11 { grid-row: 1 / -1; grid-column: 1 / -1; background-color: transparent;  }
#imCellStyleBorders_11 { grid-row: 1 / -1; grid-column: 1 / -1; z-index: 2; }

/* =============================
   Reset / Base
============================= */
*, *::before, *::after { box-sizing: border-box; }
img, canvas, svg, video { max-width: 100%; height: auto; display: block; }

/* =============================
   Layout
============================= */
#co2-calc-container{
  max-width:1000px; width:100%;
  margin:40px auto; padding:0 20px;
}

.co2-calc-field{
  display:flex; flex-wrap:nowrap; align-items:center;
  column-gap:12px;
  border-top:1px solid #ccc; padding:12px 0; text-align:left;
}
.co2-calc-field:first-child{ border-top:none; }

.co2-calc-subtitle{ font-size:clamp(14px,3.5vw,16px); margin:30px auto 15px; }

/* Excel */  
.co2-calc-link {
  margin:15px auto 30px;
  font-size: clamp(14px,3.5vw,16px);
}

.co2-calc-link a {
  color: #0DB985;
  font-weight:600;
  text-decoration: none;
}

.co2-calc-link a:hover {
  color: #089c6f;
  text-decoration: none;
}

/* =============================
   Label / Input
============================= */
.co2-calc-label{
  flex:0 0 250px; /* 固定幅 */
  display:flex; align-items:center;
  font-weight:700; font-size:clamp(14px,3.5vw,16px); color:#333;
  margin: 0 0 5px 10px;
}
.co2-calc-input{ flex:1 1 auto; min-width:0; }
.co2-calc-input input[type="number"],
.co2-calc-input input[type="text"]{
  width:100%; padding:16px 14px; font-size:15px;
  border:1px solid #ccc; border-radius:6px;
}

/* =============================
   Notes
============================= */
.co2-calc-note{ font-size:clamp(12px,2.8vw,14px); color:#666; margin-top:4px; }
.co2-calc-note p{ margin:0 0 8px 0; font-size:clamp(13px,3vw,15px); }
.co2-calc-note a{ color:#007bff; text-decoration:underline; }
.co2-calc-note a:hover{ text-decoration:none; }

/* =============================
   Radio group
============================= */
.co2-calc-radio-group{ display:flex; flex-direction:column; gap:10px; }
.co2-calc-radio-card{
  display:flex; align-items:center;
  border:1px solid #ccc; border-radius:6px;
  padding:16px 12px; font-size:clamp(14px,3.5vw,16px);
  cursor:pointer; background:#fff; transition:border-color .3s, background-color .3s;
}
.co2-calc-radio-card:hover{ border-color:#1aab89; background-color:#f6fefb; }
.co2-calc-radio-card input[type="radio"]{ margin-right:10px; }

/* =============================
   Buttons / Errors
============================= */
.co2-calc-button{
  width:100%; margin-top:20px; padding:14px;
  background:#38c199; color:#fff; font-weight:700;
  font-size:clamp(14px,3.5vw,16px);
  border:none; border-radius:2px; cursor:pointer;
}
.co2-calc-button:hover{ background:#2dad85; }

.co2-calc-global-error{
  display:none; background:#ffecec; color:#c00;
  padding:12px 16px; font-size:clamp(14px,3.5vw,16px);
  font-weight:700; text-align:center; margin:15px 0;
}
.co2-calc-inline-error{ color:#d93025; font-size:clamp(13px,3vw,14px); margin-top:6px; display:none; }
.co2-calc-input-error{ border:1px solid #d93025 !important; background-color:#fff7f7 !important; }

/* =============================
   Result box
============================= */
.co2-calc-result-box{
  background:#def2ea; padding:20px 30px; border-radius:5px;
  margin:20px auto; max-width:700px;
  font-size:clamp(14px,3.5vw,16px);
}
.co2-calc-result-row{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  margin:8px 0;
}
.co2-calc-result-label{ text-align:left; flex:1; }
.co2-calc-unit-kwh{ margin:0 7px 0 10px; }
.co2-calc-unit-yen{ margin:0 24px 0 10px; }
.co2-calc-unit-co2{ margin-left:10px; }
.co2-calc-nowrap{ white-space:nowrap; }

/* =============================
   Modal
============================= */
#co2-calc-modal{
  position:fixed; inset:0; z-index:1000;
  background:rgba(255,255,255,.7); backdrop-filter:blur(3px);
  display:none; justify-content:center; align-items:center;
  opacity:0; transition:opacity .3s ease; pointer-events:none;
}
#co2-calc-modal.active{ display:flex; opacity:1; pointer-events:auto; }
.co2-calc-modal-content{
  background:#fff; padding:30px 20px; border-radius:10px;
  max-width:480px; width:90%; box-shadow:0 6px 20px rgba(0,0,0,.2);
  position:relative; text-align:left;
}
.co2-calc-modal-content h2{ text-align:center; font-size:clamp(15px,3.5vw,17px); margin:10px 0; }
.co2-calc-modal-content ul{ padding-left:1.2em; font-size:clamp(13px,3vw,15px); line-height:1.8; }
.co2-calc-modal-close{ all:unset; position:absolute; top:10px; right:10px; font-size:clamp(25px,5.8vw,30px); color:#666; cursor:pointer; }
.co2-calc-modal-close:hover{ color:#000; }

.calc-notes .sub { margin-left: 1em; color:#666; }

/* =============================
   Chart
============================= */
.co2-calc-chart-wrapper{ width:100%; overflow-x:hidden; padding:0 10px; }
.co2-calc-chart{ width:100%; max-width:100%; height:auto; aspect-ratio:2/1; }
#co2-calc-chart-note{ display:none; font-size:clamp(14px,3vw,16px); color:#555; margin-top:10px; }

/* =============================
   Responsive
============================= */
@media (max-width:960px){
  .co2-calc-note p{ text-align:left; }
}
@media (max-width:768px){
  .co2-calc-field{ flex-direction:column; flex-wrap:nowrap; align-items:flex-start; row-gap:8px; }
  .co2-calc-label{ flex:none; width:100%; }
  .co2-calc-input{ width:100%; }
  .co2-calc-radio-group{ width:100%; }
  .co2-calc-chart{ aspect-ratio:auto; }
  .co2-calc-unit-kwh{ margin:0 7px 0 5px; }
  .co2-calc-unit-yen{ margin:0 22px 0 5px; }
  .co2-calc-unit-co2{ margin-left:5px; }
}
@media (min-width:428px) and (max-width:767px){
  .co2-calc-input{ flex-wrap:wrap; gap:12px; }
  .co2-calc-input input[type="number"],
  .co2-calc-input input[type="text"]{ width:100%; }
}



/* ========== 目安モーダル（容量別） ========== */

/* 背景&コンテナ */
.co2-calc-ref-modal{
  position:fixed; inset:0; z-index:1000;
  display:none; justify-content:center; align-items:center;
  background:rgba(255,255,255,.7); backdrop-filter:blur(3px);
  opacity:0; transition:opacity .3s ease; pointer-events:none;
}
.co2-calc-ref-modal.active{ display:flex; opacity:1; pointer-events:auto; }

.co2-calc-ref-modal-content{
  background:#fff; border-radius:10px;
  max-width:900px; width:92%;
  padding:20px; position:relative;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}

/* ヘッダ（タイトル＋詳細スイッチ＋インライン×） */
.co2-calc-ref-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-bottom:8px; flex-wrap:wrap; /* 狭幅で折返し */
}
.co2-calc-ref-head h2{
  margin:0; line-height:1.2; text-align:left;
  font-size:clamp(16px,3.8vw,20px); flex:1 1 auto;
}
.co2-calc-ref-head-right{ display:flex; align-items:center; gap:12px; }

/* 詳細スイッチ */
.co2-calc-switch{ font-size:13px; user-select:none; cursor:pointer; }
.co2-calc-switch input{ margin-right:6px; vertical-align:middle; }

/* 閉じる（ヘッダ内インライン×） */
.co2-calc-modal-close-inline{
  all:unset;
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:6px;
  font-size:22px; line-height:1; color:#666; cursor:pointer;
}
.co2-calc-modal-close-inline:hover{ background:#f5f5f5; color:#000; }
.co2-calc-modal-close-inline:focus-visible{ outline:2px solid #1aab89; outline-offset:2px; }

/* 旧：絶対配置の×は非表示 */
.co2-calc-ref-modal .co2-calc-modal-close{ display:none; }


.co2-calc-ref-notes{
  margin-top:12px; color:#666; font-size:13px; line-height:1.8;
}
.co2-calc-ref-notes h3{
  margin:0 0 6px; font-size:14px; color:#333;
}
.co2-calc-ref-updated{ margin-top:6px; font-size:12px; color:#888; }

.co2-calc-ref-notes summary{
  cursor:pointer; list-style:none; font-weight:700; color:#333;
}
.co2-calc-ref-notes summary::-webkit-details-marker{ display:none; }
.co2-calc-ref-notes[open] summary{ margin-bottom:4px; }

/* モバイルではデフォルト閉じ＆よりコンパクト */
@media (max-width:768px){
  .co2-calc-ref-notes{ font-size:12px; line-height:1.6; }
  .co2-calc-ref-notes ul{ margin:6px 0 0; padding-left:1.1em; }
}

.co2-calc-ref-hint{margin:10px 0 5px;color:#777;font-size:12px; text-align:right;}

/* テーブルラッパー */
.co2-calc-ref-table-wrap{ max-height:60vh; overflow:auto; margin-top:10px; }

/* テーブル本体 */
.co2-calc-ref-table{
  width:100%; border-collapse:collapse; border-spacing:0;
  font-variant-numeric:tabular-nums;
}
.co2-calc-ref-table th,
.co2-calc-ref-table td{
  border:1px solid #ccc; padding:12px 10px; white-space:nowrap; text-align:right;
}
.co2-calc-ref-table thead th{
  background:#f8f8f8; position:sticky; top:0; z-index:1;
}
/* 先頭列（容量）は中央寄せ */
.co2-calc-ref-table th:first-child,
.co2-calc-ref-table td:first-child{ text-align:center; }

/* 行＝ボタン化 */
.co2-calc-ref-table tr.co2-calc-row-btn{ cursor:pointer; }
.co2-calc-ref-table tr.co2-calc-row-btn:hover td{ background:#f6fefb; }

/* 選択行の“枠”表現（外周だけ太線） */
.co2-calc-ref-table tr.is-selected td{
  background:#e9fbf5;
  border-top:2px solid #1aab89;
  border-bottom:2px solid #1aab89;
}
.co2-calc-ref-table tr.is-selected td:first-child{ border-left:2px solid #1aab89; }
.co2-calc-ref-table tr.is-selected td:last-child { border-right:2px solid #1aab89; }
/* 枠を一体に見せるため内側の縦線を消す */
.co2-calc-ref-table tr.is-selected td + td{ border-left-color:transparent; }

/* キーボードフォーカス */
.co2-calc-ref-table tr.co2-calc-row-btn:focus-visible td{
  outline:2px solid #1aab89; outline-offset:-2px;
}

.co2-calc-ref-table tbody tr:nth-child(odd):not(.is-selected) td {
  background:#fbfbfb;
}

/* モーダルフッター（確定ボタン） */
.co2-calc-ref-footer{
  display:flex; justify-content:flex-end; gap:8px; margin-top:10px;
}

/* 小ボタン / リンク風ボタン */
.co2-calc-mini-btn{
  padding:6px 10px; border:1px solid #38c199;
  background:#fff; color:#38c199; border-radius:4px;
  cursor:pointer; font-size:13px;
}
.co2-calc-mini-btn:hover{ background:#f6fefb; }
.co2-calc-ghost-btn{
  all:unset; color:#007bff; text-decoration:underline; cursor:pointer; font-size:13px;
}
.co2-calc-ghost-btn:hover{ text-decoration:none; }

/* 列幅（任意：<colgroup>にクラスを付与して利用） */
.co2-calc-ref-table col.col-cap { width:120px; }
.co2-calc-ref-table col.col-kwh { width:170px; }
.co2-calc-ref-table col.col-yen { width:170px; }
.co2-calc-ref-table col.col-co2 { width:170px; }

/* レスポンシブ */
@media (max-width:768px){
  .co2-calc-ref-modal-content{ width:96%; padding:16px; }
  .co2-calc-ref-table-wrap{ max-height:65vh; }
  .co2-calc-ref-head{ gap:8px; }
  .co2-calc-ref-head h2{ text-align:center; }
  .co2-calc-ref-head-right{ margin-left:auto; }
  .co2-calc-modal-close-inline{ width:32px; height:32px; font-size:20px; }
  .co2-calc-ref-notes{ font-size:12px; line-height:1.6; }
  .co2-calc-ref-notes ul{ margin:6px 0 0; padding-left:1.1em; }
  .co2-calc-ref-notes li{ margin:0 0 4px; }
  .co2-calc-ref-modal-content{ padding:16px; } /* 余白も少し詰める */
}



/* 背景ぼかしオーバーレイを最前面に（保険） */
#co2-calc-modal,
.co2-calc-ref-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
  background: rgba(255,255,255,.7) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  display: none; opacity: 0; pointer-events: none;
  transition: opacity .3s ease;
}
#co2-calc-modal.active,
.co2-calc-ref-modal.active{
  display: flex !important; /* flex で中央寄せ */
  justify-content: center; align-items: center;
  opacity: 1; pointer-events: auto;
}

/* パネル本体はさらに上 */
.co2-calc-modal-content,
.co2-calc-ref-modal-content{
  position: relative !important;
  z-index: 2147483647 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.2);
}@media (min-width: 1280.0px) {
	#imBreadcrumb { width: 1266px; margin-inline-start: 6px; margin-inline-end: 6px; }
	#imCell_9 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; }
	#imCell_9 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_09 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_9 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imCell_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; }
	#imCell_11 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_11 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imBreadcrumb { width: 946px; margin-inline-start: 6px; margin-inline-end: 6px; }
	#imCell_9 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 8px; padding-inline-end: 8px; }
	#imCell_9 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_09 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_9 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imCell_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 8px; padding-inline-end: 8px; }
	#imCell_11 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_11 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imBreadcrumb { width: 754px; margin-inline-start: 6px; margin-inline-end: 6px; }
	#imCell_9 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 6px; padding-inline-end: 6px; }
	#imCell_9 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_09 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_9 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imCell_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 6px; padding-inline-end: 6px; }
	#imCell_11 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_11 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imBreadcrumb { width: 414px; margin-inline-start: 6px; margin-inline-end: 6px; }
	#imCell_9 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 3px; padding-inline-end: 3px; }
	#imCell_9 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_09 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_9 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imCell_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 3px; padding-inline-end: 3px; }
	#imCell_11 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleBorders_11 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 427.9px)  {
	#imBreadcrumb { width: 100%; margin-inline-start: 0px; margin-inline-end: 0px; }
	#imCell_9 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 5px; padding-inline-end: 5px; }
	#imCell_9 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_09 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleGraphics_9 { box-sizing: border-box; }
	#imCell_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 5px; padding-inline-end: 5px; }
	#imCell_11 { grid-template-rows: [row-content] auto ; }
	#imHTMLObject_23_11 { padding-top: 10px; padding-bottom: 10px; padding-inline-start: 10px; padding-inline-end: 10px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imCellStyleGraphics_11 { box-sizing: border-box; }
	
}

@media (min-width: 1280.0px) {
	#imHeader_imHTMLObject_02_wrapper { position: absolute; top: 20px; inset-inline-start: 10px; width: 270px; height: 80px; text-align: center; z-index: 1002; overflow: hidden; }
	#imHeader_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_04_wrapper { position: absolute; top: 20px; inset-inline-start: 700px; width: 580px; height: 80px; text-align: center; z-index: 1003; overflow: hidden; }
	#imHeader_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_05_wrapper { display: none; }
	#imHeader_imCell_5 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_5 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_05 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_5 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imHeader_imHTMLObject_02_wrapper { position: absolute; top: 20px; inset-inline-start: 10px; width: 270px; height: 100px; text-align: center; z-index: 1002; overflow: hidden; }
	#imHeader_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_04_wrapper { position: absolute; top: 10px; inset-inline-start: 390px; width: 570px; height: 90px; text-align: center; z-index: 1003; overflow: hidden; }
	#imHeader_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_05_wrapper { display: none; }
	#imHeader_imCell_5 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_5 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_05 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_5 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imHeader_imHTMLObject_02_wrapper { position: absolute; top: 10px; inset-inline-start: 10px; width: 240px; height: 80px; text-align: center; z-index: 1002; overflow: hidden; }
	#imHeader_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_04_wrapper { display: none; }
	#imHeader_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_05_wrapper { position: absolute; top: 0px; inset-inline-start: 670px; width: 98px; height: 100px; text-align: center; z-index: 1004; overflow: hidden; }
	#imHeader_imCell_5 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_5 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_05 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_5 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imHeader_imHTMLObject_02_wrapper { position: absolute; top: 10px; inset-inline-start: 10px; width: 210px; height: 80px; text-align: center; z-index: 1002; overflow: hidden; }
	#imHeader_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_04_wrapper { display: none; }
	#imHeader_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imHeader_imHTMLObject_05_wrapper { position: absolute; top: 0px; inset-inline-start: 340px; width: 98px; height: 100px; text-align: center; z-index: 1004; overflow: hidden; }
	#imHeader_imCell_5 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_5 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_05 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleBorders_5 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 427.9px)  {
	#imHeader_imHTMLObject_02_wrapper { position: absolute; top: 10px; inset-inline-start: -30px; width: 210px; height: 80px; text-align: center; z-index: 1002; overflow: hidden; }
	#imHeader_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleGraphics_2 { box-sizing: border-box; }
	#imHeader_imHTMLObject_04_wrapper { display: none; }
	#imHeader_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleGraphics_4 { box-sizing: border-box; }
	#imHeader_imHTMLObject_05_wrapper { position: absolute; top: 0px; inset-inline-start: 260px; width: 98px; height: 100px; text-align: center; z-index: 1004; overflow: hidden; }
	#imHeader_imCell_5 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imHeader_imCell_5 { grid-template-rows: [row-content] auto ; }
	#imHeader_imHTMLObject_05 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imHeader_imCellStyleGraphics_5 { box-sizing: border-box; }
	
}

@media (min-width: 1280.0px) {
	#imFooter_imTextObject_01_wrapper { display: none; }
	#imFooter_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imFooter_imTextObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imTextObject_01_tab0 .image-0 { width: 100%; max-width: 270px; height: auto; }
	#imFooter_imTextObject_01 .text-container {border-block-width: 0px 1px; border-inline-width: 1px; box-sizing: border-box;width: 100%;}
	#imFooter_imHTMLObject_27_wrapper { display: none; }
	#imFooter_imCell_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_27 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_27 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_28_wrapper { position: absolute; top: 300px; inset-inline-start: 1070px; width: 200px; height: 40px; text-align: center; z-index: 1005; overflow: hidden; }
	#imFooter_imCell_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_28 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_28 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_29_wrapper { position: absolute; top: 0px; inset-inline-start: 0px; width: 1280px; height: 380px; text-align: center; z-index: 1002; overflow: hidden; }
	#imFooter_imCell_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_29 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_29 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_30_wrapper { display: none; }
	#imFooter_imCell_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_30 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_30 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imFooter_imTextObject_01_wrapper { display: none; }
	#imFooter_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imFooter_imTextObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imTextObject_01_tab0 .image-0 { width: 100%; max-width: 270px; height: auto; }
	#imFooter_imTextObject_01 .text-container {border-block-width: 0px 1px; border-inline-width: 1px; box-sizing: border-box;width: 100%;}
	#imFooter_imHTMLObject_27_wrapper { display: none; }
	#imFooter_imCell_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_27 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_27 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_28_wrapper { position: absolute; top: 300px; inset-inline-start: 760px; width: 200px; height: 40px; text-align: center; z-index: 1005; overflow: hidden; }
	#imFooter_imCell_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_28 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_28 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_29_wrapper { position: absolute; top: 0px; inset-inline-start: 0px; width: 960px; height: 380px; text-align: center; z-index: 1002; overflow: hidden; }
	#imFooter_imCell_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_29 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_29 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_30_wrapper { display: none; }
	#imFooter_imCell_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_30 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_30 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imFooter_imTextObject_01_wrapper { display: none; }
	#imFooter_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imFooter_imTextObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imTextObject_01_tab0 .image-0 { width: 100%; max-width: 270px; height: auto; }
	#imFooter_imTextObject_01 .text-container {border-block-width: 0px 1px; border-inline-width: 1px; box-sizing: border-box;width: 100%;}
	#imFooter_imHTMLObject_27_wrapper { display: none; }
	#imFooter_imCell_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_27 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_27 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_28_wrapper { position: absolute; top: 750px; inset-inline-start: 550px; width: 200px; height: 40px; text-align: center; z-index: 1006; overflow: hidden; }
	#imFooter_imCell_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_28 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_28 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_29_wrapper { display: none; }
	#imFooter_imCell_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_29 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_29 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_30_wrapper { position: absolute; top: 0px; inset-inline-start: 0px; width: 770px; height: 820px; text-align: center; z-index: 1002; overflow: hidden; }
	#imFooter_imCell_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_30 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_30 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imFooter_imTextObject_01_wrapper { display: none; }
	#imFooter_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imFooter_imTextObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imTextObject_01_tab0 .image-0 { width: 100%; max-width: 270px; height: auto; }
	#imFooter_imTextObject_01 .text-container {border-block-width: 0px 1px; border-inline-width: 1px; box-sizing: border-box;width: 100%;}
	#imFooter_imHTMLObject_27_wrapper { display: none; }
	#imFooter_imCell_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_27 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_27 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_28_wrapper { position: absolute; top: 760px; inset-inline-start: 210px; width: 200px; height: 40px; text-align: center; z-index: 1006; overflow: hidden; }
	#imFooter_imCell_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_28 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_28 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_29_wrapper { display: none; }
	#imFooter_imCell_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_29 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_29 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imFooter_imHTMLObject_30_wrapper { position: absolute; top: 0px; inset-inline-start: 0px; width: 430px; height: 820px; text-align: center; z-index: 1002; overflow: hidden; }
	#imFooter_imCell_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_30 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleBorders_30 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 427.9px)  {
	#imFooter_imTextObject_01_wrapper { display: none; }
	#imFooter_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imFooter_imTextObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleGraphics_1 { box-sizing: border-box; }
	#imFooter_imTextObject_01_tab0 .image-0 { width: 100%; max-width: 270px; height: auto; }
	#imFooter_imTextObject_01 .text-container {border-block-width: 0px 1px; border-inline-width: 1px; box-sizing: border-box;width: 100%;}
	#imFooter_imHTMLObject_27_wrapper { display: none; }
	#imFooter_imCell_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_27 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_27 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleGraphics_27 { box-sizing: border-box; }
	#imFooter_imHTMLObject_28_wrapper { position: absolute; top: 760px; inset-inline-start: 110px; width: 200px; height: 40px; text-align: center; z-index: 1006; overflow: hidden; }
	#imFooter_imCell_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_28 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_28 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleGraphics_28 { box-sizing: border-box; }
	#imFooter_imHTMLObject_29_wrapper { display: none; }
	#imFooter_imCell_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_29 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_29 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleGraphics_29 { box-sizing: border-box; }
	#imFooter_imHTMLObject_30_wrapper { position: absolute; top: 0px; inset-inline-start: -50px; width: 420px; height: 820px; text-align: center; z-index: 1002; overflow: hidden; }
	#imFooter_imCell_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imFooter_imCell_30 { grid-template-rows: [row-content] auto ; }
	#imFooter_imHTMLObject_30 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imFooter_imCellStyleGraphics_30 { box-sizing: border-box; }
	
}

@media (min-width: 1280.0px) {
	#imStickyBar_imHTMLObject_01_wrapper { position: absolute; top: 0px; inset-inline-start: 580px; width: 700px; height: 70px; text-align: center; z-index: 1002; overflow: hidden; }
	#imStickyBar_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_02_wrapper { display: none; }
	#imStickyBar_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_03_wrapper { position: absolute; top: 10px; inset-inline-start: 10px; width: 200px; height: 50px; text-align: center; z-index: 1004; overflow: hidden; }
	#imStickyBar_imCell_3 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_3 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_03 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_3 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_04_wrapper { position: absolute; top: 0px; inset-inline-start: 510px; width: 50px; height: 70px; text-align: center; z-index: 1005; overflow: hidden; }
	#imStickyBar_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 1279.9px) and (min-width: 960.0px) {
	#imStickyBar_imHTMLObject_01_wrapper { position: absolute; top: 0px; inset-inline-start: 290px; width: 670px; height: 70px; text-align: center; z-index: 1002; overflow: hidden; }
	#imStickyBar_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_02_wrapper { display: none; }
	#imStickyBar_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_03_wrapper { position: absolute; top: 10px; inset-inline-start: 10px; width: 200px; height: 50px; text-align: center; z-index: 1004; overflow: hidden; }
	#imStickyBar_imCell_3 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_3 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_03 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_3 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_04_wrapper { position: absolute; top: 0px; inset-inline-start: 230px; width: 50px; height: 70px; text-align: center; z-index: 1005; overflow: hidden; }
	#imStickyBar_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 959.9px) and (min-width: 768.0px) {
	#imStickyBar_imHTMLObject_01_wrapper { display: none; }
	#imStickyBar_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_02_wrapper { position: absolute; top: 0px; inset-inline-start: 670px; width: 98px; height: 80px; text-align: center; z-index: 1003; overflow: hidden; }
	#imStickyBar_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_03_wrapper { position: absolute; top: 10px; inset-inline-start: 10px; width: 210px; height: 60px; text-align: center; z-index: 1004; overflow: hidden; }
	#imStickyBar_imCell_3 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_3 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_03 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_3 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_04_wrapper { position: absolute; top: 0px; inset-inline-start: 600px; width: 50px; height: 70px; text-align: center; z-index: 1005; overflow: hidden; }
	#imStickyBar_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 767.9px) and (min-width: 428.0px) {
	#imStickyBar_imHTMLObject_01_wrapper { display: none; }
	#imStickyBar_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_1 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_02_wrapper { position: absolute; top: 0px; inset-inline-start: 320px; width: 108px; height: 80px; text-align: center; z-index: 1003; overflow: hidden; }
	#imStickyBar_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_2 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_03_wrapper { position: absolute; top: 15px; inset-inline-start: 10px; width: 190px; height: 60px; text-align: center; z-index: 1004; overflow: hidden; }
	#imStickyBar_imCell_3 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_3 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_03 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_3 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	#imStickyBar_imHTMLObject_04_wrapper { position: absolute; top: 10px; inset-inline-start: 260px; width: 50px; height: 70px; text-align: center; z-index: 1005; overflow: hidden; }
	#imStickyBar_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleBorders_4 {  border-top: 0; border-bottom: 0; border-inline-start-width: 0px;  border-inline-end-width: 0px;  }
	
}

@media (max-width: 427.9px)  {
	#imStickyBar_imHTMLObject_01_wrapper { display: none; }
	#imStickyBar_imCell_1 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_1 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_01 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleGraphics_1 { box-sizing: border-box; }
	#imStickyBar_imHTMLObject_02_wrapper { position: absolute; top: 0px; inset-inline-start: 250px; width: 108px; height: 80px; text-align: center; z-index: 1003; overflow: hidden; }
	#imStickyBar_imCell_2 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_2 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_02 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleGraphics_2 { box-sizing: border-box; }
	#imStickyBar_imHTMLObject_03_wrapper { position: absolute; top: 20px; inset-inline-start: -30px; width: 170px; height: 60px; text-align: center; z-index: 1004; overflow: hidden; }
	#imStickyBar_imCell_3 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_3 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_03 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleGraphics_3 { box-sizing: border-box; }
	#imStickyBar_imHTMLObject_04_wrapper { position: absolute; top: 10px; inset-inline-start: 180px; width: 50px; height: 70px; text-align: center; z-index: 1005; overflow: hidden; }
	#imStickyBar_imCell_4 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; }
	#imStickyBar_imCell_4 { grid-template-rows: [row-content] auto ; }
	#imStickyBar_imHTMLObject_04 { padding-top: 0px; padding-bottom: 0px; padding-inline-start: 0px; padding-inline-end: 0px; grid-row: row-content / span 1; grid-column: 1 / -1; }
	#imStickyBar_imCellStyleGraphics_4 { box-sizing: border-box; }
	
}

#imPage.without-id_animation-in-progress { overflow: hidden }
