@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL子テーマ ピラティスシンプル日本語版
    Theme URI: https://swell-theme.com/
    Description: SWELL子テーマ：ファーストビューをシンプルにし、目的別導線を下部セクションに集約したピラティス・ヨガ系メディア向けデザイン。
    Version: 4.2.0
    Author: ブログデザインパック
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

:root {
    --sdc-primary: #758a7a;
    --sdc-accent: #eef4ee;
    --sdc-bg: #fbfaf6;
    --sdc-text: #38443b;
    --sdc-heading: #243229;
    --sdc-surface: #ffffff;
    --sdc-footer: #6b7f71;
    --sdc-border: color-mix(in srgb, var(--sdc-primary) 18%, #d7d7d7);
    --sdc-shadow: 0 24px 70px rgba(18, 18, 18, .08);
    --sdc-shadow-sm: 0 12px 34px rgba(18, 18, 18, .07);
    --sdc-radius-lg: 34px;
    --sdc-radius: 22px;
    --sdc-radius-sm: 14px;
    --sdc-font: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html { scroll-behavior: smooth; }
body,
body.sdc-child-theme {
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--sdc-accent) 62%, transparent), transparent 30rem),
        radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--sdc-primary) 12%, transparent), transparent 28rem),
        var(--sdc-bg) !important;
    color: var(--sdc-text) !important;
    font-family: var(--sdc-font) !important;
    letter-spacing: .025em;
}
#body_wrap,
.l-container,
.l-content,
.l-mainContent,
.l-mainContent__inner { background: transparent !important; }
a { color: var(--sdc-primary); text-underline-offset: .18em; }
a:hover { opacity: .84; }
img { border-radius: var(--sdc-radius-sm); }

/* Header / Navigation */
.l-header,
.l-fixHeader,
.p-spMenu__inner {
    background: color-mix(in srgb, var(--sdc-bg) 84%, #fff 16%) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--sdc-primary) 18%, transparent) !important;
    box-shadow: 0 10px 30px rgba(20, 20, 20, .035) !important;
    backdrop-filter: blur(16px);
}
.l-header__inner,
.l-fixHeader__inner { max-width: 1180px; }
.c-headLogo,
.c-headLogo__link,
.c-headLogo__img { color: var(--sdc-heading) !important; font-weight: 800 !important; letter-spacing: .06em; }
.c-gnav > .menu-item > a,
.c-gnav .menu-item a,
.p-spMenu__nav a { color: var(--sdc-heading) !important; font-weight: 700; letter-spacing: .08em; }
.c-gnav > .menu-item > a::after { background: var(--sdc-primary) !important; height: 2px !important; }
.c-iconBtn,
.c-iconBtn__icon { color: var(--sdc-primary) !important; }

/* Main visual and page titles generated by SWELL */
.p-mainVisual,
.p-mainVisual__inner,
.p-mainVisual__slide,
.c-pageTitle,
.l-topTitleArea,
.p-termHead,
.p-archiveTitle {
    border-radius: 0 0 var(--sdc-radius-lg) var(--sdc-radius-lg);
}
.p-mainVisual,
.l-topTitleArea,
.p-termHead,
.p-archiveTitle {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--sdc-accent) 68%, #fff 32%), color-mix(in srgb, var(--sdc-bg) 76%, #fff 24%)) !important;
    color: var(--sdc-heading) !important;
}
.p-mainVisual__slideTitle,
.p-mainVisual__slideText,
.c-pageTitle__inner,
.c-pageTitle,
.p-archiveTitle,
.p-termHead__title { color: var(--sdc-heading) !important; }

/* Layout shells */
.l-content { padding-top: clamp(22px, 4vw, 54px) !important; }
.l-mainContent__inner,
.l-sidebar { border-radius: var(--sdc-radius); }
.single .l-mainContent__inner,
.page .l-mainContent__inner,
.p-article,
.c-widget,
.wp-block-group,
.swell-block-fullWide__inner {
    border-radius: var(--sdc-radius) !important;
}
.single .l-mainContent__inner,
.page .l-mainContent__inner,
.p-article {
    background: color-mix(in srgb, var(--sdc-surface) 92%, var(--sdc-bg) 8%) !important;
    box-shadow: var(--sdc-shadow-sm);
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 12%, transparent);
}
@media (min-width: 960px) {
    .single .l-mainContent__inner,
    .page .l-mainContent__inner { padding: clamp(24px, 3vw, 44px) !important; }
}

/* Archive / post cards */
.p-postList,
.c-postList { gap: clamp(18px, 2.5vw, 28px) !important; }
.p-postList__item,
.c-postList__item { border-radius: var(--sdc-radius) !important; }
.p-postList__link,
.c-postList__link,
.p-postList__item > a,
.c-postList__item > a {
    position: relative;
    display: block;
    background: var(--sdc-surface) !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 12%, #e5e5e5) !important;
    border-radius: var(--sdc-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--sdc-shadow-sm) !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.p-postList__link:hover,
.c-postList__link:hover,
.p-postList__item > a:hover,
.c-postList__item > a:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--sdc-primary) 38%, #e5e5e5) !important;
    box-shadow: var(--sdc-shadow) !important;
}
.p-postList__thumb,
.c-postList__thumb,
.p-postList__thumb img,
.c-postThumb,
.c-postThumb img { border-radius: var(--sdc-radius-sm) !important; overflow: hidden; }
.p-postList__title,
.c-postList__title,
.p-postList__body h2,
.p-postList__body h3 { color: var(--sdc-heading) !important; font-weight: 800 !important; line-height: 1.55 !important; }
.p-postList__excerpt,
.p-postList__meta,
.c-postTimes,
.c-postAuthor { color: color-mix(in srgb, var(--sdc-text) 72%, #888) !important; }
.c-postThumb__cat,
.c-categoryList__link,
.c-categoryLink,
.tag-cloud-link,
.p-postList__cat,
.p-postList__meta .cat {
    display: inline-flex;
    align-items: center;
    gap: .25em;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--sdc-accent) 84%, #fff 16%) !important;
    color: var(--sdc-primary) !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 18%, transparent) !important;
    font-weight: 700 !important;
}

/* Article typography */
.post_content h2,
.post_content h3,
.post_content h4,
/* Article H1 uses SWELL default. */
/* Article H1 uses SWELL default typography. */
.post_content { color: var(--sdc-text); line-height: 2.05; }
.post_content p { margin-top: 1.05em; margin-bottom: 1.05em; }
.post_content h2 {
    position: relative;
    margin-top: 2.4em !important;
    margin-bottom: 1em !important;
    padding: .88em 1.05em .88em 1.25em !important;
    border: 0 !important;
    border-radius: var(--sdc-radius-sm) !important;
    background: linear-gradient(90deg, color-mix(in srgb, var(--sdc-accent) 84%, #fff 16%), color-mix(in srgb, var(--sdc-bg) 86%, #fff 14%)) !important;
    box-shadow: 0 8px 22px rgba(20,20,20,.035);
}
.post_content h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    bottom: 18%;
    width: 6px;
    border-radius: 999px;
    background: var(--sdc-primary);
}
.post_content h3 {
    margin-top: 2em !important;
    padding: .25em 0 .62em !important;
    border-bottom: 2px solid color-mix(in srgb, var(--sdc-primary) 28%, transparent) !important;
}
.post_content h4 {
    padding-left: .9em !important;
    border-left: 4px solid var(--sdc-primary) !important;
}
.post_content strong { color: var(--sdc-heading); background: linear-gradient(transparent 62%, color-mix(in srgb, var(--sdc-accent) 75%, transparent) 62%); }
.post_content blockquote {
    border-left: 5px solid var(--sdc-primary) !important;
    background: color-mix(in srgb, var(--sdc-accent) 55%, #fff 45%) !important;
    border-radius: var(--sdc-radius-sm) !important;
}
.post_content table {
    border-radius: var(--sdc-radius-sm);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-sm);
}
.post_content th { background: color-mix(in srgb, var(--sdc-primary) 84%, #222 16%) !important; color: #fff !important; }
.post_content td { background: color-mix(in srgb, var(--sdc-surface) 94%, var(--sdc-bg) 6%) !important; }

/* SWELL blocks / buttons / TOC */
.swell-block-button a,
.wp-block-button__link,
.c-btn,
.is-style-btn_normal a,
.is-style-btn_solid a {
    border-radius: 999px !important;
    background: var(--sdc-primary) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--sdc-primary) 26%, transparent) !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
}
.is-style-btn_line a,
.sdc-btn--outline {
    background: transparent !important;
    color: var(--sdc-primary) !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 48%, transparent) !important;
}
.p-toc,
.swell-block-capbox,
.swell-block-faq,
.swell-block-step,
.swell-block-tab,
.swell-block-accordion,
.swell-block-columns__inner > .swell-block-column {
    border-radius: var(--sdc-radius) !important;
    border-color: color-mix(in srgb, var(--sdc-primary) 16%, #e5e5e5) !important;
}
.p-toc,
.swell-block-capbox,
.swell-block-step {
    background: color-mix(in srgb, var(--sdc-surface) 91%, var(--sdc-bg) 9%) !important;
    box-shadow: var(--sdc-shadow-sm);
}

/* Sidebar / widgets */
.c-widget,
.l-sidebar .widget,
.w-sidebar .widget {
    background: color-mix(in srgb, var(--sdc-surface) 94%, var(--sdc-bg) 6%) !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 14%, transparent) !important;
    border-radius: var(--sdc-radius) !important;
    box-shadow: var(--sdc-shadow-sm) !important;
    padding: clamp(18px, 2.4vw, 26px) !important;
}
.c-widget__title,
.wp-block-heading,
.l-sidebar h2,
.l-sidebar h3 { color: var(--sdc-heading) !important; font-weight: 800 !important; }
.c-widget__title::before,
.c-widget__title::after { background: var(--sdc-primary) !important; }
.wp-block-search__input,
.search-field,
input[type="search"],
input[type="text"],
input[type="email"],
textarea {
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 18%, #ddd) !important;
    background: #fff !important;
}
textarea { border-radius: var(--sdc-radius-sm) !important; }
.wp-block-search__button,
.search-submit,
input[type="submit"] {
    border-radius: 999px !important;
    background: var(--sdc-primary) !important;
    color: #fff !important;
}

/* Footer */
.l-footer {
    margin-top: clamp(52px, 8vw, 96px);
    background: linear-gradient(135deg, color-mix(in srgb, var(--sdc-footer) 92%, #111 8%), color-mix(in srgb, var(--sdc-heading) 78%, var(--sdc-footer) 22%)) !important;
    color: #fff !important;
    border-radius: var(--sdc-radius-lg) var(--sdc-radius-lg) 0 0;
}
.l-footer a,
.l-footer .c-widget__title { color: #fff !important; }
.l-footer__inner { padding-top: clamp(36px, 6vw, 72px) !important; }
.c-copyright { opacity: .75; }

/* Original child home template */
.sdc-front-template {
    background: transparent;
}
.sdc-front-template__inner,
.sdc-home-wrap {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}
.sdc-home-wrap {
    padding: clamp(30px, 6vw, 72px) 0 clamp(54px, 8vw, 92px);
}
.sdc-site-hero {
    position: relative;
    min-height: clamp(440px, 70vw, 680px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: clamp(24px, 4vw, 58px);
    align-items: center;
    padding: clamp(32px, 6vw, 84px);
    border-radius: var(--sdc-radius-lg);
    background:
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--sdc-primary) 20%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, var(--sdc-surface) 86%, #fff 14%), color-mix(in srgb, var(--sdc-accent) 62%, var(--sdc-bg) 38%));
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 14%, transparent);
    box-shadow: var(--sdc-shadow);
    overflow: hidden;
}
.sdc-site-hero::after {
    content: "";
    position: absolute;
    right: -9rem;
    bottom: -10rem;
    width: 28rem;
    height: 28rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sdc-primary) 12%, transparent);
}
.sdc-eyebrow {
    margin: 0 0 1.1em;
    color: var(--sdc-primary);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.sdc-site-hero h1 {
    margin: 0 0 .55em;
    color: var(--sdc-heading);
    font-size: clamp(2.1rem, 5vw, 4.6rem);
    line-height: 1.18;
    letter-spacing: .06em;
}
.sdc-site-hero__lead { max-width: 42em; line-height: 2.05; font-weight: 500; }
.sdc-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 1.8em; }
.sdc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 166px;
    padding: 1em 1.55em;
    border-radius: 999px;
    background: var(--sdc-primary);
    color: #fff !important;
    font-weight: 850;
    text-decoration: none !important;
    box-shadow: 0 16px 34px color-mix(in srgb, var(--sdc-primary) 24%, transparent);
}
.sdc-hero-panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 16px;
}
.sdc-hero-card {
    padding: clamp(18px, 2.4vw, 28px);
    border-radius: var(--sdc-radius);
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: var(--sdc-shadow-sm);
    backdrop-filter: blur(14px);
}
.sdc-hero-card span { color: var(--sdc-primary); font-size: .78rem; font-weight: 900; letter-spacing: .15em; }
.sdc-hero-card h3 { margin: .4em 0 .4em; color: var(--sdc-heading); font-size: 1.12rem; }
.sdc-hero-card p { margin: 0; font-size: .92rem; line-height: 1.8; }
.sdc-section { margin-top: clamp(42px, 7vw, 86px); }
.sdc-section-head { margin-bottom: clamp(20px, 3vw, 34px); text-align: center; }
.sdc-section-head p { margin: 0 0 .35em; color: var(--sdc-primary); font-size: .8rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.sdc-section-head h2 { margin: 0; color: var(--sdc-heading); font-size: clamp(1.6rem, 3.5vw, 2.7rem); letter-spacing: .06em; }
.sdc-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 24px); }
.sdc-guide-card {
    display: block;
    padding: clamp(22px, 3vw, 34px);
    border-radius: var(--sdc-radius);
    background: var(--sdc-surface);
    color: var(--sdc-text) !important;
    text-decoration: none !important;
    border: 1px solid color-mix(in srgb, var(--sdc-primary) 12%, transparent);
    box-shadow: var(--sdc-shadow-sm);
}
.sdc-guide-card__label { color: var(--sdc-primary); font-weight: 900; letter-spacing: .12em; }
.sdc-guide-card h3 { margin: .8em 0 .5em; color: var(--sdc-heading); font-size: 1.22rem; }
.sdc-guide-card p { margin: 0; line-height: 1.85; }
.sdc-chip-cloud { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.sdc-chip { display: inline-flex; align-items: center; padding: .72em 1.05em; border-radius: 999px; background: var(--sdc-surface); border: 1px solid color-mix(in srgb, var(--sdc-primary) 16%, transparent); color: var(--sdc-primary); font-weight: 800; box-shadow: 0 8px 18px rgba(20,20,20,.04); }
.sdc-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 24px); }
.sdc-step { padding: clamp(22px, 3vw, 32px); border-radius: var(--sdc-radius); background: linear-gradient(180deg, var(--sdc-surface), color-mix(in srgb, var(--sdc-accent) 38%, #fff 62%)); border: 1px solid color-mix(in srgb, var(--sdc-primary) 13%, transparent); box-shadow: var(--sdc-shadow-sm); }
.sdc-step__num { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 999px; background: var(--sdc-primary); color: #fff; font-weight: 900; }
.sdc-step h3 { margin: 1em 0 .5em; color: var(--sdc-heading); }
.sdc-latest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 24px); }
.sdc-latest-card { background: var(--sdc-surface); border: 1px solid color-mix(in srgb, var(--sdc-primary) 12%, transparent); border-radius: var(--sdc-radius); box-shadow: var(--sdc-shadow-sm); overflow: hidden; }
.sdc-latest-card__thumb { display: block; aspect-ratio: 16/10; background: color-mix(in srgb, var(--sdc-accent) 76%, #fff 24%); overflow: hidden; }
.sdc-latest-card__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.sdc-latest-card__body { padding: 20px; }
.sdc-latest-card__body time { color: var(--sdc-primary); font-size: .78rem; font-weight: 800; }
.sdc-latest-card__body h3 { margin: .5em 0 .6em; font-size: 1.04rem; line-height: 1.6; }
.sdc-latest-card__body h3 a { color: var(--sdc-heading); text-decoration: none; }
.sdc-latest-card__body p { margin: 0; font-size: .9rem; line-height: 1.8; }
.sdc-cta-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(26px, 4.4vw, 50px); border-radius: var(--sdc-radius-lg); background: linear-gradient(135deg, color-mix(in srgb, var(--sdc-primary) 88%, #222 12%), color-mix(in srgb, var(--sdc-footer) 86%, #000 14%)); color: #fff; box-shadow: var(--sdc-shadow); }
.sdc-cta-band h2 { margin: 0 0 .35em; color: #fff; font-size: clamp(1.4rem, 3vw, 2.2rem); }
.sdc-cta-band p { margin: 0; line-height: 1.8; }
.sdc-cta-band .sdc-btn { background: #fff !important; color: var(--sdc-primary) !important; box-shadow: none !important; }

@media (max-width: 959px) {
    .sdc-site-hero { grid-template-columns: 1fr; }
    .sdc-guide-grid,
    .sdc-step-grid,
    .sdc-latest-grid { grid-template-columns: 1fr; }
    .sdc-cta-band { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 599px) {
    .sdc-front-template__inner,
    .sdc-home-wrap { width: min(100% - 22px, 1120px); }
    .sdc-site-hero { padding: 26px 20px; border-radius: 24px; }
}

/* =========================================================
   Sleek Pilates/Yoga refinement v3.0
   目的：大きすぎるパーツ・太すぎる文字・強すぎる装飾を抑え、
   pleasure-yoga.co.jp のような細く上品なポータルサイト感へ調整。
========================================================= */
:root {
    --sdc-primary: #758a7a;
    --sdc-accent: #eef4ee;
    --sdc-bg: #fbfaf6;
    --sdc-text: #38443b;
    --sdc-heading: #243229;
    --sdc-surface: #fffdf9;
    --sdc-footer: #6b7f71;
    --sdc-border: rgba(36, 50, 41, .105);
    --sdc-shadow: 0 18px 48px rgba(48, 61, 52, .055);
    --sdc-shadow-sm: 0 8px 26px rgba(48, 61, 52, .042);
    --sdc-radius-lg: 26px;
    --sdc-radius: 18px;
    --sdc-radius-sm: 12px;
}

html { font-size: 16px; }
body,
body.sdc-child-theme {
    background:
        linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,0) 34rem),
        radial-gradient(circle at 86% 10%, color-mix(in srgb, var(--sdc-accent) 68%, transparent), transparent 24rem),
        var(--sdc-bg) !important;
    color: var(--sdc-text) !important;
    letter-spacing: .012em !important;
    font-feature-settings: "palt" 1;
    -webkit-font-smoothing: antialiased;
}

/* 全体の重さを抑える */
body.sdc-child-theme h2,
body.sdc-child-theme h3,
body.sdc-child-theme h4,
body.sdc-child-theme h5,
body.sdc-child-theme h6,
body.sdc-child-theme .c-headLogo,
body.sdc-child-theme .c-gnav a,
body.sdc-child-theme .p-postList__title,
body.sdc-child-theme .c-postList__title,
body.sdc-child-theme .c-widget__title,
body.sdc-child-theme strong,
body.sdc-child-theme b {
    font-weight: 600 !important;
}
body.sdc-child-theme p,
body.sdc-child-theme li,
body.sdc-child-theme td,
body.sdc-child-theme dd {
    font-weight: 400 !important;
}

/* ヘッダー：薄く、低く、上品に */
.l-header,
.l-fixHeader,
.p-spMenu__inner {
    background: rgba(251, 250, 246, .86) !important;
    border-bottom: 1px solid rgba(36, 50, 41, .075) !important;
    box-shadow: 0 8px 26px rgba(36, 50, 41, .025) !important;
    backdrop-filter: blur(18px);
}
.l-header__inner,
.l-fixHeader__inner {
    max-width: 1120px !important;
    min-height: 64px !important;
}
.c-headLogo,
.c-headLogo__link,
.c-headLogo__img {
    font-size: clamp(1.02rem, 1.8vw, 1.32rem) !important;
    line-height: 1.35 !important;
    letter-spacing: .06em !important;
}
.c-gnav > .menu-item > a,
.c-gnav .menu-item a,
.p-spMenu__nav a {
    font-size: .78rem !important;
    font-weight: 500 !important;
    letter-spacing: .12em !important;
    color: color-mix(in srgb, var(--sdc-heading) 88%, #fff 12%) !important;
}
.c-gnav > .menu-item > a::after {
    height: 1px !important;
    background: var(--sdc-primary) !important;
}

/* レイアウト：横幅と余白を控えめに */
.l-content {
    padding-top: clamp(18px, 3vw, 38px) !important;
}
.l-container,
.l-content__inner,
.l-mainContent,
.l-mainContent__inner,
.l-sidebar {
    max-width: 1120px;
}
.single .l-mainContent__inner,
.page .l-mainContent__inner,
.p-article {
    background: rgba(255, 253, 249, .78) !important;
    border: 1px solid rgba(36, 50, 41, .075) !important;
    box-shadow: 0 10px 34px rgba(48, 61, 52, .038) !important;
    border-radius: 20px !important;
}
@media (min-width: 960px) {
    .single .l-mainContent__inner,
    .page .l-mainContent__inner {
        padding: clamp(22px, 2.3vw, 34px) !important;
    }
}

/* アーカイブ・投稿カード：小さく、軽く、読みやすく */
.p-postList,
.c-postList {
    gap: clamp(14px, 2vw, 22px) !important;
}
.p-postList__link,
.c-postList__link,
.p-postList__item > a,
.c-postList__item > a,
.sdc-latest-card,
.sdc-guide-card,
.sdc-step,
.sdc-hero-card,
.c-widget,
.l-sidebar .widget,
.w-sidebar .widget {
    border-radius: 16px !important;
    border: 1px solid rgba(36, 50, 41, .085) !important;
    box-shadow: 0 8px 24px rgba(48, 61, 52, .035) !important;
    background: rgba(255, 253, 249, .84) !important;
}
.p-postList__link:hover,
.c-postList__link:hover,
.p-postList__item > a:hover,
.c-postList__item > a:hover,
.sdc-guide-card:hover,
.sdc-latest-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 34px rgba(48, 61, 52, .055) !important;
}
.p-postList__thumb,
.c-postList__thumb,
.p-postList__thumb img,
.c-postThumb,
.c-postThumb img,
.sdc-latest-card__thumb,
.sdc-latest-card__thumb img {
    border-radius: 12px !important;
}
.p-postList__title,
.c-postList__title,
.p-postList__body h2,
.p-postList__body h3,
.sdc-latest-card__body h3 {
    font-size: clamp(.95rem, 1.45vw, 1.08rem) !important;
    line-height: 1.72 !important;
    letter-spacing: .015em !important;
    color: var(--sdc-heading) !important;
}
.p-postList__excerpt,
.p-postList__meta,
.c-postTimes,
.c-postAuthor,
.sdc-latest-card__body p {
    font-size: .86rem !important;
    line-height: 1.82 !important;
    color: color-mix(in srgb, var(--sdc-text) 72%, #777 28%) !important;
}
.c-postThumb__cat,
.c-categoryList__link,
.c-categoryLink,
.tag-cloud-link,
.p-postList__cat,
.p-postList__meta .cat {
    padding: .32em .72em !important;
    border-radius: 999px !important;
    font-size: .72rem !important;
    font-weight: 500 !important;
    letter-spacing: .06em !important;
    background: rgba(238, 244, 238, .78) !important;
    color: color-mix(in srgb, var(--sdc-primary) 82%, #222 18%) !important;
    border: 1px solid rgba(117, 138, 122, .18) !important;
}

/* 記事本文：見出しを太くしすぎない */
/* Article page title intentionally not overridden; SWELL default is used. */
.post_content h1 {
    font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
}
.post_content {
    max-width: 760px;
    margin-inline: auto;
    font-size: clamp(.96rem, 1.35vw, 1.02rem) !important;
    line-height: 2.02 !important;
    color: var(--sdc-text) !important;
}
.post_content p {
    margin-top: 1.05em !important;
    margin-bottom: 1.05em !important;
}
.post_content h2 {
    margin-top: 2.75em !important;
    margin-bottom: 1.05em !important;
    padding: 0 0 .62em !important;
    font-size: clamp(1.32rem, 2.4vw, 1.8rem) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: .035em !important;
    color: var(--sdc-heading) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(36, 50, 41, .14) !important;
}
.post_content h2::before {
    width: 36px !important;
    height: 1px !important;
    left: 0 !important;
    top: auto !important;
    bottom: -1px !important;
    background: var(--sdc-primary) !important;
    border-radius: 0 !important;
}
.post_content h3 {
    margin-top: 2.25em !important;
    margin-bottom: .75em !important;
    padding: 0 0 0 .78em !important;
    font-size: clamp(1.12rem, 1.85vw, 1.34rem) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    border-bottom: 0 !important;
    border-left: 2px solid var(--sdc-primary) !important;
}
.post_content h4 {
    font-size: 1.04rem !important;
    font-weight: 500 !important;
    padding-left: .72em !important;
    border-left: 2px solid rgba(117, 138, 122, .42) !important;
}
.post_content strong {
    color: color-mix(in srgb, var(--sdc-heading) 92%, var(--sdc-primary) 8%) !important;
    font-weight: 600 !important;
    background: linear-gradient(transparent 72%, rgba(238, 244, 238, .82) 72%) !important;
}
.post_content blockquote {
    border-left: 2px solid var(--sdc-primary) !important;
    background: rgba(238, 244, 238, .46) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.post_content table {
    box-shadow: none !important;
    border: 1px solid rgba(36, 50, 41, .1) !important;
}
.post_content th {
    background: rgba(238, 244, 238, .88) !important;
    color: var(--sdc-heading) !important;
    font-weight: 500 !important;
}
.post_content td {
    background: rgba(255, 253, 249, .86) !important;
}

/* ボタン：主張を弱く、上品に */
.swell-block-button a,
.wp-block-button__link,
.c-btn,
.is-style-btn_normal a,
.is-style-btn_solid a,
.sdc-btn,
.wp-block-search__button,
.search-submit,
input[type="submit"] {
    min-width: auto !important;
    padding: .78em 1.25em !important;
    border-radius: 999px !important;
    background: var(--sdc-heading) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    letter-spacing: .08em !important;
    border: 1px solid transparent !important;
}
.sdc-btn--outline,
.is-style-btn_line a {
    background: transparent !important;
    color: var(--sdc-heading) !important;
    border: 1px solid rgba(36, 50, 41, .22) !important;
}
.sdc-btn:hover,
.c-btn:hover,
.wp-block-button__link:hover {
    opacity: .82 !important;
    transform: translateY(-1px);
}

/* サイドバー */
.c-widget,
.l-sidebar .widget,
.w-sidebar .widget {
    padding: clamp(16px, 2vw, 22px) !important;
}
.c-widget__title,
.wp-block-heading,
.l-sidebar h2,
.l-sidebar h3 {
    font-size: .98rem !important;
    line-height: 1.65 !important;
    letter-spacing: .08em !important;
    color: var(--sdc-heading) !important;
}
.c-widget__title::before,
.c-widget__title::after {
    height: 1px !important;
    background: rgba(36, 50, 41, .16) !important;
}
.wp-block-search__input,
.search-field,
input[type="search"],
input[type="text"],
input[type="email"],
textarea {
    border-radius: 999px !important;
    border: 1px solid rgba(36, 50, 41, .13) !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: none !important;
}
textarea { border-radius: 14px !important; }

/* トップページ専用：理想サイト風に軽量化 */
.sdc-front-template__inner,
.sdc-home-wrap {
    width: min(1080px, calc(100% - 34px)) !important;
}
.sdc-home-wrap {
    padding: clamp(26px, 5vw, 56px) 0 clamp(48px, 7vw, 78px) !important;
}
.sdc-site-hero {
    min-height: auto !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr) !important;
    gap: clamp(24px, 4vw, 48px) !important;
    align-items: stretch !important;
    padding: clamp(30px, 5.2vw, 68px) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(135deg, rgba(255,253,249,.92), rgba(238,244,238,.68)),
        radial-gradient(circle at 100% 0%, rgba(117, 138, 122, .12), transparent 28rem) !important;
    border: 1px solid rgba(36, 50, 41, .08) !important;
    box-shadow: 0 14px 42px rgba(48, 61, 52, .045) !important;
}
.sdc-site-hero::after {
    opacity: .34 !important;
    width: 18rem !important;
    height: 18rem !important;
    right: -8rem !important;
    bottom: -9rem !important;
}
.sdc-eyebrow,
.sdc-section-head p,
.sdc-hero-card span,
.sdc-guide-card__label,
.sdc-latest-card__body time {
    font-size: .72rem !important;
    font-weight: 500 !important;
    letter-spacing: .16em !important;
    color: color-mix(in srgb, var(--sdc-primary) 88%, #222 12%) !important;
}
.sdc-site-hero h1 {
    max-width: 10.5em;
    margin: 0 0 .65em !important;
    font-size: clamp(2.15rem, 5.1vw, 4.05rem) !important;
    line-height: 1.28 !important;
    letter-spacing: .035em !important;
    font-weight: 500 !important;
}
.sdc-site-hero__lead {
    max-width: 42em !important;
    font-size: clamp(.94rem, 1.35vw, 1.02rem) !important;
    line-height: 2.02 !important;
    font-weight: 400 !important;
    color: color-mix(in srgb, var(--sdc-text) 82%, #777 18%) !important;
}
.sdc-actions {
    margin-top: 1.5em !important;
    gap: 10px !important;
}
.sdc-hero-panel {
    gap: 12px !important;
}
.sdc-hero-card {
    padding: clamp(16px, 2vw, 22px) !important;
    backdrop-filter: blur(8px) !important;
}
.sdc-hero-card h3,
.sdc-guide-card h3,
.sdc-step h3 {
    margin: .55em 0 .42em !important;
    font-size: clamp(1rem, 1.7vw, 1.16rem) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
}
.sdc-hero-card p,
.sdc-guide-card p,
.sdc-step p {
    font-size: .88rem !important;
    line-height: 1.88 !important;
    color: color-mix(in srgb, var(--sdc-text) 76%, #777 24%) !important;
}
.sdc-section {
    margin-top: clamp(38px, 6vw, 72px) !important;
}
.sdc-section-head {
    margin-bottom: clamp(18px, 2.6vw, 28px) !important;
    text-align: left !important;
}
.sdc-section-head h2 {
    font-size: clamp(1.36rem, 2.8vw, 2.12rem) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
}
.sdc-guide-grid,
.sdc-step-grid,
.sdc-latest-grid {
    gap: clamp(14px, 2vw, 22px) !important;
}
.sdc-guide-card,
.sdc-step {
    padding: clamp(18px, 2.4vw, 26px) !important;
}
.sdc-step__num {
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    background: transparent !important;
    color: var(--sdc-primary) !important;
    font-size: .76rem !important;
    font-weight: 500 !important;
    letter-spacing: .16em !important;
}
.sdc-chip-cloud {
    justify-content: flex-start !important;
    gap: 9px !important;
}
.sdc-chip {
    padding: .48em .82em !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    background: rgba(255,253,249,.7) !important;
    color: var(--sdc-text) !important;
}
.sdc-latest-card__body {
    padding: 16px !important;
}
.sdc-cta-band {
    padding: clamp(24px, 3.5vw, 38px) !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--sdc-heading) 86%, #fff 14%), color-mix(in srgb, var(--sdc-footer) 76%, #222 24%)) !important;
    box-shadow: 0 12px 36px rgba(48, 61, 52, .06) !important;
}
.sdc-cta-band h2 {
    font-size: clamp(1.24rem, 2.3vw, 1.78rem) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}
.sdc-cta-band .sdc-btn {
    background: rgba(255,255,255,.94) !important;
    color: var(--sdc-heading) !important;
}

/* フッター：濃すぎ・丸すぎを抑える */
.l-footer {
    margin-top: clamp(42px, 6vw, 78px) !important;
    background: color-mix(in srgb, var(--sdc-heading) 86%, var(--sdc-footer) 14%) !important;
    border-radius: 22px 22px 0 0 !important;
}
.l-footer__inner {
    padding-top: clamp(28px, 4.5vw, 52px) !important;
}
.l-footer a,
.l-footer .c-widget__title {
    font-weight: 400 !important;
}

/* SWELLパーツ */
.p-toc,
.swell-block-capbox,
.swell-block-faq,
.swell-block-step,
.swell-block-tab,
.swell-block-accordion,
.swell-block-columns__inner > .swell-block-column {
    border-radius: 16px !important;
    background: rgba(255,253,249,.78) !important;
    border-color: rgba(36, 50, 41, .09) !important;
    box-shadow: none !important;
}

@media (max-width: 959px) {
    .sdc-site-hero {
        grid-template-columns: 1fr !important;
    }
    .sdc-guide-grid,
    .sdc-step-grid,
    .sdc-latest-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 599px) {
    .sdc-front-template__inner,
    .sdc-home-wrap {
        width: min(100% - 24px, 1080px) !important;
    }
    .sdc-site-hero {
        padding: 24px 18px !important;
        border-radius: 20px !important;
    }
    .sdc-site-hero h1 {
        font-size: clamp(1.88rem, 9.5vw, 2.65rem) !important;
    }
    .sdc-section-head {
        text-align: left !important;
    }
}


/* =========================================================
   Refined v4.0 - designer review fixes
   1) Single article H1 is returned to SWELL default.
   2) Reduce oversized hero/cards/buttons.
   3) Remove generic WP widgets from the top page.
   4) Use a cleaner yoga/pilates portal direction.
========================================================= */

/* H1: 記事タイトルはSWELL初期値を優先。子テーマ側ではサイズ・太さを触らない */
body.single .c-postTitle__ttl,
body.single .p-articleHead h1,
body.single .l-mainContent__inner > h1 {
    color: inherit !important;
    background: inherit !important;
    border: inherit !important;
    box-shadow: none !important;
    letter-spacing: normal !important;
}

/* 日本語本文の字間を詰めて、長文タイトル・本文の読みやすさを優先 */
body.sdc-child-theme,
body.sdc-child-theme .post_content,
body.sdc-child-theme .p-postList__title,
body.sdc-child-theme .c-postList__title {
    letter-spacing: 0 !important;
}
body.sdc-child-theme .sdc-eyebrow,
body.sdc-child-theme .sdc-section-head p,
body.sdc-child-theme .sdc-hero-card span,
body.sdc-child-theme .sdc-guide-card__label,
body.sdc-child-theme .c-gnav a {
    letter-spacing: .12em !important;
}

/* トップ：プレジュアヨガ寄せ。大きすぎるヒーローを抑えてポータル感を出す */
.sdc-site-hero {
    grid-template-columns: minmax(0, .92fr) minmax(280px, 1.08fr) !important;
    padding: clamp(28px, 4.4vw, 56px) !important;
    border-radius: 22px !important;
    box-shadow: 0 10px 30px rgba(48, 61, 52, .038) !important;
}
.sdc-site-hero h1 {
    max-width: 12em !important;
    font-size: clamp(1.86rem, 4.2vw, 3.35rem) !important;
    line-height: 1.36 !important;
    font-weight: 500 !important;
}
.sdc-site-hero__lead {
    max-width: 38em !important;
    font-size: .96rem !important;
    line-height: 1.95 !important;
}
.sdc-hero-panel,
.sdc-guide-grid,
.sdc-step-grid,
.sdc-latest-grid {
    gap: clamp(12px, 1.8vw, 18px) !important;
}
.sdc-hero-card,
.sdc-guide-card,
.sdc-step,
.sdc-latest-card,
.c-widget,
.l-sidebar .widget,
.w-sidebar .widget {
    border-radius: 14px !important;
    box-shadow: 0 6px 20px rgba(48, 61, 52, .028) !important;
}
.sdc-hero-card,
.sdc-guide-card,
.sdc-step {
    padding: clamp(16px, 2vw, 22px) !important;
}
.sdc-section {
    margin-top: clamp(34px, 5.2vw, 64px) !important;
}
.sdc-section-head h2 {
    font-size: clamp(1.26rem, 2.4vw, 1.86rem) !important;
}

/* 記事カード：タイトルが長いサイトなので、一覧では2〜3行に制御 */
.p-postList__title,
.c-postList__title,
.sdc-latest-card__body h3 a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sdc-latest-card__body h3 a {
    -webkit-line-clamp: 2;
}
.p-postList__thumb,
.c-postList__thumb,
.sdc-latest-card__thumb {
    aspect-ratio: 16 / 9 !important;
}

/* ボタン：黒ベタよりもピラティスらしい柔らかいグリーンに */
.swell-block-button a,
.wp-block-button__link,
.c-btn,
.is-style-btn_normal a,
.is-style-btn_solid a,
.sdc-btn,
.wp-block-search__button,
.search-submit,
input[type="submit"] {
    background: var(--sdc-primary) !important;
    font-weight: 500 !important;
    padding: .72em 1.18em !important;
}
.sdc-btn--outline,
.is-style-btn_line a {
    background: transparent !important;
    color: var(--sdc-primary) !important;
    border-color: rgba(117, 138, 122, .34) !important;
}

/* サイドバー：初期WordPress感の強い要素をトップでは消す */
body.home .widget_recent_comments,
body.home .wp-block-latest-comments,
body.home .widget_archive,
body.home .wp-block-archives {
    display: none !important;
}

/* 記事本文：h2/h3は細めのまま、ややコンパクトに */
.post_content h2 {
    margin-top: 2.45em !important;
    font-size: clamp(1.24rem, 2.1vw, 1.62rem) !important;
    line-height: 1.62 !important;
}
.post_content h3 {
    margin-top: 2em !important;
    font-size: clamp(1.06rem, 1.65vw, 1.24rem) !important;
}
.post_content strong {
    font-weight: 500 !important;
    background: linear-gradient(transparent 76%, rgba(238, 244, 238, .72) 76%) !important;
}

/* テーブル：比較記事で読めるように淡すぎず、でも重くしない */
.post_content table {
    font-size: .94rem !important;
}
.post_content th {
    background: rgba(229, 238, 229, .95) !important;
    color: var(--sdc-heading) !important;
}

@media (max-width: 599px) {
    .sdc-site-hero h1 {
        font-size: clamp(1.72rem, 8vw, 2.35rem) !important;
    }
    .post_content {
        font-size: .96rem !important;
        line-height: 1.95 !important;
    }
}


/* =========================================================
   Simple Japanese first view refinement v4.2
   ファーストビューから重複導線を外し、目的別導線は下部に集約。
========================================================= */
.sdc-site-hero {
    display: block !important;
    min-height: auto !important;
    padding: clamp(34px, 6vw, 78px) clamp(22px, 5vw, 72px) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(135deg, rgba(255,253,249,.96), rgba(238,244,238,.58)) !important;
    box-shadow: 0 10px 30px rgba(48, 61, 52, .035) !important;
}
.sdc-site-hero__copy {
    max-width: 720px !important;
}
.sdc-site-hero h1 {
    max-width: 11.5em !important;
    font-size: clamp(2rem, 4.4vw, 3.55rem) !important;
    line-height: 1.34 !important;
    letter-spacing: .025em !important;
    font-weight: 500 !important;
}
.sdc-site-hero__lead {
    max-width: 46em !important;
    line-height: 2 !important;
}
.sdc-actions {
    margin-top: 1.45em !important;
}
.sdc-hero-panel,
.sdc-hero-card {
    display: none !important;
}
.sdc-section:first-of-type {
    margin-top: clamp(32px, 5vw, 58px) !important;
}
.sdc-guide-grid {
    gap: clamp(12px, 2vw, 20px) !important;
}
.sdc-guide-card {
    padding: clamp(18px, 2.4vw, 28px) !important;
    background: rgba(255,253,249,.9) !important;
}
.sdc-guide-card__label {
    letter-spacing: .08em !important;
}
.sdc-guide-card h3 {
    margin-top: .7em !important;
}
@media (max-width: 599px) {
    .sdc-site-hero {
        padding: 28px 18px !important;
    }
    .sdc-site-hero h1 {
        font-size: clamp(1.78rem, 8.5vw, 2.45rem) !important;
    }
}
