@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-nunitosans {
  font-family: "Nunito Sans", sans-serif;
}

/* 明朝とか */
.ff-notoserif {
  font-family: "Noto Serif JP", serif;
}
.ff-yumincho {
  font-family: "Yu Mincho", "YuMincho", serif;
}
.ff-yujiboku {
font-family: "Yuji Boku", 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;
}

/* メディア一覧の画像 */
.media-post__thumb img {
    aspect-ratio: 16 / 9;
    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-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;
}

/* ==================================
幅
===================================== */
.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);
}

/*---------- BMパーツの調整 ----------*/
/* 疑似要素の削除 */
.no-before>li::before,
.no-after::after {
  content: unset !important;
}


/* ==================================
ヘッダー
===================================== */

[class*="u-rounded-"].--lb-only {
  border-top-right-radius: unset !important;
  border-bottom-right-radius: unset !important;
  border-top-left-radius: unset !important;
}

@media print, screen and (min-width: 992px) {
.lib-header__outer.lib-header-BS02 .lib-induce__outer {
  height: 87px;
}

.lib-header__outer {
  height: 87px;
}
}

.is-scroll .lib-header__inner {
  background-color: var(--WHT);
}

/*MV*/
@media print, screen and (min-width: 992px) {
#wrapper:has(.lib-header-BS02) {
  padding-top: 87px;
}
}

@media print, screen and (min-width: 576px) {
  .lib-fv__thumb {
  height: 744px;
}
}

.swiper-pagination-bullet {
  border-radius: 0;
}

.lib-fv__inside {
  padding-bottom: 60px;
}

/* .lib-swiper__btn.--next.swiper-button-next
.lib-swiper__btn.--prev.swiper-button-prev  {
  display: none;
} */

/*【SP】*/
@media print, screen and (max-width: 991px) {
.lib-nav__panel {
  width: 75%;
  min-height: 400px;
  height: auto;
}

.lib-nav__item {
  border-top: none;
  border-bottom: 1px solid var(--GRY);
}

.lib-nav__list {
-webkit-box-shadow: none;
 box-shadow: none;
 border-bottom: 0;
}
}

/* #wrapper {
padding-top: 0px;
} */

/* .lib-menu__btn>.line {
  background-color: var(--DEF);
} */

.is-open .lib-nav__btn[aria-expanded]:after {
  display: none;
}

.lib-induce__btn .inhide {
  display: none !important;
}

.lib-menu__btn {
  background-color: rgba(255,255,255,0.7);
  border: none;
}

.lib-menu__btn>.line {
  background-color: var(--MAIN);
}

.lib-header__bar {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.is-scroll .lib-header__outer.lib-header-BS02 .lib-nav__outer:not(:has(.lib-search__outer)):not(:has(.lib-lang__outer)):not(:has(.lib-utility__outer)):not(:has(.lib-induce__outer)) .lib-nav__list {
  margin-top: 10px;
  margin-bottom: 0;
}

@media print, screen and (min-width: 992px) {
.lib-header__outer.lib-header-BS02 .lib-nav__btn {
  padding-bottom: 10px;
}

.is-scroll .lib-header__outer.lib-header-BS02 .lib-nav__outer:not(:has(.lib-search__outer)):not(:has(.lib-lang__outer)):not(:has(.lib-utility__outer)):not(:has(.lib-induce__outer)) .lib-nav__list {
  margin-bottom: 0;
}
}

.lib-header__outer .button01 {
  min-width: 160px;
  background: linear-gradient(to right, #1DA58F, #40A2B6);
  border: none;
}

.lib-header__outer .button02 {
  min-width: 160px;
  background: linear-gradient(to right, #50C9E8, #014490);
  border: none;
}



/* ========================================
フッター
======================================== */
.lib-footer__logo {
  width: 175px;
}

.lib-footer__outer {
  border-top: none;
}

.lib-footer__guidance>li~li:before {
  background-color: var(--WHT);
}

/* 【SP】 */
.lib-footer__list {
    display: block;
}

.lib-footer__title>a {
  border-top: none;
  border-bottom: none;
  background-color: transparent;
}


.lib-footer__copyright {
  right: 0;
  bottom: 12px;
}


@media print, screen and (max-width: 768px) {
.lib-footer__copyright {
  top: 0%;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
}
}

/* ========================================
CTA
======================================== */

/* ========================================
TOP
======================================== */
#contents {
  padding-top: 0 !important;
}

.opacity-90 {
  opacity: 90%;
}

/*ボタン*/
.c-arrow-round {
	width: 1.75em;
	height: 1.75em;
	/* background-color: var(--color-main); */
	border: 1px solid currentColor;
	transition: all .3s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
a:hover .c-arrow-round {
	/* background-color: #fff; */
}
a:hover .c-arrow-round.--scaleup {
	transform: scale(1.1);
}

.c-arrow {
	transition: all .3s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	/* border: 1px solid var(--DGRY); */
	/* border-radius: 50%; */
	/* padding: 0.25em; */
}
.c-arrow::before,
.c-arrow::after {
	content: "";
	background-color: currentColor;
	border-radius: 50rem;
	transition: all .3s ease-in-out;
}
.c-arrow.--r::before {
	content: "";
	width: 1px;
	height: .5em;
	transform: translateX(-0.1875em) rotate(-45deg);
}
.c-arrow.--l {
	align-items: flex-start;
}
.c-arrow.--l::before {
	content: "";
	width: 2px;
	height: .5em;
	transform: translateX(0.1875em) rotate(45deg);
}
.c-arrow::after {
	content: "";
	width: 1.125em;
	height: 1px;
	transform: translateY(-2px);
}
a:hover .c-arrow::before,
a:hover .c-arrow::after {
	/* background-color: var(--color-main); */
}

@media print, screen and (max-width: 992px) {
.is-open .nav-c-arrow-round {
	width: 1.75em;
	height: 1.75em;
	/* background-color: var(--color-main); */
	border: 1px solid currentColor;
	transition: all .3s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
a:hover .is-open .nav-c-arrow-round {
	/* background-color: #fff; */
}
a:hover .nav-c-arrow-round.--scaleup {
	transform: scale(1.1);
}

.is-open .nav-c-arrow {
	transition: all .3s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	/* border: 1px solid var(--DGRY); */
	/* border-radius: 50%; */
	/* padding: 0.25em; */
}
.is-open .nav-c-arrow::before,
.is-open .nav-c-arrow::after {
	content: "";
	background-color: currentColor;
	border-radius: 50rem;
	transition: all .3s ease-in-out;
}
.is-open .nav-c-arrow.--r::before {
	content: "";
	width: 1px;
	height: .5em;
	transform: translateX(-0.1875em) rotate(-45deg);
}
.is-open .nav-c-arrow.--l {
	align-items: flex-start;
}
.is-open .nav-c-arrow.--l::before {
	content: "";
	width: 2px;
	height: .5em;
	transform: translateX(0.1875em) rotate(45deg);
}
.is-open .nav-c-arrow::after {
	content: "";
	width: 1.125em;
	height: 1px;
	transform: translateY(-2px);
}
a:hover .is-open .nav-c-arrow::before,
a:hover .is-open .nav-c-arrow::after {
	/* background-color: var(--color-main); */
}
}

/* 背景白・矢印グレー */
.c-arrow-round.--gry  {
	/* background-color: #fff; */
  border: 1px solid var(--DGRY);
}
.--gry .c-arrow::before,
.--gry .c-arrow::after {
	background-color: var(--DGRY);
}
a:hover .c-arrow-round.--gry,
a:hover .c-arrow-round.--gry {
	background-color: var(--DGRY);
}

a:hover .c-arrow-round.--gry .c-arrow::before,
a:hover .c-arrow-round.--gry .c-arrow::after {
	background-color: #fff;
}

@media print and (hover: hover) and (pointer: fine), screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
.border-main[class*=__btn].bg-wht:hover {
  border-color: var(--WHT);
}
}

.lib-link__btn.--bl{
background-image: linear-gradient(265deg, black, transparent);
}

.lib-link__btn.--bl:hover {
	border: 2px solid var(--MAIN)
}

.lib-link__btn.--bl:hover .c-arrow-round {
    background-color: #fff;
}

/*見出し*/
@media print, screen and (min-width: 768px) {
.fs-67 {
  font-size: 67px;
}
}

@media print, screen and (min-width: 991px) {
  .fs-md-48 {
    font-size: 48px;
  }
  }


/*=================
投資用物件情報
===================*/
.investment::before {
  content: "INVESTMENT\AOBJECTS";
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translate(-50%);
  font-size: 8rem;
  font-weight: 800;
  color: var(--LMAIN);
  pointer-events: none;
  line-height: 8rem;
}

@media print, screen and (max-width: 768px) {
.investment::before {
  content: "INVESTMENT\AOBJECTS";
  position: absolute;
  top: -12%;
  left: 50%;
  transform: translate(-50%);
  font-size: 3rem;
  font-weight: 800;
  color: var(--LMAIN);
  pointer-events: none;
  line-height: 3rem;
}
}

/*swiper*/
/* .mySwiper {
  width: 100%;
  height: 300px; 
  padding: 50px 0; 
} */

.mySwiper .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  flex-direction: column; /* 画像とテキストを縦に並べる */

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /*スライドに影を追加 */
  border-radius: 10px; /* 角を丸くする */
  overflow: hidden; /* 角丸に合わせて画像をクリップ */
  /* transform: scale(0.5); 非アクティブなスライドを小さく表示 */
  transition: transform 0.3s ease-in-out;
  position: relative;
  /* background-image: linear-gradient(0deg, #00f, transparent); */
}

/* .mySwiper .swiper-slide::after {
  content: ''; 
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%; 
  background: -moz-linear-gradient(top right, transparent 50%, #00428D);
  background: -webkit-linear-gradient(top right, transparent 50%, #00428D);
  background: linear-gradient(to bottom left, transparent 50%, #00428D);
  
} */

.mySwiper .swiper-slide-active {
  transform: scale(1); /* アクティブなスライドを元のサイズで表示 */
}

.mySwiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 300px; /* 画像の高さを固定 */
  object-fit: cover; /* 画像の比率を維持してコンテナに収める */
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.mySwiper .apartment-name {
  margin-top: 10px;
  padding: 10px;
  font-size: 1.2em;
  color: var(--WHT);
  font-weight: bold;
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  /* background-color: var(--MAIN);
  box-shadow: 0px 11px 20px 46px var(--MAIN); */
}

@media print, screen and (max-width: 768px) {
.mySwiper .apartment-name {
  font-size: 0.8em;
}
}

.mySwiper .lib-swiper__pagination {
  display: none;
}

.lib-blog-001 .lib-media__slider .swiper-wrapper .lib-media__txtarea {
  display: none;
}

/* アクティブなスライドのz-indexを強制的に前面に設定 */
.swiper-slide.swiper-slide-active {
  z-index: 10 !important;
}

/* スライドの親要素にz-indexが設定されている場合、それよりも高く設定 */
.swiper-wrapper {
  z-index: auto !important;
}

.lib-media__thumb.lib-card__thumb::before {
  content: '';
  position: absolute;
  /* z-index: 2; */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(top right, transparent 50%, #00428D);
  background: -webkit-linear-gradient(top right, transparent 50%, #00428D);
  background: linear-gradient(to bottom left, transparent 50%, #00428D);
}


/*=================
採用情報
===================*/
.lib-anchor__list .lib-link__btn[class*=justify-content-][class*=ico-after-]>.txt {
  padding-left: 3px;
}

.img-bottom {
  margin-top: -10%;
}

/* ナビゲーションボタンのスタイル調整 */
.mySwiper .swiper-button-next,
.mySwiper .swiper-button-prev {
  color: #007aff; /* ボタンの色 */
  background-color: rgba(255, 255, 255, 0.8); /* 半透明の背景 */
  border-radius: 50%; /* 丸い形 */
  width: 40px; /* ボタンの幅 */
  height: 40px; /* ボタンの高さ */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.mySwiper .swiper-button-next::after,
.mySwiper .swiper-button-prev::after {
  font-size: 20px; /* アイコンのサイズ */
}

/* ページネーションのスタイル調整 */
.mySwiper .swiper-pagination-bullet {
  background-color: #ccc; /* 通常のドットの色 */
  opacity: 1;
}

.mySwiper .swiper-pagination-bullet-active {
  background-color: #007aff; /* アクティブなドットの色 */
}

/* レスポンシブ対応 (例: スマートフォンでの表示調整) */
@media (max-width: 768px) {
  .mySwiper .swiper-slide {
      transform: scale(0.9);
  }
  .mySwiper .swiper-slide-active {
      transform: scale(1);
  }
}

/*0626スライダー差し替え*/
.lib-media__title {
  position: absolute;
  bottom: 5%;
  left: 2%;
  z-index: 2;
  font-size: 20px;
}

.lib-media__title a {
  color: var(--WHT);
}

.lib-media__txt {
  display: none;
}

.lib-media__time {
  display: none;
}

.lib-media__thumb .thumb {
  height: 100%;
}

.lib-media__thumb.lib-card__thumb .thumb {
  max-height: 100%;
}

/* .lib-swiper__pagination {
  display: none !important;
} */

.lib-swiper__btn.--prev.swiper-button-prev
.lib-swiper__btn.--prev.swiper-button-next{
	display: none !important;
}

@media print, screen and (min-width: 768px) {
.lib-fv__control {
  bottom: 60px;
}
}

.lib-swiper__btn:after {
  color: var(--DEF);
}

.lib-media__slider .lib-swiper__control {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  gap: 30rem;
}

@media print, screen and (max-width: 768px) {
  .lib-media__slider .lib-swiper__control {
    gap: 15rem;
  }
}

.lib-media__slider {
  position: relative;
}

/*=============
お知らせ
================*/
.lib-rss__list .chip {
border-radius: 0.5rem !important;
}

.lib-rss__date {
  color: var(--DGRY);
  font-family: "Poppins", sans-serif;
}





/* ========================================
下層
======================================== */
/*タイトル*/
@media print, screen and (min-width: 768px) {
  .fs-md-60
  {
    font-size: 60px;
  }
  }

  @media print, screen and (min-width: 992px) {
  #wrapper:has(.lib-header-BS02) .lib-hero__outer {
    min-height: 250px;
}
  }

/* 会社情報 */
:where(table) th, :where(table)>thead {
  border: none;
  background-color: transparent;
  color: var(--DEF);
}

:where(table) tbody>tr>th:first-child {
  border-left-color: transparent;
}

:where(table) td {
  border: none;
}

/*事業内容*/
.business .lib-fv__inside {
  max-width: 550px;
}

@media print, screen and (min-width: 576px) {
.business .lib-fv__thumb {
  height: 500px;
}
}

/*不動産事業*/
@media print, screen and (min-width: 992px) {
.lib-flow-001__title {
  font-size: 1.2rem;
}
}


@media print, screen and (min-width: 768px) {
.lib-flow-001__col::after {
  border-top-color: var(--MAIN);
}
}

.fs-16 {
  font-size: 16px !important;
}

/*job*/
@media print, screen and (min-width: 992px) {
.lib-timeline__txt .title {
  font-size: 1.2rem;
}
}

/*環境を知る*/
.fs-80 {
  font-size: 80px;
}

.outer-frame-container {
  position: relative; /* 子要素の絶対配置の基準 */
  padding-top: 20px; /* 重なり部分のスペース確保 (必要に応じて調整) */
  /* margin: 100px; 外側の余白 (必要に応じて調整) */
}

.outer-frame {
  border: 2px solid var(--MAIN); /* 枠線のスタイル */
  padding: 20px; /* 内側の余白 */
  border-radius: 5px; /* 角の丸み */
}

.free-sample-text {
  position: absolute;
  top: 7px; /* 上からの位置を調整して枠線の上に配置 */
  left: 50%; /* 水平方向の中央に配置 */
  transform: translateX(-50%); /* 中央揃えのための調整 */
  background-color: white; /* 背景色を枠線と同じか、より目立つ色に */
  padding: 0 10px; /* テキスト左右の余白 */
}

/*採用情報*/
/* .filter::before {
  filter: blur(5px);
  inset: 0;
  width: 100%;
  height: 100%;
} */

.wht-btn {
  border: var(--WHT) 1px solid;
}

.p-bg.--wh.--w::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--WHT);
  opacity: 0.6;
}

@media print, screen and (min-width: 768px) {
.h-md-50 {
height: 50% !important;
}
}

/* ぼかしフィルター（強さはstyleでCSS変数を書き換える） */
.p-bg.--blur {
  --blur: 0.5rem;
}
.p-bg.--blur::after {
  inset: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(var(--blur));
}

.lib-sld-001 .lib-swiper__btn:after {
  color: var(--WHT);
}

/*数字で見る齋藤組*/
.fs-50 {
  font-size: 50px;
}

.fs-60 {
  font-size: 60px;
}

.fs-70 {
  font-size: 70px;
}

.fs-80 {
  font-size: 80px;
}

.fs-90 {
  font-size: 90px;
}

.fs-100 {
  font-size: 100px;
}

.fs-130 {
  font-size: 130px;
}

.fs-155 {
  font-size: 155px;
}

.fs-200 {
  font-size: 200px;
}

.fs-260 {
  font-size: 260px;
}

@media print, screen and (min-width: 992px) {
.fs-lg-20 {
  font-size: 20px;
}
}

@media print, screen and (min-width: 768px) {
  .fs-md-30 {
    font-size: 30px;
  }

  .fs-md-50 {
    font-size: 50px;
  }

.fs-md-60 {
  font-size: 60px;
}

.fs-md-70 {
  font-size: 70px;
}

.fs-md-80 {
  font-size: 80px;
}

.fs-md-90 {
  font-size: 90px;
}

.fs-md-100 {
  font-size: 100px;
}

.fs-md-130 {
  font-size: 130px;
}

.fs-md-155 {
  font-size: 155px;
}

.fs-md-200 {
  font-size: 200px;
}

.fs-md-260 {
  font-size: 260px;
}
}

@media print, screen and (min-width: 1130px) {
  .fs-xxl-30 {
    font-size: 30px;
  }

.fs-xxl-155 {
  font-size: 155px;
}

.fs-xxl-200 {
  font-size: 200px;
}
}


.max-h-100 img {
  max-height: 100px;
}

@media print, screen and (min-width: 768px) {
  .max-h-md-150 img {
    max-height: 150px;
  }

.max-h-md-200 img {
  max-height: 200px;
}
}

.design01 {
  position: relative;
}

.design01::before {
  content: '';
  position: absolute;
  top: 5%;
  left: 4%;
  width: 60%;
  height: 60%;
  background-image: url('/dcms_media/image/design01.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

.design02 {
  position: relative;
}

.design02::before {
  content: '';
  position: absolute;
  top: 0%;
  left: 73%;
  width: 60%;
  height: 60%;
  background-image: url('/dcms_media/image/design014.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

/* 縦書き */
.vertical-text {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  text-orientation: upright;
}

/*ピンク文字色*/
.gradient-text {
  /* 背景に線形グラデーションを適用 */
  background: linear-gradient(-135deg, #ff9ca0, #ffc6d0);

  /* 背景をテキストの形状にクリップ */
  -webkit-background-clip: text; /* Safariおよび旧版Chrome用 */
  background-clip: text;

  /* テキストの色を透明に設定し、背景のグラデーションを表示 */
  -webkit-text-fill-color: transparent; /* Safariおよび旧版Chrome用 */
  color: transparent; /* 標準的な方法（一部ブラウザでフォールバックとして機能） */
}

:where(.border-p-set) {
  border: #ffe1e9 1px solid
}


/*新着情報*/
/* ==================================
メディア
===================================== */
/*---------- カテゴリー ----------*/
.lib-media__category .badge[href*="investment"] {
  background-color: #009bed;
  border-color: #009bed;
  color: var(--DEF);
}
.lib-media__category .badge[href*="investment"]:hover {
  border-color: #009bed;
  background-color: transparent;
  color: var(--DEF);
}

.lib-media__category .badge[href*="sold"] {
  background-color: #cecece;
  border-color: #cecece;
  color: var(--DEF);
}
.lib-media__category .badge[href*="sold"]:hover {
  border-color: #cecece;
  background-color: transparent;
  color: var(--DEF);
}

.lib-media__category .badge[href*="news"] {
  background-color: #f8b62a;
  border-color: #f8b62a;
  color: var(--DEF);
}
.lib-media__category .badge[href*="news"]:hover {
  border-color: #f8b62a;
  background-color: transparent;
  color: var(--DEF);
}

.lib-media__category .badge[href*="purchase"] {
  background-color: #76c8c6;
  border-color: #76c8c6;
  color: var(--DEF);
}
.lib-media__category .badge[href*="purchase"]:hover {
  border-color: #76c8c6;
  background-color: transparent;
  color: var(--DEF);
}

.lib-media__category .badge[href*="information"] {
  background-color: #D00;
  border-color: #D00;
  color: var(--WHT);
}
.lib-media__category .badge[href*="information"]:hover {
  border-color: #D00;
  background-color: transparent;
  color: var(--DEF);
}

/*社員インタビュー*/
@media print, screen and (min-width: 768px) {
.w-md-25 {
  width: 25% !important;
}
}