
.l-container.section-visual-b {
  margin-bottom: 40px;
}

.order-flow-div {
  margin-bottom: 40px;
}

.section-visual-b .c-heading .c-text {

}
.section-visual-b .c-heading .c-text {

}


/* Select your usage period
- - - - - - - - - - - - - - - - - - - - - - - - - - */

.heading-2024 {
  margin-bottom: 40px;
  font-size: 36px;
  font-weight: 700;
}
.onthefly-div-flex {
  display:inline-flex;
  margin-bottom: 24px;
}
@media only screen and (max-width: 834px) {
  .onthefly-div-flex {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .onthefly-div-flex {
    display: block;
  }
}
.alt-button-white.end-date-2025,
.alt-button-white.pickup-date-2025 {
  display: inline-block;
  background-color: white;
  border: none;
  color: #222;
  font-size: 20px;
  font-weight: 700;
}
.heading-ut-icon.end-date-2025:before,
.heading-ut-icon.pickup-date-2025:before {
  background-image: url(/assets/img-leaf/icon/calendar-02-black.svg);
}

#usage-period-wrapper {
  margin-bottom: 56px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #E269A4;
}
#usage-period-wrapper > .usage-period-label-2025 {
  color: #222;
}

@media only screen and (max-width: 640px) {
  #startdate-div {
    margin-bottom: 40px;
  }
}
#express-wrapper {
  width: 300px;
  margin-bottom: 80px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 834px) {
  .ui-datepicker {
    margin-left: auto;
    margin-right: auto;
  }
}

.link-color-gray-2025 {
  color: #737373;
  text-decoration: underline;
}
.link-color-gray-2025:hover {
  color: #E269A4;
  text-decoration: underline;
}
.red-2025 {
  color: #DA1E28;
}

/* Select your item & enter quantity
product
- - - - - - - - - - - - - - - - - - - - - - - - - - */

.product-label-button-2025 {
  display: none;
}

.product-card-2025 {
  border-radius: 20px;
  border: 3px solid transparent;
  padding-bottom: 20px;
  overflow: hidden;
  border: 1px solid #F5F5F5;
  background: rgba(255, 255, 255, 0.10);
  box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.10);
}
.product-card-2025.st-active {
  border: 3px solid #E269A4;
}
#datasim-pic {
  background: #FCF1F6;
}
#wifi-pic {
  background: #F0FBFF;
}
.onthefly-div-flex .onthefly-item-pic {
  max-width: 400px;
  margin-bottom: 15px;
  padding: 0;
  border: none;
}

@media only screen and (max-width: 834px) {
  #product-wrapper #wifi-div > label,
  #product-wrapper #datasim-div > label {
    width: 100%;
  }
  #product-wrapper .onthefly-item-pic {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  #product-wrapper #wifi-div,
  #product-wrapper #datasim-div {
    margin-left: 0;
    margin-right: 0;
  }
  #product-wrapper #datasim-div {
    margin-bottom: 24px;
  }
}

/* sim, wifi 共通 */

#wifi-exp,
#datasim-product-title {
  margin-bottom: 16px;
  margin-top: 16px;
  font-size: 2.0rem;
  font-weight: 700;
}
#wifi-exp > span,
#datasim-product-title > span {
  font-size: 2.4rem;
  display: block;
}
.product-price-2025 {
  margin-bottom: 16px;
  font-size: 3.2rem;
  font-weight: 700;
}
#wifi-quanity-div,
#sim-quanity-div {
  margin-bottom: 16px;
}
.quantity-label-2025 {
  font-size: 1.8rem;
  font-weight: 700;
}
.onthefly-item-quantity {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
}
.product-option-box-2025 {
  display: inline-block;
  width: 320px;
  margin: auto;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .product-option-box-2025 {
    width: 320px;
  }
}
@media only screen and (max-width: 370px) {
  .product-option-box-2025 {
    width: 300px;
  }
}
.product-option-note-2025 {
  font-size: 1.4rem;
  color: #737373;
}
.product-option-note-2025 a.wt-modal {
  color: #737373;
}
.alt-button-white.product-total-price-2025 {
  margin-bottom: 80px;
  border: none;
  color: #222;
  font-size: 2.4rem;
  font-weight: 700;
}
.alt-button-white.product-total-price-2025 > span {
  color: #E269A4;
}

/* wifi */

#wifi-exp {
  display: block;
}

/* modal */

.wt-modal-window {
  height: 600px;
}
@media only screen and (max-width: 640px) {
  .wt-modal-window {
      height: calc(100% - 70px);
  }
}
.wt-modal-window .heading-2025 {
  font-size: 2.0rem;
  font-weight: 700;
}
.wt-modal-unit-in {
  padding-left: 20px;
  padding-right: 20px;
}
.wt-modal-window table {
  width: auto;
  margin-top: 10px;
  margin-bottom: 10px;
  border-collapse: separate;
  border-spacing: 0;
  empty-cells: show;
  border-top: solid 1px #d9d9d9;
  border-left: none;
}
.wt-modal-window table th,
.wt-modal-window table td {
  padding: 8px 20px;
  border-right: none;
  border-bottom: solid 1px #d9d9d9;
  font-size: 1.4rem;
  line-height: 1.3;
  vertical-align: middle;
}

.wt-modal-window .insurance-info-list > li {
  position: relative;
  padding: 3px 0 3px 20px;
}
.wt-modal-window .insurance-info-list > li:before {
  position: absolute;
  display: block;
  top: 14px;
  left: 2px;
  width: 6px;
  height: 6px;
  content: "";
  background: #666;
  border-radius: 4px;
  background-size: 100% auto;
}
a.wt-modal {
  color: #222;
}
a.wt-modal:hover {
  color: #E269A4;
  text-decoration: underline;
}


/* Select your pickup place
- - - - - - - - - - - - - - - - - - - - - - - - - - */

.pickup-explanation-div {
  color: #222;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
}

#pickup-place-row {
  display: flex;
  flex-wrap: wrap;
  width: 600px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}
#pickup-place-row .onthefly-pickup-place-buttons {
  display: block;
  width: calc( ( 100% - 30px ) / 2 );
  margin-left: 20px;
  padding: 15px 10px;
  border-radius: 100px;
  font-size: 1.6rem;
  color: #E269A4;
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  #pickup-place-row {
    width: 100%;
  }
  #pickup-place-row .onthefly-pickup-place-buttons {
    width: calc( ( 100% - 20px ) / 2 );
    margin-left: 10px;
  }
}
#pickup-place-row .onthefly-pickup-place-buttons:hover {
  background: #F9ECF2;
  cursor: pointer;
}
#pickup-place-row .onthefly-pickup-place-buttons:nth-child(odd) {
  margin-left: 0px;
}
#pickup-place-row .onthefly-pickup-place-buttons.alt-button-selected {
  border: 2px solid #EE96BD;
  background: #EE96BD !important;
  font-weight: 700;
  color: #fff;
}
#pickup-place-row .onthefly-pickup-place-buttons.alt-button-selected:hover {
  background: #F9ECF2 !important;
  color: #E269A4;
}

/*  */

#pickup-place-row .onthefly-pickup-place-buttons .c-text {
  position: relative;
  margin-left: 20px;
}
#pickup-place-row .onthefly-pickup-place-buttons .c-text:before {
  position: absolute;
  display: block;
  content: "";
  left: -10px;
  top: 50%;
  transform: translate(-100%, -50%);
  width: 24px;
  height: 24px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-image: url(/assets/img-leaf/icon/mail-01-white.svg);
  background-size: 100% auto;
}
@media only screen and (max-width: 640px) {
  #pickup-place-row .onthefly-pickup-place-buttons {
    font-size: 1.4rem;
  }
  #pickup-place-row .onthefly-pickup-place-buttons .c-text:before {
    width: 16px;
    height: 16px;
  }
}
#pickup-place-row .onthefly-pickup-place-buttons.type-airport .c-text:before {
  background-image: url(/assets/img-leaf/icon/airport-01-pink2.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-airport.alt-button-selected .c-text:before {
  background-image: url(/assets/img-leaf/icon/airport-01-white.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-airport.alt-button-selected:hover .c-text:before {
  background-image: url(/assets/img-leaf/icon/airport-01-pink2.svg);
}

#pickup-place-row .onthefly-pickup-place-buttons.type-hotel .c-text:before {
  background-image: url(/assets/img-leaf/icon/hotel-01-pink2.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-hotel.alt-button-selected .c-text:before {
  background-image: url(/assets/img-leaf/icon/hotel-01-white.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-hotel.alt-button-selected:hover .c-text:before {
  background-image: url(/assets/img-leaf/icon/hotel-01-pink2.svg);
}

#pickup-place-row .onthefly-pickup-place-buttons.type-office .c-text:before {
  background-image: url(/assets/img-leaf/icon/office-01-pink2.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-office.alt-button-selected .c-text:before {
  background-image: url(/assets/img-leaf/icon/office-01-white.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-office.alt-button-selected:hover .c-text:before {
  background-image: url(/assets/img-leaf/icon/office-01-pink2.svg);
}

#pickup-place-row .onthefly-pickup-place-buttons.type-residence .c-text:before {
  background-image: url(/assets/img-leaf/icon/residence-01-pink2.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-residence.alt-button-selected .c-text:before {
  background-image: url(/assets/img-leaf/icon/residence-01-white.svg);
}
#pickup-place-row .onthefly-pickup-place-buttons.type-residence.alt-button-selected:hover .c-text:before {
  background-image: url(/assets/img-leaf/icon/residence-01-pink2.svg);
}


/*  */

#pickup-place-row {

}

/* airport */

#airport-select-row {
  margin-top: 40px;
}
@media only screen and (min-width: 641px) {
  #airport-select-row {
    width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}
#flight-number-selector-div > label,
#pickuptime-selector-div > label,
#airport-selector-div > label {
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: 700;
}
#flight-number,
#pickuptime-select,
#airport-select {
  width: 320px;
  padding: 5px 20px;
  border-radius: 10px;
  border: 1px solid #D9D9D9;
  background-color: #fff;
}
#airport-select {
  margin-bottom: 15px;
}
#airport-ophour-notice {
  margin-bottom: 15px;
  color: #DA1E28;
  font-size: 1.4rem;
}

#flight-number-selector-div {
  margin-top: 35px;
}
#airport-operating-hours {
  padding-bottom: 10px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 10px;
  border: 1px solid #D9D9D9;
  background: #FFF9FB;
  text-align: left;
}
#airport-operating-hours .red-2023 {
  display: block;
  padding-top: 10px;
  text-align: center;
}
#airport-operating-hours .onthefly-ophour-box {
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 700;
  text-align: center;
}
#airport-operating-hours .red-2025 {
  display: block;
  margin-bottom: 10px;
  color: #DA1E28;
  font-size: 1.4rem;
  font-weight: 400;
  /* text-align: left; */
}
#hotel-residence-same-day-notice {
  margin-top: 40px;
}
#hotel-residence-same-day-notice .onthefly-notice-box {
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 10px;
  border: 1px solid #D9D9D9;
  background: #FFF9FB;
  text-align: left;
}


/* 4 Add item(s) to your cart and proceed to checkout
- - - - - - - - - - - - - - - - - - - - - - - - - - */

#checkout-button-wrapper {
  margin-top: 40px;
}
#checkout-button-wrapper .heading-2025 {
  margin-bottom: 40px;
  font-size: 2.4rem;
  font-weight: 700;
}
#checkout-button {
  display: block;
  width: 300px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 14px;
  padding-bottom: 14px;
  border: none;
  border-radius: 50px;
  background: #04996E;
  color: #fff;
  font-size: 2.0rem;
  font-weight: 700;
  text-decoration: none;
}
#checkout-button:hover {
  background: #087959 !important;
  color: rgba(255, 255, 255, 0.6) !important;
}


/* Compatibility
- - - - - - - - - - - - - - - - - - - - - - - - - - */

.board-ut.model-standard.compatibility {
  margin-top: 80px;
}
@media only screen and (min-width: 641px) {
  .board-ut.model-standard.compatibility {
    width: 840px;
    margin-left: auto;
    margin-right: auto;
  }
}


