@charset "utf-8";

/* トップのみ足あと機能の非表示 */
#footstep_wrap{
	display: none !important;
}


/* スライドショー */
.slideshow{
	width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
}
.slideshow div[id*="swiper-container"].swiper {
	/* margin-left: calc(-196 / 2000 * 100vw); */
	overflow: hidden;
	width: 3160px;
	margin-left: calc(50% - 1580px);
}


.slideshow div[id*="swiper-container"] .swiper-main.swiper-container {
	/* height: calc(580 / 2000 * 100vw); */
	/* overflow: hidden; */
	/* margin-inline: auto; */
	/* padding-bottom: 5px; */
	/* width: 3160px !important; */
}

.slideshow div[id*="swiper-container"] .swiper-main {
	position: relative;
}

.slideshow div[id*="swiper-container"] .swiper-main .swiper-wrapper {
	/* padding-left: calc((100vw - (534 / 2000 * 100vw)) / 2);
	padding-right: calc((100vw - (534 / 2000 * 100vw)) / 2);
	box-sizing: border-box; */
	/* transform: translate3d(calc((100vw - (1190 / 2000 * 100vw)) / 2 * -1), 0, 0); */
}


.slideshow div[id*="swiper-container"] .swiper-slide {
	/* width: calc(1040 / 2000 * 100vw) !important; */
	/* margin-left: calc(20 / 2000 * 100vw); */
	display: grid;
	grid-template-rows: auto auto;
	/* padding: 0px 10px; */
	/* width: 1040px !important; */
	margin: 0px 0px;
}

.slideshow .pg_class_slide_a_center {
	width: 1040px;
	height: 580px;
	justify-self: center;
}
.slideshow div[id*="swiper-container"] .swiper-slide img {
	aspect-ratio: 1040/580;
	width: 1040px !important;
	height: 580px !important;
	object-fit: cover;
}

.slideshow div[id*="swiper-container"] .swiper-caption {
	background: #fff;
	color: #333;
	padding: 10px;
	text-align: left;
	padding-right: 50%;
	order: 2;
	position: static;
}

.slideshow div[id*="swiper-container"] .swiper-pagination {
	position: absolute;
	bottom: 0;
	left: initial;
	right: calc(50% - calc(520px - 120px));
	margin: initial;
	width: fit-content;
	height: fit-content;
}

.slideshow div[id*="swiper-container"] .swiper-pagination-bullet {
	background-color: transparent;
	background-image: url("/img/sites/rakujyuen/swiper_dot.png");
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: unset;
	height: 20px;
	opacity: 1;
	width: 20px;
	margin-inline: 6px;
}

.slideshow div[id*="swiper-container"] .swiper-pagination-bullet-active {
	background-image: url("/img/sites/rakujyuen/swiper_dot_active.png");
	height: 20px;
	width: 20px;
}

.slideshow div[id*="swiper-container"] button.swiper-button-prev,
.slideshow div[id*="swiper-container"] button.swiper-button-next {
	width: 34px;
	height: 34px;
	top: initial;
	background: #8ddc91;
	transform: initial;
	bottom: 0;
	left: auto;
	color: #333;
	box-shadow: none;
	border-radius: 0;
	z-index: 11;
}

.slideshow div[id*="swiper-container"] .swiper-button-prev::after,
.slideshow div[id*="swiper-container"] .swiper-button-next::after {
	width: 6px;
	height: 10px;
	background: #333;
	color: #333;
	right: 13px;
}

.slideshow div[id*="swiper-container"] .swiper-button-next::after {
	left: 13px;
}

.slideshow div[id*="swiper-container"] button.swiper-button-start,
.slideshow div[id*="swiper-container"] button.swiper-button-stop {
	width: 34px;
	height: 34px;
	top: initial;
	background: #8ddc91;
	transform: initial;
	bottom: 0;
	box-shadow: none;
	color: #333;
	border-radius: 0;
	z-index: 11;
}
.slideshow div[id*="swiper-container"] button.swiper-button-prev {
	right: calc(50% - 448px);
}
.slideshow div[id*="swiper-container"] button.swiper-button-next{
	right: calc(50% - 520px);
}
.slideshow div[id*="swiper-container"] button.swiper-button-start,
.slideshow div[id*="swiper-container"] button.swiper-button-stop{
	right: calc(50% - 484px);
}


.slideshow div[id*="swiper-container"] button.swiper-button-stop::after {
	width: 8px;
	height: 14px;
	background: #333;
	clip-path: polygon(0 0, 25% 0, 25% 100%, 75% 100%, 75% 0, 100% 0%, 100% 100%, 0 100%);
}

.slideshow div[id*="swiper-container"] button.swiper-button-start {
	background: #036440;
	color: #fff;
}

.slideshow div[id*="swiper-container"] button.swiper-button-start::after {
	width: 14px;
	height: 15px;
	clip-path: polygon(20% 0, 20% 100%, 100% 50%);
}

/* スライドが1枚のとき */
.slideshow:has(.swiper-slide:only-child) .swiper{
	width: 1040px;
	margin-inline: auto;
}

/* スライドが1枚の時コントロールを非表示 */
.slideshow:has(.swiper-slide:only-child) button[class*="swiper-button"]{
	display: none;
}



/* トップインフォメーション */
.top_info:not(:has(.top_info_inner:empty)) {
	padding-block: 10px 60px;
}

.top_info_inner:not(:empty) {
	padding: 30px;
	border: 1px solid #2e9648;
	border-radius: 5px;
}

.top_info p {
	font-size: 1.8rem;
	margin: initial;
}

.top_info strong {
	font-size: 2rem;
}

.top_info p+.top_info p {
	margin-top: 20px;
}

/* イベント */
.event {
	background: #daf3ff url("/img/sites/rakujyuen/event_bg.png") no-repeat right top;
	background-size: 1524px auto;
	padding-block: 100px;
	margin-inline: calc(50% - 50vw);
}

.event_inner {}

.event_title {
	width: 221px;
	margin: initial;
	margin-inline: auto;

}

.event_title img {
	aspect-ratio: 221 / 83;
	width: 100%;
	height: auto;
	object-fit: contain;

}

.event .section_information_list ul {
	padding: initial;
	margin: initial;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 45px;
	margin-top: 60px;
}

.event .list_pack {
	padding: initial;
	display: block;
}

.event .list_pack .article_img {
	padding: initial;
	display: block;
	width: 100%;
	aspect-ratio: 330/440;
	background: #fff;
}

.event .list_pack .article_img span {
	aspect-ratio: inherit;
}

.event .list_pack .article_txt {
	display: block;
	margin-top: 20px;
	font-size: 1.8rem;
	font-weight: bold;
}

.event .list_pack a {
	display: block;
	text-decoration: none;
	color: #333;
}

.event .link_box {
	margin-top: 50px;
	text-align: right;
}

.event .link_ichiran a {
	color: #333;
	font-size: 1.5rem;
	text-decoration: none;
	background: url("/img/sites/rakujyuen/icon_arrow.png") no-repeat right center / 20px 20px;
	padding-right: 26px;
}

/* ご案内 */
.information {
	padding-block: 100px;
	margin-inline: calc(50% - 50vw);
	background: #fff url("/img/sites/rakujyuen/info_bg.png") no-repeat center top / cover;
}

.u-desktop {
	display: block;
}

.information_inner {}

.information_title {
	width: 509px;
	margin: initial;
	margin-inline: auto;
}

.information_title img {
	aspect-ratio: 509/100;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.information_text {
	margin: initial;
	margin-top: 60px;
	font-size: 1.8rem;
	line-height: 2;
	text-shadow: 0px 0px 5px rgb(255, 255, 255, 1), 0px 0px 5px rgb(255, 255, 255, 1), 0px 0px 5px rgb(255, 255, 255, 1), 0px 0px 5px rgb(255, 255, 255, 1), 0px 0px 5px rgb(255, 255, 255, 1);
	letter-spacing: -0.02em;
}

.information_list {
	padding: initial;
	margin: initial;
	list-style: none;
	margin-top: 100px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.information_item a {
	display: block;
	text-decoration: none;
	color: #333;
	background: #fff;
	border: 1px solid #333;
	padding: 50px 20px 20px;
	box-sizing: border-box;
	position: relative;
	text-align: center;
}

.information_item a span {}

.information_item a span::before {
	position: absolute;
	content: "";
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 65px;
	height: 84px;
	background: url("/img/sites/rakujyuen/icon_info.png") no-repeat center center / contain;
}

.information_item:nth-child(2) a span::before {
	background-image: url("/img/sites/rakujyuen/icon_info02.png");
	width: 94px;
	height: 62px;
	top: -30px;
}

.information_item:nth-child(3) a span::before {
	background-image: url("/img/sites/rakujyuen/icon_info03.png");
	width: 85px;
	height: 66px;
	top: -28px;
}

.information_item:nth-child(4) a span::before {
	background-image: url("/img/sites/rakujyuen/icon_info04.png");
	width: 94px;
	height: 84px;
}



/* 園内マップ */
.map {
	margin-top: 100px;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, 1) 23%, rgba(255, 255, 255, 1) 29%)
}

.map_inner {
	padding-block: 80px 100px;
}

.map_title {
	width: 145px;
	margin: initial;
	margin-inline: auto;
}

.map_title img {
	aspect-ratio: 145 / 84;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.map_image {}

.map_image img {
	aspect-ratio: 1078 / 698;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* みどころ */
.sight {
	padding-block: 100px;
	margin-inline: calc(50% - 50vw);
	background: #daf3ff url("/img/sites/rakujyuen/sight_bg.png") no-repeat right bottom / cover;
}

.sight_inner {}

.sight_title {
	width: 204px;
	margin: initial;
	margin-inline: auto;
}

.sight_title img {
	aspect-ratio: 204/86;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.sight_list {
	padding: initial;
	margin: initial;
	list-style: none;
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 10px;
}

.sight_item {
	position: relative;
}

.sight_item a {
	display: block;
}

.sight_item img {
	aspect-ratio: 356/400;
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
}

.sight_item_link a {
	display: block;
	text-decoration: none;
}

.sight_item_wrapper {
	position: absolute;
	width: 100%;
	padding: 10px 20px 50px;
	background: rgb(0, 0, 0, .6);
	bottom: 0;
	left: 0;
	color: #fff;
	text-shadow: 0px 0px 10px rgb(0, 0, 0, .7);
	font-feature-settings: "palt";
	box-sizing: border-box;
}

.sight_item_title {
	padding: initial;
	margin: initial;
	font-size: 2.8rem;
	font-weight: normal;
}

.sight_item_text {
	margin: initial;
	font-size: 1.4rem;
	line-height: calc(24 / 16);
	text-shadow: 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000, 0px 0px 5px #000;
}

.sight_item_wrapper span {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 10px 40px 10px 20px;
	border-radius: 10px 0 0 0;
	background: #fff url("/img/sites/rakujyuen/icon_arrow_green.png") no-repeat right 15px center / 20px 20px;
	color: #333;
	text-shadow: none;
	font-size: 1.5rem;
	line-height: 1;
	font-weight: bold;
}

/* お知らせ */
.news {
	padding-block: 100px 40px;
}

.news_inner {}

.news_title {
	width: 200px;
	margin: initial;
	margin-inline: auto;
}

.news_title img {
	aspect-ratio: 200 / 85;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.news .free_box {
	margin-top: 60px;
}

.news .free_box p+.news .free_box p {
	margin-top: 40px;
}

.news .free_box a {
	color: #333;
}


@media screen and (max-width: 1080px) {

	/* スライドショー */
	.slideshow{
		width: calc(100vw - 40px);
		margin-inline: auto;
	}
	.slideshow div[id*="swiper-container"].swiper {
		/* margin-left: calc(-246 / 375 * 100vw); */
		width: auto;
		margin-left: 0;
	}

	.slideshow div[id*="swiper-container"] .swiper-main.swiper-container {
		/* height: calc(187 / 375 * 100vw); */
		width: 100% !important;
	}

	.slideshow div[id*="swiper-container"] .swiper-slide {
		/* width: calc(335 / 375 * 100vw) !important; */
	}
	.slideshow .pg_class_slide_a_center {
		width: 100%;
		height: auto;
	}


	.slideshow div[id*="swiper-container"] .swiper-slide img {
		aspect-ratio: 335/187;
		width: 100% !important;
		height: auto !important;
	}

	.slideshow div[id*="swiper-container"] .swiper-pagination {
		display: none;
	}

	.slideshow div[id*="swiper-container"] button.swiper-button-prev,
	.slideshow div[id*="swiper-container"] button.swiper-button-next {
		/* right: calc(50% - calc(292 / 375 * 100vw)); */
		/* right: auto; */
	}

	.slideshow div[id*="swiper-container"] button.swiper-button-prev {
		/* right: calc(50% - calc(212 / 375 * 100vw)); */
		right: 72px
	}
	.slideshow div[id*="swiper-container"] button.swiper-button-next{
		right: 0;
	}

	.slideshow div[id*="swiper-container"] button.swiper-button-start,
	.slideshow div[id*="swiper-container"] button.swiper-button-stop {
		/* right: calc(50% - calc(252 / 375 * 100vw)); */
		right: 36px;
	}
	.slideshow div[id*="swiper-container"] .swiper-caption{
		padding-right: 108px;
	}

	.slideshow:has(.swiper-slide:only-child) .swiper{
		width: 100%;
	}

	/* トップインフォメーション */
	.top_info:not(:has(.top_info_inner:empty)) {
		padding-block: 30px 40px;
	}

	.top_info_inner:not(:empty) {
		padding: 20px;
	}

	.top_info p {
		font-size: 1.4rem;
	}

	.top_info strong {
		font-size: 1.8rem;
		margin-bottom: 20px;
		display: block;
	}

	/* イベント */
	.event {
		padding-block: 40px;
		background: #daf3ff url("/img/sites/rakujyuen/event_bg.png") no-repeat right top / 100% auto;
	}

	.section_inner {
		padding-inline: 20px;
	}

	.event_title {
		width: 138px;
	}

	.event .section_information_list ul {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px 10px;
		margin-top: 50px;
	}

	.event .list_pack .article_txt {
		margin-top: 10px;
		font-size: 1.4rem;
		line-height: calc(12 / 8);
	}

	.event .link_box {
		margin-top: 40px;
	}

	.event .link_ichiran a {
		font-size: 1.4rem;
	}

	/* ご案内 */
	.information {
		padding-block: 40px;
		background: #fff url("/img/sites/rakujyuen/info_bg.png") no-repeat center top / cover;
	}

	.u-desktop {
		display: none;
	}

	.information_title {
		width: 302px;
	}

	.information_text {
		margin-top: 40px;
	}

	.information_text {
		font-size: 1.4rem;
	}

	.information_list {
		margin-top: 60px;
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 10px;
	}

	.information_item a {
		font-size: 1.2rem;
		padding: 30px 20px 15px;
	}

	.information_item a span::before {
		top: -40px;
		width: 54px;
		height: 70px;
	}

	.information_item:nth-child(2) a span::before {
		top: -30px;
		width: 70px;
		height: 42px;
	}

	.information_item:nth-child(3) a span::before {
		top: -20px;
		width: 60px;
		height: 45px;
	}

	.information_item:nth-child(4) a span::before {
		top: -40px;
		width: 77px;
		height: 70px;
	}

	/* 園内マップ */
	.map {
		margin-top: 40px;
		background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 29%)
	}

	.map_inner {
		padding-block: 40px;
	}

	.map_title {
		width: 91px;
	}

	.map_image {
		margin-top: 30px;
	}

	/* みどころ */
	.sight {
		padding-block: 40px;
		background: #daf3ff url("/img/sites/rakujyuen/sight_bg.png") no-repeat right top / cover;
	}

	.sight_title {
		width: 127px;
	}

	.sight_list {
		margin-top: 40px;
		grid-template-columns: 1fr;
	}

	.sight_item_title {
		font-size: 1.8rem;
	}

	.sight_item_wrapper span {
		font-size: 1.4rem;
		background-size: 16px auto;
	}

	/* お知らせ */
	.news {
		padding-block: 40px 0;
	}

	.news_inner {
		padding-inline: 10px;
	}

	.news_title {
		width: 125px;
	}

	.news .free_box {
		margin-top: 30px;
	}



}