html {
    font-size: 100% /* 16px */;
}



body {
    color:#24292e;
    font-family: "Sawarabi Gothic";
    background-color: #fff;
}

a {
    text-decoration: none;
}

p {
    font-size: 1.3rem;
    line-height: 1.6;   /* 行間を広げて読みやすく */
    
}

img {
    max-width: 100%;
}

.key-img {
 display: block;
  margin: 0 auto;
  max-width: 50%;
  height: auto;
}

b {
   font-size: 1.0rem;
   color: #b60000;  
}

h3 {

    font-size: 1.2rem;
    margin-bottom: 10px;

}

.bbotm {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-color: #d80101;
  text-decoration-thickness: 2px; /* 2pxの線の太さ */
}

.wrapper {
    max-width: 960px;
    margin: 0 auto 110px auto; /* 余白 上 右 下 左 */
    font-size: 0.9rem;
    padding: 0 4%;
}

li {
    list-style: none;
    font-size: 1.2rem;
}


.sec-title {
    font-size:  1.5rem;
    text-align: center;
    margin-bottom: 40px;
    color: #fff;
    padding: 5px;
    background-color: #022859;
}

.sec-title2 {
    font-size:  1.5rem;
    text-align: center;
    margin-bottom: 30px;
    margin-top: 100px;
    color: #fff;
    padding: 5px;
    background-color: #022859;
}

.sec-title3 {
  font-size:  1.5rem;
  text-align: center;
  margin-bottom: 50px;
  margin-top: 100px;
  color: #fff;
  padding: 5px;
  background-color: #022859;
}


/* main */
#main {
     margin-bottom: 50px;
}

#main img {
    width: 100%;
    max-width: 1920px;
    height: 400px;
    object-fit: cover;
}


.top-img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}


/* News */
    #news dl{
        display: flex;
        flex-wrap: wrap;
        border-top: 1px solid #c8c8c8;
        margin-bottom: 20px;
    }

    #news dt{
        width: 20%;
        border-bottom: 1px solid #c8c8c8;
        padding: 15px;
    }

    #news dd{
        width: 80%;
        border-bottom: 1px solid #c8c8c8;
        padding: 15px;
    }


    /* 料金表 */
    table {
        margin: 20px auto;
        border-collapse: collapse;
        font-size: 100%;
      }
      .tbl-r02 th {
        background: #F2CA50;
        border: solid 1px #000;
        color: #000;
        padding: 10px;
        width: 400px;
        font-weight: normal;
      }
      .tbl-r02 td {
        background: #fff;
        border: solid 1px #000;
        padding: 10px;
        width: 300px;
        text-align: center;
      }

      .caution {
        width: 80%;
        height: auto;
        padding: 10px;
        margin: auto;
        text-align: center;

      }
      .caution02 {
        width: 80%;
        height: auto;
        padding: 10px;
        margin: auto;
      }


      .caution p {
        display: inline-block;
        text-align: left;
        font-size: 0.9rem;
      }

      .content {
        width: 80%;
        height: auto;
        padding: 10px 0px 10px 10px;
        margin: auto;
        text-align: center;
      }

      .content p {
        display: inline-block;
        font-size: 1.1rem;
      }

/* 修理事例 */

.heading-33 {
    border-bottom: 3px solid #f2f2f2;
}

.heading-33 span {
    display: inline-block;
    position: relative;
    padding: 0 .4em .2em;
    color: #333333;
}

.heading-33 span::before {
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fee334;
    content: '';
}


/* 店舗案内 */

.imgicon {
  width: 60px;
  height: 60px;
  margin-top: 5px;
} 


.tbl-r03 th {
  background: #fff;
  border: solid 1px #000;
  color: #000;
  padding: 10px;
  width: 450px;
  font-weight: normal;
  text-align: left;
}
.tbl-r03 td {
  background: #fff;
  border: solid 1px #000;
  padding: 10px;
  width: 300px;
}

hr {
  border: none;               
  border-top: 1px solid #000; 
  width: 100%;                 
  margin: 5px auto;          
  opacity: 0.8;  
}

.point {
  color:#F2CA50;
}


/* MAP幅を指定 */
.map-wrap {
  max-width: 100%; /* ここに横幅を指定 */
}
 
/* Google Mapを囲う */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* フッター */
    footer {
        width: 100%;
        height: 50px;
        background-color: #010626;
        color: #fff;
        text-align: center;
        position: relative;
    }

    .foot {
        width: 300px;
        height: 20px;
    /* 水平・垂直方向の中央揃え */
        position: absolute;
        top: 43%;
        left: 50%;
        transform: translate(-50%, -50%);
    }



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

    .wrapper {
        margin-bottom: 70px;
      }
    
      .site-title {
        margin-top: 20px;
      }
    
      .sec-title {
        margin-bottom: 40px;
      }

    
    /* news */
    #news dl{
        flex-direction: column;
    }

    #news dt{
        width: 100%;
        border-bottom: none;
        padding-bottom: 0;
    }

    #news dd{
        width: 100%;
        padding-top: 0;
    }

    /* table */
    .last td:last-child {
        border-bottom: solid 1px #000;
        width: 100%;
      }
      .tbl-r02 {
        width: 80%;
      }
      .tbl-r02 th,
      .tbl-r02 td {
        border-bottom: none;
        display: block;
        width: 100%;
      }
      .tbl-r03 {
        width: 80%;
      }
      .tbl-r03 th,
      .tbl-r03 td {
        border-bottom: none;
        display: block;
        width: 100%;
      }

  .key-img {
    max-width: 90%;
  }

  #main img.top-img {
    width: 100%;
    height: 300px;
    object-fit: cover;               /* トリミング用 */
    object-position: top center;
    transform-origin: top center;    /* 縮小の基準位置を上中央に */
  }

}