@charset "UTF-8";
.deco__item--car-rental-sakura,
.deco__item--icon-car {
  position: relative
}
.el__btnBorderLink,
.el__btnReservation,
.page-menu__nav a {
  text-decoration: none
}
.special-header,
.special-header__hero .special-header__img {
  max-width: 1920px;
  margin: auto
}
.special-header {
  background-color: #5980ba
}
.special-header__ttl {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem
}
.page-menu__nav {
  padding: 1rem 0
}
.page-menu__nav__items {
  display: flex;
  justify-content: center
}
.page-menu__nav__item {
  width: 100%
}
.page-menu__nav__list {
  list-style: none;
  padding-left: 0;
  display: flex;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px
}
.page-menu__nav__list li {
  border-right: 1px solid #fff;
  padding: 0 5px;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center
}
.page-menu__nav__list li:last-child {
  border: none
}
.page-menu__nav__list button {
  background: inherit;
  border: none
}
.bl__carRentalIndex {
  max-width: 900px;
  margin: auto;
  padding-top: 3rem
}
.el__btnReservation {
  border: 3px solid #4396ae;
  width: 100%;
  display: block;
  text-align: center;
  padding: 1.8rem 4%;
  font-size: 1.5rem;
  border-radius: 10px;
  color: currentColor
}
.deco__item--icon-car::before {
  position: absolute;
  content: "";
  display: block;
  width: 36px;
  height: 32px;
  background: url(/img/special/car-rental/icon-car.webp) center/contain no-repeat;
  top: 0;
  left: -4.5rem
}
@media screen and (min-width:641px) and (max-width:1024px) {
  .deco__item--icon-car::before {
    width: calc(36px * .9);
    height: calc(32px * .9);
    left: -3.5rem
  }
}
@media screen and (max-width:640px) {
  .page-menu__nav {
    flex-wrap: wrap
  }
  .page-menu__nav li {
    flex: none;
    width: 25%;
    justify-content: flex-start;
    padding: 8px 5px;
    border-right: none;
    border-bottom: none
  }
  .page-menu__nav li::before {
    content: "▶︎";
    font-size: 1rem;
    margin-right: .3rem;
    color: #fff
  }
  .page-menu__nav a {
    font-size: 1rem
  }
  .header-sub {
    background: 0 0
  }
  .page-menu__nav__list {
    flex-wrap: wrap
  }
  .page-menu__nav__list li {
    flex: none;
    width: 33.3333333333%;
    justify-content: flex-start;
    padding: 5px
  }
  .page-menu__nav__list button {
    font-size: .9rem
  }
  .bl__carRentalIndex {
    padding-top: 2rem
  }
  .deco__item--icon-car::before {
    width: calc(36px * .9);
    height: calc(32px * .9);
    top: -2px;
    left: calc((32px * .9)/ -2)
  }
}
.deco__item--car-rental-sakura::before {
  position: absolute;
  content: "";
  display: block;
  width: 28%;
  height: 89%;
  background: url(/img/special/car-rental/car-rental-sakura.webp) center/contain no-repeat;
  bottom: -11%;
  left: 50%;
  transform: translateX(calc(-50% + 300px))
}
@media screen and (min-width:641px) and (max-width:1024px) {
  .deco__item--car-rental-sakura::before {
    width: 32%;
    height: 85%;
    transform: translateX(35%);
    bottom: -6px
  }
}
@media screen and (max-width:640px) {
  .deco__item--car-rental-sakura::before {
    width: 122%;
    height: 63%;
    bottom: -6px;
    transform: translateX(-21%)
  }
}
.bl__sightseeingSpots .bl__cardImg,
.bl__sightseeingSpots .deco-circle__base,
.deco__item--special-hero-txt {
  position: relative
}
.deco__item--special-hero-txt::after {
  position: absolute;
  content: "";
  display: block;
  width: 577px;
  height: 224px;
  background: url(/img/special/car-rental/txt-special-hero.webp) center/contain no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 192px),calc(-50% + 15px))
}
@media screen and (min-width:641px) and (max-width:1024px) {
  .deco__item--special-hero-txt::after {
    width: 46%;
    height: 86%;
    transform: translate(calc(-50% - 154px),calc(-50% + 15px))
  }
}
.bl__carRentalCategory .bl__carRentalCategoryTtl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px dotted #ef9ebe;
  margin-bottom: 2rem
}
.bl__carRentalCategory .bl__carRentalCategoryTtl__left {
  display: flex;
  align-items: center;
  gap: .5rem
}
.bl__carRentalCategory .bl__carRentalCategoryTtl__left::before {
  content: "●";
  color: #ef9ebd;
  font-size: .8rem;
  flex-shrink: 0
}
.bl__carRentalCategory .bl__carRentalCategoryTtl__inner {
  font-weight: 400;
  margin: 0;
  font-size: 1.25rem
}
@media screen and (min-width:1025px) {
  .page-menu__nav {
    font-size: 1rem
  }
  .bl__carRentalCategory .bl__carRentalCategoryTtl__inner {
    letter-spacing: 3px
  }
}
.bl__carRentalCategory .bl__carRentalCategoryTtl img {
  height: 3rem;
  width: auto
}
.bl__borderBoxBlue {
  border: 3px solid #1bc2d8;
  border-radius: 30px
}
.bl__aboutSakura .bl__borderBoxBlue {
  padding: 2.5rem 4%
}
.bl__aboutSakura .bl__borderBoxBlue .bl__cardTtl {
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 0 1rem
}
.bl__aboutSakura .bl__borderBoxBlue .bl__cardItem:nth-child(2) {
  display: flex;
  align-items: flex-start;
  margin-top: 1rem
}
.bl__aboutSakura .bl__borderBoxBlue .bl__cardListTxt {
  border-top: 1px solid currentColor;
  margin: 0;
  padding: .8rem 0
}
.bl__aboutSakura .bl__borderBoxBlue .bl__cardIcons {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .5rem
}
.bl__aboutSakura .bl__borderBoxBlue .el__cardIcon {
  background: #1bc2d8;
  color: #fff;
  padding: .3rem .8rem;
  border-radius: 5px;
  margin: 0;
  font-size: .875rem
}
.bl__aboutSakura .bl__borderBoxBlue .bl__cardImg img {
  width: 100%;
  height: auto
}
.bl__beforeAddingOptions .bl__cardTtl,
.bl__chargingSpot .bl__cardTtl,
.el__ttlRibbon {
  background: #009892;
  display: inline-block;
  padding: 1rem 6%;
  color: #fff
}
.bl__chargingSpot .bl__cardAddress {
  border-bottom: 1px solid;
  padding-bottom: 1rem
}
.bl__chargingSpot .bl__cardAddress:nth-child(2) {
  padding-top: 1rem
}
.el__tableTtl {
  background: #9ddede;
  font-size: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
  text-align: center
}
.bl__infoBanner,
.bl__tuktukCatch {
  text-align: center;
  margin-bottom: 2rem
}
.bl__table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  table-layout: fixed;
  font-size: .9rem
}
.bl__table td,
.bl__table th {
  border: 1px solid #000;
  padding: 10px;
  height: 50px
}
.bl__table thead th {
  background-color: #f0f0f0;
  font-weight: 700
}
.bl__table tbody tr:nth-child(even) {
  background-color: #e0e0e0
}
.bl__table tbody tr:nth-child(odd) {
  background-color: #fff
}
.bl__pricingTable--sakura .el__tableTtl {
  background: #ef9ebd;
  color: #fff
}
.bl__pricingTable--leaf .el__tableTtl {
  background: #5bad7f;
  color: #fff
}
.el__txt-caution {
  color: #e84343
}
.bl__cancelTable .bl__table,
.bl__optionTable .bl__table,
.bl__pricingTable .bl__table {
  border: 2px solid
}
.bl__pricingTable .bl__table td,
.bl__pricingTable .bl__table th {
  border-left: 2px solid;
  border-right: 2px solid
}
.bl__pricingTable .bl__table thead tr {
  border-top: 2px solid;
  border-bottom: 2px solid
}
.bl__pricingTable td:nth-child(1),
.bl__pricingTable th:nth-child(1) {
  background-color: #fcfcfc
}
.bl__pricingTable td:nth-child(2),
.bl__pricingTable th:nth-child(2) {
  background-color: #fff7d8
}
.bl__pricingTable td:nth-child(3),
.bl__pricingTable th:nth-child(3) {
  background-color: #ffe5e5
}
.bl__cancelTable thead th,
.bl__optionTable thead th {
  background-color: #fcfcfc;
  font-weight: 700;
  border: 2px solid
}
.bl__cancelTable tbody tr:nth-child(even),
.bl__optionTable tbody tr:nth-child(even) {
  background-color: #fff;
  border: 2px solid
}
.bl__optionTable tbody tr:nth-child(odd) {
  background-color: #eaf2c0
}
.bl__cancelTable tbody tr:nth-child(odd) {
  background-color: #efefef
}
.el__btnBorderLink {
  border: 2px solid #919191;
  width: 100%;
  display: block;
  text-align: center;
  padding: 1.5rem 4%;
  font-size: 1rem;
  border-radius: 10px;
  color: currentColor
}
.bl__bnrRakutenLodgingAndSet,
.el__ttlTag {
  font-size: 1.1rem
}
@media screen and (min-width:641px) {
  .page-menu__nav__list {
    max-width: 1024px;
    margin-right: auto;
    margin-left: auto
  }
  .page-menu__nav__list button {
    color: #fff
  }
  .deco__item--icon-car {
    margin-left: 36px
  }
  .bl__aboutSakura .bl__borderBoxBlue .bl__cardItem__inner:first-child,
  .bl__aboutSakura .bl__borderBoxBlue .bl__cardItem__inner:nth-child(2) {
    width: 50%
  }
  .bl__chargingSpot .bl__cardBody {
    display: flex
  }
  .bl__chargingSpot .bl__cardBody .bl__cardItem {
    width: 50%
  }
  .bl__chargingSpot .bl__cardAddresses {
    padding-left: 4%
  }
  .el__btnBorderLink {
    transition: .3s
  }
  .el__btnBorderLink:hover {
    opacity: .6
  }
}
.el__ttlTag {
  color: #fff;
  background: #1bc2d8;
  padding: .8rem 3%;
  display: inline-block;
  border-radius: 20px
}
.bl__carRentalAccess .bl__mapCarRental .el__btnBorderLink {
  max-width: 500px;
  padding: 1rem;
  margin-left: auto;
  margin-right: auto
}
.bl__carRentalAccess .bl__mapCarRental .el__shopName,
.bl__carRentalAccess .bl__mapCarRental p,
.bl__sightseeingSpots p.text-center {
  text-align: center
}
.bl__sightseeingSpots .row {
  display: flex;
  flex-wrap: wrap;
  row-gap: 3rem
}
.bl__sightseeingSpots .col-md-4 {
  width: 33.333%;
  padding: .5rem
}
.bl__sightseeingSpots .el__decoCircle {
  font-family: "Sawarabi Gothic","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  width: 76px;
  height: 76px;
  background: #fff;
  color: #047686;
  border: 3px solid #1bc2d8;
  border-radius: 50%;
  top: -1rem;
  left: -2rem;
  font-weight: 700;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 1
}
@media screen and (max-width:1024px) {
  .bl__sightseeingSpots .el__decoCircle {
    width: calc(76px * 1.2);
    height: calc(76px * 1.2);
    top: -1.3rem;
    left: -1rem;
    font-size: 1.3rem
  }
}
.bl__sightseeingSpots .bl__cardImg img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover
}
.bl__sightseeingSpots .el__paragraph {
  font-size: .875rem
}
.bl__faqCarRental .faq-list__list__block > * {
  margin-bottom: 1.2rem
}
.bl__faqCarRental .faq-list__list__block > :first-child,
.bl__faqCarRental .faq-list__list__block > :nth-child(2) li {
  border-radius: 10px
}
.bl__faqCarRental .faq-list__list__block > :first-child {
  border: 2px solid #7cd7e3;
  background: #c9f0f5;
  margin-bottom: .5rem;
  padding: 10px 6%
}
.bl__faqCarRental .faq-list__list__block > :nth-child(2) li {
  border-radius: 10px;
  border: 2px solid #efabab;
  background: 0 0;
  padding: 15px 4% 15px 7%
}
.bl__faqCarRental .faq-list__list {
  color: currentColor
}
.bl__infoBanner {
  background: #eb5b5b;
  color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 700;
  display: block;
  width: 100%
}
@media screen and (max-width:640px) {
  .deco__item--special-hero-txt::after {
    background-image: url(/img/special/car-rental/txt-special-hero-sp.webp);
    width: 101%;
    height: 57%;
    transform: translate(-50%,-106%);
    top: 65%
  }
  .bl__carRentalCategory .bl__carRentalCategoryTtl__inner {
    font-size: 1.1rem
  }
  .bl__aboutSakura .bl__borderBoxBlue .bl__cardItem:nth-child(2) {
    flex-direction: column
  }
  .bl__aboutSakura .bl__borderBoxBlue .bl__cardItem__inner:nth-child(2) {
    margin-top: 1.5rem;
    width: 100%
  }
  .bl__chargingSpot .bl__cardBody .bl__cardItem:first-child {
    margin-bottom: 2rem
  }
  .bl__table {
    font-size: .875rem
  }
  .el__ttlTag {
    padding: .8rem 6%
  }
  .bl__sightseeingSpots .col-md-4 {
    width: 100%
  }
  .bl__faqCarRental .faq-list__list__block > :first-child {
    padding: 10px 9%
  }
  .bl__bnrRakutenLodgingAndSet {
    font-size: 1rem
  }
  .bl__infoBanner {
    font-size: 1.2rem
  }
}
.bl__tuktukCatch p {
  margin: 0;
  font-size: 1.2rem;
  display: inline-block;
  border-bottom: 6px solid #93edf9;
  line-height: 1;
  transform: translateY(2px)
}