@charset "UTF-8";
/* ------------------------------------------------
 common
------------------------------------------------ */
#bottom_entry .important, #bottom_entry .note {
  display: none;
}

/* ------------------------------------------------
 font-size
------------------------------------------------ */
@media screen and (min-width: 780.1px) and (max-width: 1199.9px) {
  #contents {
    font-size: 1.5012510425vw;
  }
}

/* ------------------------------------------------
 rayout
------------------------------------------------ */
@media screen and (min-width: 780.1px) {
  #contents {
    margin: 0 auto;
    padding-top: 8.8888888889em;
    width: 55.5555555556em;
    min-height: 40.8333333333em;
    transition: left 0.1s linear;
    left: 0;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1760.1px) {
  #contents {
    left: calc(380px - (100vw - 1000px) / 2);
    position: relative;
  }
}
@media screen and (max-width: 1439.9px) {
  #contents {
    left: 0;
  }
}
@media screen and (max-width: 780px) {
  #contents {
    padding-top: 9.3333333333em;
  }
}

/* ------------------------------------------------
 menu
------------------------------------------------ */
@media screen and (max-width: 1439.9px) {
  #navi .menu .list > li.home {
    display: block;
  }
}
@media screen and (min-width: 1440px) {
  #navi {
    padding-top: 1.1111111111em;
    padding-bottom: 2.2222222222em;
    right: unset;
    left: 0;
    transform: none;
    transition: none;
  }
  #navi > .inner {
    margin-right: auto;
    margin-left: 0;
  }
  #navi .logo {
    margin: 0 auto 1.1111111111em;
    width: 13.4444444444em;
    display: block;
  }
  #navi .menu,
  #navi .links {
    border-radius: 0 2.2222222222em 2.2222222222em 0;
    filter: none;
  }
  #navi .menu {
    background: linear-gradient(15deg, #E8E8E8 24.01%, #EFEFEF 80.16%);
  }
  #navi .menu .list a {
    color: #000;
  }
  #navi .menu .list > li > a::after {
    background-image: url(../images/common/arrow_bk.svg);
  }
  #navi .menu .list > li.home {
    display: none;
  }
  #navi .entry .basic_btn {
    box-shadow: var(--shadow-red);
  }
  #navi .basic_btn.close {
    display: none;
  }
  #btn_menu {
    transform: translateX(117%);
  }
}
/* ------------------------------------------------
 article_header
------------------------------------------------ */
#article_header .heading .title {
  font-size: 3.8888888889em;
  line-height: 1.6;
}
#article_header .heading.frame {
  margin: 0 auto;
  padding: 1.1111111111em 2.7777777778em;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  box-sizing: border-box;
}
#article_header .heading.frame::before, #article_header .heading.frame::after {
  content: "";
  background: url(../images/common/heading_corner.svg) no-repeat;
  background-size: contain;
  width: 4.1666666667em;
  aspect-ratio: 75/40;
  position: absolute;
}
#article_header .heading.frame::before {
  left: 0;
  top: 0;
}
#article_header .heading.frame::after {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}
#article_header .summary {
  line-height: 2;
  margin-top: 8.3333333333em;
}
#article_header .summary b {
  color: var(--color-red);
  font-weight: inherit;
}
#article_header + .section {
  margin-top: 8.8888888889em;
}
@media screen and (max-width: 780px) {
  #article_header > .inner {
    padding-left: 1.3333333333em;
    padding-right: 1.3333333333em;
  }
  #article_header .heading .title {
    font-size: 2.8em;
    line-height: 1.2;
  }
  #article_header .heading.frame {
    text-align: center;
    padding: 1.3333333333em 0;
    width: 100%;
  }
  #article_header .heading.frame .title {
    line-height: 1.2;
  }
  #article_header .heading.frame::before, #article_header .heading.frame::after {
    width: 5em;
  }
  #article_header + .section {
    margin-top: 3.3333333333em;
  }
  #article_header + .section:has(.sheader.h_marker) {
    margin-top: 5.3333333333em;
  }
}

/* ------------------------------------------------
 article_header 目次
------------------------------------------------ */
#article_header .index {
  margin-top: 4.4444444444em;
}
#article_header .index .label {
  font-size: 1.1111111111em;
  font-weight: normal;
  line-height: 1;
  padding: 0.5em 0;
}
#article_header .index .list {
  border-top: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
  background-color: var(--color-gray-bg);
  padding: 1.6666666667em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8333333333em;
  align-self: stretch;
}
#article_header .index .list li {
  font-size: 0.8888888889em;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625em;
       column-gap: 0.625em;
  min-width: 50%;
  width: 100%;
}
#article_header .index .list li::before {
  content: "";
  border-top: 1px solid #000;
  width: 0.6875em;
}
#article_header .index .list li a {
  text-decoration: none;
  display: block;
  flex-grow: 1;
}
@media screen and (max-width: 780px) {
  #article_header .index {
    margin-top: 2.6666666667em;
  }
  #article_header .index .label {
    font-size: 1.3333333333em;
  }
  #article_header .index .list {
    padding: 1.6666666667em 1.6666666667em;
    gap: 1em;
  }
  #article_header .index .list li {
    font-size: 1em;
    -moz-column-gap: 0.6666666667em;
         column-gap: 0.6666666667em;
  }
}

/* ----------------------------
 table_frame
------------------------------*/
.table_frame {
  background-color: rgba(255, 255, 255, 0.8);
  margin: 3.3333333333em 1.1111111111em 0;
  padding: 2.7777777778em 3.8888888889em 3.8888888889em;
  position: relative;
}
.table_frame::before, .table_frame::after {
  content: "";
  border-style: solid;
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
}
.table_frame::before {
  border-width: 1px 0;
  width: calc(100% + 2.2222222222em);
  left: -1.1111111111em;
  top: 0;
}
.table_frame::after {
  border-width: 0 1px;
  height: calc(100% + 2.2222222222em);
  left: 0;
  top: -1.1111111111em;
}
.table_frame .caption {
  font-size: 1.7777777778em;
  text-align: center;
}
.table_frame .checklist {
  margin-top: 3.3333333333em;
}
.table_frame .checklist li {
  display: flex;
  align-items: start;
  justify-content: start;
  -moz-column-gap: 1.3888888889em;
       column-gap: 1.3888888889em;
}
.table_frame .checklist li > .txt {
  flex-grow: 1;
  flex-basis: 0;
}
.table_frame .checklist li::before {
  content: "";
  background: url(../images/common/icon_check.svg) no-repeat;
  background-size: contain;
  margin-top: 0.4em;
  width: 1.1111111111em;
  aspect-ratio: 1/1;
  display: block;
}
.table_frame .checklist li + li {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 1.6666666667em;
  padding-top: 1.6666666667em;
}
.table_frame .important {
  border-radius: 0.3333333333em;
  background-color: var(--color-pink);
  margin-top: 1.5555555556em;
  margin-left: 2.2222222222em;
  padding: 0.6666666667em 1.1111111111em;
}
.table_frame .important a {
  color: var(--color-red) !important;
  font-weight: bold;
}
.table_frame .important > * {
  font-size: 0.7777777778em;
}
@media screen and (max-width: 780px) {
  .table_frame {
    margin: 2em 0 0;
    padding: 2.6666666667em 1.6666666667em 2.6666666667em;
  }
  .table_frame::before, .table_frame::after {
    border-style: solid;
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
  }
  .table_frame::before {
    width: calc(100% + 1.3333333333em);
    left: -0.6666666667em;
  }
  .table_frame::after {
    height: calc(100% + 1.3333333333em);
    top: -0.6666666667em;
  }
  .table_frame .caption {
    font-size: 1.6em;
  }
  .table_frame .checklist {
    margin-top: 2em;
  }
  .table_frame .checklist li {
    -moz-column-gap: 0.6666666667em;
         column-gap: 0.6666666667em;
  }
  .table_frame .checklist li::before {
    margin-top: 0.2em;
    width: 1.2em;
  }
  .table_frame .important {
    border-radius: 0.4em;
    margin-top: 0.6666666667em;
    margin-left: 0;
    padding: 0.8em 1.3333333333em;
  }
  .table_frame .important > * {
    font-size: 0.8em;
  }
}

/* ------------------------------------------------
 requirement_block 募集要項ボタン
------------------------------------------------ */
.requirement_block {
  text-align: center;
  border-radius: 2.2222222222em;
  background: var(--grade-lblue);
  padding: 2.2222222222em 1.6666666667em 1.6666666667em;
}
.requirement_block .banzai {
  margin-bottom: 0.5555555556em;
}
.requirement_block .btns .btn_requirement {
  margin: 0 auto;
  width: 25em;
  min-height: 5.5555555556em;
}
.requirement_block .btns .btn_requirement .txt {
  font-size: 1.1111111111em;
}
.requirement_block .btns .btn_requirement .txt b {
  color: #AEF0FF;
  display: block;
}
.requirement_block .download_pdf {
  font-size: 0.7777777778em;
  margin-top: 1.4285714286em;
}
.requirement_block .download_pdf a {
  color: #000 !important;
}
.requirement_block .download_pdf a::after {
  content: "";
  background: url(../images/common/icon_pdf.svg) no-repeat;
  background-size: contain;
  margin-left: 0.7142857143em;
  width: 1.4285714286em;
  aspect-ratio: 5/6;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 780px) {
  .requirement_block {
    border-radius: 2em;
    padding: 2.3333333333em 1.6666666667em 1.6666666667em;
  }
  .requirement_block .banzai::before, .requirement_block .banzai::after {
    margin-bottom: 0.2em;
  }
  .requirement_block .btns .btn_requirement {
    width: 20em;
    min-height: 5em;
  }
  .requirement_block .btns .btn_requirement .txt {
    font-size: 1em;
  }
  .requirement_block .download_pdf {
    font-size: 0.9333333333em;
  }
}

.requirement_block {
  background-image: none;
  padding: 0;
}
.requirement_block .banzai, .requirement_block .download_pdf {
  display: none;
}
@media screen and (max-width: 780px) {
  .requirement_block .btns .basic_btn {
    width: 21.3333333333em;
  }
}

/* ------------------------------------------------
 download_files_block
------------------------------------------------ */
.download_files_block {
  text-align: left;
  border-top: 1px solid #000;
  background: linear-gradient(15deg, #F2F2F2 24.01%, #F8F8F8 80.16%);
  margin-top: 4.4444444444em;
  padding: 2.2222222222em 3.8888888889em;
}
.download_files_block .heading {
  font-size: 1.5555555556em;
  text-align: center;
}
.download_files_block .summary {
  margin-top: 1.1111111111em;
}
.download_files_block .btns {
  margin-top: 1.6666666667em;
}
.download_files_block .btns .list {
  display: grid;
  grid-template-columns: repeat(3, 14.6666666667em);
  justify-content: space-between;
  row-gap: 1.6666666667em;
}
.download_files_block .btns .list li {
  height: 100%;
}
@media screen and (max-width: 780px) {
  .download_files_block {
    margin-top: 4em;
    padding: 2.6666666667em 1.6666666667em;
  }
  .download_files_block .heading {
    font-size: 1.3333333333em;
  }
  .download_files_block .summary {
    margin-top: 0.6666666667em;
  }
  .download_files_block .btns {
    margin-top: 2em;
  }
  .download_files_block .btns .list {
    grid-template-columns: 1fr;
    row-gap: 1.3333333333em;
  }
}

/* ------------------------------------------------
 schedule_table
------------------------------------------------ */
@media screen and (min-width: 780.1px) {
  .simplebar-mask {
    overflow: visible;
  }
  .simplebar-offset {
    position: static;
  }
}
.schedule_table {
  border: 1px solid #000;
  border-radius: 2.2222222222em;
  border-collapse: separate;
  margin-top: 2.2222222222em;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.schedule_table thead {
  border-radius: 2.2222222222em;
  background: var(--grade-green);
}
.schedule_table thead tr {
  border-bottom-width: 0;
}
.schedule_table thead th {
  font-size: 0.7777777778em;
  font-weight: bold;
  text-align: center;
  padding: 1.4285714286em 0 1.2857142857em;
  box-sizing: border-box;
}
.schedule_table thead th + th {
  border-left: 1px solid #fff;
}
.schedule_table tbody th, .schedule_table tbody td {
  border-top: 1px solid #E3E3E3;
  padding: 0.6666666667em 1.6666666667em 0.6666666667em;
}
.schedule_table tbody th {
  text-align: center;
  background-color: var(--color-lgray);
}
.schedule_table tbody td {
  border-left: 1px solid #E3E3E3;
  background-color: #fff;
}
.schedule_table tbody th, .schedule_table tbody td {
  white-space: nowrap;
}
.schedule_table tbody th {
  background-color: var(--color-lgray);
}
.schedule_table tbody td:first-of-type {
  text-align: center;
}
@media screen and (max-width: 780px) {
  .schedule_table {
    border-radius: 2.3333333333em;
    margin-top: 2.6666666667em;
  }
  .schedule_table thead {
    border-radius: 2.3333333333em;
  }
  .schedule_table thead th {
    font-size: 0.8em;
    padding: 1.5em 0 1.5em;
  }
  .schedule_table tbody th, .schedule_table tbody td {
    padding: 0.8em 2em 0.8em;
  }
}