@layer page {
  .pricing-text {
    margin: 2.5rem auto 0 auto;
  }
  @media screen and (min-width: 768px) {
    .pricing-text {
      width: 34.375rem;
    }
  }
  .pricing-hdr {
    font-weight: bold;
    color: var(--accent2);
    text-align: center;
    margin-bottom: 1.5rem;
  }
  .pricing-hdr__ttl {
    font-size: 2rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-hdr__ttl {
      font-size: 5.3846153846vw;
    }
  }
  .pricing-hdr__val {
    font-size: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-hdr__val {
      font-size: 4.1025641026vw;
    }
  }
  .pricing-ttl {
    font-weight: bold;
    color: var(--accent2);
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  @media screen and (max-width: 767px) {
    .pricing-ttl {
      margin-bottom: 0.8em;
      font-size: 4.6153846154vw;
    }
  }
  .pricing-olist {
    list-style: decimal;
    margin-left: 20px;
    font-weight: 500;
    line-height: 2;
  }
  .pricing-olist > li + Li {
    margin-top: 1.6em;
  }
  .pricing-example {
    background: url("../../../img/page/pricing/wave.jpg") 0 0/100% auto no-repeat, #ECF6D9 url("../../../img/page/pricing/wave_btm.jpg") 0 100%/100% auto no-repeat;
    padding-top: 5.625rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-example {
      margin-top: 10.2564102564vw;
      padding-top: 15.3846153846vw;
    }
  }
  @media screen and (min-width: 768px) {
    .pricing-example__inner {
      padding-top: 2.5rem;
      width: 81.5rem;
      margin: 0 auto;
    }
  }
  .pricing-example__img {
    margin: 0 auto;
  }
  @media screen and (min-width: 768px) {
    .pricing-example__img {
      width: 62.375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-example__img {
      padding: 0 5.1282051282vw;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-example__wtable table {
      width: 420vw;
    }
  }
  .pricing-pay {
    background: url("../../../img/page/pricing/wave.jpg") 0 0/100% auto no-repeat, #ECF6D9 url("../../../img/page/pricing/wave_btm2.jpg") 0 100%/100% auto no-repeat;
    padding-top: 5.625rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-pay {
      padding-top: 0vw;
    }
  }
  .pricing-pay__inner {
    padding-top: 4.375rem;
    padding-bottom: 18.75rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-pay__inner {
      padding-top: 10.2564102564vw;
      padding-bottom: 12.8205128205vw;
    }
  }
  .pricing-pay__body {
    background: #fff;
    border-radius: 1.25rem;
    padding: 8.75rem 5.625rem 5.625rem 5.625rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-pay__body {
      padding: 12vw 5vw 10vw 5vw;
    }
  }
  .pricing-pay__hdr {
    transform: translateY(50%);
  }
  .pricing-note {
    margin: 2.5em auto 0 auto;
    line-height: 1.6;
  }
  @media screen and (min-width: 768px) {
    .pricing-note {
      width: 61.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-note {
      margin-top: 2em;
    }
  }
  .pricing-note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .pricing-note p + p {
    margin-top: 1.4em;
  }
  @media screen and (max-width: 767px) {
    .pricing-note p + p {
      margin-top: 1em;
    }
  }
  .pricing-doc__unit + .pricing-doc__unit {
    margin-top: 5rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-doc__unit + .pricing-doc__unit {
      margin-top: 10.2564102564vw;
    }
  }
  .pricing-doc__item + .pricing-doc__item {
    margin-top: 1.8em;
  }
  @media screen and (max-width: 767px) {
    .pricing-doc__item + .pricing-doc__item {
      margin-top: 4.1025641026vw;
    }
  }
  .pricing-doc__item-table th {
    text-align: left;
    font-weight: normal;
  }
  .pricing-doc__tel {
    margin-top: 0.5em;
    font-weight: 600;
    font-size: 1.5rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .pricing-doc__tel {
      flex-direction: column;
      gap: 2.5641025641vw;
    }
  }
  .pricing-doc__tel dd {
    font-size: 2rem;
    font-family: var(--en-sans);
  }
  .pricing-doc__wlink {
    font-weight: 600;
    text-align: center;
    margin-top: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-doc__wlink {
      margin-top: 7.6923076923vw;
    }
  }
  .pricing-doc__wlink p {
    margin-bottom: 1.2em;
  }
  .pricing-list {
    list-style: disc;
    margin-left: 20px;
  }
  .pricing-card {
    width: 22.5rem;
    max-width: 100%;
  }
  @media screen and (min-width: 768px) {
    .pricing-card {
      float: right;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-card {
      margin-bottom: 3vw;
    }
  }
  .pricing-option-a {
    height: 100%;
    font-size: 0.9375rem;
    text-align: center;
  }
  @media screen and (min-width: 768px) {
    .pricing-option-a {
      margin-top: 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-option-a {
      padding-bottom: 1.5384615385vw;
      font-size: 4.1025641026vw;
    }
  }
  .pricing-sec {
    margin-top: 10rem;
    margin-left: auto;
    margin-right: auto;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec {
      margin-top: 25.641025641vw;
    }
  }
  .pricing-sec + .pricing-sec {
    margin-top: 8.125rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec + .pricing-sec {
      margin-top: 23.0769230769vw;
    }
  }
  .pricing-sec:last-child {
    margin-bottom: 13.125rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec:last-child {
      margin-bottom: 25.641025641vw;
    }
  }
  .pricing-sec__table {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec__table {
      margin-top: 6.6666666667vw;
    }
  }
  .pricing-sec__lead {
    margin-top: 2.5rem;
    text-align: center;
  }
  .pricing-sec__note {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 1em;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec__note {
      font-size: 90%;
    }
  }
  .pricing-sec__note p.is-on {
    font-size: 0.875rem;
  }
  .pricing-sec__wlink {
    text-align: center;
    margin-top: 4.0625rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-sec__wlink {
      margin-top: 7.6923076923vw;
    }
  }
  @media screen and (min-width: 768px) {
    .pricing-pay + .pricing-sec {
      margin-top: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-pay + .pricing-sec {
      margin-top: 11.7948717949vw;
    }
  }
  .pricing-wtable {
    overflow: auto;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .pricing-wtable {
      padding-left: 2vw;
    }
  }
  .pricing-table {
    background: #fff;
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.3;
    font-family: var(--sans-serif2);
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .pricing-table {
      width: 280vw;
    }
  }
  .pricing-table thead th, .pricing-table thead td {
    background: #ECF6D9;
    padding: 0.625rem 0.625rem;
  }
  .pricing-table.is-zebra tbody tr:nth-child(even) td {
    background: #F5F5F5;
  }
  @media screen and (max-width: 767px) {
    .pricing-table.is-option {
      width: 100%;
    }
  }
  .pricing-table.is-option thead th {
    white-space: nowrap;
  }
  @media screen and (min-width: 768px) {
    .pricing-table.is-option tbody td:first-child {
      white-space: nowrap;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-table.is-option tbody td:first-child {
      width: 8em;
    }
  }
  .pricing-table.is-option tbody td:first-child, .pricing-table.is-option tbody td:last-child {
    text-align: left;
  }
  .pricing-table tbody th {
    width: 15.3153153153%;
  }
  .pricing-table tbody th, .pricing-table tbody td {
    padding: 1rem 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-table tbody th, .pricing-table tbody td {
      padding: 0.625rem 0.625rem;
    }
  }
  .pricing-table tbody .is-bg-fill th, .pricing-table tbody .is-bg-fill td {
    background: #efefef;
  }
  .pricing-table th {
    font-weight: normal;
  }
  .pricing-table tr th, .pricing-table tr td {
    border: 1px solid #707070;
  }
  .pricing-table tr td.is-yen {
    text-align: right;
    width: 9.009009009%;
  }
  .pricing-table tr td.is-max {
    text-align: center;
    width: 7.5675675676%;
  }
  @media screen and (min-width: 768px) {
    .pricing-table.is-fat {
      width: 61.875rem;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .pricing-table.is-fat tbody th, .pricing-table.is-fat tbody td {
    padding: 0.5rem 0.625rem;
  }
  .pricing-option {
    margin-top: 4.375rem;
  }
  @media screen and (min-width: 768px) {
    .pricing-option {
      display: grid;
      grid-template-columns: 10.75rem 1fr;
      gap: 1rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-option {
      margin-top: 7.6923076923vw;
    }
  }
  .pricing-option + .pricing-option {
    margin-top: 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-option + .pricing-option {
      margin-top: 15.3846153846vw;
    }
  }
  .pricing-option__hdr {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ECF6D9;
    color: var(--accent2);
    font-size: 1.5rem;
  }
  @media screen and (min-width: 768px) {
    .pricing-option__hdr {
      height: 10.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-option__hdr {
      font-size: 5.1282051282vw;
      padding: 2.5641025641vw;
      margin-bottom: 5.1282051282vw;
    }
  }
  .pricing-option__ttl {
    font-weight: 600;
  }
  .pricing-option__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  @media screen and (min-width: 768px) {
    .pricing-option__list {
      gap: 3.125rem 1rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-option__list {
      justify-content: space-between;
      gap: 7.6923076923vw 0;
    }
  }
  @media screen and (min-width: 768px) {
    .pricing-option__item {
      width: 10.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-option__item {
      width: 48%;
    }
  }
  @media screen and (min-width: 768px) {
    .pricing-option__image {
      height: 10.75rem;
    }
  }
  .pricing-option__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .pricing-option__name {
    margin: 0.875rem 0 0.375rem 0;
    font-weight: 600;
    font-size: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-option__name {
      margin: 2.5641025641vw 0 1.0256410256vw 0;
      font-size: 4.6153846154vw;
    }
  }
  .pricing-option__text {
    color: #7B7B7B;
    line-height: 1.75;
  }
  .pricing-option__price {
    margin-top: 0.3em;
    font-size: 1.25rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .pricing-option__price {
      font-size: 4.6153846154vw;
      text-align: right;
    }
  }
  .pricing-daytrip {
    border-radius: 1.25rem;
    background: #F7F7F7;
    margin-left: auto;
    margin-right: auto;
    padding: 3.75rem 5rem;
  }
  @media screen and (min-width: 768px) {
    .pricing-daytrip {
      display: grid;
      grid-template-columns: 12.5rem 1fr;
      width: 61.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-daytrip {
      padding: 7.6923076923vw var(--sp-pad);
    }
  }
  .pricing-daytrip__ttl {
    color: var(--accent2);
    font-size: 2.5rem;
    font-weight: 500;
  }
  @media screen and (max-width: 767px) {
    .pricing-daytrip__ttl {
      font-size: 5.641025641vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .pricing-daytrip__sttl {
    margin-top: 1.6em;
    margin-bottom: 0.8em;
    padding-bottom: 0.4em;
    color: var(--accent2);
    font-weight: 500;
    border-bottom: 1px solid var(--accent2);
  }
  @media screen and (min-width: 768px) {
    .pricing-daytrip__sttl {
      font-size: 1.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-daytrip__sttl {
      font-size: 5.1282051282vw;
    }
  }
  @media screen and (min-width: 768px) {
    .pricing-daytrip__body {
      font-size: 1.25rem;
    }
  }
  .pricing-daytrip__price {
    display: flex;
    flex-direction: column;
    gap: 0.375rem 0;
  }
  .pricing-daytrip__row {
    display: grid;
    grid-template-columns: 18.75rem 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .pricing-daytrip__row {
      grid-template-columns: 51.2820512821vw 3.75rem;
    }
  }
  .pricing-daytrip__row dd {
    text-align: right;
    font-weight: bold;
  }
  .pricing-daytrip__olist {
    line-height: 1.6;
  }
  .pricing-daytrip__olist > li + Li {
    margin-top: 0.8em;
  }
  @media screen and (min-width: 768px) {
    .pricing-row-a {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2.5rem;
      align-items: flex-start;
    }
  }
  @media screen and (max-width: 767px) {
    .pricing-row-a {
      display: flex;
      flex-direction: column;
      gap: 7.6923076923vw;
    }
  }
}