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

.carve {
	margin: 0 0 50px;
}
.carve section {
	margin: 0 0 20px;
}
.carve section.form {
	margin: 0;
}

.carve section.name h3 {
	font-size: 0;
	line-height: 0;
	min-height: 0;
	background: none;
	padding: 0;
	margin: 0 0 20px;
}

.carve .price {
	font-size: 0;
}
.carve .price dl {
	display: inline-block;
	vertical-align: top;
}
.carve .price dl dt img {
	vertical-align: bottom;
}
.carve .price dl dt strong {
	font-weight: bold;
	font-size: 18px;
	line-height: 36px;
}
.carve .price dl dt span {
	font-size: 15px;
	line-height: 24px;
	display: block;
}
.carve .price dl dd a {
	width: 290px;
	display: inline-block;
	min-height: 16px;
	font-size: 16px;
	color: #FFFFFF;
	line-height: 16px;
	margin: 9px 0;
	padding: 15px 20px 15px 45px;	
}
.carve .price dl dd.download a {
	background: url(../img/grave/other/icon_pdf.png), #EE7800;
	background-repeat: no-repeat;
	background-position: 7px 5px;
	background-size: 32px 32px;
	border-right: #BA5A02 solid 3px;
	border-bottom: #BA5A02 solid 3px;
}
.carve .price dl dd.mail a {
	background: url(../img/grave/other/icon_mail.png), #164A84;
	background-repeat: no-repeat;
	background-position: 14px 12px;
	background-size: 25px 19px;
	border-right: #0D2D44 solid 3px;
	border-bottom: #0D2D44 solid 3px;
}
.carve .price figure {
	display: inline-block;
	margin: 0 0 0 30px;
}

/* carve cineration common*/
.flow ol li {
	position: relative;
	font-size: 15px;
	line-height: 26px;
	min-height: 22px;
	padding: 0 0 40px 75px;
}
.flow ol li:before {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	bottom: -5px;
	border: solid 18px transparent;
	border-top: #A5A197 solid 18px;
	margin-left: -9px;	
}
.flow ol li:nth-child(1) {
	background: url(../img/grave/other/step01.jpg) no-repeat top left;
	background-size: 68px 24px;
}
.flow ol li:nth-child(2) {
	background: url(../img/grave/other/step02.jpg) no-repeat top left;
	background-size: 68px 24px;
}
.flow ol li:nth-child(3) {
	background: url(../img/grave/other/step03.jpg) no-repeat top left;
	background-size: 68px 24px;
}
.flow ol li:nth-child(4) {
	background: url(../img/grave/other/step04.jpg) no-repeat top left;
	background-size: 68px 24px;
	padding: 0 0 0 75px;
}
.flow ol li:nth-child(4):before {
	border: none;
}

.carve .contact h4 {
	position: relative;
	display: block;
	font-size: 15px;
	line-height: 15px;
	padding: 15px 0 15px 45px;
	margin: 0 0 20px;
	background-color: #E3DDCA;
}
.carve .contact h4:before {
	content: "";
	position: absolute;
	left: 15px;
	top: 18px;
	width: 18px;
	height: 8px;
	background-color: #5C374A;
}
.carve .contact .fax p a {
	min-height: 16px;
	background: url(../img/grave/other/icon_pdf.png), #EE7800;
	background-repeat: no-repeat;
	background-position: 7px 5px;
	background-size: 32px 32px;
	border-right: #BA5A02 solid 3px;
	border-bottom: #BA5A02 solid 3px;
	display: inline-block;
	font-size: 16px;
	color: #FFFFFF;
	line-height: 16px;
	padding: 15px 20px 15px 45px;
}
.carve .contact .form p img {
	vertical-align: middle;
}
.carve .contact .form table {
	width: 100%;
	border-collapse: collapse;
	border-top: #E3DDCA solid 1px;
	border-right: #E3DDCA solid 1px;
	border-left: #E3DDCA solid 1px;
	margin: 0 0 20px;
	background-color: #F7EFDF;
}
.carve .contact .form table th {
	width: 170px;
	padding: 10px;
	border-bottom: #E3DDCA solid 1px;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
}
.carve .contact .form table th img {
	vertical-align: middle;
	float: right;
}
.carve .contact .form table td {
	padding: 10px;
	border-bottom: #E3DDCA solid 1px;
	background-color: #FFFFFF;
	font-size: 16px;
	line-height: 24px;
}
.carve .contact .form table td span {
	color: #666666;
}
.carve .contact .form table td input {
	font-size: 16px;
	line-height: 24px;
	
}
.carve .contact .form table td input[name='お名前'],
.carve .contact .form table td input[name='ふりがな'] {
	width: 50%;
}
.carve .contact .form table td input[name='電話番号又はメールアドレス'],
.carve .contact .form table td input[name='都道府県市区町村'],
.carve .contact .form table td input[name='マンション名など'],
.carve .contact .form table td input[name='email'] ,
.carve .contact .form table td input[name='寺院名'],
.carve .contact .form table td input[name='寺院住所'],
.carve .contact .form table td input[name='戒名'],
.carve .contact .form table td input[name='俗名'],
.carve .contact .form table td input[name='行年（享年）'], 
.carve .contact .form table td input[name='ご納期'], 
.carve .contact .form table td input[name='石塔設立者名'] {
	width: 80%;
}
.carve .contact .form table td input[name='お電話番号'],
.carve .contact .form table td input[name='FAX番号'] {
	width: 30%;
}
.carve .contact .form table td textarea {
	width: 90%;
	height: 100px;
}
.carve .contact .form .btn {
	text-align: center;
}
.carve .contact .form .btn input[type='submit'],
.carve .contact .form .btn input[type='button'] {
	width: 150px;
	margin: 0 5px;
	border: none;
	background-color: #5C374A;
	font-size: 16px;
	font-weight: bold;
	line-height: 50px;
	color: #FFFFFF;
	border-radius: 0;
	-webkit-appearance: none;
}
.carve .contact .form p .red {
	color: #AA0403;
}
.carve .contact .form .error {
	color: #FF0000;
}

.cineration .merit {
	margin: 0 0 20px;
}
.cineration .merit p img {
	width: auto;
	height: 35px;
}
.cineration .merit .point {
	padding: 20px;
	background-color: #FCEDED;
}
.cineration .merit .point h4 {
	margin: 0 0 20px;	
}
.cineration .merit .point h4 img {
	width: 630px;
	height: auto;
	font-size: 0;
}
.cineration .merit .point ul {
	width: 430px;
	display: inline-block;
}
.cineration .merit .point ul li {
	position: relative;
	font-size: 15px;
	line-height: 26px;
	min-height: 22px;
	padding: 0 0 15px 100px;
}
.cineration .merit .point ul li:nth-child(1) {
	background: url(../img/grave/other/merit01.jpg) no-repeat top left;
	background-size: 85px 24px;
}
.cineration .merit .point ul li:nth-child(2) {
	background: url(../img/grave/other/merit02.jpg) no-repeat top left;
	background-size: 85px 24px;
}
.cineration .merit .point ul li:nth-child(3) {
	background: url(../img/grave/other/merit03.jpg) no-repeat top left;
	background-size: 85px 24px;
	padding: 0 0 0 100px;
}
.cineration .merit .point figure {
	width: 200px;
	display: inline-block;
	vertical-align: top;
}
.cineration .merit .point figure img {
	margin: 0 0 0 25px;	
	border: #FFFFFF solid 5px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.4);
}

.cineration .flow .join {
	margin: 20px 0 0;
	padding: 20px 0 0;
	background-color: #F7EDDC;
	font-size: 0;
}
.cineration .flow .join h4 {
	text-align: center;
	font-size: 16px;
	line-height: 16px;
	min-height: 16px;
	padding: 0 0 14px;
}
.cineration .flow .join dl {
	display: inline-block;
	vertical-align: top;
	width: 305px;
	margin: 0 0 20px 20px;
}
.cineration .flow .join dl dt {
	position: relative;
	min-height: 15px;
	padding: 15px 0 15px 25px;
	background-color: #E3DDCA;
	font-size: 15px;
	font-weight: bold;
	line-height: 15px;
	text-align: left;
}
.cineration .flow .join dl dt:before {
	content: "";
	position: absolute;
	left: 8px;
	top: 11px;
	width: 8px;
	height: 22px;
	background-color: #5C374A;
}
.cineration .flow .join dl dd img {
	width: 305px;
	height: auto;
}
.cineration .flow .join dl dd.text {
	font-size: 15px;
	line-height: 24px;
}
.cineration .flow .join dl dd.mail a {
	width: 237px;
	display: inline-block;
	min-height: 16px;
	font-size: 16px;
	color: #FFFFFF;
	line-height: 16px;
	margin: 10px 0 0;
	padding: 20px 20px 20px 45px;	
	background: url(../img/grave/other/icon_mail.png), #AA0403;
	background-repeat: no-repeat;
	background-position: 14px 18px;
	background-size: 25px 19px;
	border-right: #770404 solid 3px;
	border-bottom: #770404 solid 3px;
}

/* pc */
@media screen and (min-width: 988px) {
	
	.carve .price dl dd.download a:hover {
		color: #333333;
	}
	.carve .price dl dd.mail a:hover {
		color: #FFCC33;
	}
	.carve .contact .fax p a:hover {
		color: #333333;
	}
	.carve .contact .form .btn input[type='submit']:hover,
	.carve .contact .form .btn input[type='button']:hover {
		cursor: pointer;
		color: #FFCC33;	
	}
	.cineration .flow .join dl dd.mail a:hover {
		color: #FFCC33;
	}
	
}

/* tablet sp */
@media print, screen and (max-width: 987px) {
	
	.carve section.name h3 img {
		width: 100%;
		height: auto;	
	}
	.carve .price dl dt strong {
		display: block;
	}
	.carve .price dl dd a {
		width: auto;
	}
	.carve .price figure {
		display: block;
		margin: 10px 0 0;
	}
	.carve .contact .form table th {
		width: 95%;
		border-bottom: none;
		display: block;
	}
	.carve .contact .form table td {
		border-top: #E3DDCA solid 1px;
		display: block;
	}
	.cineration .merit .point h4 {
		position: relative;
		width: 100%;
		height: 51px;
		overflow: hidden;
	}
	.cineration .merit .point h4 img {
		position: absolute;
		width: 630px;
		height: auto;
    	left: 50%;
		margin-left: -315px;
	}
	.cineration .merit .point ul {
		width: auto;
	}
	.cineration .merit .point figure {
		width: auto;
		display: block;
		text-align: center;
	}
	.cineration .merit .point figure img {
		margin: 15px 0 0;
	}
	.cineration .flow .join dl {
		display: block;
		text-align: center;
		padding: 0 0 20px;
		margin: 0 auto;
	}
	
}

/* sp */
@media screen and (max-width: 439px) {
	
	.carve .price dl dd a {
		width: auto;
	}
	.carve .price figure img {
		width: 100%;
		height: auto;
	}
	.carve .price dt img,
	.carve .contact .phone p img,
	.carve .contact .fax p img {
		width: 100%;
		height: auto;
	}
	.cineration .merit p img {
		width: auto;
		height: 30px;
	}
	.cineration .merit .point h4 {
		margin: 0;	
	}
	.cineration .merit .point h4 img {
		width: 420px;
		margin-left: -210px;
	}
	.cineration .merit .point ul li:nth-child(n) {	
		padding: 30px 0 15px 0;
	}
	.cineration .flow .join dl {
		width: auto;
		margin: 0 20px;
	}
	.cineration .flow .join dl dd img {
		width: 100%;
		height: auto;
	}
	.cineration .flow .join dl dd.text {
		text-align: left;
	}
	.cineration .flow .join dl dd.mail a {
		width: auto;
		text-align: left;
	}
	
	/* carve cineration common*/
	.flow ol li:nth-child(n) {
		padding: 30px 0 40px 0;
	}
	
}