@charset "UTF-8";

/*******************************/
/* スライダー */
/*******************************/

@-webkit-keyframes zoomOut {
	0% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
	}
}

@keyframes zoomOut {
	0% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
	}
}

#mv-block .swiper-slide-active .slide-img,
#mv-block .swiper-slide-duplicate-active .slide-img,
#mv-block .swiper-slide-prev .slide-img {
	animation: zoomOut 5s linear 0s 1 normal both;
	-webkit-animation: zoomOut 5s linear 0s 1 normal both;
}

#mv-block {
	position: relative;
	padding: 0 5%;
}

#mv-block .swiper-container {
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	overflow: hidden;
}

#mv-block .swiper-wrapper .slide-img {
	height: calc(100vh - 80px - 60px);
	width: 100%;
}

#mv-block .swiper-wrapper .slide-img:first-of-type {
	background-color: #FFF5F7;
	position: relative;
}

#mv-block .mv__logo {
	width: 80%;
	max-width: 550px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
}


/* スライダー上のキャッチコピー */
#mv-block .mv__catchphrase {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	white-space: nowrap;
	font-size: clamp(22px, 36 / 960 * 100vh, 36px);
	line-height: 1.8;
	letter-spacing: 0.15em;
}

#mv-block .mv__catchphrase span {
	background-color: var(--color_white);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0.5em 0;
}

/* スライダー周りの装飾 */
#mv-block::before,
#mv-block::after {
	content: "";
	position: absolute;
	bottom: -60px;
	z-index: 2;
	width: 28vw;
	height: calc(100% + 60px);
	background-repeat: no-repeat;
	background-size: contain;
}
#mv-block::before {
	left: 0;
	background-image: url(../img/top/fv/pc/illust_fv_pc_left.svg);
	background-position: bottom left;
}
#mv-block::after {
	right: 0;
	background-image: url(../img/top/fv/pc/illust_fv_pc_right.svg);
	background-position: bottom right;
}
/*******************************/
/* スライダー end */
/*******************************/


/* 永田やについて */
#about-block .cont-ttl--primary {
	margin-bottom: 48px;
}

#about-block .inner {
	max-width: 960px;
	margin: 0 auto;
	position: relative;
}

#about-block .list {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 30px 6%;
	position: relative;
	z-index: 2;
}

#about-block .list li {
	width: 45%;
	max-width: 300px;
	box-shadow: var(--shadow01);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	border: 1px solid var(--color_primary01);
	background-color: var(--color_white);
	padding: 40px 24px;
}

#about-block .list .decoBird-right--primary::after {
	top: auto;
	bottom: calc(100% - 48px);
}

#about-block .number {
	background-image: url(../img/common/green_circle_big.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
	color: var(--color_white);
	padding: 16px;
}

#about-block .list-ttl {
	font-family: var(--ff_jp_sans-serif);
	font-weight: var(--fw_jp_normal);
	text-align: center;
	margin: 16px auto;
}

#about-block .item {
	background-color: var(--color_gray03);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	display: flex;
	justify-content: space-between;
	gap: 20px 3%;
	padding: 120px 10% 60px;
	margin-top: -60px;
}

#about-block .item figure {
	width: 20%;
}

#about-block .item .support {
	width: 40%;
}

#about-block .item-ttl {
	font-family: var(--ff_jp_sans-serif);
	font-weight: var(--fw_jp_normal);
	margin-bottom: 16px;
	line-height: 1.6;
}

#about-block .support-list li {
	padding: 4px 0 4px 30px;
	position: relative;
}

#about-block .support-list li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	width: 24px;
	aspect-ratio: 1/1;
	background-image: url(../img/common/icon_chechmark.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

#about-block .item .link-btn__unit {
	width: 34%;
	margin-top: 0;
	display: flex;
	align-items: flex-end;
}

#about-block .item .link-btn__unit .link-btn--primary {
	width: 100%;
}



/* お墓じまいの流れ */
#flow-block {
	margin: 240px auto 220px;
}

#flow-block.decoForest-left--secondary::before {
	bottom: -60px;
}

#flow-block .content {
	background-color: var(--color_primary03);
	display: flex;
	justify-content: space-between;
	gap: 30px 5%;
	margin-right: calc(50% - 50vw);
	padding: 60px calc(50vw - 50%) 60px 5%;
	border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	position: relative;
}

#flow-block .decoBird-right--secondary::after {
	top: auto;
	right: auto;
	bottom: calc(100% - 18px);
	left: min(59vw, 460px);
}

#flow-block .inner {
	width: 42%;
}

#flow-block .inner .link-btn--primary {
	margin-left: auto;
}

#flow-block figure {
	width: 53%;
	height: 360px;
	box-shadow: var(--shadow01);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	overflow: hidden;
	margin-bottom: -120px;
}


/* 永田やの霊園 */
#cemetery-block {
	position: relative;
	margin: 220px auto;
}

#cemetery-block .txtDeco--right {
	color: var(--color_gray03);
	top: 0.4em;
	line-height: 0.65em;
}

#cemetery-block .txtDeco--right span:nth-of-type(1) {
	margin-right: 1.2em;
}

#cemetery-block .lead {
	text-align: right;
}

#cemetery-block .content {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 30px;
	padding-bottom: 60px;
	position: relative;
}
#cemetery-block .content::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 65%;
	background: var(--gradient_gray);
}

/*******************************/
/* スライダー */
/*******************************/
#cemetery-block .cemetery-slider {
	width: 100%;
}

#cemetery-block .cemetery-slider .swiper-wrapper {
	transition-timing-function: linear;
	padding: 24px 0;
}

#cemetery-block .cemetery-slider .swiper-slide:nth-of-type(odd) {
	padding-bottom: 60px;
}
#cemetery-block .cemetery-slider .swiper-slide:nth-of-type(even) {
	padding-top: 60px;
}

#cemetery-block .cemetery-slider .slide-img {
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	overflow: hidden;
	box-shadow: var(--shadow01);
}

/*******************************/
/* スライダー end */
/*******************************/

#cemetery-block .link-btn--primary {
	margin: 0 auto;
	z-index: 3;
}


/* 運営について */
#management-block {
	margin: 240px auto 220px;
}

#management-block.decoForest-left--secondary::before {
	bottom: -60px;
}

#management-block .content {
	background-color: var(--color_primary03);
	display: flex;
	justify-content: space-between;
	gap: 30px 5%;
	margin-right: calc(50% - 50vw);
	padding: 60px calc(50vw - 50%) 60px 5%;
	border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal) 0 0 var(--border_radius_normal);
	position: relative;
}

#management-block .inner {
	width: 42%;
	margin-top: -88px;
}

#management-block .inner .link-btn--primary {
	margin-left: auto;
}

#management-block figure {
	width: 53%;
	height: 360px;
	box-shadow: var(--shadow01);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	overflow: hidden;
	margin-bottom: -120px;
}



/* スマートフォン用 */
@media screen and (max-width: 768px) {

	/*******************************/
	/* スライダー */
	/*******************************/

	#mv-block .swiper-wrapper .slide-img {
		height: calc(100vh - 60px - 40px - 70px);
		max-height: 640px;
	}

	#mv-block .mv__logo {
		width: 60%;
		max-width: 480px;
	}


	/* スライダー上のキャッチコピー */
	#mv-block .mv__catchphrase {
		font-size: clamp(22px, 36 / 768 * 100vw, 36px);
		letter-spacing: 0.1em;
	}

	/* スライダー周りの装飾 */
	#mv-block::before,
	#mv-block::after {
		bottom: -40px;
		width: max(140px, 28vw);
		height: calc(100% + 40px);
	}
	/*******************************/
	/* スライダー end */
	/*******************************/


	/* 永田やについて */
	#about-block .cont-ttl--primary {
		margin-bottom: 24px;
	}

	#about-block .list {
		flex-direction: column;
	}

	#about-block .list li {
		width: 90%;
		max-width: 480px;
		padding: 30px 24px;
		margin: 0 auto;
	}

	#about-block .list .decoBird-right--primary::after {
		bottom: calc(100% - 96px);
	}

	#about-block .item {
		flex-direction: column;
		padding: 80px 30px 40px;
		margin-top: -40px;
	}

	#about-block .item.decoButterfly-left--primary::before {
		top: 24px;
    }

	#about-block .item figure {
		width: 100%;
		max-width: 160px;
		margin: 0 auto;
	}

	#about-block .item .support {
		width: fit-content;
		margin: 0 auto;
	}

	#about-block .item-ttl {
		margin-bottom: 8px;
	}

	#about-block .item .link-btn__unit {
		width: 100%;
	}

	#about-block .item .link-btn__unit .link-btn--primary {
		width: 100%;
		margin: 0 auto;
	}



	/* お墓じまいの流れ */
	#flow-block {
		margin: 160px auto 120px;
	}

	#flow-block.decoForest-left--secondary::before {
		bottom: -40px;
	}

	#flow-block .content {
		flex-direction: column;
		padding: 30px calc(50vw - 50%) 30px 30px;
	}

	#flow-block .inner {
		width: 100%;
	}

	#flow-block .inner .link-btn--primary {
		margin: 0 auto;
	}

	#flow-block figure {
		width: 100%;
		height: 240px;
		margin-bottom: -50px;
	}


	/* 永田やの霊園 */
	#cemetery-block {
		margin: 120px auto;
	}

	#cemetery-block .content {
		margin-top: 0;
		padding-bottom: 120px;
	}

	/*******************************/
	/* スライダー */
	/*******************************/
	#cemetery-block .cemetery-slider .swiper-wrapper {
		transition-timing-function: linear;
		padding: 16px 0;
	}

	#cemetery-block .cemetery-slider .swiper-slide:nth-of-type(odd) {
		padding-bottom: 40px;
	}
	#cemetery-block .cemetery-slider .swiper-slide:nth-of-type(even) {
		padding-top: 40px;
	}

	/*******************************/
	/* スライダー end */
	/*******************************/


	/* 運営について */
	#management-block {
		margin: 160px auto 120px;
	}

	#management-block.decoForest-left--secondary::before {
		bottom: -40px;
	}

	#management-block .content {
		flex-direction: column;
		padding: 30px calc(50vw - 50%) 30px 30px;
	}

	#management-block .content.decoButterfly-left--secondary::before {
		top: -80px;
	}

	#management-block .inner {
		width: 100%;
		margin-top: -48px;
	}

	#management-block .inner .link-btn--primary {
		margin: 0 auto;
	}

	#management-block figure {
		width: 100%;
		height: 240px;
		margin-bottom: -50px;
	}

}
