@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ（Verba English School 用カスタマイズ）
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* ---------- カラー・共通 ---------- */
:root {
  --vb-green: #00bf63;       /* ロゴカラー */
  --vb-green-dark: #00964e;  /* 文字用（読みやすい濃さ） */
  --vb-green-deep: #0f3d2b;
  --vb-green-pale: #eaf8f0;
  --vb-cream: #f7f9f4;
  --vb-text: #2f3a33;
  --vb-muted: #66736b;
  --vb-line: #dfe8e2;
  --vb-radius: 16px;
  --vb-shadow: 0 6px 24px rgba(15, 61, 43, .08);
  --vb-heading: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  --vb-en: "Cormorant Garamond", "Times New Roman", serif;
}

body {
  color: var(--vb-text);
  letter-spacing: .03em;
  line-height: 1.9;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.article h1, .article h2, .article h3, .article h4 {
  font-family: var(--vb-heading);
  letter-spacing: .05em;
  line-height: 1.5;
}
a { color: var(--vb-green-dark); }
.entry-content img { border-radius: 0; }

/* ---------- ヘッダー ---------- */
.header-container {
  background: #fff;
  box-shadow: 0 2px 12px rgba(15, 61, 43, .06);
}
.header-container-in.hlt-top-menu .logo-header { max-height: none; padding: 12px 0; }
.header-container-in.hlt-top-menu .logo-header img { height: 44px; width: auto; display: block; }
.header-container-in.hlt-top-menu .site-name-text-link { margin: 0 16px 0 0; }
.hlt-top-menu .header-container-in { max-width: 1240px; }
.navi-in > ul > li { width: auto; }
.navi-in > ul { flex-wrap: nowrap; justify-content: flex-end; }
.navi-in > ul > li > a {
  font-family: var(--vb-heading);
  font-weight: 500;
  font-size: 15px;
  color: var(--vb-text);
  padding: 0 14px;
}
.navi-in > ul > li > a:hover { background: transparent; color: var(--vb-green-dark); }
.navi-in > ul > li.current-menu-item > a { color: var(--vb-green-dark); }
.navi-in > ul .sub-menu { background: #fff; box-shadow: var(--vb-shadow); }
.navi-in > ul .sub-menu a { color: var(--vb-text); }
.navi-in > ul .sub-menu a:hover { background: var(--vb-green-pale); }
.navi-in > ul > li.vb-menu-contact > a {
  background: var(--vb-green);
  color: #fff;
  border-radius: 999px;
  height: auto;
  line-height: 1;
  padding: 14px 24px;
  margin-left: 8px;
}
.navi-in > ul > li.vb-menu-contact > a:hover { background: var(--vb-green-dark); color: #fff; }
.navi-in > ul > li.vb-menu-contact { display: flex; align-items: center; }

/* ---------- 共通レイアウト ---------- */
.content { margin-top: 0; }
.main {
  border: 0;
  border-radius: 0;
  padding: 40px 0 64px;
}
.vb-front .main { padding: 0; }
.vb-front .content-in, .vb-front .main { max-width: none; width: 100%; }
.vb-front .article { margin-bottom: 0; }
.vb-front .breadcrumb, .vb-front .date-tags { display: none; }
.vb-front .entry-content { margin: 0; }

/* 下層ページのタイトル */
.page .entry-title, .single .entry-title, .blog .archive-title, .archive .archive-title {
  font-family: var(--vb-heading);
  font-size: 30px;
  text-align: center;
  padding: 24px 0 12px;
  margin-bottom: 40px;
  position: relative;
  background: none;
  border: 0;
}
.page .entry-title::after, .single .entry-title::after, .blog .archive-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin: 18px auto 0;
  background: var(--vb-green);
  border-radius: 3px;
}
.single .entry-title { font-size: 24px; text-align: left; }
.single .entry-title::after { margin-left: 0; }
.page .date-tags { display: none; }
.breadcrumb { margin: 16px auto 0; font-size: 13px; color: var(--vb-muted); }

/* 本文中の見出し（Cocoon標準の装飾をシンプルに） */
.article h2 {
  background: none;
  border: 0;
  border-left: 5px solid var(--vb-green);
  padding: 4px 0 4px 16px;
  font-size: 24px;
  margin: 2.2em 0 1em;
}
.article h3 {
  border: 0;
  border-bottom: 2px solid var(--vb-line);
  padding: 0 0 8px;
  font-size: 20px;
  margin: 1.8em 0 .9em;
}
.article h4 { border: 0; padding: 0; font-size: 17px; color: var(--vb-green-dark); }
.article h4::before, .article h4::after { display: none; }

/* セクション見出し（英字＋日本語） */
.entry-content .vb-en {
  font-family: var(--vb-en);
  font-style: italic;
  font-size: 22px;
  color: var(--vb-green);
  letter-spacing: .06em;
  margin: 0 0 4px;
  line-height: 1.4;
}
.article h2.vb-ttl, .article h1.vb-ttl {
  border: 0;
  padding: 0;
  margin: 0 0 32px;
  font-size: 30px;
  color: var(--vb-green-deep);
}
.article h2.vb-ttl small, .article h3 small {
  display: block;
  font-size: 15px;
  color: var(--vb-muted);
  font-weight: 500;
  margin-top: 4px;
  letter-spacing: .08em;
}

/* ---------- トップページ：セクション ---------- */
.vb-front .entry-content > .wp-block-group,
.entry-content .vb-sec,
.entry-content .vb-hero,
.entry-content .vb-cta {
  padding-left: max(20px, calc((100% - 1120px) / 2));
  padding-right: max(20px, calc((100% - 1120px) / 2));
}
.entry-content .vb-sec { padding-top: 88px; padding-bottom: 88px; margin: 0; }
.entry-content .vb-bg { background: var(--vb-cream); }
.entry-content .vb-sec > .wp-block-buttons { margin-top: 40px; }

/* ヒーロー */
.entry-content .vb-hero {
  background:
    radial-gradient(circle at 92% 12%, rgba(0, 191, 99, .12) 0, rgba(0, 191, 99, 0) 38%),
    linear-gradient(180deg, var(--vb-green-pale) 0%, #fff 100%);
  padding-top: 72px;
  padding-bottom: 80px;
  margin: 0;
}
.vb-hero-cols { gap: 56px; }
.vb-hero-cols > .wp-block-column:first-child { flex-basis: 56%; }
.vb-hero-cols > .wp-block-column:last-child { flex-basis: 44%; }
.article h1.vb-hero-ttl {
  font-size: 30px;
  letter-spacing: .03em;
  line-height: 1.7;
  color: var(--vb-green-deep);
  margin: 8px 0 24px;
  padding: 0;
  border: 0;
  background: none;
}
.vb-hero-lead { font-size: 17px; margin-bottom: 32px; }
.vb-hero-img img {
  border-radius: 200px 24px 200px 24px !important;
  box-shadow: var(--vb-shadow);
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.vb-round img { border-radius: var(--vb-radius) !important; box-shadow: var(--vb-shadow); }

/* グリッド */
.entry-content .vb-grid { display: grid; gap: 24px; }
.entry-content .vb-grid-4 { grid-template-columns: repeat(4, 1fr); }
.entry-content .vb-grid-2 { grid-template-columns: repeat(2, 1fr); }
.entry-content .vb-grid > * { margin: 0 !important; }

/* 大切にしていること */
.vb-values > .wp-block-group {
  background: #fff;
  border-radius: var(--vb-radius);
  padding: 28px 24px;
  box-shadow: var(--vb-shadow);
  border-top: 4px solid var(--vb-green);
}
.vb-values .vb-card-num {
  font-family: var(--vb-en);
  font-size: 34px;
  font-weight: 600;
  color: var(--vb-green);
  line-height: 1;
  margin: 0 0 8px;
}
.article .vb-values h3 { border: 0; padding: 0; margin: 0 0 12px; font-size: 18px; color: var(--vb-green-deep); }
.vb-values p { font-size: 14.5px; line-height: 1.85; margin-bottom: 0; }

/* レッスンカード */
.vb-card {
  background: #fff;
  border: 1px solid var(--vb-line);
  border-radius: var(--vb-radius);
  overflow: hidden;
  padding-bottom: 20px;
}
.vb-card .wp-block-image { margin: 0 0 16px; }
.vb-card .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.article .vb-card h3 { border: 0; padding: 0 20px; margin: 0 0 6px; font-size: 18px; }
.vb-card p { padding: 0 20px; font-size: 14.5px; margin-bottom: 0; }
.entry-content .vb-tag {
  display: inline-block;
  font-size: 13px !important;
  color: var(--vb-green-dark);
  background: var(--vb-green-pale);
  border-radius: 999px;
  padding: 2px 12px !important;
  margin: 0 20px 10px;
}
.vb-lesson .vb-tag { margin: 0 0 8px; }

/* 料金カード */
.vb-price-card {
  background: #fff;
  border-radius: var(--vb-radius);
  text-align: center;
  padding: 28px 16px;
  box-shadow: var(--vb-shadow);
}
.vb-price-label { font-size: 14px; color: var(--vb-muted); margin: 0 0 4px; }
.vb-price-num {
  font-family: var(--vb-en);
  font-size: 40px;
  font-weight: 600;
  color: var(--vb-green-deep);
  margin: 0;
  line-height: 1.2;
}
.vb-price-num span { font-family: var(--vb-heading); font-size: 15px; margin-left: 2px; }
.entry-content .vb-small, .vb-small-list li { font-size: 13.5px; color: var(--vb-muted); }
.entry-content .vb-small { margin-top: 20px; }

/* 流れ（ステップ） */
.entry-content .vb-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  counter-reset: none;
}
.vb-step {
  position: relative;
  background: #fff;
  border: 2px solid var(--vb-green-pale);
  border-radius: var(--vb-radius);
  padding: 24px 20px;
  margin: 0 !important;
}
.vb-step:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -17px;
  top: 50%;
  border: 8px solid transparent;
  border-left: 10px solid var(--vb-green);
  transform: translateY(-50%);
}
.vb-step-num {
  font-family: var(--vb-en);
  font-weight: 600;
  font-size: 18px;
  color: var(--vb-green);
  margin: 0 0 4px;
  letter-spacing: .1em;
}
.article .vb-step h3 { border: 0; padding: 0; margin: 0 0 8px; font-size: 17px; }
.vb-step p:last-child { font-size: 14px; margin: 0; }

/* お知らせ（最新の投稿ブロック） */
.wp-block-latest-posts.vb-news-list {
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  background: #fff;
  border-radius: var(--vb-radius);
  box-shadow: var(--vb-shadow);
}
.wp-block-latest-posts.vb-news-list li {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 24px;
  padding: 18px 28px;
  margin: 0;
  border-bottom: 1px solid var(--vb-line);
  list-style: none;
}
.wp-block-latest-posts.vb-news-list li:last-child { border-bottom: 0; }
.vb-news-list .wp-block-latest-posts__post-date { color: var(--vb-muted); font-size: 14px; white-space: nowrap; margin: 0; }
.vb-news-list a { color: var(--vb-text); text-decoration: none; }
.vb-news-list a:hover { color: var(--vb-green-dark); }

/* FAQ */
.vb-faq { max-width: 860px; margin: 0 auto; }
.vb-faq .wp-block-details {
  background: #fff;
  border: 1px solid var(--vb-line);
  border-radius: 12px;
  margin-bottom: 14px;
  padding: 0;
}
.vb-faq summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--vb-heading);
  font-weight: 700;
  padding: 18px 56px 18px 56px;
  position: relative;
}
.vb-faq summary::-webkit-details-marker { display: none; }
.vb-faq summary::before {
  content: "Q";
  position: absolute;
  left: 20px;
  top: 15px;
  font-family: var(--vb-en);
  font-size: 24px;
  color: var(--vb-green);
}
.vb-faq summary::after {
  content: "+";
  position: absolute;
  right: 22px;
  top: 14px;
  font-size: 24px;
  color: var(--vb-green);
  transition: transform .2s;
}
.vb-faq details[open] summary::after { transform: rotate(45deg); }
.vb-faq details > p { padding: 0 24px 20px 56px; margin: 0; font-size: 15px; }

/* 地図 */
.vb-map { position: relative; width: 100%; aspect-ratio: 4 / 3; border-radius: var(--vb-radius); overflow: hidden; box-shadow: var(--vb-shadow); }
.vb-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* CTA */
.entry-content .vb-cta {
  background: var(--vb-green);
  color: #fff;
  padding-top: 72px;
  padding-bottom: 72px;
  margin: 64px 0 0;
  border-radius: 0;
}
.entry-content .vb-cta .vb-en { color: rgba(255, 255, 255, .85); }
.article .vb-cta h2.vb-ttl { color: #fff; margin-bottom: 16px; }
.vb-cta p { color: #fff; }
.vb-front .entry-content .vb-cta { margin: 0; }
/* 下層ページではCTAを角丸カードに */
body:not(.vb-front) .entry-content .vb-cta { border-radius: 24px; padding: 56px 24px; }

/* ---------- ボタン ---------- */
.entry-content .wp-block-button__link {
  background: var(--vb-green);
  color: #fff;
  border-radius: 999px;
  padding: 14px 36px;
  font-family: var(--vb-heading);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .08em;
  border: 2px solid var(--vb-green);
  transition: background .2s, color .2s, transform .2s;
  text-decoration: none;
}
.entry-content .wp-block-button__link:hover { background: var(--vb-green-dark); border-color: var(--vb-green-dark); color: #fff; transform: translateY(-2px); }
.entry-content .is-style-outline .wp-block-button__link { background: #fff; color: var(--vb-green-dark); }
.entry-content .is-style-outline .wp-block-button__link:hover { background: var(--vb-green-pale); color: var(--vb-green-dark); }
.entry-content .vb-btn-light .wp-block-button__link { background: #fff; color: var(--vb-green-dark); border-color: #fff; font-size: 16px; padding: 16px 44px; }
.entry-content .vb-btn-light .wp-block-button__link:hover { background: var(--vb-green-pale); color: var(--vb-green-dark); }

/* ---------- 下層ページ ---------- */
body.page:not(.vb-front) .entry-content { max-width: 960px; margin-left: auto; margin-right: auto; }
.vb-sec-inner { margin-bottom: 64px; }
.vb-message {
  background: var(--vb-cream);
  border-radius: 24px;
  padding: 40px 48px;
}
.vb-note-box {
  background: var(--vb-green-pale);
  border-radius: var(--vb-radius);
  padding: 24px 28px;
  margin: 0 0 48px;
}
.vb-note-box > *:last-child { margin-bottom: 0; }
.article .vb-note-box h3 { border: 0; padding: 0; margin-top: 0; }
.vb-lesson { padding: 40px 0; border-bottom: 1px solid var(--vb-line); }
.vb-lesson .wp-block-columns { gap: 48px; }
.article .vb-lesson h2.vb-ttl { margin-bottom: 16px; font-size: 26px; }
.vb-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; list-style: none; }
.vb-chips li {
  list-style: none;
  background: #fff;
  border: 1px solid var(--vb-green);
  color: var(--vb-green-dark);
  border-radius: 999px;
  padding: 2px 14px;
  font-size: 14px;
  margin: 0 !important;
}
.vb-small-list { padding-left: 1.2em; }
.vb-small-list li { margin-bottom: 6px; }

/* 講師 */
.vb-teacher {
  background: #fff;
  border: 1px solid var(--vb-line);
  border-radius: 24px;
  padding: 40px 48px;
  margin-bottom: 40px;
  box-shadow: var(--vb-shadow);
}
.vb-teacher .vb-lead { font-size: 16px; color: var(--vb-green-deep); }
.vb-teacher .vb-quote-en { font-family: var(--vb-en); font-size: 19px; line-height: 1.7; font-style: italic; color: var(--vb-green-deep); }
.vb-teacher .vb-round img { max-height: 260px; object-fit: cover; }

/* テーブル */
.vb-price-table table, .vb-info-table table, .single .entry-content table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid var(--vb-line);
  border-radius: 12px;
  overflow: hidden;
}
.vb-price-table th, .vb-price-table td, .vb-info-table td, .vb-info-table th, .single .entry-content td {
  border: 0;
  border-bottom: 1px solid var(--vb-line);
  padding: 14px 12px;
  text-align: center;
  vertical-align: middle;
}
.vb-price-table thead th { background: var(--vb-green); color: #fff; font-family: var(--vb-heading); }
.vb-price-table tbody td:first-child { background: var(--vb-green-pale); font-weight: 700; color: var(--vb-green-deep); }
.vb-price-table td { font-size: 17px; }
.vb-price-table small, .vb-info-table small { font-size: 12px; color: var(--vb-muted); }
.vb-price-table tr:last-child td, .vb-info-table tr:last-child td { border-bottom: 0; }
.vb-info-table thead { display: none; }
.vb-info-table td { text-align: left; }
.vb-info-table td:first-child, .single .entry-content td:first-child { background: var(--vb-green-pale); font-weight: 700; width: 30%; white-space: nowrap; }
.single .entry-content td { text-align: left; }

/* お問い合わせフォーム */
.vb-form { background: var(--vb-cream); border-radius: 24px; padding: 40px 48px; }
.vb-form-row label { display: block; font-weight: 700; margin-bottom: 6px; }
.vb-form .wpcf7-list-item label { display: inline; font-weight: 400; }
.vb-form input[type="text"], .vb-form input[type="email"], .vb-form input[type="tel"], .vb-form textarea {
  width: 100%;
  border: 1px solid var(--vb-line);
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  font-size: 16px;
}
.vb-form input:focus, .vb-form textarea:focus { outline: 2px solid var(--vb-green); border-color: transparent; }
.vb-req { display: inline-block; background: #e8554e; color: #fff; font-size: 11px; border-radius: 4px; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; }
.vb-form .wpcf7-list-item { margin: 0 16px 6px 0; }
.vb-form-accept { text-align: center; margin-top: 24px; }
.vb-form-submit { text-align: center; }
.vb-form input[type="submit"] {
  background: var(--vb-green);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 16px 64px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .1em;
  cursor: pointer;
}
.vb-form input[type="submit"]:hover { background: var(--vb-green-dark); }
.vb-form input[type="submit"]:disabled { opacity: .5; cursor: not-allowed; }

/* お知らせ一覧・記事 */
.blog .entry-card-wrap, .archive .entry-card-wrap {
  border: 1px solid var(--vb-line);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
}
.blog .entry-card-thumb, .archive .entry-card-thumb { display: none; }
.blog .entry-card-content, .archive .entry-card-content { margin-left: 0; }
.blog .main, .archive .main, .single .main { max-width: 860px; margin: 0 auto; }

/* ---------- フッター ---------- */
.footer { background: var(--vb-green-deep); padding-top: 56px; }
.footer .widget-title, .footer h3 {
  font-family: var(--vb-heading);
  color: #fff;
  font-size: 16px;
  border: 0;
  background: none;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}
.footer, .footer a { color: rgba(255, 255, 255, .88); }
.vb-f-text { font-size: 14px; line-height: 1.9; }
.vb-f-links { padding-left: 0; list-style: none; }
.vb-f-links li { font-size: 14px; margin-bottom: 6px; list-style: none; }
.vb-f-links a { text-decoration: none; }
.vb-f-links a::before { content: "›"; margin-right: 8px; color: var(--vb-green); }
a.vb-f-btn {
  display: inline-block;
  background: var(--vb-green);
  color: #fff !important;
  border-radius: 999px;
  padding: 10px 28px;
  font-weight: 700;
  text-decoration: none;
}
a.vb-f-btn:hover { background: #fff; color: var(--vb-green-dark) !important; }
.vb-f-note { font-size: 13px; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 32px; margin-top: 24px; }
.footer-bottom-logo .logo-image img { max-width: 120px; }
.navi-footer-in > .menu-footer li { border: 0; }
.navi-footer-in > .menu-footer li a { color: rgba(255, 255, 255, .8); font-size: 13px; }
.navi-footer-in > .menu-footer li a:hover { color: #fff; background: transparent; }
.copyright { color: rgba(255, 255, 255, .6); font-size: 12px; }
.go-to-top-button { background: var(--vb-green); color: #fff; border-radius: 50%; }

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  .entry-content .vb-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .entry-content .vb-steps { grid-template-columns: repeat(2, 1fr); }
  .vb-step:not(:last-child)::after { display: none; }
  .article h1.vb-hero-ttl { font-size: 30px; }
  .main { padding: 24px 16px 48px; }
  .vb-front .main { padding: 0; }
}

/*834px以下*/
@media screen and (max-width: 834px){
  .entry-content .vb-sec { padding-top: 64px; padding-bottom: 64px; }
  .entry-content .vb-hero { padding-top: 40px; padding-bottom: 56px; }
  .vb-hero-cols { flex-direction: column-reverse; gap: 24px; }
  .vb-hero-img img { max-width: 70%; margin: 0 auto; display: block; }
  .article h2.vb-ttl { font-size: 24px; margin-bottom: 24px; }
  .page .entry-title { font-size: 24px; margin-bottom: 24px; }
  .vb-teacher, .vb-message, .vb-form { padding: 28px 20px; border-radius: 16px; }
  .vb-lesson .wp-block-columns { gap: 16px; }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .entry-content .vb-grid-4, .entry-content .vb-grid-2, .entry-content .vb-steps { grid-template-columns: 1fr; }
  .article h1.vb-hero-ttl { font-size: 24px; }
  .vb-hero-lead { font-size: 15px; }
  .entry-content .vb-en { font-size: 19px; }
  .vb-price-num { font-size: 34px; }
  .wp-block-latest-posts.vb-news-list li { flex-direction: column-reverse; gap: 2px; padding: 16px 20px; }
  .vb-price-table th, .vb-price-table td { padding: 10px 4px; font-size: 14px; }
  .vb-faq summary { padding: 16px 44px 16px 48px; font-size: 15px; }
  .vb-faq details > p { padding: 0 20px 18px 48px; }
}

/* トップページ：CTAとフッターの間の余白を詰める */
.vb-front .content { margin-bottom: 0; }
.vb-front .main, .vb-front .article, .vb-front .entry-content { margin-bottom: 0; padding-bottom: 0; }
.vb-front .article footer.article-footer { display: none; }
.footer { margin-top: 0; }

/* テーブルを横幅いっぱいに */
.entry-content .wp-block-table.vb-price-table, .entry-content .wp-block-table.vb-info-table { display: block; width: 100%; overflow-x: auto; }
.entry-content .vb-price-table table, .entry-content .vb-info-table table { width: 100%; table-layout: fixed; }
.entry-content .vb-price-table thead th:first-child, .entry-content .vb-price-table tbody td:first-child { width: 22%; }
/* フッターメニューの区切り線を消す */
.navi-footer-in .menu-footer li, .navi-footer-in .menu-footer li:last-child { border: none !important; }
.footer-bottom-logo .logo-image img { max-width: 150px; opacity: .95; }

/* お知らせ一覧 */
.blog .content-in, .archive .content-in, .single .content-in { justify-content: center; }
.blog .main, .archive .main, .single .main { float: none; width: 100%; }
.vb-archive-ttl {
  font-family: var(--vb-heading);
  font-size: 30px;
  text-align: center;
  padding: 24px 0 12px;
  margin: 0 0 40px;
}
.vb-archive-ttl::before { content: "News"; display: block; font-family: var(--vb-en); font-style: italic; font-size: 22px; color: var(--vb-green); font-weight: 500; }
.vb-archive-ttl::after { content: ""; display: block; width: 48px; height: 3px; margin: 18px auto 0; background: var(--vb-green); border-radius: 3px; }
.blog .entry-card-title { font-family: var(--vb-heading); font-size: 18px; }

/* モバイル：ヘッダーモバイルボタン（メニュー＋ロゴ）のみ表示し、通常ヘッダーの重複ロゴを隠す */
@media screen and (max-width: 1023px){
  .mblt-header-mobile-buttons #header-container { display: none; }
  .mobile-header-menu-buttons { background: #fff; box-shadow: 0 2px 12px rgba(15, 61, 43, .08); }
  .mobile-header-menu-buttons .logo-menu-button img { max-height: 40px; width: auto; }
  .mobile-header-menu-buttons .menu-button > a, .mobile-header-menu-buttons .menu-caption, .mobile-header-menu-buttons .menu-icon { color: var(--vb-green-deep); }
  .vb-hero-cols > .wp-block-column:first-child, .vb-hero-cols > .wp-block-column:last-child { flex-basis: 100%; }
}
@media screen and (max-width: 480px){
  .entry-content .vb-grid-4:has(.vb-price-card) { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .vb-price-card { padding: 20px 8px; }
  .vb-price-num { font-size: 28px; }
}
