@charset "utf-8";

/* ----------------------------------------------------------------------------------------------------
Set
@media screen and (max-width: 1920px) {}
@media screen and (max-width: 1536px) {}
@media screen and (max-width: 1366px) {}
@media screen and (max-width: 1280px) {}
@media print, screen and (max-width: 1024px) {}
@media screen and (max-width: 560px) {}
---------------------------------------------------------------------------------------------------- */
:root {
	--fontFamily-ja: "Inter", "Noto Sans JP", sans-serif;
	--color-text: rgb(33 33 33);
	--color-bg: rgb(255 255 255);
	--color-white: rgb(255 255 255);
	--color-black: rgb(33 33 33);
	--color-black-pure: rgb(0 0 0);
	--color-gray: rgb(158 158 158);
	--color-gray-bg: rgb(238 238 238);
	--color-bluegray: rgb(236 239 241);
	--color-bluegray-bg: rgb(236 239 241);

	--color-red: #e5014f;
	--color-yellow: #efe800;
	--color-purple: #9da1cf;

	--color-blue: #2461ad;
	--color-blue-bg: color-mix(in srgb, var(--color-blue) 16%, white);

	--color-green: #61c2d6;
	--color-green-light: #a7d9da;
	--color-green-dark: #30a8c3;
	--color-green-bg: color-mix(in srgb, var(--color-green) 24%, white);

	--color-skyblue: #1e8bcc;
	--color-skyblue-bg: #d2ebf9;

	--easing-fast-2: all 0.04s ease-out;
	--easing-fast-1: all 0.08s ease-out;
	--easing-normal: all 0.12s ease-out;
	--easing-slow-1: all 0.16s ease-out;
	--easing-slow-2: all 0.20s ease-out;
	--easing-slow-3: all 0.24s ease-out;

	--fontSize-small-5: 0.55em;
	--fontSize-small-4: 0.62em;
	--fontSize-small-3: 0.70em;
	--fontSize-small-2: 0.79em;
	--fontSize-small-1: 0.89em;
	--fontSize-normal: 1em;
	--fontSize-large-1: 1.13em;
	--fontSize-large-2: 1.27em;
	--fontSize-large-3: 1.42em;
	--fontSize-large-4: 1.60em;
	--fontSize-large-5: 1.80em;
	--fontSize-large-6: 2.03em;
	--fontSize-large-7: 2.28em;
	--fontSize-large-8: 2.57em;
	--fontSize-large-9: 2.89em;

	--fontWeight-light-3: 300;
	--fontWeight-light-2: 400;
	--fontWeight-light-1: 500;
	--fontWeight-normal: 600;
	--fontWeight-bold-1: 700;
	--fontWeight-bold-2: 800;
	--fontWeight-bold-3: 900;

	--lineHeight-narrow-3: 1.2;
	--lineHeight-narrow-2: 1.4;
	--lineHeight-narrow-1: 1.6;
	--lineHeight-normal: 1.8;
	--lineHeight-wide-1: 2.0;
	--lineHeight-wide-2: 2.2;
	--lineHeight-wide-3: 2.4;

	--borderRadius-small-2: 0.2rem;
	--borderRadius-small-1: 0.4rem;
	--borderRadius-normal: 0.8rem;
	--borderRadius-large-1: 1.2rem;
	--borderRadius-large-2: 1.6rem;
	--borderWidth-light-1: 1px;
	--borderWidth-normal: 2px;
	--borderWidth-heavy-1: 3px;
	--borderWidth-heavy-2: 4px;
	--borderWidth-heavy-3: 5px;
	--paddingSection-narrow-3: 3.2rem;
	--paddingSection-narrow-2: 4.8rem;
	--paddingSection-narrow-1: 6.4rem;
	--paddingSection-normal: 8rem;
	--paddingSection-wide-1: 9.6rem;
	--paddingSection-wide-2: 11.2rem;
	--paddingSection-wide-3: 12.8rem;
}

@media screen and (max-width: 1280px) {}

@media print,
screen and (max-width: 1024px) {}

@media screen and (max-width: 560px) {
	:root {
		--paddingSection-narrow-3: 2.4rem;
		--paddingSection-narrow-2: 3.2rem;
		--paddingSection-narrow-1: 4.8rem;
		--paddingSection-normal: 6.4rem;
		--paddingSection-wide-1: 8rem;
		--paddingSection-wide-2: 9.6rem;
		--paddingSection-wide-3: 11.2rem;
	}
}

/* ----------------------------------------------------------------------------------------------------
 * Common
---------------------------------------------------------------------------------------------------- */
html {
	font-size: min(113%, 1vw);
}

body {
	color: var(--color-text);
	font-family: var(--fontFamily-ja);
	font-weight: var(--fontWeight-normal);
	line-height: var(--lineHeight-normal);
	overflow-wrap: anywhere;
	text-autospace: normal;
	text-spacing-trim: trim-start;
	line-break: strict;
	/* letter-spacing: 0.04em; */
	background-color: var(--color-bg);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	font-style: normal;
}

body.loadAct * {
	transition: none !important;
}

.noselect,
.noselect * {
	-webkit-user-select: none;
	user-select: none;
}

a,
button {
	outline: none;
	transition: var(--easing-normal);
}

a {
	color: var(--color-text);
}

a:not(.not):hover {
	color: var(--color-red);
}

/*
a:not(.not) .photo,
a:not(.not) .image,
a:not(.not) img {
	transition: var(--easing-normal);
}
a:not(.not):hover .photo,
a:not(.not):hover .image,
a:not(.not):hover img {
	filter: brightness(80%);
}
*/
ol,
ul {
	list-style: none;
}

img,
svg {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

video,
iframe {
	max-width: 100%;
	vertical-align: middle;
}

header,
footer,
div,
ul,
li,
h1,
h2,
h3,
h4,
nav,
button,
blockquote,
dt,
dd,
figure,
section,
p,
a,
span {
	position: relative;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.clear::after {
	content: '';
	display: block;
	clear: both;
}

.none {
	display: none;
}

.none-show {
	clip-path: polygon(0 0);
}

p {
	margin-bottom: 1.6em;
}

p:not(.not):last-child,
ul:not(.not):last-child,
ol:not(.not):last-child,
li:not(.not):last-child,
figure:not(.not):last-child,
table:not(.not):last-child,
blockquote:not(.not):last-child {
	margin-bottom: 0 !important;
}

mark {
	background-color: var(--color-yellow);
	color: inherit;
}

label {
	display: inline-block;
}

sup {
	font-weight: var(--fontWeight-normal);
	font-size: var(--fontSize-small-3);
	padding: 0 0.2em;
	vertical-align: middle;
}

strong,
.text-bold {
	font-weight: var(--fontWeight-bold-2);
}

.text-normal {
	font-weight: var(--fontWeight-normal);
}

.text-underline {
	text-decoration: underline;
}

.text-small-1 {
	font-size: var(--fontSize-small-1);
}

.text-small-2 {
	font-size: var(--fontSize-small-2);
}

.text-small-3 {
	font-size: var(--fontSize-small-3);
}

.text-small-4 {
	font-size: var(--fontSize-small-4);
}

.text-small-5 {
	font-size: var(--fontSize-small-5);
}

.text-large-1 {
	font-size: var(--fontSize-large-1);
}

.text-large-2 {
	font-size: var(--fontSize-large-2);
}

.text-large-3 {
	font-size: var(--fontSize-large-3);
}

.text-large-4 {
	font-size: var(--fontSize-large-4);
}

.text-large-5 {
	font-size: var(--fontSize-large-5);
}

.text-large-6 {
	font-size: var(--fontSize-large-6);
}

.text-large-7 {
	font-size: var(--fontSize-large-7);
}

.text-large-8 {
	font-size: var(--fontSize-large-8);
}

.text-gray {
	color: var(--color-gray);
}

.text-red {
	color: var(--color-red);
}

.text-white {
	color: var(--color-white);
}

.text-vertical {
	writing-mode: vertical-rl;
}

.in-center {
	text-align: center !important;
}

.in-right {
	text-align: right !important;
}

.in-left {
	text-align: left !important;
}

.pos-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.nowrap {
	white-space: nowrap;
}

.block {
	display: block;
}

.inline-block {
	display: inline-block;
}

.inline {
	display: inline;
}

.block-note {
	padding-left: 1em;
	text-indent: -1em;
}

.block-note::before {
	content: '※';
}

.bg-white {
	background-color: var(--color-white);
}

.bg-gray {
	background-color: var(--color-gray-bg);
}

.margin-bt0 {
	margin-bottom: 0 !important;
}

.margin-bt02 {
	margin-bottom: 0.2em !important;
}

.margin-bt04 {
	margin-bottom: 0.4em !important;
}

.margin-bt06 {
	margin-bottom: 0.6em !important;
}

.margin-bt08 {
	margin-bottom: 0.8em !important;
}

.margin-bt10 {
	margin-bottom: 1.0em !important;
}

.margin-bt12 {
	margin-bottom: 1.2em !important;
}

.margin-bt14 {
	margin-bottom: 1.4em !important;
}

.margin-bt16 {
	margin-bottom: 1.6em !important;
}

.margin-bt18 {
	margin-bottom: 1.8em !important;
}

.margin-bt20 {
	margin-bottom: 2.0em !important;
}

.margin-bt22 {
	margin-bottom: 2.2em !important;
}

.margin-bt24 {
	margin-bottom: 2.4em !important;
}

.list-disc,
.list-decimal {
	display: grid;
	gap: 0.2em;
}

.list-disc {
	list-style: disc;
	margin-left: 1.4em;
	margin-bottom: 1.6em;
}

.list-decimal {
	list-style: decimal;
	margin-left: 1.6em;
	margin-bottom: 1.6em;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
	border: var(--borderWidth-light-1) solid color-mix(in srgb, var(--color-black-pure) 100%, transparent) !important;
	background-color: var(--color-white) !important;
	color: var(--color-black) !important;
	line-height: var(--lineHeight-narrow-1) !important;
	border-radius: var(--borderRadius-small-2) !important;
	padding: 0.6em 0.8em !important;
	max-width: 100% !important;
	transition: var(--easing-normal) !important;
	display: inline-block !important;
}

textarea {
	width: 100% !important;
	height: 12.0em !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus {
	border-color: var(--color-black) !important;
	box-shadow: inset 0 0 4px color-mix(in srgb, var(--color-black-pure) 8%, transparent) !important;
	background-color: var(--color-gray-bg) !important;
	outline: none !important;
}

.pd {
	width: 100%;
	margin-inline: auto;
	padding-inline: min(8rem, 4.8vw);
	max-width: 80rem;
	text-align: left;
}

.pd.narrow {
	max-width: 60rem;
}

.pd.wide {
	max-width: 104rem;
}

.pd.full {
	max-width: none;
}

.show-tb,
.show-sp {
	display: none !important;
}

.hide-tb,
.hide-sp {}

/* #wrap {
	width: 100%;
	max-width: 100vw;
	overflow: clip;
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	min-height: 100vh;
	min-height: 100lvh;
	&>* {
		min-width: 0;
	}
} */
@media screen and (max-width: 1536px) {
	html {
		font-size: min(100%, 4vw);
	}
}

@media print,
screen and (max-width: 1024px) {
	.show-tb {
		display: inline !important;
	}

	.show-tb.block {
		display: block !important;
	}

	.show-tb.inline-block {
		display: inline-block !important;
	}

	.hide-tb {
		display: none;
	}
}

@media screen and (max-width: 560px) {
	.show-sp {
		display: inline !important;
	}

	.show-sp.block {
		display: block !important;
	}

	.show-sp.inline-block {
		display: inline-block !important;
	}

	.hide-sp {
		display: none;
	}
}

/* ----------------------------------------------------------------------------------------------------
Loading
---------------------------------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------
Wrap
---------------------------------------------------------------------------------------------------- */
:root {
	--wrap-pd: min(2.0em, 4.0vw);
}

#wrap {
	min-height: 100vh;
	min-height: 100lvh;
	display: grid;
	grid-template-columns: 1fr repeat(2, auto) 1fr;
	grid-template-rows: var(--wrap-pd) repeat(3, 1fr) var(--wrap-pd);

	&>#content {
		grid-column: 2 / 4;
		grid-row: 2 / 5;
		z-index: 1;
		background-color: var(--color-white);
		width: calc(100vw - calc(var(--wrap-pd) * 2));
		max-width: 80em;
		overflow: clip;
		padding-inline: min(4.0vw, 2.4rem);
		display: grid;
		grid-template-rows: auto 1fr auto;
	}

	&>.noise {
		position: absolute;
		inset: 0;
		background-image: url(../images/site-bg-noise.png);
		background-size: 20em auto;
		background-repeat: repeat;
		mix-blend-mode: multiply;
		opacity: 0.24;
	}

	&>.bg01 {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	&>.bg02 {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	&>.bg03 {
		grid-column: 3 / 4;
		grid-row: 1 / 2;


	}

	&>.bg04 {
		grid-column: 4 / 5;
		grid-row: 1 / 2;

	}

	&>.bg05 {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	&>.bg06 {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}

	&>.bg07 {
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}


	&>.bg08 {
		grid-column: 4 / 5;
		grid-row: 3 / 4;

	}

	&>.bg09 {
		grid-column: 1 / 2;
		grid-row: 4 / 5;

	}

	&>.bg10 {
		grid-column: 4 / 5;
		grid-row: 4 / 5;

	}

	&>.bg11 {
		grid-column: 1 / 3;
		grid-row: 5 / 6;
	}

	&>.bg12 {
		grid-column: 3 / 4;
		grid-row: 5 / 6;

	}

	&>.bg13 {
		grid-column: 4 / 5;
		grid-row: 5 / 6;

	}

	&>.color01 {
		background-color: var(--color-purple);

		&::before {
			content: '';
			inset: 0;
			position: absolute;
			display: block;
			background-color: var(--color-green);
			mix-blend-mode: multiply;
		}

	}

	&>.color02 {
		background-color: var(--color-green);

	}

	&>.color03 {
		background-color: var(--color-purple);

		&::before {
			content: '';
			inset: 0;
			position: absolute;
			display: block;
			background-color: var(--color-black-pure);
			mix-blend-mode: overlay;
			opacity: 0.48;
		}


	}

	&>.color04 {
		background-color: var(--color-purple);

		&::before,
		&::after {
			content: '';
			inset: 0;
			position: absolute;
			display: block;
			background-color: var(--color-green);
			mix-blend-mode: multiply;
		}


	}

	&>.color05 {
		background-color: var(--color-purple);

	}


}


/* ----------------------------------------------------------------------------------------------------
Header
---------------------------------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------------------------------
Footer
---------------------------------------------------------------------------------------------------- */
footer {
	padding-top: 3.2em;
	padding-bottom: 0.8em;
}

.list-footer {
	text-align: center;
	font-size: var(--fontSize-small-2);
	line-height: var(--lineHeight-narrow-1);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.2em 1.6em;
}

/* ----------------------------------------------------------------------------------------------------
Common
---------------------------------------------------------------------------------------------------- */
.block-link {
	display: flex;
	justify-content: center;
	margin-top: 1.6em;

	& a {
		border: var(--borderWidth-heavy-1) solid var(--color-red);
		background-color: var(--color-white);
		border-radius: 100vh;
		text-decoration: none;
		font-weight: var(--fontWeight-bold-1);
		padding: 0.4em 2.0em 0.3em;
		font-size: var(--fontSize-large-1);
	}
}

/* ----------------------------------------------------------------------------------------------------
Home
---------------------------------------------------------------------------------------------------- */

.block-home-main {
	display: grid;
	padding-top: 2.4em;
	padding-bottom: 2.8em;
	grid-template-columns: 1fr auto;
	gap: 3.2em;

	& .title {

		&::before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			height: 100%;
			left: -16%;
			right: -16%;
			background-image: url(../images/site-logo.svg);
			opacity: 0.24;
			background-size: contain;
		}
	}

	& .info {
		img {
			width: 28em;
			max-width: 34vw;

		}
	}
}

@media screen and (max-width: 1280px) {}

@media print,
screen and (max-width: 1024px) {
	.block-home-main {
		max-width: 36em;
		margin-inline: auto;
		grid-template-columns: 1fr;
		gap: 1.6em;

		& .info {
			img {
				width: 24em;
				max-width: 72%;

			}
		}
	}
}

@media screen and (max-width: 560px) {}




.block-home-about {
	padding-top: 2.4em;
	padding-bottom: 2.4em;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2.4em;

	&::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		height: 100%;
		left: 50%;
		background-color: var(--color-skyblue-bg);
		width: 100vw;
		translate: -50% 0;
	}

	&::after {
		content: '';
		display: block;
		position: absolute;
		bottom: calc(100% - 1px);
		height: 0.4em;
		left: 50%;
		width: 100vw;
		translate: -50% 0;
		background-image: url(../images/bg-wave.svg);
		background-size: contain;
		background-repeat: repeat;
	}

	& .text {
		& .title {
			padding: 0.2em 0.8em 0.1em;
			font-weight: var(--fontWeight-bold-1);
			background-color: var(--color-skyblue);
			color: var(--color-white);
			text-align: center;
			line-height: var(--lineHeight-narrow-1);

			& .name {
				font-size: min(var(--fontSize-large-4), 2.6vw);
				letter-spacing: 0.08em;
			}
		}

		& .lead {
			font-size: var(--fontSize-large-1);
			margin-top: 0.8em;
		}
	}

	& .link {
		text-align: center;

		& .copy {
			font-size: min(var(--fontSize-large-4), 2.2vw);
			font-weight: var(--fontWeight-bold-2);
			color: var(--color-blue);
			line-height: var(--lineHeight-narrow-1);
			margin-bottom: 0.6em;
			letter-spacing: 0.08em;

			& .marker {
				background: linear-gradient(transparent 60%, var(--color-yellow) 60%);

			}
		}

		& .comment {
			background-color: var(--color-yellow);
			line-height: var(--lineHeight-narrow-1);
			border-radius: var(--borderRadius-normal);
			padding: 0.8em 1.2em;
			font-weight: var(--fontWeight-bold-1);
			font-size: var(--fontSize-small-1);
			display: inline-block;

			&::before {
				content: '';
				display: block;
				position: absolute;
				bottom: 100%;
				background-color: var(--color-yellow);
				aspect-ratio: 2 / 3;
				width: 0.8em;
				clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
				rotate: 16deg;
				right: 50%;
				translate: 0 20%;

			}
		}

	}

}

@media screen and (max-width: 1280px) {}

@media print,
screen and (max-width: 1024px) {
	.block-home-about {
		grid-template-columns: 1fr;
		gap: 1.2em;

		& .text {
			& .title {
				font-size: var(--fontSize-small-2);

				& .name {
					font-size: min(var(--fontSize-large-6), 4.8vw);
				}
			}

			& .lead {
				font-size: var(--fontSize-normal);
				margin-top: 0.8em;
			}
		}

		& .link {

			& .copy {
				font-size: min(var(--fontSize-large-4), 4.8vw);
			}

			& .comment {
				font-size: var(--fontSize-small-2);


			}

		}

	}
}

@media screen and (max-width: 560px) {}



.block-home-info {
	display: grid;
	grid-template-columns: 26em 1fr;
	gap: 1.2em;
	padding: 2.4em 0 0;

	&>.item {
		border-radius: var(--borderRadius-large-1);
		padding: 1.2em min(1.6em, 4.8vw) 1.6em;

		&.seminar {
			background-color: var(--color-blue-bg);
		}

		&.workshop {
			background-color: var(--color-green-bg);
		}

		&>.title {
			text-align: center;
			padding: 0.8em 0.6em 0.4em;
			margin-bottom: 0.8em;

			&::before {
				content: '';
				position: absolute;
				top: 0;
				height: 100%;
				left: -0.8em;
				right: -0.8em;
				clip-path: polygon(0.8em 0%, calc(100% - 0.8em) 0%, 100% 50%, calc(100% - 0.8em) 100%, 0.8em 100%, 0% 50%);
			}

			& .sub {
				display: inline-block;
				color: var(--color-red);
				font-weight: var(--fontWeight-bold-2);
				line-height: var(--lineHeight-narrow-1);
				margin-bottom: 0.5em;
				padding: 0.3em 0.8em 0.2em;
				font-size: min(var(--fontSize-small-1), 3.2vw);

				&>.inner {
					background: linear-gradient(transparent 40%, var(--color-yellow) 40%);

				}
			}

			& .main {
				display: block;
				line-height: var(--lineHeight-narrow-1);
				font-size: min(var(--fontSize-large-2), 4.8vw);
				font-weight: var(--fontWeight-bold-2);
			}
		}


		&.seminar .title {
			& .sub {
				background-color: var(--color-blue-bg);
			}
		}

		&.workshop .title {
			& .sub {
				background-color: var(--color-green-bg);
			}
		}

		&.seminar .title {
			color: var(--color-white);

			&::before {
				background-color: var(--color-blue);
			}

		}

		&.workshop .title {
			&::before {
				background-color: var(--color-green);
			}

		}

		& .block-note {
			font-size: var(--fontSize-small-1);
			line-height: var(--lineHeight-narrow-1);
			margin-top: -1.2em;
		}
	}

}

.list-home-schedule {
	background-color: var(--color-white);
	padding-inline: 1.2em;
	margin-bottom: 1.2em;

	& li {
		display: grid;
		grid-template-columns: 1fr auto;
		padding-block: 1.2em;

		& .day {
			grid-column: 2 span;
			font-weight: var(--fontWeight-bold-1);
			line-height: 1.0;
			padding-bottom: 0.8em;
			font-size: var(--fontSize-large-1);

			&>.inner {
				background: linear-gradient(transparent 40%, var(--color-yellow) 40%);

			}
		}

		& .capacity {
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 100vh;
			aspect-ratio: 1;
			width: 6.0em;
			text-align: center;
			font-size: var(--fontSize-small-2);
			font-weight: var(--fontWeight-bold-1);
			line-height: 1.1;

			& .number {
				font-size: var(--fontSize-large-6);
				font-weight: var(--fontWeight-bold-2);
				display: inline-block;
				padding-right: 0.08em;
			}
		}

	}

	&.seminar li {
		& .capacity {
			background-color: var(--color-blue);
			color: var(--color-white);
		}
	}

	&.workshop li {
		& .capacity {
			background-color: var(--color-green);
		}
	}

	&.workshop li+li {
		border-top: var(--borderWidth-normal) solid var(--color-green);
	}

}

.list-home-schedule-more {
	display: grid;
	grid-template-columns: auto 1fr;
	line-height: var(--lineHeight-narrow-1);
	gap: 0.4em 0.8em;
	align-items: start;

	& dt {
		font-size: var(--fontSize-small-2);
		letter-spacing: 0.08em;
		padding: 0.2em 1.2em 0.1em;
		font-weight: var(--fontWeight-bold-1);
		text-align: center;
		clip-path: polygon(0.4em 0%, calc(100% - 0.4em) 0%, 100% 50%, calc(100% - 0.4em) 100%, 0.4em 100%, 0% 50%);
	}

	&.seminar dt {
		background-color: var(--color-blue);
		color: var(--color-white);
	}

	&.workshop dt {
		background-color: var(--color-green);
	}

	& dd {
		& .date {
			line-height: 1.0;
			display: inline-block;

			& .number {
				font-size: min(var(--fontSize-large-9), 10.0vw);
				font-weight: var(--fontWeight-light-2);

			}

			& .week {
				display: inline-block;
				font-size: var(--fontSize-small-2);
				vertical-align: text-bottom;
				width: 2.0em;
				line-height: 2.0em;
				text-align: center;
				border-radius: 100vh;
				margin-left: 0.4em;
				margin-right: 0.6em;
				font-weight: var(--fontWeight-bold-1);

			}
		}

		& .time {
			font-weight: var(--fontWeight-bold-1);
			font-size: var(--fontSize-large-1);
			display: inline-block;
		}
	}


	&.seminar dd {
		& .date {

			& .week {
				background-color: var(--color-blue);
				color: var(--color-white);
			}
		}
	}

	&.workshop dd {
		& .date {

			& .week {
				background-color: var(--color-green);
			}
		}
	}


}

.block-home-speaker {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 1.2em;

	& .photo {
		& img {
			width: 8em;
			max-width: 24vw;
		}
	}

	& .text {
		line-height: var(--lineHeight-narrow-1);

		& .name {
			font-size: var(--fontSize-large-2);
			margin-bottom: 0.2em;
			font-weight: var(--fontWeight-bold-1);

			& .title {
				font-size: var(--fontSize-small-4);
				letter-spacing: 0.08em;
				padding: 0.2em 1.2em 0.1em;
				text-align: center;
				clip-path: polygon(0.4em 0%, calc(100% - 0.4em) 0%, 100% 50%, calc(100% - 0.4em) 100%, 0.4em 100%, 0% 50%);
				display: inline-block;
				vertical-align: text-bottom;
				margin-right: 0.8em;
			}
		}

		& .profile {
			font-size: var(--fontSize-small-1);
		}
	}

	&.seminar {
		& .title {
			background-color: var(--color-blue);
			color: var(--color-white);

		}
	}

	&.workshop {
		& .title {
			background-color: var(--color-green);

		}
	}

}

.block-home-workshop-note {
	background-color: var(--color-green);
	line-height: var(--lineHeight-narrow-1);
	border-radius: var(--borderRadius-normal);
	font-size: var(--fontSize-small-1);
	padding: 0.8em 1.2em;
	margin-top: 1.2em;
}

@media screen and (max-width: 1280px) {}

@media print,
screen and (max-width: 1024px) {
	.block-home-info {
		grid-template-columns: 1fr;
	}

	.list-home-schedule {
		& li {


			& .capacity {
				font-size: var(--fontSize-small-3);

			}

		}


	}

}

@media screen and (max-width: 560px) {





	.list-home-schedule {

		& li {
			grid-template-columns: 1fr;

			& .capacity {
				position: absolute;
				right: -0.8em;
			}

		}

		&.seminar li {

			& .capacity {
				top: -0.8em;
			}

		}

		&.workshop li {

			& .capacity {
				top: 1.4em;
			}

		}

	}



	.list-home-schedule-more {
		grid-template-columns: 1fr;

		& dt {
			width: 8em;
		}

		& dd {
			padding-left: 0.8em;
			padding-bottom: 0.4em;
		}

		& dd:last-of-type {
			padding-bottom: 0;
		}

	}

}


.block-home-download {
	padding-top: 3.2em;
	text-align: center;

	& .title {
		font-size: var(--fontSize-large-4);
		font-weight: var(--fontWeight-bold-1);
		margin-bottom: 0.2em;

	}

	& img {
		width: 32em;
	}

	& .block-link {
		font-size: var(--fontSize-small-2);
	}
}

@media screen and (max-width: 1280px) {}

@media print,
screen and (max-width: 1024px) {}

@media screen and (max-width: 560px) {}