/*------------------------------
mv
------------------------------*/
#top .mv-content {
  width: 85%;
  max-width: 1308px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8%;
}
@media (max-width: 767px) {
  #top .mv-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    padding: 0 30px;
    gap: 60px;
  }
  #top .mv-content .mv__left {
    padding: 0 18px;
  }
}

/*------------------------------
message
------------------------------*/
.message {
  padding: 144px 0 130px;
}
.message p {
  margin-top: 32px;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 767px) {
  .message {
    padding: 112px 0 88px;
  }
  .message p {
    font-size: 1.4rem;
    text-align: left;
  }
}

.message-title {
  font-size: 4.8rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
}
.message-title span {
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  font-family: "Bungee", sans-serif;
  color: #0080FE;
}
@media (max-width: 767px) {
  .message-title {
    font-size: min(3.6rem, 9.6vw);
  }
}

/*------------------------------
video
------------------------------*/
.video {
  padding-top: 144px;
}
@media (max-width: 767px) {
  .video {
    padding-top: 72px;
  }
}

.video-content {
  text-align: center;
  background: #fff;
  border-radius: 16px;
  padding: 56px 40px;
}
@media (max-width: 767px) {
  .video-content {
    padding: 24px 24px 32px;
  }
}

.video-title {
  font-size: 4rem;
  font-weight: 900;
}
.video-title span {
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  font-family: "Bungee", sans-serif;
  color: #0080FE;
}
.video-title span img {
  width: 32px;
  margin-right: 5px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  .video-title {
    font-size: 3.2rem;
  }
  .video-title span {
    font-size: 2rem;
  }
  .video-title span img {
    width: 24px;
  }
}

.video-iframe {
  max-width: 992px;
  margin: 48px auto;
}
@media (max-width: 767px) {
  .video-iframe {
    margin: 32px auto;
  }
}
.video-iframe iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 992/558;
  border-radius: 16px;
}

.video-btn .c_btn::after {
  -webkit-mask-image: url(../images/external.png);
          mask-image: url(../images/external.png);
  right: 20px;
  width: 22px;
}

/*------------------------------
apply
------------------------------*/
.apply {
  padding: 144px 0;
}
@media (max-width: 767px) {
  .apply {
    padding: 85px 0;
  }
}

.apply-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.apply-block:nth-child(n+2) {
  margin-top: 9.3%;
}
.apply-block:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .apply-block {
    display: block;
  }
  .apply-block:nth-child(n+2) {
    margin-top: 60px;
  }
}

.apply-block_content {
  width: 46.37%;
}
.apply-block_content p {
  margin-top: 24px;
  font-size: 1.6rem;
  font-weight: 900;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .apply-block_content {
    width: 100%;
  }
  .apply-block_content p {
    word-break: break-all;
    font-size: 1.4rem;
  }
}

.apply-btn {
  margin-top: 24px;
}
.apply-btn span {
  display: block;
  margin-top: 8px;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1.8;
  color: #666;
}

.apply-btn__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media (max-width: 767px) {
  .apply-btn__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.apply-btn__flex .c_btn {
  padding-right: 12px !important;
}
@media (max-width: 767px) {
  .apply-btn__flex .c_btn {
    padding-right: 0 !important;
  }
}
.apply-btn__flex .c_btn:nth-child(1) {
  max-width: 224px;
}
@media (max-width: 767px) {
  .apply-btn__flex .c_btn:nth-child(1) {
    max-width: none;
  }
}
.apply-btn__flex .c_btn-jp {
  font-weight: bold;
  letter-spacing: 0;
  min-height: 70px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
}

.apply-block_img {
  width: 46.37%;
}
@media (max-width: 767px) {
  .apply-block_img {
    width: 100%;
    margin-top: 24px;
    border-radius: 48px;
    overflow: hidden;
  }
}

/*------------------------------
member
------------------------------*/
@media (max-width: 767px) {
  .member {
    padding-bottom: 40px;
  }
}

.member-container {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .member-container {
    margin-top: 36px;
  }
}

.member-block:nth-child(2) {
  margin-top: 56px;
}
@media (max-width: 767px) {
  .member-block:nth-child(2) {
    margin-top: 28px;
  }
}

.member-block_name {
  display: inline-block;
  text-align: center;
  border-radius: 8px;
  font-size: 4rem;
  font-weight: 900;
  line-height: 2;
  margin-bottom: 32px;
  position: relative;
  z-index: 10;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.4em;
}
.member-block_name .en {
  font-family: "Bungee", sans-serif;
}
@media (max-width: 767px) {
  .member-block_name {
    line-height: 2.1;
    padding: 0 0.7em;
    font-size: 20px;
    margin-bottom: 16px;
  }
}

.member-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 56px;
  padding-bottom: 173px;
}
@media (max-width: 767px) {
  .member-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    padding-bottom: 30px;
  }
}
.member-flex h3 {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .member-flex h3 {
    margin-bottom: 16px;
    font-size: 23px;
  }
}
.member-flex .img {
  max-width: 584px;
}
.member-flex .img img {
  border-radius: 8px;
}
@media (max-width: 767px) {
  .member-flex .img {
    max-width: none;
  }
}
.member-flex .content {
  width: calc(100% - 584px - 56px);
}
@media (max-width: 767px) {
  .member-flex .content {
    width: 100%;
  }
}
.member-flex .content p {
  font-size: 16px;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 767px) {
  .member-flex .content p {
    font-size: 14px;
  }
}

.member_group {
  background: #0080FE;
}

.member_individual {
  background: #CFFB2B;
}

.member-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.member-list li {
  width: calc(33.3% - 16px);
  background: #fff;
  border-radius: 16px;
  padding: 24px;
}
@media (min-width: 768px) {
  .member-list li {
    margin-bottom: 24px;
  }
  .member-list li:not(:nth-child(3n)) {
    margin-right: 24px;
  }
}
@media (max-width: 767px) {
  .member-list {
    display: block;
  }
  .member-list li {
    width: 100%;
  }
  .member-list li:nth-child(n+2) {
    margin-top: 24px;
  }
  .member-list li img {
    aspect-ratio: 279/200;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 16px;
  }
}

.member-item_content {
  margin-top: 16px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
}
.member-item_content h3 {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.member-item_content p {
  padding: 8px 0;
}
.member-item_info {
  margin-top: 8px;
}
.member-item_info img {
  width: 16px;
  margin-right: 6px;
  vertical-align: sub;
}

/*------------------------------
service
------------------------------*/
.service {
  padding: 260px 0 88px;
  position: relative;
  background: #0080FE;
}
.service::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  aspect-ratio: 1512/204;
  background: #eee;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  max-height: 204px;
}
.service::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  width: 100%;
  aspect-ratio: 1512/50;
  background: url(../images/img_wave-blue.png) no-repeat center center/cover;
}
@media screen and (max-width: 999px) {
  .service {
    padding: 200px 0 88px;
  }
}
@media (max-width: 767px) {
  .service {
    padding: 128px 0 72px;
  }
  .service::before {
    aspect-ratio: 375/65;
  }
  .service::after {
    background: url(../images/img_wave-blue_sp.png) no-repeat center center/cover;
    aspect-ratio: 750/100;
  }
}

.service-block:nth-child(2) {
  margin-top: 112px;
}
@media (max-width: 767px) {
  .service-block:nth-child(2) {
    margin-top: 45px;
  }
}

.service-title {
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 45px;
  line-height: 1.5;
}
.service-title span {
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  font-family: "Bungee", sans-serif;
  color: #CFFB2B;
}
@media (max-width: 767px) {
  .service-title {
    font-size: 3.2rem;
    margin-bottom: 30px;
  }
  .service-title span {
    font-size: 2rem;
  }
}

.service-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.service-list li {
  width: calc(50% - 12px);
  background: #fff;
  border-radius: 16px;
  padding: min(32px, 2.8169014085vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  height: 211px;
  padding-bottom: 0;
}
.service-list li:nth-child(2n) {
  margin-left: 24px;
}
.service-list li:nth-child(n+3) {
  margin-top: 38px;
}
@media screen and (max-width: 999px) {
  .service-list li {
    width: 100%;
    height: 320px;
  }
  .service-list li:nth-child(2n) {
    margin-left: 0;
    margin-top: 25px;
  }
}
@media (max-width: 767px) {
  .service-list {
    -ms-flex-wrap: unset;
        flex-wrap: unset;
    padding-top: 20px;
    width: calc(100% + 24px);
    overflow: scroll;
  }
  .service-list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding: 32px 24px;
    width: 263px;
    height: 400px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .service-list li:nth-child(n+2) {
    margin-left: 16px;
    margin-top: 0;
  }
}

.service-list2 .service-item_content {
  width: 100%;
}

.service-item_num {
  position: absolute;
  top: 0;
  left: min(32px, 2.8169014085vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.6;
  font-family: "Bungee", sans-serif;
  color: #CFFB2B;
  -webkit-text-stroke: 2px #0080FE;
  text-stroke: 2px #0080FE;
}
@media (max-width: 767px) {
  .service-item_num {
    letter-spacing: 0.1em;
    left: 24px;
    letter-spacing: 0.1em;
  }
}

.service-item_content {
  width: 58%;
}
.service-item_content h3 {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.service-item_content p {
  margin-top: 8px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .service-item_content {
    width: 100%;
    margin-top: 16px;
  }
  .service-item_content h3 {
    font-size: 1.6rem;
  }
  .service-item_content p {
    font-size: 1.2rem;
  }
}

.service-item_img {
  width: 40%;
  margin-top: 2%;
}
@media (max-width: 767px) {
  .service-item_img {
    width: 100%;
  }
}

/*------------------------------
entry
------------------------------*/
.entry {
  background: #fff;
  margin-top: 56px;
  padding: 51px;
  text-align: center;
  border-radius: 16px;
}
@media (max-width: 767px) {
  .entry {
    padding: 60px 24px;
    border-radius: 16px;
    margin-top: 48px;
  }
}

.entry-text {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.entry-text strong {
  display: block;
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  .entry-text {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .entry-text strong {
    font-size: 2.8rem;
  }
}

.entry-btn {
  margin-top: 16px;
}
.entry-btn a {
  background: #0080FE;
}
@media (max-width: 767px) {
  .entry-btn a {
    width: 265px;
  }
}

/*------------------------------
sns
------------------------------*/
.sns {
  padding-top: 138px;
}
@media (max-width: 767px) {
  .sns {
    padding-top: 153px;
  }
}

.sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sns-list li {
  width: 49%;
}
.sns-list li h3 {
  font-size: 3.2rem;
  font-weight: 400;
  font-family: "Bungee", sans-serif;
  text-align: center;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .sns-list {
    display: block;
  }
  .sns-list li {
    width: 100%;
  }
  .sns-list li:nth-child(2) {
    margin-top: 32px;
  }
  .sns-list li h3 {
    font-size: 2.4rem;
  }
}

.iframeWrap {
  width: 100%;
  text-align: center;
}
.iframeWrap iframe {
  width: 100%;
  max-width: 500px;
  height: auto;
  aspect-ratio: 540/600;
}

#sb_instagram .sb_instagram_header,
.sb_instagram_header {
  display: none;
}

/*------------------------------
support
------------------------------*/
.support {
  padding: 144px 0 207px;
}
@media (max-width: 767px) {
  .support {
    padding: 64px 0 135px;
  }
}

.support-list {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .support-list li:nth-child(n+2) {
    margin-left: 24px;
  }
}
@media (max-width: 767px) {
  .support-list {
    display: block;
  }
  .support-list li:nth-child(n+2) {
    margin-top: 24px;
  }
}