@charset "UTF-8";

html {
  scroll-behavior: smooth;
}

button {
  color: #161719;
}

body {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-size: 16px;
  color: #161719;
  line-height: 1.7;
  background-color: #ffffff;
}

.lp-contents {
  max-width: 750px;
}

.lp-contents__fv {
  padding-bottom: 3.2vw;
}

.fv-ballon {
  padding-left: 2vw;
  padding-right: 7.7vw;
  margin-top: 2.67vw;
  margin-bottom: 27px;
}

.fv-content {
  text-align: center;
  padding: 0 4.27%;
}

.ellipsis {
  margin-top: 6vw;
  text-align: center;
}

.ellipsis img {
  width: 1.5vw;
}

.cta {
  text-align: center;
  padding: 0 11.07%;
}

.studentFeelings-boxes {
  margin-bottom: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4vw;
}

.lp-contents__solution {
  /* 上だけ白くして徐々に */
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 10%, #800000 10%, #800000 100%);
}

.solution-triangle {
  margin-bottom: 33px;
}

.solution-mv {
  color: #800000;
  margin-bottom: 9.2vw;
}

.solution-text {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 7.47vw;
  padding: 0 3.1vw;
  margin-bottom: 4vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background-color: transparent;
}

.solution-text__title {
  padding: 0 10vw;
}

.solution-contents {
  position: relative;
}

.solution-cards {
  padding: 0 5.07vw;
  padding-top: 39.93vw;
  padding-bottom: 4vw;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.solution-cards .solution-card:first-child {
  padding-top: 8vw;
}

.solution-card {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 4vw;
  text-align: center;
  margin-bottom: 2.67vw;
}

.solution-card__header {
  font-size: 3.73vw;
  font-weight: bold;
  color: #800000;
  display: flex;
  align-items: center;
  position: relative;
}

.solution-card__header img {
  width: 33%
}

.solution-card__title {
  position: absolute;
  top: 20%;
  left: 36%;
  font-size: 3.73vw;
  text-align: left;
}

.solution-card__title span {
  font-weight: bold;
  background: linear-gradient(to bottom, transparent 52%, #feed0a 60%, #feed0a 90%, transparent 90%);
}

.solution-card__text {
  font-weight: 500;
  margin-bottom: 5.33vw;
  line-height: 1.583;
  font-size: 3.2vw;
  font-weight: bold;
}

.solution-card__text span {
  color: #d10808;
  font-weight: bold;
}

.solution-card__title.top-0 {
  top: 0;
}

.solution-text__bottom {
  background-color: #ffffff;
  text-align: center;
  color: #800000;
  padding: 10vw 0;
  font-size: 4vw;
}

.solution-text__bottom span {
  font-size: 5.33vw;
  font-weight: bold;
  position: relative;
}

.solution-text__bottom span::after {
  content: "";
  display: inline-block;
  width: 101%;
  border-bottom: 0.5vw solid #800000;
  position: absolute;
  bottom: -0.3vw;
  left: 49%;
  transform: translateX(-50%);
}

.lp-contents__voice {
  padding-bottom: 2vw;
}

.voice-title {
  font-size: 5.07vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.579;
  ;
  color: #ffffff;
  background-color: #800000;
  padding: 4.93vw 0;
}

.voice__slider {
  position: relative;
  overflow: hidden;
  padding-top: 2.67vw;
  padding-left: 16.27vw;
  padding-right: 16.27vw;
}


.voice__pagination {
  position: relative;
  margin-top: 10%;
  text-align: center;
}

.swiper-pagination-bullet {
  background-color: #ccc;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #800000;
}

.voice__swiper {
  position: relative;
}

.voice__slide {
  position: relative;
}

.voice-card__image {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.voice-card__image img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-contents__achievement {
  background-color: #ffffff;
}

.lp-contents__plan {
  padding-top: 9.2vw;
  padding-bottom: 10.4vw;
}

.lp-contents__counseling {
  padding-bottom: 10.4vw;
}

.lp-contents__form {
  background-color: #e3f2fd;
}

.contents {
  margin: 5% auto;
  padding: 5%;
  width: 100%;
}

.form-title {
  font-size: 5vw;
  font-weight: bold;
  margin-bottom: 4vw;
}

hr {
  margin: 4vw 0;
}

textarea {
  width: 100%;
}

.form-buttons{
  margin-top: 8vw;
}

.lp-contents__qa {
  margin-left: auto;
  margin-right: auto;
  padding-top: 7.33vw;
  padding-bottom: 7.33vw;
  max-width: 800px;
  background-color: #f6f3ee;
  font-size: 3.2vw;
}

.qa__title {
  text-align: center;
}

.qa__title-img {
  width: 20vw;
  max-width: 152px;
  height: auto;
  display: inline-block;
}

.qa__title-sub {
  text-align: center;
  margin-top: 1vw;
  margin-bottom: 4vw;
}

.qa__title-sub p {
  margin: 0;
  font-weight: normal;
}

.qa__boxes {
  margin: 0 auto;
}

.qa__box {
  margin-bottom: 2px;
}

.qa-box__head {
  width: 100%;
  padding: 2.67vw;
  display: flex;
  align-items: center;
  cursor: pointer;
  text-align: left;
  position: relative;
}

.qa-box__head-icon {
  width: 5.33vw;
  height: 5.33vw;
  background-image: url('../img/Q.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 6.13vw;
  flex-shrink: 0;
}

.qa-box__head-text {
  flex: 1;
  line-height: 1.5;
  color: inherit;
  text-decoration: none;
}

.qa-box__head::after {
  content: "＋";
  width: 9.07vw;
  height: 9.07vw;
  background: #800000;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 5.2vw;
  line-height: 1;
  margin-left: 15px;
  transition: transform 0.3s ease;
}

.qa-box__head.active::after {
  content: "ー";
  background: #c7ae62;
}

.qa-box__body {
  overflow: hidden;
  display: none;
}

.qa-box__body.active {
  max-height: 200px;
}

.qa-box__a {
  padding: 2.67vw;
  display: flex;
  align-items: flex-start;
}

.qa-box__a-icon {
  width: 5.33vw;
  height: 5.33vw;
  background-image: url('../img/A.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 6.13vw;
  flex-shrink: 0;
}

.qa-box__a-text {
  flex: 1;
  line-height: 1.6;
}

.qa__box:not(:last-child) {
  border-bottom: 2px dotted #800000;
  margin-bottom: 2.67vw;
  padding-bottom: 2.67vw;
}

.lp-contents__footer {
  text-align: center;
  padding: 10.13vw 2vw;
  font-size: 3.2vw;
}

.footer-logo img {
  max-width: 43.9vw;
  height: auto;
}

.footer-address {
  display: flex;
  justify-content: center;
  gap: 3.07vw;
  margin-top: 6.67vw;
}

.footer-address .address {
  line-height: 1.833;
  text-align: start;
}

.footer-tel {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.7vw;
  margin-top: 3.07vw;
}

.footer-tel__icon {
  width: 4.5vw;
  height: 6vw;
}

.footer-tel__text {
  color: #800000;
  font-size: 4.67vw;
  font-weight: bold;
}

.footer-access {
  margin-top: 10.8vw;
}

.footer-access__title {
  text-align: center;
  font-size: 4vw;
  font-weight: bold;
}

.footer-access__list {
  text-align: center;
  display: inline-block;
  margin-top: 5.07vw;
}

.footer-access__list li {
  text-align: left;
}

.footer-access_map {
  margin-top: 8.27vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 66vw;
  height: 288px;
}

.footer-access_map iframe {
  width: 100%;
  height: 100%;
  max-width: 100%;
}

.lp-fixlogo {
  position: fixed;
  z-index: 10000;
  top: 30px;
  left: 3.14788%;
  width: 170px;
}

.lp-allitems--pc {
  position: fixed;
  z-index: -2;
  bottom: 0;
  left: calc(50% + 538px);
  width: 12%;
  max-width: 198px;
}

.lp-pcnav {
  position: fixed;
  z-index: 10;
  bottom: -7vw;
  left: calc(50% - 680px);
  width: 40%;
  max-width: 600px;
  transform: translateY(-50%);
  color: #800000;
}

.lp-pcnav__logo {
  display: inline-block;
  font-size: clamp(0.5vw, 2.3vw, 30px);
  font-weight: bold;
  padding-left: 8%;
  position: relative;
  max-width: 430px;
}

.lp-pcnav__logo::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -200%;
  width: 310%;
  max-width: 1078px;
  border-bottom: 0.2vw solid #800000;
}

.lp-pcnav__logo::after {
  content: "";
  position: absolute;
  bottom: -10.8%;
  right: -10.8%;
  width: 1vw;
  height: 1vw;
  max-width: 20px;
  max-height: 20px;
  background-color: #800000;
  border-radius: 50%;
}

.lp-pcnav__title {
  position: absolute;
  top: 18.4%;
  left: 50%;
  transform: translateX(-50%);
  width: 150%;
  z-index: 1;
}

.lp-pcnav__list {
  margin-top: 2.67%;
  border: 0.3vw solid #800000;
  border-radius: 3%;
  padding: 8% 0 3% 8%;
  margin: 12% 3% 0 3%;
  position: relative;
  font-size: clamp(0.5vw, 1.6vw, 24px);
}

.lp-pcnav__list li {
  margin-bottom: 3%;
}

.lp-pcnav__list li a {
  display: flex;
  align-items: center;
  gap: 5%;
}

.lp-pcnav__list li a span {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(0.5vw, 2.35vw, 26px);
  font-weight: 600;
  line-height: 1.169;
}

.lp-pcnav__list li:hover,
.lp-pcnav__list>li.is-active>a {
  color: #c8ae63;
}


/* mobile */
@media (max-width: 750px) {

  .lp-allitems--pc,
  .lp-fixlogo,
  .lp-pcnav {
    display: none;
  }
}

/* tablet and pc */
@media print,
screen and (min-width: 751px) {
  .lp-wrapper {
    max-width: 1440px;
    margin: 0 auto;
  }

  .lp-main {
    margin-left: auto;
    margin-right: 12.99414%;
    padding: 0;
    max-width: 40.11713%;
  }

  .lp-contents {
    padding: 0 5%;
    background: linear-gradient(to right, #800000 10%, transparent 50%, #800000 90%);
    background-color: #800000;

  }

  .lp-contents__fv {
    background: #ffffff;
    padding-bottom: 1.2vw;
  }

  .fv-ballon {
    padding-left: 1vw;
    padding-right: 1vw;
    margin-top: 0.7vw;
    margin-bottom: 2vw;
  }

  .ellipsis {
    margin-top: 1.5%;
  }

  .ellipsis img {
    width: 1%
  }

  .cta {
    padding: 0 5%;
  }

  .cta a:hover img,
  .cta a:focus img {
    filter: brightness(1.08) saturate(1.1);
  }

  .solution-mv {
    margin-bottom: 0;
    background: linear-gradient(to bottom, #ffffff 50%, #800000 10%);
  }

  .solution-contents {
    background-color: #800000;
  }

  .solution-text {
    top: 1.2%;
    gap: 10px;
    padding: 0;
  }

  .solution-text__title {
    padding: 0;
  }

  .solution-cards {
    padding-top: 50%;
    padding-bottom: 10%;
    padding-left: 10px;
    padding-right: 10px;
  }

  .solution-cards .solution-card:first-child {
    padding-top: 10%;
  }

  .solution-card {
    padding: 1vw;
    margin-bottom: 0;
  }

  .solution-card__title {
    font-size: clamp(0.5vw, 1.5vw, 20px);
  }

  .solution-card__text {
    font-size: clamp(0.5vw, 1.2vw, 17px);
    margin-bottom: 5%;
  }

  .solution-text__bottom {
    padding: 10% 0;
    font-size: clamp(0.5vw, 1.6vw, 24px);
  }

  .solution-text__bottom span {
    font-size: clamp(0.5vw, 1.8vw, 28px);
  }

  .solution-text__bottom span::after {
    border-bottom: 0.1vw solid #800000;
    bottom: 0;
  }

  .lp-contents__voice {
    background: #ffffff;
    padding-bottom: 5%;
  }

  .voice-title {
    font-size: clamp(0.5vw, 2.3vw, 30px);
    padding: 5% 0;
  }

  .voice__slider {
    padding-top: 5%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .voice__pagination {
    margin-top: 5%;
    text-align: center;
  }

  .lp-contents__plan {
    background-color: #ffffff;
    padding-top: 10%;
    padding-bottom: 2vw;
  }

  .lp-contents__counseling {
    background-color: #ffffff;
    padding-bottom: 10%;
  }


  .lp-contents__qa {
    padding-top: 10%;
    padding-bottom: 10%;
    font-size: clamp(0.5vw, 1.2vw, 16px);
  }

  .form-title {
    font-size: clamp(0.5vw, 2.3vw, 30px);
    margin-bottom: 10%;
  }

  hr {
    margin: 10% 0;
  }

  .form-buttons {
    margin-top: 10%;
  }

  .qa__title-img {
    width: 24%;
    max-width: 130px;
    height: auto;
  }

  .qa__title-sub {
    margin: 5% 0;
    font-size: clamp(0.5vw, 1.3vw, 18px);
  }

  .qa__box:not(:last-child) {
    margin-bottom: 1%;
    padding-bottom: 1%;
  }

  .qa-box__head,
  .qa-box__a {
    padding: 2% 5%;
  }

  .qa-box__head-icon,
  .qa-box__a-icon {
    width: 8%;
    margin-right: 8%;
    max-width: 30px;
    max-height: 30px;
  }

  .qa-box__head::after {
    width: 12%;
    font-size: clamp(0.5vw, 3vw, 20px);
    max-width: 35px;
    max-height: 35px;
  }

  .lp-contents__footer {
    background-color: #ffffff;
    padding: 10% 2%;
    font-size: clamp(0.5vw, 1.5vw, 20px);
  }

  .footer-logo img {
    width: 65%;
    max-width: 329px;
    height: auto;
  }

  .footer-address {
    margin-top: 10%;
    gap: 5%
  }

  .footer-tel {
    margin-top: 10%;
    gap: 5%;
  }

  .footer-tel__icon {
    width: 5.2%;
    height: 6.27%;
    max-width: 3.2vw;
  }

  .footer-tel__text {
    font-size: clamp(0.5vw, 1.8vw, 24px);
  }

  .footer-access {
    margin-top: 10%;
  }

  .footer-access__title {
    font-size: clamp(0.5vw, 2.3vw, 30px);
  }

  .footer-access__list {
    margin-top: 5%
  }

  .footer-access_map {
    width: 100%;
    margin-top: 5%;
  }
}

@media screen and (min-width: 751px) and (max-width: 1440px) {
  .lp-allitems--pc {
    left: 87.5%;
  }

  .lp-pcnav {
    left: 3.8%;
  }
}