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

.g-fixarea .g-fixarea-footer .g-fixarea-footer__item {
  background-color: #6c4698;
}
.g-gmap {
  padding: 0px;
}
/*共通*/
.post-content h2 {
  background-color: #6c4698;
}
.u-font-sc {
  color: #6c4698;
}
.u-font-kc {
  color: #6c4698;
}
.c-headline-leftbig .c-headline-leftbig__sttl {
  color: #6c4698;
}
.p-common-news .p-common-news__ttl::before {
  color: #6c4698;
}
.c-table-prof tr td {
  color: #6c4698;
}

.c-card__item-date {
  background-color: #6c4698;
}

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

/* レスポンシブビデオスタイル */
#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: #6c4698;
}

.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;
}

@media screen and (max-width: 767px) {
  .c-faq__item-ttl {
    text-indent: -30px;
    padding-left: 10px;
  }
  .c-faq__item-body {
    padding-right: 0;
  }
  .c-faq__item-body-txt {
    padding: 10px;
  }
  .c-visual .c-visual__ttl {
    font-size: 8vw;
    text-shadow: 2px 1px 4px #000;
  }
  .c-visual .c-visual__sttl {
    text-shadow: 1px 1px 2px #000;
  }
}

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

@media (max-width: 991.98px) {
  .ueno-mgu {
    padding: 20px;
    border-radius: 16px;
  }
}

/* セクション背景のメリハリ */
.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)
  );
}

/* ヘッダー */
.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 {
  margin: 0 0 6px 0;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 900;
  opacity: 0.65;
}
.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;
  font-size: 15px;
  line-height: 1.9;
  opacity: 0.92;
}
.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;
}
