@charset "utf-8";
#schedule {
	width: 100%;
	height: auto;
	position: relative;
	padding: 22px 0 0;
	overflow: hidden;
}
	.schedule__inner {
		width: 100%;
		height: auto;
	}
		.schedule__contents {
			width: 100%;
			height: auto;
			padding: 0;
		}
			.schedule__contents__calendar {
				width: 100%;
				height: auto;
				padding: 76px 0 150px;
				border-radius: 60px 60px 0 0;
				background-color: var(--color--white);
			}
			.schedule__contents__skill {
				width: 100%;
				height: auto;
				padding: 86px 0 142px;
				margin-top: -60px;
				border-radius: 60px 60px 0 0;
				background-color: var(--color--pink);
			}
				.schedule__contents__inner {
					width: 85%;
					max-width: 890px;
					height: auto;
					margin: 0 auto;
					position: relative;
					z-index: 3;
				}
					.schedule__contents__wrap {
						width: 100%;
						height: auto;
					}
					.schedule__contents__wrap:not(:last-of-type) {
						margin-bottom: 80px;
					}
						.cmn_h2 {
							margin-bottom: 35px;
						}
						.schedule__contents__body {
							width: 100%;
							height: auto;
						}
							/* 教習・検定スケジュール */
							.calendar__wrap {
								width: 100%;
								height: auto;
							}
								.calendar__disc_list {
									display: flex;
									justify-content: flex-start;
									align-items: center;
									column-gap: 18px;
									width: 100%;
									height: auto;
									margin-bottom: 40px;
								}
									.calendar__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);
										}
								.calendar__list {
									display: flex;
									justify-content: space-between;
									align-items: flex-start;
									width: 100%;
									height: auto;
									margin: 0 auto;
								}
									.calendar__item {
										width: 30.95%;
										height: auto;
									}
										.calendar__item img {
											width: 100%;
											height: auto;
										}
							/* 技能教習・技能検定・学科試験について */
							.timetable__wrap {
								width: 100%;
								height: auto;
							}
								.timetable__list {
									display: flex;
									justify-content: space-between;
									align-items: flex-start;
									width: 100%;
									height: auto;
								}
									.timetable__item {
										width: 47.865%;
										height: auto;
									}
										.timetable__item__heading {
											width: 100%;
											height: auto;
											margin-bottom: 8px;
										}
											.timetable__item__heading picture img {
												width: 100%;
												height: auto;
											}
										.timetable__item__contents {
											width: 100%;
											height: auto;
										}
											.timetable__item__contents picture img {
												width: 100%;
												height: auto;
											}
										.timetable__disc {
											width: 100%;
											height: auto;
										}
											.timetable__disc__list {
												display: flex;
												justify-content: flex-start;
												align-items: center;
												width: 100%;
												height: auto;
												margin: 20px auto 11px;
											}
												.timetable__disc__item {
													display: flex;
													justify-content: flex-start;
													align-items: center;
													width: auto;
													height: auto;
													margin-right: 17px;
													font-size: 12px;
													font-weight: 500;
													line-height: 1.4;
												}
													.timetable__disc__item__icon {
														width: auto;
														height: auto;
														margin-right: 6px;
													}
													.timetable__disc__item__icon::after {
														content: '…';
														margin-left: 6px;
														position: relative;
														top: -3px;
													}
											.timetable__note {
												font-size: 12px;
												font-weight: 500;
												line-height: 1.4;
											}

							.certification__wrap {
								width: 100%;
								height: auto;
							}
								.certification__tab__list {
									display: flex;
									justify-content: space-between;
									align-items: flex-start;
									width: 100%;
									height: auto;
									margin: 0 auto 8px;
								}
									.certification__tab {
										width: 47.865%;
										height: auto;
									}
										.certification__tab picture img {
											width: 100%;
											height: auto;
										}
								.certification__panel__area {
									display: flex;
									justify-content: space-between;
									align-items: flex-start;
									width: 100%;
									height: auto;
								}
									.certification__panel {
										width: 47.865%;
										height: auto;
									}
										.certification__item {
											width: 100%;
											height: auto;
											padding: 25px 25px;
											border-radius: 30px;
											background-color: var(--color--white);
										}
										.certification__item:not(:last-of-type) {
											margin-bottom: 14px;
										}
											.cmn_h6 {
												margin: 0 auto 20px;
												font-size: 20px;
												line-height: 1.5
											}
												.cmn_h6::before {
													content: '';
													top: 12px;
												}
											.certification__day {
												display: flex;
												justify-content: center;
												align-items: center;
												width: 100%;
												height: 40px;
												margin: 0 auto 20px;
												border-radius: 20px;
												background-color: var(--color--pink);
											}
												.certification__day__txt {
													width: 100%;
													height: auto;
													font-size: 16px;
													font-weight: 700;
													line-height: 1;
													letter-spacing: 0.05em;
													text-align: center;
												}
													.certification__day__txt small {
														font-size: 12px;
														margin-right: -0.5em;
													}
											.certification__timeline_list {
												width: 100%;
												height: auto;
												position: relative;
											}
												.certification__timeline_list::before {
													content: '';
													display: block;
													width: 2px;
													height: 100%;
													background-image: radial-gradient(circle, var(--color--black) 0px, var(--color--black) 1px, transparent 1px, transparent 4px);
													background-size: 2px 6px;
													position: absolute;
													top: 0;
													left: 54px;
												}
												.certification__timeline_item {
													display: flex;
													justify-content: flex-start;
													align-items: flex-start;
													width: 100%;
													height: auto;
													font-size: 16px;
													font-weight: 500;
													line-height: 1.5;
												}
												.certification__timeline_item:not(:last-of-type) {
													margin-bottom: 1px;
												}
													.certification__timeline_item__time {
														width: 56px;
														height: auto;
														padding-top: 2px;
														margin-right: 16px;
														letter-spacing: 0.05em;
													}
													.certification__timeline_item__details {
														flex: 1;
														height: auto;
														letter-spacing: 0em;
														position: relative;
													}
														.certification__timeline_item__details small {
															font-size: 10px;
															position: absolute;
															bottom: -2px;
															left: 0;
															transform: translate(0%,100%);
														}
											.certification__disc_list {
												width: 100%;
												height: auto;
												margin: 0 auto 20px;
											}
												.certification__disc_item {
													width: 100%;
													height: auto;
													padding-left: 17px;
													margin-bottom: 5px;
													font-size: 16px;
													font-weight: 500;
													line-height: 1.8;
													letter-spacing: .01em;
													position: relative;
												}
													.certification__disc_item::before {
														content: '';
														display: block;
														width: 7px;
														height: 7px;
														border-radius: 50%;
														background-color: var(--color--lightblue);
														position: absolute;
														top: 11px;
														left: 0;
													}
													.certification__disc_item .red {
														color: var(--color--red);
													}
											.certification__passed_heading {
												display: flex;
												justify-content: center;
												align-items: center;
												width: 100%;
												height: 40px;
												margin: 0 auto 10px;
												border-radius: 20px;
												background-color: var(--color--red);
											}
												.certification__passed_heading__txt {
													width: 100%;
													height: auto;
													font-size: 16px;
													font-weight: 700;
													line-height: 1;
													letter-spacing: 0.05em;
													text-align: center;
													color: var(--color--white);
												}
											.certification__passed__txt {
												width: 100%;
												height: auto;
												margin: 0 auto 12px;
												font-size: 16px;
												font-weight: 500;
												color: var(--color--red);
											}
											.certification__txt {
												width: 100%;
												height: auto;
												font-size: 16px;
												font-weight: 500;
												line-height: 1.8;
												letter-spacing: 0.01em;
											}
											.certification__note {
												width: 100%;
												height: auto;
												margin: 12px auto 0;
												font-size: 12px;
												font-weight: 500;
												line-height: 1.4;
												letter-spacing: 0em;
											}
											.certification__link {
												width: 100%;
												height: auto;
												padding-left: 28px;
												margin: 20px auto 0;
												font-size: 16px;
												font-weight: 700;
												line-height: 1.8;
												letter-spacing: 0.03em;
												position: relative;
											}
												.certification__link::before {
													content: '';
													display: block;
													width: 19px;
													height: 19px;
													background-image: url('../image/schedule/schedule-certification_link_arrow.svg');
													background-position: center;
													background-repeat: no-repeat;
													background-size: cover;
													position: absolute;
													top: 6px;
													left: 0;
												}
												.certification__link a {
													color: var(--color--lightblue);
												}
								.certification__attention {
									width: 100%;
									height: auto;
									padding: 15px 33px;
									margin: 17px auto 0;
									border-radius: 30px;
									background-color: var(--color--white);
								}
									.certification__attention__txt {
										width: 100%;
										height: auto;
										font-size: 16px;
										font-weight: 500;
										line-height: 2;
										letter-spacing: 0.01em;
									}
										.certification__attention__txt a {
											color: var(--color--lightblue);
											position: relative;
										}
										.certification__attention__txt a::after {
											content: '';
											display: block;
											width: 100%;
											height: 1px;
											background-color: var(--color--lightblue);
											position: absolute;
											bottom: 1px;
											left: 0
										}

/* PC ================================================== */
@media all and (min-width:1025px){
										.certification__item:nth-of-type(2) {
											padding-bottom: 50px;
										}
								.schedule__contents__body dl dd a.din {
									position: relative;
								}
									.schedule__contents__body dl dd a.din::after {
										content: '';
										display: block;
										width: 100%;
										height: 2px;
										background-color: var(--color--black);
										opacity: 0;
										transition: opacity .2s;
										position: absolute;
										bottom: 1px;
										left: 0;
									}
									.schedule__contents__body dl dd a.din:hover::after {
										opacity: 1;
									}

												.certification__link a {
													transition: border .2s;
													border-bottom: solid 2px rgba(92,119,149,0);
												}
												.certification__link a:hover {
													border-bottom: solid 2px rgba(92,119,149,1);
												}
}

/* Tablet ================================================== */
@media all and (max-width:1024px){
#schedule {
	padding: 28px 0 0;
}
			.schedule__contents__calendar {
				width: 100%;
				height: auto;
				padding: 51px 0 86px;
				border-radius: 30px 30px 0 0;
				background-color: var(--color--white);	
			}
			.schedule__contents__skill {
				width: 100%;
				height: auto;
				padding: 47px 0 60px;
				margin-top: -30px;
				border-radius: 30px 30px 0 0;
				background-color: var(--color--pink);
			}
				.schedule__contents__inner {
					width: 85%;
					max-width: 890px;
					height: auto;
					margin: 0 auto;
				}
					.schedule__contents__wrap {
						width: 100%;
						height: auto;
					}
					.schedule__contents__wrap:not(:last-of-type) {
						margin-bottom: 50px;
					}
						.cmn_h2 {
							margin-bottom: 30px;
							white-space: nowrap;
						}
							/* 教習・検定スケジュール */
							.calendar__disc_list {
								margin-bottom: 21px;
							}
								.calendar__disc_item {
									font-size: 12px;
								}
									.day_color {
										width: 30px;
										height: 20px;
										margin-right: 5px;
										border: solid 1px var(--color--black);
									}
								.calendar__item {
									width: 31%;
									height: auto;
								}

							/* 技能教習・技能検定・学科試験について */
									.timetable__item {
										width: 48.5%;
									}
											.timetable__disc__list {
												display: block;
												margin: 16px auto 8px;
											}
												.timetable__disc__item {
													margin-right: 0;
													margin-bottom: 3px;
												}
									.certification__tab {
										width: 48.5%;
									}
									.certification__panel {
										width: 48.5%;
									}
										.certification__item {
											padding: 20px;
										}
										.certification__item:nth-of-type(2) {
											padding-bottom: 45px;
										}
										.certification__item:not(:last-of-type) {
											margin-bottom: 10px;
										}
											.cmn_h6 {
												margin: 0 auto 16px;
												font-size: 18px;
											}
												.cmn_h6::before {
													top: 11px;
												}
											.certification__day {
												height: 30px;
												padding-bottom: 1px;
												margin: 0 auto 14px;
												border-radius: 15px;
											}
												.certification__day__txt {
													font-size: 14px;
												}
													.certification__day__txt small {
														font-size: 10px;
													}
												.certification__timeline_list::before {
													left: 46px;
												}
												.certification__timeline_item {
													font-size: 14px;
												}
												.certification__timeline_item:not(:last-of-type) {
													margin-bottom: 1px;
												}
													.certification__timeline_item__time {
														width: 46px;
														padding-top: 1px;
														margin-right: 15px;
													}
														.certification__timeline_item__details small {
															width: 110%;
														}
											.certification__disc_list {
												margin: 0 auto 16px;
											}
												.certification__disc_item {
													padding-left: 13px;
													margin-bottom: 3px;
													font-size: 14px;
												}
													.certification__disc_item::before {
														width: 5px;
														height: 5px;
														top: 10px;
													}
											.certification__passed_heading {
												height: 30px;
												padding-bottom: 1px;
												margin: 0 auto 7px;
												border-radius: 15px;
											}
												.certification__passed_heading__txt {
													font-size: 14px;
												}
											.certification__passed__txt {
												margin: 0 auto 10px;
												font-size: 14px;
											}
											.certification__txt {
												font-size: 14px;
											}
											.certification__note {
												margin: 10px auto 0;
												font-size: 10px;
											}
											.certification__link {
												padding-left: 24px;
												margin: 16px auto 0;
												font-size: 14px;
											}
												.certification__link::before {
													width: 18px;
													height: 18px;
													top: 4px;
												}
								.certification__attention {
									padding: 18px 33px;
									margin: 14px auto 0;
								}
									.certification__attention__txt {
										font-size: 14px;
									}
										.certification__attention__txt a::after {
											bottom: 0px;
										}
}

/* SP ================================================== */
@media all and (max-width:599px){
					.schedule__contents__wrap:not(:last-of-type) {
						margin-bottom: 48px;
					}
						.cmn_h2 {
							margin-bottom: 27px;
						}
							/* 教習・検定スケジュール */
								.calendar__disc_list {
									justify-content: flex-start;
									flex-wrap: wrap;
									column-gap: 0;
									row-gap: 11px;
									margin-bottom: 21px;
								}
									.calendar__disc_item {
										justify-content: flex-start;
										font-size: 12px;
									}
									.calendar__disc_item:nth-of-type(2n-1) {
										width: 115px;
									}
								.calendar__list {
									display: block;
								}
									.calendar__item {
										width: 100%;
									}
									.calendar__item:not(:last-of-type) {
										margin-bottom: 15px;
									}
							/* 技能教習・技能検定・学科試験について */
								.timetable__list {
									display: block;
								}
									.timetable__item {
										width: 100%;
									}
									.timetable__item:not(:last-of-type) {
										margin-bottom: 34px;
									}
										.timetable__item__heading {
											margin-bottom: 7px;
										}
										.timetable__item__contents {
											padding: 20px 18px;
											border-radius: 30px;
											background-color: var(--color--white);	
										}
											.timetable__disc__list {
												display: block;
												width: 90%;
												height: auto;
												margin: 20px auto 8px;
											}
												.timetable__disc__item {
													width: 100%;
													margin-right: 0px;
													margin-bottom: 5px;
													font-size: 10px;
												}
													.timetable__disc__item__icon::after {
														top: -3px;
													}
											.timetable__note {
												width: 90%;
												margin: 0 auto;
												font-size: 10px;
												font-weight: 500;
												line-height: 1.4;
											}
							
							/* 技能検定・学科試験について */
								.certification__tab__list {
									margin: 0 auto 16px;
								}
									.certification__tab {
										display: flex;
										justify-content: center;
										align-items: center;
										width: 50%;
										height: 56px;
										background-color: #AFBABE;
										transition: background-color .2s;
									}
									.certification__tab:nth-of-type(1) {
										padding-left: 4px;
										border-radius: 28px 0 0 28px;
									}
									.certification__tab:nth-of-type(2) {
										padding-right: 4px;
										border-radius: 0 28px 28px 0;
									}
									.active.certification__tab {
										background-color: var(--color--black);
									}
										.certification__tab__txt {
											width: 100%;
											height: auto;
											font-size: 18px;
											font-weight: 700;
											line-height: 1.0;
											letter-spacing: 0.05em;
											text-align: center;
											color: var(--color--white)
										}
											.certification__tab__txt small {
												font-size: 14px;
												letter-spacing: 0.01em;
											}

								.certification__panel__area {
									display: block;
								}
									.certification__panel {
										display: none;
										width: 100%;
										height: auto;
									}
									.active.certification__panel {
										display: block;
									}
								.certification__attention {
									padding: 16px 20px;
								}
}