@charset "UTF-8";

/* 永田やの樹木葬とは */
#jumoku-block .content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

#jumoku-block .inner {
	width: calc(53% + calc(50vw - 50%));
	margin-right: -5%;
	padding: 48px 5%;
	background-color: var(--color_primary03);
	border-radius: 0 var(--border_radius_normal) var(--border_radius_normal) 0;
	-webkit-border-radius: 0 var(--border_radius_normal) var(--border_radius_normal) 0;
	-moz-border-radius: 0 var(--border_radius_normal) var(--border_radius_normal) 0;
	-ms-border-radius: 0 var(--border_radius_normal) var(--border_radius_normal) 0;
	-o-border-radius: 0 var(--border_radius_normal) var(--border_radius_normal) 0;
	box-shadow: var(--shadow01);
	position: relative;
	z-index: 2;
}

#jumoku-block .catchphrase {
	line-height: 1.8;
	margin-bottom: 24px;
}

#jumoku-block figure {
	width: calc(52% + calc(50vw - 50%));
	height: 480px;
	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);
	margin-top: 60px;
	overflow: hidden;
}


/* 永田やの樹木葬霊園さくら彩苑 */
#about-block .ttl-unit {
	position: relative;
}

#about-block .ttl-unit .decoBird-right--primary::after {
	top: -32px;
	right: auto;
	left: calc(100% + 80px);
}

#about-block .ttl-unit .txtDeco--center {
	top: calc(100% - 0.5em);
}

#about-block .content {
	display: flex;
	flex-direction: column;
	gap: 120px 0;
	margin-top: 120px;
}

#about-block .inner {
	display: flex;
	justify-content: space-between;
	gap: 30px 5%;
	background-color: var(--color_primary03);
	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);
	padding: 40px 5%;
}
#about-block .inner:nth-of-type(odd) {
	flex-direction: row;
}
#about-block .inner:nth-of-type(even) {
	flex-direction: row-reverse;
}

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

#about-block .item .item-ttl {
	margin-top: calc(calc(40px + 1.0em) * -1);
	margin-bottom: 24px;
	margin-left: -1.2em;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: var(--fw_jp_normal);
}

#about-block .item .link-btn__notes {
	font-family: var(--ff_jp_sans-serif);
	text-align: right;
	margin-bottom: 0.5em;
}

#about-block .item .link-btn--secondary {
	margin: 0 0 0 auto;
}

#about-block .inner-img--primary,
#about-block .inner-img--secondary {
	width: 52%;
	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: -70px;
}
#about-block .inner-img--primary {
	height: 380px;
}
#about-block .inner-img--secondary {
	height: 440px;
}


/* フルワイドイメージ */
#visual-block01 {
	margin: 0 auto;
}

#visual-block01 figure {
	width: 100%;
	height: 590px;
}


/* ご利用からご契約までの流れ */
#steps-block {
	padding-bottom: 120px;
}

#steps-block .ttl-unit {
	position: relative;
	padding-top: clamp(90px, 17vw, 170px);
}

#steps-block .decoFlower-left--primary::before {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}

#steps-block .txtDeco--center {
	top: 80px;
}

#steps-block .content {
	margin-top: 80px;
}

#steps-block .inner--primary,
#steps-block .inner--secondary {
	padding: 40px 5%;
	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);
}
#steps-block .inner--primary {
	background-color: var(--color_primary01);
}
#steps-block .inner--secondary {
	background-color: var(--color_accent04);
}

#steps-block .inner-ttl {
	text-align: center;
	font-weight: var(--fw_jp_normal);
	margin-bottom: 30px;
}
#steps-block .inner--primary .inner-ttl {
	color: var(--color_white);
}

#steps-block .item {
	display: flex;
	flex-direction: column;
	gap: 40px 0;
}

#steps-block .list {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 16px 2%;
}

#steps-block .list li {
	width: 23.5%;
	background-color: var(--color_white);
	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);
	padding: 20px;
	position: relative;
}

#steps-block .list .number {
	position: absolute;
	top: 0.2em;
	left: 0.2em;
	line-height: 1.0;
}
#steps-block .inner--primary .number {
	color: var(--color_primary01);
}
#steps-block .inner--secondary .number {
	color: var(--color_accent03);
}

#steps-block .list .list-img {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px 5%;
	margin-bottom: 8px;
}

#steps-block .list .list-img .circle {
	width: 45%;
	max-width: 90px;
	aspect-ratio: 1/1;
	background-color: var(--color_gray03);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	padding: min(10%, 16px);
}

#steps-block .list .list-img figure {
	width: 100%;
	aspect-ratio: 1/1;
}

#steps-block .list .list-img .img-notes {
	width: 50%;
	font-family: var(--ff_jp_sans-serif);
	line-height: 1.6;
}

#steps-block .list .list-img .img-notes span {
	background: linear-gradient(to bottom, transparent 50%, var(--color_accent04) 50%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

#steps-block .list .list-ttl {
	font-family: var(--ff_jp_sans-serif);
	font-weight: var(--fw_jp_normal);
	text-align: center;
	border-bottom: 1px solid var(--color_gray02);
	padding-bottom: 8px;
	margin-bottom: 8px;
}

#steps-block .dot-line {
	width: 100%;
	height: 96px;
	background-image: radial-gradient(circle, var(--color_gray02) 3px, transparent 3px);
	background-position: center;
	background-repeat: repeat-y;
	background-size: 6px 12px;
}



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

	/* 永田やの樹木葬とは */
	#jumoku-block .content {
		flex-direction: column;
	}

	#jumoku-block .inner {
		width: calc(90% + calc(50vw - 50%));
		margin-right: 10%;
		padding: 30px;
	}

	#jumoku-block .catchphrase {
		margin-bottom: 16px;
	}

	#jumoku-block figure {
		width: calc(90% + calc(50vw - 50%));
		height: 320px;
		margin-top: -40px;
		margin-left: 10%;
	}


	/* 永田やの樹木葬霊園さくら彩苑 */
	#about-block .ttl-unit .decoBird-right--primary::after {
		left: calc(100% + 40px);
	}

	#about-block .content {
		gap: 80px 0;
		margin-top: 80px;
	}

	#about-block .inner {
		padding: 30px;
	}
	#about-block .inner:nth-of-type(odd) {
		flex-direction: column;
	}
	#about-block .inner:nth-of-type(even) {
		flex-direction: column;
	}

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

	#about-block .item .item-ttl {
		margin-top: calc(calc(30px + 1.0em) * -1);
		margin-bottom: 16px;
		margin-left: -0.8em;
	}

	#about-block .item .link-btn__notes {
		text-align: center;
	}

	#about-block .item .link-btn--secondary {
		margin: 0 auto;
	}

	#about-block .inner-img--primary,
	#about-block .inner-img--secondary {
		width: 100%;
		margin-bottom: -50px;
	}
	#about-block .inner-img--primary {
		height: 240px;
	}
	#about-block .inner-img--secondary {
		height: 240px;
	}


	/* フルワイドイメージ */
	#visual-block01 figure {
		height: 360px;
	}


	/* ご利用からご契約までの流れ */
	#steps-block {
		padding-bottom: 60px;
	}

	#steps-block .decoFlower-left--primary::before {
		bottom: auto;
	}

	#steps-block .txtDeco--center {
		top: 60px;
	}

	#steps-block .content {
		margin-top: 40px;
	}

	#steps-block .inner--primary,
	#steps-block .inner--secondary {
		padding: 30px;
	}

	#steps-block .inner-ttl {
		margin-bottom: 16px;
	}

	#steps-block .item {
		gap: 16px 0;
	}

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

	#steps-block .list li {
		width: 100%;
	}

	#steps-block .dot-line {
		height: 56px;
		background-image: radial-gradient(circle, var(--color_gray02) 2px, transparent 2px);
		background-size: 4px 8px;
	}

}
