@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://swell-theme.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================================
   ハシル共通デザイン

   構成の原則
   - 器: hd-system-section
   - 背景: hd-paper-flow / hd-section--ruled / hd-section--green
   - 区切り罫線: hd-rule-top / hd-rule-bottom（背景と同じくブロックのクラスで付け外し）
   - 部品: hd-card / hd-media / hd-step など
   - 固有配置: hd-fv-system / hd-svc-section など
   - 文字サイズ: Gutenbergの「フォントサイズ」で指定（CSSでは上書きしない）
   ============================================================ */

:root{
  --hd-color-paper:#fcfcfb;
  --hd-color-band:#f4f4f1;
  --hd-color-band-green:#eaf2ee;
  --hd-color-ink:#15140f;
  --hd-color-text:#4a4740;
  --hd-color-muted:#817d74;
  --hd-color-faint:#9a958a;
  --hd-color-accent:#005a49;
  --hd-color-line:rgba(21,20,15,.25);
  --hd-color-line-soft:rgba(21,20,15,.14);
  --hd-color-rule:rgba(21,20,15,.026);
  --hd-font-body:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
  --hd-font-display:"Google Sans Flex","Zen Kaku Gothic New",var(--hd-font-body);
  --hd-space-1:.5rem;
  --hd-space-2:.75rem;
  --hd-space-3:1rem;
  --hd-space-4:1.5rem;
  --hd-space-5:clamp(1.5rem,3vw,2rem);
  --hd-space-6:clamp(2rem,5vw,3rem);
  --hd-space-7:clamp(3rem,6vw,4rem);
  --hd-space-8:clamp(4rem,8vw,6rem);
  --hd-border-thin:1px solid var(--hd-color-line);
  --hd-border-soft:1px solid var(--hd-color-line-soft);
  --hd-border-strong:3px solid var(--hd-color-ink);
  --hd-border-accent:3px solid var(--hd-color-accent);
  --hd-gutter:clamp(1.25rem,4vw,2rem);
  --hd-content-wide:70rem;
  --hd-content-text:45em;
}

/* Gutenbergのサイズ選択には、書体や部品固有の見た目を混ぜない。 */
:root :is(.has-hd-note-font-size,.has-hd-s-font-size,.has-hd-base-font-size,.has-hd-l-font-size){ letter-spacing:.01em }
:root .has-hd-hs-font-size{ letter-spacing:.01em }
:root .has-hd-hm-font-size{ letter-spacing:0 }
:root .has-hd-hl-font-size{ letter-spacing:-.01em }

/* 既存記事で使われている可能性があるSWELL旧slugの互換値。 */
:root .has-xs-font-size{ font-size:.75em !important }
:root .has-small-font-size{ font-size:.9em !important }
:root .has-medium-font-size{ font-size:1.1em !important }
:root .has-large-font-size{ font-size:1.25em !important }
:root .has-huge-font-size{ font-size:1.6em !important }

/* 本文画像の表示演出。JSで対象を選び、見えている画像は隠さない。 */
img.hd-reveal-image{
  transition:opacity .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1);
}
img.hd-reveal-image.hd-reveal-pending{ opacity:0; filter:blur(10px) }
@media (prefers-reduced-motion:reduce){
  img.hd-reveal-image{ opacity:1 !important; filter:none !important; transition:none !important }
}

/* ============================================================
   セクションと文字組み
   ============================================================ */

#body_wrap:has(.hd-system-section) #content{
  background-color:var(--hd-color-paper);
  background-image:linear-gradient(to bottom,transparent 31px,var(--hd-color-rule) 31px);
  background-size:100% 32px;
}
.swell-block-fullWide.hd-system-section{
  --hd-section-py:var(--hd-space-8);
  padding-block:var(--hd-section-py) !important;
  background:var(--hd-color-paper) !important;
  color:var(--hd-color-ink);
  font-family:var(--hd-font-body);
  scroll-margin-top:6rem;
}
.swell-block-fullWide.hd-system-section.hd-paper-flow{ background:transparent !important }
.swell-block-fullWide.hd-system-section.hd-section--ruled{
  background-color:var(--hd-color-paper) !important;
  background-image:linear-gradient(to bottom,transparent 31px,var(--hd-color-rule) 31px) !important;
  background-size:100% 32px !important;
}
.swell-block-fullWide.hd-system-section.hd-section--green{
  background-color:var(--hd-color-band-green) !important;
  background-image:none !important;
}
/* 区切り罫線。背景と同じく、ブロックの「追加CSSクラス」で付け外しする */
.swell-block-fullWide.hd-system-section.hd-rule-top{ border-top:var(--hd-border-strong) }
.swell-block-fullWide.hd-system-section.hd-rule-bottom{ border-bottom:var(--hd-border-strong) }
.swell-block-fullWide.hd-system-section > .swell-block-fullWide__inner{
  width:min(100%,var(--hd-content-wide));
  margin-inline:auto;
  padding-inline:var(--hd-gutter);
}
.hd-system-section p,
.hd-system-section li{ color:var(--hd-color-text); line-height:1.9 }
.hd-system-section .hd-heading{
  margin-top:0;
  padding:0;
  border:0;
  background:none;
  color:var(--hd-color-ink);
  font-family:var(--hd-font-display);
  font-weight:650;
  line-height:1.5;
  text-align:left;
  text-wrap:balance;
  word-break:auto-phrase;
}
.hd-system-section .hd-heading::before,
.hd-system-section .hd-heading::after{ content:none }
.hd-system-section .hd-lead{ max-width:var(--hd-content-text); color:var(--hd-color-text); line-height:1.9 }

/* 木版図版は共通で乗算する。SWELLのinnerのz-indexを外し、背景まで合成を届かせる。 */
.swell-block-fullWide.hd-system-section > .swell-block-fullWide__inner:has(:is(.hd-fv-art,.hd-media__art,.hd-cta-art,.hd-principles__art-col,.hd-profile-illustration)){ z-index:auto }
:is(.hd-fv-art,.hd-media__art,.hd-cta-art) img{
  background:transparent;
  mix-blend-mode:multiply !important;
}
.u-section-s{ --hd-section-py:var(--hd-space-6) !important }
.u-section-m{ --hd-section-py:var(--hd-space-7) !important }
.u-section-l{ --hd-section-py:var(--hd-space-8) !important }
/* 上下どちらか片側だけ詰める。区画の追加CSSクラスに付ける（例: 見出しだけの区画の下を詰める → u-pb-0） */
.swell-block-fullWide.hd-system-section.u-pt-0{ padding-top:0 !important }
.swell-block-fullWide.hd-system-section.u-pt-s{ padding-top:var(--hd-space-6) !important }
.swell-block-fullWide.hd-system-section.u-pt-m{ padding-top:var(--hd-space-7) !important }
.swell-block-fullWide.hd-system-section.u-pb-0{ padding-bottom:0 !important }
.swell-block-fullWide.hd-system-section.u-pb-s{ padding-bottom:var(--hd-space-6) !important }
.swell-block-fullWide.hd-system-section.u-pb-m{ padding-bottom:var(--hd-space-7) !important }

/* 追加CSSクラスで選ぶ余白。スペーサーブロックは使わない。 */
.u-mb-0{ margin-bottom:0 !important }
.u-mb-10{ margin-bottom:10px !important }
.u-mb-20{ margin-bottom:20px !important }
.u-mb-30{ margin-bottom:30px !important }
.u-mb-40{ margin-bottom:40px !important }
.u-mb-60{ margin-bottom:clamp(40px,6vw,60px) !important }
.u-mb-80{ margin-bottom:clamp(56px,8vw,80px) !important }

/* 左端の縦組み。編集画面では通常の段落になる。 */
#body_wrap .hd-scrawl{
  position:absolute;
  z-index:1;
  top:0;
  left:calc(52px - (100vw - var(--swl-scrollbar_width,0px) - 100%) / 2);
  width:47px;
  height:100%;
  overflow:hidden;
  margin:0;
  padding-top:75px;
  color:rgba(21,20,15,.22);
  font-family:var(--hd-font-display);
  font-size:19px;
  font-weight:550;
  font-feature-settings:"vkrn";
  line-height:2.45;
  letter-spacing:.06em;
  writing-mode:vertical-rl;
  pointer-events:none;
}
@media(max-width:1320px){ #body_wrap .hd-scrawl{ display:none } }

/* ============================================================
   ファーストビュー
   ============================================================ */

.swell-block-fullWide.hd-fv-system{
  --hd-section-py:clamp(5rem,9vw,7.5rem);
  padding-top:clamp(2.5rem,2.5vw,3rem) !important;
  padding-bottom:clamp(4.5rem,4.25vw,5rem) !important;
  overflow:hidden;
}
.swell-block-fullWide.hd-fv-system > .swell-block-fullWide__inner{
  position:relative;
  z-index:auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr);
  grid-template-areas:"title art" "lead art" "meta art" "actions art";
  column-gap:clamp(2rem,6vw,6rem);
  align-items:center;
}
.hd-system-section .hd-fv-title{
  grid-area:title;
  width:max-content;
  max-width:none;
  margin:0 !important;
  padding:0;
  border:0;
  background:none;
  color:var(--hd-color-ink);
  font-family:var(--hd-font-display);
  font-weight:650;
  line-height:1.42;
  text-align:left;
  text-wrap:balance;
  white-space:nowrap;
}
.hd-system-section .hd-fv-title strong{ font-weight:650 }
.hd-system-section .hd-fv-title strong > span > span{ position:relative; z-index:0; display:inline-block; white-space:nowrap }
.hd-system-section .hd-fv-title strong > span > span::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-.08em;
  bottom:.12em;
  left:-.08em;
  height:.34em;
  background:rgba(0,90,73,.12);
  transform:rotate(-1.2deg);
}
.hd-fv-art{ position:relative; left:clamp(2.5rem,3vw,3.25rem); grid-area:art; width:clamp(34rem,42vw,42rem); max-width:none; margin:0; justify-self:end }
.hd-fv-art img{ display:block; width:100%; height:auto; transform:rotate(-1.5deg) }
.hd-fv-lead{ grid-area:lead; max-width:37em; margin:var(--hd-space-5) 0 0 !important; line-height:2 !important }
.hd-fv-meta{
  grid-area:meta;
  margin:var(--hd-space-4) 0 0 !important;
  padding:0;
  border:0;
  background:none;
  color:var(--hd-color-muted) !important;
  font-family:var(--hd-font-body);
  font-weight:500;
  line-height:1.9;
  letter-spacing:.06em;
  text-align:left;
}
.hd-fv-meta::before,
.hd-fv-meta::after{ content:none }
.hd-fv-actions{ grid-area:actions; margin-top:var(--hd-space-5) }
.wp-block-buttons.hd-fv-actions{ column-gap:48px; row-gap:32px }
.hd-fv-actions:not(:has(.wp-block-button)){ display:none }

/* ============================================================
   メディア・方針・補足
   ============================================================ */

.hd-media{ --wp-column-gap:clamp(2rem,6vw,4rem); align-items:flex-start !important; margin:0 }
.hd-media__content{ min-width:0 }
.hd-media__visual{ min-width:0; align-self:flex-start }
.hd-media__title{ margin:0 0 var(--hd-space-6) !important }
.hd-media__content > p{ max-width:36em; margin:0 }
.hd-media__content > p + p{ margin-top:var(--hd-space-4) }
.hd-media__art{ width:min(112%,34rem); max-width:none; margin:0 0 0 auto }
.hd-media__art img{ display:block; width:100%; height:auto; transform:rotate(1.1deg) }
.hd-callout{
  margin-top:var(--hd-space-6) !important;
  padding:var(--hd-space-3) 0 var(--hd-space-3) var(--hd-space-4);
  border-left:3px solid var(--hd-color-ink);
  color:var(--hd-color-ink) !important;
  font-family:var(--hd-font-display);
  font-weight:550;
  line-height:2 !important;
}
.hd-method-section .hd-step{ margin-top:var(--hd-space-7) }
.hd-note-panel{ margin-top:var(--hd-space-7); padding:var(--hd-space-5); border:var(--hd-border-soft); border-left:var(--hd-border-accent); background:rgba(255,255,255,.5) }
.hd-note-panel .hd-note-panel__title{ margin:0 0 var(--hd-space-4) !important }
.hd-note-panel p{ max-width:62em; margin:0; line-height:2 }
.hd-note-panel p + p{ margin-top:var(--hd-space-4) }

.hd-principles__intro{ align-items:center !important; gap:0 !important; margin-bottom:var(--hd-space-5) }
.hd-principles__intro-copy{ position:relative; z-index:2 }
.hd-principles__intro .hd-principles__title{ max-width:18em; margin:0 !important }
.hd-principles__art-col{ position:relative; z-index:1; margin-left:clamp(-7rem,-7vw,-5rem); mix-blend-mode:multiply }
.hd-principles__art-col .wp-block-image{ margin:0 !important }
.hd-principles__art-col img{ display:block; width:100%; height:auto; opacity:.78; transform:rotate(-.8deg) scale(1.08); transform-origin:center }
.hd-principles > .swell-block-fullWide__inner > p{ max-width:52em; margin:0; line-height:2 }
.hd-principles > .swell-block-fullWide__inner > p + p{ margin-top:var(--hd-space-4) }
.hd-principles__grid{ align-items:stretch !important; gap:var(--hd-space-5) !important; margin-top:var(--hd-space-7) }
.hd-principles__grid > .wp-block-column{ min-width:0; padding-top:var(--hd-space-4); border-top:2px solid var(--hd-color-ink) }
.hd-principle__number{ margin:0; color:var(--hd-color-accent) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1 !important; letter-spacing:-.02em }
.hd-principle__title{ margin:var(--hd-space-4) 0 var(--hd-space-3) !important }
.hd-principles__grid > .wp-block-column > p:last-child{ margin:0; line-height:1.9 }

/* ============================================================
   カード・制作例・お客様の声
   ============================================================ */

.hd-card-grid{ gap:var(--hd-space-5) }
.hd-card{ display:flex; flex-direction:column; padding:var(--hd-space-5); border:var(--hd-border-thin); background:var(--hd-color-paper) }
.hd-card > :first-child{ margin-top:0 }
.hd-card > :last-child{ margin-bottom:0 }
.hd-card--case{ border-top:var(--hd-border-strong) }
.hd-card--accent{ border-left:var(--hd-border-accent) }
.hd-card .hd-heading{ margin:var(--hd-space-3) 0 var(--hd-space-4) !important }
.hd-card p{ margin:0; line-height:1.85 }
.hd-card-grid.hd-showcase-grid{
  --wp-column-gap:clamp(2.5rem,5vw,4rem);
  column-gap:var(--wp-column-gap) !important;
}
.hd-card__body,
.hd-card__body > .wp-block-group__inner-container{ display:flex; flex:1; flex-direction:column }
.hd-card__body > .wp-block-group__inner-container{ width:100% }
.hd-card__body > * + *,
.hd-card__body > .wp-block-group__inner-container > * + *{ margin-top:var(--hd-space-2) }
.hd-card__problem{ margin-bottom:var(--hd-space-4) !important; color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:650 }
.hd-card__label{ margin-top:var(--hd-space-3) !important; color:var(--hd-color-accent) !important; font-weight:650; letter-spacing:.04em }
.hd-card > .hd-card__label:first-child{ margin-top:0 !important }
.hd-card__copy{ color:var(--hd-color-text) !important }
.hd-stat{ margin-top:auto; padding-top:var(--hd-space-4); border-top:var(--hd-border-strong) }
.hd-stat__value{ margin:0; color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1 !important; letter-spacing:-.02em; white-space:nowrap }
.hd-stat__value small{ margin-left:.2em; font-size:1em; font-weight:650; letter-spacing:.02em }
.hd-card__body > .hd-stat__value,
.hd-card__body > .wp-block-group__inner-container > .hd-stat__value{ margin-top:auto; padding-top:var(--hd-space-4); border-top:var(--hd-border-strong) }
.hd-stat__note{ color:var(--hd-color-muted) !important; line-height:1.7 !important }

.hd-showcase-grid,
.hd-voice-grid{ align-items:stretch !important; margin-top:var(--hd-space-7) }
.hd-showcase-card{ overflow:visible; padding:0; border:0; background:transparent }
.hd-showcase-card__image{ margin:0 !important }
.hd-showcase-card__image img{ display:block; width:100%; aspect-ratio:3/2; object-fit:cover }
.hd-showcase-card > p{ margin-right:0; margin-left:0 }
.hd-showcase-card > p + p{ margin-top:var(--hd-space-2) }
.hd-showcase-card > p:last-child{ margin-bottom:var(--hd-space-5) }
.hd-showcase-card__title{ margin-top:var(--hd-space-4) !important; color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1.6 }
.hd-showcase-card__meta{ color:var(--hd-color-accent) !important; font-weight:650; letter-spacing:.03em }

.hd-cases-section .hd-voice-grid{ gap:clamp(1.25rem,2.5vw,1.75rem) !important; padding:.5rem 0; align-items:stretch !important }
.hd-cases-section .hd-voice-card{ display:flex; flex-direction:column; min-width:0; min-height:25.75rem; padding:clamp(2rem,3.4vw,3rem) clamp(1.5rem,3vw,2rem) 1.75rem; border:0; border-top:var(--hd-border-strong); background:var(--hd-color-paper) }
.hd-voice-card > .hd-card__label{ margin:0 !important; text-align:center }
.hd-voice-card > .hd-heading{ position:relative; width:fit-content; min-width:58%; max-width:100%; margin:clamp(2.5rem,4vw,3rem) auto 0 !important; padding-bottom:.8rem; border-bottom:1px solid var(--hd-color-line-soft); text-align:center }
.hd-voice-card > .hd-heading::after{ content:""; position:absolute; bottom:-1px; left:0; width:30%; height:3px; background:var(--hd-color-accent) }
.hd-voice-card__quote{ position:relative; display:flex; align-items:center; min-height:6.5rem; margin:2rem 0 0; padding:1.45rem 1.25rem 1.45rem 2.75rem; border:0; background:rgba(199,199,199,.15) }
.hd-voice-card__quote::before{ content:""; position:absolute; top:1.45rem; bottom:1.45rem; left:1.45rem; width:1px; background:rgba(21,20,15,.22); box-shadow:.42rem 0 0 rgba(21,20,15,.14) }
.hd-voice-card__quote p{ margin:0; color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:600; line-height:1.85 !important }
.hd-voice-card__link{ margin:auto 0 0 !important; padding-top:2.5rem; text-align:center }
.hd-voice-card__link a{ padding-bottom:.2rem; border-bottom:2px solid var(--hd-color-ink); color:var(--hd-color-ink); font-weight:550; text-decoration:none }
.hd-voice-card__link a:hover{ border-color:var(--hd-color-accent); color:var(--hd-color-accent) }

/* 制作実績。トップと同じセクション・文字・カードの規則で組む。 */
#body_wrap:has(:is(.hd-works-hero-section,.hd-profile-intro-section)) .l-content,
#body_wrap:has(:is(.hd-works-hero-section,.hd-profile-intro-section)) .post_content{ margin-top:0 }
/* 制作実績のページ名は他の下層と同じ小さな緑ラベル（2026-09-10・下の共通規則で扱う） */

.swell-block-fullWide.hd-works-hero-section{ --hd-section-py:var(--hd-space-7); padding-top:var(--hd-space-5) !important }
.hd-portfolio-hero{ max-width:var(--hd-content-text) }
.hd-portfolio-kicker{ margin:0 0 var(--hd-space-4); color:var(--hd-color-accent) !important; font-family:var(--hd-font-display); font-weight:650; letter-spacing:.08em }
.hd-portfolio-lead{ max-width:19em; margin:0 !important }
.hd-portfolio-intro{ max-width:42em; margin:var(--hd-space-5) 0 0 !important }

.hd-portfolio-inner,
.hd-portfolio-case-inner{ width:100% }
.hd-portfolio-inner > .hd-heading:first-child{ margin-bottom:var(--hd-space-5) !important }
.hd-portfolio-note{ max-width:58em; margin:var(--hd-space-4) 0 0 !important; color:var(--hd-color-muted) !important }

.hd-portfolio-gallery.hd-showcase-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--hd-space-5) !important;
  margin:var(--hd-space-6) 0 0 !important;
}
.hd-portfolio-gallery .wp-block-image{ width:100% !important; overflow:hidden; margin:0 !important; border:var(--hd-border-thin); background:var(--hd-color-paper) }
.hd-portfolio-gallery .wp-block-image img{ display:block; width:100%; aspect-ratio:3/2; object-fit:cover }

.hd-portfolio-case-head{ display:grid; grid-template-columns:6rem minmax(0,1fr); gap:var(--hd-space-5); align-items:start; padding-top:var(--hd-space-4); border-top:var(--hd-border-strong) }
.hd-portfolio-case-head > .wp-block-group__inner-container{ display:contents }
.hd-portfolio-case-no{ margin:0 !important; color:var(--hd-color-accent) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1 !important; letter-spacing:-.02em }
.hd-portfolio-case-title-wrap,
.hd-portfolio-case-title-wrap > .wp-block-group__inner-container{ min-width:0 }
.hd-portfolio-case-title{ margin:0 !important }
.hd-portfolio-case-type{ margin:var(--hd-space-2) 0 0 !important; color:var(--hd-color-accent) !important; font-weight:650; letter-spacing:.04em }
.hd-portfolio-case-grid{ gap:var(--hd-space-5) !important; margin-top:var(--hd-space-6) }
.hd-portfolio-case-grid > .wp-block-column{ min-width:0; padding-top:var(--hd-space-4); border-top:var(--hd-border-thin) }
.hd-portfolio-case-sub{ margin:0 0 var(--hd-space-4) !important }
.hd-portfolio-case-grid p{ margin:0 }
.hd-portfolio-case-grid p + p{ margin-top:var(--hd-space-3) }

.hd-works-voices-section .hd-portfolio-voices-lead{ max-width:var(--hd-content-text); margin:0 }
.hd-works-voices-section .hd-voice-grid + .hd-voice-grid{ margin-top:var(--hd-space-5) }

.hd-works-cta-section .hd-portfolio-inner{ max-width:52rem }
.hd-works-cta-section .hd-actions{ margin-top:var(--hd-space-5) }
.hd-works-cta-section .hd-portfolio-cta-note{ margin:var(--hd-space-3) 0 0 !important; color:var(--hd-color-muted) !important }

/* お問い合わせ。フルワイドの背景と、読みやすい幅の通常フォーム。 */
.hd-contact-inner{ max-width:52rem; margin-inline:auto }
.hd-contact-intro .hd-heading{ margin-block:var(--hd-space-4) var(--hd-space-5) }
.hd-contact-intro-note{ margin-top:var(--hd-space-4); color:var(--hd-color-accent) !important }
.hd-contact-form-note{ margin-top:var(--hd-space-3); margin-bottom:var(--hd-space-6) }
.hd-contact-section .snow-monkey-form{ font-family:var(--hd-font-display) }
.hd-contact-fields .smf-item{ display:grid; grid-template-columns:13rem minmax(0,1fr); gap:var(--hd-space-4); padding-block:var(--hd-space-5); border-top:var(--hd-border-soft); margin:0 }
.hd-contact-fields .smf-item__col{ min-width:0 }
.hd-contact-fields .smf-item__label{ padding-top:var(--hd-space-2); font-weight:650 }
.hd-contact-required,.hd-contact-optional{ display:inline-block; margin-left:var(--hd-space-2); font-weight:400 }
.hd-contact-required{ color:var(--hd-color-accent) }
.hd-contact-optional{ color:var(--hd-color-muted) }
.hd-contact-fields :is(input,select,textarea){ box-sizing:border-box; width:100%; max-width:100%; border:var(--hd-border-thin); border-radius:0; background:var(--hd-color-paper); padding:var(--hd-space-2) var(--hd-space-3); font:inherit; color:var(--hd-color-ink) }
.hd-contact-fields textarea{ resize:vertical }
.hd-contact-fields :is(input,select,textarea):focus-visible{ outline:2px solid var(--hd-color-accent); outline-offset:2px }
.hd-contact-fields .smf-placeholder{ overflow-wrap:anywhere }
.hd-contact-section .smf-action{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--hd-space-3); margin-top:var(--hd-space-5) }
.hd-contact-section .smf-button-control__control{ border:1px solid var(--hd-color-ink); border-radius:0; padding:var(--hd-space-3) var(--hd-space-5); background:var(--hd-color-ink); color:var(--hd-color-paper); font:inherit; font-weight:650; line-height:1.5; cursor:pointer }
.hd-contact-section .smf-button-control__control[data-action="back"]{ background:transparent; color:var(--hd-color-ink) }
.hd-contact-section .smf-button-control__control:focus-visible{ outline:2px solid var(--hd-color-accent); outline-offset:3px }
.hd-contact-privacy{ margin-top:var(--hd-space-4) }

/* プライバシーポリシー。本文を読みやすい幅に揃える。 */
.hd-policy-inner{ max-width:52rem; margin-inline:auto; overflow-wrap:anywhere }
.swell-block-fullWide.hd-policy-intro{ --hd-section-py:var(--hd-space-6); padding-top:var(--hd-space-5) !important }
.swell-block-fullWide.hd-policy-section{ --hd-section-py:var(--hd-space-6) }
.hd-policy-intro .hd-heading{ margin-bottom:var(--hd-space-5) }
.hd-policy-intro .hd-policy-inner p{ margin:0 }
.hd-policy-item + .hd-policy-item{ margin-top:var(--hd-space-7); padding-top:var(--hd-space-6); border-top:var(--hd-border-soft) }
.hd-policy-item .hd-heading{ margin-bottom:var(--hd-space-4) }
.hd-policy-item p + p,.hd-policy-item ul + p{ margin-top:var(--hd-space-4) }
.hd-policy-item ul{ margin-block:var(--hd-space-4); padding-left:1.5em }
.hd-policy-item li + li{ margin-top:var(--hd-space-2) }
.hd-policy-inner a,.hd-contact-privacy a{ text-decoration:underline; text-underline-offset:.2em }

/* お取引条件。表の列幅を揃え、スマホでは項目名と本文を縦に並べる。 */
.hd-commerce-table table{ width:100%; border-collapse:collapse }
.hd-commerce-table :is(th,td){ padding:var(--hd-space-4); border:0; border-bottom:var(--hd-border-soft); text-align:left; vertical-align:top; line-height:1.9; background:transparent }
.hd-commerce-table th{ width:30%; font-weight:650; color:var(--hd-color-ink) }
.hd-commerce-table td{ color:var(--hd-color-text) }
@media (max-width:600px){
  .hd-commerce-table :is(table,tbody,tr,th,td){ display:block; width:100% }
  .hd-commerce-table th{ padding:var(--hd-space-4) 0 var(--hd-space-2); border-bottom:0 }
  .hd-commerce-table td{ padding:0 0 var(--hd-space-4) }
}

/* 下層ページ共通のタイトル。 */
#body_wrap:has(:is(.hd-profile-intro-section,.hd-contact-intro,.hd-policy-intro,.hd-voice-hero-section,.hd-works-hero-section)) .c-pageTitle{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100vw - var(--swl-scrollbar_width,0px)),var(--hd-content-wide));
  max-width:none;
  height:auto !important;
  margin:var(--hd-space-7) 0 0;
  padding:0 var(--hd-gutter);
  border:0;
  color:var(--hd-color-accent);
  font-family:var(--hd-font-display);
  font-size:1rem;
  font-weight:650;
  letter-spacing:.08em;
}
#body_wrap:has(:is(.hd-profile-intro-section,.hd-contact-intro,.hd-policy-intro,.hd-voice-hero-section,.hd-works-hero-section)) .c-pageTitle::before,
#body_wrap:has(:is(.hd-profile-intro-section,.hd-contact-intro,.hd-policy-intro,.hd-voice-hero-section,.hd-works-hero-section)) .c-pageTitle::after{ content:none }
#body_wrap:has(:is(.hd-profile-intro-section,.hd-contact-intro,.hd-policy-intro,.hd-voice-hero-section,.hd-works-hero-section)) .c-pageTitle__inner{ float:none; display:block; margin:0; padding:0; border:0 }
.swell-block-fullWide.hd-profile-intro-section{ --hd-section-py:var(--hd-space-7); padding-top:var(--hd-space-5) !important }
.hd-profile-hero-layout,
.hd-profile-about-layout,
.hd-profile-listening-layout,
.hd-profile-person-layout,
.hd-profile-outside-head,
.hd-profile-hobby-layout{ --wp-column-gap:var(--hd-space-7); column-gap:var(--wp-column-gap) !important; margin:0 }
:is(.hd-profile-hero-layout,.hd-profile-about-layout,.hd-profile-listening-layout,.hd-profile-person-layout,.hd-profile-outside-head,.hd-profile-hobby-layout) > .wp-block-column{ min-width:0 }
.hd-profile-hero-layout{ align-items:center !important }
.hd-system-section .hd-profile-hero-title{ margin:0; line-height:1.7; text-wrap:initial; letter-spacing:.01em }
.hd-profile-hero-prefix{ display:block; margin-bottom:var(--hd-space-3); font-size:.5em; font-weight:550; letter-spacing:.02em }
.hd-profile-hero-mark{ background:linear-gradient(transparent 74%,var(--hd-color-band-green) 74%); box-decoration-break:clone; -webkit-box-decoration-break:clone }
.hd-profile-intro-copy{ margin-top:var(--hd-space-6) }
.hd-profile-intro-copy p,
.hd-profile-about-copy p,
.hd-profile-listening-copy p,
.hd-profile-biography p,
.hd-profile-hobby-copy p,
.hd-profile-closing p{ margin:0 }
:is(.hd-profile-intro-copy,.hd-profile-about-copy,.hd-profile-listening-copy,.hd-profile-biography,.hd-profile-hobby-copy,.hd-profile-closing) p + p{ margin-top:var(--hd-space-4) }
.hd-profile-art-slot{ position:relative; min-width:0; margin:0; padding:var(--hd-space-4); border:1px dashed var(--hd-color-line-soft); background:transparent }
.hd-profile-art-slot:not(:has(.hd-profile-illustration))::before{ content:""; display:block; aspect-ratio:1 }
.hd-profile-art-off:not(:has(.hd-profile-illustration))::before{ aspect-ratio:3/2 }
.hd-profile-art-label{ position:absolute; inset:50% 0 auto; margin:0 !important; text-align:center; transform:translateY(-50%); color:var(--hd-color-muted) !important }
.hd-profile-art-slot:has(.hd-profile-illustration){ max-width:28rem; margin-inline:auto; padding:0; border:0 }
.hd-profile-art-slot:has(.hd-profile-illustration) .hd-profile-art-label{ display:none }
.hd-profile-illustration{ width:100%; margin:0 !important }
.hd-profile-illustration img{ display:block; width:100%; height:auto; aspect-ratio:auto !important; object-fit:contain; mix-blend-mode:multiply }
.hd-profile-illustration img:not([src]){ display:none }
.hd-profile-about-layout{ margin-top:var(--hd-space-7); padding-top:var(--hd-space-5); border-top:var(--hd-border-strong) }
.hd-profile-about-lead{ margin-bottom:var(--hd-space-4) !important }
.hd-profile-listening-title{ max-width:12em; margin:0 !important }
.hd-profile-person-layout{ align-items:flex-start !important }
.hd-profile-identity{ position:sticky; top:7rem; align-self:flex-start !important }
.hd-profile-identity > .hd-heading{ margin:0 0 var(--hd-space-5) }
.hd-profile-identity > .hd-profile-photo-slot + .hd-heading{ margin:clamp(1.25rem,2vw,1.5rem) 0 0 !important }
.hd-profile-photo-slot{ position:relative; margin:0; border:var(--hd-border-soft); background:var(--hd-color-band) }
.hd-profile-photo-slot:not(:has(.hd-profile-portrait))::before{ content:""; display:block; width:100%; aspect-ratio:1 }
.hd-profile-portrait{ width:100%; margin:0 !important }
.hd-profile-portrait img{ display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; filter:grayscale(1) }
.hd-profile-portrait img:not([src]){ display:none }
.hd-profile-person-section + .hd-profile-person-section > .swell-block-fullWide__inner{ padding-top:var(--hd-space-7); border-top:var(--hd-border-thin) }
.hd-profile-belief{ margin-top:var(--hd-space-6); padding:var(--hd-space-5); border-left:3px solid var(--hd-color-accent); background:var(--hd-color-band-green) }
.hd-profile-belief-lead{ margin:0 0 var(--hd-space-4) !important }
.hd-profile-outside-head{ align-items:center !important }
.hd-profile-outside-title{ margin-bottom:var(--hd-space-5) }
.hd-profile-outside-intro > p:last-child{ max-width:30em; margin:0 }
.hd-profile-hobby-layout{ margin-top:var(--hd-space-7); align-items:flex-start !important }
.hd-profile-hobby-copy{ padding-top:var(--hd-space-5); border-top:var(--hd-border-strong) }
.hd-profile-hobby-copy > .hd-heading{ margin:0 0 var(--hd-space-5) }
.hd-profile-closing{ max-width:48rem; margin:var(--hd-space-7) auto 0; padding-top:var(--hd-space-6); border-top:var(--hd-border-thin) }
.hd-profile-closing .hd-profile-closing-lead{ margin-top:var(--hd-space-6); line-height:1.7 }

/* 挿絵を文章の後ろへ広げる。写真のカラムには適用しない。 */
:is(.hd-profile-hero-layout,.hd-profile-outside-head){ position:relative }
:is(.hd-profile-hero-copy,.hd-profile-outside-intro){ position:relative; z-index:2 }
:is(.hd-profile-hero-visual,.hd-profile-outside-visual){ position:relative; mix-blend-mode:multiply }
:is(.hd-profile-hero-visual,.hd-profile-outside-visual) .hd-profile-art-slot:has(.hd-profile-illustration){ max-width:none }
@media (min-width:782px){
  :is(.hd-profile-hero-layout,.hd-profile-outside-head):has(.hd-profile-illustration){ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:0 !important }
  :is(.hd-profile-hero-copy,.hd-profile-outside-intro){ grid-column:1/7; grid-row:1 }
  :is(.hd-profile-hero-visual,.hd-profile-outside-visual){ grid-column:5/-1; grid-row:1; align-self:center !important }
  :is(.hd-profile-hero-visual,.hd-profile-outside-visual) .hd-profile-art-slot:has(.hd-profile-illustration){ width:calc(100% + clamp(1rem,(100vw - var(--hd-content-wide)) / 2,5rem)); margin-left:0; margin-right:0 }
  :is(.hd-profile-hero-visual,.hd-profile-outside-visual) .hd-profile-illustration{ -webkit-mask-image:linear-gradient(to right,transparent,#000 24%); mask-image:linear-gradient(to right,transparent,#000 24%) }
}
@media (max-width:781px){
  :is(.hd-profile-hero-layout,.hd-profile-outside-head):has(.hd-profile-illustration){ gap:0 !important }
  :is(.hd-profile-hero-layout,.hd-profile-outside-head) > :is(.hd-profile-hero-visual,.hd-profile-outside-visual){ max-width:none; margin-top:-1rem }
  :is(.hd-profile-hero-visual,.hd-profile-outside-visual) .hd-profile-art-slot:has(.hd-profile-illustration){ width:calc(100% + var(--hd-gutter)); margin-left:calc(var(--hd-gutter) / -2); margin-right:0 }
}

/* ============================================================
   料金・流れ・プロフィール・ガイド・CTA
   ============================================================ */

.hd-price-panel{ background:transparent !important }
.hd-price-row{ gap:var(--hd-space-5); margin:0; padding:var(--hd-space-5) clamp(1.5rem,3vw,3rem); border-top:var(--hd-border-thin); background:var(--hd-color-paper) }
.hd-price-row:first-child{ border-top:var(--hd-border-strong) }
.hd-price-panel > p:last-child,
.hd-price-panel > .wp-block-group__inner-container > p:last-child{ margin:0; padding:0 clamp(1.5rem,3vw,3rem) var(--hd-space-5); background:var(--hd-color-paper) }
.hd-price-row__price{ color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1 !important; white-space:nowrap }
.hd-svc-section .hd-card--accent{ margin-top:var(--hd-space-7); padding:0; border:0; background:transparent }
.hd-svc-section .hd-card--accent .hd-heading{ margin-bottom:var(--hd-space-4) !important }
.hd-svc-section .hd-card--accent ul{ columns:2; column-gap:var(--hd-space-7); padding-left:0; list-style:none }
.hd-svc-section .hd-card--accent li{ position:relative; break-inside:avoid; padding:var(--hd-space-2) 0 var(--hd-space-2) var(--hd-space-4); border-bottom:var(--hd-border-soft) }
.hd-svc-section .hd-card--accent li::before{ content:""; position:absolute; top:1.55em; left:0; width:.7rem; height:2px; background:var(--hd-color-accent) }

.hd-step.swell-block-step{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--hd-space-5); margin-top:var(--hd-space-6) }
.hd-step .swell-block-step__item{ padding-top:var(--hd-space-4); border-top:var(--hd-border-strong) }
.hd-step .swell-block-step__item::before{ content:none }
.hd-step .swell-block-step__number{ position:static; width:auto; height:auto; background:none !important; color:var(--hd-color-accent); font-family:var(--hd-font-display); font-size:2.25rem; font-weight:650; line-height:1; text-align:left }
.hd-step .swell-block-step__number .__label{ display:none }
.hd-step .swell-block-step__number::after{ content:counter(step,decimal-leading-zero); display:block; color:var(--hd-color-accent) }
.hd-step .swell-block-step__title{ margin:var(--hd-space-3) 0 var(--hd-space-2); color:var(--hd-color-ink); font-family:var(--hd-font-display); font-weight:650; line-height:1.6 }
.hd-step .swell-block-step__body{ margin-top:0 }
.hd-step .swell-block-step__body p{ margin-bottom:0; line-height:1.9 }

.hd-flow-section .hd-step{ display:block; margin-top:0 }
.hd-flow-section .hd-step .swell-block-step__item{ display:grid; grid-template-columns:6rem minmax(0,1fr); column-gap:var(--hd-space-5); align-items:start; padding:var(--hd-space-5) 0; border:0; border-top:var(--hd-border-thin) }
.hd-flow-section .hd-step .swell-block-step__item:nth-child(even){ background:rgba(0,90,73,.045) }
.hd-flow-section .hd-step .swell-block-step__number{ grid-row:1/3; grid-column:1; align-self:center; padding-left:var(--hd-space-3); color:transparent; -webkit-text-stroke:1px rgba(21,20,15,.5) }
.hd-flow-section .swell-block-step__title,
.hd-flow-section .swell-block-step__body{ grid-column:2 }
.hd-flow-section .swell-block-step__title{ margin-top:0 }
.hd-flow-section .swell-block-step__body{ margin-left:0 !important }

.hd-after-section .hd-support-grid,
.hd-profile-section .hd-profile-grid{ margin-top:var(--hd-space-7); align-items:stretch !important }
.hd-support-card,
.hd-profile-card{ min-width:0; padding:var(--hd-space-5) 0; border:0; border-top:var(--hd-border-strong); background:transparent }
.hd-support-card{ border-bottom:var(--hd-border-thin) }
.hd-support-card__price{ margin:var(--hd-space-3) 0 var(--hd-space-4) !important; color:var(--hd-color-ink) !important; font-family:var(--hd-font-display); font-weight:650; line-height:1.25 !important; letter-spacing:-.02em }
.hd-profile-section > .swell-block-fullWide__inner > .hd-lead{ margin-bottom:var(--hd-space-7) !important }
.hd-profile-card > .hd-card__label:first-child{ margin-bottom:var(--hd-space-2) !important }
.hd-profile-card > .hd-heading{ margin-top:0 !important }

.hd-guide-section > .swell-block-fullWide__inner{ display:grid; grid-template-columns:1fr; gap:0 }
.hd-guide-intro{ margin-bottom:var(--hd-space-7) }
.hd-guide-card{ display:block; margin:0; padding:var(--hd-space-5) 0; border:0; border-top:var(--hd-border-thin); background:transparent }
.hd-guide-intro + .hd-guide-card{ border-top:var(--hd-border-strong) }
.hd-guide-card > .wp-block-group__inner-container{ display:grid; grid-template-columns:minmax(9.5rem,14.5rem) minmax(0,1fr); gap:var(--hd-space-5); align-items:start; width:100% }
.hd-guide-card .hd-heading{ margin:0 !important }
.hd-guide-card p{ max-width:48em }

.hd-cta-section{ overflow-x:clip; padding-top:clamp(6rem,10vw,8rem) !important; padding-bottom:clamp(8rem,12vw,10rem) !important }
.hd-cta-section > .swell-block-fullWide__inner{ display:block }
.hd-cta-layout{ --wp-column-gap:clamp(1.25rem,2.5vw,2rem); margin:0 }
.hd-cta-copy-col,
.hd-cta-art-col{ min-width:0 }
.hd-cta-art-col{ overflow:visible }
.hd-cta-art{ position:relative; width:calc(145% + clamp(2rem,4vw,4rem)); max-width:none; margin:0 }
.hd-cta-art img{ display:block; width:100%; height:auto; transform:rotate(-1.2deg) }
.hd-cta-title{ margin:0 0 var(--hd-space-5) !important }
.hd-cta-copy{ margin:0 !important }
.hd-cta-copy + .hd-cta-copy{ margin-top:var(--hd-space-4) !important }
.hd-cta-callout{ margin-top:var(--hd-space-5) !important }

/* お客様の声：本文と写真を保ち、読む場所に応じた幅と余白を設ける。 */
.swell-block-fullWide.hd-voice-hero-section{ padding-top:var(--hd-space-5) !important }
.hd-voice-hero-section .hd-voice-kicker{ margin:0 0 var(--hd-space-4); color:var(--hd-color-accent); font-family:var(--hd-font-display); font-weight:650; letter-spacing:.14em }
.hd-voice-hero-section .hd-voice-lead{ max-width:28em; margin:0 0 var(--hd-space-6); line-height:1.65; text-wrap:initial; word-break:normal }
.hd-voice-meta{ gap:var(--hd-space-5) !important; margin:0; padding-block:var(--hd-space-4); border-top:var(--hd-border-strong); border-bottom:var(--hd-border-thin) }
.hd-voice-meta p{ margin:0 }
.hd-voice-meta .hd-voice-label{ margin-bottom:var(--hd-space-1); color:var(--hd-color-accent); font-family:var(--hd-font-display); font-weight:650; letter-spacing:.1em }
.hd-voice-main-image{ margin:var(--hd-space-6) 0 0 }
.hd-voice-main-image img{ display:block; width:100%; height:auto }
.hd-voice-hero-section .hd-voice-links{ justify-content:flex-end; margin-top:var(--hd-space-4) }
.hd-voice-summary-section .hd-heading{ margin-bottom:var(--hd-space-6) }
.hd-voice-summary-grid{ gap:var(--hd-space-5) !important; margin:0; align-items:stretch !important }
.hd-voice-summary-grid > .wp-block-column{ min-width:0; padding-top:var(--hd-space-4); border-top:var(--hd-border-accent) }
.hd-voice-summary-grid .hd-voice-summary-title{ margin:0 0 var(--hd-space-3); color:var(--hd-color-accent) }
.hd-voice-summary-grid p{ margin:0 }
.hd-voice-reading{ max-width:48rem; margin-inline:auto }
.hd-voice-reading p{ margin-top:0; margin-bottom:var(--hd-space-4) }
.hd-voice-reading .hd-voice-intro{ margin-bottom:var(--hd-space-7); padding-bottom:var(--hd-space-5); border-bottom:var(--hd-border-thin) }
.hd-voice-reading .hd-voice-h2{ margin:var(--hd-space-8) 0 var(--hd-space-5); padding-top:var(--hd-space-5); border-top:var(--hd-border-strong); line-height:1.65; text-wrap:initial }
.hd-voice-reading .hd-voice-intro + .hd-voice-h2{ margin-top:0; padding-top:0; border:0 }
.hd-voice-reading .hd-voice-q{ margin:var(--hd-space-6) 0 var(--hd-space-4); padding-left:var(--hd-space-3); border-left:var(--hd-border-accent); color:var(--hd-color-accent); line-height:1.8; text-wrap:initial }
.hd-voice-reading .hd-voice-note{ margin-block:var(--hd-space-4); padding-left:var(--hd-space-3); border-left:2px solid var(--hd-color-line); color:var(--hd-color-accent) }
.hd-voice-reading .hd-voice-pull{ margin:var(--hd-space-5) 0 var(--hd-space-6); padding:var(--hd-space-5); border:0; border-left:var(--hd-border-accent); background:var(--hd-color-band-green) }
.hd-voice-reading .hd-voice-pull::before,
.hd-voice-reading .hd-voice-pull::after{ content:none }
.hd-voice-reading .hd-voice-pull p{ color:var(--hd-color-ink); font-family:var(--hd-font-display); font-weight:600; line-height:1.85 }
.hd-voice-reading .hd-voice-pull p:last-child{ margin-bottom:0 }
.hd-voice-reading .hd-voice-pull cite{ display:block; margin-top:var(--hd-space-3); color:var(--hd-color-text); font-style:normal; text-align:right }
.hd-voice-reading .hd-voice-map{ margin-block:var(--hd-space-6) }
.hd-voice-reading .hd-voice-map img{ width:100%; height:auto }
.hd-voice-outro-section .hd-voice-links{ margin-top:var(--hd-space-5) }
.hd-voice-related-section .hd-heading{ margin-bottom:var(--hd-space-5) }
.hd-voice-reading .hd-voice-related-link{ margin:0; border-top:var(--hd-border-thin) }
.hd-voice-related-link a{ display:flex; align-items:center; justify-content:space-between; gap:var(--hd-space-3); padding-block:var(--hd-space-4); color:var(--hd-color-ink); text-decoration:none; font-weight:600 }
.hd-voice-related-link a:hover{ color:var(--hd-color-accent) }
.hd-voice-reading .hd-voice-index-link{ margin:var(--hd-space-6) 0 0 }

/* ボタン */
.hd-actions{ gap:var(--hd-space-3) }
.hd-button .wp-block-button__link{ padding:.9rem 1.4rem; border:1.5px solid var(--hd-color-ink); border-radius:0; background:var(--hd-color-ink); color:var(--hd-color-paper); font-weight:600; letter-spacing:.06em }
.hd-button .wp-block-button__link:hover{ border-color:var(--hd-color-accent); background:var(--hd-color-accent); color:var(--hd-color-paper) }
.hd-button .wp-block-button__link:focus-visible{ outline:3px solid var(--hd-color-accent); outline-offset:4px }
.hd-button--line .wp-block-button__link{ background:transparent; color:var(--hd-color-ink) }


/* ============================================================
   スマートフォン
   ============================================================ */

@media(max-width:781px){
  .swell-block-fullWide.hd-fv-system{ --hd-section-py:clamp(3.5rem,14vw,5rem); padding-block:clamp(2.75rem,12vw,3.5rem) !important }
  .swell-block-fullWide.hd-fv-system > .swell-block-fullWide__inner{ grid-template-columns:1fr; grid-template-areas:"title" "art" "lead" "meta" "actions" }
  .hd-system-section .hd-fv-title{ width:auto; max-width:100%; font-size:clamp(2.25rem,10vw,2.75rem) !important; white-space:normal }
  .hd-fv-art{ left:0; width:min(92%,26rem); margin-top:var(--hd-space-5); justify-self:center }
  .hd-fv-lead{ margin-top:var(--hd-space-5) !important }
  .hd-media{ --wp-column-gap:var(--hd-space-6) }
  .hd-media__visual{ margin-top:var(--hd-space-6) }
  .hd-media__art{ width:min(100%,28rem); margin-inline:auto }
  .hd-callout{ padding-left:var(--hd-space-3) }
  .hd-principles__intro{ margin-bottom:var(--hd-space-5) }
  .hd-principles__art-col{ width:88%; margin:-1.5rem 0 0 auto }
  .hd-principles__grid{ gap:var(--hd-space-6) !important; margin-top:var(--hd-space-6) }
  .hd-card-grid.hd-showcase-grid{ --wp-column-gap:var(--hd-space-5); column-gap:var(--wp-column-gap) !important }
  .hd-card-grid > .wp-block-column + .wp-block-column,
  .hd-price-row > .wp-block-column + .wp-block-column{ margin-top:var(--hd-space-4) }
  .hd-price-row .hd-media__art{ width:100%; max-width:22rem; margin-inline:auto }
  .hd-price-row .hd-media__art img{ width:100% !important; max-width:100%; height:auto !important }
  .hd-price-row__price{ white-space:normal }
  .hd-cases-section .hd-voice-card{ min-height:0; padding:1.75rem 1.25rem 1.5rem }
  .hd-voice-card > .hd-heading{ width:100%; margin-top:2.5rem !important }
  .hd-voice-card__quote{ min-height:0; padding:1.25rem 1rem 1.25rem 2.15rem }
  .hd-voice-card__quote::before{ top:1.25rem; bottom:1.25rem; left:1rem }
  .hd-voice-card__link{ padding-top:2rem }
  .hd-portfolio-gallery.hd-showcase-grid{ grid-template-columns:1fr }
  .hd-portfolio-case-head{ grid-template-columns:4rem minmax(0,1fr); gap:var(--hd-space-3) }
  .hd-portfolio-case-grid{ margin-top:var(--hd-space-5) }
  .hd-contact-fields .smf-item{ grid-template-columns:1fr; gap:var(--hd-space-2) }
  .hd-contact-fields .smf-item__label{ padding-top:0 }
  .hd-profile-hero-layout,
  .hd-profile-about-layout,
  .hd-profile-listening-layout,
  .hd-profile-person-layout,
  .hd-profile-outside-head,
  .hd-profile-hobby-layout{ gap:var(--hd-space-6) !important }
  .hd-profile-hero-visual,
  .hd-profile-outside-visual{ max-width:24rem; width:100%; margin-inline:auto }
  .hd-profile-about-layout{ margin-top:var(--hd-space-6) }
  .hd-profile-identity{ position:static }
  .hd-profile-photo-slot{ width:min(100%,24rem) }
  .hd-profile-belief{ padding:var(--hd-space-4) }
  .hd-profile-person-section + .hd-profile-person-section > .swell-block-fullWide__inner{ padding-top:var(--hd-space-5) }
  .hd-svc-section .hd-card--accent ul{ columns:1 }
  .hd-step.swell-block-step{ grid-template-columns:1fr }
  .hd-flow-section .hd-step .swell-block-step__item{ grid-template-columns:4rem minmax(0,1fr); column-gap:var(--hd-space-3) }
  .hd-flow-section .hd-step .swell-block-step__number{ padding-left:var(--hd-space-1); font-size:2rem }
  .hd-guide-card > .wp-block-group__inner-container{ grid-template-columns:1fr; gap:var(--hd-space-2) }
  .hd-cta-layout{ --wp-column-gap:var(--hd-space-5) }
  .hd-cta-art{ left:4%; width:min(112%,32rem); margin:0 0 0 auto }
}

@media print{
  img.hd-reveal-image{ opacity:1 !important; filter:none !important; scale:1 !important }
}

/* 個別制作例：フルワイドと通常のSWELLブロック。2026-09-05 */
/* テーマのページタイトル（h1）は出さない。h1はヒーローの見出しブロックが担う。2026-09-11 */
#body_wrap:has(.hd-case-hero) .c-pageTitle{ display:none }
#body_wrap:has(.hd-case-hero) .post_content{ margin-top:0 } /* タイトルの下に付いていた64pxの余白を戻す */
.swell-block-fullWide.hd-case-hero{ padding-top:var(--hd-space-5) !important }
.hd-case-section .hd-case-kicker{ margin:0 0 1.25rem; color:var(--hd-color-accent); font-weight:650; letter-spacing:.12em }
.hd-case-section .hd-case-title{ margin:0 0 1.5rem; font-size:clamp(2rem,4vw,3rem) !important; line-height:1.55; letter-spacing:.015em; text-wrap:initial }
.hd-case-section .hd-case-client{ margin:0 0 .7rem; font-weight:600; color:var(--hd-color-ink) }
.hd-case-section .hd-case-scope-line{ margin:0; color:var(--hd-color-muted) }
.hd-case-reading{ width:100%; max-width:47rem; margin-inline:auto }
.hd-case-section .hd-case-heading{ margin-bottom:1.75rem; line-height:1.7; text-wrap:initial }
.hd-case-section .swell-block-columns{ --swl-clmn-mrgn--x:3rem; --swl-clmn-mrgn--y:2rem; margin-block:0 }
.hd-case-section .swell-block-column > p{ margin-bottom:1.4rem }
.hd-case-section .hd-case-emphasis{ border-left:3px solid var(--hd-color-accent); padding-left:1.25rem; margin-block:2rem; font-weight:600; color:var(--hd-color-ink) }
.hd-case-section .hd-case-visual{ margin-block:3rem }
.hd-case-section .hd-case-visual img{ display:block; width:100%; height:auto }
.hd-case-section .swell-block-column .hd-case-sign{ width:min(100%,14rem); margin:0 auto }
.hd-case-section .hd-case-sign-pair img{ aspect-ratio:4/3; object-fit:contain; background:var(--hd-color-band) }
.hd-case-section .swell-block-columns + .hd-case-heading{ margin-top:3rem }
.hd-case-section .hd-case-hero-image{ margin-block:2.5rem 3rem }
.hd-case-section .hd-case-visual figcaption{ margin-top:.85rem; color:var(--hd-color-muted); font-size:14px; line-height:1.8; text-align:left }
.hd-case-section .swell-block-column .hd-case-visual{ margin-block:3rem 0 }
.hd-case-section .hd-case-text-link{ margin-block:.85rem 2.5rem; font-weight:600 }
.hd-case-section .hd-case-text-link a{ color:var(--hd-color-accent); text-underline-offset:.3em }
.hd-case-section .swell-block-columns + .hd-case-reading{ margin-top:3rem }
.hd-case-section .hd-case-reading + .hd-case-reading{ margin-top:3rem }
.hd-case-section .hd-case-actions{ margin-top:2.5rem; gap:var(--hd-space-5) }
.hd-case-hero .hd-case-actions{ justify-content:center }
.hd-case-outro .hd-case-actions{ padding-top:2.5rem; border-top:var(--hd-border-thin) }
@media(max-width:781px){
  .hd-case-section .hd-case-title{ font-size:clamp(1.85rem,7.5vw,2.4rem) !important }
  .hd-case-section .hd-case-heading{ font-size:1.4rem !important; margin-bottom:1.25rem }
  .hd-case-section .swell-block-columns{ --swl-clmn-mrgn--x:1.5rem; --swl-clmn-mrgn--y:1.25rem }
  .hd-case-section .hd-case-visual{ margin-block:2rem }
  .hd-case-section .swell-block-column .hd-case-visual{ margin-top:1.5rem }
  .hd-case-section .hd-case-actions{ gap:.75rem }
  .hd-case-section .hd-case-actions > .wp-block-button{ width:100% }
  .hd-case-section .hd-case-actions .wp-block-button__link{ display:block; width:100%; font-size:.95rem }
}

/* 個別制作例へのボタン。カードと3件の補助導線は同じ高さに揃える。 */
.hd-button--case .wp-block-button__link{
  display:flex; align-items:center; justify-content:center;
  min-height:48px; padding:.7rem 1rem; font-size:.9375rem; line-height:1.5; letter-spacing:.02em;
}
.hd-showcase-card{ display:flex; flex-direction:column }
.hd-showcase-card .hd-case-card-actions{ margin-top:auto; padding-top:1rem }
.hd-case-more-actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:2.5rem }
.hd-case-more-actions > .wp-block-button{ flex:1 1 14rem }
.hd-case-more-actions .wp-block-button__link{ width:100% }
@media (max-width:599px){
  .hd-case-card-actions > .wp-block-button,.hd-case-more-actions > .wp-block-button{ width:100%; flex-basis:100% }
  .hd-case-card-actions .wp-block-button__link{ width:100% }
}

/* Works index: editable image / heading / paragraph / button blocks. */
.hd-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;margin-top:32px}
.hd-work-list > .wp-block-group__inner-container{display:contents}
.hd-work-entry{min-width:0;display:flex;flex-direction:column}
.hd-work-entry > .wp-block-group__inner-container{display:contents}
.hd-work-entry .wp-block-image{margin:0 0 20px!important}
.hd-work-entry .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hd-work-entry .hd-work-industry{margin:0 0 8px;color:var(--hd-color-accent);font-size:14px;line-height:1.7}
.hd-work-entry .hd-work-client{margin:0 0 12px;padding:0;border:0;background:none;line-height:1.6}
.hd-work-entry .hd-work-client:before,.hd-work-entry .hd-work-client:after{content:none}
.hd-work-entry .hd-work-scope{margin:0 0 20px;font-size:14px;line-height:1.8}
.hd-work-entry .hd-work-link{margin-top:auto;padding-top:4px;gap:var(--hd-space-5)}
.hd-work-other-title{margin-top:72px!important}
@media(max-width:781px){.hd-work-list{grid-template-columns:1fr;row-gap:40px}.hd-work-other-title{margin-top:56px!important}}
/* 印刷物・グラフィック（旧サイトから移設・16:9の見本板） */
.hd-work-list--print .hd-work-entry .wp-block-image img{aspect-ratio:16/9}
.hd-work-note{margin:16px 0 0;font-size:14px;line-height:1.8}
/* ヘッダー・スマホメニューのナビ書体を見出しと同じ表示書体に揃える（2026-09-09） */
.c-gnav > li > a,
.p-spMenu__nav a{ font-family:var(--hd-font-display); font-weight:600; letter-spacing:.02em }

/* スマホでもボタンを横並びに（2026-09-10 本人希望）。下線ボタンの最小幅280pxを外し、矢印の余白と文字を少し詰める */
@media (max-width:599px){
  .hd-work-entry .hd-work-link{ gap:12px 16px }
  .hd-work-entry .hd-work-link > .wp-block-button{ flex:0 1 auto; min-width:0 }
  .hd-work-entry .hd-work-link .wp-block-button__link{ min-width:0; width:auto; padding-right:44px; font-size:13px; white-space:nowrap }
  .hd-work-entry .hd-work-link .wp-block-button__link::before{ width:28px; height:20px; top:calc(50% - 10px) }
}
@media (max-width:781px){
  .hd-case-section .hd-case-actions{ gap:12px 16px }
  .hd-case-section .hd-case-actions > .wp-block-button.hd-btn-underline{ width:auto; flex:0 1 auto; min-width:0 }
  .hd-case-section .hd-case-actions > .hd-btn-underline .wp-block-button__link{ display:flex; width:auto; min-width:0; padding-right:44px; font-size:13px; white-space:nowrap }
  .hd-case-section .hd-case-actions > .hd-btn-underline .wp-block-button__link::before{ width:28px; height:20px; top:calc(50% - 10px) }
  .hd-case-section .hd-case-actions > .wp-block-button.hd-btn-offset{ width:100% }
}

/* 声ページ末尾の2ボタン: 間隔を他と揃え、スマホでも横並び（2026-09-10） */
.hd-voice-index-actions{ gap:var(--hd-space-5) }
@media (max-width:599px){
  .hd-voice-index-actions{ gap:12px 16px }
  .hd-voice-index-actions > .wp-block-button.hd-btn-underline{ flex:0 1 auto; min-width:0; width:auto }
  .hd-voice-index-actions > .wp-block-button.hd-btn-underline > .wp-block-button__link{ min-width:0; width:auto; padding-right:44px; font-size:13px; white-space:nowrap }
  .hd-voice-index-actions > .wp-block-button.hd-btn-underline > .wp-block-button__link::before{ width:28px; height:20px; top:calc(50% - 10px) }
}

/* 下層ページ: 冒頭区画と本文の境目に1本だけ線を引く（2026-09-10 本人承認）。トップの制作プラン上の線と同じ3px。外したいページは冒頭区画に u-rule-none */
.swell-block-fullWide.hd-system-section:is(.hd-works-hero-section,.hd-profile-intro-section,.hd-case-hero,.hd-voice-hero-section,.hd-contact-intro,.hd-policy-intro):not(.u-rule-none){ border-bottom:var(--hd-border-strong) }
