@charset "UTF-8";

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

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

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

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

html{
	font-size:62.5%;
}

body{
	margin:0 auto;
	padding:0;
	background:#FFF;
	color:#333;
	font-size:1.4rem;
	font-family:'Verdana','游ゴシック','YuGothic','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-family:'Times New Roman','BIZ UD明朝','BIZ UDMincho','游明朝','YuMincho','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','メイリオ','Meiryo','ＭＳ Ｐ明朝','MS PMincho',serif;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
	text-size-adjust:100%;
}
body.active{
	overflow:hidden;
}

h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
	font-weight:normal;
	line-height:150%;
}
p{
	margin:0;
	padding:0;
	line-height:180%;
	text-align:justify;
}
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;
	-o-transition:ease-out 0.5s;
	transition:ease-out 0.5s;
	
	position:relative;
  	display:inline-block;
}
a:hover{
	color:#333;
	text-decoration:none;
}

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

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;
}

.pc568, .pc667, .pc736, .pc768, .pc812, .pc1024{
	display:none;
}
@media (min-width: 568px) {
	.sp568{
		display:none;
	}
	.pc568{
		display:inline;
	}
}
@media (min-width: 667px) {
	.sp667{
		display:none;
	}
	.pc667{
		display:inline;
	}
}
@media (min-width: 736px) {
	.sp736{
		display:none;
	}
	.pc736{
		display:inline;
	}
}
@media (min-width: 768px) {
	.sp768{
		display:none;
	}
	.pc768{
		display:inline;
	}
}
@media (min-width: 812px) {
	.sp812{
		display:none;
	}
	.pc812{
		display:inline;
	}
}
@media (min-width: 1024px) {
	.sp1024{
		display:none;
	}
	.pc1024{
		display:inline;
	}
}

.space375, .space414, .space568{
	display:none;
}
@media (min-width: 375px) {
	.space375{
		display:inline;
	}
}
@media (min-width: 414px) {
	.space414{
		display:inline;
	}
}
@media (min-width: 568px) {
	.space568{
		display:inline;
	}
}


/* ヘッダー */
header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:rgba(0,0,0,0.8);
	box-shadow:0 0 15px rgba(255,255,255,0.3);
	z-index:150;
}
#header{
	height:70px;
	padding:0 20px;
	border-bottom:1px solid rgba(255,255,255,0.2);
}
@media (min-width: 568px) {
	#header{
		padding-left:35px;
		padding-right:35px;
	}
}
@media (min-width: 768px) {
	#header{
		padding-left:45px;
		padding-right:45px;
	}
}
@media (min-width: 1024px) {
	#header{
		padding-left:60px;
		padding-right:60px;
	}
}

/* ロゴ */
#logo h1{
	padding-top:18px;
}
#logo img{
	width:auto;
	height:36px;
	height:26px;
}
@media (min-width: 1200px) {
	#logo h1{
		padding-top:19px;
	}
	#logo img{
		height:28px;
	}
}

/* ナビゲーションラベル */ 
#gnavi-label{
  	position:absolute;
	top:0;
	right:0;
  	width:70px;
  	height:70px;
	cursor: pointer;
  	-webkit-transition:ease-out .5s;
  	-moz-transition:ease-out .5s;
  	-ms-transition:ease-out .5s;
  	-o-transition:ease-out .5s;
  	transition:ease-out .5s;
	z-index:150;
}
#gnavi-label span{
  	position:absolute;
  	right:23px;
  	width:24px;
  	height:1px;
  	background-color:#FFF;
  	-webkit-transition:ease-out .5s;
  	-moz-transition:ease-out .5s;
  	-ms-transition:ease-out .5s;
  	-o-transition:ease-out .5s;
  	transition:ease-out .5s;
}
#gnavi-label span:nth-of-type(1){
  	top:31px;
}
#gnavi-label span:nth-of-type(2){
  	top:39px;
}
#gnavi-label.active span:nth-of-type(1) {
	top:35px;
  	-webkit-transform:rotate(-45deg);
  	-moz-transform:rotate(-45deg);
  	-ms-transform:rotate(-45deg);
  	-o-transform:rotate(-45deg);
  	transform:rotate(-45deg);
}
#gnavi-label.active span:nth-of-type(2) {
	top:35px;
  	-webkit-transform:rotate(45deg);
  	-moz-transform:rotate(45deg);
  	-ms-transform:rotate(45deg);
  	-o-transform:rotate(45deg);
  	transform:rotate(45deg);
}
@media (min-width: 568px) {
	#gnavi-label{
		right:15px;
	}
}
@media (min-width: 768px) {
	#gnavi-label{
		right:25px;
	}
}
@media (min-width: 1024px) {
	#gnavi-label{
		right:40px;
	}
}

/* ナビゲーション */
#gnavi{
	position: fixed;
	top:0;
	left:13%;
	width:87%;
	height:100%;
	background:#000;
	-webkit-transition-duration:0.4s;
	-moz-transition-duration:0.4s;
	-ms-transition-duration:0.4s;
	-o-transition-duration:0.4s;
	transition-duration:0.4s;
	-webkit-transition-timing-function:ease-in-out;
	-moz-transition-timing-function:ease-in-out;
	-ms-transition-timing-function:ease-in-out;
	-o-transition-timing-function:ease-in-out;
	transition-timing-function:ease-in-out;
	-webkit-transition-delay:.5s;
	-moz-transition-delay:.5s;
	-ms-transition-delay:.5s;
	-o-transition-delay:.5s;
	transition-delay:.5s;
	-webkit-transform:translate3d(100%, 0, 0);
	-moz-transform:translate3d(100%, 0, 0);
	-ms-transform:translate3d(100%, 0, 0);
	-o-transform:translate3d(100%, 0, 0);
	transform:translate3d(100%, 0, 0);
	overflow:scroll;
	z-index:101;
	-webkit-overflow-scrolling:touch;
	-moz-overflow-scrolling:touch;
	-ms-overflow-scrolling:touch;
	-o-overflow-scrolling:touch;
	overflow-scrolling:touch;
}
#gnavi.active{
	-webkit-transform:translate3d(0, 0, 0);
	-moz-transform:translate3d(0, 0, 0);
	-ms-transform:translate3d(0, 0, 0);
	-o-transform:translate3d(0, 0, 0);
	transform:translate3d(0, 0, 0);
}
#gnavi ul{
	padding:30px;
	padding-top:70px;
}
#gnavi ul li{
	font-size:1.3rem;
	padding-bottom:40px;
}
#gnavi ul li:last-child{
	padding-bottom:50px;
}
#gnavi ul li a{
	color:#FFF;
}
#gnavi ul li a::after{
	content:'';
  	position:absolute;
  	bottom:-5px;
  	left:0;
  	width:100%;
  	height:1px;
  	background-color:#FFF;
  	-webkit-transform:scaleX(0);
  	-moz-transform:scaleX(0);
  	-ms-transform:scaleX(0);
  	-o-transform:scaleX(0);
  	transform:scaleX(0);
	-webkit-transition:ease-out .5s;
    -moz-transition:ease-out .5s;
    -ms-transition:ease-out .5s;
    -o-transition:ease-out .5s;
    transition:ease-out .5s;
}
#gnavi ul li a:hover::after{
	-webkit-transform:scaleX(1);
  	-moz-transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	-o-transform:scaleX(1);
  	transform:scaleX(1);
}
.eng{
	font-family:"FrizQuadrata";
	font-size:120%;
}
#home #gnavi ul li.home a::after,
#glass-grave #gnavi ul li.glass-grave a::after,
#made-in-japan #gnavi ul li.made-in-japan a::after,
#company-profile #gnavi ul li.company-profile a::after,
#cemetery-guide #gnavi ul li.cemetery-guide a::after{
	-webkit-transform:scaleX(1);
  	-moz-transform:scaleX(1);
  	-ms-transform:scaleX(1);
  	-o-transform:scaleX(1);
  	transform:scaleX(1);
}
@media (min-width: 375px) {
	#gnavi ul{
		padding:40px;
		padding-top:70px;
	}	
}
@media (min-width: 568px) {
	#gnavi{
		left:20%;
		width:80%;
	}
}
@media (min-width: 768px) {
	#gnavi{
		left:50%;
		width:50%;
	}
	#gnavi ul li{
		font-size:1.4rem;
	}
}
@media (min-width: 1024px) {
	#gnavi{
		left:60%;
		width:40%;
	}
}

#gnavi.active .gnavi-parapara{
	opacity:0;
    -webkit-transform: translateX(40px);
    -moz-transform: translateX(40px);
    -ms-transform: translateX(40px);
    -o-transform: translateX(40px);
    transform: translateX(40px);
	animation:gnavi-parapara 1s ease-out forwards;
}
#gnavi.active .gnavi-one{
	animation-delay:.2s;
}
#gnavi.active .gnavi-two{
	animation-delay:.4s;
}
#gnavi.active .gnavi-three{
	animation-delay:.6s;
}
#gnavi.active .gnavi-four{
	animation-delay:.8s;
}
#gnavi.active .gnavi-five{
	animation-delay:1s;
}
@keyframes gnavi-parapara{
	100% {
		opacity:1;
    	-webkit-transform: translateX(0);
    	-moz-transform: translateX(0);
    	-ms-transform: translateX(0);
    	-o-transform: translateX(0);
    	transform: translateX(0);
	}
}

#cover{
	visibility:hidden;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../img_cmn/cover.png) repeat-y center;
	background-size:contain;
	opacity:0;
  	-webkit-transition:.7s all linear;
  	-moz-transition:.7s all linear;
  	-ms-transition:.7s all linear;
  	-o-transition:.7s all linear;
  	transition:.7s all linear;
	-webkit-backdrop-filter:blur(12px);
	-moz-backdrop-filter:blur(12px);
	-ms-backdrop-filter:blur(12px);
	-o-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
}
#cover.active{
	visibility:visible;
	opacity:1;
}

/* 枠 */
#container{
	padding:50px 0;
}
@media (min-width: 768px) {
	#container{
		padding:60px 0;
	}
}

.container{
	margin:0 20px;
	padding-top:50px;
}
.container#top{
	padding:0;
}
.container h3{
	font-size:1.7rem;
}
@media (min-width: 568px) {
	.container{
		margin:0 35px;
	}
}
@media (min-width: 768px) {
	.container{
		margin:0 45px;
		padding-top:60px;
	}
	.container.narrow{
		margin:0 15%;
	}
}
@media (min-width: 1024px) {
	.container{
		margin:0 60px;
		padding-top:70px;
	}
	.container.narrow{
		margin:0 20%;
	}
}
@media (min-width: 1200px) {
	.container{
		margin:0 auto;
		width:1024px;
	}
	.container.narrow{
		margin:0 auto;
		width:800px;
	}
}

/* メインイメージ */
#main-image{
	position:relative;
}
#main-catch{
	position:absolute;
	bottom:20px;
	width:100%;
	text-align:center;
	color:#FFF;
}
#main-catch h2{
	font-size:1.2rem;
	letter-spacing:0.7em;
}
#main-catch h2.catch-eng{
	font-family:"FrizQuadrata";
	font-size:2.0rem;
	letter-spacing:0;
	letter-spacing:0.1em;
}
@media (min-width: 768px) {
	#main-catch h2{
		font-size:1.25rem;
	}
	#main-catch h2.catch-eng{
		font-size:2.1rem;
	}
}
@media (min-width: 1024px) {
	#main-catch h2{
		font-size:1.3rem;
	}
	#main-catch h2.catch-eng{
		font-size:2.2rem;
	}
}
@media (min-width: 1200px) {
	#main-catch h2{
		font-size:1.35rem;
	}
	#main-catch h2.catch-eng{
		font-size:2.3rem;
	}
}
.sp568-1023{
	display:none;
}
@media (min-width: 568px) and (max-width: 1023px) {
	.sp568-1023{
		display:inline;
	}
}

/* 英語のタイトル */
.title-eng{
	text-align:center;
}
.title-eng h2{
	font-family:"FrizQuadrata";
	font-size:2.3rem;
}
.line{
	margin:10px auto 13px;
	width:2px;
	height:40px;
	background:#000;
}
@media (min-width: 768px) {
	.title-eng h2{
		font-size:2.4rem;
	}
}
@media (min-width: 1024px) {
	.title-eng h2{
		font-size:2.5rem;
	}
}
@media (min-width: 1200px) {
	.title-eng h2{
		font-size:2.6rem;
	}
}

/* ヘッドライン */
#headline{
	text-align:center;
}
#headline h3{
	font-size:1.9rem;
}
#headline h4{
	font-size:1.65rem;
	padding:3px 0 15px;
}
@media (min-width: 768px) {
	#headline h3{
		font-size:2.1rem;
	}
}
@media (min-width: 1024px) {
	#headline h3{
		font-size:2.3rem;
	}
}
@media (min-width: 1200px) {
	#headline h3{
		font-size:2.5rem;
	}
	#headline h4{
		font-size:1.7rem;
	}
}

/* 資料請求 */
#request-btn{
	position:relative;
	overflow:hidden;
}
#request-btn a{
	margin-top:30px;
	display:block;
	color:#FFF;
	padding:10px 0;
	font-size:1.7rem;
	border:1px solid #000;
	background:#000;
	background:-webkit-linear-gradient( top, #000, #777 );
	background:-moz-linear-gradient( top, #000, #777 );
	background:-ms-linear-gradient( top, #000, #777 );
	background:-o-linear-gradient( top, #000, #777 );
	background:linear-gradient(to bottom, #000, #777);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#777777');
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#000000, endcolorstr=#777777))";
	zoom: 1;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	-ms-border-radius:5px;
	-o-border-radius:5px;
	border-radius:5px;
	text-shadow:0 -1px 0 #333;
	box-shadow:inset 1px 1px 1px #FFF;
}
@media (min-width: 568px) {
	#request-btn{
		margin:0 auto;
		width:300px;
	}
}

/* Parallax */
.parallax{
	margin-top:70px;
}
.parallax-window{
	background:transparent;
	min-height:300px;
}
@media (min-width: 768px) {
	.parallax{
		margin-top:80px;
	}
	.parallax-window{
		min-height:500px;
	}
}
@media (min-width: 812px) {
	.parallax-window{
		min-height:300px;
	}
}
@media (min-width: 1024px) {
	.parallax-window{
		min-height:500px;
	}
}
@media (min-width: 1200px) {
	.parallax-window{
		min-height:600px;
	}
}

/* 総武霊園クレジット */
#sobu-reien{
	text-align:center;
	padding:0 20px 40px;
}
#sobu-reien > h2{
	letter-spacing:0.1em;
	font-size:1.9rem;
}
#sobu-reien-matter{
	font-size:0;
}
#sobu-reien-matter > h2{
	font-size:1.2rem;
	letter-spacing:0.1em;
	padding:0 0 15px;
}
.sobu-reien-matter{
	display:inline-block;
	vertical-align:middle;
	width:calc((100% - 190px)/2);
}
.sobu-reien-matter:nth-child(2){
	width:190px;
	padding:0 5px;
	box-sizing:border-box;
}
.sobu-reien-matter h2{
	font-size:1.1rem;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	padding:3px 0 2px;
}
.sobu-reien-matter:nth-child(1) h2{
	padding:12px 0 9px;
}
.sobu-reien-matter:nth-child(2) h2{
	font-size:3.55rem;
	border:none;
}
#sobu-reien p{
	text-align:center;
	font-size:1.6rem;
}
.reception{
	letter-spacing:-0.04em;
}
@media (min-width: 375px) {
	#sobu-reien p{
		font-size:1.8rem;
	}
	#sobu-reien-matter{
		margin:0 auto;
		width:280px;
	}
	.reception{
		letter-spacing:0;
	}
}
@media (min-width: 568px) {
	.sobu-reien-matter:nth-child(2) h2{
		font-size:3.3rem;
	}
}
@media (min-width: 768px) {
	#sobu-reien > h2{
		font-size:2.0rem;
	}
	#sobu-reien-matter{
		width:290px;
	}
	.sobu-reien-matter h2{
		font-size:1.2rem;
	}
	.sobu-reien-matter:nth-child(2) h2{
		font-size:3.7rem;
	}
	#sobu-reien-matter > h2{
		font-size:1.4rem;
	}
	#sobu-reien p{
		font-size:1.9rem;
	}
}
@media (min-width: 1024px) {
	#sobu-reien{
		padding:10px 0 50px;
	}
}

/* Google Map */
#map-wrap{
}
#map{
	height:300px;
}
@media (min-width: 768px) {
	#map{
		height:400px;
	}
}
@media (min-width: 812px) {
	#map{
		height:300px;
	}
}
@media (min-width: 1024px) {
	#map{
		height:500px;
	}
}
@media (min-width: 1200px) {
	#map{
		height:600px;
	}
}

/* フッター */
footer{
	background:#000;
	color:#FFF;
	padding:30px 20px;
}
#footer{
	text-align:center;
}
#footer > p{
	text-align:center;
	padding-bottom:10px;
}
#footer > p#car{
	line-height:150%;
}
.initial{
	font-size:130%;
}
#footer h2{
	padding:25px 0 15px;
}
#footer img{
	width:230px;
	height:auto;
}
#dial p{
	text-align:center;
	font-family:"New York";
}
#dial p span.tel-link{
	font-size:2.5rem;
}
#dial a{
	color:#FFF;
}
address{
	font-family:"ProximanovaLight";
	font-size:1.3rem;
	font-style:normal;
	padding-top:20px;
}
@media (min-width: 1024px) {
	footer{
		padding:50px 20px 30px;
	}
	#footer > p{
		font-size:1.5rem;
	}
	#footer img{
		width:250px;
	}
	#dial p{
		font-size:1.5rem;
		line-height:200%;
	}
	#dial p span.tel-link{
		font-size:3.0rem;
	}
	address{
		font-size:1.5rem;
	}
}