@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
初期設定
****************************************************************************************************/

/* 古いブラウザへの対応 */
article, aside, figure, figcaption, footer, header, nav, section {
	display: block;
}
/* 古いブラウザへの対応 */

.pcOnly {
	display: block;
}
img.pcOnly,
span.pcOnly,
i.pcOnly {
	display: inline;
}
.spOnly {
	display: none;
}

html,body{
	text-align: center;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt" 1;
	scroll-padding-top: 60px;
	min-width: 1200px;
	background:#FFF;
	/* 24/04/10変更
	font-size: 15px; */
	font-size: 18px;
	line-height: 2.0;
}
.sans-serif {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.serif {
	font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', '小塚明朝 Pro R', '小塚明朝 Std R', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Times New Roman", serif;
}
.serifEN {
	font-family: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
	font-style: italic;
	display: inline-block;
	line-height: 1.0 !important;
}

* {
	box-sizing: border-box;
}
img {
	vertical-align: top;
}
a {
	word-break: break-all;
	color: #000;
	text-decoration: none;
	-webkit-transition: opacity 300ms;
	-moz-transition: opacity 300ms;
	transition: opacity 300ms;
}
a:hover {
	opacity: .5;
}

/* clear fix */
.clearfix:before,
.clearfix:after {
	content:" ";
	display:table;
}
.clearfix:after {
	clear:both;
}
.clearfix {
	*zoom:1;
}
/* clear fix */



/****************************************************************************************************
header
****************************************************************************************************/
#header {
	position: absolute;
	width: 100%;
	min-width: 1200px;
	z-index: 100;
	/* 3/21変更 */
}
#header-inner {
	position: relative;
	padding: 35px 52px 42px 65px;
	padding: 60px 40px 65px 58px;
	text-align: left;
}
#h-logo {
	position:fixed; 
	left: 52px;
	right: 44px;
	top: 30px;
	/* 3/21追加 */
}
#h-freedial {
	position: absolute;
	right: 170px;
	right: 144px;
	top: 44px;
	/* right: 142px;
	top: 50px; */
	/* 3/21変更 */
}
.freedial {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	/* 24/04/10変更  font-size: 2.4rem; */
	font-size: 2rem;
	font-weight: bolder;
	line-height: 1.0;
}
.freedial a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.freedial img {
	margin-right: 0.3rem;
}
.freedial span {
	display: inline-block;
	margin-left: 0.4rem;
	font-size: 0.866rem;
	line-height: 1.5;
}
.freedial span strong {
	display: block;
	color: #060;
}
#menu-btn {
	position: fixed;
	right: 52px;
	right: 44px;
	top: 26px;
	width: 80px;
	height: 80px;
	z-index: 1000;
}
#menu-btn a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.1);
	text-indent: -9999px;
}
#menu-btn span,
#menu-btn a::before,
#menu-btn a::after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 46px;
	height: 3px;
	margin: auto;
	background: #006600;
	-webkit-transition: 200ms;
	-moz-transition: 200ms;
	transition: 200ms;
}
#menu-btn span {
	background: #006600;
	overflow: visible;
	white-space: nowrap;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
#menu-btn a::before {
	-webkit-transform: translate(0, -16px);
	transform: translate(0, -16px);
	content: "";
}
#menu-btn a::after {
	-webkit-transform: translate(0, 16px);
	transform: translate(0, 16px);
	content: "";
}
#menu-btn.active {
	background: none;
}
#menu-btn.active span {
  opacity: 0;
  -webkit-transition: opacity 150ms;
  transition: opacity 150ms;
}
#menu-btn.active a::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	background: #FFF;
}
#menu-btn.active a::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
	background: #FFF;
}




/****************************************************************************************************
menu
****************************************************************************************************/
#menu {
	position: fixed;
	width: auto;
	max-height: 100vh;
	overflow: scroll;
	right: -100%;
	top: 0;
	padding: 132px 40px 50px 40px;
	background: rgb(0,102,0,.98);
	color: #FFF;
	font-size: 1.2rem;
	line-height: 2.0;
	text-align: left;
	z-index:10;
	-webkit-transition: 300ms;
	-moz-transition: 300ms;
	transition: 300ms;
}
#menu.active {
	right: 0;
	top: 0;
}
#menu ul li {
	border-top: 1px dotted rgba(255,255,255,.5);
	padding-right: 100px;
}
#menu ul li:nth-last-of-type(1) {
	border-bottom: 1px dotted rgba(255,255,255,.5);
}
#menu ul + ul li:nth-of-type(1) {
	border-top: none;
}
#menu ul li a {
	padding: 0.4em 0;
}
#menu ul li.current-menu-item a,
#menu ul li.current-page-ancestor a {
	font-weight: bold;
}
#menu ul li.select a,
#menu ul li.focus a {
	color: #FFFF99;
	font-weight: bold;
}
#menu ul li h3 {
	font-size: 1rem;
	font-weight: normal;
}
#menu ul li a {
	display: block;
	color: #FFF;
}
#m-freedial {
	display: none;
}

/* 2024/05/10追加 */
/* 2024/12/6変更 */
/* #menu ul li:nth-child(10) {
	border-bottom: 1px dotted rgba(255,255,255,.5);
}
#menu ul li:nth-child a:nth-child(10) {
	color: #FFFF99;
}
#menu ul li:nth-child(11) {
	margin-top:50px;
} */
/* 2025/06/02変更 */
/* #menu ul li:nth-child(12) {
	border-bottom: 1px dotted rgba(255,255,255,.5);
}
#menu ul li:nth-child(13) {
	margin-top:50px;
} */
#menu ul li:nth-child(13) {
	border-bottom: 1px dotted rgba(255,255,255,.5);
}
#menu ul li:nth-child(14) {
	margin-top:50px;
}



/****************************************************************************************************
gNav
****************************************************************************************************/
#gNav {
	padding: 24px 0;
	border-top: 1px solid rgba(0,0,0,.3);
}
#gNav ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	/* 24/04/10変更  font-size: 0.933rem; */
	font-size: 0.82rem;
}
#gNav ul::before {
	content: "｜";
	padding: 0 0.7em 0 0;
}
#gNav ul::after {
	content: "｜";
	padding: 0 0 0 0.7em;
}
#gNav ul li + li::before {
	content: "｜";
	padding: 0 0.7em;
}
#gNav ul li a {
}
#gNav ul li.select a,
#gNav ul li.current-menu-item a,
#gNav ul li.current-page-ancestor a {
	color: #060;
	font-weight: bold;
}
#gNav ul li.focus a {
	color: #060;
	font-weight: bold;
}



/****************************************************************************************************
col-area、col-block
****************************************************************************************************/
.col-area + .col-area {
	margin-top: 70px;
	padding-top: 70px;
	border-top: 1px solid #CCCCCC;
}
.col-block + .col-block {
	margin-top: 70px;
}



/****************************************************************************************************
col-box
****************************************************************************************************/
.col-ttl + .col-ttl,
.col-ttl + .col-box,
.col-box + .col-box {
	margin-top: 1.5rem;
}
.col-ttl + .col-ttl.mt0rem,
.col-ttl + .col-box.mt0rem,
.col-box + .col-box.mt0rem {
	margin-top: 0rem;
}
.col-ttl + .col-ttl.mt05rem,
.col-ttl + .col-box.mt05rem,
.col-box + .col-box.mt05rem {
	margin-top: 0.5rem;
}
.col-ttl + .col-ttl.mt1rem,
.col-ttl + .col-box.mt1rem,
.col-box + .col-box.mt1rem {
	margin-top: 1rem;
}
.col-ttl + .col-ttl.mt15rem,
.col-ttl + .col-box.mt15rem,
.col-box + .col-box.mt15rem {
	margin-top: 1.5rem;
}
.col-ttl + .col-ttl.mt2rem,
.col-ttl + .col-box.mt2rem,
.col-box + .col-box.mt2rem {
	margin-top: 2rem;
}
.col-ttl + .col-ttl.mt25rem,
.col-ttl + .col-box.mt25rem,
.col-box + .col-box.mt25rem {
	margin-top: 2.5rem;
}
.col-ttl + .col-ttl.mt3rem,
.col-ttl + .col-box.mt3rem,
.col-box + .col-box.mt3rem {
	margin-top: 3rem;
}
.col-ttl + .col-ttl.mt35rem,
.col-ttl + .col-box.mt35rem,
.col-box + .col-box.mt35rem {
	margin-top: 3.5rem;
}
.col-ttl + .col-ttl.mt4rem,
.col-ttl + .col-box.mt4rem,
.col-box + .col-box.mt4rem {
	margin-top: 4rem;
}
.col-ttl + .col-ttl.mt45rem,
.col-ttl + .col-box.mt45rem,
.col-box + .col-box.mt45rem {
	margin-top: 4.5rem;
}
.col-ttl + .col-ttl.mt5rem,
.col-ttl + .col-box.mt5rem,
.col-box + .col-box.mt5rem {
	margin-top: 5rem;
}
.col-box.border-top {
	padding-top: 1.5rem;
	border-top: 1px solid #CCC;
}
.col-box.border-top.mt25rem {
	padding-top: 2.5rem;
}
.col-box.inline-block {
	display: inline-block;
}



/****************************************************************************************************
コンテナ
****************************************************************************************************/
.container-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px;
}
/* 2025/07/25追加 */
.container-block.gap9 {
	gap: 9px;
}
.container-block.gap12 {
	gap: 12px;
}
.container-block.center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.container {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.container.flex-none {
	display: block;
}
.container.bg {
	background: #F9F5F3;
}
.container.bgY {
	background: #FFFFE9;
}
.container.bgPY {
	background: #FFFFF3;
}
.container.bgDY {
	background: #FFFFDE;
}
.container.bgBG {
	background: #F4EDDF;
}
.container.bgW {
	background: #FFF;
}
.container.pd10,
.container .pd10 {
	padding: 10px 10px;
}
.container.pd15,
.container .pd15 {
	padding: 12px 14px;
}
.container.pd20,
.container .pd20 {
	/* 24/04/10変更 padding: 17px 19px; */
	padding:17px 15px;
}
.container.pd25,
.container .pd25 {
	position: relative;
	/* 2025/07/25変更 */
	/* 24/04/10変更 padding: 22px 24px; */
	/* padding: 22px 12px; */
	padding: 22px 12px 50px 12px;
	width: 100%;
}
/* 2024/08/05 */
.container.pd27,
.container .pd27 {
	position: relative;
	padding: 25px 18px;
}
.container.pd30,
.container .pd30 {
	padding: 27px 29px;
}
.container.pd35,
.container .pd35 {
	/* 24/04/10変更  padding: 32px 34px; */
	padding: 32px 30px;
}
.container.pd40,
.container .pd40 {
	/* 24/04/10変更 padding: 39px 39px; */
	padding:39px 13px;
}
.container.pd50,
.container .pd50 {
	padding: 49px 49px;
}
.container.border {
	border: 1px solid #777777;
	border-top: 5px solid #006600;
}
.container.border1px {
	border: 1px solid #006600;
}
.container.border5px {
	border: 5px solid #006600;
}
.container.border5px.bright {
	border: 5px solid #008C00;
}
/* 2025/07/25追加 */
/* 直葬セットプラン */
.container.border1 {
	border: 1px solid #777777;
	border-top: 5px solid #777777;
}
/* 一日葬セットプラン */
.container.border2 {
	border: 1px solid #777777;
	border-top: 5px solid #006dd9;
}
/* 家族葬セットプラン */
.container.border3 {
	border: 1px solid #777777;
	border-top: 5px solid #009a6b;
}

.container.column {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
}
.container.center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.container.v-center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.container.column.center {
	-webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.container.column.v-center {
	-webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.container.column.center.v-center {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.container.wide1 {
	width: 100%;
}
.container.wide2 {
	width: 590px;
}
.container.wide3 {
	width: calc(1160px / 3);
}
.container.wide4 {
	width: 285px;
}
.container.wide5 {
	width: 220px;
}
.container.wide6 {
	width: 190px;
}
/* 2025/07/25追加 */
.container.wide7 {
	width: 111px;
	height: 80px;
}
.container .mtauto {
	margin-top: auto;
}
.container .img-box.full {
	width: 100%;
	height: 100%;
}
.container .img-box img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.container .img-box.hall img {
	object-fit: cover;
	width: 100%;
	height: 200px;
}
.container a.cover {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	background: #FFFFF3;
}
.container a.cover.column {
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
}
.container a.cover.arrow::after,
.container .pd25.arrow::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	right: 20px;
	bottom: 18px;
	border-bottom: 1px solid #238C00;
	border-right: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
}
.container a.cover.arrow.kazoku,
.container a.cover.arrow.sougi,
.container a.cover.arrow.contact {
	padding-bottom: 2rem;
}
.container a.cover.arrow.kazoku::before,
.container a.cover.arrow.sougi::before,
.container a.cover.arrow.contact::before {
	position: absolute;
	content: "家族葬専用サイト";
	display: inline-block;
	right: 54px;
	bottom: 18px;
	color: #060;
	font-size: 1.0rem;
	line-height: 1.0;
}
/* 2024/05/10 追加 */
.container a.cover.sougi {
	background:#F4EDDF;
}
.container a.cover.arrow.sougi::before {
	/* 2024/05/10 変更 */
	content: "お葬式専用サイトへ移動します";
}
.container a.cover.arrow.contact::before {
	content: "お問い合わせ";
}
.container a.cover.arrow.hall {
	padding-bottom: 2rem;
}
.container a.cover.arrow.hall::before {
	position: absolute;
	content: "詳細・MAP";
	display: inline-block;
	right: 54px;
	bottom: 18px;
	color: #000;
	font-size: 1.0rem;
	line-height: 1.0;
}
.container .pd25.arrow {
	flex: 1;
}
.container a.cover.bgG {
	background: #F9F5F3;
}
.container a.cover.bgY {
	background: #FFFFE9;
}
.container a.cover.bgDY {
	background: #FFFFDE;
}
.container a.cover.bgBG {
	background: #F4EDDF;
}
.allow-center::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	border-bottom: 1px solid #238C00;
	border-right: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
}
.height-adjust {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.container .fit {
	flex: 1;
}

/* 24/04/10追加 */
#after-block .container.wide4 {
	height: 385px;
}
#after-block .container.pd30, .container .pd30 {
	padding: 27px 20px;
}


/****************************************************************************************************
テキスト
****************************************************************************************************/
.alL {
	text-align: left;
}
.alR {
	text-align: right;
}
.alC {
	text-align: center;
}
.col0 {
	color: #000;
}
.col1 {
	color: #060;
}
.col2 {
	color: #008C00;
}
.col3 {
	color: #00A3D8;
}
.col4,
.col-ttl .col4 {
	color: #B28500;
}
.col5 {
	color: #002CB2;
}
.col6 {
	color: #8C6700;
}
.col7 {
	color: #664C00;
}
.col8 {
	color: #FFFFBF;
}
.col9 {
	color: #FFF;
}
.col10 {
	color: #F08100;
}
.col11 {
	color: #D8A300;
}
.col12 {
	color: #D86C00;
}
.col13 {
	color: #00678C;
}
.col14 {
	color: #46008C;
}
.col15 {
	color: #FFFF72;
}
/* 2024/06/28 追加 */
.col16 {
	color:#E83929;
}
/* 2025/07/25追加 */
/* 直葬セットプラン */
.col17 {
	color:#777777;
}
/* 一日葬セットプラン */
.col18 {
	color: #006dd9;
}
/* 家族葬セットプラン */
.col19 {
	color: #009a6b;
}
.flL {
	float: left;
	margin: 0 20px 10px 0;
}
.flR {
	float: right;
	margin: 0 0 10px 20px;
}
.flL.mg15 {
	margin: 0 15px 10px 0;
}
.flL.mg10 {
	margin: 0 10px 10px 0;
}
.flL + p,
.flL + h3 {
	transform: translate(0, -2px);
}

.lh100,
.col-ttl .lh100 {
	line-height: 1.0 !important;
}
.lh120,
.col-ttl .lh120 {
	line-height: 1.2;
}
.lh140,
.col-ttl .lh140 {
	line-height: 1.4;
}
.lh160,
.col-ttl .lh160 {
	line-height: 1.6;
}
.lh180,
.col-ttl .lh180 {
	line-height: 1.8;
}

.page-ttl h1 {
	font-size: 2.8rem;
	line-height: 1.2;
}

.col-ttl h2 {
	font-size: 2.133rem;
	line-height: 1.6;
}
.col-ttl h2 .huge {
	font-size: 4.266rem;
}
.col-ttl h2.medium {
	font-size: 2.4rem;
	font-weight: normal;
}
.col-ttl h2.large {
	font-size: 2.533rem;
	font-weight: normal;
}
.col-ttl h2.xxsmall {
	font-size: 2.133rem;
	font-weight: normal;
}
.col-ttl h2.xxxlarge {
	font-size: 3.2rem;
	font-weight: normal;
}
.col-ttl h2.xlarge {
	font-size: 2.8rem;
	font-weight: normal;
}
.col-ttl h3.xxxlarge,
.col-ttl h3 .xxxlarge {
	font-size: 2.133rem;
	line-height: 1.4;
}
.col-ttl h3.xxlarge,
.col-ttl h3 .xxlarge {
	font-size: 2rem;
	line-height: 1.4;
}
.col-ttl h3.xlarge,
.col-ttl h3 .xlarge {
	font-size: 1.866rem;
	line-height: 1.4;
}
.col-ttl h3.large,
.col-ttl h3 .large {
	font-size: 1.733rem;
	line-height: 1.4;
}
.col-ttl h3 {
	/* 24/04/10変更  font-size: 1.6rem; */
	font-size: 1.4rem;
	line-height: 1.4;
}
.col-ttl h3.small,
.col-ttl h3 .small {
	font-size: 1.466rem;
	line-height: 1.4;
}
.col-ttl h3.xsmall {
	/* 24/04/10変更  font-size: 1.333rem; */
	font-size: 1.11rem;
	line-height: 1.4;
}
.col-ttl h3.xxsmall {
	/* 24/04/10変更  font-size: 1.2rem; */
	font-size: 1rem;
}
/* 2025/07/25追加 */
.col-ttl h3.xxxsmall {
	font-size: 0.8rem;
}
.col-ttl h3 .cap {
	font-size: 1.2rem;
}
.col-ttl h3 .cap.float {
	float: right;
}
.col-ttl h4.large {
	/* 24/04/10変更  font-size: 1.6rem; */
	font-size:1.5rem;
	line-height: 1.4;
}
.col-ttl h4 {
	font-size: 1.333rem;
	line-height: 1.4;
}
h2.base,
h3.base,
h4.base {
	font-size: 1.0rem;
}
.contents-inner p.huge,
.contents-inner p .huge,
.contents-inner li.huge,
.contents-inner li .huge {
	font-size: 2.666rem;
	line-height: 1.2;
	vertical-align: bottom;
}
.contents-inner p.xxxlarge,
.contents-inner p .xxxlarge,
.contents-inner li.xxxlarge,
.contents-inner li .xxxlarge {
	font-size: 1.6rem;
	line-height: 1.4;
}
.contents-inner p.xlarge,
.contents-inner p .xlarge,
.contents-inner li.xlarge,
.contents-inner li .xlarge {
	font-size: 1.333rem;
}
.contents-inner p.large,
.contents-inner p .large,
.contents-inner li.large,
.contents-inner li .large,
.contents-inner dt.large,
.contents-inner dt .large,
.contents-inner dd.large,
.contents-inner dd .large {
	font-size: 1.2rem;
}
.contents-inner p.medium,
.contents-inner p .medium,
.contents-inner li.medium,
.contents-inner li .medium,
figcaption.small {
	font-size: 0.933rem;
}
.contents-inner p.small,
.contents-inner p .small,
.contents-inner li.small,
.contents-inner li .small,
.contents-inner dt.small,
.contents-inner dt .small,
.contents-inner dd.small,
.contents-inner dd .small,
figcaption.small {
	font-size: 0.866rem;
}
.contents-inner p.xsmall,
.contents-inner p .xsmall,
.contents-inner li.xsmall,
.contents-inner li .xsmall,
figcaption.xsmall {
	font-size: 0.8rem;
}
.contents-inner p .price {
	font-size: 3.466rem;
}
.contents-inner p .price-s {
	font-size: 2.4rem;
}
.contents-inner p a,
.contents-inner li a {
	color: #006600;
}
.hd {
	text-indent: -1em;
	padding-left: 1em;
}
.hd * { text-indent: 0; }



/****************************************************************************************************
矢印
****************************************************************************************************/
.arrow-next {
	display: block;
}
.arrow-next::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 5px;
	margin-right: 0.6em;
	border-bottom: 1px solid #238C00;
	border-right: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
	vertical-align: 0.3em;
}
.next-arrow {
	display: block;
}
.next-arrow::after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	margin-left: 0.2em;
	margin-bottom: 0.2em;
	border-bottom: 1px solid #238C00;
	border-right: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
}
.arrow-prev {
	display: block;
}
.arrow-prev::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 5px;
	margin-right: 0.6em;
	border-bottom: 1px solid #238C00;
	border-left: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(-45deg, 0);
	transform: translate(0, 0) skew(-45deg, 0);
	vertical-align: 0.3em;
}



/****************************************************************************************************
f-inquirie
****************************************************************************************************/
#f-inquirie {
}
#f-inquirie-banner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 29px;
}
#f-freedial-wrap {
	margin-top: 50px;
}
#f-freedial {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: left;
}



/****************************************************************************************************
pagetop
****************************************************************************************************/
#pagetop {
	margin: 90px auto;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-size: 0.8rem;
	line-height: 1.0;
	letter-spacing: 1px;
}
#pagetop a {
	display: block;
}
#pagetop a::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 50px;
	margin-bottom: 0.8em;
	margin-left: 3px;
	border-top: 1px solid #238C00;
	border-left: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(0, 45deg);
	transform: translate(0, 0) skew(0, 45deg);
}



/****************************************************************************************************
footer
****************************************************************************************************/
#footer {
	min-width: 1200px;
	padding: 0 0 50px 0;
}
#fNav {
	margin: 0 0 50px 0;
	padding: 0 0 12px 0;
	border-bottom: 1px solid rgba(0,0,0,.3);
}
#fNav ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	/* 24/04/10変更  font-size: 0.933rem; */
	font-size: 0.82rem;
}
#fNav ul + ul {
	margin-top: 0.3em;
}
#fNav ul::before {
	content: "｜";
	padding: 0 0.7em 0 0;
}
#fNav ul::after {
	content: "｜";
	padding: 0 0 0 0.7em;
}
#fNav ul li + li::before {
	content: "｜";
	padding: 0 0.7em;
}
#fNav ul li a {
}
#fNav ul li.select a {
	color: #060;
	font-weight: bold;
}
#fNav ul li.focus a,
#fNav ul li.current-menu-item a,
#fNav ul li.current-page-ancestor a {
	color: #060;
	font-weight: bold;
}
#f-logo {
}
#address {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0 1em;
	margin-top: 30px;
}

#copyright {
	font-size: 0.8rem;
	margin-top: 30px;
}

/* 240328 お葬式プランサイトリンク フォントサイズ変更 */
.font18{
	font-size: 18px;
}
.font45{
	font-size: 3rem;
}
.font36{
	font-size: 2rem;
	line-height:1.5;
}
.font15{
	font-size:0.866rem;
}

	/* 240401電話番号左下に固定 */
	#tab-freedial{
		display:none;
	}

	/* 2024/07/18 プラス共済ページに追加 */
.pdl-20{
	padding-left: 20px;
}



@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	初期設定
	****************************************************************************************************/
	html,
	body {
		min-width: initial;
		min-width: auto;
		scroll-padding-top: 0;
		min-width: initial;
		min-width: auto;
		font-size: 4.159vw; /* 24/04/24変更3.466vw; */
		line-height: 2.0;
	}
	img {
		width: 100%;
		height: auto;
	}
	a {
		-webkit-transition: none;
		transition: none;
	}
	a:hover {
		opacity:1;
	}
	.pcOnly,
	img.pcOnly,
	span.pcOnly,
	i.pcOnly {
		display:none;
	}
	.spOnly {
		display:block;
	}
	span.spOnly {
		display:inline;
	}
	
	
	
	/****************************************************************************************************
	header
	****************************************************************************************************/
	#header {
		min-width: initial;
		min-width: auto;
	}
	#header-inner {
		/* padding: 3vw; */
		padding: 7vw;
	}
	#h-logo {
		/* width: 72vw; */
		width: 82vw;
		position:fixed; 
		top:3vw;
		left:10px;
	}
	#h-freedial {
		display: none;
	}
	.freedial {
		font-size: 1.4rem;   /* 24/04/24変更 font-size: 1.6rem; */
	}
	.freedial img {
		width: 6vw;  /* 24/04/24変更 width: 8vw; */
	}
	.freedial span {
		font-size: 0.6rem;
		line-height: 1.4;
	}

	#menu-btn {
		right: 3vw;
		top: 3vw;
		width: 10vw;
		height: 10vw;
	}
	#menu-btn a {
		font-size: 0.533rem;
		letter-spacing: 0;
		line-height: 3.8;
	}
	#menu-btn span,
	#menu-btn a::before,
	#menu-btn a::after {
		width: 6vw;
		height: 0.4vw;
	}
	#menu-btn span {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#menu-btn a::before {
		-webkit-transform: translate(0, -2.0vw);
		transform: translate(0, -2.0vw);
	}
	#menu-btn a::after {
		-webkit-transform: translate(0, 2.0vw);
		transform: translate(0, 2.0vw);
	}
	
	
	
	
	/****************************************************************************************************
	menu
	****************************************************************************************************/
	#menu {
		padding: 16vw 1vw 4vw 2vw; /* 24/04/24変更 16vw 6vw 6vw 6vw;  */
		font-size: 0.9rem;/* 24/04/24追加font-size: 1.0rem; */
		max-width: 99%; /* 24/04/24追加 */
	}
	#menu.active {
		right: 0;
		top: 0;
	}
	#menu ul li a {
		padding: 0.4em 0;
	}
	#menu ul li h3 {
		font-size: 1rem;
		font-weight: normal;
	}
	#menu ul li a {
		display: block;
		color: #FFF;
	}
	#m-freedial {
		display: block;
		margin-bottom: 0.4em;
	}
	#m-freedial a {
		color: #FFF;
	}
	#m-freedial img {
		filter: grayscale(100%) brightness(500%);
	}
	#m-freedial span strong {
		color: #FFF;
	}
	
	
	
	/****************************************************************************************************
	gNav
	****************************************************************************************************/
	#gNav {
		display: none;
	}
	
	
	
	/****************************************************************************************************
	col-area、col-block
	****************************************************************************************************/
	.col-area + .col-area {
		margin-top: 10vw;
		padding-top: 10vw;
		border-top: 1px solid #CCCCCC;
	}
	.col-block + .col-block {
		margin-top: 10vw;
	}
	
	
	
	/****************************************************************************************************
	col-box
	****************************************************************************************************/
	.col-ttl + .col-ttl,
	.col-ttl + .col-box,
	.col-box + .col-box {
		margin-top: calc(1.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt0rem,
	.col-ttl + .col-box.mt0rem,
	.col-box + .col-box.mt0rem {
		margin-top: calc(0rem * 0.5);
	}
	.col-ttl + .col-ttl.mt05rem,
	.col-ttl + .col-box.mt05rem,
	.col-box + .col-box.mt05rem {
		margin-top: calc(0.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt1rem,
	.col-ttl + .col-box.mt1rem,
	.col-box + .col-box.mt1rem {
		margin-top: calc(1rem * 0.5);
	}
	.col-ttl + .col-ttl.mt15rem,
	.col-ttl + .col-box.mt15rem,
	.col-box + .col-box.mt15rem {
		margin-top: calc(1.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt2rem,
	.col-ttl + .col-box.mt2rem,
	.col-box + .col-box.mt2rem {
		margin-top: calc(2rem * 0.5);
	}
	.col-ttl + .col-ttl.mt25rem,
	.col-ttl + .col-box.mt25rem,
	.col-box + .col-box.mt25rem {
		margin-top: calc(2.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt3rem,
	.col-ttl + .col-box.mt3rem,
	.col-box + .col-box.mt3rem {
		margin-top: calc(3rem * 0.5);
	}
	.col-ttl + .col-ttl.mt35rem,
	.col-ttl + .col-box.mt35rem,
	.col-box + .col-box.mt35rem {
		margin-top: calc(3.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt4rem,
	.col-ttl + .col-box.mt4rem,
	.col-box + .col-box.mt4rem {
		margin-top: calc(4rem * 0.5);
	}
	.col-ttl + .col-ttl.mt45rem,
	.col-ttl + .col-box.mt45rem,
	.col-box + .col-box.mt45rem {
		margin-top: calc(4.5rem * 0.5);
	}
	.col-ttl + .col-ttl.mt5rem,
	.col-ttl + .col-box.mt5rem,
	.col-box + .col-box.mt5rem {
		margin-top: calc(5rem * 0.5);
	}
	.col-box.border-top.mt25rem {
		padding-top: calc(2.5rem * 0.5);
	}
	
	
	
	/****************************************************************************************************
	コンテナ
	****************************************************************************************************/
	.container-block {
		gap: 2vw;
	}
	.container-block.gap12 {
		gap: 2vw;
	}
	.container.pd15,
	.container .pd15 {
		padding: 3vw;
	}
	.container.pd20,
	.container .pd20 {
		padding: 3vw;
	}
	.container.pd25,
	.container .pd25 {
		/* 2025/07/25変更 */
		/* padding: 4vw; */
		padding: 4vw 4vw 6vw 4vw;
	}
	.container.pd30,
	.container .pd30 {
		padding: 4vw;
	}
	.container.pd35,
	.container .pd35 {
		padding: 4vw;
	}
	.container.pd40,
	.container .pd40 {
		padding: 4vw;
	}
	.container.pd50,
	.container .pd50 {
		padding: 5vw;
	}
	.container.wide1 {
		width: 100%;
	}
	.container.wide2 {
		width: 100%;
	}
	.container.wide3 {
		width: 100%;
	}
	.container.wide4 {
		width: 45vw;
	}
	.container.wide5 {
		width: 45vw;
	}
	.container.wide6 {
		width: 29.333vw;
	}
		/* 2025/0725追加 */
	.container.wide7 {
		width: 29vw;
	}
	.container .img-box.hall img {
		object-fit: cover;
		width: 100%;
		height: 35vw;
	}
	.container a.cover.arrow::after
	.container .pd25.arrow::after {
		width: calc(3vw * 1.5);
		height: calc(0.7vw * 1.5);
		right: 3.5vw;
		bottom: 3vw;
	}
	.container a.cover.arrow.kazoku::before,
	.container a.cover.arrow.sougi::before,
	.container a.cover.arrow.hall::before,
	.container a.cover.arrow.contact::before {
		right: 13vw;
		bottom: 4vw;
		font-size: 0.866rem;
	}
	.allow-center::after {
		width: calc(3vw * 1.5);
		height: calc(0.7vw * 1.5);
	}
	
	/* 24/04/10追加 */
	#after-block .container.wide4 {
		height: auto;
	}

	
	/****************************************************************************************************
	テキスト
	****************************************************************************************************/
	.spLeft {
		text-align: left;
	}
	.flL {
		float: left;
		margin: 0 2vw 2vw 0;
	}
	.flR {
		float: right;
		margin: 0 0 2vw 2vw;
	}
	.flL.mg15 {
		margin: 0 2vw 2vw 0;
	}
	.flL.mg10 {
		margin: 0 2vw 2vw 0;
	}
	.flL + p,
	.flL + h3 {
		transform: translate(0, 0);
	}
	
	.lh160 {
		line-height: 1.6;
	}
	.lh180 {
		line-height: 1.8;
	}
	
	.page-ttl h1 {
		font-size: 1.3rem;/* 24/04/24変更font-size: 1.6rem; */
	}
	
	.col-ttl h2 {
		font-size: 1.6rem;/* 24/04/24変更font-size: 1.733rem;*/
	}
	.col-ttl h2 .huge {
		font-size: 2.8rem;
	}
	.col-ttl h2.medium {
		font-size: 1.3rem;/* 24/04/24変更font-size: 1.733rem; */
	}
	.col-ttl h2.xxxlarge {
		font-size: 2.4rem;
		font-weight: normal;
	}
	.col-ttl h2.xlarge {
		font-size: 1.866rem;
	}
	.col-ttl h2.large {
		font-size: 1.866rem;
	}
	.col-ttl h2.xxsmall {
		font-size: 1.4rem; /* 24/04/24変更font-size: 1.733rem; */
	}
	.col-ttl h3.xxxlarge,
	.col-ttl h3 .xxxlarge {
		font-size: 1.333rem;
	}
	.col-ttl h3.xxlarge,
	.col-ttl h3 .xxlarge {
		font-size: 1.333rem;
	}
	.col-ttl h3.xlarge,
	.col-ttl h3 .xlarge {
		font-size: 1.333rem;
	}
	.col-ttl h3.large,
	.col-ttl h3 .large {
		font-size: 1.333rem;
	}
	.col-ttl h3 {
		font-size: 1.0rem;/* 24/04/24変更font-size: 1.2rem; */
	}
	.col-ttl h3.small,
	.col-ttl h3 .small {
		font-size: 1.2rem;
	}
	.col-ttl h3.xsmall {
		font-size: 1.2rem;
	}
	.col-ttl h3.xxsmall {
		font-size: 1.0rem;
	}
	.col-ttl h3 .cap {
		font-size: 0.8rem;
	}
	.col-ttl h4.large {
		font-size: 1.2rem;
	}
	.col-ttl h4 {
		font-size: 0.9rem;/* 24/04/24変更font-size: 1.2rem; */
	}
	h2.base,
	h3.base,
	h4.base {
		font-size: 0.866rem;
	}
	.contents-inner p,
	.contents-inner li,
	.contents-inner dt,
	.contents-inner dd,
	.contents-inner th,
	.contents-inner td,
	.contents-inner figcaption {
		font-size: 0.866rem;
	}
	.contents-inner p.huge,
	.contents-inner p .huge,
	.contents-inner li.huge,
	.contents-inner li .huge {
		font-size: 2.0rem;
	}
	.contents-inner p.xxxlarge,
	.contents-inner p .xxxlarge,
	.contents-inner li.xxxlarge,
	.contents-inner li .xxxlarge {
		font-size: 1.1rem;/* 24/04/24変更font-size: 1.2rem;*/
	}
	.contents-inner p.xlarge,
	.contents-inner p .xlarge,
	.contents-inner li.xlarge,
	.contents-inner li .xlarge {
		font-size: 1.133rem;
	}
	.contents-inner p.large,
	.contents-inner p .large,
	.contents-inner li.large,
	.contents-inner li .large,
	.contents-inner dt.large,
	.contents-inner dt .large,
	.contents-inner dd.large,
	.contents-inner dd .large {
		font-size: 1.0rem;
	}
	.contents-inner p.medium,
	.contents-inner p .medium,
	.contents-inner li.medium,
	.contents-inner li .medium,
	figcaption.small {
		font-size: 0.8rem;
	}
	.contents-inner p.small,
	.contents-inner p .small,
	.contents-inner li.small,
	.contents-inner li .small,
	.contents-inner dt.small,
	.contents-inner dt .small,
	.contents-inner dd.small,
	.contents-inner dd .small,
	figcaption.small {
		font-size: 0.733rem;
	}
	.contents-inner p.xsmall,
	.contents-inner p .xsmall,
	.contents-inner li.xsmall,
	.contents-inner li .xsmall,
	figcaption.xsmall {
		font-size: 0.666rem;
	}
	.contents-inner p .price {
		font-size: 2.6rem;
	}
	.contents-inner p .price-s {
		font-size: 1.8rem;
	}
	
	
	
	/****************************************************************************************************
	矢印
	****************************************************************************************************/
	a.arrow-next::before {
		width: calc(2vw * 1.5);
		height: calc(0.5vw * 1.5);
		margin-right: 0.5em;
		vertical-align: 0.3em;
	}
	a.next-arrow::after {
		width: calc(3vw * 1.5);
		height: calc(0.7vw * 1.5);
		margin-left: 0.2em;
		margin-bottom: 0.3em;
	}
	
	
	
	/****************************************************************************************************
	f-inquirie
	****************************************************************************************************/
	#f-inquirie-banner {
		gap: 2vw;
	}
	#f-inquirie-banner li {
		width: 45vw;
	}
	#f-freedial-wrap {
		margin-top: 5vw;
	}
	
	
	
	/****************************************************************************************************
	pagetop
	****************************************************************************************************/
	#pagetop {
		margin: 10vw auto;
		font-size: 0.666rem;
		letter-spacing: 0;
	}
	#pagetop a {
		display: block;
	}
	#pagetop a::before {
		width: calc(1vw * 1.5);
		height: calc(5vw * 1.5);
		margin-bottom: 0.5em;
		margin-left: 4px;
	}
	
	
	
	/****************************************************************************************************
	footer
	****************************************************************************************************/
	#footer {
		min-width: initial;
		min-width: auto;
		padding: 0 0 5vw 0;
	}
	#fNav {
		margin: 0 0 5vw 0;
		padding: 0 0 4vw 0;
		border-bottom: 1px solid rgba(0,0,0,.3);
		font-size: 0.4rem;/* 24/04/24変更0.866rem; */
	}
	#fNav ul {
		width: 92vw;
		margin: auto;
		border-left: 1px solid #E6E6E6;
		border-top: 1px solid #E6E6E6;
	}
	#fNav ul:nth-of-type(1) li:nth-last-of-type(1) {
		width: 100%;
	}
	#fNav ul li {
		width: 50%;
		border-right: 1px solid #E6E6E6;
		border-bottom: 1px solid #E6E6E6;
	}
	#fNav ul li a {
		display: block;
		padding: 0.6em;
		font-size: 0.4rem;/* 240517 追加 */
	}
	#fNav ul::before {
		display: none;
	}
	#fNav ul::after {
		display: none;
	}
	#fNav ul + ul {
		margin-top: 0;
		border-top: none;
	}
	#fNav ul li + li::before {
		display: none;
	}
	#f-logo {
		width: 72vw;
		margin: auto;
	}
	#address {
		margin-top: 4vw;
		font-size: 0.733rem;
	}
	
	#copyright {
		font-size: 0.733rem;
		margin-top: 4vw;
	}

	/* 240328 お葬式プランサイトリンク フォントサイズ変更 */
	.font18{
		font-size: 1rem;
		}

	/* 2024/08/05 */
	.contents-inner p.font36{
		font-size: 1.5rem;
		line-height: 1.5;
	}

		/* 240401電話番号左下に固定 */
		#main.tab-freedial{
			margin:0 auto;
		}


			/* 2024/04/19 追加 */
		#tab-freedial{
			display: block;
			position: fixed;
			/* left: 50%; */
			bottom: 0vw;
			/* transform: translateX(-35%); */
			transition: top .5s;
			z-index: 1000;
			width: 100vw;
			background:#fff;
			padding:5px;
		}	

		#tab-freedial .freedial{
			justify-content: center;
		}
	

}