/*
Theme Name: 全国葬儀社ランキング（SWELL 子テーマ）
Template: swell
Description: sougi-ranking.com 用。2026-11-10 www.yokohamasougi.com/funeralhome/ から移管（kawai）。前半は本体 swell_child/style.css の写し、末尾にこのサイト独自の指定。
Version: 1.0.0
*/
@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://loos-web-studio.com/
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

/* サイト全体の設定 */
:root {
    --color_main: #113883 !important;
}

html body {
  font-family: "Font1", "Arial", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.025em !important;
}

/* 太字部分の設定 */
.bold,
.mincho-thin,
#top_title_area .c-pageTitle,
strong,
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6,
.swell-block-button__link,
.p-spHeadMenu .menu-item,
#gnav .menu-item,
.c-widget__title.-footer,
.post_content th {
  font-family: "Font2", "Arial", sans-serif !important;
  font-weight: 700 !important;
}
.icon-plus:before {
  font-weight: 700 !important;
}

/* オリジナルCSS */
.nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 599px) {
  .order1 {
    order: 1;
  }
  .order2 {
    order: 2;
  }
  .order3 {
    order: 3;
  }
  .sp600_only {
    display: block !important;
  }
  .post_content .pc600_only {
    display: none !important;
  }
  .sp-left {
    text-align: left !important;
  }
  .sp-center {
    text-align: center !important;
  }
  .sp-small {
    width: 80% !important;
    margin: 0 auto 2rem;
  }
}
@media screen and (min-width: 600px) {
  .post_content .sp600_only {
    display: none !important;
  }
  .pc600_only {
    display: block !important;
  }
  .pc-small {
    width: 70% !important;
    margin: 0 auto 2rem;
  }
}

/* 角丸 */
.swell-block-column,
.swell-block-capbox,
.is-style-balloon_box2,
#content img,
.c-bannerLink,
.flickity-parent2 .flickity-column .wp-block-group,
.cta-text-box,
.c-balloon__text {
  border-radius: 1rem;
}
.cap_box_ttl {
  border-radius: 1rem 1rem 0 0 !important;
}
.cap_box_content {
  border-radius: 0 0 1rem 1rem !important;
}
.is-style-small_ttl .cap_box_content {
  border-radius: 0 1rem 1rem 1rem !important;
  border: 3px solid var(--capbox-color);
}
.is-style-balloon_box,
.is-style-balloon_box2 {
  border-radius: 3rem !important;
}
#content .is-style-rounded img {
  border-radius: 100rem !important;
}
#content .no-round img {
  border-radius: 0 !important;
}

/* 背景塗りつぶし */
.swl-bg-color {
  padding-top: 0;
  padding-bottom: 0;
}

/* 関連記事（角丸） */
[data-type=type1] .p-blogCard__inner:before {
  border-radius: 1rem !important;
}
.p-blogCard__inner {
  background-color: #fff !important;
  border-radius: 1rem !important;
  padding: 1rem !important;
}
.p-blogCard__caption {
  border-radius: 0.5rem !important;
}

/* ふきだしブロック表示崩れ修正 */
#content .-circle > .c-balloon__iconImg {
  border-radius: 50% !important;
}

/* キャプション*/
.wp-element-caption {
  margin-top: 0 !important;
}

/* テーブル */
.c-scrollHint.sp_ {
  margin-top: 0 !important;
}
.c-scrollHint span {
  font-size: 1em !important;
}
.wp-block-table.recommend-sougi-table td,
.wp-block-table.recommend-sougi-table th {
  padding: 0.5em 0.25em !important;
}

/* 動画 */
.post_content .wp-block-embed {
  max-width: 40rem;
  margin: 0 auto;
}

/* タイトル */
.post_content h2 {
  font-size: 2.25em !important;
  margin: 0 auto 2rem !important;
}
.post_content h3 {
  margin-top: 0 !important;
}
@media (max-width: 599px) {
  .post_content h3:not(.swell-block-accordion__label) {
    font-size: 1.75em !important;
  }
}
@media (min-width: 600px) {
  .post_content h3:not(.hall-name) {
    font-size: 2em !important;
  }
}

/* リスト */
.list-center {
  width: fit-content !important;
  margin: 0 auto 2rem !important;
}

/* フローティングバナー */
.p-blogParts[data-partsid="1115"],
.p-blogParts[data-partsid="8262"] {
  position: fixed;
  z-index: 9999 !important;
  bottom: 0;
  left: 0;
  width: 100%;
  transition: 0.3s !important;
}
html[data-scrolled="false"] .p-blogParts[data-partsid="1115"],
html[data-scrolled="false"] .p-blogParts[data-partsid="8262"] {
  opacity: 0;
  transition: 0.2s !important;
  pointer-events: none !important;
}
.floting-bannar-column .swell-block-column {
  position: relative !important;
}
.floting-bannar-text {
  padding: 1.25rem 0 !important;
}

/* 画像クリックの拡大 */
.lum-lightbox {
  background: rgba(0, 0, 0, 0.75);
}
@media (max-width: 460px) {
  .lum-lightbox-inner img {
    max-width: 96% !important;
  }
}
@media (min-width: 960px) {
  .lum-lightbox-inner img {
    max-height: 80% !important;
  }
}

/* アコーディオン */
summary.swell-block-accordion__title {
  text-align: center;
  line-height: 1.4;
}
.swell-block-accordion.is-style-main .swell-block-accordion__body {
  background-color: #fff;
}

/* 下層ページ見出し(h1) */
.l-topTitleArea {
  min-height: 8rem;
}
#top_title_area .c-pageTitle {
  font-size: 2.25em !important;
  text-shadow: none !important;
  text-align: center;
}

/* 吹き出しテキスト */
.hukidashi-text {
  margin-bottom: 0 !important;
  white-space: nowrap;
}
.hukidashi-text:before {
  background: url(/image_webp/common/icon/slash-left.webp) no-repeat;
}
.hukidashi-text:after {
  background: url(/image_webp/common/icon/slash-right.webp) no-repeat;
}
.hukidashi-text-w:before {
  background: url(/image_webp/common/icon/slash-left-white.webp) no-repeat;
}
.hukidashi-text-w:after {
  background: url(/image_webp/common/icon/slash-right-white.webp) no-repeat;
}
.hukidashi-text:before,
.hukidashi-text:after {
  content: "";
  height: 0.8em;
  width: 0.4em;
  display: inline-block;
  background-size: contain;
  margin: 0 0.5em;
  position: relative;
  top: 0.1em;
}
.hukidashi-text:before {
  margin-left: 0 !important;
}
.hukidashi-text:after {
  margin-right: 0 !important;
}

/* 吹き出し(SWELLブロック) */
.c-balloon__text {
  border-style: solid;
  font-size: 0.85em;
}

/* 記事一覧 */
.-type-card .c-postThumb__figure .c-postThumb__img {
  object-fit: contain !important;
}
.c-postThumb__cat {
  transform: scale(1) !important;
  font-size: 1rem !important;
}

/* スマホ開閉メニュー */
@media (max-width: 959px) {
  .p-spMenu {
    z-index: 10000;
  }
  .p-spMenu__inner {
    width: 72vw !important;
  }
  .p-spMenu .c-widget__title {
    margin-bottom: 1em !important;
  }
  .p-spMenu__nav {
    padding-bottom: 0 !important;
  }
  .p-spMenu__inner
    .p-blogParts[data-partsid="157"]
    .column-cta
    .swell-block-button__link {
    padding: 0.5rem 0.25rem 0.6rem 2rem !important;
  }
  .p-spMenu__bottom {
    margin-top: 0.5rem !important;
  }
  #custom_html-8 .staff-header .c-balloon__text {
    padding: 0.25rem 2rem !important;
  }
  .spmenu-freedialicon {
    position: relative;
    top: 0.2em;
  }
  #custom_html-8 .swell-block-columns.column-cta {
    margin-bottom: 0.75rem !important;
  }
  .top-back-btn-spmenu {
    padding: 0.3rem !important;
  }
  .p-spMenu__body {
    padding-bottom: 0 !important;
  }
}

/* スマホ追従ヘッダー */
@media (max-width: 959px) {
  .w-header.pc_ {
    display: block !important;
  }
  .p-blogParts[data-partsid="936"] {
    display: none !important;
  }
  .c-iconBtn__label {
    font-size: 0.75rem !important;
    line-height: 1.2;
    text-align: center;
  }
  .l-header__customBtn.sp_ {
    display: none;
  }
  .header-fix-btn > a {
    color: #fff;
    border-radius: 0.5rem !important;
  }
  .header-fix-btn {
    width: 45px;
    height: 45px;
    margin-left: 5px;
  }
}
@media (min-width: 960px) {
  .p-blogParts[data-partsid="9251"] {
    display: none;
  }
}

/* ヘッダー周り */
#header #gnav .ttl {
  font-size: 1rem;
}
.staff-header {
  width: fit-content;
  margin: 0 auto;
}
.staff-header .c-balloon {
  align-items: center !important;
}
.staff-header .c-balloon__text {
  padding: 0.25rem 0.5rem !important;
  font-size: 0.9rem;
  text-align: center;
}
.staff-header .c-balloon__body {
  padding: 0;
}
.staff-header .c-balloon__icon {
  width: 66px;
}
.staff-header .c-balloon .c-balloon__iconImg {
  height: 56px;
  width: 56px;
  margin: 0;
}
@media (min-width: 960px) {
  .-parallel .l-header__logo {
    width: 17.5%;
    padding: 0;
    padding-left: calc(50vw - 600px);
    box-sizing: content-box;
    position: relative;
    top: 0.6rem;
  }
  .c-headLogo__img {
    display: block;
  }

  #body_wrap .l-header.-parallel .w-header {
    width: fit-content;
    padding-right: calc(50vw - 600px);
    margin: 0 0 10px !important;
  }
  .l-header__inner {
    justify-content: space-between;
  }
  .-parallel .l-header__gnav .c-gnav {
    max-width: 1200px;
    justify-content: space-between;
    margin: 0 auto;
  }
  .top-subbutton {
    align-items: flex-end;
    gap: 0.5rem !important;
  }
  .top-subbutton .swell-block-button__link {
    padding: 0.25rem 1rem 0.4rem !important;
    box-shadow: none !important;
  }
  .top-subbutton-tel img {
    position: relative;
    top: 0.175rem;
    right: 0.3rem;
    border-radius: 0.25rem;
  }
  #gnav {
    background-color: var(--color_main_thin);
  }
}
@media (min-width: 1200px) and (max-width: 1296px) {
  .-parallel .l-header__gnav .c-gnav,
  #body_wrap .l-header.-parallel .w-header {
    padding: 0 48px;
    max-width: inherit;
  }
  .-parallel .l-header__logo {
    padding-left: 48px;
  }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .-parallel .l-header__gnav .c-gnav,
  #body_wrap .l-header.-parallel .w-header {
    padding: 0 16px 0 0;
  }
  .-parallel .l-header__logo {
    padding-left: 16px;
  }
}
@media (min-width: 960px) and (max-width: 1100px) {
  #fix_header .c-gnav > .menu-item > a {
    padding: 0 6px !important;
  }
  #fix_header .c-gnav > .menu-item > a .ttl {
    font-size: 12px !important;
  }
}
@media (min-width: 1200px) {
  .top-subbutton {
    gap: 1rem !important;
  }
  .top-subbutton .swell-block-button__link {
    padding: 0.25rem 1.5rem 0.4rem !important;
  }
  .staff-header .c-balloon__text {
    padding: 0.25rem 1.25rem !important;
  }
}

/* その他 */
#content {
  padding-top: 0;
  margin-bottom: 0 !important;
}
#main_content .p-toc {
  margin: 2rem auto !important;
}
.is-row {
  display: flex;
  justify-content: center;
  gap: 0.5em;
}

/* フッター直前 */
#before_footer_widget {
  font-size: 1.166667rem !important;
  margin-top: -3.25rem !important;
}
#before_footer_widget .swell-block-fullWide {
  padding-bottom: 0 !important;
}
#before_footer_widget .swell-block-button {
  max-width: 45rem;
}

/* フッター */
#footer {
  margin-bottom: 4rem;
}
#custom_html-2 .wp-block-search__input {
  background-color: #fff;
}
#footer .l-footer__widgetArea {
  background-color: #55421d;
}

/* 背景デザイン(フルワイド) */
@media (min-width: 960px) {
  .swell-block-fullWide.pc-py-40 {
    padding-bottom: 3em !important;
    padding-top: 3em !important;
  }
}
#main_content .swell-block-fullWide:nth-child(2n + 1):not(.no-bg-section) {
  background-color: #f8f5ea !important;
}
#main_content .swell-block-fullWide:nth-child(2n):not(.no-bg-section),
#main_content
  .swell-block-fullWide:nth-child(2n + 1)
  .flickity-parent2
  .flickity-column
  .wp-block-group {
  background-color: #fff !important;
}
.swell-block-fullWide {
  margin-bottom: 0;
  margin-top: 0 !important;
}

/* ボタン */
a.swell-block-button__link {
  padding: 0.66rem 1rem !important;
}
.btn-cta {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.btn-cta img {
  display: inline-block;
  margin-right: 0.5rem;
  width: 0.85em !important;
  position: relative;
  top: 0.75rem;
}
.swell-block-button {
  max-width: 27.5rem;
}

/* ブログパーツ余白 */
.p-blogParts {
  margin-bottom: 0 !important;
}
.p-blogParts[data-partsid="10458"],
.p-blogParts[data-partsid="10459"],
.p-blogParts[data-partsid="9569"],
.p-blogParts[data-partsid="10381"] {
  margin-bottom: 1.5em !important;
}

/* ボタンに顔 */
.btn-face:before {
  content: "";
  width: 4.5rem;
  height: 4.5rem;
  display: block;
  position: absolute;
  bottom: 0.25rem;
  left: 2.5rem;
  background-image: url(/image_webp/company/seki-tomonori-icon2.webp);
  z-index: 10;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50%;
}
.btn-face > a.swell-block-button__link {
  padding: 0.5rem 0 0.5rem 4.5rem !important;
  line-height: 1.4;
}
.p-blogParts[data-partsid="8262"] .btn-face > a.swell-block-button__link {
  padding: 0 0 0.3rem 4.5rem !important;
}
.is-style-btn_solid.btn-face .swl-bg-color {
  font-size: 1em;
}
.p-blogParts[data-partsid="8262"] .is-style-btn_solid.btn-face .swl-bg-color {
  font-size: 0.88em !important;
}
.btn-face-inner.btn-face:before {
  left: 1.5rem;
}

/* 大きいボタンCTA(旧CTAボタン) */
.btn-cta-tel {
  max-width: 800px !important;
}

/* LINE等の旧CTA */
.column-cta {
  max-width: 640px !important;
  margin: 0 auto 1.5rem !important;
}
.column-cta a.swell-block-button__link {
  overflow: hidden;
  padding: 0.75rem 0 0.5rem 4rem !important;
}
.column-cta svg {
  position: absolute !important;
  left: 0 !important;
  width: 4rem !important;
  height: 120% !important;
  background-color: #fff !important;
  color: var(--color_text) !important;
  margin-left: 0 !important;
  padding: 1rem !important;
  border-radius: 0 50% 50% 0 !important;
}
@media (max-width: 959px) {
  .column-cta a.swell-block-button__link {
    padding: 0.75rem 0 0.5rem 2rem !important;
  }
  .column-cta svg {
    width: 2rem !important;
    padding: 0.4rem !important;
  }
}

/* 葬儀プラン */
/* プラン共通部分 */
.plan-lists4 > .swell-block-columns__inner {
  justify-content: center;
}
.plan-lists4 .swell-block-column {
  position: relative !important;
  transition: 0.2s;
}
.plan-lists4 .swell-block-column .p-blogParts {
  margin-top: -1rem;
}
.plan-lists4 > .swell-block-columns__inner > .swell-block-column {
  box-shadow: 0 5px 0 var(--color_pale04) !important;
  border: 4px solid var(--color_main_thin);
  border-radius: 1rem !important;
}
.plan-lists4 .swell-block-column:hover {
  opacity: 0.8;
  transform: translateY(4px);
  transition: 0.2s;
  box-shadow: none !important;
}
.plan-lists4 .plan-list-img > img {
  border-radius: 0.75rem 0 0.75rem 0 !important;
}
.plan-limitedprice .swl-bg-color {
  padding: 0.15rem 1.5rem 0.25rem;
  border-radius: 1rem;
}
.plan-lists4 .plan-column {
  margin-bottom: -1.25rem !important;
}
.plan-lists4 .plan-price {
  padding: 0 1rem 0.1rem;
}
.plan-lists4 .plan-price-text {
  position: relative !important;
  letter-spacing: 1px !important;
}
.plan-price-caution {
  position: absolute;
  top: 50%;
  right: calc(50% - 8.5rem);
  transform: translate(-50%, -50%);
}
@media (min-width: 960px) {
  .plan-lists4 .plan-column {
    margin-bottom: -1.5rem !important;
  }
}
@media (min-width: 600px) {
  .plan-lists4 .plan-column .swell-block-columns__inner {
    align-items: center !important;
  }
}

/* 葬儀プラン - プラン一覧の上の帯 */
.plan-explain-title {
  border-top: 3px solid var(--color_deep04) !important;
  border-bottom: 3px solid var(--color_deep04) !important;
  background-color: var(--color_pale04) !important;
  padding: 0.25rem 0 !important;
  margin: 0 auto 1rem !important;
  max-width: 35rem;
}

/* FV直下CTA */
.cta-section.swell-block-fullWide {
  padding-top: 0 !important;
}
.cta-section.swell-block-fullWide .swell-block-fullWide__inner {
  max-width: 50rem;
}
.cta-funeral-estimate-time {
  position: absolute !important;
  top: -0.8rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  white-space: nowrap;
  z-index: 10 !important;
  width: fit-content;
  padding: 0rem 3rem;
  border-radius: 2rem;
  border: 0.3rem solid var(--color_main);
}
.cta-funeral-cost {
  padding: 1.75rem 0 0.75rem !important;
}
.btn-face > a.swell-block-button__link {
  padding: 0.9rem 0 0.9rem 4rem !important;
}
.is-style-btn_solid.btn-face .swl-bg-color {
  padding: 0.1rem 0.5rem 0.25rem;
  border-radius: 0.5rem !important;
  position: relative;
  top: -0.2rem;
}
.cta-caution {
  width: fit-content;
  margin: 0 auto;
}

/* CTA上部のアイコン付きふきだし */
.cta-hukidashi-face {
  position: relative;
  margin-bottom: 0.75em !important;
}
.cta-hukidashi-face-img {
  width: 5.75rem;
  position: absolute;
  top: -0.5rem;
  left: calc(50% + 4.75rem);
}
.cta-hukidashi-time {
  color: var(--color_text) !important;
  width: 92%;
  max-width: 30rem;
  padding: 0.4rem 5rem 0.6rem 0;
  font-size: 1em !important;
  border-radius: 3em !important;
  border: none;
  background-color: #ededed;
}

.cta-hukidashi-time:before {
  border: none !important;
  width: 1.2rem !important;
  height: 1.2rem !important;
  bottom: -0.6rem !important;
}

/* 直近1週間で○名にご相談いただいています */
.cta-section-top {
  padding-bottom: 0 !important;
}
.cta-contact-number {
  padding: 0.5rem 0 !important;
}
.cta-contact-number span.swl-bg-color {
  border-radius: 0.5rem;
  margin: 0 0.2rem;
  padding: 0.1rem 0.3rem 0.2rem;
  font-size: 1.1em;
}
.cta-situation-box {
  align-items: center !important;
  margin-top: 0.5rem !important;
}
.cta-situation-box-text {
  background-color: #ededed;
  padding: 0.25rem 1.25rem 0.3rem;
  border-radius: 1rem;
}

/* 追加費用になりやすい4つが無料 */
@media (min-width: 600px) {
  .free-benefit-column.swell-block-columns {
    --swl-clmn-mrgn--x: 1.5rem !important;
  }
}
@media (min-width: 960px) {
  .free-benefit-column.swell-block-columns {
    --swl-clmn-mrgn--x: 2.5rem !important;
  }
}

/* 3つの特徴の装飾 */
.feature-title-dec .swl-bg-color {
  padding: 0.25rem 2rem 0.4rem;
  border-radius: 2rem;
}

/* 注意書きコンテンツの装飾 */
.is-style-big_icon_caution.caution-content {
  padding: 1em 1rem !important;
  border-radius: 1rem;
}

/* 実際の請求書 */
.invoice-column img {
  border: 2px solid var(--color_text);
  margin-bottom: 0.25rem;
}

/* 友宜さん登場セクション */
.post_content .habataki-point-section.swell-block-fullWide {
  padding-bottom: 0 !important;
}
.habataki-point-column .swell-block-columns__inner {
  width: fit-content;
  margin: 0 auto;
  justify-content: center;
}
@media (max-width: 599px) {
  .habataki-point-column-img {
    transform: scale(1.25);
    transform-origin: bottom right;
    position: relative;
    left: 1rem;
  }
}

/* 斎場一覧 */
.hall-lists > .swell-block-columns__inner > .swell-block-column {
  position: relative !important;
  transition: 0.2s;
  border: 4px solid var(--color_main_thin);
  box-shadow: 0 5px 0 var(--color_pale04) !important;
  background-color: #fff !important;
  border-radius: 1.5rem;
}
.hall-lists > .swell-block-columns__inner > .swell-block-column .p-blogParts {
  margin-top: -0.5rem;
}
.hall-lists > .swell-block-columns__inner > .swell-block-column:hover {
  opacity: 0.8;
  transform: translateY(4px);
  transition: 0.2s;
  box-shadow: none !important;
}
.hall-lists .swell-block-columns__inner {
  justify-content: center !important;
}
.post_content .hall-lists h3.hall-name {
  font-size: 1.2em !important;
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
}
.hall-lists img {
  border-radius: 0 !important;
}
.hall-lists tbody > tr:last-child td {
  border-bottom: none;
}
.hall-img {
  margin-bottom: 0 !important;
}
.hall-lists .wp-block-table td {
  padding: 0.5em 0 !important;
  white-space: nowrap;
  border-left: none !important;
  border-right: none !important;
}
.hall-lists table {
  font-size: 0.85rem !important;
}
@media (min-width: 960px) {
  .hall-lists table {
    font-size: 0.8em !important;
  }
}
.hall-medal-text {
  position: absolute;
  top: 3.75rem;
  left: -0.75rem;
  z-index: 10;
  padding: 0.2em;
  padding-bottom: 0.4rem;
  transform: translate(0%, -50%);
  font-size: 1em !important;
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  line-height: 1.3;
  background: #fff;
  border: 3px solid #94dd1d;
  font-size: 1em !important;
}
.hall-medal-text.public {
  border: 3px solid #5696e6;
}
.hall-medal-text.temple {
  border: 3px solid var(--color_deep03);
}
.hall-medal-text.cremation {
  border: 3px solid var(--color_deep04);
}
@media (max-width: 599px) {
  .post_content .hall-lists h3.hall-name.hall-name-small {
    font-size: 0.85rem !important;
    position: relative;
    top: 0.25em;
    white-space: nowrap;
    height: 1.96rem;
  }
}

.hall-congestion-status-text {
  padding: 0.5rem 0 !important;
  background-size: 1rem 1rem;
  border-radius: 1rem;
}
@media (min-width: 600px) {
  .hall-congestion-status-text {
    width: fit-content;
    padding: 0.5rem 1.5rem !important;
    white-space: nowrap;
    margin: 0 auto;
  }
}

/* -------------------------------------------
 * 斎場一覧（.hall-lists）内の空ボックスを非表示
 * ------------------------------------------- */

/* 1. 子要素が全くない、またはスペース・改行のみのボックスを非表示 */
.hall-lists .swell-block-column:empty,
.hall-lists .swell-block-column:not(:has(*)) {
  display: none !important;
}

/* 2. （念のため）WPの仕様で空の<p></p>や<br>だけが入ってしまった場合も非表示 */
.hall-lists .swell-block-column:has(> p:only-child:empty),
.hall-lists .swell-block-column:has(> br:only-child) {
  display: none !important;
}

/* 葬儀社リスト */
.ranking-table-list {
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 0px 15px !important;
}
.ranking-table-list > * {
  white-space: nowrap !important;
}

/* コラム最下部の内部リンク */
.p-blogParts[data-partsid="6409"] h2 {
  font-size: 1.6rem !important;
  padding: 0.5em 0 !important;
  margin-bottom: 0 !important;
}

/* あなたに最適な[spbr]葬儀のカタチは？の表 */
.average-cost-column .swell-block-columns__inner {
  justify-content: center;
}
.funeral-home-hukidashi {
  width: fit-content;
  position: absolute;
  left: 5%;
  bottom: 1.75em;
}
.average-cost-column .average-cost-column-right {
  position: relative;
}
.arrow-bottom-icon {
  position: absolute;
  width: 2rem;
  left: calc(50% - 1.5rem);
}
.funeral-home-average-cost .u-fz-xs {
  margin: 0.25em;
}
@media (max-width: 959px) {
  .funeral-home-hukidashi {
    left: 2.5vw;
    bottom: 9.5rem;
  }
  .arrow-bottom-icon {
    bottom: -1.5rem;
    left: calc(20% - 1.75rem);
  }
}
@media (min-width: 600px) {
  .funeral-home-average-cost {
    font-size: 1.2em !important;
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  .funeral-home-hukidashi {
    left: calc(50% - 13.5em);
  }
  .arrow-bottom-icon {
    width: 2.5rem;
    bottom: -35%;
  }
}
@media (max-width: 599px) {
  .funeral-home-average-cost {
    position: relative;
  }
  .funeral-home-average-cost sup {
    position: absolute;
    top: 1em;
    right: 0;
  }
}

/* 提携のお問い合わせフォーム（CF7「お問い合わせ_提携」）：お問い合わせページ(page-contact.css)と同じ見た目にする */
.partner-form .essential, .partner-form .option {
  font-weight: 400; color: #fff;
  padding: 0.2rem 0.5rem 0.25rem;
  border-radius: 0.5rem;
  margin-left: 3px !important;
  line-height: 1;
  display: inline-block;
  background-color: #ff0000;
}
.partner-form .option { background-color: #105416; }

.partner-form label.bold {
  margin: 1.25rem 0 0.25rem !important;
  display: block;
  font-size: 1.1em !important;
}

.partner-form input.wpcf7-form-control, .partner-form textarea.wpcf7-form-control {
  font-family: inherit;
  border: 2px solid #ccc;
  padding: 0.5rem 0.75rem 0.6rem;
  width: 100%;
  border-radius: 0.75rem;
}
@media (min-width: 600px) {
  .partner-form input.wpcf7-form-control, .partner-form textarea.wpcf7-form-control { padding: 10px; }
}
.partner-form textarea.wpcf7-form-control { height: 200px; }
.partner-form span.wpcf7-list-item { display: block; }

/* 「会社名と同じ」のチェック中は、葬儀社名が自動で入っていることがわかるようにグレーにする */
.partner-form input[readonly] { background-color: #f2f2f2; color: #555; }
.partner-form .wpcf7-form-control-wrap[data-name="same-as-company"] { display: block; margin-bottom: 0.25rem; }

.partner-form p > .wpcf7-submit {
  color: #fff !important;
  background: linear-gradient(100deg, var(--color_main) 100%, var(--color_main_thin) 100%) !important;
  border: none;
  transition: 0.3s;
  border-radius: 0.25rem;
  box-shadow: 0 0.25rem 0 var(--color_main_dark);
  width: 80%;
  margin-top: 2rem;
  margin-left: 10%;
  height: 5rem;
}
.partner-form p > .wpcf7-submit:hover {
  box-shadow: none;
  transition: 0.3s;
  border: none;
  margin-top: 2rem;
  margin-bottom: 0;
}

/* ==========================================================
   全国葬儀社ランキング 独自（kawai 2026-11-10）
   ========================================================== */
/* 文字のロゴの左に、紺の丸い王冠アイコン */
.c-headLogo.-txt .c-headLogo__link { display: inline-flex; align-items: center; gap: .45em; }
.c-headLogo.-txt .c-headLogo__link::before {
	content: ""; flex: 0 0 auto; width: 1.55em; height: 1.55em; border-radius: 50%;
	background: var(--color_main) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8l4.5 4L12 5l4.5 7L21 8l-2 10H5z' fill='%23fff'/%3E%3Crect x='5' y='19' width='14' height='2' rx='1' fill='%23fff'/%3E%3C/svg%3E") center / 62% no-repeat;
}
/* ロゴの文字を 1 行に（画像ロゴ用の幅指定を外す） */
.l-header .c-headLogo.-txt { width: auto; max-width: none; }
.c-headLogo.-txt .c-headLogo__link { white-space: nowrap; }

/* 著者・監修者（各ページは小さく。詳しいプロフィールは /supervisors/） */
.kawai-authors { margin: 1.5em 0; padding: 12px 14px; background: #fff; border: 1px solid #e3e1da; border-radius: 12px; }
.kawai-authors__ttl { margin: 0 0 8px !important; font-size: .8rem; font-weight: 700; color: var(--color_htag); }
.kawai-authors__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px 14px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.kawai-authors__item { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
.kawai-authors__item::before { display: none !important; }
.kawai-authors__item img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: #f3f2ef; }
.kawai-authors__txt { display: flex; flex-direction: column; line-height: 1.35; font-size: .8rem; }
.kawai-authors__txt small { font-size: .68rem; color: #7a6f5c; }
.kawai-authors__role { display: inline-block; width: fit-content; margin-bottom: 2px; padding: 0 6px; border-radius: 99px; background: var(--color_main); color: #fff; font-size: .62rem; font-weight: 700; }
.kawai-authors__more { margin: 8px 0 0 !important; text-align: right; font-size: .75rem; }
.kawai-authors__more a::after, .kawai-operator__link::after { content: " ›"; }

/* 運営者ボックス（記事下） */
.kawai-operator { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 2em 0 1em; padding: 12px 16px; background: var(--color_bg, #fff); border: 1px solid #e3e1da; border-radius: 12px; font-size: .85rem; }
.kawai-operator__label { padding: 1px 8px; border-radius: 99px; background: var(--color_main); color: #fff; font-size: .7rem; font-weight: 700; }
.kawai-operator__name { font-weight: 700; color: var(--color_htag); }
.kawai-operator__link { margin-left: auto; font-size: .8rem; }

/* ヘッダーナビ：ロゴの横に並べるので、本体由来のうすい紺の背景を外す */
.l-header.-series #gnav { background-color: transparent; }

/* 下書きの【要確認】（公開前に消す） */
.post_content .kawai-tbd { padding: 10px 14px !important; border: 2px dashed #ce4a2f; border-radius: 8px; background: #fff4f1; color: #8a2a17; font-size: .85em; }

/* ランキングページから基礎知識・調査方法へのリンク */
.post_content .kawai-guide-link { margin: 1em 0 1.5em !important; text-align: right; font-weight: 700; font-size: .95em; }
.post_content .kawai-guide-link a { color: var(--color_main); text-decoration: none; border-bottom: 1px solid currentColor; }
.post_content .kawai-guide-link a::after { content: " ›"; }

/* 執筆者・監修者ページのプロフィール */
.kawai-person { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 1.5em; }
.kawai-person img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: #f3f2ef; }
.post_content .kawai-person__ttl { margin: 0 0 .4em !important; font-weight: 700; color: var(--color_htag); }
@media (max-width: 599px) { .kawai-person { flex-direction: column; align-items: center; } }

/* ランキングページ「ひと目でわかるTOP3」（デザイン案 3） */
.sr-top3 { margin: 1.8em 0 2.2em; }
.post_content .sr-top3__label { position: relative; z-index: 1; margin: 0 0 -10px !important; text-align: center; }
.sr-top3__pill { position: relative; display: inline-block; padding: 4px 18px; border-radius: 999px; background: var(--color_main); color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.sr-top3__pill::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-bottom: 0; border-top-color: var(--color_main); }
.post_content .sr-top3__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: none; }
.sr-top3[data-n="2"] .sr-top3__list { grid-template-columns: repeat(2, 1fr); }
.sr-top3[data-n="1"] .sr-top3__list { grid-template-columns: minmax(0, 420px); justify-content: center; }
.post_content .sr-top3__card { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 18px 12px 12px !important; background: #fff; border: 1px solid #e3e1da; border-radius: 12px; box-shadow: 0 2px 10px rgba(56,43,19,.06); }
.post_content .sr-top3__card::before { display: none !important; }
.sr-top3__head { display: flex; gap: 10px; align-items: flex-start; }
.sr-top3__rank { flex: 0 0 auto; display: flex; align-items: baseline; justify-content: center; width: 38px; height: 38px; padding-top: 6px; border-radius: 50%; background: var(--color_main); color: #fff; font-size: 1.05rem; font-weight: 700; line-height: 1; }
.sr-top3__rank small { font-size: .55em; margin-left: 1px; }
.sr-top3__rank.-r1 { background: linear-gradient(135deg, #e0b84a, #b8891f); }
.sr-top3__rank.-r2 { background: linear-gradient(135deg, #b9c0cc, #8d96a6); }
.sr-top3__rank.-r3 { background: linear-gradient(135deg, #c98d5a, #9c6235); }
.sr-top3__who { min-width: 0; }
.post_content .sr-top3__name { margin: 0 !important; color: var(--color_htag); font-size: .95rem; font-weight: 700; line-height: 1.4; }
.post_content .sr-top3__score { margin: 3px 0 0 !important; font-size: .8rem; line-height: 1.4; }
.sr-top3__cnt { color: #7a6f5c; font-size: .9em; }
.post_content .sr-top3__fees { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0 !important; }
.sr-top3__fees > div { padding: 6px 2px; border-radius: 6px; background: #f7f6f2; text-align: center; }
.post_content .sr-top3__fees dt { margin: 0 !important; color: #7a6f5c; font-size: .62rem; font-weight: 700; }
.post_content .sr-top3__fees dd { margin: 0 !important; color: var(--color_text); font-size: .82rem; font-weight: 700; line-height: 1.3; }
.sr-top3__fees .sr-yen { display: block; font-size: .6rem; font-weight: 500; }
.post_content .sr-top3__tel { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: auto; padding: 9px 8px; border-radius: 999px; background: var(--color_main); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.sr-top3__tel::before { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.post_content .sr-top3__more { margin: 10px 0 0 !important; text-align: right; font-size: .85rem; font-weight: 700; }
.sr-top3__more a { color: var(--color_main); text-decoration: none; }
.sr-top3__more a::after { content: " ›"; }
@media (max-width: 599px) {
	.post_content .sr-top3__list, .sr-top3[data-n="2"] .sr-top3__list { grid-template-columns: 1fr; }
	.post_content .sr-top3__card { padding: 16px 12px 12px !important; }
}
