@charset "UTF-8";
/* CSS Document */

/* ------------------------------ SP ------------------------------ */
body {
}

/* -------------------- ローディングエリア -------------------- */
#contents {
	position: relative;
}
	#contents::before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		background-image: url(body-bg.webp);
		background-repeat: no-repeat;
		background-position: left calc(-420vw / 7.8) bottom;
		background-size: calc(2560vw / 7.8);
		display: block;
	}

/* -------------------- ヘッダ -------------------- */
header {
	width: 100vw;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
	.header__catchCopy {
		position: relative;
		width: calc(760vw / 7.8);
		padding: calc(24vw / 7.8) calc(30vw / 7.8) calc(24vw / 7.8) calc(60vw / 7.8);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
		background-color: #009645;
	}
	.header__sponsorship {
		margin: calc(36vw / 7.8) calc(50vw / 7.8) 0;
		width: calc(680vw / 7.8);
		font-size: calc(28vw / 7.8);
		line-height: calc(30 / 28);
		font-weight: 400; /* Regular */
		text-align: center;
	}

/* -------------------- メイン -------------------- */
.main {
	padding-top: 0;
}

/* メインタイトル */
.mainTitle {
}
	.mainTitle-outer {
	}
		.mainTitle__title {
			padding-top: calc(57vw / 7.8);
			display: flex;
			flex-direction: column;
			align-items: center;
		}
			.mainTitle__title-label {
				width: calc(280vw / 7.8);
			}
			.mainTitle__title-catchCopy {
				margin-top: calc(24vw / 7.8);
				width: calc(680vw / 7.8);
			}
			.mainTitle__title-mainTitle {
				margin-top: calc(24vw / 7.8);
				width: calc(680vw / 7.8);
			}
			.mainTitle__title-information {
				margin-top: calc(36vw / 7.8);
				width: calc(680vw / 7.8);
				padding: calc(27vw / 7.8) calc(20vw / 7.8) calc(33vw / 7.8);
				border: calc(4vw / 7.8) #aa8f39 solid;
				background-color: #fff;
				border-radius: calc(15vw / 7.8);
				display: flex;
				flex-direction: column;
				align-items: center;
				z-index: 1;
			}
				.mainTitle__title-information-box {
				}
					.mainTitle__title-information-schedule {
						font-size: calc(61vw / 7.8);
						line-height: calc(72 / 61);
						font-weight: 700; /* Bold */
						text-align: center;
					}
						.mainTitle__title-information-schedule .small {
							font-size: calc(37vw / 7.8);
						}
					.mainTitle__title-information-conditions {
						margin-top: calc(9vw / 7.8);
						font-size: calc(28vw / 7.8);
						line-height: calc(39 / 28);
						font-weight: 600; /* SemiBold */
						letter-spacing: 0.030em;
						text-align: center;
					}
						.mainTitle__title-information-conditions i {
							margin: 0 0.25em 0 1em; /* 上書き */
								color: #b7cd1d;
						}
							.mainTitle__title-information-conditions i:nth-of-type(1),
							.mainTitle__title-information-conditions i:nth-of-type(4) {
								margin-left: 0;
							}
					.mainTitle__title-information-btn-apply a {
						margin: calc(24vw / 7.8) 0 calc(6vw / 7.8);
						width: calc(320vw / 7.8);
						padding: calc(18vw / 7.8) 0 calc(15vw / 7.8);
						font-size: calc(37vw / 7.8);
						line-height: calc(45 / 37);
						font-weight: 700; /* Bold */
						letter-spacing: 0.065em;
						text-align: center;
						color: #fff;
						background: linear-gradient(180deg, rgba(255,167,61,1) 0%, rgba(255,134,12,1) 100%);
						border-radius: calc(12vw / 7.8);
						box-shadow: 0 calc(9vw / 7.8) calc(24vw / 7.8) rgba(0, 0, 0, 0.35);
						display: block;
						transition: all 0.15s ease;
					}
						.mainTitle__title-information-btn-apply a:hover {
							margin: calc(30vw / 7.8) 0 0;
							box-shadow: 0 calc(9vw / 7.8) calc(18vw / 7.8) rgba(0, 0, 0, 0.35);
							opacity: 0.85;
						}

/* メインコンテンツ */
.mainContents {
	display: flex;
	flex-direction: column;
	align-items: center;
}

	/* セミナー概要 overview */
	.mainContents__Sec-overview {
		position: relative;
		width: calc(680vw / 7.8);
	}
		.mainContents__Sec-overview .wrapper {
			margin-top: calc(72vw / 7.8);
		}
		.Sec-overview-head {
			font-family: 'NotoSerifJP_subset', serif;
			font-size: calc(37vw / 7.8);
			line-height: calc(39 / 37);
			font-weight: 700; /* Bold */
			letter-spacing: 0.015em;
			text-shadow: 0 0 calc(30vw / 7.8) rgba(255, 255, 255, 1);
			}
		.Sec-overview-lead {
			margin-top: calc(24vw / 7.8);
			font-size: calc(28vw / 7.8);
			line-height: calc(45 / 28);
			font-weight: 600; /* SemiBold */
			letter-spacing: 0.065em;
			text-shadow: 0 0 calc(24vw / 7.8) rgba(255, 255, 255, 1);
		}

	/* 講座プログラム program */
	.mainContents__Sec-program {
		position: relative;
		width: calc(680vw / 7.8);
	}
		.mainContents__Sec-program .wrapper {
				margin-top: calc(60vw / 7.8);
		}
			.Sec-program-head {
				font-family: 'NotoSerifJP_subset', serif;
				font-size: calc(37vw / 7.8);
				line-height: calc(39 / 37);
				font-weight: 700; /* Bold */
				letter-spacing: 0.015em;
				text-shadow: 0 0 calc(30vw / 7.8) rgba(255, 255, 255, 1);
				}
			table.Sec-program {
				margin: calc(calc(30vw / 7.8) - calc(7.5vw / 7.8)) 0 0 calc(-7.5vw / 7.8);
				width: 100%;
				font-size: calc(28vw / 7.8);
				line-height: calc(48 / 28);
				font-weight: 600; /* SemiBold */
				letter-spacing: 0.015em;
				border-collapse: separate; /* 表の線と線の間を空ける */
				border-spacing: calc(7.5vw / 7.8); /* 表の線と線の間の幅 */
			}
				table.Sec-program th {
					width: calc(95vw / 7.8);
					text-align: center;
					color: #fff;
					background-color: #aa8f39;
				}
				table.Sec-program td {
					width: auto;
					padding-left: calc(20vw / 7.8);
					background-color: #f2eee1;
				}

	/* セミナー情報 information */
	.mainContents__Sec-information {
		position: relative;
		width: calc(680vw / 7.8);
	}
		.mainContents__Sec-information .wrapper {
			margin-top: calc(78vw / 7.8);
		}
			.Sec-information-head {
				font-family: 'NotoSerifJP_subset', serif;
				font-size: calc(37vw / 7.8);
				line-height: calc(39 / 37);
				font-weight: 700; /* Bold */
				letter-spacing: 0.015em;
				text-shadow: 0 0 calc(30vw / 7.8) rgba(255, 255, 255, 1);
				}
			.Sec-information {
				margin-top: calc(30vw / 7.8);
				padding: calc(27vw / 7.8) calc(30vw / 7.8);
				background: rgba(183, 205, 29, 0.35);
				border-radius: calc(15vw / 7.8);
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				gap: calc(15vw / 7.8) 0;
			}
				.Sec-information-title {
					width: calc(95vw / 7.8);
					font-size: calc(22vw / 7.8);
					line-height: calc(39 / 22);
					letter-spacing: 0.015em;
				}
				.Sec-information-data {
					width: calc(505vw / 7.8);
					font-size: calc(28vw / 7.8);
					line-height: calc(39 / 28);
					font-weight: 600; /* SemiBold */
					letter-spacing: 0.015em;
				}
					.Sec-information-data.large {
						font-size: calc(37vw / 7.8);
						line-height: calc(39 / 37);
					}
						.Sec-information-data.large .small {
							font-size: calc(25vw / 7.8);
						}
							.Sec-information-data.large .small.regular {
								font-weight: 400; /* Regular */
							}

	/* スケジュール schedule */
	.mainContents__Sec-schedule {
		position: relative;
		width: calc(680vw / 7.8);
	}
		.mainContents__Sec-schedule .wrapper {
			margin-top: calc(96vw / 7.8);
		}
			.Sec-schedule {
				margin-top: calc(96vw / 7.8);
				padding: calc(calc(36vw / 7.8) - calc(4vw / 7.8)) calc(calc(40vw / 7.8) - calc(4vw / 7.8)) calc(calc(39vw / 7.8) - calc(4vw / 7.8));
				border: calc(4vw / 7.8) #aa8f39 solid;
				border-radius: calc(15vw / 7.8);
				background: #fff;

				.Sec-schedule-copy {
					width: 100%;
					font-size: calc(40vw / 7.8);
					line-height: calc(54 / 40);
					font-weight: 700; /* Bold */
					letter-spacing: 0.015em;
					color: #009645;
				}
				.js-scrollable {
					width: calc(600vw / 7.8);
				}
				/* 表組（テーブル） */
				.Sec-schedule-outer {
					margin-top: calc(27vw / 7.8);
					width: calc(1080vw * 1.25 / 7.8);
					border-collapse: collapse; /* セルの線を重ねる */
				}
					.head {
						width: calc(155vw * 1.25 / 7.8);
						vertical-align: middle;
						background-color: #b7cd1d;
						border-top: calc(1.5vw / 7.8) solid #fff;

						.flex-center {
							display: flex;
							flex-direction: column;
							justify-content: center;
							align-items: center;
							gap: calc(6vw * 1.25 / 7.8) 0;
							height: 100%;

							.tag {
								padding: 0 calc(7.5vw * 1.25 / 7.8);
								font-size: calc(16vw * 1.25 / 7.8);
								line-height: calc(21 / 16);
								font-weight: 500; /* Medium */
								letter-spacing: 0.015em;
								color: #009645;
								background-color: #fff;
							}
								.tag.real {
									padding: calc(3vw * 1.25 / 7.8) calc(5vw * 1.25 / 7.8);
									text-align: center;
									color: #fff;
									background-color: #000;

									.small {
										font-size: calc(14vw * 1.25 / 7.8);
										display: block;
									}
								}
							.date {
								font-size: calc(22vw * 1.25 / 7.8);
								line-height: calc(27 / 22);
								font-weight: 600; /* SemiBold */
								letter-spacing: 0.015em;
								text-align: center;
								color: #fff;

								.year {
									font-size: calc(19vw * 1.25 / 7.8);
								}
							}
							.button a {
								margin: 0 0 calc(3vw * 1.25 / 7.8);
								padding: calc(4.5vw * 1.25 / 7.8) calc(10vw * 1.25 / 7.8) calc(4.5vw * 1.25 / 7.8) calc(12.5vw * 1.25 / 7.8);
								font-size: calc(15vw * 1.25 / 7.8);
								line-height: calc(18 / 15);
								font-weight: 500; /* Medium */
								letter-spacing: 0.015em;
								text-align: center;
								color: #fff;
								text-shadow: 0 calc(1vw * 1.25 / 7.8) 0 #cc9f52;
								box-shadow: 0 calc(3vw * 1.25 / 7.8) 6px rgba(0, 0, 0, 0.35);
								background: linear-gradient(180deg, rgba(255,167,61,1) 0%, rgba(255,134,12,1) 100%);
								background-color: #ffc477;
								border-radius: calc(6vw * 1.25 / 7.8);
								display: inline-block;
								transition: all 0.15s ease;
							}
							.button a:hover {
								margin: calc(3vw * 1.25 / 7.8) 0 0;
								opacity: 1;
							}
						}
					}
					.white {
						width: calc(5vw * 1.25 / 7.8);
						background-color: #fff;
					}
					.theme {
						padding-left: calc(15vw * 1.25 / 7.8);
						font-size: calc(18vw * 1.25 / 7.8);
						line-height: calc(36 / 18);
						font-weight: 600; /* SemiBold */
						letter-spacing: 0.015em;
						color: #fff;
						border-top: calc(1.5vw / 7.8) solid #fff;
						background-color: #009645;

						.small {
							padding-right: 0.5em;
							font-size: calc(16vw * 1.25 / 7.8);
						}
						.en {
							padding-right: 0.5em;
							font-size: calc(16vw * 1.25 / 7.8);
							font-weight: 400; /* Regular */
						}
					}
					.gradient {
						width: calc(15vw * 1.25 / 7.8);
						background: linear-gradient(0,rgba(255, 255, 255, 1) 0%, rgba(0, 150, 69, 1) 100%);
					}
					.time {
						width: calc(80vw * 1.25 / 7.8);
						font-size: calc(22vw * 1.25 / 7.8);
						line-height: calc(72 / 22);
						font-weight: 500; /* Medium */
						letter-spacing: 0.015em;
						text-align: center;
						vertical-align: middle;
						border-bottom: calc(1.5vw / 7.8) dashed #000;
						background-color: #d9efe3;
					}
					.title {
						width: calc(630vw * 1.25 / 7.8);
						padding: 0 calc(20vw * 1.25 / 7.8);
						font-size: calc(25vw * 1.25 / 7.8);
						line-height: calc(72 / 25);
						font-weight: 700; /* Bold */
						letter-spacing: 0.015em;
						vertical-align: middle;
						border-bottom: calc(1.5vw / 7.8) dashed #000;
						background-color: #fff;

						.light {
							font-weight: 400; /* Regular */
						}
					}
					.instructorArea {
						width: auto;
						padding-left: calc(20vw * 1.25 / 7.8);
						vertical-align: middle;
						border-left: calc(1.5vw / 7.8) solid #000;
						border-bottom: calc(1.5vw / 7.8) dashed #000;
						background-color: #fff;

						.flex-center {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							height: 100%;

							.tag {
								padding: calc(12vw * 1.25 / 7.8) calc(4.5vw * 1.25 / 7.8) calc(12vw * 1.25 / 7.8) calc(1.5vw * 1.25 / 7.8);
								font-size: calc(14vw * 1.25 / 7.8);
								line-height: calc(14 / 14);
								font-weight: 600; /* SemiBold */
								letter-spacing: 0.015em;
								writing-mode: vertical-rl;
								white-space: pre; /* iOS用 */
								color: #fff;
								background-color: #aa8f39;
								border-radius: calc(10vw * 1.25 / 7.8);
							}

							.instructor {
								margin-left: calc(12.5vw * 1.25 / 7.8);
								width: auto;
								font-size: calc(16vw * 1.25 / 7.8);
								line-height: calc(19.5 / 16);
								font-weight: 500; /* Medium */
								letter-spacing: 0.015em;
								
								.small {
									font-size: calc(13vw * 1.25 / 7.8);
								}
							}
						}
					}

				.Sec-schedule-note {
					margin-top: calc(18vw / 7.8);
					font-size: calc(18vw / 7.8);
					line-height: calc(27 / 18);
					font-weight: 400; /* Regular */
					letter-spacing: 0.015em;
					text-align: right;
				}
			}

	/* 備考 note */
	.mainContents__Sec-note {
		position: relative;
	}
		.mainContents__Sec-note .wrapper {
			margin-top: calc(78vw / 7.8);
			display: flex;
			flex-direction: column;
			align-items: center;
		}
			.Sec-note {
				width: calc(680vw / 7.8);
				padding: calc(9vw / 7.8) calc(40vw / 7.8) calc(36vw / 7.8);
				background: rgba(255, 255, 255, 0.85);
				border-radius: calc(12vw / 7.8);
			}
				.Sec-note-inner {
				}
					.Sec-note-head {
						margin-top: calc(30vw / 7.8);
						font-size: calc(22vw / 7.8);
						line-height: calc(24 / 22);
						font-weight: 600; /* SemiBold */
						letter-spacing: 0.015em;
					}
					.Sec-note-listGroup {
						margin-top: calc(12vw / 7.8);
						font-size: calc(18vw / 7.8);
						line-height: calc(27 / 18);
						letter-spacing: 0.015em;
					}
						.Sec-note-list {
							margin-top: calc(4.5vw / 7.8);
							padding-left: 1.015em;
							text-align: justify;
							text-indent: -1.015em;
						}
							.Sec-note-list .number {
								padding: 0 0.015em 0 0.065em;
							}
							.Sec-note-list i {
								margin: 0 calc(7.5vw / 7.8) 0 calc(25vw / 7.8);
							}
							.Sec-note-list a {
								color: #2d438b;
								text-decoration: underline;
							}
					.Sec-note-textGroup {
						margin-top: calc(12vw / 7.8);
						font-size: calc(18vw / 7.8);
						line-height: calc(27 / 18);
						letter-spacing: 0.015em;
					}
						.Sec-note-text a {
							color: #2d438b;
							text-decoration: underline;
						}
				.Sec-note-list .bold {
					font-weight: 500; /* Medium */
				}

/* お申し込み apply */
.mainContents__Sec-apply {
	position: relative;
}
	.mainContents__Sec-apply .wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		.Sec-apply-btn a {
			margin: calc(90vw / 7.8) 0 calc(96vw / 7.8);
			padding: 0 calc(100vw / 7.8);
			font-size: calc(37vw / 7.8);
			line-height: calc(126 / 37);
			font-weight: 700; /* Bold */
			letter-spacing: 0.065em;
			text-align: center;
			color: #fff;
			background: linear-gradient(180deg, rgba(255,167,61,1) 0%, rgba(255,134,12,1) 100%);
			border-radius: calc(12vw / 7.8);
			box-shadow: 0 calc(9vw / 7.8) calc(24vw / 7.8) rgba(0, 0, 0, 0.35);
			display: block;
		}
			.Sec-apply-btn a:hover {
				margin: calc(99vw / 7.8) 0 calc(87vw / 7.8);
				box-shadow: 0 calc(9vw / 7.8) calc(15vw / 7.8) rgba(0, 0, 0, 0.35);
				opacity: 0.85;
			}

/* -------------------- フッタ -------------------- */
footer {
	padding: calc(21vw / 7.8) 0 calc(24vw / 7.8);
	border-top: calc(4.5vw / 7.8) solid #fff;
	background: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
}
	.footer__logo {
		width: calc(580vw / 7.8);
	}
	.footer__credit {
		margin-top: calc(9vw / 7.8);
		font-size: calc(19vw / 7.8);
		line-height: calc(21 / 19);
		font-weight: 400; /* Regular */
		letter-spacing: 0.015em;
		color: #fff;
	}