@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

body {
  font-family: 'Noto+Sans+JP', 'sans-serif';
}

.wrapper {
  margin: 2em auto;
  width: 900px;
}

.clr-red {
  color: #f00;
}

.wgt-700 {
  font-weight: 700;
}

.clr-red strong {
  background-color: #ff0;
  font-size: 1.4em;
  padding: 0 .2em;
}

.mv {
  background: url(../img/mv_pc.png) no-repeat 0 0 / contain;
  height: 275px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 900px;
}

.mv-under-text {
  background: url(../img/mv_under_text_pc.png) no-repeat 0 0 / contain;
  height: 40px;
  margin: 2em auto;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 900px;
}

.main-text {
  font-size: 22px;
  letter-spacing: 1px;
  line-height: 1.8;
  margin: 2em auto;
}

.main-text br {
  content: "";
  display: block;
  margin: .5em 0;
}

.tbl-ctr {
  margin: 0 auto;
  width: 900px;
}

.tbl-ctr h2 {
  background: #333;
  color: #fff;
  font-size: 1em;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

.tbl-ctr-inner {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.tbl-school {
  border-collapse: collapse;
  font-size: 15px;
}

.v-rl {
  align-items: center;
  justify-content: center;
  display: flex;
  line-height: 1;
  margin: 0 auto;
  white-space: nowrap;
  width: 1.2em;
  writing-mode: vertical-rl;
}

.tbl-male,
.tbl-coed {
  width: calc(33% + 1px);
}

.tbl-female {
  width: 34%;
}

.tbl-school:not(:first-of-type) {
  margin-left: -1px;
}

.tbl-school thead th {
  border-bottom: 3px double #333;
}

.tbl-school th {
  border: 1px solid #333;
  line-height: 1.8;
}

.tbl-cat {
  letter-spacing: .5em;
}

.tbl-male .tbl-cat {
  background-color: #9bc2e6;
}

.tbl-female .tbl-cat {
  background-color: #f4b084;
}

.tbl-coed .tbl-cat {
  background-color: #a9d08e;
}

.tbl-school td {
  border: 1px solid #333;
  letter-spacing: -.05px;
  line-height: 1.8;
  padding: 0 .4em;
}

.tbl-school td.full {
  color: #888;
  font-size: .9em;
}

.tbl-male td {
  background-color: #ddebf7;
}

.tbl-female td {
  background-color: #fce4d6;
}

.tbl-coed td {
  background-color: #e2efda;
}

.tbl-school td.full div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.tbl-school td.full div::after {
  color: #f00;
  content: "★満席";
  font-size: 1.11em;
  line-height: 1;
  margin-left: .5em;
}

.tbl-school-note {
  font-size: .9em;
  margin: .5em auto 0;
  padding-left: 1em;
  text-indent: -1em;
  text-align: right;
}

.youkou-list {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.1em;
  justify-content: flex-start;
  letter-spacing: 1px;
  margin: 3em auto;
  width: 80%;
}

.youkou-item {
  margin-bottom: .5em;
  margin-right: .5em;
  width: 6.5em;
}

.youkou-detail {
  margin-bottom: .5em;
  width: calc(100% - 7em);
}

.youkou-detail-list {
  list-style: none;
}

/*校舎お問い合わせ一覧ここから*/
#school-contents {
  border: 20px solid #e6f9ff;
  box-sizing: border-box;
  width: 100%;
}

.school-title {
  font-size: .9em;
  margin: 1em auto;
  text-align: center;
}

.school-list {
  align-items: baseline;
  display: flex;
  font-size: 1em;
  flex-wrap: wrap;
  justify-content: center;
  margin: 1em auto 0;
  width: 100%;
}

.school-list dd {
  margin: 0 .5em;
}

.school-pref {
  background-color: #226DBD;
  border-radius: .6em;
  color: #fff;
  height: fit-content;
  margin-bottom: 1em;
  margin-right: .5em;
  padding: .1em;
  text-align: center;
  width: 12%;
}

.school-detail {
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  justify-content: flex-start;
  list-style: none;
  margin: .5em 0;
  width: 84%;
}

.school-detail li {
  margin: 0 .5em;
}

.school-detail a {
  color: #3366FF;
  transition: opacity .1s;
}

.school-detail a:hover {
  opacity: 0.7;
}

/*校舎お問い合わせ一覧ここまで*/

.btn-ctr {
  margin: 2em auto;
}

.btn-apply {
  background-color: #de0619;
  border-radius: .5em;
  box-shadow: 0 2px 0 0 rgba(0, 0, 0, .5);
  color: #fff;
  display: block;
  font-size: 1.8em;
  font-weight: 700;
  margin: .5em auto;
  padding: .5em 1em;
  text-align: center;
  transition: opacity .5s, transform .5s, box-shadow .5s;
  width: fit-content;
}

.btn-apply:hover {
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, .5);
  color: #fff;
  opacity: .8;
  transform: translateY(-2px);
}

.btn-apply-attention {
  text-align: center;
}

/* バナー */
.img-ctr {
  margin: 50px auto 5px;
  text-align: center;
}

.img-ctr-ttl {
  font-size: 20px;
  font-weight: bold;
  margin: 5px auto;
}

.img-ctr-link {
  display: inline-block;
  width: 50%;
}

.img-ctr-link:first-of-type {
  margin: 5px auto 20px;
}