@charset "UTF-8";
/* common */
body {
  position: relative;
  min-height: 100vh;
  color: #2c2e3c;
  font-family:
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  line-height: 1.5;
  font-size: calc(14rem / 16);
}
* {
  word-wrap: break-word;
  word-break: break-word;
}
img {
  line-height: 0;
  max-width: 100%;
  height: auto;
}
/* frame */
header {
  padding: 12px 16px 16px;
  border-bottom: 1px solid #eee;
  text-align: center;
}
main {
  background-color: #f7f7f7;
}
footer {
  background-color: #2c2e3c;
  color: #fff;
  text-align: center;
  padding: 24px 16px;
}
.footer__list {
  display: flex;
  margin-bottom: 16px;
  justify-content: center;
  font-size: calc(14rem / 16);
  gap: 3em;
}
@media (max-width: 768px) {
  .footer__list {
    flex-direction: column;
    gap: 0.5em;
    text-align: left;
  }
}
.footer__item a {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .footer__item a:hover {
    text-decoration: none;
  }
}
.footer__item a:focus-visible {
  text-decoration: none;
}
/* layout */
.l-width-content {
  max-width: 1080px;
  padding: 30px 60px 110px;
  margin: 0 auto;
  border-color: #eee;
  border-style: solid;
  border-width: 0 1px;
  background-color: #fff;
}
@media (max-width: 768px) {
  .l-width-content {
    padding: 16px;
  }
}
.l-section--secondary {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .l-section--secondary {
    margin-top: 30px;
  }
}
/* component */
.section__head {
  text-align: center;
  margin-bottom: 32px;
  .title {
    font-weight: 700;
    font-size: calc(35rem / 16);
  }
}
@media (max-width: 768px) {
  .section__head {
    .title {
      font-size: calc(28rem / 16);
    }
  }
}
.section--secondary .section__head {
  margin-bottom: 24px;
}
.section--secondary .section__head .title {
  font-size: calc(18rem / 16);
}
.figure {
  margin-top: 32px;
  text-align: center;
}
@media (min-width: 769px) {
  .figure {
    margin-top: 20px;
  }
}
.strong {
  margin-bottom: 64px;
  font-size: calc(24rem / 16);
  background-color: #f7f7f7;
  border-radius: 4px;
  padding: 30px 16px;
  text-align: center;
}
@media (max-width: 768px) {
  .strong {
    margin-bottom: 32px;
    font-size: calc(20rem / 16);
    padding: 16px;
    text-align: left;
  }
}
.note {
  text-align: right;
  font-size: calc(12rem / 16);
  margin-top: 8px;
}
.bg-box {
  background-color: #f7f7f7;
  border-radius: 4px;
  padding: 30px;
}
@media (max-width: 768px) {
  .bg-box {
    padding: 20px;
  }
}
.list--disc li {
  position: relative;
  padding-left: 1em;
}
.list--disc li:before {
  content: "・";
  margin-left: -1em;
  color: #434553;
}
/* utility */
.mt1em {
  margin-top: 1em;
}
.text--indent {
  list-style-type: none;
  padding-left: 1em;
  text-indent: -1em;
}
@media (min-width: 769px) {
  .l-center--lg {
    text-align: center;
  }
}
