@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/****************************
　共通項目
****************************/
.l-header .l-container {
  max-width: 1340px;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
.m_radius img {
    border-radius: 30px;
}
.swell-block-fullWide__inner.l-container {
  max-width: 1340px;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
}
.swell-block-fullWide__inner.l-container img {
  width: 100%;
  height: auto;
  display: block;
}
/*共通ボタン*/
.c-basicBtn{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 8px 16px 8px 34px;
  min-width: 320px;
  border-radius: 999px;
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  letter-spacing: .05em;
  box-sizing: border-box;
}
.c-basicBtn__circle{
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: #197aab;
  font-size: 22px;
  flex: 0 0 auto;
}
/*ボタン右寄せ*/
.right_content{
  text-align: right;
}
.right_content .c-basicBtn{
  display: inline-flex;
}
/*ページタイトル*/
.c-pageTitle {
  display: none;
}
.p_ttl .wp-block-group__inner-container{
  display: flex;
  align-items: baseline;
  gap: 24px;
  position: relative;
  padding-bottom: 20px;
}
.p_ttl h2,
.p_ttl p{
  margin: 0;
}
.p_ttl .wp-block-group__inner-container::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
}
/* フッター直前ウィジェットの余白を消す */
#w-before_footer_widget{
  display: none !important;
}
.w-beforeFooter {
  margin: 0;
}
.l-content {
  margin: 0 auto;
}
.l-footer__foot, .l-footer__widgetArea {
    padding-bottom: 3em;
    padding-top: 3em;
  }
/****************************
　ヘッダー
****************************/
.c-gnav>.menu-item>a .ttl {
    font-size: 18px;
}
/* ラッパー */
.l-header__menuBtn.sp_{
  position: absolute;
  top: 0;
  right: 0;              /* 右の余白 */
  z-index: 30;
  height: var(--logo_size_sp); /* ヘッダー高さに合わせる */
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: auto;
  margin: 0;
  padding: 0;
}

/* ボタン本体 */
.l-header__menuBtn.sp_ .c-iconBtn.-menuBtn{
  position: relative;
  width: 56px;
  height: var(--logo_size_sp); /* ヘッダーと揃える */
  min-height: unset;
  padding: 6px 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 3px;
  background: linear-gradient(180deg, #209d8a 0%, #197aab 100%);
  border-radius: 0 0 0 24px;
  border: none;
  box-shadow: none;
  color: #fff;
  line-height: 1;
}

/* MENU文字 */
.l-header__menuBtn.sp_ .c-iconBtn.-menuBtn::after{
  content: "MENU";
  display: block;
  margin-top: 1px;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

/* アイコン */
.l-header__menuBtn.sp_ .c-iconBtn__icon{
  width: 22px;
  height: 14px;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 19px;
  line-height: 1;
}

/* 白く固定 */
.l-header__menuBtn.sp_ .c-iconBtn.-menuBtn,
.l-header__menuBtn.sp_ .c-iconBtn.-menuBtn i,
.l-header__menuBtn.sp_ .c-iconBtn.-menuBtn i:before{
  color: #fff !important;
}
/****************************
　メインビジュアル
****************************/
/*組合員ログインはこちら*/
.member-login-fixed {
  position: fixed;
  right: 0;
  top: 45%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, #209d8a 0%, #197aab 100%);
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  border-radius: 30px 0 0 30px;
  z-index: 9999;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}
.member-login-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  color: #ffffff;
  font-size: 24px;
  letter-spacing: 2px;
  line-height: 1.6;
}
.member-login-icon img {
  width: 32px;
  height: auto;
  display: block;
}
/****************************
　各種申請書
****************************/
/*PDFダウンロードボタン*/
.c-pillBtn{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(860px, 100%);
  padding: 18px 18px 18px 22px;
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
  border-radius: 18px;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  box-shadow: 0 10px 25px rgba(0,0,0,0.14);
  transition: .2s ease;
}
.c-pillBtn__lead{
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.c-pillBtn__lead img{
  max-width: 60%;
  height: auto;
  display: block;
}
.c-pillBtn__text{
  font-size: 20px;
  letter-spacing: .03em;
  line-height: 1.2;
  flex: 1;
}
.c-pillBtn__end{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  color: #197aab;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
/****************************
　FAQ
****************************/
.faq-section {
  background: linear-gradient(
    135deg,
    #209d8a 0%,
    #197aab 100%
  );
  padding: 100px 0;
}
.swell-block-accordion__title {
    background: #fff;
}
.swell-block-accordion__item, .swell-block-accordion__title {
    border-radius: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
}
/*アコーディオン*/
.swell-block-accordion__item.is-opened {
  background: #ffffff;
  border-radius: 12px;
}
.swell-block-accordion__item+.swell-block-accordion__item {
    margin-top: .5rem;
}
/* ===== FAQ：Q/Aバッジ ===== */
.swell-block-accordion__title {
  position: relative;
  padding-left: 88px;
  min-height: 64px;
  display: flex;
  align-items: center;
}
.swell-block-accordion__title::before{
  content: "Q";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(
    135deg,
    #209d8a 0%,
    #197aab 100%
  );
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}
.swell-block-accordion__body {
  position: relative;
  padding-left: 88px;
}
.swell-block-accordion__body::before{
  content: "A";
  position: absolute;
  left: 24px;
  top: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f9f9fc;
  color: #229f89;
  font-size: 24px;
  font-weight: 800;
  box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}





/* =========================
   お知らせリスト：画像の見た目にする
========================= */

/* 1行（記事）リンクを横並びにして右に矢印 */
.c-newsList :is(.p-postList__link, .p-blogList__link, a.p-postList__item, a.p-blogList__item, .p-postList__item > a, .p-blogList__item > a){
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;

  padding: 22px 0;
  text-decoration: none;
}

/* 行の区切り線 */
.c-newsList :is(.p-postList__item, .p-blogList__item){
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* 左側（カテゴリ+日付+タイトル）を縦積みに */
.c-newsList :is(.p-postList__body, .p-blogList__body, .p-postList__text, .p-blogList__text){
  flex: 1;
  min-width: 0;
}

/* メタ（カテゴリ＋日付）を1行に */
.c-newsList :is(.p-postList__meta, .p-blogList__meta, .p-postList__info, .p-blogList__info){
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

/* カテゴリをピルに */
.c-newsList :is(.p-postList__cat, .p-blogList__cat, .c-postTerm, .p-postList__category, .p-blogList__category){
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,0.12);  /* ←スクショのグレーっぽさ */
  color: rgba(0,0,0,0.7);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

/* 日付 */
.c-newsList :is(time, .p-postList__date, .p-blogList__date){
  color: rgba(0,0,0,0.55);
  font-size: 14px;
  font-weight: 600;
}

/* タイトル */
.c-newsList :is(.p-postList__title, .p-blogList__title){
  font-size: 20px;
  font-weight: 700;
  color: rgba(0,0,0,0.78);
  line-height: 1.4;

  /* 長いときは省略（必要なければ消してOK） */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 右端の矢印（リンクの最後に疑似要素で表示） */
.c-newsList :is(.p-postList__link, .p-blogList__link, a.p-postList__item, a.p-blogList__item, .p-postList__item > a, .p-blogList__item > a)::after{
  content: "→";
  font-size: 22px;
  font-weight: 700;
  color: rgba(25, 122, 171, 1); /* #197aab */
  flex: 0 0 auto;
}

/* ホバー */
.c-newsList :is(.p-postList__link, .p-blogList__link, a.p-postList__item, a.p-blogList__item, .p-postList__item > a, .p-blogList__item > a):hover{
  opacity: 0.9;
}

/* スマホ */
@media (max-width: 768px){
  .c-newsList :is(.p-postList__title, .p-blogList__title){
    font-size: 16px;
    white-space: normal; /* スマホは折り返す */
  }
}

/*カテゴリとタイトルの上下余白確保*/
.c-newsList :is(.p-postList__meta, .p-blogList__meta, .p-postList__info, .p-blogList__info) {
    margin-bottom: 20px;
}



/* メタ行を横並びに強制 */
.p-postList__meta{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

/* カテゴリを左、日付を右に並べ替え */
.p-postList__cat{
  order: 0 !important;
}

.p-postList__times{
  order: 1 !important;
}

/*時計・カテゴリアイコンを削除*/
.c-postTimes__posted.icon-posted::before{
  display: none !important;
}
.p-postList__cat.icon-folder::before{
  display: none !important;
}


.l-footer {
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
  color: #fff;
}




/****************************
　お問い合わせ
****************************/
/* --- 必須/任意バッジ--- */
.cf7_contact .cf7_badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
  color: #fff;
  font-size: 14px;
  letter-spacing: .08em;
  flex: 0 0 auto;
  margin-right: 14px;
}
.cf7_contact{
  max-width: 980px;
  margin: 0 auto;
}
.cf7_contact .cf7_row{
  display: grid;
  grid-template-columns: 240px 1fr;
  column-gap: 56px;
  row-gap: 10px;
  padding: 18px 0;
  align-items: center;
}
.cf7_contact .cf7_label{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.cf7_contact .cf7_item{
  font-size: 20px;
  letter-spacing: .06em;
}
/* --- 入力欄 --- */
.cf7_contact input[type="text"],
.cf7_contact input[type="email"],
.cf7_contact input[type="tel"],
.cf7_contact textarea{
  width: 100%;
  border: none;
  background: #ffffff;
  border-radius: 999px;
  padding: 18px 22px;
  box-sizing: border-box;
}
.cf7_contact textarea{
  border-radius: 18px;
  min-height: 240px;
  padding: 22px;
}
.cf7_col input[type="text"], {
  margin-bottom: 10px;
}
/*チェック項目縦並び*/
.cf7_contact .cf7_checks{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 90px;
  row-gap: 18px;
}
/* チェックと文字の並び */
.cf7_contact .cf7_checks label{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 20px;
  letter-spacing: .05em;
}
/* checkboxサイズ */
.cf7_contact input[type="checkbox"]{
  width: 20px;
  height: 20px;
}
/* --- textarea行：上揃え --- */
.cf7_contact .cf7_row--textarea{
  align-items: start;
}
.cf7_contact .cf7_row--textarea .cf7_label{
  padding-top: 8px;
}
/* --- 同意行 --- */
.cf7_contact .cf7_row--agree{
  align-items: start;
}
.cf7_contact .cf7_row--agree .cf7_label{
  white-space: normal;
  align-items: start;
  gap: 22px;
}
.cf7_contact .cf7_row--agree .cf7_item{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .02em;
}
.cf7_contact .cf7_row--agree .cf7_field label{
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
/* --- ボタン（共通ボタンをそのまま使う） --- */
.cf7_contact .cf7_actions{
  margin-top: 28px;
  text-align: center;
}
.cf7_contact .cf7_submitBtn{
  border: none;
  cursor: pointer;
}
/* label内の改行要素無効化 */
.cf7_contact .cf7_label br, .cf7_actions br{
  display: none !important;
}
/*同意行を1カラム構造に変更*/
.cf7_contact .cf7_row--agree{
  display: block !important;
  padding-top: 28px;
}
/* ラベルと入力を上揃えにする */
.cf7_contact .cf7_row{
  align-items: start !important;
}
/* 姓・名の間の改行を消す */
.cf7_contact .cf7_2col br{
  display: none;
}
/* pタグの余白を消す */
.cf7_contact .cf7_2col p{
  margin: 0;
  display: flex;
  gap: 32px;
}
/* チェック項目の文字を折り返さない（スマホ含む） */
.cf7_contact .cf7_checks .wpcf7-list-item-label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
}

/* label自体も折り返さない */
.cf7_contact .cf7_checks label{
  flex-wrap: nowrap;
}
.cf7_contact .cf7_row--agree .cf7_label{
  margin-bottom: 20px;
}



/* --- スマホ --- */
@media (max-width: 768px){
  .cf7_contact .cf7_row{
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .cf7_contact .cf7_item{
    font-size: 18px;
  }
  .cf7_contact .cf7_2col{
    grid-template-columns: 1fr;
    gap: 14px;
  }
/*  組合員ログインはこちらSP用*/
  .member-login-fixed{
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    transform: none !important;

    width: auto !important;
    max-width: none !important;
    min-height: 56px !important;
    padding: 12px 16px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    border-radius: 16px !important;
    background: linear-gradient(90deg, #209d8a 0%, #197aab 100%) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.16) !important;
  }

  .member-login-icon{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  .member-login-icon img{
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    object-fit: contain;
  }

  .member-login-text{
    display: block !important;
    flex: 1 1 auto !important;
    margin: 0 8px !important;

    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: left !important;

    writing-mode: horizontal-tb !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    letter-spacing: 0.02em !important;
  }

  .member-login-fixed::after{
    content: "→";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 999px;
    background: #fff;
    color: #197aab;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
  }
}






/****************************
　活動内容
****************************/
.swell-block-box-menu__link {
  background: #fff;
}


@media (max-width: 1380px){
  .swell-block-fullWide__inner.l-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 768px){
  .p_ttl .wp-block-group__inner-container{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .news-head{
    flex-direction: column;
    align-items: flex-start;
  }
/*各種申請書*/
  .c-pillBtn{
    gap: 10px;
    padding: 8px 8px 8px 10px;
  }
  .c-pillBtn__text{
    font-size: 16px;
  }
}






/* ===== 会員ページフッターメニュー ===== */
.member-footer-nav{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 60px;
  margin: 0 auto;
  padding: 40px 0;
}

.member-footer-nav .member-nav-item{
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  border-bottom: 2px solid #209d8a;
  padding-bottom: 12px;
  font-size: 20px;
  letter-spacing: .08em;
  color: #111; /* テーマ色に引っ張られないよう固定 */
}

.member-footer-nav .member-nav-arrow{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(90deg, #209d8a 0%, #197aab 100%);
  color: #ffffff;
  font-size: 18px;
  flex: 0 0 auto;
}

.member-footer-nav .member-nav-item:hover{
  opacity: .75;
}

@media (max-width: 768px){
  .member-footer-nav{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .member-footer-nav .member-nav-item{
    font-size: 18px;
  }
}









.message-split {
  display: grid;
  grid-template-columns: 40vw 1fr;
  align-items: start;
  overflow: hidden;
}

.message-split__media {
  width: 100%;
}

.message-split__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.message-split__inner {
  width: 100%;
  box-sizing: border-box;
  padding-left: 56px;
  padding-right: max(24px, calc((100vw - 1340px) / 2));
}

.message-split__content {
  max-width: 804px;
  padding-top: 56px;
  padding-bottom: 56px;
}
.message-split__eyebrow {
  margin: 0 0 14px;
  padding: 0;
  color: #229f89 !important;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--swl-font_family);
}
.message-split__title span {
  margin: 0 0 20px;
  line-height: 1.35;
  font-weight: 700;
  background: #fff;
  color: #525b60 !important;
}

.message-split__title-main,
.message-split__title-sub {
  display: block;
}

.message-split__title-main {
  font-size: clamp(1.75rem, 1.35rem + 1vw, 2.2rem);
  color: #222222;
}

.message-split__title-sub {
  font-size: clamp(1.75rem, 1.35rem + 1vw, 2.2rem);
  color: #222222;
}

.message-split__name {
  margin: 0 0 28px;
  color: #333333;
  font-size: 0.95rem;
  line-height: 1.9;
  text-align: right;
}

.message-split__content p {
  margin: 0 0 1.2em;
  color: #333333;
  font-size: 0.96rem;
  line-height: 2;
}

.message-split__content p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .message-split {
    grid-template-columns: 42% 58%;
  }

  .message-split__inner {
    padding-left: 40px;
  }

  .message-split__content {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media (max-width: 767px) {
  .message-split {
    grid-template-columns: 1fr;
  }

  .message-split__inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  .message-split__content {
    max-width: 100%;
    padding-top: 28px;
    padding-bottom: 36px;
  }

  .message-split__eyebrow {
    font-size: 13px;
    margin-bottom: 10px;
  }

  .message-split__title {
    margin-bottom: 16px;
  }

  .message-split__name {
    margin-bottom: 20px;
    font-size: 0.9rem;
  }

  .message-split__content p {
    font-size: 0.94rem;
    line-height: 1.95;
  }
  .message-split__media img {
    padding-right: 20px;
  }
}













/* =========================
   SPメニュー全体
========================= */
@media (max-width: 959px) {

  /* メニュー全体背景 */
  .l-fixHeaderMenu,
  .l-drawerMenu,
  .l-headerDrawer {
    background: #f4f4f4;
  }

  /* 開いた中身の余白 */
  .l-drawerMenu__inner,
  .l-headerDrawer__inner,
  .l-fixHeaderMenu__inner {
    padding: 28px 24px 40px;
  }

  /* メニューリスト全体 */
  .l-drawerMenu .menu,
  .l-headerDrawer .menu,
  .l-fixHeaderMenu .menu {
    margin: 32px 0 0;
    padding: 0;
    list-style: none;
  }

  /* 各メニュー項目 */
  .l-drawerMenu .menu-item,
  .l-headerDrawer .menu-item,
  .l-fixHeaderMenu .menu-item {
    position: relative;
    margin: 0;
    border-bottom: 2px solid #2aa79e;
  }

  /* リンク */
  .l-drawerMenu .menu-item > a,
  .l-headerDrawer .menu-item > a,
  .l-fixHeaderMenu .menu-item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    padding: 0 72px 0 8px;
    color: #5d656b;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    letter-spacing: 0.04em;
    position: relative;
  }

  /* 既存の矢印を消す */
  .l-drawerMenu .menu-item > a::before,
  .l-drawerMenu .menu-item > a::after,
  .l-headerDrawer .menu-item > a::before,
  .l-headerDrawer .menu-item > a::after,
  .l-fixHeaderMenu .menu-item > a::before,
  .l-fixHeaderMenu .menu-item > a::after {
    content: none !important;
  }

  /* 右の丸ボタン */
  .l-drawerMenu .menu-item > a {
    position: relative;
  }

  .l-drawerMenu .menu-item > a span,
  .l-headerDrawer .menu-item > a span,
  .l-fixHeaderMenu .menu-item > a span {
    position: relative;
    z-index: 1;
  }

  .l-drawerMenu .menu-item > a::marker {
    content: none;
  }

  .l-drawerMenu .menu-item > a::after,
  .l-headerDrawer .menu-item > a::after,
  .l-fixHeaderMenu .menu-item > a::after {
    content: "→" !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #29b19d 0%, #247cc8 100%);
    color: #fff;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  /* サブメニューは控えめ */
  .l-drawerMenu .sub-menu .menu-item > a,
  .l-headerDrawer .sub-menu .menu-item > a,
  .l-fixHeaderMenu .sub-menu .menu-item > a {
    min-height: 64px;
    font-size: 18px;
    padding-left: 20px;
  }
}






.top-bg-area{
  position: relative;
  overflow: visible !important;
  background: transparent;
  margin-bottom: 0;
}

/* 左上の装飾 */
.top-bg-area::before{
  content: "";
  position: absolute;
  top: -400px;
  left: -400px;
  width: 900px;
  height: 900px;
  background: url("https://kves-wu.jp/wp-content/uploads/2026/03/decorative-dots-circle.png") no-repeat center / contain;
  z-index: 3;
  pointer-events: none;
}

/* MVの白背景を消す */
.top-bg-area .mv{
  position: relative;
  z-index: 3;
  background: transparent !important;
}

/* MVの内側も前に出す */
.top-bg-area .mv .swell-block-fullWide__inner,
.top-bg-area .mv figure,
.top-bg-area .mv img{
  position: relative;
  z-index: 3;
}

/* MESSAGEは装飾より下でOKならそのまま。必要ならこれ */


/* 右上の装飾 */
/*.top-bg-area::after{
  content: "";
  position: absolute;
  top: -80px;
  right: 0;
  width: 500px;
  height: 500px;
  background: url("https://kves-wu.jp/wp-content/uploads/2026/03/12.png") no-repeat right top / contain;
  z-index: 2;
  pointer-events: none;

  content: "";
  position: absolute;
  right: -510px;   
  bottom: -430px;
  width: 980px;
  height: 980px;
  background: url("https://kves-wu.jp/wp-content/uploads/2026/03/19.png") no-repeat center / contain;
  z-index: 2;
  pointer-events: none;
}*/

/* 右下グラデーション */
.top-bg-area::after{
  content: "";
  position: absolute;
  right: -180px;
  bottom: 0;
  width: 720px;
  height: 720px;
  background: radial-gradient(
    ellipse at bottom right,
    rgba(150,235,215,0.28) 0%,
    rgba(150,235,215,0.18) 28%,
    rgba(170,220,255,0.12) 50%,
    rgba(170,220,255,0.06) 65%,
    rgba(170,220,255,0) 80%
  );
  z-index: 1;
  pointer-events: none;
}

.post_content > .wp-block-group.alignfull{
  margin-bottom: 0 !important;
}

/*沖さん写真*/
.message-split__media img{
  border-radius: 0 30px 30px 0;
}

/*ビル画像の比率*/
@media (max-width: 768px){

.wp-block-cover.alignfull{
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
}
.c-gnav .sub-menu a:before, .c-listMenu a:before {
  display: none;
}
}








/* ===============================
   SP MENU
=============================== */

#sp_menu.p-spMenu{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  color: #5f666c;
}


#sp_menu.p-spMenu .p-spMenu__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.28);
}

#sp_menu.p-spMenu .p-spMenu__inner{
  position: absolute;
  top: 0;
  right: 0;
  height: 100dvh;
  overflow-y: auto;
}

#sp_menu.p-spMenu .p-spMenu__body{
  padding: 110px 28px 40px;
}

#sp_menu.p-spMenu .c-widget__title.-spmenu{
  display: none;
}


/* ===============================
   CLOSE BUTTON
=============================== */

#sp_menu.p-spMenu .p-spMenu__closeBtn{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}

#sp_menu.p-spMenu .p-spMenu__closeBtn .c-iconBtn.-menuBtn{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border: none;
  border-radius: 0 0 0 30px;
  background: linear-gradient(180deg,#209d8a 0%,#197aab 100%);
  color: #fff;
  line-height: 1;
  box-sizing: border-box;
  overflow: hidden;
}

#sp_menu.p-spMenu .p-spMenu__closeBtn .c-iconBtn__icon{
  width: 22px;
  height: 22px;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

#sp_menu.p-spMenu .p-spMenu__closeBtn .c-iconBtn.-menuBtn::after{
  content: "CLOSE";
  display: block;
  margin-top: 6px;
  font-size: 7px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .03em;
  color: #fff;
  white-space: nowrap;
}
/* ===============================
   MENU LIST
=============================== */

#sp_menu.p-spMenu .c-spnav{
  margin: 0;
  padding: 0;
  list-style: none;
}

#sp_menu.p-spMenu .c-spnav > li{
  border-bottom: 2px solid #27ae9f;
}

#sp_menu.p-spMenu .c-spnav > li > a{
  position: relative;
  display: block;
  padding: 18px 84px 18px 4px;
  color: #5f666c;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.5;
}

/* 丸矢印 */

#sp_menu.p-spMenu .c-spnav > li > a::after{
  content: "→";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg,#209d8a 0%,#197aab 100%);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}


