@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 770px
---------------------------------------------*/
@media screen and (max-width: 770px) {

  /*---------------------------------------------
	body
---------------------------------------------*/
  html {
    scroll-behavior: smooth;
  }

  body {
    font-size: 15px;
    line-height: 1.8;
  }

  p {
    font-size: 14px;
  }

  .only_pc_none {
    display: block !important;
  }

  .only_sp_none {
    display: none !important;
  }

  .sp_br {
    display: inline;
  }

  /*画像*/
  img {
    max-width: 100%;
    height: auto;
  }



  /*---------------------------------------------
 ** スマホメニュー
---------------------------------------------*/
  .hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 12px;
    top: 18px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    text-align: center;
    background: #F19200;
    z-index: 9999;
  }

  .hamburger span {
    display: block;
    position: absolute;
    width: 40px;
    height: 3px;
    left: 10px;
    background: #fff;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }

  .hamburger span:nth-child(1) {
    top: 15px;
  }

  .hamburger span:nth-child(2) {
    top: 28px;
  }

  .hamburger span:nth-child(3) {
    top: 42px;
  }

  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top: 27px;
    left: 10px;
    background: #fff;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 27px;
    background: #fff;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  .globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    color: #fff;
    background: #F19200;
    text-align: center;
    width: 100%;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    padding-top: 5px;
    Z-index: 999;
  }

  .globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    display: block;
    width: 100%;
  }

  .globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: 0.4s all;
    border-bottom: 1px solid #d6c3a7;
    border-left: 0 !important;
    border-right: 0 !important;
    margin: 0 !important;
  }

  .globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }

  .globalMenuSp ul li:hover {
    background: #ddd;
  }

  .globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 2em 0 !important;
    text-decoration: none;
    text-align: center;
  }

  #header {
    height: 60px;
  }

  #header #logo {
    width: 30%;
    max-width: 300px;
    margin-left: 2%;
  }

  #header nav ul li:last-child {
    width: 100%;
  }

  #header nav ul li:last-child a {
    width: auto;
    height: auto;
    background: none;
    margin-top: 0px;
    text-indent: 0px;
    padding: 2em 0 !important;
    text-align: center;
  }


  /* このクラスを、jQueryで付与・削除する */
  .globalMenuSp {
    pointer-events: none;
  }

  .globalMenuSp.active {
    opacity: 100;
    pointer-events: visible;
  }


  h2 {
    padding: 65px 0 0 10px;
    font-size: 90%;
    text-align: center;
    margin-bottom: 4%;
  }


  #about {
    background: url(../img/ttl_about.png) no-repeat center top 20px;
    background-size: 200px auto;
  }

  #service {
    background: url(../img/ttl_service.png) no-repeat center top 20px;
    background-size: 250px auto;
  }

  #company {
    background: url(../img/ttl_company.png) no-repeat center top 20px;
    background-size: 240px auto;
  }

  #slideshow1,
  #slideshow2 {
    height: 350px;
  }

  .rec_btn {
    width: 90%;
    margin: 0 auto 5%;
    height: 160px;
    overflow: hidden;
    position: relative;
    border: 12px solid #F19200;
    border-radius: 20px;
  }

  .rec_btn img {
    width: 140%;
  }

  .rec_btn p {
    top: 32%;
  }

}

@media screen and (max-width: 480px) {
  #header #logo {
    width: 45%;
    margin-top: 1%;
  }

  .hamburger {
    top: 14px;
  }

  section p {
    width: 100%;
  }

  h2 {
    padding: 60px 0 0 10px;
  }

  h3 {
    font-size: 110%;
  }

  #slideshow1,
  #slideshow2 {
    height: 200px;
  }

  .rec_btn {
    width: 95%;
    margin: 0 auto 5%;
    height: 120px;
    overflow: hidden;
    position: relative;
    border: 8px solid #F19200;
    border-radius: 20px;
  }

  .rec_btn:after {
    content: "";
    border: solid 8px #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    width: calc(100% - 14px);
    height: calc(100% - 14px);
    border-radius: 10px;
    overflow: hidden;
    pointer-events: none;
  }

  .rec_btn img {
    width: 130%;
    max-width: 130%;
  }

  .rec_btn p {
    top: 32%;
    font-size: 140%;
  }

  .company_tbl tr {
    display: flex;
    flex-wrap: wrap;
  }

  .company_tbl tr th {
    width: 100%;
    background: #FFDEA0;
    padding: 15px 4%;
    font-weight: 500;
    box-sizing: border-box;
    text-align: center;
  }

  .company_tbl tr td {
    width: 100%;
    padding: 15px 4%;
    box-sizing: border-box;
    text-align: center;
  }

  #footer iframe {
    height: 400px;
  }

  #footer #copy {
    font-size: 70%;
    text-align: left;
    padding-left: 10px;
  }

}


@media screen and (max-width: 360px) {
  #header #logo {
    width: 60%;
    margin-top: 1%;
  }

  .hamburger {
    top: 11px;
    right: 7px;
  }

  #slideshow1,
  #slideshow2 {
    height: 160px;
  }

  .rec_btn {
    width: 95%;
    margin: 0 auto 5%;
    height: 100px;
    overflow: hidden;
    position: relative;
    border: 5px solid #F19200;
    border-radius: 10px;
  }

  .rec_btn:after {
    content: "";
    border: solid 5px #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border-radius: 10px;
    overflow: hidden;
    pointer-events: none;
  }

  .rec_btn img {
    width: 130%;
    max-width: 130%;
  }

  .rec_btn p {
    top: 32%;
    font-size: 120%;
  }

  #footer iframe {
    height: 300px;
  }

  #footer #copy {
    font-size: 60%;
    letter-spacing: -0.005em;
  }

}



/* スマホのときのみ電話をかける */
@media (min-width: 770px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}