@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */

/* メインビジュアル */
/* -------------------------------------------------- */
.mvWrap {
	width: 100%;
	height: 100vh;
	margin-bottom: 60px;
	padding: 100px 0 0;
	/*padding-bottom: 5.2vw;*/
	position: relative;
}

.mv {
	width: calc(100% - 580px);
	height: calc(100% - 20px);
	margin-left: 580px;
	position: relative;
	z-index: -2;
	border-radius: 15px 0 0 15px;
	transition: all .3s ease-in-out;
	overflow: hidden;
}

.mvList,
.mvItem {
	height: 100%;
}

.slick-list,
.slick-track {
	height: 100% !important;
}

.logoCont {
	width: 580px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #FFFFFF;
	transition: all .3s ease-in-out;
}

.logoContInner {
	height: 100%;
/*	max-height: 795px;*/
	padding-top: 100px;
	position: relative;
}

.logoMain {
	width: 180px;
}

.logoContCatch {
	position: absolute;
	position: absolute;
	bottom: 3%;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

.mainCatch {
	font-size: 2.8rem;
	line-height: 2.1;
	letter-spacing: 0.4em;
}

.mainCatch span {
	display: inline-block;
	text-indent: 2.5em;
}

/*
#mv img {
	width: 100%;
	height: auto !important;
	min-height: 100vh;
	vertical-align: bottom;
}

#mv .sp-slides {
	height: 100vh !important;
}

#mv .sp-grab {
	cursor: default !important;
}

.sp-mask {
	width: 100% !important;
}
*/

@keyframes zoom {
	0% {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}

	100% {
		-webkit-transform: scale3d(2, 2, 2);
		-ms-transform: scale3d(2, 2, 2);
		transform: scale3d(2, 2, 2);
	}
}

.slick-current,
.zoom {
	-webkit-animation-name: zoom;
	animation-name: zoom;
	-webkit-animation-duration: 60s;
	animation-duration: 60s;
}

.zoom {
	transition: all 0.3s ease-in-out 0s;
}

#closeday {
	text-align: center;
	padding-bottom: 80px;
}

#closeday a {
	transition: all 0.3s ease-in-out 0s;
}

#closeday a:hover {
	opacity: 0.7;
}

#closeday img {
	max-width: 95%;
	height: auto;
}



/* intro */
/* -------------------------------------------------- */
#intro {
	height: 650px;
	margin-bottom: 85px;
}

#introFigure {
	height: 100%;
	border-radius: 0 15px 15px 0;
	overflow: hidden;
}

.introContInner {
	width: 100%;
	max-width: 960px;
	padding: 135px 13.54% 0;
}

.openTxt {
	margin-bottom: 20px;
	font-size: 1.8rem;
	line-height: 1.0;
	letter-spacing: 0.2em;
}

.introCatch {
	margin-bottom: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	letter-spacing: 0.2em;
}

.introCatch ._br {
	content: '¥A';
	white-space: pre;
}

.introBox {
	margin-bottom: 30px;
	/*padding: 19px 20px 19px 10.28%;*/
	padding: 19px 20px 19px;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	line-height: 1.0;
	border: 1px solid #3EB134;
}

.introBoxTxt {
	font-size: 2.0rem;
}

.introBoxPrice {
	font-size: 3.0rem;
}

.introBoxStand {
	padding: 9px 15px 8px;
	display: inline-block;
	background: #3EB134;
	line-height: 1.0;
	letter-spacing: 0.15em;
	color: #FFFFFF;
	border-radius: 5px;
}

.introTxt {
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.linkIntroLink {
	letter-spacing: 0.165em;
}

/* service */
/* -------------------------------------------------- */
#service {
	margin-bottom: 140px;
}

.serviceCont {
	margin-bottom: 70px;
}

.serviceBox {
	width: 23.26%;
	max-width: 400px;
	margin-right: 2.3%;
	color: #444444;
}

.serviceLink {
	display: block;
	width: 100%;
	color: inherit;
}

.serviceFigure {
	position: relative;
	z-index: 0;
	border-radius: 15px;
	overflow: hidden;
}

.serviceImg {
	transition: all .3s ease-in-out;
}

.serviceDes {
	position: relative;
	padding: 20px 15px 0 70px;
}

.verticalFlowSer {
	top: -55px !important;
}

.serviceHead {
	padding: 20px 20px 0;
	display: inline-block;
	font-size: 2.2rem;
	line-height: 1.0;
	background: #FFFFFF;
	border-radius: 0 5px 0 0;
}

.serviceTxt {
	margin-bottom: 25px;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.serviceBtn {
	text-align: right;
}

/* オンラインお墓 */
/* -------------------------------------------------- */
#searchCont {
	width: 100%;
	margin-bottom: 170px;
	padding: 60px 70px;
	position: relative;
	background: #F2F4EC;
	border-radius: 10px;
}

.searchContHead {
	margin-bottom: 35px;
	position: relative;
	line-height: 1.0;
	text-align: center;
}

.searchContHead:before {
	width: 100%;
	height: 1px;
	margin-top: -2px;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 0;
	content: '';
	background: #FFFFFF;
}

.searchContHeadIn {
	padding: 0 15px;
	position: relative;
	display: inline-block;
	font-size: 2.5rem;
	line-height: 1.0;
	background: #F2F4EC;
}

.searchContLeft {
	padding-right: 35px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.searchContTxt {
	margin-bottom: 15px;
}

.searchContTxt ._br {
	display: block;
}

.searchContBtn {
	width: 110px;
	margin: 0;
}

.btnSearchLink {
	padding: 6px 0 8px;
	font-size: 1.4rem;
	background: #FFFFFF;
	border-radius: 10px;
	letter-spacing: 0;
}

.btnSearchLink:after {
	width: 7px;
	height: 7px;
	margin-top: -5px;
	right: 9px;
}

.searchContBar {
	position: relative;
}

.searchContBar form,
.searchContBox {
	width: 100%;
	height: 100%;
}

.searchContBox {
	padding: 0 20px;
	font-size: 1.6rem;
	border: none;
	border-radius: 50px;
	outline: none;
}

.btnSearchCont {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -15px;
}

/* 新着情報 */
/* -------------------------------------------------- */
#news {
	margin-bottom: 90px;
}

.newsRow {
	margin-bottom: 50px;
}

.newsBox {
	width: 23.75%;
	margin: 0 1.65% 0 0;
	position: relative;
	color: #444444;
}

.newsBox:nth-last-of-type(1) {
	margin: 0;
}

.newsLink {
	display: block;
	color: inherit;
}

.newsFigure {
	width: 100%;
	height: 220px;
	border-top: 1px solid #E1E3DE;
	border-left: 1px solid #E1E3DE;
	border-right: 1px solid #E1E3DE;
	border-radius: 5px 5px 0 0;
	overflow: hidden;
}

.newsFigure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.newsImg {
	transition: all .3s ease-in-out;
}

.newsDes {
	padding: 25px 20px 30px;
	border: 1px solid #E1E3DE;
	border-radius: 0 0 5px 5px;
}

.newsDesTtl {
	margin-bottom: 20px;
	font-size: 2.0rem;
	line-height: 1.3;
}

.newsCat {
	width: 80px;
	padding: 8px 0;
	position: absolute;
	top: -15px;
	left: 10px;
	font-size: 1.4rem;
	line-height: 1.0;
	letter-spacing: 0;
	text-align: center;
	color: #FFFFFF;
	background: #3EB134;
	border-radius: 5px;
}

.newsDestxt {
	margin-bottom: 25px;
}

.newsDateBtn {
	align-items: center;
	justify-content: space-between;
}

.newsDate {
	font-size: 1.3rem;
	color: #7A7A7A;
}

.newsBtn {
	width: auto;
	display: inline-block;
	position: relative;
}

.newsBtn:before {
	width: 0;
	height: 1px;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: #3EB134;
	transition: all .3s ease-in-out;
}

.newsBtn .moreLink {
	letter-spacing: 0;
}

.newsBtnItem {
	width: 200px;
	margin: 0 1.65% 0 0;
}

.newsBtnLink {
	padding: 17px 0 16px;
	display: block;
	font-size: 1.4rem;
	line-height: 1.0;
	text-align: center;
	color: #009944;
	border: 1px solid #009944;
	border-radius: 15px;
	transition: all .3s ease-in-out;
}

/* link area */
.newsBtnList {
	justify-content: center;
}

/* other contents */
#otherCont {
	padding: 90px 0 95px;
}

.schedule {
	width: 41.67%;
	padding-right: 8.33%;
}

.walking {
	width: 58.33%;
}

.scheduleBox {
	color: #444444;
}

.scheduleLink {
	display: block;
	color: inherit;
}

.scheduleFigure {
	margin-bottom: 25px;
	border-radius: 10px;
	overflow: hidden;
}

.scheduleImg {
	transition: all .3s ease-in-out;
}

.scheduleTxt {
	margin-bottom: 10px;
}

.scheduleBtn {
	text-align: right;
}

.mapFigure {
	margin-bottom: 35px;
}

.mapFigure img {
	width: 100%;
}

.walkingBtnList {
	justify-content: center;
}

.walkingBtn {
	width: 300px;
	margin: 0 50px 0 0;
}

/* -------------------------------------------------- */
/* ローディング */
/* -------------------------------------------------- */
#loading {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	background: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#loadLogo {
	width: 50%;
	max-width: 180px;
	display: none;
}

#loadLogo img {
	width: 100%;
	height: auto;
}


@media screen and (min-width: 1025px) {

	.serviceLink:hover .serviceImg,
	.newsLink:hover .newsImg,
	.scheduleLink:hover .scheduleImg {
		transform: scale(1.05);
	}

	.serviceLink:hover .moreLink:before,
	.newsLink:hover .newsBtn:before,
	.scheduleLink:hover .moreLink:before {
		width: 100%;
	}

	.newsBtnLink:hover {
		color: #FFFFFF;
		background: #009944;
	}
}


@media screen and (max-width: 1850px) {
	.introContInner {
		padding: 7.3vw 13.54% 0;
	}

	.introCatch ._br {
		content: '';
		white-space: inherit;
	}
}

@media screen and (max-width: 1690px) {
	.introBox {
		padding: 19px 20px 19px 4%;
	}
}

@media screen and (max-width: 1760px) {
	.introBoxTxt {
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 1540px) {
	.logoCont {
		width: 38.6%;
	}

	.mv {
		width: 61.4%;
		margin-left: 38.6%;
	}

	.introContInner {
		padding: 7.3vw 50px 0;
	}
}

@media screen and (max-width: 1430px) {
	.introBoxTxt {
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 1350px) {
	.logoCont {
		width: 30.8%;
	}

	.mv {
		width: 69.2%;
		margin-left: 30.8%;
	}
}

@media screen and (max-width: 1200px) {
	.walkingBtn {
		width: 45%;
	}
}

@media screen and (max-width: 1050px) {
	.logoCont {
		width: 28%;
	}

	.mv {
		width: 72%;
		margin-left: 28%;
	}
}


@media screen and (max-height: 830px) {
	.logoMain {
		width: 140px;
	}
	
	.mainCatch {
		font-size: 2.4rem;
	}
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.logoMain {
		display: none;
	}

	.mvWrap {
		height: 100%;
		margin-bottom: 80px;
		padding: 0;
	}

	.mv {
		width: 100%;
		height: 100%;
		margin-left: 0;
		border-radius: 0;
	}

	.logoCont {
		width: 20%;
		height: auto;
		max-height: 420px;
		top: inherit;
		bottom: 0;
		border-radius: 0 20px 0 0;
	}

	.logoContInner {
		width: 100%;
		height: auto;
		margin-top: 0;
		padding-top: 0;
	}

	.logoContCatch {
		width: 100%;
		left: 0;
		bottom: 0;
		background: #fff;
		padding: 35px 0 15px;
		border-radius: 0 30px 0 0;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	#intro {
		height: auto;
	}

	#introFigure {
		border-radius: 0;
	}

	.introContInner {
		width: calc(100% - 100px);
		margin: auto;
		padding: 50px 0 0;
	}

	.introBox {
		padding: 19px 4%;
		justify-content: center;
	}

	.serviceBox {
		width: 48.0%;
		margin: 0 4% 50px 0;
		max-width: inherit;
	}

	.serviceImg {
		width: 100%;
	}

	.introCatch ._br {
		content: '¥A';
		white-space: pre;
	}

	.introBoxTxt {
		margin-bottom: 0;
	}

	.searchContLeft {
		margin-bottom: 40px;
		padding-right: 0;
	}

	.searchContBox {
		height: 60px;
	}

	.newsBox {
		width: 48.0%;
		margin: 0 4% 50px 0;
	}

	.newsImg {
		width: 100%;
	}

	.newsBtnItem {
		width: 21.3%;
		margin: 0 1.65% 0 0;
	}

	.schedule {
		width: 100%;
		padding-right: 0;
		margin: 0 auto 50px;
		max-width: 500px;
	}

	.scheduleImg {
		width: 100%;
	}

	.walking {
		width: 100%;
		max-width: 500px;
		margin: auto;
	}

	.searchContTxt ._br {
		display: none;
	}
}


@media screen and (max-width:1024px) and (-ms-high-contrast: none) {
	.logoContCatch {
		height: 402px;
	}
}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.serviceBox:nth-of-type(2n) {
		margin: 0 0 50px 0;
	}

	.newsBox:nth-of-type(2n) {
		margin: 0 0 50px 0;
	}

}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.logoCont {
		width: 110px;
		height: auto;
	}

	.logoContInner {
		height: auto;
		margin-top: 0;
		padding-top: 0;
	}

	.mainCatch {
		font-size: 2.0rem;
		letter-spacing: 0.2em;
	}

	.introContInner {
		width: calc(100% - 10%);
		padding: 30px 0 0;
	}

	.introCatch {
		font-size: 2.4rem;
	}

	.introCatch ._br {
		content: '¥A';
		white-space: inherit;
	}

	.introBoxTxt {
		width: 100%;
		display: inline-block;
		text-align: center;
		margin-bottom: 10px;
	}

	.linkIntroLink {
		letter-spacing: 0.1em;
	}

	.introTxt {
		font-size: 1.6rem;
		line-height: 1.66;
	}

	.serviceCont {
		margin-bottom: 20px;
	}

	.serviceBox {
		width: 100%;
		max-width: 500px;
		margin: 0 auto 50px !important;
	}

	.serviceHead {
		font-size: 2.0rem;
	}

	.serviceTxt {
		font-size: 1.6rem;
	}

	#service {
		margin-bottom: 80px;
	}

	#searchCont {
		margin-bottom: 80px;
		padding: 30px 5%;
	}

	.searchContHeadIn {
		font-size: 2.0rem;
	}

	#news {
		margin-bottom: 80px;
	}

	.newsBox {
		width: 100%;
		margin: 0 auto 50px !important;
		max-width: 500px;
	}

	.newsRow {
		margin-bottom: 0;
	}

	.newsBtnItem {
		width: 40%;
		margin: 0 15px 15px 0;
	}

	.newsBtnItem:nth-of-type(2n) {
		margin: 0 0 15px 0;
	}

	.newsCat {
		font-size: 1.4rem;
	}

	.otherContHead {
		font-size: 2.0rem;
	}

	.walkingBtn {
		margin: 0 5% 0 0;
	}

	.searchContTxt {
		font-size: 1.6rem;
	}

	.btnSearchLink {
		font-size: 1.4rem;
	}
	
	#loadLogo {
		max-width: 100px;
	}
}


@media screen and (max-width:767px) and (-ms-high-contrast: none) {
	.logoContCatch {
		height: 275px;
	}
}


@media screen and (max-width: 600px) {
	.introBoxTxt {
		font-size: 1.8rem;
	}

	.introBoxTax.fcGreen {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}