/* 全ページ余白調整：基準 corporate-site / 2026-09-08 */
/* コーポレートサイト制作ページ限定：余白と文字組み / 2026-09-08
   既存CSSより後に読み込む。色・画像・コンテンツは既存値を継承。 */
body.single-service { --cs-space: 112px; --cs-gutter: 48px; }
body.single-service .lp .lp-inner { max-width: 1248px; padding: var(--cs-space) var(--cs-gutter); }
body.single-service .lp .lp-head { margin-bottom: 64px; }
body.single-service .lp .lp-h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.5; letter-spacing: .02em; }
body.single-service .svlp-hero__inner { max-width: 1344px; padding: 96px var(--cs-gutter) 112px; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 64px; }
body.single-service .svlp-hero__h1 { font-size: 14px; margin: 0 0 32px; }
body.single-service .svlp-hero__title { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.6; letter-spacing: .02em; }
body.single-service .svlp-hero__lead { margin-top: 32px; font-size: 16px; line-height: 2; }
body.single-service .svlp-hero__cta { margin-top: 40px; gap: 16px; flex-wrap: wrap; }
body.single-service .svlp-hero__cta .lp-cta { padding: 16px 24px; min-height: 72px; border-radius: 4px; }
body.single-service .svlp-hero__cta .lp-cta__sub { font-size: 14px; }
body.single-service .svlp-hero__media--iso img { max-height: 400px; }
body.single-service .svlp-summary__inner { max-width: 960px; padding: 64px var(--cs-gutter); }
body.single-service .svlp-summary__box { padding: 40px; }
body.single-service .svlp-summary__txt { margin-top: 24px; font-size: 16px; line-height: 2; }
body.single-service .svlp-summary__ask { margin-top: 24px; }
body.single-service .svlp-nav__inner { padding-top: 24px; padding-bottom: 24px; gap: 24px; }
body.single-service .svlp-problem__list { gap: 24px 32px; }
body.single-service .svlp-problem__item { padding: 32px 32px 32px 64px; font-size: 16px; line-height: 1.8; border-radius: 4px; }
body.single-service .svlp-problem__item::before { left: 32px; }
body.single-service .svlp-problem__answer { margin-top: 48px; line-height: 2; }
body.single-service .svlp-body__inner { padding: 112px var(--cs-gutter) 64px; }
body.single-service .svlp-body__inner .lp-head { margin-bottom: 0; }
body.single-service .svlp-imgtext { padding: 0 var(--cs-gutter) 112px; }
body.single-service .svlp-imgtext__grid { max-width: 1152px; margin-inline: auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; min-height: 0; align-items: center; }
body.single-service .svlp-imgtext__img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
body.single-service .svlp-imgtext__body { padding: 0; min-width: 0; }
body.single-service .svlp-imgtext__title { margin-top: 0; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.6; letter-spacing: .02em; }
body.single-service .svlp-imgtext__text { margin-top: 32px; }
body.single-service .main .svlp-imgtext__text,
body.single-service .main .svlp-imgtext__text p,
body.single-service .svlp-points__text,
body.single-service .svlp-reason__text,
body.single-service .svlp-price__sub,
body.single-service .svlp-faq__q,
body.single-service .svlp-faq__a { font-size: 16px; line-height: 2; letter-spacing: .03em; }
body.single-service .svlp-imgtext__text .svlp-points { gap: 24px; margin-block: 32px; }
body.single-service .svlp-imgtext__text .svlp-points .svlp-points__item { padding: 24px; border-radius: 4px; }
body.single-service .svlp-reason__cards { grid-template-columns: 1fr; gap: 24px; margin-top: 0; }
body.single-service .svlp-reason__card { display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1.4fr); gap: 32px; align-items: baseline; padding: 40px; border-top-width: 1px; }
body.single-service .svlp-reason__title,
body.single-service .svlp-reason__text { margin-top: 0; }
body.single-service .svlp-reason__title { font-size: 20px; }
body.single-service .svlp-price__row { padding-block: 40px; gap: 16px 40px; }
body.single-service .svlp-faq__q { padding-block: 32px; }
body.single-service .svlp-faq__a { padding-bottom: 32px; }
body.single-service .svlp-other__list { gap: 24px; }
@media (max-width: 1199px) {
 body.single-service { --cs-space: 96px; --cs-gutter: 32px; }
 body.single-service .svlp-hero__inner { grid-template-columns: 1fr; padding-block: 80px; gap: 48px; }
 body.single-service .svlp-hero__media { max-width: 480px; margin-inline: auto; }
 body.single-service .svlp-imgtext__grid { gap: 40px; }
}
@media (max-width: 900px) {
 body.single-service .svlp-imgtext__grid { grid-template-columns: 1fr; max-width: 680px; }
 body.single-service .svlp-imgtext--rev .svlp-imgtext__img,
 body.single-service .svlp-imgtext--rev .svlp-imgtext__body { order: initial; }
 body.single-service .svlp-reason__card { grid-template-columns: 40px minmax(0, 1fr); gap: 16px 24px; }
 body.single-service .svlp-reason__text { grid-column: 2; }
}
@media (max-width: 767px) {
 body.single-service { --cs-space: 72px; --cs-gutter: 24px; }
 body.single-service .lp .lp-head { margin-bottom: 40px; }
 body.single-service .svlp-hero__inner { padding-block: 56px 64px; gap: 40px; }
 body.single-service .svlp-hero__title { font-size: 32px; }
 body.single-service .svlp-hero__cta .lp-cta { flex-basis: 100%; }
 body.single-service .svlp-summary__inner { padding-block: 48px; }
 body.single-service .svlp-summary__box { padding: 24px; }
 body.single-service .svlp-nav__inner { gap: 16px; padding-block: 16px; }
 body.single-service .svlp-problem__item { padding: 24px 24px 24px 48px; }
 body.single-service .svlp-problem__item::before { left: 24px; }
 body.single-service .svlp-body__inner { padding-block: 72px 40px; }
 body.single-service .svlp-body__inner .lp-head { margin-bottom: 0; }
 body.single-service .svlp-imgtext { padding-bottom: 80px; }
 body.single-service .svlp-imgtext__text { margin-top: 24px; }
 body.single-service .svlp-reason__card { padding: 32px 24px; grid-template-columns: 32px minmax(0, 1fr); gap: 16px; }
 body.single-service .svlp-price__row { padding-block: 32px; gap: 16px; }
}
@media (max-width: 360px) {
 body.single-service { --cs-gutter: 20px; }
 body.single-service .svlp-reason__card { padding: 24px 16px; }
}

/* セクションごとの幅と写真の大小で緩急をつける / 2026-09-08 */
body.single-service .svlp-summary__inner { max-width: 880px; }
body.single-service .lp .svlp-problem > .lp-inner { max-width: 1120px; }
body.single-service .lp .svlp-reason > .lp-inner { max-width: 1248px; }
body.single-service .lp .svlp-price > .lp-inner { max-width: 1040px; }
body.single-service .lp .svlp-flow > .lp-inner { max-width: 1160px; }
body.single-service .lp .svlp-faq > .lp-inner { max-width: 960px; }
body.single-service .lp .svlp-blog > .lp-inner { max-width: 1408px; }
body.single-service .lp .svlp-other > .lp-inner { max-width: 1040px; }
@media (min-width: 901px) {
 body.single-service .svlp-imgtext__grid { max-width: 1320px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
 body.single-service .svlp-imgtext--rev .svlp-imgtext__grid { max-width: 1120px; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
 body.single-service .svlp-imgtext__img { align-self: start; }
 body.single-service .svlp-imgtext--rev .svlp-imgtext__img { align-self: center; }
}

/* 既存テンプレートごとに余白を持つ要素を指定し、二重に足さない。 */
body { --site-section-space: 112px; --site-head-space: 64px; --site-gutter: 48px; }
/* h2内の強調も500。多数の旧CSS・インライン指定に対する統一値。 */
body h2 { font-weight: 500 !important; }
body h2 :is(span, b, strong, em, a) { font-weight: inherit !important; }
body.home .main.lp .lp-inner {
 padding-block: var(--site-section-space); padding-inline: var(--site-gutter);
}
body.home .main.lp .lp-head { margin-bottom: var(--site-head-space); }
body .lp :is(.svlp-reason, .lp-works) { padding-block: 0; }
body.wp-theme-kibidango :is(.sm-section, .ai-section, .sd-sec, .sd-why, .sd-cta,
 .ind-sec, .ind-cta, .pt-sec, .hojo-section, .hojo-cta,
 .clinic-sec, .clinic-intro-section, .clinic-branding-section,
 .clinic-about-section, .clinic-pricing-section, .price-sec, .price-cta,
 .pm-hero, .pm-commit, .pm-body, .pm-next, .pm-cta,
 .ks-intro, .ks-profile, .ks-day, .ks-cycle, .ks-limit, .ks-outro) {
 padding-block: var(--site-section-space);
}
body .wt-lp > :is(.section, .positioning, .cta) { padding-block: var(--site-section-space); }
body.wp-theme-kibidango :is(.sm-container, .ai-container, .sd-inner, .ind-inner, .pm-inner,
 .pt-inner, .price-inner, .ks-inner, .hojo-container) { padding-inline: var(--site-gutter); }
body.wp-theme-kibidango :is(.sm-section-header, .ai-section-header, .sd-head, .ind-head,
 .pt-head, .ks-head, .hojo-section-header) { margin-bottom: var(--site-head-space); }
body .wt-lp .sec-head { margin-bottom: var(--site-head-space); }
body .sm-section-title, body .ai-section-title { margin-bottom: 24px; line-height: 1.5; }
body .sm-section-problem .sm-section-title { margin-bottom: var(--site-head-space); }
body .sm-section-subtitle, body .ai-section-subtitle { line-height: 2; }
body .price-cate { margin-bottom: var(--site-head-space); }
body .page-company .concept { padding-block: var(--site-section-space); }
body.page-company .main > :is(.concept, .outline) { padding-block: var(--site-section-space); }
body.page-company .main > .access { padding-top: var(--site-section-space); }
body.page-company .section-title-bdb { margin-bottom: var(--site-head-space); }
body.page-question .faq-page-section { padding-block: var(--site-section-space); }
body.page-question .section-title-bdb { margin-bottom: var(--site-head-space); }
body.page-contact .contents__title { margin-block: 64px 32px; }
/* 読み物は段落のリズムを維持し、セクション余白を流用しない。 */
body.single-post .entry__body > h2,
body.single-blog .entry__body > h2,
body.page:not(.page-contact) .main > .container > .entry__body > h2 { margin-block: 64px 32px; }
body.single-post .entry__body > p,
body.single-blog .entry__body > p { margin-bottom: 32px; line-height: 2; }
@media (max-width: 1199px) {
 body { --site-section-space: 96px; --site-gutter: 32px; }
}
@media (max-width: 767px) {
 body { --site-section-space: 72px; --site-head-space: 40px; --site-gutter: 24px; }
 body.page-contact .contents__title { margin-block: 40px 24px; }
 body.single-post .entry__body > h2,
 body.single-blog .entry__body > h2 { margin-block: 48px 24px; }
}
@media (max-width: 360px) { body { --site-gutter: 20px; } }

/* ショート動画は外側に左右余白があるため、内側と二重にしない。 */
body .sm-lp .sm-section { padding: var(--site-section-space) 0; }
body .sm-lp .sm-container { max-width: 1248px; padding-inline: var(--site-gutter); }
body .sm-lp #works .sm-container { max-width: 1408px; }
body .sm-lp #faq .sm-container { max-width: 960px; }
body .sm-lp .sm-section .sm-container > .sm-text-center { margin-bottom: var(--site-head-space); }
body .sm-lp .sm-section-title { margin-bottom: 24px; }
body .sm-lp .sm-section-problem .sm-problem-grid { margin-top: var(--site-head-space); }
body .sm-lp :is(.sm-features-grid,.sm-works-list,.sm-faq-list) { margin-top: 0; }
/* 投稿一覧と一般固定ページは、本文の外側で間隔を揃える。 */
body.post-type-archive .main > .container,
body.tax-cate-blog .main > .container,
body.tax-cate-works .main > .container { padding-block: var(--site-section-space); }

/* ページ内ナビの基本高さを60pxに統一 / 2026-09-08 */
body.wp-theme-kibidango .svlp-nav__inner {
 box-sizing: border-box;
 height: 60px;
 min-height: 60px;
 padding-block: 0;
 flex-wrap: nowrap;
 align-items: center;
 overflow-x: auto;
}
body.wp-theme-kibidango .svlp-nav__inner > * { flex-shrink: 0; }
body.wp-theme-kibidango .svlp-nav__link {
 display: flex;
 align-items: center;
 min-height: 44px;
 padding-block: 0;
 white-space: nowrap;
}
