@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-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.--contain img {
  object-fit: contain;
}

/*---------- 角丸 ----------*/
[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-rounded-img {
  border-radius: 100rem !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.--contain {
    background-size: contain;
}
.p-bg.--center {
  background-position: center !important;
}
/* 疑似要素のファンデーション */
.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;
}
.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);
}
.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;
}

/* ==================================
改行
===================================== */
.br-pc {
  display: inline;
}
.br-sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .br-sp {
      display: inline;
  }
  .br-pc {
      display: none;
  }
}

/* ==================================
フォントサイズ
===================================== */
.fs-100 {
  font-size: 6.25rem;
}
.fs-100-40 {
  font-size: clamp( 2.5rem, calc( 0.625rem + 7.5vw ), 6.25rem );
}
.fs-100-30 {
  font-size: clamp( 1.875rem, calc( -0.3125rem + 8.75vw ), 6.25rem );
}
.fs-40-30 {
  font-size: clamp( 30px, calc( 25px + 1.25vw ), 40px );
}
.fs-70-40 {
  font-size: clamp( 2.5rem, calc( 1.5625rem + 3.75vw ), 4.375rem );
}
.fs-60-40 {
  font-size: clamp( 2.5rem, calc( 1.875rem + 2.5vw ), 3.75rem );
}
.fs-60-30 {
  font-size: clamp( 1.875rem, calc( 0.9375rem + 3.75vw ), 3.75rem );
}
@media only screen and (min-width: 767px) {
  .fs-md-50 {
      font-size: 3.125rem;
  }
  .fs-md-60 {
      font-size: 3.75rem;
  }
}
@media only screen and (min-width: 992px) {
  .fs-lg-56 {
    font-size: 3.5rem;
  }
  .fs-lg-60 {
      font-size: 3.75rem;
  }
  .fs-lg-70 {
    font-size: 4.375rem;
  }
  .fs-lg-120 {
    font-size: 7.5rem;
  }
}

/* ==================================
幅
===================================== */
.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;
}

/* ==================================
テキストシャドウ
===================================== */
.text-shadow {
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}

/* ==================================
ふわっと
===================================== */
.scroll-up {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(100px);
  transition: all 1s;
}
.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/* ========================================
common
======================================== */
body {
    font-weight: 500;
    background-color: #FAFBF9;
}
.bg-opacity-wht {
    background-color: rgba(255, 255, 255, .7);
}
/* タイトル装飾 */
.circle-title {
    padding-left: 20px;
    position: relative;
}
.circle-title::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-color: var(--MAIN);
    border-radius: 10px;
}
.text-wht.circle-title::before {
    background-color: var(--WHT);
}
/* ボタン装飾 */
.lib-link__btn {
    border-radius: 100px;
    justify-content: start;
    padding-left: 30px;
    padding-right: 30px;
}
.ico-before-circle {
    position: relative;
}
.ico-before-circle::before {
    position: absolute;
    content: "";
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    background-color: var(--WHT);
    border-radius: 10px;
    width: 10px;
    height: 10px;
}
.ico-before-circle:hover:before, .bg-wht.ico-before-circle::before {
    background-color: var(--MAIN);
}
.bg-wht.ico-before-circle:hover:before {
    background-color: var(--WHT);
}
.bg-gry.ico-before-circle:hover:before {
    background-color: var(--GRY);
}
/* CTAボタン */
.border-wht[class*=__btn].bg-wht.border-wht {
    border-color: var(--WHT) !important;
}
/* ナビゲーション */
.lib-nav__btn {
    font-weight: 500;
}
/* TEL */
a[href^="tel:"]:hover {
    opacity: .6;
}
@media only screen and (min-width: 768px) {
    :where(.lib-link__btn).sizeM {
        min-height: 60px;
    }
}

/* ==================================
ヘッダー
===================================== */

@media only screen and (min-width: 992px) {
    .lib-header__logo img {
        width: 150px;
    }
    .lib-header__outer.lib-header-BS03 {
        width: auto;
        right: 0;
        left: auto;
        padding: 0 40px;
    }
    .lib-header__outer.lib-header-BS03 .lib-header__bar {
        position: relative;
    }
    .lib-header__outer.lib-header-BS03 .lib-nav__panel {
        width: fit-content;
        padding-left: 40px;
    }
    .lib-header__outer.lib-header-BS03 .lib-nav__list>li~li {
        margin-left: 40px;
    }
    .lib-header__outer.lib-header-BS03 .lib-nav__btn {
        position: relative;
    }
    .lib-header__outer.lib-header-BS03 .lib-nav__btn::before {
        content: "";
        position: absolute;
        top: 40%;
        left: -12px;
        width: 10px;
        height: 10px;
        background-color: var(--MAIN);
        border-radius: 10px;
        transform: translateY(-50%);
    }
}
@media only screen and (max-width: 991px) {
    .lib-header__logo {
        padding-left: 20px;
    }
}

/* ========================================
フッター
======================================== */
footer .lib-footer__outer.bg-wht {
    border-radius: 3rem 3rem 0 0;
}
.lib-footer__title>a {
    padding-left: 20px;
    position: relative;
    font-size: 1.25rem;
    border: none;
    background-color: var(--WHT);
}
.lib-footer__title>a::before {
    position: absolute;
    content: "";
    background-color: var(--LACC);
    width: 10px;
    height: 10px;
    border-radius: 10px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.lib-footer__other {
    box-shadow: none;
    border: none;
}
.lib-footer__other>li {
    width: 100%;
    border: none;
}
.lib-footer__other>li a {
    font-weight: 400;
    font-size: 1rem;
    padding-left: 20px;
}
.lib-footer__other>li a::before {
    position: absolute;
    content: "";
    background-color: var(--LACC);
    width: 10px;
    height: 10px;
    border-radius: 10px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
@media only screen and (min-width: 992px) {
    .lib-footer__title:not(:has(.lib-footer__list)) {
        margin-top: 50px;
    }
    .lib-footer__item~li, .lib-footer__item {
        margin-top: 20px;
    }
    .lib-footer__list {
        padding-left: 20px;
    }
    .lib-footer__other>li {
        margin-top: 10px;
    }
}
@media only screen and (max-width: 767px) {
    .lib-footer__child {
        width: 100%;
        padding-left: 10px;
    }
}


/* ========================================
TOP
======================================== */
/* mv */
.top-mv .lib-fv__inside {
  position: absolute;
  bottom: 10%;
  left: 0;
}
.top-mv::before {
    position: absolute;
    content: "";
    width: 50%;
    height: 80%;
    background: url(/dcms_media/image/top-bg01.png) center / contain no-repeat;
    top: -10%;
    left: -30%;
    z-index: 1;
}
.top-mv::after {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    background: url(/dcms_media/image/top-bg02.png) center / contain no-repeat;
    bottom: -25%;
    right: -20%;
    z-index: 1;
}
.top-mv .lib-fv__thumb {
    height: 90vh;
}
.top-mv .lib-fv__thumb img {
    border-radius: 0 0 3rem 3rem;
}
@media only screen and (max-width: 767px) {
    .top-mv::before {
        top: -45%;
        left: -10%;
        transform: rotate(60deg);
    }
    .top-mv .lib-fv__inside {
      left: 50%;
      transform: translateX(-50%);
      width: 90%;
    }
    .top-mv .fs-h1 {
      font-size: 1.5rem !important;
      line-height: 1.25 !important;
    }
    .top-mv .lib-fv__thumb {
        height: 70vh;
    }
}

/* service */
.top-service::before {
    position: absolute;
    content: "";
    width: 50%;
    height: 70%;
    background: url(/dcms_media/image/top-bg03.png) center / contain no-repeat;
    top: 20%;
    left: -28%;
    z-index: -1;
}
.top-service::after {
    position: absolute;
    content: "";
    width: 60%;
    height: 80%;
    background: url(/dcms_media/image/top-bg04.png) center / contain no-repeat;
    bottom: -40%;
    right: -25%;
    z-index: -1;
}
.top-service .lib-card__thumb {
    position: relative;
    overflow: visible;
}
.top-service .lib-card__thumb::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--LACC);
    transform: rotate(5deg);
    top: 0;
    left: 0;
    border-radius: 1rem !important;
}
.top-service .lib-card__thumb img {
    position: relative;
    border-radius: 1rem !important;
}

/* company */
.top-company {
    border-radius: 0 3rem 0 0;
}
.top-company::before {
    position: absolute;
    content: "";
    width: 50%;
    height: 80%;
    background: url(/dcms_media/image/top-bg05.png) center / contain no-repeat;
    bottom: -35%;
    left: -20%;
    z-index: 0;
}
.top-company .lib-card__thumb {
    position: relative;
    overflow: visible;
}
.top-company .lib-card__thumb::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: url(/dcms_media/image/top-company-bg.png) center / cover no-repeat;
    transform: rotate(-6deg) translateX(20px);
    top: 0;
    left: 0;
    border-radius: 1rem !important;
}
.top-company .lib-card__thumb img {
    position: relative;
    border-radius: 1rem !important;
}

/* recruit */
.top-recruit {
    border-radius: 3rem 0 0 3rem;
    background-repeat: repeat;
    z-index: auto;
}
.top-recruit::before {
    position: absolute;
    content: "";
    width: 40%;
    height: 60%;
    background: url(/dcms_media/image/top-bg06.png) center / contain no-repeat;
    top: 10%;
    right: -25%;
    z-index: 1;
}
.top-recruit::after {
    position: absolute;
    content: "";
    width: 50%;
    height: 50%;
    background: url(/dcms_media/image/top-bg07.png) center / contain no-repeat;
    bottom: -25%;
    left: -25%;
}
.top-recruit .lib-horizon__row .lib-card__thumb {
    position: relative;
    overflow: visible;
}
.top-recruit .lib-horizon__row .lib-card__thumb::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--WHT);
    transform: rotate(5deg);
    top: 0;
    left: 0;
    border-radius: 1rem !important;
}
.top-recruit .lib-horizon__row .lib-card__thumb img {
    position: relative;
    border-radius: 1rem !important;
}

@media only screen and (max-width: 767px) {
    .top-recruit::before {
        width: 80%;
        height: 80%;
        top: 0%;
        right: -55%;
    }
}

/* ========================================
CTA
======================================== */
.common-cta::before {
    position: absolute;
    content: "";
    width: 50%;
    height: 80%;
    background: url(/dcms_media/image/top-bg08.png) center / contain no-repeat;
    top: 0%;
    right: -25%;
    z-index: 1;
}
.common-cta::after {
    position: absolute;
    content: "";
    width: 50%;
    height: 60%;
    background: url(/dcms_media/image/top-bg09.png) center / contain no-repeat;
    bottom: -25%;
    left: -25%;
    z-index: -1;
}
.common-cta .p-bg {
    background-size: 50%;
    background-position-x: 110%;
}
@media only screen and (max-width: 767px) {
    .common-cta .p-bg {
        background-size: 110%;
        background-position-x: -80%;
        background-position-y: 95%;
        padding-bottom: 500px !important;
    }
}

/* ========================================
下層
======================================== */
.lib-cnt-021__btn:before, .lib-cnt-021__panel:before {
  border-radius: 100px;
}
.lib-cnt-021__btn:before {
  background-color: var(--WHT);
  color: var(--DEF);
  border: 2px solid var(--MAIN);
}
.lib-flow-001__col:nth-child(3n):after {
  display: block;
}
.company-block .lib-cnt-protrude__outer>*>[class*=__txtarea].bg-lother:before {
  background-color: #FEFFF9;
}
@media only screen and (max-width: 991px) {
  .lib-cnt-017__table>dt {
    border-bottom: var(--GRY) 1px solid;
    padding: .5rem 0;
  }
  .lib-cnt-017__table>dd {
    padding: .5rem 0;
  }
}
/* ========================================
数字で見る
======================================== */
.data-block .p-bg {
  background-size: 45%;
  background-position: 20%;
}
@media only screen and (max-width: 767px) {
  .data-block .p-bg {
    background-size: 35%;
  }
  .data-block .lib-card__txtarea {
    padding: 1.5rem;
  }
}