@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@font-face {
  font-family: 'Poppins';
  font-weight: 400;
  font-display: swap;
  src: url("/css/fonts/Poppins-Regular_subset.woff2") format("woff2");
}
@font-face {
  font-family: 'Poppins';
  font-weight: 500;
  font-display: swap;
  src: url("/css/fonts/Poppins-Medium_subset.woff2") format("woff2");
}
@font-face {
  font-family: 'Poppins';
  font-weight: 700;
  font-display: swap;
  src: url("/css/fonts/Poppins-Bold_subset.woff2") format("woff2");
}
html {
  scroll-behavior: smooth;
  height: auto;
}

body {
  height: auto;
}

main {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  color: #2A3645;
}

.bottom-nav_link-button {
  font-size: 21rem;
  display: flex;
  width: 405rem;
  height: 58rem;
  background-color: #AC5E37;
  position: relative;
  border-radius: 58rem;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-weight: bold;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .bottom-nav_link-button {
    font-size: 18rem;
    width: 307rem;
  }
}
.bottom-nav_link-button::after {
  content: "";
  position: absolute;
  width: 8rem;
  height: 14rem;
  right: 15rem;
  top: 50%;
  transform: translateY(-50%);
  background: url("/img/arrow-right_w.png") no-repeat center/contain;
}

.hero-sec {
  width: 100%;
  height: calc(100svh - 120px);
  background: linear-gradient(90deg, #979898 60%, #a1a1a1 80%);
  position: relative;
  overflow: hidden;
  z-index: 1000;
}
@media print, screen and (min-width: 768px) {
  .hero-sec {
    min-height: 550rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero-sec {
    height: calc(100svh - 87px);
  }
}
.hero-sec::after {
  content: "";
  aspect-ratio: 420/711;
  height: 100%;
  background: url("/img/bg-spotlight.png") no-repeat center/contain;
  position: absolute;
  right: 200rem;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .hero-sec::after {
    right: 20rem;
  }
}
.hero-sec .wrapper {
  height: 100%;
}
.hero-sec .header-nav {
  top: 60rem;
  right: 60rem;
  z-index: 100;
  position: fixed;
}
@media only screen and (max-width: 767px) {
  .hero-sec .header-nav {
    top: 15px;
    right: 20rem;
  }
}
.hero-sec .header-nav .nav-button {
  width: 82rem;
  height: 27rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 27rem;
  background: #748CA7;
  font-size: 16rem;
  color: #fff;
  cursor: pointer;
  user-select: none;
  transition: background 0.3s ease;
  z-index: 1000;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .hero-sec .header-nav .nav-button {
    width: 62rem;
    font-size: 15rem;
  }
}
.hero-sec .header-nav .nav-button.is-active {
  background: #96A9BC;
}
.hero-sec .header-nav .nav-box {
  position: absolute;
  top: calc(100% - 45rem);
  right: -10rem;
  background: rgba(130, 150, 175, 0.9);
  padding: 60rem 42rem 32rem;
  border-radius: 14rem;
  box-shadow: 0 10rem 30rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translate(20rem, -20rem) scale(0.85);
  transform-origin: top right;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s, visibility 0.4s;
}
@media only screen and (max-width: 767px) {
  .hero-sec .header-nav .nav-box {
    top: calc(100% - 35rem);
  }
}
@media print, screen and (min-width: 768px) {
  .hero-sec .header-nav .nav-box .nav-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* ★要素を均等に2分割（2列） */
    gap: 0 30rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero-sec .header-nav .nav-box .nav-inner {
    display: flex;
    flex-direction: column;
    gap: 5rem;
  }
}
.hero-sec .header-nav .nav-box .nav-inner a {
  display: block;
  color: #fff;
  font-size: 20rem;
  text-decoration: none;
  opacity: 0;
  transform: translateY(15rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .hero-sec .header-nav .nav-box .nav-inner a {
    font-size: 16rem;
  }
}
.hero-sec .header-nav .nav-box .nav-inner a:last-child {
  border-bottom: none;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0) scale(1);
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a {
  opacity: 1;
  transform: translateY(0);
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(1) {
  transition-delay: 0.15s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(2) {
  transition-delay: 0.2s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(3) {
  transition-delay: 0.25s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(4) {
  transition-delay: 0.3s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(5) {
  transition-delay: 0.35s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(6) {
  transition-delay: 0.4s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(7) {
  transition-delay: 0.45s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(8) {
  transition-delay: 0.5s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(9) {
  transition-delay: 0.55s;
}
.hero-sec .header-nav .nav-button.is-active + .nav-box .nav-inner a:nth-child(10) {
  transition-delay: 0.6s;
}
.hero-sec .hero-logo {
  margin-bottom: auto;
  z-index: 100;
  width: 243rem;
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-logo {
    width: 150rem;
  }
}
.hero-sec .hero-logo .logo-txt {
  font-size: 16rem;
  font-weight: bold;
  margin-bottom: 3rem;
  color: #2A3645;
  letter-spacing: 0.07em;
}
.hero-sec .hero-main {
  bottom: -20rem;
  position: absolute;
  height: calc(95svh - 120px);
  aspect-ratio: 414 / 768;
  object-fit: cover;
}
@media print, screen and (min-width: 768px) {
  .hero-sec .hero-main {
    right: 200rem;
    min-height: 560rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-main {
    height: calc(95svh - 87px);
    right: 20rem;
  }
}
.hero-sec .hero-main img {
  height: 100%;
  width: 100%;
}
.hero-sec .hero-content {
  position: absolute;
  display: flex;
  flex-direction: column;
  max-width: 565rem;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  .hero-sec .hero-content {
    height: calc(100% - 75rem);
    bottom: 60rem;
    min-height: 480rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-content {
    height: calc(100% - 27px);
    top: 15rem;
  }
}
.hero-sec .hero-tag-row {
  display: flex;
  gap: 21rem;
}
@media print, screen and (min-width: 768px) {
  .hero-sec .hero-tag-row {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-tag-row {
    gap: 13rem;
  }
}
.hero-sec .hero-tag-row .hero-tag_01 {
  width: 123rem;
  max-width: 153px;
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-tag-row .hero-tag_01 {
    width: 83rem;
    max-width: 100px;
  }
}
.hero-sec .hero-tag-row .hero-tag_02 {
  width: 123rem;
  max-width: 153px;
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-tag-row .hero-tag_02 {
    width: 83rem;
    max-width: 100px;
  }
}
.hero-sec .hero-txt_01 {
  color: #fff;
  margin-bottom: 15rem;
  font-size: min(64px, 64rem);
  letter-spacing: 0.05rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-txt_01 {
    font-size: min(32px, 32rem);
    width: 240rem;
    margin-bottom: 5rem;
    text-shadow: 3rem 0 6rem rgba(0, 0, 0, 0.16);
  }
}
.hero-sec .hero-txt_02 {
  color: #fff;
  max-height: 10vh;
  max-width: 100%;
  font-size: min(28px, 28rem);
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .hero-sec .hero-txt_02 {
    font-size: min(16px, 16rem);
    text-shadow: 3rem 0 6rem rgba(0, 0, 0, 0.16);
  }
}

.bottom-nav {
  position: fixed;
  bottom: 0;
  height: 120px;
  background-color: #415E81;
  width: 100%;
  z-index: 1000;
  transition: transform 0.3s ease;
  /* 0.3秒で滑らかに動かす */
}
@media only screen and (max-width: 767px) {
  .bottom-nav {
    height: 87px;
    padding: 0 20px;
  }
}
.bottom-nav.is-hidden {
  transform: translateY(100%) !important;
  /* ナビの高さ分、下側にスライドさせて隠す */
}
.bottom-nav .txt01 {
  margin-top: 10px;
  margin-bottom: 8px;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .bottom-nav .txt01 {
    margin-top: 8px;
    font-size: 14rem;
    margin-bottom: 6px;
  }
}
.bottom-nav .bottom-nav_button {
  padding: 6px 74px;
  border: 1px solid #FFFFFF;
  border-radius: 5px;
  font-weight: 800;
  color: #fff;
  display: flex;
  width: fit-content;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
  margin: 0 auto;
  background-color: #06C755;
}
@media only screen and (max-width: 767px) {
  .bottom-nav .bottom-nav_button {
    width: 100%;
    gap: 5px;
    padding: 2px 0;
  }
}
.bottom-nav .bottom-nav_button .button_txt01 {
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 800;
}
@media only screen and (max-width: 767px) {
  .bottom-nav .bottom-nav_button .button_txt01 {
    font-size: 16rem;
  }
}
.bottom-nav .bottom-nav_button .button_txt02 {
  font-size: 26px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 800;
}
@media only screen and (max-width: 767px) {
  .bottom-nav .bottom-nav_button .button_txt02 {
    font-size: 18rem;
  }
}

#sec-01 {
  position: relative;
  background-color: #FBF9F9;
  padding-top: 130px;
  margin-bottom: 121rem;
}
@media only screen and (max-width: 767px) {
  #sec-01 {
    padding-top: 38px;
    margin-bottom: 40rem;
    padding-bottom: 20rem;
  }
}
#sec-01::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 1260/161;
  background: url("/img/sec-01_bottom.png") no-repeat top/cover;
  top: 100%;
}
@media only screen and (max-width: 767px) {
  #sec-01::after {
    aspect-ratio: 375/62;
  }
}
#sec-01 .txt-01 {
  color: #AC5E37;
  font-size: 36rem;
  text-align: center;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-01 .txt-01 {
    font-size: 20rem;
    line-height: 1.5;
  }
}
#sec-01 .txt-02 {
  margin-top: 110rem;
  color: #2A3645;
  font-size: 32rem;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-01 .txt-02 {
    margin-top: 40rem;
    font-size: 18rem;
  }
}
#sec-01 .txt-03 {
  margin-top: 60rem;
  color: #2A3645;
  font-size: 28rem;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-01 .txt-03 {
    margin-top: 40rem;
    font-size: 18rem;
  }
}
#sec-01 .unit-row {
  display: flex;
  gap: 13rem;
  margin-top: 60rem;
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row {
    flex-direction: column;
    margin-top: 40rem;
    gap: 5rem;
  }
}
#sec-01 .unit-row .content-unit {
  width: 280rem;
  background-color: #fff;
  border: 1px solid #BAC2C5;
  display: flex;
  flex-direction: column;
  color: #2A3645;
  padding: 0 20rem 15rem;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit {
    width: 100%;
    border: none;
    padding: 10rem 17rem;
  }
}
#sec-01 .unit-row .content-unit .unit-txt-box {
  height: 116rem;
  margin-top: auto;
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit .unit-txt-box {
    height: 100%;
  }
}
#sec-01 .unit-row .content-unit .unit-title {
  font-size: 21rem;
  font-weight: bold;
  margin-bottom: 15rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit .unit-title {
    font-size: 18rem;
    margin-bottom: 10rem;
  }
}
#sec-01 .unit-row .content-unit .unit-content {
  font-size: 16rem;
}
@media print, screen and (min-width: 768px) {
  #sec-01 .unit-row .content-unit .unit-content {
    line-height: 1.2;
  }
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit .unit-content {
    font-size: 14rem;
  }
}
#sec-01 .unit-row .content-unit.unit-01 img {
  width: 75rem;
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit.unit-01 img {
    width: 62rem;
  }
}
#sec-01 .unit-row .content-unit.unit-02 img {
  width: 71rem;
}
@media print, screen and (min-width: 768px) {
  #sec-01 .unit-row .content-unit.unit-02 img {
    margin-top: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit.unit-02 img {
    width: 59rem;
  }
}
#sec-01 .unit-row .content-unit.unit-03 img {
  width: 71rem;
}
@media print, screen and (min-width: 768px) {
  #sec-01 .unit-row .content-unit.unit-03 img {
    margin-top: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit.unit-03 img {
    width: 59rem;
  }
}
#sec-01 .unit-row .content-unit.unit-04 img {
  width: 62rem;
}
@media print, screen and (min-width: 768px) {
  #sec-01 .unit-row .content-unit.unit-04 img {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-01 .unit-row .content-unit.unit-04 img {
    width: 52rem;
  }
}

#sec-02 {
  padding-top: 100rem;
  background-color: #fff;
  padding-bottom: 50rem;
}
@media only screen and (max-width: 767px) {
  #sec-02 {
    padding-top: 60rem;
    padding-bottom: 40rem;
  }
}
#sec-02 .txt-01 {
  font-size: 32rem;
  font-weight: 900;
  color: #2A3645;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-02 .txt-01 {
    font-size: 20rem;
  }
}
#sec-02 .txt-02 {
  margin-top: 40rem;
  font-size: 20rem;
  color: #2A3645;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-02 .txt-02 {
    margin-top: 20rem;
    font-size: 14rem;
  }
}
#sec-02 .txt-03 {
  margin-top: 40rem;
  font-size: 21rem;
  color: #2A3645;
  text-align: center;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  #sec-02 .txt-03 {
    margin-top: 20rem;
    font-size: 16rem;
  }
}
#sec-02 .content-container {
  position: relative;
  width: 100%;
  max-width: 1050rem;
}
@media print, screen and (min-width: 768px) {
  #sec-02 .content-container {
    margin: 60rem auto 40rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container {
    margin: 90rem auto 145rem;
  }
}
#sec-02 .content-container .sec-02-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .sec-02-img {
    width: calc(100vw + 5rem);
    margin-left: -25rem;
    display: block;
  }
}
#sec-02 .content-container .content-box_01 {
  color: #2A3645;
  padding: 15rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media print, screen and (min-width: 768px) {
  #sec-02 .content-container .content-box_01 {
    position: absolute;
    top: 10rem;
    right: 218rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_01 {
    position: absolute;
    padding: 15rem 13rem;
    width: 211rem;
    right: 0;
    top: -80rem;
  }
}
#sec-02 .content-container .content-box_01 .box-01_txt-01 {
  font-weight: bold;
  font-size: 18rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_01 .box-01_txt-01 {
    font-size: 14rem;
    margin-bottom: 10rem;
  }
}
#sec-02 .content-container .content-box_01 .box-01_txt-02 {
  display: inline-block;
  font-size: 18rem;
}
#sec-02 .content-container .content-box_01 .box-01_txt-02 span {
  background: linear-gradient(transparent 50%, #FDFFB7 50%, #FDFFB7 90%, transparent 90%);
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_01 .box-01_txt-02 {
    font-size: 14rem;
  }
}
#sec-02 .content-container .content-box_02 {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
  color: #2A3645;
  padding: 25rem;
  border: 1px solid #2A3645;
}
@media print, screen and (min-width: 768px) {
  #sec-02 .content-container .content-box_02 {
    position: absolute;
    bottom: 100rem;
    right: 100rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_02 {
    position: absolute;
    width: 212rem;
    bottom: -120px;
    right: 0;
    padding: 15rem 12rem;
    line-height: 1.4;
  }
}
#sec-02 .content-container .content-box_02 .good-img {
  position: absolute;
  width: 121rem;
  right: -30rem;
  top: -30rem;
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_02 .good-img {
    width: 120rem;
    right: calc(50% - 60rem);
    top: -55px;
  }
}
#sec-02 .content-container .content-box_02 .box-02_txt-01 {
  font-weight: bold;
  font-size: 18rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_02 .box-02_txt-01 {
    font-size: 14rem;
    margin-bottom: 15rem;
  }
}
#sec-02 .content-container .content-box_02 .box-02_txt-02 {
  display: inline-block;
  font-size: 18rem;
}
#sec-02 .content-container .content-box_02 .box-02_txt-02 span {
  background: linear-gradient(transparent 40%, #FDFFB7 40%, #FDFFB7 90%, transparent 90%);
}
@media only screen and (max-width: 767px) {
  #sec-02 .content-container .content-box_02 .box-02_txt-02 {
    font-size: 14rem;
  }
}

#sec-03 {
  position: relative;
  display: block;
  background-color: #F5F0EE;
  padding-top: 190rem;
  padding-bottom: 90rem;
  overflow: hidden;
  /* 背景テキストのコンテナ */
  /* テキスト自体のスタイルとアニメーション */
  /* アニメーションの動きの定義 */
}
@media only screen and (max-width: 767px) {
  #sec-03 {
    padding-top: 10rem;
    padding-bottom: 40rem;
  }
}
#sec-03 .sec-03_backtxt-container {
  display: flex;
  position: absolute;
  top: 80rem;
  /* 上下中央に配置する場合（お好みで調整してください） */
  transform: translateY(-50%);
  left: 0;
  width: max-content;
  /* 中身のテキストの幅に合わせる */
  gap: 50rem;
}
#sec-03 .sec-03_backtxt {
  font-size: 105rem;
  /* 大きめのフォントサイズ */
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  /* 背景用なので薄い色にする */
  white-space: nowrap;
  /* 改行を防ぐ */
  /* アニメーションの指定: 20秒で等速（linear）で無限に（infinite）ループ */
  animation: loop-text 20s linear infinite;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03_backtxt {
    font-size: 80rem;
  }
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
    /* 1個分のテキストが完全に左に消えたら0%に戻る */
  }
}
#sec-03 .sec03-content {
  position: relative;
  /* アコーディオン全体のコンテナ設定 */
  /* 開いたときの状態 */
  /* ボタンのスタイリング（デザインは自由に調整してください） */
  /* 開いた時のボタンの位置調整（コンテンツの最下部に合わせる場合） */
}
@media print, screen and (min-width: 768px) {
  #sec-03 .sec03-content {
    width: 705rem;
    margin-bottom: 120rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content {
    margin-top: 40rem;
  }
}
#sec-03 .sec03-content .txt01 {
  font-size: 20rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content .txt01 {
    font-size: 16rem;
    margin-top: 10rem;
  }
}
#sec-03 .sec03-content .txt02 {
  font-size: 28rem;
  margin-bottom: 30rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content .txt02 {
    font-size: 20rem;
    margin-top: 10rem;
  }
}
#sec-03 .sec03-content .main-content {
  font-size: 16rem;
  line-height: 1.5;
  padding-bottom: 40rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content .main-content {
    font-size: 14rem;
    padding-bottom: 0rem;
    margin-bottom: 100rem;
  }
}
#sec-03 .sec03-content .accordion-container {
  position: relative;
  max-height: 360rem;
  /* 初期値の高さ */
  overflow: hidden;
  transition: max-height 0.5s ease-in;
  /* 開閉時のアニメーション */
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content .accordion-container {
    max-height: 435rem;
  }
}
#sec-03 .sec03-content .accordion-container.is-open {
  max-height: 3000rem;
}
#sec-03 .sec03-content .acordion-button {
  position: absolute;
  z-index: 10;
  background: #FFFFFF;
  color: #2A3645;
  border: 1px solid #B8978E;
  padding: 1px 50rem;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  font-size: 16rem;
  transition: background 0.3s;
}
@media print, screen and (min-width: 768px) {
  #sec-03 .sec03-content .acordion-button {
    bottom: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-content .acordion-button {
    bottom: -60rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
#sec-03 .sec03-content .accordion-container.is-open .acordion-button {
  position: absolute;
  right: 0;
}
#sec-03 .sec03-img_box {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media print, screen and (min-width: 768px) {
  #sec-03 .sec03-img_box {
    width: 350rem;
    position: absolute;
    right: 50rem;
    top: 15rem;
  }
}
#sec-03 .sec03-img_box .sec03-inoue {
  aspect-ratio: 360/600;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-img_box .sec03-inoue {
    width: 200rem;
    margin-left: auto;
    margin-right: auto;
  }
}
#sec-03 .sec03-img_box .sec03-inoue img {
  width: 100%;
}
#sec-03 .sec03-img_box .img_name {
  font-weight: 900;
  font-size: 28rem;
  margin-top: 20rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-img_box .img_name {
    font-size: 18rem;
  }
}
#sec-03 .sec03-img_box .img_name span {
  font-size: 18rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-img_box .img_name span {
    font-size: 16rem;
  }
}
#sec-03 .sec03-img_box .img-note {
  margin-top: 15rem;
  font-size: 16rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec03-img_box .img-note {
    margin-top: 10rem;
    font-size: 14rem;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-03 .sec-03-container-02 {
    width: 990rem;
    margin: 0 auto;
    background: url("/img/sec-03_bg-img_pc.png") no-repeat center/contain;
    padding: 60rem 50rem;
    aspect-ratio: 990/640;
  }
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 {
    width: 100%;
    aspect-ratio: 335/965;
    padding: 46rem 24rem 5rem;
    background: url("/img/sec-03_bg-img_sp.png") no-repeat center/contain;
  }
}
#sec-03 .sec-03-container-02 .container-txt01 {
  font-size: 28rem;
  font-weight: bold;
  margin-bottom: 60rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .container-txt01 {
    font-size: 21rem;
    margin-bottom: 30rem;
  }
}
#sec-03 .sec-03-container-02 .shinyou-logo {
  width: 260rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .shinyou-logo {
    width: 187rem;
    margin-bottom: 15rem;
  }
}
#sec-03 .sec-03-container-02 .container-txt02 {
  font-size: 21rem;
  font-weight: bold;
  margin-bottom: 80rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .container-txt02 {
    font-size: 18rem;
    margin-bottom: 35rem;
  }
}
#sec-03 .sec-03-container-02 .container-txt02 a {
  display: inline-block;
  margin-left: 20rem;
  background: #FFFFFF;
  color: #2A3645;
  border: 1px solid #B8978E;
  padding: 1px 22rem;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  font-size: 16rem;
  font-weight: 500;
  transition: background 0.3s;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .container-txt02 a {
    font-size: 16rem;
    margin-left: 0;
    margin-top: 5rem;
  }
}
#sec-03 .sec-03-container-02 .achievements-row {
  display: flex;
  gap: 35rem;
  padding: 20rem;
  border-top: 1px solid #B8978E;
  border-bottom: 1px solid #B8978E;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .achievements-row {
    flex-direction: column;
    gap: 30rem;
  }
}
#sec-03 .sec-03-container-02 .achievements-row .achieve-unit {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
#sec-03 .sec-03-container-02 .achievements-row .achieve-unit.unit-04 .achieve-img {
  width: 156rem;
  margin-bottom: 20rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .achievements-row .achieve-unit.unit-04 .achieve-img {
    width: 90rem;
    margin-bottom: 0;
  }
}
#sec-03 .sec-03-container-02 .achievements-row .achieve-unit .achieve-img {
  width: 90rem;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .achievements-row .achieve-unit .achieve-img {
    width: 50rem;
  }
}
#sec-03 .sec-03-container-02 .achievements-row .achieve-unit .achieve-txt {
  font-size: 13.7rem;
  margin-top: 10rem;
  text-align: center;
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  #sec-03 .sec-03-container-02 .achievements-row .achieve-unit .achieve-txt {
    line-height: 1.5;
  }
}

#sec-04 {
  padding: 80rem 0;
  background-color: #F7F9FB;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-04 {
    padding: 40rem 0 100rem;
  }
}
#sec-04 .txt01 {
  font-weight: bold;
  font-size: 21rem;
  margin-bottom: 18.5rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .txt01 {
    font-size: 18rem;
    margin-bottom: 20rem;
  }
}
#sec-04 .txt02 {
  font-weight: 900;
  font-size: 30rem;
  margin-bottom: 40rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .txt02 {
    font-size: 21rem;
    margin-bottom: 30rem;
  }
}
#sec-04 .txt03 {
  font-size: 16rem;
  margin-bottom: 65rem;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #sec-04 .txt03 {
    font-size: 14rem;
    margin-bottom: 24rem;
  }
}
#sec-04 .sec-04-img-container {
  position: relative;
  max-width: 990rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container {
    width: 100%;
  }
}
#sec-04 .sec-04-img-container .img-txt {
  margin-top: 20rem;
  font-size: 18rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img-txt {
    font-size: 12rem;
    margin-top: 5rem;
    width: max-content;
  }
}
#sec-04 .sec-04-img-container .img-txt span {
  font-size: 21rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img-txt span {
    font-size: 12rem;
  }
}
#sec-04 .sec-04-img-container .img01 {
  position: relative;
  margin-right: -17rem;
  margin-top: -30rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img01 {
    margin-right: -7rem;
    margin-top: -10rem;
    flex-shrink: 0;
  }
}
#sec-04 .sec-04-img-container .img01 img {
  width: 220rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img01 img {
    width: 70rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img01 .img-txt {
    position: absolute;
    left: 0;
  }
}
#sec-04 .sec-04-img-container .img02 {
  position: relative;
  margin-top: 160rem;
  margin-left: -16rem;
  z-index: 0;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img02 {
    margin-top: 57rem;
    margin-left: -7rem;
  }
}
#sec-04 .sec-04-img-container .img02 img {
  width: 220rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img02 img {
    width: 70rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img02 .img-txt {
    position: absolute;
    right: 0;
    text-align: right;
  }
}
#sec-04 .sec-04-img-container .img03 {
  flex-shrink: 0;
}
#sec-04 .sec-04-img-container .img03 img {
  width: 576rem;
}
@media only screen and (max-width: 767px) {
  #sec-04 .sec-04-img-container .img03 img {
    width: 200rem;
  }
}

#sec-05 {
  padding: 80rem 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-05 {
    padding: 40rem 0 60rem;
  }
}
#sec-05 .txt01 {
  font-size: 20rem;
  margin-bottom: 15rem;
}
@media only screen and (max-width: 767px) {
  #sec-05 .txt01 {
    font-size: 16rem;
    margin-bottom: 5rem;
  }
}
#sec-05 .txt02 {
  font-weight: 900;
  font-size: 32rem;
  margin-bottom: 40rem;
}
@media only screen and (max-width: 767px) {
  #sec-05 .txt02 {
    font-size: 22rem;
  }
}
#sec-05 .txt03 {
  font-weight: 900;
  font-size: 28rem;
  margin-bottom: 60rem;
}
@media only screen and (max-width: 767px) {
  #sec-05 .txt03 {
    font-size: 18rem;
    margin-bottom: 30rem;
  }
}
#sec-05 .txt04 {
  font-size: 16rem;
  margin-bottom: 40rem;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #sec-05 .txt04 {
    font-size: 14rem;
  }
}
#sec-05 .sec-05-img {
  width: 582rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #sec-05 .sec-05-img {
    width: 100%;
  }
}

#sec-06 {
  padding-bottom: 80rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 {
    padding-bottom: 40rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .sec-06-bar {
    display: block;
    width: 100vw;
    margin-left: -20rem;
    margin-right: -20rem;
  }
}
#sec-06 .reason-container {
  position: relative;
}
#sec-06 .reason-container .reason-num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 21rem 21rem 0;
  border-radius: 87rem;
  color: #B8978E;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -82rem;
  background-color: #fff;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .reason-num {
    padding: 15rem 15rem 0;
    top: -70rem;
  }
}
#sec-06 .reason-container .reason-num .num-txt {
  font-size: 12rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .reason-num .num-txt {
    font-size: 10rem;
  }
}
#sec-06 .reason-container .reason-num .num-count {
  font-size: 40rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .reason-num .num-count {
    font-size: 29rem;
  }
}
#sec-06 .reason-container .txt01 {
  margin-top: 47rem;
  font-size: 28rem;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
  z-index: 1;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .txt01 {
    font-size: 21rem;
    line-height: 1;
    margin-bottom: 10rem;
  }
}
#sec-06 .reason-container .txt02 {
  font-size: 21rem;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .txt02 {
    font-size: 18rem;
  }
}
#sec-06 .reason-container .txt03 {
  font-size: 18rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #sec-06 .reason-container .txt03 {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-container .txt03 {
    font-size: 14rem;
    margin-top: 20rem;
  }
}
#sec-06 .reason-01 {
  margin-bottom: 80rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 {
    margin-bottom: 60rem;
  }
}
#sec-06 .reason-01 .content-row {
  display: flex;
  margin: 40rem 0;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .content-row {
    flex-direction: column;
  }
}
#sec-06 .reason-01 .content-row .content-unit {
  padding: 25rem 43rem;
  flex: 1;
}
@media print, screen and (min-width: 768px) {
  #sec-06 .reason-01 .content-row .content-unit {
    border-left: 1px solid #415E81;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .content-row .content-unit {
    padding: 20rem 17.5rem;
    border-top: 1px solid #415E81;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-06 .reason-01 .content-row .content-unit:last-child {
    border-right: 1px solid #415E81;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .content-row .content-unit:last-child {
    border-bottom: 1px solid #415E81;
  }
}
#sec-06 .reason-01 .content-row .content-unit .unit-head {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 10rem;
}
#sec-06 .reason-01 .content-row .content-unit .unit-txt {
  font-size: 16rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .content-row .content-unit .unit-txt {
    font-size: 14rem;
  }
}
#sec-06 .reason-01 .chart-title {
  font-size: 21rem;
  font-weight: bold;
  margin-bottom: 20rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .chart-title {
    text-align: left;
  }
}
#sec-06 .reason-01 .reason-01-chart {
  width: 760rem;
  margin: 0 auto;
  /* 画像とスクロールバーの距離（余白をクリアにするため一度リセット） */
  /* ★SimpleBarのスクロールバー常時表示設定 */
  /* ★SimpleBarの背景レール */
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart {
    width: 100% !important;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    /* ★親要素に、スクロールバーが下に飛び出るための余白（15px分など）をあらかじめ確保する */
    padding-bottom: 15rem !important;
    overflow: visible !important;
    /* バーがはみ出ても消えないようにする */
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart img {
    display: block;
    max-width: none !important;
    width: 650rem;
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart .simplebar-content {
    padding-bottom: 0 !important;
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart .simplebar-scrollbar {
    /* JSの非表示命令を完全に上書き */
    opacity: 1 !important;
    visibility: visible !important;
    height: 5rem !important;
    /* ツマミの親にも高さを明示 */
  }
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart .simplebar-scrollbar::before {
    content: "" !important;
    /* 要素を確実に生成 */
    display: block !important;
    background-color: #2A3645 !important;
    /* 強固に色を指定 */
    border-radius: 5rem !important;
    height: 5rem !important;
    opacity: 1 !important;
    top: auto !important;
    bottom: 0 !important;
    /* 親のscrollbar自体の位置を下げるので、ここは0でOK */
    left: 0 !important;
    right: 0 !important;
  }
}
#sec-06 .reason-01 .reason-01-chart .simplebar-track.simplebar-horizontal {
  /* レールの中にあるscrollbarも連動して常に表示させる */
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-01 .reason-01-chart .simplebar-track.simplebar-horizontal {
    display: block !important;
    /* 確実に表示 */
    opacity: 1 !important;
    visibility: visible !important;
    background: #F5F0EE !important;
    /* レールの背景色 */
    height: 5rem !important;
    border-radius: 5rem !important;
    /* ★位置の調整：レールごと下に15rem移動させる */
    bottom: -15rem !important;
  }
}
#sec-06 .reason-01 .reason-01-chart .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  opacity: 1 !important;
  visibility: visible !important;
}
#sec-06 .reason-02 {
  margin-bottom: 80rem;
  max-width: 1075rem;
  margin-left: auto;
  margin-right: auto;
}
#sec-06 .reason-02 .content-row {
  margin-top: 40rem;
  display: flex;
  gap: 50rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-02 .content-row {
    flex-direction: column;
    gap: 30rem;
  }
}
#sec-06 .reason-02 .content-row .content-unit {
  max-width: 325rem;
}
#sec-06 .reason-02 .content-row .content-unit .unit-head {
  font-weight: bold;
  margin-top: 30rem;
  font-size: 18rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-02 .content-row .content-unit .unit-head {
    margin-top: 10rem;
  }
}
#sec-06 .reason-02 .content-row .content-unit .unit-txt {
  margin-top: 10rem;
  font-size: 16rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-02 .content-row .content-unit .unit-txt {
    font-size: 14rem;
  }
}
#sec-06 .reason-03 {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  #sec-06 .reason-03 {
    max-width: 760rem;
  }
}
#sec-06 .reason-03 .content-unit_wide {
  margin-top: 50rem;
  background-color: #F7F9FB;
  padding: 28rem 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-03 .content-unit_wide {
    padding: 28rem 25rem;
  }
}
#sec-06 .reason-03 .content-unit_wide .unit-head {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 25rem;
}
#sec-06 .reason-03 .content-unit_wide .unit-txt01 {
  margin-bottom: 25rem;
  font-size: 16rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-03 .content-unit_wide .unit-txt01 {
    font-size: 14rem;
    text-align: left;
  }
}
#sec-06 .reason-03 .content-unit_wide .unit-txt02 {
  line-height: 40rem;
  font-size: 18rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-03 .content-unit_wide .unit-txt02 {
    font-size: 16rem;
    line-height: 30rem;
  }
}
#sec-06 .reason-03 .unit-container {
  display: flex;
  margin-top: 20rem;
  gap: 20rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-03 .unit-container {
    flex-direction: column;
    gap: 5rem;
    margin-top: 5rem;
  }
}
#sec-06 .reason-03 .unit-container .content-unit-harf {
  flex: 1;
  background-color: #F7F9FB;
  padding: 25rem 28rem;
}
#sec-06 .reason-03 .unit-container .content-unit-harf .unit-head {
  font-size: 18rem;
  font-weight: bold;
}
#sec-06 .reason-03 .unit-container .content-unit-harf .unit-txt01 {
  font-size: 16rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  #sec-06 .reason-03 .unit-container .content-unit-harf .unit-txt01 {
    font-size: 14rem;
  }
}

#sec-07 {
  background-color: #F5F0EE;
  padding: 80rem 0 40rem;
  /* スライダー全体の余白調整 */
  /* Slick標準のドットナビのカスタマイズ */
  /* アクティブ（現在表示中）のドット */
}
#sec-07 .simplebar-wrapper {
  overflow-x: hidden;
  overflow-y: visible;
}
#sec-07 .txt-01 {
  font-size: 20rem;
  color: #2A3645;
  text-align: center;
}
#sec-07 .txt-02 {
  margin-top: 15rem;
  margin-bottom: 30rem;
  font-size: 32rem;
  color: #2A3645;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-07 .txt-02 {
    font-size: 24rem;
  }
}
#sec-07 .voice-slider {
  width: 100%;
  margin: 0 auto;
  margin-left: -10rem;
  margin-right: -10rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slider {
    margin-left: 0;
    margin-right: 0;
  }
}
#sec-07 .voice-slide-item {
  /* ここで固定幅を設定（※380rem、または実数値に合わせて調整してください） */
  width: 380rem;
  /* 要素の間隔（右側にだけ10remの隙間を空ける） */
  margin-right: 10rem;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item {
    width: 287rem;
    margin-right: 6rem;
  }
}
#sec-07 .voice-slide-item .voice-unit {
  width: 100%;
}
#sec-07 .voice-slide-item .voice-unit .unit-img {
  width: 100%;
}
#sec-07 .voice-slide-item .voice-unit .unit-container {
  display: flex;
  flex-direction: column;
  padding: 35rem;
  background-color: #fff;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item .voice-unit .unit-container {
    padding: 25rem 20rem 20rem;
  }
}
#sec-07 .voice-slide-item .voice-unit .unit-container .voice-title {
  position: absolute;
  left: 35rem;
  top: 13rem;
  font-size: 14rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item .voice-unit .unit-container .voice-title {
    font-size: 12rem;
    left: 21rem;
    top: 7rem;
  }
}
#sec-07 .voice-slide-item .voice-unit .unit-container .voice-name {
  font-size: 18rem;
  margin-bottom: 30rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item .voice-unit .unit-container .voice-name {
    margin-bottom: 10rem;
  }
}
#sec-07 .voice-slide-item .voice-unit .unit-container .voice-txt01 {
  font-weight: bold;
  font-size: 19rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item .voice-unit .unit-container .voice-txt01 {
    font-size: 18rem;
  }
}
#sec-07 .voice-slide-item .voice-unit .unit-container .voice-txt02 {
  font-size: 16rem;
  margin-bottom: 30rem;
  letter-spacing: -0.5rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .voice-slide-item .voice-unit .unit-container .voice-txt02 {
    font-size: 14rem;
  }
}
#sec-07 .slick-dots {
  position: relative;
  bottom: 0;
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin-top: 30rem;
}
#sec-07 .slick-dots li {
  margin: 0 2rem;
  width: 11rem;
  height: 11rem;
}
#sec-07 .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 11rem;
  height: 11rem;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 1px solid #2A3645;
  outline: none;
  background: transparent;
  border-radius: 50%;
  transition: all 0.3s ease;
}
#sec-07 .slick-dots li button::before {
  content: none;
}
#sec-07 .slick-dots li.slick-active button {
  background: #2A3645;
  /* 選択されているドットの色 */
}
#sec-07 .slick-prev,
#sec-07 .slick-next {
  width: 12rem;
  height: 21rem;
  top: 33%;
}
@media only screen and (max-width: 767px) {
  #sec-07 .slick-prev,
  #sec-07 .slick-next {
    width: 7rem;
    height: 12rem;
  }
}
#sec-07 .slick-prev {
  background: url("/img/button-left.png") no-repeat center/contain;
  left: -25rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .slick-prev {
    left: -14rem;
  }
}
#sec-07 .slick-prev::before {
  content: "";
}
#sec-07 .slick-next {
  background: url("/img/button-right.png") no-repeat center/contain;
  right: -25rem;
}
@media only screen and (max-width: 767px) {
  #sec-07 .slick-next {
    right: -14rem;
  }
}
#sec-07 .slick-next::before {
  content: "";
}

#sec-08 {
  padding: 80rem 0;
}
@media only screen and (max-width: 767px) {
  #sec-08 {
    padding: 50rem 0;
  }
}
#sec-08 .txt-01 {
  font-size: 20rem;
  color: #2A3645;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-08 .txt-01 {
    font-size: 18rem;
  }
}
#sec-08 .txt-02 {
  margin-top: 15rem;
  font-size: 32rem;
  color: #2A3645;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-08 .txt-02 {
    font-size: 24rem;
  }
}
#sec-08 .txt-03 {
  margin-top: 40rem;
  margin-bottom: 40rem;
  font-size: 21rem;
  color: #2A3645;
  font-weight: 900;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-08 .txt-03 {
    font-size: 18rem;
  }
}
#sec-08 .txt-04 {
  margin-top: 80rem;
  margin-bottom: 10rem;
  font-size: 21rem;
  color: #2A3645;
  font-weight: 900;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-08 .txt-04 {
    font-size: 18rem;
    margin-bottom: 20rem;
    margin-top: 40rem;
  }
}
#sec-08 .program-container {
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container {
    width: 100%;
    aspect-ratio: 300/570;
    padding-top: 317rem;
    background: url("/img/program-img_sp.png") no-repeat top/contain;
  }
}
#sec-08 .program-container .program-img {
  width: 473rem;
  z-index: 10;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #sec-08 .program-container .img-note-container {
    position: absolute;
    right: 0;
    top: 80rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container .img-note-container {
    margin-left: 35rem;
  }
}
#sec-08 .program-container .img-note-container .p01-note {
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container .img-note-container .p01-note {
    margin-bottom: 27rem;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-08 .program-container .img-note-container .p01-note {
    margin-bottom: 30rem;
  }
  #sec-08 .program-container .img-note-container .p01-note .note-title::before {
    display: block;
    position: absolute;
    content: "";
    width: 278rem;
    height: 1px;
    background-color: #2A3645;
    right: calc(100% + 3.5rem);
    top: calc(50% - 1rem);
  }
}
#sec-08 .program-container .img-note-container .p02-note {
  position: relative;
  margin-bottom: 18rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container .img-note-container .p02-note {
    margin-bottom: 25rem;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-08 .program-container .img-note-container .p02-note .note-title::before {
    display: block;
    position: absolute;
    content: "";
    width: 208rem;
    height: 1px;
    background-color: #2A3645;
    right: calc(100% + 3.5rem);
    top: calc(50% - 1rem);
  }
}
#sec-08 .program-container .img-note-container .p03-note {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #sec-08 .program-container .img-note-container .p03-note {
    margin-bottom: 30rem;
  }
  #sec-08 .program-container .img-note-container .p03-note .note-title::before {
    display: block;
    position: absolute;
    content: "";
    width: 140rem;
    height: 1px;
    background-color: #2A3645;
    right: calc(100% + 3.5rem);
    top: calc(50% - 1rem);
  }
}
#sec-08 .program-container .img-note-container .note-title {
  position: relative;
  font-size: 21rem;
  font-weight: bold;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container .img-note-container .note-title {
    font-size: 14rem;
  }
}
#sec-08 .program-container .img-note-container .note-content {
  font-size: 16rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .program-container .img-note-container .note-content {
    font-size: 14rem;
  }
}
#sec-08 .step-container {
  width: 582rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container {
    width: 100%;
  }
}
#sec-08 .step-container .step-unit {
  background-color: #F5F0EE;
  position: relative;
  padding: 15rem;
}
#sec-08 .step-container .step-unit .step-inner {
  background-color: #F7F9FB;
  text-align: center;
  padding: 10rem 0;
}
#sec-08 .step-container .step-unit .step-inner .step-name {
  font-size: 21rem;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-unit .step-inner .step-name {
    font-size: 16rem;
    margin-bottom: 10rem;
  }
}
#sec-08 .step-container .step-unit .step-inner .step-content {
  font-size: 18rem;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-unit .step-inner .step-content {
    font-size: 14rem;
  }
}
#sec-08 .step-container .step-unit .step-inner .step-content .step_txt {
  font-size: 16rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-unit .step-inner .step-content .step_txt {
    font-size: 14rem;
  }
}
#sec-08 .step-container .step-unit .step-inner .nintei-img {
  position: absolute;
  width: 75rem;
  right: 20rem;
  top: 17rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-unit .step-inner .nintei-img {
    width: 65rem;
    top: -30rem;
    right: 5rem;
  }
}
#sec-08 .step-container .step-01 {
  margin-bottom: 40rem;
}
#sec-08 .step-container .step-01::after {
  content: "";
  width: 42rem;
  height: 42rem;
  background: url("/img/arrow-down.png") no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: -42rem;
  transform: translateX(-50%);
}
#sec-08 .step-container .step-01 .step_img {
  position: absolute;
  top: -15rem;
  left: 48rem;
  width: 110rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-01 .step_img {
    width: 76rem;
    top: -5rem;
    left: 0rem;
  }
}
#sec-08 .step-container .step-02 {
  margin-bottom: 40rem;
}
#sec-08 .step-container .step-02::after {
  content: "";
  width: 42rem;
  height: 42rem;
  background: url("/img/arrow-down.png") no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: -42rem;
  transform: translateX(-50%);
}
#sec-08 .step-container .step-02 .step_img {
  position: absolute;
  top: -27rem;
  left: 48rem;
  width: 120rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-02 .step_img {
    top: -5rem;
    left: 0rem;
    width: 84rem;
  }
}
#sec-08 .step-container .step-03 .step_img {
  position: absolute;
  top: -20rem;
  left: 48rem;
  width: 115rem;
}
@media only screen and (max-width: 767px) {
  #sec-08 .step-container .step-03 .step_img {
    top: -5rem;
    left: 0rem;
    width: 80rem;
  }
}

#sec-09 {
  padding: 80rem 0;
  background-color: #f7f9fb;
  /* 基本は非表示 */
  /* is-open がついている場合は最初から開く */
  /* 開閉マーク（toggle-icon）の制御用クラス */
  /* is-open がついている状態の時だけ、マークを回転させたり変化させたりできます */
}
@media only screen and (max-width: 767px) {
  #sec-09 {
    padding: 60rem 0;
  }
}
#sec-09 .txt-01 {
  font-size: 24rem;
  text-align: center;
  margin-bottom: 60rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-09 .txt-01 {
    font-size: 18rem;
  }
}
#sec-09 .lesson-row {
  background-color: #fff;
  border-top: 1px solid rgba(184, 151, 142, 0.5);
  border-bottom: 1px solid rgba(184, 151, 142, 0.5);
  margin: 0 auto 58rem;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-row {
    width: 765rem;
    display: flex;
    align-items: center;
  }
}
#sec-09 .lesson-row .lesson-price {
  font-size: 21rem;
  font-weight: 900;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-row .lesson-price {
    width: 212rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-row .lesson-price {
    display: flex;
    font-size: 18rem;
    align-items: center;
    padding: 24rem 24rem 12rem 26.5rem;
  }
}
#sec-09 .lesson-row .lesson-price-txt {
  font-size: 18rem;
  font-weight: 900;
  padding: 24rem 24rem 24rem 26.5rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-row .lesson-price-txt {
    font-size: 16rem;
    padding: 12rem 24rem 24rem 26.5rem;
  }
}
#sec-09 .lesson-container {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-container {
    width: 765rem;
    margin: 0 auto;
  }
}
#sec-09 .lesson-accordion.lesson01 .step_img {
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion.lesson01 .step_img {
    width: 110rem;
    left: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson01 .step_img {
    width: 80rem;
    right: 0;
    top: 0rem;
  }
}
#sec-09 .lesson-accordion.lesson01 .img-row {
  display: flex;
  gap: 3rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson01 .img-row {
    flex-wrap: wrap;
    justify-content: center;
    gap: 13rem;
  }
}
#sec-09 .lesson-accordion.lesson01 .img-row img {
  width: 130rem;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion.lesson01 .img-row img.img02 {
    margin-right: 17rem;
  }
}
#sec-09 .lesson-accordion.lesson01 .lesson-dl {
  display: flex;
  gap: 5rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson01 .lesson-dl {
    flex-direction: column;
    gap: 2rem;
  }
}
#sec-09 .lesson-accordion.lesson01 .lesson-dl dt {
  flex-shrink: 0;
  width: 135rem;
}
#sec-09 .lesson-accordion.lesson02 .step_img {
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion.lesson02 .step_img {
    width: 136rem;
    left: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson02 .step_img {
    width: 84rem;
    right: 0;
    top: 0rem;
  }
}
#sec-09 .lesson-accordion.lesson02 .lesson-dl {
  display: flex;
  gap: 5rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson02 .lesson-dl {
    flex-direction: column;
    gap: 2rem;
  }
}
#sec-09 .lesson-accordion.lesson02 .lesson-dl dt {
  flex-shrink: 0;
  width: 135rem;
}
#sec-09 .lesson-accordion.lesson03 .step_img {
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion.lesson03 .step_img {
    width: 110rem;
    left: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson03 .step_img {
    width: 80rem;
    right: 0;
    top: 0rem;
  }
}
#sec-09 .lesson-accordion.lesson03 .lesson-dl {
  display: flex;
  gap: 5rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion.lesson03 .lesson-dl {
    flex-direction: column;
    gap: 2rem;
  }
}
#sec-09 .lesson-accordion.lesson03 .lesson-dl dt {
  flex-shrink: 0;
  width: 135rem;
}
#sec-09 .lesson-accordion .title-row {
  position: relative;
  border-bottom: 5rem solid #B8978E;
  padding-top: 20rem;
  padding-bottom: 10rem;
  display: flex;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion .title-row {
    padding-left: 160rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .title-row {
    padding-top: 15rem;
    padding-bottom: 12rem;
  }
}
#sec-09 .lesson-accordion .title-row .step-title {
  font-size: 24rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .title-row .step-title {
    font-size: 18rem;
  }
}
#sec-09 .lesson-accordion .title-row .toggle-icon {
  position: absolute;
  width: 18rem;
  height: 18rem;
  transition: 0.3s ease-in;
  right: 10rem;
  bottom: 18rem;
}
#sec-09 .lesson-accordion .content-area {
  padding-top: 10rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .content-area {
    padding-top: 35rem;
  }
}
#sec-09 .lesson-accordion .content-area .content-row {
  display: flex;
  gap: 20rem;
  padding: 20rem 15rem 20rem 20rem;
  border-bottom: 1px solid rgba(184, 151, 142, 0.5);
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .content-area .content-row {
    flex-direction: column;
    padding: 20rem 10rem;
    gap: 5rem;
  }
}
#sec-09 .lesson-accordion .content-area .content-row .row-title {
  font-size: 18rem;
  font-weight: bold;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  #sec-09 .lesson-accordion .content-area .content-row .row-title {
    width: 150rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .content-area .content-row .row-title {
    font-size: 16rem;
  }
}
#sec-09 .lesson-accordion .content-area .content-row .row-content {
  font-size: 16rem;
}
@media only screen and (max-width: 767px) {
  #sec-09 .lesson-accordion .content-area .content-row .row-content {
    font-size: 14rem;
  }
}
#sec-09 .lesson-accordion .content-area {
  display: none;
}
#sec-09 .lesson-accordion.is-open .content-area {
  display: block;
}
#sec-09 .lesson-accordion.is-open .toggle-icon {
  transform: rotate(0deg);
  /* 例: プラスをバツにするなど（任意） */
  transition: transform 0.3s ease;
}
#sec-09 .lesson-accordion .toggle-icon {
  display: flex;
  transition: transform 0.3s ease;
  transform: rotate(135deg);
  /* 例: プラスをバツにするなど（任意） */
}

#sec-10 {
  padding: 80rem 0;
  background-color: #F5F0EE;
  display: block;
}
@media only screen and (max-width: 767px) {
  #sec-10 {
    padding: 40rem 0;
  }
}
#sec-10 .txt-01 {
  font-size: 20rem;
  color: #2A3645;
  text-align: center;
}
#sec-10 .txt-02 {
  margin-top: 15rem;
  font-size: 32rem;
  color: #2A3645;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-10 .txt-02 {
    font-size: 24rem;
  }
}
#sec-10 .txt-03 {
  margin-top: 40rem;
  margin-bottom: 30rem;
  font-size: 24rem;
  color: #2A3645;
  font-weight: 900;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #sec-10 .txt-03 {
    font-size: 18rem;
  }
}
#sec-10 .support-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1rem;
  background-color: #F7F9FB;
}
@media only screen and (max-width: 767px) {
  #sec-10 .support-container {
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-10 .support-container::after {
    content: "";
    height: 1px;
    width: 100%;
    background-color: #F5F0EE;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-1px);
  }
}
#sec-10 .support-container .support-unit {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  #sec-10 .support-container .support-unit {
    width: calc(50% - 1rem);
    padding: 38rem 44rem 26rem 32rem;
    gap: 36rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  #sec-10 .support-container .support-unit {
    width: 100%;
    padding: 30rem 30rem 39rem;
  }
}
#sec-10 .support-container .support-unit .unit-img {
  width: 168rem;
  object-fit: cover;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  #sec-10 .support-container .support-unit .unit-img {
    margin: 0 auto 20rem;
  }
}
#sec-10 .support-container .support-unit .unit-content .unit-title {
  font-size: 18rem;
  font-weight: bold;
  margin-bottom: 11rem;
}
#sec-10 .support-container .support-unit .unit-content .unit-txt {
  font-size: 16rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #sec-10 .support-container .support-unit .unit-content .unit-txt {
    font-size: 14rem;
  }
}

#sec-11 {
  padding: 80rem 0;
}
@media only screen and (max-width: 767px) {
  #sec-11 {
    padding: 40rem 0;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-11 .flow-container {
    width: 760rem;
    margin: 0 auto;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container {
    margin: 0 15rem;
  }
}
@media print, screen and (min-width: 768px) {
  #sec-11 .flow-container .title-box {
    margin-right: 120rem;
  }
}
#sec-11 .flow-container .title-box .txt-01 {
  font-size: 20rem;
  margin-bottom: 15rem;
}
#sec-11 .flow-container .title-box .txt-02 {
  font-size: 32rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container .title-box .txt-02 {
    font-size: 24rem;
  }
}
#sec-11 .flow-container .flow-chart {
  display: flex;
  flex-direction: column;
  gap: 65rem;
  margin-top: 45rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container .flow-chart {
    gap: 50rem;
    margin-top: 24rem;
  }
}
#sec-11 .flow-container .flow-chart::after {
  position: absolute;
  z-index: -1;
  content: "";
  width: 1rem;
  height: 97%;
  background-color: #707070;
  top: 5rem;
  left: 9rem;
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container .flow-chart::after {
    top: 20rem;
    height: 90%;
  }
}
#sec-11 .flow-container .flow-chart .flow-row {
  display: flex;
  gap: 37rem;
  align-items: center;
}
#sec-11 .flow-container .flow-chart .flow-row .flow-name {
  font-size: 18rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container .flow-chart .flow-row .flow-name {
    font-size: 16rem;
  }
}
#sec-11 .flow-container .flow-chart .flow-row .row-icon {
  position: relative;
  width: 18rem;
  height: 18rem;
  border-radius: 18rem;
}
#sec-11 .flow-container .flow-chart .flow-row .row-icon::before {
  content: "";
  display: block;
  width: 18rem;
  height: 18rem;
  background-color: #B8978E;
  border-radius: 30rem;
  position: relative;
  z-index: 10;
}
#sec-11 .flow-container .flow-chart .flow-row .row-icon::after {
  content: "";
  width: 28rem;
  height: 28rem;
  background-color: #F5F0EE;
  border-radius: 30rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  #sec-11 .flow-container .flow-chart .flow-row .row-icon::after {
    width: 38rem;
    height: 38rem;
  }
}

#sec-12 {
  padding: 80rem 0;
  background-color: #F7F9FB;
  /* 初期状態：回答は非表示 */
  /* is-open がついている場合は最初から開く */
  /* クエスチョン行（クリックできる場所）にカーソルをポインターにする */
}
@media only screen and (max-width: 767px) {
  #sec-12 {
    padding: 30rem 0;
  }
}
#sec-12 .txt-01 {
  font-size: 20rem;
  margin-bottom: 15rem;
  text-align: center;
}
#sec-12 .txt-02 {
  font-size: 32rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 35rem;
}
@media only screen and (max-width: 767px) {
  #sec-12 .txt-02 {
    font-size: 24rem;
  }
}
#sec-12 .faq-accordion-container {
  background-color: #fff;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  #sec-12 .faq-accordion-container {
    width: 760rem;
  }
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion-container {
    margin: 0 20rem;
  }
}
#sec-12 .faq-accordion {
  padding: 15rem 55rem 15rem 20rem;
  border-bottom: 1px solid #F7F9FB;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion {
    padding: 15rem 52rem 15rem 15rem;
  }
}
#sec-12 .faq-accordion .toggle-mark {
  width: 20rem;
  height: 11rem;
  background: url("/img/arrow-up-faq.png") no-repeat center/cover;
  position: absolute;
  right: -35rem;
  top: 27rem;
}
#sec-12 .faq-accordion .question {
  gap: 15rem;
  position: relative;
  display: flex;
  align-items: baseline;
  font-size: 18rem;
  font-weight: bold;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion .question {
    font-size: 14rem;
    gap: 5rem;
  }
}
#sec-12 .faq-accordion .question .q-mark {
  font-size: 32rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion .question .q-mark {
    font-size: 22rem;
  }
}
#sec-12 .faq-accordion .answer {
  position: relative;
  font-size: 18rem;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion .answer {
    font-size: 14rem;
  }
}
#sec-12 .faq-accordion .answer .answer-inner {
  align-items: baseline;
  gap: 15rem;
  display: flex;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion .answer .answer-inner {
    gap: 5rem;
  }
}
#sec-12 .faq-accordion .answer dl {
  margin-bottom: 2rem;
}
#sec-12 .faq-accordion .answer dl dd {
  padding-left: 1em;
}
#sec-12 .faq-accordion .answer .a-mark {
  color: #B8978E;
  font-size: 32rem;
}
@media only screen and (max-width: 767px) {
  #sec-12 .faq-accordion .answer .a-mark {
    font-size: 22rem;
  }
}
#sec-12 .faq-accordion .answer {
  display: none;
}
#sec-12 .faq-accordion.is-open .answer {
  display: flex  !important;
}
#sec-12 .faq-accordion .question {
  cursor: pointer;
}
#sec-12 .faq-accordion .toggle-mark {
  display: flex;
  transition: transform 0.3s ease;
  transform: rotate(180deg);
}
#sec-12 .faq-accordion.is-open .toggle-mark {
  display: flex;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}

#bottom-nav {
  padding: 50rem 0 80rem;
  background-color: #415E81;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #bottom-nav {
    padding: 33rem 0 23rem;
  }
}
#bottom-nav .txt-01 {
  font-size: 42rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #bottom-nav .txt-01 {
    font-size: 22rem;
  }
}
#bottom-nav .txt-02 {
  font-size: 18rem;
  margin-top: 20rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #bottom-nav .txt-02 {
    font-size: 13rem;
  }
}
#bottom-nav .txt-03 {
  font-size: 16rem;
  margin-top: 30rem;
}
@media only screen and (max-width: 767px) {
  #bottom-nav .txt-03 {
    font-size: 14rem;
    margin-top: 30rem;
  }
}
#bottom-nav .txt-04 {
  font-size: 16rem;
  margin-top: 20rem;
}
@media only screen and (max-width: 767px) {
  #bottom-nav .txt-04 {
    font-size: 14rem;
    margin-top: 15rem;
  }
}
#bottom-nav .line-link {
  padding: 10rem 0;
  border: 1px solid #fff;
  border-radius: 5rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-size: 20rem;
  font-weight: bold;
  gap: 5rem;
  color: #fff;
  cursor: pointer;
  background-color: #06C755;
}
@media print, screen and (min-width: 768px) {
  #bottom-nav .line-link {
    margin: 20rem auto 0;
    width: 542rem;
  }
}
@media only screen and (max-width: 767px) {
  #bottom-nav .line-link {
    width: 100%;
    font-size: 16rem;
    margin-top: 12rem;
    padding: 5rem 0;
  }
}
#bottom-nav .line-link span {
  font-size: 26rem;
}
@media only screen and (max-width: 767px) {
  #bottom-nav .line-link span {
    font-size: 20rem;
  }
}

footer {
  padding: 40rem 0 100rem;
  background-color: #fff;
  position: relative;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 767px) {
  footer {
    padding: 45rem 0 80rem;
  }
}
footer .footer-container {
  position: relative;
  width: 270rem;
}
@media only screen and (max-width: 767px) {
  footer .footer-container {
    width: 224rem;
    text-align: center;
    margin: 0 auto;
  }
}
footer .footer-container .txt-01 {
  font-size: 18rem;
  font-weight: bold;
  color: #2A3645;
  letter-spacing: 1rem;
}
@media only screen and (max-width: 767px) {
  footer .footer-container .txt-01 {
    font-size: 15rem;
  }
}
footer .footer-container .txt-02 {
  font-size: 14rem;
  margin-top: 30rem;
}
@media only screen and (max-width: 767px) {
  footer .footer-container .txt-02 {
    margin-top: 10rem;
  }
}
footer .footer-container .footer-logo {
  width: 100%;
  margin-top: 15rem;
}
@media only screen and (max-width: 767px) {
  footer .footer-container .footer-logo {
    margin-top: 5rem;
  }
}
@media print, screen and (min-width: 768px) {
  footer .footer-container .insta-link {
    position: absolute;
    right: -70rem;
    top: 68rem;
    width: 25rem;
  }
}
@media only screen and (max-width: 767px) {
  footer .footer-container .insta-link {
    margin-top: 15rem;
    margin-left: auto;
    margin-right: auto;
    width: 22rem;
    display: block;
  }
}
footer .company_link {
  font-size: 16rem;
  display: block;
  width: max-content;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  footer .company_link {
    font-size: 14rem;
    margin-right: auto;
    margin-top: 10rem;
  }
}
footer .copyright {
  position: absolute;
  font-size: 12rem;
  text-align: center;
  bottom: 20rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

/*# sourceMappingURL=page_school.css.map */
