#p-access {
	--header-height: 125px;
	--header-height-half: 60px;
	--header-height-quarter: 30px;
}

@media screen and (max-width: 834px) {
	#p-access {
		--header-height: 80px;
		--header-height-half: 40px;
		--header-height-quarter: 20px;
	}
}

.p-access-outline {
	position: relative;
	z-index: 0;
	padding: var(--header-height) 0;
	margin-top: var(--header-height);
}

@media screen and (max-width: 575px) {
	.p-access-outline__heading > span:first-child {
		font-size: 7vw;
	}
}

.p-access-outline__body {
	--gap: 80px;
	display: grid;
	gap: var(--gap);
	margin-top: var(--gap);
}

@media screen and (max-width: 575px) {
	.p-access-outline__body {
		--gap: 50px;
	}
}

.p-access-outline__nap {
	padding: 0;
}

.p-access-outline__sns {
	text-align: center;
}

.p-access-outline__point .c-card01 {
	background-color: #fff;
	border-radius: 26px;
}

.p-access-directions {
	margin-top: var(--header-height);
}

@media screen and (max-width: 575px) {
	.p-access-directions__title.c-heading03 span:first-child {
		font-size: 8vw;
		letter-spacing: 0.1em;
	}
}

.p-access-directions__body {
	container-type: inline-size;
}

.p-access-directions__list {
	--column-count: 3;
	--column-gap: 50px;
	--row-gap: 60px;
	--number-icon-size: 80;
	--arrow-color: #52bbf7;
	display: flex;
	flex-wrap: wrap;
	gap: var(--row-gap) var(--column-gap);
	margin-top: var(--header-height-half);
}

:where([data-theme-color=forest]) .p-access-directions__list {
	--arrow-color: #6ca223;
}

@media screen and (max-width: 1390px) {
	.p-access-directions__list {
		padding-right: var(--column-gap);
	}
}

@media screen and (max-width: 834px) {
	.p-access-directions__list {
		--number-icon-size: 60;
		--column-count: 2;
		--row-gap: 40px;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 575px) {
	.p-access-directions__list {
		--column-count: 1;
		--row-gap: 65px;
		padding-right: 0;
	}
}

.p-access-directions__item {
	position: relative;
	width: calc((100% - var(--column-gap) * (var(--column-count) - 1)) / var(--column-count));
	padding-top: calc(var(--number-icon-size) * 1px / 2);
}

@media screen and (max-width: 575px) {
	.p-access-directions__item:not(:last-of-type)::after {
		position: absolute;
		top: calc(100% + var(--row-gap) / 2);
		left: 50%;
		font-family: var(--font-icon);
		font-size: 3rem;
		line-height: 1;
		color: var(--arrow-color);
		content: "\e906";
		rotate: 90deg;
		translate: -50% -50%;
	}
}

.p-access-directions__thumb {
	position: relative;
	z-index: -1;
}

.p-access-directions__item:not(:last-of-type) .p-access-directions__thumb::after {
	position: absolute;
	top: 50%;
	left: calc(100% + var(--column-gap) / 2);
	font-family: var(--font-icon);
	font-size: 3rem;
	line-height: 1;
	color: var(--arrow-color);
	content: "\e906";
	translate: -50% -50%;
}

@media screen and (max-width: 575px) {
	.p-access-directions__item:not(:last-of-type) .p-access-directions__thumb::after {
		display: none;
	}
}

.p-access-directions__image {
	aspect-ratio: 3/2;
	object-fit: cover;
}

.p-access-directions__text {
	margin-top: 1em;
}

.p-access-directions__badge {
	--badge-size: var(--number-icon-size);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.p-access-map {
	--background: tranceparent;
	padding: var(--header-height) 0 0;
}

@media screen and (max-width: 750px) {
	.p-access-map__title span:first-child {
		font-size: 12vw;
	}
}

.p-access-map__iframe {
	max-width: 800px;
	margin: var(--header-height-half) auto 0;
}

.p-access-map__googlemap {
	position: relative;
	aspect-ratio: 1/0.75;
	overflow: hidden;
	border-radius: 20px;
}

@media screen and (max-width: 575px) {
	.p-access-map__googlemap {
		aspect-ratio: 1/1;
	}
}

.p-access-map__googlemap iframe {
	width: 100%;
	height: 100%;
}

.p-access-map__button {
	margin: var(--header-height-quarter) auto 0;
}

.p-access-map__list {
	margin-top: var(--header-height-half);
}

.p-access-transportation {
	margin-top: var(--header-height);
}

.p-access-transportation__wrap {
	--dot-size: 5.5px;
	padding: 60px 55px;
	border-radius: 70px;
    background: linear-gradient(to right, rgb(253, 239, 232) 0%, rgb(255, 248, 209) 100%);
}

@media screen and (max-width: 575px) {
	.p-access-transportation__wrap {
		padding: 36px 4vw;
		border-radius: 40px;
	}
}

.p-access-transportation__title span:first-child {
	color: #4b8ea1;
	letter-spacing: 0.2em;
}

@media screen and (max-width: 575px) {
	.p-access-transportation__title span:first-child {
		font-size: 7.5vw;
		letter-spacing: 0.1em;
	}
}

.p-access-transportation__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 60px;
	margin-top: 60px;
}

@media screen and (max-width: 834px) {
	.p-access-transportation__list {
		gap: 46px;
	}
}

.p-access-transportation__item {
	display: flex;
	gap: 20px 60px;
	align-items: center;
}

@media screen and (max-width: 1000px) {
	.p-access-transportation__item {
		column-gap: 42px;
	}
}

@media screen and (max-width: 834px) {
	.p-access-transportation__item {
		flex-direction: column;
		align-items: initial;
	}
}

.p-access-transportation__item-heading {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	gap: 1em;
	align-items: center;
	width: 100%;
	max-width: 400px;
	min-height: 2.5em;
	padding: 0.25em 1.2em;
	font-size: 2.6rem;
	line-height: 1.4;
	color: #fff;
    background: linear-gradient(45deg, rgb(192, 215, 110) 0%, rgb(89, 194, 225) 100%);
	border-radius: 10em;
}

:where([data-theme-color=forest]) .p-access-transportation__item-heading {
	background-color: #93bc68;
}

@media screen and (max-width: 1000px) {
	.p-access-transportation__item-heading {
		max-width: 15em;
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 834px) {
	.p-access-transportation__item-heading {
		max-width: 100%;
	}
}

@media screen and (max-width: 575px) {
	.p-access-transportation__item-heading {
		font-size: 5vw;
	}
}

.p-access-transportation__item-icon {
	--size: 2em;
	display: block;
	width: var(--size);
	height: var(--size);
	object-fit: contain;
}

.p-access-transportation__item-text {
	flex: 1;
}

.p-top-outline {
	position: relative;
	z-index: 0;
	padding: var(--header-height) 0;
	margin-top: var(--header-height);
}

.p-top-outline__heading {
	line-height: 1;
	writing-mode: vertical-rl;
}

.p-top-outline__heading span {
	position: absolute;
}

.p-top-outline__heading > span:first-child {
	color: rgba(214, 193, 178, 0.17);
	font-size: 15.8rem;
	font-family: var(--font-family-train);
	letter-spacing: 0.01em;
	white-space: nowrap;
	left: 25px;
	top: 0;
}

.p-top-outline__heading > span:first-child > span {
	display: none;
}

.p-top-outline__heading > span:last-child {
	font-family: FOT-筑紫B丸ゴシック Std B;
	font-size: 3.9rem;
	left: 105px;
	top: 45px;
}

.p-top-outline__body {
	margin-left: 220px;
}

@media screen and (max-width: 750px) {
	.p-top-outline__heading {
		writing-mode: horizontal-tb;
		text-align: center;
		margin-bottom: 30px;
	}

	.p-top-outline__heading span {
		position: static;
	}

	.p-top-outline__heading > span:first-child {
		font-size: 5.8rem;
	}

	.p-top-outline__heading > span:first-child > span {
		display: inline-block;
	}

	.p-top-outline__heading > span:last-child {
		font-size: 3.8rem;
		display: block;
		margin-top: -30px;
	}

	.p-top-outline__body {
		margin: 0;
	}
}

@media screen and (max-width: 480px) {
	.p-top-outline__heading > span:first-child {
		font-size: 13.5vw;
	}
}

.p-top-outline__nap {
	padding: 0;
}

.p-top-outline__point {
	margin-top: 60px;
}

.p-top-outline__point .l-grid {
	--column-gap: 20px;
	--row-gap: 20px;
}

@media screen and (max-width: 1280px) {
	.p-top-outline__point .l-grid {
		--column-count: 2;
	}
}

@media screen and (max-width: 750px) {
	.p-top-outline__point .l-grid {
		--column-count: 1;
	}
}

.p-top-outline__point .c-card01 {
	background-color: #fff;
	border-radius: 10px;
}

.p-top-outline__point .c-heading08 {
	color: #fff;
	background: #5e8490;
	font-family: FOT-筑紫B丸ゴシック Std B;
	font-size: 1.8rem;
	letter-spacing: 0.075em;
	max-width: 207px;
	margin: 0 auto;
	border-radius: 18px;
}

.p-top-outline__point p {
	font-size: 1.5rem;
}