@charset "UTF-8";
/*=======================================
スマホのみ(768px未満)
=======================================*/
@media screen and (max-width: 767px) {
  #page_top {
      right: 0;
      bottom: 0;
      border-radius: 3px 0 0 0;
  }
  .carousel-indicators, .carousel-control-next, .carousel-control-prev {
    display: none;
  }
}

/*=======================================
スマホ＆タブレット(992px未満)
=======================================*/
@media screen and (max-width: 991px) {

/* 全体ブロック */
  article {
      margin: 0;
  }
  section, section.bg {
      padding: 3rem 0;
  }
  section#contact_check {
    padding: 8rem 0 0;
  }
  .row, .group {
      margin-bottom: 0;
  }
/*全体インライン*/
  .main_img_txt {
      padding: 0 2rem;
  }
  h1 {
      font-size: 4rem;
  }
  article .h2_wrap {
      margin: 0 0 2rem;
  }
  article h2 {
      font-size: 2.6rem;
  }
  article h2::after {
      bottom: -1.5rem;
  }
  article h3 {
      font-size: 1.9rem;
      font-weight: bold;
      line-height: 2.8rem;
      padding: 1.5rem 0 0;
      margin: 0 0 1rem;
      letter-spacing: 0rem;
  }
  h3.border_h {
      margin: 3rem 0 1rem;
  }
/*ヘッダー*/
  header .container{
    max-width: 1023px;
  }
  .navbar{
    height: auto;
  }
  a.navbar-brand {
    padding-left: 1rem;
  }
  .navbar .navbar-toggler {
    height: auto;
    padding-right: 1rem;
  }
  ul.navbar-nav.mr-auto {
      background: #f4f4f4;
  }
  .nav-item {
    height: auto;
    line-height: 2rem;
    padding: 1.5rem .5rem;
    border-bottom: .1rem solid #ddd;
    text-align: center;
    color: #404040;
    margin-right: 0;
  }
  .nav-item.active, .nav-item:hover {
    border-bottom: .1rem solid #ddd;
  }
  a.active{
  background-color: #2196f3;
  color: #fff;

  }
  .header_tel_pc{
    display: none;
  }
  .header_tel_sp {
      display: inline-block;
      width: 16rem;
      height: 8rem;
      display: inline-block;
      text-align: center;
      color: #fff;
      background: #039de7;
      width: 50%;
      float: left;
  }
  .header_tel_sp::before {
      font-family: "Font Awesome 5 Free";
      content: "\f095";
      font-size: 2rem;
      line-height: 2rem;
      margin-top: 2rem;
      font-weight: 600;
      display: block;
  }
  .header_contact {
      width: 50%;
      float: right;
  }

  /* フッター */
  ul.footer-menu {
      margin: 1rem 0;
  }
  .google-maps {
      margin-bottom: 2rem;
  }
  footer .footer_group {
    padding-top: 1rem;
  }
  footer .footer-copyright {
    margin-top: 1rem;
    padding: 1rem .5rem;
    height: auto;
  }
  footer .copyright{
    float: none;
  }
  footer .designby{
    margin-top: .5rem;
    float: none;
  }
  footer h2 {
    font-size: 2rem;
  }
  footer address h2 i.fas{
    font-size: 2rem;
  }
  /* テーブル */
  table th, table td {
    padding: 1rem;
  }
  table.table-basic  th, table.table-basic  td {
      width: 100%;
      display: block;
      border-top: none;
  }
  table.table-basic  th{
    background-color: #f4f4f4;
  }
  table.table-basic tr:first-child th,
  table.contact tr:first-child th{
    border-top: solid 1px #d4d4d4;
  }
  .table-striped tbody tr:nth-of-type(even), .table-striped tbody tr:nth-of-type(odd){
      background-color: #fff;
  }
  .table-scroll-x {
      display: block;
      white-space: nowrap!important;
  }
  table.contact{
    border: none;
  }
  table.contact th,  table.contact td{
      width: 100%;
      display: block;
      padding: 1rem;
      border-top: none;
  }
  .submit_wrap .btn_submit {
      padding: 2rem 4rem;
  }
  .left-container {
		width: 100%;
		max-width: 500px;
    margin-bottom: 2rem;
    float: none;
  }
  .right-container {
		width: 100%;
		max-width: 500px;
    float: none;
	}
  .center-container {
		width: 100%;
		max-width: 500px;
  }
}
/*=======================================
タブレットのみ(992～1200px以上)
=======================================*/
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .navbar .navbar-toggler {
      border-width: 0;
      outline: 0;
  }
  .header_tel_pc {
      display: none;
  }
}
/*=======================================
PCのみ(992px以上)
=======================================*/
@media screen and (min-width: 992px) {
  .container-fluid{
    padding: 0;
  }
}
