@charset "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);

@font-face {
	font-family:'ProximanovaLight';
	src:url('../../fonts/ProximanovaLight.eot?') format('eot'),url('../../fonts/ProximanovaLight.woff') format('woff'),url('../../fonts/ProximanovaLight.svg#ProximanovaLight') format('svg'),url('../../fonts/ProximanovaLight.ttf') format('truetype');
	font-weight:normal;
	font-style:normal;
}


html{
	font-size:62.5%;
}

body{
	margin:0 auto;
	padding:0;
	background:#FFFFFF;
	color:#333;
	font-size:1.4rem;
	font-family:'Times New Roman','BIZ UD明朝','BIZ UDMincho','游明朝','YuMincho','ヒラギノ明朝 ProN','Hiragino Mincho ProN','メイリオ','Meiryo','ＭＳ Ｐ明朝','MS PMincho',serif;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}
body.active{
	overflow:hidden;
}
@media (min-width: 1200px) {
	body{
		font-size:1.5rem;
	}
}
@media (min-width: 1500px) {
	body{
		font-size:1.6rem;
	}
}


h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
	font-weight:normal;
	line-height:150%;
}

p{
	margin:0;
	padding:0;
	line-height:180%;
}
img{
	border:none 0;
	width:100%;
}

a{
	color:#333;
	text-decoration:none;
	-webkit-transition:ease-out 0.5s;
    -moz-transition:ease-out 0.5s;
    -ms-transition:ease-out 0.5s;
    transition:ease-out 0.5s;
}
a:hover{
	color:#333;
	text-decoration:none;
}

br.clearb,
.clear{
	clear:both;
}

@media (min-width: 375px) {
	br.br375{
		display:none;
	}
}
@media (min-width: 414px) {
	br.br414{
		display:none;
	}
}
@media (min-width: 568px) {
	br.br568{
		display:none;
	}
}
@media (min-width: 667px) {
	br.br667{
		display:none;
	}
}
@media (min-width: 736px) {
	br.br736{
		display:none;
	}
}
@media (min-width: 768px) {
	br.br768{
		display:none;
	}
}
@media (min-width: 812px) {
	br.br812{
		display:none;
	}
}
@media (min-width: 1024px) {
	br.br1024{
		display:none;
	}
}

ul{
	list-style-type:none;
	margin:0;
	padding:0;
}
ul li{
	margin:0;
	padding:0;
}

ol,
ol li{
	margin:0;
	padding:0;
}

dl{
	margin:0;
	padding:0;
}
dt{
	margin:0;
	padding:0;
}
dd{
	margin:0;
	padding:0;
}

.pc375,.pc568,.pc768,.pc1024{
	display:none;
}
@media (min-width: 375px) {
	.sp375{
		display:none;
	}
	.pc375{
		display:inline;
	}
}
@media (min-width: 568px) {
	.sp568{
		display:none;
	}
	.pc568{
		display:inline;
	}
}
@media (min-width: 768px) {
	.sp768{
		display:none;
	}
	.pc768{
		display:inline;
	}
}
@media (min-width: 1024px) {
	.sp1024{
		display:none;
	}
	.pc1024{
		display:inline;
	}
}


/* ヘッダー */
header{	
}
@media (min-width: 1024px) {
	header{
		margin:0 40px;
	}
}
@media (min-width: 1200px) {
	header{
		margin:0 7%;
	}
}

/* ロゴ */
#logo{
	text-align:center;
}
#logo h1{
	line-height:0;
	padding:25px 0;
}
#logo img{
	width:180px;
	height:auto;
}
@media (min-width: 768px) {
	#logo img{
		width:200px;
		height:auto;
	}
}
@media (min-width: 1024px) {
	#logo{
		float:left;
		width:390px;
	}
	#logo h1{
		padding:30px 0;
	}
	#logo img{
		width:auto;
		height:28px;
	}
}
@media (min-width: 1200px) {
	#logo{
		width:440px;
	}
	#logo img{
		width:auto;
		height:32px;
	}
}
@media (min-width: 1500px) {
	#logo{
		width:540px;
	}
	#logo h1{
		padding:40px 0;
	}
	#logo img{
		width:auto;
		height:39px;
	}
}

/* ナビゲーションラベル */
#gnavi-label{
	position:fixed;
	display:block;
	top:0;
	right:0;
	width:50px;
	height:50px;
	cursor: pointer;
	background-image:url(../img_cmn/btn-open.svg);
	background-repeat:no-repeat;
	background-size:26px auto;
	background-color:#333;
	background-position:center center;
	z-index: 101;
	-webkit-transition:all 0.3s ease;
    -moz-transition:all 0.3s ease;
    -o-transition:all 0.3s ease;
    -ms-transition:all 0.3s ease;
    transition:all 0.3s ease;
}
#gnavi-label.active{
	background-image:url(../img_cmn/btn-close.svg);
}
@media (min-width: 1024px) {
	#gnavi-label{
		display:none;
	}
}

/* ナビゲーション */
#gnavi{
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:100;
	overflow:scroll;
	background:rgba(51,51,51,0.9);
	-webkit-transition-duration: 0.4s;
	transition-duration:0.4s;
	-webkit-transition-timing-function:ease;
	transition-timing-function:ease;
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
	-webkit-overflow-scrolling:touch;
	overflow-scrolling:touch;
}
#gnavi.active{
	-webkit-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
}
#gnavi ul{
	position:absolute;
	top:50%;
	left:0;
	margin-top:-175px;
	width:100%;
	text-align:center;
}
#gnavi ul li{
	font-size:1.9rem;
	padding:10px 0;
	line-height:160%;
	font-family:'Open Sans';
	font-weight:300;
}
#gnavi ul li.dead{
	color:#666;
}
#gnavi ul li.last{
	padding-bottom:30px;
}
#gnavi.active ul li:nth-of-type(1){
	-webkit-animation: navi 370ms ease-in-out;
    animation: navi 370ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(2){
	-webkit-animation: navi 450ms ease-in-out;
    animation: navi 450ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(3){
	-webkit-animation: navi 530ms ease-in-out;
    animation: navi 530ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(4){
	-webkit-animation: navi 610ms ease-in-out;
    animation: navi 610ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(5){
	-webkit-animation: navi 690ms ease-in-out;
    animation: navi 690ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(6){
	-webkit-animation: navi 770ms ease-in-out;
    animation: navi 770ms ease-in-out;
}
#gnavi.active ul li:nth-of-type(7){
	-webkit-animation: navi 850ms ease-in-out;
    animation: navi 850ms ease-in-out;
}
#gnavi ul li a{
	color:#FFF;
	position:relative;
  	display:inline-block;
}
#gnavi ul li a::after{
	content:'';
  	position:absolute;
  	bottom:-3px;
  	left:0;
  	width:100%;
  	height:1px;
  	-webkit-transform:scaleX(0);
  	-ms-transform:scaleX(0);
  	transform:scaleX(0);
  	background-color:#FFF;
	-webkit-transition:ease-in-out 0.5s;
    -moz-transition:ease-in-out 0.5s;
    -ms-transition:ease-in-out 0.5s;
    transition:ease-in-out 0.5s;
}
#gnavi ul li a:hover::after{
	-webkit-transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	transform:scaleX(1);
}
#home #gnavi ul li.home a::after,
#concept #gnavi ul li.concept a::after,
#facility #gnavi ul li.facility a::after,
#cemetery #gnavi ul li.cemetery a::after,
#aboutus #gnavi ul li.aboutus a::after,
#story #gnavi ul li.story a::after{
	-webkit-transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	transform:scaleX(1);
}
@media (min-width: 1024px) {
	#gnavi{
		position:static;
		width:auto;
		height:auto;
		top:auto;
		left:auto;
		z-index:auto;
		overflow:hidden;
		background:none;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		float:right;
		width:calc(100% - 390px);
		padding:33px 0 0;
	}
	#gnavi ul{
		position:static;
		top:auto;
		left:auto;
		margin-top:0;
		width:auto;
		text-align:left;
		-webkit-animation:none;
    	animation:none;
		font-size:0;
		text-align:right;
	}
	#gnavi ul li{
		font-size:1.5rem;
		padding:0;
		/*font-weight:400;
		float:left;*/
		width:17%;
		margin-left:2%;
		display:inline-block;
		text-align:left;
	}
	#gnavi ul li a{
		display:block;
		color:#333;
		border-bottom:2px solid #333;
	}
	#gnavi ul li.concept a:hover,
	#gnavi ul li.story a:hover{
		color:#83B130;
		border-bottom:2px solid #83B130;
	}
	#gnavi ul li.facility a:hover{
		color:#047039;
		border-bottom:2px solid #047039;
	}
	#gnavi ul li.cemetery a:hover{
		color:#CB4829;
		border-bottom:2px solid #CB4829;
	}
	#gnavi ul li.aboutus a:hover{
		color:#A96124;
		border-bottom:2px solid #A96124;
	}
	#gnavi ul li.home{
		display:none;
	}
	#gnavi ul li.dead{
		color:#CCC;
		border-bottom:2px solid #CCC;
	}
	#gnavi ul li.last{
		padding-bottom:0;
		margin-right:0;
	}
	#concept #gnavi ul li.concept a,
	#story #gnavi ul li.story a{
		color:#83B130;
		border-bottom:2px solid #83B130;
	}
	#facility #gnavi ul li.facility a{
		color:#047039;
		border-bottom:2px solid #047039;
	}
	#cemetery #gnavi ul li.cemetery a{
		color:#CB4829;
		border-bottom:2px solid #CB4829;
	}
	#aboutus #gnavi ul li.aboutus a{
		color:#A96124;
		border-bottom:2px solid #A96124;
	}
}
@media (min-width: 1200px) {
	#gnavi{
		padding:35px 0 0;
		width:calc(100% - 440px);
	}
	#gnavi ul li{
		font-size:1.6rem;
	}
}
@media (min-width: 1500px) {
	#gnavi{
		padding:47px 0 0;
		width:calc(100% - 540px);
	}
	#gnavi ul li{
		font-size:1.7rem;
	}
}


/* メインイメージ */
#main-image{
}

/* タイトル */
.title{
	height:60px;
	position:relative;
	margin:30px 15px;
	background:url(../img_cmn/title-bg-sp.svg) no-repeat center;
	background-size:cover;
}
.title.bottom{
	margin-bottom:15px;
}

.title-title{
	position:absolute;
	top:3px;
	left:0;
}
.title-title h3{
	font-size:1.9rem;
	line-height:100%;
	font-family:'Open Sans';
	font-weight:300;
}

.kichijo{
	position:absolute;
	bottom:-1px;
	right:0;
	text-align:right;
}
.kichijo h3{
	font-size:1.2rem;
	line-height:100%;
	font-family:'Open Sans';
	font-weight:400;
}

@media (min-width: 375px) {
	.title{
		background:url(../img_cmn/title-bg.svg) no-repeat center;
		background-size:cover;
	}
}
@media (min-width: 414px) {
	.kichijo h3{
		font-size:1.3rem;
	}
}
@media (min-width: 568px) {
	.title{
		margin:30px 90px;
	}
}
@media (min-width: 768px) {
	.title{
		height:70px;
		margin:40px 170px;
	}
	
	.title-title h3{
		font-size:2.3rem;
	}
	
	.kichijo h3{
		font-size:1.5rem;
	}
}
@media (min-width: 1024px) {
	.title{
		margin:40px 300px;
	}
}
@media (min-width: 1200px) {
	.title{
		margin:60px auto;
		width:600px;
	}
	
	.title-title{
		top:2px;
	}
	.title-title h3{
		font-size:2.8rem;
	}
	
	.kichijo h3{
		font-size:1.6rem;
	}
}

/* ヘッドキャッチ */
#headcatch{
	text-align:center;
	padding:0 0 25px;
}
#headcatch img{
	width:220px;
	height:39px;
}
@media (min-width: 768px) {
	#headcatch{
		padding:0 0 30px;
	}
	#headcatch img{
		width:250px;
		height:44px;
	}
}
@media (min-width: 1200px) {
	#headcatch{
		padding:0 0 40px;
	}
	#headcatch img{
		width:280px;
		height:50px;
	}
}

/* コンテンツ */
.content{
	margin:0 15px 50px;
}
.content h5{
	text-align:center;
	font-size:1.7rem;
	padding:0 0 15px;
}
@media (min-width: 768px) {
	.content{
		margin:0 40px 60px;
	}
	.content h5{
		font-size:2.0rem;
		padding:0 0 20px;
	}
}
@media (min-width: 1200px) {
	.content{
		margin:0 7% 70px;
	}
	.content h5{
		font-size:2.3rem;
	}
}


/* ボトムイメージ */
#bottom-image{
}

/* アクセス */
#access{
}

#access-way{
	margin:0 15px;
}
#access-way ul{
	list-style-type:disc;
	padding:0 0 0 20px;
}
#access-way ul li{
	padding:4px 0;
}
@media (min-width: 568px) {
	#access-way ul{
		list-style-position:inside;
		text-align:center;
		padding:0;
	}
}
@media (min-width: 768px) {
	#access-way{
		margin:0 40px;
	}
	#access-way{
		padding-top:5px;
	}
}
@media (min-width: 1024px) {
	#access-way{
		text-align:center;
	}
}
@media (min-width: 1200px) {
	#access-way{
		margin:0 7%;
		padding-top:10px;
	}
}

/* マップ */
#map-wrap{
	margin:15px 15px 50px;
}
#map{
	height:300px;
}
@media (min-width: 568px) {
	#map{
		height:400px;
	}
}
@media (min-width: 768px) {
	#map-wrap{
		margin:15px 40px 60px;
	}
	#map{
		height:500px;
	}
}
@media (min-width: 1200px) {
	#map-wrap{
		margin:30px 7% 70px;
	}
	#map{
		height:600px;
	}
}

/* フッター */
footer{
	background:#EEE;
	text-shadow:0 1px 0 #FFF;
	padding:30px 0 90px;
	text-align:center;
}
footer img{
	width:230px;
	height:26px;
}
footer h3{
	padding:10px 0;
	font-size:1.6rem;
}
footer p{
	line-height:160%;
}
footer h4{
	padding:10px 0 15px;
	font-size:1.5rem;
	line-height:180%;
}

#bottom-navi{
	display:none;
}

.freedial{
	font-size:180%;
	letter-spacing:1px;
}

address{
	font-family:'ProximanovaLight';
	font-size:1.4rem;
	font-style:normal;
}

@media (min-width: 768px) {
	footer img{
		width:250px;
		height:29px;
	}
	footer h3{
		font-size:1.8rem;
	}
	footer h4{
		font-size:1.7rem;
	}
	
	address{
		font-size:1.6rem;
	}
}
@media (min-width: 1024px) {
	footer{
		padding:30px 0 80px;
		text-align:left;
	}
	footer h2{
		padding:50px 20px 5px 0;
		float:left;
	}
	footer img{
		width:280px;
		height:32px;
	}
	footer h3{
		padding:62px 0 0;
		float:left;
	}
	footer h4{
		padding-top:30px;
	}
	
	#footer{
		margin:0 40px;
		position:relative;
	}
	#bottom-navi{
		display:block;
	}
	#bottom-navi ul li{
		float:left;
		padding-right:20px;
		font-family:'Open Sans';
		font-weight:300;
		font-size:1.7rem;
	}
	#bottom-navi ul li.dead{
		color:#AAA;
	}
	#bottom-navi ul li a{
		position:relative;
  		display:inline-block;
	}
	#bottom-navi ul li a::after{
		content:'';
  		position:absolute;
  		bottom:-3px;
  		left:0;
  		width:100%;
  		height:1px;
  		-webkit-transform:scaleX(0);
  		-ms-transform:scaleX(0);
  		transform:scaleX(0);
  		background-color:#333;
		-webkit-transition:ease-in-out 0.5s;
    	-moz-transition:ease-in-out 0.5s;
    	-ms-transition:ease-in-out 0.5s;
    	transition:ease-in-out 0.5s;
	}
	#bottom-navi ul li a:hover::after{
		-webkit-transform:scaleX(1);
  		-ms-transform:scaleX(1);
  		transform:scaleX(1);
	}
	#home #bottom-navi ul li.home a::after,
	#concept #bottom-navi ul li.concept a::after,
	#facility #bottom-navi ul li.facility a::after,
	#cemetery #bottom-navi ul li.cemetery a::after,
	#aboutus #bottom-navi ul li.aboutus a::after,
	#story #bottom-navi ul li.story a::after{
		-webkit-transform:scaleX(1);
  		-ms-transform:scaleX(1);
  		transform:scaleX(1);
	}
	
	address{
		position:absolute;
		right:0;
		bottom:20px;
	}
}
@media (min-width: 1200px) {
	footer h2{
		padding:50px 20px 10px 0;
	}
	footer h4{
		font-size:1.9rem;
	}
	
	#footer{
		margin:0 7%;
	}
}

/* フローティングバナー */
#floatingbanner{
	position:fixed;
	bottom:0;
	left:0;
	z-index:98;
	width:100%;
	padding:15px 0;
	box-shadow:0 0 7px #FFF;
	background:rgba(0,0,0,0.7);
	_visibility: hidden;
}
#banner-btn{
	padding:0 15px;
}
#banner-btn ul li{
	float:left;
	width:calc(50% - 7px);
	margin:0 14px 0 0;
	text-align:center;
	font-size:1.5rem;
	font-family:'Verdana','BIZ UDゴシック','BIZ UDGothic','游ゴシック','YuGothic','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}
#banner-btn ul li.request{
	margin-right:0;
}
#banner-btn ul li a{
	display:block;
	padding:10px 0;
	font-weight:bold;
	color:#FFF;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	-ms-border-radius:5px;
	-o-border-radius:5px;
	border-radius:5px;
	-webkit-box-shadow:inset 0 0 1px rgba(255,255,255,0.5);
	-moz-box-shadow:inset 0 0 1px rgba(255,255,255,0.5);
	-ms-box-shadow:inset 0 0 1px rgba(255,255,255,0.5);
	-o-box-shadow:inset 0 0 1px rgba(255,255,255,0.5);
	box-shadow:inset 0 0 1px rgba(255,255,255,0.5);
	-webkit-transition:ease-out 0.5s;
    -moz-transition:ease-out 0.5s;
    -ms-transition:ease-out 0.5s;
    -o-transition:ease-out 0.5s;
    transition:ease-out 0.5s;
}
#banner-btn ul li.request a{
	background:#20337F;
	border:1px solid #162459;
	text-shadow:0 -1px 0 #162459;
	background:-webkit-gradient(linear, left bottom, left top, color-stop(0.50, #20337F),color-stop(0.50, #37488c) );
}
#banner-btn ul li.request a:hover{
	color:#b1b8d3;
	text-shadow:0 1px 0 #162459;
	background:-webkit-gradient(linear, left bottom, left top, color-stop(0.50, #37488c),color-stop(0.50, #20337F) );
}
#banner-btn ul li.reserve a{
	background:#a03d32;
	border:1px solid #702b23;
	text-shadow:0 -1px 0 #702b23;
	background:-webkit-gradient(linear, left bottom, left top, color-stop(0.50, #a03d32),color-stop(0.50, #aa5147) );
}
#banner-btn ul li.reserve a:hover{
	color:#ecd8d6;
	text-shadow:0 1px 0 #702b23;
	background:-webkit-gradient(linear, left bottom, left top, color-stop(0.50, #aa5147),color-stop(0.50, #a03d32) );
}
.fa-size{
	font-size:1.3rem;
}
@media (min-width: 768px) {
	#banner-btn{
		margin:0 auto;
		width:688px;
	}
	#banner-btn ul li{
		width:calc(50% - 10px);
		margin:0 20px 0 0;
	}
}
@media (min-width: 1024px) {
	#floatingbanner{
		padding:13px 0;
	}
	#banner-btn{
		width:944px;
	}
	#banner-btn ul li{
		width:calc(50% - 15px);
		margin:0 30px 0 0;
		font-size:1.8rem;
	}
	.fa-size{
		font-size:1.6rem;
	}
}
@media (min-width: 1200px) {
	#banner-btn{
		width:86%;
	}
}

.space375{
	display:none;
}
@media (min-width: 375px) {
	.space375{
		display:inline;
	}
}