@charset "utf-8";
img { max-width: 100%; height: auto; }
.mt3em { margin-top: 3em; }
.mt2em { margin-top: 2em; }
.mt1em { margin-top: 1em; }

.bg-gray { background: #FAFAFA; }
.t-note { color: #777777; font-size: .8375rem; line-height: 1.5; }

.sp-only { display: none; }
@media screen and (max-width: 768px) {
.sp-only { display: initial; }
}
.title-section { text-align: center; margin-bottom: 2em; }
.title-section.-white { color: #FFF; }
.title-section .ja { color: #AAAAAA; }
.title-section .en { display: block; font-size: 3.3rem; font-family: 'Figtree', sans-serif; font-weight: 900; line-height: 1.2; text-transform: uppercase; }

.title-s { font-size: 1.125rem; font-weight: bold; margin-bottom: .5em; }
.title-ss { font-size: .8375rem; font-weight: bold; }

@media screen and (max-width: 768px) {
  .title-section  .en { font-size: 2rem;}
}

.mainvisual { position: relative;  }
.mainvisual .mv-slider { width: 100%; height: 66vw;  }
.mainvisual .mv-slider img { width: 100%; height: 100%; object-fit: cover; object-position: top center;  }
.mainvisual .maincopy { margin: 2rem auto; text-align: center; max-width: 90%; }
.home-rental { background:#000000; }



@media screen and (min-width: 769px) { /*!!min!!*/
  .home-bike-slider-wrap { max-width: 90%; width: 980px; margin: 0 auto; }
  .home-bike-slider .swiper-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
}

@media screen and (max-width: 768px) {
  .mainvisual {  height: auto; margin: 0; }
  .mainvisual .mv-slider { position: relative; }
  .mainvisual .main { height: auto;}
  .mainvisual .maincopy { position: relative; margin: 5rem auto 7vw; }
}



.title-home-news { text-align: center; font-weight: bold; font-size: 1.5rem; line-height: 1.5; margin-bottom: 2em;  }
.home-news-list { display: grid; gap: 10px; }
.home-news-list .item { display: grid; background: #FFF; padding: 1em 2em; grid-template-columns: 10em minmax(0, 1fr); }
.home-news-list .date { font-weight: bold; font-family: 'Figtree', sans-serif; }
.home-news-list .title { text-decoration: underline; font-weight: bold; }

@media screen and (max-width: 768px) {
  .title-home-news { font-size: 1.25rem; }
  .home-news-list .item { grid-template-columns: 1fr; padding: 1em; }
}

.bike-item { height: 100%; display: flex; flex-direction: column; }

.list-bike { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.bike-item { background: #FFF; border: 1px solid #CCCCCC; }
.bike-item .text { padding: 10px; flex-grow: 1; display: flex; flex-direction: column; }
.bike-item a.button-reserve { margin-top: auto; }

.bike-item .img { padding: 10px;  }
.bike-item .img img { width: 100%; height: auto; display: block; aspect-ratio: 7 / 4; object-fit: contain; }
.bike-item .img tr:not(.row-img) { display: none; }
.bike-item .bike-info { margin: 0 10px; }
.bike-item .bike-price-list { margin: 0 10px 10px; }

.bike-item .price {margin: 0 10px 10px; }
.bike-item .car-charge { width: 100%; border: none; }
.bike-item .price .row-img { display: none; }
.bike-item .price th { width: 30%; font-weight: normal; background: none; border: none; text-align: left; }
.bike-item .price td { padding-left: 1em; border: none; text-align: left; }
.bike-item .car-detail { display: none; }
.bike-item .car-name { display: none; }


a.button-reserve { width: 100%; background: linear-gradient(to bottom, #333333 50%, #222222 50%); border-radius: 5px; text-align: center; color: #FFF; display: flex; justify-content: center; align-items: center; padding: .5em; }
a.button-reserve img { margin-right: .5em; }

@media screen and (max-width: 900px) {
  .list-bike { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem ;}
}
@media screen and (max-width: 600px) {
  .list-bike { grid-template-columns: 1fr; }
  .bike-item .text { font-size: .9rem; }
}
.home-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-banners .item { position: relative; }
.home-banners .item::before { content: ''; width: 100%; height: 100%; background: linear-gradient(to right, #000000 20%, rgba(0,0,0,0) 60%); position: absolute; top: 0; left: 0; bottom: 0; margin: auto; }
.home-banners .ttl { color: #FFF; height: fit-content; position: absolute; top: 0; left: 2em; bottom: 0; margin: auto; z-index: 2; font-size: .8375rem; font-weight: 500; }
.home-banners .ttl .en { font-family: 'Figtree', sans-serif; font-weight: bold; display: block; line-height: 1.2; text-transform: uppercase; font-size: 2em }
.home-banners .ttl .en.-l { font-size: 2.5em; }
@media screen and (max-width: 768px) {
  .home-banners { grid-template-columns: 1fr; }
}
.page-head { background: url("../img/common/head.jpg") no-repeat center center / cover; height: 220px; position: relative; overflow: hidden; }
.page-head .title { font-size: 8.35rem; text-align: center; font-family: 'Figtree', sans-serif; font-weight: 900; color: #FFF; text-transform: uppercase; line-height: .7; position: absolute; left: 0; bottom: 0; right: 0; margin: auto; }
.page-head .title.-s { font-size: 5rem; line-height: .9; }
@media screen and (max-width: 768px) {
  .page-head .title { font-size: 5rem;}
  .page-head .title.-s { font-size: 3rem; }
}
.inner-link { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; width: 780px; max-width: 90%; height: 4rem; margin: 2rem auto 0; line-height: 1.2; }
.inner-link a { width: 100%; height: 100%; background: #222; border-radius: 5px; color: #FFF; position: relative; text-align: center; font-weight: 900; font-size: 1.125rem; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.inner-link a::before { content: '';  width: 90%; height: 50%; background: #333333; border-radius: 5px 5px 0 0 ; position: absolute; left: 0; top: 0; margin: auto; mix-blend-mode: lighten; }
.inner-link a::after { content: ''; width: 10px; height: 5px; background: url(../img/common/bottom-arrow.svg) no-repeat center center/ contain; margin: .5em auto 0; display: block; }
@media screen and (max-width: 768px) {
  .inner-link { column-gap: .5rem;margin-top: -.5em; }
  .inner-link a { font-size: .9rem; }

}


.bike-detail { display: flex; justify-content: space-between; }
.bike-detail .img { width: 50%; }
.bike-detail .text { width: 45%; }

.bike-detail .zoomarea { margin-bottom: 10px; width: 100%; aspect-ratio: 3 / 2; }
.bike-detail .zoomarea img { width: 100%; height: 100%; object-fit: contain; }
.bike-detail .thumb { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bike-detail .thumb img { width: 100%; display: block; aspect-ratio: 3 / 2; object-fit: contain; }

.bike-detail .name { font-weight: bold; font-size: 1.3rem; margin-bottom: 1em; }
.bike-detail .desc { font-size: .8375rem; margin-bottom: 1em; }


.bike-detail .bike-info { }
.bike-detail .bike-price-list { margin-bottom: 1em; }
.bike-detail .bike-price-list > dd { text-align: left; font-size: 1.3rem; }

.bike-info { display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 0 1em; }
.bike-price-list { display: grid; grid-template-columns: 11em minmax(0, 1fr); gap: 0 1em; }
.bike-price-list > dd { font-weight: bold; text-align: right; }

.bike-detail-info  { margin-bottom: 1em; padding-bottom: 1em; border-bottom: 1px solid #919191; }
.bike-detail-info .row-img { display: none; }
.bike-detail-info .car-spec { width: 100%; }
.bike-detail-info .row-spec th { font-weight: normal; width: 30%; }
.bike-detail-info .row-spec td { padding-left: 1em; }

.bike-rental-price .vehicle-image { display: none; }

.bike-rental-price { margin-bottom: 1em; }
.bike-rental-price .car-charge{ width: 100%; }
.bike-rental-price .car-charge th { width: 11em; font-weight: normal; }
.bike-rental-price .car-charge td { padding-left: 1em; font-size: 1.3rem; font-weight: bold; }

@media screen and (max-width: 768px) {
  .bike-detail { flex-direction: column; }
  .bike-detail .img { width: 100%; }
  .bike-detail .text { width: 100%; margin-top: 2em; }
  
  .bike-detail .zoomarea { margin-bottom: 5px; }
  .bike-detail .thumb { gap: 5px; }
}

.bike-detail .rental-car-spec table,
.bike-detail .rental-car-charge table {
    border-collapse: collapse;
    border: none;
    width: 100%;
}

.bike-detail .rental-car-spec th,
.bike-detail .rental-car-charge th {
    border: none;
    background: none;
    padding: 0.1em;
    text-align: left;
    width: 30%;
}

.bike-detail .rental-car-spec td,
.bike-detail .rental-car-charge td {
    border: none;
    padding: 0.1em;
    text-align: left;
    padding-left: 1em;
}
.bike-detail .rental-car-charge td {
    text-align: right;
}
.bike-detail .car-name { display: none; }
.bike-detail .rental-car-charge td.car-detail {
    text-align: left;
}
.bike-detail .car-detail { display: none; }



.conts-rental-location { display: flex; justify-content: space-between; }
.conts-rental-location .text { width: 45%; padding: 2em 0; }
.conts-rental-location .shop-name { max-width: 90%; }
.conts-rental-location .map { width: 50%; height: 400px; position: relative; }
.conts-rental-location .map iframe { width: 50vw; height: 100%; position: absolute; top: 0; left: 0; margin: auto; }
@media screen and (max-width: 768px) {
  .conts-rental-location { flex-wrap: wrap; }
  .conts-rental-location .text { width: 100%; }
  .conts-rental-location .map { width: 100%; }
  .conts-rental-location .map iframe  { width: 100%; }
  
}
.conts-map { display: flex; flex-wrap: wrap; justify-content: space-between; }
.conts-map  + .conts-map { margin-top: 2rem; }
.conts-map .map { width: 45%; position: relative; }
.conts-map .map iframe { width: 100%; height: 100%; min-height: 280px;  object-fit: cover; }
.conts-map .text { width: 50%; padding: 1em 0; display: flex; flex-direction: column; justify-content: center; }
.conts-map .time { color: #F00; font-weight: bold; }

@media screen and (max-width: 768px) {
  
  .conts-map .map { width: 100%;}
  .conts-map .text { width: 100%;  }
}
.parking-fee { width: 280px; margin: 0 0 .5em; border: 1px solid; }
.parking-fee tr + tr { border-top: 1px solid; }
.parking-fee th { background: #F3F3F3; padding: 0 1em; border-right: 1px solid; font-weight: normal; }
.parking-fee td { padding: 0 1em; }


.conts-ins_comp { background: linear-gradient(120deg, #0D153E, #010101 30%, #000000 50%); color: #FFF; }
.list-ins_comp .item { padding-left: 170px; position: relative; }
.list-ins_comp .item + .item { border-top: 1px solid #707070; margin-top: 2.5rem; padding-top: 2.5rem; }
.list-ins_comp .item::before { content: '';  width: 140px; height: 80px; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; background-position: center center; background-repeat: no-repeat; background-size: contain; display: block;} 
.list-ins_comp .item.bike::before { background-image: url(../img/common/icon-bike.svg);  }
.list-ins_comp .item.bike2::before { background-image: url(../img/common/icon-bike2.svg);  }
.list-ins_comp .item.repaire::before { background-image: url(../img/common/icon-repaire.svg);  }
.list-ins_comp .item.attention::before { background-image: url(../img/common/icon-attention.svg);  }
.list-ins_comp .item.ribbon::before { background-image: url(../img/common/icon-ribbon.svg);  }
.list-ins_comp .item > dt { font-size: 1.25rem; font-weight: bold; }


@media screen and (max-width: 768px) {
  .list-ins_comp .item  { padding-left: 0; position: relative; }
  .list-ins_comp .item::before { width: 100%; height: 60px; top: 0; left: 0; right: 0; bottom: auto; position: relative; margin-bottom: 2em; }
}

.columnConts { display: flex; justify-content: space-between; }
.mainColumn { width: 70%; }
.sideColumn { width: 25%; }

@media screen and (max-width: 768px) {
  .columnConts { flex-wrap: wrap; }
  .mainColumn { width: 100%; }
  .sideColumn { width: 100%;  margin-top: 3rem; }
}


.title-side { font-size: 1.3rem; font-weight: bold; font-family: 'Figtree', sans-serif; border-bottom: 2px solid; padding-bottom: .5em; margin-bottom: .5em; }

.side-category { margin-bottom: 4em; }
.side-category > li { border-bottom: 1px solid; padding-bottom: .5em; margin-bottom: .5em; }
.side-category a { display: block; background: url("../img/common/right-arrow.svg") no-repeat right center / 1.2em 1.2em; padding-right: 2em; }

@media screen and (max-width: 768px) {
  .side-category { margin-bottom: 2em; }
}

.side-archive { border-bottom: 1px solid; }
.side-archive .year {  padding-bottom: 1em; cursor: pointer;background: url("../img/common/right-arrow.svg") no-repeat right .5em / 1.2em 1.2em; padding-right: 2em; }
.side-archive .month-list { border-top: 1px solid; display: none; padding: .5em 0; }
.side-archive .month-list a { display: block; padding: .5em 1em .5em 1.5em; position: relative; }
.side-archive .month-list a::after { content: ''; width: .4em; height: .4em; display: block; position: absolute; border-top: 1px solid; border-right: 1px solid; top: 0; bottom: 0; right: .5em; margin: auto; transform: rotate(45deg); } 


.list-news .item { display: flex; justify-content: space-between; margin-bottom: 60px; }
.list-news .img { width: 30%; }
.list-news .text { width: 65%; }
.list-news .title { border-bottom: 2px solid; font-size: 1.25rem; font-weight: bold; padding-bottom: .5em; margin-bottom: .5em; }
.list-news .date { font-size: .8375rem; font-family: 'Figtree', sans-serif; font-weight: bold; }
.list-news .excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .9rem; }

.list-news .more { width: 12em; text-align: center; font-size: .75rem; color: #FFF; display: block; border-radius: 2em; padding: .5em; margin: .5em 0 0 auto; background: #81204A; font-family: 'Figtree', sans-serif; font-weight: bold; }

@media screen and (max-width: 768px) {
  .list-news .item { flex-wrap: wrap; }
  .list-news .img { width: 100%; }
.list-news .text { width: 100%;  margin-top: 1em; }
}
.post-title { font-weight: bold; font-size: 2rem; border-bottom: 2px solid; padding-bottom: .2em; }
.post-date { display: block; font-size: .8375rem; font-weight: bold; font-family: 'Figtree', sans-serif; margin: 1em 0; }
.post-thumbnail { margin-bottom: 2em; }
.post-thumbnail img { width: 100%; }

.post-body h2 { font-weight: bold; margin-bottom: 1em; margin-top: 2em; border-bottom: 2px solid; font-size: 1.3rem; padding-bottom: .5em; }
.post-body h3 { font-weight: bold; margin-bottom: 1em; margin-top: 2em; border-bottom: 1px solid; font-size: 1.125rem;padding-bottom: .5em;  }
.post-body h4 { font-weight: bold; margin-bottom: 1em; margin-top: 2em; font-size: 1.125rem; }
.post-body h5 { font-weight: bold; margin-bottom: 1em; margin-top: 2em; }

.post-body ul { margin: 1em 0; }
.post-body ul > li { padding-left: 1.5em; }
.post-body ul > li::before { content: ''; width: .5em; height: 1em; margin-left: -1.5em; display: inline-block; border-bottom: 3px solid; border-right: 3px solid; margin-right: 1em; transform: rotate(45deg); }

.post-body ul.-dot > li::before { width: .3em; height: .3em; border-radius: 50%; background: #000; margin-right: 1.2em; }

.post-body ol { margin: 1em 0; counter-reset: listnum; }
.post-body ol > li { padding-left: 1.5em; counter-increment: listnum; }
.post-body ol > li::before { content: counter(listnum)'.'; width: 1.5em; display: inline-block; margin-left: -1.5em; }
.post-body img { margin-bottom: 1em; }

.post-body table { border: none; border-collapse: separate; border-spacing: 1em; }
.post-body table td { border: none; border-bottom: 2px solid #D1D1D1; padding: 1em 0; }
.post-body table td:first-child { border-bottom: 2px solid #222; width: 30%; }

.post-body a { text-decoration: underline; }
.post-body p { margin-bottom: 1em; }
.post-body img { margin-bottom: 1em; }

.bottom-paging { display: flex; align-items: center; justify-content: center; margin-top: 3em; }
.bottom-paging > * + *::before { content: '|'; margin: 0 1em;  }

.bottom-paging .prev,
.bottom-paging .next { display: flex; align-items: center; }
.bottom-paging .disable { opacity: .5; }
.bottom-paging .prev img { vertical-align: middle; margin-right: .5em; transform: rotate(180deg); }
.bottom-paging .next img { vertical-align: middle; margin-left: .5em; }

@media screen and (max-width: 768px) {
  .post-title { font-size: 1.5rem; }
  
  .bottom-paging  { font-size: .9rem; }
}




.rental-form-title,
.rental-vehicle-name{ font-size: 1.3rem; font-weight: bold; border-bottom: 2px solid; padding-bottom: .5em; margin-bottom: 1em; }
.rental-form-block { margin-bottom: 5rem; }

.mts-form-table,
.list-page .mts-form-table{ border-collapse: collapse; margin: 0; border: none; }
.mts-form-table tr + tr ,
.list-page .mts-form-table tr + tr { border-top: 1px solid #ddd; }
.mts-form-table th:first-child, .mts-form-table th:last-child, .mts-form-table th ,
.list-page .mts-form-table th:first-child, .list-page .mts-form-table th:last-child, .list-page .mts-form-table th { border: none; padding: 1.5em 0; vertical-align: top; }
.mts-form-table td:first-child, .mts-form-table td:last-child, .mts-form-table td,
.list-page .mts-form-table td:first-child, .list-page .mts-form-table td:last-child, .list-page .mts-form-table td { border: none; padding: 1em 0; }
#mts-customer-entry input,
#mts-customer-entry select { width: 100%; height: 3em; line-height: 3em; font-family: inherit; font-size: 1rem; padding: 0 .5em; }

#mts-customer-entry dd { margin: 0 0 1em 0;}


#mtsrcb-entry-form .rental-date-box {  padding: 1em; background: #EEE; }
.date-entry  { width: 100%; }
@media screen and (max-width: 768px) {
  #mtsrcb-entry-form .rental-date-box { padding: 6px; }
}

.rental-form-block.action-row { display: flex; align-items: center; justify-content: center; margin-bottom: 2rem; gap: 3px; }
.button-primary,
.rental-form-block.action-row input[name="check_form"] { width: 15rem;  background: linear-gradient(to bottom, #333333 50%, #222222 50%); border-radius: 5px; text-align: center; color: #FFF; font-size: 1.25rem;  padding: .5em; border: none; font-weight: bold; margin: 0 3px; }
.rental-form-block.action-row input[name="return_entry"] { margin-left: .5em; width: 8em; padding: .5em; border-radius: 5px; border: 1px solid #666; font-size: 1rem;margin: 0 3px;  }


.wp-pagenavi { margin: 2rem 0; text-align: center; }
.wp-pagenavi > span,
.wp-pagenavi > a { width: 2rem; height: 2rem; text-align: center; line-height: calc(2rem - 2px); border-radius: 2px; border: 1px solid #DDD; margin: 0 2px; display: inline-block; }
.wp-pagenavi .pages { width: fit-content; border: none; margin-right: 1em; }
.wp-pagenavi .current { color: #FFF; background: #222222; border: none; }
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { border: none; }

#mtsrcb-finish-list > p:first-child { border: #F00; padding: 2rem; margin-bottom: 3rem; }


.payment-button { 
  width: 15rem;
    background: linear-gradient(to bottom, #333333 50%, #222222 50%);
    border-radius: 5px;
    text-align: center;
    color: #FFF;
    font-size: 1.25rem;
    padding: .5em;
    border: none;
    font-weight: bold;
    margin: 0 auto;
}