@charset "UTF-8";
/* ------------------------------------------------
 menu
------------------------------------------------ */
#requirement_menu {
  border-top-right-radius: 1.1111111111em;
  border-bottom-right-radius: 1.1111111111em;
  background: var(--grade-menu);
  margin-bottom: 1.6666666667em;
  padding-top: 1.6666666667em;
  width: 19.4444444444em;
  height: calc(100vh - 3.3333333333em);
  position: fixed;
  left: 0;
  top: 1.6666666667em !important;
  z-index: 20;
  box-sizing: border-box;
  transition: all 0.4s var(--easeOutExpo);
  transform: translateX(-100%);
}
#requirement_menu > .inner {
  padding: 0 1.6666666667em 1.6666666667em 1.3888888889em;
  height: 100%;
  max-height: calc(100vh - 5em);
  pointer-events: all;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  box-sizing: border-box;
  scrollbar-width: none;
}
#requirement_menu > .inner::-webkit-scrollbar {
  display: none;
}
#requirement_menu .simplebar-scrollbar::before {
  background: var(--color-menu-scrollbar);
}
@media screen and (min-width: 1440px) {
  #requirement_menu {
    left: 0;
    transform: none;
    transition: opacity 0.4s ease;
  }
  #requirement_menu .basic_btn {
    display: none;
  }
}
/* ----------------------------
 menu show
------------------------------*/
#requirement_menu #btn_requirement_menu {
  filter: var(--drop-shadow-gray);
}
#requirement_menu.show {
  transform: translateX(0%);
  filter: var(--drop-shadow-gray);
}
#requirement_menu.show #btn_requirement_menu {
  filter: none;
}
#requirement_menu.show #btn_requirement_menu i::before {
  height: 80%;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
#requirement_menu.show #btn_requirement_menu i::after {
  height: 80%;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
#requirement_menu.show + #requirement_menu_overlay {
  left: 0;
}

/* ----------------------------
 btn
------------------------------*/
#btn_requirement_menu {
  border-radius: 0 1.1111111111em 1.1111111111em 0;
  background: var(--color-menu-tab);
}
@media screen and (max-width: 780px) {
  #btn_requirement_menu {
    background: var(--color-menu-tab-sp);
  }
}
#btn_requirement_menu {
  padding: 2.6666666667em 0;
  width: 2.7777777778em;
  min-height: unset;
  min-height: 11.3333333333em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 0.7777777778em;
  position: absolute;
  left: calc(100% - 1px);
  top: 1.6666666667em;
}
#btn_requirement_menu::before {
  content: none;
}
#btn_requirement_menu i {
  width: 1em;
  aspect-ratio: 18/30;
  position: relative;
}
#btn_requirement_menu i::before, #btn_requirement_menu i::after {
  content: "";
  background-color: var(--color-gray);
  width: 1px;
  height: 100%;
  position: absolute;
  transition: all 0.4s ease;
}
#btn_requirement_menu i::before {
  left: 33.3333%;
  top: 0;
}
#btn_requirement_menu i::after {
  left: 66.6666%;
  top: 0;
}
#btn_requirement_menu .txt {
  color: #000;
  font-size: 0.7777777778em;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
}
@media screen and (any-hover: hover) {
  #btn_requirement_menu > * {
    transition: opacity 0.4s ease;
  }
  #btn_requirement_menu:hover > * {
    opacity: 0.3;
  }
}
@media screen and (max-width: 780px) {
  #btn_requirement_menu {
    padding: 2.1333333333em 0;
    width: 2.1333333333em;
    height: auto;
    min-height: 0;
    row-gap: 1em;
    top: 2.9333333333em;
  }
  #btn_requirement_menu i {
    width: 1.0666666667em;
    aspect-ratio: 18/25.5;
  }
  #btn_requirement_menu .txt {
    font-size: 0.8666666667em;
  }
}

/* ----------------------------
 menu内
------------------------------*/
#requirement_menu .toc-title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 1.1111111111em;
}
#requirement_menu li {
  line-height: 1.2;
}
#requirement_menu li a {
  font-size: 0.7777777778em;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.3s ease;
}
#requirement_menu li a.inview {
  opacity: 0.5;
}
#requirement_menu li a i {
  font-style: normal;
  text-indent: 0;
  width: 2.5714285714em;
  display: inline-block;
}
#requirement_menu li a.important {
  color: var(--color-red);
}
#requirement_menu li a.toc-h2 {
  text-indent: -1.8571428571em;
  padding-left: 1.8571428571em;
}
#requirement_menu li a.toc-h2 i {
  width: 1.8571428571em;
}
#requirement_menu li a.toc-h3 {
  text-indent: -2.5714285714em;
  padding-left: 2.5714285714em;
}
#requirement_menu li a.toc-h3 i {
  width: 2.5714285714em;
}
#requirement_menu li:has(.toc-h2) {
  font-weight: bold;
  margin-bottom: 0.6666666667em;
  padding-top: 1.6666666667em;
}
#requirement_menu li:has(.toc-h2):first-of-type {
  color: var(--color-red);
}
#requirement_menu li:has(.toc-h2):nth-of-type(n + 2) {
  border-top: 1px solid #E3E3E3;
  margin-top: 1.1111111111em;
}
#requirement_menu li + li {
  margin-top: 0.4444444444em;
}
/*----- requirements.html 募集要項 -----*/
/* ------------------------------------------------
 scrollbar
------------------------------------------------ */
@media screen and (max-width: 780px) {
  html {
    scrollbar-width: none;
  }
  html::-webkit-scrollbar {
    display: none;
  }
  body::-webkit-scrollbar {
    display: none;
  }
}
/* ------------------------------------------------
 float_btn
------------------------------------------------ */
#float_btn {
  display: none;
}

/* ------------------------------------------------
 contents
------------------------------------------------ */
@media screen and (max-width: 780px) {
  #contents {
    padding-top: 7.4666666667em;
  }
}

h2 .hlabel, h3 .hlabel, h4 .hlabel {
  color: #fff;
  font-size: 14px;
  font-family: var(--font-base);
  background-color: purple;
  padding: 0.25em 0.5em;
  position: absolute;
  right: 0;
  top: 100%;
}

h2 .hlabel {
  left: 0;
  right: unset;
}

.note {
  font-size: inherit;
}
.note.label {
  font-size: 0.7777777778em;
}
@media screen and (max-width: 780px) {
  .note.label {
    font-size: 0.7333333333em;
  }
}
.note.label {
  text-indent: 0;
  padding-left: 0;
}

.mk1 {
  display: inline-block;
  width: 1em;
  text-align: right;
  font-weight: inherit;
}

.mk2 {
  display: inline-block;
  width: 1.6em;
  text-align: right;
  font-weight: inherit;
}

#wrapper .background.illust {
  background-image: url(../images/coverimage/r2.png);
}
#wrapper .background.block {
  top: 156.1111111111em;
}
@media screen and (max-width: 780px) {
  #wrapper .background.illust {
    background-image: url(../images/coverimage/top.png);
  }
}

/* ------------------------------------------------
 article_header
------------------------------------------------ */
#article_header {
  margin-top: -0.5555555556em;
}
#article_header .heading {
  display: flex;
  justify-content: center;
  -moz-column-gap: 3.3333333333em;
       column-gap: 3.3333333333em;
}
#article_header .heading .title {
  text-align: center;
  line-height: 1.4;
  width: -moz-fit-content;
  width: fit-content;
}
#article_header .heading .title .s {
  font-size: 0.6857142857em;
  display: block;
}
#article_header .heading .logo {
  margin-top: 0.6111111111em;
  width: 18.8888888889em;
}
#article_header .heading::before {
  left: 10.3333333333em;
  top: -2.2222222222em;
}
#article_header + #requirement_contents {
  margin-top: 0;
}
@media screen and (max-width: 780px) {
  #article_header .heading {
    flex-direction: column;
    align-items: center;
  }
  #article_header .heading .title {
    line-height: 1.4;
    margin: 0 auto;
  }
  #article_header .heading .title .s {
    font-size: 0.7142857143em;
  }
  #article_header .heading .logo {
    margin-top: 1.6666666667em;
    width: 13.3333333333em;
  }
  #article_header .heading::before {
    left: 50%;
    top: -3.4666666667em;
    transform: translateX(-50%);
  }
}

/* 丸数字マーカー（固定幅カウンター用） */
@counter-style rc-circled {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩" "⑪" "⑫" "⑬" "⑭" "⑮" "⑯" "⑰" "⑱" "⑲" "⑳";
  suffix: "";
}
/* ------------------------------------------------
 requirement_contents
------------------------------------------------ */
#requirement_contents strong {
  color: var(--color-red);
}
#requirement_contents a {
  color: var(--color-blue);
}
#requirement_contents a[target] {
  word-break: break-all;
}
#requirement_contents h2, #requirement_contents h3, #requirement_contents h4 {
  font-family: var(--font-serif);
  font-weight: 500;
  position: relative;
  word-break: auto-phrase;
}
#requirement_contents h2 {
  font-size: 2.6666666667em;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin-top: 2.5em;
  margin-bottom: 1.0416666667em;
  padding-top: 0.2291666667em;
  padding-bottom: 0.2291666667em;
  position: relative;
}
#requirement_contents h2 .title {
  flex: 1;
}
#requirement_contents h2 .s {
  font-size: 0.5em;
  align-self: center;
}
#requirement_contents h2 .icons {
  margin-left: auto;
  display: flex;
  gap: 0.25em;
  position: absolute;
  right: 0.4166666667em;
  top: calc(100% + 0.1666666667em);
}
#requirement_contents h2 .icon {
  font-family: var(--font-base);
  font-size: 0.3333333333em;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
#requirement_contents h2 .icon::before {
  content: "";
  background-size: contain;
  width: 2.375em;
  aspect-ratio: 1/1;
  display: block;
}
#requirement_contents h2 .icon.online {
  color: var(--color-blue);
}
#requirement_contents h2 .icon.online::before {
  background-image: url(../images/procedure2/flow_online.svg);
}
#requirement_contents h2 .icon.post {
  color: var(--color-green);
}
#requirement_contents h2 .icon.post::before {
  background-image: url(../images/procedure2/flow_post.svg);
}
#requirement_contents h3 {
  font-size: 1.6666666667em;
  line-height: 1.4;
  word-break: auto-phrase;
  border-left: 0.2em solid #000;
  background: var(--color-lgray);
  margin-top: 2.6666666667em;
  margin-bottom: 1.3333333333em;
  padding: 0.2666666667em 0.6666666667em 0.4em;
}
#requirement_contents h4 {
  font-size: 1.5555555556em;
  word-break: auto-phrase;
  border-bottom: 1px solid #E3E3E3;
  padding-bottom: 0.2857142857em;
  margin-top: 2.1428571429em;
  margin-bottom: 1.0714285714em;
}
#requirement_contents p + p {
  margin-top: 1em;
}
#requirement_contents p + ul,
#requirement_contents p + ol {
  margin-top: 0.5em;
}
#requirement_contents u {
  color: var(--color-red);
  text-decoration: none;
}
#requirement_contents u.uline {
  text-decoration: none;
}
#requirement_contents ul li + li, #requirement_contents ol li + li {
  margin-top: 0.5em;
}
#requirement_contents ul li > ul, #requirement_contents ul li ol, #requirement_contents ol li > ul, #requirement_contents ol li ol {
  margin-top: 0.25em;
}
#requirement_contents ul li .sub, #requirement_contents ol li .sub {
  margin-left: 0;
}
#requirement_contents ul li p.note, #requirement_contents ol li p.note {
  text-indent: 0;
}
#requirement_contents ol.req {
  list-style-type: decimal;
}
#requirement_contents ol.req > li {
  margin-left: 1.2em;
}
#requirement_contents ol.req > li + li {
  margin-top: 1.4444444444em;
}
#requirement_contents ol.req.kana {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ol.req.kana > li {
  counter-increment: mk;
  text-indent: -1.9em;
  padding-left: 1.9em;
}
#requirement_contents ol.req.kana > li > p {
  text-indent: 0;
}
#requirement_contents ol.req.kana > li::before {
  content: "(" counter(mk, katakana) ")";
  display: inline-block;
  width: 1.9em;
  text-indent: 0;
}
#requirement_contents ol.req.kana > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ol.req.kana > li.note::before {
  content: none;
}
#requirement_contents ol.req.kana > li {
  margin-left: 0;
}
#requirement_contents ol.req.circled {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ol.req.circled > li {
  counter-increment: mk;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
#requirement_contents ol.req.circled > li > p {
  text-indent: 0;
}
#requirement_contents ol.req.circled > li::before {
  content: counter(mk, rc-circled);
  display: inline-block;
  width: 1.6em;
  text-indent: 0;
}
#requirement_contents ol.req.circled > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ol.req.circled > li.note::before {
  content: none;
}
#requirement_contents ol.req.circled > li {
  margin-left: 0;
}
#requirement_contents p + ol.req {
  margin-top: 1.4444444444em;
}
#requirement_contents ul.sub {
  margin-top: 0.5555555556em;
  margin-left: 2em;
  text-indent: 0;
}
#requirement_contents ul.sub li + li {
  margin-top: 0.5555555556em;
}
#requirement_contents ul.sub.paren {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.paren > li {
  counter-increment: mk;
  text-indent: -1.9em;
  padding-left: 1.9em;
}
#requirement_contents ul.sub.paren > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.paren > li::before {
  content: "(" counter(mk, katakana) ")";
  display: inline-block;
  width: 1.9em;
  text-indent: 0;
}
#requirement_contents ul.sub.paren > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.paren > li.note::before {
  content: none;
}
#requirement_contents ul.sub.parena {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.parena > li {
  counter-increment: mk;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
#requirement_contents ul.sub.parena > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.parena > li::before {
  content: "(" counter(mk, lower-alpha) ")";
  display: inline-block;
  width: 1.5em;
  text-indent: 0;
}
#requirement_contents ul.sub.parena > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.parena > li.note::before {
  content: none;
}
#requirement_contents ul.sub.kata {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.kata > li {
  counter-increment: mk;
  text-indent: -1.4em;
  padding-left: 1.4em;
}
#requirement_contents ul.sub.kata > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.kata > li::before {
  content: counter(mk, katakana);
  display: inline-block;
  width: 1.4em;
  text-indent: 0;
}
#requirement_contents ul.sub.kata > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.kata > li.note::before {
  content: none;
}
#requirement_contents ul.sub.alpha {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.alpha > li {
  counter-increment: mk;
  text-indent: -0.9em;
  padding-left: 0.9em;
}
#requirement_contents ul.sub.alpha > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.alpha > li::before {
  content: counter(mk, lower-alpha);
  display: inline-block;
  width: 0.9em;
  text-indent: 0;
}
#requirement_contents ul.sub.alpha > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.alpha > li.note::before {
  content: none;
}
#requirement_contents ul.sub.circled {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.circled > li {
  counter-increment: mk;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
#requirement_contents ul.sub.circled > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.circled > li::before {
  content: counter(mk, rc-circled);
  display: inline-block;
  width: 1.6em;
  text-indent: 0;
}
#requirement_contents ul.sub.circled > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.circled > li.note::before {
  content: none;
}
#requirement_contents ul.sub.kanji {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.kanji > li {
  counter-increment: mk;
  text-indent: -2em;
  padding-left: 2em;
}
#requirement_contents ul.sub.kanji > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.kanji > li::before {
  content: counter(mk, cjk-ideographic);
  display: inline-block;
  width: 2em;
  text-indent: 0;
}
#requirement_contents ul.sub.kanji > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.kanji > li.note::before {
  content: none;
}
#requirement_contents ul.sub.knum {
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ul.sub.knum > li {
  counter-increment: mk;
  text-indent: -2em;
  padding-left: 2em;
}
#requirement_contents ul.sub.knum > li > p {
  text-indent: 0;
}
#requirement_contents ul.sub.knum > li::before {
  content: "（" counter(mk, decimal) "）";
  display: inline-block;
  width: 2em;
  text-indent: 0;
}
#requirement_contents ul.sub.knum > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ul.sub.knum > li.note::before {
  content: none;
}
#requirement_contents ul.sub.kana-circled > li {
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents ul.sub + .note {
  margin-top: 0.8333333333em;
}
#requirement_contents ol.sub {
  text-indent: 0;
  margin-left: 2em;
}
#requirement_contents ol.sub.circled {
  margin-top: 0.5555555556em;
  list-style: none;
  counter-reset: mk;
}
#requirement_contents ol.sub.circled > li {
  counter-increment: mk;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
#requirement_contents ol.sub.circled > li > p {
  text-indent: 0;
}
#requirement_contents ol.sub.circled > li::before {
  content: counter(mk, rc-circled);
  display: inline-block;
  width: 1.6em;
  text-indent: 0;
}
#requirement_contents ol.sub.circled > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents ol.sub.circled > li.note::before {
  content: none;
}
#requirement_contents ol.sub.circled li + li {
  margin-top: 0.5555555556em;
}
#requirement_contents .dotlist {
  margin-top: 0.5em;
  list-style: none;
  counter-reset: mk;
}
#requirement_contents .dotlist > li {
  counter-increment: mk;
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents .dotlist > li > p {
  text-indent: 0;
}
#requirement_contents .dotlist > li::before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
#requirement_contents .dotlist > li.note {
  counter-increment: none;
  text-indent: 0;
}
#requirement_contents .dotlist > li.note::before {
  content: none;
}
#requirement_contents .dotlist > li + li {
  margin-top: 0.3em;
}
#requirement_contents ol.num > li {
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents ol.num.maru > li {
  text-indent: -1.25em;
  padding-left: 1.25em;
}
#requirement_contents ol.num.no-marker > li {
  text-indent: 0;
  padding-left: 0;
}
#requirement_contents .note li + li {
  margin-top: 0.3333333333em;
}
#requirement_contents .note + * {
  margin-top: 1.1111111111em;
}
#requirement_contents .note + ul.sub,
#requirement_contents .note + ol.sub {
  margin-top: 0.5555555556em;
}
#requirement_contents ul.sub + .note,
#requirement_contents ol.sub + .note {
  margin-left: 2em;
}
#requirement_contents .note:not(.label) li {
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents .note:not(.label) li.flat {
  text-indent: 0;
  padding-left: 0;
}
#requirement_contents .note:not(.label):not(.flat):not(.mk-num):not(.mk-paren-num):not(ul) {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents .note:not(.label).flat {
  text-indent: 0;
  padding-left: 0;
}
#requirement_contents .note:not(.label).mk-num li {
  text-indent: -2.5em;
  padding-left: 2.5em;
}
#requirement_contents .note:not(.label).mk-paren-num li {
  text-indent: -2.75em;
  padding-left: 2.75em;
}
#requirement_contents * + .note {
  margin-top: 0.8333333333em;
}
#requirement_contents p.itemnum {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents p.ex.ex.ex {
  display: block;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
#requirement_contents p.flush {
  text-indent: 0;
  padding-left: 0;
}
#requirement_contents ol.numbering {
  counter-reset: count01;
}
#requirement_contents ol.numbering > li {
  counter-increment: count01;
}
#requirement_contents ol.numbering > li::before {
  content: "(" counter(count01) ") ";
}
#requirement_contents ol.numbering > li li {
  text-indent: 0;
}
#requirement_contents ol.numbering.kakko > li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
#requirement_contents ol.numbering.kakko > li::before {
  content: "(" counter(count01) ") ";
}
#requirement_contents ol.numbering.kakko.no-marker > li {
  text-indent: 0;
  padding-left: 0;
}
#requirement_contents ol.numbering.kakko.no-marker > li::before {
  content: none;
}
#requirement_contents ol.numbering.kakko.bullet > li::before {
  content: "● ";
}
#requirement_contents ul.bulets > li {
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents ul.bulets > li::before {
  content: "●";
}
#requirement_contents table {
  border: 1px solid #000;
  border-radius: 2.2222222222em;
  border-collapse: separate;
  margin-top: 2.2222222222em;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
#requirement_contents table thead {
  border-radius: 2.2222222222em;
  background: var(--grade-green);
}
#requirement_contents table thead tr {
  border-bottom-width: 0;
}
#requirement_contents table thead th {
  font-size: 0.7777777778em;
  font-weight: bold;
  text-align: center;
  padding: 1.4285714286em 0 1.2857142857em;
  box-sizing: border-box;
}
#requirement_contents table thead th + th {
  border-left: 1px solid #fff;
}
#requirement_contents table tbody th, #requirement_contents table tbody td {
  border-top: 1px solid #E3E3E3;
  padding: 0.6666666667em 1.6666666667em 0.6666666667em;
}
#requirement_contents table tbody th {
  text-align: center;
  background-color: var(--color-lgray);
}
#requirement_contents table tbody td {
  border-left: 1px solid #E3E3E3;
  background-color: #fff;
}
#requirement_contents table {
  margin-top: 0;
}
#requirement_contents table thead th {
  padding-left: 1em;
  padding-right: 1em;
  vertical-align: middle;
}
#requirement_contents table tbody th {
  vertical-align: middle;
}
#requirement_contents table.stripes tbody tr:nth-child(even) td {
  background-color: var(--color-gray-bg);
}
#requirement_contents table + .note {
  margin-top: 1.6666666667em;
}
#requirement_contents .important_block {
  background-color: #FFF3F5;
  padding: 1.1111111111em 1.6666666667em;
}
#requirement_contents .hidden {
  display: none;
}
#requirement_contents * + .scroll {
  margin-top: 1.6666666667em;
}
@media screen and (max-width: 780px) {
  #requirement_contents {
    margin: 0 1.3333333333em;
  }
  #requirement_contents h2 {
    font-size: 2em;
    margin-top: 2.6666666667em;
    margin-bottom: 1.3333333333em;
    padding-top: 0.3333333333em;
    padding-bottom: 0.3333333333em;
  }
  #requirement_contents h2 .icon {
    font-size: 0.4666666667em;
  }
  #requirement_contents h3 {
    font-size: 1.6em;
    margin-top: 2.5em;
    margin-bottom: 1.25em;
  }
  #requirement_contents h4 {
    font-size: 1.3333333333em;
    margin-top: 2.5em;
    margin-bottom: 1em;
  }
  #requirement_contents table {
    width: auto;
    min-width: 66.6666666667em;
  }
  #requirement_contents * + .scroll {
    margin-top: 2em;
  }
}

/*----- 個別 -----*/
/* ----------------------------
 data-section="s2"
------------------------------*/
#requirement_contents [data-section=s2] table th, #requirement_contents [data-section=s2] table td {
  vertical-align: middle;
  padding: 1.3333333333em;
}
#requirement_contents [data-section=s2] table td.section-label {
  font-weight: bold;
}
#requirement_contents [data-section=s2] table td.section-label + td {
  font-size: 0.7777777778em;
}
#requirement_contents [data-section=s2] table td.amount {
  text-align: center;
  white-space: nowrap;
}

/* ----------------------------
 data-section="s12-5-3"
------------------------------*/
#requirement_contents [data-section=s12-5-3] ol li > .sub {
  margin-top: 0;
}

/* ----------------------------
 data-section="s4" / "s5"
------------------------------*/
#requirement_contents [data-section=s4] table th, #requirement_contents [data-section=s4] table td,
#requirement_contents [data-section=s5] table th,
#requirement_contents [data-section=s5] table td {
  text-align: center;
  vertical-align: middle;
  padding-left: 1.1111111111em;
  padding-right: 0.8333333333em;
}
#requirement_contents [data-section=s4] table tbody td:first-child,
#requirement_contents [data-section=s5] table tbody td:first-child {
  font-weight: bold;
  text-align: center;
  background-color: var(--color-lgray);
  white-space: nowrap;
}
#requirement_contents [data-section=s4] table tbody td.amount,
#requirement_contents [data-section=s5] table tbody td.amount {
  text-align: center;
}

/* ----------------------------
 s3-18
------------------------------*/
#requirement_contents [data-section=s3-18] table thead th:first-child {
  width: 56%;
}
#requirement_contents [data-section=s3-18] table tbody td {
  vertical-align: middle;
}
#requirement_contents [data-section=s3-18] table tbody td:last-child {
  text-align: center;
}
#requirement_contents [data-section=s3-18] table tbody td:last-child .note {
  text-align: left;
}

/* ----------------------------
 s8
------------------------------*/
#requirement_contents h2#s8 .s {
  display: block;
}

/* ----------------------------
 entry-term （s7-1 / s8-1 等の募集回テーブル）
------------------------------*/
#requirement_contents table.entry-term {
  table-layout: fixed;
}
#requirement_contents table.entry-term th, #requirement_contents table.entry-term td {
  text-align: center;
  vertical-align: middle;
  padding-left: 0.4444444444em;
  padding-right: 0.4444444444em;
}
#requirement_contents table.entry-term td {
  font-size: 0.9em;
}

/* ----------------------------
 s8 必要書類一覧表・納税証明書表
------------------------------*/
#requirement_contents [data-section=s8-6] table.doc-list th, #requirement_contents [data-section=s8-6] table.doc-list td {
  vertical-align: top;
}
#requirement_contents [data-section=s8-6] table.doc-list thead th {
  vertical-align: middle;
}
#requirement_contents [data-section=s8-6] table.doc-list .no {
  text-align: center;
  white-space: nowrap;
  width: 3.3333333333em;
  vertical-align: middle;
}
#requirement_contents [data-section=s8-6] table.doc-list .docname {
  font-weight: bold;
  text-indent: -1.5em;
  padding-left: 3.1666666667em;
}
#requirement_contents [data-section=s8-6] table.doc-list .docname i {
  font-style: normal;
  display: inline-block;
  width: 1.5em;
  text-indent: 0;
}
#requirement_contents [data-section=s8-6] table.gyo-list {
  width: -moz-fit-content;
  width: fit-content;
}
#requirement_contents [data-section=s8-6] table.gyo-list th {
  white-space: nowrap;
}
@media screen and (max-width: 780px) {
  #requirement_contents [data-section=s8-6] table.gyo-list {
    min-width: 100%;
  }
}

#requirement_contents [data-section=s8-7] table.tax-list th, #requirement_contents [data-section=s8-7] table.tax-list td {
  vertical-align: middle;
}
#requirement_contents [data-section=s8-7] table.tax-list thead th {
  vertical-align: middle;
}
#requirement_contents [data-section=s8-7] table.tax-list tbody th {
  white-space: nowrap;
  padding-left: 1em;
  padding-right: 1em;
  vertical-align: middle;
}
#requirement_contents [data-section=s8-7] table.tax-list tbody td ol.num.maru li + li {
  margin-top: 0;
}
@media screen and (min-width: 780.1px) {
  #requirement_contents [data-section=s8-7] table.tax-list tbody td .oneline {
    white-space: nowrap;
  }
}
#requirement_contents [data-section=s8-7] table.tax-list tbody tr.grp th, #requirement_contents [data-section=s8-7] table.tax-list tbody tr.grp td {
  border-top: 1px solid #000;
}

@media screen and (max-width: 780px) {
  #requirement_contents [data-section=s8-7-2] table {
    min-width: 44em;
  }
}

/* ----------------------------
 s9-7 専門家派遣1回目実施日程テーブル
------------------------------*/
#requirement_contents [data-section=s9-7] .important_block {
  text-align: center;
}
#requirement_contents [data-section=s9-7] .important_block .heading + p {
  margin-top: 0 !important;
}
#requirement_contents [data-section=s9-7] table th, #requirement_contents [data-section=s9-7] table td {
  text-align: center;
  vertical-align: middle;
  padding-left: 1.1111111111em;
  padding-right: 0.8333333333em;
}
#requirement_contents [data-section=s9-7] table tbody td {
  text-align: center;
}
#requirement_contents [data-section=s9-7] table tbody td:first-child {
  font-weight: bold;
  text-align: center;
  background-color: var(--color-lgray);
  white-space: nowrap;
}
#requirement_contents [data-section=s9-7] table tbody td:nth-child(2) {
  color: var(--color-red);
}
#requirement_contents [data-section=s9-7] .flow-notice {
  margin-top: 3em;
}
#requirement_contents [data-section=s9-7] .flow-notice .heading {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 0.5em;
}
#requirement_contents [data-section=s9-7] .flow-notice .req u {
  text-decoration: underline;
}
@media screen and (max-width: 780px) {
  #requirement_contents [data-section=s9-7] .important_block .heading + p {
    -moz-text-align-last: left;
         text-align-last: left;
  }
  #requirement_contents [data-section=s9-7] table {
    min-width: 34.6666666667em;
  }
}

/* ----------------------------
 round-label （s10-3 専門家と相談の内容例）
------------------------------*/
#requirement_contents .round-label {
  font-family: var(--font-serif);
  font-weight: 500;
  background: var(--color-lgray);
  display: inline-block;
  padding: 0.2222222222em 1.3333333333em;
  margin-bottom: 0.5555555556em;
}
#requirement_contents .round-label:not(:first-of-type) {
  margin-top: 2em;
}
#requirement_contents .round-label + ul.sub {
  margin-top: 0;
}

/* ----------------------------
 step-table （s12-7 就業規則整備・労使協定締結の手順）
------------------------------*/
#requirement_contents table.step-table {
  table-layout: fixed;
}
#requirement_contents table.step-table td {
  vertical-align: top;
}
#requirement_contents table.step-table td {
  text-align: left;
}
#requirement_contents table.step-table .step-head {
  font-family: var(--font-serif);
  font-weight: 500;
  background: var(--color-lgray);
  padding: 0.3333333333em 0.7777777778em;
  margin-top: 1.3333333333em;
  margin-bottom: 0.5555555556em;
}
#requirement_contents table.step-table .step-head:first-child {
  margin-top: 0;
}
#requirement_contents table.step-table .attention {
  border-radius: 1.1111111111em;
  background-color: rgba(255, 255, 255, 0.75);
  text-align: left;
  margin-top: 1em;
  padding: 0.8333333333em 1.1111111111em;
}
#requirement_contents table.step-table .attention p {
  margin: 0;
  font-weight: normal;
  font-size: 0.9285714286em;
}
#requirement_contents table.step-table ul.sub > li {
  text-indent: -1em;
  padding-left: 1em;
}
#requirement_contents table.step-table ul.sub > li::before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}

/* ----------------------------
 seido テーブル （s12-8 奨励金対象事業の内容と要件）
------------------------------*/
#requirement_contents table.seido + table.seido {
  margin-top: 2.2222222222em;
}
#requirement_contents table.seido th, #requirement_contents table.seido td {
  text-align: left;
  vertical-align: top;
}
#requirement_contents table.seido th.seido-name {
  font-size: 1.2222222222em;
  text-align: center;
  vertical-align: middle;
}
#requirement_contents table.seido tbody th:not(.seido-name) {
  white-space: nowrap;
  vertical-align: middle;
}
#requirement_contents table.seido .cell-label {
  font-weight: bold;
  margin-top: 0.8888888889em;
}
#requirement_contents table.seido .cell-label:first-child {
  margin-top: 0;
}
#requirement_contents table.seido .cell-sublabel {
  font-weight: bold;
  margin-top: 0.7777777778em;
  margin-bottom: 0.2222222222em;
}
#requirement_contents table.seido .cell-sublabel:first-child {
  margin-top: 0;
}
#requirement_contents table.seido td .numbering.kakko li::before {
  font-weight: bold;
}
@media screen and (max-width: 780px) {
  #requirement_contents table.seido {
    min-width: 37.3333333333em;
  }
  #requirement_contents table.seido th {
    text-align: left;
  }
  #requirement_contents table.seido th.seido-name {
    -moz-text-align-last: left;
         text-align-last: left;
    text-indent: -1.9444444444em;
    padding-left: 3.6111111111em;
  }
}

/* ----------------------------
最低賃金の対象となる賃金 （s12-8-2）
------------------------------*/
#requirement_contents [data-section=s12-8-2] .fig {
  width: 100%;
  max-width: 55.5555555556em;
}
#requirement_contents [data-section=s12-8-2] .fig img {
  display: block;
  width: 100%;
  height: auto;
}

/* ----------------------------
 doc-list2 （s13-6 支給申請 必要書類一覧表）
------------------------------*/
#requirement_contents table.doc-list2 + .doc-list2 {
  margin-top: 1.6666666667em;
}
#requirement_contents table.doc-list2 td {
  text-align: left;
  vertical-align: top;
}
#requirement_contents table.doc-list2 td li + li {
  margin-top: 0.5em;
}
#requirement_contents table.doc-list2 tr.docname td {
  font-family: var(--font-serif);
  font-weight: 500;
  background-color: var(--color-lgray);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
#requirement_contents table.doc-list2 .doc-title i {
  font-style: normal;
  display: inline-block;
  width: 1.5em;
}
#requirement_contents table.doc-list2 tr.kyotsu td {
  font-size: 0.7222222222em;
}
#requirement_contents table.doc-list2 .method {
  font-family: var(--font-base);
  font-weight: normal;
  font-size: 0.7222222222em;
  margin-left: auto;
}

/* ----------------------------
 qa-highlight
------------------------------*/
/* アンカーで飛んだときに、ハイライトが画面上端に張り付かないよう約30px空ける。
   ハイライトが要素の外側へはみ出す分（セクションは上20px、li・段落は上6px）を足している */
#requirement_contents [id] {
  scroll-margin-top: 2em;
}
#requirement_contents h2[id], #requirement_contents h3[id], #requirement_contents h4[id], #requirement_contents h5[id] {
  scroll-margin-top: 2.7777777778em;
}
#requirement_contents tr[id] {
  scroll-margin-top: 1.6666666667em;
}

section.qa-highlight {
  position: relative;
}
section.qa-highlight::before {
  content: "";
  background: #F9FFDE;
  width: calc(100% + 2.2222222222em);
  height: calc(100% + 2.2222222222em);
  position: absolute;
  left: -1.1111111111em;
  top: -1.1111111111em;
  z-index: -1;
}

li.qa-highlight,
p.qa-highlight {
  background: #F9FFDE;
  box-shadow: 0 0 0 0.3333333333em #F9FFDE;
}

#requirement_contents tr.qa-highlight > th,
#requirement_contents tr.qa-highlight > td {
  background-color: #F9FFDE;
}

#requirement_contents table.qa-highlight tr > th,
#requirement_contents table.qa-highlight tr > td {
  background-color: #F9FFDE;
}

/* ハイライト箇所がページ全体のどこにあるかを、スクロールバーの中に印で示す。
   ページのスクロールバーを塗れるのは ::-webkit-scrollbar に対応したPCブラウザ（Chrome/Edge/Safari）だけ。
   このページのバーは常にカスタムにしておき、ハイライトがある間だけ JS が html.qa-marked と --qa-marks で溝（track）に描く。
   ※ハイライトの有無で通常のバーと切り替えると、100vw の値が変わって本文の幅ごと組み直されてしまうため常時にしている。
   スクロールバーはブラウザの実寸のUIなので、ここは em 換算せず px で持つ */
html::-webkit-scrollbar {
  width: 15px;
}
html::-webkit-scrollbar-track {
  background: var(--color-gray-bg);
}
html.qa-marked::-webkit-scrollbar-track {
  background: var(--qa-marks, none) no-repeat, var(--color-gray-bg);
}
html::-webkit-scrollbar-thumb {
  background-color: transparent;
  border: 2px solid var(--color-gray);
  border-radius: 8px;
  min-height: 24px;
}
html::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-gray-a03);
}

/* バーを塗れない環境（スクロールバーが常に見えないスマホ、Firefox）は、右端に細い帯を重ねて代わりにする。
   #wrapper は container-type を持ち fixed の基準になり得るため、帯は #wrapper の外に置く */
#qa_markers {
  width: 6px;
}
@media screen and (max-width: 780px) {
  #qa_markers {
    width: 9px;
  }
}
#qa_markers {
  position: fixed;
  right: 0;
  top: 0;
  height: 100vh;
  z-index: 22;
  pointer-events: none;
}
#qa_markers.active {
  background: var(--color-qa-track);
  border-radius: 999px;
}
@media screen and (max-width: 780px) {
  #qa_markers.active {
    background: var(--color-qa-track-sp);
  }
}
#qa_markers.active .now {
  display: block;
}
#qa_markers .now {
  background: var(--color-qa-now);
  border-radius: 999px;
  width: 100%;
  position: absolute;
  left: 0;
  display: none;
}
#qa_markers .marker {
  background: var(--color-qa-marker);
  width: 100%;
  position: absolute;
  left: 0;
  pointer-events: auto;
  cursor: pointer;
}
#qa_markers .marker::before {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* ------------------------------------------------
 モーダル表示中の横ズレ防止
------------------------------------------------ */
@supports (scrollbar-gutter: stable) {
  html {
    scrollbar-gutter: stable;
  }
  html.remodal-is-locked body {
    padding-right: 0 !important;
  }
}
/* ----------------------------
 simplebar
------------------------------*/
.simplebar-scrollbar::before {
  border-radius: 0.3888888889em;
  background: #E3E3E3;
  width: 0.3888888889em;
}

@media screen and (min-width: 780.1px) {
  .simplebar-offset {
    position: absolute;
  }
  .simplebar-content-wrapper {
    max-height: unset;
  }
}
@media screen and (any-hover: hover) {
  #requirement_contents .scroll[data-simplebar] .simplebar-track.simplebar-horizontal,
  #requirement_contents .scroll[data-simplebar] .simplebar-scrollbar {
    position: absolute;
    overflow: hidden;
    margin: 0;
    background-color: transparent;
    opacity: 1;
    transition: none;
  }
  #requirement_contents .scroll[data-simplebar] .simplebar-track.simplebar-horizontal {
    height: 20px;
  }
  #requirement_contents .scroll[data-simplebar] .simplebar-scrollbar {
    height: 14px;
    top: 3px;
  }
  #requirement_contents .scroll[data-simplebar] .simplebar-scrollbar::before {
    width: auto;
    background-color: #E3E3E3;
    height: 66.6667%;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
  #requirement_contents .scroll[data-simplebar] .scroll_inner {
    padding-bottom: calc(20px + 1.3333333333em);
  }
}
@media screen and (any-hover: hover) and (max-width: 780px) {
  #requirement_contents .scroll[data-simplebar] .simplebar-track.simplebar-horizontal {
    left: 1.3333333333em;
    right: 1.3333333333em;
  }
  #requirement_contents .scroll[data-simplebar] .scroll_inner {
    padding-bottom: calc(20px + 1.6em);
  }
}

/* ------------------------------------------------
 procedure2_flow
------------------------------------------------ */
.procedure2_flow .note {
  font-size: 0.6666666667em;
}
.procedure2_flow b {
  color: var(--color-red);
}
@media screen and (max-width: 780px) {
  .procedure2_flow .note {
    font-size: 0.6666666667em;
  }
}

/* ------------------------------------------------
 anchor_back（本文アンカーで移動したあと元の位置へ戻るボタン）
------------------------------------------------ */
#anchor_back {
  position: fixed;
  left: calc(50% + var(--center-offset, 0px));
  bottom: 1.6666666667em;
  transform: translateX(-50%);
  z-index: 23;
}
#anchor_back[hidden] {
  display: none;
}
#anchor_back .back {
  background-image: var(--grade-dgray);
  background-repeat: no-repeat;
  background-size: 100% 3.6857142857em;
  background-position: 0 -0.5714285714em;
  color: #fff;
  border: none;
  border-radius: 100px;
  box-shadow: 0 0.4444444444em 1.1111111111em 0 rgba(14, 19, 33, 0.1);
  font-size: 0.7777777778em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5714285714em;
       column-gap: 0.5714285714em;
  padding: 0.8571428571em 1.7142857143em;
}
#anchor_back .back::before {
  content: "";
  background: url(../images/common/icon_return_wh.svg) 0 0/contain no-repeat;
  width: 1.1428571429em;
  aspect-ratio: 16/12;
  flex-shrink: 0;
}
@media screen and (any-hover: hover) {
  #anchor_back .back {
    transition: opacity 0.3s ease;
  }
  #anchor_back .back:hover {
    opacity: 0.7;
  }
}
#anchor_back .close {
  background-image: var(--grade-dgray);
  background-repeat: no-repeat;
  background-size: 100% 2.8666666667em;
  background-position: 0 0;
  border: none;
  border-radius: 50%;
  width: 1.3333333333em;
  aspect-ratio: 1/1;
  position: absolute;
  right: -0.4444444444em;
  top: -0.4444444444em;
}
#anchor_back .close::before, #anchor_back .close::after {
  content: "";
  background-color: #fff;
  width: 0.5555555556em;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
}
#anchor_back .close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#anchor_back .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (any-hover: hover) {
  #anchor_back .close {
    transition: opacity 0.3s ease;
  }
  #anchor_back .close:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 780px) {
  #anchor_back {
    bottom: 2em;
  }
  #anchor_back .back {
    font-size: 0.8em;
    padding: 0.8333333333em 1.6666666667em;
    background-size: 100% 3.7333333333em;
    background-position: 0 -0.6666666667em;
  }
  #anchor_back .close {
    background-size: 100% 2.9866666667em;
    width: 1.6em;
    right: -0.5333333333em;
    top: -0.5333333333em;
  }
  #anchor_back .close::before, #anchor_back .close::after {
    width: 0.6666666667em;
  }
}