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

/*********************************************
Common Style
*********************************************/

*,*:before,*:after{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	line-height: 1.5em;
}

html {
	
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
	min-width: 1110px;
	font-size: 16px;
	line-height: 1.5em;
	color: #666;
	background-color: #fff;
}

.font_m{
	font-family: 'Noto Serif JP', serif;
}

.container{
	width: 1110px;
	margin: 0 auto;
}

.clearfix:after{
	display: block;
	content: "";
	clear: both;
}

main{
	display: block;
}

img{
	width: 100%;
	vertical-align: middle;
}

ul, ol{
	list-style: none;
}

li{
	list-style-type: none;
}

/* 横並びでずれるとき */
input, select{
	vertical-align : middle;
}

.pc_hide_i{
	display: none;
}

.sp_hide_i{
	display: inline;
}

.bg_gray{
	background: #ccffcc;
}

@media (max-width: 797px){
	body{
		min-width: auto;
		width: 100%;
		font-size: 4vw;
	}

	.container{
		width: 100%;
		padding: 0 2vw;
	}

	.pc_hide_i{
		display: inline;
	}

	.sp_hide_i{
		display: none;
	}
}


/* Link
-------------------------------------------*/
a, a:link, a:visited, a:hover, a:active{
	text-decoration: none;
	color: inherit;
}

a:hover { opacity: 0.8;}


/* Header
-------------------------------------------*/
header{
	border-top: 50px solid #32652e;
	padding: 30px 0 0;
}

.header_title a{
	height: 80px;
	float: left;
	padding: 0 0 0 90px;
	background: url(img/logo@22x.png) no-repeat left center;
	background-size: contain;
	color:#32652e;
	margin: 0 0 10px;
}

.header_title .txt1{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 30px;
	margin: 0 10px 5px 8px;
	float: left;
}

.header_title .txt2{
	font-size: 18px;
	letter-spacing: 2px;
	color: #fff;
	background: #32652e;
	padding: 0 2em;
	line-height: 30px;
	border-radius: 15px;
	margin: 0;
	float: left;
}

.header_title h1{
	clear: both;
	font-size: 46px;
	line-height: 1em;
}

.header_inquiry{
	font-size: 0;
	padding: 10px 0 0;
	float: right;
}

.header_inquiry .phone{
	display: inline-block;
	width: 280px;
	height: 65px;
	padding: 0 0 0 75px;
	background: url(img/ico_tel04.png) no-repeat left center;
	background-size: contain;
}

.header_inquiry .phone .txt{
	display: block;
	width: 205px;
	font-size: 16px;
	color: #fff;
	background: #32652e;
	text-align: center;
	margin: 0;
}

.header_inquiry .phone .phone_num{
	display: block;
	width: 205px;
	font-size: 32px;
	line-height 1em;
	text-align: center;
	font-weight: bold;
	margin: 0;
}

.header_inquiry .phone .phone_num a {
	pointer-events: none;
}

.header_inquiry .mail{
	display: inline-block;
	width: 65px;
	height: 65px;
	vertical-align: top;
	text-align: center;
	font-size: 12px;
	color: #fff;
	margin: 0 10px 0;
}

.header_inquiry .mail a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 40px 0 0;
	background: #32652e url(img/ico_mail@2x.png) no-repeat center top 15px;
	background-size: 30px auto;
	border-radius: 10px;
}

.header_inquiry .access{
	display: inline-block;
	width: 65px;
	height: 65px;
	vertical-align: top;
	text-align: center;
	font-size: 12px;
	color: #fff;
}

.header_inquiry .access a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 40px 0 0;
	background: #c98181 url(img/ico_map@2x.png) no-repeat center top 15px;
	background-size: 30px auto;
	border-radius: 10px;
}

header .sp_menu{
	display: none;
}

.g_nav{
	margin: 0;
	padding: 20px 0;
	background: rgba(255,255,255,0.9);
}

.g_nav ul{
	font-size: 0;
	text-align: center;
}

.g_nav ul li{
	display: inline;
	font-size: 18px;
	margin: 0 0.5em;
}

.g_nav ul li a{
	padding: 0 0.2em;
	transition: 0.5s;
}

.g_nav ul li a:hover{
	border-bottom: 2px solid rgb(102,102,102,0.8);
}

.nav_fixed{
	position: fixed;
	top: 0;
	z-index: 10;
	width: 100%;
	box-shadow: 0 0 5px #666;
}

@media (max-width: 797px){
	header{
		border-top: none;
		padding: 0;
	}

	header .container{
		background: #fff;
		padding: 3vw 2vw;
		position: relative;
		border-top: 3vw solid #32652e;
		z-index: 10;
	}

	.header_title a{
		height: 12vw;
		padding: 0 0 0 12vw;
		margin: 0;
	}

	.header_title .txt1{
		font-size: 3vw;
		letter-spacing: 1px;
		line-height: 5vw;
		margin: 0 1vw 1vw 1vw;
	}

	.header_title .txt2{
		font-size: 3vw;
		letter-spacing: 1px;
		padding: 0 1em;
		line-height: 5vw;
		border-radius: 2.5vw;
	}

	.header_title h1 {
		font-size: 6vw;
	}

	.header_inquiry {
		padding: 1vw 0 0;
	}

	.header_inquiry .phone{
		display: inline-block;
		width: 10vw;
		height: 10vw;
		padding: 0;
		background: #b0954b url(img/ico_tel@2x.png) no-repeat center center;
		background-size: 6vw auto;
		border-radius: 10px;
	}

	.header_inquiry .phone .txt{
		display: none;
	}

	.header_inquiry .phone .phone_num{
		width: 10vw;
		height: 10vw;
		font-size: 0;
	}

	.header_inquiry .phone:hover {
		opacity: 0.8;
	}

	.header_inquiry .phone .phone_num a{
		display: block;
		width: 10vw;
		height: 10vw;
		pointer-events: auto;
	}

	.header_inquiry .mail{
		width: 10vw;
		height: 10vw;
		font-size: 0;
		margin: 0 2vw 0;
	}

	.header_inquiry .mail a{
		background: #29fc3 url(img/ico_mail@2x.png) no-repeat center center;
		background-size: 6vw auto;
	}

	.header_inquiry .access{
		display: none;
	}

	header .sp_menu{
		display: inline-block;
		width: 10vw;
		height: 10vw;
		font-weight: bold;
		text-align: center;
		background: #7398d1;
		cursor: pointer;
		padding: 6vw 0 0;
		border-radius: 10px;
		vertical-align: top;
		position: relative;
	}

	header .sp_menu span,
	header .sp_menu span::before,
	header .sp_menu span::after {
		display: block;
		width: 6vw;
		height: 1vw;
		content: "";
		background: #fff;
		border-radius: 0.5vw;
		position: absolute;
	}

	header .sp_menu span {
		top: 2vw;
		left: 2vw;
		transition: 0.5s;
	}

	header .sp_menu span::before {
		top: 2.5vw;
		transition: 0.5s;
	}

	header .sp_menu span::after {
		top: 5vw;
		transition: 0.5s;
	}

	header.open .sp_menu span{
		background: transparent;
	}

	header.open .sp_menu span::before {
		width: 8vw;
		left: -1vw;
		top: 2.5vw;
		transform: rotateZ(45deg);
	}

	header.open .sp_menu span::after {
		transform: rotateZ(135deg);
		width: 8vw;
		left: -1vw;
		top: 2.5vw;
	}

	.g_nav{
		display: block;
		margin: -100vh 0 0;
		padding: 0;
		background: rgba(255,255,255,1);
		box-shadow: 0 2px 2px rgba(50,101,46,0.3);
		position: absolute;
		top: 20vw;
		left: 0;
		z-index: 3;
		transition: 1s;
	}

	.g_nav .container{
		border-top: none;
	}

	.g_nav ul{
		font-size: 0;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.g_nav ul li{
		display: inline-block;
		width: 49%;
		font-size: 5vw;
		margin: 0;
		padding: 0;
		text-align: center;
		border-bottom: 1px dashed #32652e;
	}

	.g_nav ul li:nth-of-type(1),.g_nav ul li:nth-of-type(2){
		border-top: 1px dashed #32652e;
	}

	.g_nav ul li a{
		display: block;
		padding: 3vw 0;
		margin: 0;
	}

	.g_nav ul li:hover{
		border-bottom: 1px dashed #32652e;
		background: rgba(50,101,46,0.2);
	}

	.open .g_nav{
		margin: 0;
	}
}


/* Breadcrumb
-------------------------------------------*/
.breadcrumb ul{
	font-size: 0;
}

.breadcrumb ul li{
	display: inline-block;
	font-size: 16px;
}

.breadcrumb ul li:not(:last-of-type):after{
	display: inline-block;
	content: ">";
	padding: 0 5px;
}

.breadcrumb ul li:last-of-type{
	text-decoration: underline;
}

@media (max-width: 797px){
	.breadcrumb ul li {
		font-size: 3vw;
	}

	.breadcrumb ul li:not(:last-of-type):after {
		padding: 0 1vw;
	}
}


/* Main
-------------------------------------------*/

/* top_img
-------------------------------------------*/
.top_img{
	height: 500px;
	background: url(img/img_slide02@2x.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
	padding: 140px 0 0;
	margin: 0 0 80px;
}

.top_img h2{
	font-size: 28px;
	color: #fff;
	font-weight: normal;
	margin: 0 0 60px;
}

.top_img h2 span{
	font-size: 42px;
	font-weight: bold;
}

.top_img p{
	font-size: 22px;
	letter-spacing: 1px;
	line-height: 1.8em;
	color: #fff;
}

@media (max-width: 797px){
	.top_img{
		height: 56vw;
		padding: 10vw 0 0;
		margin: 0;
		background: url(img/img_slide02@2x.jpg) no-repeat right -10vw center;
		background-size: cover;
	}

	.top_img h2{
		font-size: 3.5vw;
		line-height: 2em;
		margin: 0 0 8vw;
	}

	.top_img h2 span{
		font-size: 5vw;
		font-weight: bold;
	}

	.top_img p {
		font-size: 4vw;
	}
}


/* main_img
-------------------------------------------*/
.main_img .container{
	height: 1036px;
	background: url(img/img_main@223x.jpg) no-repeat center bottom;
	background-size: 100% auto;
	color: #fff;
	text-align: center;
	padding: 160px 0 0;
	margin: 0 auto 50px;
}

.main_img h3{
	font-size: 32px;
	line-height: 1.8em;
	font-weight: bold;
	margin: 0 0 50px;
}

.main_img p{
	font-size: 18px;
	line-height: 1.8em;
	margin: 0 0 40px;
}

@media (max-width: 797px){
	.main_img .container{
		height: 150vw;
		padding: 5vw 0 0;
		margin: 0 auto 10vw;
	}

	.main_img h3{
		font-size: 5vw;
		letter-spacing: 0.2vw;
		line-height: 1.5em;
		margin: 0 0 3vw;
		color: #333;
	}

	.main_img p{
		font-size: 3.5vw;
		line-height: 1.8em;
		margin: 0 auto 3vw;
		color: #333;
	}
}


/* Subpage
-------------------------------------------*/
.subpage_top{
	background: #f5deb3;
	text-align: center;
	color: #fff;
	height: 300px;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 0 0 40px;
}

.subpage_top h2{
	font-size: 40px;
	letter-spacing: 5px;
	line-height: 1.2em;
	margin: 0 0 30px;
	font-weight: bold;
}

.subpage_top p{
	font-size: 20px;
	line-height: 1.8em;
}

@media (max-width: 797px){
	.subpage_top {
		height: 40vw;
		margin: 0 0 3vw;
	}

	.subpage_top h2 {
		font-size: 8vw;
		letter-spacing: 1vw;
		margin: 0 0 3vw;
	}

	.subpage_top p {
		font-size: 4vw;
	}
}


/* sub_contents
-------------------------------------------*/
.sub_contents{
	padding: 50px 0;
}

.sub_contents.pb0{
	padding: 50px 0 0;
}

.mb50{
	margin: 0 0 50px;
}

h2.sub_ttl{
	width: 740px;
	height: 40px;
	margin: 0 auto 60px;
	text-align: center;
	position: relative;
}

h2.sub_ttl:before{
	display: block;
	width: 100%;
	height: 1px;
	content: "";
	background: #ccc;
	position: absolute;
	top: 22px;
	z-index: 1;
}

h2.sub_ttl:after{
	width: 0;
	height: 0;
	content: "";
	border-top: 10px solid #ccc;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
	position: absolute;
	top: 50px;
	left: 355px;
}

h2.sub_ttl span{
	display: inline-block;
	font-size: 32px;
	letter-spacing: 4px;
	line-height: 40px;
	text-align: center;
	position: relative;
	z-index: 2;
	background: #fff;
	padding: 0 1em;
}

.bg_gray h2.sub_ttl span{
	background: #f6f0e6;
}

h3.sub_ttl02{
	width: 540px;
	height: 40px;
	margin: 0 auto 30px;
	text-align: center;
	position: relative;
}

h3.sub_ttl02:before{
	display: block;
	width: 100%;
	height: 1px;
	content: "";
	background: #ccc;
	position: absolute;
	top: 50%;
	z-index: 1;
}

h3.sub_ttl02.c01:before{
	background: #bc8e3f;
}

h3.sub_ttl02.c02:before{
	background: #7398d1;
}

h3.sub_ttl02.c03:before{
	background: #97b;
}

h3.sub_ttl02.c04:before{
	background: #bc8e3f;
}

h3.sub_ttl02 span{
	display: inline-block;
	min-width: 260px;
	font-size: 32px;
	letter-spacing: 4px;
	line-height: 40px;
	text-align: center;
	position: relative;
	z-index: 2;
	background: #fff;
	padding: 0 1em;
}

h3.sub_ttl02.c01 span{
	color: #bc8e3f;
}

h3.sub_ttl02.c02 span{
	color: #7398d1;
}

h3.sub_ttl02.c03 span{
	color: #97b;
}

h3.sub_ttl02.c04 span{
	color: #bc8e3f;
}

.bg_gray h3.sub_ttl02 span{
	background: #f6f0e6;
}

@media (max-width: 797px){
	.sub_contents {
		padding: 5vw 0;
	}

	.sub_contents.pb0 {
		padding: 5vw 0 0;
	}

	.sub_contents.mb50 {
		margin: 0 0 5vw;
	}

	h2.sub_ttl{
		width: 90vw;
		height: auto;
		margin: 0 auto 8vw;
	}

	h2.sub_ttl:before{
		height: 1px;
		top: 50%;
	}

	h2.sub_ttl:after{
		border-top: 3vw solid #ccc;
		border-right: 4vw solid transparent;
		border-left: 4vw solid transparent;
		top: auto;
		bottom: -4vw;
		left: 41vw;
	}

	h2.sub_ttl span{
		font-size: 6vw;
		line-height: 8vw;
		letter-spacing: 0.2vw;
		padding: 0 0.5em;
	}

	h3.sub_ttl02{
		width: 80vw;
		height: auto;
		margin: 0 auto 5vw;
	}

	h3.sub_ttl02 span {
		min-width: 40vw;
		font-size: 6vw;
		letter-spacing: 0.1vw;
	}
}


/* company_detail
-------------------------------------------*/
.company_detail dl{
	width: 800px;
	margin: 0 auto;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
	padding: 20px;
}

.company_detail dl dt{
	width: 20%;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
}

.company_detail dl dd{
	width: 80%;
}

@media (max-width: 797px){
	.company_detail dl{
		width: 100%;
		padding: 3vw 2vw;
	}

	.company_detail dl dt{
		width: 22%;
		font-size: 4vw;
		letter-spacing: 0.2vw;
	}

	.company_detail dl dd{
		width: 78%;
		font-size: 3.5vw;
	}
}


/* conpany_policy
-------------------------------------------*/
.conpany_policy .txt{
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 40px;
}

.conpany_policy .txt2{
	text-align: center;
	margin: 0 0 50px;
}

.conpany_policy .txt3{
	font-size: 28px;
	line-height: 1em;
	text-align: center;
	letter-spacing: 1em;
}

@media (max-width: 797px){
	.conpany_policy .txt {
		font-size: 6vw;
		margin: 0 0 8vw;
	}

	.conpany_policy .txt2{
		line-height: 1.8em;
		padding: 0 2vw;
		margin: 0 0 8vw;
		text-align: left;
	}

	.conpany_policy .txt3{
		font-size: 28px;
		line-height: 2em;
		text-align: center;
		letter-spacing: 1em;
	}
}


/* related_facilities
-------------------------------------------*/
.related_facilities a{
	display: block;
	width: auto;
	height: 70px;
	background: url(img/logo@2x.png) no-repeat left center;
	background-size: 70px 70px;
	padding: 0 0 0 80px;
	margin: 0 auto;
}

.related_facilities a:not(:last-of-type){
	margin: 0 auto 40px;
}

.related_facilities img{
	width: auto;
	height: 70px;
}

.related_facilities a.itako{
	width: 330px;
}

.related_facilities a.ajiki{
	width: 700px;
}

@media (max-width: 797px){
	.related_facilities a{
		height: 8vw;
		background: url(img/logo@2x.png) no-repeat left center;
		background-size: 8vw 8vw;
		padding: 0 0 0 10vw;
	}

	.related_facilities a:not(:last-of-type) {
		margin: 0 auto 5vw;
	}

	.related_facilities img {
		height: 8vw;
	}

	.related_facilities a.itako {
		width: 40vw;
	}

	.related_facilities a.ajiki {
		width: 82vw;
	}
}


/* relief
-------------------------------------------*/
.relief_top{
	height: 500px;
	background: url(img/img_roiyarutizu021.jpg) no-repeat center;
	background-size: cover;
	margin: 0 0 80px;
}

.relief_top .txt_box{
	width: 340px;
	height: 500px;
	text-align: center;
	color: #fff;
	background: rgb(60,106,135,0.6);
	padding: 80px 0 0;
}

.relief_top .ttl{
	width: 260px;
	height: 190px;
	margin: 0 auto 10px;
	border: 1px solid #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.relief_top .ttl span{
	font-size: 36px;
	font-weight: bold;
	letter-spacing: 2px;
	transform: rotateZ(4deg);
}

.relief_top .txt1{
	font-size: 20px;
	margin: 0 0 20px;
}

.relief_top .txt2{
	font-size: 32px;
	line-height: 1.3em;
}

.relief_top .txt2 span{
	font-size: 40px;
}

.relief .txt3{
	line-height: 1.8em;
	text-align: center;
}

@media (max-width: 797px){
	.relief_top{
		width: 100%;
		height: 60vw;
		background: url(img/img_roiyaltizu021.jpg) no-repeat right -18vw center;
		background-size: cover;
		margin: 0 0 10vw;
	}

	.relief_top .txt_box {
		width: 46vw;
		height: 60vw;
		padding: 3vw 0 0;
	}

	.relief_top .ttl {
		width: 40vw;
		height: 30vw;
		margin: 0 auto 2vw;
	}

	.relief_top .ttl span {
		font-size: 6vw;
		letter-spacing: 0.2vw;
	}

	.relief_top .txt1 {
		font-size: 3.5vw;
		margin: 0 0 2vw;
	}

	.relief_top .txt2 {
		font-size: 5vw;
	}

	.relief_top .txt2 span {
		font-size: 7vw;
	}

	.relief .txt3{
		text-align: left;
	}
}


/* relief_price
-------------------------------------------*/
.relief_price .txt1{
	font-size: 52px;
	font-weight: bold;
	color: #b15050;
	text-align: center;
	margin: 0 0 10px;
}

.relief_price .txt1 span{
	font-size: 32px;
	font-weight: bold;
}

.relief_price .txt2{
	text-align: center;
}

@media (max-width: 797px){
	.relief_price .txt1{
		font-size: 12vw;
		margin: 0;
	}

	.relief_price .txt1 span {
		font-size: 8vw;
	}
}


/* relief_benefits
-------------------------------------------*/
.relief_benefits .ttl{
	text-align: center;
	color: #707070;
	margin: 0 0 50px;
}

.relief_benefits .txt1{
	font-size: 24px;
	text-align: center;
	margin: 0 0 30px;
}

.relief_benefits .txt1 span{
	font-size: 32px;
	font-weight: bold;
	color: #b15050;
	padding: 0 0.2em;
}

.benefits_list{
	text-align: center;
	font-size: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.benefits_list:not(:last-of-type){
	margin: 0 0 50px;
}

.benefits_list li{
	width: 350px;
	height: 100px;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1.3em;
	color: #fff;
	background: #757a7a;
	border-radius: 8px;
}

.benefits_list li:not(:nth-of-type(3n-2)) {
	margin: 0 0 0 30px;
}

.benefits_list li span{
	font-size: 16px;
	line-height: 1.3em;
}

.benefits_list.list1 li{
	background: #7398d1;
}

.benefits_list.list2 li{
	background: #97b;
}

@media (max-width: 797px){
	.relief_benefits .ttl {
		margin: 0 0 5vw;
	}

	.relief_benefits .txt1 {
		font-size: 4vw;
		margin: 0 0 5vw;
	}

	.relief_benefits .txt1 span {
		font-size: 6vw;
	}

	.benefits_list{
		display: block;
	}

	.benefits_list:not(:last-of-type) {
		margin: 0 0 8vw;
	}

	.benefits_list li{
		width: 80%;
		height: auto;
		display: block;
		font-size: 6vw;
		margin: 0 auto 5vw;
		padding: 3vw 0;
	}

	.benefits_list li:not(:nth-of-type(3n-2)) {
		margin: 0 auto 5vw;
	}

	.benefits_list li span{
		display: block;
		font-size: 3.5vw;
		line-height: 6vw;
	}
}


/* relief_support
-------------------------------------------*/
.support .ttl{
	text-align: center;
	color: #707070;
	margin: 0 0 50px;
}

.support .txt1{
	font-size: 24px;
	text-align: center;
	margin: 0 0 40px;
}

.support .txt2{
	font-size: 24px;
	text-align: center;
}

@media (max-width: 797px){
	.support .ttl {
		margin: 0 0 5vw;
	}

	.support .txt1 {
		font-size: 4vw;
		margin: 0 0 8vw;
	}
	
	.support .txt2 {
		font-size: 4vw;
	}
}


/* relief_inquiry
-------------------------------------------*/
.relief_inquiry .txt1{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	color: #b15050;
	margin: 0 0 10px;
}

.relief_inquiry .txt2{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

@media (max-width: 797px){
	.relief_inquiry .txt1 {
		font-size: 8vw;
		margin: 0 0 2vw;
	}

	.relief_inquiry .txt2 {
		font-size: 5vw;
	}
}


/* Food & Gift
-------------------------------------------*/
.food_gift div{
	width: 50%;
	height: 500px;
	float: left;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
}

.food_gift div:after{
	display: block;
	width: 100%;
	height: 500px;
	content: "";
	background: rgba(0,0,0,0.5);
	position: absolute;
	left: 0;
	top: 0;
}

.food_gift .food_top{
	background: url(img/img_gift01@2x.jpg) no-repeat center;
	background-size: cover;
}

.food_gift .gift_top{
	background: url(img/img_gift02@2x.jpg) no-repeat center;
	background-size: cover;
}

.food_gift div a{
	display: block;
	width: 200px;
	height: 200px;
	border: 1px solid #fff;
	font-size: 40px;
	line-height: 200px;
	text-align: center;
	color: #fff;
	position: relative;
	z-index: 2;
}

.food_gift div a:after{
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-top: 10px solid #fff;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	position: absolute;
	top: 130px;
	left: 85px;
}

.food_ttl .ttl{
	text-align: center;
	margin: 0 0 30px;
}

.food_ttl ul{
	text-align: center;
	font-size: 0;
}

.food_ttl ul li{
	display: inline-block;
	width: 255px;
	height: 100px;
	margin: 0 0 60px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 100px 100px;
	vertical-align: top;
}

.food_ttl ul li:hover {
	opacity: 0.8;
}

.food_ttl ul li.food01{
	background-color: #7398d1;
	background-image: url(img/img_gift03@2x.jpg);
}

.food_ttl ul li.food02{
	background-color: #97b;
	background-image: url(img/img_gift04@2x.jpg);
}

.food_ttl ul li.food03{
	background-color: #bc8e3f;
	background-image: url(img/img_gift05@2x.jpg);
}

.food_ttl ul li.food04{
	background-color: #666;
	background-image: url(img/img_gift06@2x.jpg);
}

.food_ttl ul li:not(:first-of-type){
	margin-left: 30px;
}

.food_ttl ul li a{
	display: block;
	width: 100%;
	height: 100%;
	font-size: 24px;
	line-height: 1.3em;
	color: #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	text-align: left;
	padding: 0 0 0 115px;
}

.food_item:not(:last-of-type){
	margin: 0 0 50px;
}

.food_item .txt{
	text-align: center;
	margin: 0 0 30px;
}

.food_list{
	font-size: 0;
	text-align: center;
}

.food_list li{
	display: inline-block;
	width: 350px;
	font-size: 20px;
	margin: 0 0 40px;
}

.food_list li img{
	margin: 0 0 10px;
}

.food_list li:not(:nth-of-type(3n-2)) {
	margin-left: 30px;
}

.food_ttl ul li.gift01{
	background-color: #7398d1;
	background-image: url(img/img_gift22@2x.jpg);
}

.food_ttl ul li.gift02{
	background-color: #97b;
	background-image: url(img/img_gift23@2x.jpg);
}


@media (max-width: 797px){
	.food_gift div {
		height: 50vw;
	}

	.food_gift div:after {
		height: 50vw;
	}

	.food_gift div a {
		width: 30vw;
		height: 30vw;
		font-size: 7vw;
		line-height: 30vw;
	}

	.food_gift div a:after {
		border-top: 2vw solid #fff;
		border-left: 3vw solid transparent;
		border-right: 3vw solid transparent;
		top: 20vw;
		left: 12vw;
	}

	.food_ttl .ttl{
		text-align: left;
		margin: 0 0 5vw;
	}

	.food_ttl ul {
		margin: 0 0 5vw;
	}

	.food_ttl ul li{
		display: inline-block;
		width: 60vw;
		height: 20vw;
		margin: 0 0 5vw;
		background-size: 20vw 20vw;
	}

	.food_ttl ul li:not(:first-of-type){
		margin-left: 0;
	}

	.food_ttl ul li a {
		font-size: 6vw;
		padding: 0 0 0 22vw;
	}

	.food_item:not(:last-of-type) {
		margin: 0 0 10vw;
	}

	.food_item .txt {
		margin: 0 0 5vw;
	}

	.food_list li {
		width: 80vw;
		font-size:4vw;
		margin: 0 0 8vw;
	}

	.food_list li:not(:nth-of-type(3n-2)) {
		margin-left: 0;
	}

	.food_list li img {
		margin: 0 0 3vw;
	}
}


/* hall
-------------------------------------------*/
.hall_top{
	width: 100%;
	height: 500px;
	background: url(img/img_main@22x.jpg) no-repeat center bottom;
	background-size: 100%;
}

.hall_guide .txt1{
	text-align: center;
	margin: 0 0 40px;
}

.hall_detail{
	margin: 0 0 50px;
}

.hall_detail dl{
	margin: 0 auto;
	display: -ms-flexbox;
	display: flex;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.hall_detail dl:first-of-type{
	border-top: 1px solid #ccc;
}

.hall_detail dl dt{
	width: 25%;
	font-size: 20px;
	font-weight: bold;
	color: #707070;
	background: #eee;
	letter-spacing: 1px;
	padding: 20px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.hall_detail dl dd{
	width: 75%;
	padding: 20px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.hall_detail dl dd ul li{
	padding: 0 0 0 1em;
	position: relative;
}

.hall_detail dl dd ul li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.hall_guide .photo1 li{
	width: 540px;
	float: left;
	text-align: center;
	margin: 0 0 30px;
	font-size: 20px;
}

.hall_guide .photo1 li:nth-of-type(even){
	margin-left: 30px;
}

.hall_guide .photo2 li{
	width: 350px;
	float: left;
	text-align: center;
	margin: 0 0 30px;
	font-size: 20px;
}

.hall_guide .photo2 li:not(:nth-of-type(3n-2)) {
	margin-left: 30px;
}

.hall_guide .photo1 li img,.hall_guide .photo2 li img{
	margin: 0 0 10px;
}

.s_view .txt,.access .txt{
	text-align: center;
	margin: 0 0 40px;
}

@media (max-width: 797px){
	.hall_top {
		height: 40vw;
	}

	.hall_guide .txt1 {
		margin: 0 0 5vw;
	}

	.hall_detail {
		margin: 0 0 8vw;
	}

	.hall_detail dl dt{
		width: 30%;
		font-size: 4vw;
		letter-spacing: 0.1vw;
		padding: 3vw 2vw;
	}

	.hall_detail dl dd{
		width: 70%;
		padding: 3vw 2vw;
	}

	.hall_guide .photo1 li{
		width: 100%;
		float: none;
		margin: 0 0 5vw;
		font-size: 5vw;
	}

	.hall_guide .photo1 li:nth-of-type(even){
		margin-left: 0;
	}

	.hall_guide .photo2 li{
		width: 100%;
		float: none;
		margin: 0 0 5vw;
		font-size: 5vw;
	}

	.hall_guide .photo2 li:not(:nth-of-type(3n-2)) {
		margin-left: 0;
	}

	.hall_guide .photo1 li img,.hall_guide .photo2 li img {
		margin: 0 0 3vw;
	}

	.s_view .txt,.access .txt {
		margin: 0 0 5vw;
	}

	.s_view iframe,.access iframe{
		width: 100%;
		height: 50vw;
	}
}


/* plan
-------------------------------------------*/
.plan_top{
	width: 100%;
	height: 500px;
	background: url(img/img_sabisu01.jpg) no-repeat center bottom;
	background-size: 100%;
}

.plan_guide .txt1{
	text-align: center;
}

.plan_price{
	text-align: center;
	font-size: 0;
	margin: 0 0 30px;
}

.plan_price li{
	display: inline-block;
	font-size: 20px;
	position: relative;
	padding: 0 0 0 90px;
	margin: 0 10px;
}

.plan_price li strong{
	font-size: 32px;
	font-weight: normal;
}

.plan_price li span{
	display: inline-block;
	background: #666;
	font-size: 16px;
	color: #fff;
	padding: 0.1em 0.5em;
	position: absolute;
	top: 13px;
	left: 0;
}

.plan_price li:nth-of-type(2){
	color: #b15050;
}

.plan_price li:nth-of-type(2) span{
	background: #c98181;
}

.plan_detail01 .img01{
	width: 730px;
	float: left;
}

.plan_detail01 .img_box{
	width: 350px;
	float: left;
	margin: 0 0 0 30px;
}

.plan_detail01 .img01 span,
.plan_detail01 .img02 span,
.plan_detail01 .img03 span{
	display: block;
	text-align: center;
	height: 70px;
	padding: 10px 0 0;
}

.plan_detail01 .img02{
	margin: 0 0 15px;
}

.plan_detail02{
	margin: 0 0 50px;
}

.plan_detail02 dl.plan_txt1{
	width: 730px;
	float: left;
}

.plan_detail02 dl.plan_txt2{
	width: 350px;
	float: left;
	margin: 0 0 0 30px;
}

.plan_detail02 dl dt{
	font-size: 20px;
	color: #fff;
	text-align: center;
	background: #303030;
	line-height: 50px;
	margin: 0 0 10px;
}

.plan_detail02 dl.c02 dt{
	background: #7398d1;
}

.plan_detail02 dl.c03 dt{
	background: #97b;
}

.plan_detail02 dl.c04 dt{
	background: #666;
}

.plan_btn{
	width: 540px;
	font-size: 20px;
	color: #fff;
	text-align: center;
	margin: 0 auto 30px;
}

.plan_btn a{
	display: block;
	width: 100%;
	background: #bc8e3f;
	padding: 20px 0;
	position: relative;
	transition: 0.5s;
}

.plan_btn a:after{
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-top: 10px solid #bc8e3f;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	position: absolute;
	bottom: -20px;
	left: 255px;
	pointer-events: none;
}

.compare .txt1{
	text-align: center;
	margin: 0 0 30px;
}

.compare .ttl1{
	width: 825px;
	margin: 0 0 30px auto;
	text-align: center;
	font-size: 20px;
	color: #fff;
	background: #666;
	height: 60px;
	line-height: 60px;
	border-radius: 10px 10px 0 0/10px 10px 0 0;
}

.compare .list1{
	width: 825px;
	margin: 0 0 20px auto;
	font-size: 0;
}

.compare .list1 li{
	display: inline-block;
	width: 255px;
	font-size: 20px;
	color: #fff;
	text-align: center;
	line-height: 2em;
}

.compare .list1 li:nth-of-type(1){
	background: #7398d1;
}

.compare .list1 li:nth-of-type(2){
	background: #97b;
	margin: 0 30px 0;
}

.compare .list1 li:nth-of-type(3){
	background: #777;
}

.compare .compare_list {
	display: -ms-flexbox;
	display: flex;
}

.compare .compare_list .ttl2{
	width: 65px;
	font-size: 20px;
	line-height: 1.2em;
	color: #fff;
	background: #ccc;
	border-radius: 10px 0 0 10px/10px 0 0 10px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 30px 0 0;
	padding: 0 1em;
}

.compare .compare_list .list2{
	font-size: 0;
	border-bottom: 1px solid #ccc;
	display: -ms-flexbox;
	display: flex;
}

.compare .compare_list .list2:last-of-type{
	border: none;
}

.compare .compare_list .list2 li{
	width: 255px;
	margin: 0 0 0 30px;
	font-size: 60px;
	font-weight: bold;
	color: #bc8e3f;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.compare .compare_list .list2 li:nth-of-type(1){
	width: 160px;
	margin: 0;
	padding: 10px 0 0;
	flex-direction: column;
}

.compare .compare_list .list2 li span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	color: #666;
	line-height: 2em;
	text-align: center;
}

.compare .compare_list .list2 li:nth-of-type(2) {
	background: rgb(113,154,210,0.1);
}

.compare .compare_list .list2 li:nth-of-type(3) {
	background: rgb(150,122,188,0.1);
}

.compare .compare_list .list2 li:nth-of-type(4){
	background: #eee;
}

.provide{
	font-size: 0;
}

.provide li{
	display: inline-block;
	width: 350px;
	font-size: 16px;
	line-height: 2em;
	text-align: center;
}

.provide li:nth-of-type(3n-1){
	margin: 0 30px;
}

.relief_add{
	padding: 50px 0 0;
	text-align: center;
}

.relief_add .txt{
	font-size: 24px;
	margin: 0 0 50px;
}

.relief_add .txt span{
	font-size: 32px;
	color: #b15050;
	font-weight: bold;
	padding: 0 0.2em 0 0;
}

.relief_add .relief_btn{
	width: 500px;
	margin: 0 auto;
	text-align: center;
	font-size: 20px;
	color: #fff;
}

.relief_add .relief_btn a{
	display: block;
	width: 100%;
	padding: 1.5em 0;
	background: #bc8e3f;
	transition: 0.5s;
}

@media (max-width: 797px){
	.plan_top {
		height: 42vw;
	}

	.plan_price {
		margin: 0 0 5vw;
	}

	.plan_price li {
		font-size: 6vw;
		padding: 0 0 0 23vw;
		margin: 0 0 2vw;
	}

	.plan_price li strong{
		font-size: 8vw;
		font-weight: bold;
	}

	.plan_price li span {
		font-size: 4vw;
		top: 3vw;
	}

	.plan_detail01 .img01{
		width: 100%;
		float: none;
	}

	.plan_detail01 .img_box{
		width: 100%;
		float: none;
		margin: 0 0 5vw;
	}

	.plan_detail01 .img01 span,
	.plan_detail01 .img02 span,
	.plan_detail01 .img03 span {
		height: 12vw;
		padding: 2vw 0 0;
	}

	.plan_detail01 .img02{
		margin: 0;
	}

	.plan_detail02 {
		margin: 0 0 5vw;
	}

	.plan_detail02 dl.plan_txt1{
		width: 100%;
		float: none;
		margin: 0 0 5vw;
	}

	.plan_detail02 dl.plan_txt2{
		width: 100%;
		float: none;
		margin: 0 0 10vw;
	}

	.plan_detail02 dl dt {
		font-size: 5vw;
		line-height: 10vw;
		margin: 0 0 2vw;
	}

	.plan_btn {
		width: 60vw;
		font-size: 4vw;
		margin: 0 auto 8vw;
	}

	.plan_btn a {
		padding: 3vw 0;
	}

	.plan_btn a:after {
		border-top: 3vw solid #bc8e3f;
		border-left: 5vw solid transparent;
		border-right: 5vw solid transparent;
		bottom: -5vw;
		left: 25vw;
	}

	.compare .txt1 {
		margin: 0 0 5vw;
	}

	.compare .ttl1{
		width: 100%;
		margin: 0 0 5vw;
		font-size: 6vw;
		height: 12vw;
		line-height: 12vw;
		border-radius: 2vw 2vw 0 0/2vw 2vw 0 0;
	}

	.compare .list1{
		display: none;
	}

	.compare .compare_list .ttl2{
		display: none;
	}

	.compare .compare_list .list2{
		display: block;
		margin: 0 0 3vw;
	}

	.compare .compare_list .list2:after{
		display: block;
		content: "";
		clear: both;
	}

	.compare .compare_list .list2 li{
		width: 54%;
		height: 12vw;
		margin: 0;
		font-size: 6vw;
		line-height: 12vw;
		display: block;
		float: left;
		padding: 0 0 0 39vw;
		position: relative;
	}

	.compare .compare_list .list2 li:nth-of-type(1){
		width: 46%;
		height: auto;
		padding: 0;
		float: left;
	}

	.compare .compare_list .list2 li span {
		font-size: 3vw;
		margin: 0 0 2vw;
	}

	.compare .compare_list .list2 li:nth-of-type(2):before,
	.compare .compare_list .list2 li:nth-of-type(3):before,
	.compare .compare_list .list2 li:nth-of-type(4):before{
		display: block;
		height: 8vw;
		line-height: 8vw;
		font-size: 4vw;
		font-weight: normal;
		color: #fff;
		width: 34vw;
		text-align: center;
		position: absolute;
		top: 2vw;
		left: 1vw;
	}

	.compare .compare_list .list2 li:nth-of-type(2):before{
		content: "洋型祭壇Aプラン";
		background: #7398d1;
		
	}

	.compare .compare_list .list2 li:nth-of-type(3):before{
		content: "洋型祭壇Bプラン";
		background: #97b;
	}

	.compare .compare_list .list2 li:nth-of-type(4):before{
		content: "洋型祭壇Cプラン";
		background: #777;
	}

	.provide li{
		width: 100%;
		font-size: 4vw;
		margin: 0 0 3vw;
	}

	.provide li:nth-of-type(3n-1) {
		margin: 0 0 3vw;
	}

	.relief_add {
		padding: 10vw 0 0;
	}

	.relief_add .txt {
		font-size: 5vw;
		margin: 0 0 10vw;
	}

	.relief_add .txt span {
		font-size: 8vw;
	}

	.relief_add .relief_btn {
		width: 80vw;
		font-size: 4vw;
	}
}


/* manners
-------------------------------------------*/
.manners_top{
	width: 100%;
	height: 500px;
	background: url(img/img_2toiawase02.jpg) no-repeat center bottom;
	background-size: 100%;
	padding: 80px 0 0 0;
}

.manners_top p{
	width: 340px;
	height: 340px;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	font-size: 40px;
	line-height: 340px;
	font-weight: bold;
	background: rgba(0,0,0,0.5);
	border-radius: 50%;
}

.manners_detail .txt1{
	margin: 0 0 50px;
}

.manners_list01{
	text-align: center;
	font-size: 0;
}

.manners_list01 li{
	display: inline-block;
	width: 160px;
	min-height: 360px;
	vertical-align: top;
	font-size: 14px;
	line-height: 1.8em;
	text-align: left;
}

.manners_list01 li:not(:first-child){
	margin: 0 0 0 30px;
}

.manners_list01 li span{
	display: block;
	font-size: 16px;
	height: 2em;
	line-height: 2em;
	color: #fff;
	text-align: center;
	background: #33cc99;
	border-radius: 10px 10px 0 0/10px 10px 0 0;
}

.manners_list01 li img{
	margin: 0 0 10px;
}

.manners_detail .img01{
	width: 160px;
	margin: 0 auto;
}

.manners_detail02:not(:last-of-type){
	margin: 0 0 60px;
}

.manners_detail02 li{
	width: 540px;
	float: left;
}

.manners_detail02 li:nth-of-type(even){
	margin: 0 0 0 30px;
}

.manners_detail02 li .img{
	text-align: center;
	margin: 0 0 20px;
}

.manners_detail02 li .img img{
	width: auto;
	height: 150px;
}

.manners_detail h3.ttl{
	font-size: 20px;
	font-weight: normal;
	color: #fff;
	background: #97b;
	text-align: center;
	line-height: 2em;
	margin: 0 0 10px;
}

.manners_list02{
	font-size: 0;
	text-align: center;
	padding: 50px 0;
}

.manners_list02 li{
	display: inline-block;
	vertical-align: top;
	width: 350px;
}

.manners_list02 li:not(:nth-of-type(3n-2)) {
	margin: 0 0 0 30px;
}

.manners_list02 li .img01{
	width: 100%;
	background: #fff;
	height: auto;
	padding: 20px 0;
	margin: 0 0 10px;
}

.manners_list02 li .img01 img{
	width: auto;
	height: 190px;
}

.manners_list02 li .txt1{
	font-size: 16px;
	color: #fff;
	background:#666;
	line-height: 2em;
	margin: 0 0 10px;
}

.manners_list02 li .txt2{
	font-size: 16px;
	text-align: left;
}

@media (max-width: 797px){
	.manners_top {
		height: 42vw;
		padding: 3vw 0 0 0;
	}

	.manners_top p {
		width: 36vw;
		height: 36vw;
		font-size: 6vw;
		line-height: 36vw;
	}

	.manners_detail .txt1 {
		margin: 0 0 10vw;
	}

	.manners_list01 li{
		display: block;
		width: 80%;
		min-height: 0;
		font-size: 3.5vw;
		text-align: center;
		margin: 0 auto 5vw;
	}

	.manners_list01 li:not(:first-child) {
		margin: 0 auto 5vw;
	}

	.manners_list01 li span {
		font-size: 5vw;
	}

	.manners_list01 li img{
		display: block;
		width: 60vw;
		margin: 0 auto 2vw;
	}

	.manners_detail .img01 {
		width: 60vw;
	}

	.manners_detail02:not(:last-of-type) {
		margin: 0 0 10vw;
	}

	.manners_detail02 li{
		width: 100%;
		float: none;
	}

	.manners_detail02 li:nth-of-type(even){
		margin: 0;
	}

	.manners_detail02 li .img {
		margin: 0 0 3vw;
	}

	.manners_detail02 li .img img {
		height: 40vw;
	}

	.manners_detail02 li p {
		margin: 0 0 5vw;
	}

	.manners_detail h3.ttl {
		font-size: 5vw;
		margin: 0 0 2vw;
	}

	.manners_list02 {
		padding: 3vw 0 0;
	}

	.manners_list02 li{
		display: block;
		width: 90%;
		margin: 0 auto;
	}

	.manners_list02 li:not(:nth-of-type(3n-2)) {
		margin: 0 auto;
	}

	.manners_list02 li .img01 {
		padding: 3vw 0;
		margin: 0 0 2vw;
	}

	.manners_list02 li .img01 img {
		height: 40vw;
	}

	.manners_list02 li .txt1 {
		font-size: 5vw;
		margin: 0 0 3vw;
	}

	.manners_list02 li .txt2 {
		font-size: 4vw;
		margin: 0 0 5vw;
	}
}


/* inquiry
-------------------------------------------*/
.inquiry .txt1{
	text-align: center;
	line-height: 1.8em;
	margin: 0 0 30px;
}

.inquiry .txt2{
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 10px;
}

.inquiry .txt3{
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 50px;
}

.inquiry_detail dl{
	border-top: 1px solid #ccc;
	display: -ms-flexbox;
	display: flex;
}

.inquiry_detail dl:last-of-type{
	border-bottom: 1px solid #ccc;
	margin: 0 0 20px;
}

.inquiry_detail dl dt{
	width: 25%;
	background: #eee;
	font-size: 20px;
	line-height: 30px;
	font-weight: bold;
	padding: 30px 0 30px 20px;
}

.inquiry_detail dl dt span{
	display: inline-block;
	font-size: 60%;
	font-weight: normal;
	color: #b15050;
	border: 1px solid #b15050;
	padding: 0 0.5em 0.1em;
	margin: 0 0 0 1em;
	vertical-align: middle;
}

.inquiry_detail dl dd{
	width: 75%;
	padding: 20px 0 20px 30px;
}

.inquiry_detail dl dd input[type="text"],
.inquiry_detail dl dd input[type="email"],
.inquiry_detail dl dd input[type="tel"]{
	width: 100%;
	height: 50px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 20px;
	line-height: 20px;
	padding: 0 1em;
	color: #666;
}

.inquiry_detail dl dd textarea{
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 20px;
	padding: 0.5em 1em;
	color: #666;
}

.inquiry_detail dl dd input[type="radio"]{
	display: none;
}

.inquiry_detail dl dd label.radio_btn{
	display: inline-block;
	font-size: 20px;
	margin: 0 40px 0 0;
	padding: 10px 0 0 30px;
	position: relative;
}

.inquiry_detail dl dd label.radio_btn:before{
	display: block;
	width: 20px;
	height: 20px;
	content: "";
	border: 1px solid #999;
	border-radius: 50%;
	position: absolute;
	top: 16px;
	left: 0;
}

.inquiry_detail dl dd input[type="radio"]:checked + label.radio_btn:after{
	display: block;
	width: 12px;
	height: 12px;
	content: "";
	position: absolute;
	top: 20px;
	left: 4px;
	background: #aaa;
	border-radius: 50%;
}

.inquiry_detail input[type="submit"]{
	display: block;
	width: 350px;
	margin: 0 auto;
	background: #7398d1;
	border: none;
	color: #fff;
	font-size: 20px;
	padding: 10px;
	transition: 0.5s;
	cursor: pointer;
}

.inquiry_detail input[type="submit"]:hover{
	opacity: 0.8;
	box-shadow: 0 0 5px #999;
}

.inquiry .txt4{
	text-align: center;
	margin: 0 0 20px;
}

.inquiry .error_messe{
	color: #f00;
	font-size: 16px;
	text-align: center;
	margin: 0 0 20px;
}

.inquiry table{
	width: 80%;
	margin: 0 auto 20px;
}

.inquiry table th{
	width: 25%;
	background: #eee;
	font-size: 20px;
	line-height: 30px;
	font-weight: bold;
	padding: 10px 0 10px 20px;
}

.inquiry table td{
	width: 75%;
	padding: 10px 0 10px 30px;
	border: 1px solid #eee;
}

.inquiry input[type="button"]{
	display: block;
	width: 350px;
	margin: 0 auto;
	background: #ccc;
	border: none;
	color: #fff;
	font-size: 20px;
	padding: 10px;
	transition: 0.5s;
	cursor: pointer;
}

.inquiry input[type="button"]:hover{
	opacity: 0.8;
	box-shadow: 0 0 5px #999;
}

.top_btn{
	display: block;
	width: 350px;
	margin: 0 auto;
	background: #7398d1;
	border: none;
	color: #fff;
	font-size: 20px;
	text-align: center;
	transition: 0.5s;
}

.top_btn a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px;
}

.top_btn:hover{
	opacity: 0.8;
	box-shadow: 0 0 5px #999;
}

.inquiry .submit_btn{
	width: 800px;
	margin: 0 auto;
	text-align: center;
	font-size: 0;
}

.inquiry .submit_btn input[type="submit"]{
	display: inline-block;
	width: 350px;
	margin: 0 auto;
	background: #7398d1;
	border: none;
	color: #fff;
	font-size: 20px;
	padding: 10px;
	transition: 0.5s;
	cursor: pointer;
	margin: 0 20px 0 0;
}

.inquiry .submit_btn input[type="submit"]:hover{
	opacity: 0.8;
	box-shadow: 0 0 5px #999;
}

.inquiry .submit_btn input[type="button"]{
	display: inline-block;
}

@media (max-width: 797px){
	.inquiry .txt1 {
		margin: 0 0 5vw;
	}

	.inquiry .txt2 {
		font-size: 8vw;
		margin: 0 0 2vw;
	}

	.inquiry .txt3 {
		font-size: 8vw;
		margin: 0 0 10vw;
	}

	.inquiry_detail dl{
		display: block;
	}

	.inquiry_detail dl:last-of-type {
		margin: 0 0 5vw;
	}

	.inquiry_detail dl dt{
		width: 100%;
		font-size: 4vw;
		line-height: 6vw;
		padding: 0.5em 1em;
		border-bottom: 1px solid #ccc;
	}

	.inquiry_detail dl dt span{
		font-size: 3vw;
		margin: 0.5vw 0 0 1em;
		vertical-align: top;
	}

	.inquiry_detail dl dd{
		width: 100%;
		padding: 3vw 0;
	}

	.inquiry_detail dl dd input[type="text"],
	.inquiry_detail dl dd input[type="email"],
	.inquiry_detail dl dd input[type="tel"]{
		height: 10vw;
		font-size: 4vw;
		line-height: 1.5em;
	}

	.inquiry_detail dl dd textarea {
		font-size: 4vw;
	}

	.inquiry_detail dl dd label.radio_btn {
		font-size: 4vw;
		margin: 0 6vw 0 0;
		padding: 2vw 0 2vw 6vw;
	}

	.inquiry_detail dl dd label.radio_btn:before {
		width: 4.2vw;
		height: 4.2vw;
		top: 3vw;
		left: 1vw;
	}

	.inquiry_detail dl dd input[type="radio"]:checked + label.radio_btn:after{
		width: 3vw;
		height: 3vw;
		top: 3.5vw;
		left: 1.5vw;
	}

	.inquiry_detail input[type="submit"]{
		width: 60%;
		font-size: 4vw;
		padding: 2vw;
	}

	.top_btn {
		width: 50vw;
		font-size: 4vw;
	}

	.top_btn a {
		padding: 2vw;
	}

	.top_btn:hover{
		opacity: 0.8;
		box-shadow: 0 0 5px #999;
	}

	.inquiry .error_messe {
		font-size: 4vw;
		margin: 0 0 3vw;
	}

	.inquiry input[type="button"]{
		width: 60%;
		font-size: 4vw;
		padding: 2vw;
	}

	.inquiry table{
		width: 100%;
		margin: 0 auto 5vw;
	}

	.inquiry table th{
		width: 30%;
		font-size: 3.5vw;
		line-height: 1.2em;
		padding: 2vw 0 2vw 0;
	}

	.inquiry table td{
		width: 70%;
		padding: 2vw 0 2vw 2vw;
	}

	.inquiry .submit_btn{
		width: 90%;
	}

	.inquiry .submit_btn input[type="submit"] {
		width: 40vw;
		font-size: 4vw;
		padding: 2vw;
		margin: 0 2vw 0 0;
	}

	.inquiry .submit_btn input[type="button"] {
		width: 40vw;
		font-size: 4vw;
		padding: 2vw;
	}
}


/* ボトム共通部分01 斎場案内
-------------------------------------------*/
.btm_cmn_01{
	margin: 0 0 50px;
}

.btm_cmn_01 .ttl{
	width: 260px;
	height: 260px;
	text-align: center;
	font-size: 28px;
	line-height: 260px;
	letter-spacing: 2px;
	color: #fff;
	background: #b0954b;
	float: left;
	margin: 0 30px 0 0;
}

.guide_item{
	width: 820px;
	height: 260px;
	text-align: center;
	color: #fff;
	background: url(img/img_guide@23x.jpg) no-repeat center center;
	background-size: cover;
	float: left;
	padding: 60px 0 0;
}

.guide_item p{
	font-size: 20px;
	line-height: 30px;
	margin: 0 0 30px;
}

.guide_item p span{
	font-size: 32px;
}

.guide_item a{
	display: block;
	width : 400px;
	border: 1px solid #fff;
	font-size: 20px;
	margin: 0 auto;
	padding: 10px 0;
	position: relative;
}

.guide_item a:after{
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-left: 10px solid #fff;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	position: absolute;
	top: 12px;
	right: 20px;
}

@media (max-width: 797px){
	.btm_cmn_01 {
		margin: 0 0 10vw;
	}

	.btm_cmn_01 .ttl{
		width: 100%;
		height: 20vw;
		font-size: 6vw;
		line-height: 20vw;
		letter-spacing: 0.1vw;
		float: none;
		margin: 0;
	}

	.guide_item{
		width: 100%;
		height: 60vw;
		float: none;
		padding: 12vw 0 0;
	}

	.guide_item p {
		font-size: 6vw;
		line-height: 8vw;
		margin: 0 0 5vw;
	}

	.guide_item p span {
		font-size: 8vw;
	}

	.guide_item a{
		width : 80%;
		font-size: 4vw;
		padding: 2vw 0;
	}

	.guide_item a:after {
		border-left: 3vw solid #fff;
		border-top: 2vw solid transparent;
		border-bottom: 2vw solid transparent;
		top: 3.2vw;
		right: 4vw;
	}
}


/* ボトム共通部分02 問合せ
-------------------------------------------*/
.btm_cmn_02{
	margin: 0 0 80px;
}

.bottom_inquiry{
	font-size: 0;
	background: #b0954b;
	height: 185px;
	padding: 30px;
}

.bottom_inquiry .phone{
	width: 660px;
	height: 125px;
	padding: 5px 0 0 140px;
	background: url(img/ico_tel04.png) no-repeat left center;
	background-size: 125px 125px;
	float: left;
}

.bottom_inquiry .phone .txt{
	display: block;
	width: 520px;
	font-size: 24px;
	color: #fff;
	background: #303030;
	text-align: center;
}

.bottom_inquiry .phone .phone_num{
	display: block;
	width: 520px;
	font-size: 82px;
	line-height: 1em;
	letter-spacing: 0px;
	color: #fff;
	text-align: center;
	margin: -20px 0 0;
}

.bottom_inquiry .phone .phone_num a {
	pointer-events: none;
}

.bottom_inquiry .mail{
	width: 360px;
	height: 125px;
	background: #32652e url(img/ico_mail@2x.png) no-repeat left 25px top 25px;
	background-size: 40px auto;
	text-align: right;
	font-size: 20px;
	color: #fff;
	border-radius: 8px;
	margin: 0;
	float: right;
}

.bottom_inquiry .mail:hover {
	opacity: 0.8;
	transition: 0.5s;
}

.bottom_inquiry .mail span{
	display: block;
	font-size: 12px;
	text-align: center;
	padding: 10px 0 0;
}

.bottom_inquiry .mail a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 24px 25px 0;
}

@media (max-width: 797px){
	.btm_cmn_02 {
		margin: 0 0 10vw;
	}

	.bottom_inquiry{
		height: auto;
		padding: 5vw;
	}

	.bottom_inquiry .phone{
		width: 100%;
		height: auto;
		padding: 0;
		float: none;
		background: none;
	}

	.bottom_inquiry .phone .txt{
		width: 100%;
		font-size: 6vw;
		line-height: 2em;
		margin: 0;
	}

	.bottom_inquiry .phone .phone_num{
		width: 100%;
		font-size: 11vw;
		line-height: 1em;
		margin: 0;
	}

	.bottom_inquiry .phone .phone_num a{
		display: block;
		text-align: right;
		background: url(img/ico_24w@2x.png) no-repeat left center;
		background-size: 14vw;
		pointer-events: auto;
		padding: 2vw 0 3vw;
	}

	.bottom_inquiry .mail{
		width: 100%;
		height: 22vw;
		background: #32652e url(img/ico_mail@2x.png) no-repeat left 4vw top 3vw;
		background-size: 8vw auto;
		font-size: 5vw;
		float: none;
	}

	.bottom_inquiry .mail span{
		font-size: 3vw;
		line-height: 1.3em;
		padding: 2vw 0 0;
	}

	.bottom_inquiry .mail a {
		padding: 3vw 4vw 0;
	}
}


/* ボトム共通部分03 プラン紹介
-------------------------------------------*/
.btm_cmn_03{
	padding: 50px 0 40px;
}

.btm_cmn_03 h3{
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 40px;
}

.btm_cmn_03 ul li{
	width: 350px;
	float: left;
	margin: 0 0 40px;
}

.btm_cmn_03 ul li:nth-of-type(3n-1){
	margin: 0 30px 40px;
}

.btm_cmn_03 ul li .ttl{
	height: 60px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 28px;
	color: #fff;
}

.btm_cmn_03 ul li.plan_a .ttl,.btm_cmn_03 ul li.plan_a .btn{
	background: #7398d1;
}

.btm_cmn_03 ul li.plan_b .ttl,.btm_cmn_03 ul li.plan_b .btn{
	background: #97b;
}

.btm_cmn_03 ul li.plan_c .ttl,.btm_cmn_03 ul li.plan_c .btn{
	background: #777;
}

.btm_cmn_03 ul li .img{
	width: 100%;
	height: 248px;
	overflow: hidden;
	margin: 0 0 10px;
}

.btm_cmn_03 ul li .price{
	font-size: 20px;
	line-height: 40px;
	color: #303030;
	letter-spacing: 2px;
	margin: 0;
	padding: 0 0 0 110px;
	position: relative;
}

.btm_cmn_03 ul li .price.member{
	color: #b15050;
}

.btm_cmn_03 ul li .price strong{
	font-size: 32px;
	font-weight: normal;
}

.btm_cmn_03 ul li .price span{
	display: block;
	width: 100px;
	font-size: 16px;
	text-align: center;
	color: #fff;
	background: #666;
	padding: 2px 0 3px;
	position: absolute;
	top: 11px;
	left: 0;
}

.btm_cmn_03 ul li .price.member span{
	background: #c98181;
}

.btm_cmn_03 ul li .btn{
	height: 50px;
	font-size: 20px;
	color: #fff;
	margin: 10px 0 0;
}

.btm_cmn_03 ul li .btn:hover {
	opacity: 0.8;
}

.btm_cmn_03 ul li .btn a{
	display: block;
	width: 100%;
	height: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.btm_cmn_03 .plan_link{
	display: block;
	width : 400px;
	border: 1px solid #666;
	font-size: 20px;
	text-align: center;
	margin: 0 auto;
	padding: 10px 0;
	position: relative;
}

.btm_cmn_03 .plan_link:after{
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-left: 10px solid #666;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	position: absolute;
	top: 12px;
	right: 20px;
}

@media (max-width: 797px){
	.btm_cmn_03 {
		padding: 10vw 0 8vw;
	}

	.btm_cmn_03 h3 {
		font-size: 6vw;
		margin: 0 0 5vw;
	}

	.btm_cmn_03 ul li{
		width: 100%;
		float: none;
		margin: 0 0 5vw;
		background: #fff;
		padding: 2vw;
		box-shadow: 0 0 2vw rgba(0,0,0,0.1);
		border-radius: 0.5vw;
	}

	.btm_cmn_03 ul li:nth-of-type(3n-1) {
		margin: 0 0 5vw;
	}

	.btm_cmn_03 ul li .ttl {
		height: 12vw;
		font-size: 6vw;
	}

	.btm_cmn_03 ul li .img{
		width: 100%;
		height: 60vw;
		margin: 0 0 3vw;
	}

	.btm_cmn_03 ul li .price {
		font-size: 5vw;
		line-height: 8vw;
		letter-spacing: 0.2vw;
		padding: 0 0 0 24vw;
	}

	.btm_cmn_03 ul li .price strong{
		font-size: 8vw;
		font-weight: bold;
	}

	.btm_cmn_03 ul li .price span {
		width: 22vw;
		font-size: 4vw;
		padding: 0.5vw 0 1vw;
		top: 2.5vw;
	}

	.btm_cmn_03 ul li .btn {
		height: 10vw;
		font-size: 5vw;
		margin: 3vw 0 0;
	}

	.btm_cmn_03 .plan_link {
		width : 90vw;
		font-size: 5vw;
		padding: 2vw 0;
	}

	.btm_cmn_03 .plan_link:after {
		border-left: 3vw solid #666;
		border-top: 3vw solid transparent;
		border-bottom: 3vw solid transparent;
		top: 2vw;
		right: 2vw;
	}
}


/* ボトム共通部分04 各種ご案内
-------------------------------------------*/
.btm_cmn_04{
	padding: 50px 0 0;
}

.btm_cmn_04 .ttl{
	width: 260px;
	height: 200px;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 2px;
	color: #fff;
	background: #b0954b;
	float: left;
	margin: 0;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.btm_cmn_04 .ttl .txt1{
	font-size: 32px;
	margin: 0 0 30px;
}

.btm_cmn_04 .manners .ttl{
	background: #32652e;
}

.btm_cmn_04 .relief .ttl{
	background: #c98181;
}

.btm_cmn_04 .serve01{
	margin: 0 0 40px;
}

.btm_cmn_04 .serve01:hover {
	opacity: 0.8;
	transition: 0.5s;
}

.btm_cmn_04 .serve01 .img01{
	width: 430px;
	height: 200px;
	float: left;
	overflow: hidden;
}

.btm_cmn_04 .serve01 .img02{
	width: 210px;
	height: 200px;
	float: left;
	overflow: hidden;
}

.btm_cmn_04 .serve01 .img02 img{
	width: auto;
	height: 200px;
}

.btm_cmn_04 .serve02{
	margin: 0 0 40px;
}

.btm_cmn_04 .serve_box{
	width: 540px;
}

.btm_cmn_04 .serve_box:hover {
	opacity: 0.8;
	transition: 0.5s;
}

.btm_cmn_04 .serve_box.manners{
	float: left;
}

.btm_cmn_04 .serve_box.relief{
	float: right;
}

.btm_cmn_04 .serve_box .img01{
	width: 280px;
	height: 200px;
	float: left;
	overflow: hidden;
}

.btm_cmn_04 .serve_box .img01 img{
	width: auto;
	height: 200px;
}

@media (max-width: 797px){
	btm_cmn_04 {
		padding: 10vw 0 0;
	}

	.btm_cmn_04 .ttl{
		width: 100%;
		height: 40vw;
		font-size: 4vw;
		letter-spacing: 0.4vw;
		float: none;
	}

	.btm_cmn_04 .ttl .txt1 {
		font-size: 8vw;
		margin: 0 0 5vw;
	}

	.btm_cmn_04 .serve01 {
		margin: 0 0 5vw;
	}

	.btm_cmn_04 .serve01 .img01{
		width: 100%;
		height: auto;
		float: none;
	}

	.btm_cmn_04 .serve01 .img02{
		display: none;
	}

	.btm_cmn_04 .serve02 {
		margin: 0 0 10vw;
	}

	.btm_cmn_04 .serve_box{
		width: 100%;
	}

	.btm_cmn_04 .serve_box.manners{
		float: none;
	}

	.btm_cmn_04 .serve_box.relief{
		float: none;
	}

	.btm_cmn_04 .serve_box .img01{
		width: 100%;
		height: auto;
		float: none;
		margin: 0 0 5vw;
	}

	.btm_cmn_04 .serve_box .img01 img{
		width: 100%;
		height: auto;
	}
}


/* to_top
-------------------------------------------*/
.to_top{
	display: none;
	width: 70px;
	height: 70px;
	color: #fff;
	position: fixed;
	right: 20px;
	bottom: 30px;
	z-index: 9999;
}

.to_top a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 42px 0 0 4px;
	letter-spacing: 2px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2em;
	border-radius: 50%;
	background: #b0954b url(img/to_top@2x.png) no-repeat center top 10px;
	background-size: 31px auto;
	box-shadow: 0 0 5px #666;
	transition: 0.5s;
}

.to_top a:hover{
	opacity: 0.9;
	box-shadow: 0 0 5px #333;
}

@media (max-width: 797px){
	.to_top{
		display: block;
		width: 12vw;
		height: 12vw;
		right: 1vw;
		bottom: 5vw;
	}

	.to_top a{
		padding: 7vw 0 0 0.7vw;
		font-size: 3vw;
		letter-spacing: 0.5vw;
		background: #b0954b url(img/to_top@2x.png) no-repeat center top 2vw;
		background-size: 5vw auto;
	}
}


/* Footer
-------------------------------------------*/
footer{
	background: #f6f0e6;
	padding: 50px 0 0;
}

.footer_title{
	width: 480px;
	float: left;
}

.footer_title a{
	display: block;
	height: 80px;
	padding: 0 0 0 90px;
	background: url(img/logo@22x.png) no-repeat left center;
	background-size: 80px 80px;
	color:#32652e;
	margin: 0 0 15px;
}

.footer_title .txt1{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 30px;
	margin: 0 10px 0 8px;
	float: left;
}

.footer_title .txt2{
	font-size: 18px;
	letter-spacing: 2px;
	color: #fff;
	background: #32652e;
	padding: 0 2em;
	line-height: 30px;
	border-radius: 15px;
	margin: 0;
	float: left;
}

.footer_title .txt3{
	clear: both;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2em;
}

.footer_title .address{
	letter-spacing: 2px;
	color: #707070;
}

.footer_item{
	width: 630px;
	float: right;
}

.footer_item .txt1,.footer_item .txt2{
	font-size: 20px;
	line-height: 28px;
	margin: 0 0 20px;
}

.footer_item .txt1 span,.footer_item .txt2 span{
	background: #c98181;
	color: #fff;
	display: inline-block;
	width: 160px;
	text-align: center;
	border-radius: 14px;
	margin: 0 10px 0 0;
}

.footer_item .txt2 span{
	background: #b0954b;
}

.f_nav ul{
	margin: 0 0 40px;
}
.f_nav ul li{
	width: 33%;
	color: #666;
	margin: 0 0 5px;
	float: left;
}

.footer_bottom{
	background: #32652e;
	height: 50px;
}

.copy{
	font-size: 12px;
	letter-spacing: 1px;
	color: #fff;
	text-align: center;
	line-height: 50px;
}

@media (max-width: 797px){
	footer {
		padding: 10vw 0 0;
	}

	.footer_title{
		width: 80vw;
		float: none;
		margin: 0 auto 5vw;
	}

	.footer_title a{
		height: 18vw;
		padding: 0 0 0 20vw;
		background: url(img/logo@22x.png) no-repeat left center;
		background-size: 18vw 18vw;
		margin: 0 0 3vw;
	}

	.footer_title .txt1 {
		font-size: 4vw;
		letter-spacing: 0.5vw;
		line-height: 6vw;
		margin: 0 2vw 1vw;
	}

	.footer_title .txt2{
		font-size: 4vw;
		letter-spacing: 0.5vw;
		padding: 0 1.5em;
		line-height: 6vw;
		border-radius: 3vw;
	}

	.footer_title .txt3{
		font-size: 6vw;
		l
	}

	.footer_title .address {
		letter-spacing: 0.3vw;
	}

	.footer_item{
		width: 90vw;
		float: none;
		margin: 0 auto;
	}

	.footer_item .txt1,.footer_item .txt2{
		font-size: 4vw;
		line-height: 6vw;
		margin: 0 0 3vw;
		text-align: center;
	}

	.footer_item .txt1 span,.footer_item .txt2 span{
		display: block;
		width: 30vw;
		border-radius: 3vw;
		margin: 0 auto 1vw;
	}

	.f_nav ul {
		margin: 5vw 0 8vw;
	}
	.f_nav ul li{
		width: 33%;
		font-size: 3vw;
		text-align: center;
		margin: 0 0 2vw;
		
	}

	.footer_bottom {
		height: 10vw;
	}

	.copy {
		font-size: 3vw;
		letter-spacing: 0.2vw;
		line-height: 10vw;
	}
}
