
hr {
	box-sizing: border-box;
	width: 92%;
	max-width: 700px;
	margin: 5em auto;
}


/* リスト */
ul,
ol {
	line-height: 1.8em;
	padding-left: 1em;
}
li {
	text-align: justify;
	text-justify: distribute;
}
ol {
	margin-top: 2em;
	background-color: hsl(56, 100%, 95%);
	padding: 1em 1em 1em 2em;
}

.year {
	text-align: center;
	font-size: 1.5em;
	line-height: 1.5em;
	width: 5em;
	background-color: hsl(0, 71%, 55%);
	color: white;
	margin: .5em auto;
}

/* スクロールボタン */
.scroll {
	cursor: pointer;
}
.jump-buttons-container {
	margin-bottom: 0;
	text-align: center;
	margin-bottom: 3em;
}
.jump-buttons-box {
	margin: 0 auto;
	width: 96%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px 30px;
}
.jump-button {
	display: flex;
	line-height: 2em;
	margin-bottom: .5em;
	font-size: 13px;
	text-decoration: none;
	transition: all .3s;
}
.jump-button:hover,
.jump-button:active {
	box-shadow: 0 0 5px #AAA;
}
.button-alphabet {
	display: block;
	width: 1.5em;
	text-align: center;
	color: white;
}
.button-text {
	display: block;
	width: 100%;
	color: #222;
	padding: 0 .5em;
	text-align: left;
}
/* トップへ戻るボタン */
.back-to-top {
	box-sizing: border-box;
	display: block;
	position: fixed;
	right: 24px;
	bottom: 12px;
	width: 40px;
	height: 40px;
	color: white;
	font-size: 24px;
	padding: 8px;
	text-align: center;
	background-color: #111;
	line-height: 1em;
	border-radius: 50%;
	transition: all .3s;
}
.back-to-top:hover,
.back-to-top:active {
	background-color: #555;
}


/* ワークショップコンテナ */
.workshop-container {
	line-height: 1.8em;
	padding: 3em 0;
	margin: 0 auto;
	width: 96%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}
.workshop-container.single {
	display: block;
}
.workshop-container .workshop-box {
	border-radius: 1em;
	padding: 1em;
	border-width: 3px;
	border-style: solid;
}
.workshop-container.single .workshop-box {
	border-radius: 1em;
	padding: 1em;
	border-width: 3px;
	border-style: solid;
	width: 100%;
	max-width: 600px; 
	margin: 0 auto;
}
.workshop-container .alphabet-logo {
	display: flex;
	justify-content: space-between;
}
.workshop-container .alphabet {
	display: inline-block;
	font-size: 1.6em;
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	color: white;
}
.workshop-container .exhibitor-logo {
	display: flex;
	  flex-direction: column;
	  text-align: right;
	  gap: 8px;
}
.workshop-container .exhibitor-logo a:hover {
	transition: all .3s;
}
.workshop-container .exhibitor-logo a:hover {
	opacity: .8;
}
.workshop-container .logo {
	display: inline-block;
	font-size: 1.6em;
	max-width: 180px;
	max-height: 3em;
	object-fit: contain;
}
.workshop-container h4 {
	font-size: 20px;
	margin: 1.5em 0;
	border: none;
}
.workshop-container .subheading {
	color: white;
	display: inline-block;
	line-height: 1.7em;
	font-size: .8em;
	padding: 0 .5em;
	margin-right: .5em;
	border-radius: .3em;
	vertical-align: middle;
}
.workshop-container .image-box {
	width: 100%;
	margin: 1em 0;
}
.workshop-container .image-box img {
	display: block;
	max-width: 100%;
	max-height: 150px;
	margin: 1em auto;
	border-radius: .5em;
	box-shadow: 0 0 10px #AAA;
}
.workshop-container .photo-description {
	color: #777;
	font-size: .8em;
	text-align: center;
}
.workshop-container .photo-description.pc {
	display: none;
}
.workshop-container .photo-description.mobile {
	display: block;
}
.workshop-container .properties {
	margin: 1em 0;
}
.workshop-note {
	margin: 2em 0;
	padding: .5em;
	background-color: #FFF;
	border: 1px solid #CCC;
	font-size: .8em;
}
.workshop-note .title {
	text-align: center;
	font-size: 1em;
	font-weight: bold;
	margin: 0 0 1em 0;
}
.workshop-note .notice {
	padding: 1em;
	margin: .5em 1em;
	color: hsl(0, 63%, 45%);
}
.application-tables {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
table.application {
	margin: 3em auto;
	width: 280px;
}
table.application.online {
	width: 100%;
}
table.application th,
table.application td {
	text-align: center;
	border: none;
}
table.application th.day1 {
	background-color: hsl(240, 88%, 91%);
}
table.application th.day2 {
	background-color: hsl(0, 87%, 91%);
}
table.application td {
	padding: .5em;
	line-height: 1.8em;
	height: 3.6em;
	background-color: transparent;
}
table.application td:last-child {
	width: 110px;
}
.workshop-container .urls {
	text-align: right;
	font-size: .8em;
}
.workshop-container .urls .website {
	border-radius: 4px;
	background-color: hsl(17, 100%, 65%);
	color: white;
	padding: .2em .5em;
	text-decoration: none;
	transition: all .3s;
}
.workshop-container .urls .website:hover {
	background-color: hsl(17, 100%, 80%);
}
.capacity-red {
	color: hsl(0, 63%, 45%);
	font-size: .8em;
	text-align: center;
}

.no-reservation {
	padding: 1em;
	color: hsl(0, 63%, 45%);
	background-color: white;
	margin: 1em 0;
}


/* 絞り込み */
.search-container {
	box-sizing: border-box;
	position: fixed;
	display: flex;
	justify-content: right;
	right: 106px;
	bottom: 12px;
	width: calc(100% - 48px);
	font-size: 16px;
	line-height: 1em;
	transition: all .3s;
}
.search-form {
	font-size: 24px;
	background-color: hsla(39, 100%, 80%, 0.8);
	padding: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.search-form .target_grade_title {
	font-size: 14px;
	margin-bottom: 6px;
}
.search-form .target_grade_title i {
	margin-right: .5em;
	color: hsl(39, 96%, 44%);
}
.search-container select {
	font-size: 16px;
	width: 14em;
	margin-bottom: 0;
}


/* 主催者コンテンツ */
.by-organizer {
	line-height: 1.8em;
	padding: 6em 0;
	margin: 0;
}
.by-organizer .section-inner {
	border-radius: 1em;
	border: 3px dashed hsl(130, 56%, 58%);
	padding: 1em;
	width: 85%;
}
.by-organizer h4 {
	font-size: 20px;
	margin: 2em 0 1.5em;
}
.by-organizer .only-83 {
	width: 7em;
	background-color: hsl(130, 56%, 48%);
	color: white;
	text-align :center;
	font-size: 20px;
	margin: 1.5em auto;
}
.by-organizer img {
	width: 100%;
}
.by-organizer .catch {
	font-size: 20px;
	margin: 2em 0 1.5em;
}
.by-organizer .link {
	text-align: center;
}

@media screen and (min-width: 1280px) {
	.jump-buttons-box {
		max-width: 1440px;
		grid-template-columns: 1fr 1fr;
	}
	.workshop-container {
		max-width: 1440px;
		grid-template-columns: 1fr 1fr;
	}
	.search-container {
		position: relative;
		right: 0;
		bottom: 0;
		justify-content: center;
	}
}

@media screen and (min-width: 768px) {
	.workshop-container .image-box {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.workshop-container .image-box img {
		margin: 0 3%;
		max-width: 28%;
		height: auto;
	}
	.application-tables {
		display: flex;
		justify-content: space-around;
		align-items: flex-start;
	}
	.button-text {
		text-align: center;
	}
	.workshop-container .photo-description.pc {
		display: block;
	}
	.workshop-container .photo-description.mobile {
		display: none;
	}
}

@media screen and (min-width: 600px) {
	.button-alphabet {
		width: 2em;
	}
	.back-to-top {
		width: 64px;
		height: 64px;
		font-size: 40px;
		padding: 12px;
	}
	.search-container {
		width: auto;
	}
}





/* 事務局プレビュー用 */
h2 + .preview {
	background-color: red;
	color: white;
	width: 7em;
	text-align: center;
	padding: .5em;
	margin: 1em auto;
	font-size: 1.2em;
}
.alphabet-logo .unsubmit {
	border: 1px dotted #000;
	background-color: #EEE;
	color: #555;
	width: 7em;
	text-align: center;
	padding: .5em;
	margin: 0 0 0 auto;
	font-size: 1.2em;
}
.image-box .no_display {
	background-color: #333;
	color: white;
	width: 10em;
	text-align: center;
	padding: .5em;
	margin: 1em auto;
	font-size: 1.2em;
}
.image-box .unsubmit {
	border: 1px dotted #000;
	background-color: #EEE;
	color: #555;
	width: 7em;
	text-align: center;
	padding: .5em;
	margin: 1em auto;
	font-size: 1.2em;
}
.application-tables .unsubmit {
	border: 1px dotted #000;
	background-color: #EEE;
	color: #555;
	width: 11em;
	text-align: center;
	padding: .5em;
	margin: 1em auto;
	font-size: 1.2em;
}