@charset "utf-8";
/* Style for PCs */


@media screen and (min-width: 1025px) {
  html {
    margin: 0 !important;
}
  body{
    color: #000 !important;
    letter-spacing: 0.05em  !important;
    background: #FFF;
    position: relative;
    font-size:15px;
    font-family: "noto-sans-cjk-jp", sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 2em !important;
    background: #FFF !important;
}
.pc_only{
  display: block !important;
}
.sp_only{
  display: none !important;
}
.bnr_sp{
  width: 80%;
  margin: 70px auto;
}
.bnr_sp img{
  display: block;
  width: 100%;
  margin: 0px auto 60px;
}




/* open */
.open {
  overflow: hidden;
}
.open #gloval-nav {
  visibility: visible;
  transform: translateX(0);
  transition: transform 0.6s;
  z-index: 50;
}
.open #gloval-nav li {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 0.9s ease;
}

#nav-toggle {
  z-index: 100;
}

#gloval-nav {
  z-index: 10;
}

.section {
  padding: 70px 20px;
  height: 100vh;
  text-align: center;
}
.section span {
  font-weight: bold;
  font-size: 30px;
}

#header{
  width:100%;
  height: 110px;
  position: fixed;
  transition: padding .2s, background-color .2s; /* 背景色と高さをじんわり変更 */
  z-index: 50;
  background: rgb(32,160,178);
  background: linear-gradient(93deg, rgba(32,160,178,1) 0%, rgba(12,88,132,1) 100%);
}
.logo{
  width: 16%;
  height: 110px;
}
.logo img{
  margin-top: 30px;
  display: block;
}
.head_inner{
  width: 1280px;
  height: 110px;
  display: flex !important;
  justify-content: space-around !important;
  flex-flow: row nowrap !important;
  margin: 0 auto;
}

/* ファーストビューを過ぎたあとのヘッダー */
#header.transform {
  background: rgb(32,160,178);
  background: linear-gradient(93deg, rgba(32,160,178,1) 0%, rgba(12,88,132,1) 100%);
  height: 110px;
}
.head_inner.transform {
  background:url(../images/nav_bgimg.png) no-repeat left top;
}
#header_right{
  width: 45%;
  height: 110px;
}

h1.logo{
  width: 174px;
  height: auto;
  margin: 0px 0 0 20px;
  padding-top: 20px;
}
h1.logo a{
	display: block;
	margin: 0 auto;
	padding: 0;
}
h1.logo a img{
  width:100%;
  height: auto;
  display: block;
}
.navigation-bar.sticky {
    background:#FFF;
    height: 100px;
    padding: 0;
}
nav{
  width: 100%;
  height: 110px;
}

nav ul{
  height: 110px;
  padding: 36px 0 0 0;
  list-style: none;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

nav ul li a{
  display: block;
  text-decoration: none;
  color: #fff;
  transition:all 0.3s;
  font-family: "ryo-gothic-plusn", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.2em;
}

nav ul li.current a,
nav ul li a:hover{
  color:#4dbdc4; 
}

.btn_reserve{
  display: block;
  line-height: 80px;
  width: 100px;
  height: 40px;

}
#main_img{
  max-width: 1140px;
  height: auto;
  display: block;
  margin:120px auto 0;
}



#fv{
  width: 100%;
  max-height: 940px;
  background: url(../images/fv_bgimg.png) no-repeat center center;
  background-size: contain;
  position: relative;
}
#fv_sns{
  width: 28px;
  height: auto;
  position: fixed;
  top: 190px;
  right: 18px;
  display: flex;
  flex-flow: column;
  z-index: 22;
  padding: 0;
}
#fv_sns li{
  width: 25px;
  height: auto;
  list-style: none;
  margin-bottom: 10px;
}
#fv_sns li a{
  display: block;
}
#fv_sns li a img{
  display: block;
  width: 25px;
  height: auto;
  margin: 0 auto 12px;
}
#title_sns{
  width: 25px;
  height: auto;
  display: block;
}


.sp_contact{
  width:100px;
  height: 40px;
  position: absolute;
  top: 20px;
  right: 80px;
  display: block;
  height: 40px;
  font-size: 16px;
  line-height: 40px;
  text-align: center;
  color:#A3D6CA ;
  background:#F9F8F3 ;
  border-radius: 20px;
  text-decoration: none;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
  font-weight: bold !important;
  font-style: normal !important;
}

.sp_contact img{
  width:100%;
  height: auto;
 display: block;
}



/* ここから */
.mv {
  max-width: 1280px;
  height: 840px;
  position: relative;
  overflow: hidden;
  margin: 0 auto 30px;
  z-index: 20;
}
#fv_text{
  position: absolute;
  top: 100px;
  left: 30px;
}
#fv_img_car{
  position: absolute;
  top: 230px;
  right: 30px;
}
#fv_bnr{
  position: absolute;
  bottom:40px;
  left: 30px;
}




/* 全体を囲う要素 */
.mv-wrap {
  position: relative;
  /* 背景画像の高さ */
  height: 620px;
}

.mv-bg {
  display: block;
  width: 100%;
  /* 背景画像の高さ */
  height: 800px;
  position: inherit;
  top: 0;
  left: 0;
  background:url(../images/sp_top.jpg) no-repeat top left;
  background-size: contain;
}
 
.mv-txt {
  color: #fff;
  font-size: 50px;
  width: 100%;
  height: 50px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  /* レイヤー背景の上に乗せる */
  z-index: 3;
  margin: auto;
  text-align: center;
}

#fv_contact{
  position: absolute;
  top: 15%;
  right: 0;
  display: block;
  width: 70px;
  height: auto;
  z-index: 8;
}
/* スクロールしたあとのヘッダー背景色*/
#header.change-color {
  background-color: #474B50;
  transition: 0.3s;
}
#pc_btn{
  display: block;
  width: 70px;
  height: auto;
  position: fixed;
  top: 460px;
  right: 0;
  z-index: 11;
}

.header_tel{
  width: 30%;
  height: 110px;
}
.h_intro{
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height:1em;
  font-style: italic;
  color: #ecf914;
  position: relative;
  text-align: center;
  margin-top: 8px;
}

.h_intro::before,
.h_intro::after {
  position: absolute;
  top:-5px;
  height: 1.6rem;
  content: '';
}

.h_intro::before {
  border-left: solid 3px #ecf914;
  left: 17%;
  transform: rotate(-30deg);
}

.h_intro::after {
  border-right: solid 3px #ecf914;
  right: 17%;
  transform: rotate(30deg);
}

.h_tel{
  display: flex;
  justify-content: center;
  flex-flow: row nowrap;
  color: #FFF;
  font-size: 30px;
  align-items: center;
  line-height: 50px;
}
.h_tel img{
  width: 46px;
  height: 46px;
  margin-right: 10px;
}
.h_tel span{
  font-size: 1.2em;
  letter-spacing: 0.05em;
}


main{
  width: 100%;
  height: auto;
}
.c_warp{
 width: 1280px;
 height: auto;
 margin: 0 auto;
}
.h2_title{
  text-align: center;
  display: flex;
  justify-content: center;
  flex-flow: column;
  align-items: center;
  line-height: 1em;
  font-size: 16px;
  letter-spacing: 0.2em;
  margin: 60px auto 60px;
  font-family: "noto-sans-cjk-jp", sans-serif !important;
  font-weight: bold;
}
.h2_title img{
  display:block;
}

/*-------------------*/
#title{
  width: 100%;
  height: 530px;
  background: url(../images/service_topimg.png) right 110px no-repeat;
  background-size: auto;
  padding-top: 130px;
  position: relative;
}
.title_box{
  width: 1200px !important;
  height: 420px !important;
  width: 460px;
  height: 146px;
  text-align: center;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.title_box .bgextend h1{
  width: 422px;
  height: auto;
}
.title_box h1 img{
  display: block;
  margin: 0 auto;
  background: #FFF;
  padding: 0 50px;
}
.title_box p{
  line-height: 1.6em;
  font-size: 24px;
  color: #000;
  letter-spacing: 0.5em;
  margin: 40px auto 0;
  font-family: "noto-sans-cjk-jp", sans-serif !important;
  background: #FFF;
  padding: 0 30px;
  display: inline-block;
}

#custom,#pickup,#inspection,#repair,#maintenance{
  width: 100%;
  height: auto;
  margin: 0 auto 120px;
}

.s_box{
  width: 1300px;
  height: auto;
  margin: 0 auto;
}
.s_head{
  width: 1300px;
  height: auto;
  margin: 0 auto 50px;
  display: flex;
  justify-content:space-between;
  flex-flow:row nowrap;
}
.s_head .bgextend{
  width: 100%;
  height: auto;
  width: calc(50% - 50px);
}
.s_head img{
  min-width: 600px;
  max-width: 600px;
  height: auto;
  display: block;
}
.s_intro{
  width: 524px;
  height: auto;
  width: calc(50% - 30px);
}
.s_intro h3{
  font-size: 28px;
  font-weight: bold;
  margin: 20px 0 30px;
  line-height: 1em;
  color: #015685;
}
.s_intro p{
  font-size: 18px;
  margin: 20px 0 30px;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.s_middle{
  text-align: center;
}
.s_middle .s_explanation{
  font-size: 30px;
  font-weight: bold;
  font-style: italic;
  color: #FFF;
  letter-spacing: 0.05em;
  margin: 0px 0 40px;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  display: inline-block;
  justify-content: center;
  background: linear-gradient(93deg, rgba(32,160,178,1) 0%, rgba(12,88,132,1) 100%);
  padding: 1.5em;
  position: relative;
  margin: 0 auto 50px;
}



.s_explanation::before,
.s_explanation::after {
    position: absolute;
    width: 20px;
    height: 30px;
    content: '';
}
.s_explanation::before {
  border-left: double 5px;
  border-top: double 5px;
  top: 15px;
  left: 15px;
}

.s_explanation::after {
  border-right: double 5px;
  border-bottom: double 5px;
  bottom: 15px;
  right: 15px;
}
.s_explanation .y_back{
  background: #ecf914;
  display: initial;
}

.s_foot{
  width: 1300px;
  height: auto;
  margin: 0 auto;
  display: flex;
  justify-content:start;
  flex-flow: row wrap;
  gap:0 2em;
  padding: 0;

}
.s_foot li{
  list-style: none;
  width: calc(31% - 2%);
  height: auto;
  justify-content:space-around;
  flex-flow:row nowrap;
}
.s_foot li img{
  width:100% !important
}
.s_foot li::marker{
  display: none;
}

.order{
  text-align: center;
  font-size: 30px;
  font-style: italic;
  font-family: "noto-sans-cjk-jp", sans-serif !important;
  margin-bottom: 20px;
}
.fs_50{
  font-size: 50px;
  display: inline-block;
  background: linear-gradient(180deg, #0072b4 0%, #7bc0be 72%, #afebea 100%);
  background: -webkit-linear-gradient(-90deg, #0072b4 0%, #7bc0be 72%, #afebea 100%); 
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 5PX;
}

.s_foot li h4{
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin: 20px auto;
  line-height: 1em;
  letter-spacing: 0.05em;
  font-family: "noto-sans-cjk-jp", sans-serif !important;
  text-align: center;
  color: #015685;
}

.s_text{
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin: 0px 0 40px;
  line-height:2em;
  letter-spacing: 0.05em;
}
h3.title_h3{
  padding: 1rem 0 2rem;
  margin-bottom: 0.5rem;
  background-image: repeating-linear-gradient(45deg, #b2d5de 0 2px, transparent 2px 4px);
  background-repeat: no-repeat;
  background-size: 4rem 0.4rem;
  background-position: center bottom;
  color: #000;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
  margin-bottom: 1em;
}
.ta_c{
  text-align:center;
}


.price_list{
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
	border-collapse:collapse;
  margin-bottom: 20px;
}
.price_list tbody{
  width: 100%;
  height: auto;
  display: table;
}
.price_list tbody img{
  width: 100%;
  height: auto;
  display: table;
}
th,td{
  padding: 20px;
  box-sizing: border-box;
  line-height: 1.3;
}
	
th{
  border: 1px solid #DDD !important;
  background: #f1f1f1;
  padding: 20px !important;
  text-align: center;
}
th span{
 font-size: 12px;
}

td{
  border: 1px solid #DDD !important;
  padding: 20px !important;
  text-align: center;
  font-size: 18px;
  background: #FFF;
}
th.head{
  width: 15%;
}
.price_list .item{
  background: #ddebef;
}

.price_list .item02{
  background: #f2dce1;;
}
.fc_r{
  color: #e80a39;
  font-weight: bold;
  font-size: 20px;
  background: #f2dce1;
}
.annotation_text{
  font-size: 14px;
  margin-bottom: 60px;
}


}

@media screen and (max-width: 480px) {
  main{
    width: 100%;
    height: auto;
  }
  .c_warp{
    width: 100%;
   height: auto;
   margin: 0 auto;
  }
  .h2_title{
    text-align: center;
    display: flex;
    justify-content: center;
    flex-flow: column;
    align-items: center;
    line-height: 1em;
    font-size: 16px;
    letter-spacing: 0.2em;
    margin: 60px auto 60px;
    font-family: "noto-sans-cjk-jp", sans-serif !important;
    font-weight: bold;
  }
  .h2_title img{
    width: auto;
    height: 52px;
  }
  
  /*-------------------*/
  #title{
    width: 100%;
    height: 420px;
    background: url(../images/service_topimg.png) right 0px no-repeat;
    background-size: auto;
    position: relative;
  }
  .title_box{
    width: 100%;
    height: 420px !important;
    height: 146px;
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .title_box h1 img{
    width: 90%;
    display: block;
    margin: 0 auto;
    background: #FFF;
    background: rgba(255, 255, 255, 0.7);
    padding: 0 50px;
  }
  .title_box p{
    line-height: 1.6em;
    font-size: 18px;
    color: #000;
    letter-spacing: 0.5em;
    margin: 40px auto 0;
    font-family: "ryo-gothic-plusn", sans-serif !important;
    background: #FFF;
    padding: 0 30px;
    font-weight: bold;
    display: inline-block;
  }
  
  #custom,#pickup,#inspection,#repair,#maintenance{
    width: 100%;
    height: auto;
    margin: 0 auto 120px;
  }
  
  .s_box{
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .s_head{
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: flex;
    justify-content:center;
    flex-flow:column;
    align-items: center;
  }
  .s_head img{
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .s_intro{
    width: 90%;
    height: auto;
  }
  .s_intro h3{
    font-size: 28px;
    font-weight: bold;
    margin: 20px 0 30px;
    line-height: 1em;
    color: #015685;
  }
  .s_intro p{
    font-size: 16px;
    margin: 20px 0 30px;
    line-height: 2em;
    letter-spacing: 0.05em;
  }
  .s_middle{
    width: 90%;
    text-align: center;
    margin: 0 auto;
  }
  .s_middle .s_explanation{
    font-size: 20px;
    font-weight: bold;
    font-style: italic;
    color: #FFF;
    letter-spacing: 0.05em;
    margin: 0px 0 40px;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    display: inline-block;
    justify-content: center;
    background: linear-gradient(93deg, rgba(32,160,178,1) 0%, rgba(12,88,132,1) 100%);
    padding: 1.5em;
    position: relative;
    margin: 0 auto 50px;
    text-align: left;
  }
  
  
  
  .s_explanation::before,
  .s_explanation::after {
      position: absolute;
      width: 20px;
      height: 30px;
      content: '';
  }
  .s_explanation::before {
    border-left: double 5px;
    border-top: double 5px;
    top: 15px;
    left: 15px;
  }
  
  .s_explanation::after {
    border-right: double 5px;
    border-bottom: double 5px;
    bottom: 15px;
    right: 15px;
  }
  .s_explanation .y_back{
    background: #ecf914;
    display: initial;
  }
  
  .s_foot{
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: flex;
    justify-content:center;
    flex-flow: column;
    gap:0 2em;
    padding: 0;
   align-items: center;
  }
  .s_foot li{
    list-style: none;
    width: 90%;
    height: auto;
    justify-content:space-around;
    flex-flow:row nowrap;
  }
  .s_foot li img{
    width:100% !important
  }
  .s_foot li::marker{
    display: none;
  }
  
  .order{
    text-align: center;
    font-size: 30px;
    font-style: italic;
    font-family: "noto-sans-cjk-jp", sans-serif !important;
    margin-bottom: 20px;
  }
  .fs_50{
    font-size: 50px;
    display: inline-block;
    background: linear-gradient(180deg, #0072b4 0%, #7bc0be 72%, #afebea 100%);
    background: -webkit-linear-gradient(-90deg, #0072b4 0%, #7bc0be 72%, #afebea 100%); 
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 5PX;
  }
  
  .s_foot li h4{
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin: 20px auto;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-family: "noto-sans-cjk-jp", sans-serif !important;
    text-align: center;
    color: #015685;
  }
  
  .s_text{
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin: 0px 0 40px;
    line-height:2em;
    letter-spacing: 0.05em;
  }
  h3.title_h3{
    padding: 1rem 0 2rem;
    margin-bottom: 0.5rem;
    background-image: repeating-linear-gradient(45deg, #b2d5de 0 2px, transparent 2px 5px);
    background-repeat: no-repeat;
    background-size: 12rem 0.6rem;
    background-position: center bottom;
    color: #000;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
  }
  .ta_c{
    text-align:center;
  }
  
  
  .price_list{
    width: 100% !important;
    border-collapse: collapse;
    font-size: 16px;
    border-collapse:collapse;
    margin-bottom: 20px;
  }
  th,td{
    padding: 20px;
    box-sizing: border-box;
    line-height: 1.3;
  }
    
  th{
    border: 1px solid #DDD !important;
    background: #f1f1f1;
    padding: 20px !important;
  }
  td{
    border: 1px solid #DDD !important;
    padding: 20px !important;
    text-align: center;
  }
  .price_list .item{
    background: #ddebef;
  }
  
  .price_list .item02{
    background: #f2dce1;;
  }
  .fc_r{
    color: #e80a39;
    font-weight: bold;
    font-size: 20px;
  }


  .price_list_box{
    overflow: scroll;
    }

    th{
      border: 1px solid #DDD;
      background: #f1f1f1;
      padding: 20px;
    }
    td{
      
      border: 1px solid #DDD;
      padding: 20px;
      text-align: center;
    }


    .annotation_text {
      width: 90%;
      margin: 0 auto;
      font-size: 14px;
      margin-bottom: 60px;
  }



/* アコーディオン全体デザイン */
.ac_area {
  width: 90%; /* 画面横幅の96%の大きさにして */
  margin: 0 auto; /* 画面の中央寄せ */
  padding: 0;
}
.ac_area li {
  margin: 10px 0; /* 項目同士のスペースを調整 */
  list-style: none !important;
}

/* アコーディオンのクリックする部分のデザイン */
.title_btn {
  position: relative;
  cursor: pointer;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 1.5em 1em;
  transition: all 0.5s ease; /* easeは動きの始めと終わりを緩やかにします */
  background: rgba(32, 160, 178, 1);
  color: #FFF;
  border-radius: 8px;
  text-align: center;
}
.title_btn span{
  font-size: 1.8rem;
  color: #FFF;
}
/* クリックして出てくる部分 */
.text_box {
  display: none; /* 最初は見えなくしておきます */
  background-color: #f3f3f3;
  padding: 4%;
}
/* 回転矢印 */
.title_btn::after {
  content: "";
  /*絶対配置で矢印を配置*/
  position: absolute;
  top: 42%;
  right: 20px;
  /*矢印の形状*/
  width: 13px;
  height: 13px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg);
  /*動きの指定*/
  transition: all 0.3s;
}

/*クリックした時の矢印の向き*/
.title_btn.open::after {
  transform: rotate(135deg);
}


.insta_bnr{
  width: 90% !important;
  height: auto;
  display: block;
  margin: 0 auto;
}
.insta_bnr img{
  width: 100%;
  height: auto;
  display: block;
}

}


