@charset "UTF-8";
/*
 Theme Name: SANGO Child
 Theme URI: https://saruwakakun.design
 Author: SARUWAKA
 Author URI: https://saruwakakun.com
 Template: sango-theme
 Version: 4.0
*/
/*こちらはSANGOの子テーマ用CSSです。以下にCSSを記入していきましょう。*/

/* Article list typography - desktop */
@media (min-width: 769px) {
  body.blog .catpost-cards .c_linkto {
    font-size: 15px !important;
  }

  body.blog .catpost-cards .c_linkto .c_linkto_text h2 {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.blog .catpost-cards .pubdate {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
}

/* Header logo single-image override 2026-06 */
html body .sgb-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  width: clamp(220px, 25vw, 326px) !important;
  max-width: calc(100vw - 48px) !important;
  height: auto !important;
  gap: 0 !important;
}

html body .sgb-header .custom-logo-link::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

html body .sgb-header .custom-logo-link img.custom-logo {
  content: url("https://kemurikobo.com/wp-content/uploads/2026/06/980835ffed0b6027944c9941f542bbd5.png") !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1395 / 285 !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}

/* Contact narrow layout fix 2026-06 */
@media (max-width: 720px) {
  html body.page-id-68 {
    overflow-x: hidden !important;
  }

  html body.page-id-68 #inner-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(16px, 5vw, 32px) !important;
    padding-right: clamp(16px, 5vw, 32px) !important;
    box-sizing: border-box !important;
  }

  html body.page-id-68 #inner-content main#main,
  html body.page-id-68 #inner-content article#entry {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.page-id-68 #inner-content article#entry {
    background: transparent !important;
  }

  html body.page-id-68 #inner-content h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 14px !important;
    box-sizing: border-box !important;
  }

  html body.page-id-68 #inner-content #entry .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto 36px !important;
    padding: 24px clamp(18px, 5vw, 26px) 28px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border-radius: 14px !important;
  }

  html body.page-id-68 .wpcf7,
  html body.page-id-68 .wpcf7 form,
  html body.page-id-68 .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.page-id-68 .wpcf7 input:not([type="submit"]),
  html body.page-id-68 .wpcf7 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  html body.page-id-68 #inner-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.page-id-68 #inner-content #entry .entry-content {
    padding: 22px 18px 26px !important;
  }
}

/* Member X icon sizing fix 2026-06 */
html body #sgb-css-id-5 a.kk-member-x-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 30, 80, .16) !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

html body #sgb-css-id-5 a.kk-member-x-link > img,
html body #sgb-css-id-5 a.kk-member-x-link > img[alt="X"] {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
  transform: none !important;
  position: static !important;
}

/* Related post thumbnail layout fix 2026-06 */
html body.single-post .related-posts.type_a li a figure.rlmg {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f7fcff, #eef8fd) !important;
}

html body.single-post .related-posts.type_a li a figure.rlmg > img {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

html body.single-post .related-posts.type_a li a figure.rlmg > img[src*="OGP_default"] {
  object-fit: contain !important;
  background: #fff !important;
}

/* Header navigation font normalization 2026-06 */
@media (min-width: 769px) {
  html body .sgb-header .sgb-header-nav-pc-wrapper .wp-block-navigation,
  html body .sgb-header .sgb-header-nav-pc-wrapper .wp-block-navigation__container,
  html body .sgb-header .sgb-header-nav-pc-wrapper .wp-block-navigation-item,
  html body .sgb-header .sgb-header-nav-pc-wrapper .wp-block-navigation-item__content,
  html body .sgb-header .sgb-header-nav-pc-wrapper .wp-block-navigation-item__label {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
}

/* Contact page shell cleanup 2026-06 */
html body.page-id-68 #content {
  background: linear-gradient(180deg, #eaf0f6 0%, #f6fbff 100%) !important;
}

html body.page-id-68 #inner-content,
html body.page-id-68 main#main,
html body.page-id-68 article#entry {
  background: transparent !important;
}

html body.page-id-68 article#entry {
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body.page-id-68 article#entry::before,
html body.page-id-68 article#entry::after {
  display: none !important;
}

html body.page-id-68 h1.page-title {
  background: transparent !important;
}

html body.page-id-68 .entry-content.page-content {
  background: #fff !important;
}

@media (min-width: 721px) and (max-width: 1024px) {
  html body.page-id-68 #inner-content {
    width: min(100% - 64px, 800px) !important;
    max-width: 800px !important;
  }

  html body.page-id-68 main#main,
  html body.page-id-68 article#entry,
  html body.page-id-68 .entry-content.page-content {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Member card equal height fix 2026-06 */
@media (min-width: 769px) {
  html body .kk-members {
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
  }

  html body .kk-members > .wp-block-column {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 340px !important;
  }
}
