@charset "UTF-8";
/*=============================================
 CSS変数
=============================================*/
:root {
  --fz-pc: 1.6rem;
  --fz-sp: 1.4rem;
}

@media screen and (min-width: 768px) {
  :root {
    --space-padding-s: 19.4444%;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --space-padding-s: 3.85%;
  }
}
/*=============================================
 line-height / letter-spacing
=============================================*/
.l-container--s div,
.l-container--s h1,
.l-container--s h2,
.l-container--s h3,
.l-container--s p,
.l-container--s a,
.l-container--s ol,
.l-container--s ul {
  line-height: var(--base-line-height);
  letter-spacing: var(--base-letter-spacing);
}

.s-text {
  line-height: 1.8;
}

/*=============================================
 レイアウト
=============================================*/
html {
  scroll-behavior: auto;
}

.no-mt {
  margin-top: 0 !important;
}

.l-wrapper {
  display: block;
}

@media screen and (min-width: 768px) {
  .l-main {
    padding-top: 8.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .l-container--s {
    padding-inline: var(--space-padding-s);
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .l-container--s {
    width: 100%;
    padding-inline: var(--space-padding-s);
  }
}

.s-contents-wrap + .s-contents-wrap {
  padding-top: 9rem;
  margin-top: 14.5rem;
  border-top: 0.1rem solid var(--color-border02);
}
@media screen and (min-width: 768px) {
  .s-contents-wrap + .s-contents-wrap {
    padding-top: 9rem;
    margin-top: 14.5rem;
  }
}
@media screen and (max-width: 767px) {
  .s-contents-wrap + .s-contents-wrap {
    padding-top: 5rem;
    margin-top: 8rem;
  }
}

/*=============================================
 テキスト
=============================================*/
.s-text {
  font-weight: var(--fw-regular);
}
.s-text + * {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .s-text {
    font-size: var(--fz-pc);
  }
}
@media screen and (max-width: 767px) {
  .s-text {
    font-size: var(--fz-sp);
  }
}

/*=============================================
 リンク
=============================================*/
.s-link:has(+ .s-icon) {
  margin-right: 1rem;
}

@media screen and (min-width: 768px) {
  .s-link {
    font-size: var(--fz-pc);
  }

  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .s-link {
    font-size: var(--fz-sp);
  }
}
@media (hover: hover) {
  .s-link:hover {
    text-decoration: none;
  }
}

/*=============================================
 アイコン
=============================================*/
.s-icon--download {
  position: relative;
  top: 0.2rem;
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
}

/*=============================================
 リスト
=============================================*/
.s-list {
  list-style: none;
}
.s-list + * {
  margin-top: 2.5rem;
}
.s-list--num {
  text-indent: -1.2em;
  padding-left: 1.2em;
}
.s-list--bullet {
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .s-list li {
    font-size: var(--fz-pc);
  }
}
@media screen and (max-width: 767px) {
  .s-list li {
    font-size: var(--fz-sp);
  }
}

/*=============================================
 タイトル
=============================================*/
.s-title-01--main,
.s-title-02--main,
.s-title-03--main {
  font-weight: var(--fw-bold);
}
.s-title-01--sub,
.s-title-02--sub,
.s-title-03--sub {
  font-weight: var(--fw-light);
}

.s-title-01 {
  text-align: center;
  line-height: 1.3;
}
.s-title-01 > span {
  display: block;
}
.s-title-01--sub {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .s-title-01 {
    margin-bottom: 7.5rem;
  }
  .s-title-01--main {
    font-size: 3.6rem;
  }
  .s-title-01--sub {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .s-title-01 {
    margin-bottom: 6.5rem;
  }
  .s-title-01--main {
    font-size: 3.6rem;
  }
  .s-title-01--sub {
    font-size: 1.1rem;
  }
}

.s-title-02 > span {
  display: block;
}
.s-title-02--main {
  font-size: 2.4rem;
}
.s-title-02--sub {
  font-size: 1.1rem;
}
.s-title-02 + .s-title-03 {
  margin-top: 5rem;
}

.s-title-03 + .s-title-03 {
  margin-top: 5rem;
}
.s-title-03 + * {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .s-title-03 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .s-title-03 {
    font-size: var(--fz-pc);
  }
}

@media screen and (min-width: 768px) {
  * + .s-title-03 {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767px) {
  * + .s-title-03 {
    margin-top: 5rem;
  }
}
/*=============================================
 iframe - map
=============================================*/
.s-iframe-wrapper iframe {
  width: 100%;
}

.s-iframe-wrapper + .s-text {
  margin-top: 2rem;
}

.s-iframe-wrapper + .s-text + .s-iframe-wrapper {
  margin-top: 5rem;
}