@charset "utf-8";

#ks_hero {
  height: 100vh;
  background: #fff;
  position: relative;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
@media only screen and (min-width: 1200px) {
  .bg_box {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 1;
    height: 100%;
  }

  .bg_box .blue_bg,
  .bg_box .yellow_bg {
    display: block;
    width: 1920px;
    height: 1080px;
  }

  .bg_box .blue_bg {
    background: url(img/bg_box_blue.jpg) top left no-repeat;
    background-size: cover;
  }

  .bg_box .yellow_bg {
    background: url(img/bg_box_yellow.jpg) top left no-repeat;
    background-size: cover;
  }

  .ks_para_box {
    position: absolute;
    right: 0;
    top: -20px;
    z-index: 3;
    margin: 0;
    width: 58%;
  }

  .ks_para_box .imgbox {
    display: block;
    width: 1100px;
    height: 1000px;
  }

  .ks_para_box .imgbox.img1 {
    background: url(img/ks_hero1.png) center no-repeat;
    background-size: cover;
  }

  .ks_para_box .imgbox.img2 {
    background-size: cover;
    background: url(img/ks_hero2.png) center no-repeat;
  }

  .ks_para_box .imgbox.img3 {
    background-size: cover;
    background: url(img/ks_hero3.png) center no-repeat;
  }

  .ks_para_box .imgbox.img4 {
    background-size: cover;
    background: url(img/ks_hero4.png) center no-repeat;
  }
}

#ks_hero_txt {
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  left: 7%;
  z-index: 5;
}

#ks_hero_txt .ks_hero_title {
  font-size: 3.5em;
  margin-bottom: 15px;
  line-height: 1.4em;
  letter-spacing: 1px;
  margin-bottom: 25px;
}
#ks_hero_txt .ks_hero_title_maintxt {
  font-size: 1.3em;
  line-height: 2em;
  letter-spacing: 1px;
}
.forCostmer {
  color: #555;
  font-family: Lexend, sans-serif;
  font-size: 18px !important;
  margin-bottom: 15px;
}
.forCostmer span {
  font-size: 23px !important;
}
#hp_lr_contents {
  padding: 80px 0;
}

#hp_lr_contents h2 {
  font-size: 2.2em;
  padding-bottom: 12px;
}

.block_number {
  width: 40px;
  height: 40px;
  display: block;
  margin: 0 auto -30px;
  color: #fff;
  background: #15abe3;
  box-sizing: border-box;
  text-align: center;
}

#hp_lr_contents a {
  color: #000;
}

#hp_lr_contents p {
  font-size: 1.4em;
  line-height: 2em;
}

#hp_lr_contents ul {
  margin-top: 35px;
}

.square_box {
  width: 100%;
  height: 550px;
  overflow: hidden;
  display: block;
}

.square_box_img1,
.square_box_img2,
.square_box_img3,
.square_box_img4,
.square_box_img5,
.square_box_img6,
.square_box_img7,
.square_box_img8,
.square_box_img9 {
  width: 600px;
  height: 700px;
  display: block;
}

.square_box_img1 {
  background: url(img/square_photo1.jpg) center no-repeat;
  background-size: cover;
}

.square_box_img2 {
  background: url(img/square_photo2.jpg) center no-repeat;
  background-size: cover;
}

.square_box_img3 {
  background: url(img/square_photo3.jpg) center no-repeat;
  background-size: cover;
}

.square_box_img4 {
  background: url(img/square_photo4.jpg) center no-repeat;
  background-size: cover;
}

.square_box_img5 {
  background: url(img/square_photo5.jpg) center no-repeat;
  background-size: cover;
}

.square_box_img6 {
  background: url(img/square_photo6.jpg) center no-repeat;
  background-size: cover;
}
.square_box_img7 {
  background: url(img/square_photo7.jpg) center no-repeat;
  background-size: cover;
}
.square_box_img8 {
  background: url(img/square_photo8.jpg) center no-repeat;
  background-size: cover;
}
.square_box_img9 {
  background: url(img/square_photo9.jpg) center no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 500px) {
  .square_box_img1 {
    background: url(img/square_photo1_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .square_box_img2 {
    background: url(img/square_photo2_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .square_box_img3 {
    background: url(img/square_photo3_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .square_box_img4 {
    background: url(img/square_photo4_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .square_box_img5 {
    background: url(img/square_photo5_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .square_box_img6 {
    background: url(img/square_photo6_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .square_box_img7 {
    background: url(img/square_photo7_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .square_box_img8 {
    background: url(img/square_photo8_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .square_box_img9 {
    background: url(img/square_photo9_sp.jpg) center no-repeat;
    background-size: cover;
  }
}
.ec_bg_loop {
  display: block;
  height: 100px;
  background: url(img/ec.jpg) repeat-x;
  animation: ec_bg_loop 80s linear infinite;
  border-top: 30px solid #fff;
  border-bottom: 30px solid #fff;
}

@keyframes ec_bg_loop {
  from {
    background-position: 0 0;
  }

  to {
    background-position: -2435px 0;
  }
}
@media only screen and (max-width: 800px) {
  #hp_lr_contents {
    padding: 40px 0;
  }
  .hp_lr_contents_txt {
    box-sizing: border-box;
  }
  .block_number {
    margin: 0 auto -19px;
  }
  .square_box {
    height: 450px;
  }
  .forCostmer {
    font-size: 14px !important;
  }
  .forCostmer span {
    font-size: 14px !important;
  }
}
.go_contact a {
  display: block;
  color: #fff;
  padding: 15px 0;
  border-radius: 100px;
  background: #15abe3;
  max-width: 330px;
  text-align: center;
  margin-top: 30px;
}
.works_list p {
  padding: 5px 0 0px;
  margin: 0;
}
@media only screen and (max-width: 1600px) {
  .ks_para_box {
    width: 55%;
  }

  #ks_hero_txt {
    left: 5%;
  }
}

@media only screen and (max-width: 1400px) {
  .ks_para_box {
    width: 50%;
  }

  #ks_hero_txt {
    left: 5%;
  }
}

@media only screen and (max-width: 1200px) {
  header {
    background-color: rgba(255, 255, 255, 1);
  }

  #ks_hero {
    height: auto;
    padding: 160px 0 0px;
  }
  #ks_hero.sp_bg_blue {
    background: url(img/bg_box_blue.jpg) top repeat-y;
  }
  #ks_hero.sp_bg_yellow {
    background: url(img/bg_box_yellow.jpg) top repeat-y;
  }
  #ks_hero_txt {
    max-width: 550px;
    margin: 0 auto;
    text-align: center;
  }
  #ks_hero_txt .go_contact a {
    margin-top: 30px;
    margin: 35px auto 0;
  }
  #ks_hero_txt .ks_hero_title {
    font-size: 3em;
  }

  #ks_hero_txt {
    position: static;
    top: auto;
    transform: none;
    padding: 18px 35px 0;
  }

  .ks_para_box {
    display: none;
  }

  .ks_hero_sp_img {
    display: block;
    width: 1100px;
    height: 900px;
    margin-left: -70px;
  }
  .ks_hero_sp_img.img1 {
    background: url(img/ks_hero1.png) center bottom no-repeat;
    background-size: cover;
    border-bottom: 1px solid #f1f1f1;
  }

  .ks_hero_sp_img.img2 {
    background: url(img/ks_hero2.png) center bottom no-repeat;
    background-size: cover;
    border-bottom: 1px solid #f1f1f1;
  }

  .ks_hero_sp_img.img3 {
    background: url(img/ks_hero3.png) center bottom no-repeat;
    background-size: cover;
    border-bottom: 1px solid #f1f1f1;
  }

  .ks_hero_sp_img.img4 {
    background: url(img/ks_hero4.png) center bottom no-repeat;
    background-size: cover;
    border-bottom: 1px solid #f1f1f1;
  }
}

@media only screen and (max-width: 1200px) {
  @media only screen and (min-width: 800px) {
    /*タブレット*/
    #hp_lr_contents .l_cont,
    #hp_lr_contents .r_cont {
      width: 100%;
      max-width: 600px;
      margin: 0 auto 25px;
      display: block;
    }
    #hp_lr_contents .square_box {
      padding-top: 50px;
    }
  }
}

@media only screen and (max-width: 800px) {
  .hp_lr_contents_txt p {
    text-align: left;
  }
  .hp_lr_contents_txt .block_number {
    text-align: center;
  }
  #ks_hero {
    height: auto;
    padding: 115px 0 0;
  }

  #ks_hero_txt .ks_hero_title_maintxt {
    font-size: 1.1em;
    letter-spacing: 1px;
  }

  #ks_hero_txt .ks_hero_title {
    font-size: 2em;
    line-height: 1.6em;
  }

  .ks_hero_sp_img {
    width: 780px;
    height: 650px;
    margin-left: -40px;
  }
  .hp_works li:last-child {
    display: none;
  }
  .ec_bg_loop {
    border-bottom: 0 solid #fff;
  }
}

@media only screen and (max-width: 600px) {
  .ks_hero_sp_img {
    width: 690px;
    height: 580px;
    margin-left: -40px;
  }
}

/*共通*/
main {
  width: 100%;
  float: none;
}

.pb13 {
  padding-bottom: 13px;
}

main p {
  margin: 15px 0;
}

.h3_stn_title {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 2px solid #ccc;
}
.h4_stn_title {
  font-size: 18px;
  padding: 8px 10px 4px 12px;
  border-left: 7px solid #2cc2f6;
}

.price_wrapper {
  max-width: none;
}

.tel_font {
  font-size: 1.4em;
  line-height: 20px;
}

.end {
  color: #666;
}

.end th {
  background: #ccc;
}

.end td {
  background: #aaa;
}

.end th::before {
  content: "終了";
  display: block;
  margin: 0 auto;
  color: #c00;
}

/*ホームページ制作　トップ*/
.hp_top .split3 h2 {
  border-bottom: medium none;
  margin-bottom: 10px;
  padding-bottom: 0;
  margin-top: 10px;
  padding-top: 0;
  text-align: center;
}

.hp_top .split3 h2 svg {
  color: #2cc2f6;
  font-size: 80px;
  display: block;
  margin: 0 auto 20px;
}

.hp_top .split3 li {
  position: relative;
  padding: 25px 25px 100px;
  border-radius: 10px;
}

.hp_top .split3 li a {
  color: #333;
}

@media only screen and (min-width: 800px) {
  /*PCのみ*/
  .ichigyo {
    display: block;
    padding: 25px 0 10px;
  }
}

.simple_link {
  bottom: 35px;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  width: 60%;
  font-size: 14px;
  color: #fff;
  margin: 0 auto;
}

.simple_link {
  display: block;
  background: #15abe3;
  padding: 15px;
  border-radius: 30px;
}

a:hover .simple_link {
  background: rgb(2, 0, 36);
  background: linear-gradient(
    90deg,
    rgba(2, 0, 36, 1) 0%,
    rgba(25, 148, 194, 1) 0%,
    rgba(21, 171, 227, 1) 100%
  );
}

.server dl {
  margin: 35px 0 50px 0;
  overflow: hidden;
}

.big_key {
  font-size: 10px;
  color: #fff;
  background: #f30;
  border-radius: 3px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
  padding: 2px 4px;
}

.server dl dt {
  width: 15em;
  line-height: 3;
  font-weight: bold;
}

.server dl dd {
  margin: -2em 0 6px 0;
  padding: 0 0 10px 15em;
  border-bottom: dotted 1px #999;
}

#font_price {
  font-size: 3em;
}

#font_price span {
  font-size: 0.3em;
  margin-left: 10px;
}

.jitsurei {
  background: #fff;
  padding: 20px 10px;
  box-sizing: border-box;
  border-radius: 15px;
}

/*ad*/
#ad_img {
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  max-width: 600px;
  display: block;
  border-radius: 15px;
  margin: 30px auto;
  background: #fff;
  box-shadow: 0px 1px 3px 1px rgb(0 0 0 / 15%);
}

#ad_img img {
  border: 1px solid #ccc;
  border-radius: 15px;
  margin-bottom: 10px;
}

.fa-check-circle {
  font-weight: bold;
  font-size: 20px;
  vertical-align: middle;
  color: #15abe3;
  margin-right: 3px;
}

main .hp_works_list p {
  margin: 0;
}

.flow_detail h3 {
  margin-top: 0 !important;
}

.number_icon {
  width: 35px;
  height: 35px;
  box-sizing: border-box;
  border-radius: 30px;
  color: #fff;
  background: #15abe3;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  padding-top: 2px;
  margin-top: -2px;
}

.arrow {
  display: block;
  width: 36px;
  height: 36px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  margin: 0 auto 30px;
}

.box {
  border: 1px solid #ccc;
  padding: 20px;
  margin-bottom: 10px;
}

.red-solid {
  font-size: 26px;
  padding: 15px 20px;
  border: 3px solid #ff0000;
  color: #ff0000;
}

.blue-solid {
  border: solid #95dffd 1px;
}

@media (max-width: 640px) {
  main p {
    margin: 12px 0;
  }

  .hp_top .split3 li {
    padding: 15px 30px 90px;
  }

  .simple_link a {
    padding: 15px 5px;
  }

  #topbg {
    background: url(img/bg.gif) no-repeat top center;
  }

  .server dl dt {
    width: 100%;
    line-height: 1.5;
    font-weight: bold;
  }

  .server dl dd {
    margin: 0 0 6px 0;
    padding: 0 0 10px 0;
    border-bottom: dotted 1px #999;
  }

  iframe {
    width: 100%;
    height: 250px;
  }
}

/* WEBシステム開発ページ用スタイル */
.payment_info_box {
  background-color: #f0f8ff;
  border-left: 4px solid #4169e1;
  padding: 20px;
  margin: 20px 0;
}

.payment_info_box h3.h3_stn_title {
  margin-top: 15px;
}

.payment_info_box ul.check_ul {
  margin-top: 10px;
  margin-bottom: 10px;
}
