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

/* デバイス別表示制御 */
@media (max-width: 460px) {
  .pc {
    display: none !important
  }
}
@media (min-width: 461px) {
  .sp {
    display: none !important
  }
}

/* reCAPTCHAロゴ非表示 */
.grecaptcha-badge { visibility: hidden; }

/* フッター直前ウィジェット余白削除*/
.w-beforeFooter {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* フッターPCウィジェット余白削除*/
@media not all and (min-width: 960px) {
    .l-footer__widgetArea, .w-footer__box {
        padding: 0!important;
    }
}

/* SPハンバーガーメニュー内のリンク非表示→ブログパーツ置換 */
.-spmenu, .p-spMenu__nav {
	display: none;
}
.p-spMenu__body{
	padding: 0 0 1em!important;
}
.p-spMenu__body a{
	text-decoration:none!important;
}	
.p-spMenu__bottom {
    margin-top: 1em!important;
}

/* 共通 */
/* テキストリンク装飾 */
p a {
	text-decoration:underline;
    text-underline-offset: 3px;
}
p a:hover {
	text-decoration:none;
    opacity: 0.8;
}
a.target {
      text-decoration: none;
	  color:#333!important;
	  position: relative;
    }
a.target::after {
      font-family: "Font Awesome 6 Free";
      font-weight: 900; 
      content: "\f08e";
      width: 10px;
      height: auto;
      display: inline-block;
      margin-left: 5px;
      }
a.direct {
      text-decoration: none;
	  color:#333!important;
	  position: relative;
    }

/* SWELLボタン追加カラー */
.orange_ {
    --the-btn-color: #fa9b3c;
    --the-btn-color2: #fcaf67;
    --the-solid-shadow: rgba(74,162,53,1);
}
.dark-green_ {
    --the-btn-color: #37965f;
    --the-btn-color2: #71ba8f;
    --the-solid-shadow: rgba(74,162,53,1);
}
.light-pink_ {
    --the-btn-color: #ff867d;
    --the-btn-color2: #fcbcb8;
    --the-solid-shadow: rgba(74,162,53,1);
}
.light-green_ {
    --the-btn-color: #96c153;
    --the-btn-color2: #bed39c;
    --the-solid-shadow: rgba(74,162,53,1);
}
.light-purple_ {
    --the-btn-color: #a285bb;
    --the-btn-color2: #c5b6d3;
    --the-solid-shadow: rgba(74,162,53,1);
}

/* SWELLボーダー追加カラー */
.bd_orange_ {
	border:2px solid #fa9b3c!important;
}
.bd_dark-green_ {
	border:2px solid #37965f!important;
}
.bd_pink_ {
	border:2px solid #fc92b2!important;
}
.bd_thin-pink_ {
	border:2px solid #fad7e2!important;
}
.bd_light-pink_ {
	border:2px solid #ff867d!important;
}
.bd_light-green_ {
	border:2px solid #8bbc42!important;
}
.bd_purple_ {
	border:2px solid #a285bb!important;
}

/* 背景カラー */
.bgc_white_ {
	background-color:#FFF!important;
	background:#FFF!important;
}
.bgc_thin-pink_ {
	background-color:#fae6f0!important;
	background:#fae6f0!important;
}
.bgc_light-pink_ {
	background-color:#f9e9e8!important;
	background:#f9e9e8!important;
}
.bgc_light-green_ {
	background-color:#f4fee3!important;
	background:#f4fee3!important;
}
.bgc_light-purple_ {
	background-color:#f0e6f5!important;
	background:#f0e6f5!important;
}

/* padding */
.pa0{
	padding:0!important;
}
.pa10{
	padding:1em!important;
}
.pa20{
	padding:2em!important;
}
.pa30{
	padding:3em!important;
}
.pa40{
	padding:4em!important;
}
.pt10{
	padding-top:1em!important;
}
.pt20{
	padding-top:2em!important;
}
.pt30{
	padding-top:3em!important;
}
.pt40{
	padding-top:4em!important;
}
.pb10{
	padding-bottom:1em!important;
}
.pb20{
	padding-bottom:2em!important;
}
.pb30{
	padding-bottom:3em!important;
}
.pb40{
	padding-bottom:4em!important;
}
.pr10{
	padding-right:1em!important;
}
.pr20{
	padding-right:2em!important;
}
.pr30{
	padding-right:3em!important;
}
.pl10{
	padding-left:1em!important;
}
.pl20{
	padding-left:2em!important;
}
.pl30{
	padding-left:3em!important;
}

/** 箇所指定padding */
.faq_pd{
	padding:3em 10em;
}
@media screen and (max-width: 768px) {
    .faq_pd {
        padding:1em;
    }
}

/* margin */
.mr10{
	margin-right:1em!important;
}
.mr20{
	margin-right:2em!important;
}
.mr30{
	margin-right:3em!important;
}
.ml10{
	margin-left:1em!important;
}
.ml20{
	margin-left:2em!important;
}
.ml30{
	margin-left:3em!important;
}

/* 角丸 */
.br10{
	border-radius: 1em!important;
	overflow: hidden;
}
.br20{
	border-radius: 2em!important;
	overflow: hidden;
}
.br30{
	border-radius: 3em!important;
	overflow: hidden;
}

/* 固定ページ最上部にヒーローイメージ */
.p-hero-fv {
    position: relative;
	z-index:1;
}
.p-hero-fv__copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-hero-fv__copy img {
        min-width: 300px;
        height: auto;
    }
}
/** ヒーローイメージ：3枚スライド */
.p-hero-fv .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    box-sizing: content-box;
	margin-bottom:-10px!important;
}
@media only screen and (max-width: 1023.9px) {
    .p-hero-fv .swiper-wrapper{
        height: calc(100svh - 159px);
    }
}
.p-hero-fv .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/** ヒーローイメージ：1枚画像 */
.no-swiper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
	justify-content: center;
    box-sizing: content-box;
}
@media only screen and (max-width: 1023.9px) {
    .no-swiper{
        height: calc(100svh - 159px);
    }
}
.p-hero-fv img.no-swiper {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/** ヒーローイメージ内のバナー */
.p-hero-fv__banner {
	position: absolute;
	left: 50%;
	bottom: 1%;
	transform: translateX(-50%);
	z-index: 2;
	width: min(65%, 600px); /* PCでの横幅 */
}
.p-hero-fv__banner-link {
	display: block;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
.p-hero-fv__banner-link img{
	border:2px solid #fff;
}
@media screen and (max-width: 768px) {
	.p-hero-fv__banner {
		bottom: 6%;
		width: 90%; /* SPでの横幅 */
	}
}


/* 左右端 花付背景 */
.data-bg{
    position: relative;
    background: #fae6f0;
    mix-blend-mode: multiply;
	overflow: hidden;
}
.data-bg:before, .data-bg::after {
    content: "";
    opacity: .2;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    mix-blend-mode: multiply;
    z-index: -10;
    width: 1440px;
    height: 720px;
    pointer-events: none;
}
.data-bg:before {
    background-image: url(/wp-content/uploads/2025/10/flower_bg_left.png);
    left: 0;
    bottom: 0;
}
.data-bg::after {
    background-image: url(/wp-content/uploads/2025/10/flower_bg_right.png);
    top: 0;
    right: 0;
}
@media only screen and (max-width: 1023.9px) {
.data-bg:before, .data-bg::after {
    width: 375px;
    height: 187px;
}
}

/* 会社概要 - 詳細テーブル */
   .company-info {
      margin: 0 auto 4em;
    }
    .info-row {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid #ccc;
      padding: 1rem 0;
    }
    .info-label {
      width: 100%;
      max-width: 160px;
      font-weight: bold;
      color: #000;
	  white-space:nowrap;
    }
    .info-content {
      flex: 1;
      color: #333;
    }
    .info-content a {
      text-decoration: none;
	  color:#333!important;
	  position: relative;
    }
    .info-content a::after {
      font-family: "Font Awesome 6 Free";
      font-weight: 900; 
      content: "\f08e";
      width: 10px;
      height: auto;
      display: inline-block;
      margin-left: 5px;
      }
    .info-content a.direct {
      text-decoration: none;
	  color:#333!important;
	  position: relative;
    }
    .info-content a.direct::after {
      font-family: auto;
      font-weight: 900; 
      content: "";
      width: 0;
      height: auto;
      display: inline-block;
      margin-left: 0;
      }
    @media (max-width: 600px) {
      .info-row {
        flex-direction: column;
      }
      .info-label {
        max-width: 100%;
        margin-bottom: 0.5rem;
      }
    }

/* テーブル */
/** 霊園の特長 */
.table_charm table {
	border-collapse: collapse;
	border: 1px solid #FC92B2!important;
}
.table_charm td {
	border:1px solid #FC92B2!important;
}
/** 樹木葬 */
.table_fureai-tenku table {
	border-collapse: collapse;
	border: 1px solid #ff867d!important;
}
.table_fureai-tenku td {
	border:1px solid #ff867d!important;
}
/** 一般墓 */
.table_general table {
	border-collapse: collapse;
	border: 1px solid #8bbc42!important;
}
.table_general td {
	border:1px solid #8bbc42!important;
}
/** 古墳墓 */
.table_kofun table {
	border-collapse: collapse;
	border: 1px solid #A285BB!important;
}
.table_kofun td {
	border:1px solid #A285BB!important;
}
/** スマホヘッダーメニュー */
.table_spheader table {
	border-collapse: collapse;
	border: 1px solid #7D8F64!important;
}
.table_spheader td {
	border:1px solid #7D8F64!important;
}

/* おすすめの方 */
.c-tip {
    margin-top: 24px;
    position: relative;
    padding: 4px 12px;
    background: #fff;
    color: #ff867d;
    border: 2px solid;
    font-size: 18px;
    border-radius: 8px;
    width: fit-content;
    min-width: 132px;
    margin-inline:auto;text-align: center
}
@media only screen and (max-width: 1023.9px) {
    .c-tip {
        font-size:16px;
        min-width: 120px;
        padding-inline:7px}
}
.c-tip:before,.c-tip:after {
    position: absolute;
    top: 100%;
    left: 50%;
    height: 0;
    width: 0;
    border: solid rgba(0,0,0,0);
    content: ""
}
.c-tip:before {
    margin-left: -11px;
    border-color: rgba(0,0,0,0);
    border-top-color: var(--red);
    border-width: 11px
}
.c-tip:after {
    margin-left: -8px;
    border-color: rgba(0,0,0,0);
    border-top-color: #fff;
    border-width: 8px
}

/* 交通アクセス - 時刻表 */
.p-common-access__bus-schedule {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
.p-common-access__bus-schedule thead .bg-none {
    background: none;
    border: none;
}
.p-common-access__bus-schedule thead th.bg-holiday {
    background: #ffd9e0;
}
.p-common-access__bus-schedule thead th {
    background: #daecfc;
    color: #333;
    text-align: center;
    font-weight:normal;
}
.p-common-access__bus-schedule th {
    padding-block: 4px;
    text-align: center;
    font-size:0.9em;
    font-weight:normal;
    white-space:nowrap;
}
.p-common-access__bus-schedule tr.even {
    background-color:#fff;
}
.p-common-access__bus-schedule tr.odd {
    background-color:#a5d2b4;
}
.p-common-access__bus-schedule tr.odd_pink {
    background-color:#fad7e2;
}
.p-common-access__bus-schedule tr.odd_light-pink {
    background-color:#ffd5d2;
}
.p-common-access__bus-schedule tr.odd_light-green {
    background-color:#cbe1aa;
}
.p-common-access__bus-schedule tr.odd_light-purple {
    background-color:#e1d0ea;
}
.p-common-access__bus-schedule td {
    padding-block: 4px;
    text-align: center;
    font-size:0.9em;
    white-space:nowrap;
}
.p-common-access__bus-schedule thead th.bg-white {
    background: #fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-green {
    background: #37965f;
    color:#fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-pink {
    background: #fc92b2;
    color:#fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-light-pink {
    background: #ff867d;
    color:#fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-purple {
    background: #a285bb;
    color:#fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-light-green {
    background: #8bbc42;
    color:#fff;
    width: 25%;
}
.p-common-access__bus-schedule thead th.bg-white_sp {
    background: #fff;
    width: 40%;
}
.p-common-access__bus-schedule thead th.bg-green_sp {
    background: #37965f;
    color:#fff;
    width: 40%;
}
.p-common-access__bus-schedule thead th.bg-pink_sp {
    background: #fc92b2;
    color:#fff;
    width: 40%;
}
.p-common-access__bus-schedule thead th.bg-light-pink_sp {
    background: #ff867d;
    color:#fff;
    width: 40%;
}
.p-common-access__bus-schedule thead th.bg-light-green_sp {
    background: #8bbc42;
    color:#fff;
    width: 40%;
}
.p-common-access__bus-schedule thead th.bg-purple_sp {
    background: #a285bb;
    color:#fff;
    width: 40%;
}

/* 問い合わせフォーム */
.form{
	width:100%
}
.form-group{
	margin-bottom:2em;
	padding-bottom:1em;
	border-bottom:1px dashed #fc92b2;
}
.form-group h3.form-label{
	font-size:1.2rem;
	margin:0;
	padding:0 0 1em;
}
.form-group h3.form-label::before{
	background:none;
}
.form-required::after{
	content:"必須";
	background:#e23d3d;
	color:#fff;
	font-size:12px;
	font-weight:700;
	line-height:140%;
	margin-left:18px;
	padding:4px 8px
}
.form-group ul {
	list-style: none;
	padding:0.5em 0 0 1em;
}
.form-group li.form-group-note{
	font-size:0.9rem;
	text-indent: -1em;
}
.form-group input[type=text],input[type=email],input[type=tel],input[type=number],textarea{
	display:block;
	width:100%;
	border:1px solid #484848;
	padding:10px;
	line-height:1
}
.form-group p.form-note{
	font-size:1rem;
	margin-bottom:20px;
}
.wpcf7-list-item label{
	cursor:pointer;
}
.wpcf7-form-control.wpcf7-radio {
  display: block !important;
}
.wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
	display: block !important;
	font-size:18px;
	margin:0 0 0.5em 0.3em!important;
	padding:0!important;
}
.wpcf7-form-control.wpcf7-radio input[type="radio"] {
	transform: scale(1.5);
	margin-right: 6px;
	cursor:pointer;
}
.wpcf7-form-control.wpcf7-checkbox {
  display: block !important;
}
.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
	display: block !important;
	font-size:18px;
	margin:0 0 0.5em 0.3em!important;
	padding:0!important;
}
.wpcf7-form-control.wpcf7-checkbox input[type="checkbox"] {
	transform: scale(1.5);
	margin-right: 6px;
	cursor:pointer;
}
.form-check-row{
	font-size:18px;
	text-align:center;
}
.form-check-row input[type="checkbox"] {
	transform: scale(1.5);
	margin-right: 6px;
	cursor:pointer;
}
.form-action{
	text-align:center;
	margin-top:60px
}
.form-action p{
	margin:0!important;
	padding:0!important;
}
/* SWELLボタンデザインをinput[type="submit"]に適用 */
.form-action input[type="submit"],
.form-action button[type="submit"] {
  display: inline-block;
  padding: 0.8em 4em;
  border-radius: 5px;
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.4;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: var(--color_main, #fc92b2); /* SWELLのメインカラー変数 */
  color: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
/* ホバー時のスタイル（SWELL風の浮き上がり） */
.form-action input[type="submit"]:hover,
.form-action button[type="submit"]:hover {
  box-shadow: 0 10px 12px rgba(0,0,0,0.15);
}
.wpcf7-spinner{
	display:block!important;
	margin:1em auto 0;	
}
