@charset "UTF-8";
/*------ Accordion ---------*/
body main h2.parco.accordion {
  border: 2px solid var(--border-color);
  padding: 0.5em 0.5em 0.5em 1.1em;
  border-radius: 10px 40px 40px 10px;
}

body main h2.parco.accordion:before {
  top: 10px;
  left: 15px;
}

    body main h2.parco.accordion:after {
        content: "";
        display: block;
        width: 1.5em;
        height: 1.5em;
        background: url("/-/media/NMOSDSource_jp/img/common/icon_plus.png");
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        z-index: -5;
        top: 17px;
        right: 15px;
    }
@media (max-width: 639.98px) {
  body main h2.parco.accordion:after {
    top: 12px;
    right: 12px;
  }
}

body main h2.parco.accordion.open:after {
    background: url("/-/media/NMOSDSource_jp/img/common/icon_minus.png");
    background-repeat: no-repeat;
    background-size: cover;
}

body main h2.accordion button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: var(--h2_parco);
  font-size: clamp(22px, 5.641025641vw, 30px);
  font-weight: bold;
  display: block;
  width: 100%;
  cursor: pointer;
  text-align: left;
}
@media (max-width: 639.98px) {
  body main h2.accordion button {
    padding-left: 0;
  }
}

.accordion_inner {
  display: none;
  opacity: 0;
}

.accordion.open + .accordion_inner {
  display: block;
  opacity: 1;
  -webkit-transition: all 2s ease-in-out;
  transition: all 2s ease-in-out;
}

/*------ Accordion ---------*/
/*------ Useful ---------*/
:root {
  --require-color: #003c71;
  --require-color-weaken: rgba(0, 60, 113, 0.3);
  --reference-color: #ecf5e1;
}

/*----- Google Fonts ----*/
.useful h3 {
  color: var(--h2_parco);
  font-size: clamp(18px, 5.1282051282vw, 26px);
  font-weight: bold;
  border-bottom: solid 2px #d5efaa;
}
@media (max-width: 639.98px) {
  .useful h3 {
    margin-top: 0.2em;
    margin-bottom: 0.5em;
  }
}
.useful .useful_box {
  padding: 0.824742268vw 2.8865979381vw;
}
@media (max-width: 639.98px) {
  .useful .useful_box {
    padding: 0.824742268vw 5.1546391753vw;
  }
}
.useful .useful_inner {
  padding-left: 2.5773195876vw;
  padding-right: 2.5773195876vw;
  padding-bottom: 1em;
  line-height: 1.4;
}
@media (max-width: 639.98px) {
  .useful .useful_inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.useful .useful_text {
  padding-bottom: 0.5em;
  font-size: clamp(16px, 4.4153846154vw, 19px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 2px;
}
.useful .useful_text + .extarnal_list {
  margin-top: 1em;
}
.useful .require_address {
  margin-top: 0.2em;
  letter-spacing: 2px;
}
@media (max-width: 639.98px) {
  .useful .require_address {
    margin-top: 0.5em;
  }
}
.useful .require_address_full {
  margin-right: -2em;
}
@media (max-width: 639.98px) {
  .useful .require_address_full {
    margin-right: 0;
  }
}
.useful .require_address dt,
.useful .require_address dd {
  display: inline-block;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  color: var(--require-color);
}
@media (max-width: 639.98px) {
  .useful .require_address dt,
  .useful .require_address dd {
    display: block;
    font-size: clamp(16px, 4.4153846154vw, 20px);
  }
}
.useful .require_address dt {
  font-weight: 700;
}
.useful .require_address dd {
  margin-left: 0;
  font-weight: 400;
}
@media (max-width: 639.98px) {
  .useful .require_address dd {
    margin-top: 0.3em;
  }
}
.useful .require_title {
  position: relative;
  font-weight: 600;
  padding-left: 1.5em;
}
.useful .require_title::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1em;
  height: 1em;
  background: var(--require-color);
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 3px;
}
@media (max-width: 639.98px) {
  .useful .require_title::before {
    width: 0.8em;
    height: 0.8em;
  }
}
.useful .require_title::after {
  content: "：";
  color: var(--require-color-weaken);
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.2em;
}
.useful .useful_ref {
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  background: var(--reference-color);
  width: 6em;
  line-height: 1;
  margin-bottom: 0.5em;
  padding: 0.5em;
  font-weight: 500;
  text-align: center;
  border-radius: 20px;
}
.useful .extarnal_list {
  margin-left: 1em;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-weight: 400;
}
@media (max-width: 639.98px) {
  .useful .extarnal_list {
    margin-left: 0;
    font-size: clamp(16px, 4.4153846154vw, 18px);
  }
}
.useful .extarnal_list > li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.6;
}
    .useful .extarnal_list > li::before {
        content: "";
        display: inline-block;
        position: absolute;
        width: 1em;
        height: 1em;
        background: url("/-/media/NMOSDSource_jp/img/common/icon_external_link.png");
        background-repeat: no-repeat;
        background-size: cover;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-30%);
        transform: translateY(-30%);
    }
@media (max-width: 639.98px) {
  .useful .extarnal_list > li::before {
    top: 7px;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

/*----- モーダル -----*/
body.in {
  overflow: hidden;
}

#modal__disclaimer {
  /* Layout Properties */
  top: 0px;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  position: fixed;
  z-index: 50000;
  /* UI Properties */
  background: rgba(0, 0, 0, 0.6) 0% 0% no-repeat padding-box;
  opacity: 1;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media (min-width: 680px) {
  #modal__disclaimer {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#modal__disclaimer.fade {
  display: none;
  -webkit-animation: fadeout 0.35s ease-out forwards;
          animation: fadeout 0.35s ease-out forwards;
}
#modal__disclaimer.fade.in {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: fadein 0.5s ease-out forwards;
          animation: fadein 0.5s ease-out forwards;
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@media (min-width: 580px) {
  #modal__disclaimer .br_sp_only {
    display: none;
  }
}
#modal__disclaimer .modal_body {
  /* Layout Properties */
  width: calc(100vw - 40px);
  width: calc(100dvw - 40px);
  height: calc(100vh - 40px);
  height: calc(100dvh - 40px);
  margin: 20px auto;
  padding: 0 2.2222222222em;
  /* UI Properties */
  background: #ffffff 0% 0% no-repeat padding-box;
  border-radius: 6px;
  opacity: 1;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_body {
    width: 644px;
    height: 412px;
    padding: 0 50px;
  }
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_body {
    width: 837.2px;
    height: 535.6px;
    padding: 0 65px;
  }
}
#modal__disclaimer .modal_body p {
  font-size: 0.8333333333em;
  font-weight: 500;
  line-height: 1.4em;
  margin: 0 0 2em;
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_body p {
    font-size: 15px;
  }
}
#modal__disclaimer .modal_title {
  /* Layout Properties */
  margin: 0 auto 1.4285714286em;
  /* UI Properties */
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  color: var(--require-color);
  font-size: 1.5555555556em;
  line-height: 1.0714285714;
  letter-spacing: 0px;
}
#modal__disclaimer .modal_remind {
  word-break: keep-all;
  color: var(--h1_title);
  font-size: 1.1111111111em;
  line-height: 1.2;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-weight: 700;
}
#modal__disclaimer .modal_footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin: 40px auto 0;
  }
}
#modal__disclaimer .modal_footer a {
  background-color: var(--require-color);
  height: 75px;
  width: 100%;
  max-width: 300px;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: YakuHanRP, "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  color: white;
  font-size: 1.1111111111em;
  line-height: 1em;
  position: relative;
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_footer a {
    width: 245px;
  }
}
@media (min-width: 1920px) {
  #modal__disclaimer .modal_footer a {
    width: 318.5px;
  }
}
@media (max-width: 679.8px) {
  #modal__disclaimer .modal_footer a {
    margin: 40px 0 0;
  }
}
#modal__disclaimer .modal_footer a:hover {
  cursor: pointer;
}
#modal__disclaimer .modal_footer a.go {
  letter-spacing: 0.2em;
}
#modal__disclaimer .modal_footer a.go::before {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  content: "\e5e1";
  position: absolute;
  right: 0.5em;
}
@media (min-width: 680px) {
  #modal__disclaimer .modal_footer a.go {
    margin-left: 50px;
  }
}
#modal__disclaimer .modal_footer a.not {
  letter-spacing: 0.05em;
}
#modal__disclaimer .modal_footer a.not::before {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  content: "\e5e1";
  position: absolute;
  -webkit-transform: rotate(0.5turn);
          transform: rotate(0.5turn);
  left: 0.5em;
}
#modal__disclaimer .modal_footer a.not span.small {
  font-size: 0.7em;
  font-weight: 500;
}