@charset "UTF-8";
:root {
  --primary-main-color: #C55400;
  --primary-bg-color: #FEF7F2;
  --text-primary-color: #3E3E3E;
  --text-main-color: #C55400;
  --green-main-color: #3E8600;
  --blue-main-color: #128FA6;
  --font-ja: "Noto Sans JP", sans-serif;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, section, article, aside, hgroup, header, footer, nav, dialog, figure, menu, video, audio, mark, time, canvas, details {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
}

section, article, aside, hgroup, header, footer, main, nav, dialog, figure, figcaption {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
}

b, strong, em {
  font-weight: inherit;
  font-style: inherit;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: 180px;
}
@media screen and (max-width:767px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  width: 100%;
  color: var(--text-primary-color);
  font-family: var(--font-ja);
  font-size: 1.4rem;
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width:767px) {
  body.is-locked {
    position: fixed;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width:767px) {
  body {
    min-width: 320px;
  }
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-break: break-all;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: normal !important;
  word-wrap: break-word;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe {
  vertical-align: bottom;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.l-header__inner {
  height: 7.3rem;
  padding: 0.8rem 0 0.8rem 1.6rem;
  background: #fff;
  -webkit-box-shadow: 0 4px 25px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 4px 25px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (max-width:1024px) {
  .l-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 2rem auto;
        grid-template-areas: "ttl contact" "nav nav";
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    row-gap: 2rem;
    height: 16.4rem;
    padding: 2.8rem 4rem 1.6rem;
    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
  }
}

@media print, screen and (min-width:1025px) {
  .l-header-ttl {
    grid-area: ttl;
  }
}

.l-header-ttl__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:1024px) {
  .l-header-ttl__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.4rem;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-ttl__main {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.4rem;
  }
}

.l-header-ttl__logo {
  width: 20rem;
}
@media print, screen and (min-width:1025px) {
  .l-header-ttl__logo {
    width: 26.7rem;
  }
}

.l-header-ttl__site {
  color: var(--text-primary-color);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media print, screen and (min-width:1025px) {
  .l-header-ttl__site {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 390px) {
  .l-header-ttl__site {
    font-size: 3.3078880407vw;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-ttl__site:hover {
    opacity: 0.7;
  }
}

.l-header-contact {
  grid-area: contact;
}
@media screen and (max-width:1024px) {
  .l-header-contact {
    display: none;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-contact {
    position: relative;
    top: -0.3rem;
  }
}

.l-header-contact__btn {
  width: 19rem;
  height: 5.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--primary-main-color);
  border: 2px solid var(--primary-main-color);
  border-radius: 4px;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.l-header-contact__btn span {
  font-weight: 700;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.75;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-header-contact__btn span::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  -webkit-mask-image: url(../images/icon_mail.svg);
          mask-image: url(../images/icon_mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  margin-right: 1.6rem;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
@media print, screen and (min-width:1025px) {
  .l-header-contact__btn:hover {
    background: #fff;
  }
  .l-header-contact__btn:hover span {
    color: var(--primary-main-color);
  }
  .l-header-contact__btn:hover span::before {
    background-color: var(--primary-main-color);
  }
}

.l-header-menu {
  width: 6rem;
  height: 6rem;
}
@media print, screen and (min-width:1025px) {
  .l-header-menu {
    display: none;
  }
}

.l-header-menu__btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l-header-menu__btn-line {
  width: 2.7rem;
  height: 2px;
  background: #000;
  position: relative;
  -webkit-transition: background-color 0.1s ease;
  transition: background-color 0.1s ease;
}
.l-header-menu__btn-line::before, .l-header-menu__btn-line::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  background: #000;
  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;
  transition: top 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease;
  transition: transform 0.3s ease, top 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header-menu__btn-line::before {
  top: -7px;
}
.l-header-menu__btn-line::after {
  top: 7px;
}

.l-header-menu__btn.is-open .l-header-menu__btn-line {
  background-color: #fff;
}
.l-header-menu__btn.is-open .l-header-menu__btn-line::before {
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-header-menu__btn.is-open .l-header-menu__btn-line::after {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (max-width:1024px) {
  .l-header-nav {
    width: 100%;
    height: calc(100vh - 7.2rem);
    position: absolute;
    top: 7.2rem;
    left: 0;
    background: #fff;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
    opacity: 0;
    pointer-events: none;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-nav {
    grid-area: nav;
  }
}
@media print, screen and (min-width:1025px){
  .l-header-ttl {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-header-contact {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .l-header-nav {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
.l-header-nav.is-open {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width:1024px) {
  .l-header-nav__inner {
    padding: 1.6rem 0;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.l-header-nav__list {
  position: relative;
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-header-nav__list::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  background: #eee;
  width: 100%;
  height: 1px;
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__list::before {
    width: 1px;
    height: 100%;
    bottom: inherit;
    top: 0;
  }
}
.l-header-nav__list li {
  position: relative;
}
.l-header-nav__list li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #eee;
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__list li::before {
    width: 1px;
    height: 100%;
  }
}
.l-header-nav__list a {
  color: var(--text-primary-color);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  padding: 1.6rem 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width:1024px) {
  .l-header-nav__list a {
    line-height: 1.75;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__list a {
    font-size: 1.6rem;
    height: 4.8rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 1.6rem;
    -webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
  }
}
@media print, screen and (min-width:1241px) {
  .l-header-nav__list a {
    font-size: 1.8rem;
    padding: 0 2.4rem;
  }
}
@media print, screen and (min-width:1025px) {
  .l-header-nav__list a:hover {
    color: var(--primary-main-color);
  }
}

.l-footer-contact {
  background: url(../images/contact_bg_sp.png) no-repeat center top/cover;
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}
@media screen and (max-width:767px) {
  .l-footer-contact {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}
@media print, screen and (min-width:768px) {
  .l-footer-contact {
    background: url(../images/contact_bg.png) no-repeat center top/cover;
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.l-footer-contact__box {
  width: 100%;
  max-width: 73rem;
  padding: 1.6rem;
  margin: 0 auto;
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__box {
    padding: 3.2rem 1.6rem;
  }
}

.l-footer-contact__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.03em;
  text-align: center;
  margin-bottom: 0.4rem;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__ttl {
    font-size: 3.2rem;
  }
}

.l-footer-contact__tel {
  text-align: center;
  margin-left: -1.2rem;
  margin-right: -1.2rem;
}
.l-footer-contact__tel a {
  color: var(--text-main-color);
  font-size: 10.1781170483vw;
  font-size: min(10.1781170483vw, 5.6rem);
  font-weight: 700;
  line-height: 1.1;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__tel a {
    font-size: 6.4rem;
  }
}
@media print, screen and (min-width:1025px) {
  .l-footer-contact__tel a {
    pointer-events: none;
  }
}
.l-footer-contact__tel a::before {
  content: "";
  display: inline-block;
  width: 7.6335877863vw;
  height: 7.6335877863vw;
  width: min(7.6335877863vw, 4rem);
  height: min(7.6335877863vw, 4rem);
  background: url(../images/icon_tel.svg) no-repeat center top;
  background-size: contain;
  margin-right: 1.0178117048vw;
  position: relative;
  top: -0.2544529262vw;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__tel a::before {
    width: 4.2rem;
    height: 4.2rem;
    margin-right: 0.8rem;
    top: -0.3rem;
  }
}
.l-footer-contact__tel p {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width:767px) {
  .l-footer-contact__tel .c-list-note {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}
.l-footer-contact__tel .c-list-note li {
  line-height: 1.5;
}

.l-footer-contact__period {
  margin-top: 0.8rem;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__period {
    margin-top: 1.6rem;
  }
}
.l-footer-contact__period p {
  color: var(--text-main-color);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.75;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__period p {
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: center;
  }
}
.l-footer-contact__period .c-list-note li {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__period .c-list-note li {
    font-size: 1.8rem;
    text-align: center;
  }
}

.l-footer-contact__operator {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .l-footer-contact__operator {
    font-size: 1.8rem;
    margin-top: 2.4rem;
    text-align: center;
  }
}

.l-footer-contact__reaflet {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
.l-footer-contact__reaflet .link-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.l-footer-contact__reaflet .c-btn--pdf {
  width: 250px;
}
@media screen and (max-width:767px) {
  .l-footer-contact__reaflet {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-footer-contact__reaflet .c-btn--pdf {
    width: 100%;
  }
}

.l-footer-main {
  background: #fff;
  padding-top: 2.4rem;
  padding-bottom: 1.2rem;
}
@media print, screen and (min-width:768px) {
  .l-footer-main {
    padding-top: 3.2rem;
    padding-bottom: 1.6rem;
  }
}

.l-footer-main__inner {
  max-width: 114rem;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
  margin: 0 auto;
}
@media print, screen and (min-width:768px) {
  .l-footer-main__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.l-footer-main__body {
  margin-bottom: 2.4rem;
}
@media print, screen and (min-width:768px) {
  .l-footer-main__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 4rem;
  }
}

@media screen and (max-width:767px) {
  .l-footer-main__info {
    margin-bottom: 4rem;
  }
}

.l-footer-main__logo {
  width: 20rem;
}
@media screen and (max-width:767px) {
  .l-footer-main__logo {
    margin: 0 auto 1.6rem;
  }
}
@media print, screen and (min-width:768px) {
  .l-footer-main__logo {
    width: 26.7rem;
  }
}

.l-footer-main__link {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5rem 2.4rem;
}
@media screen and (max-width:767px) {
  .l-footer-main__link {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-footer-main__link a {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1.75;
  text-decoration: underline;
}
@media print, screen and (min-width:1025px) {
  .l-footer-main__link a:hover {
    text-decoration: none;
  }
}
.l-footer-main__link a[target=_blank]::after {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask-image: url(../images/icon_blank.svg);
          mask-image: url(../images/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.8rem;
}

.l-footer-main__company {
  margin-top: 2.4rem;
}

.l-footer-main__company-name {
  font-size: 1.8rem;
  line-height: 1.75;
}

.l-footer-main__company-address {
  font-size: 1.6rem;
  line-height: 1.75;
}

.l-footer-main__company-mail a {
  color: var(--text-primary-color);
  font-size: 1.6rem;
  line-height: 1.75;
}
@media print, screen and (min-width:1025px) {
  .l-footer-main__company-mail a:hover {
    text-decoration: underline;
  }
}

.l-footer-main__anouncement {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-bottom: 2.4rem;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .l-footer-main__anouncement {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

.l-footer-main__copyright {
  font-size: 1.4rem;
  line-height: 1.75;
  display: block;
}
@media print, screen and (min-width:768px) {
  .l-footer-main__copyright {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

.l-page {
  padding-top: 7.3rem;
}
@media print, screen and (min-width:1025px) {
  .l-page {
    padding-top: 16.4rem;
  }
}

.l-main {
  line-height: 1.75;
}

.l-inner {
  width: 100%;
  max-width: 114rem;
  padding-left: 4.0712468193vw;
  padding-right: 4.0712468193vw;
  margin: 0 auto;
}
@media print, screen and (min-width:768px) {
  .l-inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.l-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media print, screen and (min-width:768px) {
  .l-section {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.l-section-md {
  font-size: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .l-section-md {
    font-size: 1.8rem;
  }
}
.l-section-md + .l-section-md {
  margin-top: 4rem;
}

.l-section-md-contents {
  display: -ms-grid;
  display: grid;
  gap: 2.4rem;
}

.l-section-md-contents__detail {
  min-height: 3.2rem;
}
@media print, screen and (min-width:768px) {
  .l-section-md-contents__detail {
    min-height: 6.4rem;
  }
}

.l-section-sm + .l-section-sm {
  margin-top: 2.4rem;
}

.c-ttl {
  text-align: center;
  position: relative;
  margin-bottom: 5rem;
}
@media print, screen and (min-width:768px) {
  .c-ttl {
    margin-bottom: 6.5rem;
  }
}
.c-ttl span {
  font-size: 3.2rem;
  line-height: 1.5;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-ttl span {
    font-size: 4rem;
  }
}
.c-ttl span::after {
  content: "";
  display: block;
  width: 100%;
  height: 2rem;
  position: absolute;
  bottom: -2.4rem;
  left: 0;
  background: url(../images/ttl_line_sp.svg) no-repeat center top;
  background-size: contain;
}
@media print, screen and (min-width:768px) {
  .c-ttl span::after {
    bottom: -3rem;
    height: 2.5rem;
    background: url(../images/ttl_line.svg) no-repeat center top;
    background-size: contain;
  }
}

.c-ttl-line {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 8px;
  border-bottom: 2px solid #c7c7c7;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-ttl-line {
    font-size: 3.2rem;
  }
}
.c-ttl-line::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 12rem;
  border-bottom: 2px solid var(--primary-main-color);
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}

.c-ttl-disc {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.8rem;
  position: relative;
  padding-left: 2.6rem;
  text-indent: -2.6rem;
}
@media print, screen and (min-width:768px) {
  .c-ttl-disc {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.c-ttl-disc::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: var(--primary-main-color);
  border-radius: 50%;
  margin-right: 1rem;
}
@media print, screen and (min-width:768px) {
  .c-ttl-disc::before {
    position: relative;
    top: -0.1rem;
  }
}

.c-txt-link {
  text-decoration: underline;
}
@media print, screen and (min-width:1025px) {
  .c-txt-link:hover {
    text-decoration: none;
  }
}

.c-txt-link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: currentColor;
  -webkit-mask-image: url(../images/icon_blank.svg);
          mask-image: url(../images/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.5rem;
}
@media print, screen and (min-width:768px) {
  .c-txt-link[target=_blank]::after {
    width: 1.4rem;
    height: 1.4rem;
  }
}

.c-txt-em {
  color: var(--text-main-color);
  font-weight: 700;
}

.c-txt-lead {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
@media print, screen and (min-width:768px) {
  .c-txt-lead {
    font-size: 2rem;
  }
}
@media print, screen and (min-width:1025px) {
  .c-txt-lead {
    font-size: 2.4rem;
    text-align: center;
  }
}

.c-list-num > li {
  line-height: 1.75;
  counter-increment: listnum;
  padding-left: 2.4rem;
  position: relative;
}
.c-list-num > li::before {
  content: counter(listnum) ".";
  font-weight: 700;
  position: absolute;
  left: 0;
}
.c-list-num > li + li {
  margin-top: 0.6rem;
}

.c-list-str {
  margin-top: 0.8rem;
}
.c-list-str > li {
  line-height: 1.75;
  padding-left: 3rem;
  position: relative;
}

.c-list-str__head {
  font-weight: 700;
  position: absolute;
  left: 0;
}

.c-list-disc li {
  margin-left: 1.5em;
  list-style: disc;
}

.c-list-note li {
  font-weight: 400;
  text-indent: -1em;
  padding-left: 1em;
}

.c-btn {
  width: 100%;
  height: 4.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 2.4rem;
  background-color: var(--primary-main-color);
  border: 2px solid var(--primary-main-color);
  position: relative;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
@media print, screen and (min-width:768px) {
  .c-btn {
    height: 5.2rem;
    border-radius: 2.6rem;
  }
}
.c-btn::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 2rem;
  background-color: #fff;
  -webkit-mask-image: url(../images/icon_arrow.svg);
          mask-image: url(../images/icon_arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.c-btn--download::after {
  -webkit-mask-image: url(../images/icon_download.svg);
          mask-image: url(../images/icon_download.svg);
}

.c-btn--pdf::after {
  top: calc(50% - 0.9rem);
  width: 1.8rem;
  height: 1.8rem;
  -webkit-mask-image: url(../images/icon_pdf.svg);
          mask-image: url(../images/icon_pdf.svg);
}

.c-btn__txt {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.75;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media print, screen and (min-width:768px) {
  .c-btn__txt {
    font-size: 1.8rem;
  }
}

.c-btn--green {
  background-color: var(--green-main-color);
  border-color: var(--green-main-color);
}

.c-btn--blue {
  background-color: var(--blue-main-color);
  border-color: var(--blue-main-color);
}

.c-btn--line {
  background-color: #fff;
}
.c-btn--line::after {
  background-color: var(--primary-main-color);
}
.c-btn--line .c-btn__txt {
  color: var(--text-primary-color);
}

.c-btn--line.c-btn--green::after {
  background-color: var(--green-main-color);
}

.c-btn--line.c-btn--blue::after {
  background-color: var(--blue-main-color);
}

@media print, screen and (min-width:1025px) {
  .c-btn:hover {
    background-color: #fff;
  }
  .c-btn:hover::after {
    background-color: var(--primary-main-color);
  }
  .c-btn:hover .c-btn__txt {
    color: var(--primary-main-color);
  }
}

@media print, screen and (min-width:1025px) {
  .c-btn--green:hover {
    background-color: #fff;
  }
  .c-btn--green:hover::after {
    background-color: var(--green-main-color);
  }
  .c-btn--green:hover .c-btn__txt {
    color: var(--green-main-color);
  }
}

@media print, screen and (min-width:1025px) {
  .c-btn--blue:hover {
    background-color: #fff;
  }
  .c-btn--blue:hover::after {
    background-color: var(--blue-main-color);
  }
  .c-btn--blue:hover .c-btn__txt {
    color: var(--blue-main-color);
  }
}

@media print, screen and (min-width:1025px) {
  .c-btn--line:hover {
    background-color: var(--primary-main-color);
  }
  .c-btn--line:hover::after {
    background-color: #fff;
  }
  .c-btn--line:hover .c-btn__txt {
    color: #fff;
  }
}

@media print, screen and (min-width:1025px) {
  .c-btn--line.c-btn--green:hover {
    background-color: var(--green-main-color);
  }
}

@media print, screen and (min-width:1025px) {
  .c-btn--line.c-btn--blue:hover {
    background-color: var(--blue-main-color);
  }
}

.c-box-data__ttl {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  background: var(--primary-main-color);
  text-align: center;
  padding: 0.8rem;
  border-radius: 8px 8px 0 0;
}
@media print, screen and (min-width:768px) {
  .c-box-data__ttl {
    font-size: 3.2rem;
  }
}

.c-box-data__body {
  background: #fff;
  border: 2px solid var(--primary-main-color);
  border-radius: 0 0 8px 8px;
  padding: 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.02em;
}
@media print, screen and (min-width:768px) {
  .c-box-data__body {
    padding: 2.4rem;
    font-size: 1.8rem;
  }
}

.c-box-data__lead {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
}
@media print, screen and (min-width:768px) {
  .c-box-data__lead {
    font-size: 2.4rem;
    text-align: center;
  }
}
@media print, screen and (min-width:1025px) {
  .c-box-data__lead {
    font-size: 3.2rem;
  }
}

.c-box-def__ttl {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary-main-color);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.4rem 1.2rem;
  border-radius: 4px 4px 0 0;
}
@media print, screen and (min-width:768px) {
  .c-box-def__ttl {
    font-size: 1.6rem;
    padding: 0.4rem 1.6rem;
  }
}

.c-box-def__body {
  font-size: 1.4rem;
  background: #fff;
  border: 1px solid var(--primary-main-color);
  border-radius: 0 4px 4px 4px;
  padding: 1.2rem;
}
@media print, screen and (min-width:768px) {
  .c-box-def__body {
    font-size: 1.6rem;
    padding: 1.6rem 3.2rem;
  }
}

.p-breadcrumbs {
  padding: 0.8rem 1.6rem;
  background: #fafafa;
}
@media print, screen and (min-width:768px) {
  .p-breadcrumbs {
    padding: 1.6rem 4rem;
  }
}

.p-breadcrumbs__list li {
  font-size: 1.2rem;
  font-weight: 600;
  display: inline-block;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .p-breadcrumbs__list li {
    font-size: 1.6rem;
  }
}
.p-breadcrumbs__list li + li {
  padding-left: 2.6rem;
}
@media print, screen and (min-width:768px) {
  .p-breadcrumbs__list li + li {
    padding-left: 4rem;
  }
}
.p-breadcrumbs__list li + li::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 1.2rem;
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  background: url(../images/icon_arrow_02.svg) no-repeat center top/contain;
}
@media print, screen and (min-width:768px) {
  .p-breadcrumbs__list li + li::before {
    width: 0.7rem;
    height: 1.3rem;
    top: 0.8rem;
    left: 1.6rem;
  }
}
.p-breadcrumbs__list a {
  font-size: 1.2rem;
  text-decoration: underline;
}
@media print, screen and (min-width:768px) {
  .p-breadcrumbs__list a {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width:1025px) {
  .p-breadcrumbs__list a:hover {
    text-decoration: none;
  }
}

.p-page-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 20rem;
  background: url(../images/header_bg.png) no-repeat center center/cover;
}
@media print, screen and (min-width:768px) {
  .p-page-header {
    height: 31rem;
  }
}

.p-page-header__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .p-page-header__ttl {
    font-size: 4.6rem;
  }
}

.p-lead-section {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  margin-bottom: 4rem;
}
@media print, screen and (min-width:768px) {
  .p-lead-section {
    gap: 6.4rem;
    margin-bottom: 6.4rem;
  }
}

.p-flow {
  background: var(--primary-bg-color);
  border-radius: 6px;
  padding: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .p-flow {
    padding: 2.4rem;
  }
}

.p-flow__list {
  display: -ms-grid;
  display: grid;
  gap: 5rem;
}
.p-flow__list > li {
  background: #fff;
  border-radius: 8px;
  padding: 1.6rem 1.6rem;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .p-flow__list > li {
    padding: 1.6rem 2.4rem;
  }
}
.p-flow__list > li + li::before {
  content: "";
  display: block;
  width: 4rem;
  height: 1.9rem;
  position: absolute;
  top: -3.4rem;
  left: calc(50% - 2rem);
  aspect-ratio: 40/19;
  background: var(--primary-main-color);
  clip-path: path("M19.3378 18.4148C19.716 18.749 20.284 18.749 20.6622 18.4148L39.5205 1.74933C40.2106 1.13948 39.7792 0 38.8583 0H1.1417C0.22076 0 -0.210584 1.13948 0.479504 1.74933L19.3378 18.4148Z");
}

.p-flow__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .p-flow__ttl {
    font-size: 2.4rem;
  }
}
.p-flow__ttl span {
  color: var(--text-main-color);
  font-size: 1.6rem;
  line-height: 1.25;
  display: block;
}
@media print, screen and (min-width:768px) {
  .p-flow__ttl span {
    font-size: 2rem;
  }
}

.p-flow__detail {
  font-size: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .p-flow__detail {
    font-size: 1.8rem;
  }
}

.p-faq {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 1.6rem;
}

.p-faq-details {
  background: var(--primary-bg-color);
  border-radius: 8px;
}

.p-faq-summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  cursor: pointer;
  padding: 1.6rem 4.5rem 1.6rem 1.6rem;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .p-faq-summary {
    padding: 1.6rem 7.5rem 1.6rem 2.4rem;
  }
}

.p-faq-summary__question {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.4rem 0.4rem 1fr;
  grid-template-columns: 2.4rem 1fr;
  -webkit-column-gap: 0.4rem;
     -moz-column-gap: 0.4rem;
          column-gap: 0.4rem;
}
@media print, screen and (min-width:768px) {
  .p-faq-summary__question {
    -ms-grid-columns: 3rem 0.8rem 1fr;
    grid-template-columns: 3rem 1fr;
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
  }
}

.p-faq-summary__question-q {
  color: #007FAF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media print, screen and (min-width:768px) {
  .p-faq-summary__question-q {
    font-size: 2.4rem;
  }
}

.p-faq-summary__question-main {
  font-size: 1.6rem;
  font-weight: 700;
}
@media print, screen and (min-width:768px) {
  .p-faq-summary__question-main {
    font-size: 1.8rem;
  }
}

.p-faq-summary__icon {
  width: 1.2rem;
  height: 1.2rem;
  background: url(../images/icon_arrow_03.svg) no-repeat center center/contain;
  position: absolute;
  right: 1.6rem;
  top: 2.4rem;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (min-width:768px) {
  .p-faq-summary__icon {
    width: 2rem;
    height: 2rem;
    right: 2.4rem;
  }
}

.p-faq-details.is-open .p-faq-summary__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-faq-content {
  overflow: hidden;
  will-change: height;
}

.p-faq-content__inner {
  padding: 0.8rem 1.6rem 1.6rem;
}
@media print, screen and (min-width:768px) {
  .p-faq-content__inner {
    padding: 1.6rem 2.4rem;
  }
}

.p-faq-content__answer {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2.4rem 0.4rem 1fr;
  grid-template-columns: 2.4rem 1fr;
  -webkit-column-gap: 0.4rem;
     -moz-column-gap: 0.4rem;
          column-gap: 0.4rem;
}
@media print, screen and (min-width:768px) {
  .p-faq-content__answer {
    -ms-grid-columns: 3rem 0.8rem 1fr;
    grid-template-columns: 3rem 1fr;
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
  }
}

.p-faq-content__answer-a {
  color: var(--text-main-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media print, screen and (min-width:768px) {
  .p-faq-content__answer-a {
    font-size: 2.4rem;
  }
}

.p-faq-content-img {
  text-align: center;
}
@media screen and (max-width:767px) {
  .p-faq-content-img {
    margin-left: -1.2rem;
    margin-right: -1.2rem;
    overflow: auto;
  }
}

@media screen and (max-width:767px) {
  .p-faq-content-img__inner {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-faq__details:not([open]) .p-faq-content {
  content-visibility: hidden-matchable;
}

.p-skip-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.6em;
  -webkit-transform: translateY(-101%);
          transform: translateY(-101%);
  overflow: hidden;
  background: var(--primary-main-color);
  color: #fff;
  z-index: 10000;
}

.p-skip-nav:focus,
.p-skip-nav:focus-visible {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width:767px) {
  .u-sm-min {
    display: none !important;
  }
}

@media print, screen and (min-width:768px) {
  .u-sm-max {
    display: none !important;
  }
}

@media screen and (max-width:1024px) {
  .u-md-min {
    display: none !important;
  }
}

@media print, screen and (min-width:1025px) {
  .u-md-max {
    display: none !important;
  }
}

.mv {
  position: relative;
  background: #f8f3df url(../images/mv_bg01.png) no-repeat center top/auto 100%;
  overflow: hidden;
}
@media print, screen and (min-width:768px) {
  .mv {
    height: 67rem;
  }
}
.mv::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../images/mv_bg02_sp.png) no-repeat center bottom/100% auto;
}
@media print, screen and (min-width:768px) {
  .mv::before {
    background: url(../images/mv_bg02.png) no-repeat center bottom/100% auto;
  }
}

.mv__inner {
  position: relative;
}
@media screen and (max-width:767px) {
  .mv__inner {
    padding-top: 16.2849872774vw;
    padding-bottom: 6.106870229vw;
  }
}
@media print, screen and (min-width:768px) {
  .mv__inner {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.mv__body {
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width:768px) {
  .mv__body {
    width: 100%;
    padding-bottom: 4rem;
  }
}
@media print, screen and (min-width:1025px) {
  .mv__body {
    padding-bottom: 0;
    padding-top: 3.2rem;
  }
}

.mv__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.0356234097vw;
  margin-bottom: 6.106870229vw;
}
@media print, screen and (min-width:768px) {
  .mv__ttl {
    gap: 1.6rem;
    margin-bottom: 3.6rem;
  }
}

.mv__ttl-row {
  display: block;
  line-height: 1;
}
.mv__ttl-row span {
  font-size: 5.3435114504vw;
  line-height: 1;
  letter-spacing: 0.07em;
  padding: 2.0356234097vw 2.0356234097vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border-radius: 4px;
}
@media print, screen and (min-width:768px) {
  .mv__ttl-row span {
    font-size: 3.4rem;
    padding: 1.2rem 1.2rem;
  }
}
@media print, screen and (min-width:1025px) {
  .mv__ttl-row span {
    font-size: 3.6rem;
    padding: 1.5rem 1.5rem;
  }
}

@media screen and (max-width:1024px) {
  .mv__list {
    max-width: 55%;
  }
}
@media screen and (max-width:767px) {
  .mv__list {
    max-width: 100%;
    padding-right: 2.0356234097vw;
  }
}
.mv__list li {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  padding-left: 2.4rem;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .mv__list li {
    font-size: 1.8rem;
    padding-left: 2.6rem;
  }
}
.mv__list li::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: 0.5rem;
  left: 0;
  background: url(../images/icon_list.svg) no-repeat center top;
  background-size: 100%;
}
@media print, screen and (min-width:768px) {
  .mv__list li::before {
    width: 1.8rem;
    height: 1.8rem;
    top: 0.5rem;
  }
}
.mv__list li + li {
  margin-top: 0.9rem;
}
@media print, screen and (min-width:768px) {
  .mv__list li + li {
    margin-top: 1.2rem;
  }
}
.mv__list li span {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--primary-main-color);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.mv__img {
  width: 71.2468193384vw;
}
@media screen and (max-width:767px) {
  .mv__img {
    position: relative;
    left: 15.2671755725vw;
    margin-top: 4.0712468193vw;
  }
}
@media print, screen and (min-width:768px) {
  .mv__img {
    width: 38rem;
    position: absolute;
    bottom: 5.6rem;
    right: 1rem;
    z-index: 1;
  }
}
@media print, screen and (min-width:1025px) {
  .mv__img {
    width: 53.6rem;
    bottom: 7.6rem;
    right: -5rem;
  }
}

.mv__obj {
  position: absolute;
  width: 20.3562340967vw;
  top: 2.2900763359vw;
  right: 3.3078880407vw;
}
@media print, screen and (min-width:768px) {
  .mv__obj {
    width: 13.2rem;
    top: 5.2rem;
    left: 1rem;
  }
}
@media print, screen and (min-width:1025px) {
  .mv__obj {
    width: 13.2rem;
    top: 9.2rem;
    left: -1rem;
  }
}
@media print, screen and (min-width:1241px) {
  .mv__obj {
    left: -7rem;
  }
}

.overview-box + .overview-box {
  margin-top: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .overview-box + .overview-box {
    margin-top: 3.2rem;
  }
}

.overview-box__ttl {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  background: var(--primary-main-color);
  text-align: center;
  padding: 0.8rem;
  border-radius: 8px 8px 0 0;
}
@media print, screen and (min-width:768px) {
  .overview-box__ttl {
    font-size: 3.2rem;
  }
}

.overview-box__body {
  background: #fff;
  border: 2px solid var(--primary-main-color);
  border-radius: 0 0 8px 8px;
  padding: 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.02em;
}
@media print, screen and (min-width:768px) {
  .overview-box__body {
    padding: 2.4rem;
    font-size: 1.8rem;
  }
}

.overview-box__section + .overview-box__section {
  margin-top: 1.6rem;
}

.overview-box__sub-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 0.8rem;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .overview-box__sub-ttl {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.overview-box__sub-ttl::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: var(--primary-main-color);
  border-radius: 50%;
  margin-right: 1rem;
}
@media print, screen and (min-width:768px) {
  .overview-box__sub-ttl::before {
    position: relative;
    top: -0.1rem;
  }
}

.overview-img {
  margin-bottom: 0.8rem;
}
@media screen and (max-width:767px) {
  .overview-img {
    margin-left: -1.6rem;
    margin-right: -1.6rem;
    overflow: auto;
  }
}
@media screen and (max-width:767px) {
  .overview-img img {
    width: 83.6rem;
  }
}

@media screen and (max-width:767px) {
  .overview-img__inner {
    width: 86.8rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.news {
  background: #F8F3DF;
}

.news-list {
  background: #fff;
  border: 2px solid #F4DBA5;
  border-radius: 8px;
  padding: 1.6rem;
  max-height: 340px;
  overflow-y: clip;
}
@media screen and (max-width:767px) {
  .news-list {
    max-height: 260px;
  }
}
@media print, screen and (min-width:768px) {
  .news-list {
    padding: 2.4rem;
  }
}
.news-list__list {
  height: auto;
  max-height: 280px;
  padding-right: 1rem;
  overflow-y: auto;
}
@media screen and (max-width:767px) {
  .news-list__list {
    max-height: 220px;
  }
}

.news-item + .news-item {
  border-top: 1px solid #eee;
}

.news-item__inner {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: -0.03em;
  padding: 1.6rem 0.8rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0.4rem 1fr;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 0.4rem;
     -moz-column-gap: 0.4rem;
          column-gap: 0.4rem;
}
@media print, screen and (min-width:768px) {
  .news-item__inner {
    -webkit-column-gap: 2.4rem;
       -moz-column-gap: 2.4rem;
            column-gap: 2.4rem;
    font-size: 1.8rem;
    letter-spacing: -0.01em;
    padding: 2.4rem 1.6rem;
  }
}

.news-item__date {
  width: 10rem;
  color: var(--text-primary-color);
}

a .news-item__txt {
  text-decoration: underline;
}
@media print, screen and (min-width:1025px) {
  a:hover .news-item__txt {
    text-decoration: none;
  }
}

a[target=_blank] .news-item__txt::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: currentColor;
  -webkit-mask-image: url(../images/icon_blank.svg);
          mask-image: url(../images/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.4rem;
}

.outline {
  background: #fafafa;
}

.outline__lead {
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .outline__lead {
    font-size: 1.8rem;
  }
}

.outline__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
  margin-top: 0.4rem;
}
.outline__link a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
  text-decoration: underline;
}
@media print, screen and (min-width:768px) {
  .outline__link a {
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width:1025px) {
  .outline__link a:hover {
    text-decoration: none;
  }
}
.outline__link a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: currentColor;
  -webkit-mask-image: url(../images/icon_blank.svg);
          mask-image: url(../images/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.7rem;
}
@media print, screen and (min-width:768px) {
  .outline__link a[target=_blank]::after {
    width: 1.4rem;
    height: 1.4rem;
  }
}

.outline-nav {
  margin-top: 2.4rem;
}
@media print, screen and (min-width:1025px) {
  .outline-nav {
    margin-top: 3.2rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2.4rem 1fr 2.4rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2.4rem;
       -moz-column-gap: 2.4rem;
            column-gap: 2.4rem;
  }
}

.outline-nav__box {
  width: 100%;
  padding: 1.6rem;
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
}
@media print, screen and (min-width:768px) {
  .outline-nav__box {
    padding: 2.4rem;
  }
}
@media screen and (max-width:1024px) {
  .outline-nav__box + .outline-nav__box {
    margin-top: 1.6rem;
  }
}

.outline-nav__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  margin-bottom: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .outline-nav__ttl {
    font-size: 2.4rem;
    line-height: 1.5;
    margin-bottom: 2.4rem;
  }
}

.outline-nav__list li + li {
  margin-top: 0.8rem;
}
@media print, screen and (min-width:768px) {
  .outline-nav__list li + li {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width:1024px) {
  .outline-nav__list li .c-btn {
    max-width: 40rem;
    margin: 0 auto;
  }
}

.l-policy {
  font-size: 1.8rem;
  line-height: 1.75;
}
@media screen and (max-width:767px) {
  .l-policy {
    font-size: 1.6rem;
  }
}
.l-policy-container {
  display: -ms-grid;
  display: grid;
  gap: 4.8rem;
}
.l-policy-contents {
  display: -ms-grid;
  display: grid;
  gap: 2.4rem;
}
.l-policy-contents-detail {
  display: -ms-grid;
  display: grid;
  gap: 1.6rem;
}
.l-policy-contents-detail-item {
  display: -ms-grid;
  display: grid;
  gap: 0.8rem;
}
.l-policy-contents-detail-item h4 {
  font-size: 2.4rem;
  line-height: 1.5;
}
@media screen and (max-width:767px) {
  .l-policy-contents-detail-item h4 {
    font-size: 2rem;
  }
}
.l-policy-contents-detail-item ul li > span, .l-policy-contents-detail-item ol li > span {
  font-weight: 700;
  font-size: 2rem;
}
@media screen and (max-width:767px) {
  .l-policy-contents-detail-item ul li > span, .l-policy-contents-detail-item ol li > span {
    font-size: 1.8rem;
  }
}
.l-policy-contents-detail-item ul li.point, .l-policy-contents-detail-item ol li.point {
  margin-left: 1.5em;
  list-style: disc;
}
.l-policy-contents-detail-item > ol {
  counter-reset: section;
}
.l-policy-contents-detail-item > ol > li {
  counter-increment: section;
  padding-left: 1.5em;
  position: relative;
}
.l-policy-contents-detail-item > ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "（" counter(section) "）";
}
.l-policy a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  word-break: break-all !important;
  text-decoration: underline;
}
@media print, screen and (min-width:1025px) {
  .l-policy a:hover {
    text-decoration: none;
  }
}
.l-policy a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: currentColor;
  -webkit-mask-image: url(../images/icon_blank.svg);
          mask-image: url(../images/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  margin-left: 0.8rem;
}
.l-policy h3 {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 8px;
  border-bottom: 2px solid #C7C7C7;
}
.l-policy h3::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 300px;
  border-bottom: 2px solid var(--primary-main-color);
  -webkit-transform: translateY(0.2rem);
          transform: translateY(0.2rem);
}
@media print, screen and (min-width:768px) {
  .l-policy h3 {
    font-size: 3.2rem;
  }
}

.l-soudan .c-list-note {
  margin-top: 0.4rem;
}
.l-soudan .c-list-note li {
  font-size: 1.4rem;
}
@media print, screen and (min-width:768px) {
  .l-soudan .c-list-note li {
    font-size: 1.6rem;
  }
}
.l-soudan .c-btn {
  margin-top: 2.4rem;
  max-width: 30rem;
}
@media screen and (max-width:767px) {
  .l-soudan .c-btn {
    margin-left: auto;
    margin-right: auto;
  }
}

.l-shoureikin-lead {
  font-size: 1.8rem;
  line-height: 1.5;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin-lead {
    font-size: 2rem;
    text-align: center;
  }
}
@media print, screen and (min-width:1025px) {
  .l-shoureikin-lead {
    font-size: 2.4rem;
  }
}
.l-shoureikin-lead span {
  color: var(--text-main-color);
  font-size: 2.2rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.4rem;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin-lead span {
    font-size: 3.2rem;
  }
}
@media print, screen and (min-width:1025px) {
  .l-shoureikin-lead span {
    font-size: 4rem;
  }
}
.l-shoureikin-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-shoureikin-links li {
  margin-right: 3.2rem;
}
.l-shoureikin-download {
  background: var(--primary-bg-color);
  border-radius: 0.8rem;
  padding: 1.6rem 2.4rem 2.4rem;
  margin-top: 1.6rem;
}
.l-shoureikin-download ul {
  display: -ms-grid;
  display: grid;
  row-gap: 2.4rem;
  -webkit-column-gap: 2.4rem;
     -moz-column-gap: 2.4rem;
          column-gap: 2.4rem;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin-download ul {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
.l-shoureikin-download ul p {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.4rem;
}
.l-shoureikin-download .c-btn {
  max-width: 40rem;
  margin: 0 auto;
}
.l-shoureikin-chart {
  background: var(--primary-bg-color);
  padding: 1.6rem;
  margin-top: 1.6rem;
  border-radius: 8px;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin-chart {
    padding: 2.4rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin-chart {
    width: 100%;
    max-width: 91.8575063613vw;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin-chart__img {
    width: calc(100% + 3.2rem);
    margin-left: -1.6rem;
    margin-right: -1.6rem;
    overflow: auto;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin-chart__img-inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    width: calc(68rem + 3.2rem);
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin-chart__img-inner img {
    width: 68rem;
  }
}
.l-shoureikin .c-list-note {
  margin-top: 1.6rem;
}
.l-shoureikin .c-list-note li {
  font-size: 1.4rem;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .c-list-note li {
    font-size: 1.6rem;
  }
}
.l-shoureikin .c-box-def {
  margin-top: 1.2rem;
}
.l-shoureikin .c-list-num + .c-list-note {
  margin-top: 0.8rem;
}
.l-shoureikin .p-flow__detail dl:not([class]) {
  margin-top: 0.8rem;
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-flow__detail dl:not([class]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.6rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq .c-box-def {
    max-width: calc(91.8575063613vw - (3.2rem + 2.8rem));
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq .c-box-def__body {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-01 .p-faq-content-img img {
    width: 61.5rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-01 .p-faq-content-img__inner {
    width: calc(61.5rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-03 .p-faq-content-img img {
    width: 87.2727272727%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-03 .p-faq-content-img img {
    width: 52.4rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-03 .p-faq-content-img__inner {
    width: calc(52.4rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-04 .p-faq-content-img img {
    width: 72.8671328671%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-04 .p-faq-content-img img {
    width: 42.1rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-04 .p-faq-content-img__inner {
    width: calc(42.1rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-01 img {
    width: 51.6083916084%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-01 img {
    width: 31.9rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-01 .p-faq-content-img__inner {
    width: calc(31.9rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-02 img {
    width: 89.5104895105%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-02 img {
    width: 54rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-05 .p-faq-box-02 .p-faq-content-img__inner {
    width: calc(54rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-01 img {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-01 img {
    width: 73.6rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-01 .p-faq-content-img__inner {
    width: calc(73.6rem + 2.4rem);
  }
}
@media print, screen and (min-width:768px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-02 img {
    width: 76.7942583732%;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-02 img {
    width: 54.2rem;
  }
}
@media screen and (max-width:767px) {
  .l-shoureikin .p-faq-details-06 .p-faq-box-02 .p-faq-content-img__inner {
    width: calc(54.2rem + 2.4rem);
  }
}

.l-kougi-table {
  width: 100%;
  border-collapse: separate;
  border: 1px solid var(--primary-main-color);
  border-radius: 8px;
  overflow: hidden;
}
.l-kougi-table th {
  width: 20rem;
  font-size: 2rem;
  color: #fff;
  line-height: 1.5;
  background: var(--primary-main-color);
  vertical-align: middle;
  padding: 0.8rem;
  border: 1px solid var(--primary-main-color);
}
@media screen and (max-width:767px) {
  .l-kougi-table th {
    display: block;
    width: 100%;
    padding: 0.8rem;
  }
}
.l-kougi-table td {
  padding: 2.4rem;
  border: 1px solid var(--primary-main-color);
}
@media screen and (max-width:767px) {
  .l-kougi-table td {
    display: block;
    width: 100%;
    padding: 1.6rem;
  }
}
@media print, screen and (min-width:768px) {
  .l-kougi-table tr:first-child th {
    border-radius: 6px 0 0 0;
    border-bottom: 1px solid #fff;
  }
}
@media print, screen and (min-width:768px) {
  .l-kougi-table tr:first-child td {
    border-radius: 0 6px 0 0;
  }
}
@media print, screen and (min-width:768px) {
  .l-kougi-table tr:last-child th {
    border-radius: 0 0 0 6px;
    border-top: 1px solid #fff;
  }
}
.l-kougi-table tr:last-child td {
  border-radius: 0 0 6px 6px;
}
@media print, screen and (min-width:768px) {
  .l-kougi-table tr:last-child td {
    border-radius: 0 0 6px 0;
  }
}
.l-kougi-table dd {
  font-size: 1.6rem;
}
@media print, screen and (min-width:768px) {
  .l-kougi-table dd {
    font-size: 1.8rem;
  }
}
.l-kougi .c-btn {
  margin-top: 2.4rem;
  max-width: 30rem;
}