/* CSS Document */

:root{
--kv-W:11;
--kv-Wh:calc(var(--kv-W) / 2);
--kv-H:6.1;
--kv-H-res:min(100px,calc(50 * var(--size-sp)));
}
.top_kv .inner{max-width: calc(100px * var(--kv-W));
min-height:calc(var(--kv-H-res) * var(--kv-H)); position: relative;
display: flex; justify-content: center; align-items: center;}
.top_kv .inner > *{position: absolute;}
.top_kv h2{font-size: 37px; font-weight: 500; line-height: 64px; white-space: pre-wrap;
top: 70px; left: calc(1% * 70 / var(--kv-W)); z-index: 2;}
.top_kv img{border-radius: var(--size-radius);}
.top_kv img:nth-of-type(1){width: calc(1% * 190 / var(--kv-W));
													 height:calc(1% * 130 / var(--kv-H));
													 margin-left:calc(1% * -270 / var(--kv-Wh));
													 top:calc(1% * 240 / var(--kv-H));}
.top_kv img:nth-of-type(2){width: calc(1% * 220 / var(--kv-W));
													 height:calc(1% * 165 / var(--kv-H));
													 left:0;
													 top:calc(1% * 330 / var(--kv-H));}
.top_kv img:nth-of-type(3){width: calc(1% * 290 / var(--kv-W));
													 height:calc(1% * 200 / var(--kv-H));
													 margin-left:calc(1% * -140 / var(--kv-Wh));
													 bottom:0;}
.top_kv img:nth-of-type(4){width: calc(1% * 560 / var(--kv-W));
													 height:calc(1% * 375 / var(--kv-H));
													 margin-left:calc(1% * 155 / var(--kv-Wh));
													 top:calc(1% * 100 / var(--kv-H));}
.top_kv img:nth-of-type(5){width: calc(1% * 200 / var(--kv-W));
													 height:calc(1% * 170 / var(--kv-H));
													 margin-left:calc(1% * -125 / var(--kv-Wh));
													 top:calc(1% * 30 / var(--kv-H));}
.top_kv img:nth-of-type(6){width: calc(1% * 240 / var(--kv-W));
													 height:calc(1% * 150 / var(--kv-H));
													 margin-left:calc(1% * 390 / var(--kv-Wh));
													 top:0;}
.top_kv img:nth-of-type(7){width: calc(1% * 240 / var(--kv-W));
													 height:calc(1% * 165 / var(--kv-H));
													 right:0;
													 top:calc(1% * 405 / var(--kv-H));}
@media screen and (max-width: 1099px) {
	.top_kv img:nth-of-type(2){border-radius:  0 var(--size-radius) var(--size-radius) 0;}
	.top_kv img:nth-of-type(7){border-radius:  var(--size-radius) 0 0 var(--size-radius);}
}

.top_catch{
	background-image: url("../img/top/bg-catch.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1120px 556px;
	min-height: 556px; margin-top: 60px;
	display: flex; justify-content: center; align-items: center;
}
.top_catch .inner{flex-direction: column; justify-content: center;}
.top_catch .inner .cmn_text{line-height: 3em;}
.top_catch .inner .btn_more{font-size: 18px; margin-top: 5em; gap: 14px;}

.top_slider{padding: 90px 0 100px;}
.top_slider .slick-slide > *{padding-right: var(--size-radius); display: flex;}
.top_slider .slick img{display: block; height:200px; border-radius: var(--size-radius);}
.top_slider .slick img.noimg{min-width:200px;}

.top_service{background-color: var(--color-B-L); padding: 75px 0;}
.top_service .list{margin-top: 40px;}
.top_service .list > *{position: relative; border-radius: var(--size-radius); overflow: hidden;}
.top_service .list dt{font-size: 18px;
background-color: var(--color-C); color:#FFF; min-height: 55px;
display: flex; justify-content: center; align-items: center;}
.top_service .list dd{}
.top_service .list dd img{width:100%; min-height: 245px;}
.top_service .list svg{position: absolute; bottom:var(--size-radius); right:var(--size-radius); height:40px;}

.top_location{padding-top: var(--size-mgnT);}
.top_location .list{margin-top: 40px;}
.top_location .list > *{border-radius:var(--size-radius) var(--size-radius) 0 0 ; overflow: hidden;}
.top_location .list dl{}
.top_location .list dd{}
.top_location .list dd img{width:100%; height:200px; border-radius: 0 0 var(--size-radius) var(--size-radius);}
.top_location .list dt{margin-top: 12px; min-height: 1.5em;
font-size: 18px; position: relative;
display: flex; justify-content: center; align-items: center;}
.top_location .list svg[fn*="arrow-"]{position: absolute; right:0; height:1.5em;}
@media screen and (max-width: 999px) {
	.top_location .list dd img{height: auto; aspect-ratio: 3 / 2;}
}

:root{
--memorial-mgn:30px;
}
.top_memorial{margin-top: var(--size-mgnT);
position: relative; z-index: 3;}
.top_memorial .bg{width: 100%; max-width: 1100px; margin: 0 auto; padding-left: var(--size-inner-mgn);
display: flex; justify-content: flex-end;}
.top_memorial .bg img{border-radius: var(--size-radius) 0 0 var(--size-radius);}
.top_memorial .inner{position: absolute; inset: 0; padding-bottom: var(--memorial-mgn);
flex-direction: column; justify-content: center; align-items: flex-start;}
.top_memorial .cmn_subt1 h3{margin-bottom: -0.2em;}
@media screen and (min-width: 1100px) {
	.top_memorial .bg img{border-radius: var(--size-radius);}
}
@media screen and (max-width: 999px) {
	:root{
	--memorial-mgn:0px;
	}
	.top_memorial{gap:var(--size-inner-mgn); display: flex; flex-direction: column;}
	.top_memorial .inner{position: relative; padding-bottom: var(--size-inner-mgn);}
}

.top_memorial_list{background-color: var(--color-B-L); margin-top: calc(var(--memorial-mgn) * -1); padding: 75px 0;}
.top_memorial_list .inner{}
.top_memorial_list .inner > *{border-radius: var(--size-radius); overflow: hidden;}
.top_memorial_list .inner dl{position: relative;}
.top_memorial_list .inner dl[area]::before{content:attr(area);
width:75px; min-height:35px; border-bottom-right-radius: var(--size-radius);
background-color: var(--color-C); color: #FFF;
position: absolute; top:0; left:0;
display: flex; justify-content: center; align-items: center;
}
.top_memorial_list .inner dd img{width:100%; min-height: 200px;}
.top_memorial_list .inner dt{background-color: #FFF; min-height: 50px;
font-size: 18px;
display: flex; justify-content: center; align-items: center;}

:root{
--top_os-p-W:2.45;
--top_os-p-H:2.4;
}
.top_os{padding-top: var(--size-mgnT);}
.top_os .inner{background-color: var(--color-B-L); padding: 28px; border-radius: var(--size-radius);
justify-content: space-between;}
.top_os .inner *[class*="p"]{
	width:calc(100px * var(--top_os-p-W)); max-width: 100%;
	height:min(calc(100px * var(--top_os-p-H)),calc(120 * var(--size-sp))); position: relative;}
.top_os .inner *[class*="p"] img{border-radius: var(--size-radius); position: absolute;}
.top_os .pL img:nth-of-type(1){width:calc(1% * 190 / var(--top_os-p-W)); height:calc(1% * 145 / var(--top_os-p-H)); left:0; bottom:0;}
.top_os .pL img:nth-of-type(2){width:calc(1% * 120 / var(--top_os-p-W)); height:50%; right:5px; top:0;}
.top_os .pR img:nth-of-type(1){width:100%; height:75%; right:0; bottom:0;}
.top_os .t{display: flex; flex-direction: column; align-items: center;}
.top_os .cmn_text{margin-bottom: 2em; letter-spacing: 0.1em; margin-right: -0.1em;}
@media screen and (max-width: 999px) {
	.top_os .inner{gap: 28px 0; flex-wrap: wrap;}
	.top_os .inner *[class*="p"]{order: 1; max-width: 48%;}
	.top_os .t{order: 2;}
}

.top_news{padding-top: var(--size-mgnT);}
.top_news .inner{
	position: relative;
	justify-content: space-between; align-items: flex-start;
}
.top_news .inner .subt{gap:28px; display: flex; flex-direction: column; align-items: flex-start;}
@media screen and (min-width: 1000px) {
	.top_news .inner{min-height: 172px;}
	.top_news .inner .news_list{flex-grow: 1; max-width: 720px;}
	/* .top_news .inner .more{position: absolute; left:0; bottom:0;} */
	.top_news .inner .more{display: none;}
}
@media screen and (max-width: 999px) {
	.top_news .inner{flex-direction: column;}
	.top_news .inner .subt .btn_more{display: none;}
	.top_news .inner .news_list{order:1; margin-top: 30px; width: 100%;}
	.top_news .inner .news_list dl{gap: 0.5em 0; flex-wrap: wrap;}
	.top_news .inner .news_list dl dt,
	.top_news .inner .news_list dl dt a{width:100%;}
	.top_news .inner .news_list dl dt a{display: block;}	
	.top_news .inner .more{order:2; margin-top: 30px; width: 100%; display: flex; justify-content: center;}
	/*
	.top_news .inner .more > .btn_more{font-size: min(18px,calc(14 * var(--size-sp))); margin-top: calc(-1em * 28 / 18);}
	.top_news .inner .more > .btn_more svg{height: calc(1em * 28 / 18);}
	*/
}

.top_location a:hover svg[fn*="arrow-"] circle{fill:var(--color-C);}