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

.anchor {
    padding-top: 60px;
    margin-top: -60px;
}

/*--------------------------------------------------------------
Top:
----------------------------------------------------------------
*/
.top-page-header{
position: relative;
line-height: 0;
}

#top-plan a {
	color: #252525;
}
#top-plan {
	background:url("../images/top/plan_bg.png") top right;
	background-size: 80%;
	background-repeat: no-repeat;
}
#top-plan h3{
	font-size: 8vw;
	line-height: 1.1;
}
#top-plan h3 span{
	font-size: 12vw;
}
.top-plan {
	background: #fff;
	padding: 3%;
	margin-bottom: 5% !important;
}
#top-cta {
	color: #fff;
	text-align: center;
}
#top-cta p {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 10px;
}
#top-cta img {
	width: 45px;
	vertical-align: middle;
}
#top-cta .tel-box{
	background: #945c5f;
	padding: 5% 3%;
}
#top-cta .contact-box{
	background: #8f67ae;
	padding: 5% 3%;
}
.tel-box a {
    display: block;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 35px;
    line-height: 1;
    font-weight: 600;
}
.btn-top-line {
  display: block;
  width: 240px;
  height: 45px;
  text-align: center;
  line-height: 45px;
  font-weight: bold;
  text-decoration: none;
border: 1px #fff solid;
}
.btn-top-line span{
  color: #FFF;
  position: relative;
  padding-left: 30px;
}
.btn-top-line span::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: -5px;
}
#top-strength {
	clear: both;
	background: #b3a579;
	text-align: center;
	color: #fff !important;
	background-image: url("../images/top/strength_bg.png");
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 80%;
	padding: 30px auto;
}
#top-strength h3,#top-strength .lead {
	margin-bottom:20px;
}
#cont-menu-box{
	float: left;
	width: 100%;
	margin: 5% auto;
}
.inline-box-a , .inline-box-b {
	margin-bottom: 25px;
	clear: both;
	float: left;
	width: 100%;
}
.inline-box-a .box-img , .inline-box-a .box-text p,
.inline-box-b .box-img , .inline-box-b .box-text p {
  margin-bottom: 10px;
}

#cont-menu-box ul li a {
    display: block;
    padding: 3%;
	color: #252525;
}
#cont-menu-box ul {
    clear: both;
	font-size: 0;
}
/*#cont-menu-box ul li img{
	margin-bottom: 10px;
}*/
#cont-menu-box ul li {
    background: #fff;
	margin-bottom: 10px;
	font-family:'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
	font-size: 18px;
	text-align: center;
}
#cont-menu-box ul li span{
  position: relative;
  padding-left: 20px;
}
#cont-menu-box ul li span::before{
  content: "";
  position: absolute;
  top: 50%;
  left: -15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #8f67ae;
  border-right: 2px solid #8f67ae;
  transform: rotate(45deg);
  margin-top: -5px;
}
/*--------------------------------------------------------------
Common(下層):
----------------------------------------------------------------
*/
.under-page-header{
height: 120px;
background-position: center center;
background-size: cover;
text-align: center;
color: #fff;
padding-top: 60px;
}
.under-page-header h2{
font-family:'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
font-size: 32px;
line-height: 1.2;
font-weight: 600;
}
/* 下層共通 */
.section-inner h2 , .section-inner h3{
	font-family: 'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
	font-size: 22px;
	text-align: center;
	margin-bottom: 20px;
	line-height: 1.1;
}
.lead {
	text-align: center;
	margin-bottom: 5%;
}
.local-nav{
	background-color: #ddd7cc;
	padding: 15px;
	margin-bottom: 5%;
	text-align: center;
}
.local-nav a{
	color: #252525;
}
.local-nav li {
	display: inline-block;
	margin: 5px 10px;
}
.local-nav li:before {
	content: "▼";
	color: #8f67ae;
	font-size: 12px;
	margin-right: 5px;
}
.iframe-box{
	margin-bottom: 5%;
}
.iframe-box iframe{
	height: 300px;
	border: 3px solid #fff;
}
.btn-center{
	margin: auto;
}
.btn-cont {
  display: block;
  width: 240px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  background: #8f67ae;
  font-weight: bold;
  text-decoration: none;
border: 1px #fff solid;
}
.btn-cont span{
  color: #FFF;
  position: relative;
  padding-left: 30px;
}
.btn-cont span::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-top: -5px;
}
/*plan*/
.plan-box{
	margin-bottom: 10%;	
}
#plan h3{
	font-size: 8vw;
}
#plan h3 span{
	font-size: 12vw;
}
#plan h4, #saijou h4{
	clear: both;
	font-size: 18px;
	margin-bottom: 15px;
}
#plan h4:before, #saijou h4:before{
	content: "◆";
	color: #8f67ae;
	margin-right: 5px;
}
.plan-box .photo{
	margin-bottom: 15px;	
	text-align: center;
}
.plan-box .stit,
.flower-box .stit{
	font-family: 'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
	text-align: center;
	color: #fff;
	font-weight: 700;
	padding: 10px;
	margin-bottom: 15px;
}
.plan-box .plan30{
	background-color: #4ca69b;
}
.plan-box .plan40{
	background-color: #005f95;
}
.plan-box .plan50{
	background-color: #563a7c;
}
.plan-box .plan15{
	background-color: #8f67ae;
}
.plan-box .plan-other{
	background-color: #e380b1;
}
.plan-box .txt {
	margin-bottom: 15px;
	text-align: center;
}
.plan-box .txt p{
	margin-bottom: 10px;
}
.plan-box .txt p:last-child{
	margin-bottom: 0;
}
.plan-box ul{
	font-size: 0;
	margin-bottom: 15px;
}
.plan-box li{
	display: inline-block;
	width: 22%;
	margin-right: 4%;
	margin-bottom: 10px;
}
.plan-box li:nth-child(4n){
	margin-right: 0;
}
.scroll {
    overflow-x: scroll;
    padding-bottom: 15px;
	margin-bottom: 20px;
}
.scroll img{
    width: 768px;
}
.scroll::-webkit-scrollbar {
	height: 5px;
}
.scroll::-webkit-scrollbar-thumb{
	background: #ccc;
	border-radius: 5px;
}
.plan_lead {
	text-align: center;
	margin-bottom: 25px;
}
.plan_txt {
	margin-bottom: 15px;
}
/*saijou*/
#saijou h3 {
	background-color: #8f67ae;
	color: #fff;
	padding: 10px;
}
.saijou-box{
	margin-bottom: 7%;
}
.hall .nomargin {
	margin-bottom: 15px !important;
}
.hall .overview{
	margin-bottom: 5%;
	width: 100%;
	border-bottom: 1px solid #d8d8d8;
	border-right: 1px solid #d8d8d8;
	border-left: 1px solid #d8d8d8;
}
.hall .overview th,
.hall .overview td{
	display: block;
	padding: 5px 15px;
	line-height: 1.5;
}
.hall .overview th{
	background: #b3a579;
	color: #fff;
	border-top: 1px solid #d8d8d8;
}
.hall .overview td{
	background: #fff;
}
.photo-list {
	text-align: center;
	margin-bottom: 3%;
	display: inline-block;
}
.photo-list li {
	width: 48%;
	float: left;
	margin-right: 4%;
	margin-bottom: 15px;
}
.photo-list li:nth-child(even) {
	margin-right: 0;
}
.hall .overview tr td:nth-of-type(2){
	border-top: 1px solid #d8d8d8;
}

/* faq */
/* チェックボックスは非表示 */
.accordion-hidden {
	display: none;
}
/* Question部分 */
.accordion-open {
	display: block;
	padding: 25px 55px 25px 60px;
	cursor: pointer;
	/*margin: 10px 0;*/
	font-weight: 700;
	position: relative; /* 変更部分 */
	border-top: 1px solid #d8d8d8;
}
.accordion-open:last-child {
	border-bottom: 1px solid #d8d8d8;
}
/* QとAのデザイン */
.accordion-open span, .accordion-close span {
	display: flex;
	justify-content: center;
	align-items: center;
	/*width: 50px;
	height: 100%;*/
	position: absolute;
	text-align: center;
	left: 0;
	top: 0;
}
/*閉じた状態の矢印描画*/
label.accordion-open:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: #8f67ae 2px solid;
	border-right: #8f67ae 2px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	right: 20px;
	top: 5px;
	bottom: 15%;
	margin: auto;
}
/*開いた状態の矢印描画*/
input[type=checkbox]:checked + label.accordion-open:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: #8f67ae 2px solid;
	border-right: #8f67ae 2px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	right: 20px;
	top: 7%;
	bottom: 0;
	margin: auto;
}
/* Answer部分 */
.accordion-close {
	display: block;
	height: 0; /* 要素の高さは0 */
	overflow: hidden; /* 非表示 */
	padding: 0 0 0 60px;
	opacity: 0;
	transition: 0.5s; /* 表示速度の設定 */
	position: relative;
}
/* チェックボックスにチェックが入ったらAnswer部分を表示する */
.accordion-hidden:checked + .accordion-open + .accordion-close {
	height: auto;
	opacity: 1;
	padding: 25px 25px 28px 60px;
	margin-bottom: 20px;
	background: #fff;
}
.accordion-open .q {
	position: absolute;
	top: 14px;
	left: 10px;
	display: block;
	color: #8f67ae;
	padding: 7px 12px;
	font-size: 20px;
}
.accordion-close .a {
	position: absolute;
	top: 14px;
	left: 10px;
	display: block;
	font-weight: bold;
	color: #945c5f;
	padding: 7px 12px;
	font-size: 20px;
}
.accordion a {
	color: #333;
	text-decoration: underline;
}

/*company*/
#company {
	margin-bottom: 5%;
}
#company td {
	border-bottom: #d8d8d8 solid 1px; /* 枠線指定 */
}
#company table {
	border-collapse: collapse; /* セルの線を重ねる */
	width: 100%; /* 幅指定 */
	margin-bottom: 8%;
}
#company th {
	width: 100%; /* 幅指定 */
	text-align: left; /* 文字の揃え位置指定 */
	display: block;
}
#company td {
	display: block;
	margin-bottom: 15px;
	padding-bottom: 15px;
}

/*flow*/
.flow-box {
	clear: both;
	background-color: #fff;
	padding: 5%;
	margin-bottom: 50px;
	position: relative;
}
.flow-box .arrow {
	position: absolute;
	bottom: -30px;
	left:48%;
	width: 20px;
	height: 20px;
	border: 3px solid;
	border-color:  transparent transparent #8f67ae #8f67ae;
	transform: rotate(-45deg);
}
.flow-box h4{
	font-family: 'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
	font-size: 22px;
	margin-bottom: 15px;
}
.flow-box h4 span{
	color: #8f67ae;
}
.flow-box .photo {
	margin-bottom: 15px;
}
.flow-box .txt p {
	margin-bottom: 15px;
}

/*strength*/
#strength h3 span{
	display: block;
	color: #8f67ae;
	font-family: 'Pinyon Script', cursive;
	font-weight: 100;
	line-height: 1.0;
	margin-bottom: 10px;
}
#strength p img{
	margin-bottom: 3%;
}
#strength .strength-box{
	margin-bottom: 7%;
}
/*case*/

.case-explanation{
text-align: center;
margin-bottom: 20px;
}
.case-wrap{
background-color: #fff;
padding: 20px;
}
.case-wrap .image-box{
line-height: 1;
}
.case-wrap .image-box img{
line-height: 0;
}
.case-wrap .info-box{
padding-top: 20px;
}
.case-wrap .info-box h4{
color: #8f67ae;
font-size: 20px;
margin-bottom: 10px;
}
.case-wrap .info-box table,
.case-wrap .info-box tr{
width: 100%;
}
.case-wrap .info-box th{
display: block;
width: 100%;
text-align: left;
vertical-align: middle;
padding: 10px 0;
border-bottom: #d8d8d8 1px solid;
}
.case-wrap .info-box td{
display: block;
width: 100%;
vertical-align: middle;
padding: 10px 0 15px;
}
/*flower-service*/
.flower-box .stit{
background-color: #563a7c;
}
.flower-box li figcaption{
text-align: center;
margin-top: 5px;
    font-weight: 700;
}
.flower-box .btn-cont {
color: #fff;
font-weight: normal;
width: 90%;
border: none;
margin: 10px auto 20px;
}
#flower-service .stit.plan50 + ul li{
width: calc(50% - 5px);
float: left;
}
#flower-service .stit.plan50 + ul li:nth-child(odd){
margin-right: 5px;
}
#flower-service .stit.plan50 + ul li:nth-child(even){
margin-left: 5px;
}
#order h3{
margin-top: 20px;
}
.form-title{
margin-bottom: 5px;
}
.form-title::before{
content:"▼";
color: #8f67ae;
font-size: 12px;
margin-right: 5px;
}
#order form{
margin-top: 20px;
}
.contact .sub-table-01 input{
width: 60%;
}
.contact .sub-table-01 .input-before.sp{
padding-left: 2.5em;
}
.input-before{
display: inline;
padding-right: 0.5em;
font-size: 0.8em;
}
.input-after{
display: inline;
padding-left: 0.5em;
font-size: 0.8em;
}
.sub-table-01 li,
.sub-table-03 li{
padding-bottom: 5px;
}
.sub-table-01 li:last-child,
.sub-table-03 li:last-child{
padding-bottom: 0;
}
.sub-table-02 li{
width: 50%;
float: left;
padding-bottom: 5px;
}
.sub-table-02 li:last-child{
padding-bottom: 0;
}
.contact select{
appearance: none;
}
.night-funeral-month,
.night-funeral-day,
.funeral-month,
.funeral-day,
.pay-off,
.prefectures,
.flower-service-01,
.flower-service-02,
.flower-service-03,
.flower-service-04,
.flower-service-05,
.flower-service-06,
.flower-service-07,
.flower-service-08,
.flower-service-09,
.flower-service-10{
position: relative;
}
.night-funeral-month::after,
.night-funeral-day::after,
.funeral-month::after,
.funeral-day::after,
.pay-off::after,
.prefectures::after,
.flower-service-01::after,
.flower-service-02::after,
.flower-service-03::after,
.flower-service-04::after,
.flower-service-05::after,
.flower-service-06::after,
.flower-service-07::after,
.flower-service-08::after,
.flower-service-09::after,
.flower-service-10::after{
display: block;
position: absolute;
content: "▼";
right: 10px;
top: 6px;
font-size: 10px;
}
.night-funeral-month,
.night-funeral-day,
.funeral-month,
.funeral-day{
width: 95px;
display: table-cell;
}
.sub-table-02 .input-after{
display: table-cell;
width: auto
}
.night-funeral-beginning-hour,
.night-funeral-beginning-minutes,
.night-funeral-ending-hour,
.night-funeral-ending-minutes,
.funeral-beginning-hour,
.funeral-beginning-minutes,
.funeral-ending-hour,
.funeral-ending-minutes{
width: 95px;
display: table-cell;
}
.contact .quantity-01 input,
.contact .quantity-02 input,
.contact .quantity-03 input,
.contact .quantity-04 input,
.contact .quantity-05 input,
.contact .quantity-06 input,
.contact .quantity-07 input,
.contact .quantity-08 input,
.contact .quantity-09 input,
.contact .quantity-10 input{
width: 20%;
display: inline;
}
.add-input {
color: #fff;
background-color: #8F67AE;
font-weight: normal;
width: 135px;
border: none;
padding: 5px 0;
margin: 20px 0;
text-align: center;
cursor: pointer;
border-radius: 5px;        /* CSS3草案 */  
-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
-moz-border-radius: 5px;   /* Firefox用 */  
}
.add-input::before{
content: "+";
}
.hidden-table{
display: none;
}
.add-input.open::before{
content: "-";
}
/*contact*/
.cta-wrap{
background-color: #fff;
border: #d8d8d8 1px solid;
box-sizing: border-box;
margin-bottom: 40px;
}
.cta-wrap .if{
background-color: #8f67ae;
text-align: center;
color: #fff;
font-size: 25px;
font-family:'A1MinchoStd-Bold-83pv-RKSJ-H', 'A-OTF A1 Mincho Std','Noto Serif JP', serif;
padding: 10px;
}
.cta-wrap .cta{
padding: 20px;
}
.cta-wrap .tel{
width: auto;
display: table;
margin: 0 auto 20px;
}
.cta-wrap .tel svg{
display: table-cell;
vertical-align: middle;
width: 30px;
fill: #009f31;
border-radius: 5px;        /* CSS3草案 */  
-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
-moz-border-radius: 5px;   /* Firefox用 */  
}
.cta-wrap .tel a{
display: table-cell;
vertical-align: middle;
font-family: 'Roboto', sans-serif;
font-size: 30px;
line-height: 1;
font-weight: 600;
color: #252525;
padding-left: 5px;
}
.cta-wrap .cta p{
text-align: center;
}
.maroon-text{
color: #c1272d;
}
.contact h3,
.thanks-box h3{
text-align: center;
font-size: 24px;
font-weight: 500;
font-family: 'Noto Serif JP', serif;
letter-spacing: 0.5px;
margin-bottom: 20px;
}
.contact table{
width: 100%;
margin-bottom: 20px;
}
.contact th{
position: relative;
display: block;
text-align: left;
width: 100%;
padding: 10px;
background-color: #b3a579;
color: #fff;
border: #d8d8d8 1px solid;
box-sizing: border-box;
font-weight: normal;
vertical-align: top;
}
.required{
position: absolute;
top :10px;
right: 10px;
display: block;
background-color: #c1272d;
color: #fff;
font-size: 12px;
padding: 5px 10px;
}
.any{
position: absolute;
top :10px;
right: 10px;
display: block;
background-color: #ffff;
color: #c1272d;
border :#c1272d 1px solid;
box-sizing: border-box;
font-size: 12px;
padding: 5px 10px;
}
.contact td{
display: block;
width: 100%;
padding: 10px;
background-color: #fff;
border: #d8d8d8 1px solid;
border-top: none;
border-bottom: none;
box-sizing: border-box;
}
.contact tr:last-child td{
border-bottom: #d8d8d8 1px solid;
}
.contact input,
.contact textarea,
.contact select{
width: 100%;
border: #d8d8d8 1px solid;
box-sizing: border-box;
padding: 5px;
}

.pp-box{
background-color: #fff;
border: #d8d8d8 1px solid;
box-sizing: border-box;
padding: 10px;
overflow: scroll;
height: 100px;
}
.pp-box h4{
margin-top: 10px;
}
.pp-box ul{
margin-top: 10px;
}
.pp-box li{
text-indent: -1em;
padding-left: 1em;
}
.accept span.wpcf7-list-item{
margin: 0;
display: block;
}
.accept label{
display: table;
width: auto;
padding: 20px 0;
position: relative;
margin: 0 auto;
}
.contact input[type=checkbox] {
display: none;
}
.contact input[type=checkbox] + span {
box-sizing: border-box;
cursor: pointer;
display: inline-block;
padding-left: 35px;
position: relative;
width: auto;
}
.contact input[type=checkbox] + span::before {
background: #fff;
border: 1px solid #d8d8d8;
content: '';
display: block;
height: 16px;
left: 5px;
margin-top: -8px;
position: absolute;
top: 50%;
width: 16px;
}
.contact input[type=checkbox] + span::after {
border-right: 3px solid #563a7c;
border-bottom: 3px solid #563a7c;
content: '';
display: block;
height: 9px;
left: 10px;
margin-top: -7px;
opacity: 0;
position: absolute;
top: 50%;
transform: rotate(45deg);
width: 5px;
}
.contact input[type=checkbox]:checked + span::after {
opacity: 1;
}
.contact input[type=submit]{
position: relative;
display: block;
margin: 0 auto;
background-color: #8f67ae;
border: none;
color: #fff;
text-align: center;
width: 200px;
font-size: 20px;
font-weight: 700;
padding: 10px 0;
}
/*thanks*/

.thanks-box{
padding: 20px;
border: #d8d8d8 3px solid;
box-sizing: border-box;
background-color: #fff;
}

.thanks-box h3 + p{
text-align: center;
}
.back-to-list{
padding: 20px 0 0;
}
.back-to-list a{
position: relative;
display: block;
background-color: #8f67ae;
font-size: 16px;
font-weight: 700;
color: #fff;
text-align: center;
padding: 18px 0;
width: 230px;
margin: 0 auto;
}

/*404*/
.error404 .thanks-box h3 + p{
text-align: left;
}

.error404 .entry-content ul{
margin: 20px 0;
}

.error404 .entry-content li{
text-indent: -1em;
padding-left: 1em;
}
.error404 .entry-content li::before{
content: "・";
}