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

/* ------------------------------ PC ------------------------------ */
body {
}

/* -------------------- ローディングエリア -------------------- */
#contents {
	background: url(body-bg.webp);
	background-repeat: no-repeat;
	background-position: center bottom -108px;
	background-size: 2560px;
	background-attachment: fixed;
}

/* -------------------- ヘッダ -------------------- */
header {
	position: relative;
	margin: 0 auto;
	width: 1280px;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
	.header__catchCopy {
		position: relative;
		width: 760px;
		padding: 24px 30px 24px 60px;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
		background-color: #009645;
	}
	.header__sponsorship {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-600px);
		margin-top: 36px;
		width: 460px;
		font-size: calc(22rem / 16);
		line-height: calc(24 / 22);
		font-weight: 400; /* Regular */
	}

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

/* メインタイトル */
.mainTitle {
}
	.mainTitle-outer {
	}
		.mainTitle__title {
			padding-top: 48px;
			display: flex;
			flex-direction: column;
			align-items: center;
		}
			.mainTitle__title-label {
				width: 220px;
			}
			.mainTitle__title-catchCopy {
				margin-top: 21px;
				width: 1080px;
			}
			.mainTitle__title-mainTitle {
				margin-top: 21px;
				width: 1080px;
			}
			.mainTitle__title-information {
				margin-top: 24px;
				width: 1080px;
				padding: 24px 35px 0 30px;
				border: 3px #aa8f39 solid;
				background-color: #fff;
				border-radius: 12px;
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				z-index: 1;
			}
				.mainTitle__title-information-box {
					margin: 6px 0 21px;
					width: 740px;
				}
					.mainTitle__title-information-schedule {
						width: 100%;
						font-size: calc(49rem / 16);
						line-height: calc(51 / 49);
						font-weight: 700; /* Bold */
						text-align: center;
					}
						.mainTitle__title-information-schedule .small {
							font-size: calc(34rem / 16);
						}
						.mainTitle__title-information-conditions {
							margin-top: 9px;
							width: 740px;
							font-size: calc(19rem / 16);
							line-height: calc(27 / 19);
							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) {
									margin-left: 0;
								}
				.mainTitle__title-information-btn-apply a {
					margin-top: 0;
					width: 240px;
					padding: 21px 0;
					font-size: calc(28rem / 16);
					line-height: calc(36 / 28);
					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: 9px;
					box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
					display: block;
					transition: all 0.15s ease;
				}
					.mainTitle__title-information-btn-apply a:hover {
						margin-top: 3px;
						box-shadow: 0 6px 15px rgba(0, 0, 0, 0.35);
						opacity: 0.85;
					}

/* メインコンテンツ */
.mainContents {
	margin: 0 auto;
	width: 1280px;
	padding: 0 65px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 55px;
}

	/* セミナー概要 overview */
	.mainContents__Sec-overview {
		position: relative;
		width: 1080px;
	}
		.mainContents__Sec-overview .wrapper {
				margin-top: 54px;
		}
			.Sec-overview-head {
				font-family: 'NotoSerifJP_subset', serif;
				font-size: calc(28rem / 16);
				line-height: calc(30 / 28);
				font-weight: 700; /* Bold */
				letter-spacing: 0.015em;
				text-shadow: 0 0 24px rgba(255, 255, 255, 1);
				}
			.Sec-overview-lead {
				margin-top: 18px;
				font-size: calc(22rem / 16);
				line-height: calc(36 / 22);
				font-weight: 600; /* SemiBold */
				letter-spacing: 0.040em;
				text-shadow: 0 0 18px rgba(255, 255, 255, 1);
			}

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

	/* セミナー情報 information */
	.mainContents__Sec-information {
		position: relative;
		width: 350px;
	}
		.mainContents__Sec-information .wrapper {
			margin-top: 54px;
		}
			.Sec-information-head {
				font-family: 'NotoSerifJP_subset', serif;
				font-size: calc(28rem / 16);
				line-height: calc(30 / 28);
				font-weight: 700; /* Bold */
				letter-spacing: 0.015em;
				text-shadow: 0 0 24px rgba(255, 255, 255, 1);
				}
			.Sec-information {
				margin-top: 21px;
				padding: 24px 25px 21px;
				background: rgba(183, 205, 29, 0.20);
				border-radius: 12px;
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				align-items: center;
				gap: 12px;
			}
				.Sec-information-title {
					width: 70px;
					font-size: calc(16rem / 16);
					line-height: calc(27 / 16);
					letter-spacing: 0.015em;
				}
				.Sec-information-data {
					width: 215px;
					font-size: calc(19rem / 16);
					line-height: calc(24 / 19);
					font-weight: 600; /* SemiBold */
					letter-spacing: 0.015em;
				}
					.Sec-information-data.large {
						font-size: calc(25rem / 16);
						line-height: calc(27 / 25);
					}
					.Sec-information-data.large .small {
						font-size: calc(16rem / 16);
					}
						.Sec-information-data.large .small.regular {
							font-weight: 400; /* Regular */
						}

	/* スケジュール schedule */
	.mainContents__Sec-schedule {
		position: relative;
		width: 1150px;
	}
		.mainContents__Sec-schedule .wrapper {
			margin-top: 72px;
		}
			.Sec-schedule-head {
				font-family: 'NotoSerifJP_subset', serif;
				font-size: calc(28rem / 16);
				line-height: calc(30 / 28);
				font-weight: 700; /* Bold */
				letter-spacing: 0.015em;
				text-shadow: 0 0 24px rgba(255, 255, 255, 1);
			}
			.Sec-schedule {
				margin-top: 18px;
				padding: calc(30px - 3px) calc(35px - 3px) calc(27px - 3px);
				border: 3px #aa8f39 solid;
				border-radius: 12px;
				background: #fff;

				.Sec-schedule-copy {
					width: 1060px;
					font-size: calc(31rem / 16);
					line-height: calc(33 / 31);
					font-weight: 700; /* Bold */
					letter-spacing: 0.015em;
					color: #009645;
				}
				/* 表組（テーブル） */
				.Sec-schedule-outer {
					margin-top: 18px;
					width: 1080px;
					border-collapse: collapse; /* セルの線を重ねる */
				}
					.head {
						width: 155px;
						vertical-align: middle;
						background-color: #b7cd1d;
						border-top: 1px solid #fff;

						.flex-center {
							display: flex;
							flex-direction: column;
							justify-content: center;
							align-items: center;
							gap: 6px 0;
							height: 100%;

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

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

								.year {
									font-size: calc(19rem / 16);
								}
							}
							.button a {
								margin: 0 0 3px;
								padding: 4.5px 10px 4.5px 12.5px;
								font-size: calc(15rem / 16);
								line-height: calc(18 / 15);
								font-weight: 500; /* Medium */
								letter-spacing: 0.015em;
								text-align: center;
								color: #fff;
								text-shadow: 0 1px 0 #cc9f52;
								box-shadow: 0 3px 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: 6px;
								display: inline-block;
								transition: all 0.15s ease;
							}
							.button a:hover {
								margin: 3px 0 0;
								opacity: 1;
							}
						}
					}
					.white {
						width: 5px;
						background-color: #fff;
					}
					.theme {
						padding-left: 15px;
						font-size: calc(18rem / 16);
						line-height: calc(36 / 18);
						font-weight: 600; /* SemiBold */
						letter-spacing: 0.015em;
						color: #fff;
						border-top: 1px solid #fff;
						background-color: #009645;

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

						.light {
							font-weight: 400; /* Regular */
						}
					}
					.instructorArea {
						width: auto;
						padding-left: 20px;
						vertical-align: middle;
						border-left: 1px solid #000;
						border-bottom: 1px dashed #000;
						background-color: #fff;

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

							.tag {
								padding: 12px 4.5px 12px 1.5px;
								font-size: calc(14rem / 16);
								line-height: calc(14 / 14);
								font-weight: 600; /* SemiBold */
								letter-spacing: 0.015em;
								writing-mode: vertical-rl;
								color: #fff;
								background-color: #aa8f39;
								border-radius: 10px;
							}

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

				.Sec-schedule-note {
					margin-top: 18px;
					font-size: calc(13rem / 16);
					line-height: calc(15 / 13);
					font-weight: 400; /* Regular */
					letter-spacing: 0.015em;
					text-align: right;
				}
			}

	/* 備考 note */
	.mainContents__Sec-note {
		position: relative;
	}
		.mainContents__Sec-note .wrapper {
			margin-top: 72px;
		}
			.Sec-note {
				width: 1080px;
				padding: 27px 30px 24px;
				background: rgba(255, 255, 255, 0.85);
				border-radius: 9px;
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
			}
				.Sec-note-inner {
					width: 485px
				}
					.Sec-note-head {
						margin-top: 15px;
						font-size: calc(16rem / 16);
						line-height: calc(18 / 16);
						font-weight: 600; /* SemiBold */
						letter-spacing: 0.015em;
					}
						.Sec-note-head:first-child {
							margin-top: 0;
						}
					.Sec-note-listGroup {
						margin-top: 9px;
						font-size: calc(14rem / 16);
						line-height: calc(21 / 14);
						letter-spacing: 0.015em;
					}
						.Sec-note-list {
							margin-top: 3px;
							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 5px 0 20px;
						}
						.Sec-note-list a {
							color: #2d438b;
							text-decoration: underline;
						}
					.Sec-note-textGroup {
						margin-top: 9px;
						font-size: calc(14rem / 16);
						line-height: calc(18 / 14);
						letter-spacing: 0.015em;
					}
						.Sec-note-text a {
							color: #2d438b;
							text-decoration: underline;
						}
				.Sec-note .bold {
					font-weight: 500; /* Medium */
				}

/* お申し込み apply */
.mainContents__Sec-apply {
	position: relative;
	width: 1080px;
}
	.mainContents__Sec-apply .wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		.Sec-apply-btn a {
			margin: 90px 0 96px;
			padding: 0 70px;
			font-size: calc(28rem / 16);
			line-height: calc(96 / 28);
			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: 9px;
			box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
			display: block;
		}
			.Sec-apply-btn a:hover {
				margin: 96px 0 90px;
				box-shadow: 0 6px 12px rgba(0, 0, 0, 0.35);
				opacity: 0.85;
			}

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