/*
Theme Name: Cocoon Child
Template: cocoon-master
Version: 1.0
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Noto+Serif+JP:wght@200;300;400&family=Shippori+Mincho:wght@300;400&display=swap');

/* ============================================================
   BASE
   ============================================================ */
body {
  font-family: 'Noto Serif JP', serif !important;
  font-weight: 400 !important;
  color: #28242A !important;
  background: #FAFAF8 !important;
  overflow-x: hidden;
}
.entry-content, .article, #primary, .main, #content, .content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.entry-content h2, .entry-content h3, .entry-content h4 {
  border: none !important;
  padding: 0 !important;
  background: none !important;
}
#sidebar, .sidebar { display: none !important; }

/* ============================================================
   HEADER / NAV
   ============================================================ */
#header, .site-header {
  background: rgba(250,250,248,0.92) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(170,158,168,0.2) !important;
  border-top: none !important;
  box-shadow: none !important;
}
.site-name a, .site-name-text {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  color: #28242A !important;
}
.site-name, .site-name a, #site-logo, #header .site-name {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
}
.navi-in a, #navi .menu li a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  color: #3D3840 !important;
  text-decoration: none !important;
}
.navi-in a:hover, #navi .menu li a:hover { color: #28242A !important; }
#navi .menu li:last-child a, .navi-in > ul > li:last-child > a {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.15em !important;
  color: #A8606A !important;
  border: 1px solid rgba(168,96,106,0.4) !important;
  padding: 8px 20px !important;
  background: transparent !important;
}
#navi .menu li:last-child a:hover, .navi-in > ul > li:last-child > a:hover {
  background: rgba(168,96,106,0.08) !important;
  color: #28242A !important;
}
#content, #main, .main, #wrap, .wrap, #contents, .contents {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer, .site-footer {
  background: #28242A !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  padding: 40px 60px !important;
}
#footer a, .footer-nav a, #footer .menu a, #footer .navi-in a {
  color: rgba(255,255,255,0.45) !important;
}
#footer a:hover { color: #C4919B !important; text-decoration: none; }
.source-org, .copyright, #footer .copyright, #footer small,
.footer-copyright, .footer-copy {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
}
#footer p, #footer span, #footer li, .footer-content, .footer-content p {
  color: rgba(255,255,255,0.45) !important;
}

/* ============================================================
   上に戻るボタン
   ============================================================ */
#go-to-top, .go-to-top, #page-top {
  background: transparent !important;
  border: 1px solid rgba(196,145,155,0.4) !important;
  border-radius: 0 !important;
  width: 44px !important;
  height: 44px !important;
  box-shadow: none !important;
}
#go-to-top:hover, #page-top:hover { background: rgba(196,145,155,0.08) !important; }
#go-to-top i, .go-to-top i, #page-top i { color: #A8606A !important; }

/* ============================================================
   HERO
   ============================================================ */
#top {
  min-height: 90vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 120px 60px 80px !important;
  position: relative;
  overflow: hidden;
  background: #FAFAF8;
  width: 100%;
  box-sizing: border-box;
}
.top-eyebrow {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.35em !important;
  color: #A8606A !important;
  text-transform: uppercase;
  margin: 0 0 48px !important;
}
.top-h1 {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 40px !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.top-h1 em { font-style: normal; color: #A8606A !important; }
.top-tagline {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-style: italic;
  letter-spacing: 0.12em !important;
  color: #5A5260 !important;
  margin: 0 0 56px !important;
}
.top-sub {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
  max-width: 440px;
  margin: 0 !important;
}

/* ============================================================
   SECTION LABEL（全ページ共通）
   ============================================================ */
.section-label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  color: #A8606A !important;
  text-transform: uppercase;
  margin-bottom: 64px !important;
  display: flex;
  align-items: center;
  gap: 20px;
}
.section-label::after {
  content: '';
  width: 40px;
  height: 1px;
  background: #A8606A;
  flex-shrink: 0;
}

/* ============================================================
   QUESTION
   ============================================================ */
.question-body, .question-list li {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}

/* ============================================================
   ABOUT
   ============================================================ */
.about-lead {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem) !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: 0.1em !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.about-body, .about-body p {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}

/* ============================================================
   WORKS PREVIEW
   ============================================================ */
.wp-card-type {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  color: #A8606A !important;
  margin: 0 0 8px !important;
}
.wp-card-name {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #28242A !important;
  margin: 0 !important;
}
.works-more a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #5A5260 !important;
  text-decoration: none !important;
}

/* ============================================================
   CHANGE
   ============================================================ */
.change-lead {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem) !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: 0.1em !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.change-body, .change-body p {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}

/* ============================================================
   VOICE CARD（excerpt）
   ============================================================ */
.voice-card-label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  color: #5A5260 !important;
  margin: 0 0 16px !important;
}
.voice-card-quote {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 2.4 !important;
  color: #28242A !important;
  margin: 0 !important;
}

/* ============================================================
   STORY
   ============================================================ */
.story-kicker {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.6rem, 2.8vw, 2.4rem) !important;
  font-weight: 400 !important;
  font-style: italic;
  line-height: 1.7 !important;
  color: #28242A !important;
  margin: 0 0 64px !important;
}
.story-body, .story-body p {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}
.story-emphasis {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 2.2 !important;
  color: #28242A !important;
  border-left: 2px solid #A8606A !important;
  padding-left: 32px !important;
  margin: 56px 0 !important;
}
.story-quote {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 2.2 !important;
  color: #28242A !important;
}
.story-note {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  color: #A8606A !important;
}

/* ============================================================
   PHILOSOPHY
   ============================================================ */
.phil-lead {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.5rem, 2.5vw, 2.2rem) !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.phil-body, .phil-body p {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}
.phil-accent {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 2.2 !important;
  color: #28242A !important;
  border-left: 2px solid #A8606A !important;
  padding-left: 32px !important;
  margin: 56px 0 !important;
}
.phil-closing {
  display: block;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 2rem !important;
  font-style: italic;
  font-weight: 400 !important;
  color: #A8606A !important;
  margin-top: 80px !important;
  padding-top: 64px !important;
  border-top: 1px solid rgba(170,158,168,0.2) !important;
}

/* ============================================================
   SERVICE
   ============================================================ */
.svc-lead {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.svc-intro, .svc-intro p {
  font-size: 1rem !important;
  line-height: 2.6 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}
.phase-num {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.35em !important;
  color: #A8606A !important;
  margin: 0 0 20px !important;
}
.phase-title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.phase-en {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-style: italic;
  color: #5A5260 !important;
  margin: 0 0 20px !important;
}
.phase-dur {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #5A5260 !important;
  margin: 0 0 16px !important;
}
.phase-desc {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}
.katachi-label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  color: #A8606A !important;
  margin: 0 0 16px !important;
}
.katachi-title {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.katachi-desc {
  font-size: 0.9rem !important;
  line-height: 2.2 !important;
  color: #5A5260 !important;
  font-weight: 400 !important;
}
.svc-note {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
  border-left: 2px solid #A8606A !important;
  padding-left: 28px !important;
  margin: 56px 0 !important;
}
#service h3, #works h3 {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #28242A !important;
  border: none !important; padding: 0 !important; background: none !important;
  margin: 0 0 16px !important;
}

/* ============================================================
   WORKS
   ============================================================ */
.works-intro, .works-intro p {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
}
.work-name {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #28242A !important;
  margin: 0 0 4px !important;
}
.work-tag {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  color: #5A5260 !important;
  margin: 0 !important;
}

/* ============================================================
   VOICE（全文）
   ============================================================ */
.voice-co {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #5A5260 !important;
  margin: 0 0 32px !important;
}
.voice-phase {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: #A8606A !important;
  margin: 0 0 8px !important;
}
.voice-text {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: #3D3840 !important;
  font-weight: 400 !important;
  margin: 0 0 28px !important;
}
.voice-owner p {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 2.2 !important;
  color: #28242A !important;
  margin: 0 !important;
}

/* ============================================================
   NOTE
   ============================================================ */
.note-date {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  color: #A8606A !important;
  margin: 0 0 6px !important;
}
.note-ttl {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #28242A !important;
  margin: 0 !important;
}
.note-item:hover { color: #A8606A !important; text-decoration: none !important; }

/* ============================================================
   TALK
   ============================================================ */
.talk-h {
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #FAFAF8 !important;
  border: none !important; padding: 0 !important; background: none !important;
}
.talk-sub {
  font-size: 1rem !important;
  line-height: 2.4 !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 400 !important;
}
.talk-filter {
  font-size: 0.9rem !important;
  line-height: 2 !important;
  color: rgba(255,255,255,0.65) !important;
  font-weight: 400 !important;
}

/* CF7フォーム */
#talk .wpcf7 input[type="text"],
#talk .wpcf7 input[type="email"],
#talk .wpcf7 textarea {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(196,145,155,0.4) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: rgba(255,255,255,0.85) !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  padding: 10px 0 !important;
  margin-bottom: 28px !important;
  display: block !important;
  box-sizing: border-box !important;
}
#talk .wpcf7 textarea {
  min-height: 80px !important;
  height: 80px !important;
  resize: none !important;
  line-height: 2 !important;
}
#talk .wpcf7 input::placeholder,
#talk .wpcf7 textarea::placeholder { color: rgba(255,255,255,0.25) !important; }
#talk .wpcf7 input[type="submit"] {
  background: transparent !important;
  border: 1px solid rgba(196,145,155,0.35) !important;
  border-radius: 0 !important;
  color: #FAFAF8 !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.25em !important;
  padding: 18px 52px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  display: block !important;
  margin: 16px auto 0 !important;
}
#talk .wpcf7 input[type="submit"]:hover {
  background: rgba(196,145,155,0.1) !important;
  border-color: #A8606A !important;
}
#talk .wpcf7 .wpcf7-form-control-wrap { display: block !important; width: 100% !important; }
.form-label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.2em !important;
  color: rgba(255,255,255,0.75) !important;
  text-transform: uppercase;
  margin-bottom: 8px !important;
  display: block !important;
}
.form-label .opt {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.45) !important;
}

/* CTA ボタン */
.cta-btn {
  display: inline-block;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.25em !important;
  color: #FAFAF8 !important;
  text-decoration: none !important;
  border: 1px solid rgba(196,145,155,0.35) !important;
  padding: 20px 52px !important;
}
.cta-btn:hover { border-color: rgba(196,145,155,0.6) !important; color: #FAFAF8 !important; text-decoration: none !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  #top { padding: 80px 24px 60px !important; }
  .section-inner, .section-inner-wide { padding: 80px 24px !important; }
  .works-preview-grid, .katachi-grid { grid-template-columns: 1fr !important; }
  .works-grid { grid-template-columns: 1fr !important; }
  #footer { padding: 32px 24px !important; }
}

/* ============================================================
   モバイルヘッダー
   ============================================================ */
@media (max-width: 1023px) {
  #header, #header-in, .header-in {
    min-height: 60px !important;
    height: auto !important;
  }
  .site-name a, .site-name-text { font-size: 1.1rem !important; }
  .navi-toggle-label, .btn-label { display: none !important; }
  .header-search, .search-box-in-header, #header .search-box { display: none !important; }
  .navi-toggle, #navi-toggle {
    color: #28242A !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
  }
  .navi-toggle-icon, .navi-toggle span, #navi-toggle span { background: #28242A !important; }
}

/* フッター直前の余白を消す */
.entry-content,
.article-body,
#main .article {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.main-content,
#main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Talk・CTA mid セクション 全幅対応 */
#talk,
#talk ~ section,
section#talk {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
  width: 100vw !important;
  box-sizing: border-box !important;
}

/* Cocoon wrap の max-width を全幅ページでリセット */
.page-template-page-insightdesign #content-in,
.page-template-page-insightdesign-php #content-in,
.page-template-page-insightdesign .wrap,
.page-template-page-insightdesign-php .wrap {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* id-fullwidth-wrap 全幅対応 */
#id-fullwidth-wrap {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden;
}

/* Talk・CTA mid 全幅ネガティブマージン */
#talk,
section[style*="background:#28242A"],
section[style*="background: #28242A"] {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

/* mainを全幅に（サイドバーなしの全幅ページ用） */
.page-template-page-insightdesign #main,
.page-template-page-insightdesign-php #main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-template-page-insightdesign #content-in,
.page-template-page-insightdesign-php #content-in {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ============================================================
   サイドバー非表示 & main全幅強制（インサイトデザインページ用）
   ============================================================ */
body.page-template-page-insightdesign-php .sidebar,
body.page-template-page-insightdesign-php #sidebar {
  display: none !important;
}

body.page-template-page-insightdesign-php #main,
body.page-template-page-insightdesign-php .main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-template-page-insightdesign-php #content-in,
body.page-template-page-insightdesign-php .content-in,
body.page-template-page-insightdesign-php #content,
body.page-template-page-insightdesign-php .wrap {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ネガティブマージントリックをリセット（mainが100%になれば不要）*/
body.page-template-page-insightdesign-php #talk,
body.page-template-page-insightdesign-php section[style*="background:#28242A"],
body.page-template-page-insightdesign-php section[style*="background: #28242A"] {
  width: 100% !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Talk下の白い余白を消す */
body.page-template-page-insightdesign-php .entry-content,
body.page-template-page-insightdesign-php .article,
body.page-template-page-insightdesign-php #id-fullwidth-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Scrollヒント テキスト強化 */
.scroll-hint span {
  font-size: 0.72rem !important;
  letter-spacing: 0.25em !important;
  color: #C4919B !important;
  opacity: 1 !important;
}

/* Talk下の余白 強制除去（追加） */
body.page-template-page-insightdesign-php .entry-content > *:last-child,
body.page-template-page-insightdesign-php .entry-content > div:last-child,
body.page-template-page-insightdesign-php #id-fullwidth-wrap > *:last-child {
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php .content,
body.page-template-page-insightdesign-php #content,
body.page-template-page-insightdesign-php .content-in,
body.page-template-page-insightdesign-php #content-in {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #talk {
  margin-bottom: 0 !important;
}

/* container::after の余白を完全除去 */
body.page-template-page-insightdesign-php #container::after,
body.page-template-page-insightdesign-php #container {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #content,
body.page-template-page-insightdesign-php .content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-template-page-insightdesign-php .entry-content > *:last-child {
  margin-bottom: 0 !important;
}

/* ===== Talk下の余白 完全根絶 ===== */
body.page-template-page-insightdesign-php #id-fullwidth-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  display: block !important;
}

body.page-template-page-insightdesign-php .entry-content > #id-fullwidth-wrap,
body.page-template-page-insightdesign-php .entry-content > * {
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php .article,
body.page-template-page-insightdesign-php .body .article {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #main,
body.page-template-page-insightdesign-php .main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  float: none !important;
}

/* ===== Talk下の白い隙間を背景色で隠す ===== */
body.page-template-page-insightdesign-php #main,
body.page-template-page-insightdesign-php #content-in,
body.page-template-page-insightdesign-php #content {
  background-color: #28242A !important;
}

/* ===== 余白根絶 最終手段 ===== */
body.page-template-page-insightdesign-php #content-in.wrap,
body.page-template-page-insightdesign-php .wrap {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #content.content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page-template-page-insightdesign-php #main script,
body.page-template-page-insightdesign-php #id-fullwidth-wrap script {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* ===== Talk下の余白 → 背景色で隠す作戦 ===== */
body.page-template-page-insightdesign-php #content,
body.page-template-page-insightdesign-php #content-in,
body.page-template-page-insightdesign-php #main {
  background-color: #28242A !important;
}

/* ===== Talk〜フッター間の余白を完全に隠す ===== */
body.page-template-page-insightdesign-php {
  background-color: #28242A !important;
}

body.page-template-page-insightdesign-php #footer,
body.page-template-page-insightdesign-php .footer-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-template-page-insightdesign-php #content,
body.page-template-page-insightdesign-php #content-in,
body.page-template-page-insightdesign-php #main,
body.page-template-page-insightdesign-php .article,
body.page-template-page-insightdesign-php #id-fullwidth-wrap {
  background-color: #28242A !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== CF7フォーム Talkセクション用スタイル ===== */
#talk .wpcf7-form label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  color: rgba(255,255,255,0.6) !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 8px !important;
}

#talk .wpcf7-form input[type="text"],
#talk .wpcf7-form input[type="email"],
#talk .wpcf7-form textarea {
  width: 100% !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 0.85rem !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.8) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(196,145,155,0.35) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  outline: none !important;
  box-shadow: none !important;
  letter-spacing: 0.04em !important;
  box-sizing: border-box !important;
}

#talk .wpcf7-form textarea {
  min-height: 100px !important;
  resize: none !important;
  line-height: 2 !important;
}

#talk .wpcf7-form input[type="text"]::placeholder,
#talk .wpcf7-form input[type="email"]::placeholder,
#talk .wpcf7-form textarea::placeholder {
  color: rgba(255,255,255,0.22) !important;
}

#talk .wpcf7-form .wpcf7-submit,
#talk .wpcf7-form input[type="submit"] {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.25em !important;
  color: #FAFAF8 !important;
  background: transparent !important;
  border: 1px solid rgba(196,145,155,0.3) !important;
  border-radius: 0 !important;
  padding: 20px 52px !important;
  cursor: pointer !important;
  margin-top: 32px !important;
  transition: border-color 0.4s !important;
}

#talk .wpcf7-form .wpcf7-submit:hover,
#talk .wpcf7-form input[type="submit"]:hover {
  border-color: rgba(196,145,155,0.6) !important;
}

#talk .wpcf7-form p {
  margin-bottom: 28px !important;
}

/* CF7 送信後メッセージ */
#talk .wpcf7-response-output,
#talk .wpcf7 .wpcf7-response-output {
  color: #C4919B !important;
  border-color: rgba(196,145,155,0.3) !important;
  background: transparent !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.08em !important;
  padding: 16px 24px !important;
  margin-top: 24px !important;
}

/* ===== 投稿ページ レイアウト ===== */

/* 投稿コンテンツ全体の余白 */
.single .article,
.single #main {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 80px 60px !important;
}

/* タイトル */
.single .entry-title {
  display: block !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.08em !important;
  color: #28242A !important;
  margin-bottom: 48px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* 本文 */
.single .entry-content {
  font-family: 'Noto Serif JP', serif !important;
  font-size: 0.95rem !important;
  line-height: 2.4 !important;
  letter-spacing: 0.06em !important;
  color: #5A5260 !important;
}

/* カテゴリータグ */
.single .cat-label,
.single .cat-links a,
.single .post-categories a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.25em !important;
  color: #C4919B !important;
  background: transparent !important;
  border: 1px solid rgba(196,145,155,0.3) !important;
  border-radius: 0 !important;
  padding: 4px 12px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* 関連記事・コメント・コメント入力欄を非表示 */
.single .related-entries,
.single .comment-area,
.single .comment-respond,
.single #comments {
  display: none !important;
}

@media(max-width: 768px) {
  .single .article,
  .single #main {
    padding: 48px 24px !important;
  }
}
