@charset "UTF-8";

#pageHeader::before {
	content: "";
	background-image: url(../images/page_icon_access.svg);
}

#access {
	@media screen and (max-width:1144px) {
		#map { margin-inline: -32.5px; }
	}
	#root {
		.title { font-weight: 500; }
		.steps {
			& > li {
				position: relative;
				.number {
					top: 0;
					right: 0;
					font-weight: 500;
					display: flex;
					align-items: center;
					justify-content: center;
					position: absolute;
					aspect-ratio: 1 / 1;
					background-color: #fff;
					border: solid #000;
				}
			}
		}
		@media screen and (min-width:1145px), print {
			margin-top: 60px;
			.title {
				font-size: 20px;
			}
			.steps {
				display: flex;
				flex-wrap: wrap;
				gap: 60px 65px;
				margin-top: 90px;
				& > li {
					width: calc((100% - 130px) / 3);
					&:not(:nth-child(3n))::after {
						content: "";
						top: 93px;
						right: -35px;
						width: 13px;
						display: block;
						aspect-ratio: 1 / 1;
						position: absolute;
						border-top: 2px solid #000;
						border-right: 2px solid #000;
						transform: rotate(45deg);
					}
					.number {
						width: 46px;
						font-size: 20px;
						border-width: 2px;
					}
					figcaption {
						font-size: 14px;
						margin-top: 20px;
					}
				}
			}
			.attention {
				margin-top: 80px;
				li + li { margin-top: 35px; }
				dd {
					font-size: 14px;
					margin-top: 3px;
				}
			}
		}
		@media screen and (max-width:1144px) {
			margin-top: 70px;
			.title {
				font-size: 17.5px;
				line-height: 28px;
			}
			.steps {
				margin-top: 70px;
				padding-inline: 32.5px;
				& > li + li { margin-top: 45px; }
				.number {
					width: 37px;
					font-size: 16px;
					border-width: 1.5px;
				}
				figcaption {
					font-size: 12px;
					line-height: 24.5px;
					margin-top: 8px;
				}
			}
			.attention {
				margin-top: 87px;
				li + li { margin-top: 37px; }
				dd {
					font-size: 12px;
					margin-top: 11px;
				}
			}
		}
	}
}