@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
*/

/* 共通 */
/* 固定ページのh1 */
.page .c-pageTitle {
  border-bottom: solid 4px #0080CC;
  padding: 10px 20px;
  background: #F2F9FF;
}

.page .post_content {
  margin-top: 1.5rem;
}

.blog .c-pageTitle {
  border-bottom: solid 4px #0080CC;
  padding: 10px 20px;
  background: #F2F9FF;
}

.blog .post_content {
  margin-top: 1.5rem;
}

.single .c-postTitle__ttl {
  border-bottom: solid 4px #0080CC;
  padding: 5px 20px;
  background: #F2F9FF;
}

.single .post_content {
  margin-top: 1.5rem;
}

.p-pnLinks {
  display: none;
}

/* 見出しの間隔変更 */
.post_content h2 {
  margin: 2em 0 1em;
}

/* 見出しの位置変更 */
.post_content .is-style-section_ttl {
  text-align: left;
}


/* 区切り線の色変更 */
.post_content hr {
  border-bottom: 1px solid #B9B9B9;
}

/* 記事内の画像 */
.women__photos .wp-block-image {
  width: 100%;
}

.women__photos .wp-block-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 350/260;
  object-fit: cover;
  display: block;
}

.young__photos .wp-block-image {
  width: 100%;
}

.young__photos .wp-block-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 350/260;
  object-fit: cover;
  display: block;
}

.event__table .wp-block-image {
  width: 100%;
}

.event__table .wp-block-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 310/180;
  object-fit: cover;
  display: block;
}

/* 一覧へ戻るボタン */
.c-btn--back {
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid #333;
  /* 枠線 */
  border-radius: 9999px;
  /* pill型の角丸 */
  color: #333;
  font-size: 0.95rem;
  text-decoration: none;
  background-color: #fff;
  min-width: 179px;
  text-align: center;
  font-weight: 500;
}

/* 中央寄せ */
.single .p-blogParts {
  display: flex;
  justify-content: center;
}

/* ぱんくず */
/* シングル（通常投稿・カスタム投稿）では最後のパンくずを表示 */
.single #breadcrumb .p-breadcrumb__item:last-child>.p-breadcrumb__text {
  display: inline !important;
}

/* パンくずリストの投稿タイトル省略表示（10文字以上） */
.p-breadcrumb__text {
  display: inline-block;
  max-width: 15em;
  /* 約10文字分の幅 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: top;
}

/* アイコン井表示 */

.icon-home:before {
  content: "";
}

/* ====== メインナビゲーションにアイコンを追加 ====== */

/* 縦並びレイアウトの基本設定（テキスト上、アイコン下） */
.c-gnav .menu-item>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  text-align: center;
}

/* テキスト部分（上に配置） */
.c-gnav .menu-item>a .ttl {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.2;
  order: 1;
}

/* アイコン部分（下に配置） */
.c-gnav .menu-item>a::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  order: 2;
}

/* パンくず */
.p-breadcrumb__text .__home {
align-items: baseline;
}

/* トップページ */
.c-gnav .menu-item-home>a::before {
  background-image: url("home-icon.svg");
}

/* お知らせ */
.c-gnav .menu-item-1080>a::before {
  background-image: url("news-icon.svg");
}

/* 商工会について */
.c-gnav .menu-item-1133>a::before {
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-11.webp");
}

/* 商工会についてのリンクにポインターカーソルを非表示 */
.c-gnav .menu-item-1133>a {
  cursor: default;
}

/* ====== ヘッダー検索ボックスのカスタマイズ ====== */

/* 検索フォームのコンテナ */
.w-header__item.widget_search {
  width: 100%;
  max-width: 300px;
}

/* 検索フォーム全体 */
.c-searchForm {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}

/* 検索入力フィールド */
.c-searchForm__s {
  width: 100%;
  padding: 12px 50px 12px 16px;
  border: none;
  border-bottom: 2px solid #7BBEEE;
  background-color: transparent;
  font-size: 16px;
  color: #333;
  outline: none;
  transition: border-color 0.3s ease;
  position: relative;
}

/* プレースホルダーテキスト */
.c-searchForm__s::placeholder {
  color: #999;
  font-size: 14px;
}

/* プレースホルダーテキストを非表示にして、疑似要素で新しいテキストを表示 */
.c-searchForm__s::placeholder {
  opacity: 0;
}

/* 新しいプレースホルダーテキストを疑似要素で表示 */
.c-searchForm {
  position: relative;
}

.c-searchForm::before {
  content: "キーワード検索";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.3s ease;
}

/* 入力フィールドにフォーカスがある時やテキストが入力されている時はプレースホルダーを非表示 */
.c-searchForm:focus-within::before,
.c-searchForm:has(.c-searchForm__s:not(:placeholder-shown))::before {
  opacity: 0;
}

/* 入力フィールドのフォーカス時 */
.c-searchForm__s:focus {
  border-bottom-color: #588EB4;
}

/* 検索ボタン */
.c-searchForm__submit {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: none;
  background: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

/* 検索アイコン */
.c-searchForm__submit::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("/wp-content/uploads/2025/09/8edc1961005936cde990836965591653.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* SWELLの既存クラスを上書きして背景色を完全に削除 */
.c-searchForm__submit.u-bg-main,
.c-searchForm__submit[class*="u-bg-"],
.c-searchForm__submit[class*="bg-"] {
  background: none !important;
  background-color: transparent !important;
}

/* ホバー時の透明度変化を無効化（既存のhov-opacityクラスを上書き） */
.c-searchForm__submit:hover {
  opacity: 1;
  background: none !important;
  background-color: transparent !important;
}

/* ホバー時のアイコン色変化 */
/* .c-searchForm__submit:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23588EB4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
} */

/* 大きさ調整 */

.c-gnav>.menu-item {
  min-width: 121px;
}



/* ホーム */
.c-gnav .menu-item-1140>a::before {
  background-image: url("/wp-content/uploads/2025/09/home.webp");
}

/* リンク */
.c-gnav .menu-item-1086>a::before {
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-3.webp");
}

/* お問い合わせ */
.c-gnav .menu-item-1088>a::before {
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-15.webp");
}

/* サブメニューの基本スタイル（nav-childクラス使用） */
.c-gnav .nav-child {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  min-height: 40px;
}

.c-gnav .nav-child>a {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

/* サブメニューのテキストを中央揃え */
.c-gnav .nav-child .ttl {
  display: flex;
  align-items: center;
  vertical-align: middle;
  margin-bottom: 0;
}

/* サブメニュー内のメインメニューアイコンを非表示 */
.c-gnav .nav-child>a::before {
  display: none !important;
}

/* サブメニューのアイコン（nav-childクラス使用、大きくして左揃え） */
.c-gnav .nav-child.menu-item-1081 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-11.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1082 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/executives-1.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1083 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-13.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1084 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/young.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1085 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/fbe200bc-fe22-4adb-961f-7f1e908fdd40-12.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1087 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/membership.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.c-gnav .nav-child.menu-item-1089 .ttl::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-image: url("/wp-content/uploads/2025/09/event.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

/* ページネーション */

[class*=page-numbers].current,
[class*=page-numbers]:hover {
  background-color: #333;
  color: #fff;
}

[class*="page-numbers"] {
  border: solid 1px #333;
  color: #333;
}

.nav-links {
  display: flex;
  justify-content: center;
margin-top: 40px;
}

/* アーカイブサイドバー非表示 */

/* まずこのウィジェットを非表示に */
#block-5 .sidebar-archives {
  display: none;
}

/* 表示したいページでだけ表示 */
.blog #block-5 .sidebar-archives,
.category #block-5 .sidebar-archives,
.date #block-5 .sidebar-archives,
/* ← 月/日/年アーカイブ */
.single-post #block-5 .sidebar-archives {
  display: block;
}


/* FVの左へ流れるアニメーション */

.fv__text {
  background-color: #F2F9FF;
}

.marquee-1 {
  padding-left: 100%;
  width: fit-content;
  white-space: nowrap;
  animation: marquee-left 8s steps(100, end) infinite;
  background-color: #F2F9FF;
}

@keyframes marquee-left {
  100% {
    transform: translateX(-100%);
  }
}

/* ヘッダー */

/* data-partsid="119" のブログパーツだけに適用 */
[data-partsid="119"] .swell-block-box-menu.is-style-default .swell-block-box-menu__item {
  border: none;
}

[data-partsid="119"] .swell-block-box-menu.is-style-default .swell-block-box-menu__item+.swell-block-box-menu__item {
  border-left: 1px solid #7BBEEE;
}

[data-partsid="119"] .swell-block-box-menu__inner {
  flex-wrap: nowrap;
}

[data-partsid="119"] .swell-block-box-menu__text {
  white-space: nowrap;
  font-size: 0.625em;
  font-weight: 500;
}

[data-partsid="119"] .swell-block-box-menu[data-direction="vertical"] .swell-block-box-menu__link {
  flex-direction: column-reverse;
  gap: 10px;
  padding-block: 0;
  align-items: center;
}

[data-partsid="119"] .swell-block-box-menu[data-direction="vertical"] .swell-block-box-menu__figure {
  margin-bottom: 0;
}

/* topページ */
/* お知らせ一覧 */

.top .news .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  border-left: solid 6px var(--color_htag);
  border-bottom: solid 2px #7BBEEE;
  padding: .5em 0 .5em 16px;
}

.top .news .p-postList .p-postList__title {
  display: -webkit-box;
  /* flexboxのように扱う */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* 最大2行でカット */
  overflow: hidden;
  /* 溢れた部分を隠す */
  text-overflow: ellipsis;
  /* "…"を表示 */
  font-weight: 400;
}

/* PC（768px以上などで1行に上書き） */
@media screen and (min-width: 768px) {
  .top .news .p-postList .p-postList__title {
    -webkit-line-clamp: 1;
    /* 1行だけに変更 */
  }
}

.top .news .p-postList__meta .c-postTimes__posted {
  color: #777777;
  font-size: 15px;
}

.top .news .icon-posted:before {
  content: "";
}

.top .news .-type-simple .p-postList__link {
  border-bottom: none;
}

.top .news .p-postList.-type-simple {
  border-top: none;
}

.top .news .p-postListWrap {
  background: #F2F9FF;
  padding: 16px 54px;
}

@media (max-width: 900px) {
  .top .news .p-postListWrap {
    padding: 16px 21px;
  }
}

.top .news .news__list li {
  background-color: #FFF;
}

.top .news .news__list li:not(:first-child) {
  margin-top: 9px;
}

.top .news .is-style-more_btn a {
  background: #F0F0F0;
  box-shadow: 0 0 0 1px #B9B9B9;
  color: #333;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  min-width: 200px;
  padding: 12px 20px;
  position: relative;
  text-decoration: none;
  border-radius: 5px;
  transition: none;
  /* hover時の色変化なし */
}

/* 矢印（右向き） */
.top .news .is-style-more_btn a::after {
  content: url("/wp-content/uploads/2025/09/arrow.svg");
  display: inline-block;
  /* 位置のブレ防止 */
  font-size: 16px;
  margin-left: 8px;
  transition: transform .25s;
  /* 矢印だけアニメーション */
}

/* hover時も色や枠は変えない（=初期と同じ） */
.top .news .is-style-more_btn a:hover {
  background: #f5f5f5;
  box-shadow: 0 0 0 1px #dcdcdc;
}



/* 基準づくり（共通） */
.site-link__box .swell-block-box-menu__inner {
  position: relative;
  /* ← これが重要（PCでも必ず基準を作る） */
}

.site-link__box .swell-block-box-menu__inner>* {
  position: relative;
  z-index: 1;
  /* コンテンツは前面 */
}

/* デフォルトは出さない（ダブり防止の初期化） */
.site-link__lists--pc .swell-block-box-menu__inner::after,
.site-link__lists--sp .swell-block-box-menu__inner::after {
  content: none;
}

/* ===== SP（〜767.98px） ===== */
@media (max-width: 767.98px) {
  .site-link__lists--sp .swell-block-box-menu__inner {
    padding-bottom: 55px;
    /* 画像高さぶんの逃げ */
  }

  .site-link__lists--sp .swell-block-box-menu__inner::after {
    content: "";
    position: absolute;
    right: 1%;
    /* 位置は%でもOK */
    bottom: 7%;
    width: 122px;
    aspect-ratio: 122 / 127;
    background: url("/wp-content/uploads/2025/09/mimurin-top.webp") no-repeat right bottom / contain;
    pointer-events: none;
    z-index: 0;
  }
}

/* ===== タブレット（768〜1024px） ===== */
@media (min-width: 768px) and (max-width: 1024px) {
  .site-link__lists--sp .swell-block-box-menu__inner {
    padding-bottom: 180px;
    /* 少し大きめに逃げ */
  }

  .site-link__lists--sp .swell-block-box-menu__inner::after {
    content: "";
    position: absolute;
    right: 0;
    /* タブレットは端に吸着が安定 */
    bottom: 0;
    width: 150px;
    /* タブレットサイズ */
    aspect-ratio: 190 / 185;
    background: url("/wp-content/uploads/2025/09/mimurin-top.webp") no-repeat right bottom / contain;
    pointer-events: none;
    z-index: 0;
  }
}

/* ===== PC（1024px〜）※1024含める ===== */
@media (min-width: 1024px) {
  .site-link__lists--pc .swell-block-box-menu__inner {
    /* padding-bottom: 200px;                                */
  }

  .site-link__lists--pc .swell-block-box-menu__inner::after {
    content: "";
    position: absolute;
    right: -32%;
    /* ← -31% はやめる（見失い防止） */
    bottom: 0;
    width: 190px;
    aspect-ratio: 190 / 185;
    background: url("/wp-content/uploads/2025/09/mimurin-top.webp") no-repeat right bottom / contain;
    pointer-events: none;
    z-index: 0;
  }
}


.top .custom-calendar-wrapper {
  margin-inline: auto;
}


/* トップページリンクス */

.site-link .site-link__lists {
  width: 57%;
  margin-inline: auto;
}

/* PC（768px以上などで1行に上書き） */
@media screen and (max-width: 900px) {
  .site-link .site-link__lists {
    width: 90%;
  }
}

/* アイコンの調整 */
.site-link__list .swell-block-box-menu__figure img {
  width: 5rem;
  height: auto;
}

.site-link .swell-block-box-menu__link {
  position: relative;
  /* 疑似要素の基準 */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #588EB4;
  /* 枠線を同じ色に */
  padding: 20px;
  background: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  aspect-ratio: 200/230;
}

/* 右下の三角形 */
.site-link .swell-block-box-menu__link::after {
  content: "";
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-top: 20px solid transparent;
  border-right: 15px solid #588EB4;
  border-bottom: 20px solid #588EB4;
}

/* @media screen and (max-width: 768px) {
  .site-link .swell-block-box-menu__link::after {
    border-left: 15px solid transparent;
    border-top: 20px solid transparent;
    border-right: 15px solid #588EB4;
    border-bottom: 20px solid #588EB4;
  }
} */

.site-link .swell-block-box-menu__text {
  display: block;
  flex: 0;
  line-height: 1;
  font-weight: 500;
}


/* cta */

.cta__btns .is-style-btn_line a {
  background: #FFF;
}

.cta__btns .is-style-btn_line a:hover {
  background-color: var(--the-btn-color, var(--color_main));
  border-color: transparent;
  color: #fff !important;
}

/* ====== トップの会員カード（.top .news__member 内だけ） ====== */

.top .top__member .p-postList__item {
  background-color: #F2F9FF;
}

/* グリッド間隔を少し広めに */
.top .top__member .p-postList.-type-card {
  gap: 20px;
}


/* サムネ：比率固定＋カバー */
.top .top__member .p-postList__thumb {
  margin: 0;
}

.top .top__member .c-postThumb__figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 203 /113;
  /* 4:3 固定 */
  background: #e9eef2;
  /* プレースホルダー色 */
}

/* タイトル：左に青バー＋下線っぽいルール */
.top .top__member .p-postList__body {
  padding-top: 12px;
  display: flex;
  flex-direction: column;
}

.top .top__member .p-postList__title {
  position: relative;
  font-size: 16px;
  font-weight: 700 !important;
  line-height: 1.35;
  margin: 6px 0 10px 0;
  padding-left: 12px;
  padding-bottom: 6px;
}

.top .top__member .p-postList__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  width: 4px;
  height: 1.2em;
  background: #0080CC;
  /* 基調の青 */
  border-radius: 2px;
}

/* メタ（業種バッジ等）を下寄せにして高さ揃え */
.top .top__member .p-postList__meta {
  margin-top: auto;
  /* 本文内の最下部へ */
}

/* カテゴリーバッジ：白地 + 太め青枠 */
.top .top__member .member-term-badge {
  display: inline-block;
  padding: .22rem .65rem;
  /* 余白 */
  border: 2px solid #198fce;
  /* 太めの枠 */
  background: #fff;
  /* 白地 */
  color: #0080CC;
  /* 文字色 */
  font-weight: 500;
  /* 太字 */
  font-size: 12px;
  /* 大きさはお好みで */
  line-height: 1.1;
  letter-spacing: .02em;
  margin: .4rem .5rem 0 0;
  /* 並んだ時の間隔 */
  white-space: nowrap;
}

.top .top__member .p-postList.-type-card {
  justify-content: center;
}

@media (min-width: 768px) {
  .top .top__member .p-postList.-type-card {
    flex-wrap: nowrap;
  }
}


/* バナー */


.banner__cta .c-bannerLink__figure img {
  object-fit: contain;
  aspect-ratio: 270 / 132;
}

/* PCのみミムリンを表示 */
@media (min-width: 1025px) {
  .banner__cta {
    position: relative;
  }

  .banner__cta::before {
    content: "";
    position: absolute;
    left: -12%;
    /* 左にはみ出す調整 */
    bottom: 0;
    width: 97px;
    aspect-ratio: 97 / 135;
    background: url("/wp-content/uploads/2025/09/mimurin-smile.webp") no-repeat center / contain;
    pointer-events: none;
    z-index: 0;
    /* バナーの裏側 */
  }
}

.banner .c-bannerLink__figure {
  background-color: #e5e0e0;
}

/* 加入条件 */
.entry__box p {
  padding: 1rem;
}

.entry__links {
  border-left: solid 1px #777;
  border-right: solid 1px #777;
  border-bottom: solid 1px#777;
}

.entry__links .has-border.-border01 {
  border: none;
}

.entry a {
  border-bottom: solid 1px #333
}

/* プライバシーポリシー */
.page-id-38 .post_content .is-style-section_ttl {
  text-align: left;
}

.plivacy-table.wp-block-table {
  border: 1px solid #B9B9B9;
  border-radius: 4px;
}

.plivacy-table.wp-block-table th {
  width: 75%;
  border: 1px solid #B9B9B9;
  font-weight: 400;
}


.plivacy-table.wp-block-table td {
  border: 1px solid #B9B9B9;
}

.plivacy-table.wp-block-table th {
  width: 25% !important;
}

.page-id-38 .add-list {
  padding-left: 6%;
}

.list-custom .no-number li {
  list-style: none;
}

/* 商工会役員 */
.executives__tables {
  width: 80%;
}

.executives-table.wp-block-table {
  border: 1px solid #B9B9B9;
  border-radius: 4px;
}

.executives-table.wp-block-table th {
  border: 1px solid #B9B9B9;
  font-weight: 400;
}


.executives-table.wp-block-table td {
  border: 1px solid #B9B9B9;
}



/* 会員情報の一覧 */

/* =======================
   タブ見た目調整
   ======================= */
.page-id-30 .swell-block-tab .c-tabList {
  display: flex;
  flex-wrap: wrap;
  row-gap: 5px;
  column-gap: 5px;
  padding-bottom: 20px;
}

@media (max-width: 374px) {
  .page-id-30 .swell-block-tab .c-tabList {
    justify-content: space-between;
  }
}


.page-id-30 .swell-block-tab .c-tabList__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 166px;
  padding: 8px;
  font-size: 18px;
  line-height: 1;
  border: 1px solid #0080CC;
  background: #fff;
  color: #0080CC;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s ease;
  opacity: initial;
}

.page-id-30 .swell-block-tab .c-tabList__button:hover {
  background-color: #0080CC !important;
  color: #fff;
}

.page-id-30 .swell-block-tab .c-tabList__button[aria-selected="true"] {
  background-color: #0080CC !important;
  color: #fff;
}


.page-id-30 .is-style-default .c-tabBody {
  border: none;
  padding: 0 !important;
}

/* タブコンテンツ非表示 */


.page-id-30 .has-border,
div.has-background,
p.has-background {
  padding: 0 !important;
}

.page-id-30 .c-pageTitle {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* .page-id-30 内の h3 だけは下線(擬似要素)を出さない */
.page-id-30 .post_content h3:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)::before {
  content: none;
  /* 疑似要素を生成しない */
  background: none;
  /* 念のため */
}


.tax-industry .archive-title {
  border-bottom: 1px solid var(--color_border);
}

.tax-industry .p-postList__item {
  padding-top: 4rem;
}

.tax-industry .c-pageTitle__inner {
  border-bottom: 1px solid #7bbeee;
  float: left;
  margin-bottom: -1px;
  padding: .25em .5em;
}

/* アーカイブページ を2カラム設定*/
@media (min-width: 960px) {
  .tax-industry.-sidebar-on .l-content {
    display: flex;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    /* flex-direction: row-reverse; */
    gap: var(--swl-gutter, 48px);
  }

  body.tax-industry.-sidebar-on .l-main {
    flex: 1 1 auto;
    min-width: 0;
  }

  body.tax-industry.-sidebar-on .l-sidebar,
  body.tax-industry.-sidebar-on .l-side {
    flex: 0 0 300px;
    width: 300px;
  }
}

.member-page .c-tabList .c-tabList__item {
  min-width: 147px;
  max-width: 162px;

}

/* アーカイブページ を2カラム設定*/
@media (max-width: 374px) {
  .member-page .c-tabList .c-tabList__item {
    min-width: 140px;
    flex: 0 0 45%;
  }
}




/* グリッド */
.members-grid {
  display: grid;
  row-gap: 48px;
  column-gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

@media (max-width:768px) {
  .members-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 24px;
    column-gap: 12px;
  }
}


/* カード */
.member-card {
  background: #fff;
}

/* 高さ揃え：各カードのボタンを最下部に固定 */
.members-grid {
  align-items: stretch;
  /* 同じ行のカード高さを揃える */
}

.members-grid .member-card {
  display: flex;
  /* 縦並び */
  flex-direction: column;
  height: 100%;
  background: #f9f9f9;
  padding: 0 8px 8px;
  /* グリッドの行高いっぱいに */
}

.members-grid .member-card__more {
  margin-top: auto;
  /* ここでボタンを一番下へ押し下げる */
}

.members-grid .member-card__more a {
  display: block;
  /* クリック領域を安定させる（任意） */
}


.member-card__title {
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.3;
  border-left: 4px solid #198fce;
  padding-left: .5em;
  margin: 0 !important;
  display: flex;
  align-items: center;
  padding-block: 0.5em; /* 上側のパディングを追加 */
}

.member-card__thumb {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 10px;
}

.member-card__thumb img {
  display: block;
  aspect-ratio: 203/113;
  object-fit: cover;
}

.member-card__thumbPh {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  background: #cfcfcf;
}

.member-card__meta {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}

.member-card__meta .meta {
  position: relative;
  padding-left: 22px;
  margin: 0.19rem 0;
  font-size: .95rem;
}


.member-card__more a {
  display: block;
  text-align: center;
  background: #F2F9FF;
  color: #0080CC;
  font-weight: 700;
  border-radius: 3px;
}

.member-card__meta .-map {
  text-decoration: underline;
}

.member-card__more a:hover {
  opacity: .85;
}

/* ページネーション調整 */
.c-pagination {
  text-align: center;
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.c-pagination a.page-numbers,
.c-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #333;
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
  vertical-align: middle;
  width: 32px;

  border-radius: 50%;
  border: 1px solid #333;
  padding: 0;
  line-height: 1;
  box-sizing: border-box;
}

/* 現在のページ - 円形の背景 */
.c-pagination span.page-numbers.current {
  background: #333;
  color: white;
  border-color: #333;
}

/* 通常のページ番号 - 白背景に枠線 */
.c-pagination a.page-numbers:not(.prev):not(.next):not(.dots) {
  background: white;
  color: #333;
}

.c-pagination a.page-numbers:not(.prev):not(.next):not(.dots):hover {
  color: #333;
  border-color: #333;
}

/* 省略記号 */
.c-pagination span.page-numbers.dots {
  background: transparent;
  color: #333;
  border: none;
  width: auto;
  height: auto;
}

/* 前へ・次へボタン - 円形の背景に矢印 */
.c-pagination a.page-numbers.prev,
.c-pagination a.page-numbers.next {
  background: white;
  color: #333;
}

.c-pagination a.page-numbers.prev:hover,
.c-pagination a.page-numbers.next:hover {
  background: #333;
  color: white;
  border-color: #333;
}

/* ホバー時に矢印SVGを白に変更 */
.c-pagination a.page-numbers.prev:hover img,
.c-pagination a.page-numbers.next:hover img {
  filter: brightness(0) invert(1);
}



/* ベース（未設定なら追加） */
.member-card__meta .meta::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2rem;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
}

.member-card__meta .-map::before {
  background-image: url('/wp-content/uploads/2025/09/map-icon.svg');
}

.member-card__meta .-addr::before {
  background-image: url('/wp-content/uploads/2025/09/home-icon.svg');
}

.member-card__meta .-tel::before {
  background-image: url('/wp-content/uploads/2025/09/phone-icon.svg');
}

/* PCで無効化されたtel:リンクのスタイル */
a[href*="tel"] {
  color: inherit;
  text-decoration: none;
}

/* PC幅で無効化されたtel:リンクのスタイル */
@media (min-width: 768px) {
  a[href*="tel"] {
    cursor: default;
    user-select: text;
  }
}

.page-id-30 .post_content :is(ol, ul) {
  /* 固定ページID=30 のときだけ */
  padding-left: 0;
}



/* 会社情報テーブル */
.single-members-post .p-member-table__container {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 1.5em 0 2em;
  background: #fff;
}

/* PC表示時の罫線設定 */
.single-members-post .p-member-table__container th,
.single-members-post .p-member-table__container td {
  background-color: #fff;
  vertical-align: top;
  padding: .9em 1em;
  word-break: break-word;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #B9B9B9;
}

.single-members-post .p-member-table__container tr:first-child th,
.single-members-post .p-member-table__container tr:first-child td {
  border-top: none;
}



/* PC：横並び */
.single-members-post .p-member-table__container .p-postal,
.single-members-post .p-member-table__container .p-address {
  display: inline;
}

.single-members-post .p-member-table__container .p-postal {
  margin-right: .25em;
}

/* SP：郵便番号のあとで改行（幅はサイトの基準に合わせて調整OK） */
@media (max-width: 640px) {
  .single-members-post .p-member-table__container .p-postal {
    display: block;
    margin: 0 0 .2em;
  }
}


/* PC表示時のth設定 */
.single-members-post .p-member-table__container th {
  width: 12em;
  color: #0080CC;
  font-weight: 600;
  text-align: left;
}

/* SWELLの元々のテーブルborderをリセット */
.single-members-post .post_content td,
.single-members-post .post_content th {
  border: none;
}

/* PC表示時のborder-bottom設定 */
.single-members-post .p-member-table__container th,
.single-members-post .p-member-table__container td {
  border-bottom: 1px solid #B9B9B9;
}

/* SP表示時の設定 */
@media (max-width: 768px) {

  .single-members-post .p-member-table__container,
  .p-member-table__container tbody,
  .single-members-post .p-member-table__container tr,
  .single-members-post .p-member-table__container th,
  .single-members-post .p-member-table__container td {
    display: block;
  }

  /* SP表示時のth設定（ラベルに罫線なし） */
  .single-members-post .p-member-table__container th {
    width: auto;
    padding: .9em 1em .5em 1em;
    border-bottom: none;
  }

  /* SP表示時のtd設定（値のみに罫線） */
  .single-members-post .p-member-table__container td {
    padding: 0 1em .9em 1em;
    border-bottom: 1px solid #B9B9B9;
  }

  .single-members-post .p-member-table__container tr:first-child th,
  .single-members-post .p-member-table__container tr:first-child td {
    border-top: none !important;
  }

  .single-members-post .p-member-table__container tr:last-child td {
    border-bottom: 1px solid #B9B9B9;
  }
}



.member-map {
  margin-top: 1.8rem;
}

@media (max-width: 768px) {
  .member-map {
    margin: 12.5rem calc(50% - 50vw) 0;
    width: 100vw;
    /* 横幅いっぱい */
    aspect-ratio: 375 / 210;
    /* 高さ = 56vw 相当 */
  }

  /* 中の iframe / img をボックスいっぱいにフィット */
  .member-map>iframe,
  .member-map>img {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    /* imgの場合だけ必要なら */
    object-fit: cover;
    /* 画像を切り抜いてでもフィットさせたい時 */
  }
}


/* フッター */

.l-footer .w-footer {
  justify-content: center;
}

/* お知らせ一覧 */

/* アイコン非表示 */
:is([data-postid="22"], .category, .date) .icon-posted:before {
  content: "";
}

/* お知らせ一覧 */
:is([data-postid="22"], .category, .date) .p-postList__item {
  padding-top: 4em;
}

@media screen and (max-width: 768px) {
  :is([data-postid="22"], .category, .date) .p-postList__item {
    padding-top: 2em;
  }
}

/* :is([data-postid="22"], .category, .date) .c-pageTitle {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
} */

/* data-postid=22 の要素のうち、最初以外にボーダー */
:is([data-postid="22"], .category, .date) .p-postList__item:not(:first-child) {
  border-top: 1px solid #B9B9B9;
}

:is([data-postid="22"], .category, .date) .-type-list .p-postList__link,
.-type-list2 .p-postList__link {
  flex-direction: row-reverse;
}

:is([data-postid="22"], .category, .date) .c-postTimes {
  font-size: 15px;
}

/* 本文部分をflex縦並びに */
:is([data-postid="22"], .category, .date) .p-postList__body {
  display: flex;
  flex-direction: column;
  margin-top: -2em;
}

/* 日付を先頭に持ってくる */
:is([data-postid="22"], .category, .date) .p-postList__meta {
  order: -1;
  /* 一番上へ */
  margin-bottom: 4px;
}

/* タイトルは2番目 */
:is([data-postid="22"], .category, .date) .p-postList__title {
  order: 0;
  margin-bottom: 8px;
}

/* 抜粋は3番目（デフォルトのまま） */
:is([data-postid="22"], .category, .date) .p-postList__excerpt {
  order: 1;
}

/* SPレイアウト用 */
/* ==== SP：日付 → サムネ → タイトル → 抜粋 ==== */
@media (max-width: 768px) {

  /* まずPC用の微調整を打ち消し */
  :is([data-postid="22"], .category, .date) .p-postList__body {
    margin-top: 0;
    /* PCで付けた -2em をリセット */
  }

  /* a全体をグリッド化して並び順を定義 */
  :is([data-postid="22"], .category, .date) .p-postList__link {
    display: grid;
    grid-template-areas:
      "date"
      "thumb"
      "title"
      "excerpt";
    row-gap: 8px;
    /* 余白はお好みで */
  }

  /* body を「器だけ」にして中の子要素を外側グリッドへ参加させる */
  :is([data-postid="22"], .category, .date) .p-postList__body {
    display: contents;
    /* 子要素（title/excerpt/meta）を直接グリッドに置ける */
  }

  /* それぞれの配置先を指定 */
  :is([data-postid="22"], .category, .date) .p-postList__meta {
    grid-area: date;
  }

  :is([data-postid="22"], .category, .date) .p-postList__thumb {
    grid-area: thumb;
  }

  :is([data-postid="22"], .category, .date) .p-postList__title {
    grid-area: title;
  }

  :is([data-postid="22"], .category, .date) .p-postList__excerpt {
    grid-area: excerpt;
  }

  /* 見た目の微調整（任意） */
  :is([data-postid="22"], .category, .date) .p-postList__meta {
    margin-bottom: 0;
    font-size: .9rem;
    color: #666;
  }

  :is([data-postid="22"], .category, .date) .p-postList__title {
    margin: 4px 0 0;
  }

  :is([data-postid="22"], .category, .date) .p-postList__thumb {
    margin: 0;
  }

}

.blog .p-postList__body h2 {
  font-size: 1.3rem;
}

.date .p-postList__body h2 {
  font-size: 1.3rem;
}

.blog .u-mt-40 {
  margin-top: 0 !important;
}
.date .u-mt-40 {
  margin-top: 0 !important;
}

@media (max-width: 960px) {
  .date .-type-list .p-postList__thumb {
    width: 78%
  }

  .blog .-type-list .p-postList__thumb {
    width: 78%
  }

  .blog .-type-card .p-postList__thumb {
    width: 78%;
  }
}

/* 共通：行数制限（一覧ラッパー → 対象アイテム → 要素 の順に指定） */
:is([data-postid="22"], .category, .date) .p-postList__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

:is([data-postid="22"], .category, .date) .p-postList__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #777;
}

/* もし「リスト型の時だけ」に限定したいなら型ごとに */
:is([data-postid="22"], .category, .date) .p-postList__title,
:is([data-postid="22"], .category, .date) .p-postList__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

:is([data-postid="22"], .category, .date) .p-postList__excerpt,
:is([data-postid="22"], .category, .date) .p-postList__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #777;
}

/* 必要ならSPだけ強制したいとき */
@media (max-width: 768px) {
  :is([data-postid="22"], .category, .date) .p-postList__title {
    -webkit-line-clamp: 2;
  }

  :is([data-postid="22"], .category, .date) .p-postList__excerpt {
    -webkit-line-clamp: 3;
  }
}

.footer__links .swell-block-columns .swell-block-column {
  margin: 0;
}

.footer__links .swell-block-linkList.-border {
  padding: .6em 0;
}

@media (max-width: 768px) {
  .footer__links .swell-block-linkList.-border {
    padding: 0;
  }
}

.footer__links .swell-block-columns__inner {
  column-gap: 1.5rem;
}

/* ブログ記事 */

/* 投稿詳細ページカスタマイズ */
.single .c-postTitle__ttl {
  display: -webkit-box;
  /* flexboxのように扱う */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  /* 最大2行でカット */
  overflow: hidden;
  /* 溢れた部分を隠す */
  text-overflow: ellipsis;
  /* "…"を表示 */
}

.single .p-pnLinks__title {
  display: -webkit-box;
  /* flexboxのように扱う */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* 最大2行でカット */
  overflow: hidden;
  /* 溢れた部分を隠す */
  text-overflow: ellipsis;
  /* "…"を表示 */
}

.single .p-articleMetas {
  display: none;
}

/* サムネイル */
.single .p-articleThumb {
  width: 100%;
  height: auto;
  border: 1px solid #333;
}

/* お知らせ詳細ページのサムネイルのみ */
.single-post .p-articleThumb {
  border: 1px solid #333;
}

/* 会員情報詳細ページのサムネイルは枠線なし */
.single-members-post .p-articleThumb {
  border: none;
}

.single .p-articleThumb img {
  aspect-ratio: 670/330;
  object-fit: cover;
}

/* ブロック内の画像 */
.single .post_content .single__photo figure.wp-block-image:not(.footer__logo) {
  width: 100%;
  height: auto;
}

.single .post_content figure.wp-block-image:not(.footer__logo) img {
  aspect-ratio: 326/216;
  object-fit: cover;
}

.single .post_content {
  padding: 0;
}

.single .p-articleFoot {
  padding-top: 0;
}

/* イベント */
.page-id-24 .event__name {
  text-align: left;
}

/* 加入案内*/
.entry__box .entry__text {
  border-top: 1px solid #777;
  border-right: 1px solid #777;
  border-left: 1px solid #777;
}

.entry__box .entry__links {
  border: 1px solid #777;
}

/* ボタン内のテキストとアイコンを横並び */
.entry__merit .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
  min-width: 221px;
  width: auto;
}

.entry__btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  column-gap: 12px;
  border: 1px solid #333;
  padding-block: 2px;
}

.entry__btn .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("/wp-content/uploads/2025/09/link-icon.svg") no-repeat center/contain;
}


/* map */

.map-embed {
  /* デフォルト（SP想定: 〜767px） */
  width: min(343px, 100%);
  aspect-ratio: 343 / 191;
  margin-inline: auto;
  position: relative;
}

.map-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* タブレット (768px〜1023px) */
@media (min-width: 768px) {
  .map-embed {
    width: min(500px, 100%);
    aspect-ratio: 500 / 280;
  }
}

/* PC (1024px〜) */
@media (min-width: 1024px) {
  .map-embed {
    width: min(713px, 100%);
    aspect-ratio: 713 / 397;
  }
}

/* お問い合わせ */


.smf-item:has([data-validations~="required"]) {
  padding-top: 30px;
}

.smf-item__label__text {
  position: relative;
}

.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  position: absolute;
  top: -70%;
  left: 0;
  transform: translateY(-50%);
  display: inline-grid;
  place-items: center;
  width: fill;
  padding-inline: 8px;
  content: "必須";
  font-size: 10px;
  color: #fff;
  background: #588EB4;
}


/* Snow Monkey Forms 共通ボタン（確認・送信・戻る） */
.smf-action .smf-button-control__control,
.smf-action .smf-button-control__back {
  background: #588EB4;
  /* 通常時：白背景 */
  color: #FFF;
  /* 文字色：青 */
  font-size: 14px;
  font-weight: 500;
  padding: 10px 40px;
  border: 1px solid #588EB4;
  /* 枠線を1pxに */
  border-radius: 9999px;
  /* pill型 */
  cursor: pointer;
  transition: all .25s;
  display: inline-block;
  min-width: 200px;
  text-align: center;
}

/* hover時：色を反転 */
.smf-action .smf-button-control__control:hover,
.smf-action .smf-button-control__back:hover {
  background: #FFF;
  /* 背景を青に */
  color: #588EB4;
  /* 文字を白に */
}


/* topへ戻る */
/* ボタン本体 */
.contact .is-style-more_btn a {
  background: #fff;
  color: #333;
  border: 1px solid #333;
  /* ← 半角で統一 */
  border-radius: 5px;
  display: inline-flex;
  /* テキストの縦位置も安定 */
  align-items: center;
  justify-content: center;
  position: relative;
  /* 矢印のabsolute基準 */
  padding: 10px 44px 10px 20px;
  text-decoration: none;
  box-sizing: border-box;
  transition: none;
  /* 色は変えない */
  text-align: center;
}

/* 右端の矢印（SVG） */
.contact .is-style-more_btn a::after {
  content: url("/wp-content/uploads/2025/09/arrow.svg");
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) translateX(0);
  display: inline-block;
  transition: transform .25s;
}

/* hover：矢印だけ右にスライド */
.contact .is-style-more_btn a:hover::after {
  transform: translateY(-50%) translateX(4px);
}


/* サイドバー */


/* ───────── サイドバー：メニュー(#nav_menu-2) ───────── */
#nav_menu-2.c-widget.c-listMenu.widget_nav_menu {
  position: relative;
  background: #F2F9FF;
  border-radius: 12px;
  overflow: hidden;
  padding-bottom: 6rem;
}

/* 見出し */
#nav_menu-2 .c-widget__title.-side {
  margin: 0;
  padding: 10px 35px;
  background: #588EB4;
  color: #fff;
  font-weight: 700;
  border-radius: 12px 12px 0 0;
}

/* リスト */
#nav_menu-2 .menu {
  list-style: none;
  margin: 2rem 12px 0;
  padding: 0;
}

#nav_menu-2 .menu>li {
  --sb-icon-size: 18px;
  /* 丸印サイズ */
  --sb-icon-gap: 10px;
  /* テキストとの間隔 */
  position: relative;
  padding: 6px 0 8px calc(var(--sb-icon-size) + var(--sb-icon-gap));
  margin: 0;
}

#nav_menu-2.c-listMenu a {
  border-bottom: none;
}

/* 丸印アイコン（指定のSVG） */
#nav_menu-2 .menu>li>a {
  display: inline-block;
  color: #2e6e95;
  text-decoration: none;
  padding: 2px 25px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 1rem;
}

#nav_menu-2 .menu>li>a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: var(--sb-icon-size);
  height: var(--sb-icon-size);
  background: url('/wp-content/uploads/2025/09/arrow-circle.svg') no-repeat center / contain;
  pointer-events: none;
}

#nav_menu-2 .menu>li>a:hover {
  text-decoration: underline;
}

/* 右下キャラクター（指定の画像） */
#nav_menu-2::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: 79px;
  height: 101px;
  /* 大きさはお好みで */
  background: url('/wp-content/uploads/2025/09/mimurin-pc.webp') no-repeat right bottom / contain;
  pointer-events: none;
  opacity: .95;
}

/* ───────── サイドバー：アーカイブ（.sidebar-archives） ───────── */
.sidebar-archives {
  position: relative;
  background: #F2F9FF;
  /* 薄い水色 */
  border-radius: 12px;
  overflow: hidden;
  padding-bottom: 8rem;
}

/* 見出しバー */
.sidebar-archives .wp-block-heading {

  padding: 10px 35px;
  background: #588EB4;
  /* 青バー */
  color: #fff;
  font-weight: 700;
  border-radius: 12px 12px 0 0;
}


/* 一覧 */
.sidebar-archives .wp-block-archives-list {
  list-style: none;
  margin: 0;
  padding: 10px 14px 110px;
  /* ← 下を大きめにしてイラスト分の余白を確保 */
}

.sidebar-archives .wp-block-archives-list>li {
  position: relative;
  margin: 0;
  padding: 10px 0 10px 32px;
  /* 左は矢印用スペース */
}

.sidebar-archives .wp-block-archives-list>li>a {
  border-bottom: 1px dotted #588EB4;
}

.sidebar-archives .wp-block-archives-list>li:last-child {
  border-bottom: none;
}

/* 矢印（›） */
.sidebar-archives .wp-block-archives-list>li>a {
  width: 90%;
  color: #588EB4;
  text-decoration: none;
  padding: 2px 25px;
  border-radius: 6px;
}

.sidebar-archives .wp-block-archives-list>li>a::before {
  content: "›";
  /* シンプル矢印 */
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  line-height: 1;
  color: #6ea7cc;
  font-weight: 700;
}

.sidebar-archives .wp-block-archives-list>li>a:hover {}

/* 左下キャラクター（ご指定の画像） */
.sidebar-archives::after {
  content: "";
  position: absolute;
  left: 2rem;
  /* 左下に配置 */
  bottom: 2rem;
  width: 92px;
  /* お好みで調整 */
  height: 110px;
  background: url('/wp-content/uploads/2025/09/mimurin-shabon.webp') no-repeat left bottom / contain;
  pointer-events: none;
  opacity: .95;
}

.footer__text {
  text-align: center;
}

/* コピーライト */
.l-footer__foot {
  padding-top: initial;
  margin-top: -2rem;
}


/* リンクページの下線 */
.links-page .swell-block-linkList__link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  /* デフォルトの下線を消す */
}

.links-page .swell-block-linkList__text {
  position: relative;
}

/* 下線を疑似要素で描画 */
.links-page .swell-block-linkList__text::after {
  content: "";
  position: absolute;
  left: 1em;
  /* 「・」の幅ぶん右にずらす */
  right: 0;
  /* テキストの右端まで */
  bottom: 0;
  /* 下端に配置 */
  height: 1px;
  background-color: #333;
  /* 下線の色 */
}



/* footer */

.w-footer__box {
  /* width: 100% */
}

.footer__container .footer__info {
  width: 30%;
}

@media (max-width: 599px) {
  .footer__container .footer__info {
    width: 100%;
    padding-bottom: 50px;
  }
}

.p-blogParts .footer__container {
  width: 100%;
  left: auto;
}

.footer__container .swell-block-columns__inner {
  justify-content: center;
}

@media (max-width: 599px) {
  .footer__container .swell-block-columns__inner {
    padding-inline: 15px;
    row-gap: 0;
    justify-content: flex-start;
  }
}

.footer__links .swell-block-linkList.-border .swell-block-linkList__item:first-child {
  border-top: none;
}

.footer__logo {
  max-width: 348px;
  width: 100%;
}

.footer__logo {
  margin-bottom: 0;
}

.footer__info {
  font-weight: 350;
}




/* ドロワーメニュー */

/* SPメニューロゴ */
.p-spMenu__body .p-spmenu-logo {
  text-align: left;
  background: #fff;
}

.p-spmenu-logo .p-spmenu-logo__img {
  max-width: 200px;
}

/* ========== SPドロワー用（幅はサイト基準で調整OK） ========== */

.c-widget__title.-spmenu {
  padding: 0;
}

.c-iconBtn .c-iconBtn__icon {
  font-size: 30px;
}

.p-spMenu__inner {
  padding-top: 0px;
}

.p-spMenu__closeBtn .c-iconBtn__icon {
  font-size: 30px;
}

/* SPメニュー用ロゴ */
.p-spmenu-logo {
  text-align: center;
  padding: 16px 0;
}

.p-spmenu-logo__img {
  max-width: 160px;
  height: auto;
}

.p-spMenu__closeBtn .c-iconBtn {
  color: #333333;
}

.p-spMenu__inner {
  width: 100vw;
}

.c-iconBtn .c-iconBtn__icon:before {
  display: block;
  font-weight: 700;
  color: #333333;
}


.c-gnav .sub-menu {
  width: 16em;
}


@media (max-width: 1024px) {

  /* ベース整形 */
  .p-spMenu__nav .c-spnav,
  .p-spMenu__nav .c-spnav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* 1行レイアウト & 余白 */


  .p-spMenu__nav .c-spnav .sp-nav__parent a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* 右端にトグルボタン */
    gap: 8px;
    font-weight: 500;
    padding: 14px 12px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    line-height: 1.6;
    text-decoration: none;
    color: #333;
  }

  .p-spMenu__nav .c-spnav .sp-nav__child a {

    justify-content: flex-start;
  }


  /* 親（見出し）リンク：青字 */
  .p-spMenu__nav .c-spnav>li.menu-item-has-children>a {
    color: #588EB4;
    /* ご指定のトーンに合わせています */
    font-weight: 600;
  }


  /* サブメニュー（子）のインデント */
  .p-spMenu__nav .c-spnav .sub-menu>li>a {
    padding-left: 2rem;
  }

  /* 子リンクの先頭アイコン（ご指定SVG） */
  .p-spMenu__nav .c-spnav .sub-menu>li>a::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    background-image: url("/wp-content/uploads/2025/09/sp-nav_btn.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }

  /* 視覚的な開閉アニメ（任意） */
  .p-spMenu__nav .c-spnav .menu-item-has-children>.sub-menu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .28s ease, opacity .28s ease;
  }

  .p-spMenu__nav .c-spnav .menu-item-has-children.is-open>.sub-menu {
    opacity: 1;
    /* JSで scrollHeight を入れる実装なら max-height はインライン設定に任せる */
  }
}

/* 親の右端トグル（SWELLの c-submenuToggleBtn を“−”表示に） */
.p-spMenu__nav .c-spnav .c-submenuToggleBtn {
  position: relative;
  width: 1.25em;
  height: 1.25em;
  flex: 0 0 auto;
  background: none;
  border: 0;
  padding: 0;
  margin-left: 8px;
}

.p-spMenu__nav .c-spnav .c-submenuToggleBtn::before {
  content: "−";
  /* デフォは閉じ表示：− */
  position: absolute;
  top: 0.5rem;
  display: grid;
  place-items: center;
  font-size: 1.5em;
  line-height: 1;
  color: #588EB4;
}

/* 開いた親に“−”、閉じている時に“＋”にしたい場合はJSの開閉クラスに合わせて切替 */
.p-spMenu__nav .c-spnav .menu-item-has-children:not(.is-open)>a>.c-submenuToggleBtn::before {
  content: "＋";
}



.sp-nav__parent .c-submenuToggleBtn:after {
  border: 1px solid #FFF;
}

/* 404*/

.error__title .is-style-section_ttl {
  text-align: center;
}

.error404 .is-style-more_btn a {
  background: #FFF;
  border: 1px solid #333;
  color: #333;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  min-width: 260px;
  width: 60%;
  padding: 12px 20px;
  position: relative;
  text-decoration: none;
  border-radius: 5px;
  transition: none;
  /* hover時の色変化なし */
}

/* 矢印（右向き） */
.error404 .is-style-more_btn a::after {
  content: url("/wp-content/uploads/2025/09/arrow.svg");
  display: inline-block;
  /* 位置のブレ防止 */
  font-size: 16px;
  margin-left: 8px;
}

/* hover時も色や枠は変えない（=初期と同じ） */
.error404 .is-style-more_btn a:hover {
  background: #FFF;
}

error404 .is-style-more_btn a:hover:after {
  transform: initial;
}

/* 固定ヘッダー高さを調整 */
:root { --header-height: 80px; }
body.admin-bar { --adminbar-offset: 32px; }
body:not(.admin-bar) { --adminbar-offset: 0px; }

@media (min-width: 960px) {
  /* 親flexの基本設定：縦は上揃え、sticky殺しを避ける */
  .-sidebar-on .l-content {
    display: flex;           /* 既存 */
    flex-wrap: wrap;         /* 既存 */
    justify-content: space-between; /* 既存 */
    align-items: flex-start; /* ← ここ重要（サイドバーが上から追従） */
    overflow: visible;       /* ← 親のoverflowがstickyを無効化しないよう保険 */
  }

  /* サイドバー：relative を上書きして sticky に */
  /* 既存の幅・orderはそのまま活かす */
  .-sidebar-on #sidebar.l-sidebar {
    position: sticky;  /* ← fixed は使わない */
    top: calc(var(--header-height) + var(--adminbar-offset) + 16px);
    align-self: flex-start;     /* 親flexでも上詰め */
    height: max-content;        /* 中身に合わせて縮む */
  }

  /* カラムの収まり対策：メインは縮め可、サイドは固定幅 */
  .-sidebar-on .l-sidebar {
    flex: 0 0 var(--swl-sidebar_width); /* サイドを固定幅カラムに */
    width: var(--swl-sidebar_width);     /* 念のため幅も明示 */
  }
  .-sidebar-on .l-main {
    flex: 1 1 auto;
    min-width: 0; /* テキストや画像で横スクロールが出るのを防止 */
  }
}
