@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
*/

/* サイト全体の設定 */
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-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;
}

/* ふきだしブロック表示崩れ修正 */
#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 td,
.wp-block-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;
  }
}

/* フローティングバナー */
.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__inner {
    width: 72vw !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.75rem !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;
}
@media (min-width: 960px) {
  .-parallel .l-header__logo {
    width: 20%;
    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.75rem !important;
  }
  .top-subbutton .swell-block-button__link {
    padding: 0.25rem 1.5rem 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 32px;
  }
  .-parallel .l-header__logo {
    padding-left: 32px;
  }
}
@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;
  }
}

/* その他 */
#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;
}

/* 追加費用になりやすい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;
}
.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;
}
@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-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;
}
