@charset "UTF-8";
/*ヘッダー*/
.g-header .g-header__resv {
  background-color: #0a81e4;
}
.g-header .g-header__nav-btn {
  background-color: #000000;
}
.g-header .g-header__nav {
  background-color: #000000;
}
.c-visual-sub {
  margin-top: 0;
}
.c-visual-sub .c-visual-sub__inner {
  height: 250px;
}
.g-nav .g-nav__list .nav-link:before {
  background: linear-gradient(#0a81e4, #0a81e4) right bottom / 0 1px no-repeat;
}
.g-nav .g-nav__list .nav-link:hover {
  color: #0a81e4;
}
.g-nav .lower .js-close__btn {
  background-color: #000000;
}
.c-visual-sub .c-visual-sub__ttl:before {
  color: #0a81e4;
}
.c-visual-sub .c-visual-sub__ttl {
  margin-top: 90px;
  color: #fff;
}
.c-visual-sub .c-visual-sub__ttl:before {
  top: 90px;
}
/*トップコンテンツ*/
.c-label {
  background-color: #0a81e4;
}
.rotate3d .center {
  background-color: rgb(0 0 0 / 20%);
}

.p-trainer-card {
  height: 100%;
  background: #fff;
  border: 1px solid #d9e7f5;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.p-trainer-card__image {
  margin-bottom: 0;
}

.p-trainer-card__src {
  --ratio: 85%;
  --ratio-lg: 85%;
}

.p-trainer-card__body {
  padding: 28px 24px;
}

.p-trainer-card__label {
  color: #0068b7;
}

/*フッター*/
.g-pagetop a {
  background: #0a81e4;
}
.g-fixarea .contact--1 {
  background-color: #0a81e4;
}

.g-fixarea .g-fixarea-footer .g-fixarea-footer__item {
  background-color: #0a81e4;
}
.g-gmap {
  padding: 0px;
}

.p-top-cta {
  --height: 600px;
}

.p-top-cta__btn--faq {
  --bc: #0068b7;
  --color: #fff;
  --border: #0068b7;
  --background-color: #0068b7;
}

.p-top-cta__btn--contact {
  --bc: #0068b7;
  --color: #fff;
  --border: #0068b7;
  --background-color: #0068b7;
}

/*共通*/
.post-content h2 {
  background-color: #0a81e4;
}
.u-font-sc {
  color: #0a81e4;
}
.u-font-kc {
  color: #0a81e4;
}
.c-headline-leftbig .c-headline-leftbig__sttl {
  color: #0a81e4;
}
.p-common-news .p-common-news__ttl::before {
  color: #0a81e4;
}
.c-table-prof tr td {
  color: #0a81e4;
}

.c-card__item-date {
  background-color: #0a81e4;
}

.c-headline__type3 {
  border-left: 6px solid #0a81e4;
}

/* レスポンシブビデオスタイル */
#video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9のアスペクト比を維持 */
}

#video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-aside h3 {
  background-color: #0a81e4;
}

.c-card__item-body {
  padding: 10px;
}

.c-card__item-link {
  padding: 0;
}

/* 施工事例 詳細（全件）に効かせる場合 */
body.single-case .slick-slider .slick-track,
body.single-case .slick-slider .slick-list {
  transform: unset !important;
}

.c-visual .c-visual__ttl {
  text-shadow: 2px 1px 4px #000;
}
.c-visual .c-visual__sttl {
  text-shadow: 2px 1px 2px #000;
}
.g-nav .g-nav__list .nav-link {
  padding: 10px 0px 10px 0.5vw;
}

/* .c-box{
  background-color: #0a81e4;
} */

.contain {
  background-size: contain !important;
}

.c-faq .accordion-item {
  border-radius: 12px;
  overflow: hidden;
}

.c-faq .accordion-button {
  padding: 1.25rem 1.5rem;
  background: #f5f9ff;
  box-shadow: none;
}

.c-faq .accordion-button:not(.collapsed) {
  background: #f5f9ff;
  color: inherit;
  box-shadow: none;
}

.c-faq .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.c-faq .accordion-body {
  padding: 1.5rem;
  background: #fff;
}

.c-faq .c-faq__item-body-txt p:last-child {
  margin-bottom: 0;
}
/* =========================
   Memorial Garden Ueno UI (WIDE + TYPO)
   既存CSSと被りにくい専用クラス：ueno-mgu-*
========================= */

.ueno-mgu {
  border-radius: 20px;
  padding: 34px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.07);
}

.c-postmeta__cat {
  background: #0a81e4;
}

/* ヘッダー */
.ueno-mgu__head {
  margin-bottom: 18px;
}
.ueno-mgu__eyebrow {
  font-size: 12px;
  letter-spacing: 0.16em;
  font-weight: 800;
  opacity: 0.7;
  margin: 0 0 8px 0;
}
.ueno-mgu__title {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 10px 0;
}
.ueno-mgu__lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  opacity: 0.9;
}
.ueno-mgu__lead-strong {
  font-weight: 900;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}

@media (max-width: 575.98px) {
  .ueno-mgu__title {
    font-size: 22px;
  }
  .ueno-mgu__lead {
    font-size: 14px;
  }
}

/* カード（強弱：Kicker→Title→Text） */
.ueno-mgu__card {
  position: relative;
  border-radius: 18px;
  padding: 18px 18px 16px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

.ueno-mgu__card--feature {
  background: rgba(255, 255, 255, 0.92);
}
.ueno-mgu__card--recommend {
  background: rgba(241, 245, 249, 0.92);
}

.ueno-mgu__card-kicker {
  font-weight: 900;
  color: #0a81e4;
}
.ueno-mgu__card-ttl {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}
.ueno-mgu__card-txt {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.95;
  opacity: 0.92;
}

/* バッジ */
.ueno-mgu__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 11px;
  font-weight: 900;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(104, 65, 151, 0.12);
  color: rgba(46, 28, 72, 1);
  border: 1px solid rgba(104, 65, 151, 0.18);
}

/* note（補足） */
.ueno-mgu__note-ttl {
  margin: 0 0 10px 0;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.35;
}
.ueno-mgu__note-txt {
  margin: 0 0 18px 0;
}
.ueno-mgu__note-strong {
  font-weight: 900;
  opacity: 1;
  background: linear-gradient(transparent 60%, rgba(255, 190, 73, 0.55) 0);
  padding: 0 0.15em;
}

/* CTAの余白を整える（ボタン自体のデザインは既存クラスに任せる） */
.ueno-mgu__cta {
  display: inline-flex;
  align-items: center;
}

.c-table th {
  background-color: rgb(0 117 241 / 10%);
}

.p-contact .g-form,
.p-recruit-contact .g-form {
  border: unset !important;
}

@media screen and (min-width: 992px) {
  .c-visual .c-visual__catchcopy {
    top: 200px !important;
  }
}

@media (max-width: 992px) {
  .ueno-mgu {
    padding: 20px;
    border-radius: 16px;
  }
  .c-visual .c-visual__catchcopy {
    top: 100px;
  }

  /* セクション背景のメリハリ */
  .ueno-mgu--feature {
    background: linear-gradient(
      180deg,
      rgba(104, 65, 151, 0.1),
      rgba(255, 255, 255, 1)
    );
  }
  .ueno-mgu--recommend {
    background: linear-gradient(
      180deg,
      rgba(0, 104, 183, 0.1),
      rgba(255, 255, 255, 1)
    );
  }
  .ueno-mgu--note {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.04),
      rgba(255, 255, 255, 1)
    );
  }
}

@media (min-width: 768px) {
  .t-kv-image {
    --ratio: 300px;
  }
}
