/*====================================*/
/* common  */
/*====================================*/
@import url("/drivepass/assets/css/all.min.css"); /* fontawesome free 7 */
@import url("https://fonts.googleapis.com/css2?family=Hind+Vadodara:wght@300;400;500;600;700&display=swap");
:root {
  --colA1: #007ace;
  --colA2: #e1f2fb;
  --colA3: #edf7fb;

  /*-- michitabi site--*/
  --color-black: #000;
  --color-white: #fff;
  --color-red: #d70000;
  --color-tomato: #c32f2e;
  --color-purple: #625ea9;
  --color-dark-gray: #525252;
  --color-medium-gray: #707070;
  --color-light-gray: #efefef;
  --color-light-ivory: #f6f6e4;
  --color-light-green: #eef7c6;
  --color-light-blue: #f0fdff;
  --color-light-yellow: #fffdd8;
  --color-pink: #d6335e;
  --color-notes: #ff0000;
  --counter-round: #007ace;
  --color-border: #00a9be;

  --font-size-40: 4rem;
  --font-size-36: 3.6rem;
  --font-size-32: 3.2rem;
  --font-size-30: 3rem;
  --font-size-28: 2.8rem;
  --font-size-26: 2.6rem;
  --font-size-25: 2.5rem;
  --font-size-24: 2.4rem;
  --font-size-22: 2.2rem;
  --font-size-20: 2rem;
  --font-size-18: 1.8rem;
  --font-size-16: 1.6rem;
  --font-size-14: 1.4rem;
  --font-size-12: 1.2rem;
  --font-size-10: 1rem;

  --font-Hind: "Hind Vadodara", sans-serif;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
main {
  flex: 1;
}
.sp-only {
  display: none;
}
.tb-only {
  display: none;
}
span.sp-only {
  display: inline;
  margin-left: 1em;
}
@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .tb-only {
    display: initial;
  }
}
@media (max-width: 576px) {
  .sp-only {
    display: initial;
  }
  span.sp-only {
    display: block;
    margin-left: 0;
  }
}
#dpas-top ul#l-gnav > li:nth-child(2),
body[id*="kan"] ul#l-gnav > li:nth-child(2),
body[id*="chu"] ul#l-gnav > li:nth-child(2),
body[id*="sik"] ul#l-gnav > li:nth-child(2),
body[id*="kyo"] ul#l-gnav > li:nth-child(2),
body[id*="tr"] ul#l-gnav > li:nth-child(2) {
  background-color: #ffffff;
}
body[id*="fpas"] ul#l-gnav > li:nth-child(3) {
  background-color: #ffffff;
}
body[id="rtrv-top"] ul#l-gnav > li:nth-child(2) {
  background-color: initial;
}
/*====================================*/
/* img  */
/*====================================*/
.l-img-center {
  display: grid;
  place-items: center;
}
/*====================================*/
/* layout  */
/*====================================*/
.l-container-l {
  max-width: 1200px;
  width: 94.872vw;
  margin-inline: auto;
}
.l-container-m {
  max-width: 1040px;
  width: 94.872vw;
  margin-inline: auto;
}
.l-container-s {
  max-width: 880px;
  width: 94.872vw;
  margin-inline: auto;
}
.l-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-flex-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.l-grid-wrapper {
  container: l-grid-sp l-grid-tb / inline-size;
}
.l-grid-02 {
  grid-template-columns: repeat(2, 1fr);
}
.l-grid-03 {
  grid-template-columns: repeat(3, 1fr);
}
.l-grid,
.l-grid-sp,
.l-grid-tb {
  display: grid;
}
.l-grid-item-full {
  grid-column: 1 / -1;
}
@container l-grid-tb (max-width: 768px) {
  .l-grid-tb {
    display: block;
    margin: auto;
  }
}
@container l-grid-sp (max-width: 576px) {
  .l-grid-sp {
    display: block;
    margin: auto;
  }
}
dl.l-d-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  dt {
    grid-column: 1;
  }
  dd {
    grid-column: 2;
  }
  @media (min-width: 769px) {
    &.pc-list {
      width: 100%;
      gap: 30px;
    }
  }
  @media (max-width: 576px) {
    &.pc-list {
      display: block;
      width: 100%;
    }
  }
}
/*====================================*/
/* container bg  */
/*====================================*/
.bg-w {
  background-color: var(--color-white);
  border-radius: 20px;
}
.bg-b {
  background-color: var(--colA1);
  border-radius: 10px;
}
.bg-lb {
  background-color: var(--color-light-blue);
  border-radius: 10px;
}
.bg-lb-01 {
  background-color: var(--colA2);
}
.bg-ly {
  background-color: var(--color-light-yellow);
  border-radius: 10px;
}
.bg-lp {
  background-color: #fff4f7;
  border-radius: 10px;
}
.bd-gray {
  border: 1px solid var(--color-dark-gray);
}
.bd-lgray {
  border: 1px solid var(--color-medium-gray);
}
/*====================================*/
/* h* heading  */
/*====================================*/
h2 {
  line-height: 1.3;
}
.h2-heading-l {
  font-size: var(--font-size-36);
  font-weight: 600;
  text-align: center;
}
.h2-heading-ml {
  font-size: var(--font-size-28);
  font-weight: 600;
  text-align: center;
}
.h2-heading-m {
  font-size: var(--font-size-24);
  font-weight: 600;
  text-align: center;
}
.h3-heading-l {
  font-size: var(--font-size-36);
  font-weight: 600;
}
.h3-heading-ml {
  font-size: var(--font-size-28);
  font-weight: 600;
}
.h3-heading-m {
  font-size: var(--font-size-25);
  font-weight: 600;
}
.h3-heading-s {
  font-size: var(--font-size-18);
  font-weight: 600;
}
.h4-heading-l {
  font-size: var(--font-size-20);
  font-weight: 600;
}
.h-br-b {
  display: inline-block;
  font-size: var(--font-size-14);
  padding: 0.1em 1em;
  margin-bottom: 0.5em;
  border: 1px solid var(--color-black);
}
.h-br-b {
  display: inline-block;
  color: var(--colA1);
  font-size: var(--font-size-18);
  padding: 0.1em 1em;
  margin-bottom: 0.5em;
  border: 1px solid var(--colA1);
}
@media (max-width: 768px) {
  .h2-heading-l {
    font-size: var(--font-size-24);
  }
  .h3-heading-l {
    font-size: var(--font-size-24);
    font-weight: 600;
  }
  .h3-heading-m {
    font-size: var(--font-size-20);
  }
}
/*-- counter --*/
.counter-round-group {
  counter-reset: number;

  .h-counter-round {
    counter-increment: number;
    display: flex;
    align-items: center;
    max-width: 520px;
    width: 100%;
    min-height: 80px;
    padding-inline: 20px;
    margin-top: 0;
    margin-inline: auto;
    background-color: var(--color-white);
    border-radius: 5px;

    &::before {
      content: counter(number);
      top: 0;
      left: 0;
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      color: var(--color-white);
      font-size: 25px;
      margin-right: 22px;
      background-color: var(--counter-round);
      border-radius: 9999px;
    }
  }
}
.l-block {
  counter-reset: block-num;

  .count-header {
    counter-increment: block-num;

    &::before {
      display: inline-block;
      content: counter(block-num) ".";
      margin-right: 0.5em;
    }
  }
}
/*-- heading-bl --*/
.heading-bl-title {
  font-size: var(--font-size-20);
  font-weight: 600;
  padding-block: 12px;
  padding-inline: 21px;
  background-color: #dbf4ff;
  border-radius: 5px;
  margin-top: 0;
  margin-bottom: clamp(21px, calc(17.25px + 0.625vw), 26px);
}
.heading-bl-round {
  display: grid;
  place-items: center;
  max-width: 300px;
  width: 50%;
  min-height: 60px;
  color: var(--color-white);
  font-size: var(--font-size-18);
  font-weight: 600;
  background-color: var(--colA1);
  border-radius: 9999px;
}
.heading-bl-square {
  display: grid;
  place-items: center;
  max-width: 300px;
  width: 50%;
  min-height: 60px;
  color: var(--color-white);
  font-size: var(--font-size-18);
  font-weight: 600;
  background-color: var(--colA1);
  border-radius: 5px;
}
.heading-pk-square {
  display: grid;
  place-items: center;
  max-width: 300px;
  width: 50%;
  min-height: 60px;
  color: var(--color-white);
  font-size: var(--font-size-18);
  font-weight: 600;
  background-color: var(--color-pink);
  border-radius: 5px;
}
@media (max-width: 576px) {
  .heading-bl-round {
    min-height: 35px;
    font-size: var(--font-size-14);
  }
  .heading-bl-square {
    min-height: 35px;
    font-size: var(--font-size-14);
  }
  .heading-pk-square {
    min-height: 35px;
    font-size: var(--font-size-14);
  }
}
/*====================================*/
/* text  */
/*====================================*/
p {
  font-size: var(--font-size-16);
  line-height: 1.8;
}
.fs-20 {
  font-size: var(--font-size-20);
}
.f-18,
.fs-18 {
  font-size: var(--font-size-18);
}
.f-12 {
  font-size: var(--font-size-12);
}
.catch-l {
  font-size: var(--font-size-30);
  font-weight: 600;
  text-align: center;
}
.catch-m {
  font-size: var(--font-size-24);
  font-weight: 600;
  text-align: center;
}
.catch-s {
  font-size: var(--font-size-20);
  font-weight: 600;
}
.lead-m {
  font-size: var(--font-size-18);
  font-weight: 600;
  text-align: center;
}
.notes {
  font-size: var(--font-size-14);
}
.f-bold {
  font-weight: 600;
}
.bold-40 {
  font-size: var(--font-size-40);
  font-weight: 600;
}
.bold-32 {
  font-size: var(--font-size-32);
  font-weight: 600;
}
.acc-r {
  color: var(--color-tomato);
}
.notes-r {
  color: var(--color-notes);
}
.notes-fs20r {
  color: var(--color-notes);
  font-size: var(--font-size-20);
  font-weight: 600;
}
.notes-lr {
  color: #ec767c;
}
.notes-b {
  color: #3a48a5;
}
.emp-b {
  color: var(--colA1);
}
.indent {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
  a {
    text-indent: 0;
  }
}
.indent-txt {
  text-indent: 1.5rem;
  padding-left: -1.5rem;
}

.indent-pars {
  text-indent: -4rem;
  padding-left: 3.5rem;
}
.txt-l {
  text-align: left;
}
@container l-grid-sp (max-width: 768px) {
  p {
    font-size: var(--font-size-14);
  }
}
@media (max-width: 576px) {
  .catch-l {
    font-size: var(--font-size-22);
  }
  .catch-m {
    font-size: var(--font-size-18);
  }
  .catch-s {
    font-size: var(--font-size-16);
    font-weight: 600;
  }
  .lead-m {
    font-size: var(--font-size-14);
  }
  .bold-40 {
    font-size: var(--font-size-22);
  }
  .bold-32 {
    font-size: var(--font-size-20);
  }
}
/*====================================*/
/* margin  */
/*====================================*/
/*-- margin-block --*/
.mk-none {
  margin-block: 0 !important;
}
.mk-md {
  margin-block: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.mk-sm {
  margin-block: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.mk-xs {
  margin-block: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*-- margin-inline --*/
.mi-auto {
  display: block;
  margin-inline: auto;
}
/*-- margin-top --*/
.mt-none {
  margin-top: 0 !important;
}
.mt-ml {
  margin-top: clamp(20px, calc(8.75px + 1.875vw), 35px) !important;
}
.mt-md {
  margin-top: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.mt-sm {
  margin-top: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.mt-xs {
  margin-top: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*-- margin-bottom --*/
.mb-none {
  margin-bottom: 0 !important;
}
.mb-ml {
  margin-bottom: clamp(20px, calc(8.75px + 1.875vw), 35px) !important;
}
.mb-md {
  margin-bottom: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.mb-sm {
  margin-bottom: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.mb-xs {
  margin-bottom: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*====================================*/
/* padding  */
/*====================================*/
/*-- padding-block --*/
.pb-none {
  padding-block: 0 !important;
}
.pb-md {
  padding-block: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.pb-sm {
  padding-block: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.pb-xs {
  padding-block: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*-- padding-inline --*/
.pi-none {
  padding-inline: 0 !important;
}
.pi-md {
  padding-inline: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.pi-sm {
  padding-inline: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.pi-xs {
  padding-inline: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*-- padding-top --*/
.pt-none {
  padding-top: 0 !important;
}
.pt-md {
  padding-top: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.pt-sm {
  padding-top: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.pt-xs {
  padding-top: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*-- padding-bottom --*/
.pb-none {
  padding-bottom: 0 !important;
}
.pb-md {
  padding-bottom: clamp(16px, calc(13px + 0.5vw), 20px) !important;
}
.pb-sm {
  padding-bottom: clamp(10px, calc(4px + 1vw), 18px) !important;
}
.pb-xs {
  padding-bottom: clamp(6px, calc(0px + 1vw), 14px) !important;
}
/*====================================*/
/* list  */
/*====================================*/
li {
  & > ul {
    margin-top: 0.5em;
    li {
      margin-bottom: 0.8rem;

      &:last-child {
        margin-bottom: 0;
      }
    }
  }
  & > ol {
    margin-top: 0.5em;
    li {
      margin-bottom: 0.8rem;

      &:last-child {
        margin-bottom: 0;
      }
    }
  }
}
.list-caret-right > li {
  padding-left: 1.5rem;

  &::before {
    display: inline-block;
    content: "\f105";
  }
}
.list-pare-no {
  counter-reset: number;
  & > li {
    position: relative;
    counter-increment: number;
    padding-left: 2.5rem;
    margin-bottom: 0.8rem;

    &:last-child {
      margin-bottom: 0;
    }
    &::before {
      position: absolute;
      top: 0;
      left: 0;
      display: inline-block;
      content: "(" counter(number) ")";
    }
  }
}
.notes-count {
  counter-reset: number;

  li {
    position: relative;
    counter-increment: number;
    font-size: var(--font-size-14);
    padding-left: 4rem;
    margin-bottom: 0.8rem;

    &:last-child {
      margin-bottom: 0;
    }
    &::before {
      position: absolute;
      top: 0;
      left: 0;
      display: inline-block;
      content: "注" counter(number) " ";
    }
  }
}
ul.caution_list {
  padding-left: 0;
  li {
    position: relative;
    list-style: none;
    padding-left: 1.2em;
  }
  li::marker {
    content: none;
  }
  li::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
  }
}
ul.caution_list_num {
  counter-reset: number;

  li {
    position: relative;
    list-style: none;
    counter-increment: number;
    padding-left: 2em;
  }
  li::before {
    content: "※" counter(number) " ";
    position: absolute;
    left: 0;
    top: 0;
  }
}

dl.dl-list {
  display: grid;
  grid-template-columns: max-content 1fr;
  border-top: 1px solid var(--color-medium-gray);
  border-left: 1px solid var(--color-medium-gray);
  border-right: 1px solid var(--color-medium-gray);

  & > dt {
    padding-block: clamp(11px, calc(2px + 1.5vw), 23px);
    padding-inline: clamp(11px, calc(5.749999999999999px + 0.8750000000000001vw), 18px);
    border-right: 1px solid var(--color-medium-gray);
    border-bottom: 1px solid var(--color-medium-gray);
    background-color: var(--color-light-yellow);
  }
  & > dd {
    padding-block: clamp(11px, calc(2px + 1.5vw), 23px);
    padding-inline: clamp(11px, calc(-7px + 3vw), 35px);
    border-bottom: 1px solid var(--color-medium-gray);
  }
}
@media (max-width: 576px) {
  dl.dl-list {
    grid-template-columns: 1fr;
    & > dt {
      border-right: none;
    }
  }
}
dl.dl-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  width: 100%;
  margin-inline: auto;

  dd {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 1em;
    &::before {
      position: absolute;
      content: "：";
      left: 0;
    }
    &.lone-dd {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      grid-column: 2;
    }
    &.lone-dd-price {
      display: block;
      grid-column: 2;
      text-align: right;
      &::before {
        content: none;
      }
    }
  }
}
@media (max-width: 576px) {
  dl.dl-grid.dl-grid-sp {
    grid-template-columns: 1fr;

    dd {
      &::before {
        content: none;
      }
      &.lone-dd {
        grid-column: auto;
      }
    }
  }
}

/*====================================*/
/* link  */
/*====================================*/
.link-block {
  display: block;
}
.link-txt-wapper {
  text-align: center;
}
.link-txt-under {
  text-decoration: underline;

  &:hover {
    text-decoration: none;
  }
}
.link-txt-no {
  color: var(--color-black);
}
.link-icf-ricon::after {
  display: inline-block;
  content: "\f105";
  padding-left: 0.5rem;
}
.link-icf-dicon::after {
  display: inline-block;
  content: "\e908";
  color: var(--colA1);
  padding-left: 0.5rem;
  transform: rotate(90deg);
}
.link-icf-licon::after {
  display: inline-block;
  content: "\e908";
  color: var(--colA1);
  padding-left: 0.5rem;
}
ul[class^="icf-list"] > li.marker-normal:has(a)::marker {
  color: var(--color-black);
}
/*====================================*/
/* icon  */
/*====================================*/
.icon-group {
  justify-content: start;
  gap: 0 9px;
}
.icon-etc {
  width: 63px;
}
.icon-motorcycle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 114px;
  height: 31px;
  color: var(--color-purple);
  font-size: var(--font-size-18);
  background-color: var(--color-white);
  border: 1px solid var(--color-purple);
}
.icon-notes-circle {
  position: relative;
  font-weight: 600;
  padding-left: 3rem;

  &::before {
    position: absolute;
    left: 0;
    font-family: "Font Awesome 7 Free" !important;
    display: inline-block;
    content: "\f06a";
    color: var(--color-notes);
    font-size: var(--font-size-24);
    font-weight: 900;
  }
}
.icon-faq {
  display: inline-block;
  width: 89px;
  height: 49px;
  background-image: url(/drivepass/assets/img/icon/icon_faq.svg);
  background-size: cover;
}
.icon-freedial {
  display: inline-block;
  width: 54px;
  height: 28px;
  background-image: url(/drivepass/assets/img/icon/icon_freedial.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .icon-etc {
    width: 49px;
  }
  .icon-motorcycle {
    width: 90px;
    height: 24px;
    font-size: var(--font-size-14);
  }
}
@media (max-width: 576px) {
  .icon-faq {
    width: 56px;
    height: 30px;
  }
  .icon-freedial {
    width: 45px;
    height: 23px;
  }
}
/*====================================*/
/* btn  */
/*====================================*/
.btn-group {
  .icf-boxbtn {
    min-height: 64px;
    font-size: var(--font-size-16);
    margin-bottom: 0;
    border-radius: 14px;
    box-shadow: 0px 3px 6px #00000029;

    &::after {
      right: 15px;
    }
    span {
      left: 24px;
    }
  }
  .icf-roundbtn-h {
    width: 100%;
    min-height: 64px;
    font-size: var(--font-size-16);
    text-align: left;
    padding-left: 24px;
    border-radius: 14px;
    box-shadow: 0px 3px 6px #00000029;

    span {
      display: block;
      padding-right: calc(1em + 10px);
      margin: 0 0;
      position: absolute;
      top: 50%;
      left: 24px;
      transform: translateY(-50%);
    }
  }
}
.btn-bw-square {
  max-width: 452px;
  width: 100%;
  font-size: var(--font-size-18);
  font-weight: 600;
  text-align: center;
  padding-block: 15px;
  background-color: var(--color-white);
  border: 1px solid var(--color-medium-gray);
  border-radius: 5px;
  transition: all 0.2s ease;

  &::after {
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900;
    display: inline-block;
    content: "\f105";
    padding-left: 1rem;
  }
  &:hover {
    opacity: 0.75;
  }
}
.btn-bo-round {
  position: relative;
  max-width: 480px;
  width: 100%;
  font-size: var(--font-size-18);
  font-weight: 600;
  text-align: center;
  padding-block: clamp(17px, calc(12.5px + 0.75vw), 23px);
  background-color: #f17700;
  border-radius: 9999px;
  transition: all 0.2s ease;

  &::after {
    font-family: "wnexco-icf" !important;
    position: absolute;
    top: calc(50% - 0.8rem);
    right: 2.1rem;
    content: "\e908";
    display: inline-block;
    overflow: hidden;
    color: var(--color-white);
  }
  &:hover {
    opacity: 0.75;
  }
}
:where(button[class^="btn-accordion-"]) {
  position: relative;
  background-color: unset;

  &::after {
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900;
    display: inline-block;
    content: "\f055";
    padding-left: 1rem;
  }
  &.is-open::after {
    content: "\f056";
  }
}
.btn-accordion-b {
  color: var(--colA1);
  font-size: var(--font-size-24);
  font-weight: 600;
  border: none;
}
.btn-accordion-v {
  position: relative;
  display: grid;
  place-items: center;
  max-width: 340px;
  width: 100%;
  min-height: 70px;
  color: var(--color-pink);
  font-size: var(--font-size-24);
  font-weight: 600;
  border: 2px solid var(--color-pink);
  border-radius: 9999px;
  margin-inline: auto;

  &::after {
    position: absolute;
    right: 2rem;
  }
  &[data-accordion="acc-examples"] {
    color: var(--colA1);
    border: 2px solid var(--colA1);

    &::after {
      color: var(--colA1);
    }
  }
}
.btn-accordion-bb {
  position: relative;
  display: grid;
  place-items: center;
  max-width: 675px;
  width: 100%;
  min-height: 95px;
  color: var(--color-white);
  font-size: var(--font-size-24);
  font-weight: 600;
  background-color: var(--colA1);
  border: none;
  border-radius: 9999px;
  margin-inline: auto;

  &::after {
    position: absolute;
    right: 2rem;
  }
}
@media (max-width: 576px) {
  .btn-accordion-b {
    font-size: var(--font-size-20);
  }
  .btn-accordion-v {
    min-height: 65px;
  }
  .btn-accordion-bb {
    font-size: var(--font-size-20);
    min-height: 84px;
  }
}
.pagination-group {
  margin-top: clamp(32px, calc(-9.25px + 6.875000000000001vw), 87px);

  .btn-previous {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40vw;
    color: var(--colA1);
    font-weight: 600;
    background-color: var(--color-white);
    border: 1px solid #acacac;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 8px;
    transition: all 0.2s ease;
    cursor: pointer;

    &:hover {
      opacity: 0.75;
    }

    &::before {
      font-family: "Font Awesome 7 Free" !important;
      content: "\f359";
      font-weight: 900;
      display: inline-block;
      padding-right: 0.5rem;
    }
  }
  @media (min-width: 769px) {
    .btn-previous {
      max-width: 220px;
      height: 60px;
    }
  }
  @media (max-width: 768px) {
    .btn-previous {
      max-width: 150px;
      height: 37px;
      font-size: var(--font-size-14);
    }
  }
  .btn-next {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self: end;
    width: 40vw;
    color: var(--colA1);
    font-weight: 600;
    background-color: var(--color-white);
    border: 1px solid #acacac;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 8px;
    transition: all 0.2s ease;
    cursor: pointer;

    &:hover {
      opacity: 0.75;
    }

    &::after {
      font-family: "Font Awesome 7 Free" !important;
      font-weight: 900;
      display: inline-block;
      content: "\f35a";
      padding-left: 0.5rem;
    }
  }
  @media (min-width: 769px) {
    .btn-next {
      max-width: 220px;
      height: 60px;
    }
  }
  @media (max-width: 768px) {
    .btn-next {
      max-width: 150px;
      height: 37px;
      font-size: var(--font-size-14);
    }
  }
}
/*====================================*/
/* js-accordion-contents   */
/*====================================*/
.js-accordion-contents {
  interpolate-size: allow-keywords;
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;

  img {
    width: 100%;
  }
}
.js-accordion-contents.is-open {
  height: auto;
}

/*====================================*/
/* Anchor Navigation Link   */
/*====================================*/
.anc-nav-links {
  background-color: initial;
  ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  ul.links-b {
    a {
      color: var(--colA1);
    }
  }
  ul > li {
    display: flex;
    a {
      position: relative;
      display: flex;
      align-items: center;
      height: 100%;
      color: var(--color-dark-gray);
      font-size: var(--font-size-18);
      font-weight: 600;
      text-align: center;
      padding-bottom: clamp(10px, calc(2.5px + 1.25vw), 20px);

      &::after {
        content: "\f107";
        position: absolute;
        bottom: -4px;
        left: 50%;
        font-weight: bold;
        transform: translateX(-50%);
        color: var(--colA1);
      }
    }
    @media (max-width: 576px) {
      a {
        font-size: var(--font-size-14);
        line-height: 1.4;
      }
    }
  }
  ul > li.active {
    a {
      color: var(--colA1);
      /* border-bottom: 4px solid var(--colA1); */

      &::after {
        content: "";
        bottom: 5px;
        width: 50%;
        height: 4px;
        background-color: var(--colA1);
        border-radius: 2px;
      }

      @media (max-width: 576px) {
        &::after {
          bottom: 0;
          width: 80%;
        }
      }
    }
  }
}

/*====================================*/
/* common block
   kv-slide */
/*====================================*/
.kv-slide {
  img {
    width: 100%;
  }
  .splide {
    padding-bottom: 36px;
  }
  .splide__pagination {
    bottom: 0;
  }
  .splide__pagination__page {
    background: #bee4ff;
  }
  .splide__pagination__page.is-active {
    background: #017ace;
    transform: none;
  }
  .splide__pagination__page {
    width: 15px;
    height: 15px;
  }
}
/*====================================*/
/* common block
   kv */
/*====================================*/
.kv {
  padding-bottom: clamp(26px, calc(-2.5px + 4.75vw), 64px);

  img {
    width: 100%;
  }
}
.kv-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 37px;
  /* margin-bottom: clamp(15px, calc(-7.5px + 3.75vw), 45px); */
}
.kv-img {
  margin-top: clamp(15px, calc(-7.5px + 3.75vw), 45px);
}
@media (max-width: 576px) {
  .kv-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
  }
}
.kv-header_ttl {
  display: flex;
  align-items: center;
  gap: 5px clamp(20px, calc(5px + 2.5vw), 40px);

  h1 {
    position: relative;
    display: flex;
    font-size: var(--font-size-40);
    font-weight: 600;
    line-height: 1.2;
    padding-left: 22px;
    padding-bottom: 0;
    border-bottom: none;

    &::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      width: 12px;
      height: 100%;
      border-left: 12px solid var(--color-border);
    }
    &::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      width: 12px;
      height: 14px;
      background-color: var(--color-dark-gray);
    }
  }
  .kv-header_sub {
    font-size: var(--font-size-30);
    font-weight: 600;
  }
  @media (max-width: 768px) {
    h1 {
      font-size: var(--font-size-28);
    }
    .kv-header_sub {
      font-size: var(--font-size-20);
    }
  }
}
@media (max-width: 576px) {
  .kv-header_ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px 0;
  }
}
.kv-header_btn {
  /* display: grid; */
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(15px, calc(6.75px + 1.375vw), 26px);

  a.link-anc {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 230px;
    height: 65px;
    color: var(--color-white);
    font-size: var(--font-size-18);
    font-weight: 600;
    margin-right: 2.5em;
    background-color: #0f7ea3;
    border-radius: 9999px;

    &::after {
      content: "\f107";
      position: absolute;
      bottom: -4px;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      display: flex;
      align-items: center;
      font-size: var(--font-size-24);
    }
  }
  button.btn-login {
    position: relative;
    width: 230px;
    height: 65px;
    font-size: var(--font-size-18);
    font-weight: 600;
    text-align: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-black);
    border-radius: 9999px;

    &::after {
      content: "\f105";
      position: absolute;
      bottom: -4px;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      display: flex;
      align-items: center;
      font-size: var(--font-size-24);
    }
  }
  @media (max-width: 768px) {
    a.link-anc,
    button.btn-login {
      width: 160px;
      height: 40px;
      font-size: var(--font-size-14);

      &::after {
        right: 10px;
      }
    }
  }
  @media (max-width: 576px) {
    a.link-anc {
      padding-right: 0.5em;
    }
  }
}
/*====================================*/
/* common block
   fixed-link */
/*====================================*/
.fixed-link {
  position: fixed;
  color: var(--color-white);
  background-color: var(--colA1);
  transition: all 0.2s ease;
  z-index: 1000;

  &:hover {
    opacity: 0.75;
  }
  a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 100%;
    font-size: var(--font-size-18);
    font-weight: 600;

    &::after {
      color: var(--color-white);
    }
  }
}
@media (min-width: 769px) {
  .fixed-link {
    right: 0;
    width: 76px;
    height: 306px;
    writing-mode: vertical-rl;
    border-radius: 11px 0 0 11px;

    &::after {
      padding-top: 0.8rem;
      padding-left: 0;
    }
  }
}
@media (max-width: 768px) {
  .fixed-link {
    bottom: 0;
    width: 100%;
    height: 62px;
  }
}
/*====================================*/
/* common block
   info */
/*====================================*/
.info {
  padding-block: clamp(20px, calc(10.25px + 1.625vw), 33px);
  background-color: var(--color-light-gray);

  .l-grid-tb {
    grid-template-columns: 1fr 5.5fr;
    align-items: center;
  }
  ul {
    padding-left: 67px;
    border-left: 1px solid var(--color-medium-gray);
  }
  ul > li {
    display: none;
    gap: 0 25px;
    margin-bottom: 1rem;
    &.is-show {
      display: flex;
    }
  }
  ul > li:last-child {
    margin-bottom: 0;
  }
  ul > li {
    a {
      font-size: var(--font-size-16);
      text-decoration: none;
    }
    a.link-txt-under {
      text-decoration: underline;
    }
    a:hover {
      color: var(--colA1);
      text-decoration: underline;
    }
  }
  @media (max-width: 768px) {
    ul {
      padding-top: 10px;
      padding-left: 0;
      margin-top: 10px;
      border-left: none;
      border-top: 1px solid var(--color-medium-gray);
    }
  }
  @media (max-width: 576px) {
    ul > li {
      margin-bottom: 1.5rem;
    }
    ul > li > a {
      flex-direction: column;
    }
  }
}
.info-heading {
  font-size: var(--font-size-18);
}
/*====================================*/
/* common block
   submitted */
/*====================================*/
main:not(:has(.drive-pass_etcarea)) .submitted {
  margin-bottom: clamp(43px, calc(-2.75px + 7.625vw), 104px);
}
.submitted {
  padding-top: clamp(40px, calc(10px + 5vw), 80px);

  .l-container-m.bg-ly {
    padding-block: clamp(35px, calc(17.75px + 2.875vw), 58px);
    padding-inline: clamp(10px, calc(-55.25px + 10.875vw), 97px);
    border-radius: 10px;
  }
  ul {
    margin-block: 38px;
  }
  ul > li {
    position: relative;
    padding-left: 2.3rem;
    margin-bottom: 1rem;
    i {
      position: absolute;
      top: 0.5rem;
      left: 0;
    }
  }
  .btn-group {
    margin-bottom: clamp(23px, calc(14px + 1.5vw), 35px);

    .icf-roundbtn-h {
      max-width: 390px;
      min-height: 100px;
      font-size: var(--font-size-18);
      border: none;
    }
  }
  @media (max-width: 768px) {
    .btn-group {
      flex-direction: column;
      gap: 19px;

      .icf-roundbtn-h {
        min-height: 60px;
        font-size: var(--font-size-16);
      }
    }
  }
}
.submitted-setplan {
  ul {
    li:first-child {
      display: none;
    }
  }
}

/*====================================*/
/* common block
   etc-service */
/*====================================*/
.etc-service {
  padding-block: clamp(48px, calc(39px + 1.5vw), 60px) clamp(58px, calc(41.5px + 2.75vw), 80px);
  background-color: var(--colA2);

  ul {
    gap: 0 30px;
    margin-top: clamp(36px, calc(20.25px + 2.625vw), 57px);
  }
  ul > li {
    max-width: 380px;

    a {
      display: inline-block;
    }
    img {
      width: 100%;
      box-shadow: 0px 3px 6px #00000029;
    }
  }
  @container l-grid-sp (max-width: 576px) {
    ul {
      max-width: 300px;
    }
    ul > li {
      margin-bottom: 28px;
      margin-inline: auto;

      &:last-child {
        margin-bottom: 0;
      }
    }
  }
}
/*====================================*/
/* common block
   past-pass */
/*====================================*/
.past-pass {
  padding-bottom: clamp(43px, calc(33.25px + 1.625vw), 56px);

  ul > li {
    font-size: var(--font-size-18);
  }
  ul > li p {
    font-size: var(--font-size-18);
    padding-left: 2.2rem;
  }
  @media (max-width: 768px) {
    ul > li {
      font-size: var(--font-size-16);
    }
    ul > li p {
      font-size: var(--font-size-16);
    }
  }
  a {
    text-decoration: underline;
    &::before {
      display: inline-block;
      content: "◯";
      padding-right: 0.5rem;
    }
    &::after {
      content: " ＞";
    }
    &:hover {
      color: var(--colA1);
    }
  }
}
.past-pass-heading {
  font-size: var(--font-size-26);
  padding-bottom: 13px;
  margin-bottom: clamp(21px, calc(7.5px + 2.25vw), 39px);
  border-bottom: 1px solid var(--color-medium-gray);
}
@media (max-width: 768px) {
  .past-pass-heading {
    font-size: var(--font-size-18);
    padding-bottom: 15px;
  }
}

/*====================================*/
/* common block
   related-links */
/*====================================*/
.related-links {
  padding-block: clamp(56px, calc(41px + 2.5vw), 76px);

  h2 {
    margin-bottom: clamp(26px, calc(4.9999999999999964px + 3.5000000000000004vw), 54px);
  }
  p {
    font-size: var(--font-size-14);
  }
  .l-grid-tb {
    gap: 0 40px;
  }
  ul.l-grid-sp {
    gap: 0 40px;
  }
  ul li a {
    display: inline-block;
  }
  ul.l-grid-sp li img {
    max-width: 270px;
    margin-inline: auto;
  }
  ul.bnr-flex {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(20px, calc(-14.5px + 5.75vw), 66px);

    li img {
      max-width: 100%;
      width: auto;
    }
  }
  .splide {
    max-width: 900px;
    width: 80%;
    margin-bottom: clamp(20px, calc(-14.5px + 5.75vw), 66px);
    margin-inline: auto;

    ul.splide__list {
      li {
        display: flex;
        justify-content: center;
        align-items: center;
      }
    }
    .splide__arrow {
      background-color: var(--colA1);
      opacity: 1;
    }
    .splide__arrow svg {
      fill: #fff;
    }
    .splide__arrow--prev {
      left: -3em;
    }
    .splide__arrow--next {
      right: -3em;
    }
  }
  @media (max-width: 768px) {
    .group {
      margin-bottom: 26px;
    }
    .group p {
      text-align: center;
      margin-top: 9px;
    }
    ul li {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 9px 0;
    }
  }
  @container l-grid-sp (max-width: 576px) {
    ul li {
      margin-bottom: 16px;
    }
    ul li:last-child {
      margin-bottom: 0;
    }
  }
}
/*====================================*/
/* common block
   notes-on-use */
/*====================================*/
.notes-on-use {
  display: flex;
  flex-direction: column;
  align-items: center;

  h4 {
    position: relative;
    display: inline-block;
    color: var(--colA1);
    text-align: center;

    &::before,
    &::after {
      position: absolute;
      top: 0;
      bottom: 0;
      display: block;
      content: "";
      width: 30px;
      height: 2px;
      margin-block: auto;
      background-color: var(--colA1);
    }
    &::before {
      right: -50px;
    }
    &::after {
      left: -50px;
    }
  }
  .notes-on-use_wrapper {
    height: 360px;
    padding-block: clamp(16px, calc(7px + 1.5vw), 28px) 18px;
    padding-inline: clamp(13px, calc(-11px + 4vw), 45px) 10px;
    margin-top: clamp(24px, calc(21.75px + 0.375vw), 27px);
    border: 1px solid var(--color-medium-gray);
    overflow-y: hidden;
  }
  .notes-on-use_inner {
    height: 100%;
    padding-right: clamp(30px, calc(4.4999999999999964px + 4.25vw), 64px);
    overflow-y: scroll;
    scrollbar-color: #cbcbcb #f5f5f5;
  }
  @media (max-width: 576px) {
    h4 {
      font-size: var(--font-size-18);
    }
    .notes-on-use_inner {
      font-size: var(--font-size-14);
    }
  }
}
/*====================================*/
/* common block
   terms-and-personal */
/*====================================*/
.terms-and-personal {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: clamp(40px, calc(24.25px + 2.625vw), 61px);

  h4 {
    position: relative;
    display: inline-block;
    color: var(--colA1);
    text-align: center;

    &::before,
    &::after {
      position: absolute;
      top: 0;
      bottom: 0;
      display: block;
      content: "";
      width: 30px;
      height: 2px;
      margin-block: auto;
      background-color: var(--colA1);
    }
    &::before {
      right: -50px;
    }
    &::after {
      left: -50px;
    }
  }
  .terms-and-personal_wrapper {
    height: 360px;
    padding-block: clamp(16px, calc(7px + 1.5vw), 28px) 18px;
    padding-inline: clamp(13px, calc(-11px + 4vw), 45px) 10px;
    margin-top: clamp(24px, calc(21.75px + 0.375vw), 27px);
    border: 1px solid var(--color-medium-gray);
    overflow-y: hidden;
  }
  .terms-and-personal_inner {
    height: 100%;
    padding-right: clamp(30px, calc(4.4999999999999964px + 4.25vw), 64px);
    overflow-y: scroll;
    scrollbar-color: #cbcbcb #f5f5f5;
  }
  dl {
    margin-bottom: 2rem;

    dt {
      font-weight: 600;
    }
    dd {
      padding-left: 1em;
    }
    dd .article-num {
      display: block;
    }
    dd > ul,
    dd > ol {
      margin-top: 0.5rem;

      li {
        margin-bottom: 1rem;
      }
    }
    dd ol.article-sub-num {
      margin-left: 1.5rem;

      li {
        position: relative;
        padding-left: 3rem;
        counter-increment: kanji-counter;

        &::before {
          position: absolute;
          top: 0;
          left: 0;
          content: counter(kanji-counter, cjk-ideographic) ". ";
        }
      }
    }
    dd .right1 {
      display: block;
    }
  }
  @media (max-width: 576px) {
    h4 {
      font-size: var(--font-size-18);
    }
    .terms-and-personal_inner {
      font-size: var(--font-size-14);
      p {
        font-size: var(--font-size-14);
      }
    }
  }
}
/*====================================*/
/* common block
   consent-check */
/*====================================*/
.consent-check {
  padding-top: clamp(40px, calc(46.25px + 0.625vw), 45px);

  p.notes-r {
    font-weight: 600;
    text-align: center;
  }
  label {
    display: block;
    font-weight: 600;
  }
  .chk-rider-link {
    color: var(--colA1);
    &:hover {
      text-decoration: underline;
    }
  }
  @media (max-width: 576px) {
    p.notes-r {
      font-size: var(--font-size-14);
    }
    label {
      font-size: var(--font-size-14);
    }
  }
}
.consent-check_group {
  padding-block: clamp(21px, calc(15.75px + 0.8750000000000001vw), 28px);
  padding-inline: clamp(10px, calc(-14px + 4vw), 42px);
  margin-top: 34px;
  border: 1px solid var(--color-medium-gray);

  .consent-check_item {
    display: grid;
    grid-template-columns: 0.5fr 9fr;
    align-items: center;
    margin-bottom: clamp(15px, calc(11.25px + 0.625vw), 20px);

    input[type="checkbox"] {
      display: block;
      width: 28px;
      height: 28px;
      border: 1px solid var(--color-medium-gray);
      border-radius: 5px;
    }
    label {
      padding-left: 15px;
    }
    &.chk-riders.is-chknone {
      position: relative;
      pointer-events: none;
      &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: var(--color-medium-gray);
        opacity: 0.3;
        pointer-events: none;
      }
    }
  }
  .consent-check_item:last-child {
    margin-bottom: 0;
  }
}
/*====================================*/
/* invalidArgument */
/*====================================*/
.invalidArgument {
  .error {
    padding-block: clamp(50px, calc(-37.5px + 11.25vw), 120px) clamp(20px, calc(12.5px + 1.25vw), 30px);
    .error-title {
      color: var(--color-notes);
      font-size: var(--font-size-28);
      font-weight: 600;
      line-height: 1.2;
      margin-bottom: 1em;
    }
    @media (max-width: 576px) {
      .error-title {
        font-size: var(--font-size-20);
      }
    }
  }
}
/*====================================*/
/* pages */
/*====================================*/
