@charset "UTF-8";

/*---------- BMパーツの調整 ----------*/
/* 疑似要素の削除 */
.no-before::before,
.no-after::after {
  content: unset !important;
}

/* ボタンのアイコンを「→」に変更 */
/* :where(.lib-link__btn):not([class*="ico-after-"]):not([class*="ico-before-"]) > .txt:after {
  content: "\ea03";
  font-size: 1em;
} */

/* ボタンのアイコンに●の背景色を入れる */
/* .bg-wht[class*="__btn"] {
  color: var(--DEF);
}
:where(.lib-link__btn):not([class*="ico-after-"]):not([class*="ico-before-"]) > .txt::after {
  color: var(--MAIN);
  background-color: var(--WHT);
  padding: 0.5em;
  border-radius: 50%;
  margin-top: -0.875em;
  line-height: 1;
  font-size: 0.675em;
  transition: var(--transition);
}
:where(.lib-link__btn):not([class*="ico-after-"]):not([class*="ico-before-"]):hover > .txt::after {
  color: var(--WHT);
  background-color: var(--MAIN);
}
:where(.lib-link__btn.bg-wht):not([class*="ico-after-"]):not([class*="ico-before-"]) > .txt::after {
  color: var(--WHT);
  background-color: var(--MAIN);
}
:where(.lib-link__btn.bg-wht):not([class*="ico-after-"]):not([class*="ico-before-"]):hover > .txt::after {
  color: var(--MAIN);
  background-color: var(--WHT);
}
:where(.lib-link__btn.bg-accent):not([class*="ico-after-"]):not([class*="ico-before-"]) > .txt::after {
  color: var(--ACC);
} */

/* CNT_06 CNT_07 */
/* 角丸があるとき */
.lib-cnt-protrude__outer > * > [class*="__txtarea"][class*="rounded"]::before {
  border-radius: inherit;
}
@media print, screen and (max-width: 991px) {
  .lib-cnt-protrude__outer > * > [class*="__txtarea"][class*="rounded"]::before {
    width: 100%;
  }
}
/* box-shadowがあるとき */
.lib-cnt-protrude__outer > * > [class*="__txtarea"][class*="shadow"]::before {
  box-shadow: inherit;
}

/* FAQのアイコン */
.lib-toggle__btn[aria-expanded]:hover {
  background-color: var(--ACC);
}
.lib-cnt-021__panel:before {
  background-color: var(--WHT);
  color: var(--MAIN);
}

/*---------- BMパーツのパターン増設 ----------*/
/* ①②③...のリストマーカー */
:where(.lib-indent__list).--circle > li:before {
  content: counter(ol-bullet);
  text-align: center;
  border: 1px solid var(--DEF);
  border-radius: 50%;
  font-size: 0.75em;
  line-height: 1;
  width: 1.5em;
  height: 1.5em;
  aspect-ratio: 1/1;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0.4%;
  /* margin-top: 2px; */
}

/* ※のリストマーカー */
:where(.lib-indent__list).--asterisk > li {
  padding-left: 1.8em;
  position: relative;
}
:where(.lib-indent__list).--asterisk > li::before {
  /* counter-increment: ol-bullet; */
  content: "※";
  display: block;
  width: 2em;
  text-align: center;
  text-align: right;
  position: absolute;
  left: 0;
  top: 0;
  padding-right: 0.5em;
}

/* table 罫線パターン */
:where(table).--border > thead,
:where(table).--border th {
  background-color: unset;
}
:where(table).--border th,
:where(table).--border td {
  border: unset;
  border: 1px solid var(--GRY);
}
:where(table).--border th {
  color: var(--DEF);
}
:where(table).--border tbody > tr > th:first-child {
  border-left-color: var(--GRY);
}

/* table 下線パターン */
:where(table).--border-bottom {
  border: unset;
}
:where(table).--border-bottom th {
  background-color: unset;
}
:where(table).--border-bottom th,
:where(table).--border-bottom td {
  border: unset;
  border-bottom: 1px solid var(--GRY);
}
:where(table).--border-bottom th {
  color: var(--DEF);
}
:where(table).--even.--border-bottom tbody > tr:nth-child(even) > th {
  background-color: var(--LGRY);
}

/* table 見出し"列"だけグレー */
:where(table.--gry) tbody > tr > th {
  background-color: var(--GRY);
  color: var(--DEF);
}
:where(table.--gry) tbody > tr > th:first-child {
  border-left-color: var(--GRY);
}

/* table .lib-table__03に少し余白を入れる */
:where(.lib-table__03).--padding td,
:where(.lib-table__03).--padding th {
  padding: 0.5em;
}

/* ==================================
ヘッダー
===================================== */

/* ========================================
フッター
======================================== */

/* ========================================
CTA
======================================== */

/* ========================================
TOP
======================================== */

/* ========================================
下層
======================================== */
/* ヘッダーの高さの余白 */
#wrapper:not(:has([class^="lib-fv"])) {
  padding-top: 3.75rem !important;
}
@media print, screen and (min-width: 992px) {
  #wrapper:not(:has([class^="lib-fv"])) {
    padding-top: 7.5rem !important;
  }
}

/*---------- 下層背景色 ----------*/
#wrapper:not(:has([class^="lib-fv"])) {
  background-color: var(--OTH);
}

/*---------- 下層MV ----------*/
.lib-hero__outer {
  background-color: unset;
}
.lib-hero__title {
  font-size: clamp(1.25rem, calc(0.975609756097561rem + 1.170731707317073vw), 2rem);
}
.lib-hero__title-en {
  font-size: clamp(2rem, calc(1.2682926829268293rem + 3.1219512195121952vw), 4rem);
  color: var(--MAIN);
  font-weight: bold;
  /* opacity: 0.2; */
  line-height: 1.25;
  /* margin-bottom: -0.4em; */
  text-transform: uppercase;
}
/* .lib-hero__title-en::first-letter {
  text-transform: uppercase;
} */
