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

/* ===== お知らせカテゴリーアーカイブのヒーローを他ページに合わせる ===== */
.category-news .l-topTitleArea {
  background-image:
    linear-gradient(90deg, rgba(234,246,253,0.92) 0%, rgba(234,246,253,0.5) 45%, rgba(234,246,253,0) 75%),
    url("https://skydogclinic.com/wp-content/uploads/image_news-e1778141370513.png") !important;
  background-color: #eaf6fd !important;
  background-size: cover !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  min-height: 60vh !important;
  height: 60vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin-bottom: clamp(40px, 6vw, 72px) !important;
  overflow: hidden !important;
}
.category-news .l-topTitleArea.c-filterLayer::before,
.category-news .l-topTitleArea.c-filterLayer::after {
  display: none !important;
  content: none !important;
}
.category-news .l-topTitleArea .l-topTitleArea__img,
.category-news .l-topTitleArea .c-filterLayer__img {
  display: none !important;
}
.category-news .l-topTitleArea__body {
  max-width: var(--container_size, 1080px) !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 4vw, 48px) !important;
  width: 100% !important;
  text-align: left !important;
}
.category-news .l-topTitleArea .c-pageTitle {
  color: #222 !important;
  font-size: 2em !important;
  font-weight: 700 !important;
  margin: 0 !important;
  text-align: left !important;
}
.category-news .l-topTitleArea .c-pageTitle__subTitle {
  display: none !important;
}

/* ===== コラムアーカイブ（テンプレート column-archive-* 対応） ===== */
.column-archive-hero {
  background-image:
    linear-gradient(90deg, rgba(234,246,253,0.92) 0%, rgba(234,246,253,0.5) 45%, rgba(234,246,253,0) 75%),
    url("https://skydogclinic.com/wp-content/uploads/ChatGPT-Image-2026%E5%B9%B44%E6%9C%8827%E6%97%A5-13_06_27-1.png");
  background-color: #eaf6fd;
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  padding: 0;
  margin-bottom: clamp(40px, 6vw, 72px);
  border-radius: 0;
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  min-height: 60vh;
  height: 60vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.column-archive-hero__inner {
  max-width: var(--container_size, 1080px);
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}

/* スマホでは左右パディングを追加（他ページと同様） */
@media (max-width: 599px) {
  .column-archive-hero__inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
.column-archive-hero__title,
.column-archive-hero__desc,
.column-archive-hero__btns {
  max-width: 560px;
}
.column-archive-hero__title {
  font-size: 2em;
  margin: 0 0 16px;
  font-weight: 700;
  color: #222;
  line-height: 1.3;
}
.column-archive-hero__desc {
  margin: 0 0 28px;
  font-size: clamp(14px, 1.5vw, 16px);
  line-height: 1.9;
  color: #555;
}
.column-archive-hero__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.column-archive-btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  transition: opacity .2s, transform .2s, box-shadow .2s;
}
.column-archive-btn:hover { opacity: 0.92; transform: translateY(-1px); }
.column-archive-btn.-line {
  background: #6ec1e4;
  color: #fff;
  box-shadow: 0 2px 8px rgba(110, 193, 228, 0.3);
}
.column-archive-btn.-outline {
  background: #fff;
  color: #333;
  border: 1px solid #ddd;
}
.column-archive-heading {
  text-align: center;
  margin: clamp(40px, 6vw, 80px) auto clamp(28px, 4vw, 48px);
  max-width: var(--container_size, 1080px);
}
.column-archive-heading .section-label {
  color: #2c7da0;
  font-size: 12px;
  letter-spacing: 0.1em;
  margin: 0 0 8px;
}
.column-archive-heading__title {
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 700;
  margin: 0 0 12px;
  color: #222;
}
.column-archive-heading__desc {
  color: #666;
  font-size: clamp(13px, 1.5vw, 15px);
  line-height: 1.8;
  margin: 0;
}
.column-archive-body {
  max-width: var(--container_size, 1080px);
  margin: 0 auto;
}
.column-archive-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 28px);
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(32px, 5vw, 56px);
}
@media (max-width: 959px) {
  .column-archive-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
  .column-archive-list { grid-template-columns: 1fr; }
}
.column-archive-list__item { margin: 0; list-style: none; }
.column-archive-card {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  height: 100%;
}
.column-archive-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.1);
}
.column-archive-card__thumb {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #f0f0f0;
}
.column-archive-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column-archive-card__body { padding: 16px 20px 22px; }
.column-archive-card__date { color: #888; font-size: 12px; margin: 0 0 8px; }
.column-archive-card__title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.5;
  color: #222;
}
.column-archive-card__excerpt { color: #777; font-size: 0.85em; line-height: 1.7; margin: 0 0 14px; }
.column-archive-card__more { color: #2c7da0; font-size: 13px; font-weight: 500; }
.column-archive-pagination { text-align: center; margin: clamp(32px, 5vw, 56px) 0; }
.column-archive-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.column-archive-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff;
  color: #333;
  border: 1px solid #e5e5e5;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.column-archive-pagination a.page-numbers:hover {
  background: #2c7da0;
  color: #fff;
  border-color: #2c7da0;
}
.column-archive-pagination .page-numbers.current {
  background: #2c7da0;
  color: #fff;
  border-color: #2c7da0;
}
.column-archive-pagination .page-numbers.dots {
  border: none;
  background: transparent;
}
.column-archive-pagination .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* SWELL標準のポストリスト調整 */
.p-postList__thumb img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 10px; }
.p-postList__link { display:block; transition: transform .2s ease, box-shadow .2s ease; }
.p-postList__link:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.p-postList__thumb { line-height: 0; }
.p-postList__thumb img { display: block; }
.p-postList__thumb { border-radius: 10px; overflow: hidden; }
.p-postList__thumb img { border-radius: 0; }
.p-postList__item, .p-postList__link {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.p-postList__thumb {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
}
.p-postList__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.p-postList__item:hover .p-postList__thumb { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,0,0,.12); transition: transform .2s ease, box-shadow .2s ease; }
.p-postList__title { margin: 12px 0 4px; font-size: 1.1rem; }
.p-postList__date { display: block; margin-bottom: 6px; opacity: .7; font-size: .9rem; }
.p-postList__excerpt { margin: 0; }

/* ページネーションを横並びに */
.c-pagination, .c-pagination .nav-links, .c-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 32px 0;
}
.c-pagination .page-numbers, .c-pagination a, .c-pagination span {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 4px;
  text-decoration: none;
}
.c-pagination .current { background: var(--color-main, #333); color: #fff; font-weight: bold; }
.c-pagination a:hover { background: rgba(0,0,0,0.05); }

/* コラム一覧・詳細・アーカイブダーだけヘッダーを透明化 */
.category-column .l-header, .category-column .l-header__bar, .category-column .l-header__inner,
.post-type-archive-column .l-header, .post-type-archive-column .l-header__bar, .post-type-archive-column .l-header__inner,
.single-column .l-header, .single-column .l-header__bar, .single-column .l-header__inner {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.category-column .l-header::after, .post-type-archive-column .l-header::after, .single-column .l-header::after { display: none !important; }
.category-column .l-header.is-fixed, .category-column .l-header.is-show,
.post-type-archive-column .l-header.is-fixed, .post-type-archive-column .l-header.is-show,
.single-column .l-header.is-fixed, .single-column .l-header.is-show { background: transparent !important; box-shadow: none !important; }

@media (max-width: 959px){
  .wp-block-table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .wp-block-table > table { width:max-content; min-width:720px; table-layout:auto !important; }
}

/* 全幅セクションのPC表示ずれ修正 */
.home .swell-block-fullWide.alignfull,
.page-id-14 .wp-block-cover, .page-id-14 .section-recommend, .page-id-14 .section-services, .page-id-14 .section-pricing,
.page-id-19 .wp-block-cover, .page-id-19 .section-values,
.page-id-21 .wp-block-cover, .page-id-21 .wp-block-group.alignfull,
.page-id-23 .wp-block-cover {
  position: relative !important;
  left: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

@media (max-width: 599px) {
  .hero-bg .wp-block-columns > .wp-block-column { flex: 1 1 0% !important; min-width: 0 !important; }
  .hero-bg .wp-block-columns .swell-block-button__link { white-space: nowrap; }
}

@media (max-width: 600px) {
  .swell-block-step.step-cards,
  .swell-block-step.step-cards:has(> .swell-block-step__item:nth-child(3):last-child),
  .swell-block-step.step-cards:has(> .swell-block-step__item:nth-child(2):last-child) {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .swell-block-step.step-cards .swell-block-step__item { padding: 28px 16px 24px; text-align: center !important; }
  .swell-block-step.step-cards .swell-block-step__body,
  .swell-block-step.step-cards .swell-block-step__body p { text-align: center !important; margin-left: 0 !important; }
}

/* 固定ページ・コラムのタイトルを非表示 */
.page-id-14 .c-pageTitle, .page-id-19 .c-pageTitle, .page-id-21 .c-pageTitle, .page-id-23 .c-pageTitle,
.category-column .c-pageTitle, .post-type-archive-column .c-pageTitle, .single-column .c-pageTitle {
  display: none !important;
}

body.page-id-14, body.page-id-19, body.page-id-21, body.page-id-23 {
  --swl-pad-content--top: 0px;
  --swl-pad-content--btm: 0px;
}

.page-id-14 #content.l-content, .page-id-19 #content.l-content, .page-id-21 #content.l-content, .page-id-23 #content.l-content,
.page-id-14 #main_content.l-mainContent, .page-id-19 #main_content.l-mainContent, .page-id-21 #main_content.l-mainContent, .page-id-23 #main_content.l-mainContent,
.page-id-14 .l-mainContent__inner, .page-id-19 .l-mainContent__inner, .page-id-21 .l-mainContent__inner, .page-id-23 .l-mainContent__inner,
.page-id-14 .l-article, .page-id-19 .l-article, .page-id-21 .l-article, .page-id-23 .l-article {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.page-id-14 .post_content, .page-id-19 .post_content, .page-id-21 .post_content, .page-id-23 .post_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.page-id-14 .post_content > *:first-child, .page-id-19 .post_content > *:first-child, .page-id-21 .post_content > *:first-child, .page-id-23 .post_content > *:first-child {
  margin-top: 0 !important;
}

.page-id-14 .post_content > .wp-block-cover, .page-id-19 .post_content > .wp-block-cover, .page-id-21 .post_content > .wp-block-cover, .page-id-23 .post_content > .wp-block-cover {
  min-height: 60vh !important;
  height: 60vh !important;
  aspect-ratio: auto !important;
}

.page-id-14 .post_content > .wp-block-cover > .wp-block-cover__inner-container,
.page-id-19 .post_content > .wp-block-cover > .wp-block-cover__inner-container,
.page-id-21 .post_content > .wp-block-cover > .wp-block-cover__inner-container,
.page-id-23 .post_content > .wp-block-cover > .wp-block-cover__inner-container {
  max-width: var(--container_size, 1080px) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

@media (min-width: 960px) {
  .home .hero-bg.pc_only {
    min-height: 60vh !important;
    height: 60vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 959px) {
  .home .hero-bg.sp_only {
    min-height: 60vh !important;
    height: 60vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

.home .hero-bg .swell-block-fullWide__inner {
  max-width: var(--container_size, 1080px) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

.home .hero-bg .swell-block-columns .swell-block-column {
  --swl-clmn-pddng: 0 !important;
  padding-left: 0 !important;
}

/* ご予約ページ：Googleカレンダーをスマホで横スクロール表示 */
.page-id-23 iframe[data-src*="calendar.google.com"],
.page-id-23 iframe[src*="calendar.google.com"] {
  max-width: 100%;
}
/* @media (max-width: 800px) {
  .page-id-23 .calendar-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -16px;
    padding: 0 16px 8px;
  }
  .page-id-23 .calendar-scroll-wrap iframe[data-src*="calendar.google.com"],
  .page-id-23 .calendar-scroll-wrap iframe[src*="calendar.google.com"] {
    width: 800px !important;
    height: 600px !important;
    max-width: none !important;
    aspect-ratio: auto !important;
  }
  .page-id-23 .calendar-scroll-wrap::after {
    content: "← 横にスクロールできます →";
    display: block;
    text-align: center;
    font-size: 12px;
    color: #888;
    margin-top: 8px;
  }
} */

@media (max-width: 800px) {
  .page-id-23 #my-calendar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -16px;
    padding: 0 16px 8px;
  }
  .page-id-23 #cal-grid {
    min-width: 560px;
  }
  .page-id-23 #my-calendar::after {
    content: "← 横にスクロールできます →";
    display: block;
    text-align: center;
    font-size: 12px;
    color: #888;
    margin-top: 8px;
  }
}

/* ご予約ページ：フォーム全体（Web予約 & お問い合わせ） */
.page-id-23 .wpcf7 {
  max-width: 880px;
  margin: 24px auto 64px;
}
.page-id-23 .reservation-form {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 40px clamp(24px, 4vw, 48px) 32px;
}
.page-id-23 .form-label {
  font-size: 0.85rem !important;
  color: #5fa9d3 !important;
  font-weight: 500 !important;
  margin: 16px 0 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.4 !important;
}
.page-id-23 .form-icon {
  display: inline-flex;
  align-items: center;
  font-size: 1em;
}
.page-id-23 .required {
  color: #e74c3c !important;
  font-weight: bold;
  margin-left: auto;
}
.page-id-23 .reservation-form input[type=text],
.page-id-23 .reservation-form input[type=email],
.page-id-23 .reservation-form input[type=tel],
.page-id-23 .reservation-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #d9e6ee !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 1rem !important;
  transition: border-color .2s, box-shadow .2s !important;
  box-sizing: border-box !important;
}
.page-id-23 .reservation-form input:focus,
.page-id-23 .reservation-form textarea:focus {
  outline: none !important;
  border-color: #6ec1e4 !important;
  box-shadow: 0 0 0 3px rgba(110, 193, 228, 0.15) !important;
}
.page-id-23 .reservation-form textarea {
  min-height: 120px;
  resize: vertical;
}
.page-id-23 .btn-submit {
  display: block !important;
  margin: 28px auto 0 !important;
  background: #6ec1e4 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 48px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 2px 8px rgba(110,193,228,0.3) !important;
}
.page-id-23 .btn-submit:hover {
  opacity: 0.92 !important;
  transform: translateY(-1px) !important;
}
.page-id-23 .wpcf7 + .wpcf7 .btn-submit {
  background: #4a8aa9 !important;
  box-shadow: 0 2px 8px rgba(74, 138, 169, 0.3) !important;
}
.page-id-23 .post_content > h2.wp-block-heading {
  text-align: center !important;
  margin: 56px 0 20px !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  background: transparent !important;
  padding: 0 !important;
  color: #222 !important;
}
.page-id-23 .post_content > h2.wp-block-heading::before,
.page-id-23 .post_content > h2.wp-block-heading::after {
  display: none !important;
  content: none !important;
}

/* 診療内容ページ：こんな方におすすめカード */
.page-id-14 .recommend-card {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
  padding: 28px 32px !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-id-14 .recommend-card .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-id-14 .recommend-card h3 {
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #e5e5e5 !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #222 !important;
  line-height: 1.5 !important;
}
.page-id-14 .recommend-card h3::before,
.page-id-14 .recommend-card h3::after {
  display: none !important;
  content: none !important;
}
.page-id-14 .recommend-card p {
  text-align: center !important;
  color: #555 !important;
  font-size: 0.9em !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* 診療内容ページ：主な診療メニューカード（白背景＋角丸＋シャドー） */
.page-id-14 .service-card-v {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  transition: transform .2s, box-shadow .2s !important;
}
.page-id-14 .service-card-v:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.1) !important;
}
.page-id-14 .service-card-v > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.page-id-14 .service-card-v__body {
  padding: 14px 20px 16px !important;
  background: #fff !important;
}
.page-id-14 .service-card-v__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  color: #2c7da0 !important;
  line-height: 1.5 !important;
}
.page-id-14 .service-card-v__desc {
  color: #777 !important;
  font-size: 0.9em !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ホーム：「一覧を見る→」リンクをボタン風にする */
.home .section-link a {
  display: inline-block !important;
  color: #222 !important;
  text-decoration: none !important;
  border: 1px solid #222 !important;
  border-radius: 999px !important;
  padding: 8px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: transparent !important;
  transition: background .2s, color .2s !important;
}
.home .section-link a:hover {
  background: #222 !important;
  color: #fff !important;
}

/* ホーム：獣医師コラム カード（白背景） */
.home .p-postListWrap.column-list .p-postList {
  gap: 32px !important;
  margin: 0 !important;
}
.home .p-postListWrap.column-list .p-postList__item {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  transition: transform .2s, box-shadow .2s !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (min-width: 600px) {
  .home .p-postListWrap.column-list .p-postList__item {
    flex: 0 0 calc((100% - 64px) / 3) !important;
    max-width: calc((100% - 64px) / 3) !important;
  }
}
.home .p-postListWrap.column-list .p-postList__item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.1) !important;
}
.home .p-postListWrap.column-list .p-postList__link {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  height: 100%;
}
.home .p-postListWrap.column-list .p-postList__thumb {
  border-radius: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 16/9;
}
.home .p-postListWrap.column-list .p-postList__item:hover .p-postList__thumb {
  transform: none !important;
  box-shadow: none !important;
}
.home .p-postListWrap.column-list .p-postList__body {
  padding: 16px 20px 22px !important;
}
.home .p-postListWrap.column-list .p-postList__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  color: #222 !important;
  line-height: 1.5 !important;
}
.home .p-postListWrap.column-list .p-postList__excerpt {
  color: #777 !important;
  font-size: 0.85em !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ホーム：ご予約の流れカード型ステップ */
.home .swell-block-step.step-cards {
  counter-reset: mystep !important;
  display: grid !important;
  gap: clamp(12px, 1.5vw, 20px) !important;
  grid-template-columns: repeat(4, 1fr) !important;
  margin-left: 0 !important;
}
@media (max-width: 599px) {
  .home .swell-block-step.step-cards { grid-template-columns: 1fr !important; }
}
.home .swell-block-step.step-cards .swell-block-step__item {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 32px 20px 28px !important;
  text-align: center !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
  counter-increment: mystep !important;
  margin: 0 !important;
  border: none !important;
}
.home .swell-block-step.step-cards .swell-block-step__item::before,
.home .swell-block-step.step-cards .swell-block-step__item::after {
  display: none !important;
  content: none !important;
  border: none !important;
}
.home .swell-block-step.step-cards:has(> .swell-block-step__item:nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr) !important;
  width: 75% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 599px) {
  .home .swell-block-step.step-cards:has(> .swell-block-step__item:nth-child(3):last-child) {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
}
.home .swell-block-step.step-cards .swell-block-step__number {
  background: #eaf6fd !important;
  color: #2c7da0 !important;
  width: 64px !important;
  height: 64px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  position: static !important;
  line-height: 1 !important;
}
.home .swell-block-step.step-cards .swell-block-step__number::before {
  content: counter(mystep, decimal-leading-zero);
  display: block;
}
.home .swell-block-step.step-cards .swell-block-step__title {
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  font-size: 1rem !important;
  text-align: center !important;
  color: #222 !important;
}
.home .swell-block-step.step-cards .swell-block-step__body {
  color: #888 !important;
  font-size: 0.85em !important;
  text-align: center !important;
  margin: 0 !important;
}
.home .swell-block-step.step-cards .swell-block-step__body p {
  margin: 0 !important;
  text-align: center !important;
}

/* 全ページの画像を角丸（コラムカードと同じ12px） */
.post_content img,
.l-mainContent__inner img {
  border-radius: 12px;
}

.wp-block-cover__image-background {
  border-radius: 0 !important;
}

.column-archive-card img,
.service-card-v > img,
.recommend-card img,
.p-postList__item img,
.swell-block-step__item img {
  border-radius: 0 !important;
}

.l-footer { background-color: #EAF6FD !important; }

.l-footer .widget_swell_sns_links .c-widget__title,
.l-footer .widget_pages .c-widget__title {
  display: none !important;
}

.l-footer .widget_swell_sns_links .c-iconList {
  justify-content: flex-start !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.l-footer .widget_swell_sns_links .c-iconList__item {
  list-style: none !important;
  margin: 0 !important;
}
.l-footer .widget_swell_sns_links .c-iconList__link {
  font-size: 40px !important;
}
.l-footer .widget_swell_sns_links .c-iconList__icon {
  font-size: 1em !important;
}

.l-footer .widget_pages a {
  white-space: nowrap !important;
}

@media (max-width: 599px) {
  .l-footer .w-footer__box .widget_media_image img {
    width: 30% !important;
    max-width: 30% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  .l-footer .w-footer__box .widget_custom_html,
  .l-footer .w-footer__box .widget_custom_html .textwidget {
    text-align: center !important;
  }

  /* スマホはwidget全てが単一boxに入るので、box内をgridで2列に */
  .l-footer .w-footer.-col0 > .w-footer__box {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 24px !important;
    align-items: start !important;
  }
  /* ロゴ画像と説明文は全幅 */
  .l-footer .w-footer.-col0 > .w-footer__box > .widget_media_image,
  .l-footer .w-footer.-col0 > .w-footer__box > .widget_custom_html {
    grid-column: 1 / -1 !important;
  }
  /* ナビ：左カラム、LINE/プライバシー2つ分の高さ確保 */
  .l-footer .w-footer.-col0 > .w-footer__box > .widget_nav_menu {
    grid-column: 1 !important;
    grid-row: span 2 !important;
    text-align: left !important;
    margin: 0 !important;
  }
  /* LINE と プライバシーポリシー：右カラム */
  .l-footer .w-footer.-col0 > .w-footer__box > .widget_swell_sns_links,
  .l-footer .w-footer.-col0 > .w-footer__box > .widget_pages {
    grid-column: 2 !important;
    text-align: left !important;
    margin: 0 !important;
  }
  /* 左揃え用にメニュー・リストの内部パディング調整 */
  .l-footer .w-footer.-col0 > .w-footer__box .widget_nav_menu ul,
  .l-footer .w-footer.-col0 > .w-footer__box .widget_pages ul,
  .l-footer .w-footer.-col0 > .w-footer__box .widget_swell_sns_links .c-iconList {
    padding-left: 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
  }
  .l-footer .w-footer.-col0 > .w-footer__box .c-iconList__item {
    list-style: none !important;
  }
}

@media (min-width: 960px){
  body.single.single-column #main_content#main_content article :is(.post_content, .entry-content, .p-entry, .c-entry) 
  p:not([class*="u-fz-"]):not([class*="has-"]) {
    font-size: 19px !important;
    line-height: 1.9 !important;
  }
}

/* コラム&お知らせのヒーロータイトル：スマホでは固定ページのhero (1.3em) と同サイズ */
@media (max-width: 599px) {
  .column-archive-hero__title { font-size: 1.3em !important; }
  .category-news .l-topTitleArea .c-pageTitle { font-size: 1.3em !important; }
}