@charset "utf-8";
/* CSS Document */

body{
padding:0;
margin: 0;
color:#000;
text-align:center;
font-size:12px;
line-height:1.5em;
font-family: 'Noto Sans JP', sans-serif;
}

a img{border:none;}
img{ max-width: 100%; height: auto!important;}
a img:hover,
header ul li a:hover,
.cv:hover,
.btn a:hover,
header ul li.reserve a:hover{     
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;  
	opacity: 0.8;  
	filter: alpha(opacity=20);  
}

*:focus {
  outline: none;
}

.pc_elm{ display: none!important;}
.sp_elm{ display: block!important;}

@media screen and (max-width: 728px) {
.pc_elm{ display: block!important;}
.sp_elm{ display: none!important;}
}



.main_visu{ line-height: 0; position: relative;}
.main_visu a{ display: inline-block; position: absolute; top: 40%; left: 10%; width: 30vw;}

.cv{ background:#1D913B; line-height: 1em;}
.cv a,
.cv a:hover,
.cv a:active,
.cv a:visited{color: #fff; text-decoration: none; display: block; padding: 15px;}

.cv_ver2{ background: url( ../images/common/bg.png)#1D913B  center center no-repeat; background-size:contain; padding: 30px 0; }
.cv_ver2 p{ color: white; margin-bottom: 15px;line-height: 1em; font-size: 15px; font-weight: 700;}
.cv_ver2 img { height: 300px!important; width: auto!important;}

@media screen and (max-width: 728px) {
  .cv_ver2{ background:#1D913B ; padding: 30px 5%; }
  .cv_ver2 img { height: auto!important; width: auto!important;}
}

.message { padding: 100px 0;}
.message .logo{ height: 70px!important; width: auto!important;}
.message .inner{ max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.message .inner .l{ width: 50%; }
.message .inner .r{ width: 45%; text-align: left;}
.message .inner .r{ line-height: 2em; font-size: 15px; font-weight: 700;}
.message .inner .r p{ margin-bottom: 15px;}
.message .inner .r p:last-child{ margin-bottom: 0;}

@media screen and (max-width: 728px) {
  .message .inner .l,
  .message .logo{ margin-bottom: 30px;}
  .message .inner .l,
  .message .inner .r{ width: auto; }
  .message .inner{ margin: 0 5%; display: block; }
  .message .inner .r p br{ display: none; }
}

.top_cont_wrap { padding: 100px 0;}

.steps ul{  max-width: 860px; margin: 0 auto;  list-style: none; }
.steps ul li{ display: flex; justify-content: space-between; align-items: center; padding: 30px 0 80px 0;background: url( ../images/top/step/line.png)  center bottom no-repeat; background-size: contain;}
.steps ul li:last-child{ background: none;}
.steps ul li figure { width: 10%;}
.steps ul li div { width: 15%;}
.steps ul li p { width: 60%; text-align: left; line-height: 2em; font-size: 15px; font-weight: 700;}

@media screen and (max-width: 728px) {
  .steps ul{  margin: 0 5%; }
  .steps ul li{ display: block;}
  .steps ul li figure,
  .steps ul li div{ padding-bottom: 30px;}
  .steps ul li figure,
  .steps ul li div,
  .steps ul li p { width:100%; }
  .steps ul li figure img { width: 20%;}
  .steps ul li div img  { width: 35%;}
  .steps ul li{ padding:50px 0 50px 0;}

}


h2.title{ font-size: 30px; line-height: 1em; margin-bottom: 50px;}

.insta h2.title img{ display: block; margin: 30px auto 0 auto;}
.insta .feedwrap{max-width: 980px; margin: 0 auto;}


footer .row_2{ background:#f2f2f2; padding: 50px 0;}
footer .row_2 img{ width: 100px; margin-bottom: 15px;}
footer .row_2 ul{ list-style: none; display: flex; justify-content: center; font-size: 12px; line-height: 1em; margin-bottom: 30px;}
footer .row_2 ul li{ padding: 0 8px; border-right: 1px #000 solid;}
footer .row_2 ul li:last-child{ border-right: none;}
footer .row_2 ul a,
footer .row_2 ul a:hover,
footer .row_2 ul a:active,
footer .row_2 ul a:visited{ color: #000; text-decoration: none;}
footer .row_2 p{color: #000; font-size: 10px; line-height: 1em;}


@media screen and (max-width: 728px) {
  footer .row_1 img {
      width: 190px;
      margin-bottom: 30px;
  }
  footer .row_1 {
      padding: 16vw 5% 8vw 5%;
  }
  footer .row_2 ul{ flex-wrap: wrap; justify-content: left;}
  footer .row_2 ul li{ width: 33%;padding: 0;border-right: none; line-height: 3em; margin-bottom: 8px;}
  footer .row_2 ul li a{ display: block; line-height: 2em; font-size: 10px;}
  footer .row_2 ul li a{ border-right: 1px #1D913B solid;}
  footer .row_2 ul li:nth-child(3) a,
  footer .row_2 ul li:nth-child(5) a  { border-right: none;}

}




.vehicle-calendar-box {
     display: table;
     width: 100%;
 }
 .vehicle-image {
     display: table-cell;
     vertical-align: middle;
     width: 49%;
 }
 .rental-calendar {
     display: table-cell;
     padding-left: 2px;
     vertical-align: middle;
     width: 49%;
 }

.rental-calendar th,
.rental-calendar td {
     border: 1px solid #cccccc;
     padding: 0.3em;
     text-align: center;
     width: 14%;
     font-size: 0.8em;
 }
 
 @media screen and (max-width: 728px) {
   .rental-calendar th,
   .rental-calendar td,
   .change-month-link,
   .vehicle-name {
        font-size: 11px!important;
    }

}
 
 
.under_tit{ padding: 50px 0 100px 0; font-weight: 700; font-size: 20px;}

.under_tit.tours{ padding: 50px 0 100px 0; line-height: 0; width: 50%; margin: 0 auto;}

.under_cont{max-width: 960px; margin: 0 auto; text-align: left; }

@media screen and (max-width: 728px) {
  .under_tit{ padding: 50px 0 100px 0; font-weight: 700; font-size: 20px;}
  
  .under_cont{margin: 0 5%; }

}

.under_cont.price .area_1 h2{ border-bottom: 1px solid #ccc; font-size: 100%;}
.under_cont.price .area_1 figure{ text-align: center;}
.under_cont.price .area_1 figure img{ height: 300px!important;}
.under_cont.price .attn_2{ border: 1px dotted #ccc; padding: 30px; font-size: 12px; margin-bottom: 50px; }

@media screen and (max-width: 728px) {
.under_cont.price .area_1 figure img{ height: auto!important;}
}

.contact
{ max-width: 980px; margin: 0 auto; text-align: left; padding-bottom: 100px;}

.contact .area_1 { text-align: center;}
.contact .area_1 a,
.contact .area_1 a:visited,
.contact .area_1 a:active{ color: #333; text-decoration: underline}
.contact .area_1 a:hover{ color: #333; text-decoration: none;}

.contact .wrap{ display: flex; justify-content: space-between;}
.contact .submit{ display: flex; justify-content: center;}
.contact .wrap{ margin-bottom: 30px;}
.contact .wrap .l,
.contact .wrap .r{ width: 49%;}
.contact .wrap dl { margin-bottom: 15px;}
.contact .wrap dl dt{ border-left:3px solid #1D913B; padding-left: 8px; line-height: 1.2em; font-size: 13px; margin-bottom: 8px;}
.contact .wrap dl dt span{ color: #ccc; margin-left: 8px; font-size: 80%;}
.contact .wrap dl dt span.required{ color: #1D913B;}
.contact .wrap dl dd input,
.contact .wrap dl dd textarea,
.contact .wrap .r dd.pp_wrap
{ border: 1px solid #D9D9D9; padding: 8px;}
.contact .wrap dl dd.reply input{ border:none;}
.contact .wrap dl dd input,
.contact .wrap dl dd textarea,
.contact .wrap .r dd.pp_wrap
{width: 100%; box-sizing:border-box}
.contact .wrap dl div,
.contact .wrap dl p{ font-size: 10px;}
.contact .wrap dl div.pp{ overflow-y: scroll; height: 100px;}
.contact .submit div{ width: 30%; margin: 0 1%;}
.contact .submit div input{ width: 100%; border: none; padding: 15px; border-radius: 8px;}
.contact .submit div input:hover{ cursor: pointer;}
.contact .submit div.cancel input{ background: #D9D9D9; color: #fff;}
.contact .submit div.send input{ background: #1D913B; color: #fff;}
.contact dd { margin: 0; }

@media screen and (max-width: 728px) {
  .contact .wrap { display: block; }
  .contact .wrap .l,
  .contact .wrap .r{ width: auto;}
  .contact .submit { display: block; margin: 0 5%; }
  .contact .submit div{ width: 100%; margin: 0;}
  .contact .submit div.cancel input{ margin-bottom: 15px;}
}

.contact .wrap dl dd label{ display: flex; align-items: center; }
.contact .wrap dl dd label span{ display:block; width:80px;text-align:left;}

.under_cont.tos h2{ font-size: 15px; line-height: 1.5em; font-weight: 700;}
.under_cont.tos h3{ font-size: 13px; line-height: 1.5em; font-weight: 700;}
.under_cont.tos .area_1{ font-size: 12px; line-height: 1.5em; margin-bottom: 30px;}
.under_cont.tos .area_1 p{ margin-bottom: 8px;}

.under_cont.tos .attn{ color: #1D913B; border: #1D913B solid 1px; padding: 30px; margin-bottom: 25px; text-align: left; font-size: 13px; line-height: 1.5em; f }
.under_cont.tos .attn h3,
.under_cont.tos .attn h4{ color: #1D913B; font-size: 13px; line-height: 1.5em; font-weight: 700; }
.under_cont.tos .attn div p{ margin-bottom: 8px; }

@media screen and (max-width: 728px) {
.rental-form-block {overflow: hidden;}
}


.line_box img{ height: 36px!important; width: auto!important;}
.line_box img:last-child{ margin-left: 15px!important;}


/* アコーディオンメニュー全体のサイズ・位置 */
.ac {
  width: 100%;
  margin: 0 auto 150px auto;
}

/* クリック領域 */
.ac-parent,
.ac-child  {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  padding-bottom: 15px;
  font-weight: 300;
}

.ac-parent::before{ content: "Q"; color: white; background:#1D913B; display: inline-block; font-size: 10px; height: 15px; width: 15px; margin-right: 7px; text-align: center; border-radius: 7px; position: absolute; margin-top: 4px; left: 0; font-weight: 700; }


/* クリックしたら表示される領域 */
.ac-child {
  display: none;
  font-weight: 500;
}

.ac-child::before{ content: "A"; color: white; background:red; display: inline-block; font-size: 10px; height: 15px; width: 15px; margin-right: 7px; text-align: center; border-radius: 7px; position: absolute; margin-top: 4px; left: 0; font-weight: 700; }

.under_cont.faq a:hover,
.under_cont.faq a:active,
.under_cont.faq a:visited,
.under_cont.faq a{ color: #1D913B; }

.under_cont.faq a:hover{ text-decoration: underline;}


.under_cont.tours .text_1{ margin-bottom: 50px;}
.under_cont.tours .text_1 p{ font-size: 10px; padding-top: 8px;}

.under_cont.tours ul{list-style: none; display: flex; align-items: center; justify-content: center; padding-bottom: 100px; }
.under_cont.tours ul li { margin:  0 8px; }
.under_cont.tours ul li a{ background:#1D913B; color: #fff; padding: 15px 30px; line-height: 1.2em; border-radius: 8px; }
.under_cont.tours ul li a:hover{
  -webkit-transition: 0.3s ease-in-out;  
  -moz-transition: 0.3s ease-in-out;  
  -o-transition: 0.3s ease-in-out;  
  transition: 0.3s ease-in-out;  
  opacity: 0.8;  
  filter: alpha(opacity=20);  
}

.under_cont.tours h2{ text-align: center; margin-bottom: 50px;}
.under_cont.tours h3{ margin-bottom: 25px; border-left: 5px #1D913B solid; padding-left: 8px;}

.under_cont.tours .tour_example dl,
.under_cont.tours .op_example dl{ display: flex; margin-bottom: 50px;}
.under_cont.tours .tour_example dl dt,
.under_cont.tours .tour_example dl dd,
.under_cont.tours .op_example dl dt,
.under_cont.tours .op_example dl dd{ width: 50%;}

.under_cont.tours .tour_example dl dt,
.under_cont.tours .op_example dl dt{ line-break: 0;}
.under_cont.tours .tour_example dl dd p,
.under_cont.tours .op_example dl dd p
{ margin-bottom: 8px; line-height: 1.2em; font-size: 80%;}
.under_cont.tours .tour_example_wrap,
.under_cont.tours .op_example
{ margin-bottom: 50px;}

.banner_div { margin: 50px auto; max-width: 1200px;}
.banner_div ul{ list-style: none; display: flex; line-height: 0; justify-content: space-between;}
.banner_div ul li{ width: 32%;}


@media screen and (max-width: 1000px) {
  .banner_div { margin: 50px 5%; }
}

@media screen and (max-width: 728px) {
  .banner_div ul{ display: flex; justify-content: space-between; flex-wrap: wrap;}
  .banner_div ul li{ margin-bottom: 15px; width: 48%;}
  .under_cont.tours .op_example dl{ display: block; margin-bottom: 100px;}
  .under_cont.tours .op_example dl dt,
  .under_cont.tours .op_example dl dd{ width: 100%; margin: 0;}
}


.hoken h3 {
    color: #1D913B;
    border-bottom: 2px solid #1D913B;
    padding-bottom: 5px;
    margin-top: 20px;
}
.hoken ul {
    list-style-type: disc;
    margin: 10px 0 20px 20px;
}
.hoken ul ul {
    list-style-type: circle;
}
.hoken .indent {
    margin-left: 20px;
    color: #555;
}

.hoken .hyou{ width: 60%; margin: 0 auto;}

@media screen and (max-width: 728px) {
  .hoken .hyou{ width: auto; margin: 0 auto;}
}



/**==============================
  1. 言語切り替えタブ
===============================**/
.lang-tabs {
  display: flex;
  justify-content: space-between;
  background-color: #be8ece;
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px;
}

.lang-tab {
  flex: 1;
  padding: 10px 0;
  cursor: pointer;
  border: none;
  background: none;
  font-weight: bold;
  text-align: center;
}

.lang-tab.active {
  background-color: #ccc;
  border-bottom: 2px solid #000;
}

.lang-content {
  display: none;
  padding: 20px;
}

.lang-content.active {
  display: block;
}


/**==============================
  2. ドライバープラン 全体レイアウト
===============================**/
.under_tit.driver {
  margin-bottom: 30px;
  background: #be8ece;
  background-size: contain;
  padding: 0 !important;
  line-height: 0;
  overflow: hidden;
}

.under_tit.driver h1 {
  padding: 0;
  line-height: 0;
  margin: 0;
}

.under_tit.driver img {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 728px) {
  .under_tit.driver img {
    max-width: 100%;
  }
}


/**==============================
  3. コンテンツ・テーブル
===============================**/
.under_cont.driver {
  margin-bottom: 100px;
}

.under_cont.driver h2 {
  border-bottom: 3px solid #be8ece;
}

.under_cont.driver .text_1 {
  line-height: 1.8em;
}

.under_cont.driver .hyou table {
  border-left: 1px #ccc solid;
  margin-bottom: 10px;
  width: 100%;
  border-collapse: collapse;
}

.under_cont.driver .hyou th,
.under_cont.driver .hyou td {
  padding: 10px;
  text-align: left;
}

.under_cont.driver .hyou th {
  background: #be8ece;
  color: #fff;
  border-right: 1px #fff solid;
}

.under_cont.driver .hyou td {
  border-right: 1px #ccc solid;
  border-bottom: 1px #ccc solid;
}

.under_cont.driver .hyou span {
  font-size: 10px;
  line-height: 1.2em;
}


/**==============================
  4. 注意書き・ボタンリンク
===============================**/
.under_cont.driver .attn {
  font-size: 12px;
  margin-top: 0;
}

.under_cont.driver ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.under_cont.driver ul li {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.under_cont.driver ul li a {
  display: inline-block;
  text-decoration: none;
  background-color: #be8ece;
  color: white;
  padding: 10px 20px;
  border-radius: 25px;
  font-size: 16px;
  text-align: center;
  min-width: 120px;
  transition: opacity 0.3s;
}

.under_cont.driver ul li a:hover {
  opacity: 0.7;
}


/**==============================
  5. スマホ対応
===============================**/
@media screen and (max-width: 728px) {
  /* テーブル列幅調整 */
  .under_cont.driver .hyou table {
    font-size: 80%;
  }

  .under_cont.driver .hyou th:nth-child(1),
  .under_cont.driver .hyou td:nth-child(1) {
    width: 15%;
  }

  .under_cont.driver .hyou th:nth-child(2),
  .under_cont.driver .hyou td:nth-child(2) {
    width: 40%;
  }

  .under_cont.driver .hyou th:nth-child(3),
  .under_cont.driver .hyou td:nth-child(3) {
    width: 25%;
  }

  /* ボタン縦並び */
  .under_cont.driver ul li {
    flex-wrap: wrap;
    justify-content: center;
  }

  .under_cont.driver ul li a {
    width: 100%;
    max-width: 250px;
  }
}


.purple{ color:#be8ece!important; }