@charset "UTF-8";
/* 
Theme Name: Space
*/

html{
  margin-top: 0 !important;
  font-size: 100%;
  scroll-behavior: smooth;
}

body{
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
}

a{
  text-decoration: none;
  color: #333;
}

img{
  max-width: 100%;
  vertical-align: bottom;
  object-fit: cover;
}

li{
  list-style: none;
}

 .pc{
    display: block;
  }

  .sp{
    display: none;
  }

/*-------------------------------------------
HEADER
-------------------------------------------*/

.header{
  max-width: 1485px;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 100;
}

.header__inner{
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 9px;
  padding-bottom: 9px;
  padding-left: 20px;
  padding-right: 60px;
}

.header__logo a img{
  width: 193.5px;
}

.header__nav ul{
  display: flex;
  align-items: center;
  gap: 20px;
}

.header__nav ul li a{
  color: #092237;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.header__nav ul li:last-of-type{
  background: linear-gradient(to right, #15A8CB, #4977BC);
  border-radius: 50px;
}

.header__nav ul li:last-of-type a{
  color: #fff;
  line-height: 2.24;
  padding: 0 34px;
  text-align: center;
}

.openbtn{
  display: none;
}

#g-nav{
  display: none;
}

/*-------------------------------------------
MV
-------------------------------------------*/

.container{
  margin: 0 auto;
  max-width: 1485px;
  background-image: url(../space/img/container-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.mv{
  margin: 0 auto;
  max-width: 1485px;
  height: 780px;
  overflow: hidden;
  position: relative;
}

.mv__img{
  position: absolute;
  top: 0;
  right: 0;
  width: 82.3%;
  max-width: 1222.5px;
  z-index: 2;
}

.mv__logo{
  padding-top:47.25px;
  padding-bottom: 31.5px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  width: 53.9%;
  max-width: 656.25px;
  box-shadow: 22.5px 22.5px 0px rgba(9, 34, 55, 0.6);
  position: absolute;
  bottom: 37.5px;
  right: 0;
  z-index: 3;
}

.mv__logo__img{
  margin: 0 auto;
  width: 85.7%;
}

.mv__rectangle{
  position: absolute;
  top: 0;
  left: 0;
  width: 19.5%;
  height: 600px;
  background-color: #092237;
}

.mv__message{
  background-color: rgba(73, 119, 188, 0.9);
  position: absolute;
  top: 113.25px;
  left: 67.5px;
  padding-top: 35.25px;
  padding-bottom: 38.25px;
  padding-left: 48.75px;
  padding-right: 48.75px;
  box-shadow: 22.5px 22.5px 0px rgba(9, 34, 55, 0.6);
  z-index: 3;
}

.mv__message__title{
  margin: 0 auto;
  width: fit-content;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: .1em;
}

.mv__message__description{
  margin-top: 12.75px;
  color: #fff;
  font-size: 2.34375rem;
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: .1em;
}

.mv__message__triangle{
  position: absolute;
  top: 0;
  left: 0;
  width: 112.5px;
  height: 112.5px;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background-color: #15A8CB;
}

.introduction{
  margin-top: 42px;
  color: #4977BC;
  text-align: center;
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: .1em;
}

/*-------------------------------------------
SERVICE
-------------------------------------------*/

.service{
  margin: 0 auto;
  margin-top: 42px;
  max-width: 1485px;
  padding-top: 68.25px;
  padding-bottom: 68.25px;
  background: url(../space/img/service-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  position: relative;
}

.service__alphabet{
  position: absolute;
  bottom: 0;
  right: 45px;
  width: 62%;
  max-width: 1196px;
}

.service__inner{
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  justify-content: center;
  gap: 52px;
}

.service__img{
  width: 33%;
  position: relative;
  z-index: 2;
}

.service__text{
  width: 51.25%;
}

.service__text__title{
  font-size: 2.8125rem;
  font-weight: 900;
  color: #fff;
  text-shadow: 5px 5px 35px #092237;
  line-height: 1.75;
  letter-spacing: .1em;
}

.service__text__description{
  margin-top: 2.25px;
  text-align: center;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 2.66;
}

.service__text__list{
  margin-top: 2px;
}

.service__text__list li{
  color: #fff;
  font-size: 1.546875rem;
  font-weight: bold;
  line-height: 1.96;
  letter-spacing: .1em;
}


/*-------------------------------------------
REASON
-------------------------------------------*/

.reason{
  margin: 0 auto;
  max-width: 1485px;
  background-color: #092237;
  padding-top: 103.5px;
  padding-bottom: 102.25px;
  padding-left: 20px;
  padding-right: 20px;
}

.reason__inner{
  margin: 0 auto;
  max-width: 1440px;
}

.reason__title{
  text-align: center;
  color: #fff;
  font-size: 2.34375rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.reason__text{
  margin-top: 51px;
  text-align: center;
  color: #fff;
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .1em;
}

/*-------------------------------------------
FEATURE
-------------------------------------------*/

.feature1{
  margin: 0 auto;
  max-width: 1485px;
  position: relative;
  overflow: hidden;
}

.feature1__inner{
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  justify-content: center;
  padding: 60px 20px;
}

.feature1__img{
  width: 44%;
  position: relative;
  z-index: 2;
}

.feature1__text{
  width: 44%;
  padding-top: 84px;
  padding-bottom: 20px;
  position: relative;
  z-index: 2;
}

.feature1__number{
  max-width: 430px;
  position: absolute;
  top: -40px;
  left: 40px;
}

.feature1__title{
  text-align: center;
  font-size: 2.34375rem;
  color: #fff;
  letter-spacing: .1em;
  position: relative;
}

.feature1__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #fff;
  width: 75px;
  height: 2.25px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}

.feature1__description{
  text-align: center;
  margin-top: 68px;
  font-size: 1.3125rem;
  line-height: 2;
  letter-spacing: .1em;
  color: #fff;
}

.feature1__rectangle{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  max-width: 1720px;
}

.feature2{
  margin: 0 auto;
  max-width: 1485px;
  position: relative;
  overflow: hidden;
}

.feature2__inner{
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  justify-content: center;
  padding: 60px 20px;
}

.feature2__img{
  width: 44%;
  position: relative;
  z-index: 2;
}

.feature2__text{
  width: 44%;
  padding-top: 84px;
  padding-bottom: 20px;
  position: relative;
  z-index: 2;
}

.feature2__number{
  max-width: 600px;
  position: absolute;
  top: -30px;
  left: 40px;
}

.feature2__title{
  text-align: center;
  font-size: 2.34375rem;
  color: #fff;
  line-height: 1;
  letter-spacing: .1em;
  position: relative;
}

.feature2__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #fff;
  width: 75px;
  height: 2.25px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}

.feature2__description{
  text-align: center;
  margin-top: 68px;
  font-size: 1.3125rem;
  line-height: 2;
  letter-spacing: .1em;
  color: #fff;
}

.feature2__rectangle{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  max-width: 1720px;
}

.feature3{
  margin: 0 auto;
  max-width: 1485px;
  position: relative;
  overflow: hidden;
}

.feature3__inner{
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  justify-content: center;
  padding: 60px 20px;
}

.feature3__img{
  width: 44%;
  position: relative;
  z-index: 2;
}

.feature3__text{
  width: 44%;
  padding-top: 84px;
  padding-bottom: 20px;
  position: relative;
  z-index: 2;
}

.feature3__number{
  max-width: 600px;
  position: absolute;
  top: -30px;
  left: 40px;
}

.feature3__title{
  text-align: center;
  font-size: 2.34375rem;
  color: #fff;
  line-height: 1;
  letter-spacing: .1em;
  position: relative;
}

.feature3__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #fff;
  width: 75px;
  height: 2.25px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}

.feature3__description{
  text-align: center;
  margin-top: 68px;
  font-size: 1.3125rem;
  line-height: 2;
  letter-spacing: .1em;
  color: #fff;
}

.feature3__rectangle{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
  max-width: 1720px;
}

/*-------------------------------------------
WAY
-------------------------------------------*/

.way{
  margin: 0 auto;
  margin-top: 112.5px;
  max-width: 1485px;
  padding: 112.5px 15px;
  box-shadow: 0px 3.75px 26.25px rgba(0, 0, 0, 0.25);
  background-color: rgba(255, 255, 255, 0.35);
}

.way__title{
  text-align: center;
  letter-spacing: .1em;
  font-size: 2.34375rem;
  font-weight: 700;
  color: #092237;
  line-height: 1;
  position: relative;
}

.way__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
  background-color: #4977BC;
  width: 75px;
  height: 2.25px;
}

.way__list{
  margin: 0 auto;
  margin-top: 87px;
  max-width: 1440px;
  /* width: 80%; */
  display: flex;
  justify-content: space-between;
}

.way__list li{
  width: 25%;
  text-align: center;
}

.way__list li.way__arrow{
  width: 5%;
  max-width: 56px;
  display: flex;
  align-items: center;
}

.way__list__img{
  margin: 0 auto;
  max-width: 150px;
}

.way__list__title{
  margin-top: 35px;
  color: #4977BC;
  font-size: 1.78125rem;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1.47;
}

.way__list__text{
  margin-top: 19.5px;
  color: #092237;
  font-size: 1.171875rem;
  font-weight: 500;
  letter-spacing: .1em;
}


/*-------------------------------------------
FAQ
-------------------------------------------*/

.faq{
  margin: 0 auto;
  max-width: 1485px;
  padding-top: 114.75px;
  padding-bottom: 116.25px;
  padding-left: 20px;
  padding-right: 20px;
}

.faq__title{
  text-align: center;
  letter-spacing: .1em;
  font-size: 2.34375rem;
  font-weight: 700;
  color: #092237;
  line-height: 1;
  position: relative;
}

.faq__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
  background-color: #4977BC;
  width: 75px;
  height: 2.25px;
}

.faq__list{
  margin: 0 auto;
  margin-top: 60px;
  max-width: 1042px;
  width: 72.4%;
}

.faq__list li{
  margin-top: 34.5px;
}

.faq__list li:first-of-type{
  margin-top: 0;
}

.faq__list li p{
  margin-top: 22.5px;
  display: flex;
  gap: 22.5px;
}

.faq__list li p:first-of-type{
  margin-top: 0;
}

.faq__list li p.question{
  font-size: 1.64rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.faq__list li p.question span{
  background-color: #4977BC;
  color: #fff;
  text-transform: uppercase;
  padding: 12px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.875rem;
  font-weight: 700;
}

.faq__list li p.answer{
  font-size: 1.40625rem;
  font-weight: 500;
  letter-spacing: .1em;
}

.faq__list li p.answer span{
  background-color: #092237;
  color: #fff;
  text-transform: uppercase;
  padding: 12px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.875rem;
  font-weight: 700;
}

/*-------------------------------------------
CONTACT
-------------------------------------------*/

.contact{
  margin: 0 auto;
  max-width: 1485px;
  padding-top: 108.75px;
  padding-bottom: 227.25px;
  background-image: url(../space/img/contact-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-color: #4977BC;
  position: relative;
}

.contact__title{
  text-align: center;
  letter-spacing: .1em;
  font-size: 2.34375rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  position: relative;
}

.contact__alphabet{
  position: absolute;
  bottom: 0;
  right: 54px;
  width: 73%;
  max-width: 1196px;
}

.contact__title::after{
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
  background-color: #fff;
  width: 75px;
  height: 2.25px;
}
.contact__text{
  margin-top: 80px;
  color: #fff;
  text-align: center;
  font-size: 1.40625rem;
  font-weight: 500;
  line-height: 1.666;
  letter-spacing: .1em;
}

.contact__box{
  margin: 0 auto;
  margin-top: 60px;
  background-color: #fff;
  max-width: 1404px;
  width: 73.125%;
  box-shadow: 5px 5px 35px rgba(0, 0, 0, 0.25);
  padding-top: 62px;
  padding-bottom: 75px;
  padding-left: 75px;
  padding-right: 75px;
}

.wpcf7-form p {
  font-size: 1.40625rem;
  font-weight: 700;
  color: #35444C;
  letter-spacing: .1em;
}

.wpcf7-form p .asterisk{
  color: #FF0004;
}

.wpcf7-form p > label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 59.25px;
}

.wpcf7-form p > label span.title{
  display: block;
  width: 31%;
}

.wpcf7-form p > label span[data-name="your-name"],
.wpcf7-form p > label span[data-name="your-company"],
.wpcf7-form p > label span[data-name="your-email"],
.wpcf7-form p > label span[data-name="your-number"],
.wpcf7-form p > label span[data-name="your-message"]{
  display: block;
  width: 69%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  display: block;
  width: 100%;
  padding: 12px;
  border: 2px solid #D9D9D9;
  box-sizing: border-box;
}

.wpcf7-form p span[data-name="acceptance-39"]{
  margin-top: -10px;
  margin-bottom: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  color: #35444C;
}

.wpcf7-submit{
  margin-top: 54px !important;
  position: relative;
  z-index: 10;
}

.wpcf7-form .wpcf7-acceptance a{
  color: #4977BC;
  border-bottom: 1px solid #4977BC;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 30px;
  height: 30px;
  border: 1.73px solid #D9D9D9;
  margin-right: 15px;
  position: relative;
  cursor: pointer;
  transform: translateY(5px);
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 2px;
  width: 12px;
  height: 18px;
  border-right: 4px solid #4B4B4B;
  border-bottom: 4px solid #4B4B4B;
  transform: rotate(45deg);
}

.wpcf7-submit{
  margin: 0 auto;
  display: block;
  background-color: #4977BC;
  color: #fff;
  width: 25%;
  max-width: 355px;
  font-size: 1.40625rem;
  font-weight: 500;
  line-height: 1;
  padding: 18px;
  box-shadow: 0px 3.4px 5.18px rgba(0, 0, 0, 0.25);
}

/*-------------------------------------------
FOOTER
-------------------------------------------*/

.footer{
  margin: 0 auto;
  max-width: 1485px;
  background-color: #092237;
  padding-top: 60px;
  padding-bottom: 258px;
  padding-left: 20px;
  padding-right: 20px;
}

.footer__list{
  display: flex;
  justify-content: center;
  gap: 20px;
}

.footer__list li{
  position: relative;
}

.footer__list li::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 5px;
  left: -10px;
  width: 2px;
  height: 20px;
  background-color: #fff;
}

.footer__list li:last-of-type::after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 5px;
  right: -10px;
  width: 2px;
  height: 20px;
  background-color: #fff;
}

.footer__list li a{
  color: #fff;
  font-size: 1.171875rem;
  font-weight: 500;
  font-family: "M PLUS 1p", sans-serif;
  line-height: 1;
  letter-spacing: .1em;
  border-bottom: 1px solid #fff;
}

.footer__list li:nth-of-type(2) a{
  border-bottom: none;
}

.footer__copyright{
  margin-top: 5px;
  color: #fff;
  font-size: 1.171875rem;
  font-weight: 500;
  font-family: "M PLUS 1p", sans-serif;
  letter-spacing: .1em;
  text-align: center;
}

/*-------------------------------------------
TB
-------------------------------------------*/
@media screen and (max-width: 1300px) {

  /*-------------------------------------------
  HEADER
  -------------------------------------------*/

  .header__inner{
    padding-left: 15px;
    padding-right: 50px;
  }

  /*-------------------------------------------
  MV
  -------------------------------------------*/

  .mv{
    height: 670px;
  }

  .mv__logo{
    padding-top: 31.2px;
    padding-bottom: 30.55px;
    width: 53.9%;
    max-width: 656.25px;
    box-shadow: 19.5px 19.5px 0px rgba(9, 34, 55, 0.6);
    bottom: 57px;
  }

  .mv__rectangle{
    height: 500px;
  }

  .mv__message{
    top: 98.15px;
    left: 58.5px;
    padding-top: 30.55px;
    padding-bottom: 33.15px;
    padding-left: 43px;
    padding-right: 43px;
    box-shadow: 19.5px 19.5px 0px rgba(9, 34, 55, 0.6);
  }

  .mv__message__title{
    font-size: 1.8125rem;
  }

  .mv__message__description{
    margin-top: 11px;
    font-size: 2rem;
  }

  .mv__message__triangle{
    width: 97.5px;
    height: 97.5px;
  }

  .introduction{
    margin-top: 37px;
    font-size: 1.8125rem;
  }

  /*-------------------------------------------
  SERVICE
  -------------------------------------------*/

  .service{
    margin-top: 37px;
    padding-top: 59.15px;
    padding-bottom: 59.15px;
  }

  .service__alphabet{
    right: 39px;
  }

  .service__inner{
    gap: 50px;
  }

  .service__text__title{
    font-size: 2.4375rem;
  }

  .service__text__description{
    margin-top: 1.95px;
    font-size: 1.8125rem;
  }

  .service__text__list{
    margin-top: 2px;
  }

  .service__text__list li{
    font-size: 1.34rem;
  }

  /*-------------------------------------------
  REASON
  -------------------------------------------*/

  .reason{
    padding-top: 89.7px;
    padding-bottom: 89.05px;
  }

  .reason__title{
    font-size: 2rem;
  }

  .reason__text{
    margin-top: 44.2px;
    font-size: 1.125rem;
  }

  /*-------------------------------------------
  FEATURE
  -------------------------------------------*/

  .feature1__inner{
    padding: 52px 20px;
  }

  .feature1__number{
    max-width: 350px;
    position: absolute;
    top: -30px;
    left: 60px;
  }

  .feature1__text{
    padding-top: 74px;
  }

  .feature1__title{
    font-size: 2rem;
  }

  .feature1__title::after{
    width: 65px;
    height: 1.95px;
    bottom: -12.35px;
  }

  .feature1__description{
    margin-top: 46.8px;
    font-size: 1.125rem;
  }

  .feature2__inner{
    padding: 52px 20px;
  }

  .feature2__text{
    padding-top: 74px;
  }

  .feature2__title{
    font-size: 2rem;
  }

  .feature2__title::after{
    width: 65px;
    height: 1.95px;
    bottom: -12.35px;
  }

  .feature2__description{
    margin-top: 46.8px;
    font-size: 1.125rem;
  }

  .feature3__inner{
    padding: 52px 20px;
  }

  .feature3__text{
    padding-top: 74px;
  }

  .feature3__title{
    font-size: 2rem;
  }

  .feature3__title::after{
    width: 65px;
    height: 1.95px;
    bottom: -12.35px;
  }

  .feature3__description{
    margin-top: 46.8px;
    font-size: 1.125rem;
  }

  /*-------------------------------------------
  WAY
  -------------------------------------------*/

  .way{
    margin-top: 97.5px;
    padding: 97.5px 15px;
  }

  .way__title{
    font-size: 2rem;
  }

  .way__title::after{
    bottom: -12.35px;
    width: 65px;
    height: 1.95px;
  }

  .way__list{
    margin-top: 64.35px;
  }

  .way__list li.way__arrow{
    max-width: 48.75px;
  }

  .way__list__img{
    max-width: 132.6px;
  }

  .way__list__title{
    margin-top: 30.55px;
    font-size: 1.54375rem;
  }

  .way__list__text{
    margin-top: 16.9px;
    font-size: 1rem;
  }


  /*-------------------------------------------
  FAQ
  -------------------------------------------*/

  .faq{
    padding-top: 99.45px;
    padding-bottom: 107.25px;
  }

  .faq__title{
    font-size: 2rem;
  }

  .faq__title::after{
    bottom: -12.35px;
    width: 65px;
    height: 1.95px;
  }

  .faq__list{
    margin-top: 52px;
  }

  .faq__list li{
    margin-top: 30px;
  }

  .faq__list li p{
    margin-top: 19.5px;
    gap: 19.5px;
  }

  .faq__list li p.question{
    font-size: 1.421875rem;
  }

  .faq__list li p.question span{
    padding: 10px;
    width: 52px;
    height: 52px;
    font-size: 1.625rem;
  }

  .faq__list li p.answer{
    font-size: 1.40625rem;
  }

  .faq__list li p.answer span{
    padding: 10px;
    width: 52px;
    height: 52px;
    font-size: 1.21875rem;
  }

  /*-------------------------------------------
  CONTACT
  -------------------------------------------*/

  .contact{
    padding-top: 94.25px;
    padding-bottom: 200px;
  }

  .contact__title{
    font-size: 2rem;
  }

  .contact__title::after{
    bottom: -12.35px;
    width: 65px;
    height: 1.95px;
  }

  .contact__text{
    margin-top: 52px;
    font-size: 1.21875rem;
  }

  .contact__box{
    margin-top: 52px;
    padding-top: 60px;
    padding-bottom: 59.15px;
    padding-left: 65px;
    padding-right: 65px;
  }

  .wpcf7-form p {
    font-size: 1.21875rem;
  }

  .wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
    width: 26px;
    height: 26px;
    margin-right: 13px;
  }

  .wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
    left: 6px;
    top: 1px;
  }

  .wpcf7-submit{
    font-size: 1.21875rem;
    padding: 16.25px;
  }

  /*-------------------------------------------
  FOOTER
  -------------------------------------------*/

  .footer{
    padding-top: 52.65px;
    padding-bottom: 224.25px;
  }

  .footer__list li a{
    font-size: 1rem;
  }

  .footer__copyright{
    font-size: 1rem;
  }
  
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 1000px) {

  .pc{
    display: none;
  }

  .sp{
    display: block;
  }

  /*-------------------------------------------
  HEADER
  -------------------------------------------*/

  .header{
    background-color: #fff;
    top: 0;
    left: 0;
    transform: none;
  }

  .header__inner{
    padding-top: 17px;
    padding-bottom: 16px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .header__logo a{
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header__logo a img{
    width: 125px;
  }

  .header__nav{
    display: none;
  }

  #g-nav{ 
    display: block;
    position:fixed;
    z-index: 999;
	  top:-120%;
    left:0;
	  width:100%;
    height: 100vh;
	  background:#fff;
	  transition: all 0.6s;
  }

  #g-nav.panelactive{
    top: 0;
  }

  #g-nav ul {
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  #g-nav li{
    text-align: center; 
  }

  #g-nav li a{
    white-space: nowrap;
    color: #092237;
    padding: 20px;
    display: block;
    letter-spacing: 0.1em;
    font-weight: bold;
  }

  .openbtn{
    display: block;
    position:fixed;
    z-index: 9999;
    top: 15px;
    right: 25px;
    cursor: pointer;
    width: 33px;
    height: 29px;
  }
	
  .openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    height: 5px;
    background-color: #4977BC;
    width: 100%;
  }

  .openbtn span:nth-of-type(1) {
	  top: 0px;	
  }

  .openbtn span:nth-of-type(2) {
    top: 12px;
  }

  .openbtn span:nth-of-type(3) {
	  top: 24px;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 10px;
    left: 2px;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
  }

  .openbtn.active span:nth-of-type(2) {
	  opacity: 0;
  }

  .openbtn.active span:nth-of-type(3){
    top: 22px;
    left: 2px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
  }

  /*-------------------------------------------
  MV
  -------------------------------------------*/

  .container{
    background-image: url(../space/img/container-bg-sp.png);
  }

  .mv{
    height: 479px;
  }

  .mv__img{
    width: 82%;
    max-width: 322px;
  }

  .mv__logo{
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: #fff;
    width: 71.875%;
    max-width: 230px;
    box-shadow: 7.85px 7.85px 0px rgba(9, 34, 55, 0.6);
    bottom: 52px;
  }

  .mv__logo__img{
    width: 77.39%;
  }

  .mv__rectangle{
    width: 18%;
    height: 330px;
    max-width: 72px;
  }

  .mv__message{
    top: 106px;
    left: 25px;
    padding-top: 22px;
    padding-bottom: 23px;
    padding-left: 25px;
    padding-right: 21px;
    box-shadow: 8.16px 8.16px 0px rgba(9, 34, 55, 0.6);
  }

  .mv__message__title{
    border-bottom: 0.82px solid #fff;
    font-size: 1.0625rem;
    line-height: 1.92;
  }

  .mv__message__description{
    margin-top: 11px;
    font-size: 0.9375rem;
    line-height: 2;
  }

  .mv__message__triangle{
    width: 40.95px;
    height: 40.95px;
  }

  .introduction{
    margin-top: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }

  /*-------------------------------------------
  SERVICE
  -------------------------------------------*/

  .service{
    margin-top: 20px;
    padding-top: 40px;
    padding-bottom: 40px;
    background: url(../space/img/service-bg-sp.png);
  }

  .service__alphabet{
    display: none;
  }

  .service__inner{
    display: block;
  }

  .service__img{
    margin: 0 auto;
    width: 100%;
    max-width: 600px;
  }

  .service__text{
    display: none;
  }

  .service__text-sp1{
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 40px;
    position: relative;
  }

  .service__text-sp1__title{
    margin: 0 auto;
    width: fit-content;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 2.5;
    letter-spacing: .1em;
    text-shadow: 2.46px 2.46px 17.21px #092237;
  }

  .service__text-sp1__alphabet{
    width: 73.58%;
    max-width: 287px;
    position: absolute;
    bottom: 0;
    right: 24px;
  }

  .service__text-sp2{
    margin-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .service__text-sp2__title{
    font-size: 1.125rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 3.277;
    letter-spacing: .1em;
    text-shadow: 0px 0px 14.75px #092237;
  }

  .service__text-sp2__list{
    margin: 0 auto;
    width: fit-content;
  }

  .service__text-sp2__list li{
    color: #fff;
    font-size: 0.8125rem;
    font-weight: bold;
    line-height: 2.46;
    letter-spacing: .1em;
  }

  /*-------------------------------------------
  REASON
  -------------------------------------------*/

  .reason{
    padding-top: 39px;
    padding-bottom: 39px;
  }

  .reason__title{
    font-size: 1.25rem;
    line-height: 1.7;
  }

  .reason__text{
    margin-top: 21px;
    font-size: 0.8125rem;
    line-height: 2.3;
  }

  /*-------------------------------------------
  FEATURE
  -------------------------------------------*/

  .feature1__inner{
    flex-direction: column;
    align-items: center;
    padding-top: 42px;
    padding-bottom: 65px;
    padding-left: 0px;
    padding-right: 0px;
  }

  .feature1__img{
    width: 85.89%;
  }

  .feature1__text{
    width: 85.89%;
    padding-top: 38px;
    padding-bottom: 0px;
  }

  .feature1__number{
    width: 100%;
    max-width: 170px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .feature1__title{
    font-size: 1.125rem;
  }

  .feature1__title::after{
    width: 41.6px;
    height: 1.25px;
    bottom: -7.2px;
  }

  .feature1__description{
    margin-top: 30px;
    font-size: 0.8125rem;
    line-height: 1.79;
  }

  .feature2__inner{
    flex-direction: column-reverse;
    align-items: center;
    padding-top: 42px;
    padding-bottom: 65px;
    padding-left: 0px;
    padding-right: 0px;
  }

  .feature2__img{
    width: 85.89%;
  }

  .feature2__text{
    width: 85.89%;
    padding-top: 38px;
    padding-bottom: 0px;
  }

  .feature2__number{
    width: 100%;
    max-width: 220px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .feature2__title{
    font-size: 1.125rem;
  }

  .feature2__title::after{
    width: 41.6px;
    height: 1.25px;
    bottom: -7.2px;
  }

  .feature2__description{
    margin-top: 30px;
    font-size: 0.8125rem;
    line-height: 1.79;
  }

  .feature3__inner{
    flex-direction: column;
    align-items: center;
    padding-top: 42px;
    padding-bottom: 38.85px;
    padding-left: 0px;
    padding-right: 0px;
  }

  .feature3__img{
    width: 85.89%;
  }

  .feature3__text{
    width: 85.89%;
    padding-top: 38px;
    padding-bottom: 0px;
  }

  .feature3__number{
    width: 100%;
    max-width: 220px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .feature3__title{
    font-size: 1.125rem;
  }

  .feature3__title::after{
    width: 41.6px;
    height: 1.25px;
    bottom: -7.2px;
  }

  .feature3__description{
    margin-top: 30px;
    font-size: 0.8125rem;
    line-height: 1.79;
  }

  /*-------------------------------------------
  WAY
  -------------------------------------------*/

  .way{
    margin-top: 40px;
    padding: 40px 15px;
    box-shadow: 0px 5px 35px rgba(0, 0, 0, 0.25);
  }

  .way__title{
    font-size: 1.125rem;
    line-height: 1.294;
  }

  .way__title::after{
    bottom: -7.2px;
    width: 41.6px;
    height: 1.25px;
  }

  .way__list{
    margin-top: 40px;
    flex-direction: column;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
  }

  .way__list li{
    margin-top: 20px;
    width: fit-content;
  }

  .way__list li:first-of-type{
    margin-top: 0;
  }

  .way__list li.way__arrow{
    margin: 0 auto;
    margin-top: 29px;
    width: 40px;
    display: block;
  }

  .way__list__img{
    max-width: 100px;
  }

  .way__list__title{
    margin-top: 15px;
    font-size: 1.125rem;
    line-height: 1.844;
  }

  .way__list__text{
    margin-top: 6px;
    font-size: 0.8125rem;
  }


  /*-------------------------------------------
  FAQ
  -------------------------------------------*/

  .faq{
    padding: 50px 25px;
  }

  .faq__title{
    font-size: 1.125rem;
    line-height: 1.2944;
  }

  .faq__title::after{
    bottom: -7.2px;
    background-color: #092237;
    width: 41.6px;
    height: 1.25px;
  }

  .faq__list{
    margin-top: 40px;
    width: 100%;
  }

  .faq__list li{
    margin-top: 24.65px;
  }

  .faq__list li p{
    margin-top: 20px;
    gap: 10px;
  }

  .faq__list li p.question{
    font-size: 0.8125rem;
  }

  .faq__list li p.question span{
    padding: 6px;
    width: 26px;
    height: 26px;
    font-size: 0.8125rem;
  }

  .faq__list li p.answer{
    font-size: 0.8125rem;
    line-height: 1.3;
  }

  .faq__list li p.answer span{
    padding: 6px;
    width: 26px;
    height: 26px;
    font-size: 0.8125rem;
  }

  /*-------------------------------------------
  CONTACT
  -------------------------------------------*/

  .contact{
    padding-top: 40px;
    padding-bottom: 90px;
    padding-left: 25px;
    padding-right: 25px;
    background-image: url(../space/img/contact-bg-sp.png);
  }

  .contact__title{
    font-size: 1.125rem;
    line-height: 1.2944;
  }

  .contact__alphabet{
    right: 25px;
    width: 70%;
    max-width: 270px;
  }

  .contact__title::after{
    bottom: -7.2px;
    width: 41.6px;
    height: 1.25px;
  }

  .contact__text{
    margin-top: 20px;
    font-size: 0.8125rem;
    line-height: 1.538;
  }

  .contact__box{
    margin-top: 23px;
    width: 100%;
    box-shadow: 1.21px 1.21px 8.46px rgba(0, 0, 0, 0.25);
    padding-top: 28px;
    padding-bottom: 9px;
    padding-left: 24px;
    padding-right: 25px;
  }

  .wpcf7-form p {
    margin-bottom: 20px;
    font-size: 0.8125rem;
  }

  .wpcf7-form p > label {
    flex-direction: column;
    gap: 9.68px;
    margin-bottom: 20px;
  }

  .wpcf7-form p > label span.title{
    width: 100%;
  }

  .wpcf7-form p > label span[data-name="your-name"],
  .wpcf7-form p > label span[data-name="your-company"],
  .wpcf7-form p > label span[data-name="your-email"],
  .wpcf7-form p > label span[data-name="your-number"],
  .wpcf7-form p > label span[data-name="your-message"]{
    width: 100%;
  }

  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form textarea {
    padding: 6px;
    border: 0.48px solid #D9D9D9;
    font-weight: 500;
  }

  .wpcf7-form p span[data-name="acceptance-39"]{
    margin-top: 24px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    color: #35444C;
  }

  .wpcf7-form .wpcf7-acceptance a{
    color: #4977BC;
    border-bottom: 1px solid #4977BC;
  }

  .wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
    width: 13px;
    height: 13px;
    border: 0.42px solid #D9D9D9;
    margin-right: 6px;
    transform: translateY(2px);
  }

  .wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
    left: 3.5px;
    top: 1px;
    width: 5px;
    height: 8px;
    border-right: 2px solid #4B4B4B;
    border-bottom: 2px solid #4B4B4B;
  }

  .wpcf7-submit{
    margin-top: 24px !important;
    width: 95px;
    font-size: 0.8125rem;
    letter-spacing: .13em;
    padding: 10px;
    box-shadow: 0px 0.83px 1.25px rgba(0, 0, 0, 0.25);
  }

  /*-------------------------------------------
  FOOTER
  -------------------------------------------*/

  .footer{
    padding-top: 40px;
    padding-bottom: 143px;
  }

  .footer__list{
    gap: 12px;
  }

  .footer__list li a{
    font-size: 0.8125rem;
  }

  .footer__list li::before{
    top: 7px;
    left: -7px;
    width: 1px;
    height: 15px;
  }

  .footer__list li:last-of-type::after{
    top: 7px;
    right: -7px;
    width: 1px;
    height: 15px;
  }

  .footer__copyright{
    margin-top: 2px;
    font-size: 0.8125rem;
  }
  
}