@charset "UTF-8";

/* ==============================
  Tsukuba Owl Lions Club
  Common CSS
============================== */

:root {
  /* Color */
  --owl-blue: #00AFEC;
  --owl-yellow: #FFF100;
  --owl-gradient: linear-gradient(90deg, #00AFEC 0%, #FFF100 100%);

  --owl-text: #1a1a1a;
  --owl-muted: #666;
  --owl-white: #fff;
  --owl-light-blue: #EAF8FE;
  --owl-border: #D8EEF7;

  /* Radius */
  --owl-radius-sm: 10px;
  --owl-radius-md: 18px;
  --owl-radius-lg: 28px;
  --owl-radius-pill: 999px;

  /* Shadow */
  --owl-shadow-card: 0 12px 32px rgba(0, 175, 236, 0.14);
  --owl-shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.08);

  /* Layout */
  --owl-inner: 1120px;
  --owl-page-left: clamp(60px, 9vw, 165px);
  --owl-content-left: 12px;

  /* Heading */
  --owl-heading-en-size: 19px;
  --owl-heading-ja-size: clamp(21px, 2vw, 30px);
  --owl-heading-lead-size: 16px;
}

/* ==============================
  Section
============================== */

.owl-section {
  position: relative;
  padding: clamp(64px, 8vw, 112px) 0;
  background: var(--owl-white);
  color: var(--owl-text);
}

.owl-section--blue {
  background: var(--owl-light-blue);
}

.owl-section--gradient {
  background: var(--owl-gradient);
}

.owl-inner {
  width: min(100% - 40px, var(--owl-inner));
  margin-inline: auto;
}

@media (max-width: 767px) {
  .owl-inner {
    width: min(100% - 24px, var(--owl-inner));
  }
}

/* ==============================
  Section Title
  英語はp、日本語がh2
============================== */

.owl-section-title {
  margin-bottom: clamp(28px, 4vw, 52px);
}

.owl-section-title--center {
  text-align: center;
}

.owl-section-title__en {
  margin: 0 0 8px;
  color: var(--owl-blue);
  font-size: clamp(12px, 1.2vw, 15px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

.owl-section-title__ja {
  margin: 0;
  color: var(--owl-text);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.04em;
}

/* ==============================
  Text
============================== */

.owl-lead {
  margin: 0;
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 2;
  color: var(--owl-text);
}

.owl-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  color: var(--owl-text);
}

.owl-note {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--owl-muted);
}

/* ==============================
  Button
============================== */

.owl-button-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.owl-button-wrap--center {
  justify-content: center;
}

.owl-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: var(--owl-radius-pill);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    opacity 0.25s ease;
}

.owl-button:hover {
  transform: translateY(-2px);
  opacity: 0.92;
  text-decoration: none;
}

.owl-button--primary {
  background: var(--owl-gradient);
  color: var(--owl-text);
  box-shadow: var(--owl-shadow-card);
}

.owl-button--blue {
  background: var(--owl-blue);
  color: var(--owl-white);
  box-shadow: var(--owl-shadow-card);
}

.owl-button--outline {
  border: 2px solid var(--owl-blue);
  background: var(--owl-white);
  color: var(--owl-blue);
}

/* ==============================
  Common CTA Button
  FV・News共通CTA
============================== */

.owl-top-hero__button,
.owl-top-news__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(180px, 17vw, 255px);
  min-height: 41px;
  padding: 10px 46px 10px 24px;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.owl-top-hero__button::before,
.owl-top-news__button::before {
  content: none !important;
  display: none !important;
}

.owl-top-hero__button::after,
.owl-top-news__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #111;
  transform: translateY(-50%);
  transition: border-left-color 0.25s ease;
}

.owl-top-hero__button:hover,
.owl-top-news__button:hover {
  background: var(--owl-blue) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  opacity: 1;
  text-decoration: none;
}

.owl-top-hero__button:hover::after,
.owl-top-news__button:hover::after {
  border-left-color: #fff !important;
}

@media (max-width: 767px) {
  .owl-button,
  .owl-top-news__button {
    width: 100%;
    min-width: auto;
  }
}

/* ==============================
  Card
============================== */

.owl-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.4vw, 28px);
}

.owl-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--owl-radius-lg);
  background: var(--owl-white);
  box-shadow: var(--owl-shadow-card);
}

.owl-card__body {
  padding: clamp(20px, 2.8vw, 32px);
}

.owl-card__title {
  margin: 0 0 12px;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--owl-text);
}

.owl-card__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: var(--owl-muted);
}

@media (max-width: 1023px) {
  .owl-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .owl-card-grid {
    grid-template-columns: 1fr;
  }
}

/* ==============================
  Utility
============================== */

.owl-gradient-text {
  background: var(--owl-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.owl-hidden-sp {
  display: block;
}

.owl-hidden-pc {
  display: none;
}

@media (max-width: 767px) {
  .owl-hidden-sp {
    display: none;
  }

  .owl-hidden-pc {
    display: block;
  }
}

/* ==============================
  Header
  SWELL標準ヘッダー調整
============================== */

.l-header__bar {
  position: relative;
  min-height: 30px;
  background: var(--owl-gradient) !important;
  color: #fff;
  overflow: hidden;
}

.l-header__bar > * {
  visibility: hidden;
}

.l-header__bar::before {
  content: "〜 心ひとつに　笑顔広げる　愛ある奉仕　We Serve 〜";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: visible;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  pointer-events: none;
  z-index: 1;
}

.l-header {
  background: #fff;
  box-shadow: none;
}

/* PC Header */
@media (min-width: 960px) {
  .l-header__inner,
  .l-header__inner.l-container {
    display: flex !important;
    align-items: center !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 108px !important;
    padding-inline: clamp(48px, 4.2vw, 88px) !important;
  }

  .l-header__logo {
    flex: 0 0 auto !important;
    margin-right: 0 !important;
  }

  .c-headLogo {
    max-width: 520px;
  }

  .c-headLogo__link {
    color: var(--owl-text);
    font-size: clamp(24px, 2.1vw, 34px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0.04em;
    text-decoration: none;
  }

  .c-headLogo__img {
    width: auto;
    max-height: 76px;
  }

  .l-header__gnav {
    flex: 1 1 auto !important;
    display: flex !important;
    align-self: stretch !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    margin-left: clamp(56px, 7vw, 160px) !important;
  }

  .c-gnav {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin-left: auto !important;
    gap: clamp(24px, 2.4vw, 46px) !important;
  }

  .c-gnav > .menu-item {
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
  }

  .c-gnav > .menu-item > a {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 0 !important;
    gap: 2px !important;
    color: var(--owl-text);
    background: transparent !important;
    text-decoration: none !important;
  }

  .c-gnav > .menu-item > a .ttl {
    display: block;
    color: #111 !important;
    font-family:
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
  }

  .c-gnav > .menu-item > a .desc {
    display: block;
    margin-top: 0 !important;
    color: var(--owl-blue) !important;
    font-family:
      Georgia,
      "Times New Roman",
      "Yu Mincho",
      "YuMincho",
      serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
  }

  .c-gnav > .menu-item > a:hover .ttl,
  .c-gnav > .menu-item.current-menu-item > a .ttl,
  .c-gnav > .menu-item.current-menu-ancestor > a .ttl {
    color: var(--owl-blue) !important;
  }

  .c-gnav > .menu-item.current-menu-item > a .desc,
  .c-gnav > .menu-item.current-menu-ancestor > a .desc {
    color: var(--owl-blue) !important;
  }

  .c-gnav > .menu-item > a::after {
    background: var(--owl-gradient) !important;
  }
}

/* PC narrow */
@media (min-width: 960px) and (max-width: 1280px) {
  .l-header__inner,
  .l-header__inner.l-container {
    padding-inline: 32px !important;
  }

  .l-header__gnav {
    margin-left: 40px !important;
  }

  .c-gnav {
    gap: 22px !important;
  }

  .c-gnav > .menu-item > a .ttl {
    font-size: 13px !important;
  }

  .c-gnav > .menu-item > a .desc {
    font-size: 9px !important;
  }
}

/* SP Header */
@media (max-width: 959px) {
  .l-header__bar {
    min-height: 28px;
  }

  .l-header__bar::before {
    padding-inline: 12px;
    font-size: 11px;
    white-space: nowrap;
  }

  .l-header__inner {
    min-height: 68px;
  }

  .c-headLogo {
    max-width: 280px;
  }

  .c-headLogo__img {
    width: auto;
    max-height: 54px;
  }
}

/* ==============================
  Top Page Layout Reset
  ホーム固定ページ postid=20 専用
============================== */

#content.l-content.l-container[data-postid="20"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#content.l-content.l-container[data-postid="20"] .l-mainContent,
#content.l-content.l-container[data-postid="20"] .l-mainContent__inner,
#content.l-content.l-container[data-postid="20"] .post_content {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==============================
  Top Hero Fullwide Block
============================== */

#content.l-content.l-container[data-postid="20"] .owl-hero-fullwide,
.owl-hero-fullwide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#content.l-content.l-container[data-postid="20"] .owl-hero-fullwide > .swell-block-fullWide__inner,
.owl-hero-fullwide .swell-block-fullWide__inner,
.owl-hero-fullwide .swell-block-fullWide__body,
.owl-hero-fullwide .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==============================
  Top Hero
  TOPメインビジュアル
============================== */

.owl-top-hero {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(520px, 45vw, 720px);
  margin: 0 !important;
  overflow: hidden;
  background-image: var(--hero-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.owl-top-hero__inner {
  position: relative;
  width: 100%;
  min-height: inherit;
}

/* キャッチコピー */
.owl-top-hero__copy {
  position: absolute;
  top: clamp(22px, 3.2vw, 48px);
  left: var(--owl-page-left);
  z-index: 2;
}

.owl-top-hero__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(12px, 1.35vw, 20px);
  margin: 0;
  color: #fff;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.08em;
}

.owl-top-hero__line {
  display: inline-block;
  padding: 0.07em 0.28em 0.1em;
  background-image: linear-gradient(
    90deg,
    rgba(0, 175, 236, 0.9) 0%,
    rgba(255, 241, 0, 0.88) 100%
  );
  color: #fff;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(37px, 4.75vw, 78px);
  font-weight: 400;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.16);
}

.owl-top-hero__line--short {
  font-size: clamp(36px, 4.4vw, 73px);
}

.owl-top-hero__line--script {
  padding: 0.03em 0.36em 0.07em;
  font-family:
    "Snell Roundhand",
    "Brush Script MT",
    "Segoe Script",
    cursive;
  font-size: clamp(34px, 3.9vw, 65px);
  font-weight: 400;
  letter-spacing: 0.02em;
}

/* 10周年エンブレム */
.owl-top-hero__anniv {
  position: absolute;
  top: calc(clamp(22px, 3.2vw, 48px) - 30px);
  right: clamp(42px, 7vw, 120px);
  z-index: 3;
  width: clamp(130px, 14vw, 230px);
  height: auto;
  filter: drop-shadow(0 0 18px rgba(255, 241, 0, 0.72));
}

/* CTAボタン */
.owl-top-hero__buttons {
  position: absolute;
  left: var(--owl-page-left);
  bottom: clamp(44px, 6vw, 86px);
  z-index: 4;
  display: flex;
  gap: clamp(15px, 1.7vw, 26px);
  align-items: center;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .owl-top-hero {
    min-height: 560px;
    background-position: center center;
  }

  .owl-top-hero__copy,
  .owl-top-hero__buttons {
    left: 96px;
  }

  .owl-top-hero__copy {
    top: 32px;
  }

  .owl-top-hero__anniv {
    top: 24px;
    right: 28px;
    width: 130px;
  }

  .owl-top-hero__buttons {
    bottom: 42px;
  }
}

/* SP */
@media (max-width: 767px) {
  .owl-top-hero {
    min-height: 620px;
    background-position: center bottom;
  }

  .owl-top-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.04) 0%,
      rgba(255, 255, 255, 0.06) 45%,
      rgba(0, 0, 0, 0.18) 100%
    );
    pointer-events: none;
  }

  .owl-top-hero__copy {
    top: 32px;
    left: 18px;
    right: 18px;
  }

  .owl-top-hero__title {
    gap: 10px;
  }

  .owl-top-hero__line {
    max-width: 100%;
    font-size: clamp(29px, 9.3vw, 41px);
    line-height: 1.2;
    letter-spacing: 0.04em;
  }

  .owl-top-hero__line--short {
    font-size: clamp(29px, 9vw, 39px);
  }

  .owl-top-hero__line--script {
    font-size: clamp(29px, 8.5vw, 37px);
  }

  .owl-top-hero__anniv {
    top: auto;
    right: 18px;
    bottom: 150px;
    width: 100px;
  }

  .owl-top-hero__buttons {
    left: 18px;
    right: 18px;
    bottom: 28px;
    flex-direction: column;
    gap: 12px;
  }

  .owl-top-hero__button {
    width: 100%;
    min-width: auto;
    min-height: 42px;
    font-size: 13px;
  }
}

/* ==============================
  Top News
============================== */

.owl-news-fullwide {
  margin: 0 !important;
  padding: 0 !important;
}

/* セクション全体 */
.wp-block-group.owl-top-news.owl-section,
.owl-top-news {
  width: min(100% - 160px, 1200px);
  margin-inline: auto !important;
  padding-top: clamp(35px, 3.5vw, 50px) !important;
  padding-bottom: clamp(35px, 3.5vw, 50px) !important;
  background: #fff;
}

/* SWELLグループの余計なブロック間余白を抑える */
.wp-block-group.owl-top-news.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* 中の要素は親幅いっぱいにする */
.owl-top-news > .owl-inner,
.owl-top-news__list,
.owl-top-news__button-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ==============================
  Top News Heading
============================== */

.owl-top-news > .owl-inner:first-child {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.owl-top-news__title {
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

/* 英語 News */
.owl-top-news__title .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

/* SWELLや共通見出しの装飾線を消す */
.owl-top-news__title .owl-section-title__en::before,
.owl-top-news__title .owl-section-title__en::after,
.owl-top-news__title .owl-section-title__ja::before,
.owl-top-news__title .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* 日本語見出し＋リード */
.owl-top-news__title-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 36px !important;
}

/* 日本語 お知らせ */
.owl-top-news__title .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(21px, 2vw, 30px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

/* 当クラブ会員へのお知らせ */
.owl-top-news__lead {
  margin: 0 0 8px !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* ==============================
  Top News List
============================== */

.owl-top-news__list {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  border-top: 1px solid #111;
}

/* お知らせ1行 */
.owl-top-news__item {
  display: grid;
  grid-template-columns: 120px 1fr !important;
  gap: 14px !important;
  align-items: center;
  padding: 14px 0 !important;
  border-bottom: 1px solid #111;
  color: #111;
  text-decoration: none;
}

.owl-top-news__date,
.owl-top-news__text {
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(16px, 1.35vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.06em !important;
}

.owl-top-news__date {
  white-space: nowrap;
}

.owl-top-news__text {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.owl-top-news__item:hover,
.owl-top-news__item:hover .owl-top-news__date,
.owl-top-news__item:hover .owl-top-news__text {
  color: var(--owl-blue) !important;
  text-decoration: none;
}

/* ==============================
  Top News Button
============================== */

.owl-top-news > .owl-inner:last-child {
  margin-bottom: 0 !important;
}

.owl-top-news__button-wrap {
  width: 100% !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.owl-top-news__button {
  margin-left: 0 !important;
}

/* ==============================
  Top News SP
============================== */

@media (max-width: 767px) {
  .wp-block-group.owl-top-news.owl-section,
  .owl-top-news {
    width: min(100% - 36px, 100%);
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .owl-top-news__title-row {
    display: block !important;
  }

  .owl-top-news__lead {
    margin-top: 8px !important;
    font-size: 15px !important;
  }

  .owl-top-news__list {
    margin-bottom: 28px !important;
  }

  .owl-top-news__item {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 16px 0 !important;
  }

  .owl-top-news__date,
  .owl-top-news__text {
    font-size: 18px !important;
  }

  .owl-top-news__button {
    width: 100%;
    min-width: auto;
  }
}


/* ==============================
  Top Activity
============================== */

.owl-activity-fullwide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* セクション全体：背景は全幅 */
.wp-block-group.owl-top-activity.owl-section,
.owl-top-activity {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: clamp(32px, 3.5vw, 48px) !important;
  padding-bottom: clamp(32px, 3.5vw, 48px) !important;
  background: var(--owl-gradient);
  color: #fff;
}

/* SWELLグループの余計な余白を抑える */
.wp-block-group.owl-top-activity.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* 中身の幅：Newsに合わせる */
.owl-top-activity__inner,
.owl-top-activity__cards,
.owl-top-activity > .owl-top-activity__inner:last-child {
  width: min(100% - 160px, 1200px) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* ==============================
  Top Activity Heading
============================== */

.owl-top-activity__head {
  display: flex;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 10px !important;
}

/* 見出し側のタイトルラッパー */
.owl-top-activity__head > .owl-top-activity__title {
  flex: 0 0 auto;
}

.owl-top-activity__en {
  margin: 0 0 8px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400;
  line-height: 1.2 !important;
}

.owl-top-activity__ja {
  margin: 0;
  color: #fff;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400;
  line-height: 1.15 !important;
  letter-spacing: 0.04em;
}

.owl-top-activity__lead {
  margin: 0 0 8px;
  color: #fff;
  font-size: var(--owl-heading-lead-size) !important;
  font-weight: 700;
  line-height: 1.6 !important;
}

/* ==============================
  Top Activity Cards
============================== */

.owl-top-activity__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 1.6vw, 24px) !important;
}

.owl-top-activity__card {
  overflow: hidden;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.owl-top-activity__card-link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  color: #111;
  text-decoration: none;
}

.owl-top-activity__card-link:hover {
  color: #111;
  text-decoration: none;
}

/* 画像 */
.owl-top-activity__thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #cfcfcf;
}

.owl-top-activity__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.owl-top-activity__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: #cfcfcf;
}

/* 本文 */
.owl-top-activity__body {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 230px;
  padding: 24px 24px 56px !important;
  background: #fff;
}

.owl-top-activity__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 14px;
  padding: 5px 10px;
  background: var(--owl-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

/* カードタイトル：2行分の高さを確保して日付位置を揃える */
.owl-top-activity__body .owl-top-activity__title {
  min-height: calc(1.55em * 2) !important;
  margin: 0 0 10px !important;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55 !important;
}

/* 日付 */
.owl-top-activity__date {
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  color: var(--owl-blue);
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: 13px;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

.owl-top-activity__excerpt {
  margin: 0 !important;
  color: #111;
  font-size: 13px;
  line-height: 1.75;
}

/* 右下の丸矢印 */
.owl-top-activity__arrow {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 28px;
  height: 28px;
  border: 2px solid var(--owl-blue);
  border-radius: 50%;
}

.owl-top-activity__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--owl-blue);
  transform: translate(-35%, -50%);
}

/* ==============================
  Top Activity CTA
============================== */

.owl-top-activity > .owl-top-activity__inner:last-child .owl-top-activity__button-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 42px 0 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.owl-top-activity__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(180px, 17vw, 255px);
  min-height: 41px;
  margin-left: 0 !important;
  padding: 10px 46px 10px 24px;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.owl-top-activity__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #111;
  transform: translateY(-50%);
  transition: border-left-color 0.25s ease;
}

.owl-top-activity__button:hover {
  background: var(--owl-blue);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  text-decoration: none;
}

.owl-top-activity__button:hover::after {
  border-left-color: #fff;
}

/* ==============================
  Top Activity Responsive
============================== */

@media (max-width: 1023px) {
  .owl-top-activity__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .wp-block-group.owl-top-activity.owl-section,
  .owl-top-activity {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .owl-top-activity__inner,
  .owl-top-activity__cards,
  .owl-top-activity > .owl-top-activity__inner:last-child {
    width: min(100% - 36px, 100%) !important;
  }

  .owl-top-activity__head {
    display: block;
  }

  .owl-top-activity__lead {
    margin-top: 12px;
    font-size: 14px !important;
  }

  .owl-top-activity__cards {
    grid-template-columns: 1fr;
  }

  .owl-top-activity__button {
    width: 100%;
    min-width: auto;
  }
}


/* ==============================
  Top About
============================== */

.owl-about-fullwide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-group.owl-top-about.owl-section,
.owl-top-about {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: clamp(34px, 4vw, 56px) !important;
  padding-bottom: clamp(42px, 5vw, 72px) !important;
  background: #fff;
}

/* SWELLグループの余計な余白を抑える */
.wp-block-group.owl-top-about.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* 中身の幅：Activityと同じ幅 */
.owl-top-about__inner {
  width: min(100% - 160px, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 左右レイアウト */
.owl-top-about__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 500px !important;
  gap: clamp(40px, 5vw, 72px) !important;
  align-items: start !important;
}

/* ==============================
  Top About Text
============================== */

.owl-top-about__text {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.owl-top-about__title {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

.owl-top-about__title .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-top-about__title .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

/* SWELL見出し装飾を消す */
.owl-top-about__title .owl-section-title__en::before,
.owl-top-about__title .owl-section-title__en::after,
.owl-top-about__title .owl-section-title__ja::before,
.owl-top-about__title .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

.owl-top-about__lead-wrap {
  margin: 0 !important;
}

.owl-top-about__lead {
  margin: 0 0 1.35em !important;
  color: #111;
  font-size: clamp(15px, 1.3vw, 17px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

.owl-top-about__lead:last-child {
  margin-bottom: 0 !important;
}

/* ==============================
  Top About Button
============================== */

.owl-top-about__button-wrap {
  margin-top: 34px !important;
}

.owl-top-about__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(180px, 17vw, 255px);
  min-height: 41px;
  padding: 10px 46px 10px 24px;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.owl-top-about__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #111;
  transform: translateY(-50%);
  transition: border-left-color 0.25s ease;
}

.owl-top-about__button:hover {
  background: var(--owl-blue);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  text-decoration: none;
}

.owl-top-about__button:hover::after {
  border-left-color: #fff;
}

/* ==============================
  Top About Cards
============================== */

.owl-top-about__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.owl-top-about__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 216px;
  padding: 18px 16px 20px;
  border: 2px solid var(--owl-blue);
  border-radius: 18px;
  background: #fff;
  color: #111;
  box-shadow: 8px 10px 18px rgba(0, 0, 0, 0.14);
  text-align: center;
}

.owl-top-about__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 96px;
  margin-bottom: 14px;
}

.owl-top-about__icon img {
  display: block;
  max-width: 130px;
  max-height: 105px;
  width: auto;
  height: auto;
}

.owl-top-about__card-text {
  margin: 0;
  color: #111;
  font-size: clamp(15px, 1.3vw, 17px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

/* ==============================
  Top About Responsive
============================== */

@media (max-width: 1200px) {
  .owl-top-about__content {
    grid-template-columns: minmax(0, 1fr) 460px !important;
    gap: 48px !important;
  }

  .owl-top-about__card {
    min-height: 200px;
  }
}

@media (max-width: 1023px) {
  .owl-top-about__content {
    grid-template-columns: 1fr !important;
  }

  .owl-top-about__cards {
    max-width: 560px;
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .wp-block-group.owl-top-about.owl-section,
  .owl-top-about {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .owl-top-about__inner {
    width: min(100% - 36px, 100%) !important;
  }

  .owl-top-about__cards {
    grid-template-columns: 1fr;
  }

  .owl-top-about__card {
    min-height: 180px;
  }

  .owl-top-about__button {
    width: 100%;
    min-width: auto;
  }
}


/* ==============================
  Top Visit
============================== */

.owl-visit-fullwide {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: #d8f2ff !important;
}

.owl-visit-fullwide .swell-block-fullWide__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #d8f2ff !important;
}

/* 空の見出しが残っていた場合は非表示 */
.owl-visit-fullwide h2.wp-block-heading:empty,
.owl-visit-fullwide .wp-block-heading.is-style-section_ttl:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* セクション全体 */
.wp-block-group.owl-top-visit.owl-section,
.owl-top-visit {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(20px, 2.4vw, 32px) !important;
  background: #d8f2ff !important;
}

/* SWELLグループの余計な余白を抑える */
.wp-block-group.owl-top-visit.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* 中身の幅：Aboutと同じ幅 */
.owl-top-visit__inner {
  width: min(100% - 160px, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 左右レイアウト */
.owl-top-visit__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 500px !important;
  gap: clamp(40px, 5vw, 72px) !important;
  align-items: center !important;
}

/* ==============================
  Top Visit Text
============================== */

.owl-top-visit__text {
  margin: 0 !important;
  padding: 0 !important;
}

.owl-top-visit__title {
  margin: 0 !important;
}

.owl-top-visit__catch {
  display: inline-block;
  margin: 0 0 30px !important;
  padding: 8px 26px 10px !important;
  background: var(--owl-gradient);
  color: #fff;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(29px, 2.4vw, 42px) !important;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.05em !important;
  white-space: nowrap;
}

.owl-top-visit__lead {
  margin: 0 !important;
}

.owl-top-visit__lead p {
  margin: 0 !important;
  color: #111 !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.02em !important;
}

/* ==============================
  Top Visit Buttons
============================== */

.owl-top-visit__buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  margin-top: 34px !important;
  align-items: center !important;
}

.owl-top-visit__button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: clamp(180px, 17vw, 255px) !important;
  min-height: 41px !important;
  padding: 10px 46px 10px 24px !important;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.owl-top-visit__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px !important;
  width: 0;
  height: 0;
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-left: 12px solid #111 !important;
  transform: translateY(-50%);
  transition: border-left-color 0.25s ease;
}

.owl-top-visit__button:hover {
  background: var(--owl-blue);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  text-decoration: none;
}

.owl-top-visit__button:hover::after {
  border-left-color: #fff !important;
}

/* ==============================
  Top Visit Images
============================== */

.owl-top-visit__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(22px, 2.4vw, 36px) !important;
  align-items: start;
  padding-top: 18px;
}

.owl-top-visit__image {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

.owl-top-visit__image {
  text-align: center;
}

.owl-top-visit__image img {
  display: block;
  width: 100%;
  max-width: 270px;
  height: auto;
  margin-inline: auto;
}

/* ==============================
  Top Visit Responsive
============================== */

@media (max-width: 1200px) {
  .owl-top-visit__inner {
    width: min(100% - 80px, 1200px) !important;
  }

  .owl-top-visit__content {
    grid-template-columns: 1fr !important;
  }

  .owl-top-visit__images {
    max-width: 680px;
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .wp-block-group.owl-top-visit.owl-section,
  .owl-top-visit {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .owl-top-visit__inner {
    width: min(100% - 36px, 100%) !important;
  }

  .owl-top-visit__catch {
    width: 100%;
    font-size: clamp(28px, 8vw, 40px) !important;
    white-space: normal !important;
  }

  .owl-top-visit__buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .owl-top-visit__button {
    width: 100% !important;
    min-width: auto !important;
  }

  .owl-top-visit__images {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .owl-top-visit__image img {
    max-width: 280px;
  }
}

/* ==============================
  Site Footer
============================== */

.owl-footer-fullwide {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

.owl-footer-fullwide .swell-block-fullWide__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wp-block-group.owl-site-footer,
.owl-site-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
}

/* フッター本体 */
.owl-footer {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: #fff;
  color: #111;
}

.owl-footer__inner {
  width: min(100% - 160px, 1200px);
  margin-inline: auto;
  padding-top: clamp(24px, 2.5vw, 36px);
  padding-bottom: clamp(42px, 4vw, 58px);
}

/* 上段レイアウト */
.owl-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 700px) minmax(420px, 1fr);
  gap: clamp(50px, 6vw, 90px);
  align-items: start;
}

/* ==============================
  Footer Brand
============================== */

.owl-footer__brand {
  width: 100%;
  max-width: 700px;
}

.owl-footer__brand-head {
  display: flex;
  align-items: center;
  gap: 24px;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 30px;
}

.owl-footer__logos {
  flex: 0 0 auto;
  margin: 0;
}

.owl-footer__logos img {
  display: block;
  width: clamp(180px, 13vw, 250px);
  height: auto;
}

.owl-footer__club {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.owl-footer__club-sub {
  margin: 0 0 6px;
  color: #111;
  font-size: clamp(12px, 0.9vw, 15px);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.owl-footer__club-name {
  margin: 0;
  color: #111;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(21px, 1.8vw, 30px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

/* ==============================
  Footer Contact
============================== */

.owl-footer__contact {
  position: relative;
  width: 100%;
  padding: 18px 0 20px;
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  text-align: center;
}

.owl-footer__contact-text {
  margin: 0 0 14px;
  color: #111;
  font-size: clamp(15px, 1.3vw, 20px);
  font-weight: 700;
  line-height: 1.5;
}

/* CTA：見学セクションCTAと同じ仕様 */
.owl-footer__button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: clamp(180px, 17vw, 255px) !important;
  min-height: 41px !important;
  padding: 10px 46px 10px 24px !important;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.owl-footer__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px !important;
  width: 0;
  height: 0;
  border-top: 8px solid transparent !important;
  border-bottom: 8px solid transparent !important;
  border-left: 12px solid #111 !important;
  transform: translateY(-50%);
  transition: border-left-color 0.25s ease;
}

.owl-footer__button:hover {
  background: var(--owl-blue);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
  text-decoration: none;
}

.owl-footer__button:hover::after {
  border-left-color: #fff !important;
}

/* ==============================
  Footer Navigation
============================== */

.owl-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: clamp(36px, 4vw, 64px);
  align-items: start;
  padding-top: 18px;
}

.owl-footer__nav-col {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.owl-footer__nav-col a {
  color: #111;
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.25s ease;
}

.owl-footer__nav-col a:hover {
  color: var(--owl-blue);
  text-decoration: none;
}

/* ==============================
  SWELL Footer Copyright Design
  標準コピーライトバーをグラデーション化
============================== */

.l-footer__foot,
.l-footer__copy,
.copyright {
  background: var(--owl-gradient) !important;
}

.l-footer__foot,
.l-footer__foot a,
.l-footer__copy,
.l-footer__copy a,
.copyright,
.copyright a {
  color: #fff !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.l-footer__foot p,
.l-footer__copy p,
.copyright p {
  margin: 0 !important;
}

/* ==============================
  Site Footer Responsive
============================== */

@media (max-width: 1023px) {
  .owl-footer__inner {
    width: min(100% - 80px, 1200px);
  }

  .owl-footer__main {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .owl-footer__brand {
    max-width: none;
  }

  .owl-footer__brand-head {
    margin-left: 0;
    margin-right: 0;
  }

  .owl-footer__nav {
    grid-template-columns: repeat(3, max-content);
    max-width: 100%;
    gap: 36px;
  }
}

@media (max-width: 767px) {
  .owl-footer__inner {
    width: min(100% - 36px, 100%);
    padding-top: 36px;
    padding-bottom: 34px;
  }

  .owl-footer__main {
    gap: 34px;
  }

  .owl-footer__brand-head {
    display: block;
    margin-bottom: 24px;
  }

  .owl-footer__logos {
    margin-bottom: 14px;
  }

  .owl-footer__logos img {
    width: min(100%, 240px);
  }

  .owl-footer__club-sub,
  .owl-footer__club-name {
    white-space: normal;
  }

  .owl-footer__club-name {
    font-size: 22px;
  }

  .owl-footer__contact {
    padding: 16px 0 18px;
  }

  .owl-footer__button {
    width: 100% !important;
    min-width: auto !important;
  }

  .owl-footer__nav {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-top: 0;
  }

  .owl-footer__nav-col {
    gap: 10px;
  }
}


/* ==============================
  About Lower Page
  クラブ紹介ページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="22"] .c-pageTitle {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* パンくず背景を白にする */
#breadcrumb,
.p-breadcrumb,
.p-breadcrumb.-bg-on {
  background: #fff !important;
}

/* クラブ紹介ページの上下余白をリセット */
#content[data-postid="22"],
#content[data-postid="22"].l-content,
#content[data-postid="22"].l-container,
#content[data-postid="22"] #main_content,
#content[data-postid="22"] .l-mainContent,
#content[data-postid="22"] .l-mainContent__inner,
#content[data-postid="22"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 先頭・最後のブロック余白をリセット */
#content[data-postid="22"] .post_content > *:first-child,
#content[data-postid="22"] .post_content > *:last-child,
#content[data-postid="22"] .post_content > .swell-block-fullWide:first-child,
#content[data-postid="22"] .post_content > .swell-block-fullWide:last-child,
#content[data-postid="22"] .post_content > .swell-block-fullWide:first-child .swell-block-fullWide__inner,
#content[data-postid="22"] .post_content > .swell-block-fullWide:last-child .swell-block-fullWide__inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* クラブ紹介ページ内フッター外側余白をリセット */
#content[data-postid="22"] .owl-site-footer,
#content[data-postid="22"] .owl-footer,
#content[data-postid="22"] .owl-footer-fullwide,
#content[data-postid="22"] .owl-footer-fullwide .swell-block-fullWide__inner {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ==============================
  About Lower Page Hero
============================== */

.owl-about-lower-hero {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(220px, 26vw, 390px) !important;
  display: flex;
  align-items: center;
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/LINE_ALBUM_20260204-第一例会_260702_1.jpg") center center / cover no-repeat;
}

.owl-about-lower-hero__inner {
  width: min(100% - 160px, 1200px);
  margin-inline: auto;
}

.owl-about-lower-hero__title {
  margin: 0;
  color: #fff;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(38px, 4.5vw, 72px) !important;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

/* ==============================
  About Greeting
  会長挨拶
============================== */

.owl-about-greeting {
  width: 100%;
  background: #fff;
  padding-top: clamp(52px, 6vw, 88px);
  padding-bottom: clamp(52px, 6vw, 88px);
}

.owl-about-greeting__inner {
  width: min(100% - 160px, 1200px);
  margin-inline: auto;
}

/* 見出し */
.owl-about-greeting__head {
  margin-bottom: clamp(34px, 4vw, 56px);
  text-align: center;
}

.owl-about-greeting__head .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-about-greeting__head .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

.owl-about-greeting__head .owl-section-title__en::before,
.owl-about-greeting__head .owl-section-title__en::after,
.owl-about-greeting__head .owl-section-title__ja::before,
.owl-about-greeting__head .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* レイアウト */
.owl-about-greeting__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: clamp(52px, 6vw, 88px);
  align-items: start;
  max-width: 940px;
  margin-inline: auto;
}

.owl-about-greeting__text {
  min-width: 0;
}

/* 本文 */
.owl-about-greeting__slogan {
  margin: 0 0 34px;
  color: #111;
  font-size: clamp(19px, 1.9vw, 29px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.owl-about-greeting__message {
  margin: 0;
}

.owl-about-greeting__body p {
  margin: 0 0 1.2em;
  color: #111;
  font-family: inherit;
  font-size: clamp(15px, 1.3vw, 17px);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.owl-about-greeting__body p:last-child {
  margin-bottom: 0;
}

.owl-about-greeting__sign {
  margin-top: 26px;
  text-align: right;
}

.owl-about-greeting__sign p {
  margin: 0 0 4px;
  color: #111;
  font-size: clamp(15px, 1.3vw, 17px);
  font-weight: 700;
  line-height: 1.6;
}

/* 写真 */
.owl-about-greeting__photo {
  width: 100%;
}

.owl-about-greeting__photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ==============================
  About Chart Simple
  組織図
============================== */

.owl-about-chart-simple__head {
  margin-bottom: clamp(34px, 4vw, 56px);
  text-align: center;
}

.owl-about-chart-simple__head .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-about-chart-simple__head .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

.owl-about-chart-simple__head .owl-section-title__en::before,
.owl-about-chart-simple__head .owl-section-title__en::after,
.owl-about-chart-simple__head .owl-section-title__ja::before,
.owl-about-chart-simple__head .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* ==============================
  About Committee
  委員会
============================== */

.owl-about-committee {
  width: 100%;
  background: #fff;
  padding-top: clamp(52px, 6vw, 88px);
  padding-bottom: clamp(52px, 6vw, 88px);
}

.owl-about-committee__inner {
  width: min(100% - 160px, 1200px);
  margin-inline: auto;
}

/* 見出し */
.owl-about-committee__head {
  margin-bottom: clamp(34px, 4vw, 56px);
  text-align: center;
}

.owl-about-committee__head .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-about-committee__head .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

.owl-about-committee__head .owl-section-title__en::before,
.owl-about-committee__head .owl-section-title__en::after,
.owl-about-committee__head .owl-section-title__ja::before,
.owl-about-committee__head .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* 表 */
.owl-about-committee__list {
  max-width: 1000px;
  margin-inline: auto;
  border-top: 1px solid #d7d7d7;
}

.owl-about-committee__row {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  border-bottom: 1px solid #d7d7d7;
}

.owl-about-committee__name {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  background: #9eddf5;
  color: #111;
  font-size: clamp(15px, 1.3vw, 18px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.owl-about-committee__body {
  padding: 24px 34px;
  background: #fff;
}

.owl-about-committee__body p {
  margin: 0 0 8px;
  color: #111;
  font-family: inherit;
  font-size: clamp(15px, 1.3vw, 17px);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.owl-about-committee__body p:last-child {
  margin-bottom: 0;
}

/* ==============================
  About Overview
  クラブ概要
============================== */

.owl-about-overview {
  width: 100%;
  margin: 0 !important;
  padding-top: clamp(52px, 6vw, 88px);
  padding-bottom: clamp(52px, 6vw, 88px);
  background: transparent;
}

.owl-about-overview__inner {
  width: min(100% - 160px, 1200px);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 見出し */
.owl-about-overview__head {
  margin-bottom: 28px;
  text-align: center;
}

.owl-about-overview__head .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-about-overview__head .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

.owl-about-overview__head .owl-section-title__en::before,
.owl-about-overview__head .owl-section-title__en::after,
.owl-about-overview__head .owl-section-title__ja::before,
.owl-about-overview__head .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* 表 */
.owl-about-overview__table {
  width: min(100%, 900px);
  margin-left: auto !important;
  margin-right: auto !important;
  border-top: 1px solid #aaa;
  border-left: 1px solid #aaa;
  background: #fff;
}

.owl-about-overview__row {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  border-bottom: 1px solid #aaa;
}

.owl-about-overview__label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  background: var(--owl-blue);
  color: #fff;
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  border-right: 1px solid #aaa;
}

.owl-about-overview__content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  background: #fff;
  color: #111 !important;
  font-family: inherit !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
  letter-spacing: 0.02em !important;
  text-align: center;
}

.owl-about-overview__content *,
.owl-about-overview__content a {
  color: #111 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

.owl-about-overview__content a:hover {
  color: var(--owl-blue) !important;
  text-decoration: none !important;
}

/* ==============================
  About Lower Page Responsive
============================== */

@media (max-width: 1023px) {
  .owl-about-greeting__content {
    grid-template-columns: 1fr;
    max-width: 720px;
  }

  .owl-about-greeting__photo {
    max-width: 320px;
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .owl-about-lower-hero {
    min-height: 220px !important;
  }

  .owl-about-lower-hero__inner,
  .owl-about-greeting__inner,
  .owl-about-committee__inner,
  .owl-about-overview__inner {
    width: min(100% - 36px, 100%);
  }

  .owl-about-lower-hero__title {
    font-size: 34px !important;
  }

  .owl-about-greeting,
  .owl-about-committee,
  .owl-about-overview {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .owl-about-greeting__head,
  .owl-about-chart-simple__head,
  .owl-about-committee__head,
  .owl-about-overview__head {
    text-align: left;
  }

  .owl-about-chart-simple__head {
    margin-bottom: 32px;
  }

  .owl-about-greeting__slogan {
    font-size: 19px;
    letter-spacing: 0.04em;
  }

  .owl-about-greeting__sign {
    text-align: left;
  }

  .owl-about-committee__row,
  .owl-about-overview__row {
    grid-template-columns: 1fr;
  }

  .owl-about-committee__name,
  .owl-about-overview__label {
    justify-content: flex-start;
    text-align: left;
    border-right: none;
  }

  .owl-about-committee__name {
    padding: 18px 20px;
  }

  .owl-about-committee__body {
    padding: 20px;
  }

  .owl-about-overview__label {
    padding: 12px 16px;
  }

  .owl-about-overview__content {
    justify-content: flex-start;
    padding: 14px 16px;
    text-align: left;
  }
}


/* ==============================
  News Lower Page
  お知らせページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="24"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="24"],
#content[data-postid="24"] #main_content,
#content[data-postid="24"] .l-mainContent,
#content[data-postid="24"] .l-mainContent__inner,
#content[data-postid="24"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ==============================
  News Archive
  お知らせ一覧
============================== */

.owl-news-archive-section {
  width: min(100% - 160px, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: clamp(52px, 6vw, 88px) !important;
  padding-bottom: clamp(52px, 6vw, 88px) !important;
}

/* 見出し */
.owl-news-archive-heading {
  margin: 0 0 clamp(34px, 4vw, 56px) !important;
  padding: 0 !important;
  text-align: center;
}

.owl-news-archive-heading .owl-section-title__en {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

.owl-news-archive-heading .owl-section-title__ja {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
}

.owl-news-archive-heading .owl-section-title__en::before,
.owl-news-archive-heading .owl-section-title__en::after,
.owl-news-archive-heading .owl-section-title__ja::before,
.owl-news-archive-heading .owl-section-title__ja::after {
  content: none !important;
  display: none !important;
}

/* 一覧 */
.owl-news-archive {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.owl-news-archive__list {
  width: 100% !important;
  border-top: 1px solid #111;
}

.owl-news-archive__item {
  margin: 0;
  border-bottom: 1px solid #111;
}

.owl-news-archive__link {
  display: grid;
  grid-template-columns: 130px 110px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  color: #111;
  text-decoration: none;
}

.owl-news-archive__date {
  color: #111;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
}

.owl-news-archive__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 86px;
  padding: 5px 10px;
  background: var(--owl-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.owl-news-archive__title {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(16px, 1.35vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.04em !important;
}

.owl-news-archive__title::before,
.owl-news-archive__title::after {
  content: none !important;
  display: none !important;
}

.owl-news-archive__link:hover,
.owl-news-archive__link:hover .owl-news-archive__date,
.owl-news-archive__link:hover .owl-news-archive__title {
  color: var(--owl-blue) !important;
  text-decoration: none;
}

/* Responsive */
@media (max-width: 767px) {
  .owl-news-archive-section {
    width: min(100% - 36px, 100%) !important;
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .owl-news-archive-heading {
    text-align: left;
    margin-bottom: 32px !important;
  }

  .owl-news-archive__link {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .owl-news-archive__cat {
    width: fit-content;
  }
}


/* ==============================
  Activity Lower Page
  活動報告ページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="26"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="26"],
#content[data-postid="26"] #main_content,
#content[data-postid="26"] .l-mainContent,
#content[data-postid="26"] .l-mainContent__inner,
#content[data-postid="26"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ==============================
  Activity Archive
  活動報告一覧
============================== */

/* セクション全体 */
.owl-activity-archive-section {
  width: min(100% - 160px, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: clamp(52px, 6vw, 88px) !important;
  padding-bottom: clamp(52px, 6vw, 88px) !important;
}

/* SWELLグループの余白を抑える */
.wp-block-group.owl-activity-archive-section.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* ==============================
  Activity Archive Heading
============================== */

#content[data-postid="26"] .owl-activity-archive-heading {
  margin: 0 0 28px !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__ja,
#content[data-postid="26"] .owl-activity-archive-heading h2,
#content[data-postid="26"] .owl-activity-archive-heading h2.owl-section-title__ja {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__en::before,
#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__en::after,
#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__ja::before,
#content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__ja::after,
#content[data-postid="26"] .owl-activity-archive-heading h2::before,
#content[data-postid="26"] .owl-activity-archive-heading h2::after {
  content: none !important;
  display: none !important;
}

/* 年度見出し */
#content[data-postid="26"] .owl-activity-archive-year {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 28px 0 0 !important;
  padding: 7px 28px;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-blue);
  color: #fff;
  font-size: clamp(15px, 1.3vw, 18px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

/* ==============================
  Activity Archive Cards
============================== */

/* 一覧：PC4列 */
.owl-activity-archive {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.owl-activity-archive__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  width: 100% !important;
}

/* カード */
.owl-activity-archive__item {
  margin: 0 !important;
  padding: 0 !important;
}

.owl-activity-archive__link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #111 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.owl-activity-archive__link:hover {
  color: #111 !important;
  text-decoration: none !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18) !important;
}

/* 画像 */
.owl-activity-archive__thumb {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #d7d7d7 !important;
}

.owl-activity-archive__thumb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.owl-activity-archive__thumb-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: #d7d7d7 !important;
}

/* 本文 */
.owl-activity-archive__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 14px 16px 16px !important;
  background: #fff !important;
}

/* カテゴリー */
.owl-activity-archive__cat {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin-bottom: 8px !important;
  padding: 4px 8px !important;
  background: var(--owl-blue);
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* タイトル：2行基準で日付位置を揃える */
.owl-activity-archive__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(1.45em * 2) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
}

.owl-activity-archive__title::before,
.owl-activity-archive__title::after {
  content: none !important;
  display: none !important;
}

/* 日付 */
.owl-activity-archive__date {
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  color: var(--owl-blue) !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

/* 抜粋 */
.owl-activity-archive__excerpt {
  margin: 0 !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.02em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ==============================
  Activity Archive Pagination
============================== */

.owl-activity-archive__pagination {
  margin-top: 40px;
  text-align: center;
}

.owl-activity-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  margin: 0 4px;
  padding: 0 10px;
  border: 1px solid var(--owl-blue);
  color: var(--owl-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.owl-activity-archive__pagination .page-numbers.current,
.owl-activity-archive__pagination .page-numbers:hover {
  background: var(--owl-blue);
  color: #fff;
}

/* 空の場合 */
.owl-activity-archive__empty {
  width: min(100% - 160px, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding: 64px 0;
  color: #111;
  font-size: 16px;
  text-align: center;
}

/* ==============================
  Activity Archive Responsive
============================== */

@media (max-width: 1023px) {
  .owl-activity-archive__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .owl-activity-archive-section,
  .owl-activity-archive__empty {
    width: min(100% - 36px, 100%) !important;
  }

  .owl-activity-archive-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #content[data-postid="26"] .owl-activity-archive-heading {
    text-align: left !important;
    margin-bottom: 32px !important;
  }

  #content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__ja,
  #content[data-postid="26"] .owl-activity-archive-heading h2,
  #content[data-postid="26"] .owl-activity-archive-heading h2.owl-section-title__ja {
    text-align: left !important;
  }

  #content[data-postid="26"] .owl-activity-archive-year {
    margin-top: 18px !important;
  }

  .owl-activity-archive__list {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* ==============================
  Activity Category Colors
  HOME・活動報告ページ共通
============================== */

/* 例会報告 */
.owl-top-activity__cat--meeting,
.owl-activity-archive__cat--meeting {
  background: var(--owl-blue) !important;
  color: #fff !important;
}

/* 事業報告 */
.owl-top-activity__cat--project,
.owl-activity-archive__cat--project {
  background: #005b7f !important;
  color: #fff !important;
}

/* 青少年育成 */
.owl-top-activity__cat--youth,
.owl-activity-archive__cat--youth {
  background: #2f8ed8 !important;
  color: #fff !important;
}

/* 地域奉仕 */
.owl-top-activity__cat--community,
.owl-activity-archive__cat--community {
  background: #4fa85b !important;
  color: #fff !important;
}

/* 寄付・支援 */
.owl-top-activity__cat--donation,
.owl-activity-archive__cat--donation {
  background: #f2a23a !important;
  color: #fff !important;
}

/* その他 */
.owl-top-activity__cat--other,
.owl-activity-archive__cat--other {
  background: #777 !important;
  color: #fff !important;
}


/* ==============================
  News Category Colors
  お知らせカテゴリー色分け
  ※活動報告とは違う色味で設定
============================== */

/* 例会 */
.owl-news-archive__cat--meeting {
  background: #1f3a5f !important;
  color: #fff !important;
}

/* 事業 */
.owl-news-archive__cat--project {
  background: #5b4b8a !important;
  color: #fff !important;
}

/* 講座 */
.owl-news-archive__cat--seminar {
  background: #8a3f5d !important;
  color: #fff !important;
}

/* 奉仕 */
.owl-news-archive__cat--service {
  background: #2f7f7a !important;
  color: #fff !important;
}

/* 会員向け */
.owl-news-archive__cat--member {
  background: #9a6a2f !important;
  color: #fff !important;
}

/* その他 */
.owl-news-archive__cat--other {
  background: #666 !important;
  color: #fff !important;
}


/* ==============================
  Top News Category Layout
  HOMEお知らせ：日付・カテゴリ・タイトル横並び
============================== */

.owl-top-news__item {
  display: grid !important;
  grid-template-columns: 120px 96px 1fr !important;
  align-items: center !important;
  column-gap: 20px !important;
  width: 100% !important;
}

.owl-top-news__date {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.owl-top-news__cat {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  margin: 0 !important;
  padding: 5px 8px !important;
  color: #fff !important;
  font-family: sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.owl-top-news__text {
  display: block !important;
  min-width: 0 !important;
}

/* HOMEお知らせカテゴリー色 */
.owl-top-news__cat--meeting {
  background: #1f3a5f !important;
}

.owl-top-news__cat--project {
  background: #5b4b8a !important;
}

.owl-top-news__cat--seminar {
  background: #8a3f5d !important;
}

.owl-top-news__cat--service {
  background: #2f7f7a !important;
}

.owl-top-news__cat--member {
  background: #9a6a2f !important;
}

.owl-top-news__cat--other {
  background: #666 !important;
}

@media (max-width: 767px) {
  .owl-top-news__item {
    grid-template-columns: 1fr !important;
    row-gap: 8px !important;
  }

  .owl-top-news__cat {
    width: fit-content !important;
    min-width: 80px !important;
    max-width: none !important;
  }
}


/* ==============================
  Lower Page Visit Spacing
  下層ページ：見学セクションのタイトル帯と本文の余白調整
============================== */

/* 下層ページの見学セクションだけ、タイトル帯と本文の間を広げる */
body:not(.home) .owl-top-visit__title {
  margin-bottom: 28px !important;
}

/* 本文側に余計な詰まりがある場合の保険 */
body:not(.home) .owl-top-visit__lead {
  margin-top: 0 !important;
}


/* ==============================
  Footer Copyright Fix
  コピーライト内側の二重グラデーション解除
============================== */

/* フッター最下部のバー全体だけにグラデーション */
.l-footer__foot {
  background: var(--owl-gradient) !important;
}

/* コピーライト文字まわりの背景は透明にする */
.l-footer__copy,
.l-footer__copy p,
.l-footer__copy small,
.copyright,
.copyright p,
.copyright small {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* 念のため、コピーライトの余計な帯を消す */
.l-footer__copy::before,
.l-footer__copy::after,
.copyright::before,
.copyright::after {
  content: none !important;
  display: none !important;
}


/* ==============================
  Join Lower Page
  入会のご案内ページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="28"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="28"],
#content[data-postid="28"] #main_content,
#content[data-postid="28"] .l-mainContent,
#content[data-postid="28"] .l-mainContent__inner,
#content[data-postid="28"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ==============================
  Join Intro
  はじめに
============================== */

#content[data-postid="28"] .owl-join-intro {
  background-color: #fff;
  background-image: url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/nyukai-introduction.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  padding: clamp(56px, 7vw, 96px) 0;
}

#content[data-postid="28"] .owl-join-intro__inner {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 見出し */
#content[data-postid="28"] .owl-join-intro__head {
  margin-bottom: clamp(28px, 4vw, 44px);
  padding: 0 !important;
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="28"] .owl-join-intro__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="28"] .owl-join-intro__head .owl-section-title__ja,
#content[data-postid="28"] .owl-join-intro__head h2,
#content[data-postid="28"] .owl-join-intro__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-intro__head .owl-section-title__en::before,
#content[data-postid="28"] .owl-join-intro__head .owl-section-title__en::after,
#content[data-postid="28"] .owl-join-intro__head .owl-section-title__ja::before,
#content[data-postid="28"] .owl-join-intro__head .owl-section-title__ja::after,
#content[data-postid="28"] .owl-join-intro__head h2::before,
#content[data-postid="28"] .owl-join-intro__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="28"] .owl-join-intro__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

/* 本文 */
#content[data-postid="28"] .owl-join-intro__body {
  color: #111;
  font-size: clamp(15px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}

#content[data-postid="28"] .owl-join-intro__body p {
  margin: 0 0 1.4em;
}

#content[data-postid="28"] .owl-join-intro__body p:last-child {
  margin-bottom: 0;
}

/* ==============================
  Join Intro Responsive
============================== */

@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-intro {
    padding: 48px 0;
    background-position: center top !important;
  }

  #content[data-postid="28"] .owl-join-intro__inner {
    width: min(100% - 36px, 100%);
    text-align: left;
  }

  #content[data-postid="28"] .owl-join-intro__head {
    text-align: center;
  }

  #content[data-postid="28"] .owl-join-intro__head .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-intro__head h2,
  #content[data-postid="28"] .owl-join-intro__head h2.owl-section-title__ja {
    text-align: center !important;
  }

  #content[data-postid="28"] .owl-join-intro__body {
    line-height: 1.9;
  }
}


/* ==============================
  Join What We Do
  つくばアウルライオンズクラブでできること
============================== */

#content[data-postid="28"] .owl-join-what {
  background: #d8f2ff;
  padding: clamp(56px, 7vw, 88px) 0 clamp(60px, 7vw, 96px);
}

#content[data-postid="28"] .owl-join-what__inner {
  width: min(100% - 160px, 1120px);
  margin-left: auto;
  margin-right: auto;
}

/* 見出し */
#content[data-postid="28"] .owl-join-what__head {
  margin-bottom: clamp(34px, 4vw, 52px);
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="28"] .owl-join-what__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="28"] .owl-join-what__head .owl-section-title__ja,
#content[data-postid="28"] .owl-join-what__head h2,
#content[data-postid="28"] .owl-join-what__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-what__head .owl-section-title__en::before,
#content[data-postid="28"] .owl-join-what__head .owl-section-title__en::after,
#content[data-postid="28"] .owl-join-what__head .owl-section-title__ja::before,
#content[data-postid="28"] .owl-join-what__head .owl-section-title__ja::after,
#content[data-postid="28"] .owl-join-what__head h2::before,
#content[data-postid="28"] .owl-join-what__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="28"] .owl-join-what__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.04em;
}

/* リード文 */
#content[data-postid="28"] .owl-join-what__lead {
  margin: 22px 0 0;
  color: #111;
  font-size: clamp(15px, 1.3vw, 18px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

/* カード一覧 */
#content[data-postid="28"] .owl-join-what__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

/* カード */
#content[data-postid="28"] .owl-join-what__card {
  position: relative;
  min-height: 260px;
  padding: 20px 22px 14px;
  border: 3px solid var(--owl-blue);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 18px rgba(0, 175, 236, 0.22);
  text-align: center;
  overflow: hidden;
}

#content[data-postid="28"] .owl-join-what__card::before {
  content: none !important;
  display: none !important;
}

/* アイコン */
#content[data-postid="28"] .owl-join-what__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  margin-bottom: 10px;
}

#content[data-postid="28"] .owl-join-what__icon img {
  display: block;
  width: auto;
  max-width: 150px;
  max-height: 100px;
}

/* カードタイトル */
#content[data-postid="28"] .owl-join-what__card-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif !important;
  font-size: clamp(18px, 1.5vw, 23px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.12em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-what__card-title::before,
#content[data-postid="28"] .owl-join-what__card-title::after {
  content: none !important;
  display: none !important;
}

/* カード本文 */
#content[data-postid="28"] .owl-join-what__card-text {
  margin: 0;
  color: #111;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.02em;
  text-align: center;
}

/* Responsive */
@media (max-width: 1023px) {
  #content[data-postid="28"] .owl-join-what__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #content[data-postid="28"] .owl-join-what__card {
    min-height: 260px;
  }
}

@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-what {
    padding: 48px 0;
  }

  #content[data-postid="28"] .owl-join-what__inner {
    width: min(100% - 36px, 100%);
  }

  #content[data-postid="28"] .owl-join-what__lead br {
    display: none;
  }

  #content[data-postid="28"] .owl-join-what__cards {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  #content[data-postid="28"] .owl-join-what__card {
    min-height: auto;
    padding: 22px 20px 18px;
  }

  #content[data-postid="28"] .owl-join-what__icon {
    height: 110px;
    margin-bottom: 10px;
  }

  #content[data-postid="28"] .owl-join-what__icon img {
    max-width: 160px;
    max-height: 110px;
  }
}


/* ==============================
  Join Recommended
  こんな方におすすめです
============================== */

#content[data-postid="28"] .owl-join-recommend {
  background: #fff;
  padding: clamp(56px, 7vw, 92px) 0;
}

#content[data-postid="28"] .owl-join-recommend__inner {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 見出し */
#content[data-postid="28"] .owl-join-recommend__head {
  margin-bottom: clamp(28px, 4vw, 42px);
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__ja,
#content[data-postid="28"] .owl-join-recommend__head h2,
#content[data-postid="28"] .owl-join-recommend__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__en::before,
#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__en::after,
#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__ja::before,
#content[data-postid="28"] .owl-join-recommend__head .owl-section-title__ja::after,
#content[data-postid="28"] .owl-join-recommend__head h2::before,
#content[data-postid="28"] .owl-join-recommend__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="28"] .owl-join-recommend__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.04em;
}

/* リード文 */
#content[data-postid="28"] .owl-join-recommend__lead {
  margin: 28px 0 0;
  color: #111;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

/* おすすめリスト */
#content[data-postid="28"] .owl-join-recommend__list {
  width: min(100%, 760px);
  margin: 0 auto clamp(24px, 3vw, 34px);
  padding: 0;
  list-style: none;
}

#content[data-postid="28"] .owl-join-recommend__list li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0 0 10px;
  padding: 8px 28px;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-blue);
  color: #fff;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
  font-size: clamp(16px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.03em;
}

#content[data-postid="28"] .owl-join-recommend__list li:last-child {
  margin-bottom: 0;
}

/* 補足文 */
#content[data-postid="28"] .owl-join-recommend__note {
  margin: 0;
  color: #111;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

/* Responsive */
@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-recommend {
    padding: 48px 0;
  }

  #content[data-postid="28"] .owl-join-recommend__inner {
    width: min(100% - 36px, 100%);
  }

  #content[data-postid="28"] .owl-join-recommend__list {
    width: 100%;
  }

  #content[data-postid="28"] .owl-join-recommend__list li {
    justify-content: flex-start;
    min-height: auto;
    padding: 10px 18px;
    font-size: 15px;
    text-align: left;
  }

  #content[data-postid="28"] .owl-join-recommend__note br {
    display: none;
  }
}


/* ==============================
  Join Membership
  入会資格・会費について
============================== */

#content[data-postid="28"] .owl-join-membership {
  background: #d8f2ff;
  padding: clamp(56px, 7vw, 92px) 0;
}

#content[data-postid="28"] .owl-join-membership__inner {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 見出し */
#content[data-postid="28"] .owl-join-membership__head {
  margin-bottom: clamp(18px, 2.5vw, 28px);
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="28"] .owl-join-membership__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="28"] .owl-join-membership__head .owl-section-title__ja,
#content[data-postid="28"] .owl-join-membership__head h2,
#content[data-postid="28"] .owl-join-membership__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-membership__head .owl-section-title__en::before,
#content[data-postid="28"] .owl-join-membership__head .owl-section-title__en::after,
#content[data-postid="28"] .owl-join-membership__head .owl-section-title__ja::before,
#content[data-postid="28"] .owl-join-membership__head .owl-section-title__ja::after,
#content[data-postid="28"] .owl-join-membership__head h2::before,
#content[data-postid="28"] .owl-join-membership__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="28"] .owl-join-membership__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.04em;
}

/* リード文 */
#content[data-postid="28"] .owl-join-membership__lead {
  margin: 18px 0 0;
  color: #111;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

/* 表 */
#content[data-postid="28"] .owl-join-membership__table-wrap {
  width: 100%;
  overflow-x: auto;
}

#content[data-postid="28"] .owl-join-membership__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 2px solid #b8b8b8;
  text-align: left;
}

#content[data-postid="28"] .owl-join-membership__table th,
#content[data-postid="28"] .owl-join-membership__table td {
  border: 1px solid #b8b8b8;
  vertical-align: middle;
}

#content[data-postid="28"] .owl-join-membership__table th {
  width: 180px;
  padding: 24px 18px;
  background: var(--owl-blue);
  color: #fff;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif;
  font-size: clamp(18px, 1.7vw, 26px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.04em;
}

#content[data-postid="28"] .owl-join-membership__table td {
  padding: 18px 28px;
  color: #111;
  font-size: clamp(15px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}

#content[data-postid="28"] .owl-join-membership__table ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#content[data-postid="28"] .owl-join-membership__table li {
  position: relative;
  padding-left: 1.2em;
}

#content[data-postid="28"] .owl-join-membership__table li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #111;
}

/* Responsive */
@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-membership {
    padding: 48px 0;
  }

  #content[data-postid="28"] .owl-join-membership__inner {
    width: min(100% - 36px, 100%);
  }

  #content[data-postid="28"] .owl-join-membership__lead {
    text-align: left;
  }

  #content[data-postid="28"] .owl-join-membership__table th {
    width: 110px;
    padding: 18px 10px;
    font-size: 16px;
  }

  #content[data-postid="28"] .owl-join-membership__table td {
    padding: 16px 14px;
    font-size: 14px;
    line-height: 1.7;
  }
}



/* ==============================
  Members Only Lower Page
  会員専用ページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="30"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="30"],
#content[data-postid="30"] #main_content,
#content[data-postid="30"] .l-mainContent,
#content[data-postid="30"] .l-mainContent__inner,
#content[data-postid="30"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* ==============================
  Members Docs
  会員専用：資料一覧
============================== */

#content[data-postid="30"] .owl-members-docs-section {
  width: min(100% - 160px, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(52px, 6vw, 84px) 0;
}

/* 資料一覧全体 */
#content[data-postid="30"] .owl-member-docs {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* 見出し */
#content[data-postid="30"] .owl-member-docs__head {
  margin: 0 0 34px !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="30"] .owl-member-docs__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
}

#content[data-postid="30"] .owl-member-docs__heading {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

#content[data-postid="30"] .owl-member-docs__heading::before,
#content[data-postid="30"] .owl-member-docs__heading::after,
#content[data-postid="30"] .owl-member-docs__en::before,
#content[data-postid="30"] .owl-member-docs__en::after {
  content: none !important;
  display: none !important;
}

/* リスト */
#content[data-postid="30"] .owl-member-docs__list {
  display: grid;
  gap: 14px;
}

/* 1件 */
#content[data-postid="30"] .owl-member-docs__item {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 24px;
  align-items: start;
  margin: 0;
  padding: 20px 24px;
  border: 1px solid #d7d7d7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

/* 日付 */
#content[data-postid="30"] .owl-member-docs__meta {
  color: var(--owl-blue);
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

/* タイトル */
#content[data-postid="30"] .owl-member-docs__title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif !important;
  font-size: clamp(16px, 1.4vw, 20px) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.03em !important;
}

#content[data-postid="30"] .owl-member-docs__title::before,
#content[data-postid="30"] .owl-member-docs__title::after {
  content: none !important;
  display: none !important;
}

/* 本文 */
#content[data-postid="30"] .owl-member-docs__content {
  color: #111;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

#content[data-postid="30"] .owl-member-docs__content p {
  margin: 0 0 0.8em;
}

#content[data-postid="30"] .owl-member-docs__content p:last-child {
  margin-bottom: 0;
}

/* 空表示 */
#content[data-postid="30"] .owl-member-docs__empty,
#content[data-postid="30"] .owl-member-docs__login {
  margin: 0;
  padding: 28px;
  border-radius: 12px;
  background: #f5f5f5;
  color: #111;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}

/* スマホ */
@media (max-width: 767px) {
  #content[data-postid="30"] .owl-members-docs-section {
    width: min(100% - 36px, 100%);
    padding: 42px 0;
  }

  #content[data-postid="30"] .owl-member-docs__item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px;
  }
}


/* ==============================
  Members Docs Spacing
  会員資料カテゴリ間の余白
============================== */

/* 2つ目以降の資料セクションに余白を追加 */
#content[data-postid="30"] .owl-member-docs + .owl-member-docs {
  margin-top: clamp(38px, 5vw, 64px);
}


/* ==============================
  Join Flow
  入会までの流れ
============================== */

#content[data-postid="28"] .owl-join-flow {
  background: #fff;
  padding: clamp(56px, 7vw, 92px) 0;
}

#content[data-postid="28"] .owl-join-flow__inner {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* 見出し */
#content[data-postid="28"] .owl-join-flow__head {
  margin-bottom: clamp(36px, 4vw, 54px);
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="28"] .owl-join-flow__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="28"] .owl-join-flow__head .owl-section-title__ja,
#content[data-postid="28"] .owl-join-flow__head h2,
#content[data-postid="28"] .owl-join-flow__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(25px, 2.4vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
}

#content[data-postid="28"] .owl-join-flow__head .owl-section-title__en::before,
#content[data-postid="28"] .owl-join-flow__head .owl-section-title__en::after,
#content[data-postid="28"] .owl-join-flow__head .owl-section-title__ja::before,
#content[data-postid="28"] .owl-join-flow__head .owl-section-title__ja::after,
#content[data-postid="28"] .owl-join-flow__head h2::before,
#content[data-postid="28"] .owl-join-flow__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="28"] .owl-join-flow__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.04em;
}

/* ステップ全体 */
#content[data-postid="28"] .owl-join-flow__steps {
  position: relative;
}

/* 1ステップ */
#content[data-postid="28"] .owl-join-flow__step {
  position: relative;
  display: grid;
  grid-template-columns: 120px 1fr 220px;
  align-items: center;
  gap: 28px;
  padding: 30px 0;
  border-bottom: 2px solid var(--owl-blue);
  text-align: left;
}

#content[data-postid="28"] .owl-join-flow__step::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 18px solid var(--owl-blue);
  z-index: 2;
}

/* 番号イラスト */
#content[data-postid="28"] .owl-join-flow__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 104px;
}

#content[data-postid="28"] .owl-join-flow__num img {
  display: block;
  width: 104px;
  height: auto;
}

/* 本文 */
#content[data-postid="28"] .owl-join-flow__body h3 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif !important;
  font-size: clamp(18px, 1.6vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em !important;
}

#content[data-postid="28"] .owl-join-flow__body h3::before,
#content[data-postid="28"] .owl-join-flow__body h3::after {
  content: none !important;
  display: none !important;
}

#content[data-postid="28"] .owl-join-flow__body p {
  margin: 0;
  color: #111;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

/* 右側イラスト */
#content[data-postid="28"] .owl-join-flow__illust {
  display: flex;
  align-items: center;
  justify-content: center;
}

#content[data-postid="28"] .owl-join-flow__illust img {
  display: block;
  max-width: 190px;
  max-height: 130px;
  width: auto;
  height: auto;
}

/* 祝・入会 */
#content[data-postid="28"] .owl-join-flow__goal {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}

#content[data-postid="28"] .owl-join-flow__goal img {
  display: block;
  width: min(100%, 300px);
  height: auto;
}

/* Responsive */
@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-flow {
    padding: 48px 0;
  }

  #content[data-postid="28"] .owl-join-flow__inner {
    width: min(100% - 36px, 100%);
  }

  #content[data-postid="28"] .owl-join-flow__step {
    grid-template-columns: 76px 1fr;
    gap: 16px;
    padding: 26px 0;
  }

  #content[data-postid="28"] .owl-join-flow__num {
    width: 72px;
    height: 72px;
  }

  #content[data-postid="28"] .owl-join-flow__num img {
    width: 72px;
  }

  #content[data-postid="28"] .owl-join-flow__illust {
    grid-column: 1 / -1;
    justify-content: center;
    margin-top: 14px;
  }

  #content[data-postid="28"] .owl-join-flow__illust img {
    max-width: 180px;
    max-height: 120px;
  }

  #content[data-postid="28"] .owl-join-flow__goal {
    margin-top: 34px;
  }

  #content[data-postid="28"] .owl-join-flow__goal img {
    width: min(100%, 260px);
  }
}


/* ==============================
  History Lower Page
  これまでの歩みページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="32"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="32"],
#content[data-postid="32"] #main_content,
#content[data-postid="32"] .l-mainContent,
#content[data-postid="32"] .l-mainContent__inner,
#content[data-postid="32"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* ==============================
  History Archive
  これまでの歩み一覧
============================== */

/* セクション全体 */
#content[data-postid="32"] .owl-history-archive-section {
  width: min(100% - 160px, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: clamp(52px, 6vw, 88px) !important;
  padding-bottom: clamp(52px, 6vw, 88px) !important;
}

/* SWELLグループ余白を抑える */
#content[data-postid="32"] .wp-block-group.owl-history-archive-section.is-stack {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* 見出し */
#content[data-postid="32"] .owl-history-archive-heading {
  margin: 0 0 clamp(34px, 4vw, 52px) !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__ja,
#content[data-postid="32"] .owl-history-archive-heading h2,
#content[data-postid="32"] .owl-history-archive-heading h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__en::before,
#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__en::after,
#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__ja::before,
#content[data-postid="32"] .owl-history-archive-heading .owl-section-title__ja::after,
#content[data-postid="32"] .owl-history-archive-heading h2::before,
#content[data-postid="32"] .owl-history-archive-heading h2::after {
  content: none !important;
  display: none !important;
}

/* リード文 */
#content[data-postid="32"] .owl-history-archive-lead {
  margin: 0;
  color: #111;
  font-size: clamp(15px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

/* 一覧 */
#content[data-postid="32"] .owl-history-archive {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#content[data-postid="32"] .owl-history-archive__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  width: 100% !important;
}

/* カード */
#content[data-postid="32"] .owl-history-archive__item {
  margin: 0 !important;
  padding: 0 !important;
}

#content[data-postid="32"] .owl-history-archive__link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #111 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

#content[data-postid="32"] .owl-history-archive__link:hover {
  color: #111 !important;
  text-decoration: none !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18) !important;
}

/* 画像 */
#content[data-postid="32"] .owl-history-archive__thumb {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #d7d7d7 !important;
}

#content[data-postid="32"] .owl-history-archive__thumb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#content[data-postid="32"] .owl-history-archive__thumb-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: #d7d7d7 !important;
}

/* 本文 */
#content[data-postid="32"] .owl-history-archive__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 14px 16px 16px !important;
  background: #fff !important;
}

/* カテゴリー・年度 */
#content[data-postid="32"] .owl-history-archive__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

#content[data-postid="32"] .owl-history-archive__cat,
#content[data-postid="32"] .owl-history-archive__year {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  padding: 4px 8px !important;
  color: #fff !important;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

#content[data-postid="32"] .owl-history-archive__cat {
  background: var(--owl-blue) !important;
}

#content[data-postid="32"] .owl-history-archive__year {
  background: #777 !important;
}

/* タイトル：2行基準 */
#content[data-postid="32"] .owl-history-archive__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(1.45em * 2) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="32"] .owl-history-archive__title::before,
#content[data-postid="32"] .owl-history-archive__title::after {
  content: none !important;
  display: none !important;
}

/* 日付 */
#content[data-postid="32"] .owl-history-archive__date {
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  color: var(--owl-blue) !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

/* 抜粋 */
#content[data-postid="32"] .owl-history-archive__excerpt {
  margin: 0 !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.02em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ページネーション */
#content[data-postid="32"] .owl-history-archive__pagination {
  margin-top: 40px;
  text-align: center;
}

#content[data-postid="32"] .owl-history-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  margin: 0 4px;
  padding: 0 10px;
  border: 1px solid var(--owl-blue);
  color: var(--owl-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

#content[data-postid="32"] .owl-history-archive__pagination .page-numbers.current,
#content[data-postid="32"] .owl-history-archive__pagination .page-numbers:hover {
  background: var(--owl-blue);
  color: #fff;
}

/* 空の場合 */
#content[data-postid="32"] .owl-history-archive__empty {
  width: min(100% - 160px, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding: 64px 0;
  color: #111;
  font-size: 16px;
  text-align: center;
}

/* Responsive */
@media (max-width: 1023px) {
  #content[data-postid="32"] .owl-history-archive__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  #content[data-postid="32"] .owl-history-archive-section,
  #content[data-postid="32"] .owl-history-archive__empty {
    width: min(100% - 36px, 100%) !important;
  }

  #content[data-postid="32"] .owl-history-archive-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #content[data-postid="32"] .owl-history-archive__list {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}


/* ==============================
  Single Related Title
  投稿記事ページ：関連記事見出し
============================== */

section.l-articleBottom__section.-related {
  width: min(100% - 40px, 960px) !important;
  margin: clamp(52px, 6vw, 76px) auto clamp(56px, 6vw, 84px) !important;
  padding: 0 !important;
}

section.l-articleBottom__section.-related > h2.l-articleBottom__title.c-secTitle {
  display: block !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

section.l-articleBottom__section.-related > h2.l-articleBottom__title.c-secTitle::before,
section.l-articleBottom__section.-related > h2.l-articleBottom__title.c-secTitle::after {
  content: none !important;
  display: none !important;
}


/* ==============================
  Single Prev Next Arrow Color
  前後記事リンク：矢印部分だけ色変更
============================== */

/* 通常時：背景黄色 */
.p-pnLinks__link::before,
.p-pnLinks__link::after {
  background-color: var(--owl-yellow) !important;
}

/* 通常時：三角・矢印を黒に */
.p-pnLinks__link::before,
.p-pnLinks__link::after {
  color: #111 !important;
}

/* ホバー時：背景水色 */
.p-pnLinks__link:hover::before,
.p-pnLinks__link:hover::after {
  background-color: var(--owl-blue) !important;
}

/* ホバー時：三角・矢印を白に */
.p-pnLinks__link:hover::before,
.p-pnLinks__link:hover::after {
  color: #fff !important;
}


/* ==============================
  Contact Lower Page
  お問い合わせページ
============================== */

/* SWELL標準タイトルを非表示 */
#content[data-postid="34"] .c-pageTitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ページ上下余白リセット */
#content[data-postid="34"],
#content[data-postid="34"] #main_content,
#content[data-postid="34"] .l-mainContent,
#content[data-postid="34"] .l-mainContent__inner,
#content[data-postid="34"] .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ==============================
  Contact Section
============================== */

#content[data-postid="34"] .owl-contact {
  background: #fff;
  padding: clamp(56px, 7vw, 92px) 0;
}

#content[data-postid="34"] .owl-contact__inner {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
}

/* 見出し */
#content[data-postid="34"] .owl-contact__head {
  margin-bottom: clamp(28px, 4vw, 44px);
  padding: 0 !important;
  text-align: center;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

#content[data-postid="34"] .owl-contact__head .owl-section-title__en {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: var(--owl-heading-en-size) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}

#content[data-postid="34"] .owl-contact__head .owl-section-title__ja,
#content[data-postid="34"] .owl-contact__head h2,
#content[data-postid="34"] .owl-contact__head h2.owl-section-title__ja {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: var(--owl-heading-ja-size) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

#content[data-postid="34"] .owl-contact__head .owl-section-title__en::before,
#content[data-postid="34"] .owl-contact__head .owl-section-title__en::after,
#content[data-postid="34"] .owl-contact__head .owl-section-title__ja::before,
#content[data-postid="34"] .owl-contact__head .owl-section-title__ja::after,
#content[data-postid="34"] .owl-contact__head h2::before,
#content[data-postid="34"] .owl-contact__head h2::after {
  content: none !important;
  display: none !important;
}

/* 黄色ライン付きキャッチ */
#content[data-postid="34"] .owl-contact__catch {
  display: inline;
  margin: 0;
  padding: 0 0.15em;
  background: linear-gradient(transparent 62%, var(--owl-yellow) 62%);
  color: #111;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.04em;
}

/* 導入文 */
#content[data-postid="34"] .owl-contact__lead {
  margin: 0 auto clamp(28px, 4vw, 44px);
  color: #111;
  font-size: clamp(15px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  text-align: center;
}

#content[data-postid="34"] .owl-contact__lead p {
  margin: 0 0 1.2em;
}

#content[data-postid="34"] .owl-contact__lead p:last-child {
  margin-bottom: 0;
}

/* お問い合わせ内容カード */
#content[data-postid="34"] .owl-contact__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

#content[data-postid="34"] .owl-contact__card {
  padding: 26px 22px;
  border: 2px solid var(--owl-blue);
  border-radius: 14px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 18px rgba(0, 175, 236, 0.16);
}

#content[data-postid="34"] .owl-contact__card h3 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--owl-blue) !important;
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    sans-serif !important;
  font-size: clamp(17px, 1.4vw, 21px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
}

#content[data-postid="34"] .owl-contact__card h3::before,
#content[data-postid="34"] .owl-contact__card h3::after {
  content: none !important;
  display: none !important;
}

#content[data-postid="34"] .owl-contact__card p {
  margin: 0;
  color: #111;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
}

/* Responsive */
@media (max-width: 767px) {
  #content[data-postid="34"] .owl-contact {
    padding: 48px 0;
  }

  #content[data-postid="34"] .owl-contact__inner {
    width: min(100% - 36px, 100%);
  }

  #content[data-postid="34"] .owl-contact__lead {
    text-align: left;
  }

  #content[data-postid="34"] .owl-contact__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}


/* ==============================
  Contact Form Section
  お問い合わせフォーム
============================== */

/* フォームエリア背景 */
#content[data-postid="34"] .owl-contact-form-fullwide {
  background: #d8f2ff !important;
}

/* フォーム内側 */
#content[data-postid="34"] .owl-contact-form-section {
  width: min(100% - 160px, 960px);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(56px, 7vw, 92px) 0;
}


/* ==============================
  Contact Form Design
  お問い合わせフォームデザイン
============================== */

/* フォームエリア背景 */
#content[data-postid="34"] .owl-contact-form-fullwide {
  background: #d8f2ff !important;
}

/* 上のセクションと同じ幅に合わせる */
#content[data-postid="34"] .owl-contact-form-section {
  width: min(100% - 160px, 960px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(56px, 7vw, 92px) 0 !important;
}

/* フォーム全体を白いカードにする */
#content[data-postid="34"] .wpcf7 {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(32px, 4vw, 48px);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

/* ラベル */
#content[data-postid="34"] .wpcf7 label {
  display: block;
  margin-bottom: 20px;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

/* 必須表示 */
#content[data-postid="34"] .wpcf7 .required {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--owl-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

/* 入力欄共通 */
#content[data-postid="34"] .wpcf7 input[type="text"],
#content[data-postid="34"] .wpcf7 input[type="email"],
#content[data-postid="34"] .wpcf7 input[type="tel"],
#content[data-postid="34"] .wpcf7 select,
#content[data-postid="34"] .wpcf7 textarea {
  width: 100% !important;
  margin-top: 8px;
  padding: 13px 16px;
  border: 1px solid #cfd8dc;
  border-radius: 8px;
  background: #f8fbfc;
  color: #111;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: none;
}

/* フォーカス時 */
#content[data-postid="34"] .wpcf7 input[type="text"]:focus,
#content[data-postid="34"] .wpcf7 input[type="email"]:focus,
#content[data-postid="34"] .wpcf7 input[type="tel"]:focus,
#content[data-postid="34"] .wpcf7 select:focus,
#content[data-postid="34"] .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--owl-blue);
  background: #fff;
}

/* テキストエリア */
#content[data-postid="34"] .wpcf7 textarea {
  min-height: 180px;
  resize: vertical;
}

/* 送信ボタン */
#content[data-postid="34"] .wpcf7 input[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  margin: 28px auto 0;
  padding: 14px 42px;
  border: none;
  border-radius: var(--owl-radius-pill);
  background: var(--owl-yellow);
  color: #111;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.14);
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}

#content[data-postid="34"] .wpcf7 input[type="submit"]:hover {
  background: var(--owl-blue);
  color: #fff;
  transform: translateY(-2px);
}

/* エラー・送信メッセージ */
#content[data-postid="34"] .wpcf7-response-output {
  margin: 24px 0 0 !important;
  padding: 14px 18px !important;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.7;
}

/* スマホ */
@media (max-width: 767px) {
  #content[data-postid="34"] .owl-contact-form-section {
    width: min(100% - 36px, 100%) !important;
    padding: 48px 0 !important;
  }

  #content[data-postid="34"] .wpcf7 {
    padding: 28px 20px;
  }

  #content[data-postid="34"] .wpcf7 input[type="submit"] {
    width: 100%;
  }
}


/* ==============================
  SP First View Height
  スマホ：FVを画面下まで使う
============================== */

@media (max-width: 767px) {
  .owl-hero-fullwide {
    overflow: hidden !important;
  }

  .owl-top-hero {
    min-height: calc(100svh - 96px) !important;
    background-image: var(--hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .owl-top-hero__inner {
    min-height: calc(100svh - 96px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }
}


/* ==============================
  SP Hero Title 4 Lines
  スマホ：FVタイトルを4本の帯に分ける
============================== */

@media (max-width: 767px) {

  /* タイトル全体 */
  .owl-top-hero__title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  /* 各バー共通 */
  .owl-top-hero__line {
    display: inline-block !important;
    width: auto !important;
    max-width: calc(100vw - 56px) !important;
    padding: 6px 18px 8px !important;
    background: var(--owl-gradient) !important;
    color: #fff !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
  }

  /* 1行目だけ、心ひとつに／笑顔広げる に分割 */
  .owl-top-hero__line:first-child {
    white-space: normal !important;
    max-width: calc(100vw - 56px) !important;
  }

  .owl-top-hero__line:first-child::before {
    content: "心ひとつに";
    display: block;
    width: fit-content;
    margin-bottom: 10px;
    padding: 6px 18px 8px;
    background: var(--owl-gradient);
    color: #fff;
    line-height: 1.18;
    white-space: nowrap;
  }

  .owl-top-hero__line:first-child {
    font-size: 0 !important;
    padding: 0 !important;
    background: none !important;
  }

  .owl-top-hero__line:first-child::after {
    content: "笑顔広げる";
    display: block;
    width: fit-content;
    padding: 6px 18px 8px;
    background: var(--owl-gradient);
    color: #fff;
    font-size: clamp(42px, 11vw, 56px);
    line-height: 1.18;
    white-space: nowrap;
  }

  /* 1行目beforeの文字サイズ */
  .owl-top-hero__line:first-child::before {
    font-size: clamp(42px, 11vw, 56px);
  }

  /* 愛ある奉仕 */
  .owl-top-hero__line--short {
    font-size: clamp(42px, 11vw, 56px) !important;
  }

  /* We Serve */
  .owl-top-hero__line--script {
    font-size: clamp(38px, 10vw, 52px) !important;
  }
}


/* ==============================
  SP Hero Anniversary Icon
  スマホ：10周年マーク拡大
============================== */

@media (max-width: 767px) {
  .owl-top-hero__anniv {
    width: 180px !important;
    max-width: 42vw !important;
    height: auto !important;
  }
}


/* ==============================
  SP Top Activity Compact
  スマホ：TOP最新の活動カード圧縮
============================== */

@media (max-width: 767px) {

  /* セクション全体の上下余白を圧縮 */
  .owl-top-activity {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }

  /* カード間の余白を圧縮 */
  .owl-top-activity__cards {
    gap: 22px !important;
  }

  /* カード画像を低くする */
  .owl-top-activity__thumb {
    aspect-ratio: 16 / 9 !important;
    max-height: 230px !important;
  }

  .owl-top-activity__thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* 本文エリアの余白を圧縮 */
  .owl-top-activity__body {
    padding: 18px 22px 20px !important;
  }

  /* カテゴリラベルを少し小さく */
  .owl-top-activity__cat {
    margin-bottom: 12px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
  }

  /* タイトルは1行基準 */
  .owl-top-activity__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: auto !important;
    margin-bottom: 12px !important;
    font-size: 20px !important;
    line-height: 1.45 !important;
  }

  /* 日付 */
  .owl-top-activity__date {
    margin-bottom: 10px !important;
    font-size: 15px !important;
  }

  /* 抜粋文は2行まで */
  .owl-top-activity__excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  /* 右下の丸矢印を少し小さく */
  .owl-top-activity__arrow {
    width: 34px !important;
    height: 34px !important;
    right: 18px !important;
    bottom: 18px !important;
  }
}


/* ==============================
  Top Activity Meta / Compact
  最新の活動：日付カテゴリー横並び・余白調整
============================== */

/* PC/SP共通：日付とカテゴリーを1行にする */
.owl-top-activity__meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.owl-top-activity__meta .owl-top-activity__date {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: var(--owl-blue) !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.owl-top-activity__meta .owl-top-activity__cat {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* タイトル下の余白を詰める */
.owl-top-activity__title {
  margin-bottom: 4px !important;
}

/* 本文との余白も詰める */
.owl-top-activity__excerpt {
  margin-top: 0 !important;
}



/* ==============================
  SP Top Activity Title Min-height Reset
  スマホ：最新の活動カードのタイトル2行高さを解除
============================== */

@media (max-width: 767px) {
  .owl-top-activity__title {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;

    line-height: 1.35 !important;
  }

  .owl-top-activity__excerpt {
    margin-top: 6px !important;
  }
}


/* ==============================
  SP Top Activity Card Final Compact
  スマホ：最新の活動カードのタイトル下余白を強制的に詰める
============================== */

@media (max-width: 767px) {
  .home .owl-top-activity__body,
  .front-page .owl-top-activity__body,
  .owl-top-activity__body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 14px 20px 16px !important;
  }

  .home .owl-top-activity__title,
  .front-page .owl-top-activity__title,
  .owl-top-activity__title {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
  }

  .home .owl-top-activity__excerpt,
  .front-page .owl-top-activity__excerpt,
  .owl-top-activity__excerpt {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
  }

  .home .owl-top-activity__meta,
  .front-page .owl-top-activity__meta,
  .owl-top-activity__meta {
    margin-bottom: 8px !important;
  }
}


/* ==============================
  SP Top Activity Arrow Remove
  スマホ：最新の活動カードの丸矢印削除・下余白調整
============================== */

@media (max-width: 767px) {
  /* 丸い三角アイコンを非表示 */
  .owl-top-activity__arrow {
    display: none !important;
  }

  /* カード本文エリアの下余白を詰める */
  .owl-top-activity__body {
    padding-bottom: 18px !important;
  }

  /* 抜粋文の下余白をなくす */
  .owl-top-activity__excerpt {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* カード全体の下側に余分な高さが残らないようにする */
  .owl-top-activity__card,
  .owl-top-activity__card-link {
    min-height: 0 !important;
  }
}


/* ==============================
  SP Top Activity Card Height Reset
  スマホ：最新の活動カードの高さ揃えを解除
============================== */

@media (max-width: 767px) {
  /* カード全体の高さ揃えを解除 */
  .owl-top-activity__card,
  .owl-top-activity__card-link {
    height: auto !important;
    min-height: 0 !important;
  }

  /* 本文エリアが下まで伸びないようにする */
  .owl-top-activity__body {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 20px 14px !important;
  }

  /* 抜粋文の下余白を完全に削除 */
  .owl-top-activity__excerpt {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 非表示にした矢印分の余白も残さない */
  .owl-top-activity__arrow {
    display: none !important;
  }
}


/* ==============================
  SP Top About Final Layout
  スマホ：私たちについて 2列カード＋CTA
============================== */

@media (max-width: 767px) {
  .owl-top-about__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .owl-top-about__text {
    display: contents !important;
  }

  .owl-top-about__title {
    order: 1 !important;
  }

  .owl-top-about__lead-wrap {
    order: 2 !important;
  }

  .owl-top-about__cards {
    order: 3 !important;
  }

  .owl-top-about__button-wrap {
    order: 4 !important;
  }

  .owl-top-about__cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    margin-top: 28px !important;
  }

  .owl-top-about__card {
    min-height: auto !important;
    padding: 16px 10px 18px !important;
  }

  .owl-top-about__icon {
    height: 72px !important;
    margin-bottom: 10px !important;
  }

  .owl-top-about__icon img {
    max-width: 86px !important;
    max-height: 72px !important;
    height: auto !important;
  }

  .owl-top-about__card-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .owl-top-about__button-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 30px !important;
  }

  .owl-top-about__button-wrap .owl-top-about__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 340px) !important;
    min-height: 54px !important;
  }
}


/* ==============================
  SP Top About Gap Reset
  スマホ：私たちについてカード上下余白を詰める
============================== */

@media (max-width: 767px) {
  /* PC用のgapがSPでも効くのを解除 */
  .owl-top-about__content {
    gap: 0 !important;
    row-gap: 0 !important;
  }

  /* 本文下の余白を詰める */
  .owl-top-about__lead-wrap {
    margin-bottom: 18px !important;
  }

  .owl-top-about__lead:last-child {
    margin-bottom: 0 !important;
  }

  /* カード上の余白を詰める */
  .owl-top-about__cards {
    margin-top: 0 !important;
    gap: 12px !important;
  }

  /* カード内余白も少し圧縮 */
  .owl-top-about__card {
    padding: 12px 10px 14px !important;
  }

  .owl-top-about__icon {
    height: 60px !important;
    margin-bottom: 6px !important;
  }

  .owl-top-about__icon img {
    max-width: 76px !important;
    max-height: 60px !important;
  }

  .owl-top-about__card-text {
    margin: 0 !important;
    line-height: 1.35 !important;
  }

  /* カードとCTAの間 */
  .owl-top-about__button-wrap {
    margin-top: 22px !important;
  }
}


/* ==============================
  PC Top Visit Title Spacing
  PC：見学セクション タイトルと本文の間を詰める
============================== */

@media (min-width: 768px) {
  .owl-top-visit__catch {
    margin-bottom: 18px !important;
  }
}


/* ==============================
  PC Top Visit Title Wrapper Spacing
  PC：見学セクション タイトル下余白を詰める
============================== */

@media (min-width: 768px) {
  .owl-top-visit__title {
    margin-bottom: 6px !important;
  }
}


/* ==============================
  PC Home Visit Title Spacing Fix
  PC：TOP見学セクション タイトル下余白を詰める
============================== */

@media (min-width: 768px) {
  #content[data-postid="20"] .owl-top-visit__title {
    margin-bottom: 6px !important;
    padding-bottom: 0 !important;
  }

  #content[data-postid="20"] .owl-top-visit__catch {
    margin-bottom: 0 !important;
  }

  #content[data-postid="20"] .owl-top-visit__lead {
    margin-top: 0 !important;
  }
}


/* ==============================
  SP Top Visit Images 2 Columns
  スマホ：見学セクションのイラストを2列にする
============================== */

@media (max-width: 767px) {
  .owl-top-visit__images {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
    width: 100% !important;
    margin-top: 28px !important;
  }

  .owl-top-visit__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}


/* ==============================
  SP Top Visit CTA Position
  スマホ：見学セクションCTAをイラスト下へ移動
============================== */

@media (max-width: 767px) {
  /* SPでは中身を並び替えできるようにする */
  .owl-top-visit__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  /* text内の要素を親レイアウトに参加させる */
  .owl-top-visit__text {
    display: contents !important;
  }

  /* 表示順 */
  .owl-top-visit__title {
    order: 1 !important;
  }

  .owl-top-visit__lead {
    order: 2 !important;
  }

  .owl-top-visit__images {
    order: 3 !important;
  }

  .owl-top-visit__buttons {
    order: 4 !important;
  }

  /* イラストとCTAの間 */
  .owl-top-visit__images {
    margin-top: 30px !important;
    margin-bottom: 28px !important;
  }

  /* CTAをイラスト下に配置 */
  .owl-top-visit__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .owl-top-visit__button {
    width: 100% !important;
    min-width: auto !important;
  }
}


/* ==============================
  SP Top Visit Spacing Compact
  スマホ：見学セクション タイトル下・本文下余白を詰める
============================== */

@media (max-width: 767px) {
  /* 全体gapを解除 */
  .owl-top-visit__content {
    gap: 0 !important;
    row-gap: 0 !important;
  }

  /* タイトル下の余白を詰める */
  .owl-top-visit__title {
    margin-bottom: 14px !important;
  }

  .owl-top-visit__catch {
    margin-bottom: 0 !important;
  }

  /* 本文下の余白を詰める */
  .owl-top-visit__lead {
    margin-bottom: 18px !important;
  }

  .owl-top-visit__lead p {
    margin-bottom: 0 !important;
  }

  /* イラスト上の余白を詰める */
  .owl-top-visit__images {
    margin-top: 18px !important;
  }
}


/* ==============================
  SP Footer Menu Hide
  スマホ：フッターメニュー非表示
============================== */

@media (max-width: 767px) {
  .owl-footer__nav {
    display: none !important;
  }

  .owl-footer__main {
    gap: 0 !important;
  }
}


/* ==============================
  SP Top News Layout Fix
  スマホ：お知らせ見出し・日付カテゴリ横並び
============================== */

@media (max-width: 767px) {

  /* 見出し：お知らせ + 当クラブ会員へのお知らせ を横並び */
  .owl-top-news__title-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 18px !important;
  }

  .owl-top-news__lead {
    margin: 0 0 4px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
  }

  /* お知らせ一覧：日付＋カテゴリを1行目、タイトルを2行目 */
  .owl-top-news__item {
    display: grid !important;
    grid-template-columns: auto auto !important;
    column-gap: 14px !important;
    row-gap: 10px !important;
    align-items: center !important;
    padding: 18px 0 !important;
  }

  .owl-top-news__date {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  .owl-top-news__cat {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: fit-content !important;
    min-width: 80px !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .owl-top-news__text {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: block !important;
    margin: 0 !important;
  }
}


/* ==============================
  SP Top News Category Position
  スマホ：お知らせカテゴリーを日付の右へ寄せる
============================== */

@media (max-width: 767px) {
  .owl-top-news__item {
    grid-template-columns: auto 1fr !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
  }

  .owl-top-news__date {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .owl-top-news__cat {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    margin-left: 0 !important;
  }

  .owl-top-news__text {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}


/* ==============================
  SP Japanese Section Heading Size
  スマホ：通常の日本語見出しだけ拡大
  ※グラデーション帯・黄色ライン付きキャッチは除外
============================== */

@media (max-width: 767px) {
  /* 通常の日本語セクション見出し */
  .owl-section-title__ja,
  .owl-top-news__title .owl-section-title__ja,
  .owl-top-activity__ja,
  .owl-about-greeting__head .owl-section-title__ja,
  .owl-about-chart-simple__head .owl-section-title__ja,
  .owl-about-committee__head .owl-section-title__ja,
  .owl-about-overview__head .owl-section-title__ja,
  .owl-news-archive-heading .owl-section-title__ja,
  #content[data-postid="26"] .owl-activity-archive-heading .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-intro__head .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-what__head .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-recommend__head .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-membership__head .owl-section-title__ja,
  #content[data-postid="28"] .owl-join-flow__head .owl-section-title__ja,
  #content[data-postid="30"] .owl-member-docs__heading,
  #content[data-postid="32"] .owl-history-archive-heading .owl-section-title__ja,
  #content[data-postid="34"] .owl-contact__head .owl-section-title__ja {
    font-size: clamp(31px, 8vw, 45px) !important;
  }

  /* 帯・キャッチ系は拡大対象から除外して元の設計を優先 */
  .owl-top-visit__catch,
  .owl-visit-title-pc,
  .owl-visit-title-sp,
  .owl-visit-title-sp__line,
  .owl-top-hero__line,
  .owl-join-intro__catch,
  .owl-join-what__catch,
  .owl-join-recommend__catch,
  .owl-join-membership__catch,
  .owl-join-flow__catch,
  .owl-contact__catch {
    font-size: inherit;
  }
}


/* ==============================
  SP Top About Heading Size
  スマホ：TOP私たちについて見出し拡大
============================== */

@media (max-width: 767px) {
  #content[data-postid="20"] .owl-top-about__title .owl-section-title__ja {
    font-size: clamp(31px, 8vw, 45px) !important;
  }
}


/* ==============================
  SP CTA Font Size
  スマホ：CTA文字サイズを拡大
============================== */

@media (max-width: 767px) {
  .owl-top-hero__button,
  .owl-top-news__button,
  .owl-top-activity__button,
  .owl-top-about__button,
  .owl-top-visit__button,
  .owl-footer__button,
  .wpcf7 input[type="submit"] {
    font-size: 19px !important;
  }
}


/* ==============================
  SP Top Visit Image Spacing
  スマホ：見学セクション 本文とイラストの間を詰める
============================== */

@media (max-width: 767px) {
  .owl-top-visit__images {
    margin-top: 9px !important;
  }
}


/* ==============================
  SP Top Visit Images Area Reset
  スマホ：見学セクション イラスト周りの余白を削除
============================== */

@media (max-width: 767px) {
  .owl-top-visit__images {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .owl-top-visit__image {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  .owl-top-visit__image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ==============================
  SP Top Activity / About Animation Final
  スマホ：回転を完全停止して下からふわっと表示
============================== */

@media (max-width: 767px) {
  /* 回転アニメーションを完全に解除 */
  .owl-top-activity .spin-reveal-item,
  .owl-top-about .spin-reveal-item {
    animation: none !important;
    transform: translateY(28px) !important;
    opacity: 0 !important;
    transform-origin: center bottom !important;
    transition:
      opacity 0.75s ease,
      transform 0.75s ease !important;
  }

  /* 表示時：下からふわっと */
  .owl-top-activity .spin-reveal-item.is-spin-visible,
  .owl-top-about .spin-reveal-item.is-spin-visible {
    animation: none !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

 /* Activity：順番表示 */
.owl-top-activity .spin-reveal-item:nth-child(1) {
  transition-delay: 0.15s !important;
}
.owl-top-activity .spin-reveal-item:nth-child(2) {
  transition-delay: 0.4s !important;
}
.owl-top-activity .spin-reveal-item:nth-child(3) {
  transition-delay: 0.65s !important;
}
.owl-top-activity .spin-reveal-item:nth-child(4) {
  transition-delay: 0.9s !important;
}

  /* About：順番表示 */
  .owl-top-about .spin-reveal-item:nth-child(1) {
    transition-delay: 0.1s !important;
  }

  .owl-top-about .spin-reveal-item:nth-child(2) {
    transition-delay: 0.22s !important;
  }

  .owl-top-about .spin-reveal-item:nth-child(3) {
    transition-delay: 0.34s !important;
  }
  .owl-top-about .spin-reveal-item:nth-child(4) {
    transition-delay: 0.46s !important;
  }
}


/* ==============================
  SP Top News Item Animation
  スマホ：HOMEお知らせを1件ずつ下からふわっと表示
============================== */

@media (max-width: 767px) {
  /* お知らせ各行：最初は非表示 */
  .owl-top-news__list .owl-top-news__item {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 0.75s ease,
      transform 0.75s ease;
  }

  /* お知らせリストが表示状態になったら、各行を表示 */
  .owl-top-news__list.is-show .owl-top-news__item {
    opacity: 1;
    transform: translateY(0);
  }

  /* 1件ずつ順番に表示 */
  .owl-top-news__list.is-show .owl-top-news__item:nth-child(1) {
    transition-delay: 0.15s;
  }

  .owl-top-news__list.is-show .owl-top-news__item:nth-child(2) {
    transition-delay: 0.4s;
  }

  .owl-top-news__list.is-show .owl-top-news__item:nth-child(3) {
    transition-delay: 0.65s;
  }

  .owl-top-news__list.is-show .owl-top-news__item:nth-child(4) {
    transition-delay: 0.9s;
  }

  .owl-top-news__list.is-show .owl-top-news__item:nth-child(5) {
    transition-delay: 1.15s;
  }
}


/* ==============================
  SP About Organization Chart
  スマホ：組織図見出し中央寄せ・画像90％縮小
============================== */

@media (max-width: 767px) {
  /* 組織図セクションの見出しを中央寄せ */
  .owl-about-chart-simple__head {
    text-align: center !important;
  }

  .owl-about-chart-simple__head .owl-section-title__en,
  .owl-about-chart-simple__head .owl-section-title__ja {
    text-align: center !important;
  }

  /* 組織図画像を90％に縮小 */
  .owl-about-chart-simple__image {
    text-align: center !important;
  }

  .owl-about-chart-simple__image img {
    width: 90% !important;
    max-width: 90% !important;
    height: auto !important;
    display: inline-block !important;
  }
}


/* ==============================
  SP About Greeting Heading
  スマホ：会長挨拶見出し中央寄せ
============================== */

@media (max-width: 767px) {
  .owl-about-greeting__head {
    text-align: center !important;
  }

  .owl-about-greeting__head .owl-section-title__en,
  .owl-about-greeting__head .owl-section-title__ja {
    text-align: center !important;
  }
}


/* ==============================
  SP About Greeting Text Align
  スマホ：会長挨拶内の整列調整
============================== */

@media (max-width: 767px) {
  /* 会長スローガンを中央寄せ */
  .owl-about-greeting__slogan,
  .owl-about-greeting__catch,
  .owl-about-greeting__message-title {
    text-align: center !important;
  }

  /* 会長名の署名部分を右寄せ */
  .owl-about-greeting__signature,
  .owl-about-greeting__name {
    text-align: right !important;
  }
}


@media (max-width: 767px) {
  .owl-about-greeting__signature {
    text-align: right !important;
  }
}


/* ==============================
  SP About Chart Section Padding
  スマホ：組織図セクション上下余白を50％に
============================== */

@media (max-width: 767px) {
  .owl-chart-fullwide {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}


/* ==============================
  SP About Committee
  スマホ：委員会見出し中央寄せ
============================== */

@media (max-width: 767px) {
  .owl-about-committee__head {
    text-align: center !important;
  }

  .owl-about-committee__head .owl-section-title__en,
  .owl-about-committee__head .owl-section-title__ja {
    text-align: center !important;
  }
}


/* ==============================
  SP About Overview Heading
  スマホ：クラブ概要見出し中央寄せ
============================== */

@media (max-width: 767px) {
  .owl-about-overview__head {
    text-align: center !important;
  }

  .owl-about-overview__head .owl-section-title__en,
  .owl-about-overview__head .owl-section-title__ja {
    text-align: center !important;
  }
}


/* ==============================
  SP About Overview Table
  スマホ：クラブ概要表を見やすく調整
============================== */

@media (max-width: 767px) {
  .owl-about-overview__table {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    border: 1px solid rgba(0, 0, 0, 0.18) !important;
    background: #fff !important;
  }

  .owl-about-overview__row {
    display: block !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;
  }

  .owl-about-overview__row:last-child {
    border-bottom: none !important;
  }

  .owl-about-overview__label {
    display: block !important;
    width: 100% !important;
    padding: 16px 18px !important;
    background: var(--owl-blue) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  .owl-about-overview__content {
    display: block !important;
    width: 100% !important;
    padding: 18px 18px 20px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .owl-about-overview__content a {
    color: #111 !important;
    text-decoration: none !important;
    word-break: break-all !important;
  }
}


/* ==============================
  SP About Overview Table Final
  スマホ：クラブ概要表の崩れ・下線・中央寄せ調整
============================== */

@media (max-width: 767px) {
  .owl-about-overview__table {
    width: calc(100% - 48px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .owl-about-overview__row {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .owl-about-overview__label,
  .owl-about-overview__content {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .owl-about-overview__label {
    padding: 16px 14px !important;
    font-size: 21px !important;
    line-height: 1.35 !important;
  }

  .owl-about-overview__content {
    padding: 20px 14px 22px !important;
    font-size: 20px !important;
    line-height: 1.75 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .owl-about-overview__content a,
  .owl-about-overview__content span {
    color: #111 !important;
    text-decoration: none !important;
    border-bottom: none !important;
  }
}


@media (max-width: 767px) {
  .owl-about-overview__content span {
    text-decoration: none !important;
    border-bottom: none !important;
  }
}


/* ==============================
  SP About Overview Table Fixed
  スマホ：クラブ概要表 最終調整
============================== */

@media (max-width: 767px) {
  .owl-about-overview__table {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 1px solid rgba(0, 0, 0, 0.18) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .owl-about-overview__row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.18) !important;
    box-sizing: border-box !important;
  }

  .owl-about-overview__row:last-child {
    border-bottom: none !important;
  }

  .owl-about-overview__label,
  .owl-about-overview__content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .owl-about-overview__label {
    padding: 18px 14px !important;
    background: var(--owl-blue) !important;
    color: #fff !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }

  .owl-about-overview__content {
    padding: 22px 14px 24px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .owl-about-overview__content a,
  .owl-about-overview__content span {
    color: #111 !important;
    text-decoration: none !important;
    border-bottom: none !important;
  }
}


/* ==============================
  SP About Committee Text Size
  スマホ：委員会名・本文サイズ調整
============================== */

@media (max-width: 767px) {
  .owl-about-committee__name {
    font-size: 28px !important;
    line-height: 1.35 !important;
  }

  .owl-about-committee__body,
  .owl-about-committee__body p {
    font-size: 21px !important;
    line-height: 1.65 !important;
  }
}


/* ==============================
  SP About Committee Name 80%
  スマホ：委員会名だけ80％に縮小
============================== */

@media (max-width: 767px) {
  .owl-about-committee__name {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }
}


/* ==============================
  SP About Overview Table Width
  スマホ：クラブ概要ボックスを少し広げる
============================== */

@media (max-width: 767px) {
  .owl-about-overview__table {
    width: calc(100% - 32px) !important;
  }
}


/* ==============================
  Visit Title PC/SP Switch
  見学セクションタイトル PC/SP切り替え
============================== */

.owl-visit-title-sp {
  display: none;
}

.owl-visit-title-pc {
  display: inline;
}

@media (max-width: 767px) {
  .owl-visit-title-pc {
    display: none;
  }

  .owl-visit-title-sp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .owl-top-visit__catch {
    display: block !important;
    width: fit-content !important;
    padding: 0 !important;
    background: none !important;
    line-height: 1.28 !important;
  }

  .owl-visit-title-sp__line {
    display: inline-block;
    width: fit-content;
    padding: 8px 22px 10px;
    background: var(--owl-gradient);
    color: #fff;
    line-height: 1.18;
    white-space: nowrap;
  }
}


/* ==============================
  SP Lower Visit Title Band Clean Fix
  スマホ：下層ページの見学タイトル帯を復旧
============================== */

@media (max-width: 767px) {
  body:not(.home) .owl-top-visit__catch {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: none !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1.25 !important;
  }

  body:not(.home) .owl-top-visit__catch .owl-visit-title-pc {
    display: none !important;
  }

  body:not(.home) .owl-top-visit__catch .owl-visit-title-sp {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  body:not(.home) .owl-top-visit__catch .owl-visit-title-sp__line {
    display: inline-block !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 8px 22px 10px !important;
    background: var(--owl-gradient) !important;
    color: #fff !important;
    font-family:
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif !important;
    font-size: clamp(34px, 8vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
  }
}


/* ==============================
  SP About Overview Match Committee Table
  スマホ：クラブ概要表を委員会表デザインに合わせる
============================== */

@media (max-width: 767px) {
  #content[data-postid="22"] .owl-about-overview__table {
    display: block !important;
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border-top: 1px solid #d7d7d7 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #content[data-postid="22"] .owl-about-overview__row {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #d7d7d7 !important;
    box-sizing: border-box !important;
  }

  #content[data-postid="22"] .owl-about-overview__label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    background: #9eddf5 !important;
    color: #111 !important;
    border-right: none !important;
    box-sizing: border-box !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  #content[data-postid="22"] .owl-about-overview__content {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
    background: #fff !important;
    color: #111 !important;
    box-sizing: border-box !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    text-align: center !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  #content[data-postid="22"] .owl-about-overview__content a,
  #content[data-postid="22"] .owl-about-overview__content span {
    color: #111 !important;
    text-decoration: none !important;
    border-bottom: none !important;
  }
}


/* ==============================
  SP Lower Visit Title Spacing
  スマホ：下層ページ見学セクション タイトル下余白を半分に
============================== */

@media (max-width: 767px) {
  body:not(.home) .owl-top-visit__title {
    margin-bottom: 14px !important;
  }

  body:not(.home) .owl-top-visit__catch {
    margin-bottom: 0 !important;
  }
}


/* ==============================
  Visit Title PC/SP Switch
  見学セクションタイトル PC/SP切り替え
============================== */

.owl-visit-title-sp {
  display: none;
}

.owl-visit-title-pc {
  display: inline;
}

@media (max-width: 767px) {
  .owl-visit-title-pc {
    display: none !important;
  }

  .owl-visit-title-sp {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .owl-top-visit__catch {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1.25 !important;
  }

  .owl-visit-title-sp__line {
    display: inline-block !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 8px 22px 10px !important;
    background: var(--owl-gradient) !important;
    color: #fff !important;
    font-family:
      "Yu Mincho",
      "YuMincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif !important;
    font-size: clamp(34px, 8vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
  }
}


/* ==============================
  SP Lower Visit Title Spacing
  スマホ：下層ページ見学セクション タイトル下余白調整
============================== */

@media (max-width: 767px) {
  body:not(.home) .owl-top-visit__title {
    margin-bottom: 14px !important;
  }

  body:not(.home) .owl-top-visit__catch {
    margin-bottom: 0 !important;
  }
}


/* ==============================
  SP History Pagination Minimal
  スマホ：これまでの歩み ページボタンを枠なしでシンプルに
============================== */

@media (max-width: 767px) {
  #content[data-postid="32"] .owl-history-archive__pagination {
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  #content[data-postid="32"] .owl-history-archive__pagination .page-numbers {
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: none !important;
    background: transparent !important;
    color: var(--owl-blue) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 34px !important;
    text-align: center !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  #content[data-postid="32"] .owl-history-archive__pagination .page-numbers.current {
    background: var(--owl-blue) !important;
    color: #fff !important;
  }

  #content[data-postid="32"] .owl-history-archive__pagination .page-numbers.next,
  #content[data-postid="32"] .owl-history-archive__pagination .page-numbers.prev {
    min-width: auto !important;
    padding: 0 6px !important;
  }

  #content[data-postid="32"] .owl-history-archive__pagination .page-numbers.dots {
    color: #999 !important;
  }
}


/* ==============================
  PC About Greeting Slogan Size
  PC：会長挨拶スローガンを少しサイズダウン
============================== */

@media (min-width: 768px) {
  .owl-about-greeting__slogan {
    font-size: clamp(18px, 1.6vw, 25px) !important;
    line-height: 1.5 !important;
  }
}


/* ==============================
  SP Join What Icon Size
  スマホ：できることセクションのアイコンを2倍に
============================== */

@media (max-width: 767px) {
  #content[data-postid="28"] .owl-join-what__icon {
    height: 220px !important;
    margin-bottom: 14px !important;
  }

  #content[data-postid="28"] .owl-join-what__icon img {
    max-width: 320px !important;
    max-height: 220px !important;
  }
}


/* ==============================
  PC Join What Icon Size
  PC：できることセクションのアイコンを1.5倍に
============================== */

@media (min-width: 768px) {
  #content[data-postid="28"] .owl-join-what__icon {
    height: 150px !important;
    margin-bottom: 12px !important;
  }

  #content[data-postid="28"] .owl-join-what__icon img {
    max-width: 225px !important;
    max-height: 150px !important;
  }
}


/* ==============================
  SP Footer Brand Center
  スマホ：フッターロゴ・クラブ名を中央揃え
============================== */

@media (max-width: 767px) {
  .owl-footer__brand {
    text-align: center !important;
  }

  .owl-footer__brand-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    gap: 14px !important;
  }

  .owl-footer__logos {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: center !important;
  }

  .owl-footer__logos img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .owl-footer__club {
    width: 100% !important;
    text-align: center !important;
  }

  .owl-footer__club-sub,
  .owl-footer__club-name {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* ==============================
  Visually Hidden
  画面には表示せず、HTML構造上は残す
============================== */

.owl-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ==============================
  Visit Section H2 Reset
  見学セクション h2化に伴う装飾リセット
============================== */

.owl-top-visit__catch {
  border: none !important;
  box-shadow: none !important;
}

.owl-top-visit__catch::before,
.owl-top-visit__catch::after {
  content: none !important;
  display: none !important;
}


/* ==============================
  Visit Title H2 Clean
  見学セクション：H2を1回だけ読ませる
============================== */

/* PC：1本の帯として表示 */
.owl-top-visit__catch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 0 30px !important;
  padding: 8px 26px 10px !important;
  background: var(--owl-gradient) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif !important;
  font-size: clamp(29px, 2.4vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
}

.owl-top-visit__catch::before,
.owl-top-visit__catch::after {
  content: none !important;
  display: none !important;
}

.owl-visit-title-line {
  display: inline !important;
  color: inherit !important;
}

/* SP：2本の帯として表示 */
@media (max-width: 767px) {
  .owl-top-visit__catch {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: none !important;
    color: inherit !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .owl-visit-title-line {
    display: inline-block !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 8px 22px 10px !important;
    background: var(--owl-gradient) !important;
    color: #fff !important;
    font-size: clamp(34px, 8vw, 46px) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
  }
}

/* ==============================
  SP Visit Title Line Gap Fix
  スマホ：見学タイトル2行帯の間隔調整
============================== */

@media (max-width: 767px) {
  .owl-top-visit__catch {
    gap: 12px !important;
    row-gap: 12px !important;
  }

  .owl-visit-title-line--second {
    margin-top: 12px !important;
  }
}


/* ==============================
  SP About Overview Width Match
  スマホ：クラブ概要表の幅を委員会表に合わせる
============================== */

@media (max-width: 767px) {
  #content[data-postid="22"] .owl-about-overview__table {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* ==============================
  SP About Committee Name Center / Padding
  スマホ：委員会名を中央寄せ・上下余白を半分に
============================== */

@media (max-width: 767px) {
  #content[data-postid="22"] .owl-about-committee__name {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;

    /* 上下余白を半分程度に */
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}


/* ==============================
  SP About Overview Label Padding
  スマホ：クラブ概要 項目名ボックス上下余白を半分に
============================== */

@media (max-width: 767px) {
  #content[data-postid="22"] .owl-about-overview__label {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}


/* ==============================
  Lower Page MV Images
  下層ページMV画像差し替え
============================== */

/* クラブ紹介 */
#content[data-postid="22"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/about-mv.jpg") center center / cover no-repeat !important;
}

/* 活動報告 */
#content[data-postid="26"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/activity-mv.jpg") center center / cover no-repeat !important;
}

/* 入会のご案内 */
#content[data-postid="28"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/join-us-mv.jpg") center center / cover no-repeat !important;
}

/* 会員専用 */
#content[data-postid="30"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/members-only-mv.jpg") center center / cover no-repeat !important;
}

/* これまでの歩み */
#content[data-postid="32"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/history-mv.jpg") center center / cover no-repeat !important;
}

/* お問い合わせ */
#content[data-postid="34"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/contact-mv.jpg") center center / cover no-repeat !important;
}


/* ==============================
  About MV Position
  クラブ紹介MV画像の表示位置調整
============================== */

#content[data-postid="22"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/about-mv.jpg") center 55% / cover no-repeat !important;
}


/* ==============================
  Join Us MV Position
  入会のご案内MV画像の表示位置調整
============================== */

#content[data-postid="28"] .owl-about-lower-hero {
  background:
    linear-gradient(
      90deg,
      rgba(0, 175, 236, 0.88) 0%,
      rgba(0, 175, 236, 0.58) 42%,
      rgba(255, 241, 0, 0) 100%
    ),
    url("http://renewal2.tsukubaowl.com/wp-content/uploads/2026/07/join-us-mv.jpg") center 35% / cover no-repeat !important;
}