@charset "UTF-8";

/* ***********************************
 *  スタイル設定
 *
 *  800px〜：PC
 *  〜799px：SP  
 *  800px～1099px：タブレット/小型PC(状況に応じて対応)
 * ***********************************
 *  2025.7 新規作成
 *
 * *********************************** */

/* ***********************************
 *  800px〜：PC
 * *********************************** */
/* スムーズスクロール */
html {
  scroll-behavior: smooth;
}

/* header */
.sp-only {
  display: none;
}

.header {
  position: relative;
  z-index: 5;
}
.logo-wrapper {
  display: flex;
  align-items: center;
  margin-top: 2.35vw;
  margin-left: 4.026vw;
}

.logo {
  height: 4.786vw;
}

.logo-text {
  font-size: 2.485vw;
  font-weight: 600;
  color: #202261;
  margin-left: 1.135vw;
}

.header-contact-wrapper {
  position: fixed;
  right: 0;
  top: 0;
}

.header-contact {
  display: flex;
  background-color: #202261;
  width: 37.368vw;
  height: 7.368vw;
  position: relative;
  align-items: center;
  justify-content: space-between;
}

.header-contact-left {
  background-color: #fff;
  width: 7.368vw;
  height: 7.368vw;
  border: 4px solid #202261;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  transform: translateX(-50%);
}

.header-contact-left-text {
  font-size: 1.3vw;
  line-height: 1.231;
  text-align: center;
  font-weight: 600;
  color: #202261;
}

.header-contact-tel {
  margin-left: 4.449vw;
  margin-top: .5vw;
}

.header-contact-tel-link {
  display: flex;
}

.header-contact-tel-text {
  color: #fff;
  font-size: 1.421vw;
  line-height: 1.2;
  font-weight: 600;
}

.header-contact-tel-icon {
  width: 1.395vw;
}

.header-contact-tel-number {
  color: #fcee21;
  font-size: 2.474vw;
  line-height: 1.2;
  letter-spacing: .05vw;
  margin-left: 0.491vw;
}

.header-contact-form {
  background-color: #fcee21;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 13.158vw;
  height: 6.105vw;
  border-radius: 10px;
  justify-content: center;
  margin-right: 0.789vw;
}

.header-contact-line-icon {
  width: 2.421vw;
  margin-top: .5vw;
}

.header-contact-text {
  font-size: 1.474vw;
  line-height: 1.75;
  color: #202261;
  margin-top: 0.297vw;
  font-weight: 600;
}


/* hero */
.hero {
  background-image: url(/wp-content/uploads/img/lp/hero_bg_pc.jpg);
  background-size: cover;
  margin-top: calc(-2.35vw + -4.786vw);
  z-index: 0;
  position: relative;
}

.hero-top-img-left-wrapper {
  position: absolute;
  top: 11vw;
  width: 26.579vw;
}

.hero-top-img-left-wrapper img,
.hero-top-img-right-wrapper img,
.hero-bottom-img-left-wrapper img,
.hero-bottom-img-right-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-top-img-left {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.hero-top-img-right-wrapper {
  position: absolute;
  right: 0;
  width: 30.789vw; 
}

.hero-top-text-wrapper {
  padding-top: 9.775vw;
  text-align: center;
  z-index: 1;
  position: relative;
}

.hero-top-sub-wrapper {
  margin-bottom: 2.5vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-top-sub img {
  display: block;
  width: 27.574vw;
}

.hero-sub-bubble {
  width: 27.474vw;
  margin-top: 1.8vw;
}

.hero-top-heading-img {
  margin: 0 auto;
  width: 42.485vw;
}

.hero-jizen-heading {
  width: 40.626vw;
  margin: 3.331vw auto 0;
}

.round-list {
  display: flex;
  justify-content: center;
  margin-top: -1.3vw;
}

.round-item {
  width: 12.632vw;
  height: 12.632vw;
  border: 4px solid #202261;
  color: #202261;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.684vw;
  line-height: 1.25;
  font-weight: 600;
}

.round-item + .round-item {
  margin-left: 0.579vw;
}

.hero-bottom-text-wrapper {
  margin-top: 4.444vw;;
}

.hero-bottom-heading {
  color: #202261;
  font-size: 2.421vw;
  line-height: 1.565;
  font-family: "FOT-筑紫A丸ゴシック Std B","Zen Maru Gothic", 'sans-serif';
  font-weight: bold;
  margin-left: 21.463vw;
}

.hero-bottom-heading-wrapper {
  margin-left: 21.463vw;
}

.hero-bottom-heading-wrapper img {
  width: 28.593vw;
}

.hero-bottom-img-left-wrapper {
  position: absolute;
  width: 17.368vw;
  bottom: -3.684vw;
}

.hero-bottom-img-right-wrapper {
  position: absolute;
  right: 8.368vw;
  width: 34.526vw;
}

.hero-bottom-text {
  font-size: 1.263vw;
  line-height: 2.25;
  margin-left: 24.147vw;
  margin-top: 2vw;
  padding-bottom: 6vw;
  font-weight: 600;
}


/* question */
.question-wrapper {
  background-color: #202261;
  position: relative;
  height: 35.29vw;
  margin-bottom: 11.639vw;
  z-index: -1;
}

.question-wrapper::after {
  content: "";
  position: absolute;
  height: 11.639vw;
  width: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #202261;
  bottom: -11.6vw;
  left: 0;
  z-index: -1;
}

.question-heading {
  color: #fcee21;
  font-size: 3.053vw;
  line-height: 1.448;
  padding-top: 3.983vw;
  text-align: center;
}

.generation-wrapper {
  display: flex;
}

.question-item {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.parents-generation .question-list .question-item:nth-of-type(1) {
  top: 23.112vw;
  left: 11.41vw;
  z-index: 1;
}
.parents-generation .question-list .question-item:nth-of-type(2) {
  top: 13.95vw;
  left: 15.903vw;
}
.parents-generation .question-list .question-item:nth-of-type(3) {
  top: 15.292vw;
  left: 30.23vw;
}
.children-generation .question-list .question-item:nth-of-type(1) {
  top: 15.292vw;
  right: 30.915vw;
}
.children-generation .question-list .question-item:nth-of-type(2) {
  top: 13.95vw;
  right: 16.588vw;
}
.children-generation .question-list .question-item:nth-of-type(3) {
  top: 23.112vw;
  right: 12.095vw;
}

.parents-generation .question-list .question-item:nth-of-type(1) img {
  width: 15.474vw;
  height: 10.456vw;
}
.parents-generation .question-list .question-item:nth-of-type(2) img {
  width: 15.263vw;
  height: 10.245vw;
}
.parents-generation .question-list .question-item:nth-of-type(3) img {
  width: 15.474vw;
  height: 10.456vw;
}
.children-generation .question-list .question-item:nth-of-type(1) img {
  width: 15.474vw;
  height: 10.456vw;
  z-index: 1;
  position: relative;
}
.children-generation .question-list .question-item:nth-of-type(2) img {
  width: 15.263vw;
  height: 10.245vw;
}
.children-generation .question-list .question-item:nth-of-type(3) img {
  width: 15.474vw;
  height: 10.456vw;
}

.question-text {
  position: absolute;
  font-size: 1.474vw;
  line-height: 1.5;
  color: #202261;
  font-weight: bold;
  z-index: 2;
}

.parents-generation .question-img-wrapper {
  position: absolute;
  top: 27.695vw;
  left: 26.92vw;
}

.children-generation .question-img-wrapper {
  position: absolute;
  top: 26.7vw;
  right: 26.965vw;
}

.parents-generation .question-img-wrapper img {
  width: 21.6vw;
}
.children-generation .question-img-wrapper img {
  width: 22.2vw;
}

.generation {
  font-size: 1.474vw;
  line-height: 1.8;
  color: #202261;
  font-weight: bold;
  background-color: #fcee21;
  width: 13.461vw;
  border: 3px solid #fff;
  border-radius: 4vw;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10%;
}

/* outline */
.outline {
  padding: 4.211vw 0 3.789vw 0;
}

.outline-inner {
  overflow: hidden;
}

.outline-top {
  display: flex;
  justify-content: center;
}

.outline-top-heading {
  display: flex;
}

.outline-ribbon-wrapper img {
  width: 10.454vw;
}

.outline-top-text {
  margin-left: 1.882vw;
}

.outline-heading-top {
  display: flex;
}

.outline-heading-top img {
  width: 4.297vw;
}

.outline-heading-top .first {
  font-size: 3.277vw;
  color: #202261;
  font-weight: bold;
  margin-left: 1vw;
}

.outline-heading-bottom {
  font-size: 4.737vw;
  line-height: 1.111;
  font-weight: bold;
  color: #202261;
  letter-spacing: .2vw;
  margin-top: 0.713vw;
}

.outline-top {
  align-items: center;
}

.outline-top-inner {
  display: flex;
  align-items: center;
}

.outline-top-list {
  display: flex;
  margin-top: 1vw;
}

.outline-top-list.sp-only {
  display: none;
}

.outline-top-item {
  font-size: 1.895vw;
  line-height: 2.778;
  width: 16.842vw;
  height: 3.895vw;
  background-color: #eba52d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4vw;
}

.outline-top-item + .outline-top-item {
  margin-left: 1.053vw;
}

.outline-image-list {
  margin-top: 3.684vw;
  display: flex;
  width: 103.158vw;
  margin-left: calc(-3.158vw/2);
}

.outline-image-item + .outline-image-item {
  margin-left: 1.053vw;
}

.outline-image-item {
  width: 33.684vw;
}

.outline-image-item img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.outline-point-list {
  display: flex;
  margin-top: -4.35vw;
  justify-content: center;
}

.outline-point-item {
  width: 14.211vw;
  height: 14.211vw;
  border: 4px solid #202261;
  color: #202261;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.474vw;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}

.outline-point-item + .outline-point-item {
  margin-left: 1.053vw;
}

.outline-bottom-text-wrapper {
  margin-top: 2.8vw;
  text-align: center;
}

.outline-bottom-text {
  font-weight: 600;
  line-height: 2;
  font-size: 1.368vw;
  margin-bottom: 2.8vw;;
}

.outline-bottom-btn {
  width: 27.579vw;
  height: 6.526vw;
  background-color: #fcee21;
  display: flex;
  margin: 0 auto;
  align-items: center;
  border: 4px solid #202261;
  border-radius: 10px;
  position: relative;
  margin-bottom: 2vw;
}

.outline-bottom-btn-text {
  color: #202261;
  font-size: 1.789vw;
  margin-left: 5.789vw;
  font-weight: 600;
}

.outline-bottom-btn-arrow {
  height: 1.263vw;
  position: absolute;
  right: 1.579vw;
}

.outline-bottom-line-icon {
  position: absolute;
  width: 3.053vw;
  left: 1.684vw;
}



/* can-do */
.can-do {
  background-color: #f4f3f8;
  padding: 6.316vw 0 10vw;
}

.can-do-heading {
  line-height: 1.448;
  font-size: 3.053vw;
  font-weight: 600;
  color: #202261;
  text-align: center;
}

.can-do-heading-wrapper img {
  width: 32.611vw;
  margin: 0 auto;
}

.can-do-list {
  margin: 4.737vw auto 0;
  width: 65.263vw;
}

.can-do-item {
  display: flex;
}

.can-do-item + .can-do-item {
  margin-top: 4.211vw;
}

.can-do-list .can-do-item-inner {
  display: flex;
  width: 100%;
}

.can-do-list .can-do-item:nth-of-type(even) .can-do-item-inner {
  flex-direction: row-reverse;
}

.can-do-list .can-do-item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.can-do-text-wrapper {
  width: 33.737vw;
  margin-top: calc(1vw/2);
  margin-left: 3.67vw;
}

.can-do-img-wrapper {
  width: 31.579vw;
  height: 22.211vw;
}

.can-do-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.can-do-item-heading {
  font-size: 2.526vw;
  font-weight: 600;
}

.can-do-item-heading {
  display: inline;
}
.can-do-item-heading span {
  margin-top: 1vw;
  padding: 1vw;
  color: #fff;
  background-color: #202261;
  font-weight: 500;
}

.can-do-item-text {
  margin: 2.8vw 3.5vw 0 2.105vw;
  line-height: 2;
  color: #333;
  font-size: 1.158vw;
}

/* aiclub-outline */
.aiclub-outline {
  width: 56.842vw;
  border: 4px solid #5bac68;
  border-radius: 10px;
  background-color: #fff;
  text-align: center;
  margin: 5vw auto 0;
  position: relative;
  overflow: hidden;
}

.aiclub-outline-bg-left-wrapper {
  width: 10.731vw;
  position: absolute;
  top: 1.599vw;
  left: 2.898vw;
}

.aiclub-outline-bg-right-wrapper {
  width: 7.66vw;
  position: absolute;
  top: 2.634vw;
  right: 2.708vw;
}

.aiclub-outline-staff-left-wrapper {
  position: absolute;
  bottom: -7.651vw;
  width: 10.1vw;
  left: 4.288vw;
}
.aiclub-outline-staff-right-wrapper {
  position: absolute;
  bottom: -8.478vw;
  width: 11.566vw;
  right: 3.904vw;
}

.aiclub-outline-bg-left-wrapper img,
.aiclub-outline-bg-right-wrapper img,
.aiclub-outline-staff-left-wrapper img,
.aiclub-outline-staff-right-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aiclub-outline-heading-text {
  color: #5bac68;
  font-size: 1.895vw;
  margin-right: 0.455vw;
}

.aiclub-outline-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2.684vw;
  padding-bottom: 1.193vw;
  z-index: 1;
  position: relative;
}

.aiclub-logo {
  width: 20.134vw;
}

.aiclub-outline-text {
  font-size: 1.158vw;
  line-height: 1.909;
}

.aiclub-link {
  position: relative;
  background-color: #5bac68;
  width: 18.947vw;
  height: 4.737vw;
  line-height: 4.737vw;
  display: block;
  margin: 0 auto;
  border-radius: 10px;
  font-size: 1.368vw;
  color: #fff;
  margin-top: 2vw;
  margin-bottom: 2.789vw;
}

.aiclub-link:hover {
  opacity: .7;
}

.aiclub-link img {
  position: absolute;
  right: 2vw;
  height: 0.998vw;
  top: 50%;
  transform: translateY(-50%);
}

/* .aiclub-link::after {
  position: absolute;
  content: "";
  width: 1vw;
  height: 1vw;
  border-top: .2vw solid #fff;
  border-right: .2vw solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  display: inline-block;
  top: 0;
  bottom: 0;
  right: 2vw;
  margin: auto;
} */


/* voice */
.voice {
  padding-top: 5.526vw;
  position: relative;
}

.voice-heading {
  font-size: 3.053vw;
  line-height: 1.5;
  color: #202261;
  font-weight: 600;
  text-align: center;
  margin-bottom: 4.3vw;
}

.voice-heading-wrapper {
  margin-bottom: 4.737vw;
}

.voice-heading-wrapper img {
  width: 36.061vw;
  margin: 0 auto;
}

.voice-image {
  position: relative;
}

.voice-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.voice-image-left {
  position: absolute;
  left: 0.763vw;
  top: -5vw;
}

.voice-image-right {
  position: absolute;
  right: 0.263vw;
  top: -5.538vw;
}

.voice-image-left .voice-image:nth-of-type(1) {
  width: 12.1vw;
  z-index: 1;
}

.voice-image-left .voice-image:nth-of-type(2) {
  width: 21.789vw;
  margin-left: 6.969vw;
  margin-top: -7.77vw;
}

.voice-image-right .voice-image:nth-of-type(1) {
  width: 12.632vw;
  position: absolute;
  z-index: 1;
  bottom: -3.093vw;
  left: -6.053vw;
}

.voice-image-right .voice-image:nth-of-type(2) {
  width: 23.684vw;
}

.voice-item {
  width: 22.211vw;
  font-size: 1.263vw;
  line-height: 1.896;
  padding: 2vw 2.158vw 2vw 2.158vw;
  height: 18.947vw;
  color: #202261;
  font-weight: 500;
  border: 2px solid #202261;
  border-radius: 10px;
  position: relative; /* 疑似要素の基準点として必須 */
  background-color: #fff; /* 背景色も必須 */
}

.voice-item + .voice-item {
  margin-left: 1.684vw;
}

.voice-list-wrapper {
  padding-bottom: 1.6vw;
  margin-bottom: 7vw;
}

.voice-item::before,
.voice-item::after{
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
}

.voice-item::before {
  border-top: 1.579vw solid #202261;
  border-right: 1.737vw solid transparent;
  bottom: -1.579vw;
}

.voice-item::after {
    border-top: calc(1.579vw - 4px) solid #fff;
    border-right: calc(1.737vw - 4px) solid transparent;
    bottom: calc(-1.579vw + 5px);
}

/* contact */
.contact {
  background-color: #202261;
  padding: 8.247vw 0 5.263vw 0;
  position: relative;
}

.contact-ribbon {
  width: 46.422vw;
  margin-top: -.4vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -2vw;
}

.contact-heading {
  color: #fff;
  font-size: 2.632vw;
  line-height: 1.44;
  text-align: center;
  margin-bottom: 2vw;
}

.contact-heading-wrapper {
  margin-bottom: 2.446vw;
}

.contact-heading-wrapper img {
  width: 29.895vw;
  margin: 0 auto;
}

.contact-area {
  position: relative;
  z-index: 1;
}

.contact-tel-text {
  font-size: 1.579vw;
  line-height: 2;
  color: #fff;
}

.contact-form-text {
  font-size: 1.579vw;
  line-height: 2;
  color: #fff;
}

.contact-tel-icon {
  width: 2.421vw;
  margin-right: 0.789vw;
}

.contact-tel-wrapper {
  display: flex;
  justify-content: center;
}

.contact-tel-inner {
  display: flex;
  align-items: baseline;
}

.contact-tel-number .tel-number {
  color: #fcee21;
  font-size: 4vw;
  /* letter-spacing: 0.2vw; */
  line-height: 1.2;
}

.contact-tel-note {
  font-size: 1.158vw;
  color: #fff;
}

.contact-form {
  margin-left: 2vw;
}

.contact-btn {
  display: block;
  width: 27.579vw;
  height: 7.579vw;
  background-color: #fcee21;
  border: 4px solid #202261;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: 20px;
}

.contact-line-icon,
.contact-line-icon-hover {
  width: 3.684vw;
  margin-left: 2vw;
}

.contact-line-icon-hover {
  display: none;
}

.contact-btn:hover .contact-line-icon {
  display: none;
}

.contact-btn:hover .contact-line-icon-hover {
  display: block;
}

.contact-btn-text {
  color: #202261;
  font-size: 2.105vw;
  margin-left: 2.02vw;
  font-weight: 600;
}

.contact-bg-img {
  width: 15.1vw;
  position: absolute;
  bottom: -9.092vw;
  right: 15.316vw;
}

.contact-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* aiclub */
.aiclub {
  background-color: #f2f8f4;
  padding: 6.316vw 0 10.716vw;
  text-align: center;
  position: relative;
}

.aiclub-bg-left-wrapper {
  position: absolute;
  width: 16.116vw;
  left: 14.671vw;
  top: 9.178vw;
}

.aiclub-bg-right-wrapper {
  position: absolute;
  width: 13.707vw;
  right: 16.505vw;
  top: 5.259vw;
}

.aiclub-bg-left-wrapper img,
.aiclub-bg-right-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aiclub-heading {
  background-color: #5bac68;
  font-size: 2.316vw;
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: 1.4vw 3vw 1.1vw;
  border-radius: 4vw;
  margin-bottom: 2.586vw;
}

.aiclub-logo-wrapper img {
  width: 36.94vw;
  margin: 0 auto;
}

.aiclub-top-text {
  margin-top: 2.562vw;
  font-size: 1.579vw;
  line-height: 1.8;
  color: #333;
}

.aiclub-top-list {
  display: flex;
  justify-content: center;
  margin-top: 3.418vw;
}

.aiclub-top-item {
  background-color: #fff;
  width: 15.947vw;
  height: 15.947vw;
  border-radius: 50%;
  border: 3px solid #5bac68;
  color: #5bac68;
  font-size: 2vw;
  line-height: 1.368;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
}

.aiclub-top-item-wrapper + .aiclub-top-item-wrapper {
  margin-left: 1.421vw;
}

.aiclub-top-list .aiclub-top-item-wrapper:nth-of-type(3) .aiclub-top-item {
  flex-direction: column;
}

.aiclub-top-item-note {
  font-size: 1.6vw;
  color: #5bac68;
  font-weight: 600;
}

/* aiclub-perk */
.aiclub-perk {
  background-color: #5bac68;
  padding: 11.053vw 7.895vw 5.842vw 7.895vw;
  position: relative;
  width: 73.684vw;
  margin: 8.132vw auto 0;
}

.aiclub-perk-ribbon {
  position: absolute;
  top: -3.471vw;
  left: 50%;
  transform: translateX(-50%);
  width: 41.942vw;
}

.aiclub-perk-top {
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  padding-top: 6.448vw;
  padding: 6.448vw 3.684vw 4vw 3.684vw;
}

.perk-top-icon {
  position: absolute;
  background-color: #fff;
  width: 8.421vw;
  height: 8.421vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 50%;
  transform: translateX(-50%);
  top: -1.105vw;
}

.perk-top-icon img {
  width: 4.475vw;
}

.perk-top-heading {
  position: relative;
  z-index: 1;
  margin-bottom: 3vw;
}

.perk-top-first {
  font-size: 1.579vw;
  line-height: 1.467;
  font-weight: 600;
  color: #333;
}

.perk-top-emphasis {
  font-size: 2.842vw;
  color: #5bac68;
  font-weight: 600;
  line-height: 1.4;
}

.perk-top-second {
  font-size: 2vw;
  color: #333;
  font-weight: 600;
}

.member-price {
  display: flex;
  /* position: relative; */
  align-items: center;
  justify-content: center;
}

.member-price .label {
  font-size: 1.158vw;
  line-height: 1.2;
}

.member-price .label .note {
  font-size: 0.9264vw;
}

.member-price .price {
  font-size: 3.053vw;
  color: #5bac68;
  font-weight: bold;
  margin: 0 .5vw;
}

.discount {
  position: absolute;
  top: -2.4vw;
  right: 1.839vw;
  color: #5bac68;
  background-color: #fcee21;
  line-height: 1;
  padding: .4vw 1.5vw .5vw;
  border: 2px solid #5bac68;
  border-radius: 4vw;
}

.discount::before, .discount::after {
  content: "";
  position: absolute;
  right: 0;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}

.discount::before {
  border-top: .7vw solid #5bac68;
  border-right: .7vw solid transparent;
  bottom: -.7vw;
}

.discount::after {
    border-top: calc(.7vw - 2px) solid #fcee21;
    border-right: calc(.7vw - 2px) solid transparent;
    bottom: calc(-.7vw + 3px);
}

.discount-number {
  color: #5bac68;
  font-size: 1.474vw;
}

.discount-text {
  color: #5bac68;
  font-size: 1.21vw;
}

.perk-plan-list {
  display: flex;
  justify-content: center;
}

.perk-plan-item {
  background-color: #f2f2f2;
  width: 50%;
  padding-bottom: 1.2vw;
  position: relative;
}

.perk-plan-item + .perk-plan-item {
  margin-left: 1.053vw;
}

.perk-plan-heading {
  background-color: #5bac68;
  font-size: 1.474vw;
  line-height: 1;
  color: #fcee21;
  padding: 1.078vw 0 0.81vw;
}

.perk-arrow-wrapper {
  margin-left: 4.257vw;
}

.perk-arrow-wrapper img {
  width: 2.316vw;
}

.normal-price {
  margin-top: 1.59vw;
  margin-left: -2.8vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

.normal-price .label {
  font-size: 1.158vw;
  margin-right: .4vw;
}

.normal-price .price {
  font-size: 2.421vw;
}

.normal-price .yen {
  line-height: 1;
  font-size: 1.316vw;
  margin-left: .3vw;
  margin-top: -.8vw;
}

.normal-price .yen .tax {
  font-size: 0.737vw;
  margin-left: -.1vw;
  letter-spacing: .07vw;
}

.member-price .yen {
  line-height: 1;
  font-size: 1.368vw;
}

.member-price .yen .tax {
  font-size: 0.789vw;
  margin-left: -.1vw;
  letter-spacing: .07vw;
}

.aiclub-perk-list {
  display: flex;
  flex-wrap: wrap;
}

.aiclub-perk-item {
  width: calc(50% - (1.053vw/2));
  background-color: #fff;
  display: flex;
  margin-top: 1.053vw;
  border-radius: 10px;
  padding: 1.838vw 0 1.838vw 2.632vw;
}

.aiclub-perk-list .aiclub-perk-item img {
  width: 4.737vw;
}

.aiclub-perk-list .aiclub-perk-item:nth-of-type(odd) {
  margin-right: 1.053vw;
}

.aiclub-perk-text {
  text-align: left;
  margin-left: 2.81vw;
}

.aiclub-perk-heading {
  font-size: 1.474vw;
  font-weight: 600;
}

.discount-img-wrapper-left {
  position: absolute;
  top: 8.895vw;
  left: 10vw;
}

.discount-img-wrapper-left img,
.discount-img-wrapper-right img {
  width: 12.474vw;
}

.discount-img-wrapper-right {
  position: absolute;
  top: 8.895vw;
  left: 9.45vw;
}

.discount-rate {
  font-size: 2.842vw;
  font-weight: bold;
}

.discount-rate .number {
  color: #5bac68;
  font-size: 5.12vw;
  line-height: 1;
}

.discount-rate-text {
  font-size: 2.842vw;
  font-weight: bold;
  vertical-align: 0.1em;
  margin-left: .1em;
}

.discount-rate .max {
  vertical-align: .25em;
}

/* aiclub-admission */
.aiclub-admission {
  background-color: #5bac68;
  position: relative;
  padding: 6.726vw 0 5.263vw 0;
  text-align: center;
}

.aiclub-admission-ribbon {
  width: 46.422vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -3.395vw;
}

.discount-rate .max {
  writing-mode: vertical-rl;
  font-size: 1.789vw;
  margin-bottom: -.4vw;
  font-weight: 600;
}

.aiclub-admission-heading {
  font-size: 2.632vw;
  font-weight: 500;
  color: #fff;
  margin-bottom: 1.63vw;
}

.aiclub-admission-heading-wrapper {
  margin-bottom: 2.93vw;
}

.aiclub-admission-heading-wrapper img {
  width: 29.737vw;
  margin: 0 auto;
}

.aiclub-admission-list {
  display: flex;
  justify-content: center;
}

.admission-btn {
  background-color: #f7931e;
  display: flex;
  justify-content: center;
  align-items: center;
}

.aiclub-admission-item {
  padding: 2.419vw 0 2.105vw;
  background-color: #fff;
  width: 29.474vw;
  position: relative;
}

.aiclub-admission-item + .aiclub-admission-item {
  margin-left: 1.316vw;
}

.aiclub-admission-text {
  font-size: 1.789vw;
  color: #333;
  line-height: 1;
  padding-bottom: 1.189vw;
  position: relative;
  font-weight: 600;
}

.aiclub-admission-text::after {
  content: "";
  width: 23.684vw;
  height: 1px;
  background-color: #5bac68;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.aiclub-admission-item .fee {
  font-size: 1.789vw;
  line-height: 2;
  font-weight: 600;
}

.aiclub-admission-item .fee .number {
  color: #5bac68;
  font-weight: bold;
  font-size: 3.684vw;
  margin: 0 .4vw;
}

.aiclub-admission-item .fee .yen {
  font-size: 2.211vw;
  font-weight: 600;
}

.admission-btn {
  height: 6.316vw;
  width: 25.263vw;
  border-radius: 10px;
  margin: 0 auto;
}

.admission-icon-tel {
  width: 1.86vw;
}

.admission-icon-mail {
  width: 2.316vw;
}

.admission-btn .tel {
  color: #fff;
  font-size: 2.737vw;
  margin-left: 0.607vw;
}

.admission-text {
  font-size: 1.789vw;
  color: #fff;
  margin-left: 1.27vw;
}

.value-badge {
  position: absolute;
  background-color: #fcee21;
  width: 8.842vw;
  height: 8.842vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #5bac68;
  box-shadow:#fcee21 0px 0px 0px 2px;
  right: -1.856vw;
  top: -2.105vw;
  line-height: 1.1;
}

.value-badge * {
  color: #5bac68;
  font-weight: bold;
  letter-spacing: 0;
}

.value-badge .number {
  font-size: 1.947vw;
}

.value-badge .yen {
  font-size: 1.7vw;
}

.value-badge .value-badge-text {
  font-size: 1.7vw;
}

.value-badge-wrapper {
  position: absolute;
  right: -1.856vw;
  top: -2.105vw;
}

.value-badge-wrapper img {
  width: 8.842vw;
  height: 8.842vw;
}

/* area-results */
  .area-results {
    padding: 7.368vw 0  7.829vw 0;
    position: relative;
  }

  .area-results-heading-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .area-results-heading-top img {
    height: 5.782vw;
  }
  
  .area-results-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }

  .area-results-heading-top {
    display: flex;
    align-items: center;
    margin-right: 0.895vw;
  }

  .area-results-heading-top .logo-text {
    color: #202261;
    font-size: 3.316vw;
    font-weight: 600;
    margin-left: 1.306vw;
  }

  .area-results-top-text {
    color: #202261;
    font-size: 3.316vw;
    font-weight: 600;
  }

  .area-results-heading-bottom {
    color: #202261;
    font-size: 4.316vw;
    font-weight: bold;
  }

  .area-results-no1 {
    width: 13.674vw;
    margin-left: 1.353vw;
  }

  .area-results-contents {
    display: flex;
  }

  .area-results-contents-heading {
    font-size: 2.526vw;
    line-height: 1.5;
    color: #202261;
    font-weight: 600;
    margin: 3.8vw 0 0 19.237vw;
  }

  .area-results-contents-text {
    font-size: 1.263vw;
    line-height: 2.25;
    margin: 1.7vw 0 0 20.816vw;
    width: 27.8vw;
  }

  .area-results-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }

  .area-results-images .area-results-images-item:nth-of-type(1) {
    width: 34.211vw;
    position: absolute;
    right: 5.807vw;
    top: 23.579vw;
  }

  .area-results-images .area-results-images-item:nth-of-type(2) {
    width: 15.263vw;
    position: absolute;
    bottom: 7.789vw;
    right: 32.789vw;
  }

  .area-results-images .area-results-images-item:nth-of-type(3) {
    width: 15.263vw;
    position: absolute;
    bottom: -5.316vw;
    right: 11.146vw;
    z-index: 1;
  }

  /* reason */
  .reason {
    background-color: #202261;
    position: relative;
    padding-top: 8.457vw;
  }

  .reason-heading-wrapper {
    position: absolute;
    top: -2.163vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .reason-heading-wrapper img {
    width: 38.16vw;
  }

  .reason-list {
    display: flex;
    padding: 4.737vw 0;
    justify-content: center;
    flex-wrap: wrap;
    width: 58vw;
    margin: 0 auto
  }

  .reason-item {
    width: calc(100% / 3);
    padding-top: 2.34vw;
    position: relative;
  }

  .reason-item-img img {
    margin: 0 auto;
  }

  .reason-list .reason-item:nth-of-type(1) img {
    width: 3.513vw;
  }

  .reason-list .reason-item:nth-of-type(2) img {
    width: 6.176vw;
  }

  .reason-list .reason-item:nth-of-type(3) img {
    width: 3.268vw;
  }

  .reason-list .reason-item:nth-of-type(4) img {
    width: 5.829vw;
  }

  .reason-list .reason-item:nth-of-type(5) img {
    width: 5.463vw;
  }

  .reason-list .reason-item:nth-of-type(6) img {
    width: 6.541vw;
  }

  .reason-item-text {
    color: #fff;
    font-size: 1.789vw;
    line-height: 1.5;
    text-align: center;
    margin-top: 1.7vw;
    padding-bottom: 3vw;
  }

  .reason-list .reason-item:nth-of-type(n+4)::before {
    content: "";
    position: absolute;
    width: 100%;
    background-color: #fff;
    height: 1px;
    top: 0;
  }

  .reason-list .reason-item:nth-of-type(4)::before {
    width: calc(100% - 1.435vw);
    left: 0;
  }

  .reason-list .reason-item:nth-of-type(5)::before {
    width: calc(100% - 2.895vw);
    left: 50%;
    transform: translateX(-50%);
  }

  .reason-list .reason-item:nth-of-type(6)::before {
    width: calc(100% - 1.435vw);
    right: 0;
  }

  .reason-list .reason-item:nth-of-type(2)::after,
  .reason-list .reason-item:nth-of-type(3)::after,
  .reason-list .reason-item:nth-of-type(5)::after,
  .reason-list .reason-item:nth-of-type(6)::after {
    content: "";
    position: absolute;
    height: calc(100% - 1.607vw);
    background-color: #fff;
    width: 1px;
    top: 0;
  }

  .reason-list .reason-item:nth-of-type(5)::after,
  .reason-list .reason-item:nth-of-type(6)::after {
    top: 1.607vw;
  }

  .reason-list .reason-item:nth-of-type(1)::before,
  .reason-list .reason-item:nth-of-type(2)::before {
    content: "";
    width: 2.184vw;
    height: 2.184vw;
    background-image: url(/wp-content/uploads/img/lp/reason_star.svg);
    position: absolute;
    display: block;
    bottom: calc(-2.184vw / 2);
    right: calc(-2.184vw / 2);
  }

  /* access */
  .access {
    padding: 5.789vw 0 4.368vw 0;
  }

  .access-heading-wrapper img {
    width: 18.542vw;
    margin: 0 auto 3.684vw;
  }

  .ceremony-hall-list {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .ceremony-hall-item-top {
    display: flex;
  }

  .ceremony-hall-image-wrapper {
    width: 28.421vw;
    height: 17.053vw;
    margin-right: 1.053vw;
  }

  .ceremony-hall-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .map-container-wrapper {
      width: 28.421vw;
      height: 17.053vw;
  }

  .map-container {
      position: relative;
      width: 100%;
      padding-top: 60%; /* アスペクト比を指定 */
      overflow: hidden;

  }

  .map-container iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
  }

  .ceremony-hall-item-bottom {
    display: flex;
  }

  .ceremony-hall-item-bottom {
    margin: 1.645vw 0 3vw;
  }

  .ceremony-hall-name {
    font-size: 1.895vw;
    line-height: 1;
    color: #202261;
    font-weight: 600;
  }

  .ceremony-hall-address-wrapper {
    margin-left: 2.087vw;
  }

  .ceremony-hall-address {
    font-size: 1.053vw;
    line-height: 1;
    margin-bottom: 0.838vw;
  }

  .ceremony-hall-link {
    font-size: 1.053vw;
    line-height: 1;
  }

  .ceremony-hall-link a {
    text-decoration: underline;
  }

  .ceremony-hall-link a + a {
    margin-left: 1.041vw;
  }

  
  /* faq */
  .faq {
    padding: 5.789vw 0 9.474vw 0;
    background-color: #f4f3f8;
  }

  .faq-heading-wrapper {
    margin-bottom: 4.737vw;
  }

  .faq-heading-wrapper img {
    width: 17.192vw;
    margin: 0 auto;
  }

  .faq-list {
    width: 58vw;
    margin: 0 auto;
  }

.faq-question {
  font-size: 1.474vw;
  cursor: pointer;
  position: relative;
  font-weight: bold;
  padding: 1.568vw 0 1.568vw 3.368vw;
}

.faq-answer {
  font-size: 1.053vw;
  line-height: 1.75;
  border-bottom: 1px solid #202261;
  margin: 0;
  overflow: hidden;
  height: 0;
  transition: height 0.4s ease-in-out, padding 0.4s ease-in-out;
  position: relative;
}

.faq-question::before {
  content: "Q.";
  font-size: 2.526vw;
  display: block;
  color: #202261;
  position: absolute;
  left: 0;
  top: .5vw;
}

.faq-answer-inner {
  padding-bottom: 2.334vw;
  position: relative;
  padding-left: 3.368vw;
}

.faq-answer-inner::before {
  content: "A.";
  font-size: 2.526vw;
  display: block;
  color: #eba52d;
  position: absolute;
  left: 0;
  top: -.7vw;
}

.faq-answer-list-item {
  text-indent: -1em;
  padding-left: 1em;
}

.faq-question::after {
  content: '';
  background-image: url(/wp-content/uploads/img/lp/faq-plus.svg);
  right: 1.579vw;
  width: 2.632vw;
  height: 2.632vw;
  border-radius: 50%;
  color: #fff;
  font-size: 1.5em;
  position: absolute;
  font-weight: normal;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.4s ease-in-out;
}

.faq-question.is-open::after {
  background-image: url(/wp-content/uploads/img/lp/faq-minus.svg);
  transform: translateY(-50%) rotate(180deg);
}

/* application-form */
.application-form {
  display: flex;
  height: 53.421vw;
}

.application-form-left,
.application-form-right {
  width: 50%;
}

.application-form-left {
  background-color: #202261;
  position: relative;
  overflow: hidden;
}

.application-form-left-inner {
  margin-left: 17vw;
  width: 28vw;
}

.advance-consultation-tel-wrapper {
  margin-top: 3vw;
}

.advance-consultation-heading {
  color: #fff;
  font-size: 2.316vw;
  line-height: 1.364;
  text-align: center;
  margin-top: 3.7vw;
  font-weight: 600;
}

.advance-consultation-tel-wrapper .number {
  font-size: 3.789vw;
  color: #fcee21;
  line-height: 1.4;
  margin-left: 0.606vw;
}

.advance-consultation-tel-heading {
  line-height: 1;
  margin-top: 3vw;
  color: #fff;
  font-size: 1.579vw;
}

.advance-consultation-tel-number {
  display: flex;
}

.advance-consultation-tel-number img {
  width: 2.211vw;
}

.advance-consultation-form-heading {
  line-height: 1;
  margin-top: 1.8vw;
  color: #fff;
  font-size: 1.579vw;
  margin-bottom: 0.8vw;
}

.advance-consultation-btn {
  background-color: #fcee21;
  display: flex;
  width: 27.895vw;
  height: 7.474vw;
  align-items: center;
  border-radius: 20px;
  border: 2px solid #202261;
}

.advance-consultation-btn img {
  width: 3.684vw;
  margin-left: 2.158vw;
}

.advance-consultation-btn-text {
  font-size: 2.105vw;
  color: #202261;
  margin-left: 2.02vw;
  font-weight: 600;
}

.advance-consultation-bubble {
  position: absolute;
  display: inline-block;
  bottom: 10.129vw;
}

.advance-consultation-bubble img {
  width: 12.72vw;
}

.advance-consultation-bubble-text {
  position: absolute;
  color: #fff;
  text-align: center;
  top: 47%;
  left: 52%;
  transform: translate(-50%, -50%);
  font-size: 1.368vw;
  white-space: nowrap;
}

.advance-consultation-staff-image img {
  width: 15.722vw;
  position: absolute;
  bottom: -13.718vw;
  right: 5vw;
}


.application-form-right {
  background-color: #5bac68;
  position: relative;
}

.application-form-right-inner {
  width: 30.526vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: 3.684vw;
}

.application-form-right-inner .aiclub-application-heading {
  color: #fff;
  font-size: 2.316vw;
  line-height: 1.364;
  text-align: center;
  margin-top: 3.7vw;
  font-weight: 600;
}

.application-form-right-inner .aiclub-admission-list {
  display: flex;
  flex-direction: column;
  margin-top: 3vw;
  text-align: center;
}

.application-form-right-inner .aiclub-admission-item + .aiclub-admission-item {
  margin-left: 0;
  margin-top: 1.579vw;
}

.application-form-right-inner .aiclub-admission-item {
  width: 30.526vw;
  padding-top: 1.952vw;
  padding-bottom: 2.053vw;
}

.application-form-right-inner .aiclub-admission-text {
  font-size: 1.684vw;
  line-height: 1;
  color: #5bac68;
  font-weight: 600;
}

.application-form-right-inner .aiclub-admission-text::after {
  width: 25.263vw;
}

.application-form-right-inner .aiclub-admission-item .fee {
  font-size: 1.474vw;
  line-height: 1.8;
}

.application-form-right-inner .aiclub-admission-item .fee .number {
  font-size: 2.947vw;
}

.application-form-right-inner .aiclub-admission-item .fee .yen {
  font-size: 1.789vw;
}

.application-form-right-inner .admission-btn {
  width: 25.263vw;
  height: 5.789vw;
}

.application-form-right-inner .admission-btn .tel {
  font-size: 2.526vw;
}

.application-form-right-inner .admission-icon-tel {
  width: 1.579vw;
}

.application-form-right-inner .value-badge {
  width: 7.474vw;
  height: 7.474vw;
  top: -0.579vw;
  right: -0.587vw;
}

.application-form-right-inner .value-badge .number {
  font-size: 1.642vw;
}

.application-form-right-inner .value-badge .yen {
  font-size: 1.314vw;
}

.application-form-right-inner .value-badge .value-badge-text {
  font-size: 1.289vw;
}

.application-form-right-inner .value-badge-wrapper {
  top: -0.593vw;
  right: -0.589vw;
}

.application-form-right-inner .admission-icon-mail {
  width: 2.132vw;
}


/* footer */
.footer-inner {
  margin: 2.575vw 0 0 21.053vw;
  padding-bottom: 1.881vw;
  display: flex;
  width: 58vw;
  justify-content: space-between;
  align-items: flex-end;
}

.footer-company-name {
  line-height: 1;
  font-size: 2.105vw;
  font-weight: 600;
}

.footer-company-address {
  font-size: 1.053vw;
  line-height: 1;
  margin-top: 0.893vw;
}

.copyright {
  font-size: 1.053vw;
  line-height: 1;
}


/* ***********************************
 *  〜799px：SP
 * *********************************** */
@media screen and (max-width: 799px) {
  .sp-only {
    display: block;
  }

  .pc-only {
    display: none;
  }

  article {
    overflow-x: hidden;
  }

  .logo-wrapper {
    margin-top: 4vw;
    margin-left: 4vw;
  }

  .logo {
    height: 10.155vw;
  }

  .logo-text {
    font-size: 5vw;
    margin-left: 2.417vw;
  }

  .hero {
    margin-top: calc(-4vw + -10.155vw);
    background-image: url(/wp-content/uploads/img/lp/hero_bg_sp.jpg);
  }

  .hero-top-sub-wrapper {
    margin-bottom: 3.397vw;
  }

  .hero-top-text-wrapper {
    padding-top: 19.944vw;
  }

  .hero-top-sub img {
    width: 58.471vw;
  }

  .hero-sub-bubble {
    width: 66.302vw;
    margin-top: 3.377vw;
  }

  .hero-top-heading {
    position: relative;
  }

  .hero-top-heading-img {
    width: 86.454vw;
  }

  .free-admission-badge {
    width: 17.067vw;
    height: 17.067vw;
    position: absolute;
    right: 13.412vw;
    bottom: -1.257vw;
  }

  .hero-jizen-heading {
    width: 94.778vw;
    margin: 6.18vw auto 0;
  }

  .round-list {
    flex-wrap: wrap;
    margin-top: -4.957vw;
  }

  .round-item {
    width: 26.667vw;
    height: 26.667vw;
    font-size: 4vw;
    line-height: 1.25;
    border: 3px solid #202261;
  }

  .round-item + .round-item {
    margin-left: 1.333vw;
  }

  .round-list .round-item:nth-of-type(4) {
    margin-left: 0;
  }

  .round-list .round-item:nth-of-type(n+4) {
    margin-top: -1.244vw;
  }

  .hero-bottom-text-wrapper {
    margin-top: 61.626vw;
    position: relative;
    z-index: 1;
  }

  .hero-bottom-heading-wrapper {
    margin-left: 8.356vw;
  }

  .hero-bottom-heading-wrapper img {
    width: 77.333vw;
  }

  .hero-bottom-text {
    font-size: 4.267vw;
    margin-left: 8.356vw;
    margin-top: 6.153vw;
    padding-bottom: 38.062vw;
  }

  .hero-top-img-left-wrapper{
    top: 147.751vw;
    width: 43.367vw;
  }

  .hero-top-img-right-wrapper{
    top: 157.072vw;
    width: 51.072vw;
  }

  .hero-bottom-img-left-wrapper {
    width: 29.443vw;
    left: 9.908vw;
    bottom: -10.194vw;
  }

  .hero-bottom-img-left-wrapper img {
    border-radius: 10px;
  }

  .hero-bottom-img-right-wrapper {
    width: 48vw;
    right: 6.667vw;
    bottom: -5.746vw;
  }

  .hero-bottom-img-right-wrapper img {
    border-radius: 10px;
  }

  /* question */
  .question-wrapper {
    height: 195.571vw;
    position: relative;
  }

  .question-heading {
    font-size: 6.4vw;
    line-height: 1.5;
    padding-top: 18.397vw;
  }

  .parents-generation .question-img-wrapper {
    top: 76.553vw;
    left: 20.584vw;
    z-index: 1;
  }

  .parents-generation .question-img-wrapper img {
    width: 56.345vw;
  }

  .question-text {
    font-size: 3.891vw;
    margin-top: -2.8vw;
  }

  .parents-generation .question-list .question-item:nth-of-type(1) {
    top: 56.942vw;
    left: -2.933vw;
  }

  .parents-generation .question-list .question-item:nth-of-type(1) img {
    width: 41.867vw;
    height: 29.787vw;
  }

  .parents-generation .question-list .question-item:nth-of-type(2) {
    top: 42.32vw;
    left: 29.333vw;
  }

  .parents-generation .question-list .question-item:nth-of-type(2) img {
    width: 41.333vw;
    height: 29.282vw;
  }

  .parents-generation .question-list .question-item:nth-of-type(3) {
    top: 57.098vw;
    right: -2.593vw;
    left: auto;
  }

  .parents-generation .question-list .question-item:nth-of-type(3) img {
    width: 41.867vw;
    height: 29.787vw;
  }

  .children-generation .question-list .question-item:nth-of-type(1) {
    top: auto;
    left: -2.933vw;
    right: auto;
    bottom: 23.871vw;
  }

  .children-generation .question-list .question-item:nth-of-type(1) img {
    width: 41.867vw;
    height: 29.787vw;
  }

  .children-generation .question-list .question-item:nth-of-type(2) {
    top: auto;
    right: 29.333vw;
    bottom: 38.407vw;
  }

  .children-generation .question-list .question-item:nth-of-type(2) img {
    width: 41.333vw;
    height: 29.282vw;
  }

  .children-generation .question-list .question-item:nth-of-type(3) {
    top: auto;
    right: -2.593vw;
    bottom: 23.871vw;
  }

  .children-generation .question-list .question-item:nth-of-type(3) img {
    width: 41.867vw;
    height: 29.787vw;
  }

  .children-generation .question-img-wrapper {
    top: auto;
    bottom: -13.169vw;
    right: 21.972vw;
    z-index: 1;
  }

  .children-generation .question-img-wrapper img {
    width: 59.406vw;
  }

  .generation {
    font-size: 4.289vw;
    line-height: 1.8;
    width: 36.4vw;
    border: 3px solid #fff;
    border-radius: 4vw;
    bottom: 10%;
  }

  .question-wrapper::after {
    height: 16.313vw;
    bottom: -16.2vw;
  }

  /* outline */
  .outline {
    padding-bottom: 12.667vw;
  }
  .outline-inner {
    margin-top: 10.667vw;
  }

  .outline-ribbon-wrapper img {
    width: 27.701vw;
  }

  .outline-heading-bottom {
    font-size: 10.733vw;
  }

  .outline-top-list.sp-only {
    display: flex;
    margin-top: 4.636vw;
  }

  .outline-top {
    flex-direction: column;
  }

  .outline-heading-top img {
    width: 6.923vw;
    height: 8.654vw;
  }

  .outline-heading-top .first {
    font-size: 5.656vw;
    margin-left: 2.016vw;
  }

  .outline-top-text {
    margin-left: 3.645vw;
  }

  .outline-top-item {
    font-size: 5.333vw;
    line-height: 2.5;
    width: 42.667vw;
    height: 12vw;
    border-radius: 10vw;
  }

  .outline-top-item + .outline-top-item {
    margin-left: 1.333vw;
  }

  .outline-image-list {
    margin-top: 7.9vw;
  }

  .outline-image-item {
    width: 69.367vw;
  }

  .outline-image-item + .outline-image-item {
    margin-left: 2.749vw;
  }

  .outline-point-list {
    position: relative;
    z-index: 1;
    flex-wrap: wrap;
    margin-top: -10.516vw;
  }

  .outline-point-item {
    width: 41.333vw;
    height: 41.333vw;
    font-size: 4.267vw;
    border: 3px solid #202261;
  }

  .outline-point-list .outline-point-item:nth-of-type(odd) {
    margin-left: 0;
  }

  .outline-point-list .outline-point-item:nth-of-type(even) {
    margin-left: 2.667vw;
  }

  .outline-point-list .outline-point-item:nth-of-type(n+3) {
    margin-top: 2.667vw;
  }

  .outline-bottom-text-wrapper {
    margin-top: 7.89vw;
  }

  .outline-bottom-text {
    font-size: 4.267vw;
    line-height: 1.688;
    margin-bottom: 6.443vw;
  }

  .outline-bottom-btn {
    border: 3px solid #202261;
    width: 83.2vw;
    height: 19.2vw;
  }

  .outline-bottom-line-icon {
    width: 9.867vw;
    left: 4.933vw;
  }

  .outline-bottom-btn-arrow {
    height: 3.467vw;
    right: 3.867vw;
  }

  .outline-bottom-btn-text {
    font-size: 5.333vw;
    margin-left: 17.733vw;
  }

  /* .outline-bottom-btn::after {
    width: 2.5vw;
    height: 2.5vw;
    border-top: .6vw solid #202261;
    border-right: .6vw solid #202261;
    right: 4vw;
    margin: auto;
  } */

  /* can-do */
  .can-do {
    padding: 12.888vw 0 16vw 0;
  }

  .can-do-heading-wrapper img {
    width: 81.687vw;
  }

  .can-do-list {
    margin: 10.667vw 9.342vw 0 9.342vw;
    width: auto;
  }

  .can-do-item {
    flex-direction: column;
  }

  .can-do-item + .can-do-item {
    margin-top: 10.667vw;
  }

  .can-do-item-inner,
  .can-do-list .can-do-item:nth-of-type(even) .can-do-item-inner {
    flex-direction: column;
    width: 100%;
  }

  .can-do-list .can-do-item:nth-of-type(even) {
    flex-direction: column;
  }

  .can-do-text-wrapper {
    margin-left: 0;
    margin-top: 0;
    width: auto;
  }

  .can-do-item-heading {
    display: block;
    text-align: center;
  }

  .can-do-item-heading span {
    font-size: 6.4vw;
    line-height: 1.5;
    padding: 2vw 4vw;
  }

  .can-do-item-text {
    font-size: 4vw;
    line-height: 1.75;
    margin: 5.275vw 0 4vw 0;
  }

  .can-do-img-wrapper {
    width: 100%;
    height: auto;
  }


  .aiclub-outline {
    margin: 16vw 6vw 0 6vw;
    width: auto;
  }

  .aiclub-outline-heading {
    flex-direction: column;
    padding-top: 8.087vw;
    padding-bottom: 4.552vw;
  }

  .aiclub-outline-heading-text {
    font-size: 5.333vw;
    margin-right: 0;
    padding-bottom: 1.856vw;
  }

  .aiclub-logo {
    width: 59.067vw;
  }

  .aiclub-outline-text {
    font-size: 4vw;
    line-height: 1.75;
  }

  .aiclub-link {
    width: 53.333vw;
    height: 14.667vw;
    line-height: 14.667vw;
    font-size: 4.267vw;
    margin-top: 4vw;
    margin-bottom: 7.206vw;
  }

  .aiclub-link img {
    right: 3.867vw;
    height: 3.2vw;
  }

  /* .aiclub-link::after {
    width: 2.4vw;
    height: 2.4vw;
    border-top: .4vw solid #fff;
    border-right: .4vw solid #fff;
    right: 3.867vw;
  } */

  .aiclub-outline-bg-left-wrapper {
    width: 20.816vw;
    top: 3.209vw;
    left: 3.852vw;
  }

  .aiclub-outline-bg-right-wrapper {
    width: 15.645vw;
    top: 4.4vw;
    right: 4.847vw;
  }

  .voice-image-right .voice-image:nth-of-type(1) {
    display: none;
  }

  .voice-image-left {
    position: absolute;
    left: 0.763vw;
    top: auto;
    bottom: 24vw;
  }

  .voice-image-left .voice-image:nth-of-type(1) {
    position: absolute;
    width: 30.667vw;
    bottom: -12.107vw;
    right: calc(-15.469vw + 2.667vw);
  }

  .voice-image-left .voice-image:nth-of-type(2) {
    width: 55.2vw;
    margin-left: 0;
    margin-top: 0;
    left: -2.667vw;
  }

  .voice-image-right {
    right: -9.255vw;
    top: auto;
    bottom: 30.212vw;
  }

  .voice-image-right .voice-image:nth-of-type(2) {
    width: 43.922vw;
  }

  /* voice */
  .voice {
    padding-top: 14vw;
  }

  .voice-heading-wrapper {
    margin-bottom: 8vw;
  }

  .voice-heading-wrapper img {
    width: 87.955vw;
  }

  .voice-list-wrapper {
    padding-bottom: 74.761vw;
    margin-bottom: 0;
  }

  .voice-item {
    width: 67.2vw;
    height: 59.324vw;
    font-size: 4.267vw;
    line-height: 1.5;
    padding: 2vw 2.158vw 2vw 2.158vw;
    padding: 6.718vw 6.667vw 6.718vw 6.667vw;
    border: 3px solid #202261;
  }

  .voice-item + .voice-item {
    margin-left: 4.8vw;
  }

  .voice-item::before {
    border-top: 4.4vw solid #202261;
    border-right: 4.8vw solid transparent;
    bottom: -4.4vw;
  }

  .voice-item::after {
    border-top: calc(4.4vw - 5px) solid #fff;
    border-right: calc(4.8vw - 5px) solid transparent;
    bottom: calc(-4.4vw + 8px);
  }

  /* contact */
  .contact-ribbon {
    width: 97.428vw;
    margin-top: 0;
    left: 50%;
    transform: translateX(-50%);
    top: -4.472vw;
  }

  .contact {
    padding: 27.919vw 0 12vw 0;
  }

  .contact-heading-wrapper {
    margin-bottom: 9.155vw;
  }

  .contact-heading-wrapper img {
    width: 75.6vw;
  }

  .contact-tel-wrapper {
    flex-direction: column;
  }

  .contact-form {
    margin-left: 0;
  }

  .contact-tel-text {
    font-size: 5.067vw;
    line-height: 1;
    margin-bottom: 2.142vw;
    text-align: center;
  }

  .contact-tel-icon {
    width: 5.067vw;
    margin-right: 2.629vw;
    margin-top: -5.5vw;
  }

  .contact-tel-number .tel-number {
    font-size: 8.8vw;
    line-height: 1.2;
  }

  .contact-tel-note {
    font-size: 3.498vw;
  }

  .contact-tel-inner {
    width: 83.2vw;
    height: 21.867vw;
    border: 3px solid #fcee21;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
  }

  .contact-form-text {
    font-size: 5.067vw;
    text-align: center;
    line-height: 1;
    margin-top: 8.339vw;
    margin-bottom: 2.301vw;
  }

  .contact-btn {
    border: 3px solid #202261;
    border-radius: 12px;
    width: 82.667vw;
    height: 21.333vw;
    margin: 0 auto;
    border: none;
    font-weight: 600;
  }

  .contact-line-icon,
  .contact-line-icon-hover {
    width: 10.667vw;
    margin-left: 6.667vw;
  }

  .contact-mail-icon {
    width: 6.933vw;
  }

  .contact-btn-text {
    font-size: 6.133vw;
    margin-left: 5.244vw;
  }

  /* aiclub */
  .aiclub {
    padding: 16vw 0 20vw;
    overflow: hidden;
  }

  .aiclub-heading {
    font-size: 5.333vw;
    padding: 3.791vw 7.333vw 3.041vw;
    border-radius: 10vw;
    margin-bottom: 5.384vw;
  }

  .aiclub-logo-wrapper img {
    width: 84.057vw;
  }

  .aiclub-bg-left-wrapper {
    width: 42.483vw;
    left: -2.672vw;
    top:  -0.774vw;
  }

  .aiclub-bg-right-wrapper {
    width: 42.487vw;
    right: -3.825vw;
    top: -6.474vw;
  }

  .aiclub-top {
    position: relative;
  }

  .aiclub-top-text {
    margin-top: 9.341vw;
    font-size: 4.267vw;
    line-height: 1.688;
  }

  .aiclub-top-list {
    flex-wrap: wrap;
  }

  .aiclub-top-item {
    background-color: #fff;
    width: 40.4vw;
    height: 40.4vw;
    border: 2px solid #5bac68;
    font-size: 5.067vw;
    line-height: 1.368;
  }

  .aiclub-top-list .aiclub-top-item-wrapper:nth-of-type(1) {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .aiclub-top-item-wrapper + .aiclub-top-item-wrapper {
    margin-left: 0;
    margin-top: -1.467vw;
  }

  .aiclub-top-list .aiclub-top-item-wrapper:nth-of-type(3) .aiclub-top-item {
    margin-left: 2.533vw;
  }

  .aiclub-top-item-note {
    font-size: 3.547vw;
  }

  .aiclub-perk {
    width: 100%;
    padding: 23.333vw 4.667vw 13.333vw 4.667vw;
    margin: 14.651vw auto 0;
  }

  .aiclub-perk-ribbon {
    width: 83.48vw;
    top: -3.471vw;
  }

  .aiclub-perk-top {
  background-color: #fff;
  border-radius: 10px;
  position: relative;
  padding: 15.442vw 0 4vw 0;
  }

  .perk-top-icon {
    width: 21.333vw;
    height: 21.333vw;
    top: -2.8vw;
  }

  .perk-top-icon img {
    width: 11.336vw;
  }

  .perk-top-first {
    font-size: 4.533vw;
    line-height: 1.294;
  }

  .perk-top-emphasis {
    font-size: 7.467vw;
  }

  .perk-top-second {
    font-size: 5.23vw;
  }

  .perk-plan-list {
    flex-direction: column;
  }

  .perk-plan-item {
    width: 77.333vw;
    margin: 0 auto;
    padding-bottom: 14.452vw;
  }

  .perk-plan-item + .perk-plan-item {
    margin-left: auto;
    margin-top: 4vw;
  }

  .perk-plan-heading {
    font-size: 4.8vw;
    padding: 3.223vw 0 2.393vw;
  }

  .normal-price {
    margin-left: -8.1vw;
  }

  .normal-price .label {
    font-size: 4.267vw;
    margin-right: 2.988vw;
  }

  .normal-price .price {
    font-size: 8.267vw;
  }

  .normal-price .yen {
    font-size: 4.246vw;
    margin-left: 0.965vw;
    margin-top: -2vw;
  }

  .normal-price .yen .tax {
    font-size: 2.378vw;
    margin-left: -1.2vw;
  }

  .perk-arrow-wrapper img {
    width: 8.8vw;
    margin: 0 auto;
  }

  .member-price .label {
    font-size: 4.267vw;
  }

  .member-price .label .note {
    font-size: 3.41vw;
  }

  .member-price .price {
    font-size: 10.4vw;
    margin: 0 1.172vw 0 2.988vw;
    line-height: 1.4;
  }

  .member-price .yen .tax {
    font-size: 2.378vw;
    margin-left: -1.4vw;
  }

  .member-price .yen {
    font-size: 4.246vw;
  }

  .discount {
    border: 3px solid #5bac68;
    border-radius: 8vw;
    padding: 2.364vw 5.477vw 1.681vw 5.477vw;
    top: auto;
    bottom: -10.5vw;
    right: auto;
  }

  .discount-number {
    font-size: 4.74vw;
    font-weight: 600;
  }

  .discount-text {
    font-size: 3.714vw;
    font-weight: 600;
  }

  .discount::before, .discount::after {
    top: 0;
  }

  .discount::before {
    bottom: auto;
    top: -3.4vw;
    border-top: 3.4vw solid transparent;
    border-right: 3.4vw solid #5bac68;
    left: 6.582vw;
  }

  .discount::after {
    bottom: auto;
    border-top: 3.4vw solid transparent;
    border-right: 3.4vw solid #fcee21;
    top: calc(-3.4vw + 6px);
    margin-left: -2px;
    left: 6.582vw;
  }

  .discount-img-wrapper-left {
    top: 45.5vw;
    left: 17.133vw;
  }

  .discount-img-wrapper-left img {
    width: 43.067vw;
  }

  .discount-img-wrapper-right {
    top: 48.5vw;
    left: 17.133vw;
  }

  .discount-img-wrapper-right img {
    width: 44.4vw;
  }

  .aiclub-perk-item {
    margin-top: 2.693vw;
    width: calc(50% - (2.667vw / 2));
    padding: 1.838vw 0 1.838vw 2.632vw;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 3.579vw 0 3vw 0;
  }

  .aiclub-perk-list .aiclub-perk-item:nth-of-type(odd) {
    margin-right: 2.667vw;
  }
  
  .aiclub-perk-text {
    text-align: center;
    margin-left: 0;
  }

  .aiclub-perk-list .aiclub-perk-item img {
    width: 12vw;
  }

  .aiclub-perk-heading {
    font-size: 4.267vw;
  }

  .discount-rate .number {
    font-size: 13.067vw;
  }

  .discount-rate-text {
    font-size: 7.2vw;
    vertical-align: 0.08em;
  }

  .aiclub-perk-list .aiclub-perk-item:nth-of-type(4) .aiclub-perk-heading {
    letter-spacing: -.3vw;
    font-size: 4vw;
  }

  .discount-rate .max {
    font-size: 4.533vw;
    margin-bottom: -.4vw;
    vertical-align: .15em;
  }

  /* aiclub-admission */
  .aiclub-admission {
    padding: 22.488vw 0 10.8vw 0;
  }

  .aiclub-admission-ribbon {
    width: 97.513vw;
    top: -10vw;
  }

  .aiclub-admission-heading-wrapper {
    margin-bottom: 6.888vw;
  }

  .aiclub-admission-heading-wrapper img {
    width: 74.933vw;
  }

  .aiclub-admission-list {
    flex-direction: column;
    align-items: center;
  }

  .aiclub-admission-item {
    padding: 7.765vw 0 7.867vw;
    width: 88vw;
  }

  .aiclub-admission-item + .aiclub-admission-item {
    margin-left: 0;
    margin-top: 4.15vw;
  }

  .aiclub-admission-text {
    font-size: 5.6vw;
    padding-bottom: 2.675vw;
  }

  .aiclub-admission-text::after {
    width: 69.333vw;
  }

  .aiclub-admission-item .fee {
    font-size: 5.333vw;
  }

  .aiclub-admission-item .fee .number {
    font-size: 10.667vw;
    margin: 0 0.502vw 0 3.665vw;
  }

  .aiclub-admission-item .fee .yen {
    font-size: 6.133vw;
    font-weight: 600;
  }

  .admission-btn {
    width: 69.333vw;
    height: 18.667vw;
    border-radius: 10px;
    margin: 0 auto;
  }
  
  .admission-btn .tel {
    font-size: 7.733vw;
    margin-left: 2.204vw;
  }

  .admission-icon-tel {
    width: 4.712vw;
  }

  .admission-text {
    font-size: 5.333vw;
    margin-left: 3.065vw;
  }

  .admission-icon-mail {
    width: 5.867vw;
  }

  .value-badge {
    width: 22.4vw;
    height: 22.4vw;
    border: 4px solid #5bac68;
    box-shadow: #fcee21 0px 0px 0px 3px;
    right: -1.856vw;
    top: -2.105vw;
    line-height: 1.1;
  }

  .value-badge .number {
    font-size: 4.435vw;
  }

  .value-badge .yen {
    font-size: 3.499vw;
  }

  .value-badge .value-badge-text {
    font-size: 3.503vw;
  }

  .value-badge-wrapper img {
    width: 22.4vw;
    height: 22.4vw;
  }

  /* area-results */
  .area-results {
    padding: 13.333vw 0 19.126vw 0;
  }

  .area-results-heading {
    text-align: center;
    align-items: center;
  }

  .area-results-heading-bottom {
    text-align: center;
    font-size: 10vw;
    line-height: 1.2;
  }

  .area-results-heading-top {
    margin-right: 0;
  }

  .area-results-heading-top img {
    height: 11.793vw;
  }

  .area-results-heading-top .logo-text {
    font-size: 5.815vw;
    margin-left: 1.306vw;
  }

  .area-results-top-text {
    font-size: 5.469vw;
  }

  .area-results-contents-heading {
    font-size: 6.4vw;
    line-height: 1.5;
    margin: 85.608vw 0 0 7.053vw;
  }

  .area-results-no1 {
    width: 30.667vw;
    margin-left: 3.234vw;
  }

  .area-results-images .area-results-images-item:nth-of-type(1) {
    width: 69.333vw;
    right: 0;
    top: 59.467vw;
  }

  .area-results-images .area-results-images-item:nth-of-type(1) img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .area-results-images .area-results-images-item:nth-of-type(2) {
    width: 26.667vw;
    top: 104vw;
    bottom: auto;
    right: 20vw;
  }

  .area-results-images .area-results-images-item:nth-of-type(3) {
    width: 29.333vw;
    top: 78.4vw;
    bottom: auto;
    right: auto;
    left: 10vw;
    z-index: 1;
  }

  .area-results-contents-text {
    font-size: 4.267vw;
    line-height: 1.75;
    width: auto;
    margin: 2.963vw 7.9vw 0 7.333vw;
  }

  /* reason */
  .reason {
    padding-top: 0;
  }

  .reason-heading-wrapper {
      position: relative;
      top: -7.397vw;
      left: auto;
      transform: none;
  }

  .reason-heading-wrapper img {
    width: 84.857vw;
    margin: 0 auto;
  }

  .reason-list {
    padding: 0 0 8vw 0;
    width: 96vw;
  }

  .reason-item {
    width: calc(100% / 2);
    padding-top: 5.51vw;
  }

  .reason-list .reason-item:nth-of-type(1) img {
    width: 8.9vw;
  }

  .reason-list .reason-item:nth-of-type(2) img {
    width: 15.647vw;
  }

  .reason-list .reason-item:nth-of-type(3) img {
    width: 8.278vw;
  }

  .reason-list .reason-item:nth-of-type(4) img {
    width: 14.767vw;
  }

  .reason-list .reason-item:nth-of-type(5) img {
    width: 13.84vw;
  }

  .reason-list .reason-item:nth-of-type(6) img {
    width: 16.571vw;
  }

  .reason-item-text {
    font-size: 4.8vw;
    margin-top: 4.29vw;
    padding-bottom: 7.088vw;
  }

  .reason-list .reason-item:nth-of-type(1)::before, .reason-list .reason-item:nth-of-type(3)::before {
    content: "";
    position: absolute;
    width: 5.539vw;
    height: 5.53vw;
    background-image: url(/wp-content/uploads/img/lp/reason_star_sp.svg);
    bottom: calc(-5.53vw / 2);
    right: calc(-5.539vw / 2);
  }

  .reason-list .reason-item:nth-of-type(2)::after, .reason-list .reason-item:nth-of-type(3)::after, .reason-list .reason-item:nth-of-type(5)::after, .reason-list .reason-item:nth-of-type(6)::after {
    width: 0;
  }
  .reason-list .reason-item:nth-of-type(n+4)::before {
    height: 0;
  }


  .reason-list .reason-item:nth-of-type(2)::before, .reason-list .reason-item:nth-of-type(4)::before
  , .reason-list .reason-item:nth-of-type(6)::before {
    content: "";
    position: absolute;
    height: calc(100% - 8.087vw);
    background-color: #fff;
    width: 1px;
    top: auto;
    bottom: calc(8.087vw/2);
    left: 0;
  }

  .reason-list .reason-item:nth-of-type(n+3)::after {
    content: "";
    position: absolute;
    background-color: #fff;
    width: calc(100% - 7.036vw);
    height: 1px;
    top:0;
  }

  .reason-list .reason-item:nth-of-type(3)::after,
  .reason-list .reason-item:nth-of-type(5)::after {
    right: calc(7.036vw/2);
  }

  .reason-list .reason-item:nth-of-type(4)::after,
  .reason-list .reason-item:nth-of-type(6)::after {
    left: calc(7.036vw/2);
  }

  /* access */
  .access {
    padding: 14.667vw 0 16vw 0;
  }

  .access-heading-wrapper img {
    width: 47.281vw;
    margin: 0 auto 9.333vw;
  }

  .ceremony-hall-item-top {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .ceremony-hall-item + .ceremony-hall-item {
    margin-top: 14vw;
  }

  .ceremony-hall-image-wrapper {
    width: 82.667vw;
    height: 49.6vw;
    margin-right: 0;
  }

  .map-container-wrapper {
    width: 100vw;
    height: 60vw;
  }

  .ceremony-hall-name {
    font-size: 6.4vw;
    margin-top: 3.978vw;
    margin-bottom: 2.525vw;
  }

  .ceremony-hall-address-wrapper {
    margin-left: 0;
  }

  .ceremony-hall-address {
    font-size: 4vw;
    margin-bottom: 3.462vw;
  }

  .ceremony-hall-link {
    font-size: 4vw;
    margin-bottom: 5.118vw;
  }


  /* faq */
  .faq {
    padding: 12vw 0 24vw 0;
  }

  .faq-heading-wrapper {
    margin-bottom: 10.667vw;
  }

  .faq-heading-wrapper img {
    width: 44.636vw;
  }

  .faq-list {
    width: 88vw;
  }

  .faq-question {
    font-size: 4.533vw;
    padding: 5.873vw 14.877vw 4.868vw 11.79vw;
  }

  .faq-question::before {
    font-size: 8.8vw;
    top: 3.5vw;
  }

  .faq-question::after {
    right: 0;
    width: 10.667vw;
    height: 10.667vw;
    font-size: 1.5em;
  }

  .faq-answer {
    font-size: 4vw;
  }

  .faq-answer-inner {
    padding-left: 11.79vw;
    padding-bottom: 5.784vw;
  }

  .faq-answer-inner::before {
    font-size: 8.8vw;
    top: -2vw;
  }

  /* application-form */
  .application-form {
    flex-direction: column;
    width: 100%;
    height: auto;
  }

  .application-form-left, .application-form-right {
    width: 100%;
  }

  .application-form-left {
    overflow: visible;
    padding-top: 11vw;
    padding-bottom: 12vw;
  }

  .application-form-left-inner {
    width: auto;
    margin: 0 auto;
  }

  .advance-consultation-heading {
    font-size: 7.467vw;
    line-height: 1.25;
    margin-top: 0;
  }

  .advance-consultation-tel-heading {
    font-size: 5.067vw;
    line-height: 1;
    margin-top: 9vw;
    margin-bottom: 2.142vw;
    text-align: center;
  }

  .advance-consultation-tel {
    width: 83.2vw;
    height: 21.867vw;
    border: 3px solid #fcee21;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    flex-direction: column;
  }

  .advance-consultation-tel-number img {
    width: 5.067vw;
  }

  .advance-consultation-tel-wrapper {
    margin-top: 0;
  }

  .advance-consultation-tel-wrapper .number {
    font-size: 8.8vw;
    line-height: 1.2;
    margin-left: 2.629vw;
    color: #fcee21;
  }

  .advance-consultation-tel-note {
    font-size: 3.498vw;
    color: #fff;
    margin-left: -4.5vw;
  }

  .application-form-right {
    padding-top: 12vw;
    padding-bottom: 10.8vw;
  }

  .application-form-right-inner {
    width: 88vw;
    margin: 0 auto;
  }

  .application-form-right-inner .aiclub-admission-list {
    width: 100%;
  }

  .application-form-right-inner .aiclub-admission-item {
    width: 100%;
  }

  .advance-consultation-form-heading {
    font-size: 5.067vw;
    text-align: center;
    line-height: 1;
    margin-top: 8.339vw;
    margin-bottom: 2.301vw;
  }

  .advance-consultation-btn {
    width: 82.667vw;
    height: 21.333vw;
    margin: 0 auto;
    border: none;
    border-radius: 12px;
  }

  .advance-consultation-btn img {
    width: 10.667vw;
    margin-left: 6.667vw;
  }

  .advance-consultation-btn-text {
    font-size: 6.133vw;
    margin-left: 5.244vw;
  }

  .application-form-right-inner .aiclub-application-heading {
    font-size: 7.467vw;
    line-height: 1.25;
    margin-top: 0;
  }

  .application-form-right-inner .aiclub-admission-list {
    margin-top: 6vw;
  }

  .application-form-right-inner .aiclub-admission-item {
    padding: 7.765vw 0 7.867vw;
  }

  .application-form-right-inner .aiclub-admission-text {
    color: #333;
    font-size: 5.6vw;
    padding-bottom: 2.675vw;
  }

  .application-form-right-inner .aiclub-admission-text::after {
    width: 69.333vw;
  }

  .application-form-right-inner .aiclub-admission-item .fee {
    font-size: 5.333vw;
  }

  .application-form-right-inner .aiclub-admission-item .fee .number {
    font-size: 10.667vw;
    margin: 0 0.502vw 0 3.665vw;
  }

  .application-form-right-inner .aiclub-admission-item .fee .yen {
    font-size: 6.133vw;
  }

  .application-form-right-inner .admission-btn {
    width: 69.333vw;
    height: 18.667vw;
  }

  .application-form-right-inner .admission-icon-tel {
    width: 4.712vw;
  }

  .application-form-right-inner .admission-btn .tel {
    font-size: 7.733vw;
    margin-left: 2.204vw;
  }

  .application-form-right-inner .admission-icon-mail {
    width: 5.867vw;
  }

  .application-form-right-inner .aiclub-admission-item + .aiclub-admission-item {
    margin-top: 4.15vw;
  }

  .application-form-right-inner .value-badge {
    width: 22.4vw;
    height: 22.4vw;
    border: 4px solid #5bac68;
    box-shadow: #fcee21 0px 0px 0px 3px;
    right: -1.856vw;
    top: -2.105vw;
    line-height: 1.1;
  }

  .application-form-right-inner .value-badge .number {
    font-size: 4.435vw;
  }

  .application-form-right-inner .value-badge .yen {
    font-size: 3.499vw;
  }

  .application-form-right-inner .value-badge .value-badge-text {
    font-size: 3.503vw;
  }

  .application-form-right-inner .value-badge-wrapper {
    top: -1.442vw;
    right: -2.133vw;
  }

  .aiclub-perk-text {
    margin-top: auto;
  }

  .aiclub-perk-list .aiclub-perk-item:nth-of-type(1) img {
    margin-top: 1.2vw;
  }

  .aiclub-perk-list .aiclub-perk-item:nth-of-type(4) img {
    margin-top: .8vw;
  }

  /* footer */
  .footer-inner {
    flex-direction: column;
    margin: 0;
    padding-top: 8.087vw;
    padding-bottom: calc(3.49vw + 24vw);
    align-items: center;
    width: auto
  }

  .footer-company-wrapper {
    text-align: center;
  }

  .footer-company-name {
    font-size: 5.6vw;
  }

  .footer-company-address {
    font-size: 3.733vw;
    margin-top: 2.451vw;
  }

  .copyright {
    font-size: 2.933vw;
    margin-top: 4.566vw;
  }

  /* sp contact footer */
  .sp-contact-footer {
    background-color: #202261;
    height: 24vw;
    display: flex;
    align-items: center;
    padding: 0 1.867vw 0 4vw;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 100;
    transition: opacity 0.4s, visibility 0.4s;
    opacity: 0;
    visibility: hidden;
  }

  .sp-contact-footer.show {
    opacity: 1;
    visibility: visible;
  }

  .sp-contact-footer-inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .sp-contact-footer-text {
    color: #fcee21;
    font-size: 5.067vw;
    line-height: 1.316;
  }

  .sp-contact-footer-btn {
    display: flex;
  }

  .sp-contact-footer-tel,
  .sp-contact-footer-line {
    width: 34vw;
    height: 17.333vw;
    background-color: #fcee21;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
  }

  .sp-contact-footer-line {
    margin-left: 1.733vw;
  }

  .sp-contact-footer-tel img {
    width: 3.534vw;
    display: block;
  }

  .sp-contact-footer-line img {
    width: 6.133vw;
    display: block;
  }

  .sp-contact-footer-tel-text,
  .sp-contact-footer-line-text {
    font-size: 4.533vw;
    line-height: 1.176;
    color: #202261;
    font-weight: 600;
  }

  .sp-contact-footer-tel-text {
    margin-left: 2.574vw;
  }

  .sp-contact-footer-line-text {
    margin-left: 2.669vw;
  }
}


/* ***********************************
 *  800px～1099px：タブレット/小型PC(状況に応じて対応)
 * *********************************** */
@media screen and (min-width: 800px) and (max-width: 1099px) {

}



/*  animation
* *********************************** */
/* ホバー時透明度下げる */
.header-contact-form:hover {
  opacity: .7;
}

.outline-bottom-btn:hover {
  opacity: .7;
}

.contact-btn:hover {
  background-color: #bab134;
}

.contact-btn:hover .contact-line-icon {
  opacity: .7;
}

.admission-btn:hover,
.application-form-right-inner .admission-btn:hover {
  opacity: .7;
}

.advance-consultation-btn:hover {
  opacity: .7;
}

/* ぽよぽよ収縮する */
.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}

.poyopoyo02 {
  animation: poyopoyo02 2s ease-out infinite;
  opacity: 1;
}

@keyframes poyopoyo {
  0%, 5%, 20% {
    transform: scale(1.0);
  }
  12.5% {
    transform: scale(0.95);
  }
}
@keyframes poyopoyo02 {
  0%, 5%, 20% {
    transform: scale(1.0);
  }
  12.5% {
    transform: scale(0.9);
  }
}

/* ポヨンと大きくなって、本来のサイズへ戻る */
/* 1. アニメーションの初期状態を定義 */
.pop-effect {
  opacity: 0;
}

/* 2. 画面内に入った時にJSで付与されるクラス */
.pop-effect.is-visible {
  animation-name: popIn;
  animation-duration: 1s;
  animation-timing-function: ease; /* 全体的なイージング（キーフレーム内で上書きされる） */
  animation-fill-mode: both; /* アニメーションの前後でスタイルを維持 */
}

/* 3. アニメーションの具体的な動きを定義（@keyframes）*/
@keyframes popIn {
  0% {
    /* transform: scale3d(0, 0, 0); */
    transform: scale3d(.8, .8, .8);
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  40% {
    animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
    transform: scale3d(1.08, 1.08, 1.08);
  }
  60% {
    animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
    transform: scale3d(1, 1, 1);
  }
  80% {
    animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  100% {
    animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: scale3d(1, 1, 1);
    opacity: 1; /* 念のため最終状態でも不透明を指定 */
  }
}

/* 下からふわっと */
.fade-up,
.fade-up-large {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-up.visible,
.fade-up-large.visible {
  opacity: 1;
  transform: translateY(0);
}

/* その場でフェードイン */
.fade-in,
.fade-in-large {
  opacity: 0;
  transition: opacity 0.6s linear;
}

.fade-in.visible,
.fade-in-large.visible {
  opacity: 1;
}

/* 左からマスク */
.mask-in {
  overflow: hidden;
}

.mask-in > * {
  display: inline-block;
  clip-path: inset(0 100% 0 0); /* 最初は全部隠す（右側100%カット） */
  transition: clip-path .5s cubic-bezier(0.70,0.01,0.30,1.0);
}

.mask-in.visible > * {
  clip-path: inset(0 0 0 0); /* 全体が見えるように */
}

.mask-in02 {
  overflow: hidden;
}

.mask-in02 > * {
  display: inline-block;
  clip-path: inset(0 100% 0 0); /* 最初は全部隠す（右側100%カット） */
  transition: clip-path .85s cubic-bezier(0.70,0.01,0.30,1.0);
}

.mask-in02.visible > * {
  clip-path: inset(0 0 0 0); /* 全体が見えるように */
}

/* 順に下からその場でフェードイン */
.fade-up-order > *,
.fade-up-order-default > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up-order > *.visible,
.fade-up-order-default > *.visible {
  opacity: 1;
  transform: translateY(0);
}

/* 順にその場でフェードイン */
.fade-in-order > * {
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-order > *.visible {
  opacity: 1;
}

/* アニメーション調整 */
.aiclub-outline-wrapper {
  display: flex;
}

/* 左からマスク用個別修正 */
.contact-heading-top-wrapper {
  margin: -10.2vw auto 0;
  text-align: center;
  width: 46.422vw;
}

.contact-heading-wrapper img {
  margin-top: 0.7vw;
}

.contact-ribbon {
  width: 46.422vw;
  margin-top: -.4vw;
  position: static;
  transform: none;
}

.aiclub-perk-ribbon-wrapper {
  margin: -14.5vw auto 3vw;
  text-align: center;
  width: 41.942vw;
}

.aiclub-perk-ribbon {
  position: static;
  transform: none;
}

.aiclub-admission-ribbon-wrapper {
  margin: -10.2vw auto 0;
  text-align: center;
  width: 46.422vw;
}

.aiclub-admission-ribbon {
  position: static;
  transform: none;
}

.aiclub-admission-heading-wrapper {
  margin-top: 1vw;
}

.reason-heading-wrapper-area {
  margin: -10.2vw auto 0;
  text-align: center;
  width: 38.16vw;
}

.reason-heading-wrapper img {
  position: static;
  transform: none;
}

.reason-list {
  margin-top: 10.2vw;
}

.generation-wrapper {
  margin-top: -13vw;
}


.parents-generation-wrapper {
  width: 100vw;
  height: 32vw;
}

.children-generation-wrapper {
  width: 100vw;
  height: 32vw;
}

/* swiper調整 */
.voice-list.swiper-wrapper,
.outline-image-list.swiper-wrapper {
  transition-timing-function: linear; /* アニメーションを一定の速度に */
}

/* アニメーションのために設けた親要素 */
@media screen and (max-width: 799px) {
  .aiclub-outline {
    width: 100%;
  }

  .area-results-heading-wrapper {
    margin-bottom: 85.608vw;
  }

  .area-results-contents-heading {
    margin: 0 0 0 7.053vw;
  }

  .generation-wrapper {
    flex-direction: column;
    margin-top: 0;
  }

  .parents-generation-wrapper {
    width: 100vw;
    height: 78.139vw;
  }

  .children-generation-wrapper {
    width: 100vw;
    height: 78.139vw;
  }

  .parents-generation {
    position: relative;
    top: -37.5vw;
  }


  /* 左からマスク用個別修正 */
  .contact-heading-top-wrapper {
    margin: -33vw auto 0;
    width: 97.428vw;
  }

  .contact-heading-wrapper img {
    margin-top: 3.5vw;
  }

  .contact-ribbon {
    width: 97.428vw;
    margin-top: 0;
  }

  .aiclub-perk-ribbon-wrapper {
    margin: -27vw auto 3.2vw;
    width: 83.48vw;
  }

  .aiclub-admission-ribbon-wrapper {
    margin: -32.5vw auto 3.2vw;
    width: 97.513vw;
  }

  .reason {
    padding-top: 24.4vw;
  }

  .reason-heading-wrapper-area {
    margin: -32vw auto 0;
    width: 84.857vw;
  }

  .reason-heading-wrapper {
    position: static;
  }

  .reason-list {
    margin-top: 6vw;
  }
}