@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap');

body{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  color:#4d4d4d;
}

img{
  max-width:100%;
}

a{
text-decoration:none;
}

a:hover img{
  opacity:0.8;
}

header{
  text-align:center;
}

header .navbar{
  display:block;
}

article{
}

#logo{
  width:540px;
  margin:50px 0px;
}

header .navbar-nav{
  margin:auto;
}

header .navbar-nav li{
  width:250px;
}

header .navbar-nav a{
  color:#14226d;
  letter-spacing:20px;
}

header .navbar-nav a span{
  display:block;
  letter-spacing:2px;
  font-size:10px;
}





footer{
  background:#101f70;
  color:#FFF;
  text-align:center;
  padding:30px 0px;
}

footer ul{
  display:flex;
  list-style:none;
  padding:0;
  justify-content:center;
}

footer ul li{
  padding:0px 15px;
}

footer ul li:first-child{
/*
  border-right:1px solid #FFF;
*/
}

footer ul li a{
  color:#FFF;
}

h2{
  color:#333333;
  text-align:center;
  margin-bottom:40px;
  font-size:24px;
  font-weight:600;
}

.txt{
  line-height:2;
}

#copyright{
  font-size:12px;
}

#main img{
  width:100%;
}

#service{
}

#servicebox{
  position:relative;
  margin-top:100px;
}

#toptitle{
  font-family: "Source Code Pro", monospace;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  font-size:50pt;
  text-align:center;
  letter-spacing:20px;
}

#service_message1{
  text-align:center;
  font-size:19pt;
  letter-spacing:15px;
  margin:30px 0px;
}

#service_message2{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size:54pt;
  text-align:center;
  color:#14226d;
}

#circlebox{
  position:relative;
  margin-top:200px;
  margin-bottom:200px;
}

#circle1{
  position: absolute;
  top: 0%;
  left: 30%;
  width:30%;
}

#circle2{
  position: absolute;
  top: -10%;
  left: 62%;
  width: 30%;
}

#circle3{
  position: absolute;
  top: 33%;
  left: 3%;
  width:30%;
}

#circle4{
  position: absolute;
  top: 32%;
  left: 70%;
  width:30%;
}

#circle5{
  position: absolute;
  top: 52%;
  left: 37%;
  width:30%;
}

#circle6{
  position: absolute;
  top: 73%;
  left: 66%;
  width:30%;
}

#circle7{
  position: absolute;
  top: 77%;
  left: 4%;
  width:30%;
}


#mapouter{
  padding:90px 0px;
}


#map{
  position:relative;
}
#mapimg1{
  position: absolute;
  top: 2%;
  left: 0%;
  width:34%;
}
#mapimg2{
  position: absolute;
  right: 2%;
  bottom: 0%;
  width:34%;
}
#maptxt1{
  position: absolute;
  top: 4%;
  left: 56%;
  height:4%;
}
#maptxt2{
  position: absolute;
  top: 72%;
  left: 0%;
  height:4%;
}
#mapicon1{
  position: absolute;
  top: 63%;
  left: 32%;
  height:4%;
}
#mapicon2{
  position: absolute;
  top: 34.5%;
  right: 22.5%;
  height:4%;
}

#company{
  margin-top:60px;
  padding:90px 0px;
  background:#101e70;
  color:#FFF;
  letter-spacing:2px;
}

#company_alp{
  color:#ffffff;
  font-size:48px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  text-align:center;
  margin-bottom:50px;
  letter-spacing:10px;

}

#company h2{
  color:#ffffff;
  letter-spacing:10px;
}


#detail{
  padding:90px 0px;
  background-image:url("/img/bg.webp");
  background-size:cover;
}

#detail h2{
  letter-spacing:10px;
}

#detail table tr th,
#detail table tr td{
  padding:10px;
}

#detail .rightborder{
  border-right:1px solid #c6c0ba;
}


#googlemap{

}

#googlemap iframe{
  width:100%;
}

#googlemap .col-6{
  padding:0;
}

#banners{
  padding:30px 0px;
  text-align:center;
}

#banners img{
  margin:0px 15px;
}


@media screen and (max-width: 1200px) {

}

/* md ≥768px */
@media screen and (max-width: 991px) {

}

@media (max-width: 991.98px){
}

/* sm ≥576px */
@media screen and (max-width: 767px) {
}

/* xs <576px */
@media screen and (max-width: 576px) {
  .section_cart{
    padding:40px 20px 20px 20px;
  }

  #section3{
    padding:40px 20px 80px 20px;
  }

  #section4{
    padding:40px 20px;
  }

  #section7{
    padding:40px 20px;
  }

  #section8{
    padding:40px 20px;
  }

  #section9{
    padding:40px 20px;
  }

  table,
  table tbody,
  table tbody tr,
  table tbody tr th,
  table tbody tr td{
    display:block;
    width:100%;
  }

  h2{
    font-size:22px;
  }

  #company_alp{
    font-size:40px;
  }

}


#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #0064bf;
  text-decoration: none;
  color: #fff;
  width: 60px;
  padding: 20px 3px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
  font-size: 20px;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}


/* Large ≥992px */
@media screen and (max-width: 1199px) {
}

/* md ≥768px */
@media screen and (max-width: 992px) {
}

/* sm ≥576px */
@media screen and (max-width: 767px) {
}

/* xs <576px */
@media screen and (max-width: 576px) {

  .navbar-toggler {
    position: absolute;
    right: 10px;
    top: 30px;
  }

  #logo{
    width:200px;
    margin: 10px 0px;
  }
  header .navbar-nav li{
    width:100%;
  }
  #toptitle{
    font-size:25pt;
  }
  #service_message1{
    font-size:16px;
    letter-spacing:2px;
  }
  #service_message2{
    font-size:26px;
  }
  #servicebox{
    margin-top:0;
  }
  #circlebox{
    margin-top:50px;
    margin-bottom:50px;
  }
  #company h2{
    font-size:20px;
    letter-spacing: 2px;
  }
}



