@charset "UTF-8";

#header {
  background: #fff;
}

#header a {
  color: #000;
}

body #content {
  padding: 0;
}

body.color02 #header {
  height: 6rem;
  background: transparent;
}

body.color02 #header a {
  display: flex;
  align-items: center;
}

body.color02 #header img {
  max-height: 56px;
}

body.home.color02 #main_visual {
  height: 30rem !important;
  background: transparent;
  color: #fff;
}

body.home #main_visual {
  background-image: url(/assets/theme/custom/assets/images/lp/kv.jpg);
  background-size: cover;
  height: 700px !important;
  text-align: center;
}

body.home #front-service .front-service-inner h3 {
  color: #000;
  font-size: 20px;
  text-align: center;
  margin-top: 24px;
}

body.home #front-service .front-service-inner .c_text p {
  color: #757575;
  line-height: 1.4;
  font-size: 12px;
  text-align: center;
}

body.home #front-service .front-service-inner .c_box {
  width: 33%;
  text-align: center;
  margin-left: 0px;
}

body.home #front-service .front-service-inner .c_box .c_text img{
  width: 80%;
  height: 240px;
}

body.home #front-service .front-service-inner {
  margin-left: 0%;
  margin-top: 50px;
}

body.home #front-service {
  background: none;
}

body.home #main_visual .wrap {
  padding-top: 12rem !important;
}

body.home #main_visual h2 {
  font-size: 64px;
  font-weight: 900;
}

body.home #main_visual p {
  font-size: 16px;
  font-weight: 500;
  width: 610px;
}

body.home #front-contents .c_number {
  padding: 12px 12px 8px;
}

body.home #front-contents .c_box {
  height: 500px;
}

body.home #front-contents .c_box_inner {
  padding-top: 100px;
}

body.home.color02 #front-contents .c_text .c_btn a {
  background: #005990;
}

body.home #sub_visual .wrap {
  padding-top: 17rem !important;
}

body.home #sub_visual {
  background-image: url(/assets/theme/custom/assets/images/lp/cta.png);
  background-size: cover;
  height: 600px !important;
  text-align: center;
  color: #fff;
}
body.home #sub_visual h2 {
  font-size: 64px;
  font-weight: 900;
  line-height: 70px;
  margin-bottom: 24px;
}
body.home #sub_visual p {
  font-size: 16px;
  width: 600px;
  margin: 0 auto;
}

#founders {
  display: flex;
  justify-content: center;
  align-items: baseline;
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 3rem;
}

#founders div {
  width: 33.3%;
}

#founders h3 {
  font-weight: bold;
  line-height: 3rem;
}

#founders p {
  font-size: 13px;
  margin-top: 1rem;
}

body.home #front-contact {
  background: #fff;
}

body.home #front-contact .c_box_inner p {
  color: #000;
}

body.home #front-contact .c_box_inner input[type=submit] {
  background: #1D88E5;
}

body #header { 
  margin-top: 0rem;
}

body #front-line {
  text-align: center;
}

body #front-line .c_box_inner_img {
  margin-top: 40px;
}

body #explain .explain_text.attention {
  color: gray;
}

body #explain .explain_text {
  width: 80%;
  margin: auto;
}

body #explain .explain_box {
  width: 40%;
  display: inline-block;
}

body #explain {
  margin: 10px 20px;
  text-align: center;
}

body #explain .explain_text span {
  color: red; 
  font-size: 2em; 
  font-weight: bold;
}

/* mobile */
@media screen and (max-width: 767px) {
  body #header { 
    margin-top: 1rem;
  }

  body.home #front-service .front-service-inner .c_box {
    width: 100%;
  }

  body.home #front-contents .c_box {
    height: auto;
  }  

  body.home #main_visual h2 {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.4;
  }

  body.home #main_visual p {
    width: auto;
  }

  body #explain .explain_text {
    width: auto;
  }

  body.home #sub_visual{
    display: flex;
    align-items: center;
  }  

  body.home #sub_visual .wrap {
    padding-top: 0rem !important;
  }  

  body.home #sub_visual p {
    font-size: 16px;
    line-height: 1.5;
    width: auto;
  }

  body.home #sub_visual h2 {
    font-size: 32px;
    font-weight: 900;
  }

  html { margin-top: 0px !important; }

  #header {
    height: 6rem;
  }

  #main_visual {
    height: 30rem !important;
  }

  #main_visual .wrap {
    padding-top: 10rem !important;
  }

  #founders {
    margin-top: 3rem;
    display: block;
  }

  #founders div {
    width: auto;
  }

  #founders h3 {
    margin-top: 0;
    margin-bottom: 0;
  }

  #footer-cont-about {
    margin-bottom: 1rem;
  }

  body #explain .explain_box {
    width: 100%;
  }

  body #explain .explain_text span {
    font-size: 1em; 
  }
}
