

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;
}


/* スクロールボタン */
.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 .workshop-box {
  border-radius: 1em;
  padding: 1em;
  border-width: 3px;
  border-style: solid;
}
.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: 2em 0 1.5em;
}
.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 h5 {
  text-align: center;
  font-size: 1em;
  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;
}
table.application th.day1 {
  background-color: hsl(240, 88%, 91%);
}
table.application th.day2 {
  background-color: hsl(0, 87%, 91%);
}
table.application th.day-online {
  background-color: hsl(120, 90%, 90%);
}
table.application td {
  padding: .5em;
  line-height: 1.8em;
  height: 3.6em;
}
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) {
  .jump-workshop {
    line-height: 2em;
    font-size: 16px;
  }
  .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;
}