@charset "UTF-8";

:root {
  --bl: #000;
  --gray-02: #ccc;
  --grad-01: linear-gradient(90deg, var(--MAIN) 0%, var(--LMAIN) 100%);
  --grad-01-rev: linear-gradient(270deg, var(--MAIN) 0%, var(--LMAIN) 100%);
  --grad-02: linear-gradient(90deg, var(--LACC) 0%, var(--ACC) 100%);
  --grad-02-rev: linear-gradient(270deg, var(--LACC) 0%, var(--ACC) 100%);
  --grad-03: linear-gradient(90deg, var(--LOTH) 0%, var(--OTH) 100%);
  --grad-03-rev: linear-gradient(270deg, var(--LOTH) 0%, var(--OTH) 100%);
  --transition: all 0.3s ease-in-out;
  --oversize: calc((100% - 100vw) / 2);
}

/* ==================================
リセット・調整・ファンデーション
===================================== */
/* 高さを画像自体の高さにする */
:where(img) {
  /* max-width: 100%; */
  height: auto;
  vertical-align: bottom;
}

/* 下層ページの画像に共通のアスペクト比設定 */
/* :where(#dcms_layoutPageBlock) :where(img) {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
} */

/*---------- アクセシビリティ ----------*/
/* アイコンをスクリーンリーダーに読み上げられないようにする */
i,
[class*="material-icons"],
[class*="material-symbols"] {
  speak: none;
}
/*---------- マテリアルアイコンのフォントサイズを親要素から継承させる ----------*/
/*[class*="material-icons"],
[class*="material-symbols"] {
  font-size: inherit;
}*/

/*---------- ボタンのアイコンを「→」に変更 ----------*/
/* :where(.lib-link__btn):not([class*="ico-after-"]):not([class*="ico-before-"]) > .txt:after {
  content: "\ea03";
  font-size: 1em;
} */

/* ==================================
タイポ
===================================== */
/* ゴシックとか */
.ff-notosans {
  font-family: "Noto Sans JP", serif;
}
.ff-zenkaku {
  font-family: "Zen Kaku Gothic Antique", serif;
}
.ff-lato {
  font-family: "Lato", sans-serif;
  /* letter-spacing: 0.05rem; */
}
.ff-oswald {
  font-family: "Oswald", sans-serif;
}
.ff-poppins {
  font-family: "Poppins", sans-serif;
}
.ff-zenmarugo {
  font-family: "Staatliches", sans-serif;
}
.ff-montserrat {
  font-family: "Montserrat", sans-serif;
}
.ff-staatliches {
  font-family: "Zen Maru Gothic", sans-serif;
}
.ff-m-plus-rounded-1c {
  font-family: "M PLUS Rounded 1c", sans-serif;
  transform: rotate(0.07deg);
}
/* 明朝とか */
.ff-notoserif {
  font-family: "Noto Serif JP", serif;
}
.ff-yumincho {
  font-family: "Yu Mincho", "YuMincho", serif;
}

/* font-weight */
.fw-600 {
  font-weight: 600 !important;
}
.fw-800 {
  font-weight: 800 !important;
}
.fw-900 {
  font-weight: 900 !important;
}

/* ==================================
ユーティリティー
===================================== */
/*---------- 字幅 ----------*/
.u-l-0 {
  letter-spacing: 0;
}
.u-l-1 {
  letter-spacing: 1px;
}
.u-l-2 {
  letter-spacing: 2px;
}
.u-l-3 {
  letter-spacing: 3px;
}
.u-l-4 {
  letter-spacing: 4px;
}
.u-l-5 {
  letter-spacing: 5px;
}

/*---------- 画像の比率 ----------*/
.u-aspect img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.u-aspect.--4x3 img {
  aspect-ratio: 4 / 3;
}
.u-aspect.--16x9 img {
  aspect-ratio: 16 / 9;
}
.u-aspect.--21x9 img {
  aspect-ratio: 21 / 9;
}
.u-aspect.--1x1 img {
  aspect-ratio: 1 / 1;
}
.u-aspect.--2x1 img {
  aspect-ratio: 2 / 1;
}
.u-aspect.--3x1 img {
  aspect-ratio: 3 / 1;
}
.u-aspect.--4x1 img {
  aspect-ratio: 4 / 1;
}
.u-aspect.--7x8 img {
  aspect-ratio: 7 / 8;
}
.u-aspect.--9x16 img {
  aspect-ratio: 9 / 16;
}
.u-aspect.--3x4 img {
  aspect-ratio: 3 / 4;
}
.u-aspect.--3x4 img {
  aspect-ratio: 3 / 4;
}

/* 画像全体を枠内に入れたいとき */
.u-aspect.--contain img {
  object-fit: contain;
}

/* メディア一覧の画像 */
.media-post__thumb img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/*---------- 角丸 ----------*/
[class*="u-rounded-"] {
  overflow: hidden;
}
.u-rounded-_25 {
  border-radius: 0.25rem !important;
}
.u-rounded-_5 {
  border-radius: 0.5rem !important;
}
.u-rounded-_75 {
  border-radius: 0.75rem !important;
}
.u-rounded-1 {
  border-radius: 1rem !important;
}
.u-rounded-1_5 {
  border-radius: 1.5rem !important;
}
.u-rounded-1_25 {
  border-radius: 1.25rem !important;
}
.u-rounded-2 {
  border-radius: 2rem !important;
}
.u-rounded-3 {
  border-radius: 3rem !important;
}
[class*="u-rounded-"].--t-only {
  border-bottom-right-radius: unset !important;
  border-bottom-left-radius: unset !important;
}
[class*="u-rounded-"].--b-only {
  border-top-right-radius: unset !important;
  border-top-left-radius: unset !important;
}
[class*="u-rounded-"].--r-only {
  border-top-left-radius: unset !important;
  border-bottom-left-radius: unset !important;
}
[class*="u-rounded-"].--l-only {
  border-top-right-radius: unset !important;
  border-bottom-right-radius: unset !important;
}

/*---------- はみ出させる ----------*/
.u-over {
  margin-inline: var(--oversize);
}
/* 右に */
.u-r-over {
  margin-right: var(--oversize);
}
@media print, screen and (min-width: 768px) {
  .u-r-md-over {
    margin-right: var(--oversize);
  }
}
@media print, screen and (min-width: 992px) {
  .u-r-lg-over {
    margin-right: var(--oversize);
  }
}
/* 左に */
.u-l-over {
  margin-left: var(--oversize);
}
@media print, screen and (min-width: 768px) {
  .u-l-md-over {
    margin-left: var(--oversize);
  }
}
@media print, screen and (min-width: 992px) {
  .u-l-lg-over {
    margin-left: var(--oversize);
  }
}

/*---------- Swiper ----------*/
/* 滑らかに */
.u-swiper-liner .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

/* ========================================
パーツ
======================================== */
/*---------- アイコン（アイコンフォント想定。大きさはp-*やfs-*、個別にwidth・height指定して調整。） ----------*/
.c-icon {
  aspect-ratio: 1 / 1;
  speak: none;
}
.c-icon img {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  speak: none;
}

/*---------- アイコンとテキスト（ボタンによく使う） ----------*/
/* 余白の微調整は「gap-*」 */
.c-icon-text {
  display: grid !important;
  grid-template-columns: repeat(2, auto);
  column-gap: 0.5em;
  justify-content: center;
  align-items: center;
}
/* アイコンだけ右寄せ */
.c-icon-text.--r {
  grid-template-columns: 1fr auto;
}
/* アイコンだけ左寄せ */
.c-icon-text.--l {
  grid-template-columns: auto 1fr;
}
@media print, screen and (min-width: 992px) {
  .c-icon-text {
    column-gap: 1em;
  }
}

/*---------- 背景のベース ----------*/
/* 背景画像を敷く場合、
   背景画像に各色のフィルターをかける場合
   疑似要素を配置したいときのベース */
.p-bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 1;
}
/* 疑似要素のファンデーション */
.p-bg::before,
.p-bg::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: inherit;
  pointer-events: none;
  speak: none;
}
/* 黒透明フィルター */
.p-bg.--bl::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--bl);
  opacity: 0.3;
}
/* 白透明フィルター */
.p-bg.--wh::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--WHT);
  opacity: 0.3;
}
/* メインカラーフィルター */
.p-bg.--main::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--MAIN);
  opacity: 0.3;
}
.p-bg.--lmain::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--LMAIN);
  opacity: 0.3;
}
/* アクセントカラーフィルター */
.p-bg.--accent::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--ACC);
  opacity: 0.3;
}
.p-bg.--laccent::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--LACC);
  opacity: 0.3;
}
/* 補助色カラーフィルター */
.p-bg.--other::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--OTH);
  opacity: 0.3;
}
.p-bg.--lother::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--LOTH);
  opacity: 0.3;
}
/* 色の濃さ（opacity） */
.p-bg.--light::before {
  opacity: 0.1;
}
.p-bg.--md::before {
  opacity: 0.5;
}
.p-bg.--strong::before {
  opacity: 0.7;
}
.p-bg.--strongest::before {
  opacity: 0.9;
}

/*---------- ホバーアクション ----------*/
.c-hover {
  transition: var(--transition);
  color: inherit;
  text-decoration: none;
}
.c-hover:hover {
  text-decoration: none;
}
/*---------- 下線がつく ----------*/
.c-hover.--underline:hover {
  text-decoration: underline;
}
/*---------- LMAINの背景色がつく----------*/
.c-hover.--bg-main:hover {
  background-color: var(--MAIN);
}
.c-hover.--bg-accent:hover {
  background-color: var(--ACC);
}
.c-hover.--bg-other:hover {
  background-color: var(--OTH);
}
.c-hover.--bg-lmain:hover {
  background-color: var(--LMAIN);
}
.c-hover.--bg-laccent:hover {
  background-color: var(--LACC);
}
.c-hover.--bg-lother:hover {
  background-color: var(--LOTH);
}
.c-hover.--bg-gry:hover {
  background-color: var(--GRY);
}
.c-hover.--bg-lgry:hover {
  background-color: var(--LGRY);
}
/*---------- 透過する（0.8） ----------*/
.c-hover.--opacity:hover {
  opacity: 0.8;
}
/*---------- 少し上に浮く ----------*/
.c-hover.--up:hover {
  transform: translateY(-0.125rem);
}
/*---------- 画像が拡大する ----------*/
.c-hover.--scale-up img {
  transition: var(--transition);
}
.c-hover.--scale-up:hover img {
  transform: scale(1.1);
}

/*---------- レイアウト ----------*/
/* display: grid;で重ねる */
.l-overlap {
  display: grid;
}
.l-overlap > * {
  grid-area: 1 / -1;
}
.c-hover.--overlap .--after {
  opacity: 0;
  transition: var(--transition);
}
.c-hover.--overlap:hover .--after {
  opacity: 1;
}
#tinymce .l-overlap > *,
.editor_block .l-overlap > * {
  grid-area: unset !important;
  z-index: 1 !important;
  opacity: 1 !important;
}

/* 子要素を中央配置 */
/* 縦 */
.l-v-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* 縦横中央 */
.l-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* フォントサイズ */

@media print, screen and (min-width: 992px) {
  .fs-lg-46 {
    font-size: 2.875rem;
  }
}

/* ==================================
幅
===================================== */
.w-90 {
  width: 90% !important;
}
.w-80 {
  width: 80% !important;
}
.w-70 {
  width: 70% !important;
}
.w-60 {
  width: 60% !important;
}
.w-50 {
  width: 50% !important;
}
.w-40 {
  width: 40% !important;
}
.w-30 {
  width: 30% !important;
}
.w-20 {
  width: 20% !important;
}
.w-10 {
  width: 10% !important;
}

/* ==================================
グラデーション
===================================== */
.grad-color {
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-fill-color: transparent !important;
}
.text-grad-01 {
  background: linear-gradient(90deg, #ff534c 0%, #ff7354 100%);
  color: transparent;
}
.bg-grad-01 {
  background: -moz-linear-gradient(65deg, #ff534c, #ff7354); 
  background: -webkit-linear-gradient(65deg, #ff534c, #ff7354); 
  background: linear-gradient(25deg, #ff534c, #ff7354); 
}
.border-main {
  border-color: var(--MAIN) !important;
}

/* ==================================
テキストシャドウ
===================================== */
.text-shadow {
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}


/* ==================================
ヘッダー
===================================== */
.lib-header__outer.lib-header-BS01 .lib-header__logo {
  width: 100px !important;
  margin-left: 1rem;
}
.lib-header__logo img {
  width: 100px !important;
}
.logo-text {
  font-size: clamp(1.5rem, calc(0.75rem + 3vw), 3rem);
}
.lib-header__outer {
  background-color: transparent;
  height: auto;
}
.lib-header__outer.lib-header-BS01 .lib-header__bar {
  box-shadow: none;
  height: auto;
  background-color: transparent;
}
.lib-header__outer.lib-header-BS01 .lib-induce__outer>li {
  width: auto;
}
@media print, screen and (min-width: 576px) {
  .lib-header__outer.lib-header-BS01 .lib-induce__btn .txt {
    font-size: clamp( 1rem, calc( 0.75rem + 1vw ), 1.5rem );
  }
}
@media print, screen and (min-width: 992px) {
  .lib-header__inner {
    width: 90% !important;
  }
  .lib-header__outer.lib-header-BS01 {
    height: 80px !important;
    top: 1.5rem !important;
  }
  .lib-header__outer.lib-header-BS01 .lib-header__bar {
    padding: 0;
  }
  .lib-header__outer.lib-header-BS01 .lib-header__nav {
    max-width: none;
    height: auto;
  }
  .lib-header__outer.lib-header-BS01 .lib-header__logo {
    width: 180px !important;
  }
  .lib-header__outer.lib-header-BS01 .lib-header__logo img {
    width: 200px !important;
  }
  .lib-header__outer.lib-header-BS01 .lib-header__logo a {
    background-color: transparent;
    box-shadow: none;
  }
  .lib-header__outer.lib-header-BS01 .lib-induce__outer>li {
    width: auto;
  }
  .lib-header__outer.lib-header-BS01 .lib-induce__btn, .is-scroll .lib-header__outer.lib-header-BS01 .lib-induce__btn {
    height: 80px;
    flex-direction: row;
  }
  .h-btn-02 a {
    border-radius: 0 2rem 0 2rem;
  }
}

@media print, screen and (min-width: 576px) and (max-width: 991.8px) {
  .lib-header__outer.lib-header-BS01 .lib-induce__outer:has(>li:nth-child(1):nth-last-child(1)) {
    width: auto;
  }
}
@media print, screen and (max-width: 991px) {
  .h-btn-01 a {
    border-radius: 0 0 1rem 1rem !important;
    height: 60px;
  }
  .h-btn-01 a .txt {
    flex-direction: column;
    align-items: center;
    line-height: 0.6;
  }
  .lib-header__outer.lib-header-BS01 .lib-induce__outer>li .lib-induce__btn {
    flex-direction: row;
    border-radius: 0 0 0 1rem;
  }
}
@media print, screen and (max-width: 575px) {
  
  .lib-header__outer.lib-header-BS01 .lib-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-left: auto;
  }
  .lib-induce__outer {
    margin-top: 0;
  }
  .lib-header__clone {
    display: block;
  }
}


/* ========================================
フッター
======================================== */
.lib-footer__outer.lib-footer-BS01 .lib-footer__logo {
  line-height: normal;
}
.lib-footer__title>a {
  border: none;
  background-color: transparent;
}
footer .lib-anchor__list .lib-link__btn:hover .txt:after {
  transform: none;
}

/* ========================================
TOP
======================================== */
.common-title {
  font-size: clamp( 1.75rem, calc( 1.125rem + 2.5vw ), 3rem );
}
/* mv */
/* mv text */
.top-mv .lib-fv__inside {
  top: 20%;
  left: 15%;
  letter-spacing: 5px;
}
.top-mv .mv-text-01 {
  font-size: clamp( 2.25rem, calc( 1.25rem + 4vw ), 4.25rem );
}
.top-mv .mv-text-02 {
  font-size: clamp( 2rem, calc( 1.1875rem + 3.25vw ), 3.625rem );
}
/* bg-img */
.mv-bg img {
  -webkit-box-shadow: var(--bs-box-shadow) !important;
  box-shadow: var(--bs-box-shadow) !important;
}
/* bg-text */
.top-mv .bg-text {
  top: 45%;
  left: 20%;
}
@media print, screen and (max-width: 1440px) and (min-width: 768px) {
  .top-mv .bg-text img {
    width: 70%;
  }
}
/* mv-campaign */
.top-mv .mv-campaign {
  bottom: 0%;
  left: 10%;
}
.top-mv .mv-campaign::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .3);
  top: 0;
  left: 0;
  border-radius: 1rem !important;
}
.top-mv .mv-campaign.text-shadow {
  text-shadow: 2px 2px 2px rgba(156, 144, 223, 0.4);
}
.top-mv .text-01 {
  font-size: clamp( 1.75rem, calc( 1.1875rem + 2.25vw ), 2.875rem );
}
.top-mv .text-02 {
  font-size: clamp( 2.625rem, calc( 1.8125rem + 3.25vw ), 4.25rem );
}
.top-mv .text-03 {
  font-size: clamp( 6.375rem, calc( 4.375rem + 8vw ), 10.375rem );
}
.top-mv .text-04 {
  font-size: clamp( 2.875rem, calc( 1.9375rem + 3.75vw ), 4.75rem );
}

@media print, screen and (max-width: 1024px) {
  .top-mv {
    padding-bottom: 80px;
  }
  .top-mv .mv-campaign {
    bottom: -10%;
    left: 50%;
    transform: translateX(-50%);
    width: 65%;
  }
  .top-mv .lib-fv__inside {
    top: 10%;
    left: 10%;
  }
  .top-mv .bg-text {
    top: 40%;
    width: 40%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-mv {
    padding-bottom: 50px;
    margin-top: 60px;
  }
  .top-mv .lib-fv__inside {
    top: 1%;
    left: 10%;
  }
  .top-mv .bg-text {
    top: 19%;
    left: 50%;
  }
  .top-mv .mv-bg img {
    aspect-ratio: 2 / 3;
  }
  .top-mv .mv-campaign {
    bottom: -5%;
    width: 85%;
  }
  .top-mv .mv-campaign .lh-base {
    line-height: 1.2 !important;
  }
}

/* about */
.top-about-title-01 {
  font-size: clamp( 1.625rem, calc( 1rem + 2.5vw ), 2.875rem );
}
.top-about-title-02 {
  font-size: clamp( 3.5rem, calc( 2.5625rem + 3.75vw ), 5.375rem );
}
.top-about .bg-text {
  bottom: 20%;
  left: 45%;
  transform: translateX(-50%);
  width: 35%;
}
.top-about .d-grid {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
.top-about .grid-01 {
  grid-area: 2 / 1 / 4 / 3;
}
.top-about .grid-02 {
  grid-area: 4 / 1 / 6 / 3;;
}
.top-about .grid-03 {
  grid-area: 1 / 3 / 7 / 4; 
}
.top-about .grid-02 h3 {
  background-color: rgba(255, 255, 0, 0.3);
  display: inline-block;
}
@media print, screen and (max-width: 1024px) {
  .top-about .title-02 {
    margin-top: 1.5rem;
  }
  .top-about .bg-text {
    bottom: 10%;
    width: 45%;
  }
  .top-about .d-grid {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(6, 1fr);
  }
  .top-about .grid-01 {
    grid-area: 1 / 1 / 4 / 7;
  }
  .top-about .grid-02 {
    grid-area: 4 / 1 / 7 / 5;
  }
  .top-about .grid-03 {
    grid-area: 4 / 5 / 7 / 7;
  }
}
@media print, screen and (max-width: 767px) {
  .top-about .title-02 {
    margin-top: -1.5rem;
  }
  .top-about .bg-text {
    bottom: 5%;
    left: 60%;
    width: 80%;
  }
  .top-about .d-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(8, 1fr);
  }
  .top-about .grid-01 {
    grid-area: 1 / 1 / 3 / 2;
  }
  .top-about .grid-02 {
    grid-area: 7 / 1 / 9 / 2;
  }
  .top-about .grid-03 {
    grid-area: 3 / 1 / 7 / 2;
  }
}


/* voice */
.top-voice {
  border-radius: 1rem 1rem 0 0;  
}
.top-voice .bg-text {
  top: 20%;
  right: 55%;
  width: 25%;
}
.top-voice .u-aspect img {
  object-position: top;
}
.loop-slider {
  overflow: hidden;
}
.loop-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.voice-text {
  bottom: 0;
  left: 0;
  border-radius: 0 1rem 0 1rem;
}
.bg-img {
  overflow: visible;
}
.bg-img img {
  border-radius: 1rem;
}
.bg-img::before {
  position: absolute;
  content: "";
  background: -moz-linear-gradient(65deg, #ff534c, #ff7354); 
  background: -webkit-linear-gradient(65deg, #ff534c, #ff7354); 
  background: linear-gradient(25deg, #ff534c, #ff7354); 
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  bottom: -1rem;
  left: -1rem;
  z-index: -1;
}
@media print, screen and (max-width: 1024px) {
  .voice-text.w-60 {
    width: 80% !important;
  }
  .top-voice .bg-text {
    top: 0%;
    right: 50%;
    width: 30%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-voice .bg-text {
    top: 20%;
    right: 45%;
    width: 50%;
  }
}

/* reason */
.top-reason {
  border-radius: 1rem 1rem 0 0;  
}
.top-reason .bg-text {
  top: 10%;
  right: 30%;
  width: 30%;
}
.top-reason :where(.lib-link__btn)[class*=justify-content-][class*=ico-after-]>.txt:after {
  display: none !important;
}
.top-reason .lib-link__btn .txt::before {
  content: "";
  position: absolute;
  background: -moz-linear-gradient(65deg, #ff534c, #ff7354); 
  background: -webkit-linear-gradient(65deg, #ff534c, #ff7354); 
  background: linear-gradient(25deg, #ff534c, #ff7354);
  width: 80%;
  height: 9px;
  border-radius: 10px;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%); 
}
.top-reason .lib-link__btn:hover .material-symbols-outlined,
.top-reason .lib-link__btn:hover .txt::before {
  background: var(--WHT);
}
@media print, screen and (max-width: 991px) {
  .top-reason .bg-text {
    top: 0%;
    right: 10%;
    width: 40%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-reason .bg-text {
    top: 10%;
    right: 0%;
    width: 70%;
  }
  .top-reason .lib-link__btn .txt::before {
    height: 5px;
    bottom: 23px;
  }
}


/* price */
.price-text {
  font-size: clamp( 4.5rem, calc( 4.25rem + 1vw ), 5rem );
}
.plan-border::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  background: -moz-linear-gradient(65deg, #ff534c, #ff7354); 
  background: -webkit-linear-gradient(65deg, #ff534c, #ff7354); 
  background: linear-gradient(25deg, #ff534c, #ff7354);
  bottom: 0;
  left: 0;
  border-radius: 3px;
}


/* comparison */
.top-comparison .comparison-table td, .top-comparison .comparison-table th {
  border: 4px solid var(--WHT);
}
.top-comparison .comparison-table .text {
  font-size: clamp( 1.5rem, calc( 0.75rem + 3vw ), 3rem );
}
.top-comparison .comparison-table .text.--company {
  font-size: clamp( 1.875rem, calc( 0.9375rem + 3.75vw ), 3.75rem );
}
.top-comparison .comparison-table .text.--number {
  font-size: clamp( 1.25rem, calc( 0.75rem + 2vw ), 2.25rem );
}
.top-comparison .grad::before {
  content: "";
  position: absolute;
    top: -3%;
    left: 0;
    width: 100%;
    height: 110%;
  border-radius: 1rem;
  background: -moz-linear-gradient(65deg, #ff534c, #ff7354); 
  background: -webkit-linear-gradient(65deg, #ff534c, #ff7354); 
  background: linear-gradient(25deg, #ff534c, #ff7354);
  z-index: -1;
}

.top-comparison [class*="bg-"] {
  height: 100px !important;
}
.top-comparison .bg-grad-01 {
  height: 60px !important;
}
@media print, screen and (min-width: 992px) {
  .lib-scroll__cover {
    overflow-x: hidden;
  }
}
@media print, screen and (max-width: 767px) {
  .top-comparison [class*="bg-"] {
    height: 80px !important;
  }  
}


/* flow */
.top-flow {
  border-radius: 1rem 1rem 0 0;  
}
.top-flow .bg-text {
  top: 25%;
  right: 15%;
  width: 20%;
}
.top-flow .bg-wht.shadow {
  margin-right: -10px;
  -webkit-box-shadow: 0 0.5rem 2rem rgba(255, 104, 81, 0.5) !important;
  box-shadow: 0 0.5rem 2rem rgba(255, 104, 81, 0.5) !important;
}
.top-flow .bg-wht.shadow:last-of-type {
  margin-right: 0;
}
.top-flow .bg-wht::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 23px solid #ffffff;
  border-right: 0;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  /*filter: drop-shadow(0 0.1rem 0.3rem rgba(255, 104, 81, 0.3)) !important;*/
}
.top-flow .bg-wht:last-of-type:before {
  display: none;
}
@media print, screen and (max-width: 991px) {
  .top-flow .bg-text {
    top: 0%;
    right: 10%;
    width: 30%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-flow .bg-text {
    top: 20%;
    left: 45%;
    width: 50%;
  }
  .top-flow .bg-wht::before {
    top: auto;
    bottom: -30px;
    transform: rotate(90deg) translateY(-50%);
    right: 53%;    
  }
}


/* faq */
.top-faq .lib-cnt-021__btn:before, .top-faq .lib-cnt-021__panel:before {
  background-color: transparent;
  color: var(--MAIN);
  font-size: clamp( 2.25rem, calc( 1.875rem + 1.5vw ), 3rem );
  height: 100%;
  top: 0;
}
.top-faq .lib-toggle__btn[aria-expanded]>.txt:after, 
.top-faq .lib-toggle__btn[aria-expanded]>.txt:before {
  background-color: var(--GRY);
  width: 44px;
}
.top-faq .lib-toggle__btn>.txt, .top-faq .lib-toggle__panel {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.top-faq .lib-toggle__outer {
  border: none;
}
.top-faq .bg-text {
  top: -100%;
  right: 10%;
  width: 20%;
}
.top-faq .lib-toggle__btn[aria-expanded]:hover {
  background-color: transparent;
}
.top-faq .lib-toggle__panel {
  border-top: var(--GRY) 1px solid;
}
@media print, screen and (max-width: 991px) {
  .top-faq .bg-text {
    top: -130%;
    right: 0%;
    width: 30%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-faq .bg-text {
    top: -30%;
    right: 10%;
    width: 35%;
  }
  .top-faq .lib-toggle__btn[aria-expanded]>.txt:after, .top-faq .lib-toggle__btn[aria-expanded]>.txt:before {
    width: 33px;
  }
}

/* contact */
.top-contact {
  border-radius: 1rem 1rem 0 0;  
}
.top-contact .bg-text {
  top: -3%;
  right: 50%;
  width: 20%;
}
.top-contact .bg-wht.shadow {
  margin-right: -20px;
  -webkit-box-shadow: 0 0.5rem 1rem rgba(255, 104, 81, 0.3) !important;
  box-shadow: 0 0.5rem 1rem rgba(255, 104, 81, 0.3) !important;
}
@media print, screen and (max-width: 991px) {
  .top-contact .bg-text {
    top: 0%;
    right: 35%;
    width: 30%;
  }
}
@media print, screen and (max-width: 767px) {
  .top-contact .bg-text {
    top: -1%;
    right: 10%;
    width: 35%;
  }
}

#wrapper {
  padding-top: 0;
}
.lib-hero__outer {
  padding-top: 60px;
}