@charset "UTF-8";

/* Common ====================================== */

body{
	background: url(../images/pc_bg_01.png);
	color: #505050;
	/*font-family: 'Kosugi Maru', sans-serif;*/
	font-family: "Sawarabi Mincho", sans-serif;
	font-size: 15px;
}
a{
	color: #507b80;
}
small{
	font-size: smaller;
}	
.pc{
	display: block;
}
.sp{
	display: none;
}
.sa {
  opacity: 0;
  transition: all .5s ease;
}
.max-wh{
	width: 100%;
	height: 100%;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--lr {
  transform: translate(-10px, 0);
}
.sa--rl {
  transform: translate(10px, 0);
}
.sa--up {
  transform: translate(0, 0px);
  margin-top:0px;
}
.sa--down {
  transform: translate(0, -10px);
}
.sa--scaleUp {
  transform: scale(.5);
	
}
.sa--scaleDown {
  transform: scale(1.5);
}
.sa--rotateL {
  transform: rotate(180deg);
}
.sa--rotateR {
  transform: rotate(-180deg);
}

@media screen and (max-width: 1023px){
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}	
}


/* Loading ====================================== */

#loading{
	position: absolute;
	z-index: 10001;
    top: 40%;
    width: 100%;
    text-align: center;
}
#loading img{
	display: none;
	width: 200px;
}
#loader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/pc_bg_01.png);
	z-index: 10001;
}

/* Header ====================================== */

#header {
	background: #444;
	color: #bbb;
	cursor: default;
	height: 6em;
	left: 0;
	line-height: 6em;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
	background-image: url(../images/pc_bg_01.png) !important;
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
}
#header:before {
    background: url(../images/asset01.png);
    content: '';
    width: 100%;
    display: block;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: .5;
}
#header.reveal {
    -moz-animation: reveal-header 0.5s;
    -webkit-animation: reveal-header 0.5s;
    -ms-animation: reveal-header 0.5s;
    animation: reveal-header 0.5s;
}
#header.alt {
    -moz-animation: none;
    -webkit-animation: none;
    -ms-animation: none;
    animation: none;
    background: none;
    color: rgba(255, 255, 255, 0.75);
    position: absolute;
}
#header h1 {
    color: inherit;
    height: inherit;
    left: 1.25em;
    line-height: inherit;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
	display: flex;
	align-items: center;
}
#header h1 a {
    z-index: 1;
}
#header h1 a img{
	display: flex;
	width: 100px;
}
#header nav {
    height: inherit;
    /* line-height: 2; */
    position: absolute;
    top: 0;
    vertical-align: middle;
    width: 100%;
    text-align: right;

}
#header nav > ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}
#header nav > ul > li:first-child {
    margin-left: 0;
}
#header nav > ul > li {
    display: inline-block;
    padding-left: 0;
    white-space: nowrap;
}
#header nav > ul > li a:after {
    content: "";
    display: block;
    height: 1px;
    width: 10px;
    opacity: 0;
    background: #aaa;
    -webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;
    margin: 5px auto 0 auto;
}
#header nav > ul > li a:hover:after{
	opacity: 1;
	margin-top: 0px;
}
#header nav > ul > li a.active:after{
	content: "";
	display: block;
	height: 2px;
	width: 10px;
	opacity: 1;
	background: #507b80;
	margin: 0 auto;
}
#header nav > ul > li a {
    display: inline-block;
    height: 2em;
    line-height: 1.95em;
    padding: 0 1.5em;
    border-radius: 6px;
	letter-spacing: .46em;
	text-align: center;
	text-indent: .46em;
	font-size: 1em;
	font-weight: bold;
}
#header nav > ul > li a:not(.button) {
    /*color: #555;*/
    display: inline-block;
    text-decoration: none;
    border: 0;
}

.gnav{
	background: url(../images/img02.jpg);
	display: none;
	height: 100vh !important;
	position: fixed;
	width: 100%;
	z-index: 98;
	background-position: center center;
	background-size: cover;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
    background: rgba(0,0,0,0.65);
    line-height: 2;
}
.gnav__menu__item{
	margin: 15px 0;
	text-align: center;
}
.gnav__menu__item a{
    color: #fff;
    font-size: 2em;
    font-weight: bold;
    text-decoration: none;
    transition: .5s;
    letter-spacing: .46em;
}
.gnav__menu__item a img{
	width: 150px;
}
.gnav__menu__item a:hover{
    color: #666;
}
@media screen and (max-width: 1023px){
	.menu{
		height: 20px;
		position: absolute;
		right: 20px;
		top: 30px;
		width: 30px;
		z-index: 100;
		cursor: pointer;
	}
	.menu__line{
	    background: #505050;
	    display: block;
	    height: 2px;
	    position: absolute;
	    transition:transform .3s;
	    width: 100%;
	}
	.menu__line--center{
	    top: 9px;
	}
	.menu__line--bottom{
	    bottom: 0;
	}
	.menu__line.active{
		background: #fff;
	}
	.menu__line--top.active{
	    top: 8px;
	    transform: rotate(45deg);
	}
	.menu__line--center.active{
	    transform:scaleX(0);
	}
	.menu__line--bottom.active{
	    bottom: 10px;
	    transform: rotate(135deg);
	}
}

/* Main ====================================== */

#mainimg{
	height: 100vh;
}
body .vegas-container {
    overflow: hidden!important;
    position: static;
}
.vegas-slide, .vegas-wrapper {
    top: 6em;
}
.vegas-slide:before{
	content: "";
	display: block;
	padding-top: 100%;
}
.vegas-wrapper .vagas-text{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #fff;
}
.vegas-wrapper .vagas-text h3{
	font-size: 20px;
	max-width: 300px;
	min-width: 200px;
	margin-top: 25px;
	margin-right: 25px;
}
.vegas-wrapper .vagas-text h2{
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 1em;
	line-height: 1.2;
}
.vegas-wrapper .vagas-text h2 p{
    font-size: 60px;
}
.vegas-wrapper .vagas-text h2 span{
    font-size: 30px;
    margin-top: 25px;
}
.mainimgsub{
	height: 80vh !important;
}
.mainimgsub .con-img01{ /*お墓*/
	background: url(../images/con-img01.jpg);
	height: 100%;
    background-position: center;
    background-size: cover;
    position: relative;
    background-repeat: no-repeat;
}
.mainimgsub .con-img01:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img02{
	background: url(../images/con-img02.jpg);
	height: 100%;
	/*background-position: center center;*/
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img02:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img03{ /*写真*/
	background: url(../images/con-img07.jpg);
	height: 100%;
	/*background-position: center center;*/
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img03:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img04{ /*行事*/
	background: url(../images/con-img04.jpg);
	height: 100%;
	background-position: center center;
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img04:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img05{ /*縁起*/
	background: url(../images/con-img05.jpg);
	height: 100%;
	/*background-position: center center;*/
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img05:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img06{ /*交通*/
	background: url(../images/con-img06.jpg);
	height: 100%;
	/*background-position: center center;*/
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img06:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}
.mainimgsub .con-img07{ /*案内*/
	background: url(../images/con-img08.jpg);
	height: 100%;
	background-position: center center;
	background-size: cover;
	position: relative;
}
.mainimgsub .con-img07:after{
    /*background: rgba(0,0,0,.3);*/
    /*background: url(css/images/05.png);*/
    content: "";
    display: table;
    width: 100%;
    height: 100%;
}

.mainimgsub .con-text {
    color: #fff;
    width: auto;
    height: 148px;
    font-size: 23px;
    line-height: 80px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: "palt" 0;
    letter-spacing: .82em;
    text-align: left;
    padding: 0;
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
    -webkit-transform: scaleY(.95);
    transform: scaleY(.95);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: opacity .9s cubic-bezier(.25,.1,.25,1) .3s;
    position: absolute;
    font-weight: bold;
}

.mainimgsub .con-text {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.mainimgsub .con-text:after{
    content: '';
    display: block;
    width: 1px;
    background: rgba(203,203,203,.6);
    height: 152px;
}

@media screen and (max-width: 767px){
	.vegas-wrapper .vagas-text h2{
		writing-mode: inherit;
		max-width: 300px;
		min-width: 200px;
		text-align:center;
	}
	.vegas-wrapper .vagas-text h2 span{
	    font-size: 25px;
		text-align:center;
		margin-left:10px;
	}
	.vegas-wrapper .vagas-text h2 p {
		font-size: 45px;
		text-indent: -8px;
	}
	.vegas-wrapper .vagas-text{
		flex-direction: column;
		flex-wrap: wrap;
		width: 100%;
	}
	.vegas-wrapper .vagas-text h3{
		margin-top: 0; 
		margin-bottom: 25px;
		font-size: 15px;
		text-align:center;
	}
	.mainimgsub .con-text{
		font-size: 15px;
	}
	.vegas-wrapper .vagas-text h2 img{
		margin-right:auto;
		margin-left:auto;
	}
	.mainimgsub .con-img01{
		background-position: left center;
	}
}

/* Contents ====================================== */

.bg01{
	background: url(../images/pc_bg_01.png);
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bg02{
	background: url(../images/pc_bg_02.png);
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.wrap{
	padding: 100px;
	letter-spacing: .1em;
}
.wrap hr {
	border-top: 1px solid rgba(203,203,203,.6);
	/*margin: 100px 0;*/
	max-width: 1000px;
	margin: 100px auto;
}

.wrap .box{
	max-width: 1000px;
	margin: auto;
}
.wrap .box-c{
	text-align: center;
	max-width: 1000px;
	margin: auto;
}
.wrap .box-l{
	text-align: left;
	max-width: 1000px;
	margin: auto;
}
.wrap h2{
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.wrap .box-c p{
	font-size: 15px;
	line-height: 35px;
}
.wrap .box-l p,
.wrap .box p{
	line-height: 30px;
}

.wrap .box-l p{
	padding: 0 50px;
}
.wrap .box .eventp p{
	padding: 0 50px;
}
.wrap .box-l ul li {
    list-style: cjk-ideographic;
    list-style-position: inside;
}
.wrap .box-l ul {
    padding: 0 50px;
    font-size: 14px;
    line-height: 35px;
}
.wrap .box-l .item-img {
    height: 300px;
    width: 100%;
}

.wrap .box-l .banner{
	width:100%;
	padding:15px;
}

.wrap .box-l .banner .g-item-img01{
	background: url(../images/g-item-img01.jpg);
	background-position: center center;
    background-size: cover;
}
.wrap .box-l .e-item-img01{
	background: url(../images/e-item-img01.jpg);
	background-position: top;
    background-size: cover;
}
.wrap .box-l .e-item-img02{
	background: url(../images/e-item-img02.jpg);
	background-position: center center;
    background-size: cover;
}
.wrap .box-l .o-item-img01{
	background: url(../images/o-item-img01.jpg);
	background-position: top;
    background-size: cover;
}
.wrap .box-l .item-img:hover {
	opacity: .7;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.wrap .box-l .caption{
    color: #787878;
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: .1em;
    margin-top: 10px;
    margin-bottom: 100px;
    text-align: left;
}
.wrap .box-c .img-bg{
	background: url(../images/img01.jpg);
	width: 100%;
	height: 150px;
	background-position: center;
	background-size: cover;
	margin-top: 100px;
}
.wrap .box .caption{
	color: #787878;
	font-size: 10px;
	line-height: 1;
	white-space: nowrap;
	letter-spacing: .1em;
	margin-top: 10px;
	text-align: left;
}
.flexbox{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	/*text-align: center;*/
	font-size: 15px;
	margin: 0 -25px;
    overflow: hidden;
}
.flexbox .row3{
	width: 33.333%;
	padding: 20px 25px 0;
}
.flexbox .row2{
	width: 50%;
	padding: 0 25px 0;
}
.flexbox .row1{
	width: 100%;
	padding: 0 25px 0;
}
.flexbox.his .caption{
	margin-bottom: 20px;
}
.flexbox.his .row2.text{
	width: 65%;
}
.flexbox.his .row2.img-right{
	padding: 0 75px 0 0;
	margin: 15px 0 0;
    width: 35%;
}
.flexbox.his .row2.img-left{
	padding: 0 0 0 75px;
	margin: 15px 0 0;
    width: 35%;
}
.flexbox .row3 .row-img01,
.flexbox .row3 .row-img02,
.flexbox .row3 .row-img03,
.flexbox .row3 .row-img04,
.flexbox .row3 .row-img05,
.flexbox .row3 .row-img06{
	height: 150px;
	margin: 0 0 20px;
}
.flexbox .row3 .row-img01:hover,
.flexbox .row3 .row-img02:hover,
.flexbox .row3 .row-img03:hover,
.flexbox .row3 .row-img04:hover,
.flexbox .row3 .row-img05:hover,
.flexbox .row3 .row-img06:hover{
	opacity: .7;
	-webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;
}
.flexbox .row3 .row-img01{
	background: url(../images/row3-img01.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row3 .row-img02{
	background: url(../images/row3-img02.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row3 .row-img03{
	background: url(../images/row3-img03.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row3 .row-img04{ /*梅の花*/
	background: url(../images/row3-img04.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row3 .row-img05{
	background: url(../images/row2-img01.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row3 .row-img06{
	background: url(../images/row2-img02.jpg) #505050;
	background-position: center;
	background-size: cover;
}

.flexbox .row2 .h-row2-img01{
	background: url(../images/h-row2-img01.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row2 .h-row2-img02{
	background: url(../images/h-row2-img02.jpg) #505050;
	background-position: center;
	background-size: cover;
}
.flexbox .row2 .h-row2-img01,
.flexbox .row2 .h-row2-img02{
    width: 100%;
    height: 300px;
}
.flexbox .row2 .h-row2-img01:hover,
.flexbox .row2 .h-row2-img02:hover{
	opacity: .7;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.flexbox .row2 .his-row2-img01{
	background: url(../images/his-row2-img01.jpg) #505050;
	background-position: 50% 50%;
    background-size: cover;
    padding-bottom: 100%;
}
.flexbox .row2 .his-row2-img02{
	background: url(../images/his-row2-img02.jpg) #505050;
    background-position: 50% 50%;
    background-size: cover;
    padding-bottom: 100%;
}
.flexbox .row2 .his-row2-img01,
.flexbox .row2 .his-row2-img02{
    width: 100%;
    height: 200px;
}
.flexbox .row2 .his-row2-img01:hover,
.flexbox .row2 .his-row2-img02:hover{
	opacity: .7;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.flexbox .row2 .row-img01,
.flexbox .row2 .row-img02{
    width: 100%;
    height: 300px;
}
.flexbox .row2 .row-img01:hover,
.flexbox .row2 .row-img02:hover,
.flexbox .row2 .row-img03:hover,
.flexbox .row2 .row-img04:hover {
	opacity: .7;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.flexbox .row3 p{
	display: block;
	margin: 20px 0;
	letter-spacing: .1em;
	/*font-size: 13px;*/
	line-height: 25px;
}
.flexbox .row3 a{
	letter-spacing: .1em;
	/*font-size: 13px;*/
	font-weight: bold;
}
.flexbox .row3 a:after{
	content: "";
	display: block;
	height: 2px;
	width: 20px;
	opacity: 1;
	background: #507b80;
	margin: 5px 0 0;
}
.flexbox .row3 a:hover:after{
	opacity: 0;
	-webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;
}
.flexbox .row3 h3{
	font-weight: bold;
}
.flexbox dl{
    width: 100%;
    /*height: 130px;*/
    text-align: left;
    display: table;
}
.flexbox dl.row2-img01:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/row2-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox dl.row2-img02:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/row2-img02.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox dl.dlhover:hover:before{
    opacity: .7;
    -webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;
}
.flexbox dl:hover:before{
/*    opacity: .7;
    -webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;*/
}
.flexbox dl dt, .flexbox dl dd{
	padding: 0 0 0 15px;
	width: 100%;
	text-align: left;
}
.flexbox dl dt {
    line-height: 50px;
    /*border-bottom: 1px solid rgba(203,203,203,.6);*/
}
.flexbox dl dt span {
	font-weight: bold;
	display: block;
	border-bottom: 1px solid rgba(203,203,203,.6);
}
.flexbox.boxtype dl dt span{
	border-bottom: none;
}
.flexbox dl dd {
	padding-top: 1em;
	/*font-size: 13px;*/
	line-height: 2;
	letter-spacing: .08em;
	font-feature-settings: "palt" 0;
}
.flexbox dl dd a{
	font-weight: bold;
}
.flexbox dl dd a:after{
    content: "";
    display: block;
    height: 2px;
    width: 20px;
    opacity: 1;
    background: #507b80;
    margin: 5px 0 0;
}
.flexbox dl dd a:hover:after{
    opacity: 0;
    -webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;
}
.flexbox .row2 .row-txt{
	text-align: left;
}
.flexbox .row1.edge{
	border: 1px solid rgba(203,203,203,.6);
	padding: 15px;
	background: #fff;
	position: relative;
	margin: auto;
}
.flexbox.boxtype .row1.edge{
	border-bottom: 0;
}
.flexbox.boxtype .row1.edge:last-child{
	border-bottom: 1px solid rgba(203,203,203,.6);
}

.boxtype{
    padding: 100px 50px 0;
}
.flexbox .row1.nextitem{
	padding: 10px;
	width: 80%;
	margin: auto;
	position: relative;
}
.change-border::after,
.change-border::before,
.change-border__inner::after,
.change-border__inner::before {
    background-color: #999;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
}
.change-border::after {
    height: 1px;
    left: -1px;
    top: -1px;
    width: 0px;
}
.change-border::before {
    bottom: -1px;
    height: 1px;
    right: -1px;
    width: 0px;
}
.change-border__inner::after {
    bottom: -1px;
    height: 0px;
    left: -1px;
    width: 1px;
}
.change-border__inner::before {
    height: 0px;
    right: -1px;
    top: -1px;
    width: 1px;
}
/* hover */
.change-border:hover::after,
.change-border:hover::before {
    width: 100%;
    width: calc(100% + 1px);
}
.change-border:hover .change-border__inner::after,
.change-border:hover .change-border__inner::before {
    height: 100%;
    height: calc(100% + 1px);
}
.flexbox .row1 .row-img{
	background: url(../images/event-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: 130px;
}
.flexbox .row1 .h-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/h-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox .row1 .ev-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/ev-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox .row1 .g-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/g-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox .row1 .n-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/n-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox .row1 .p-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/p-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.flexbox .row1 .a-row1-img01 dl:before{
    content: '';
    display: table-cell;
    width: 160px;
    height: 130px;
    background: url(../images/a-row1-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}	
.flexbox .row1 .row-img:hover{
/*	opacity: .7;
    -webkit-transition: all ease 0.4s;
    -moz-transition: all ease 0.4s;
    -o-transition: all ease 0.4s;
    -ms-transition: all ease 0.4s;
    transition: all ease 0.4s;*/
}
.flexbox .row1 .row-img p{
	color: #fff;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
}
.tabletype01{
	padding: 100px 50px 0;
}
.tabletype01 table{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid rgba(203,203,203,.6);
	border-right: 0;
	display: table;
	border-collapse: collapse;
}
.tabletype01 table thead{
    background-image: url(../images/pc_bg_03.png);
    background-size: auto;	
}
.tabletype01 table th{
	letter-spacing: .8em;
	font-size: 13px;
	line-height: 45px;
	border: 1px solid rgba(203,203,203,.6);
	text-align: center;
	vertical-align: middle;
}
.tabletype01 table th:first-child{
	border-bottom: 0;
}
.tabletype01 table tbody tr {
    background: url(../images/pc_bg_01.png);
    transition: all .3s cubic-bezier(.25,.1,.25,1);
}
.tabletype01 table tbody tr:hover {
    background: url(../images/pc_bg_03.png);
}
.tabletype01 table tbody tr td {
    font-size: 13px;
    line-height: 28px;
}
.tabletype01 table tbody tr td{
	width: 25%;
	border-top: 1px solid rgba(203,203,203,.6);
	border-right: 1px solid rgba(203,203,203,.6);
	text-align: center;
	vertical-align: middle;
	letter-spacing: .04em;
	font-feature-settings: "palt" 0;
}
.tabletype01 table tbody tr td:first-child {
    padding: 1em;
    text-align: left;
    font-feature-settings: "palt" 1;
    width: 25%;
    background-image: url(../images/pc_bg_03.png);
    background-size: auto;
}
.tabletype02{
	padding: 0 50px 0;
}
.tabletype02 table{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid rgba(203,203,203,.6);
	border-right: 0;
	display: table;
	border-collapse: collapse;
}
.tabletype02 table thead{
    background-image: url(../images/pc_bg_03.png);
    background-size: auto;	
}
.tabletype02 table th{
	letter-spacing: .8em;
	font-size: 15px;
	line-height: 45px;
	border: 1px solid rgba(203,203,203,.6);
	text-align: center;
	vertical-align: middle;
}
.tabletype02 table th:first-child{
	border-bottom: 0;
}
.tabletype02 table tbody tr {
    background: url(../images/pc_bg_01.png);
    transition: all .3s cubic-bezier(.25,.1,.25,1);
}
.tabletype02 table tbody tr:hover {
    background: url(../images/pc_bg_03.png);
}
.tabletype02 table tbody tr td {
    font-size: 15px;
    line-height: 28px;
}
.tabletype02 table tbody tr td{
	width: 70%;
	border-top: 1px solid rgba(203,203,203,.6);
	border-right: 1px solid rgba(203,203,203,.6);
	text-align: left;
	vertical-align: middle;
	letter-spacing: .04em;
	font-feature-settings: "palt" 0;
	padding: 1em;
}
.tabletype02 table tbody tr td:first-child {
    padding: 1em;
    text-align: left;
    font-feature-settings: "palt" 1;
    width: 30%;
	background-image: url(../images/pc_bg_03.png);
	background-size: auto;
}
.tabletype02 table tbody tr td.tableimg dl{
	line-height: 100px;
	width: 100%;
	text-align: left;
	display: table;
}
.tabletype02 table tbody tr td.tableimg dl dt{
    padding: 0 15px 0 0;
    width: 100%;
    text-align: left;
}
.tabletype02 table tbody tr td.tableimg dl span{
	display: block;
}
.tabletype02 .e-tbl-img01 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img01.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype02 .e-tbl-img02 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img02.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype02 .e-tbl-img03 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img03.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype02 .e-tbl-img04 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img04.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype02 .e-tbl-img05 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img05.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype02 .e-tbl-img06 dl:after {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/e-tbl-img06.jpg);
    background-size: cover;
    background-position: center center;
}
.tabletype03{
	padding: 100px 50px 0;
}
.tabletype03 table{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid rgba(203,203,203,.6);
	border-right: 0;
	display: table;
	border-collapse: collapse;
}
.tabletype03 table thead{
    background-image: url(../images/pc_bg_03.png);
    background-size: auto;	
}
.tabletype03 table th{
	letter-spacing: .8em;
	font-size: 13px;
	line-height: 45px;
	border: 1px solid rgba(203,203,203,.6);
	text-align: center;
	vertical-align: middle;
}
.tabletype03 table th:first-child{
	border-bottom: 0;
}
.tabletype03 table tbody tr {
    background: url(../images/pc_bg_01.png);
    transition: all .3s cubic-bezier(.25,.1,.25,1);
}
.tabletype03 table tbody tr:hover {
    background: url(../images/pc_bg_03.png);
}
.tabletype03 table tbody tr td {
    font-size: 13px;
    line-height: 28px;
}
.tabletype03 table tbody tr td{
	width: 20%;
	border-top: 1px solid rgba(203,203,203,.6);
	border-right: 1px solid rgba(203,203,203,.6);
	text-align: center;
	vertical-align: middle;
	letter-spacing: .04em;
	font-feature-settings: "palt" 0;
}
.tabletype03 table tbody tr td dl{
	width: 100%;
	text-align: left;
	display: table;
}
.tabletype03 table tbody tr td dl dt{
	line-height: 50px;
	padding: 0 0 0 15px;
	width: 100%;
	text-align: left;
}
.tabletype03 table tbody tr td dl dt span{
	font-weight: bold;
    display: block;
}
.tabletype03 table tbody tr td dl dd{
	padding-top: 1em;
	font-size: 12px;
	line-height: 2;
	letter-spacing: .08em;
	font-feature-settings: "palt" 0;
	padding: 0 0 0 15px;
	width: 100%;
	text-align: left;
}
.tabletype03 table tbody tr td:first-child {
    padding: 1em;
    text-align: left;
    font-feature-settings: "palt" 1;
    width: 60%;
}
.tabletype03 .tbl-img01 dl:before {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/row-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.tabletype03 .tbl-img02 dl:before {
    content: '';
    display: table-cell;
    width: 160px;
    height: 100px;
    background: url(../images/row-img01.jpg) #505050;
    background-size: cover;
    background-position: center center;
}
.tabletype04{
	/*padding: 0px 50px 0;*/
}
.tabletype04 table{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	/*border: 1px solid rgba(203,203,203,.6);*/
	border-right: 0;
	display: table;
	border-collapse: collapse;
}
.tabletype04 table thead{
    /*background-image: url(../images/pc_bg_03.png);*/
    background-size: auto;	
}
.tabletype04 table th{
	letter-spacing: .8em;
	font-size: 13px;
	line-height: 45px;
	/*border: 1px solid rgba(203,203,203,.6);*/
	text-align: center;
	vertical-align: middle;
}
.tabletype04 table th:first-child{
	border-bottom: 0;
}
.tabletype04 table tbody tr {
    /*background: url(../images/pc_bg_01.png);*/
    transition: all .3s cubic-bezier(.25,.1,.25,1);
    border-bottom: 1px solid rgba(203,203,203,.3);
}
.tabletype04 table tbody tr:last-child{
	border-bottom: 0;
}
.tabletype04 table tbody tr:hover {
    /*background: url(../images/pc_bg_03.png);*/
}
.tabletype04 table tbody tr td {
    font-size: 15px;
    line-height: 28px;
}
.tabletype04 table tbody tr td{
	width: 60%;
	/*border-top: 1px solid rgba(203,203,203,.6);*/
	/*border-right: 1px solid rgba(203,203,203,.6);*/
	text-align: left;
	vertical-align: middle;
	letter-spacing: .04em;
	font-feature-settings: "palt" 0;
	padding: 1em;
}
.tabletype04 table tbody tr td:first-child {
    padding: 1em;
    text-align: left;
    font-feature-settings: "palt" 1;
    width: 40%;
	/*background-image: url(../images/pc_bg_03.png);*/
	background-size: auto;
}
.tabletype04 table tbody tr td.tableimg dl{
	line-height: 100px;
	width: 100%;
	text-align: left;
	display: table;
}
.tabletype04 table tbody tr td.tableimg dl dt{
    /*padding: 0 15px 0 0;*/
    width: 100%;
    text-align: left;
}
.tabletype04 table tbody tr td.tableimg dl span{
	display: block;
}
.tabletype04 table tbody tr td.tableimg dl span:before {
    content: ' — ';
    color: #507b80;
    font-weight: 900;
}
.tabletype04 img{
	text-align:center;
	padding:20px;
}
.context.message p{
	text-align: center;
}
.mapwrap{
	/*padding: 0 0 100px;*/
	max-width: 1000px;
	margin: auto;
}
.mapwrap .map-text{
	font-size: 1.2em;
	text-align: center;
	margin: 15px 0;
	/*juusyo*/
}
.mapwrap .box img{
	width: 80%;
	text-align: center;
	margin:  15px 0;
}
.mapbox{
	text-align: center;
	margin: auto;
	overflow: hidden;
	width:100%;
	display: inline-block;
  
}
.clearfix::after{
	content:"";
	display:block;
	clear: both;
}
.mapbox .googlemap{
	width: 90%;
  padding: 0 0 0 0;
	display: inline-block;
}
.mapbox .googlemap iframe{
	width: 100%;
    height: 500px;
	padding:0 0 30px;
}
.mapbox .mappng{
	width: 90%;
  height: auto;
  padding: 0 0 0 0px;
	display: inline-block;
}
.mapbox .mappng img{
	width: 60%;
}
.mapbox .googlemap p, .mapbox .mappng p{
	text-align: left;
	line-height: 1;
	letter-spacing: .21em;
	border-left: 3px solid #507b80;
	margin-left: 3px;
	padding-left: 1em;
	margin-bottom: 15px;
	margin-top: 0;
}

.gravehead{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    width: 100%;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    letter-spacing: .46em;
    max-width: 1000px;
}
.gravehead p{
	font-size: 14px;
	line-height: 35px;
}
.gr-text{
	font-size:0.9em;
	margin:30px 0 0;
}
.gr-add{
	font-size:1.2em;
	margin:50px 0 0 0;
	text-align: center;
}
.gr-tel{
	background-color: #505050;
	color: #fff;
	padding: 5px;
	margin: 0 20px 0 0;
	display: inline-block;
}

.buttonbox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 30px 0 10px;
    font-weight: bold;
}
.buttonbox .row4{
	width: 25%;
	padding: 0 15px 0;
}
.button{
    background-image: url(../images/pc_bg_03.png);
    box-shadow: 2px 2px 3px #dddddd;
    text-align: center;
    padding: 10px;
    display: table;
    margin: auto;
    width: 100%;
}
.dotborder{
	margin: 50px 0;
	border-top: 1px dotted rgba(203,203,203,.6);
	margin-right: auto;
	margin-left: auto;
	width: 100%;
}
.contentsphoto{
	display:-webkit-flex;
	display:flex;
	flex-wrap: wrap;
	width:auto;
	text-align:center;
}
.contentsphoto .phototable{
	width:33.3%;
	margin-right:auto;
	margin-left:auto;
	padding:10px;
}
.contentsphoto .phototable2{
	width:33.3%;
	margin-right:10px;
}
.contentsphoto .phototable:hover {
	opacity: .7;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.contentsphoto img{
	width:100%;
}
.box-l .photobox{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.box-l .photosheet{
    width: 33.333%;
    padding: 15px;
}
.box-l .photosheet a{
    padding: 10px;
    background-color: #ffffff;
    box-shadow: 2px 2px 3px #dddddd;
    display: table;
}
.photosheet img{
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.newsbox{
	margin:20px 0;
	border-bottom: 1px dotted #848484;
}
.newsbox span{
	font-weight: bold;
}
.newsbox p{
	margin: 15px 0;
	padding: 0 !important;
}
.guide .flexbox .row3 {
    padding: 20px 25px;
}

@media screen and (max-width: 1023px){
	.spacer{
		padding: 0 0 100px;
	}
	.wrap{
		padding: 50px 30px;
	}
	.wrap h2{
		margin-bottom: 50px;
	}
	.wrap .box-c .img-bg{
		margin-top: 50px;
	}
	.flexbox .row3{
		padding: 0 15px 0;
	}
	.wrap hr{
		margin: 50px 0;
	}
	.flexbox .row2{
		/*padding: 0 15px 0;*/
	}
	.wrap .box-l .caption{
		/*margin-bottom: 50px;*/
	}
	.tabletype01{
		padding: 50px 50px 0;
	}
	.m-b-100{
		margin-bottom: 50px;
	}
	.tabletype02{
		padding: 50px 50px 0;
	}
	.tabletype03{
		padding: 50px 50px 0;
	}
	.mapwrap{
		/*padding: 0 0 50px;*/
	}
	.guide .flexbox .row3{
		padding: 15px;
	}
}

@media screen and (max-width: 767px){
	.wrap .box-c p,
	.wrap .box-l p,
	.wrap .box .eventp p,
	.wrap .box-l ul,
	.gravehead p{
		line-height: 25px;
		font-size: 12px;
		padding: 0;
		text-align: left;
	}
	.gr-text{
		font-size: 12px;
	}
	.wrap .box-c .img-bg{
		height: 100px;
	}
	.flexbox{
		margin: 0;
	}
	.flexbox .row3{
		width: 100%;
		margin: 0 0 50px;
	}
	.flexbox .row3:last-child{
		margin: 0;
	}
	.flexbox .row2{
		width: 100%;
		margin: 0 0 50px;
	}
	.flexbox .row2:last-child{
		margin: 0;
	}
	.flexbox .row3 a{
		font-size: 12px;
	}
	.flexbox dl{
		display: block;
	}
	.flexbox dl dd{
		display: block;
		margin: 20px 0;
		letter-spacing: .1em;
		font-size: 13px;
		line-height: 25px;
		padding: 0;
	}
	.flexbox dl dd a:after{
		/*margin: 5px auto 0;*/
	}
	.flexbox dl dt{
		padding: 0;
		line-height: normal;
	}
	.flexbox .row1 .row-img{
		height: 100px;
	}
	.flexbox .row3 .row-img01,
	.flexbox .row3 .row-img02,
	.flexbox .row3 .row-img03{
		/*height: 100px;*/
	}
	.flexbox dl:before,
	.flexbox dl.row2-img01:before,
	.flexbox dl.row2-img02:before{
		display: block;
		width: 100%;
		height: 100px;
		margin: 0 0 20px;
	}
	.flexbox dl dt span{
		border-bottom: none;
		/*text-align: center;*/
	}
	.tabletype01 table th{
		line-height: 25px;
	}
	.wrap .box-l .caption{
		/*margin-bottom: 0px;*/
	}
	.context{
		/*margin: 50px 0 0;*/
	}
	.flexbox .row2 .row-img01,
	.flexbox .row2 .row-img02,
	.flexbox .row2 .row-img03,
	.flexbox .row2 .row-img04{
		height: 100px;
	}
	.tabletype01 {
		padding: 50px 0 0;
	}
	.tabletype01 table th,
	.tabletype01 table tbody tr td{
		font-size: 11px;
		letter-spacing: .1em;
	}
	.tabletype02{
		padding: 50px 0 0;
	}
	.tabletype02 .tbl-img01 dl:after{
		display: none;
	}
	.tabletype02 table th,
	.tabletype02 table tbody tr td{
		font-size: 11px;
		letter-spacing: .1em;
	}
	.tabletype02 table tbody tr td.tableimg dl{
		line-height: normal;
	}
	.row-txt p {
		line-height: 25px;
		font-size: 12px;
		padding: 0;
	}
	.tabletype03 {
    	padding: 50px 0 0;
	}
	.tabletype03 .tbl-img01 dl:before,
	.tabletype03 .tbl-img02 dl:before{
		display: block;
		width: 100%;
		height: 100px;
		margin: 0 0 20px;
	}
	.tabletype03 table tbody tr td dl dt{
		line-height: normal;
		text-align: center;
		padding: 0;
		letter-spacing: .46em;
	}
	.tabletype03 table tbody tr td dl dd{
		line-height: 1.6;
		padding: 1em 0;
		text-align: center;
	}
	.flexbox .row1.nextitem{
		width: 100%;
	}
	.context.message p{
		text-align: left;
	}
	.flexbox .row1 .h-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: '行事';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .ev-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: 'お墓';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .g-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: '案内';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .n-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: '写真';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .p-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: '交通';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .a-row1-img01 dl:before{
		width: 100%;
		display: flex;
		content: '縁起';
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
	}
	.flexbox .row1 .h-row1-img01 dl dd,
	.flexbox .row1 .ev-row1-img01 dl dd,
	.flexbox .row1 .g-row1-img01 dl dd,
	.flexbox .row1 .n-row1-img01 dl dd,
	.flexbox .row1 .p-row1-img01 dl dd,
	.flexbox .row1 .a-row1-img01 dl dd{
		margin-bottom: 0;
	}
	.mapbox .googlemap{
		width:100%;
		float: none;
		padding:0 0 0 15px;
	}
	.mapbox .mappng{
		width:100%;
		float:none;
		margin:30px 0 0 0;
	}
	.box-l .photobox .photosheet{
		width:100%;
		margin-right:auto;
		margin-left:auto;
	}
	.box-l .photobox {
		padding: 0px;	
	}
	.flexbox.his .row2.text{
		width: 100%;
	}
	.flexbox.his .row2.img-right{
		padding: 0 25px 0;
		width: 100%;
	}
	.flexbox.his .row2.img-left{
		padding: 0 25px 0;
		width: 100%;
	}
	.buttonbox .row4{
		width: 100%;
		padding: 0 15px 15px;
		font-size: 0.8em;
	}
	.buttonbox .row4:last-child{
		padding-bottom: 0; 
	}
	.gr-add{
		text-align: left;
	}
	.gr-add span{
		display: block;
		margin: 10px 0;
	}
	.box-l .photosheet a{
		display: block;
	}
	.flexbox .nextitem dl dt{
		display: none;
	}
}


/* Footer ====================================== */

#footer .box-f{
	background: #505050;
}
#footer .box-f .row{
	text-align: left;
	padding: 25px 20px;
}
#footer .box-f .row p{
	color: #fff;
}
#page-top{
	position: fixed;
	bottom: 70px;
	right: 20px;
}
#page-top a{
    text-decoration: none;
    color: #fff;
    width: 40px;
    padding: 15px 0;
    text-align: center;
    display: block;
}
#page-top a img{
	width: 100%;
}

@media screen and (max-width: 767px){
	#footer .box-f .row p{
		font-size: 11px;
	}
	#page-top{
		display: none !important;
	}
}
