/*---------------------------------------------*/
/* MainReset #dd7c32 dd7c32 */
/*---------------------------------------------*/
html {
	font-size: 62.5%;
	background: #fff;
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body, div, dl, dt, dd, ul, ol, li, pre, code, 
form, fieldset, legend, input, textarea, figure, 
p, blockquote, th, td {
	font-size: 1.8rem;
	margin: 0;
	padding: 0;
}
h2, h3, h4, h5, h6 {
	font-size: 2.0rem;
	font-weight: normal; /*normal*/
	margin: 0;
	padding: 0;
}
h1 {
	font-size: 3.4rem;
}
/* 1240 */
@media (max-width: 1240px) {
	body, div, dl, dt, dd, ul, ol, li, pre, code, 
	form, fieldset, legend, input, textarea, figure, 
	p, blockquote, th, td {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
	}
	h2, h3, h4, h5, h6 {
		font-size: max(1.61vw, 1.7rem); //2.0rem;
	}
	h1 {
		font-size: max(2.74vw, 2.8rem); //3.4rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	body, div, dl, dt, dd, ul, ol, li, pre, code, 
	form, fieldset, legend, input, textarea, figure, 
	p, blockquote, th, td {
		font-size: 1.6rem;
	}
	h1 {
		font-size: 2.6rem;
	}
}
body {
	color: #393939;
	font-family: "kozuka-gothic-pro", "小塚ゴシック Pro", "Kozuka Gothic Pro", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
	-mts-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
}
.mn {
	font-family: '小塚明朝 Pro','Kozuka Mincho Pro',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.bn {
	font-family: bebas-neue-v14-deprecated, sans-serif;
}
.fp {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: italic;
}
.im {
	font-family: "impact", sans-serif;
	font-weight: 400;
	font-style: normal;
}
img {
	/*zoom: .35;*/
	-webkit-backface-visibility: hidden;
	max-width: 100%;
}
input[type=text],
input[type=email],
input[type=tel],
input[type=checkbox],
input[type=submit],
input[type=button],
button,
textarea {
	border-radius: 4px;
	border: 1px solid #ddd;
	margin: 0;
	padding: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/arrow.png) right 50% no-repeat #fff;
	background-size: auto, 100%;
	padding-right: 25px;
}
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
input, select, button {
	vertical-align: middle;
}
input::placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}
select {
	width: 100%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #7d7d7d;
	background: #fff;
	background: url(../images/arrow.png) right 100% no-repeat #fff;
	background-size: auto 100%;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
address, caption, code, th {
	font-style: normal;
	font-weight: normal;
}
img, fieldset {
	border: 0;
}
ol, ul {
	list-style-type: none;
}
input, select, textarea, button {
	border-radius: 2px;
	border: 1px solid #ebebeb;
	margin: 0;
	padding: 5px;
	vertical-align: bottom;
}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus, select:focus, textarea:focus {
	outline: none;
	background-color: #FFFFDF;
}
input[type=submit], input[type=button], button {
	cursor: pointer;
	background-color: #F4F4F4;
}
input[type=submit]:hover, input[type=button]:hover, button:hover {
	background-color: #fff;
}
input[type=submit]:active, input[type=button]:active, button:active {
	background-color: #FFFFDF;
}
/* checkbox */
input[type=checkbox] {
	display: none;
}
input[type=checkbox] + .mwform-checkbox-field-text {
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	white-space: normal;
}
input[type=checkbox] + .mwform-checkbox-field-text:before {
	content: "\f0c8";
	font-family: "Font Awesome 6 Free";
	color: #dbdbdb;
	font-size: 22px;
	margin-right: 7px;
	vertical-align: middle;
}
input[type=checkbox]:checked + .mwform-checkbox-field-text:before {
	content: "\f14a";
	color: #dd7c32;
}
/* radio */
input[type=radio] {
	display: none;
}
input[type=radio] + .mwform-radio-field-text:before {
	content: "\f111";
	font-family: "Font Awesome 6 Free";
	color: #ccc;
	font-size: 20px;
	margin-right: 6px;
}
input[type=radio]:checked + .mwform-radio-field-text:before {
	content: "\f192";
	color: #dd7c32;
}

/* select */
select {
	/* styling */
	color: #000;
	background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%), linear-gradient(to right, #dd7c32, #dd7c32);
	background-position: calc(100% - 21px) calc(50%), calc(100% - 16px) calc(50%), 100% 0;
	background-size: 5px 5px, 5px 5px, 46px 46px;
	background-repeat: no-repeat;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	display: inline-block;
	padding: 14px 55px 14px 15px;
	/* reset */
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
}
select:focus {
	background-image: linear-gradient(45deg, white 50%, transparent 50%), linear-gradient(135deg, transparent 50%, white 50%), linear-gradient(to right, #a71b17, #a71b17);
	background-position: calc(100% - 16px) calc(50%), calc(100% - 21px) calc(50%), 100% 0;
	background-size: 5px 5px, 5px 5px, 46px 46px;
	background-repeat: no-repeat;
	border-color: #bfbfbf;
	outline: 0;
}
select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

/*---------------------------------------------*/
/* common */
/*---------------------------------------------*/
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.2s;
}
a:active,
body.is-pc a:hover {
	color: #dd7c32;
	outline: 0;
	text-decoration: none;
}
body.is-pc a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all 0.5s;
}
body.center {
	text-align: initial;
}
.content {
	max-width: 1240px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.content2 {
	max-width: 1540px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.content3 {
	max-width: 1340px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
p {
	line-height: 2;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.strong {
	background: linear-gradient(transparent 60%, #ffe952 40%)!important;
}
span.red {
	color: #cd342c;
}
span.nowrap {
	white-space: nowrap;
}
/* 580 */
@media (max-width: 580px) {
	.content {
		max-width: 1140px;
		width: 100%;
	}
	.content2 {
		min-width: initial;
	}
}

/*--------------------------------------------------------------*/
/* common -> zoom */
/*--------------------------------------------------------------*/
.zhover {
	overflow: hidden;
	z-index: 2;
	position: relative;
}
.zhover img {
	transform: scale(1);
	transition: all 1.0s linear;
}
body.is-pc a:hover .zhover img:hover {
	transform: scale(1.1);
	opacity: 1;
}

/*---------------------------------------------*/
/* common -> pd_std */
/*---------------------------------------------*/
.pd_std {
	padding-top: 100px;
	padding-bottom: 100px;
}
.pd_std.bzero {
	padding-bottom: 0px;
}
.pd_std.tzero {
	padding-top: 0px;
}
/* 1240 */
@media (max-width: 1240px) {
	.pd_std {
		padding-top: max(8.065vw, 50px); //100px;
		padding-bottom: max(8.065vw, 60px); //100px;
	}
}

/*---------------------------------------------*/
/* common -> view */
/*---------------------------------------------*/
/* pc tb sp view */
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}
/* 768 */
@media (max-width: 768px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_view {
		display: block;
	}
	.sp_none {
		display: none!important;
	}
}

/*--------------------------------------------------------------*/
/* パララックス */
/*--------------------------------------------------------------*/
.mv_left,
.mv_right,
.mv_up,
.mv_down,
.mv_bk {
	position: relative;
}
.lv_fade,
.mv_fade {
	opacity: 0;
}
.mv_left {
	opacity: 0;
	left: -100px;
}
.mv_right {
	opacity: 0;
	right: -100px;
}
.mv_up {
	opacity: 0;
	top: 100px;
}
.mv_down {
	opacity: 0;
	top: -100px;
}

/*---------------------------------------------*/
/* common -> flex */
/*---------------------------------------------*/
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex.reverse {
	flex-direction: row-reverse;
}

/*---------------------------------------------*/
/* common -> table.tbl */
/*---------------------------------------------*/
table.tbl {
	border-collapse: collapse;
	width: 100%;
}
table.tbl {
	width: 100%;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
}
table.tbl th {
	background: #ffede0;
	font-weight: bold;
}
table.tbl td {
	background: #fbfbfb;
}
table.tbl th,
table.tbl td {
	padding: 15px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

/*--------------------------------------------------------------*/
/* common -> .btn_link */
/*--------------------------------------------------------------*/
.btn_link {
	display: block;
	position: relative;
	max-width: 300px;
	min-width: 180px;
	width: 80%;
	text-align: center;
	padding: 8px;
	color: #fff;
	background: #dd7c32;
	font-size: 1.8rem;
	border-radius: 4px;
	transition: background 0.3s, color 0.3s;
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn_link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	content: '\f04b';
	font-size: 1.4rem;
	transition: right 0.3s;
	line-height: 1;
}
.btn_link.back::after {
	position: absolute;
	top: 50%;
	right: initial;
	left: 15px;
	-webkit-transform: translate(0, -50%) rotate(180deg);
	transform: translate(0, -50%) rotate(180deg);
}
body.is-pc .btn_link:hover {
	color: #fff;
	background: #cb5c4b;
}
body.is-pc .btn_link:hover::after {
	right: 10px;
}
body.is-pc .btn_link.back:hover::after {
	right: initial;
	left: 10px;
}
/* 1240 */
@media (max-width: 1240px) {
	.btn_link {
		font-size: max(1.77vw, 1.6rem); //2.2rem;
		padding: max(0.645vw, 6px) 8px; //8px;
	}
	.btn_link::after {
		font-size: max(1.29vw, 1.4rem); //1.6rem;
	}
}

/*---------------------------------------------*/
/* 共通 -> btn */
/*---------------------------------------------*/
.btn {
	border-radius: 30px;
	font-size: 2.0rem;
	font-weight: 500;
	color: #fff;
	background: #cd342c;
	height: 47px;
	padding: 0 60px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: all .3s ease;
}
.btn.white {
	background: #fff;
	color: #393939;
	border: 1px solid #393939;
}
body.is-pc .btn:hover {
	color: #fff;
	background: #ff6860;
}
body.is-pc .btn.white:hover {
	color: #fff;
	background: #dd7c32;
}
/* 1240 */
@media (max-width: 1240px) {
	.btn,
	.btn.white {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		padding: 0 max(4.839vw, 20px); //60px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.btn {
		font-size: 1.6rem;
		height: 40px;
		padding: 0 50px;
	}
}

/*---------------------------------------------*/
/* 共通 -> sp_btn */
/*---------------------------------------------*/
.sp_btn {
	border-radius: 10px;
	font-size: 2.0rem;
	font-weight: 500;
	background: #fff;
	border: 3px solid #dd7c32;
	height: 55px;
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	transition: all .3s ease;
}
.sp_btn.isogi {
	border: 3px solid #c65349;
	background: #c65349;
	color: #fff;
}
.sp_btn.isogi i {
	color: #fff;
}
.sp_btn i {
	color: #dd7c32;
	font-size: 2.4rem;
	margin-right: 7px;
}

/*---------------------------------------------*/
/* 共通 -> more */
/*---------------------------------------------*/
div.more a {
	color: #a71b17;
	text-decoration: underline;
	transition: .3s ease;
}
body.is-pc div.more a:hover {
	color: #f08454;
	text-decoration: none;
}
div.more.right {
	text-align: right;
}

/*---------------------------------------------*/
/* 共通 -> sbtn（四角ボタン） */
/*---------------------------------------------*/
div.sbtn a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #a71b17;
	color: #fff;
	line-height: 1;
	transition: .3s ease;
	height: 46px;
	padding: 2px 15px 0 15px;
}
body.is-pc div.sbtn a:hover {
	background: #fa231d;
	color: #fff;
}
/* 1240 */
@media (max-width: 1240px) {
	div.sbtn a {
		height: max(3.71vw, 36px); //46px;
		padding: 2px max(1.21vw, 12px) 0 max(1.21vw, 12px);
	}
}


/*---------------------------------------------*/
/* 共通 -> header.type01 */
/*---------------------------------------------*/
header.type01 {
	text-align: center;
	margin-bottom: 60px;
}
header.type01 h1 {
	font-size: 5.0rem;
	margin: 0 0 30px 0;
	color: #dd7c32;
}
header.type01 h1.mid {
	font-size: 4.5rem;
}
header.type01 p.txt {
	font-size: 2.0rem;
}
header.type01 h1 span.italic {
	font-style: italic;
	margin-right: 8px;
}
/* 1240 */
@media (max-width: 1240px) {
	header.type01 {
		margin-bottom: max(4.839vw, 42px); //60px;
	}
	header.type01 h1 {
		font-size: max(4.03vw, 3.0rem); //5.0rem;
		margin: 0 0 max(2.419vw, 21px) 0;
	}
	header.type01 h1.mid {
		font-size: max(3.63vw, 3.0rem); //4.5rem;
	}
	header.type01 p.txt {
		font-size: max(1.61vw, 1.7rem); //2.0rem;
	}
}

/*---------------------------------------------*/
/* 共通 -> blue_obi */
/*---------------------------------------------*/
.blue_obi {
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}
.blue_obi span.txt {
	display: inline-block;
	color: #fff;
	background: #1e367a;
	padding: 12px 30px 6px 30px;
	margin-bottom: 4px;
}
/* 580 */
@media (max-width: 580px) {
	.blue_obi {
		font-size: 1.6rem;
	}
	.blue_obi span.txt {
		padding: 8px 12px 4px 12px;
	}
}
/* 380 */
@media (max-width: 380px) {
	.blue_obi {
		font-size: 1.5rem;
	}
	.blue_obi span.txt {
		padding: 8px 10px 6px 10px;
	}
}

/*---------------------------------------------*/
/* 共通 -> free_call01 */
/*---------------------------------------------*/
.free_call01 {
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.free_call01 a {
	line-height: 1;
	transition: .3s ease;
}
.free_call01 svg {
	width: 83px;
	margin-right: 10px;
}
.free_call01 svg path {
	fill: green;
}
.free_call01 span.num {
	font-size: 8.0rem;
	font-weight: 700;
	line-height: 1;
}
.free_call01 span.free {
	font-size: 3.0rem;
	display: inline-block;
	padding: 12px 12px 10px 12px;
	margin-left: 15px;
	background: #ea7481;
	color: #fff;
	line-height: 1;
}
/* 580 */
@media (max-width: 580px) {
	.free_call01 {
		margin-bottom: 0px;
	}
	.free_call01 svg {
		width: 40px;
		margin-right: 6px;
	}
	.free_call01 span.num {
		font-size: 3.4rem;
		padding-top: 4px;
		display: inline-block;
	}
	.free_call01 span.free {
		font-size: 1.2rem;
		padding: 5px 5px 5px 5px;
		margin-left: 6px;
	}
}
/* 380 */
@media (max-width: 380px) {
	.free_call01 span.num {
		font-size: 3.0rem;
	}
	.free_call01 span.free {
		font-size: 1.3rem;
		padding: 8px 4px 6px 4px;
		margin-left: 5px;
	}
}

/*---------------------------------------------*/
/* 共通 -> free_call02 */
/*---------------------------------------------*/
.free_call02 {
	margin-bottom: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.free_call02 a {
	line-height: 1;
	transition: .3s ease;
	margin-bottom: -3px;
}
.free_call02 svg {
	width: 36px;
	margin-right: 5px;
}
.free_call02 svg path {
	fill: green;
}
.free_call02 span.num {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
}
.free_call02 span.free {
	font-size: 1.4rem;
	display: inline-block;
	padding: 6px 4px 6px 4px;
	margin-left: 5px;
	background: #ea7481;
	color: #fff;
	line-height: 1;
}

/*---------------------------------------------*/
/* body */
/*---------------------------------------------*/
body {
	margin-bottom: 110px;
}
body.sp_menu {
	overflow: hidden;
}
/* 580 */
@media (max-width: 580px) {
	body {
		margin-bottom: 72px;
	}
}

/*---------------------------------------------*/
/* header .subhead */
/*---------------------------------------------*/
#header {
	box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
}
#header nav {
	background: #fff;
	transition: top .4s;
	position: initial;
	top: initial;
	left: initial;
	box-shadow: initial;
}
#header.jyunbi nav,
#header.active nav {
	background: #fff;
	width: 100%;
	transition: top .4s;
	position: fixed;
	top: -47px;
	left: 0;
	box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.4);
}
#header.active nav {
	top: 0!important;
}
#header nav .content div.halls {
	display: flex;
	justify-content: space-around;
	text-align: left;
	padding: 20px 0;
}
#header nav .content div.halls ul.hall li {
	line-height: 1.3;
}
#header nav .content div.halls ul.hall li.pare {
	font-weight: bold;
	font-size: 1.6rem;
}
#header nav .content div.halls ul.hall li.child {
	padding-left: 11px;
}
#header nav .content div.halls ul.hall li.child a {
	font-size: 1.6rem;
}
body.is-pc #header nav .content div.halls ul.hall li.pare a:hover,
body.is-pc #header nav .content div.halls ul.hall li.child a:hover {
	color: orange;
}
/* 580 */
@media (max-width: 580px) {
	body.sub nav,
	body.home div.pcnav,
	body.sub div.pcnav,
	body.sub div.subhead .headlot {
		display: none;
	}
}

/*---------------------------------------------*/
/* header #header */
/*---------------------------------------------*/
#header {
	background: #fff;
	position: relative;
	z-index: 999;
}
#header div.cache_text {
	background: #dd7c32;
}
#header div.cache_text p {
	color: #fff;
	font-size: 1.4rem;
	padding-top: 1px;
}
#header .logo_tel {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 11px 0 5px 0;
}
#header .fukuchoku {
	width: 50%;
}
#header .fukuchoku span.eng {
	letter-spacing: 6px;
	color: #dd7c32;
}
#header .logo_tel h1.logo {
	font-family: '小塚明朝 Pro','Kozuka Mincho Pro',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1;
	margin: 8px 0 0 0;
}
#header .logo_tel h1.logo a {
	display: inline-flex;
	align-items: center;
	gap: 0 5px;
}
#header .logo_tel h1.logo img {
	max-height: 56px;
	vertical-align: bottom;
}
#header .logo_tel h1.logo span.kabu {
	display: inline-block;
	font-size: 2.1rem;
	font-weight: bold;
	width: 50px;
	text-align: center;
	line-height: 1.0;
	margin-bottom: -1.5%;
}
#header .logo_tel h1.logo span.name {
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1.0;
	display: inline-block;
	margin-bottom: -2%;
}
#header .logo_tel .tel {
	width: 50%;
	text-align: right;
	margin-bottom: -10px;
}
#header .logo_tel .tel div.r1 {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	line-height: 1;
}
#header .logo_tel .tel div.r1 i {
	font-size: 2.5rem;
	transform: rotateZ(20deg);
	margin-bottom: -3px;
	color: #dd7c32;
}
#header .logo_tel .tel div.r1 img {
	height: 26px;
	margin: 0 4px 0 0;
}
#header .logo_tel .tel div.r1 a {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 3.45rem;
	transition: color .3s;
	margin-bottom: -1px;
}
#header .logo_tel .tel div.r1 span.free_txt {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #cb5c4b;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	height: 30px;
	padding: 2px 8px 3px 5px;
	margin: 0 0 0 15px;
}
#header .logo_tel .tel div.r1 span.txt {
	margin-bottom: 0; //-2px;
}
#header .logo_tel .tel p {
	font-size: 1.8rem;
}
#header .logo_tel .tel p strong {
	color: #cb5c4b;
	margin: 0 3px;
}
#header .logo_tel .tel img {
	max-height: 56px;
	vertical-align: bottom;
}
/* nav */
#header.active div.pcnav nav {
	display: flex;
	align-items: center;
	height: 60px;
}
#header .flex_logo_nav {
	display: flex;
}
#header.active .flex_logo_nav {
	gap: 0 3%;
}
#header .flex_logo_nav div.logo {
	display: none;
	padding-top: 6px;
	font-size: 15px;
	line-height: 1;
}
#header.active .flex_logo_nav div.logo {
	display: block;
	color: #dd7c32;
	z-index: 3;
}
#header.active .flex_logo_nav div.logo img {
	max-height: 29px;
	vertical-align: bottom;
}
#header.active .flex_logo_nav div.logo span.kabu {
	display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	width: 24px;
	text-align: center;
	line-height: 1.0;
	margin-bottom: -2%;
}
#header.active .flex_logo_nav div.logo span.name {
	color: #000;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.0;
	display: inline-block;
	margin-bottom: 3px;
}
#header.active .flex_logo_nav div.logo a span.bn {
	letter-spacing: 1.9px;
}
#header .flex_logo_nav div.nav_flex {
	flex: 1;
	display: flex;
	justify-content: space-between;
}
#header nav div.nav_flex {
	padding: 10px 0 10px 0;
}
#header nav div.nav_flex div.li {
	color: #666;
	text-align: center;
	padding: 2px 0;
}
#header nav div.nav_flex div.line {
	width: 1px;
	border-right: 1px solid #000;
}
#header nav div.nav_flex div.li > span.a,
#header nav div.nav_flex div.li > a {
	display: block;
	box-sizing: border-box;
	line-height: 1;
	position: relative;
	font-size: 1.6rem;
	font-weight: bold;
	color: #393939;
	padding-top: 2px;
	margin-bottom: -2px;
	transition: color .5s, background .5s, display .5s;
	cursor: pointer;
}
body.is-pc #header nav div.nav_flex div.li.down > span.a:hover,
body.is-pc #header nav div.nav_flex div.li.down > a:hover,
body.is-pc #header nav div.nav_flex div.li > a:hover {
	color: #000!important;
}
#header nav div.nav_flex div.li > span.a i,
#header nav div.nav_flex div.li > a i {
	font-size: 1.3rem;
	margin-left: 4px;
	transition: transform .5s;
}
#header nav div.nav_flex div.sub {
	width: 100%;
	padding-top: 12px;
	position: absolute;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: all 0.3s;
	box-shadow: 5px 6px 5px 0px rgba(0,0,0,0.3);
}
#header nav div.nav_flex div.sub div.bk {
	background: #fff;
}
body.is-pc #header nav div.nav_flex div.li.down:hover div.sub { /* hover */
	visibility: visible;
	opacity: 1;
}
body.is-pc #header nav div.nav_flex div.li:hover > span.a i,
body.is-pc #header nav div.nav_flex div.li:hover > a i {
	transform: rotate(180deg);
}
/* nav plan */
#header nav div.nav_flex div.sub ul.child {
	display: flex;
	padding: 10px 0 15px 0;
}
#header nav div.nav_flex div.sub ul.child > li {
	width: calc(100% / 5);
	border-right: 1px solid #ccc;
}
#header nav div.nav_flex div.sub ul.child > li:first-child {
	border-left: 1px solid #ccc;
}
#header nav div.nav_flex div.sub ul.child > li a {
	display: block;
	text-align: center;
	padding: 0 8px;
}
#header nav div.nav_flex div.sub ul.child > li figure img {
	display: block;
}
#header nav div.nav_flex div.sub ul.child > li a span.title {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
	margin-top: 5px;
}
/* flow */
#header ul.flow {
	display: flex;
}
#header ul.flow li {
	width: calc(100% / 3);
	font-size: 1.4rem;
	border: 1px solid #ccc;
}
#header ul.flow li:nth-child(n+2) {
	border-left: none;
}
/* color */
#header ul.flow li {
	color: #ccc;
}
#header ul.child li.simple ul.flow li.active {
	color: #fff;
	background: #7a1e58;
}
#header ul.child li.basic ul.flow li.active {
	color: #fff;
	background: #206490;
}
#header ul.child li.plus ul.flow li.active {
	color: #fff;
	background: #a71414;
}
#header ul.child li.one ul.flow li.active {
	color: #fff;
	background: #8b6a0f;
}
#header ul.child li.family ul.flow li.active {
	color: #fff;
	background: #1e6f36;
}
/* nav ul.hole */
#header nav div.sub ul.hole {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 1%;
	padding: 10px 0 15px 0;
}
#header nav div.sub ul.hole > li {
	width: calc(96% / 5);
}
#header nav div.sub ul.hole > li:first-child {
	border-left: 1px solid #ccc;
}
#header nav div.sub ul.hole > li a {
	display: block;
	text-align: center;
	padding: 8px;
	background: #dd7c32;
	color: #fff;
	transition: .3s ease;
}
body.is-pc #header nav div.sub ul.hole > li a:hover {
	background: #cb5c4b;
}
#header nav div.sub ul.hole > li a span.txt {
	display: block;
	font-size: 1.2rem;
	line-height: 1.4;
	margin-bottom: 5px;
}
#header nav div.sub ul.hole > li a span.title {
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
}
#header nav div.sub ul.hole > li figure img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/* nav ul.ec  */
#header nav div.sub ul.ec {
	display: flex;
	justify-content: center;
	gap: 12px 2%;
	padding: 10px 0 15px 0;
}
#header nav div.sub ul.ec > li {
	max-width: 360px;
	width: 100%;
}
#header nav div.sub ul.ec > li a {
	border: 1px solid #ccc;
	border-radius: 6px;
	display: flex;
	align-items: center;

}
#header nav div.sub ul.ec > li a figure {
	width: 25%;
}
#header nav div.sub ul.ec > li a figure img {
	width: 80%;
}
#header nav div.sub ul.ec > li a div.text {
	width: 75%;
}
#header nav div.sub ul.ec > li a div.text .ec_nav_title {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 0px;
}
#header nav div.sub ul.ec > li a div.text .ec_nav_info {
	font-size: 1.6rem;
}

/* 1100 */
@media (max-width: 1100px) {
	#header.active .flex_logo_nav {
		gap: 0 1.5%;
	}
	#header nav div.nav_flex div.li > span.a, #header nav div.nav_flex div.li > a {
		font-size: 1.4rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	#header {
		position: sticky;
		top: 0;
	}
	#header > div.sp_none {
		display: none;
	}
}

/*---------------------------------------------*/
/* SP header */
/*---------------------------------------------*/
#sp_header::after {
	content: '';
	display: block;
	height: 8px;
	width: 100%;
	background: #dd7c32;
	position: absolute;
	top: -8px;
	left: 0;
	z-index: 9;
}
#sp_header .headtxt {
	background: #dd7c32;
	color: #fff;
	line-height: 1;
	padding: 3px 0 3px 0;
	text-align: center;
	position: relative;
	z-index: 4;
}
#sp_header div.logo {
	background: #fff;
	text-align: center;
	padding: 0 0 1px 0;
	font-size: 15px;
	line-height: 1;
	color: #dd7c32;
	position: relative;
	z-index: 4;
}
#sp_header div.logo a {
	display: inline-flex;
	flex-direction: column;
	gap: 0 3px;
}
#sp_header div.logo span.name {
	font-size: 2.2rem;
	font-weight: bold;
	color: #000;
	line-height: 1;
	display: inline-block;
	padding: 4px 0 3px;
}
#sp_header div.logo span.eng {
	letter-spacing: 1.8px;
}
#sp_header div.nav {
	height: 54px;
	position: relative;
}
#sp_header div.nav #sp_nav_menu.active { /* スクロール固定 */
	width: 100%;
	box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.2);
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar { /* flex */
	display: flex;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	position: relative;
	z-index: 3;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li {
	width: calc(100% / 4);
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: center;
	height: 52px;
	background: #fff;
	position: relative;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li a {
	display: block;
	padding: 7px 0 3px 0;
	height: 100%;
	cursor: pointer;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li:not(:last-child) {
	border-right: 1px solid #aaa;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li a i,
.sp_menu_plan_close i {
	font-size: 1.8rem;
	vertical-align: bottom;
	margin-bottom: 3px;
}
/* sp_menu_plan_close */
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li .sp_menu_close {
	display: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fffde8;
	z-index: 3;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li.active .sp_menu_close {
	display: block;
}
/* 緊急 */
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li a.isogi {
	background: #ff7c71;
	color: #fff;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li a.isogi i {
	color: #fff;
}
#sp_header div.nav #sp_nav_menu ul.sp_nav_bar li .sp_menu_close.isogi {
	background: #ff7c71;
	color: #fff;
}
/* 900 */
@media (max-width: 900px) {
	#sp_header {
		display: block;
	}
}

/*---------------------------------------------*/
/* SP header -> menu_plan */
/*---------------------------------------------*/
.sp_menu_view {
	opacity: 0;
	width: 100%;
	height: 80svh;
	margin-top: -80svh;
	background: #fffde8;
	position: relative;
	top: 0;
	left: 0;
	z-index: -2;
	transition: .3s;
	overflow-y: auto;
}
.sp_menu_view.active {
	display: block;
	opacity: 1;
	margin-top: -2px;
	z-index: 2;
}

/*---------------------------------------------*/
/* SP header -> menu_plan + overlay */
/*---------------------------------------------*/
#sp_nav_menu .overlay {
	opacity: 0;
	width: 100%;
	height: 100svh;
	margin-top: -100svh;
	background: rgba(0,0,0,0.8);
	position: relative;
	z-index: -1;
	transition: .3s;
}
#sp_nav_menu .overlay.active {
	opacity: 1;
	margin-top: 0;
	z-index: 1;
}

/*---------------------------------------------*/
/* SP header -> 費用とプラン */
/*---------------------------------------------*/
#sp_nav_menu .content {
	padding-left: 15px;
	padding-right: 15px;
}
#sp_nav_menu .sp_menu_plan_view h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 25px 0 20px 0;
	text-align: center;
}
#sp_nav_menu .sp_menu_plan_view ul li {
	line-height: 1.3;
	margin-bottom: 20px;
}
#sp_nav_menu .sp_menu_plan_view ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #ccc;
	padding: 10px;
	filter: drop-shadow(1px 3px 0px rgba(0,0,0,0.2));
}
/* figure */
#sp_nav_menu .sp_menu_plan_view ul li a figure {
	width: 20%;
}
#sp_nav_menu .sp_menu_plan_view ul li a figure img {
	vertical-align: bottom;
	border-radius: 5px;
	aspect-ratio: 14 / 10;
	object-fit: cover;
}
/* div.text */
#sp_nav_menu .sp_menu_plan_view ul li a div.text {
	width: 48%;
	padding-left: 10px;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.text div.wari span.txt {
	background: #cd342c;
	color: #fff;
	padding: 1px 3px;
	border-radius: 2px;
	font-size: 1.3rem;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.text h5 {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.1;
	margin: 5px 0 3px 0;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.text p.txt {
	font-size: 1.1rem;
	line-height: 1.3;
}

/* div.price */
#sp_nav_menu .sp_menu_plan_view ul li a div.price {
	width: 32%;
	text-align: right;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.price div.moto span.txt {
	font-size: 1.2rem;
	color: #aaa;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.price div.uri span.txt {
	font-size: 1.9rem;
	font-weight: bold;
	color: #cd342c;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.price div.uri span.txt span.yen {
	font-size: 1.2rem;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.price div.komi span.txt {
	font-size: 1.2rem;
}
#sp_nav_menu .sp_menu_plan_view ul li a div.price div.komi span.txt span.num {
	font-size: 1.2rem;
	margin-left: 2px;
}
/* 380 */
@media (max-width: 380px) {
	#sp_nav_menu .sp_menu_plan_view ul li a div.price div.moto span.txt {
		font-size: 1.1rem;
	}
	#sp_nav_menu .sp_menu_plan_view ul li a div.price div.komi span.txt span.num {
		font-size: 1.1rem;
		margin-left: 1px;
	}
}

/*---------------------------------------------*/
/* SP header -> 葬儀場一覧 */
/*---------------------------------------------*/
#sp_nav_menu .sp_menu_sougi_view {
	padding-bottom: 60px;
}
#sp_nav_menu .sp_menu_sougi_view h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 25px 0 20px 0;
	text-align: center;
	line-height: 1.4;
}
#sp_nav_menu .sp_menu_sougi_view h5 {
	font-size: 2.0rem;
	font-weight: bold;
	border-bottom: 1px solid #777;
	margin-bottom: 15px;
}
#sp_nav_menu .sp_menu_sougi_view h5::before {
	content: '\25A0';
	color: #dd7c32;
	margin-right: 4px;
}
/* hall_list2 */
#sp_nav_menu .sp_menu_sougi_view div.list_h3 {
	width: 100%;
	margin-bottom: 10px;
}
#sp_nav_menu .sp_menu_sougi_view div.list_h3 a {
	display: block;
	background: #dd7c32;
	color: #fff;
	padding: 3px;
	text-align: center;
	border-radius: 2px;
}
#sp_nav_menu .sp_menu_sougi_view ul.sp_hall_list2 {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 2%;
	margin-bottom: 24px;
}
#sp_nav_menu .sp_menu_sougi_view ul.sp_hall_list2 li {
	width: 49%;
}
#sp_nav_menu .sp_menu_sougi_view ul.sp_hall_list2 li a {
	display: block;
	padding: 10px;
	background: #fdfffc;
	border: 1px solid #ccc;
	text-align: center;
}
#sp_nav_menu .sp_menu_sougi_view ul.sp_hall_list2 li a figure img {
	display: block;
}
#sp_nav_menu .sp_menu_sougi_view ul.sp_hall_list2 li a figure figcaption {
	line-height: 1.6;
	margin-top: 5px;
}
/* flex */
#sp_nav_menu .sp_menu_sougi_view .flex {
	display: flex;
	justify-content: space-between;
	gap: 20px 2%;
}
#sp_nav_menu .sp_menu_sougi_view .flex .wrap {
	width: calc(98% / 2);
}
#sp_nav_menu .sp_menu_sougi_view .flex .wrap ul li {
	width: 100%;
}

/*---------------------------------------------*/
/* SP header -> 緊急 */
/*---------------------------------------------*/
#sp_nav_menu .sp_menu_isogi_view .head {
	background: #c65349;
	padding: 20px 10px 20px 24px;
	color: #fff;
	position: relative;
}
#sp_nav_menu .sp_menu_isogi_view .head h4 {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.4;
}
#sp_nav_menu .sp_menu_isogi_view .head h4 strong {
	color: yellow;
}
#sp_nav_menu .sp_menu_isogi_view .head img {
	position: absolute;
	bottom: 0;
	right: 20px;
	width: 60px;
}
#sp_nav_menu .sp_menu_isogi_view h5 {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	margin: 20px 0;
}
#sp_nav_menu .sp_menu_isogi_view ul.tel {
	margin-bottom: 22px;
}
#sp_nav_menu .sp_menu_isogi_view ul.tel li {
	margin-bottom: 11px;
}
#sp_nav_menu .sp_menu_isogi_view ul.tel + p.txt {
	font-size: 1.8rem;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 20px;
}
#sp_nav_menu .sp_menu_isogi_view div.box {
	border: 2px solid #c65349;
	background: #fff;
	padding: 15px;
	margin-bottom: 30px;
}
#sp_nav_menu .sp_menu_isogi_view div.box ul {
	list-style: disc;
	margin-left: 35px;
}
#sp_nav_menu .sp_menu_isogi_view div.box ul li {
	font-size: 1.6rem;
}

/*---------------------------------------------*/
/* SP header -> MENU */
/*---------------------------------------------*/
#sp_nav_menu .sp_menu_menu_view {
	padding-top: 25px;
	padding-bottom: 25px;
}
#sp_nav_menu .sp_menu_menu_view ul.tel li {
	margin-bottom: 11px;
}
/* sp_btn custom */
#sp_nav_menu .sp_menu_menu_view .sp_btn {
	border: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1;
	box-shadow: 0px 4px 0px 0px rgba(0,0,0,0.4);
}
#sp_nav_menu .sp_menu_menu_view .sp_btn i {
	margin: 0;
	color: #fff;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn .icon01 {
	width: 18%;
	text-align: center;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn .text {
	flex: 1;
	line-height: 1.4;
	padding-top: 2px;
	color: #fff;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn .text .inftxt {
	color: yellow;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn .text .maintxt {
	font-size: 1.6rem;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn .icon02 {
	width: 10%;
	text-align: center;
}
#sp_nav_menu .sp_menu_menu_view .sp_btn.call24 {
	background: #f0962e;
	box-shadow: 0px 4px 0px 0px rgba(188,117,36,1);
}
#sp_nav_menu .sp_menu_menu_view .sp_btn.siryou {
	background: #008195;
	box-shadow: 0px 4px 0px 0px rgba(3,103,118,1);
}
#sp_nav_menu .sp_menu_menu_view .sp_btn.soudan {
	background: #04810f;
	box-shadow: 0px 4px 0px 0px rgba(10,100,18,1);
}
/* SP MENU 開閉 共通 */
#sp_nav_menu .sp_menu_menu_view h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 25px 0 10px 0;
}
#sp_nav_menu .sp_menu_menu_view div.box {
	border: 1px solid #aaa;
	border-radius: 6px;
	background: #fff;
}
/* area_list */
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul.sp_area_list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 2%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi ul.sp_area_list li {
	width: 49%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi ul.sp_area_list li a {
	display: block;
	padding: 10px;
	border: 1px solid #ccc;
	text-align: center;
}
/* hall_list */
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul.sp_hall_list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 2%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi ul.sp_hall_list li {
	width: 49%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi ul.sp_hall_list li a {
	display: block;
	padding: 10px;
	background: #fdfffc;
	border: 1px solid #ccc;
	text-align: center;
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle {
	padding: 10px 15px;
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle i {
	margin-right: 8px;
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle::after {
	display: block;
	content: '';
	position: absolute;
	top: 49%;
	right: 10px;
	width: 14px;
	height: 2px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-close:not(.is-open)::after,
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-open::after {
	transform: rotate(-90deg);
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-close.is-open::after {
	transform: rotate(-180deg);
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle::before {
	display: block;
	content: '';
	position: absolute;
	top: 49%;
	right: 10px;
	width: 14px;
	height: 2px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-close:not(.is-open)::before,
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-open::before {
	transform: rotate(180deg);
}
#sp_nav_menu .sp_menu_menu_view div.box .ocTitle.is-close.is-open::before {
	transform: rotate(0deg);
}
/* 開閉 お葬式プラン */
#sp_nav_menu .sp_menu_menu_view div.box.plan ul.hide {
	display: none;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li:first-child {
	border-top: 1px solid #ccc;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li > a {
	padding: 10px 15px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li.plink {
	padding: 10px 15px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle {
	width: 55%;
	font-size: 1.7rem;
	font-weight: bold;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .priceText {
	flex: 1;
	line-height: 1.4;
	text-align: right;
	padding-right: 5%;
}
/* color */
/*
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle.simple span.txt {
	color: #7a1e58;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle.basic span.txt {
	color: #206490;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle.plus span.txt {
	color: #a71414;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle.one span.txt {
	color: #8b6a0f;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .planTitle.family span.txt {
	color: #1e6f36;
}
*/
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .priceText .price {
	font-size: 2.3rem;
	line-height: 1.2;
	font-weight: bold;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .priceText .price .yen {
	font-size: 1.6rem;
	font-weight: normal;
	margin-left: 4px;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .priceText .zeikomi {
	font-size: 1.2rem;
	margin-right: -6px;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .priceText .zeikomi .num {
	font-size: 1.4rem;
	margin: 0 2px;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .arrow {
	width: 5%;
	text-align: right;
	font-size: 1.8rem;
}
#sp_nav_menu .sp_menu_menu_view div.box.plan ul li .link {
	width: 100%;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
/* 開閉 葬儀場 */
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide {
	padding: 15px;
	display: none;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide h5 {
	font-size: 2.0rem;
	font-weight: bold;
	border-bottom: 1px solid #777;
	margin-bottom: 15px;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide h5::before {
	content: '\25A0';
	color: #dd7c32;
	margin-right: 5px;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 2%;
	margin-bottom: 30px;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul li {
	width: 49%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul li.pare {
	margin-top: 11px;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul li.child {
	padding-left: 5px;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul li figure img {
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide ul li figure figcaption {
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.4;
	margin-top: 5px;
}
/* flex */
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide .flex {
	display: flex;
	justify-content: space-between;
	gap: 20px 2%;
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide .flex .wrap {
	width: calc(98% / 2);
}
#sp_nav_menu .sp_menu_menu_view div.box.sougi div.hide .flex .wrap ul li {
	width: 100%;
}
/* リンク */
#sp_nav_menu .sp_menu_menu_view ul.link li {
	margin-bottom: 10px;
	position: relative;
}
#sp_nav_menu .sp_menu_menu_view ul.link li a {
	font-size: 1.8rem;
	font-weight: bold;
	border: 1px solid #aaa;
	border-radius: 6px;
	background: #fff;
	padding: 10px 15px;
	display: flex;
	align-items: center;
}
#sp_nav_menu .sp_menu_menu_view ul.link li a span.icon {
	margin-right: 8px;
}
#sp_nav_menu .sp_menu_menu_view ul.link li a span.arrow {
	position: absolute;
	top: 50%;
	right: 4%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

/*---------------------------------------------*/
/* トップページ -> #main_visual */
/*---------------------------------------------*/
#main_visual {
	height: 700px!important;
	position: relative;
}
#main_visual .vegas-wrapper {
	overflow: hidden!important;
}
#main_visual img.inori {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	max-width: 400px;
	min-width: 285px;
	width: 35%;
}
#main_visual::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.5);
}
/* main_text */
#main_visual .content {
	position: relative;
	height: 100%;
}
#main_visual .main_text {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%); /* 横 縦 */
	max-width: 900px;
	min-width: 360px;
	width: 63%;
	color: #fff;
	text-align: center;
	text-shadow: 3px 3px 2px rgba(0,0,0,0.5);
	padding: 0 20px;
	z-index: 3;
}
#main_visual .main_text .img1 {
	width: 90%;
	margin-bottom: 20px;
}
/* 1240 */
@media (max-width: 1240px) {
	#main_visual {
		height: max(58.333vw, 490px)!important; //700px;
	}
	#main_visual .main_text .img1 {
		margin-bottom: max(1.613vw, 14px); //20px
	}
}
/* 580 */
@media (max-width: 580px) {
	#main_visual .main_text {
		top: 65%;
		width: 100%;
		padding: 10px 15px;
		background: rgba(255, 255, 255, 0.7);
	}
	#main_visual .main_text .img1 {
		margin-bottom: 0;
		max-width: 400px;
	}
	#main_visual .main_text .img2 {
		max-width: 460px;
		width: 100%;
	}
	#main_visual img.inori {
		right: -18%;
	}
}

/*---------------------------------------------*/
/* 共通 TEL */
/*---------------------------------------------*/
div.c_tel {
	text-align: center;
}
div.c_tel div.r1 {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}
div.c_tel div.r1 i {
	font-size: 2.6rem;
}
div.c_tel div.r1 img {
	max-height: 30px;
	margin-right: 6px;
	vertical-align: bottom;
}
div.c_tel div.r1 a,
div.c_tel div.r1 span.tel {
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 3.45rem;
	transition: color .3s;
	white-space: nowrap;
}
div.c_tel div.r1 span.free_txt {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: #c8382f;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	height: 30px;
	padding: 3px 8px;
	margin: 0 0 0 15px;
	white-space: nowrap;
}
div.c_tel p {
	font-size: 1.8rem;
	font-weight: bold;
}
div.c_tel p strong {
	color: #a71b17;
	margin: 0 3px;
}
/* big */
div.c_tel.big {
	margin-bottom: 0;
}
div.c_tel.big div.r1 {
	margin-bottom: 20px;
}
div.c_tel.big div.r1 img {
	max-height: 56px;
	margin-right: 8px;
}
div.c_tel.big div.r1 a,
div.c_tel.big div.r1 span.tel {
	font-size: 6.3rem;
	margin-bottom: 0px;
}
div.c_tel.big div.r1 span.free_txt {
	font-size: 2.8rem;
	height: 48px;
	margin: 0 0 0 20px;
}
div.c_tel.big p {
	font-size: 2.8rem;
}
/* 1240 */
@media (max-width: 1240px) {
	div.c_tel div.r1 i {
		font-size: max(1.73vw, 2.2rem); //2.6rem;
	}
	div.c_tel div.r1 img {
		max-height: max(2.419vw, 21px); //30px;
		margin-right: max(0.484vw, 3px); //6px;
	}
	div.c_tel div.r1 a,
	div.c_tel div.r1 span.tel {
		font-size: max(2.78vw, 2.0rem); //3.45rem;
	}
	div.c_tel div.r1 span.free_txt {
		font-size: max(1.45vw, 1.3rem); //1.8rem;
		height: 30px;
		margin: 0 0 0 max(1.21vw, 5px); //15px;
	}
	div.c_tel p {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
	}
	/* big */
	div.c_tel.big div.r1 {
		margin-bottom: max(1.613vw, 14px); //20px;
	}
	div.c_tel.big div.r1 img {
		max-height: max(4.516vw, 23px); //56px;
		margin-right: max(0.645vw, 3px); //8px;
	}
	div.c_tel.big div.r1 a {
		font-size: max(5.08vw, 3.1rem); //6.3rem;
		margin-bottom: 0px;
	}
	div.c_tel.big div.r1 span.free_txt {
		font-size: max(2.26vw, 1.1rem); //2.8rem;
		height: max(3.871vw, 23px); //48px;
		margin: 0 0 0 max(1.613vw, 10px);
	}
	div.c_tel.big div.r1 span.txt {
		margin-bottom: max(-0.161vw, 0px); //2px;
	}
	div.c_tel.big p {
		font-size: max(2.26vw, 1.2rem); //2.8rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	div.c_tel div.r1 {
		flex-wrap: wrap;
		gap: 7px 0;
	}
	div.c_tel div.r1 img {
		max-height: 26px; //30px;
		margin-right: 5px; //6px;
	}
	div.c_tel div.r1 a,
	div.c_tel div.r1 span.tel {
		font-size: 3.0rem; //3.45rem;
	}
	div.c_tel div.r1 span.free_txt {
		font-size: 1.5rem; //1.8rem;
		height: 26px;
		margin: 0 0 0 10px; //15px;
	}
}

/*---------------------------------------------*/
/* 共通 Banner */
/*---------------------------------------------*/
.Banner .bnr1 {
	margin-bottom: 30px;
}
a.call_bnr {
	display: block;
	padding: 15px 0 0 65px;
	background: #f7f6f9;
	border: 4px solid #e5bdbd;
	border-radius: 5px;
	background: url(../images/call_bk.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	transition: border-color .3s ease;
}
a.call_bnr:hover {
	border-color: #c8382f;
}
a.call_bnr:hover .row1 p.txt span.txt1,
a.call_bnr:hover div.r1 span.tel {
	color: initial;
}
a.call_bnr:hover img {
	opacity: 1!important;
}
a.call_bnr .row1 {
	margin-bottom: 15px;
}
a.call_bnr .row1 p.txt {
	font-size: 4.5rem;
	font-weight: bold;
	line-height: 1.4;
}
a.call_bnr .row1 p.txt span {
	display: inline-block;
}
a.call_bnr .row1 p.txt span.txt1 {
	border-right: 2px solid #000;
	padding-right: 15px;
}
a.call_bnr .row1 p.txt span.txt2 {
	font-size: 5.3rem;
	color: #c8382f;
	padding-left: 15px;
}
a.call_bnr .row1 p.txt span.txt2 span.small {
	font-size: 3.0rem;
}
.Banner .bnr2 img {
	display: block;
}
/* c_tel.big */
a.call_bnr div.c_tel.big div.r1 {
	justify-content: flex-start;
}
a.call_bnr div.c_tel div.r1 span.txt {
	margin-bottom: 3px;
}
a.call_bnr div.c_tel.big div.r1 span.tel {
	font-size: 7.8rem;
	margin-bottom: 0px;
}
a.call_bnr div.c_tel.big div.r1 span.free_txt {
	font-size: 3.4rem;
	height: 60px;
	margin: 0 0 0 20px;
}
/* 1240 */
@media (max-width: 1240px) {
	.Banner .bnr1 {
		margin-bottom: max(2.419vw, 15px); //30px;
	}
	a.call_bnr {
		padding: max(1.21vw, 11px) 0 0 max(5.242vw, 10px); //65px;
		border: max(0.323vw, 2px) solid #e5bdbd;
		border-radius: max(0.403vw, 3px); //5px;
	}
	a.call_bnr .row1 {
		margin-bottom: max(1.21vw, 6px); //15px;
	}
	a.call_bnr .row1 p.txt {
		font-size: max(3.63vw, 1.6rem); //4.5rem;
		font-weight: bold;
		line-height: 1.4;
	}
	a.call_bnr .row1 p.txt span.txt1 {
		padding-right: max(1.21vw, 5px); //15px;
		border-right: max(0.161vw, 1px) solid #000;
	}
	a.call_bnr .row1 p.txt span.txt2 {
		font-size: max(4.27vw, 2.0rem); //5.3rem;
		padding-left: max(1.21vw, 5px); //15px;
	}
	a.call_bnr .row1 p.txt span.txt2 span.small {
		font-size: max(2.42vw, 1.4rem); //3.0rem;
	}
	/* c_tel.big */
	a.call_bnr div.c_tel div.r1 span.txt {
		margin-bottom: max(0.242vw, 0px); //3px;
	}
	a.call_bnr div.c_tel div.r1 img {
		max-height: max(4.516vw, 28px); //56px;
		margin-right: max(0.645vw, 1px); //8px;
	}
	a.call_bnr div.c_tel.big div.r1 span.tel {
		font-size: max(6.29vw, 2.8rem); //7.8rem;
	}
	a.call_bnr div.c_tel.big div.r1 span.free_txt {
		font-size: max(2.74vw, 1.4rem); //3.4rem;
		height: max(4.839vw, 26px); //60px;
		margin: 0 0 0 max(1.613vw, 14px); //20px;
	}
}
/* 700 */
@media (max-width: 700px) {
	a.call_bnr {
		padding: 11px 0 0 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	a.call_bnr {
		padding: max(2.642vw, 10px) 0 0 max(3.774vw, 14px);
	}
	a.call_bnr .row1 p.txt {
		font-size: max(3.02vw, 1.1rem); //1.6rem;
		line-height: 1.3;
	}
	a.call_bnr .row1 p.txt span.txt1 {
		padding-right: 4px;
	}
	a.call_bnr .row1 p.txt span.txt2 {
		font-size: max(3.77vw, 1.4rem); //2.0rem;
		padding-right: 4px;
	}
	a.call_bnr .row1 p.txt span.txt2 span.small {
		font-size: max(2.64vw, 1rem); //1.4rem;
	}
	/* c_tel.big */
	a.call_bnr div.c_tel div.r1 span.txt {
		margin-bottom: 1px;
	}
	a.call_bnr div.c_tel div.r1 img {
		max-height: max(5.283vw, 20px); //28px;
		margin-right: 1px;
	}
	a.call_bnr div.c_tel.big div.r1 span.tel {
		font-size: max(5.28vw, 2rem); //2.8rem;
	}
	a.call_bnr div.c_tel.big div.r1 span.free_txt {
		font-size: max(2.64vw, 1rem); //1.4rem;
		height: max(4.906vw, 18px); //26px;
		margin: 0 0 0 max(2.264vw, 8px); //12px;
	}
}


/*---------------------------------------------*/
/* トップページ -> BEST RATE */
/*---------------------------------------------*/
#BastRate {
	background: #dd7c32;
	color: #fff;
}
#BastRate .flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
	margin-top: -80px;
}
#BastRate .flex figure {
	max-width: 280px;
	width: 40%;
}
#BastRate .flex div.text {
	flex: 1;
	margin-bottom: -76px;
	padding-left: 25px;
}
#BastRate .flex div.text h1 {
	line-height: 1.2;
	margin: 0 0 20px 0;
}
/* 1240 */
@media (max-width: 1240px) {
	#BastRate .flex div.text {
		padding-left: max(2.016vw, 18px); //25px;
	}
}
/* 700 */
@media (max-width: 700px) {
	#BastRate .flex {
		margin-top: -30px;
	}
	#BastRate .flex figure {
		max-width: initial;
		width: 100%;
		text-align: center;
	}
	#BastRate .flex figure img {
		max-width: 120px;
	}
	#BastRate .flex div.text {
		margin-bottom: 0;
		padding-left: 0;
		padding-bottom: 20px;
	}
	#BastRate .flex div.text h1 {
		text-align: center;
		margin: 0 0 15px 0;
	}
	#BastRate .flex div.text p.txt {
		line-height: 1.6;
	}
}

/*---------------------------------------------*/
/* トップページ -> Point3 */
/*---------------------------------------------*/
#Point3 {
	text-align: center;
	padding-top: 30px;
}
#Point3 ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 3%;
}
#Point3 ul li {
	width: calc(94% / 3);
	background: url(../images/gekkei_left.png), url(../images/gekkei_right.png);
	background-repeat: no-repeat, no-repeat;
	background-size: contain, contain;
	background-position: left center, right center;
}
#Point3 ul li dl dt {
	font-size: 3.0rem;
	font-weight: bold;
	color: #000;
}
#Point3 ul li dl dd {
	color: #c65042;
	font-weight: bold;
}
#Point3 ul li dl dd span.txt {
	font-size: 3.2rem;
}
#Point3 ul li dl dd span.num {
	font-size: 8.0rem;
	font-weight: normal;
	font-style: italic;
	margin-right: 5px;
	line-height: 1;
}
/* 1240 */
@media (max-width: 1240px) {
	#Point3 h1 {
		font-size: max(3.06vw, 2.7rem); //3.8rem;
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	#Point3 p.txt {
		font-size: max(1.77vw, 1.6rem); //2.2rem;
		margin-bottom: max(6.452vw, 40px); //80px;
	}
	#Point3 ul li dl dt {
		font-size: max(2.42vw, 2.0rem); //3.0rem;
	}
	#Point3 ul li dl dd span.txt {
		font-size: max(2.58vw, 2.1rem); //3.2rem;
	}
	#Point3 ul li dl dd span.num {
		font-size: max(6.45vw, 5.4rem); //8.0rem;
		margin-right: 5px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Point3 h1 {
		line-height: 1.6;
	}
	#Point3 ul {
		flex-direction: column;
		align-items: center;
	}
	#Point3 ul li {
		width: 100%;
		max-width: 240px;
	}
}

/*---------------------------------------------*/
/* トップページ -> お急ぎ */
/*---------------------------------------------*/
#Oisogi {
	text-align: center;
}
#Oisogi h2 {
	font-size: 4.0rem;
	font-weight: bold;
	color: #dd7c32;
	margin-bottom: 30px;
}
#Oisogi h2 span.txt {
	border-bottom: 2px solid #dd7c32;
}
#Oisogi div.time {
	color: #c8382f;
	font-size: 5.0rem;
	font-weight: bold;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 30px;
}
#Oisogi div.time span {
	display: inline-block;
}
#Oisogi div.time span.num {
	font-family: "impact", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 9.0rem;
	margin: 0 8px -8px 10px;
	line-height: 1;
}
#Oisogi p.txt {
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 30px;
}
/* 1240 */
@media (max-width: 1240px) {
	#Oisogi h2 {
		font-size: max(3.23vw, 2.8rem); //4.0rem;
		margin-bottom: 30px;
	}
	#Oisogi div.time {
		font-size: max(4.03vw, 3.5rem); //5.0rem;
		margin-bottom: 30px;
	}
	#Oisogi div.time span.num {
		font-size: max(7.26vw, 6.3rem); //9.0rem;
		margin: 0 8px -8px 10px;
	}
	#Oisogi p.txt {
		font-size: max(2.26vw, 1.8rem); //2.8rem;
		margin-bottom: 30px;
	}
}

/*---------------------------------------------*/
/* トップページ -> 安心のお見送りを。 */
/*---------------------------------------------*/
#Message {
	text-align: center;
	background: #e9e9e9;
}
#Message h1 {
	font-size: 3.8rem;
	color: #dd7c32;
	margin-bottom: 40px;
}
#Message p.txt {
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 80px;
}
/* 1240 */
@media (max-width: 1240px) {
	#Message h1 {
		font-size: max(3.06vw, 2.7rem); //3.8rem;
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	#Message p.txt {
		font-size: max(1.77vw, 1.6rem); //2.2rem;
		margin-bottom: max(6.452vw, 40px); //80px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Message h1 {
		line-height: 1.6;
	}
}

/*---------------------------------------------*/
/* トップページ -> #Message 下スライダー */
/*---------------------------------------------*/
div.topPhotos {
	overflow: hidden;
	padding: 3px 0;
}
div.topPhotos .slick-list {
	margin: 0 -2px;
}
div.topPhotos .slick-slide {
	margin: 0 2px;
}

/*---------------------------------------------*/
/* トップページ -> お葬式のプラン */
/*---------------------------------------------*/
#topPlan {
	background: #eef5f4;
}
#topPlan .content2 {
	max-width: 1340px;
}

/*---------------------------------------------*/
/* 共通 -> プランリスト */
/*---------------------------------------------*/
ul.Plan {
	display: flex;
	flex-direction: column;
	gap: 50px 0;
}
ul.Plan li a {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 3%;
	padding: 25px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 10px;
	transition: background .3s ease;
}
ul.Plan li a:hover {
	color: initial;
	background: #fffdf4;
}
ul.Plan li a .zz {
	overflow: hidden;
	z-index: 2;
	position: relative;
}
ul.Plan li a:hover .zz img {
	transform: scale(1.1);
	opacity: 1;
}
ul.Plan li a figure {
	max-width: 550px;
	width: 37%;
}
ul.Plan li a figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
ul.Plan li a div.text {
	flex: 1;
}
ul.Plan li a div.text div.title {
	display: flex;
	margin-bottom: 10px;
}
ul.Plan li a div.text div.title h3 {
	flex: 1;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 2;
	background: #ddd;
	color: #fff;
	padding-left: 20px;
}
ul.Plan li a div.text div.title div.right {
	width: 160px;
	font-size: 2.6rem;
	font-weight: bold;
	background: #555;
	color: #fff;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.Plan li a div.text p.txt {
	font-size: 2.4rem;
	margin-bottom: 15px;
}
/* price_box */
ul.Plan li a div.text div.price_box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
ul.Plan li a div.text div.price_box .best_rate span.txt {
	display: inline-block;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1;
	background: #cd342c;
	color: #fff;
	margin-right: 30px;
	padding: 8px;
	position: relative;
	white-space: nowrap;
}
ul.Plan li a div.text div.price_box .best_rate span.txt::after {
	content: '';
	background-color: #cd342c;
	width: 16px;
	height: 100%;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	display: block;
	position: absolute;
	top: 0;
	right: -15.7px;
}
ul.Plan li a div.text div.price_box .plan_price {
	line-height: 1;
}
ul.Plan li a div.text div.price_box .plan_price span.num {
	color: #cd342c;
	font-size: 6.4rem;
	font-weight: bold;
	line-height: 1;
}
ul.Plan li a div.text div.price_box .plan_price span.yen {
	font-size: 3.0rem;
	font-weight: bold;
	color: #cd342c;
}
ul.Plan li a div.text div.price_box .plan_price span.zei {
	font-size: 2.0rem;
	color: #cd342c;
	margin-left: 5px;
	white-space: nowrap;
}
ul.Plan li a div.text div.price_box .plan_zei {
	line-height: 1;
	padding-top: 20px;
}
ul.Plan li a div.text div.price_box .plan_zei span.num {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 15px;
}
ul.Plan li a div.text div.price_box .plan_zei span.yen_zei {
	font-size: 2.0rem;
	margin-left: 2px;
}
ul.Plan li a div.text div.price_box .plan_zei span.yen_zei span.zei {
	font-size: 2.0rem;
	margin-left: 2px;
	white-space: nowrap;
}
/* ol.plan_flow */
ol.plan_flow {
	display: flex;
	gap: 0 5%;
	padding: 0;
}
ol.plan_flow li {
	width: calc(90% / 3);
	background: #dd7c32;
	color: #fff;
	padding: 10px 3px;
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.6;
	position: relative;
}
ol.plan_flow li::after {
	content: "\25B6";
	position: absolute;
	left: -12%;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4rem;
	line-height: 1;
	color: #ca1717;
}
ol.plan_flow li:first-child::after {
	content: none;
}
ol.plan_flow li.disabled {
	background: #ddd;
}
/* 1240 */
@media (max-width: 1240px) {
	ul.Plan {
		gap: max(4.032vw, 35px); //50px 0;
	}
	ul.Plan li a {
		padding: max(2.016vw, 20px); //25px;
		border-radius: max(0.806vw, 7px); //10px;
	}
	ul.Plan li a figure {
		max-width: 550px;
		width: 37%;
	}
	ul.Plan li a div.text div.title {
		margin-bottom: 10px;
	}
	ul.Plan li a div.text div.title h3 {
		font-size: max(2.42vw, 1.9rem); //3.0rem;
		padding-left: max(1.613vw, 14px); //20px;
	}
	ul.Plan li a div.text div.title div.right {
		width: max(12.903vw, 70px); //160px;
		font-size: max(2.1vw, 1.7rem); //2.6rem;
	}
	ul.Plan li a div.text p.txt {
		font-size: max(1.94vw, 1.6rem); //2.4rem;
		margin-bottom: max(1.21vw, 10px); //15px
	}
	/* price_box */
	ul.Plan li a div.text div.price_box .best_rate span.txt {
		font-size: max(1.37vw, 1.2rem); //1.7rem;
		margin-right: max(2.419vw, 21px); //30px;
		padding: max(0.645vw, 6px) max(0.645vw, 2px) max(0.645vw, 7px) max(0.645vw, 6px); //8px;
	}
	ul.Plan li a div.text div.price_box .plan_price span.num {
		font-size: max(5.16vw, 3.1rem); //6.4rem;
	}
	ul.Plan li a div.text div.price_box .plan_price span.yen {
		font-size: max(2.42vw, 2.1rem); //3.0rem;
	}
	ul.Plan li a div.text div.price_box .plan_price span.zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		margin-left: 5px;
	}
	ul.Plan li a div.text div.price_box .plan_zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		padding-top: max(1.613vw, 14px); //20px;
	}
	ul.Plan li a div.text div.price_box .plan_zei span.num {
		font-size: max(2.58vw, 2.2rem); //3.2rem;
		margin-left: max(1.21vw, 11px); //15px;
	}
	ul.Plan li a div.text div.price_box .plan_zei span.yen_zei {
		margin-left: max(0.161vw, 1px); //2px;
	}
	ul.Plan li a div.text div.price_box .plan_zei span.yen_zei span.zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
	/* ol.plan_flow */
	ol.plan_flow li {
		font-size: max(2.1vw, 1.8rem); //2.6rem;
	}
	ol.plan_flow li::after {
		content: "\25B6";
		position: absolute;
		left: -12%;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.4rem;
		line-height: 1;
		color: #ca1717;
	}
}
/* 900 */
@media (max-width: 900px) {
	ul.Plan li a {
		padding: 25px 20px;
	}
	ul.Plan li a figure {
		max-width: 550px;
		margin: 0 auto;
		width: 100%;
	}
	ul.Plan li a figure img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	ul.Plan li a div.text {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.Plan li a div.text p.txt {
		line-height: 1.7;
	}
	ul.Plan li a div.text div.price_box .plan_zei {
		width: 100%;
		text-align: right;
	}
	ol.plan_flow li::after {
		left: -17%;
		font-size: 1.3rem;
	}
}

/* color */
ul.Plan li.chokusou a {
	border-color: #8ab3d0;
}
ul.Plan li.kasou a {
	border-color: #d2a3d4;
}
ul.Plan li.oneday a {
	border-color: #e2c372;
}
ul.Plan li.twoday a {
	border-color: #8fc7a6;
}
ul.Plan li.eitai a {
	border-color: #e28b7f;
}
ul.Plan li.chokusou h3 {
	background: #8ab3d0!important;
}
ul.Plan li.kasou h3 {
	background: #d2a3d4!important;
}
ul.Plan li.oneday h3 {
	background: #e2c372!important;
}
ul.Plan li.twoday h3 {
	background: #8fc7a6!important;
}
ul.Plan li.eitai h3 {
	background: #e28b7f!important;
}
ul.Plan li.chokusou .right {
	background: #4b7eaa!important;
}
ul.Plan li.kasou .right {
	background: #ad68b0!important;
}
ul.Plan li.oneday .right {
	background: #c89533!important;
}
ul.Plan li.twoday .right {
	background: #509b6c!important;
}
ul.Plan li.eitai .right {
	background: #c84c3f!important;
}

/*---------------------------------------------*/
/* トップページ -> メイン式場 */
/*---------------------------------------------*/
#topSelectHall ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 3%;
}
#topSelectHall ul li {
	width: calc(97% / 2);
}
#topSelectHall ul li figure img {
	display: block;
	aspect-ratio: 6 / 3.5;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#topSelectHall ul.shisetsu li div.text table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto 20px auto;
}
#topSelectHall ul.shisetsu li div.text table tr:not(:last-child) {
	border: none;
	border-bottom: 1px solid rgba(0,0,0,0.45);
}
#topSelectHall ul.shisetsu li div.text table tr th,
#topSelectHall ul.shisetsu li div.text table tr td {
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 2.0rem;
}
#topSelectHall ul.shisetsu li div.text table tr th {
	color: #dd7c32;
	width: 147px;
}
#topSelectHall ul.shisetsu li div.text table tr:nth-child(1) td,
#topSelectHall ul.shisetsu li div.text table tr th {
	font-weight: bold;
}
#topSelectHall ul.shisetsu li div.text table tr:nth-child(1) td {
	font-size: 2.4rem;
}
/* 1240 */
@media (max-width: 1240px) {
	#topSelectHall ul.shisetsu li div.text table {
		margin-bottom: max(1.613vw, 0px); //20px;
	}
	#topSelectHall ul.shisetsu {
		margin: max(6.452vw, 32px) 0 max(12.903vw, 90px);
	}
	#topSelectHall ul.shisetsu li div.text table tr th,
	#topSelectHall ul.shisetsu li div.text table tr td {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	#topSelectHall ul.shisetsu li div.text table tr th {
		width: max(11.855vw, 60px); //147px;
	}
	#topSelectHall ul.shisetsu li div.text table tr:nth-child(1) td {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
	}
	#topSelectHall ul.shisetsu li div.text a.btn {
		height: max(3.79vw, 36px); //47px;
		line-height: 1;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topSelectHall ul.shisetsu li {
		width: 100%;
	}
	#topSelectHall ul.shisetsu li div.text table tr th,
	#topSelectHall ul.shisetsu li div.text table tr td {
		padding-top: 11px;
		padding-bottom: 11px;
	}
	#topSelectHall ul.shisetsu li div.text div.right {
		text-align: center;
	}
}

/*---------------------------------------------*/
/* トップページ -> 葬祭ホール */
/*---------------------------------------------*/
#topHole ul {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 35px 2%;
}
#topHole ul li {
	width: calc(94% / 4);
	text-align: center;
}
#topHole ul li figure img {
	aspect-ratio: 9 / 6;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#topHole ul li figure figcaption {
	color: #c8382f;
	line-height: 1.3;
}
/* 1000 */
@media (max-width: 1000px) {
	#topHole ul li {
		width: calc(96% / 3);
	}
}
/* 580 */
@media (max-width: 580px) {
	#topHole ul {
		gap: 20px 3%;
	}
	#topHole ul li {
		width: calc(97% / 2);
	}
	#topHole ul li figure figcaption {
		font-size: 1.3rem;
	}
}

/*---------------------------------------------*/
/* トップページ -> 直葬とは？ */
/*---------------------------------------------*/
#topAbout {
	background: #f3f2ec;
	text-align: center;
}
#topAbout h2 {
	font-size: 3.0rem;
	font-weight: bold;
}
#topAbout p.txt {
	font-size: 2.0rem;
}
/* 1240 */
@media (max-width: 1240px) {
	#topAbout h2 {
		font-size: max(2.42vw, 2.1rem); //3.0rem;
	}
	#topAbout p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topAbout h2 {
		line-height: 1.7;
	}
	#topAbout p.txt {
		text-align: left;
	}
}

/*---------------------------------------------*/
/* トップページ -> 選ばれる理由 */
/*---------------------------------------------*/
#topRiyuu {
	overflow: hidden;
}
#topRiyuu .content2 {
	max-width: 1640px;
	padding: 0 90px;
}
#topRiyuu header {
	margin-bottom: 60px;
	text-align: center;
}
#topRiyuu header p.txt {
	font-size: 2.4rem;
	font-weight: bold;
}
#topRiyuu header h1 {
	color: #dd7c32;
	margin: 10px 0 0 0;
	font-size: 5.0rem;
	font-weight: bold;
}
#topRiyuu ul.list {
	margin-bottom: 160px;
}
#topRiyuu ul.list li {
	position: relative;
	padding: 40px 0;
}
#topRiyuu ul.list li:not(:last-child) {
	margin-bottom: 70px;
}
#topRiyuu ul.list li .flex {
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
#topRiyuu ul.list li .flex figure {
	width: 50%;
	text-align: right;
}
#topRiyuu ul.list li .flex figure img {
	width: 100%;
	vertical-align: bottom;
}
#topRiyuu ul.list li .flex .text {
	width: 50%;
	padding-left: 60px;
}
#topRiyuu ul.list li .flex .text h3 {
	background: #f08454;
	color: #fff;
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 35px;
	padding: 10px 20px;
	white-space: nowrap;
	width: 115%;
	box-shadow: 5px 6px 5px 0px rgba(0,0,0,0.24);
}
#topRiyuu ul.list li .flex .text h3 span.num {
	font-style: italic;
	margin-right: 5px;
}
#topRiyuu ul.list li:nth-child(odd) .flex .text h3 {
	transform: translateX(-15%);
}
#topRiyuu ul.list li:nth-child(even) .flex .text h3 {
	width: 118%;
	position: relative;
	z-index: 2;
}
#topRiyuu ul.list li .flex .text p.txt {
	font-size: 2.0rem;
	padding-right: 20px;
}
/* reverse */
#topRiyuu ul.list li.reverse::before {
	right: initial;
	left: 0;
}
#topRiyuu ul.list li.reverse .flex {
	flex-direction: row-reverse;
}
#topRiyuu ul.list li.reverse .flex figure {
	text-align: left;
}
#topRiyuu ul.list li.reverse .flex .text {
	padding-left: 0;
}
#topRiyuu ul.list li.reverse .flex .text .wrap {
	padding-right: 60px;
}
#topRiyuu ul.list li.reverse .flex .text p.txt {
	font-size: 2.0rem;
	padding-right: 0px;
	padding-left: 20px;
}
/* h2 */
#topRiyuu h2 {
	font-size: 4.2rem;
	font-weight: bold;
	text-align: center;
	color: #dd7c32;
	margin-bottom: 60px;
}
/* 1240 */
@media (max-width: 1240px) {
	#topRiyuu .content2 {
		padding: 0 20px;
	}
	#topRiyuu header {
		margin-bottom: 60px;
		text-align: center;
	}
	#topRiyuu header p.txt {
		font-size: max(1.94vw, 1.7rem); //2.4rem;
	}
	#topRiyuu header h1 {
		margin: 10px 0 0 0;
		font-size: max(4.03vw, 3.5rem); //5.0rem;
	}
	#topRiyuu ul.list {
		margin-bottom: max(12.903vw, 80px); //160px;
	}
	#topRiyuu ul.list li {
		padding: max(3.226vw, 28px) 0;
		max-width: 700px;
		margin: 0 auto;
	}
	#topRiyuu ul.list li:not(:last-child) {
		margin-bottom: max(5.645vw, 49px);
	}
	#topRiyuu ul.list li .flex .text {
		padding-left: max(4.839vw, 42px); //60px;
	}
	#topRiyuu ul.list li .flex .text h3 {
		font-size: max(2.26vw, 2rem); //2.8rem;
		margin-bottom: max(2.823vw, 25px); //35px;
		padding: 10px 20px;
		width: 115%;
	}
	#topRiyuu ul.list li .flex .text h3 span.num {
		margin-right: 5px;
	}
	#topRiyuu ul.list li .flex .text h3 {
		width: 100%;
		position: relative;
		padding-left: 50px;
		padding-right: 15px;
		white-space: wrap;
	}
	#topRiyuu ul.list li:nth-child(odd) .flex .text h3 {
		transform: translateX(-15%);
	}
	#topRiyuu ul.list li:nth-child(even) .flex .text h3 {
		width: 118%;
	}
	#topRiyuu ul.list li .flex .text p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
		padding-right: max(1.613vw, 14px); //20px;
	}
	/* reverse */
	#topRiyuu ul.list li.reverse .flex .text .wrap {
		padding-right: max(4.839vw, 42px); //60px;
	}
	#topRiyuu ul.list li.reverse .flex .text p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
		padding-left: max(1.613vw, 14px); //20px;
	}
	/* h2 */
	#topRiyuu h2 {
		font-size: max(3.39vw, 2.9rem); //4.2rem;
		margin-bottom: max(4.839vw, 42px); //60px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#topRiyuu ul.list li {
		padding-top: 0;
	}
	#topRiyuu ul.list li .flex figure {
		width: 100%;
		text-align: center;
	}
	#topRiyuu ul.list li .flex figure img {
		margin-bottom: 16px;
		max-width: 600px;
		width: 100%;
	}
	#topRiyuu ul.list li .flex .text {
		width: 100%;
		padding-left: 0;
	}
	#topRiyuu ul.list li .flex .text p.txt {
		padding-right: 0;
	}
	#topRiyuu ul.list li .flex .text h3 + p {
		width: 90%;
		margin: 0 auto;
	}
	#topRiyuu ul.list li:nth-child(odd) .flex .text h3 {
		transform: translateX(0);
	}
	#topRiyuu ul.list li:nth-child(even) .flex .text h3 {
		width: 100%;
	}
	#topRiyuu ul.list li .flex .text h3 span.num {
		position: absolute;
		left: 15px;
	}
	/* reverse */
	#topRiyuu ul.list li.reverse .flex figure {
		text-align: center;
	}
	#topRiyuu ul.list li.reverse .flex .text {
		padding-left: 0px;
	}
	#topRiyuu ul.list li.reverse .flex .text p.txt {
		padding-left: 0;
	}
	#topRiyuu ul.list li.reverse .flex .text .wrap {
		padding-right: 0px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topRiyuu {
		min-width: initial;
	}
	#topRiyuu .content2 {
		padding: 0 20px;
	}
	#topRiyuu header {
		margin-bottom: 20px;
	}
	#topRiyuu header p.txt {
		font-size: 1.7rem;
		line-height: 1.6;
		margin-bottom: 15px;
	}
	#topRiyuu header h1 {
		font-size: 2.8rem;
		line-height: 1.4;
	}
	#topRiyuu ul.list {
		margin-bottom: 30px;
	}
	#topRiyuu ul.list li {
		padding: 0px;
		max-width: 460px;
		margin: 0 auto;
	}
	#topRiyuu ul.list li:not(:last-child) {
		margin-bottom: 45px;
	}
	#topRiyuu ul.list li .flex figure {
		width: 100%;
		text-align: center;
	}
	#topRiyuu ul.list li .flex figure img {
		margin-bottom: 16px;
		width: 90%;
	}
	#topRiyuu ul.list li .flex .text {
		width: 100%;
		padding-left: 0px;
	}
	#topRiyuu ul.list li .flex .text h3 {
		font-size: 2.0rem;
		line-height: 1.4;
		margin-bottom: 16px;
		width: 100%;
		position: relative;
		padding-left: 50px;
		padding-right: 15px;
		white-space: wrap;
	}
	#topRiyuu ul.list li .flex .text h3 + p {
		width: 90%;
		margin: 0 auto;
	}
	#topRiyuu ul.list li:nth-child(odd) .flex .text h3 {
		transform: translateX(0);
	}
	#topRiyuu ul.list li:nth-child(even) .flex .text h3 {
		width: 100%;
	}
	#topRiyuu ul.list li .flex .text h3 span.num {
		position: absolute;
		left: 15px;
	}
	/* reverse */
	#topRiyuu ul.list li.reverse .flex figure {
		text-align: center;
	}
	#topRiyuu ul.list li.reverse .flex .text {
		padding-left: 0px;
	}
	#topRiyuu ul.list li.reverse .flex .text .wrap {
		padding-right: 0px;
	}
	/* h2 */
	#topRiyuu h2 {
		font-size: 2.1rem;
		padding-top: 20px;
		margin-bottom: 25px;
		line-height: 1.4;
	}
}

/*---------------------------------------------*/
/* トップページ -> 選ばれる理由 -> TABLE */
/*---------------------------------------------*/
#topRiyuu table {
	border-collapse: collapse;
	width: 100%;
}
#topRiyuu table {
	width: 100%;
	min-width: 800px;
	border-left: 2px solid #cacaca;
	border-top: 2px solid #cacaca;
}
#topRiyuu table th {
	font-weight: bold;
}
#topRiyuu table tbody th {
	width: 145px;
	line-height: 1.4;
}
#topRiyuu table thead th {
	font-size: 2.0rem;
}
#topRiyuu table thead th:not(:first-child),
#topRiyuu table tbody td {
	width: calc((100% - 145px) / 3);
}
#topRiyuu table tbody td span.cell {
	display: flex;
	align-items: center;
	gap: 0 15px;
}
#topRiyuu table tbody td span.cell span.kigou {
	font-size: 4.0rem;
	font-weight bold;
}
#topRiyuu table td {
	line-height: 1.4;
}
#topRiyuu table th,
#topRiyuu table td {
	padding: 15px;
	border-right: 2px solid #cacaca;
	border-bottom: 2px solid #cacaca;
}
#topRiyuu div.msg {
	display: none;
	font-size: 1.4rem;
}
/* 色設定 */
/* 福岡直葬センター */
#topRiyuu table thead th:nth-child(1) {
	border-right: 2px solid #dd7c32;
}
#topRiyuu table thead th:nth-child(2) {
	background: #dd7c32;
	color: #fff;
	border: 2px solid #dd7c32;
}
#topRiyuu table tbody tr th:nth-of-type(1) {
	border-right: 2px solid #dd7c32;
}
#topRiyuu table tbody tr td:nth-of-type(1) {
	background: #f8e5d6;
	border-right: 2px solid #dd7c32;
}
#topRiyuu table tbody tr:last-child td:nth-of-type(1) {
	border-bottom: 2px solid #dd7c32;
}
#topRiyuu table tbody tr td:nth-of-type(1) span.kigou {
	color: red;
}
/* 大手他社 */
#topRiyuu table thead th:nth-child(3) {
	background: #a1a1a1;
}
#topRiyuu table tbody tr td:nth-of-type(2) {
	background: #ececec;
}
/* 一般的な葬儀社 */
#topRiyuu table thead th:nth-child(4) {
	background: #efecdc;
}
#topRiyuu table tbody tr td:nth-of-type(3) {
	background: #fcfbf8;
}
/* 1240 */
@media (max-width: 1240px) {
	#topRiyuu table thead th {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	#topRiyuu table tbody td span.cell {
		gap: 0 max(1.21vw, 10px); //15px;
	}
	#topRiyuu table tbody td span.cell span.kigou {
		font-size: max(3.23vw, 2.4rem); //4.0rem;
	}
}
/* 860 */
@media (max-width: 860px) {
	#topRiyuu div.msg {
		display: block;
	}
	#topRiyuu table {
		min-width: 660px;
	}
	#topRiyuu table tbody th {
		font-size: 1.5rem;
		width: 105px;
		padding-left: 6px;
		padding-right: 6px;
	}
	#topRiyuu table thead th:not(:first-child),
	#topRiyuu table tbody td {
		font-size: 1.5rem;
		width: calc((100% - 125px) / 3);
		padding-left: 6px;
		padding-right: 6px;
	}
	#topRiyuu div.scroll {
		overflow-x: scroll;
	}
	#topRiyuu table tbody td span.cell {
		gap: 0 6px;
	}
}

/*---------------------------------------------*/
/* トップページ -> お客様の声 */
/*---------------------------------------------*/
#topVoice {
	background: #e9e9e9;
}
#topVoice ul {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 5%;
	margin-bottom: 120px;
}
#topVoice ul li {
	width: calc(95% / 2);
}
#topVoice ul li figure figcaption {
	font-size: 2.0rem;
	text-align: center;
	color: #c8382f;
}
#topVoice ul li h3 {
	color: #dd7c32;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.7;
	margin-top: 30px;
	margin-bottom: 5px;
}
/* 1240 */
@media (max-width: 1240px) {
	#topVoice ul {
		margin-bottom: max(9.677vw, 60px); //120px;
	}
	#topVoice ul li figure figcaption {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	#topVoice ul li h3 {
		font-size: max(2.42vw, 2.1rem); //3.0rem;
		margin-top: max(2.419vw, 21px); //30px;
		margin-bottom: max(0.403vw, 4px); //5px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topVoice ul {
		margin-bottom: 40px;
	}
	#topVoice ul li {
		width: 100%;
	}
	#topVoice ul li h3 {
		line-height: 1.5;
		margin-bottom: 8px;
	}
}

/*---------------------------------------------*/
/* トップページ -> 事前相談 */
/*---------------------------------------------*/
#Jizen {
	background: #f5f3ee;
}
#Jizen ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 4%;
	margin-bottom: 100px;
}
#Jizen ul li {
	width: calc(92% / 3);
}
#Jizen ul li figure img {
	display: block;
}
#Jizen ul li figure figcaption {
	background: #fff;
	text-align: center;
	font-weight: bold;
}
#Jizen h2 {
	color: #000;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
#Jizen h2 .small {
	font-size: 2.6rem;
}
#Jizen h2 span.txt {
	position: relative;
	display: inline-block;
}
#Jizen h2 span.txt::before {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #000;
	position: absolute;
	top: 0;
	left: -40px;
	transform: rotateZ(-20deg);
}
#Jizen h2 span.txt::after {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #000;
	position: absolute;
	top: 0;
	right: -40px;
	transform: rotateZ(20deg);
}
#Jizen h2 strong {
	color: #cd342c;
	font-size: 4.6rem;
	margin: 0 5px;
}
#Jizen div.c_tel.big {
	margin-bottom: 60px;
}
/* 1240 */
@media (max-width: 1240px) {
	#Jizen ul {
		margin-bottom: max(8.065vw, 40px); //100px;
	}
	#Jizen h2 {
		font-size: max(2.9vw, 2.0rem); //3.6rem;
		margin-bottom: max(2.419vw, 21px); //30px;
	}
	#Jizen h2 .small {
		font-size: max(2.1vw, 1.6rem); //2.6rem;
	}
	#Jizen h2 span.txt::before {
		left: max(-3.226vw, -30px); //-40px;
	}
	#Jizen h2 span.txt::after {
		right: max(-3.226vw, -30px); //-40px;
	}
	#Jizen h2 strong {
		font-size: max(3.71vw, 3.2rem); //4.6rem;
		margin: 0 5px;
	}
	#Jizen div.c_tel.big {
		margin-bottom: max(4.839vw, 42px); //60px;
	}
}
/* 580 */
@media (max-width: 580px) {
	header.type01 h1 {
		line-height: 1.6;
	}
	#Jizen ul li {
		width: 100%;
	}
}

/*---------------------------------------------*/
/* トップページ -> お知らせ */
/*---------------------------------------------*/
#News ul.news {
	background: #fff;
	margin-bottom: 80px;
}
#News ul.news li {
	border-bottom: 1px solid #aaa;
	padding: 20px 15px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}
#News ul.news li:first-child {
	padding-top: 0px;
}
#News ul.news li time {
	font-size: 2.0rem;
	line-height: 1.6;
	margin-right: 60px;
}
#News ul.news li p {
	font-size: 2.0rem;
	line-height: 1.7;
	flex: 1;
}
/* 1240 */
@media (max-width: 1240px) {
	#News ul.news {
		margin-bottom: max(6.452vw, 56px); //80px;
	}
	#News ul.news li {
		padding: 20px max(1.21vw, 2px); //15px;
	}
	#News ul.news li time {
	font-size: max(1.61vw, 1.6rem); //2.0rem;
		margin-right: max(4.839vw, 0px); //60px;
	}
	#News ul.news li p {
	font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}

/* 580 */
@media (max-width: 580px) {
	#News ul.news li time {
		width: 100%;
		font-weight: bold;
	}
	#News ul.news li p {
		width: 100%;
	}
}

/*---------------------------------------------*/
/* トップページ -> 仏事の相談室 */
/*---------------------------------------------*/
#topColumn {
	background: #f5f3ee;
}
#topColumn ul.flex {
	gap: 30px 3%;
	margin-bottom: 90px;
}
#topColumn ul.flex li {
	width: calc(94% / 3);
}
#topColumn ul.flex li figure img {
	aspect-ratio: 6 / 4;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
#topColumn ul.flex li p.txt {
	font-size: 1.8rem;
	text-align: center;
}
/* 1240 */
@media (max-width: 1240px) {
	#topColumn ul.flex li p.txt {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
	}
	#topColumn ul.flex {
		margin-bottom: max(7.258vw, 40px); //90px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#topColumn ul.flex li {
		width: 100%;
	}
}

/*---------------------------------------------*/
/* トップページ -> 葬儀場（マップ＋リスト） */
/*---------------------------------------------*/
#Area header.type01 {
	margin-bottom: 80px;
}
#Area header.type01 h1 {
	color: #dd7c32;
}
#Area div.shisetsu ul.halls {
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 60px 5%;
}
#Area div.shisetsu ul.halls > li {
	width: calc(95% / 2);
	text-align: center;
}
#Area div.shisetsu ul.halls > li figure {
	margin-bottom: 20px;
}
#Area div.shisetsu ul.halls > li h4 {
	font-size: 2.2rem;
	font-weight: bold;
}
#Area div.shisetsu ul.halls > li h5 {
	font-size: 2.0rem;
	margin-bottom: 20px;
}
/* links */
#Area div.shisetsu ul.links li:not(:last-child) {
	margin-bottom: 20px;
}
/* 580 */
@media (max-width: 580px) {
	#Area header.type01 {
		margin-bottom: 40px;
	}
	#Area div.shisetsu ul.halls > li figure {
		margin-bottom: 10px;
	}
	#Area div.shisetsu ul.halls > li h4 {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.4;
		margin-bottom: 7px;
	}
	#Area div.shisetsu ul.halls > li h5 {
		font-size: 1.4rem;
		margin-bottom: 10px;
		line-height: 1.4;
	}
	#Area .btn {
		font-size: 1.4rem;
		height: 36px;
		padding: 0 20px;
	}
	/* links */
	#Area div.shisetsu ul.links li:not(:last-child) {
		margin-bottom: 10px;
	}
}
/* 380 */
@media (max-width: 380px) {
	#Area .btn {
		font-size: 1.2rem;
		height: 36px;
		padding: 0 20px;
	}
	/* links */
	#Area div.shisetsu ul.links li:not(:last-child) {
		margin-bottom: 10px;
	}
}

/*---------------------------------------------*/
/* トップページ -> 問い合わせ */
/*---------------------------------------------*/
#Toiawase {
	background: #1e367a;
}
#Toiawase header {
	text-align: center;
	margin-bottom: 60px;
}
#Toiawase header h1 {
	color: #fff;
	font-size: 5.4rem;
	font-weight: bold;
}
#Toiawase .wrap {
	max-width: 800px;
	margin: 0 auto;
}
#Toiawase ul.list {
	margin-bottom: 60px;
}
#Toiawase ul.list li {
	padding: 20px 0;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 1px solid #fff;
	text-align: center;
}
#Toiawase ul.list li:last-child {
	border-bottom: none;
}
/* free_call */
#Toiawase .free_call {
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#Toiawase .free_call a {
	line-height: 1;
	transition: .3s ease;
}
#Toiawase .free_call span.en img {
	width: 83px;
	margin-right: 10px;
	vertical-align: bottom;
}
#Toiawase .free_call span.num {
	font-size: 7.0rem;
	font-style: italic;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
#Toiawase .free_call span.free {
	font-size: 3.0rem;
	display: inline-block;
	padding: 15px 12px 13px 12px;
	margin-left: 25px;
	color: #fff;
	border: 2px solid #fff;
	line-height: 1;
}
/* 580 */
@media (max-width: 580px) {
	#Toiawase header {
		margin-bottom: 30px;
	}
	#Toiawase header h1 {
		font-size: 2.2rem;
		line-height: 1.4;
	}
	#Toiawase ul.list {
		margin-bottom: 40px;
	}
	#Toiawase ul.list li {
		padding: 10px 0;
		font-size: 1.6rem;
	}
	#Toiawase .free_call {
		margin-bottom: 30px;
	}
	#Toiawase .free_call span.en img {
		width: 34px;
		margin-right: 5px;
		vertical-align: middle;
	}
	#Toiawase .free_call span.num {
		font-size: 3.2rem;
	}
	#Toiawase .free_call span.free {
		font-size: 1.4rem;
		padding: 5px 3px 4px 3px;
		margin-left: 14px;
		border: 1px solid #fff;
	}
	#Toiawase .blue_obi span.txt {
		line-height: 1.4;
	}
}

/*---------------------------------------------*/
/* トップページ -> 相談 */
/*---------------------------------------------*/
#Soudan {
	background: #f5f3ee;
}
#Soudan header {
	text-align: center;
	margin-bottom: 40px;
}
#Soudan header h1 {
	color: #1e367a;
	font-size: 4.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}
#Soudan .blue_obi {
	margin-bottom: 60px;
}
#Soudan .blue_obi span.txt {
	background: #cd342c;
}
#Soudan ul.flex {
	gap: 30px 3%;
}
#Soudan ul.flex li figure img {
	border-radius: 50%;
}
#Soudan ul.flex li figure figcaption {
	text-align: center;
}
#Soudan ul.flex li figure figcaption span.txt {
	background: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 3px 10px;
}
/* 580 */
@media (max-width: 580px) {
	#Soudan {
		background-size: auto 820px;
	}
	#Soudan header {
		margin-bottom: 20px;
	}
	#Soudan header h1 {
		font-size: 2.4rem;
		margin-bottom: 10px;
	}
	#Soudan header p.txt {
		text-align: left;
	}
	#Soudan .blue_obi {
		margin-bottom: 30px;
	}
	#Soudan ul.flex {
		gap: 30px 3%;
	}
	#Soudan ul.flex li {
		width: calc(97% / 2);
	}
	#Soudan ul.flex li figure figcaption span.txt {
		font-size: 1.4rem;
		padding: 3px 10px 2px 10px;
	}
}

/*---------------------------------------------*/
/* トップページ -> コラム */
/*---------------------------------------------*/
#Column {
	display: none;
	background: #f5f3ee;
}
#Column header {
	margin-bottom: 50px;
}
#Column header h1 {
	color: #1e367a;
}
#Column ul.flex {
	gap: 30px 4%;
	margin-bottom: 80px;
}
#Column ul.flex li {
	width: calc(92% / 3);
}
#Column ul.flex li figure {
	aspect-ratio: 6 / 4;
}
#Column ul.flex li img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
#Column ul.flex li p.txt {
	font-size: 1.7rem;
	text-align: center;
}
/* 580 */
@media (max-width: 580px) {
	#Column header {
		margin-bottom: 40px;
	}
	#Column ul.flex {
		margin-bottom: 60px;
	}
	#Column ul.flex li {
		width: 100%;
	}
	#Column ul.flex li figure {
		padding: 0 20px;
	}
	#Column ul.flex li p.txt {
		font-size: 1.6rem;
		line-height: 1.6;
	}
}

/*--------------------------------------------------------------*/
/* 下層ページ breadcrumbs */
/*--------------------------------------------------------------*/
.breadcrumbs {
	margin: -120px 0 80px 0;
	padding-top: 30px;
}
.breadcrumbs span {
	font-size: 1.4rem;
}
.breadcrumbs i {
	font-size: 1.2rem;
	margin: 0 6px 0 7px;
}
.breadcrumbs a {
	color: #000;
}
.breadcrumbs a:hover {
	color: #5fa427;
}
/* 1240 */
@media (max-width: 1240px) {
	.breadcrumbs {
		margin: min(-9.677vw, -40px) 0 max(6.452vw, 40px) 0;
		padding-top: max(2.419vw, 15px); //30px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.breadcrumbs span {
		font-size: 1.3rem;
	}
	.breadcrumbs i {
		font-size: 1.1rem;
		margin: 0 4px 0 5px;
	}
}

/*---------------------------------------------*/
/* ABOUTページ */
/*---------------------------------------------*/
#sub_visual.about_page {
	background: url(../images/about_bk.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
/* Hirosaki */
#Hirosaki .row1 {
	background: url(../images/about_chizu.png) no-repeat;
	background-size: auto 80%;
	background-position: left 15% center;
	text-align: center;
}
#Hirosaki .row1 h1 {
	font-size: 4.0rem;
	color: #dd7c32;
}
#Hirosaki .row1 p.txt {
	font-size: 2.0rem;
}
#Hirosaki .row2 {
	background: url(../images/about_row2_bk.jpg) no-repeat;
	background-size: cover;
}
#Hirosaki .row2 .flex {
	flex-wrap: wrap;
	gap: 30px 5%;
}
#Hirosaki .row2 .flex .logo {
	width: 106px;
}
#Hirosaki .row2 .flex figure {
	display: inline-block;
}
#Hirosaki .row2 .flex figure figcaption {
	font-size: 1.5rem;
	text-align: center;
}
#Hirosaki .row2 .flex p.txt {
	font-size: 2.0rem;
	flex: 1;
}
/* 1240 */
@media (max-width: 1240px) {
	#Hirosaki .row1 {
		background-position: left 20px center;
	}
	#Hirosaki .row1 h1 {
		font-size: max(3.23vw, 2.2rem); //4.0rem;
	}
	#Hirosaki .row1 p.txt {
		font-size: max(1.61vw, 1.5rem); //2.0rem;
	}
	#Hirosaki .row2 .flex p.txt {
		font-size: max(1.61vw, 1.5rem); //2.0rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* Hirosaki */
	#Hirosaki .row1 {
		background: url(../images/about_chizu.png) no-repeat;
		background-size: 90% auto;
		background-position: center center;
	}
	#Hirosaki .row2 .flex .logo {
		width: 100%;
		text-align: center;
	}
	#Hirosaki .row2 .flex .logo figure img {
		width: 80px;
	}
	#Hirosaki .row2 .flex p.txt {
		width: 100%;
	}
}

/*---------------------------------------------*/
/* ABOUTページ -> ご満足いただく6つのポイント 共通 */
/*---------------------------------------------*/
ul.img_h3txt {
	display: flex;
	align-content: stretch;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 100px 2.5%;
	padding-top: 35px;
}
ul.img_h3txt li {
	width: calc(95% / 3);
}
ul.img_h3txt li figure figcaption {
	text-align: center;
	font-size: 2.8rem;
	padding: 12px 0 15px 0;
}
ul.img_h3txt li p.txt {
	font-size: 1.8rem;
	line-height: 1.7;
}
/* 1240 */
@media (max-width: 1240px) {
	ul.img_h3txt {
		padding-top: max(2.823vw, 0px); //35px;
		gap: max(8.065vw, 60px) 2.5%;
	}
	ul.img_h3txt li figure figcaption {
		font-size: max(2.26vw, 2rem); //2.8rem;
		padding: max(0.968vw, 8px) 0 max(1.21vw, 11px) 0;
	}
	ul.img_h3txt li p.txt {
		font-size: max(1.45vw, 1.5rem); //1.8rem;
		line-height: 1.7;
	}
}
/* 900 */
@media (max-width: 900px) {
	ul.img_h3txt {
		column-gap: 3%;
	}
	ul.img_h3txt li {
		width: calc(97% / 2);
	}
}
/* 580 */
@media (max-width: 580px) {
	#aboutPoint  header h1 {
		line-height: 1.4;
	}
	ul.img_h3txt {
		padding-top: 0;
	}
	ul.img_h3txt li {
		width: 100%;
	}
	ul.img_h3txt li figure figcaption {
		font-weight: bold;
	}
}

/*---------------------------------------------*/
/* 下層ページ共通 ヘッダー */
/*---------------------------------------------*/
header#sub_header {
	height: 320px;
	position: relative;
	margin-bottom: 120px;
}
header#sub_header::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #e8e2d5;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
header#sub_header::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #e8e2d5;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
header#sub_header img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}
header#sub_header h1 {
	color: #fff;
	font-size: 3.4rem;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	margin: 0;
	z-index: 3;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align: center;
}
header#sub_header h1 span.small {
	font-size: 60%;
}
/* 1240 */
@media (max-width: 1240px) {
	header#sub_header {
		height: max(25.806vw, 180px); //320px;
		margin-bottom: max(9.677vw, 40px); //120px;
	}
	header#sub_header h1 {
		font-size: max(2.74vw, 2.2rem); //3.4rem;
	}
}

/*--------------------------------------------------------------*/
/* プラン一覧 */
/*--------------------------------------------------------------*/
#PlanList {
	margin-bottom: 30px;
}

/*--------------------------------------------------------------*/
/* プラン詳細 -> ヘッダー共通 */
/*--------------------------------------------------------------*/
#plan_visual {
	background: #ececec;
}
#plan_visual div.flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 0;
}
#plan_visual div.flex figure {
	width: 50%;
}
#plan_visual div.flex figure img {
	display: block;
}
#plan_visual div.flex div.text {
	width: 50%;
	padding-left: 5%;
}
#plan_visual div.flex div.text p.catch {
	font-size: 2.6rem;
	line-height: 1.4;
	margin-bottom: 7px;
}
#plan_visual div.flex div.text h1 {
	font-size: 4.2rem;
	text-align: left;
	margin: 0;
}
/* price_box */
.price_box {
	margin-bottom: 30px;
}
.price_box .price_wrap {
	display: inline-block;
}
.price_box .price_wrap .price {
	font-size: 9.4rem;
	font-weight: bold;
	font-style: italic;
	color: #ca1717;
	white-space: nowrap;
	position: relative;
	line-height: 1;
}
.price_box .price_wrap .price .yen {
	font-style: normal;
	font-size: 5.0rem;
	margin-left: 20px;
}
.price_box .price_wrap .price .zei {
	font-style: normal;
	font-size: 2.3rem;
	color: #ca1717;
	vertical-align: top;
	position: absolute;
	bottom: 62%;
	right: 2px;
}
.price_box .price_wrap .intax {
	font-size: 2.4rem;
	white-space: nowrap;
	text-align: right;
}
/* ol.plan_detail_head_flow */
ol.plan_detail_head_flow {
	display: flex;
	gap: 0 24px;
	padding: 0;
}
ol.plan_detail_head_flow li {
	text-align-last: justify;
	writing-mode: vertical-rl;
	padding: 10px 3px;
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.6;
	position: relative;
	background: #dd7c32;
	color: #fff;
}
ol.plan_detail_head_flow li::after {
	content: "\25B6";
	position: absolute;
	left: -18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.0rem;
	line-height: 1;
	color: #ca1717;
}
ol.plan_detail_head_flow li:first-child::after {
	content: none;
}
ol.plan_detail_head_flow li.disabled {
	opacity: 0.3;
	background: #777;
}
/* 1240 */
@media (max-width: 1240px) {
	#plan_visual div.flex div.text p.catch {
		font-size: max(2.1vw, 1.8rem); //2.6rem;
	}
	#plan_visual div.flex div.text h1 {
		font-size: max(3.39vw, 2.9rem); //4.2rem;
	}
	/* price_box */
	.price_box {
		margin-bottom: max(2.419vw, 21px); //30px;
	}
	.price_box .price_wrap .price {
		font-size: max(7.58vw, 6.6rem); //9.4rem;
	}
	.price_box .price_wrap .price .yen {
		font-size: max(4.03vw, 3.5rem); //5.0rem;
		margin-left: max(1.613vw, 14px); //20px;
	}
	.price_box .price_wrap .price .zei {
		font-size: max(1.85vw, 1.6rem); //2.3rem;
	}
	.price_box .price_wrap .intax {
		font-size: max(1.94vw, 1.7rem); //2.4rem;
	}
	/* ol.plan_detail_head_flow */
	ol.plan_detail_head_flow {
		display: flex;
		gap: 0 max(1.935vw, 17px); //24px;
	}
	ol.plan_detail_head_flow li {
		padding: 10px 3px;
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
	ol.plan_detail_head_flow li::after {
		left: max(-4vw, -15px); //-22px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#plan_visual div.flex figure {
		width: 100%;
	}
	#plan_visual div.flex div.text {
		width: 100%;
		padding-left: 0%;
		text-align: center;
	}
	#plan_visual div.flex div.text h1 {
		text-align: center;
	}
	/* ol.plan_detail_head_flow */
	ol.plan_detail_head_flow {
		justify-content: center;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* price_box */
	.price_box .price_wrap .price {
		font-size: 5.6rem; //9.4rem;
	}
	.price_box .price_wrap .price .yen {
		font-size: 3.0rem; //5.0rem;
	}
	.price_box .price_wrap .price .zei {
		font-size: 1.3rem; //2.3rem;
	}
}

/*--------------------------------------------------------------*/
/* プラン詳細 -> ボディ */
/*--------------------------------------------------------------*/
#Plan h2 {
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.2;
	border-left: 6px solid #dd7c32;
	padding-left: 20px;
	margin-bottom: 40px;
}
#Plan p.txt {
	font-size: 2.0rem;
}
/* plan_select */
#Plan #plan_select {
	background: #ece9f0;
}
#Plan #plan_select ul.imgtxt {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 4%;
}
#Plan #plan_select ul.imgtxt li {
	width: calc(92% / 3);
	text-align: center;
}
#Plan #plan_select ul.imgtxt li figure img {
	width: 100%;
	display: block;
}
#Plan #plan_select ul.imgtxt li figure figcaption {
	font-size: 2.0rem;
	margin-top: 20px;
	line-height: 1.4;
}
#Plan #plan_select ul.imgtxt li p.only {
	font-size: 2.0rem;
	font-weight: bold;
	text-align: left;
	padding-left: 25px;
}
/* plan_setsubi */
#Plan #plan_setsubi ul.setsubi {
	column-gap: 4%;
}
/* plan_flow */
#Plan #plan_flow ol li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 3%;
}
#Plan #plan_flow ol li:not(:last-child) {
	margin-bottom: 60px;
}
#Plan #plan_flow ol li figure {
	width: 200px;
}
#Plan #plan_flow ol li div.text {
	flex: 1;
}
#Plan #plan_flow ol li div.text h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}
#Plan #plan_flow ol li div.text p.txt {
	font-size: 2.0rem;
}
/* 葬祭費補助金制度 */
#Plan div.seido {
	padding: 60px 0;
}
#Plan div.seido .flex.box {
	box-shadow: 0px 0px 8px 4px rgba(0,0,0,0.2);
	padding: 40px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px 40px;
}
#Plan div.seido .flex.box figure {
	max-width: 200px;
	width: 35%;
	text-align: center;
}
#Plan div.seido .flex.box figure img {
	width: 100%;
}
#Plan div.seido .flex.box div.text {
	flex: 1;
}
#Plan div.seido .flex.box div.text h3 {
	font-size: 3.0rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#Plan div.seido .flex.box div.text h3 span.small {
	font-size: 2.0rem;
	margin-left: 10px;
}
#Plan div.seido .flex.box div.text h3 span.small a {
	color: #dd7c32;
	transition: color .3s ease;
}
body.is-pc #Plan div.seido .flex.box div.text h3 span.small a:hover {
	color: #c90404;
}
/* 1240 */
@media (max-width: 1240px) {
	#Plan h2 {
		font-size: max(2.74vw, 2.1rem); //3.4rem;
		border-left: 6px solid #dd7c32;
		padding-left: max(1.613vw, 14px); //20px;
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	#Plan p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	/* plan_select */
	#Plan #plan_select ul.imgtxt li figure figcaption {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		margin-top: max(1.613vw, 5px); //20px;
	}
	#Plan #plan_select ul.imgtxt li p.only {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		padding-left: max(2.016vw, 1px); //25px;
	}
	/* plan_flow */
	#Plan #plan_flow ol li:not(:last-child) {
		margin-bottom: max(4.839vw, 42px); //60px;
	}
	#Plan #plan_flow ol li figure {
		width: max(16.129vw, 140px); //200px;
	}
	#Plan #plan_flow ol li div.text h3 {
		font-size: max(1.94vw, 1.9rem); //2.4rem;
		margin-bottom: max(1.613vw, 5px); //20px;
	}
	#Plan #plan_flow ol li div.text p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	/* 葬祭費補助金制度 */
	#Plan div.seido {
		padding: max(4.839vw, 40px) 0;
	}
	#Plan div.seido .flex.box {
		padding: max(3.226vw, 28px); //40px;
		gap-column: max(3.226vw, 25px); //40px;
	}
	#Plan div.seido .flex.box div.text h3 {
		font-size: max(2.42vw, 2.1rem); //3.0rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Plan #plan_select ul.imgtxt {
		gap: 25px 2%;
	}
	#Plan #plan_select ul.imgtxt li {
		width: 100%;
	}
	#Plan #plan_select ul.imgtxt li figure figcaption {
		color: #000;
		line-height: 1.5;
		font-size: 1.6rem;
	}
	/* plan_setsubi */
	#Plan #plan_setsubi ul.setsubi {
		column-gap: 2%;
	}
	/* plan_flow */
	#Plan #plan_flow ol li {
		align-items: flex-start;
	}
	#Plan #plan_flow ol li div.text p.txt {
		line-height: 1.5;
	}
	/* 葬祭費補助金制度 */
	#Plan div.seido .flex.box figure {
		margin: 0 auto;
	}
	#Plan div.seido .flex.box figure img {
		width: 100%;
	}
	#Plan div.seido .flex.box div.text {
		flex: initial;
		width: 100%;
	}
	#Plan div.seido .flex.box div.text h3 {
		text-align: center;
	}
}

/*--------------------------------------------------------------*/
/* プラン オプション -> 共通 */
/*--------------------------------------------------------------*/
/* ul.options */
ul.options {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 4%;
}
ul.options.mb {
	margin-bottom: 80px;
}
ul.options li {
	text-align: center;
}
ul.options li figure img {
	display: block;
	border-radius: 50%;
	margin: 0 auto 5px auto;
}
ul.options li figure figcaption {
	font-size: 1.6rem;
}
/* 1240 */
@media (max-width: 1240px) {
	/* ul.imgtxt */
	ul.options.mb {
		margin-bottom: max(6.452vw, 56px); //80px;
	}
	ul.options li figcaption {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	ul.options li {
		width: calc(88% / 4);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.options {
		column-gap: 2%;
	}
	ul.options li {
		width: calc(94% / 3);
	}
}


/*--------------------------------------------------------------*/
/* プラン 設備 -> 共通 */
/*--------------------------------------------------------------*/
/* ul.setubis */
ul.setsubi {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 4%;
}
ul.setsubi li {
	text-align: center;
}
ul.setsubi li figure img {
	display: block;
	border-radius: 50%;
	margin: 0 auto 5px auto;
}
ul.setsubi li figcaption {
	font-size: 1.6rem;
}
/* 1240 */
@media (max-width: 1240px) {
	ul.setsubi li figcaption {
		font-size: max(1.07vw, 1.4rem); //1.6rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	ul.setsubi li {
		width: calc(88% / 4);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.setsubi li {
		width: calc(94% / 3);
	}
}

/*--------------------------------------------------------------*/
/* プラン 他のプラン -> 共通 */
/*--------------------------------------------------------------*/
/* article#other_plan */
#other_plan header h2 {
	text-align: center;
	font-size: 3.4rem;
	font-weight: bold;
	margin-bottom: 60px;
}
#other_plan .content2 {
	max-width: 1340px;
}
/* 1240 */
@media (max-width: 1240px) {
	#other_plan header h2 {
		font-size: max(2.74vw, 2.4rem); //3.4rem;
		margin-bottom: max(4.839vw, 27px); //60px;
	}
}

/*--------------------------------------------------------------*/
/* プラン 注意事項 -> 共通 */
/*--------------------------------------------------------------*/
/* div#plan_note */
#plan_note .box {
	padding: 30px 45px;
	border: 3px solid #e00e0e;
}
#plan_note .box h3 {
	font-size: 3.4rem;
	font-weight: bold;
	color: #e00e0e;
	margin-bottom: 10px;
}
#plan_note .box ul {
	list-style: disc;
	margin-left: 20px;
}
#plan_note .box ul li {
	margin-bottom: 10px;
	font-size: 2.0rem;
}
/* 1240 */
@media (max-width: 1240px) {
	#plan_note .box {
		padding: max(2.419vw, 21px) max(3.629vw, 15px); //45px;
		border: 3px solid #e00e0e;
	}
	#plan_note .box h3 {
		font-size: max(2.74vw, 2.4rem); //3.4rem;
	}
	#plan_note .box ul li {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}

/*---------------------------------------------*/
/* プラン 他のプランとの比較 */
/*---------------------------------------------*/
#EtcPlan h1 {
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 60px;
}
#EtcPlan .table_box{
	overflow-x: auto;
	width: 1100px;
	-webkit-overflow-scrolling: touch;
}
#EtcPlan table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
#EtcPlan th,
#EtcPlan td {
	vertical-align: middle;
	padding: 20px;
	border: 1px solid #b4b4b4;
	color: #000;
	text-align: center;
	white-space: nowrap;
}
#EtcPlan th {
	font-weight: bold;
}
#EtcPlan td {
	background: #fff;
}
#EtcPlan .sticky {
	position: sticky;
	top: 0;
	left: 0;
	background: none;
	border-left: none;
	border-right: none;
	z-index: 2;
}
#EtcPlan .sticky::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-left: 1px solid #b4b4b4;
	border-right: 1px solid #b4b4b4;
	background: #f5f3ee;
	z-index: -1;
}
/* ヘッド */
#EtcPlan table tr.hd th {
	padding: 0;
}
#EtcPlan table tr.hd th a {
	display: block;
	height: 100%;
	width: 289px;
	padding: 20px;
	color: #fff;
	transition: .3s;
}
#EtcPlan table tr.hd th a:hover {
	opacity: 0.6;
}
#EtcPlan table tr.hd th a div.ptxt {
	font-size: 2.4rem;
	margin-bottom: 5px;
}
#EtcPlan table tr.hd th a span.active {
	background: #cd342c;
	color: #fff;
	padding: 2px 25px 3px 25px;
}
#EtcPlan table tr.hd th a span.count {
	padding-top: 7px;
	display: block;
}
#EtcPlan table tr.hd th a span.detail::after {
	content: '\f04b';
	font-family: "Font Awesome 5 Free";
	font-size: 1.6rem;
	margin-left: 4px;
}
#EtcPlan table tr.hd th.c_chokusou a,
#EtcPlan table tr.day td.c_chokusou ul.flow2 li,
#EtcPlan table tr.day td.c_chokusou ul.flow2 li {
	background: #7a1e58;
}
#EtcPlan table tr.hd th.c_kasou a,
#EtcPlan table tr.day td.c_kasou ul.flow2 li,
#EtcPlan table tr.day td.c_kasou ul.flow2 li {
	background: #206490;
}
#EtcPlan table tr.hd th.c_oneday a,
#EtcPlan table tr.day td.c_oneday ul.flow2 li,
#EtcPlan table tr.day td.c_oneday ul.flow2 li {
	background: #8b6a0f;
}
#EtcPlan table tr.hd th.c_twoday a,
#EtcPlan table tr.day td.c_twoday ul.flow2 li,
#EtcPlan table tr.day td.c_twoday ul.flow2 li {
	background: #1e6f36;
}
#EtcPlan table tr.hd th.c_eitai a,
#EtcPlan table tr.day td.c_eitai ul.flow2 li,
#EtcPlan table tr.day td.c_eitai ul.flow2 li {
	background: #a71414;
}
#EtcPlan table tr.txt td {
	font-weight: bold;
}
/* プラン内容 */
#EtcPlan table tr:nth-child(5) td p.txt {
	white-space: normal;
}
#EtcPlan table tr td figure {
	text-align: center;
}
#EtcPlan table tr td figure img {
	width: 240px;
}
#EtcPlan table tr td div.natural {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 6px;
}
#EtcPlan table tr td div.natural .num {
	font-size: 2.5rem;
	margin: 0 3px;
}
#EtcPlan table tr td div.wari {
	font-weight: bold;
	color: #cd342c;
	line-height: 1.2;
}
#EtcPlan table tr td div.wari .num {
	font-size: 4.3rem;
}
#EtcPlan table tr td div.zeikomi {
	font-size: 1.6rem;
}
#EtcPlan table tr td div.zeikomi .num {
	font-size: 2.1rem;
	margin: 0 3px;
}
/* 割引価格 */
#EtcPlan table tr.wari td {
	font-weight: bold;
	line-height: 1.4;
}
#EtcPlan table tr.wari td span.color {
	font-size: 2.2rem;
	font-weight: bold;
	color: #cd342c;
}
#EtcPlan table tr.wari td span.color .num {
	font-size: 4.3rem;
}
/* 葬儀日数 */
#EtcPlan table tr.day td {
	font-weight: bold;
}
#EtcPlan table tr.day td ul.flow2 {
	display: flex;
	gap: 0 2%;
	margin-top: 10px;
}
#EtcPlan table tr.day td ul.flow2 li {
	width: calc(96% / 3);
	background: #ea7481;
	padding-top: 3px;
	color: #fff;
}
#EtcPlan table tr.day td ul.flow2 li.off {
	background: #bbb;
}
/* 特徴 */
#EtcPlan table tr.tok td div.toku {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#EtcPlan table tr.tok td div.toku .num {
	font-size: 2.8rem;
	color: #cd342c;
	margin: 0 3px;
}
#EtcPlan table tr.tok td p.txt {
	font-size: 2.0rem;
	font-weight: bold;
	color: #a5761b;
	line-height: 1.4;
}
/* ご安置場所 */
#EtcPlan table tr.anchi td {
	font-weight: bold;
}
/* 左右にスクロール */
#EtcPlan span.note {
	font-size: 1.4rem;
}
/* 閲覧中の色 */
#EtcPlan table.simple tr th.c_simple,
#EtcPlan table.simple tr td.c_simple {
	border-left: 4px solid #7a1e58;
	border-right: 4px solid #7a1e58;
}
#EtcPlan table.simple tr:last-child td.c_simple {
	border-bottom: 4px solid #7a1e58;
}
#EtcPlan table.basic tr th.c_basic,
#EtcPlan table.basic tr td.c_basic {
	border-left: 4px solid #206490;
	border-right: 4px solid #206490;
}
#EtcPlan table.basic tr:last-child td.c_basic {
	border-bottom: 4px solid #206490;
}
#EtcPlan table.plus tr th.c_plus,
#EtcPlan table.plus tr td.c_plus {
	border-left: 4px solid #a71414;
	border-right: 4px solid #a71414;
}
#EtcPlan table.plus tr:last-child td.c_plus {
	border-bottom: 4px solid #a71414;
}
#EtcPlan table.one tr th.c_one,
#EtcPlan table.one tr td.c_one {
	border-left: 4px solid #8b6a0f;
	border-right: 4px solid #8b6a0f;
}
#EtcPlan table.one tr:last-child td.c_one {
	border-bottom: 4px solid #8b6a0f;
}
#EtcPlan table.family tr th.c_family,
#EtcPlan table.family tr td.c_family {
	border-left: 4px solid #1e6f36;
	border-right: 4px solid #1e6f36;
}
#EtcPlan table.family tr:last-child td.c_family {
	border-bottom: 4px solid #1e6f36;
}
/* セットプラン */
#PlanDetail article.hiyou h1 {
	font-size: 3.4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 70px;
}
/* 580 */
@media (max-width: 580px) {
	#EtcPlan h1 {
		font-size: 2.4rem;
		margin-bottom: 35px;
	}
	#EtcPlan .table_box{
		width: 100%;
	}
	#EtcPlan th,
	#EtcPlan td {
		padding: 15px;
	}
	/* ヘッド */
	#EtcPlan table tr.hd th a {
		padding: 15px;
		width: 236px;
	}
	#EtcPlan table tr.hd th a div.ptxt {
		font-size: 2.0rem;
	}
	#EtcPlan table tr.hd th a span.detail::after {
		font-size: 1.4rem;
	}
	#EtcPlan table tr th:nth-child(1) {
		font-size: 1.4rem;
		padding: 10px;
	}
	/* プラン内容 */
	#EtcPlan table tr td figure {
		width: 205px;
	}
	#EtcPlan table tr td div.natural {
		font-size: 1.7rem;
		margin-bottom: 4px;
	}
	#EtcPlan table tr td div.natural .num {
		font-size: 2.2rem;
	}
	#EtcPlan table tr td div.zeikomi {
		font-size: 1.4rem;
	}
	#EtcPlan table tr td div.zeikomi .num {
		font-size: 1.8rem;
	}
	/* 特徴 */
	#EtcPlan table tr.tok td div.toku {
		font-size: 1.8rem;
		margin-bottom: 6px;
	}
	#EtcPlan table tr.tok td div.toku .num {
		font-size: 2.2rem;
	}
	#EtcPlan table tr.tok td p.txt {
		font-size: 1.6rem;
	}
	/* セットプラン */
	#PlanDetail article.hiyou h1 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
}

/*---------------------------------------------*/
/* ホール一覧 */
/*---------------------------------------------*/
#HallAreaPage h3.list_h3 {
	font-size: 3.4rem;
	font-weight: bold;
	color: #fff;
	background: #dd7c32;
	padding: 10px;
	margin: 40px auto 60px auto;
	border-radius: 5px;
	text-align: center;
}
body.is-pc #HallAreaPage h3.list_h3 a:hover {
	color: #fffcdb;
}
#HallAreaPage ul.list_margin_b {
	margin-bottom: 120px;
}
/* 1240 */
@media (max-width: 1240px) {
	#HallAreaPage h3.list_h3 {
		font-size: max(2.27vw, 2.0rem); //3.4rem;
		padding: 10px;
		margin: 40px auto max(4vw, 30px) auto;
	}
}

/*---------------------------------------------*/
/* ホールエリア別一覧 */
/*---------------------------------------------*/
#HallAreaPage {
	margin-bottom: 30px;
}
#HallAreaPage ul.shisetsu {
	display: flex;
	flex-direction: column;
	gap: 60px 0;
}
#HallAreaPage ul.shisetsu li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 5%;
}
#HallAreaPage ul.shisetsu li figure {
	width: 40%;
}
#HallAreaPage ul.shisetsu li figure img {
	aspect-ratio: 480 / 288;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
#HallAreaPage ul.shisetsu li div.text {
	width: 55%;
}
#HallAreaPage ul.shisetsu li div.text table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}
#HallAreaPage ul.shisetsu li div.text table tr:not(:last-child) {
	border: none;
	border-bottom: 1px solid rgba(0,0,0,0.45);
}
#HallAreaPage ul.shisetsu li div.text table tr th,
#HallAreaPage ul.shisetsu li div.text table tr td {
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 2.0rem;
}
#HallAreaPage ul.shisetsu li div.text table tr th {
	color: #dd7c32;
	width: 147px;
}
#HallAreaPage ul.shisetsu li div.text table tr:nth-child(1) td,
#HallAreaPage ul.shisetsu li div.text table tr th {
	font-weight: bold;
}
#HallAreaPage ul.shisetsu li div.text table tr:nth-child(1) td {
	font-size: 2.4rem;
}
/* 1240 */
@media (max-width: 1240px) {
	#HallAreaPage ul.shisetsu li div.text table {
		margin-bottom: max(1.613vw, 0px); //20px;
	}
	#HallAreaPage ul.shisetsu {
		margin: max(6.452vw, 32px) 0 max(12.903vw, 90px);
	}
	#HallAreaPage ul.shisetsu li div.text table tr th,
	#HallAreaPage ul.shisetsu li div.text table tr td {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	#HallAreaPage ul.shisetsu li div.text table tr th {
		width: max(11.855vw, 90px); //147px;
	}
	#HallAreaPage ul.shisetsu li div.text table tr:nth-child(1) td {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
	}
	#HallAreaPage ul.shisetsu li div.text a.btn {
		height: max(3.79vw, 36px); //47px;
		line-height: 1;
	}
}
/* 580 */
@media (max-width: 580px) {
	#HallAreaPage ul.shisetsu li figure {
		width: 100%;
	}
	#HallAreaPage ul.shisetsu li div.text {
		width: 100%;
	}
	#HallAreaPage ul.shisetsu li div.text table tr th,
	#HallAreaPage ul.shisetsu li div.text table tr td {
		padding-top: 11px;
		padding-bottom: 11px;
	}
	#HallAreaPage ul.shisetsu li div.text div.right {
		text-align: center;
	}
}

/*---------------------------------------------*/
/* Slick */
/*---------------------------------------------*/
.slick-slide img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.slick-arrow {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	padding: 0;
	width: 20px;
	height: 38px;
	color: transparent;
	z-index: 1;
	transition: opacity 0.5s;
	z-index: 1;
}
.slick-arrow:hover {
	opacity: 0.7;
}
/* 共通設定 */
.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
	width: 26px;
	height: 26px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
}
.slick-next:hover::after,
.slick-prev:hover::after {
	border-top: 4px solid #ddd;
	border-right: 4px solid #ddd;
}
.slick-prev,
.slick-next {
	background: none;
	border: none;
}
.slick-prev:hover,
.slick-next:hover {
	background: none;
	border: none;
}
/* next */
.slick-next {
	right: 26px;
}
.slick-next::after {
	right: 4px;
	transform: rotate(45deg);
}
/* prev */
.slick-prev {
	left: 26px;
}
.slick-prev::after {
	left: 4px;
	transform: rotate(-135deg);
}
/* dots */
.slick-dots {
	bottom: -30px;
}
.slick-dots li {
	width: 10px;
}
.slick-dots li button::before {
	color: #000;
}
.slick-dots li button:before {
	font-size: 8px;
	color: #67aa35;
}
.slick-dots li.slick-active button:before {
	opacity: .75;
	color: #67aa35;
}
@media screen and (max-width: 767px) {
	.slick-next::after,
	.slick-prev::after {
		width: 10px;
		height: 10px;
	}
	.slick-next {
		right: 8px;
	}
	.slick-prev {
		left: 8px;
	}
	.slick-next::after {
		right: 2px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.slick-slide {
		aspect-ratio: 10 / 5.4;
		width: 100%;
		overflow: hidden;
	}
}

/*---------------------------------------------*/
/* 葬儀場詳細ページ -> Slick Slider */
/*---------------------------------------------*/
#hall_slideArea {
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
#hall_slideArea div.full img {
	width: 100%;
}
/* hall_slider */
.hall_slider {
	margin-bottom: 10px;
}
.hall_slider .slick-slide {
	height: 680px;
	aspect-ratio: 10 / 4;
	width: 100%;
	overflow: hidden;
}
.hall_shumb {
	margin-bottom: 60px;
}
.hall_shumb .slick-list .slick-track .slick-slide {
	aspect-ratio: 10 / 6;
	margin: 0 5px;
	cursor: pointer;
	transition: .3s;
}
.hall_shumb .slick-list .slick-track .slick-slide:hover {
	opacity: 0.7;
}
.hall_shumb .slick-arrow {
	top: 50%;
	bottom: initial;
}
/* 580 */
@media (max-width: 580px) {
	/* hall_slider */
	.hall_slider .slick-slide {
		height: 240px;
	}
	.hall_shumb {
		margin-bottom: 30px;
	}
}

/*---------------------------------------------*/
/* 葬儀場詳細ページ */
/*---------------------------------------------*/
#hall_header {
	margin-bottom: 120px;
}
#hall_header header {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 25px 0;
	padding: 40px 0 20px 0;
}
#hall_header header div.hall_address {
	width: 55%;
}
#hall_header header div.hall_address div.title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 20px;
	margin-bottom: 10px;
}
#hall_header header div.hall_address div.title h1 {
	display: inline-block;
	text-align: left;
	line-height: 1.4;
	font-size: 3.8rem;
	color: #393939;
	margin: 0;
}
#hall_header header div.hall_address div.title h3 {
	display: inline-block;
	padding: 5px 15px;
	background: #dd7c32;
	color: #fff;
}
#hall_header header div.hall_address address {
	font-size: 2.0rem;
}
#hall_header header div.c_tel {
	width: 45%;
}
/* 1240 */
@media (max-width: 1240px) {
	#hall_header {
		margin-bottom: max(9.677vw, 40px); //120px;
	}
	#hall_header header div.hall_address div.title h1 {
		font-size: max(3.06vw, 2.4rem); //3.8rem;
	}
	#hall_header header div.hall_address div.title h3 {
		padding: max(0.333vw, 3px) max(1vw, 10px);
	}
	#hall_header header div.hall_address address {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	#hall_header header div.hall_address h1 {
		text-align: center;
	}
	#hall_header header div.hall_address {
		width: 100%;
		text-align: center;
	}
	#hall_header header div.c_tel {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	#hall_header header div.hall_address div.title {
		flex-direction: column;
	}
	#hall_header header div.hall_address div.title h1 {
		display: block;
	}
	#hall_header header div.hall_address div.title h3 {
		
	}
}

/*---------------------------------------------*/
/* 施設詳細 #HallDetail */
/*---------------------------------------------*/
#HallDetail h2 {
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.3;
	padding-left: 15px;
	margin-bottom: 60px;
	color: #282828;
	border-left: 6px solid #dd7c32;
}
/* div.hall_info */
#HallDetail div.hall_info {
	margin-bottom: 80px;
}
/* tokuchou */
#HallDetail div.hall_info div.tokuchou {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 20px;
	margin-bottom: 20px;
}
#HallDetail div.hall_info div.tokuchou figure {
	max-width: 170px;
	width: 24%;
}
#HallDetail div.hall_info div.tokuchou p.txt {
	flex: 1;
	background: #fffbf0;
	padding: 20px 30px;
	border-radius: 30px;
}
/* table */
#HallDetail div.hall_info table tr th {
	white-space: nowrap;
	font-size: 2.1rem;
	width: 25%;
}
#HallDetail div.hall_info table tr td {
	font-size: 2.1rem;
	padding-left: 25px;
}
/* annnai */
#HallDetail div.hall_info div.annnai {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 20px;
	margin-top: 20px;
}
#HallDetail div.hall_info div.annnai figure {
	max-width: 170px;
	width: 24%;
}
#HallDetail div.hall_info div.annnai p.txt {
	flex: 1;
	background: #fffbf0;
	padding: 20px 30px;
	border-radius: 30px;
}
#HallDetail span#gmaphlink {
	font-size: 90%;
	display: inline-block;
	margin-left: 10px;
	color: blue;
	transition: .3s ease;
	cursor: pointer;
}
body.is-pc #HallDetail span#gmaphlink:hover {
	color: red;
}
/* setsubi */
#HallDetail div.setsubi {
	margin-bottom: 80px;
}
#HallDetail div.setsubi ul.setsubi {
	gap: 40px 7%;
	padding-left: 20px;
}
/* staff */
#HallDetail div.hall_staff {
	margin-bottom: 80px;
}
#HallDetail div.hall_staff ul li {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 5%;
	margin-bottom: 80px;
}
#HallDetail div.hall_staff ul li figure {
	width: 166px;
}
#HallDetail div.hall_staff ul li figure img {
	border-radius: 50%;
}
#HallDetail div.hall_staff ul li div.text {
	flex: 1;
}
#HallDetail div.hall_staff ul li div.text .name {
	color: #dd7c32;
	font-size: 3.0rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#HallDetail div.hall_staff div.text p.txt {
	font-size: 2.0rem;
}
/* map */
#HallDetail .map iframe {
	width: 100%;
	margin-bottom: 20px;
}
#HallDetail ul.access li {
	background: #f5f3ee;
	padding: 20px 30px;
	margin-bottom: 20px;
}
#HallDetail ul.access li h5 {
	font-size: 2.2rem;
	font-weight: bold;
	color: #ea7481;
	margin-bottom: 10px;
}
/* hall_option */
#HallDetail div.hall_option {
	margin-bottom: 80px;
}
#HallDetail div.hall_option {
	display: flex;
	align-content: stretch;
	flex-wrap: wrap;
}
#HallDetail div.hall_option dl {
	display: flex;
	align-content: stretch;
	flex-wrap: wrap;
	width: 50%;
}
#HallDetail div.hall_option dl dt {
	width: 65%;
	background: #ded6ed;
	line-height: 1.4;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 16px;
	border-bottom: 1px solid #fbf9f7;
}
#HallDetail div.hall_option dl dd {
	width: 35%;
	background: #fbf9f7;
	font-size: 2.4rem;
	padding: 16px;
	text-align: center;
	border-bottom: 1px solid #fff;
}
/* .photo_text */
#HallDetail .photo_text {
	margin-bottom: 120px;
}
#HallDetail .photo_text .flex {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 5%;
	margin-bottom: 60px;
}
#HallDetail .photo_text .flex:last-of-type {
	margin-bottom: 0;
}
#HallDetail .photo_text figure {
	flex: 6;
}
#HallDetail .photo_text div.text {
	flex: 9;
}
#HallDetail .photo_text div.text h4 {
	font-size: 3.0rem;
	font-weight: bold;
	color: #a5761b;
	margin-bottom: 30px;
}
/* #Anchi */
#Anchi div.check-box {
	background: #fff9f2;
	position: relative;
	padding: 40px;
	margin: -30px auto 0 auto;
	max-width: 1000px;
	text-align: center;
}
#Anchi div.check-box::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 1px solid #fd8200;
}
#Anchi div.check-box p.catch {
	text-align: center;
	font-size: 2.0rem;
	margin-bottom: 20px;
	color: #fd8200;
}
#Anchi div.check-box ul {
	display: inline-flex;
	flex-direction: column;
	gap: 20px 0;
}
#Anchi div.check-box ul li {
	padding-left: 34px;
	background: url(../images/ico-check.png) 0 4px no-repeat;
	background-size: 20px auto;
	text-align: left;
	line-height: 1.6;
}
/* 1240 */
@media (max-width: 1240px) {
	#HallDetail h2 {
		font-size: max(2.74vw, 2.2rem); //3.4rem;
		padding-left: 10px;
		margin-bottom: max(4.839vw, 22px); //60px;
	}
	/* div.hall_info */
	#HallDetail div.hall_info {
		margin-bottom: max(4.839vw, 55px); //60px;
	}
	/* tokuchou */
	#HallDetail div.hall_info div.tokuchou {
		padding: 0 5px;
		margin-bottom: 20px;
	}
	#HallDetail div.hall_info div.tokuchou p.txt {
		background: #fff;
		padding: 0;
		border-radius: 0;
	}
	/* table */
	#HallDetail div.hall_info table tr th {
		font-size: max(1.4vw, 1.6rem); //2.1rem;
	}
	#HallDetail div.hall_info table tr td {
		font-size: max(1.4vw, 1.6rem); //2.1rem;
		padding-left: max(1.667vw, 15px); //25px;
	}
	/* annnai */
	#HallDetail div.hall_info div.annnai {
		padding: 0 5px;
		margin-bottom: 20px;
	}
	#HallDetail div.hall_info div.annnai p.txt {
		background: #fff;
		padding: 0;
		border-radius: 0;
	}
	/* setsubi */
	#HallDetail div.setsubi {
		margin-bottom: max(4.839vw, 55px); //60px;
	}
	#HallDetail div.setsubi ul.setsubi {
		padding-left: max(1.333vw, 0px); //20px;
	}
	/* staff */
	#HallDetail div.hall_staff {
		margin-bottom: max(5.333vw, 60px); //80px;
	}
	#HallDetail div.hall_staff ul li {
		margin-bottom: max(5.333vw, 50px); //80px;
	}
	#HallDetail div.hall_staff ul li figure {
		width: max(11.067vw, 150px); //166px;
	}
	#HallDetail div.hall_staff ul li div.text .name {
		font-size: max(2vw, 2.0rem); //3.0rem;
		margin-bottom: max(1vw, 11px); //15px;
	}
	#HallDetail div.hall_staff div.text p.txt {
		font-size: max(1.33vw, 1.6rem); //2.0rem;
	}
	/* map */
	#HallDetail ul.access li {
		padding: 20px max(2vw, 18px); //30px;
	}
	#HallDetail ul.access li h5 {
		font-size: max(1.47vw, 1.7rem); //2.2rem;
		margin-bottom: 10px;
	}
	/* hall_option */
	#HallDetail div.hall_option {
		margin-bottom: max(6.452vw, 42px); //80px;
	}
	#HallDetail div.hall_option dl dt {
		font-size: max(1.94vw, 1.6rem); //2.4rem;
		padding: max(1.29vw, 11px); //16px;
		line-height: 1.2;
	}
	#HallDetail div.hall_option dl dd {
		font-size: max(1.94vw, 1.6rem); //2.4rem;
		padding: max(1.29vw, 11px); //16px
	}
	/* map */
	#HallDetail ul.access li h5 {
		font-size: max(1.77vw, 1.9rem); //2.2rem;
	}
	/* .photo_text */
	#HallDetail .photo_text {
		margin-bottom: max(9.677vw, 60px); //120px;
	}
	#HallDetail .photo_text .flex {
		margin-bottom: max(4.839vw, 40px); //60px;
	}
	#HallDetail .photo_text div.text h4 {
		font-size: max(2.42vw, 2.0rem); //3.0rem;
		margin-bottom: max(2.419vw, 20px); //30px;
	}
	/* #Anchi */
	#Anchi div.check-box {
		padding: max(3.226vw, 28px); //40px;
		margin: max(-2.419vw, -15px) auto 0 auto;
	}
	#Anchi div.check-box p.catch {
		font-size: max(1.61vw, 1.7rem); //2.0rem;
		margin-bottom: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#HallDetail div.hall_info div.tokuchou figure {
		display: none;
	}
	#HallDetail div.hall_info div.annnai figure {
		display: none;
	}
	/* table */
	#HallDetail div.hall_info table tr th {
		display: block;
		width: 100%;
		text-align: left;
		padding: 10px 15px;
	}
	#HallDetail div.hall_info table tr td {
		display: block;
		width: 100%;
		padding: 15px 15px;
	}
	/* setsubi */
	#HallDetail div.setsubi ul.setsubi {
		justify-content: space-between;
		gap: 40px 3%;
		padding-left: 0px; //20px;
	}
	/* staff */
	#HallDetail div.hall_staff ul li {
		flex-direction: column;
	}
	#HallDetail div.hall_staff ul li figure {
		margin: 0 auto;
	}
	#HallDetail div.hall_staff ul li div.text .name {
		text-align: center;
	}
	/* hall_option */
	#HallDetail div.hall_option dl {
		width: 100%;
	}
	#HallDetail div.hall_option dl dt,
	#HallDetail div.hall_option dl dd {
		padding: 11px 11px 6px 11px;
	}
	/* .photo_text */
	#HallDetail .photo_text ul li  figure {
		flex: 0 0 100%;
	}
	#HallDetail .photo_text ul li  div.text {
		flex: 0 0 100%;
	}
	/* #Anchi */
	#Anchi header.type01 p.txt {
		text-align: left;
	}
	#Anchi.pd_std {
		padding-bottom: 20px;
	}
}

/*---------------------------------------------*/
/* 選ばれる理由 #About */
/*---------------------------------------------*/
#About header.type01 h1 {
	font-size: 3.8rem;
	color: initial;
}
#About header.type01 {
	margin-bottom: 80px;
}
#About figure img {
	display: block;
}
#About p {
	font-size: 2.0rem;
}
/* #chiiki */
#About #chiiki ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 3%;
	margin-bottom: 60px;
}
#About #chiiki ul li {
	width: calc(97% / 2);
}
#About #chiiki ul li img {
	display: block;
}
#About #chiiki p.txt {
	margin-bottom: 70px;
}
/* #anshin_plan */
#About #anshin_plan {
	background: #f5f3ee;
}
#About #anshin_plan figure {
	margin-bottom: 40px;
}
#About #anshin_plan figure img {
	width: 100%;
}
#About #anshin_plan p.txt {
	margin-bottom: 60px;
}
/* #kibou */
#About #kibou figure {
	margin-bottom: 40px;
}
/* #year */
#About #year {
	background: #f5f3ee;
}
#About #year figure {
	margin-bottom: 40px;
}
#About #year p.txt {
	margin-bottom: 60px;
}
/* #support */
#About #support figure {
	margin-bottom: 40px;
}
#About #support p.txt {
	margin-bottom: 60px;
}
#About #support ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 2%;
}
#About #support ul li {
	font-size: 2.4rem;
	line-height: 1.4;
	padding: 10px 24px;
	background: #dd7c32;
	color: #fff;
	border-radius: 4px;
}
#About #support ul li.etc {
	background: #fff;
	color: #393939;
}
/* 1240 */
@media (max-width: 1240px) {
	#About header.type01 {
		margin-bottom: max(6.452vw, 40px); //80px;
	}
	#About header.type01 h1 {
		font-size: max(3.06vw, 2.7rem); //3.8rem;
	}
	#About p {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
	#About header.type01 {
		margin-bottom: max(6.452vw, 40px); //80px;
	}
	/* #chiiki */
	#About #chiiki ul {
		row-gap: max(1.613vw, 13px); //20px;
		margin-bottom: max(4.839vw, 40px); //60px;
	}
	#About #chiiki p.txt {
		margin-bottom: max(5.645vw, 40px); //70px;
	}
	/* #anshin_plan */
	#About #anshin_plan p.txt {
		margin-bottom: max(4.839vw, 40px); //60px;
	}
	/* #year */
	#About #year p.txt {
		margin-bottom: max(4.839vw, 40px); //60px;
	}
	/* #support */
	#About #support p.txt {
		margin-bottom: max(4.839vw, 40px); //60px;
	}
	#About #support ul {
		row-gap: max(2.016vw, 5px); //25px;
	}
	#About #support ul li {
		font-size: max(1.94vw, 1.6rem); //2.4rem;
		padding: max(0.806vw, 7px) max(1.935vw, 17px);
	}
}
/* 580 */
@media (max-width: 580px) {
	#About header.type01 h1 {
		line-height: 1.6;
	}
	/* #chiiki */
	#About #chiiki ul {
		column-gap: 3%;
	}
	#About #chiiki ul li {
		width: calc(97% / 2);
	}
}

/*---------------------------------------------*/
/* 初めての方へ #Guide -> 共通 header.guide */
/*---------------------------------------------*/
header.guide {
	text-align: center;
	line-height: 0;
	margin-bottom: 60px;
}
header.guide .inb {
	display: inline-flex;
	align-items: flex-end;
}
header.guide .inb .text {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	display: flex;
	align-items: center;
	padding-left: 30px;
}
header.guide .inb .img {
	height: 100%;
	vertical-align: bottom;
}
header.guide .inb .img img {
	height: 140px;
}
#Guide p.child_head {
	text-align: center;
	margin-bottom: 60px;
}
#Guide h2 {
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	border-bottom: 1px solid #aaa;
	color: #000;
	padding-bottom: 7px;
	margin-bottom: 40px;
}
/* 1240 */
@media (max-width: 1240px) {
	header.guide {
		margin-bottom: max(4.839vw, 46px); //60px;
	}
	header.guide .inb .text {
		font-size: max(2.42vw, 1.8rem); //3.0rem;
		padding-left: max(2.419vw, 18px); //30px;
	}
	header.guide .inb .img img {
		height: max(11.29vw, 96px); //140px;
	}
	#Guide p.child_head {
		margin-bottom: max(4.839vw, 50px); //60px;
	}
	#Guide h2 {
		font-size: max(2.42vw, 2.4rem); //3.0rem;
		padding-bottom: max(0.565vw, 5px); //7px;
		margin-bottom: max(3.226vw, 28px); //40px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Guide p.child_head {
		text-align: left;
	}
}

/*---------------------------------------------*/
/* 初めての方へ #Guide -> FirstContent */
/*---------------------------------------------*/
#Guide p.headtext {
	font-weight: bold;
	text-align: center;
	margin-bottom: 100px;
}
#Guide ul.index {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2.5%;
	margin-bottom: 140px;
}
#Guide ul.index li {
	width: calc(97.5% / 2);
}
#Guide ul.index li a {
	background: #fff;
	border: 2px solid #dd7c32;
	border-radius: 10px;
	display: block;
	padding: 15px 20px 15px 115px;
	position: relative;
	overflow: hidden;
}
#Guide ul.index li a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: -20px;
	border-left: 60px solid transparent;
	border-bottom: 60px solid #dd7c32;
	transition: .3s ease;
}
body.is-pc #Guide ul.index li a:hover::after {
	right: -10px;
}
#Guide ul.index li a img {
	position: absolute;
	bottom: -10px;
	left: 20px;
	height: 100%;
}
#Guide ul.index li:nth-child(2) a img { /* 2個目だけサイズ調整 */
	height: 95%;
}
#Guide ul.index li a div.text {
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.3;
}
#Guide ul.index li a div.text span.small {
	font-size: 2.4rem;
	font-weight: bold;
}
/* 1240 */
@media (max-width: 1240px) {
	#Guide p.headtext {
		margin-bottom: max(8.065vw, 40px); //100px;
	}
	#Guide ul.index {
		margin-bottom: max(11.29vw, 60px); //140px;
	}
	#Guide ul.index li a {
		border-radius: max(0.806vw, 7px); //10px;
		padding: 15px max(1.613vw, 10px) 15px max(9.274vw, 60px);;
	}
	#Guide ul.index li a img {
		left: max(1.613vw, 10px); //20px;
	}
	#Guide ul.index li a div.text {
		font-size: max(2.42vw, 1.6rem); //3.0rem;
	}
	#Guide ul.index li a div.text span.small {
		font-size: max(1.94vw, 1.3rem); //2.4rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Guide p.headtext {
		text-align: left;
	}
	#Guide ul.index li a {
		padding: 12px 5px 12px 46px;
	}
	#Guide ul.index li a::after {
		right: -40px;
	}
	#Guide ul.index li a div.text br {
		display: none;
	}
	#Guide ul.index li a div.text {
		font-size: 1.4rem;
	}
	#Guide ul.index li a div.text span.small {
		font-size: 1.4rem;
		color: #dd7c32;
	}
	#Guide ul.index li a img {
		bottom: -10px;
		left: 4px;
		height: auto!important;
		width: 36px!important;
	}
	#Guide ul.index li:nth-child(2) a img { /* 2個目だけサイズ調整 */
		width: 47px!important;
		left: 2px;
	}
}

/*---------------------------------------------*/
/* 初めての方へ #Guide -> ul.flow */
/*---------------------------------------------*/
#Guide ul.flow {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 2%;
	margin-bottom: 80px;
}
#Guide ul.flow li {
	width: calc(92% / 5);
}
#Guide ul.flow li h3 {
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}
#Guide ul.flow li img {
	width: 100%;
}
#Guide ul.flow li p.txt {
	font-size: 1.8rem;
	line-height: 1.7;
}
/* 1240 */
@media (max-width: 1240px) {
	#Guide ul.flow {
		margin-bottom: max(6.452vw, 40px); //80px;
	}
	#Guide ul.flow li h3 {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
	}
	#Guide ul.flow li p.txt {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Guide ul.flow {
		column-gap: 3%;
	}
	#Guide ul.flow li {
		width: calc(97% / 2);
	}
}

/*---------------------------------------------*/
/* 初めての方へ #Guide -> 準備 */
/*---------------------------------------------*/
#Guide ul.col3 {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 3%;
	margin-bottom: 60px;
}
#Guide ul.col3 li {
	width: calc(94% / 3);
}
#Guide ul.col3 li p.txt {
	font-size: 1.8rem;
	line-height: 1.7;
	margin-bottom: 40px;
}
#Guide ul.col3 li figure figcaption {
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	color: #68aa36;
	margin-bottom: 7px;
}
/* 1240 */
@media (max-width: 1240px) {
	#Guide ul.col3 {
		gap: 40px 3%;
		margin-bottom: max(4.839vw, 42px); //60px;
	}
	#Guide ul.col3 li p.txt {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
		margin-bottom: max(3.226vw, 20px); //40px;
	}
	#Guide ul.col3 li figure figcaption {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
		margin-bottom: max(0.565vw, 5px); //7px;
	}
}
/* 740 */
@media (max-width: 740px) {
	#Guide ul.col3 li {
		max-width: 480px;
		width: 100%;
		margin: 0 auto;
	}
}

/*---------------------------------------------*/
/* 永代供養のご案内 */
/*---------------------------------------------*/
#Eitai {
	position: relative;
}
#Eitai::after {
	content: '';
	display: block;
	width: 100%;
	height: 300px;
	background: #f3f2ec;
	position: absolute;
	top: 210px;
	left: 0;
	z-index: -1;
}
#Eitai #reien {
	background: #f3f2ec;
}
#Eitai #reien .flex {
	gap: 18px 5%;
	margin-bottom: 80px;
}
#Eitai #reien .flex div.text {
	width: 47.5%;
}
#Eitai #reien .flex figure {
	width: 47.5%;
}
#Eitai #reien header.type01 {
	text-align: left;
}
#Eitai #reien address {
	margin-bottom: 30px;
}
#Eitai #reien ul.photos {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 2%;
}
#Eitai #reien ul.photos li {
	width: calc(94% / 4);
	text-align: center;
}
#Eitai #reien ul.photos li figure img {
	display: block;
	margin-bottom: 5px;
}
#Eitai #reien ul.photos li figure figcaption {
	font-weight: bold;
}
/* 1240 */
@media (max-width: 1240px) {
	#Eitai::after {
		top: max(16.935vw, 147px); //210px;
	}
	#Eitai #reien .flex {
		margin-bottom: max(6.452vw, 56px); //80px;
	}
}
/* 834 */
@media (max-width: 834px) {
	#Eitai #reien .flex div.text {
		width: 100%;
	}
	#Eitai #reien .flex figure {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Eitai #reien header.type01 h1 {
		font-size: 2.6rem;
		text-align: center;
	}
	#Eitai #reien ul.photos {
		gap: 20px 3%;
	}
	#Eitai #reien ul.photos li {
		width: calc(97% / 2);
	}
	#Eitai #reien address {
		text-align: center;
	}
	#Eitai #reien div.left {
		text-align: center;
	}
}

/*---------------------------------------------*/
/* 永代供養のご案内 -> 永代供養合祀墓 */
/*---------------------------------------------*/
#Eitai #gousibo .flex {
	gap: 40px 5%;
	margin-bottom: 70px;
}
#Eitai #gousibo .flex div.text {
	width: 47.5%;
}
#Eitai #gousibo .flex div.text header.type01 {
	text-align: left;
	margin-bottom: 0;
}
#Eitai #gousibo .flex figure {
	width: 47.5%;
}
/* gousibo_price */
.gousibo_price {
	border: 3px solid #f2ccaf;
	padding: 60px 60px 80px 60px;
}
.gousibo_price h2 {
	font-size: 3.8rem;
	font-weight: bold;
	color: #dd7c32;
	text-align: center;
	margin-bottom: 20px;
}
.gousibo_price h2 + p.txt {
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 60px;
}
.gousibo_price ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 5%;
	margin-bottom: 70px;
}
.gousibo_price ul li {
	width: calc(95% / 2);
	text-align: center;
}
.gousibo_price ul li h3 {
	background: #dd7c32;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.gousibo_price ul li div.g_price {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px 3%;
}
/* 税抜き */
span.nuki {
	color: #cd342c;
	line-height: 1;
}
span.nuki span.num {
	font-size: 6.2rem;
	font-weight: bold;
}
span.nuki span.yen {
	font-size: 2.8rem;
	font-weight: bold;
}
span.nuki span.zei {
	font-size: 1.6rem;
}
/* 税込み */
span.komi {
	line-height: 1;
}
span.komi span.num {
	font-size: 3.4rem;
	font-weight: bold;
}
span.komi span.yen {
	font-size: 2.0rem;
	font-weight: bold;
}
span.komi span.zei {
	font-size: 1.6rem;
}
/* note */
div.eitai_note {
	line-height: 1.4;
}
div.eitai_note span {
	display: inline-block;
	font-size: 2.0rem;
	white-space: nowrap;
}
/* 1240 */
@media (max-width: 1240px) {
	#Eitai #gousibo .flex {
		row-gap: max(3.226vw, 25px); //40px;
		margin-bottom: max(5.645vw, 30px); //70px;
	}
	/* gousibo_price */
	.gousibo_price {
		padding: max(4.839vw, 20px) max(4.839vw, 20px) max(6.452vw, 30px) max(4.839vw, 20px);
	}
	.gousibo_price h2 {
		font-size: max(3.06vw, 2.2rem); //3.8rem;
		margin-bottom: max(1.613vw, 14px); //20px;
	}
	.gousibo_price h2 + p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
		margin-bottom: max(4.839vw, 30px); //60px;
	}
	.gousibo_price ul {
		margin-bottom: max(5.645vw, 40px); //70px;
	}
	.gousibo_price ul li h3 {
		font-size: max(2.1vw, 1.8rem); //2.6rem;
		margin-bottom: max(1.613vw, 14px); //20px;
	}
	/* 税抜き */
	span.nuki span.num {
		font-size: max(5vw, 4.0rem); //6.2rem;
	}
	span.nuki span.yen {
		font-size: max(2.26vw, 2rem); //2.8rem;
	}
	span.nuki span.zei {
		font-size: max(1.29vw, 1.2rem); //1.6rem;
	}
	/* 税込み */
	span.komi span.num {
		font-size: max(2.74vw, 2.4rem); //3.4rem;
	}
	span.komi span.yen {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
	span.komi span.zei {
		font-size: max(1.29vw, 1.2rem); //1.6rem;
	}
	/* note */
	div.eitai_note span {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}
/* 834 */
@media (max-width: 834px) {
	#Eitai #gousibo .flex div.text {
		width: 100%;
	}
	#Eitai #gousibo .flex figure {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Eitai #gousibo header.type01 h1 {
		text-align: center;
	}
	.gousibo_price h2 + p.txt {
		text-align: left;
		line-height: 1.7;
	}
	/* gousibo_price */
	.gousibo_price ul li {
		width: 100%;
	}
	.gousibo_price .link a.btn {
		font-size: 1.5rem;
		padding: 0 10px;
		width: 95%;
	}
	/* note */
	div.eitai_note span.bloc {
		display: block;
		line-height: 1.6;
	}
}

/*---------------------------------------------*/
/* 永代供養のご案内 -> 生前契約プラン */
/*---------------------------------------------*/
#Eitai #pre_plan {
	border-top: 1px solid #ccc;
}
#Eitai #pre_plan .flex {
	align-items: center;
	gap: 30px 5%;
	margin-bottom: 30px;
}
#Eitai #pre_plan .flex figure {
	width: 47.5%;
}
#Eitai #pre_plan .flex div.text {
	width: 47.5%;
}
#Eitai #pre_plan .flex div.text ul.ul1 {
	display: flex;
	flex-direction: column;
	gap: 25px 0;
}
#Eitai #pre_plan .flex div.text ul.ul1 li {
	line-height: 1.8;
}
#Eitai #pre_plan .flex div.text ul.ul1 li span.big {
	display: block;
	color: #dd7c32;
	font-size: 2.5rem;
}
#Eitai #pre_plan ul.ul2 {
	display: flex;
	flex-direction: column;
	gap: 20px 0;
	margin-bottom: 40px;
}
#Eitai #pre_plan ul.ul2 li {
	padding: 30px 40px;
	background: #fcf2ea;
}
#Eitai #pre_plan ul.ul2 li h3 {
	font-size: 2.8rem;
	color: #dd7c32;
	margin-bottom: 7px;
}
#Eitai #pre_plan ul.ul2 li p.txt {
	font-size: 2.0rem;
}
/* 1240 */
@media (max-width: 1240px) {
	#Eitai #pre_plan .flex div.text ul.ul1 li span.big {
		font-size: max(2.02vw, 2.0rem); //2.5rem;
	}
	#Eitai #pre_plan ul.ul2 {
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	#Eitai #pre_plan ul.ul2 li {
		padding: max(2.419vw, 21px) max(3.226vw, 28px); //40px;
	}
	#Eitai #pre_plan ul.ul2 li h3 {
		font-size: max(2.26vw, 1.8rem); //2.8rem;
		margin-bottom: max(0.565vw, 1.8px); //7px;
	}
	#Eitai #pre_plan ul.ul2 li p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}
/* 834 */
@media (max-width: 834px) {
	#Eitai #pre_plan .flex {
		margin-bottom: max(4.796vw, 28px); //40px;
	}
	#Eitai #pre_plan .flex figure {
		width: 100%;
	}
	#Eitai #pre_plan .flex div.text {
		width: 100%;
	}
	#Eitai #pre_plan .flex div.text ul.ul1 li span.big {
		font-size: max(3.12vw, 1.8rem); //2.6rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Eitai #pre_plan ul.ul2 li {
		padding: 20px 25px; //40px;
	}
	#Eitai #pre_plan ul.ul2 li h3 {
		line-height: 1.6;
		margin-bottom: 10px; //7px;
	}
}

/*---------------------------------------------*/
/* 永代供養のご案内 -> 生前契約プランの費用 */
/*---------------------------------------------*/
.pre_plan_price {
	border: 3px solid #f2ccaf;
	padding: 80px 140px 0 140px;
}
.pre_plan_price h2 {
	font-size: 4.5rem;
	font-weight: bold;
	color: #dd7c32;
	text-align: center;
	margin-bottom: 40px;
}
.pre_plan_price .price_flex {
	display: flex;
	justify-content: center;
	align-items: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px 25px;
	margin-bottom: 60px;
}
.pre_plan_price .re_flex {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 25px;
}
.pre_plan_price .re_flex h3 {
	background: #dd7c32;
	color: #fff;
	font-size: 3.4rem;
	font-weight: bold;
	padding: 0 30px;
}
.pre_plan_price div.eitai_note {
	margin-bottom: 40px;
}
.pre_plan_price .bottom_flex {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 0 5%;
}
.pre_plan_price .bottom_flex.reserve {
	flex-direction: row-reverse;
}
.pre_plan_price .bottom_flex figure {
	width: 30%;
}
.pre_plan_price .bottom_flex figure img {
	display: block;
}
.pre_plan_price .bottom_flex div.text {
	width: 65%;
}
.pre_plan_price .bottom_flex div.text h4 {
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 30px;
}
.pre_plan_price .bottom_flex div.text ul {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 30px;
}
.pre_plan_price .bottom_flex div.text ul li {
	background: #dd7c32;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	padding: 0 15px;
	min-width: 196px;
}
.pre_plan_price div.c_tel div.r1 {
	justify-content: flex-start;
}
/* 1600 */
@media (max-width: 1600px) {
	.pre_plan_price {
		padding: max(5vw, 30px) max(8.75vw, 20px) 0 max(8.75vw, 20px);
	}
}
/* 1240 */
@media (max-width: 1240px) {
	.pre_plan_price {
		padding: max(3.875vw, 30px) max(6.25vw, 20px) 0 max(6.25vw, 20px);
	}
	.pre_plan_price h2 {
		font-size: max(3.63vw, 2.6rem); //4.5rem;
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	.pre_plan_price .price_flex {
		gap: 20px max(2.016vw, 15px); //25px;
		margin-bottom: max(4.839vw, 42px); //60px;
	}
	.pre_plan_price .re_flex {
		row-gap: max(2.016vw, 15px);
	}
	.pre_plan_price .re_flex h3 {
		font-size: max(2.74vw, 2.2rem); //3.4rem;
		padding: 0 max(2.419vw, 15px); //30px;
	}
	.pre_plan_price div.eitai_note {
		margin-bottom: max(3.226vw, 28px); //40px;
	}
	.pre_plan_price .bottom_flex div.text h4 {
		font-size: max(2.74vw, 2.0rem); //3.4rem;
		margin-bottom: max(2.419vw, 21px); //30px;
	}
	.pre_plan_price .bottom_flex div.text ul {
		gap: max(1.21vw, 10px); //15px;
		margin-bottom: max(2.419vw, 21px); //30px;
	}
	.pre_plan_price .bottom_flex div.text ul li {
		font-size: max(1.77vw, 1.5rem); //2.2rem;
		padding: 0 max(1.21vw, 11px); //15px;
		min-width: max(15.806vw, 137px); //196px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Eitai #pre_plan {
		padding-bottom: 20px;
	}
	.pre_plan_price {
		padding: 30px 20px 0 20px;
	}
	.pre_plan_price .bottom_flex figure {
		width: 100%;
	}
	.pre_plan_price .bottom_flex figure img {
		max-width: 150px;
		margin: 0 auto;
	}
	.pre_plan_price .bottom_flex div.text {
		width: 100%;
	}
	.pre_plan_price .bottom_flex div.text h4 {
		text-align: center;
	}
	.pre_plan_price .bottom_flex div.text ul {
		justify-content: center;
	}
	/* c_tel */
	.pre_plan_price div.c_tel.big div.r1 img {
		max-height: 21px;
		margin-right: 3px;
	}
	.pre_plan_price div.c_tel.big div.r1 a {
		font-size: 2.8rem;
	}
	.pre_plan_price div.c_tel.big div.r1 span.free_txt {
		font-size: 1.1rem;
		height: 22px;
		margin: 0 0 0 8px;
	}
}

/*---------------------------------------------*/
/* アフターサービス */
/*---------------------------------------------*/
#After p.headtext {
	font-weight: bold;
	text-align: center;
	margin-bottom: 100px;
}
/* 1240 */
@media (max-width: 1240px) {
	#After p.headtext {
		margin-bottom: max(8.065vw, 40px); //100px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#After p.headtext {
		text-align: left;
	}
}

/*---------------------------------------------*/
/* アフターサービス -> 葬儀後の流れ */
/*---------------------------------------------*/
#AfterFlow ul {
	display: flex;
	flex-direction: column;
	gap: 30px 0;
}
#AfterFlow ul li {
	border: 1px solid #282828;
}
#AfterFlow ul li dl {
	display: flex;
	align-content: stretch;
	flex-wrap: wrap;
}
#AfterFlow ul li dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 15%;
	font-size: 2.8rem;
	font-weight: bold;
}
#AfterFlow ul li dl dt span.note {
	display: block;
	font-size: 2.1rem;
}
#AfterFlow ul li dl dd {
	width: 85%;
	padding: 30px;
	font-size: 2.0rem;
	line-height: 1.8;
}
/* 1240 */
@media (max-width: 1240px) {
	#AfterFlow ul li dl dt {
		font-size: max(2.26vw, 2rem); //2.8rem;
	}
	#AfterFlow ul li dl dt span.note {
		font-size: max(1.69vw, 1.5rem); //2.1rem;
	}
	#AfterFlow ul li dl dd {
		padding: max(2.419vw, 20px); //30px;
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#AfterFlow ul li dl dt {
		width: 100%;
		padding-top: 20px;
	}
	#AfterFlow ul li dl dd {
		width: 100%;
		padding-top: 15px;
	}
}

/*---------------------------------------------*/
/* アフターサービス -> 海洋散骨 */
/*---------------------------------------------*/
#Sankotsu .flex.row1 {
	display: flex;
	flex-wrap: wrap;
	gap: 17px 5%;
	margin-bottom: 80px;
}
#Sankotsu .flex.row1 div.text {
	flex: 1;
}
#Sankotsu .flex.row1 div.text p.txt {
	text-align: left;
	margin-bottom: 30px;
}
#Sankotsu .flex.row1 div.text h4 {
	font-size: 2.3rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#Sankotsu .flex.row1 div.text div.c_tel .r1 {
	justify-content: flex-start;
}
#Sankotsu .flex.row1 figure {
	flex: 1;
}
/* .sankotsu_flow */
#Sankotsu div.sankotsu_flow {
	display: flex;
	align-content: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 20px 0;
	margin-bottom: 140px;
}
#Sankotsu div.sankotsu_flow div.step {
	font-size: 2.4rem;
	color: #012a6d;
	background: #f4f8fb;
	flex: 1;
	border: 1px solid #012a6d;
	border-radius: 8px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	padding: 10px 0 80px 0;
}
#Sankotsu div.sankotsu_flow div.step span.text {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.4;
}
#Sankotsu div.sankotsu_flow div.arrow {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
#Sankotsu div.sankotsu_flow div.arrow img {
	max-width: 30px;
	min-width: 12px;
	width: 20%;
}
/* 1240 */
@media (max-width: 1240px) {
	#Sankotsu .flex.row1 {
		margin-bottom: max(6.452vw, 56px); //80px;
	}
	#Sankotsu .flex.row1 div.text p.txt {
		margin-bottom: max(2.419vw, 25px); //30px;
	}
	#Sankotsu .flex.row1 div.text h4 {
		font-size: max(1.85vw, 1.8rem); //2.3rem;
		margin-bottom: max(0.806vw, 7px); //10px;
	}
	/* .sankotsu_flow */
	#Sankotsu div.sankotsu_flow {
		margin-bottom: max(11.29vw, 80px); //140px;
	}
	#Sankotsu div.sankotsu_flow div.step {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
		flex: 8;
	}
	#Sankotsu div.sankotsu_flow div.arrow {
		flex: 6;
	}
}
/* 1000 */
@media (max-width: 1000px) {
	#Sankotsu div.sankotsu_flow div.step {
		flex: 9;
	}
	#Sankotsu div.sankotsu_flow div.arrow {
		flex: 5;
	}
}
/* 834 */
@media (max-width: 834px) {
	#Sankotsu div.sankotsu_flow div.step {
		flex: 10;
	}
	#Sankotsu div.sankotsu_flow div.arrow {
		flex: 5;
	}
}
/* 768 */
@media (max-width: 768px) {
	#Sankotsu .flex.row1 div.text {
		flex: 0 0 100%;
	}
	#Sankotsu .flex.row1 figure {
		flex: 0 0 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* .sankotsu_flow */
	#Sankotsu div.sankotsu_flow {
		align-items: center;
		flex-direction: column;
		gap: 10px 0;
	}
	#Sankotsu div.sankotsu_flow div.step {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 10px;
		flex: initial;
		flex-direction: initial;
	}
	#Sankotsu div.sankotsu_flow div.step span.num {
		width: 27px;
		flex: initial;
	}
	#Sankotsu div.sankotsu_flow div.step span.text {
		flex: initial;
		-ms-writing-mode: initial;
		writing-mode: initial;
		line-height: 1.3;
	}
	#Sankotsu div.sankotsu_flow div.arrow {
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#Sankotsu div.sankotsu_flow div.arrow img {
		transform: rotate(90deg);
	}
}

/*---------------------------------------------*/
/* アフターサービス -> 価格 */
/*---------------------------------------------*/
ul.sankotsu_price {
	display: flex;
	flex-direction: column;
	gap: 40px 0;
	margin-bottom: 60px;
}
ul.sankotsu_price li {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 3%;
	border: 1px solid #012a6d;
	border-radius: 6px;
	padding: 25px;
}
ul.sankotsu_price li figure {
	max-width: 400px;
	min-width: 245px;
	width: 35%;
	margin: 0 auto;
}
ul.sankotsu_price li figure img {
	display: block;
}
ul.sankotsu_price li div.text {
	flex: 1;
}
ul.sankotsu_price li div.text div.flex {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 5%;
}
ul.sankotsu_price li div.text div.flex div.wrap {
	width: 47.5%;
}
ul.sankotsu_price li div.text h3 {
	background: #012a6d;
	color: #fff;
	line-height: 1.4;
	font-size: 2.8rem;
	font-weight: bold;
	padding: 5px 15px;
	margin-bottom: 20px;
}
ul.sankotsu_price li div.text h4 {
	color: #012a6d;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 1.4;
}
ul.sankotsu_price li div.text p.txt {
	margin-bottom: 10px;
}
ul.sankotsu_price li div.text div.price_box {
	display: flex;
	align-items: center;
	gap: 5px 0;
}
ul.sankotsu_price li div.text div.made {
	width: 100%;
	font-weight: bold;
}
ul.sankotsu_price li div.text div.price_box .best_rate span.txt {
	display: inline-block;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1;
	background: #cd342c;
	color: #fff;
	margin-right: 30px;
	padding: 8px;
	position: relative;
	white-space: nowrap;
}
ul.sankotsu_price li div.text div.price_box .best_rate span.txt::after {
	content: '';
	background-color: #cd342c;
	width: 16px;
	height: 100%;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	display: block;
	position: absolute;
	top: 0;
	right: -15.7px;
}
ul.sankotsu_price li div.text div.price_box .plan_price {
	line-height: 1;
	white-space: nowrap;
}
ul.sankotsu_price li div.text div.price_box .plan_price span.num {
	color: #cd342c;
	font-size: 6.4rem;
	font-weight: bold;
	line-height: 1;
}
ul.sankotsu_price li div.text div.price_box .plan_price span.yen {
	font-size: 3.0rem;
	font-weight: bold;
	color: #cd342c;
}
ul.sankotsu_price li div.text div.price_box .plan_price span.zei {
	font-size: 2.0rem;
	color: #cd342c;
	margin-left: 5px;
	white-space: nowrap;
}
ul.sankotsu_price li div.text div.price_box .plan_zei {
	line-height: 1;
	padding-top: 20px;
}
ul.sankotsu_price li div.text div.price_box .plan_zei span.num {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 15px;
}
ul.sankotsu_price li div.text div.price_box .plan_zei span.yen_zei {
	font-size: 2.0rem;
	margin-left: 2px;
}
ul.sankotsu_price li div.text div.price_box .plan_zei span.yen_zei span.zei {
	font-size: 2.0rem;
	margin-left: 2px;
	white-space: nowrap;
}
#Sankotsu dl {
	background: #f4f1ea;
	padding: 30px 40px;
	font-weight: bold;
}
#Sankotsu dl dt {
	color: #012a6d;
	margin-bottom: 12px;
	font-size: 2.4rem;
}
#Sankotsu dl dd {
	font-size: 2.4rem;
}
/* 1425 */
@media (max-width: 1425px) {
	ul.sankotsu_price li div.text div.flex div.wrap {
		width: 100%;
	}
}
/* 1240 */
@media (max-width: 1240px) {
	ul.sankotsu_price {
		row-gap: max(3.226vw, 28px); //40px;
		margin-bottom: max(4.839vw, 30px); //60px;
	}
	ul.sankotsu_price li {
		padding: max(2.016vw, 18px); //25px;
	}
	ul.sankotsu_price li div.text h3 {
		font-size: max(2.26vw, 1.9rem); //2.8rem;
		padding: 5px max(1.21vw, 11px); //15px;
		margin-bottom: max(1.613vw, 14px); //20px;
	}
	ul.sankotsu_price li div.text h4 {
		font-size: max(1.61vw, 1.7rem); //2.0rem;
	}
	ul.sankotsu_price li div.text p.txt {
		margin-bottom: 10px;
	}
	/* price_box */
	ul.sankotsu_price li div.text div.price_box .best_rate span.txt {
		font-size: max(1.37vw, 1.2rem); //1.7rem;
		margin-right: max(2.419vw, 21px); //30px;
		padding: max(0.645vw, 6px); //8px;
	}
	ul.sankotsu_price li div.text div.price_box .plan_price span.num {
		font-size: max(5.16vw, 3.5rem); //6.4rem;
	}
	ul.sankotsu_price li div.text div.price_box .plan_price span.yen {
		font-size: max(2.42vw, 2.1rem); //3.0rem;
	}
	ul.sankotsu_price li div.text div.price_box .plan_price span.zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		margin-left: 5px;
	}
	ul.sankotsu_price li div.text div.price_box .plan_zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
		padding-top: max(1.613vw, 14px); //20px;
	}
	ul.sankotsu_price li div.text div.price_box .plan_zei span.num {
		font-size: max(2.58vw, 2.2rem); //3.2rem;
		margin-left: max(1.21vw, 11px); //15px;
	}
	ul.sankotsu_price li div.text div.price_box .plan_zei span.yen_zei {
		margin-left: max(0.161vw, 1px); //2px;
	}
	ul.sankotsu_price li div.text div.price_box .plan_zei span.yen_zei span.zei {
		font-size: max(1.61vw, 1.4rem); //2.0rem;
	}
	#Sankotsu dl {
		padding: max(2.419vw, 20px) max(3.226vw, 20px); //40px;
	}
	#Sankotsu dl dt {
		margin-bottom: max(0.968vw, 8px); //12px;
		font-size: max(1.94vw, 1.6rem); //2.4rem;
	}
	#Sankotsu dl dd {
		font-size: max(1.94vw, 1.6rem); //2.4rem;
	}
}
/* 768 */
@media (max-width: 768px) {
	ul.sankotsu_price li figure {
		max-width: 400px;
		min-width: 245px;
		width: 100%;
	}
	ul.sankotsu_price li div.text {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Sankotsu dl dd {
		line-height: 1.6;
	}
}

/*---------------------------------------------*/
/* アフターサービス -> 遺品整理・特殊清掃 */
/*---------------------------------------------*/
#Ihin div.flex {
	gap: 20px 5%;
}
#Ihin div.flex div.text {
	flex: 1;
}
#Ihin div.flex div.text p.txt {
	margin-bottom: 40px;
}
#Ihin div.flex figure {
	flex: 1;
}
#Ihin div.flex figure img {
	display: block;
}
#Ihin a.btn_link {
	margin: 0 auto;
}
/* 768 */
@media (max-width: 768px) {
	#Ihin div.flex div.text,
	#Ihin div.flex figure {
		flex: 0 0 100%;
	}
}


/*---------------------------------------------*/
/* アフターサービス -> 相続相談無料 */
/*---------------------------------------------*/
#Souzoku div.flex {
	gap: 20px 5%;
}
#Souzoku div.flex div.text {
	flex: 1;
}
#Souzoku div.flex div.text p.txt {
	margin-bottom: 40px;
}
#Souzoku div.flex figure {
	flex: 1;
}
#Souzoku div.flex figure img {
	display: block;
}
#Souzoku a.btn_link {
	margin: 0 auto;
}
/* 768 */
@media (max-width: 768px) {
	#Souzoku div.flex div.text,
	#Souzoku div.flex figure {
		flex: 0 0 100%;
	}
}

/*---------------------------------------------*/
/* お客様の声ページ */
/*---------------------------------------------*/
#sub_visual.voice_page {
	background: url(../images/sub_header02.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
#Voice ul.voice_list {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 3%;
}
#Voice ul.voice_list li a {
	display: block;
}
#Voice ul.voice_list li a span.txt {
	font-size: 2.0rem;
}
#Voice ul.voice_list li {
	width: calc(91% / 4);
	text-align: center;
	position: relative;
	line-height: 1.6;
}
#Voice ul.voice_list li img {
	transition: transform 0.6s;
	border: 3px solid #ccc;
	width: 100%;
}
#Voice ul.voice_list li img:nth-child(1) {
	transform: none;
}
#Voice ul.voice_list li img:nth-child(2) {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transform: rotateY(180deg);
}
body.is-pc #Voice ul.voice_list li:not(.no-ura):hover img:nth-child(1) {
	transform: rotateY(180deg);
}
body.is-pc #Voice ul.voice_list li:not(.no-ura):hover img:nth-child(2) {
	transform: rotateY(360deg);
}
#Voice ul.voice_list li span.txt {
	display: block;
}
/* 1240 */
@media (max-width: 1240px) {
	#Voice ul.voice_list {
		row-gap: max(4.839vw, 30px); //60px
	}
	#Voice ul.voice_list li a span.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	#Voice ul.voice_list li {
		width: calc(94% / 3);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Voice ul.voice_list li {
		width: calc(97% / 2);
	}
}

/*---------------------------------------------*/
/* お客様の声 詳細 */
/*---------------------------------------------*/
#VoiceDetail .wrap {
	padding-top: 60px;
	padding-bottom: 40px;
}
#VoiceDetail h2 {
	position: relative;
	padding: 15px 20px;
	color: #fff;
	background: #dd7c32;
	margin-bottom: 30px;
	font-weight: bold;
}
#VoiceDetail h2:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 30px;
	border: 15px solid transparent;
	border-top: 15px solid #dd7c32;
	width: 0;
	height: 0;
}
#VoiceDetail ul {
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#VoiceDetail ul li {
	width: 50%;
}
#VoiceDetail ul li img {
	width: 100%;
}
#VoiceDetail div.rebox h3 span.txt {
	display: inline-block;
	line-height: 1.2;
	background: #dd7c32;
	color: #fff;
	padding: 10px 15px 7px 15px;
}
#VoiceDetail div.rebox p.retxt {
	border: solid 2px #dd7c32;
	padding: 20px;
	font-size: 1.6rem;
}
/* 580 */
@media (max-width: 580px) {
	#VoiceDetail .wrap {
		padding-top: 30px;
	}
	#VoiceDetail h2 {
		padding: 10px 15px;
		margin-bottom: 15px;
	}
	#VoiceDetail ul {
		margin-bottom: 20px;
	}
	#VoiceDetail ul li {
		width: 100%;
	}
	#VoiceDetail div.rebox h3 span.txt {
		font-size: 1.7rem;
	}
	#VoiceDetail div.rebox p.retxt {
		padding: 15px 20px;
	}
}

/*--------------------------------------------------------------*/
/* faq */
/*--------------------------------------------------------------*/
#Faq div.wrap {
	padding-top: 60px;
	padding-bottom: 40px;
}
.qa_lists dl:last-child {
	margin-bottom: 0;
}
.qa_lists dl {
	background: #fff;
	margin-bottom: 16px;
}
.qa_lists dl dt {
	font-size: 1.8rem;
	font-weight: bold;
	width: 100%;
	line-height: 1.2;
	padding: 32px 70px 28px 25px;
	position: relative;
	cursor: pointer;
}
.qa_lists dl dt:hover {
	background: #fbfbfb;
}
.qa_lists dl dt.is-open .text,
.qa_lists dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists dl dt span.qq {
	font-size: 3.0rem;
	color: #1e367a;
	position: absolute;
	top: 21px;
	left: 30px;
}
.qa_lists dl dt span.q_txt {
	margin-left: 50px;
	display: block;
	line-height: 1.4;
}
.qa_lists dl dd {
	padding: 32px 70px 28px 75px;
	background: #fdfdfd;
	position: relative;
}
.qa_lists dl dd span.aa {
	font-size: 3.0rem;
	font-weight: bold;
	color: #ea7280;
	position: absolute;
	top: 15px;
	left: 30px;
}
.qa_lists dl dd p.txt {
	font-size: 1.8rem;
}
.qa_lists dl dt.is-close + dd {
	display: none;
}
.qa_lists dl dt.is-open + dd {
	display: block;
}
.qa_lists dl dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #1e367a;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
.qa_lists dl dt.is-close:not(.is-open)::after,
.qa_lists dl dt.is-open::after {
	transform: rotate(-90deg);
}
.qa_lists dl dt.is-close.is-open::after {
	transform: rotate(-180deg);
}
.qa_lists dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #1e367a;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
.qa_lists dl dt.is-close:not(.is-open)::before,
.qa_lists dl dt.is-open::before {
	transform: rotate(180deg);
}
.qa_lists dl dt.is-close.is-open::before {
	transform: rotate(0deg);
}
/* 580 */
@media (max-width: 580px) {
	.qa_lists dl {
		margin-bottom: 6px;
	}
	.qa_lists dl dt {
		padding: 13px 33px 13px 0px;
	}
	.qa_lists dl dt::after {
		right: 0;
	}
	.qa_lists dl dt::before {
		right: 0;
	}
	.qa_lists dl dt span.qq {
		font-size: 2.6rem;
		top: 10px;
		left: 0px;
	}
	.qa_lists dl dd {
		padding: 13px 33px 13px 0px;
	}
	.qa_lists dl dt span.q_txt {
		margin-left: 35px;
	}
	.qa_lists dl dd span.aa {
		font-size: 2.6rem;
		top: 2px;
		left: 1px;
	}
	.qa_lists dl dd p.txt {
		font-size: 1.6rem;
		margin-left: 35px;
	}
}

/*---------------------------------------------*/
/* 会社概要 */
/*---------------------------------------------*/
#Company h2 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 40px;
}
#Company h2 span {
	display: inline-block;
	padding-bottom: 6px;
	border-bottom: 3px solid #f08354;
}
#Company table {
	width: 100%;
	text-align: center;
	border-collapse: collapse;
	border-spacing: 0;
}
#Company table.first {
	margin-bottom: 80px;
}
#Company table th {
	width: 25%;
	padding: 20px;
	background: #dd7c32;
	color: #fff;
	border: solid 1px #dfdfdf;
}
#Company table tr:not(:last-child) th {
	border-bottom: solid 1px #fff;
}
#Company table td {
	padding: 20px 20px 20px 30px;
	border: solid 1px #dfdfdf;
	text-align: left;
}
/* 1240 */
@media (max-width: 1240px) {
	#Company h2 {
		font-size: max(1.94vw, 1.7rem); //2.4rem;
		margin-bottom: max(3.226vw, 30px); //40px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Company table {
		border-bottom: solid 1px #dfdfdf;
	}
	#Company table th {
		display: block;
		width: 100%;
		font-weight: bold;
		padding: 5px 20px 3px 20px;
		text-align: left;
		border-bottom: none;
	}
	#Company table tr:not(:last-child) th {
		border-bottom: none;
	}
	#Company table td {
		display: block;
		padding: 20px 20px 20px 20px;
		border-bottom: none;
	}
}

/*--------------------------------------------------------------*/
/* お知らせヘッド */
/*--------------------------------------------------------------*/
#sub_visual.news_page {
	background: url(../images/sub_header03.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}

/*--------------------------------------------------------------*/
/* body.blog お知らせ一覧 */
/*--------------------------------------------------------------*/
body.blog header#sub_visual,
body.single header#sub_visual,
body.archive header#sub_visual {
	margin-bottom: 30px;
}
body.blog,
body.single,
body.archive {
	line-height: 1.4;
}
body.blog .col2,
body.single .col2,
body.archive .col2 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 0 20px;
}
/* main */
body.blog .col2 div.main *
body.single .col2 div.main *
body.archive .col2 div.main * {
	line-height: 1!important;
}
body.blog .col2 div.main,
body.single .col2 div.main,
body.archive .col2 div.main {
	width: 70%;
}
body.blog .col2 div.main ul.post_list > li,
body.archive .col2 div.main ul.post_list > li {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 30px;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
body.blog .col2 div.main ul.post_list > li a,
body.archive .col2 div.main ul.post_list > li a {
	display: block;
	height: 100%;
}
body.blog .col2 div.main ul.post_list > li figure,
body.archive .col2 div.main ul.post_list > li figure {
	aspect-ratio: 1 / 1;
	max-width: 250px;
	height: 100%;
	width: 33%;
	margin-right: 27px;
}
body.blog .col2 div.main ul.post_list > li figure img,
body.archive .col2 div.main ul.post_list > li figure img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}
body.blog .col2 div.main ul.post_list > li div.text,
body.archive .col2 div.main ul.post_list > li div.text {
	flex: 1;
}
body.blog .col2 div.main ul.post_list > li div.text time,
body.single .col2 div.main time,
body.archive .col2 div.main ul.post_list > li div.text time {
	font-size: 1.4rem;
	display: block;
}
body.blog .col2 div.main ul.post_list > li div.text ul.tags li,
body.single .col2 div.main ul.tags li,
body.archive .col2 div.main ul.post_list > li div.text ul.tags li {
	display: inline-block;
	margin: 0 10px 12px 0;
}
body.blog .col2 div.main ul.post_list > li div.text ul.tags li a,
body.single .col2 div.main ul.tags li a,
body.archive .col2 div.main ul.post_list > li div.text ul.tags li a {
	display: inline-block;
	font-size: 1.2rem;
	background: #23ac38;
	color: #fff;
	padding: 2px 15px 2px 15px;
	border-radius: 10px;
	transition: .2s;
}
body.blog.is-pc .col2 div.main ul.post_list > li div.text ul.tags li a:hover,
body.single.is-pc .col2 div.main ul.tags li a:hover,
body.archive.is-pc .col2 div.main ul.post_list > li div.text ul.tags li a:hover {
	background: #cd342c;
}
body.blog .col2 div.main ul.post_list > li div.text h2,
body.archive .col2 div.main ul.post_list > li div.text h2 {
	font-size: 2.0rem;
	font-weight: bold;
	color: #dd7c32;
	margin-bottom: 8px;
}
body.blog .col2 div.main ul.post_list > li div.text h2 + p.txt,
body.archive .col2 div.main ul.post_list > li div.text h2 + p.txt {
	margin-bottom: 11px;
	font-size: 1.6rem;
}
body.blog .col2 div.main ul.post_list > li div.text .btn_link.more,
body.archive .col2 div.main ul.post_list > li div.text .btn_link.more {
	margin: 0 0 0 auto;
	border-radius: 20px;
	max-width: 220px;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* sidebar */
body.blog .col2 aside#sidebar,
body.single .col2 aside#sidebar,
body.archive .col2 aside#sidebar {
	width: 25%;
}
body.blog .col2 aside#sidebar h3,
body.single .col2 aside#sidebar h3,
body.archive .col2 aside#sidebar h3 {
	position: relative;
	color: #dd7c32;
	font-size: 2.2rem;
	padding-bottom: 8px;
}
body.blog .col2 aside#sidebar h3::after,
body.single .col2 aside#sidebar h3::after,
body.archive .col2 aside#sidebar h3::after {
	content: '';
	width: 40px;
	border-bottom: 2px solid #e17975;
	position: absolute;
	bottom: 0;
	left: 0;
}
body.blog .col2 aside#sidebar h3 + ul,
body.single .col2 aside#sidebar h3 + ul,
body.archive .col2 aside#sidebar h3 + ul {
	margin-bottom: 55px;
}
body.blog .col2 aside#sidebar h3 + ul li,
body.single .col2 aside#sidebar h3 + ul li,
body.archive .col2 aside#sidebar h3 + ul li {
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
	font-size: 1.8rem;
}
/* 1240 */
@media (max-width: 1240px) {
	body.blog .col2 aside#sidebar h3,
	body.single .col2 aside#sidebar h3,
	body.archive .col2 aside#sidebar h3 {
		font-size: max(1.77vw, 2.0rem); //2.2rem;
	}
	body.blog .col2 aside#sidebar h3 + ul,
	body.single .col2 aside#sidebar h3 + ul,
	body.archive .col2 aside#sidebar h3 + ul {
		margin-bottom: max(4.435vw, 40px); //55px;
	}
	body.blog .col2 aside#sidebar h3 + ul li,
	body.single .col2 aside#sidebar h3 + ul li,
	body.archive .col2 aside#sidebar h3 + ul li {
		font-size: max(1.45vw, 1.6rem); //1.8rem;
	}
}
/* 768 */
@media (max-width: 768px) {
	/* main */
	body.blog .col2 div.main,
	body.single .col2 div.main,
	body.archive .col2 div.main {
		width: 100%;
		margin-bottom: 40px;
	}
	/* sidebar */
	body.blog .col2 aside#sidebar,
	body.single .col2 aside#sidebar,
	body.archive .col2 aside#sidebar {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* ul.post_list */
	body.blog .col2 div.main ul.post_list > li,
	body.archive .col2 div.main ul.post_list > li {
		display: block;
	}
	body.blog .col2 div.main ul.post_list > li figure,
	body.archive .col2 div.main ul.post_list > li figure {
		max-width: 100%;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	body.blog .col2 div.main ul.post_list > li div.text time,
	body.single .col2 div.main time,
	body.archive .col2 div.main ul.post_list > li div.text time {
		margin-bottom: 5px;
	}
	body.blog .col2 div.main ul.post_list > li figure img,
	body.archive .col2 div.main ul.post_list > li figure img {
		width: 100%;
		object-fit: cover;
	}
	body.blog .col2 div.main ul.post_list > li div.text,
	body.archive .col2 div.main ul.post_list > li div.text {
		width: 100%;
	}
	body.blog .col2 div.main ul.post_list > li div.text .btn_link.more,
	body.archive .col2 div.main ul.post_list > li div.text .btn_link.more {
		margin: 0 auto;
	}
	/* col2 */
	body.blog .col2,
	body.single .col2,
	body.archive .col2 {
		padding: 20px 20px 0 20px;
	}
	body.blog .col2 div.main ul.post_list > li div.text h2 + p.txt,
	body.archive .col2 div.main ul.post_list > li div.text h2 + p.txt {
		font-size: 1.5rem;
		margin-bottom: 10px;
	}
}

/* single */
body.single section#page_parent article.post-wrap {
	padding: 0;
}
article.post-wrap header {
	margin-bottom: 30px;
}
article.post-wrap header h1 {
	font-size: 2.8rem;
	color: #dd7c32;
	margin-top: 10px;
	margin-bottom: 10px;
}
article.post-wrap header figure {
	margin-bottom: 20px;
	/*height: 300px;*/
}
article.post-wrap header figure img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
article.post-wrap div.entry {
	border: 1px solid #ccc;
	padding: 30px 30px 20px 30px;
	background: #fff;
}
article.post-wrap div.entry p {
	font-size: 1.8rem;
	margin-bottom: 15px;
}
article.post-wrap div.entry figure {
	line-height: 1;
	margin-bottom: 20px;
}
article.post-wrap div.entry figure figcaption {
	padding: 7px 5px;
	margin-top: -3px;
	background: #fbfbfb;
	line-height: 1.3;
	font-size: 1.4rem;
}
/* h1～h6 */
article.post-wrap div.entry h1 {
	font-size: 2.8rem;
	font-weight: bold;
	background: #fffcf3;
	border-left: 5px solid #dd7c32;
	padding: 9px 5px 5px 12px;
	margin-top: 35px;
	margin-bottom: 25px;
}
article.post-wrap div.entry h2 {
	font-size: 2.8rem;
	font-weight: bold;
	background: #fffcf3;
	border-left: 5px solid #dd7c32;
	padding: 6px 3px 3px 10px;
	margin-top: 35px;
	margin-bottom: 25px;
}
article.post-wrap div.entry h3 {
	font-size: 2.6rem;
	font-weight: bold;
	background: #fffcf3;
	padding: 9px 5px 5px 12px;
	margin-top: 35px;
	margin-bottom: 25px;
	border-bottom: 2px solid #dd7c32;
}
article.post-wrap div.entry h4 {
	font-size: 2.6rem;
	font-weight: bold;
	margin-top: 35px;
	margin-bottom: 25px;
	padding: 5px;
	border-bottom: 2px solid #dd7c32;
}
article.post-wrap div.entry h5 {
	font-size: 2.6rem;
	font-weight: bold;
	margin-top: 35px;
	margin-bottom: 25px;
	padding: 5px;
	border-bottom: 2px solid #666;
}
article.post-wrap div.entry h6 {
	font-size: 2.6rem;
	font-weight: bold;
	font-weight: bold;
	margin-top: 35px;
	margin-bottom: 25px;
	padding: 5px;
}
article.post-wrap div.entry ul {
	list-style-type: disc;
	margin-left: 20px;
	margin-top: 20px;
	margin-bottom: 15px;
}
article.post-wrap div.entry ul li {
	font-size: 1.6rem;
}
/* blockquote */
article.post-wrap div.entry blockquote {
	position: relative;
	padding: 35px 15px 10px 15px;
	box-sizing: border-box;
	font-style: italic;
	background: #fffcf3;
	color: #777777;
	border-left: 4px solid #dd7c32;
}
article.post-wrap div.entry blockquote::before{
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 3px;
	content: "“";
	font-family: sans-serif;
	color: #dd7c32;
	font-size: 90px;
	line-height: 1;
}
article.post-wrap div.entry blockquote p {
	padding: 0;
	margin: 7px 0;
	line-height: 1.7;
}
article.post-wrap div.entry blockquote cite {
	display: block;
	text-align: right;
	color: #888888;
	font-size: 0.9em;
}
article.post-wrap a.btn_link {
	font-size: 1.6rem;
	margin: 40px auto;
}
/* hr */
article.post-wrap div.entry hr {
	border-top: none;
	border-bottom: 1px dotted #dcdcdc;
	margin: 30px 0;
}
/* wp-block-columns */
.wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
/* wp-block-button */
.wp-block-button {
	display: inline-block;
	margin: 10px;
}
.wp-block-button .wp-block-button__link {
	display: block;
	position: relative;
	max-width: 200px;
	width: 100%;
	text-align: center;
	margin: 20px;
	padding: 10px;
	color: #fff;
	background: #dd7c32;
	border: none;
	font-size: 1.6rem;
	transition: 0.3s all;
}
.wp-block-button .wp-block-button__link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Ionicons";
	content: '\f488';
	font-size: 1.4rem;
	transition: 0.3s all;
}
body.is-pc .wp-block-button .wp-block-button__link:hover {
	background: #dd7c32;
	color: #fff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
}
body.is-pc .wp-block-button .wp-block-button__link:hover::after {
	right: 10px;
}
/* table */
article.post-wrap div.entry table {
	width: 100%;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
article.post-wrap div.entry table th {
	color: #fff;
	background: #708392;
	text-align: center;
}
article.post-wrap div.entry table th,
article.post-wrap div.entry table td {
	padding: 15px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 1.6rem;
}
article.post-wrap div.entry table.page_navi {
	margin-top: 30px;
	width: 100%;
	background: #fff;
	border: none;
}
article.post-wrap div.entry table.page_navi th,
article.post-wrap div.entry table.page_navi td {
	border: none;
	width: calc(100%/3);
	text-align: center;
}
/* gallery */
article.post-wrap div.entry ul.blocks-gallery-grid {
	list-style-type: none;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
/* a.btn_link.news_list */
a.btn_link.news_list {
	width: 100%;
	padding: 12px 12px 10px 12px;
	border-radius: 20px;
	max-width: 300px;
}
/* 1240 */
@media (max-width: 1240px) {
	article.post-wrap header h1 {
		font-size: max(2.26vw, 2.2rem); //2.8rem;
	}
	article.post-wrap a.btn_link {
		font-size: max(1.29vw, 1.4rem); //1.6rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#PostPage #Blog {
		padding-bottom: 30;
	}
	article.post-wrap div.entry {
		padding: 15px 10px;
	}
	article.post-wrap header h1 {
		font-size: 2.2rem;
	}
	article.post-wrap div.entry p {
		font-size: 1.6rem;
	}
	/* h1～h6 */
	article.post-wrap div.entry h1 {
		font-size: 2.2rem;
	}
	article.post-wrap div.entry h2 {
		font-size: 2.2rem;
	}
	article.post-wrap div.entry h3 {
		font-size: 2.0rem;
	}
	article.post-wrap div.entry h4 {
		font-size: 2.0rem;
	}
	article.post-wrap div.entry h5 {
		font-size: 2.0rem;
	}
	article.post-wrap div.entry h6 {
		font-size: 2.0rem;
	}
	article.post-wrap div.entry ul li {
		font-size: 1.4rem;
	}
	article.post-wrap div.entry table th,
	article.post-wrap div.entry table td {
		font-size: 1.4rem;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ */
/*--------------------------------------------------------------*/
#Contact {
	padding-bottom: 30px;
}
#Contact .content {
	max-width: 900px;
}
#ContactPage span.note {
	color: red;
}
.mw_wp_form span.note,
.mw_wp_form_send_error {
	color: red;
}
.mw_wp_form span.error {
	margin-top: 3px;
	font-size: 1.6rem;
}
/* 個人情報保護方針 */
section.privacy {
	padding: 30px 0 60px 0;
}
section.privacy .scroll {
	border: 1px solid #ccc;
	margin: 0 auto 5px auto;
	padding: 20px;
	max-width: 825px;
	width: 100%;
	height: 250px;
	overflow-y: scroll;
	background: #f9f9f9;
}
section.privacy .scroll header h1 {
	font-weight: bold!important;
	font-size: 2.0rem!important;
	margin-top: 0;
	margin-bottom: 10px!important;
	color: initial!important;
}
section.privacy .scroll header p {
	margin-bottom: 20px;
	font-size: 1.6rem;
	line-height: 1.6;
}
section.privacy .scroll dl dt {
	font-size: 1.7rem;
	margin-bottom: 7px;
}
section.privacy .scroll dl dd {
	font-size: 1.6rem;
	margin-bottom: 25px;
	line-height: 1.5;
}
section.privacy .scroll dl dd ul {
	list-style-type: disc;
	margin-left: 20px;
}
section.privacy .scroll dl dd ul li {
	font-size: 1.4rem;
}
/* 1240 */
@media (max-width: 1240px) {
	/* 個人情報保護方針 */
	section.privacy {
		padding: 30px 0 max(4.839vw, 42px) 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.privacy .scroll header h1 {
		font-size: 1.8rem;
	}
	section.privacy .scroll header p {
		font-size: 1.5rem;
	}
	section.privacy .scroll dl dt {
		font-size: 1.6rem;
	}
	section.privacy .scroll dl dd {
		font-size: 1.5rem;
	}
}
/* フォーム */
form span.hissu {
	position: absolute;
	top: 16px;
	right: 10px;
	display: inline-block;
	padding: 4px 5px;
	background: #cb1c17;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.4;
	border-radius: 10px;
	text-box: trim-both cap alphabetic;
}
form span.ninni {
	position: absolute;
	top: 16px;
	right: 10px;
	display: inline-block;
	padding: 4px 5px;
	background: #969696;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.4;
	border-radius: 10px;
	text-box: trim-both cap alphabetic;
}
form table th {
	width: 230px;
	white-space: nowrap;
	padding-right: 30px;
	text-align: left;
	padding: 7px 55px 20px 0;
	vertical-align: top;
	position: relative;
}
form table td {
	padding-left: 20px;
	padding-bottom: 20px;
}
form table td span.mwform-tel-field,
form table td span.mwform-zip-field {
	display: flex;
	align-items: center;
}
form table td span.mwform-checkbox-field {
	white-space: nowrap;
}
.mw_wp_form .horizontal-item {
	margin-left: 0!important;
	margin-right: 10px;
}
form table td textarea {
	width: 100%;
	height: 200px;
}
form input[type=text],
form input[type=email],
form textarea {
	padding: 7px 12px;
	width: 100%;
}
form input[type=text],
form input[type=email] {
	width: 100%;
}
form input.call {
	width: 120px;
}
form .mwform-zip-field input,
form .mwform-tel-field input {
	margin: 0 5px;
}
form .mwform-tel-field input:first-child {
	margin: 0 5px 0 0;
}
/* btn */
button.btn {
	display: flex;
	font-size: 1.8rem;
	background: #dd7c32;
	box-shadow: 0 5px 0 #7f7f7f;
	border-radius: 28px;
	color: #fff;
	text-align: center;
	max-width: 400px;
	width: 80%;
	padding: 18px 0;
	margin: 30px auto 0 auto;
	position: relative;
	transition: transform .3s, background .3s, box-shadow .3s;
	line-height: 1.2;
}
body.is-pc button.btn:hover {
	transform: translateY(5px);
	background: #dd4b32;
	color: #fff;
	box-shadow: 0 0 0 #3e0c0b;
}
form button.btn span {
	text-box: trim-both cap alphabetic;
}
/* 確認画面 */
body.confirm form table th,
body.confirm form table td {
	padding: 15px 5px;
}
/* 送信完了 */
body.send form .company {
	margin-top: 40px;
	text-align: right;
}
body.send form .content {
	max-width: 840px;
}
/* 1240 */
@media (max-width: 1240px) {
	form button.btn {
		font-size: max(1.45vw, 1.5rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Contact .wrap {
		padding-top: 30px;
	}
	/* table */
	form table th {
		display: block;
		width: 100%;
		padding: 15px 0 5px 0;
		font-weight: bold;
	}
	form table td {
		display: block;
		width: 100%;
		padding: 5px 0;
	}
	form table td textarea {
		height: 180px;
	}
	form input[type=text],
	form input[type=email],
	form textarea {
		width: 100%;
	}
	form span.hissu {
		position: initial;
		margin-left: 10px;
	}
	form span.ninni {
		position: initial;
		margin-left: 10px;
	}
}

/*--------------------------------------------------------------*/
/* 個人情報保護方針ページ */
/*--------------------------------------------------------------*/
#Privacy p.head_txt {
	margin-bottom: 60px;
}
#Privacy h2 {
	position: relative;
	background: none;
	font-size: 2.4rem;
	font-weight: bold;
	margin: 0 0 20px;
	padding: 0 0 8px;
	border-bottom: 2px solid #CECECE;
}
#Privacy h2::after {
	position: absolute;
	content: "";
	bottom: -2px;
	left: 0;
	width: 100px;
	height: 2px;
	background: #dd7c32;
	background-size: 100px 2px;
}
#Privacy h2 + p.txt {
	font-size: 2.0rem;
	margin-bottom: 60px;
}
/* 1240 */
@media (max-width: 1240px) {
	#Privacy p.head_txt {
		margin-bottom: max(4.839vw, 42px); //60px;
	}
	#Privacy h2 {
		font-size: max(1.94vw, 1.8rem); //2.4rem;
		margin: 0 0 max(1.613vw, 15px); //20px;
		padding: 0 0 max(0.645vw, 6px); //8px;
	}
	#Privacy h2 + p.txt {
		font-size: max(1.61vw, 1.6rem); //2.0rem;
		margin-bottom: max(4.839vw, 42px); //60px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Privacy h2 {
		line-height: 1.4;
	}
}

/*---------------------------------------------*/
/* 404 */
/*---------------------------------------------*/
#Fn404 {
	padding-bottom: 30px;
}
#Fn404 p {
	text-align: center;
}
#Fn404 p a {
	color: #dd7c32;
	text-decoration: underline;
	transition: .3s ease;
}
body.is-pc #Fn404 p a:hover {
	color: #37b4ec;
	text-decoration: none;
}
/* 1240 */
@media (max-width: 1240px) {
	#sub_visual.fn404_page {
		height: max(24.194vw, 160px); //300px;
	}
}

/*---------------------------------------------*/
/* sidebar */
/*---------------------------------------------*/
#sidebanner {
	position: fixed;
	top: 50%;
	right: -80px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	opacity: 0;
	z-index: 3;
	transition: .4s;
	overflow: hidden;
}
#sidebanner.active {
	right: 0;
	opacity: 1;
}
#sidebanner .flex {
	flex-direction: column;
	gap: 8px 0;
}
#sidebanner .flex a {
	display: block;
	filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.4));
}
#sidebanner .flex a img {
	width: 65px;
	display: block;
	transform: translateX(1px);
}
body.is-pc #sidebanner .flex a:hover img {
	opacity: 1;
	transform: translateX(0px);
}

/*---------------------------------------------*/
/* footbar */
/*---------------------------------------------*/
#footbar {
	padding: 9px 0;
	background: #e4e4e4;
	position: fixed;
	bottom: -110px;
	left: 0;
	opacity: 0;
	width: 100%;
	height: 110px;
	z-index: 3;
	transition: .4s;
}
#footbar.active {
	bottom: 0;
	opacity: 1;
}
#footbar .flex {
	justify-content: space-between;
	flex-wrap: wrap;
}
/* div.tel */
#footbar .flex div.tel {
	width: 49%;
	max-height: 92px;
	background: #fff;
	text-align: right;
	border: 3px solid #b1b1b1;
	border-radius: 3px;
	padding: 7px 0 7px 0;
}
#footbar .flex div.tel div.r1 {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}
#footbar .flex div.tel div.r1 img {
	max-height: 35px;
	margin-right: 4px;
}
#footbar .flex div.tel div.r1 a {
	font-weight: 700;
	font-size: 4.4rem;
	transition: color .3s;
}
#footbar .flex div.tel div.r1 span {
	display: inline-block;
	background: #c8382f;
	color: #fff;
	padding: 8px 8px 8px 8px;
	margin-left: 6px;
}
#footbar .flex div.tel p {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	margin-top: 5px;
}
#footbar .flex div.tel p strong {
	color: #c91a0f;
}
/* div.req */
#footbar .flex div.req {
	max-height: 92px;
	display: block;
	width: 49%;
}
#footbar .flex div.req a {
	display: inline-block;
}
#footbar .flex div.req a img {
	display: block;
	max-height: 92px;
}
/* 1240 */
@media (max-width: 1240px) {
	#footbar .flex div.tel div.r1 a {
		font-size: max(3.55vw, 3.1rem); //4.4rem;
	}
	#footbar .flex div.tel div.r1 img {
		max-height: max(2.823vw, 28px); //35px;
		margin-right: 4px;
	}
	#footbar .flex div.tel div.r1 span {
		padding: max(0.645vw, 5px) 8px max(0.645vw, 5px) 8px;
	}
	#footbar .flex div.tel p {
		font-size: max(1.77vw, 1.5rem); //2.2rem;
	}
}
/* 900 */
@media (max-width: 900px) {
	#footbar .flex div.tel {
		width: 100%;
		text-align: center;
	}
	#footbar .flex div.req {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#footbar {
		padding: 0;
		background: #fff;
		position: fixed;
		bottom: 0;
		opacity: 1;
		height: 72px;
		z-index: 3;
		box-shadow: 0px -1px 4px 0px rgba(0, 0, 0, 0.2);
	}
	#footbar .flex div.tel {
		border: none;
	}
	#footbar .content {
		padding: 0!important;
	}
	#footbar .flex > a {
		display: none;
	}
	#footbar .flex .tel {
		border: none;
		width: 100%;
		padding: 3px 0 0px 0;
	}
	#footbar .flex .tel div.r1 a {
		font-weight: 700;
		font-size: 3.3rem;
		margin-bottom: -5px;
	}
	#footbar .flex .tel div.r1 span {
		font-size: 1.4rem;
		padding: 8px 4px 5px 4px;
		margin: 0 0 1px 5px;
	}
	#footbar .flex .tel p {
		font-size: 1.7rem;
		margin-top: 8px;
	}
	/* div.req */
	#footbar .flex div.req a img {
		max-height: 66px;
	}
}
/* 380 */
@media (max-width: 380px) {
	#footbar .flex .tel p {
		font-size: 1.58rem!important;
		margin-top: 10px!important;
	}
}

/*---------------------------------------------*/
/* #pageTop */
/*---------------------------------------------*/
#pageTop {
	position: fixed;
	width: 60px;
	height: 60px;
	bottom: 11px;
	right: 20px;
	display: none;
	z-index: 999;
}
#pageTop a {
	background: #dd7c32;
	border-radius: 60px;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .3s ease;
}
#pageTop a svg {
	color: #fff;
	width: 30px;
	height: 30px;
}
body.is-pc #pageTop a:hover {
	opacity: 0.7;
}
/* 1240 */
@media (max-width: 1240px) {
	#pageTop {
		display: none!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	#pageTop {
		display: none!important;
	}
}

/*--------------------------------------------------------------*/
/* pager */
/*--------------------------------------------------------------*/
.navigation {
	margin-top: 20px;
	overflow: hidden;
}
body.is-pc .navigation ul li:hover::before {
	position: initial;
	left: 0;
	content: "";
	border-left: none;
	height: 0;
	top: 0;
}
ul.page-numbers {
	padding: 10px 0;
	text-align: center;
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
ul.page-numbers li {
	margin: 0 2.5px;
}
ul.page-numbers li span,
ul.page-numbers li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	color: #000;
	border: 1px solid #E6E6E6;
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 1;
}
ul.page-numbers li span {
	color: #fff;
	background-color: #dd7c32;
}
ul.page-numbers li span.dots {
	color: #000;
	background-color: #fff;
	border: none;
}
body.is-pc ul.page-numbers li a:hover {
	background-color: #ea7481;
	color: #fff;
}
/* 768 */
@media (max-width: 768px) {
	ul.page-numbers {
		margin-top: 40px;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.page-numbers li span,
	ul.page-numbers li a {
		width: 30px;
		height: 30px;
	}
}

/*--------------------------------------------------------------*/
/* Prev & Next */
/*--------------------------------------------------------------*/
table.page_navi {
	width: 100%;
	margin: 90px 0 60px 0;
}
table.page_navi tr td {
	width: calc(100% / 3);
	text-align: center;
}
table.page_navi tr td a i {
	font-size: 1.4rem;
}
table.page_navi tr td .ya a {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.2;
	padding: 10px 30px;
	border-radius: 30px;
	background: #dd7c32;
	color: #fff;
	transition: .3s;
}
body.is-pc table.page_navi tr td .ya a:hover {
	background: #a71b17;
}
table.page_navi tr td .prev a i {
	margin-right: 10px;
}
table.page_navi tr td .next a i {
	margin-left: 10px;
}
/* 580 */
@media (max-width: 580px) {
	table.page_navi {
		margin: 60px 0 30px 0;
	}
	table.page_navi tr td .ya a {
		font-size: 1.5rem;
		padding: 7px 25px;
	}
	table.page_navi tr td .prev a i {
		margin-right: 6px;
	}
	table.page_navi tr td .next a i {
		margin-left: 6px;
	}
}

/*---------------------------------------------*/
/* footer */
/*---------------------------------------------*/
footer {
	background: #dd7c32;
}
footer a {
	color: #fff;
}
body.is-pc footer a:hover {
	color: #fff;
	opacity: 0.9;
}
footer div.title {
	margin-bottom: 70px;
}
footer div.title a {
	display: inline-block;
}
footer div.title .name {
	font-size: 3.4rem;
	font-weight: bold;
}
footer div.title .eng {
	font-size: 2.0rem;
	letter-spacing: 5px;
}
body.sub footer nav {
	display: flex;
}
footer .content {
	padding-bottom: 80px;
	max-width: 1140px;
}
footer .logo {
	width: 360px;
	margin-bottom: 80px;
}
footer .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 0;
}
footer .flex h3 {
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 10px;
}
footer .flex h3 a:hover {
	color: #fff;
	opacity: 0.7;
}
body.is-pc footer .flex ul li a:hover {
	opacity: 0.6;
}
footer .flex ul li,
footer .flex ul li a {
	line-height: 1.8;
}
footer .flex .bloc01 h4 {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: underline;
	margin-top: 18px;
	margin-bottom: 4px;
	margin-left: 3px;
}
footer .flex .bloc01 ul {
	margin-left: 10px;
}
footer .flex ul li a {
	display: inline-flex;
	align-items: center;
	color: #fff;
	font-size: 1.6rem;
	transition: .3s ease;
}
footer .flex ul li a::before {
	content: "\f04b";
	font-family: "Font Awesome 5 Free";
	font-size: 0.8rem;
	font-weight: 600;
	margin-right: 6px;
}
/* bloc03,04 */
footer .flex .bloc03,
footer .flex .bloc04 {
	padding-top: 55px;
}
footer .flex .bloc03 ul li,
footer .flex .bloc04 ul li {
	margin-bottom: 5px;
}
footer .flex .bloc03 ul li a,
footer .flex .bloc04 ul li a {
	color: #fff;
	font-size: 1.8rem;
	transition: .3s ease;
}
footer #copy {
	background: #d16222;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	padding: 5px 0;
}
body.is-pc footer #copy a:hover {
	color: #fff;
	opacity: 0.8;
}
/* 1240 */
@media (max-width: 1240px) {
	footer div.title {
		margin-bottom: max(5.645vw, 45px); //70px;
	}
	footer div.title .name {
		font-size: max(2.74vw, 2.8rem); //3.4rem;
		font-weight: bold;
	}
	footer div.title .eng {
		font-size: max(1.61vw, 1.8rem); //2.0rem;
		letter-spacing: max(0.403vw, 3px); //5px;
	}
	footer .content {
		padding-bottom: max(6.452vw, 56px); //80px;
	}
}
/* 900 */
@media (max-width: 900px) {
	footer .flex .bloc01,
	footer .flex .bloc02,
	footer .flex .bloc03,
	footer .flex .bloc04 {
		width: 47.5%;
	}
	footer .flex .bloc03,
	footer .flex .bloc04 {
		padding-top: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	footer {
		margin-bottom: 41.69px;
	}
	footer .logo {
		max-width: 360px;
		width: 80%;
		margin-bottom: 40px;
		line-height: 1.1;
	}
	footer .flex {
		gap: 0 0;
	}
	footer .flex .bloc01,
	footer .flex .bloc02,
	footer .flex .bloc03,
	footer .flex .bloc04 {
		width: 100%;
	}
	footer .flex h3 {
		margin-bottom: 14px;
		border-bottom: 1px solid rgb(255 255 255 / 31%);
		padding-bottom: 10px;
	}
	footer .flex .bloc01 ul li:not(:last-child),
	footer .flex .bloc02 ul li:not(:last-child) {
		margin-bottom: 10px;
	}
	footer .flex .bloc01,
	footer .flex .bloc02 {
		margin-bottom: 40px;
	}
	footer .flex .bloc02 {
		margin-bottom: 20px;
	}
	footer .flex .bloc03 {
		padding-top: 20px;
		border-top: 1px solid rgb(255 255 255 / 31%);
	}
}
