@charset "UTF-8";
/* メディアクエリ
==================================== */
/* リニューアルここから */
/* 共通 */
body:not(.mce-content-body):before,
body:not(.mce-content-body):after {
  display: none;
}

#scroll_page_top {
  z-index: 1003;
}

.section-title {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.16em;
  position: relative;
  z-index: 1;
}

.section-en {
  color: #0E55A7;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .section-en {
    font-size: 20px;
  }
}

.section-jp {
  font-family: "Noto Serif JP", serif;
  color: #374859;
  font-size: 30px;
  letter-spacing: 0.16em;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .section-jp {
    font-size: 40px;
  }
}

.title-sub {
  text-align: center;
  color: #0E55A7;
  letter-spacing: 0.16em;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .title-sub {
    font-size: 30px;
  }
}

.txt-serif {
  font-family: "Noto Serif JP", serif;
}

.txt-15 {
  font-size: 0.938rem;
  line-height: 160%;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #374859;
}

.txt-16 {
  font-size: 1rem;
  line-height: 135%;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #374859;
}

.txt-18 {
  font-size: 18px;
  line-height: 160%;
  letter-spacing: 0;
  font-weight: 500;
}

.txt-20 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  margin-top: 20px;
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}

.inner-new {
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 640px;
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .inner-new {
    max-width: 1290px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.page-top * {
  font-feature-settings: initial;
}

.page-top {
  /* fv */
  /* home_style */
  /* home_option */
  /* home_free */
  /* home_reason */
  /* home_serch */
  /* faq */
  /* ----- フェードイン用CSS ----- */
}
.page-top h2 {
  font-weight: 500;
}
.page-top .btn-more {
  text-align: right;
  font-size: 1.125rem;
  margin-top: 1rem;
  transition: 0.3s;
}
.page-top .btn-more span {
  position: relative;
  padding-right: 2em;
}
.page-top .btn-more span::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/arrow-style.svg) no-repeat center center/contain;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
}
.page-top .age {
  letter-spacing: 0;
  color: #687684;
  padding-left: 1.5em;
  position: relative;
}
.page-top .age::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon_boy.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
}
.page-top .fv {
  position: relative;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .page-top .fv {
    margin-top: initial;
  }
}
.page-top .fv_inner {
  margin-inline: auto;
  width: 93.3333333333%;
}
@media screen and (min-width: 768px) {
  .page-top .fv_inner {
    width: 97.2916666667%;
  }
}
.page-top .fv_slider .slick-list {
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .page-top .fv_slider .slick-list {
    overflow: hidden;
    padding-top: 30px;
  }
}
.page-top .fv-slide {
  position: relative;
}
.page-top .fv_container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 135px 170px;
  gap: 10px;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .page-top .fv_container {
    display: flex;
    padding-right: 130px;
    padding-right: clamp(1.25rem, -6.607rem + 16.369vi, 8.125rem);
    gap: initial;
  }
}
@media screen and (min-width: 768px) {
  .page-top .fv_logo {
    margin-top: 53px;
    margin-left: 29px;
    width: clamp(15.625rem, 6.196rem + 19.643vi, 23.875rem);
  }
}
.page-top .fv_content {
  position: relative;
}
.page-top .fv_content::after {
  display: none;
}
@media screen and (min-width: 768px) {
  .page-top .fv_content::after {
    display: block;
    position: absolute;
    content: "";
    background: url(../images/new-top/block_mini.svg) no-repeat center center/contain;
    width: 90px;
    height: 73px;
  }
}
.page-top .fv_copy {
  font-weight: 700;
  line-height: 160%;
  font-size: 16px;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .page-top .fv_copy {
    font-size: 48px;
    font-size: clamp(1.875rem, 0.589rem + 2.679vi, 3rem);
  }
}
.page-top .fv_txt {
  font-size: 15px;
  line-height: 150%;
  text-align: center;
  margin-top: 22px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .page-top .fv_txt {
    text-align: initial;
    font-size: 24px;
    line-height: 200%;
    font-size: clamp(1rem, 0.429rem + 1.19vi, 1.5rem);
  }
}
.page-top .fv_txt.u-mobile {
  margin-top: 13px;
  letter-spacing: 0;
}
.page-top .fv_image {
  width: 100%;
  position: relative;
  margin-top: -7%;
}
@media (min-width: 450px) and (max-width: 767px) {
  .page-top .fv_image {
    margin-top: -2rem;
  }
}
@media screen and (min-width: 768px) {
  .page-top .fv_image {
    aspect-ratio: 1401/694;
    margin-top: -10.5%;
  }
}
.page-top .fv_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .page-top .fv_image img {
    border-radius: 20px;
  }
}
@media (1500px <= width) {
  .page-top .fv_image {
    margin-top: -150px;
  }
}
.page-top .fv_image::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/fv_block.svg) no-repeat center center/contain;
  bottom: -20px;
  left: -20px;
  width: 72px;
  height: 59px;
}
@media screen and (min-width: 768px) {
  .page-top .fv_image::after {
    display: none;
  }
}
.page-top .fv-slide.--eisu .fv_content::after {
  top: -18px;
  right: 24px;
}
.page-top .fv-slide.--good .fv_container {
  position: relative;
  z-index: 1;
  grid-template-columns: 170px 126px;
}
.page-top .fv-slide.--good .fv_container .fv_content {
  order: 1;
}
@media screen and (min-width: 768px) {
  .page-top .fv-slide.--good .fv_container .fv_content {
    order: initial;
  }
}
.page-top .fv-slide.--good .fv_container .fv_logo {
  order: 2;
}
@media screen and (min-width: 768px) {
  .page-top .fv-slide.--good .fv_container .fv_logo {
    order: initial;
  }
}
@media screen and (min-width: 768px) {
  .page-top .fv-slide.--good .fv_container {
    flex-direction: row-reverse;
    padding-right: clamp(1.25rem, -4.107rem + 11.161vi, 5.938rem);
    padding-left: clamp(1.25rem, -5.25rem + 13.542vi, 6.938rem);
  }
}
.page-top .fv-slide.--good .fv_content::after {
  top: 50%;
  transform: translateY(-50%);
  right: -37px;
}
.page-top .fv-slide.--mirai .fv_content::after {
  top: -14px;
  left: -145px;
}
.page-top .fv_block {
  position: absolute;
  content: "";
  top: 58%;
  left: 0;
  width: 70px;
  display: none;
}
@media screen and (min-width: 768px) {
  .page-top .fv_block {
    display: block;
    top: 94%;
    width: 265px;
  }
}
.page-top .add-h1 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .page-top .add-h1 {
    font-size: 18px;
    margin-top: 120px;
  }
}
.page-top .home_style .inner-new {
  position: relative;
}
.page-top .home_style .inner-new::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/style_block.svg) no-repeat center center/contain;
  right: 0;
  top: 0;
  width: 105px;
  height: 75px;
}
@media screen and (min-width: 768px) {
  .page-top .home_style .inner-new::after {
    width: 185px;
    height: 142px;
  }
}
.page-top .home_style_copy {
  text-align: center;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.18em;
  line-height: 160%;
  margin-top: 1rem;
  font-size: 1.25rem;
}
@media screen and (min-width: 768px) {
  .page-top .home_style_copy {
    font-size: 1.5rem;
  }
}
.page-top .home_style_cards {
  display: grid;
  margin-top: 2rem;
  gap: 3rem;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .page-top .home_style_cards {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.625rem, -1.518rem + 4.464vi, 2.5rem);
    margin-top: 3.8rem;
  }
}
.page-top .home_style_card {
  transition: 0.3s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
@media (any-hover: hover) {
  .page-top .home_style_card:hover {
    transform: translateY(-30px);
  }
}
@media (any-hover: hover) {
  .page-top .home_style_card:hover .home_style_btn {
    transform: translateX(5px);
  }
}
.page-top .home_style_label {
  width: 150px;
  height: 3rem;
  border-radius: 10px 10px 0 0;
  background: #0E55A7;
  color: #FFF;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 140%;
  letter-spacing: 0;
}
.page-top .home_style_label span {
  margin-top: -0.7rem;
  padding-left: 1.8em;
  position: relative;
}
.page-top .home_style_label span::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon_book.svg) no-repeat center center/contain;
  top: 55%;
  left: 0;
  transform: translateY(-50%);
  width: 1.5625rem;
  height: 1.125rem;
}
.page-top .home_style_card a {
  background: #FFF;
  border-radius: 10px;
  border: 3px solid;
  padding: clamp(0.938rem, 0.223rem + 1.488vi, 1.563rem);
  margin-top: -0.725rem;
  gap: 10px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-top .home_style_card.--eisu a {
  border-color: #005BAC;
}
.page-top .home_style_card.--good .home_style_label {
  background: #FFE100;
  color: #231815;
}
.page-top .home_style_card.--good .home_style_label span::before {
  background: url(../images/new-top/icon_book_black.svg) no-repeat center center/contain;
}
.page-top .home_style_card.--good a {
  border-color: #FFE100;
}
.page-top .home_style_card.--mirai .home_style_label {
  background: #018F3A;
}
.page-top .home_style_card.--mirai a {
  border-color: #018F3A;
}
.page-top .home_style_image {
  aspect-ratio: 340/220;
}
.page-top .home_style_image img {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .home_style_content {
  display: grid;
  gap: 8px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .page-top .home_style_btn {
    margin-right: 0.725rem;
    margin-top: auto;
  }
}
.page-top .home_option {
  margin-top: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top .home_option {
    margin-top: 100px;
  }
}
.page-top .home_option::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/ashirai_blue_right.png) no-repeat center center/cover;
  width: 783px;
  height: 1309px;
  right: 0;
  top: -50%;
}
.page-top .home_option_container {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  padding: 2.5rem 2.125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_container {
    max-width: 1000px;
    margin-inline: auto;
  }
}
.page-top .home_option_container::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/block_mini.svg) no-repeat center center/contain;
  top: -24px;
  right: 28px;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_container::after {
    width: 93px;
    height: 77px;
  }
}
.page-top .home_option_items {
  display: grid;
  margin-top: 1rem;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_items {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.625rem, -0.446rem + 2.232vi, 1.563rem);
  }
}
.page-top .home_option_item {
  display: grid;
  gap: 4px;
}
.page-top .home_option_item a {
  background: #FFF;
  box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.1490196078);
  border-radius: 15px;
  padding: 11px 11px 17px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (any-hover: hover) {
  .page-top .home_option_item a:hover {
    transform: translate(5px, 5px);
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1490196078);
  }
}
.page-top .home_option_image {
  aspect-ratio: 271/188;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_image {
    max-width: 271px;
  }
}
.page-top .home_option_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.page-top .home_option_content {
  gap: 4px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.page-top .home_option_name {
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_name {
    font-size: 1.25rem;
  }
}
.page-top .home_option_txt {
  line-height: 140%;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .page-top .home_option_btn {
    margin-right: 0.725rem;
    margin-top: auto;
  }
}
.page-top .home_free {
  margin-top: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top .home_free {
    margin-top: 100px;
  }
}
.page-top .home_free::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/ashirai_blue_left.png) no-repeat center center/cover;
  width: 517px;
  height: 1309px;
  left: 0;
  top: -60%;
}
.page-top .home_free_wrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top .home_free_wrap {
    max-width: 700px;
    margin-inline: auto;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.6);
    padding: 32px 26px 37px;
  }
}
.page-top .home_free_wrap::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/block_mini.svg) no-repeat center center/contain;
  top: -22px;
  left: 13px;
}
@media screen and (min-width: 768px) {
  .page-top .home_free_wrap::after {
    width: 93px;
    height: 77px;
  }
}
.page-top .home_free_container {
  margin-top: 10px;
}
.page-top .home_free_container a {
  display: grid;
  background: #FFF;
  box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.1490196078);
  border-radius: 15px;
  padding: 0.938rem;
  gap: 5px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media screen and (min-width: 768px) {
  .page-top .home_free_container a {
    grid-template-columns: 45.6769983687% 1fr;
    align-items: center;
    gap: 1.25rem;
  }
}
@media (any-hover: hover) {
  .page-top .home_free_container a:hover {
    transform: translate(5px, 5px);
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1490196078);
  }
}
.page-top .home_free_image {
  aspect-ratio: 280/180;
}
.page-top .home_free_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.page-top .home_free_content {
  display: grid;
  gap: 4px;
}
.page-top .home_free_txt {
  line-height: 140%;
  letter-spacing: 0.05em;
}
.page-top .home_free_btn {
  margin-top: initial;
}
.page-top .home_reason {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason {
    margin-top: 140px;
  }
}
.page-top .home_reason_items {
  margin-top: 40px;
  display: grid;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_items {
    margin-top: 90px;
    gap: 50px;
    width: 98.8%;
    margin-inline: auto;
  }
}
.page-top .home_reason_item {
  background: #FFF;
  border-radius: 10px;
  display: grid;
  position: relative;
  padding: 65px 15px 30px;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_item {
    padding: 21px 21px 21px 25px;
    grid-template-columns: 49.5374264087% 1fr;
    align-items: center;
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_item:nth-child(even) {
    grid-template-columns: 1fr 49.5374264087%;
  }
  .page-top .home_reason_item:nth-child(even) .home_reason_image {
    order: 2;
  }
  .page-top .home_reason_item:nth-child(even) .home_reason_content {
    order: 1;
  }
}
.page-top .home_reason_label {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0E55A7;
  border-radius: 0 10px 0 10px;
  width: 219px;
  min-height: 47px;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 135%;
  letter-spacing: 0;
  top: 0;
  right: 0;
  padding-left: 1em;
}
.page-top .home_reason_label span {
  font-weight: 900;
  font-size: 55px;
  letter-spacing: 0.16em;
  margin-top: -20px;
  margin-left: 4px;
  line-height: 1;
  color: #FDAE4D;
  position: relative;
}
.page-top .home_reason_label span::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-text-stroke: 8px #0E55A7;
  text-stroke: 8px #0E55A7;
}
.page-top .home_reason_label::after {
  position: absolute;
  content: "";
  width: 35px;
  height: 35px;
  background: rgba(218, 231, 245, 0.7);
  left: -18px;
  bottom: -14px;
  transform: rotate(4deg);
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_label.--left {
    left: 0;
    right: initial;
    border-radius: 10px 0 10px 0;
  }
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_label.--left::after {
    transform: rotate(-15deg);
    bottom: -19px;
    right: -21px;
    left: initial;
  }
}
.page-top .home_reason_content {
  gap: 1.563rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_content {
    height: 100%;
    padding: 3em 0;
  }
}
.page-top .home_reason_content::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  z-index: -1;
}
.page-top .home_reason_item:nth-child(1) .home_reason_content::after {
  background: url(../images/new-top/icon_reason01.svg) no-repeat center center/contain;
  width: 12.5rem;
  height: 10rem;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_item:nth-child(1) .home_reason_content::after {
    width: clamp(16.375rem, 12.804rem + 7.44vi, 19.5rem);
    height: clamp(13.875rem, 10.304rem + 7.44vi, 17rem);
  }
}
.page-top .home_reason_item:nth-child(2) .home_reason_content::after {
  background: url(../images/new-top/icon_reason02.svg) no-repeat center center/contain;
  width: clamp(15.563rem, 11.991rem + 7.44vi, 18.688rem);
  height: clamp(9.938rem, 6.366rem + 7.44vi, 13.063rem);
}
.page-top .home_reason_item:nth-child(3) .home_reason_content::after {
  background: url(../images/new-top/icon_reason03.svg) no-repeat center center/contain;
  width: clamp(18.188rem, 14.616rem + 7.44vi, 21.313rem);
  height: clamp(13.063rem, 9.491rem + 7.44vi, 16.188rem);
}
.page-top .home_reason_item:nth-child(4) .home_reason_content::after {
  background: url(../images/new-top/icon_reason04.svg) no-repeat center center/contain;
  width: clamp(16.875rem, 13.304rem + 7.44vi, 20rem);
  height: clamp(11.063rem, 7.491rem + 7.44vi, 14.188rem);
}
.page-top .home_reason_title {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 135%;
}
@media screen and (min-width: 768px) {
  .page-top .home_reason_title {
    font-size: clamp(1.25rem, 0.821rem + 0.893vi, 1.625rem);
  }
}
.page-top .home_reason_txt span {
  letter-spacing: 0.03em;
}
.page-top .home_serch {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .page-top .home_serch {
    padding-top: 120px;
  }
}
.page-top .home_serch_map {
  text-align: right;
  margin-top: -190px;
  position: relative;
  width: 700px;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .page-top .home_serch_map {
    margin-top: -310px;
    width: 1046px;
    width: 65.375rem;
  }
}
@media (1500px <= width) {
  .page-top .home_serch_map {
    width: 72.6388888889%;
    aspect-ratio: 1046/1204;
  }
  .page-top .home_serch_map img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page-top .home_serch_map span {
  position: absolute;
  left: 50%;
  top: 50%;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .page-top .home_serch_map span {
    font-size: 24px;
  }
}
.page-top .home_serch_map span a {
  transition: 0.2s;
}
.page-top .home_serch_map .toukai {
  top: 37.5%;
  left: 21.5%;
}
.page-top .home_serch_map .osaka {
  top: 37.3%;
  left: 31.7%;
}
.page-top .home_serch_map .chita {
  top: 44%;
  left: 16%;
}
.page-top .home_serch_map .higashiura {
  top: 44.3%;
  left: 31.6%;
}
.page-top .home_serch_map .agui {
  top: 49%;
  left: 22.5%;
}
.page-top .home_serch_map .handa {
  top: 55%;
  left: 14%;
}
.page-top .home_serch_map .tokoname {
  top: 55%;
  left: 27.5%;
}
.page-top .home_serch_map .taketoyo {
  top: 62%;
  left: 25%;
}
@media (any-hover: hover) {
  .page-top .home_serch_map span:hover {
    transform: scale(1.2);
  }
}
@media (any-hover: hover) {
  .page-top .home_serch_map span a:hover {
    color: #0E55A7;
  }
}
.page-top .home_qa {
  margin-top: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa {
    margin-top: 161px;
  }
}
.page-top .home_qa::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/ashirai_red.png) no-repeat center center/cover;
  width: 665px;
  height: 1408px;
  left: 0;
  top: -700px;
}
.page-top .home_qa::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/ashirai_blue_right02.png) no-repeat center center/cover;
  width: 569px;
  height: 1309px;
  right: 0;
  top: 0;
}
.page-top .home_qa_items {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_items {
    margin-top: 45px;
    max-width: 1000px;
    margin-inline: auto;
  }
}
.page-top .home_qa_item {
  border-bottom: dashed 1px #C4C4C4;
  padding: 30px 0;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_item {
    padding: 45px 0 50px;
  }
}
.page-top .home_qa_question {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0;
  position: relative;
  padding-left: 43px;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_question {
    padding-left: 103px;
    font-size: 20px;
  }
}
.page-top .home_qa_question::before {
  position: absolute;
  font-family: "Noto Serif JP", serif;
  content: "Q.";
  font-weight: 500;
  letter-spacing: 0.16em;
  left: 5px;
  top: 0;
  font-size: 26px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_question::before {
    top: -10px;
    left: 40px;
    font-size: 40px;
  }
}
.page-top .home_qa_question span {
  position: relative;
  width: 100%;
  display: inline-block;
}
.page-top .home_qa_question span::after,
.page-top .home_qa_question span::before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 1px;
  background: #687684;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_question span::after,
.page-top .home_qa_question span::before {
    right: 38px;
    width: 40px;
  }
}
.page-top .home_qa_question span::after {
  transform: rotate(90deg);
  transition: 0.3s;
}
.page-top .home_qa_question.is-active span::after {
  transform: rotate(0);
}
.page-top .home_qa_answer {
  font-weight: 400;
  font-size: 14px;
  line-height: 160%;
  letter-spacing: 0;
  position: relative;
  padding: 10px 20px 10px 50px;
  margin-top: 20px;
  display: none;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_answer {
    font-size: 16px;
    padding: 0 123px;
    margin-top: 45px;
  }
}
.page-top .home_qa_answer::before {
  position: absolute;
  content: "A.";
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #C36D6D;
  left: 10px;
  top: 5px;
  font-size: 26px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_answer::before {
    font-size: 40px;
    top: -10px;
    left: 64px;
  }
}
.page-top .home_qa_answer p:not(:last-child) {
  margin-bottom: 1em;
}
.page-top .home_qa_answer.is-active {
  display: block;
}
.page-top .home_qa_btn {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .page-top .home_qa_btn {
    margin-top: 60px;
  }
}
.page-top .home_teacher {
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  .page-top .home_teacher {
    padding: 124px 0 100px;
  }
}
.page-top .infinity {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  display: grid;
  gap: 24px;
  margin-top: 46px;
}
.page-top .infinity_images {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-animation: infiniteScroll 80s linear infinite;
          animation: infiniteScroll 80s linear infinite;
}
@media screen and (min-width: 768px) {
  .page-top .infinity_images {
    gap: 30px;
    -webkit-animation: infiniteScroll 105s linear infinite;
            animation: infiniteScroll 105s linear infinite;
  }
}
.page-top .infinity_images.--reverse {
  -webkit-animation: infiniteScrollReverse 40s linear infinite;
          animation: infiniteScrollReverse 40s linear infinite;
}
@media screen and (min-width: 768px) {
  .page-top .infinity_images.--reverse {
    -webkit-animation: infiniteScrollReverse 80s linear infinite;
            animation: infiniteScrollReverse 80s linear infinite;
  }
}
.page-top .infinity_image {
  flex-shrink: 0;
  width: 140px;
  transition: 0.3s;
  overflow: hidden;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .page-top .infinity_image {
    width: 292px;
  }
}
.page-top .infinity_image img {
  transition: 0.3s;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (any-hover: hover) {
  .page-top .infinity_image:hover img {
    transform: scale(1.2);
  }
}
@-webkit-keyframes infiniteScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes infiniteScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@-webkit-keyframes infiniteScrollReverse {
  0% {
    transform: translateX(-31.25%);
    @media screen and (min-width: 768px) {
      .page-top {
        transform: translateX(-28.5714285714%);
      }
    }
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes infiniteScrollReverse {
  0% {
    transform: translateX(-31.25%);
    @media screen and (min-width: 768px) {
      .page-top {
        transform: translateX(-28.5714285714%);
      }
    }
  }
  100% {
    transform: translateX(0);
  }
}
.page-top .home_teacher_btns {
  margin-top: 30px;
  display: grid;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .page-top .home_teacher_btns {
    margin-top: 52px;
    display: flex;
    gap: 62px;
    justify-content: center;
  }
}
.page-top .home_teacher_btns .btn a {
  width: 340px;
}
.page-top .home_post {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .page-top .home_post {
    margin-top: 111px;
  }
}
.page-top .home_post_wrapper {
  display: grid;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .page-top .home_post_wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
.page-top .home_post_wrap {
  background: #FFF;
  padding: 45px 30px 56px;
  border-radius: 20px;
}
.page-top .home_post_item {
  padding: 20px 0 17px;
  border-bottom: dashed 1px #C4C4C4;
}
.page-top .home_post_label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.page-top .home_post_date {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0;
}
.page-top .post_categories.cat_list {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.page-top .post_categories.cat_list .cat-teacher {
  border: 1px solid #687684;
  background: initial;
  color: #687684;
}
.page-top .post_categories.cat_list > * {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  height: 23px;
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 71px;
  padding: 0 1.1em;
  border-radius: 5px;
  margin: initial;
}
.page-top .home_post_title {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .page-top .home_post_title {
    -webkit-line-clamp: 1;
  }
}
.page-top .home_post_btn {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .page-top .home_post_btn {
    margin-top: 46px;
  }
}
.page-top .home_voice {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .page-top .home_voice {
    margin-top: 123px;
  }
}
.page-top .voice_schoolhouse_category,
.page-top .up_schoolhouse_category {
  background: #C36D6D;
}
.page-top .home_voice_slider,
.page-top .home_case_slider {
  margin-top: 41px;
}
.page-top .home_voice_slider .slick-slide,
.page-top .home_case_slider .slick-slide {
  transition: 0.5s;
  margin: 0 10px;
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_slider .slick-slide,
.page-top .home_case_slider .slick-slide {
    margin: 0 30px; /* 左右30pxずつ → 合計60pxのgap */
  }
}
.page-top .home_voice_slider .slick-list,
.page-top .home_case_slider .slick-list {
  padding-bottom: 50px;
  margin: 0 -5px;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_slider .slick-list,
.page-top .home_case_slider .slick-list {
    margin: 0 -30px;
  }
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_slider .home_voice_item.--shadow.slick-center,
.page-top .home_case_slider .home_voice_item.--shadow.slick-center {
    transform: translateY(77px);
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .page-top .home_voice_slider .home_voice_item.--shadow.slick-center:hover,
.page-top .home_case_slider .home_voice_item.--shadow.slick-center:hover {
    transform: translateY(57px);
  }
}
.page-top .home_voice_item {
  background: #FFF;
  border-radius: 15px;
  padding: 30px 30px 38px;
  position: relative;
  transition: all 0.2s ease;
  z-index: 2;
}
.page-top .home_voice_item:hover,
.page-top .home_case_item:hover {
  cursor: pointer;
}
.page-top .home_voice_item.--shadow {
  box-shadow: 10px 10px 0px 0px rgba(104, 118, 132, 0.2705882353);
}
@media (any-hover: hover) {
  .page-top .home_voice_item.--shadow:hover {
    transform: translateY(-20px);
  }
}
.page-top .home_voice_item::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/star.svg) no-repeat center center/contain;
  top: -17px;
  right: 30px;
  width: 31px;
  height: 31px;
  filter: none;
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_item::before {
    width: 41px;
    height: 41px;
  }
}
.page-top .home_voice_item::after {
  position: absolute;
  content: "";
  background: url(../images/new-top/arrow_voice.svg) no-repeat center center/contain;
  width: 34px;
  height: 34px;
  top: 100%;
  left: 88px;
}
.page-top .home_voice_item.--shadow::after {
  filter: drop-shadow(10px 10px 0px rgba(104, 118, 132, 0.2705882353));
}
.page-top .home_voice_title {
  font-weight: 700;
  font-size: 24px;
  line-height: 135%;
  letter-spacing: 0;
  text-align: center;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  position: relative;
}
.page-top .home_voice_parents {
  margin-top: 10px;
  padding-top: 13px;
  border-top: dashed 1px #C4C4C4;
  text-align: right;
  color: #687684;
  line-height: 135%;
}
.page-top .home_voice_description {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-height: 135%;
  margin-top: 13px;
}
.page-top .home_voice_slider .slick-dots,
.page-top .home_case_slider .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_slider .slick-dots,
.page-top .home_case_slider .slick-dots {
    margin-top: 160px;
  }
}
.page-top .home_voice_slider .slick-dots button,
.page-top .home_case_slider .slick-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 8px;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.1490196078);
  border: none;
  cursor: pointer;
  font-size: 0; /* 数字を消す */
}
@media screen and (min-width: 768px) {
  .page-top .home_voice_slider .slick-dots button,
.page-top .home_case_slider .slick-dots button {
    width: 15px;
    height: 15px;
  }
}
.page-top .home_voice_slider .slick-dots .slick-active button,
.page-top .home_case_slider .slick-dots .slick-active button {
  background-color: #0E55A7;
}
.page-top .home_voice_cat,
.page-top .home_case_cat {
  margin-top: 13px;
}
.page-top .home_voice_cat.cat_list > *,
.page-top .home_case_cat.cat_list > * {
  height: 29px;
  font-size: 15px;
  font-weight: 700;
  padding: 0 12px;
}
@media screen and (min-width: 768px) {
  .page-top .home_case_slider .slick-center {
    transform: initial;
  }
}
.page-top .home_case_slider .home_case_img {
  text-align: center;
  margin-top: 57px;
  margin-inline: auto;
  aspect-ratio: 346/288;
  max-width: 346px;
}
.page-top .home_case_slider .home_case_img img {
  border-radius: 15px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-top .home_voice_title.--case a {
  color: #CE4343;
}
.page-top .home_voice_item.--case::before {
  background: url(../images/new-top/up.svg) no-repeat center center/contain;
  width: 55px;
  height: 46px;
  transition: 0.3s;
}
.page-top .home_voice_item.--case {
  border: 3px solid #D8DDE3;
  border: 3px solid #D8DDE3;
}
.page-top .home_voice_item.--case::after {
  background: url(../images/new-top/tail.png) no-repeat center center/contain;
  left: initial;
  right: 88px;
  top: 99.1%;
}
.page-top .classroom_wrapper {
  margin-top: -150px;
}
@media screen and (min-width: 768px) {
  .page-top .classroom_wrapper {
    margin-top: -250px;
  }
}
.page-top .classroom_area {
  background: initial;
  margin-top: 20px;
  padding: 0 15px;
}
@media screen and (min-width: 768px) {
  .page-top .classroom_area {
    max-width: 1108px;
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  .page-top .classroom_area .area-section {
    padding: 40px 19px;
  }
}
.page-top .classroom_area:first-of-type .area-ttl {
  border-radius: 10px;
}
.page-top .classroom_area .area-ttl {
  background: #0E55A7;
  border-radius: 10px;
  min-height: 47px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .page-top .classroom_area .area-ttl {
    font-size: 24px;
  }
}
.page-top .classroom_section .classroom_list {
  display: grid;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  .page-top .classroom_section .classroom_list {
    gap: 80px;
  }
}
.page-top .classroom_section .classroom_list .post {
  width: 100%;
  margin-right: initial;
  margin-bottom: initial;
}
.page-top .classroom_section .classroom_list .post:not(:last-child)::after {
  position: absolute;
  content: "";
  border-bottom: 1px dashed #C4C4C4;
  width: 79.8839458414%;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
  height: 1px;
}
@media screen and (min-width: 768px) {
  .page-top .classroom_section .classroom_list .post:not(:last-child)::after {
    bottom: -40px;
  }
}
.page-top .classroom_section .classroom_list .img {
  margin-bottom: initial;
}
.page-top .post_box {
  display: grid;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .page-top .post_box {
    grid-template-columns: 41.067961165% 1fr;
    gap: 20px;
    align-items: center;
  }
}
.page-top .post_box .img {
  aspect-ratio: 423/328;
  border-radius: 10px;
  position: relative;
}
.page-top .post_box .img img {
  border-radius: 10px;
}
.page-top .post_box .img .post_logo {
  position: absolute;
  top: 0;
  left: 0;
}
.page-top .post_box .img .post_logo img {
  border-radius: 10px 0 10px 0;
}
.page-top .classroom_section .classroom_list .post_box:hover {
  opacity: 1;
}
.page-top .post_info .post_head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.page-top .post_info .post_head .name {
  font-size: 20px;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .post_head .name {
    font-size: 28px;
  }
}
.page-top .post_info .post_sns {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .post_sns {
    gap: 10px;
  }
}
.page-top .post_info .post_maps {
  display: grid;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .post_maps {
    display: flex;
    gap: 11px;
    align-items: center;
    flex-wrap: wrap;
  }
}
.page-top .post_info .post_maps .add {
  font-size: 16px;
  line-height: 135%;
  letter-spacing: 0;
  padding-left: 1.5em;
  position: relative;
  font-weight: 500;
}
.page-top .post_info .post_maps .add::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon_school.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
}
.page-top .post_info .post_maps .post_flex {
  display: flex;
  gap: 11px;
  align-items: center;
}
.page-top .post_info .post_maps .post_map a {
  width: 130px;
  height: 27px;
  display: grid;
  place-items: center;
  background: #C36D6D;
  color: #FFF;
  border-radius: 5px;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
}
.page-top .post_info .post_maps .post_map a span {
  padding-left: 1.5em;
  position: relative;
}
.page-top .post_info .post_maps .post_map a span::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon_map.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 14px;
}
.page-top .post_info .post_maps .post_free a {
  width: 130px;
  height: 27px;
  display: grid;
  place-items: center;
  background: #C36D6D;
  color: #FFF;
  border-radius: 5px;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  background: #B78AD5;
}
.page-top .post_info .tel {
  font-size: 16px;
  line-height: 135%;
  letter-spacing: 0;
  padding-left: 1.5em;
  position: relative;
  font-weight: 500;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .tel {
    margin-top: 3px;
  }
}
.page-top .post_info .tel::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon_tel.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
.page-top .post_info .cat_wrapper {
  display: grid;
  gap: 5px;
  margin-top: 12px;
}
.page-top .post_info .cat_wrap {
  display: grid;
  gap: 5px;
  grid-template-columns: 85px 1fr;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .cat_wrap {
    grid-template-columns: 110px 1fr;
  }
}
.page-top .post_info .cat_label {
  background: #687684;
  border-radius: 5px;
  min-height: 26px;
  display: grid;
  place-items: center;
  color: #FFF;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .cat_label {
    font-size: 15px;
  }
}
.page-top .post_info .cat_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-top: initial;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .cat_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-top .post_info .cat_list a {
  margin: initial;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  border-radius: 5px;
  min-height: 26px;
  display: grid;
  place-items: center;
  color: #374859;
  background: #F5E7C1;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .cat_list a {
    font-size: 15px;
  }
}
.page-top .post_info .cat_list span {
  margin: initial;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  border-radius: 5px;
  min-height: 26px;
  display: grid;
  place-items: center;
  background: #F5E7C1;
  color: #374859;
  white-space: wrap;
}
@media screen and (min-width: 768px) {
  .page-top .post_info .cat_list span {
    font-size: 15px;
  }
}
.page-top .post_info .cat_list .cat-t-elementaryschool {
  background: #F2D5CC;
}
.page-top .post_info .cat_list .cat-t-juniorhighschool {
  background: #F2C691;
}
.page-top .post_info .cat_list .cat-t-highschool {
  background: #FFB4A7;
}
.page-top .post_info .cat_list .cat-group_class {
  background: #9FC3ED;
}
.page-top .post_info .cat_list .cat-individual_class {
  background: #F3E48E;
}
.page-top .post_info .cat_list .cat-online_class {
  background: #BEE8EB;
}
.page-top .post_info .cat_list .cat-remote_individual_class {
  background: #F8CCA7;
}
.page-top .post_info .cat_list .cat-small_group {
  background: #B8E9B3;
}
.page-top .post_info .cat_list.--course a {
  background: #F5E7C1;
}
.page-top .post_info .btn_double {
  display: grid;
  gap: 7px;
  margin-top: 20px;
}
@media (800px <= width) {
  .page-top .post_info .btn_double {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 800px) and (max-width: 970px) {
  .page-top .post_info .btn_double {
    zoom: 0.8;
  }
}
.page-top .post_info .btn a {
  height: 50px;
  padding: initial;
  display: grid;
  place-items: center;
}
.page-top .btn_double .btn a[href$="/inquiry/#form"]::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #374859;
  transition: all 0.4s ease-out;
  top: calc(50% - 4px);
  right: 24px;
  border-width: 4px 0 4px 12px;
}
@media screen and (min-width: 768px) {
  .page-top .btn_double .btn a[href$="/inquiry/#form"]::before {
    border-width: 6px 0 6px 16px;
    top: calc(50% - 6px);
    right: 30px;
  }
}
.page-top .btn_double .btn a[href$="/inquiry/#form"]:hover:before {
  border-color: transparent transparent transparent #FFF;
}
.page-top .btn_double .btn.btn_school a {
  background: #687684;
  color: #FFF;
}
.page-top .btn_double .btn_school a:not([target=_blank]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"]):not([href$="/contact/"])::before {
  border-color: transparent transparent transparent #FFF;
}
.page-top .btn_double .btn_school a:not([target=_blank]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"]):not([href$="/contact/"]):hover {
  background-color: #374859;
}
.page-top .home_case {
  position: relative;
  padding-top: 62px;
}
.page-top .home_case .area {
  position: absolute;
  content: "";
  width: 90%;
  height: 80%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .page-top .home_case .area {
    height: 996px;
    height: 97%;
    width: 80.3472222222%;
  }
}
.page-top .home_case .circles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.page-top .home_case .circles li {
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background: #DAE7F5;
  -webkit-animation: animate 25s linear infinite;
          animation: animate 25s linear infinite;
  bottom: -150px;
  z-index: 1;
  scale: 0.6;
}
@media screen and (min-width: 768px) {
  .page-top .home_case .circles li {
    scale: 1;
  }
}
.page-top .home_case .circles li:nth-child(1) {
  left: 68px;
  width: 108px;
  height: 108px;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  background: #DAE7F5;
  left: 5.8772687986%;
}
.page-top .home_case .circles li:nth-child(2) {
  width: 84px;
  height: 84px;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  background: rgba(218, 231, 245, 0.8509803922);
  border-radius: 2px;
  left: 19.9654278306%;
}
.page-top .home_case .circles li:nth-child(3) {
  width: 150px;
  height: 150px;
  border-radius: 15px;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
  background: rgba(218, 231, 245, 0.6);
  left: 22.2990492653%;
}
.page-top .home_case .circles li:nth-child(4) {
  width: 66px;
  height: 66px;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 18s;
          animation-duration: 18s;
  border-radius: 5px;
  background: rgba(218, 231, 245, 0.6980392157);
  left: 66.724286949%;
}
.page-top .home_case .circles li:nth-child(5) {
  width: 87px;
  height: 87px;
  -webkit-animation-delay: -5s;
          animation-delay: -5s;
  border-radius: 25px;
  left: 65.5142610199%;
  background: rgba(218, 231, 245, 0.3098039216);
}
.page-top .home_case .circles li:nth-child(6) {
  width: 143px;
  height: 143px;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  background: rgba(218, 231, 245, 0.9490196078);
  left: 71.2186689715%;
}
@-webkit-keyframes animate {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(-1500px) rotate(720deg);
  }
}
@keyframes animate {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(-1500px) rotate(720deg);
  }
}
.page-top .home_case_slider {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .page-top .home_case_slider .slick-dots {
    margin-top: 30px;
  }
}
.page-top .home_case_item {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.page-top .home_case_item .home_case_img {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (any-hover: hover) {
  .page-top .home_case_item:hover .home_case_img {
    transform: translateY(-20px);
  }
}
@media (any-hover: hover) {
  .page-top .home_case_item:hover {
    transform: translateY(-20px);
  }
}
.page-top .home_case_btn a {
  background: #F7F4E9;
}
@media (any-hover: hover) {
  .page-top .home_case_btn a:hover {
    background: #374859;
  }
}
.page-top .cat-mirai {
  background: #018F3A;
}
.page-top .cat-other {
  background: #687684;
}
.page-top .fade {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
  /* Safari用のハードウェアアクセラレーション */
  -webkit-transform: translate3d(0, 30px, 0);
  -webkit-transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), -webkit-transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
  /* バックフェースの表示を隠す（Safari最適化） */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* アンチエイリアシング */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page-top .fade.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}

/* cta */
.new_cta {
  background: #FFF;
  padding: 40px 0;
}
@media screen and (min-width: 768px) {
  .new_cta {
    padding: 65px 0 78px;
  }
}

.new_cta_txt {
  margin-top: 20px;
}

.new_cta_btns {
  display: grid;
  margin-top: 30px;
  gap: 30px;
  max-width: 450px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .new_cta_btns {
    grid-template-columns: repeat(2, 1fr);
    max-width: 933px;
    gap: 53px;
    margin-top: 50px;
  }
}

.new_cta_btn a {
  color: #FFF;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(to right, #FEBC5F, #F37C4B);
  min-height: 60px;
  border-radius: 50px;
  letter-spacing: 0;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .new_cta_btn a {
    min-height: 103px;
    font-size: 24px;
  }
}
.new_cta_btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}
@media (any-hover: hover) {
  .new_cta_btn a:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  }
  .new_cta_btn a:hover::before {
    left: 100%;
  }
}
.new_cta_btn span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.new_cta_btn span {
  padding-left: 2.2em;
  position: relative;
}
@media (any-hover: hover) {
  .new_cta_btn a:hover span::before {
    transform: translateY(-50%) scale(1.1);
  }
}

.new_cta_btn.--mail a {
  background: linear-gradient(to right, #FEBC5F, #F37C4B);
}
.new_cta_btn.--mail a::before {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.2), transparent);
}
.new_cta_btn.--mail span {
  padding-left: 3.2em;
}
.new_cta_btn.--mail span::before {
  background: url(../images/new-top/cta_mail.svg) no-repeat center center/contain;
  width: 47px;
  height: 28px;
}
@media screen and (min-width: 768px) {
  .new_cta_btn.--mail span::before {
    width: 57px;
    height: 38px;
  }
}

.new_cta_btn.--tel a {
  background: linear-gradient(to right, #4B9CCF, #0E55A7);
}
.new_cta_btn.--tel a::before {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.2), transparent);
}
.new_cta_btn.--tel span::before {
  background: url(../images/new-top/cta_tel.svg) no-repeat center center/contain;
  width: 31px;
  height: 31px;
}
@media screen and (min-width: 768px) {
  .new_cta_btn.--tel span::before {
    width: 41px;
    height: 41px;
  }
}

/* 追従ボタン */
.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 15px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  z-index: 1001;
}

.fixed.is-active {
  opacity: 1;
  pointer-events: auto;
}

.fixed.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .fixed-inner {
    width: 97.5694444444%;
    margin-inline: auto;
  }
}

.fixed-btns {
  display: grid;
  align-items: center;
  margin-top: 16px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 768px) {
  .fixed-btns {
    gap: 14px;
    width: 92%;
  }
}
@media (1440px <= width) {
  .fixed-btns {
    width: 95%;
  }
}

.fixed-btn a {
  display: grid;
  place-items: center;
  font-weight: 700;
  background: linear-gradient(to right, #4B9CCF, #0E55A7);
  color: #FFF;
  min-height: 3rem;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .fixed-btn a {
    border-radius: 10px;
    font-size: 1.5rem;
    font-size: clamp(1.125rem, 0.696rem + 0.893vi, 1.5rem);
    min-height: 5.5625rem;
  }
}
.fixed-btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.6s ease;
}
@media (any-hover: hover) {
  .fixed-btn a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  }
  .fixed-btn a:hover::before {
    left: 100%;
  }
}
.fixed-btn span {
  position: relative;
  padding-left: 2.2em;
  transition: transform 0.3s ease;
}
.fixed-btn span::before {
  position: absolute;
  content: "";
  background: url(../images/new-top/icon01.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .fixed-btn span::before {
    width: clamp(2.125rem, 1.482rem + 1.339vi, 2.688rem);
    height: clamp(2.125rem, 1.482rem + 1.339vi, 2.688rem);
  }
}
@media (any-hover: hover) {
  .fixed-btn a:hover span {
    transform: translateX(3px);
  }
  .fixed-btn a:hover span::before {
    transform: translateY(-50%) scale(1.15);
  }
}

.fixed-btn.--orange a {
  background: linear-gradient(to right, #FEBC5F, #F37C4B);
}
.fixed-btn.--orange a::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}
.fixed-btn.--orange span::before {
  background: url(../images/new-top/icon02.svg) no-repeat center center/contain;
}

.fixed-btn:last-child span::before {
  background: url(../images/new-top/icon03.svg) no-repeat center center/contain;
}

.fixed-banner {
  position: fixed;
  z-index: 100;
  right: 21px;
  bottom: 115px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.fixed-banner.is-active {
  opacity: 1;
  pointer-events: auto;
}

.fixed-banner.is-hidden {
  opacity: 0;
  pointer-events: none;
}
