@charset "UTF-8";
html:focus-within {
  scroll-behavior: smooth;
}
html:focus-within body *[tabindex="-1"]:focus {
  outline: none;
}

body {
  background-color: #fff9df;
  color: #222;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.1em;
  font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

img {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: 100%;
  height: auto;
}

a {
  color: #3366CC;
  cursor: pointer;
}
a:link, a:visited, a:active, a:hover {
  text-decoration: none;
}

.framework {
  display: grid;
  grid-template-columns: [full-start] minmax(1rem, 1fr) [normal-start] minmax(0, 60rem) [normal-end] minmax(1rem, 1fr) [full-end];
}
.framework > * {
  grid-column: normal;
}
.framework > *.framework__full {
  grid-column: full;
}

#header {
  min-width: 320px;
  margin: 0 auto;
  width: 100%;
  background-color: #FFF;
}

.wrap-header {
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 1fr 22rem;
  align-items: center;
  gap: 1rem 2rem;
}
@media (max-width: 768px) {
  .wrap-header {
    grid-template-columns: 1fr;
  }
  .wrap-header figure {
    width: 100%;
  }
}

.wrap-textgroup {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

main {
  min-width: 320px;
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

/* main_contents */
h2 {
  font-size: clamp(1.35rem, 3.125vw, 1.5rem);
  line-height: clamp(2.3625rem, 5.46875vw, 2.625rem);
  text-align: center;
  font-weight: bold;
  color: #FC7A1B;
}

.list-entry {
  width: 100%;
  max-width: 48rem;
  background-color: white;
  margin: 0 auto 2em;
  display: grid;
}
@media (min-width: 769px) {
  .list-entry {
    border: 1px solid #0f73dc;
    border-top: 3px solid #0f73dc;
    border-bottom: 3px solid #0f73dc;
    grid-template-columns: auto 1fr;
  }
  .list-entry > dt:not(:nth-last-child(-n+2)) {
    border-bottom: dotted 1px white;
  }
  .list-entry > dd:not(:nth-last-child(-n+2)) {
    border-bottom: dotted 1px #0f73dc;
  }
}
@media (max-width: 768px) {
  .list-entry {
    grid-template-columns: 1fr;
  }
}
.list-entry > dt {
  font-size: 18px;
  font-weight: bold;
  background-color: #0f73dc;
  color: white;
  padding: 2rem 1rem;
  display: flex;
  justify-content: center;
  align-items: top;
  letter-spacing: 0.25em;
}
@media (max-width: 768px) {
  .list-entry > dt {
    padding: 0.5rem 1rem;
  }
}
.list-entry > dd {
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.list-entry > dd ul:not([class]) {
  margin: 0;
}

.list-qualification {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  row-gap: 0.875em;
}

b {
  font-weight: bold;
  font-size: larger;
}

.red {
  color: #E32929;
  font-weight: bold;
  font-size: larger;
}

address {
  font-style: normal;
}
address a {
  font-size: larger;
  font-weight: bold;
}

.link-btn {
  width: 100%;
  font-size: clamp(1.125rem, 2.6041666667vw, 1.25rem);
  line-height: clamp(1.125rem, 2.6041666667vw, 1.25rem);
  padding: 1em;
  border-radius: 1.5em;
  display: inline-block;
  text-align: center;
  background-color: #3366CC;
  font-weight: bold;
  color: white;
  transition: all 0.1s ease-out;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 -4px 4px -2px rgba(0, 0, 0, 0.4) inset;
}
.link-btn:link, .link-btn:visited, .link-btn:active {
  color: white;
}
.link-btn:hover {
  background-color: #7094db;
}

.list-notes {
  font-size: clamp(0.9rem, 2.0833333333vw, 1rem);
  line-height: clamp(1.575rem, 3.6458333333vw, 1.75rem);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.875em;
}
.list-notes > li {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.25em;
}
.list-notes > li:before {
  content: "※";
}

/* sp-footer */
#footer {
  min-width: 320px;
  padding: 1rem 0;
  background-color: #424242;
  color: #FFF;
  font-size: smaller;
  row-gap: 1rem;
}

.pc-footer {
  width: 100%;
  height: 3em;
  max-width: 48rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .pc-footer {
    display: none;
  }
}
.pc-footer__list-left {
  display: flex;
  gap: 1em;
}
.pc-footer a {
  color: #FFF;
  text-decoration: none;
}
.pc-footer a:hover {
  border-bottom: solid 1px;
}
.pc-footer a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0c8";
  margin-right: 0.25em;
}

.sp-footer {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media (min-width: 769px) {
  .sp-footer {
    display: none;
  }
}
.sp-footer > li {
  width: 8rem;
  text-align: center;
}
.sp-footer > li a {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1em;
  border-radius: 0.5rem;
  background-color: #4C4C4C;
  color: #FFF;
}
.sp-footer > li a:hover, .sp-footer > li a:active {
  background: #3CF;
  color: #FFF;
}
.sp-footer > li a i {
  font-size: 200%;
}

.copyright {
  text-align: center;
}