/*
Theme Name: tenlai ver2019 (wp-bootstrap-starter Child)
Theme URI: --
Description: --
Author: --
Author URI: --
Template: wp-bootstrap-starter
*/

/*
lg -> xl 1200px以上
md -> lg 992px以上
sm -> md 768px以上
xs -> sm 576px以上
-    (xs) 576px未満
*/

:root{
	--color-main:#011645;
	--color-pink:#ff7d9a;
	--color-light-orange:#ffefe3;
	--color-gray-b:#f1efeb;
	--color-sky-blue:#e5ffff;
	--color-yellow:#ffc700;
	
	--color-purple:rgba(97,31,125,1);
	--color-purple-alpha:rgba(97,31,125,.2);
	
	--color-deep-red:#be2864;

	--color-moss-green:#28a08c;

	--color-brown:rgba(194,134,0,1); /* #c28600 */
	--color-brown-alpha:rgba(194,134,0,.2);
	--color-green:rgba(50,131,69,1); /* #328345 */
	--color-green-alpha:rgba(50,131,69,.2);
	--color-violet:rgba(199,21,133,1); /* #c71585 */
	--color-violet-alpha:rgba(199,21,133,.2);
}

.c-white{color:white;}
.c-base{color:#f0f2f8;}
.c-blue{color:#1d325e;}
.c-red{color:#cd0e25;}
.c-orng{color:#e9934d !important;}
.c-pink{color:var(--color-pink);}
.c-yellow{color:var(--color-yellow);}
.c-purple{color:var(--color-purple) !important;}
.c-brown{color:var(--color-brown) !important;}
.c-green{color:var(--color-green) !important;}
.c-violet{color:var(--color-violet) !important;}

.bg-base{background-color:#f0f2f8;}
.bg-blue{background-color:#1d325e !important;}
.bg-beige{background-color:#fffbf2;}
.bg-red{background-color:#cd0e25;}
.bg-yellow{background-color:#fcc02f;}
.bg-light-blue{background-color:#2a467c !important;}
.bg-light-orange{background-color:var(--color-light-orange);}
.bg-sky-blue{background-color:var(--color-sky-blue);}

.box-blue{border:4px solid #1d325e; padding:1rem;}

.page-content, .entry-content, .entry-summary{margin:0;}
/*
h1, h2, h3, h4, h5, h6{margin-top:0;}

#page{background-color:white;}
*/

.gf-os{font-family: 'Open Sans', serif/* sans-serif; */;}
.gf-os-public{display:none;}

.link-off{
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

/*--------------------------------------------------------------
# common
--------------------------------------------------------------*/
html{font-size:16px;}
body{}
a{text-decoration: underline;}
a.nav-link{text-decoration: none;}
#content{background-color:var(--color-light-orange)/* #f0f2f8 */; line-height:1.8;}

#content.site-content{padding:0;}

.contents-block{padding:15px; margin-bottom:15px; background-color:white; position:relative;}
.contents{padding-top:20px; padding-bottom:20px;}

@media (min-width: 992px) {
    article .contents-block:first-child{top:-5rem;}
}

article>.contents.container,
.entry-content>.contents.container{margin-bottom:36px; background-color:white; position:relative;}

header.entry-header{margin-bottom:3rem;}

.sidebar-contents>.row>*{padding-left:15px; padding-right:15px;}
.sidebar-contents .content-area{flex:1;}

.icon-top-logomark{
    padding-top:50px !important;
    position:relative;
    overflow:hidden;
}
.icon-top-logomark::before{
    content:"";
    display:block;
    width:300px;
    height:300px;
    background:#1d325e url(images/logo-mark-w.png) center 98% no-repeat;
    background-size:34px;
    position:absolute;
    top:0;
    left:50%;
    border-radius:150px;
    transform:translate(-50%, -81%);
    opacity:.9;
}
.list-item-block span.wpcf7-list-item {
    display: block;
}
.input-number-2 {
    width: 3rem;
}

/*
@media (max-width: 991px){
    .container{max-width:100% !important;}
}
*/
@media (min-width: 992px){
    .contents-block{padding:30px; margin-bottom:36px;}
    .contents{padding-top:40px; padding-bottom:40px;}
    .home .contents{padding-top:80px; padding-bottom:80px;}
/*
    .contents-block,
    article>.contents.container,
    .entry-content>.contents.container{padding:32px;}
*/
}
@media (max-width: 991px){
    .home .container{max-width:100%;}
}
@media (max-width: 575px){
/*     html{font-size:13px;} */
    .contents-block{margin-left:-15px; margin-right:-15px;}
}

.row.wide-row{margin-left:-30px; margin-right:-30px;}
.row.wide-row>*{padding-left:30px; padding-right:30px;}

.row.thin-row{margin-left:-5px; margin-right:-5px;}
.row.thin-row>*{padding-left:5px; padding-right:5px;}

.thin{max-width:740px; width:100%; margin-left:auto; margin-right:auto;}
.child-flex>*{display:flex;}

a{color:#1d325e;}
a.disabled{pointer-events: none;cursor: default;}
img{max-width:100%; width:auto; height:auto;}

img.fix-400x150{
    max-width:400px;
    max-height:140px;
    width:100%;
    height:auto;
    object-fit:cover;
}
@media (max-width: 767px){
    img.fix-400x150{height:100px;}
}

.card p:last-child{margin-bottom:0;}
.card{border:2px solid #1d325e; background-color:#f0f2f8;}


dl.def{line-height:1.5rem;}
dl.def dt{width:8rem;}
dl.def dd{margin:-1.5rem 0 .5rem; padding:0 .5rem .5rem 10rem; border-bottom:1px solid rgba(29,50,94,.2);}

dl.def.jobs dt,
dl.def.houji dt{width:12rem;}
dl.def.jobs dd,
dl.def.houji dd{margin:-1.5rem 0 .5rem; padding:0 .5rem .5rem 14rem;}
dl.def.jobs dd{font-size:.8rem;}

dl.def.voice dt{width:3.5rem;}
dl.def.voice dd{padding-left:4rem;}
dl.def.voice dd span{margin-right:1rem;}

dl.def.houji dt span{margin-left:1rem;}
@media (max-width: 767px){
    dl.def:not(.fix) dt{width:auto; margin-bottom:.5rem;}
    dl.def:not(.fix) dd{margin:0 0 .5rem; padding:0 0 .5rem;}
}

.gallery img{border:1px solid white;}

.blur {
    position: relative;
}

.blur::after {
    content: '';
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    box-shadow: inset 0px 0px 10px 10px #fff;
}

/*--------------------------------------------------------------
# button
--------------------------------------------------------------*/
.btn{
    border-radius:0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    text-decoration: none;
}
.btn-lg{padding:1rem 2rem; }
.btn-dark{
    color:white;
    background-color:#1d325e;
    border-color:#1d325e;
}
.btn-dark:hover{
    color:white;
    background-color:#1d325e;
    border-color:#1d325e;
    opacity:.7;
}
.btn-dark .fa-b-arrow::before{color:white;}

.btn-outline-dark{
    color:#1d325e;
    border-color:#1d325e;
    padding:1rem;
}
.btn-outline-dark:hover{
    color:white;
    background-color:#1d325e;
    border-color:#1d325e;
}
.btn-outline-dark:hover .fa-b-arrow::before{color:white;}
.btn-outline-dark.btn-sm{padding:.25rem .5rem;}

.plan-box .btn,
.btn-purple{
    color:white;
    background-color:var(--color-purple);
    border-color:var(--color-purple);;
}
.plan-box .btn:hover,
.btn-purple:hover{
    color:white;
    background-color:var(--color-purple);;
    border-color:var(--color-purple);;
    opacity:.7;
}

.plan-box.plan-familyplan .btn,
.btn-brown{
    color:white;
    background-color:var(--color-brown);
    border-color:var(--color-brown);
}
.plan-box.plan-familyplan .btn:hover,
.btn-brown:hover{
    color:white;
    background-color:var(--color-brown);
    border-color:var(--color-brown);
    opacity:.7;
}

.plan-box.plan-ceremonyplan .btn,
.btn-green{
    color:white;
    background-color:var(--color-green);
    border-color:var(--color-green);
}
.plan-box.plan-ceremonyplan .btn:hover,
.btn-green:hover{
    color:white;
    background-color:var(--color-green);
    border-color:var(--color-green);
    opacity:.7;
}

.plan-box.plan-ceremony-premiumplan .btn,
.btn-green{
    color:white;
    background-color:var(--color-violet);
    border-color:var(--color-violet);
}
.plan-box.plan-ceremony-premiumplan .btn:hover,
.btn-green:hover{
    color:white;
    background-color:var(--color-violet);
    border-color:var(--color-violet);
    opacity:.7;
}

.btn-a-arrow::after,
[class*="fa-b-"]::before{
    font-family: "Font Awesome 5 Free";
    content: "";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    margin-right:.5rem;
}

.btn-a-arrow::after,
.fa-b-arrow::before{
    content: "\f138";
/*     color:#1d325e; */
    font-weight:900;
}
.btn-a-arrow{position:relative; padding-right:3rem;}
.btn-a-arrow::after{
    margin-right:0;
    position:absolute;
    top:50%;
    transform:translate(0, -50%);
    right:1rem;
}
.btn-warning{
    color:#1d325e;
    background-color:#fcc02f;
}
.btn-danger{
    color:white;
    background-color:#cd0e25;
}
.btn-line-add {
    color:white;
    background-color:#00c300;
}
.btn-line-add:hover{
    color:white;
    background-color:#4ea12f;
}
.btn-line-add svg {
    margin-top: -5px;
    margin-right: 8px;
}
.img-kumotsu {
	border: 3px solid #8F98AD;
	margin-bottom: 1rem;
}
.input-number-2 {
    width: 3.5rem;
}

/*--------------------------------------------------------------
# header
--------------------------------------------------------------*/
#header_image{
    width:100%;
    height:400px;
}
/* #header_image>*{margin-top:-3rem; padding:1rem;  background:linear-gradient(90deg, rgba(0,0,0,0), rgba(255,255,255,.8) 50%, rgba(0,0,0,0));} */
#header_image h1{margin:0 0 .5rem; padding:0; font-size:5vw; color:#022a77; text-shadow: 1px 1px 1px white;}
#header_image p.lead{margin:0; font-weight:bold; font-size:2.25vw; color:#022a77; text-shadow: 1px 1px 0px white;}
#header_image p.lead-big{font-size:3vw;}
@media (min-width: 992px){
    #header_image h1{font-size:2.6rem;}
    #header_image p.lead{font-size:1.15rem;}
    #header_image p.lead-big{font-size:1.5rem;}
}

.home #header_image{
	align-items:center;
    width:100%;
    height:inherit;
    padding:10% 1rem 15%;
    background-image:url(images/home/cover.jpg);
    overflow:hidden;
}
.home #header_image>div{
	position:relative;
	z-index:1;
}
.home #header_image>div::before{
	content:'';
	display:block;
	width:180%;
	aspect-ratio:1 / 1;
	position:absolute;
	top:35%;
	left:50%;
	transform:translate(-50%,-50%);
	background:radial-gradient(rgba(255,255,255,.95), rgba(255,255,255,.85) 30%, rgba(218,247,228,.85) 40%, rgba(234,193,251,.7) 50%, rgba(255,255,255,0) 70%, rgba(255,255,255,0));
	z-index:-1;
}

.home #header_image h1{margin:0 0 .5rem; padding:0; font-size:80px; color:#022a77; text-shadow: 1px 1px 1px white;}
.home #header_image .h3{color:var(--color-moss-green); margin-bottom:2rem;}
.home #header_image .d-flex{gap:1rem;}

@media (min-width: 1200px){
	.home #header_image{padding:120px 1rem;}
	.home #header_image>div::before{width:240%;}
}
@media (max-width: 767px){
	.home #header_image h1{font-size:10vw;}
	.home #header_image>div::before{opacity:.8;}
}

/* FV: 地域名+家族葬（H1補足行） */
.home #header_image h1 .fv-area{
	display:block;
	font-size:1rem;
	font-weight:600;
	letter-spacing:.02em;
	margin-bottom:.5rem;
	color:var(--color-main);
	text-shadow:none;
}
@media (min-width: 768px){
	.home #header_image h1 .fv-area{font-size:1.15rem;}
}

/* グループ会社バナー用プレースホルダー（画像差し替え待ち） */
/* 既存の a[class*="bnr-"] { display:inline-block; } より詳細度で確実に上回るよう !important を付与 */
.bnr-placeholder{
	display:flex !important;
	text-align:center !important;
	outline:none !important;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	height:100%;
	min-height:110px;
	border:2px dashed #999;
	border-radius:4px;
	background-color:#f5f5f5;
	color:#555;
	text-decoration:none;
	padding:1rem;
}
.bnr-placeholder:hover{
	background-color:#eee;
	color:#555;
	text-decoration:none;
}
.bnr-placeholder-label{font-weight:700; font-size:1.1rem;}
.bnr-placeholder-note{font-size:.8rem; color:#888; margin-top:.25rem;}
/* #footer a{color:white;...} や #footer a:hover{background:transparent} より詳細度を上げて上書き */
#footer .bnr-placeholder{
	color:#555;
	text-decoration:none;
	background-color:#f5f5f5;
}
#footer .bnr-placeholder:hover{
	color:#555;
	text-decoration:none;
	background-color:#eee;
}
/* グループ会社バナー（画像確定後の本番表示用） */
/* 既存の a[class*="bnr-"] { display:inline-block; } より詳細度で確実に上回るよう !important を付与 */
.bnr-banner{
	display:flex !important;
	align-items:center;
	justify-content:center;
	outline:none !important;
	height:100%;
	min-height:110px;
	padding:.5rem;
}
.bnr-banner img{
	max-width:100%;
	max-height:90px;
	width:auto;
	height:auto;
}

#header{background-color:white;position: relative;z-index: 999;}
#header a{text-decoration: none;}

/* 供物注文ボタン */
.btn-kumotsu {
    position: absolute;
    z-index: 1;
    top: 175px;
    right: 3px;
    border-radius: .5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    color: white;
/*     background: linear-gradient(-60deg, #BA4065, #BA3FAE); */
    background: var(--color-purple);
    padding: 1rem .15rem;
    box-shadow: rgba(0, 0, 0, 0.5) 2px 2px 6px 0px, rgba(0, 0, 0, 0.01) 3px 3px 6px 0px;
    line-height: 1;
}
.btn-kumotsu:hover {
    color: white;
/*     background: linear-gradient(-60deg, #D44872, #D448C6); */
    opacity: .85;
}
.btn-kumotsu::before {
    content: '';
    width: 30px;
    height: 30px;
    background-color: white;
    transform: scale(1.2);
    -webkit-mask:url(images/icon-flowers.svg) no-repeat center/contain;
	mask:url(images/icon-flowers.svg) no-repeat center/contain;
}
.btn-kumotsu .text-container {
    text-align: left;
    font-weight: bold;
    writing-mode: vertical-rl;
}
@media (min-width: 992px){
    .navbar-brand-container {
        width: 100%;
    }
    .btn-kumotsu {
        padding: 1rem .4rem;
    }
}

#header .container {
    position:relative;
    z-index: 2;
    background: #fff;
}
.navbar-brand {margin-right:.5rem;}
.navbar-brand a{display:inline-block; width:190px;}

#gnavi{position:relative; z-index:100;}
#gnavi a{position:relative;}
#gnavi a::before{
    content:'';
    display:inline-block;
    width:40px;
    height:20px;
    margin:0 auto 5px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
}

#gnavi li.icon-arrow a::before{background-image:url(images/icon-arrow-r.svg);}
#gnavi li.icon-build a::before{background-image:url(images/icon-building.svg);}
#gnavi li.icon-hands a::before{background-image:url(images/icon-hands2.svg);}
#gnavi li.icon-home a::before{background-image:url(images/icon-home.svg);}
#gnavi li.icon-quest a::before{background-image:url(images/icon-question.svg);}
#gnavi li.icon-wallet a::before{background-image:url(images/icon-wallet.svg);}
#gnavi li.icon-voice a::before{background-image:url(images/icon-voice.svg);}
#gnavi li.icon-voice2 a::before{background-image:url(images/icon-voice2.svg);}

#subnavi li.tel-info{font-size:26px; padding:0; line-height:1.1;}
#subnavi li.tel-info a.nav-link{padding:0 .5rem; text-align:center;}
#subnavi li.btn-contact a.nav-link{color:white !important; background-color:#cd0e25; padding-left:2rem; padding-right:2rem; text-align:center;}

@media (min-width: 992px){
    #gnavi{width:100%; padding:12px 0; margin-bottom:-30px; box-shadow:0px 2px 10px rgba(0,0,0,0.4); background-color:white;}
    #gnavi li{border-right:1px solid #ccced3;}
    #gnavi li:last-child{border:none;}
    #gnavi a{padding-top:0; padding-bottom:0;}
    #gnavi a::before{
        display:block;
    }
    #subnavi{position:absolute; top:24px; right:0;}
    #subnavi li{display:flex;}
    #subnavi li>*{display:flex; flex-direction:column;}
    #subnavi li>a.nav-link {
	    align-self: center;
	}
    #fix-header{
        position:fixed;
        left:0;
        top:0;
        width:100%;
        background-color:white;
        z-index:11;
    }
    .admin-bar #fix-header{
        top:32px;
    }
    body{
        margin-top:129px;
    }
}
@media (max-width: 991px){
    #header-navi{padding-bottom:1rem;}
    #gnavi a,
    #subnavi a{text-align:left; padding-left:3rem;}
    #gnavi a::before{
        position:absolute;
        margin:0;
        top:.5rem;
        left:0;
    }
    #subnavi li.tel-info a.nav-link{padding:.5rem 0 1rem; border-top:1px solid #ccced3;}
    body {
        margin-top: 152px;
    }
    #fix-header{
        position:fixed;
        left:0;
        top:0;
        width:100%;
        background-color:white;
        z-index:11;
    }
    .admin-bar #fix-header {
        top: 46px;
    }
}
@media (max-width: 767px){
    .navbar-brand a{width:140px;}
    #header_image{height:150px;}
    body {
        margin-top: 132px;
    }
}

.tel-info{color:#1d325e; line-height:1.3; text-align:center;}
.tel-info span.fa-b-tel{display:block; color:#cd0e25; font-family:sans-serif; font-weight:bold;}
.tel-info span.fa-b-tel a{color:#cd0e25; text-decoration:none;}/* safari */
.tel-info span:first-child{font-size:49%;}
.fa-b-tel::before{
    content: "\f098";
    font-weight: 900;
}
.fa-b-mail::before {
    content: "\f0e0";
    font-weight: 900;
}

.tel-info{font-size:53px;}
@media(max-width: 1199px){
	.tel-info{font-size:43px;}
	#subnavi li.li-sns {
		display: none;
	}
}
@media(max-width: 991px){ .tel-info{font-size:36px;} }
@media(max-width: 575px){ .tel-info{font-size:31px;} }

/* mobile-navi mobile header menu
--------------------------------------------------------------*/
#mobile_navi .navbar-nav{flex-direction:row; gap:3px; padding:3px; background-color:var(--color-light-orange);}
#mobile_navi .navbar-nav li{flex:1;}
#mobile_navi a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	font-size:13px;
	color:white;
	border-radius:4px;
	background:linear-gradient(-60deg, #27A08C, #38BEAC);
}
#mobile_navi a span{display:none;}
#mobile_navi a::before{
	content:'';
	width:80%;
	height:20px;
	background-color:white;
	transform:scale(1.2);
}
#mobile_navi li.icon-hands a::before{
	transform:scale(1.4);
	-webkit-mask:url(images/icon-hands.svg) no-repeat center/contain;
	mask:url(images/icon-hands.svg) no-repeat center/contain;
}
#mobile_navi li.icon-wallet a::before{
	-webkit-mask:url(images/icon-wallet.svg) no-repeat center/contain;
	mask:url(images/icon-wallet.svg) no-repeat center/contain;
}
#mobile_navi li.icon-build a::before{
	-webkit-mask:url(images/icon-building.svg) no-repeat center/contain;
	mask:url(images/icon-building.svg) no-repeat center/contain;
}
#mobile_navi li.icon-tel a{
	background:linear-gradient(-60deg, #B9023A, #D30351);
}
#mobile_navi li.icon-tel a::before{
	-webkit-mask:url(images/icon-tel.svg) no-repeat center/contain;
	mask:url(images/icon-tel.svg) no-repeat center/contain;
}

@media(min-width: 992px){
	#mobile_navi{display:none;}
}


/* sidebar
--------------------------------------------------------------*/
#sidebar{max-width:200px; width:20%; margin-bottom:3rem;}
#sidebar .archives a.nav-link:hover{background-color:white;}

@media (max-width: 767px){
    #sidebar{max-width:inherit; width:100%;}
    #sidebar ul.archive-years{flex-direction:row !important;}
}

/* category
--------------------------------------------------------------*/
li.post.hentry{margin-bottom:0;}
.noheader-contnts .page-header{padding-top:4rem;}
@media (max-width: 767px){
    .noheader-contnts .page-header{padding-top:0;}
}

/* prev & next
--------------------------------------------------------------*/
@media (max-width: 767px){
    .comment-navigation .nav-previous,
    .posts-navigation .nav-previous,
    .post-navigation .nav-previous {
        float: none;
        width: 100%;
        margin:.4rem 0;
    }
    .comment-navigation .nav-next,
    .posts-navigation .nav-next,
    .post-navigation .nav-next {
        float: none;
        width: 100%;
        margin:.4rem 0;
    }

    .post-navigation .nav-previous a,
    .post-navigation .nav-next a{
        width:100%;
    }

}

/* footer
--------------------------------------------------------------*/
#footer {background:url('./images/bg-flower-a.jpg') top center / cover no-repeat;}
#footer a{color:white; padding-left:0; padding-right:0; text-decoration:underline;}
#footer a:hover{background-color:transparent; opacity:.8;}

#footer .navi-wrap{position:relative;}
#footer .navi-wrap .container{color:white; position:relative; padding-top:30px; padding-bottom:30px; margin-bottom:36px;}
#footer .navi-wrap .container>*{background-color:#1d325e; }
#footer .navi-wrap::before{
    content:'';
    display:block;
    width:100%;
    height:50%;
	background: linear-gradient(var(--color-light-orange), transparent);
    position:absolute;
    top:0;
    left:0;
}

#fix-footer{
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    border-top: none;
    background-color:white;
    z-index:10;
    text-align: center;
}
#fix-footer .tel-info{
    line-height: 1;
    font-size: 1rem;
}
#fix-footer .tel-info span:first-child {
    font-size: unset;
}
#fix-footer .tel-info span.fa-b-tel::before {
    content: "\f095";
    font-weight: 900;
}
#fix-footer .tel-info span.fa-b-tel,
#fix-footer .tel-info span.fa-b-mail {
    display: block;
    color: #fff;
    font-family: sans-serif;
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 1;
    margin-top: 3px;
}
#fix-footer .col-tel-info,
#fix-footer .col-contact {
    padding: 0.5rem 0;
}
#fix-footer .col-tel-info {
    background-color: #B9023A;
}
#fix-footer .col-contact {
    background-color: #27A08C;
}
#fix-footer a,
#fix-footer .tel-info span.fa-b-tel a {
    color: #fff;
    text-decoration: none;
}
#fix-footer .small {
    font-size: 0.75rem;
    color:yellow;
    line-height: 1;
}
@media (max-width: 767px){
    #footer img{padding-bottom:60px;}
}
@media (max-width: 575px){
    #footer{font-size:13px;}
    ul.nav{gap:.5rem;}
}

#menu-footer-main,
#menu-footer-sub {
    flex-direction: row !important;
    justify-content: space-between;
}

/* h
--------------------------------------------------------------*/
h1.entry-title{border:none;}
h1,.h1,h1.entry-title,
h2,.h2{font-size:2rem; color:var(--color-main); line-height:1.4; font-weight:600;}
h3,.h3{font-size:1.625rem; color:var(--color-main); line-height:1.4; font-weight:600;}
h4,.h4{font-size:1.25rem; margin-bottom:1rem; line-height:1.4; font-weight:600;}
h5,.h5{font-size:1.05rem; margin-bottom:1rem; line-height:1.4; font-weight:600;}

h1,h2,.h2,h3,.h3,h4,.h4,h5,
.home .h3,
.ft-min{font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.home .h3{font-weight:600;}
.fs-lg{font-size:2.9rem;}
.lead{color:var(--color-main);}
.num{font-size:1.8em; vertical-align:sub;}

strong{font-size:120%;}

.txt-picup{border:2px solid #1d325e;}
.txt-picup>*{padding:30px; margin:-15px 15px; background-color:white;}
@media (max-width: 767px){
    .txt-picup>*{padding:20px; margin:-10px 10px; background-color:white;}
}

.title-kiku{text-align:center; margin-bottom:1rem;}
.title-kiku>*{
    display:inline-block;
    position:relative;
    padding:0 80px;
}
.title-kiku>*::before,
.title-kiku>*::after{
    content:'';
    display:inline-block;
    width:60px;
    height:60px;
    position:absolute;
    top:50%;
    transform:translate(0, -50%);
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
    opacity:.5;
}
.title-kiku>*::before{background-image:url(images/kiku-re.svg); left:0;}
.title-kiku>*::after{background-image:url(images/kiku.svg); right:0;}

@media (max-width: 767px){
	h1,.h1,h1.entry-title,
    h2,.h2{font-size:1.6rem;}
    h3,.h3{font-size:1.2rem;}
    h4,.h4{font-size:1.1rem;}

    .title-kiku{margin-left:-10px; margin-right:-10px;}

    .title-kiku>*{
        padding:0 45px;
        font-size:1.4rem;
    }
    .title-kiku>*::before,
    .title-kiku>*::after{
        width:40px;
        height:40px;
    }
    .lead{font-size:1.1rem;}
}
@media (max-width: 575px){
	h1,.h1,h1.entry-title,
    h2,.h2{font-size:1.3rem;}
    h3,.h3{font-size:1.1rem;}
    h4,.h4{font-size:1rem;}
    .title-kiku>*{
        font-size:1.15rem;
    }
    .lead{font-size:1rem;}
    .fs-lg{font-size:1.8rem;}
    
    .btn-group-lg>.btn, .btn-lg{font-size:1rem;}
}

.title-line{text-align:center;}
.title-line::after{
    content:'';
    display:block;
    width:40px;
    height:3px;
    background-color:#1d325e;
    margin:1.5rem auto;
}

.title-border{position:relative;}
.title-border::before{
    content:'';
    display:block;
    position:absolute;
    width:100%;
    height:1px;
    background-color:black;
    top:50%;
    left:0;
}
.title-border>*{display:inline-block; padding:0 1rem; background-color:white; position:relative;}

a[class*="bnr-"]{
	display:inline-block;
	text-decoration:none;
	text-align:right;
	outline:1px solid white;
	outline-offset:-5px;
}
.home a.bnr-b{width:100%;}
a.bnr-a{background:url(images/bnr-a-img.jpg) no-repeat left center/42%;}
a.bnr-b{background:url(images/bnr-b-img.jpg) no-repeat left center/42%;}
a.bnr-line{padding:1rem 0; background-color:white;}

.row.bnrs>*,
.row.bnrs>*>a{display:flex; width:100%; text-decoration:none;}
.row.bnrs>*>a{flex-direction:column;}
.row.bnrs>*{margin-bottom:1rem;}
.row.bnrs>.col-auto{max-width:360px;}

.bnrs a{
    background-color:#efefef;
    color:inherit;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.bnr-txt{line-height:1.4; padding:.4rem;}
.bnr-txt>*{margin:.4rem 0;}
.bnr-txt h3{font-size:1.2rem;}
@media (max-width: 575px){
    .bnr-txt h3{font-size:1.1rem;}
}

.outside .bnrs a{border:1px solid #CCC; background-color:white;}


a.link-box{
    display:block;
    color:inherit;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    text-decoration: none;
}
a.link-box:hover{text-decoration:none;}

.row.bnrs>*>a:hover,
.link-box:hover{text-decoration:none; color:inherit; opacity:.8;}

.link-box-arrow{
    position:relative;
    border-top:3px solid #1d325e;
    background-color:rgba(255,251,242,.9);
    padding:20px 36px;
}
.link-box-arrow::after{
    font-family: "Font Awesome 5 Free";
    content:'\f054';
    font-weight:900;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;

    display:flex;
    width:46px;
    height:46px;
    position:absolute;
    bottom:0;
    right:0;
    background-color:#1d325e;
    justify-content:center;
    align-items:center;
    color:white;
    font-size:1.2rem;
}
@media (max-width: 991px){
    .link-box-arrow{
        padding:0 15px 15px;
    }
    .link-box-arrow::after{
        width:40px;
        height:40px;
    }
}

.txt-vs>*,
.txt-v{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

ol.flow{display:flex;}
ol.flow li{flex:1; display:flex; align-items:center;}
ol.flow li span{display:flex; height:100%; border:2px solid rgba(29,50,94,.5); padding:2rem .3rem; justify-content:center; background-color:white;}
ol.flow li::before,
ol.flow li::after{
    content:'';
    display:block;
    width:2px;
    height:3rem;
    background-color:rgba(29,50,94,.5);
    margin:0 auto;
}


.area-labels>*{
    display:inline-block;
    font-size:1.1rem;
    line-height:1.4;
    padding:.4rem 1rem;
    border:1px solid #1d325e;
    margin:0 .4rem .4rem;
}
.area-labels span{margin-left:.5rem;}
/*
.c-white{color:white;}
.c-base{color:;}
.c-blue{color:;}
.c-red{color:#cd0e25;}
.c-orng{color:#e9934d;}
*/

.promis-box{display:inline-block; position:relative; border:2px solid #1d325e; padding:2rem 2rem 1rem; background-color:#fffbf2;}
.promis-box span {white-space:nowrap;}
.promis-box .blur::after {box-shadow: inset 0px 0px 10px 10px #fffbf2;}
.promis-box .promis{font-size:.8rem; color:white; line-height:1.4; background-color:#1d325e; padding:.2rem 1rem; position:absolute; top:-1.2rem; left:50%; transform:translate(-50%,0); border-radius:3rem;}
.promis-box .promis span{display:block; font-size:.6rem;}

/*
.step-boxes{display:inline-block; position:relative; border:2px solid #1d325e; padding:2rem 2rem 1rem; background-color:#fffbf2;}
.step-box{font-size:.8rem; color:white; line-height:1.4; background-color:#1d325e; padding:.2rem 1rem; position:absolute; top:-1.2rem; left:50%; transform:translate(-50%,0); border-radius:3rem;}
.promis-box .promis span{display:block; font-size:.6rem;}
*/

/*
ul.nav.step-boxes li{display:flex; flex:1; padding:.5rem; justify-content:center;}
ul.nav.step-boxes li>*{display:flex;}
*/
ul.nav.step-boxes li{display:flex; padding:.5rem; justify-content:center;}
ul.nav.step-boxes li>*{display:flex;}
.step-box{width:100%; padding:1rem .8rem .5rem; border:1px solid #1d325e; background-color:#fffbf2; line-height:1.4; position:relative; align-items:center;}
.step-box>span{display:inline-block; font-size:.9rem; color:white; background-color:#1d325e; padding:.3rem .5rem; line-height:1; position:absolute; top:-.8rem; left:-.5rem;}

@media (min-width: 768px){
    ol.flow li span{font-size:1.2rem; padding:2rem .5rem;}
}
@media (max-width: 575px){
    ol.flow li span{font-size:13px; padding:2rem 0;}
}

/* plan-box
--------------------------------------------------------------*/
/* .outside .plan-navi{max-width:900px; margin-left:auto; margin-right:auto;} */
.plan-box h3{margin:0; color:white; background-color:var(--color-purple);}
.plan-box h3 span.sub{font-size:83%;}
.price>*{line-height:1.2;}
.price .num{font-size:1.8rem; padding-left:.5rem; font-family: 'Open Sans', serif; padding:0 .25rem;}
.price .member{margin-bottom:.5rem;}
.price .public{color:#666;}
.price .intax{margin-top:.25em; font-size:.8rem;}

.price .label{display:inline-block; color:white; padding:.25rem .5rem; margin-bottom:.25rem; border-radius:4px; font-size:.85em;}
.price .member .label{background-color:var(--color-deep-red);}
.price .public .label{background-color:#999; color:white;}

.plan-box .capacity{
    width:100%;
    color:#1d325e;
    font-size:110%;
    margin-bottom:.5rem;
}
.fa-b-user::before{
    content:'\f0c0';
    font-weight:900;
}

/* .plan-index */
.plan-index .plan-box h3{
	text-align:center;
	padding:1rem 30px;
}
.plan-index .detail-box{
    box-shadow:2px 2px 10px rgba(0,0,0,0.4);
    background-color:#efefef;
    z-index:10;
}
.plan-index .detail-box>*{padding-left:30px; padding-right:30px;}
.plan-index .detail-box .txt-box{padding:30px; background-color:white;}
.plan-index .detail-box .price{display:flex; gap:1rem;}
.plan-index .detail-box .price>*{flex:1;}
@media (min-width: 992px) and (max-width: 1199px) {
    .plan-index .price .num{font-size:1.4rem;}
}
@media (max-width: 767px) {
	.plan-index .detail-box>*{padding-left:20px; padding-right:20px;}
    .row.plan-box .txt-box{padding:20px;}
}
@media (max-width: 575px) {
    .plan-index .detail-box .price{flex-direction:column;}
}

/* 詳細ページ */
.page-plan .price{display:flex; gap:1rem 2rem; justify-content:center;}
[class*="plan-ic"]{display:flex; gap:2em 2.5em; align-items:center; text-align:left !important; font-size:.9em;}
[class*="plan-ic"]::before{
	content:'';
	min-width:1em;
	aspect-ratio:1/1;
	background:no-repeat center top/contain;
	transform-origin:center left;
	transform:scale(3);
}
.plan-ic-0505::before,
.plan-ic-0501::before,
.plan-ic-0401::before,
.plan-ic-0101::before{background-image:url(images/plan/ic-01.svg);}
.plan-ic-0107::before,
.plan-ic-0102::before,
.plan-ic-0108::before{background-image:url(images/plan/ic-02.svg);}
.plan-ic-0103::before{background-image:url(images/plan/ic-03.svg);}
.plan-ic-0104::before{background-image:url(images/plan/ic-04.svg);}
.plan-ic-0105::before{background-image:url(images/plan/ic-05.svg);}
.plan-ic-0106::before{background-image:url(images/plan/ic-06.svg);}

.plan-ic-0201::before{background-image:url(images/plan/ic-07.svg);}
.plan-ic-0202::before{background-image:url(images/plan/ic-08.svg);}
.plan-ic-0203::before{background-image:url(images/plan/ic-09.svg);}
.plan-ic-0204::before{background-image:url(images/plan/ic-10.svg);}
.plan-ic-0205::before{background-image:url(images/plan/ic-07.svg);}
.plan-ic-0206::before{background-image:url(images/plan/ic-10.svg);}

.plan-ic-0301::before{background-image:url(images/plan/ic-11.svg);}
.plan-ic-0302::before{background-image:url(images/plan/ic-12.svg);}
.plan-ic-0303::before{background-image:url(images/plan/ic-13.svg);}
.plan-ic-0304::before{background-image:url(images/plan/ic-14.svg);}
.plan-ic-0305::before{background-image:url(images/plan/ic-15.svg);}
.plan-ic-0306::before{background-image:url(images/plan/ic-16.svg);}
.plan-ic-0307::before{background-image:url(images/plan/ic-14.svg);}

.plan-ic-0412::before,
.plan-ic-0402::before{background-image:url(images/plan/ic-20.svg);}
.plan-ic-0403::before{background-image:url(images/plan/ic-21.svg);}
.plan-ic-0404::before{background-image:url(images/plan/ic-22.svg);}
.plan-ic-0405::before{background-image:url(images/plan/ic-23.svg);}
.plan-ic-0406::before{background-image:url(images/plan/ic-24.svg);}
.plan-ic-0407::before{background-image:url(images/plan/ic-25.svg);}
.plan-ic-0408::before{background-image:url(images/plan/ic-26.svg);}
.plan-ic-0409::before{background-image:url(images/plan/ic-27.svg);}
.plan-ic-0410::before{background-image:url(images/plan/ic-28.svg);}
.plan-ic-0411::before{background-image:url(images/plan/ic-29.svg);}

.plan-ic-0502::before{background-image:url(images/plan/ic-17.svg);}
.plan-ic-0503::before{background-image:url(images/plan/ic-18.svg);}
.plan-ic-0504::before{background-image:url(images/plan/ic-19.svg);}

.plan-ic-0601::before{background-image:url(images/plan/ic-30.svg);}

.plan-ic-0701::before{background-image:url(images/plan/ic-31.svg);}
.plan-ic-0702::before{background-image:url(images/plan/ic-32.svg);}
.plan-ic-0703::before{background-image:url(images/plan/ic-33.svg);}

p.opt-photo img{width:100%; aspect-ratio:16/7; object-fit:cover;}

@media (max-width: 767px) {
	[class*="plan-ic"]::before{transform-origin:center top;}
	[class*="plan-ic"]{flex-direction:column; font-size:.85em; color:#666;}
}
@media (max-width: 575px) {
	.page-plan .price{flex-direction:column;}
}

/* .plan-navi */
.plan-navi .price .label{margin-bottom:0;}
.plan-navi .price .public{color:#999;}
.plan-navi .price .public .notax .num{font-size:1.5rem;}
.plan-navi .price .public{font-size:.85em;}

.plan-navi>.row{justify-content:center;}
.plan-navi a{background-color:white; border-radius:.5rem; overflow:hidden; padding-bottom:2rem; margin-bottom:2rem; box-shadow:1px 1px 5px rgba(0,0,0,.2);}
.plan-navi a>*:not(.photo){padding:.25rem 1rem;}
.plan-navi h3 span{font-size:.85em;}
.plan-navi .intro_h{display:flex; justify-content:center; align-items:center; padding:.25rem; margin:0; color:var(--color-purple); background-color:var(--color-purple-alpha-2); line-height:1.6; min-height:3em;}

.plan-navi .price .member,
.plan-navi .price .public{display:flex; align-items:center; justify-content:center; gap:.25rem;}
.plan-navi .price .col-price{text-align:left;}
.price .intax{padding-left:.5em;}

.plan-navi .spec .badge{color:#999; padding:.5em .75rem; margin:3px; border:1px solid #999; border-radius:10rem;}
.plan-navi .spec .badge.active{color:white; background-color:var(--color-purple); border-color:var(--color-purple);}

@media (max-width: 767px){
    .plan-navi .plan-box h3{
	    font-size:1.4rem;
	    min-height:inherit;
    }
}

.plan-box h3,
.plan-box h4{background-color:var(--color-purple);}
.plan-box .price{color:var(--color-purple); font-size:.9rem;}
.plan-box .intro_h{color:var(--color-purple); background-color:var(--color-purple-alpha);}

.plan-box.plan-familyplan h3,
.plan-box.plan-familyplan h4{background-color:var(--color-brown);}
.plan-box.plan-familyplan .price{color:var(--color-brown);}
.plan-box.plan-familyplan .intro_h{color:var(--color-brown); background-color:var(--color-brown-alpha);}

.plan-box.plan-ceremonyplan h3,
.plan-box.plan-ceremonyplan h4{background-color:var(--color-green);}
.plan-box.plan-ceremonyplan .price{color:var(--color-green);}
.plan-box.plan-ceremonyplan .intro_h{color:var(--color-green); background-color:var(--color-green-alpha);}

.plan-box.plan-ceremony-premiumplan h3,
.plan-box.plan-ceremony-premiumplan h4{background-color:var(--color-violet);}
.plan-box.plan-ceremony-premiumplan .price{color:var(--color-violet);}
.plan-box.plan-ceremony-premiumplan .intro_h{color:var(--color-violet); background-color:var(--color-violet-alpha);}

.plan-border{border:8px solid var(--color-purple);}

.slug-familyplan .plan-border{border-color:var(--color-brown);}
.slug-familyplan .price-bar{color:var(--color-brown);}

.slug-ceremonyplan .plan-border{border-color:var(--color-green);}
.slug-ceremonyplan .price-bar{color:var(--color-green);}

.ceremony-contents{max-width:860px; text-align:center;}
.ceremony-contents>*.row{border:1px solid rgba(29,50,94,.2);}
.ceremony-contents>*.row .row{border-bottom:1px solid rgba(29,50,94,.2);}
.ceremony-contents>*.row .row:last-child{border:none;}
.ceremony-contents .head,
.ceremony-contents .body .row>*{padding-top:.75rem; padding-bottom:.75rem; border-right:1px solid rgba(29,50,94,.2);}
.ceremony-contents .head{text-align:left; font-weight:bold; background-color:#f0f2f8;}
.ceremony-contents .body .row>.col-memb{border:none;}

@media (max-width: 767px){
.ceremony-contents>.row:first-child{display:none;}
	.ceremony-contents .head{text-align:center !important;}
	.ceremony-contents .head,
	.ceremony-contents .col-type{border:none !important;}
	.ceremony-contents .col-base::before,
	.ceremony-contents .col-memb::before{font-size:.75em; display:block; text-align:center; color:var(--color-main);}
	.ceremony-contents .col-base::before{content:'基本プラン';}
	.ceremony-contents .col-memb::before{content:'会員特典';}
}

/* google map
--------------------------------------------------------------*/
/*
#map>iframe{width:100%; height:100%;}
@media (max-width: 575px){
    #map>iframe{height:200px;}
}
*/

/* search
--------------------------------------------------------------*/
/* button.filter-dropdown-btn span{white-space:nowrap;} */

/* template-thin
--------------------------------------------------------------*/
/* .template-thin .entry-header.container{padding-left:0; padding-right:0;} */

/* for Plugin Smart Slider 3
--------------------------------------------------------------*/
.ribbon {
    padding: 1rem;
}
.ribbon-white {
    background: linear-gradient(90deg, rgba(0,0,0,0), rgba(255,255,255,.8) 50%, rgba(0,0,0,0));
}
.n2-ss-slider h1,
.lead p {
    font-weight: bold !important;
    color: #022a77 !important;
    text-shadow: 1px 1px 1px white !important;
}
.n2-ss-slider h1 {
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    margin: 0 0 .5rem !important;
    padding: 0;
    font-size: 1.75rem !important;
}
.lead p {
    font-size: .75rem !important;
}
.lead-big p {
    font-size: 1rem !important;
}
@media (min-width: 768px) {
    .n2-ss-slider h1 {
        font-size: 2rem !important;
    }
    .lead p {
        font-size: .85rem !important;
    }
    .lead-big p {
        font-size: 1.1rem !important;
    }
}
@media (min-width: 992px) {
    .ribbon {
        margin-top: -3rem !important;
    }
    .n2-ss-slider h1 {
        font-size: 2.6rem !important;
    }
    .lead p {
        font-size: 1rem !important;
    }
    .lead-big p {
        font-size: 1.25rem !important;
    }
    .n2-ss-control-bullet {
            bottom: calc(5rem + 5px) !important;
    }
}




/* pages
--------------------------------------------------------------*/
/* home */
.slug-home .hall-list h3{font-size:1.25rem;}
.slug-home .hall-list .intro{display:none;}
.slug-home .hall-links li{display:inline-block; padding:5px;}

.service-index{position:relative; margin-bottom:2rem;}
@media (min-width: 768px){
    .service-index{padding:46px 0;}
    .service-index img{position:absolute; top:0; height:100%;}
    .service-index.img-l img{left:0;}
    .service-index.img-r img{right:0;}
    .service-index.img-l .link-box{margin:0 0 0 35%;}
    .service-index.img-r .link-box{margin:0 35% 0 0;}
}
@media (min-width: 992px){
    .service-index.img-l .link-box{margin:0 10% 0 40%;}
    .service-index.img-r .link-box{margin:0 40% 0 10%;}
}
@media (max-width: 767px){
    #service-index .row.index{display:block;}
}

/* service */
.service-box{margin-bottom:3rem; position:relative;}
.service-box .txt-box{max-width:96%; padding:1.5rem 1.5rem 0; margin:-4rem auto 0; position:relative; background-color:white;}
.service-box .txt-box h3{margin-top:0;}
.service-box.img-r>img{display:block; margin-left:auto;}

@media (min-width: 576px){
    .service-box .txt-box{max-width:80%; margin:-8rem 0 0 0;}
    .service-box.img-l .txt-box{margin-left:auto;}
}
@media (min-width: 1200px){
    .service-box .txt-box{max-width:50%; position:absolute; bottom:0;}
    .service-box.img-l .txt-box{right:0;}
}


.bg-img-cover{
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:cover !important;
}
.bg-img-contain{
    background-repeat:no-repeat !important;
    background-size:contain !important;
}
.bg-img-cb{
    background-position:center bottom !important;
}

.contact-box-a{background:linear-gradient(90deg, var(--color-main), #FFF); position:relative;}
.contact-box-a .container{position:relative; z-index:10;}
.contact-box-a img{position:absolute; bottom:0; right:0; max-width:419px; width:50%;}
@media (max-width: 767px){
    .contact-box-a{background:linear-gradient(90deg, var(--color-main), var(--color-main));}
    .contact-box-a img{display:none;}
    .contact-box-b h2{font-size:1.5rem;}
}
@media (max-width: 575px){
    .contact-box-b h2{font-size:1.1rem;}
}

.arrow-links a,
#faq-list a{
    display:block;
    position:relative;
    border-top:1px solid #ccced3;
    padding-right:3rem;
    text-align:left;
}
#faq-list a{
    background-color:#f0f2f8;
}

#faq-list a[aria-expanded=true],
#faq-list a:hover{
    background-color:rgba(29,50,94,.6);
}
#faq-list a[data-toggle="collapse"]::after{
    font-family: "Font Awesome 5 Free";
    content: '\f055';
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    font-weight:900;
    position:absolute;
    top:50%;
    transform:translate(0, -50%);
    right:1rem;
}
#faq-list a[aria-expanded=true]::after{
    content: '\f056';
}

#faq-list>div{padding:1rem;}

li.post-label a>*{display:inline-block; margin-right:1rem;}
li.post-label a>*{min-width:5rem;}

.badge{border-radius:0; color:white;}
.badge-lg{font-size:1rem; width:150px; padding:.5rem;}
.badge-news{background-color:#4a7f47;}
.badge-blog{background-color:var(--color-purple);;}
.badge-ceremonyplan{background-color:var(--color-green);}
.badge-familyplan{background-color:var(--color-brown);}
.badge-cremateplan{background-color:var(--color-purple);;}
.badge-premium{background-color:#db7093;}
.badge-orng{background-color:#e9934d;}
.post-label .badge{width:100px;}
.post-label .badge-auto{width:auto;}

/* voice
--------------------------------------------------------------*/
.post-voice .badge-lg{width:auto; font-size:85%;}
.post-voice .contents+.contents{padding-top:0;}
.post-grid-list .post-voice{display:flex; margin-bottom:2rem;}
.post-grid-list .post-voice a.card{border-width:1px; border-color:#ccced3;}
.post-grid-list .post-voice .card-body{background-color:white; display:flex; flex-direction:column;}
.post-grid-list .post-voice h2{font-size:1.2rem; margin-top:.5rem;}
.post-grid-list .post-voice h2 span{font-size:75%; margin-left:1rem;}
.post-grid-list .post-voice dl{font-size:.9rem;}


/* hall
--------------------------------------------------------------*/
.hall-list .hall{display:flex; flex-direction:column; margin-bottom:1.5rem;}
.hall-list .hall p{margin-bottom:.5rem;}
.hall-list .hall p:last-child{margin-top:auto;}
.hall-list.hall-tenlai{}
.hall-list.hall-public h3{font-size:1.25rem; margin:.5rem 0;}


/*
.hall-list .hall{display:flex; margin-bottom:1.5rem;}
.hall-list .hall>a{display:flex; flex-direction:column;}
.hall-list .hall a p{margin-bottom:.5rem;}
.hall-list .hall a p:last-child{margin-top:auto;}

.hall-list.hall-tenlai{}
.hall-list.hall-public h3{font-size:1.25rem; margin:.5rem 0;}
*/


/* privacy
--------------------------------------------------------------*/
.slug-privacy h2{font-size:1.625rem; margin:3.5rem 0 1.5rem;}
.slug-privacy h3{font-size:1.25rem; margin:3rem 0 1rem; color:black;}
.slug-privacy h4,
.slug-privacy h5{margin:2rem 0 1rem;}
.slug-privacy dl{margin-bottom:2rem;}
.slug-privacy dt{font-size:1.1rem; padding:.4rem 0; border-top:1px solid #DDD;}

/* flow
--------------------------------------------------------------*/
.diamond{
    position:relative;
    width:70px;
    height:70px;
}
.diamond:before{
    content:'';
    width:70.7%;
    height:70.7%;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background-color:var(--color-main);
}
.diamond>*{
    position:relative;
    top:50%;
    text-align:center;
    transform:translate(0,-50%);
    color:white;
}
.frow-blocks>*{
    position:relative;
    margin-left:34px;
    padding:0 0 40px 60px;
    border-left:2px solid var(--color-main);
}
.frow-blocks>*:last-child{
    border-color:transparent;
}
.frow-blocks .diamond{
    position:absolute;
    top:-20px;
    left:-35px;
}
.frow-blocks h3{margin-top:0;}

@media (max-width: 767px){
    .diamond{
        width:42px;
        height:42px;
    }
    .frow-blocks>*{
        margin-left:20px;
        padding:0 0 40px 30px;
        border-left:2px solid var(--color-main);
    }
    .frow-blocks>*:last-child{
        border-color:transparent;
    }
    .frow-blocks .diamond{
        top:-7px;
        left:-22px;
    }
    .frow-blocks .contact-box-b,
    .frow-blocks .promis-box{margin-left:-50px;}
}

/* Loading
--------------------------------------------------------------*/
.spinner-border {
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    vertical-align: text-bottom;
    border: .1em solid #1d325e;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border .75s linear infinite;
    animation: spinner-border .75s linear infinite;
}


/* tmb
--------------------------------------------------------------*/
.tmb-ratio{
	position:relative;
	aspect-ratio:4/3;
	background-color:red;
}
.tmb-ratio>img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.post-voice .tmb-ratio .badge{position:absolute; left:5px; bottom:5px;}


/* home 2023
--------------------------------------------------------------*/
html{scroll-behavior: smooth;}
.home #primary.container{max-width:100%; padding:0;}
.home article>.contents.container,
.entry-content>.contents.container{background-color:transparent;}
.home .footer-contact{display:none;}

.bg-flower,
.bg-flower>*{position:relative; z-index:1;}
.bg-flower{background-color:var(--color-light-orange);}
.bg-flower::before,
.bg-flower::after{
	content:'';
	display:block;
	width:50%;
	padding-top:50%;
	background:url(images/bg-flower-a.jpg) no-repeat 0 0/cover;
	position:absolute;
	z-index:-1;
}
.bg-flower::before{top:0; left:0; clip-path:polygon(0% 0%, 0% 100%, 100% 0%);}
.bg-flower::after{bottom:0; right:0; clip-path:polygon(0% 100%, 100% 100%, 100% 0%); background-position:bottom right;}

.bg-flower-top{background:white url(images/bg-flower-b.jpg) no-repeat center -30%/contain;}

#pos-bnrs{position:relative; top:-5rem; margin-bottom:-5rem;}

#pos-reason section{margin-bottom:2rem;}
#pos-reason .inner{background-color:white;}
#pos-reason .inner h3,
#pos-reason .inner p{padding:0 1.5rem;}
#pos-reason .inner h3{display:inline-block; min-width:60%; margin-top:-3rem; padding-top:1rem; background-color:white;}

#pos-plan h2 .fs-lg::before{
	content:'';
	display:block;
	width:50%;
	height:1.5em;
	border-right:1px solid var(--color-main);
	margin:1rem 0;
}
.btn-red.no-link,
.btn-red.no-link:hover{color:white; background-color:var(--color-deep-red); border-radius:4px;}
.btn.no-link{cursor:auto !important;}
#pos-plan .btn-red{margin:2rem 0; position:relative;}
#pos-plan .btn-red::before{
	content:'';
	display:inline-block;
	height:4em;
	width:4em;
	background:url(images/badge-gold-otoku.svg) no-repeat center center/contain;
	position:absolute;
	top:50%;
	left:0;
	transform:translate(-70%,-50%);
}
a#teikei{padding:1.5rem 2rem; color:white; background-color:#28a08c; border-radius:10px; outline:1px solid white; outline-offset:-8px;}
a#teikei i{font-size:1.5em; vertical-align:top;}
a#teikei:hover{opacity:.8;}


#pos-member .h2-area{max-width:calc(240px + 500px); margin:0 auto; padding-left:240px; padding-bottom:2rem; position:relative;}
#pos-member .h2-area h2{display:inline-block; padding-right:4em; position:relative;}
#pos-member .h2-area h2::after{
	content:'';
	display:inline-block;
	width:4em;
	height:4em;
	background:url(images/badge-gold-jisseki.svg) no-repeat center center/contain;
	position:absolute;
	top:0;
	right:0;
	transform:translateY(-1rem);
}
#pos-member .h2-area::before{
	content:'';
	display:inline-block;
	width:220px;
	height:120%;
	background:url(images/img_staff.png) no-repeat center bottom/contain;
	position:absolute;
	bottom:0;
	left:0;
}
#pos-member .h2-area p{margin:0;}

#pos-member ul li{display:table; margin-bottom:1rem;}
#pos-member ul li>*{display:table-cell; vertical-align:middle; background-color:#2a467c; color:white;}
#pos-member ul li>*:first-child{width:25%; position:relative;}
#pos-member ul li>*:last-child{padding:1rem 2rem;}
#pos-member ul li img{width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0;}

#pos-voice .voice-list-wrap{padding:2rem; background-color:var(--color-gray-b);}
h2.badge-voice{display:inline-block; text-align:left; position:relative; padding-left:3.5em;}
h2.badge-voice::before{
	content:'';
	display:inline-block;
	height:4em;
	width:4em;
	background:url(images/badge-gold-jisseki.svg) no-repeat center center/contain;
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
}
h2.badge-voice .inner{display:inline-block; padding:0 1em; position:relative;}
h2.badge-voice .inner::before,
h2.badge-voice .inner::after{
	content:'';
	display:inline-block;
	width:2px;
	height:100%;
	background-color:black;
	position:absolute;
	bottom:0;
}
h2.badge-voice .inner::before{left:0; transform:rotate(-15deg);}
h2.badge-voice .inner::after{right:.5em; transform:rotate(15deg);}

#pos-flow h2{margin:0;}
#pos-flow h2>*{padding:4rem; background-color:var(--color-light-orange); border-radius:100%; margin-top:-5rem;}
#pos-flow .flow>*{
	counter-increment:i;
	display:flex;
	background-color:white;
	margin-bottom:3rem;
	border:1px solid var(--color-main);
	position:relative;
}
#pos-flow .flow>*::before{
	content:counter(i, decimal-leading-zero);
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:2em;
	font-size:2.2rem;
	color:white;
	background-color:#2a467c;
	font-family: 'Open Sans', serif;
}
#pos-flow .flow>*::after{
	content:'';
	display:inline-block;
	width:0;
	height:0;
	border:solid;
	border-color:var(--color-main) transparent transparent transparent;
	border-width:30px 40px 0 40px;
	position:absolute;
	left:50%;
	bottom:0;
	transform:translate(-50%,100%);
}
#pos-flow .flow>*:last-child::after{
	content:none;
}
#pos-flow .flow>*>*{flex:1 1 0;}
#pos-flow .flow>*>div{padding:1rem 1.5rem; align-self:center;}
#pos-flow .flow>*>div>*{margin:0;}
#pos-flow .flow h3{color:#2a467c;}
#pos-flow .flow span{flex-grow:1; position:relative;}
#pos-flow .flow span img{width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0;}
#pos-flow .flow div{flex-grow:3;}

#pos-flow .flow .flow-tel{display:flex; flex-wrap:wrap; align-items:center;}
#pos-flow .flow .flow-tel .h2{font-size:2rem; margin:0; color:var(--color-deep-red); font-family: 'Open Sans', serif;}

.home .table{background-color:white;}
.home .table th{color:white; background-color:var(--color-main); font-weight:normal; white-space:nowrap; vertical-align:middle;}
.home .table ul{margin-bottom:0;}
.home .table ul li{display:inline-block; padding-right:1rem;}
.home .table ul li::before{content:'・';}

#faq .inner{padding:50px; border:20px solid var(--color-gray-b); background-color:white;}

.contact-bar{padding-left:1rem; padding-right:1rem; background:url(images/home/cover.jpg) no-repeat center center/cover;}

.slick-slider img{width:100%;}

@media (max-width: 767px){
	#pos-member .h2-area{max-width:100%; padding-left:0; text-align:center;}
	#pos-member .h2-area>*{text-align:left;}
	#pos-member .h2-area h2{padding-left:4em;}
	#pos-member .h2-area::before{content:none;}
	#pos-member .h2-area h2::before{
		content:'';
		display:inline-block;
		height:5em;
		width:4em;
		background:url(images/img_staff.png) no-repeat center bottom/contain;
		position:absolute;
		top:0;
		left:0;
		transform:translateY(-35%);
	}
}
@media (max-width: 575px){
	#pos-bnrs{top:-2rem; margin-bottom:0;}
	#pos-bnrs a{margin-bottom:1rem;}

	#pos-plan h2 .fs-lg::before{
		height:1em;
	}

	#pos-plan .btn-red{padding:.5rem 1rem .5rem 5rem; text-align:left;}
	#pos-plan .btn-red::before{
		left:0;
		transform:translate(-10%,-50%);
	}

	#pos-voice .voice-list-wrap{padding:15px; margin:0 -15px;}

	#pos-member .h2-area h2{padding:4em 0 0;}
	#pos-member .h2-area h2::after{right:2rem;}
	#pos-member .h2-area h2::before{left:2rem;}

	h2.badge-voice{padding-left:0; padding-top:4em;}
	h2.badge-voice::before{
		bottom:auto;
		top:0;
		left:50%;
		transform:translateX(-50%);
	}

	#pos-flow h2>*{padding:3rem 2rem 1.5rem; margin-top:-2rem;}
	#faq .inner{padding:1rem; border-width:10px;}

	#pos-flow .flow>*{flex-direction:column;}
	#pos-flow .flow>*::before{
		font-size:1.5rem;
		position:absolute;
		z-index:1;
	}
	#pos-flow .flow span img{width:100%; height:auto; aspect-ratio:16/6; position:relative;}
	#pos-flow .flow>*>div{width:100%; align-self:flex-start;}

	#pos-member ul li>*:last-child{padding:1rem;}

	.home .table th,
	.home .table td{display:block; width:100%;}
}


/* ----------------------------------------------------------------------
 WordPress 天来カスタムスタイル
---------------------------------------------------------------------- */
#bread_crumb li:first-child {
    font-size: 12px;
    display: inline;
    line-height: 160%;
    position: static;
    margin-left: 0;
}

/* ボタンスタイル */
.square_btn1{
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    border-radius: 4px;
    color: #ffffff;
    background-image: -webkit-linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
    background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    border-bottom: solid 3px #c58668;
}

.square_btn1:active{
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
    border-bottom: none;
}

.square_btn1:hover{
    text-decoration: none;
    color: #FFF;
}

.square_btn2{
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    border-radius: 4px;
    color: #ffffff;
    background-image: -webkit-linear-gradient(#6795fd 0%, #67ceff 100%);
    background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    border-bottom: solid 3px #5e7fca;
  }

.square_btn2:active{
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
    border-bottom: none;
}

.square_btn2:hover{
    text-decoration: none;
    color: #FFF;
}

/* 見出しスタイル */
.post_content .style3c {
    margin: 3em 0 1.5em;
    padding: 1.1em .9em 1em;
    font-size: 22px;
    font-weight: 400;
    border-top: 2px solid #FFC000;
    border-bottom: 1px solid #ddd;
    background: #fafafa;
    box-shadow: 0px 1px 2px #f7f7f7;
}

/* 見出しスタイル */
.post_content .style4c {
    margin: 2.5em 2px 1.2em;
    padding: .3em 0 .3em .8em;
    font-size: 18px;
    font-weight: 400;
    border-bottom: none;
    border-left: 2px solid #222;
    background: #182B56;
    color: #FFF;
}

.post_content .style4d {
    margin: 2.5em 2px 1.2em;
    padding: .3em 0 .3em .8em;
    font-size: 18px;
    font-weight: 400;
    border-bottom: none;
    background: #FFC000;
    color: #FFF;
}

.post_content .style4e {
    margin: 2.5em 2px 1.2em;
    padding: .3em 0 .3em .8em;
    font-size: 18px;
    font-weight: 400;
    border-bottom: none;
    background: #00B050;
    color: #FFF;
}

.post_content .style4f {
    margin: 2.5em 2px 1.2em;
    padding: .3em 0 .3em .8em;
    font-size: 18px;
    font-weight: 400;
    border-bottom: none;
    background: #0070C0;
    color: #FFF;
}

.sent .formInner {
    display: none;
}

.wpcf7 .required {
    color: #f00;
}

#index_stafflist li {
    width: 240px;
    height: 180px;
    float: left;
    margin: 0 15px 0;
}

#index_stafflist li:nth-child(3n) {
    width: 220px;
    float: left;
    margin: 0 0 15px 0;
}

#index_bloglist {
    width: 1250px;
    margin: 50px auto 100px;
    padding: 0 50px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#index_bloglist li {
    width: 240px;
    height: 180px;
    float: left;
    margin: 0 15px 0;
}

#index_bloglist li:nth-child(4n) {
    width: 220px;
    float: left;
    margin: 0 0 15px 0;
}

#explanation_col {
    width: 1250px;
    margin: 50px auto 100px;
    padding: 0 50px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.span_profile{
	color: #1B2B58;
}
.profiledata{
   width: 320px;
}
.profiletxt{
	width: 550px;
}

.div_voice {
  margin: 1em 0 30px;
    padding: 1em 1.5em;
    line-height: 2;
    border: 1px solid #cdcdcd;
    background: #fcfcfc;
    box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3);
}

.div_comment {
  min-height: 280px;
    margin: 1em 0 30px;
    padding: 1em 1.5em;
    line-height: 2;
    border: 1px solid #cdcdcd;
    background: #fcfcfc;
    box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3);
}

.post_content .div_comment .p-imgright{
	float: right;
    margin-left: 20px;
}

.post_content .div_voice p,.post_content .div_comment p {
    line-height: 2.5;
    margin: 0;
}

#recent_news .voice a {
    display: inline-block !important;
}

#recent_news h3.voice{
	margin-bottom: 5px;
}

.voice span.familyplan {
	background: #f8931d;
  color:#FFF;
    display:inline-block;
  padding: 0.3em;
}
.voice span.ceremonyplan {
	background: #1a75bc;
  color:#FFF;
    display:inline-block;
  padding: 0.3em;
}
.voice span.premium {
  background: #1a2b57;
  color:#FFF;
    display:inline-block;
  padding: 0.3em;
}
.voice span.cremateplan {
background: #f387b8;
color:#FFF;
  display:inline-block;
  padding: 0.3em;
}

span.font16 {
font-size:16px;
}

span.font18 {
font-size:18px;
}

span.font20 {
font-size:20px;
}

span.font24 {
font-size:24px;
}

span.red {
color:#e61a69;
}

span.blue {
color:#1a58e6;
}

/* 2025/10/03 contact form 供物注文フォームの合計金額
-----------------------------------*/
input[name="pay-total"]{border:none; background-color:transparent !important; font-size:1.2rem; font-weight:700; padding:0 .25em; color:black; line-height:1;}
input[name="pay-total"].form-control {
    box-shadow: none;
}
.wpcf7-form-control-wrap.pay-total{display:flex; align-items:center; margin-bottom:.2em;}
.wpcf7-form-control-wrap.pay-total::before{
	content:"￥";
	font-weight:700;
	position:relative;
	top:.1em;
}
.buttons button {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s 
        ease-in-out, background-color .15s 
        ease-in-out, border-color .15s 
        ease-in-out, box-shadow .15s 
        ease-in-out;
}