@charset "utf-8";
body {
	padding: 0 !important;
}
#loading {
	width: 100%;
	height: 100vh;
	height: 100dvh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
#loading::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../image/loading-bk_mask@pc.png');
	background-position: top center;
	background-repeat: repeat-y;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	mix-blend-mode: multiply;
	pointer-events: none;
}
	.loading__inner {
		width: 100%;
		height: 100%;
		background-color: var(--color--bk_skyblue);
		position: relative;
		z-index: 1;
	}
		.loading__contents {
			width: 18%;
			max-width: 300px;
			height: auto;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
		}
			.loading__icon {
				width: 35%;
				height: auto;
				position: absolute;
				top: -10px;
				left: 50%;
				transform: translate(-50%,-100%);
				animation: shake 3s ease infinite;
			}
			@keyframes shake {
				0% { top: -10px; }
				50% { top: -15px; }
				100% { top: -10px; }
			}
				.loading__icon img {
					width: 100%;
					height: auto;
				}
			.loading__logo {
				width: 100%;
				height: auto;
				position: absolute;
				top: 30px;
				left: 50%;
				transform: translate(-50%,-50%);
			}
				.loading__logo img {
					width: 100%;
					height: auto;
				}

#hero {
	width: 100%;
	height: auto;
	padding: 134px 0 180px;
	background-color: var(--color--pink);
}
	.hero__inner {
		width: 90%;
		max-width: 1200px;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 3;
	}
		.hero__contents {
			width: 100%;
			height: auto;
			position: relative;
		}
			.hero__slider {
				width: 100%;
				height: auto;
				border-radius: 30px;
			}
				.hero__slide {
					width: 100%;
					height: auto;
				}
					.hero__slide img {
						width: 100%;
						height: auto;
					}
			.hero_swiper_pagination {
				bottom: -27px;
			}
				.swiper-pagination-bullet {
					width: 8px;
					height: 8px;
					border-radius: 4px;
					background-color: var(--color--white);
				}
				.swiper-pagination-bullet-active {
					background-color: var(--color--lightblue);  
				}
			.hero_swiper_prev,
			.hero_swiper_next {
				width: 56px;
				height: 56px;
				border-radius: 50%;
				border-radius: 28px;
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
			}
			.hero_swiper_prev {
				left: 0;
				transform: translate(-50%,0%);
				background-image: url('../image/index/hero-swiper_prev@pc.png');
			}
			.hero_swiper_next {
				right: 0;
				transform: translate(50%,0%);
				background-image: url('../image/index/hero-swiper_next@pc.png');
			}
			.hero__important_notices {
				display: flex;
				justify-content: flex-start;
				align-items: flex-end;
				width: auto;
				height: auto;
				position: absolute;
				bottom: -35px;
				left: -61px;
				z-index: 2;
			}
				.hero__important_notices__chara {
					width: 147px;
					height: auto;
				}
					.hero__important_notices__chara img {
						width: 100%;
						height: auto;
					}
				.hero__important_notices__wrap {
					width: auto;
					min-width: 250px;
					max-width: 390px;
					height: auto;
					margin-left: 23px;
					margin-bottom: 25px;
					filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
					position: relative;
				}
					.hero__important_notices__edge {
						width: 15.5px;
						height: auto;
						position: absolute;
						top: 50%;
						left: 3.5px;
						z-index: 2;
						transform: translate(-100%,-50%);
					}
					.hero__important_notices__contents {
						width: 100%;
						height: auto;
						padding: 11px 23px 13px;
						border-radius: 20px;
						border: solid 2px var(--color--red);
						background-color: var(--color--white);
					}
						.hero__important_notices__contents dt {
							padding-bottom: 6px;
							margin-bottom: 8px;
							border-bottom: dashed 1px var(--color--red);
							font-size: 14px;
							font-weight: 700;
							color: var(--color--red);
						}
							.hero__important_notices__contents dt span.date {
								display: inline;
								margin-left: 10px;
								font-size: 12px;
								font-weight: 500;
								letter-spacing: 0.05em;
								color: var(--color--blackgray);
							}
						.hero__important_notices__contents dd {
							padding-right: 22px;
							font-size: 12px;
							font-weight: 500;
							line-height: 1.6;
							position: relative;
						}
							.hero__important_notices__ttl {
								color: var(--color--red);
								text-decoration: underline;
							}
							.hero__important_notices__ttl:hover {
								text-decoration: none;
							}
							.hero__important_notices__contents dd svg {
								width: 11px;
								height: auto;
								position: absolute;
								top: 6px;
								right: 0px;
								fill: var(--color--blackgray);
								transition: fill .2s, right .2s;
							}
							.hero__important_notices__ttl:hover ~ svg {
								right: -3px;
								fill: var(--color--red);
							}
					.hero__important_notices__close {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 22px;
						height: 22px;
						border-radius: 11px;
						border: solid 2px var(--color--red);
						background-color: var(--color--red);
						position: absolute;
						top: -4px;
						right: -2px;
						z-index: 2;
						cursor: pointer;
						transition: background-color .2s;
					}
					.hero__important_notices__close:hover {
						background-color: var(--color--white);
					}
						.hero__important_notices__close_icon {
							width: 13px;
							height: 2px;
							position: relative;
						}
						.hero__important_notices__close_icon::before,
						.hero__important_notices__close_icon::after {
							content: '';
							display: block;
							width: 13px;
							height: 2px;
							border-radius: 1px;
							background-color: var(--color--white);
							position: absolute;
							top: 50%;
							left: 50%;
							transform: translate(-50%,-50%);
							transition: background-color .2s;
						}
						.hero__important_notices__close_icon::before {
							transform: translate(-50%,-50%) rotate(45deg);
						}
						.hero__important_notices__close_icon::after {
							transform: translate(-50%,-50%) rotate(-45deg);
						}
						.hero__important_notices__close:hover .hero__important_notices__close_icon::before,
						.hero__important_notices__close:hover .hero__important_notices__close_icon::after {
							background-color: var(--color--red);
						}

.sec_heading__txt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 437px;
	height: 71px;
	margin: 0 auto;
	border-radius: 35.5px;
	background-color: var(--color--black);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: var(--color--white);
	position: relative;
}
	.sec_heading__txt::after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 13px 6.5px 0 6.5px;
		border-color: var(--color--black) transparent transparent transparent;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,100%);
	}

#about {
	width: 100%;
	height: auto;
	padding: 110px 0 205px;
	margin-top: -60px;
	border-radius: 60px 60px 0 0;
	background-color: var(--color--white);
	overflow: hidden;
}
	#price {
		width: 100%;
		height: auto;
		padding: 0 0 50px;
	}
		.price__inner {
			width: 90%;
			max-width: 1060px;
			height: auto;
			margin: 0 auto;
		}
			.price__heading {
				width: 100%;
				height: auto;
				margin: 0 auto 64px;
				position: relative;
				z-index: 3;
			}
				.price__heading__obj {
					width: 122.19px;
					height: auto;
					margin-left: -262px;
					position: absolute;
					top: -17px;
					left: 50%;
					z-index: 2;
				}
					.price__heading__obj img {
						width: 100%;
						height: auto;
					}
			.price__list {
				width: 100%;
				height: auto;
				position: relative;
				z-index: 3;
			}
				.price__item {
					display: flex;
					justify-content: space-between;
					align-items: center;
					width: 100%;
					height: auto;
				}
				.price__item:not(:last-of-type) {
					margin-bottom: 14px;
				}
				.standard_sized_car.price__item {
					margin-bottom: 19px;
				}
					.price__item__heading {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 44px;
						height: 192px;
						padding-top: 7px;
						margin-right: 13px;
						border-radius: 22px;
						border: solid 2px var(--color--black);
						background-color: #AAC2CC;
					}
					.standard_sized_car .price__item__heading {
						height: 236px;
					}
						.price__item__heading_txt {
							font-size: 18px;
							font-weight: 700;
							line-height: 1;
							letter-spacing: 0.4em;
							color: var(--color--black);
							-webkit-writing-mode: vertical-rl;
							-moz-writing-mode: vertical-rl;
							-ms-writing-mode: tb-rl;
							-ms-writing-mode: vertical-rl;
							writing-mode: vertical-rl;
							display: inline-block;
							text-align: left;
						}
							.price__item__heading_txt span {
								margin-bottom: -0.15em;
							}
					.price__item__contents {
						width: 100%;
						height: auto;
						position: relative;
						z-index: 2;
					}
						.price__item__contents__list {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 100%;
							height: auto;
						}
							.price__item__contents__item {
								width: 19.2%;
								height: 192px;
							}
							.standard_sized_car .price__item__contents__item {
								width: 24.65%;
								height: 236px;
								position: relative;
							}
							.standard_sized_car .price__item__contents__item:nth-of-type(2n) {
								margin-left: 0;
							}
							.standard_sized_car .price__item__contents__item:nth-of-type(2) {
								margin-right: auto;
							}
								.standard_sized_car .price__item__contents__item:nth-of-type(1)::before,
								.standard_sized_car .price__item__contents__item:nth-of-type(3)::before {
									display: flex;
									justify-content: center;
									align-items: center;
									width: 197px;
									height: 42px;
									padding-bottom: 2px;
									border-radius: 21px;
									border: solid 2px var(--color--black);
									font-size: 18px;
									font-weight: 700;
									line-height: 1;
									letter-spacing: 0.05em;
									color: var(--color--white);
									position: absolute;
									top: 0;
									right: 0;
									transform: translate(50%,-50%);
									z-index: 2;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(1)::before {
									content: '学生料金';
									background-color: #008485;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(3)::before {
									content: '一般料金';
									background-color: #748565;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n-1)::after {
									content: '';
									width: 2px;
									height: 66.5%;
									background-image : linear-gradient(to bottom, var(--color--black) 3px, transparent 3px);
									background-size: 2px 6px;
									background-repeat: repeat-y; 
									background-position: left top;
									position: absolute;
									top: 50%;
									right: 0;
									transform: translate(50%,-50%);
									z-index: 2;
								}
								.price__item__contents__item__link {
									display: flex;
									flex-direction: column;
									justify-content: flex-end;
									align-items: center;
									width: 100%;
									height: 100%;
									padding-bottom: 19px;
									border-radius: 30px;
									border: solid 2px var(--color--black);
									background-color: var(--color--white);	
								}
								.standard_sized_car .price__item__contents__item__link {
									padding-bottom: 30px;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n-1) .price__item__contents__item__link {
									border-radius: 30px 0 0 30px;
									border-right: none;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n) .price__item__contents__item__link {
									border-radius: 0 30px 30px 0;
									border-left: none;
								}
									.price__item__contents__item__link::after {
										content: '';
										width: 25px;
										height: 25px;
										border-radius: 50%;
										background-image: url('../image/index/price-arrow.svg');
										background-position: center;
										background-repeat: no-repeat;
										background-size: cover;
									}
									.price__item__contents__item__image {
										height: auto;
										margin: 0 auto;
									}
									.standard_sized_car .price__item__contents__item__image {
										width: 60.14%;
									}
									.large_motorcycle .price__item__contents__item__image {
										width: 54.984%;
									}
									.normal_motorcycle_mt .price__item__contents__item__image {
										width: 56.718%;
									}
									.normal_motorcycle_at .price__item__contents__item__image {
										width: 51.686%;
									}
									.small_motorcycle_mt .price__item__contents__item__image {
										width: 51.042%;
									}
									.small_motorcycle_at .price__item__contents__item__image {
										width: 52.49%;
									}
									.large_sized_car .price__item__contents__item__image {
										width: 70.77%;
									}
									.mid_sized_car .price__item__contents__item__image {
										width: 51.447%;
									}
									.semi_mid_sized_car .price__item__contents__item__image {
										width: 46.777%;
									}
									.towing_vehicle .price__item__contents__item__image {
										width: 55.718%;
									}
									.large_special_vehicle .price__item__contents__item__image {
										width: 55.824%;
									}
										.price__item__contents__item__image img {
											width: 100%;
											height: auto;
										}
									.price__item__contents__item__name {
										width: 100%;
										height: auto;
										margin: 8px auto 12px;
										font-size: 18px;
										font-weight: 700;
										line-height: 1.15;
										letter-spacing: 0.06em;
										text-align: center;
										color: var(--color--black);
									}
									.standard_sized_car .price__item__contents__item__name {
										font-size: 20px;
									}

	#course {
		width: 100%;
		height: auto;
		padding: 50px 0 0;
	}
		.course__inner {
			width: 90%;
			max-width: 1000px;
			height: auto;
			margin: 0 auto;
		}
			.course__heading {
				width: 100%;
				height: auto;
				margin-bottom: 26px;
				position: relative;
				z-index: 3;
			}
				.course__heading__obj {
					width: 103px;
					height: auto;
					margin-right: -245px;
					position: absolute;
					top: -39px;
					right: 50%;
					z-index: 2;
				}
					.course__heading__obj img {
						width: 100%;
						height: auto;
					}
			.course__txt {
				display: flex;
				justify-content: center;
				align-items: flex-end;
				width: 100%;
				height: auto;
				margin: 0 auto 28px;
				font-size: 20px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0.05em;
				text-align: center;
				position: relative;
				z-index: 3;
			}
				.course__txt__obj {
					width: 26.1px;
					height: auto;
				}
				.course__txt__obj_left {
					margin-right: 14px;
				}
				.course__txt__obj_right {
					transform: scale(-1,1);
				}
					.course__txt__obj img {
						width: 100%;
						height: auto;
					}
			.course__list {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
				height: auto;
				position: relative;
				z-index: 3;
			}
				.course__item {
					width: 19.2%;
					height: 192px;
				}
					.course__item__link {
						display: flex;
						flex-direction: column;
						justify-content: flex-end;
						align-items: center;
						width: 100%;
						height: 100%;
						padding-bottom: 19px;
						border-radius: 30px;
						border: solid 2px var(--color--black);
						background-color: var(--color--white);	
					}
						.course__item__link::after {
							content: '';
							width: 25px;
							height: 25px;
							border-radius: 50%;
							background-image: url('../image/index/price-arrow.svg');
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
						}
						.course__item__image {
							height: auto;
							margin: 0 auto;
						}
						.beginner .course__item__image {
							width: 48.0425%;
						}
						.senior_citizen .course__item__image {
							width: 37.9157%;
						}
						.scooters .course__item__image {
							width: 38.0263%;
						}
						.cancellation .course__item__image {
							width: 62.0158%;
							position: relative;
							left: 2px;
						}
						.paper_screwdriver .course__item__image {
							width: 58.8736%;
						}
							.course__item__image img {
								width: 100%;
								height: auto;
							}
						.course__item__name {
							width: 100%;
							height: auto;
							margin: 8px auto 10px;
							font-size: 18px;
							font-weight: 700;
							line-height: 1.15;
							letter-spacing: 0.06em;
							text-align: center;
							color: var(--color--black);
						}
						.paper_screwdriver .course__item__name {
							margin: 4px auto 3px;
						}

#access {
	width: 100%;
	height: auto;
	padding: 68px 0 126px;
	position: relative;
}
#access::before {
	content: '';
	display: block;
	width: 100%;
	height: 60px;
	background-color: var(--color--bk_skyblue);
	border-radius: 60px 60px 0 0;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(0%,-100%);
}
	.access__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		.access__heading {
			margin-bottom: 44px;
			position: relative;
			z-index: 3;
		}
			.access__heading__obj {
				width: 157.48px;
				height: auto;
				margin-left: -274px;
				position: absolute;
				top: -21px;
				left: 50%;
				z-index: 2;
			}
				.access__heading__obj img {
					width: 100%;
					height: auto;
				}
		.access__item {
			width: 100%;
			height: auto;
			padding: 58px 0 55px;
			border-radius: 80px;
			background-color: var(--color--white);
		}
		.access__train {
			margin-bottom: 35px;
		}
			.access__item__inner {
				width: 100%;
				height: auto;
				position: relative;
				z-index: 3;
			}
				.access__item__heading {
					width: 90%;
					max-width: 780px;
					height: auto;	
					margin: 0 auto 20px;
					font-size: 28px;
					font-weight: 700;
					line-height: 1.4;
					letter-spacing: 0.05em;
					text-align: center;
				}
				.access__item__txt {
					width: 90%;
					max-width: 780px;
					height: auto;
					margin: 0 auto 32px;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.75;
					letter-spacing: 0.05em;
					text-align: center;
				}
				.access__bus .access__item__txt {
					margin: 0 auto 44px;
				}
				.access__train__route {
					width: 90%;
					max-width: 780px;
					height: auto;
					margin: 0 auto;
				}
					.access__train__route__station {
						width: 100%;
						height: auto;
					}
						.access__train__route__station picture img {
							width: 100%;
							height: auto;
						}
					.access__train__route__on_foot {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 108.71px;
						height: auto;
						margin: 0 36.282051% 9px auto;
						position: relative;
					}
						.access__train__route__on_foot__arrow {
							width: 13.48px;
							height: auto;
						}
						.access__train__route__on_foot__time {
							width: 100%;
							height: auto;
							position: absolute;
							top: 26.8px;
							left: 0;
							z-index: 2;
						}
						.access__train__route__on_foot__hito {
							width: 32.76px;
							height: auto;
							position: absolute;
							top: 45px;
							right: -46px;
						}
							.access__train__route__on_foot__hito img {
								width: 100%;
								height: auto;
							}
						.access__train__route__on_foot picture img {
							width: 100%;
							height: auto;
						}
					.access__train__route__daizenji {
						width: 365px;
						height: auto;
						margin: 0 auto;
					}
						.access__train__route__daizenji picture img {
							width: 100%;
							height: auto;
						}
				.access__bus__info {
					width: 100%;
					height: auto;
					margin: 0 auto;
				}
					.access__bus__info__tab {
						display: flex;
						justify-content: space-between;
						align-items: flex-end;
						width: 100%;
						height: auto;
						border-bottom: solid 2px var(--color--darkgray);
					}
						.access__bus__info__tab__btn {
							width: 33.333%;
							width: calc(100% / 3);
							height: auto;
							line-height: 1;
							letter-spacing: 0.05em;
							text-align: center;
						}
							.access__bus__info__tab__btn__txt {
								display: inline-block;
								padding: 14px 5px;
								font-size: 20px;
								font-weight: 700;
								letter-spacing: 0.05em;
								text-indent: 0.05em;
								color: var(--color--darkgray);
								position: relative;
								cursor: pointer;
								transition: color .2s;
							}
							.active .access__bus__info__tab__btn__txt {
								color: var(--color--black);
							}
								.access__bus__info__tab__btn__txt::after {
									content: '';
									display: block;
									width: 100%;
									height: 2px;
									background-color: var(--color--black);
									position: absolute;
									bottom: -2px;
									left: 0;
									opacity: 0;
									transition: opacity .2s;
								}
								.active .access__bus__info__tab__btn__txt::after {
									opacity: 1;
								}
					.access__bus__info__contents {
						width: 100%;
						height: auto;
					}
						.access__bus__info__contents__panel {
							width: 100%;
							height: auto;
						}
						.access__bus__info__contents__panel:not(:first-of-type) {
							display: none;
						}
							.access__bus__info__contents__panel__inner {
								display: flex;
								justify-content: space-between;
								align-items: stretch;
								width: 90%;
								max-width: 780px;
								height: auto;
								padding: 56px 0 40px;
								margin: 0 auto;
							}
								.access__bus__info__map,
								.access__bus__info__time_table {
									width: 47.5%;
									height: auto;
								}
									.access__bus__info__heading {
										width: 100%;
										height: auto;
										margin-bottom: 13px;
										font-size: 18px;
										font-weight: 700;
										line-height: 1.5;
										letter-spacing: 0.05em;
									}
									.access__bus__info__map__contents,
									.access__bus__info__time_table__contents {
										width: 100%;
										height: auto;
										border-radius: 10px;
										border: solid 2px var(--color--black);
									}
									/* ルートマップ */
									.access__bus__info__map__contents {
										position: relative;
									}
										.access__bus__info__map__contents__wrap {
											width: 100%;
											height: auto;
											border-radius: 10px;
											overflow: hidden;
										}
											.access__bus__info__map__contents__note {
												font-size: 10px;
												font-weight: 700;
												text-align: right;
												position: absolute;
												top: -3px;
												right: 0;
												transform: translate(0%,-100%);
											}
											.access__bus__info__map__contents__wrap img {
												width: 100%;
												height: auto;
												cursor: zoom-in;
											}
											.modal {
												display: none;
												width: 100%;
												height: 100%;
												background-color: rgba(92, 119, 149, 0.8);
												position: fixed;
												z-index: 1000;
												left: 0;
												top: 0;
												z-index: 101;
												overflow: auto;
											}
											.modal-content {
												width: 90%;
												max-width: 900px;
												height: auto;
												max-height: 90%;
												padding: 15px;
												border-radius: 20px;
												background-color: var(--color--white);
												position: absolute;
												top: 50%;
												left: 50%;
												transform: translate(-50%, -50%);
											}
												.modal-content::after {
													content: '';
													display: block;
													width: 60px;
													height: 60%;
												}
									/* 時刻表 */
									.access__bus__info__time_table__contents {
										display: flex;
										justify-content: space-between;
										align-items: stretch;
										overflow: hidden;
										background-color: var(--color--white);
									}
										.access__bus__info__time_table__weekday,
										.access__bus__info__time_table__holiday {
											width: 50%;
											height: auto;
										}
										.access__bus__info__time_table__weekday {
											border-right: solid 1px var(--color--black);
										}
										.access__bus__info__time_table__holiday {
											border-left: solid 1px var(--color--black);
										}
											.access__bus__info__time_table__heading {
												display: flex;
												justify-content: center;
												align-items: center;
												width: 100%;
												height: 42px;
												background-color: var(--color--black);
												font-size: 12px;
												font-weight: 70;
												line-height: 1;
												letter-spacing: 0em;
												color: var(--color--white);
											}
											.access__bus__info__time_table__wrap {
												display: flex;
												justify-content: space-between;
												align-items: stretch;
												width: 100%;
												height: auto;
											}
												.access__bus__info__time_table__departure,
												.access__bus__info__time_table__arrival {
													width: 50%;
													height: auto;
												}
												.access__bus__info__time_table__departure {
													border-right: solid 1px var(--color--pink);
												}
												.access__bus__info__time_table__arrival {
													border-left: solid 1px var(--color--pink);
												}
													.access__bus__info__time_table__departure__heading,
													.access__bus__info__time_table__arrival__heading {
														display: flex;
														justify-content: center;
														align-items: center;
														width: 100%;
														height: 48px;
														background-color: var(--color--pink);
														font-size: 11px;
														font-weight: 700;
														line-height: 1.3;
														color: var(--color--black);
													}
													.access__bus__info__time_table__list {
														width: 100%;
														height: auto;
														padding: 13px 0;
														font-size: 14px;
														font-weight: 700;
														line-height: 1;
														letter-spacing: 0em;
														text-align: center;
													}
														.access__bus__info__time_table__item {
															padding: 13px 0;
														}
														.access__bus__info__time_table__item.red {
															color: var(--color--red);
														}
									.access__bus__info__note {
										width: 100%;
										height: auto;
										margin-top: 10px;
										font-size: 12px;
										font-weight: 400;
										line-height: 1.6;
										letter-spacing: 0em;
									}

				.access__bus__supplementary {
					width: 90%;
					max-width: 780px;
					height: auto;
					margin: 0 auto;
				}
					.access__bus__supplementary__reserve {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: auto;
						margin: 0 auto 40px;
						font-size: 18px;
						font-weight: 700;
						line-height: 1;
						letter-spacing: 0.05em;
					}
						.access__bus__supplementary__reserve .tel_number {
							margin: 0 8px;
							font-size: 40px;
							font-weight: 700;
							line-height: 1;
							letter-spacing: 0.04em;
							color: var(--color--lightblue);
						}
					.access__bus__supplementary__request {
						width: 100%;
						height: auto;
						margin: 0 auto 15px;
						font-size: 16px;
						line-height: 1.2;
						letter-spacing: 0.01em;
					}
						.access__bus__supplementary__request__item {
							width: 100%;
							height: auto;
							padding-left: 18px;
							position: relative;
						}
						.access__bus__supplementary__request__item:not(:last-of-type) {
							margin-bottom: 8px;
						}
							.access__bus__supplementary__request__item small {
								margin-left: -7px;
								font-size: 12px;
							}
							.access__bus__supplementary__request__item::before {
								content: '';
								display: block;
								width: 12px;
								height: 12px;
								border-radius: 50%;
								background-color: var(--color--black);
								position: absolute;
								top: 4px;
								left: 0;
							}
					.access__bus__supplementary__notes {
						width: 100%;
						height: auto;
						font-size: 12px;
						font-weight: 400;
						line-height: 1.8;
						letter-spacing: 0.05em;
					}
	.news__bk_obj {
		width: 100%;
		height: auto;
		position: absolute;
		bottom: 0;
		left: 0;
		transform: translate(0%,0%);
		z-index: -1;
	}
		.news__bk_obj img {
			width: 100%;
			height: auto;
		}

#news {
	width: 100%;
	height: auto;
	background-color: var(--color--bk_blue);
	position: relative;
}
	#news::after {
		content: '';
		display: block;
		width: 100%;
		height: 50%;
		border-radius: 60px 60px 0 0;
		background-color: var(--color--bk_dark_blue);
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 0;
	}
	.news__inner {
		width: 100%;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}
		.news__container__wrap {
			width: 100%;
			overflow: hidden;
		}
			.news__container {
				width: 90%;
				max-width: 1000px;
				height: auto;
				padding: 35px 0 45px 60px;
				margin: 0 auto;
				border-radius: 70px 0 0 70px;
				background-color: var(--color--white);
				position: relative;
				z-index: 3;
			}
			.news__container::after {
				content: '';
				display: block;
				width: 50vw;
				height: 100%;
				background-color: var(--color--white);
				position: absolute;
				top: 0;
				right: 0;
				transform: translate(100%,0%);
				z-index: -1;
			}
				.news__category_wrap {
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
					width: 100%;
					height: auto;
					padding: 0 30px 3px 0;
					margin: 0 auto 25px;
					position: relative;
				}
					.news__heading {
						margin-bottom: 13px;
						font-size: 32px;
						font-weight: 700;
						line-height: 1.5;
						letter-spacing: 0.05em;
					}
					.news__cat_list__wrap {
						width: auto;
						height: auto;
					}
						.news__cat_list {
							display: flex;
							justify-content: flex-end;
							align-items: flex-end;
						}
							.news__cat_item {
								margin: 0 11px;
								font-size: 18px;
								font-weight: 500;
								line-height: 1;
								letter-spacing: 0.05em;
								position: relative;
							}
							.current_cat.news__cat_item {
								pointer-events: none;
							}
							.news__cat_item:first-of-type {
								margin-left: 0;
							}
							.news__cat_item:last-of-type {
								margin-right: 0;
							}
								.news__cat_item::before,
								.news__cat_item::after {
									content: '';
									display: block;
									width: 100%;
									height: 3px;
									border-radius: .5px;
									mix-blend-mode: color-burn;
									position: absolute;
									bottom: -3px;
									left: 50%;
									transform: translate(-50%,0%);
									opacity: 0;
									pointer-events: none;
								}
								.news__cat_item::before {
									background-color: var(--color--skyblue);
									z-index: 2;
								}
								.current_cat.news__cat_item::after {
									opacity: 1;
									background-color: var(--color--black);
									z-index: 1;
								}
								.news__cat_item span {
									display: inline-block;
									width: 100%;
									padding: 9px 14px;
									color: var(--color--black);
									cursor: pointer;
								}
					.news__category_wrap__line {
						width: 100%;
						height: 3px;
						position: absolute;
						bottom: 0;
						left: 0;
					}
						.news__category_wrap__line picture img {
							width: 100%;
							height: 100%;
						}
				.news__list__wrap {
					width: 100%;
					height: auto;
				}
					.news__list {
						display: none;
						width: 100%;
						height: auto;
					}
					.active.news__list {
						display: block;
					}
						.news__item {
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							width: 100%;
							height: auto;
						}
						.news__item:not(:last-of-type) {
							margin-bottom: 10px;
						}
							.news__item__info {
								padding-top: 1px;
								margin-right: 15px;
							}
								.news__item_date {
									display: inline-flex;
									justify-content: flex-start;
									align-items: center;
									height: 21px;
									margin-right: 12px;
									font-size: 16px;
									font-weight: 400;
									line-height: 1;
									color: var(--color--blackgray);
								}
								.news__item_cat {
									display: inline-flex;
									justify-content: center;
									align-items: center;
									width: 102px;
									height: 21px;
									border-radius: 10.5px;
									background-color: var(--color--darkgray);
									font-size: 12px;
									font-weight: 500;
									line-height: 1;
									letter-spacing: 0.05em;
									color: var(--color--white);
								}
								.important .news__item_cat {
									background-color: var(--color--red);
								}
								.notice .news__item_cat {
									background-color: var(--color--green);
								}
								.campaign .news__item_cat {
									background-color: var(--color--orange);
								}
								.students .news__item_cat {
									background-color: var(--color--navy);
								}
							.news__item__txt {
								flex: 1;
								padding-right: 55px;
								font-size: 16px;
								font-weight: 500;
								line-height: 2;
								letter-spacing: 0.05em;
								position: relative;
							}
								.news__item__txt a {
									color: var(--color--black);
								}
								.news__item__txt .arrow {
									width: 12.13px;
									height: auto;
									position: absolute;
									top: 11px;
									right: 0;
								}
		.news__list_link {
			width: 90%;
			max-width: 1000px;
			text-align: right;
			position: absolute;
			bottom: -20px;
			left: 50%;
			transform: translate(-50%,100%);
		}
			.news__list_link__txt {
				display: inline-block;
				padding-right: 48px;
				font-size: 18px;
				font-weight: 700;
				line-height: 1.44;
				letter-spacing: 0.06em;
				color: var(--color--black);
				position: relative;
			}
				.news__list_link__txt::after {
					content: '';
					display: block;
					width: 25px;
					height: 25px;
					border-radius: 50%;
					background-image: url('../image/index/price-arrow.svg');
					background-position: center;
					background-repeat: no-repeat;
					background-size: cover;
					position: absolute;
					top: 50%;
					right: 0;
					transform: translate(0%,-50%);
				}

#schedule {
	width: 100%;
	height: auto;
	padding: 127px 0 133px;
	background-color: var(--color--bk_dark_blue);
}
	.schedule__inner {
		width: 95%;
		max-width: 1078px;
		height: auto;
		margin: 0 auto;
	}
		.schedule__heading {
			margin-bottom: 30px;
			position: relative;
			position: relative;
			z-index: 3;
		}
			.schedule__heading__obj {
				width: 83.29px;
				height: auto;
				margin-right: -232px;
				position: absolute;
				top: -31px;
				right: 50%;
				z-index: 2;
			}
				.schedule__heading__obj img {
					width: 100%;
					height: auto;
				}
		.schedule__container {
			width: 100%;
			height: auto;
			padding: 50px 0 52px;
			border-radius: 80px;
			background-color: var(--color--white);
		}
			.schedule__container__inner {
				width: 95%;
				max-width: 900px;
				height: auto;
				margin: 0 auto;
				position: relative;
				z-index: 3;
			}
				.schedule__disc_list {
					display: flex;
					justify-content: center;
					align-items: center;
					column-gap: 18px;
					width: 100%;
					height: auto;
					margin-bottom: 39px;
				}
					.schedule__disc_item {
						display: flex;
						justify-content: center;
						align-items: center;
						font-size: 14px;
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.01em;
					}
						.day_color {
							display: block;
							width: 37px;
							height: 25px;
							margin-right: 7px;
							border-radius: 4px;
							border: solid 2px var(--color--black);
						}
						.holidays_color {
							background-color: var(--color--schedule_pink);
						}
						.test_day_color {
							background-color: var(--color--schedule_yellow);
						}
						.grad_exam_day_color {
							background-color: var(--color--schedule_blue);
						}
						.none_day_color {
							background-color: var(--color--schedule_gray);
						}
				.schedule__list {
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
					width: 100%;
					height: auto;
					margin: 0 auto;
				}
					.schedule__item {
						width: 31%;
						height: auto;
					}
						.schedule__item img {
							width: 100%;
							height: auto;
						}

/* PC ================================================== */
@media all and (min-width:1025px){
/* price */
								.price__item__contents__item__link {
									transition: background-color .25s;
								}
								.price__item__contents__item__link:hover {
									background-color: var(--color--skyblue);
								}
									.price__item__contents__item__link::after {
										transition: left .25s, background-image 0.25s;
									}
									.price__item__contents__item__link:hover::after {
										background-image: url('../image/index/price-arrow_w.svg');
									}
									.price__item__contents__item__image {
										transform: scale(1,1);
										transition: transform .25s;
									}
									.price__item__contents__item__link:hover .price__item__contents__item__image {
										transform: scale(1.03,1.03);
									}
									.price__item__contents__item__name {
										transition: color .25s;
									}
									.price__item__contents__item__link:hover .price__item__contents__item__name {
										color: var(--color--white);
									}
					.course__item__link {
						transition: background-color .25s;
					}
					.course__item__link:hover {
						background-color: var(--color--skyblue);
					}
						.course__item__link::after {
							transition: left .25s, background-image 0.25s;
						}
						.course__item__link:hover::after {
							background-image: url('../image/index/price-arrow_w.svg');
						}
						.course__item__image {
							transform: scale(1,1);
							transition: transform .25s;
						}
						.course__item__link:hover .course__item__image {
							transform: scale(1.03,1.03);
						}
						.course__item__name {
							transition: color .25s;
						}
						.course__item__link:hover .course__item__name {
							color: var(--color--white);
						}

/* access */
							.access__bus__info__tab__btn__txt:hover {
								color: var(--color--black);
							}
						.access__bus__supplementary__reserve .tel_number {
							position: relative;
						}
							.access__bus__supplementary__reserve .tel_number::after {
								content: '';
								display: block;
								width: calc(100% - 0.1em);
								height: 2px;
								background-color: var(--color--lightblue);
								position: absolute;
								bottom: 0;
								left: 0;
								opacity: 0;
								transition: opacity .25s;
							}
							.access__bus__supplementary__reserve .tel_number:hover::after {
								opacity: 1;
							}
/* news */
						.news__cat_item::before,
						.news__cat_item::after {
							transition: opacity .2s;
						}
						.news__cat_item:hover::before {
							opacity: 1;
						}
						.news__cat_item span {
							transition: color .2s;
						}
						.news__cat_item span:hover {
							color: var(--color--skyblue);
						}
							.news__item__txt a {
								transition: color .2s;
							}
							.news__item__txt:hover a {
								color: var(--color--skyblue);
							}
							.news__item__txt .arrow {
								transition: right .2s;
							}
							.news__item__txt:hover .arrow {
								right: -3px;
							}

				.news__list_link__txt::after {
					transition: right .2s;
				}
				.news__list_link__txt:hover::after {
					right: -3px;
				}
}


/* Tablet ================================================== */
@media all and (max-width:1024px){
		.loading__contents {
			width: 55%;
		}
#hero {
	width: 100%;
	height: auto;
	padding: 84px 0 150px;
}
	.hero__inner {
		width: 87.2%;
		max-width: initial;
	}
			.hero_swiper_pagination {
				bottom: -29px;
			}
			.hero__important_notices {
				bottom: -35px;
				left: -21px;
			}
				.hero__important_notices__chara {
					width: 97.75px;
				}
					.hero__important_notices__chara img {
						width: 100%;
						height: auto;
					}

.sec_heading__txt {
	width: 400px;
	height: 56px;
	border-radius: 28px;
	font-size: 20px;
}

#about {
	padding: 67px 0 100px;
	margin-top: -30px;
	border-radius: 30px 30px 0 0;
}
	#price {
		padding: 0 0 36px;
	}
		.price__inner {
			width: 87.2%;
			max-width: initial;
		}
			.price__heading {
				margin: 0 auto 31px;
			}
				.price__heading__obj {
					width: 100px;
					margin-left: -225px;
				}
				.price__item {
					display: block;
				}
				.price__item:not(:last-of-type) {
					margin-bottom: 0;
				}
				.standard_sized_car.price__item {
					margin-bottom: 0;
				}
					.price__item__heading {
						justify-content: flex-start;
						width: 100%;
						height: 60px;
						padding-top: 0px;
						padding-left: 26px;
						margin-right: 0px;
						margin-bottom: 8px;
						border-radius: 10px;
						position: relative;
					}
					.standard_sized_car .price__item__heading {
						height: 60px;
					}
						.price__item__heading::before,
						.price__item__heading::after {
							content: '';
							display: block;
							width: 25px;
							height: 25px;
							border-radius: 50%;
							background-position: center;
							background-repeat: no-repeat;
							background-size: cover;
							position: absolute;
							top: 50%;
							right: 26px;
							transform: translate(0%,-50%);
							z-index: 1;
							pointer-events: none;
						}
						.price__item__heading::before {
							background-image: url('../image/index/price-item_heading_icon_minus.svg');
							opacity: 0;
							transition: opacity .2s;
						}
						.active .price__item__heading::before {
							opacity: 1;
						}
						.price__item__heading::after {
							background-image: url('../image/index/price-item_heading_icon_plus.svg');
							opacity: 1;
							transition: opacity .2s, transform .2s;
						}
						.active .price__item__heading::after {
							transform: translate(0%,-50%) rotate(90deg);
							opacity: 0;
						}
						.price__item__heading_txt {
							font-size: 20px;
							letter-spacing: 0.05em;
							-webkit-writing-mode: initial;
							-moz-writing-mode: initial;
							-ms-writing-mode: initial;
							-ms-writing-mode: initial;
							writing-mode: initial;
						}
							.price__item__heading_txt span {
								margin-bottom: 0px;
							}
					.price__item__contents {
						display: none;
						padding: 8px 0 36px;
					}
					.price__item:first-of-type .price__item__contents {
						display: block;
					}
						.price__item__contents__list {
							align-items: flex-start;
							flex-wrap: wrap;
						}
							.price__item__contents__item {
								width: 48.624%;
								height: 200px;
								position: relative;
							}
							.price__item__contents__item:not(:nth-last-of-type(-n+2)) {
								margin-bottom: 15px;
							}
							.standard_sized_car .price__item__contents__item {
								width: 48.624%;
								height: 200px;
							}
							.standard_sized_car .price__item__contents__item:nth-of-type(2n) {
								margin-left: initial;
							}
							.standard_sized_car .price__item__contents__item:nth-of-type(2) {
								margin-right: initial;
							}
								.standard_sized_car .price__item__contents__list .price__item__contents__item::before {
									display: flex;
									justify-content: center;
									align-items: center;
									width: 45px;
									height: 45px;
									padding: 0px 0px 2px 1px;
									border-radius: 22.5px;
									border: solid 2px var(--color--black);
									font-size: 12px;
									font-weight: 700;
									line-height: 14px;
									letter-spacing: 0.05em;
									white-space: pre;
									color: var(--color--white);
									text-align: center;
									position: absolute;
									top: 10px;
									right: 10px;
									transform: translate(0%,0%);
									z-index: 2;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(1)::before,
								.standard_sized_car .price__item__contents__item:nth-of-type(2)::before {
									content: '学生\A料金';
									background-color: #008485;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(3)::before,
								.standard_sized_car .price__item__contents__item:nth-of-type(4)::before {
									content: '一般\A料金';
									background-color: #748565;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n-1)::after {
									display: none;
								}
								.price__item__contents__item__link {
									padding-bottom: 17px;
								}
								.standard_sized_car .price__item__contents__item__link {
									padding-bottom: 17px;
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n-1) .price__item__contents__item__link {
									border-radius: 30px;
									border-right: solid 2px var(--color--black);
								}
								.standard_sized_car .price__item__contents__item:nth-of-type(2n) .price__item__contents__item__link {
									border-radius: 30px;
									border-left: solid 2px var(--color--black);
								}
									.price__item__contents__item__link::after {
										width: 21px;
										height: 21px;
									}
									.standard_sized_car .price__item__contents__item__image {
										width: 45.14%;
									}
									.large_motorcycle .price__item__contents__item__image {
										width: 39.984%;
									}
									.normal_motorcycle_mt .price__item__contents__item__image {
										width: 41.718%;
									}
									.normal_motorcycle_at .price__item__contents__item__image {
										width: 36.686%;
									}
									.small_motorcycle_mt .price__item__contents__item__image {
										width: 36.042%;
									}
									.small_motorcycle_at .price__item__contents__item__image {
										width: 37.49%;
									}
									.large_sized_car .price__item__contents__item__image {
										width: 55.77%;
									}
									.mid_sized_car .price__item__contents__item__image {
										width: 39.447%;
									}
									.semi_mid_sized_car .price__item__contents__item__image {
										width: 35.777%;
									}
									.towing_vehicle .price__item__contents__item__image {
										width: 40.718%;
									}
									.large_special_vehicle .price__item__contents__item__image {
										width: 40.824%;
									}
									.price__item__contents__item__name {
										margin: 12px auto 10px;
										font-size: 15px;
									}
									.standard_sized_car .price__item__contents__item__name {
										font-size: 15px;
									}

	#course {
		padding: 36px 0 0;
	}
		.course__inner {
			width: 87.2%;
			max-width: initial;
		}
			.course__heading {
				margin-bottom: 26px;
			}
				.course__heading__obj {
					width: 81px;
					margin-right: -222px;
					top: -31px;
				}
			.course__txt {
				margin: 0 auto 18px;
				font-size: 18px;
			}
				.course__txt__obj_left {
					margin-right: 18px;
				}
				.course__txt__obj_right {
					margin-left: 3px;
					transform: scale(-1,1);
				}
			.course__list {
				align-items: flex-start;
				flex-wrap: wrap;
			}
				.course__list::after {
					content: '';
					display: block;
					width: 31.324%;
					height: 0;
				}
				.course__item {
					width: 31.324%;
					height: 200px;
				}
				.course__item:not(:nth-last-of-type(-n+2)) {
					margin-bottom: 20px;
				}
					.course__item__link {
						padding-bottom: 12px;
					}
						.course__item__link::after {
							width: 21px;
							height: 21px;
						}
						.course__item__image {
							height: auto;
							margin: 0 auto;
						}
						.beginner .course__item__image {
							width: 58.51%;
							max-width: 114.255px;
						}
						.senior_citizen .course__item__image {
							width: 48.7%;
							max-width: 91.125px;
						}
						.scooters .course__item__image {
							width: 48.8%;
							max-width: 91.295px;
						}
						.cancellation .course__item__image {
							width: 73.29%;
							max-width: 149.055px;
						}
						.paper_screwdriver .course__item__image {
							width: 70.09%;
							max-width: 141.51px;
						}
						.course__item__name {
							margin: 8px auto 9px;
							font-size: 15px;
							line-height: 1.3;
						}
						.cancellation .course__item__name {
							margin: 18px auto 9px;
						}
						.paper_screwdriver .course__item__name {
							margin: 4px auto 5px;
						}

#access {
	padding: 44px 0 80px;
}
#access::before {
	height: 30px;
	border-radius: 30px 30px 0 0;
}
	.access__inner {
		width: 87.2%;
		max-width: initial;
	}
		.access__heading {
			margin-bottom: 29px;
		}
			.access__heading__obj {
				width: 110px;
				margin-left: -235px;
				top: -9px;
			}
		.access__item {
			padding: 32px 0 45px;
			border-radius: 40px;
		}
		.access__train {
			margin-bottom: 23px;
		}
				.access__item__heading {
					width: 85.32%;
					max-width: initial;
					font-size: 22px;
				}
				.access__item__txt {
					width: 85.32%;
					max-width: initial;
					margin: 0 auto 27px;
					font-size: 14px;
					line-height: 1.8;
					text-align: left;
				}
				.access__bus .access__item__txt {
					margin: 0 auto 44px;
				}
				.access__train__route {
					width: 85.32%;
					max-width: initial;
				}
					.access__bus__supplementary__request {
						line-height: 1.4;
						letter-spacing: 0.01em;
					}
							.access__bus__supplementary__request__item::before {
								top: 6px;
							}
											.modal-content {
												width: 95%;
												height: auto;
												padding: 10px;
											}

/* news */
	#news::after {
		border-radius: 30px 30px 0 0;
	}
	.news__inner {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
		.news__container__wrap {
			width: 100%;
			height: auto;
		}
			.news__container {
				width: 87.2%;
				max-width: initial;
				padding: 35px 0 40px;
				border-radius: 40px 0 0 40px;
			}
			.news__container::after {
				width: 6.5vw;
				right: 0.1vw;
			}
				.news__category_wrap {
					display: block;
					width: 92.66%;
					padding: 0 0 3px;
					margin: 0 0 30px auto;
				}
					.news__heading {
						margin-bottom: 17px;
						font-size: 24px;
					}
					.news__cat_list__wrap {
						width: 100%;
						height: auto;
					}
						.news__cat_list {
							justify-content: space-between;
						}
							.news__cat_item {
								margin: 0;
								font-size: 16px;
							}
				.news__list__wrap {
					width: 92.66%;
					padding: 0 0 3px;
					margin: 0 0 0 auto;
				}
						.news__item {
							display: block;
						}
						.news__item:not(:last-of-type) {
							margin-bottom: 22px;
						}
							.news__item__info {
								padding-top: 0;
								margin-right: 0;
								margin-bottom: 3px;
								line-height: 1;
							}
								.news__item_date {
									font-size: 14px;
								}
								.important .news__item_cat {
									background-color: var(--color--red);
								}
								.notice .news__item_cat {
									background-color: var(--color--green);
								}
								.campaign .news__item_cat {
									background-color: var(--color--orange);
								}
								.students .news__item_cat {
									background-color: var(--color--navy);
								}
							.news__item__txt {
								width: 100%;
								padding-right: 23px;
								font-size: 14px;
							}
								.news__item__txt a {
									color: var(--color--black);
								}
								.news__item__txt .arrow {
									width: 12.13px;
									height: auto;
									position: absolute;
									top: 11px;
									right: 0;
								}
		.news__list_link {
			width: 87.2%;
			max-width: initial;
			bottom: -15px;
		}

#schedule {
	padding: 101px 0 64px;
}
	.schedule__inner {
		width: 87.2%;
		max-width: initial;
	}
		.schedule__heading {
			margin-bottom: 24px;
		}
			.schedule__heading__obj {
				width: 65px;
				margin-right: -210px;
				top: -22px;
			}
		.schedule__container {
			padding: 30px 0 36px;
			border-radius: 30px;
		}
			.schedule__container__inner {
				width: 90%;
				max-width: initial;
			}
				.schedule__disc_list {
					margin-bottom: 21px;
				}
					.schedule__disc_item {
						font-size: 10px;
					}
						.day_color {
							width: 30px;
							height: 20px;
							margin-right: 5px;
							border: solid 1px var(--color--black);
						}
					.schedule__item {
						width: 31%;
						height: auto;
					}
}

/* SP ================================================== */
@media all and (max-width:599px){
#loading::after {
	background-image: url('../image/loading-bk_mask@sp.png');
}
			.loading__icon {
				top: 0px;
			}
			@keyframes shake {
				0% { top: -0px; }
				50% { top: -5px; }
				100% { top: -0px; }
			}
/* hero */
#hero {
	padding: 84px 0 234px;
}
			.hero_swiper_prev,
			.hero_swiper_next {
				width: 40px;
				height: 40px;
				border-radius: 20px;
			}
			.hero__important_notices {
				width: 100%;
				display: block;
			}
				.hero__important_notices__wrap {
					width: 100%;
					min-width: initial;
					max-width: initial;
					margin-left: 0;
					margin-bottom: 0;
					position: absolute;
					bottom: -8px;
					left: 21px;
					transform: translate(0%,100%);
				}
					.hero__important_notices__edge {
						top: 3.5px;
						left: 25px;
						transform: translate(0%,-100%) rotate(90deg);
					}
					.hero__important_notices__contents {
						padding: 11px 17px 13px;
					}

.sec_heading__txt {
	width: 92.66%;
	height: 54px;
	border-radius: 27px;
	font-size: 20px;
}

/* about */
				.price__heading__obj {
					width: 71.92px;
					margin-left: -180px;
					top: 0;
				}
							.price__item__contents__item {
								height: 159px;
							}
							.price__item__contents__item:not(:nth-last-of-type(-n+2)) {
								margin-bottom: 9px;
							}
							.standard_sized_car .price__item__contents__item {
								height: 159px;
							}
								.standard_sized_car .price__item__contents__list .price__item__contents__item::before {
									top: 7px;
									right: 7px;
								}
									.standard_sized_car .price__item__contents__item__image {
										width: 55.14%;
									}
									.large_motorcycle .price__item__contents__item__image {
										width: 49.984%;
									}
									.normal_motorcycle_mt .price__item__contents__item__image {
										width: 51.718%;
									}
									.normal_motorcycle_at .price__item__contents__item__image {
										width: 46.686%;
									}
									.small_motorcycle_mt .price__item__contents__item__image {
										width: 46.042%;
									}
									.small_motorcycle_at .price__item__contents__item__image {
										width: 47.49%;
									}
									.large_sized_car .price__item__contents__item__image {
										width: 65.77%;
									}
									.mid_sized_car .price__item__contents__item__image {
										width: 49.447%;
									}
									.semi_mid_sized_car .price__item__contents__item__image {
										width: 45.777%;
									}
									.towing_vehicle .price__item__contents__item__image {
										width: 50.718%;
									}
									.large_special_vehicle .price__item__contents__item__image {
										width: 50.824%;
									}

				.course__heading__obj {
					width: 68.62px;
					margin-right: -170px;
					top: -19px;
				}
			.course__txt {
				font-size: 18px;
			}
				.course__txt__obj_left {
					margin-right: 17px;
				}
				.course__list::after {
					display: none;
				}
				.course__item {
					width: 48.624%;
					height: 159px;
				}
						.beginner .course__item__image {
							width: 48.51%;
							max-width: 76.17px;
						}
						.senior_citizen .course__item__image {
							width: 38.7%;
							max-width: 60.75px;
						}
						.scooters .course__item__image {
							width: 38.8%;
							max-width: 60.93px;
						}
						.cancellation .course__item__image {
							width: 63.29%;
							max-width: 99.37px;
						}
						.paper_screwdriver .course__item__image {
							width: 60.09%;
							max-width: 94.34px;
						}
						.course__item__name {
							margin: 8px auto 5px;
						}

/* access */
			.access__heading__obj {
				width: 82.01px;
				margin-left: -172px;
				top: 0px;
			}
				.access__item__heading {
					width: 85.32%;
					max-width: initial;
					margin: 0 auto 18px;
					font-size: 22px;
				}
				.access__item__txt {
					margin: 0 auto 25px;
				}
				.access__bus .access__item__txt {
					margin: 0 auto 44px;
				}
				.access__train__route {
					display: flex;
					justify-content: space-between;
					align-items: center;
					width: 85.32%;
					max-width: initial;
				}
					.access__train__route__station {
						width: 50.29%;
						height: auto;
						margin: 0;
					}
					.access__train__route__on_foot {
						width: 36.92%;
						height: auto;
						margin: 0;
					}
						.access__train__route__on_foot__arrow {
							width: 100%;
							height: auto;
						}
						.access__train__route__on_foot__time {
							width: 68.02%;
							position: absolute;
							top: 50%;
							left: 50%;
							transform: translate(-50%,-50%);
						}
						.access__train__route__on_foot__hito {
							width: 22.76px;
							top: auto;
							bottom: -23px;
							right: 50%;
							transform: translate(50%,100%) scale(-1,1);
						}
					.access__train__route__daizenji {
						width: 12.656%;
						height: auto;
						margin: 0 0 20.4%;
					}
							.access__bus__info__tab__btn__txt {
								padding: 6px 0px;
								font-size: 17px;
							}
							.access__bus__info__contents__panel__inner {
								display: block;
								width: 85.32%;
								max-width: initial;
								padding: 35px 0 43px;
							}
							.access__bus .access__bus__info__contents__panel__inner {
								padding-bottom: 30px;
							}
								.access__bus__info__map,
								.access__bus__info__time_table {
									width: 100%;
								}
								.access__bus__info__map {
									margin-bottom: 30px;
								}
									.access__bus__info__heading {
										margin-bottom: 10px;
										font-size: 16px;
									}
											.access__bus__info__time_table__heading {
												height: 33px;
												font-size: 11px;
											}
													.access__bus__info__time_table__departure__heading,
													.access__bus__info__time_table__arrival__heading {
														height: 36px;
													}
													.access__bus__info__time_table__list {
														padding: 11px 0;
													}
														.access__bus__info__time_table__item {
															padding: 8px 0;
														}
									.access__bus__info__note {
										margin-top: 5px;
									}

				.access__bus__supplementary {
					width: 85.32%;
					max-width: initial;
				}
					.access__bus__supplementary__reserve {
						align-items: flex-end;
						margin: 0 auto 36px;
						font-size: 15px;
						font-weight: 700;
						line-height: 1;
						letter-spacing: 0.05em;
					}
						.access__bus__supplementary__reserve .tel_number {
							margin: 0px 4px -4px 7px;
							font-size: 26px;
						}
					.access__bus__supplementary__request {
						font-size: 15px;
						line-height: 1.5;
					}
						.access__bus__supplementary__request__item {
							padding-left: 17px;
						}
							.access__bus__supplementary__request__item small {
								margin-left: -5px;
								font-size: 10px;
							}
							.access__bus__supplementary__request__item::before {
								top: 5px;
							}

/* news */
				.news__category_wrap {
					padding: 0;
				}
					.news__cat_list__wrap {
						width: 100%;
						overflow-x: scroll;
						overflow-y: hidden;
					}
					.news__cat_list__wrap::-webkit-scrollbar{
						display: none;
					}
						.news__cat_list {
							width: auto;
							justify-content: space-between;
						}
							.news__cat_item {
								width: auto;
								margin: 0;
								font-size: 16px;
								white-space: nowrap;
							}
								.news__cat_item::before,
								.news__cat_item::after {
									bottom: 0px;
								}
					.news__category_wrap__line {
						width: 100%;
						height: 3px;
						position: absolute;
						bottom: 0;
						left: 0;
					}
							.news__item__info {
								margin-bottom: 5px;
							}

/* schedule */
			.schedule__heading__obj {
				width: 54px;
				margin-right: -161px;
				top: -11px;
			}
			.schedule__container__inner {
				width: 84.24%;
			}
				.schedule__disc_list {
					justify-content: flex-start;
					flex-wrap: wrap;
					column-gap: 0;
					row-gap: 11px;
					margin-bottom: 21px;
				}
					.schedule__disc_item {
						justify-content: flex-start;
						font-size: 10px;
					}
					.schedule__disc_item:nth-of-type(2n-1) {
						width: 100px;
					}
				.schedule__list {
					display: block;
				}
					.schedule__item {
						width: 100%;
					}
					.schedule__item:not(:last-of-type) {
						margin-bottom: 15px;
					}
}