@charset "UTF-8";

body {
    font-size: 16px;
    color: #1A1A1A;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 400;
    font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    
}
/* 操作を無効にするオーバーレイスタイル */
.disabled-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7); /* 透明度のある白いオーバーレイ */
    z-index: 9999; /* 最前面に表示 */
    pointer-events: none; /* オーバーレイ自体はクリックできない */
}

  /* 操作無効化時に表示されるメッセージのスタイル */
.disabled-message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: bold;
    color: #000;
}
img {
    max-width: 100%;
    height: auto;
}

.inner {
    padding: 0 15px;
}
.red{
    color: #fc1a46;
}
.alert.alert-danger{
    text-align: center;
    color:#fc1a46;
}
.header {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #f7f3e8;
    color: #1A1A1A;
    height: 50px;
    width: 100%;
    z-index: 9999;
}
.header-inner {
    height: 100%;
    display: flex;
    align-items: center;
}
.header-logo {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 26px;
}

.footer {
    padding-bottom: 53px;
    background-color: #000;
    color: #fff;
}
.footer-inner {
    padding-top: 5px;
    padding-bottom: 6px;
}
.copyright {
    font-size: 10px;
    text-align: center;
}

.main {
    min-height: calc(100svh - 79px);
    padding: 50px 0 70px;
    background: #f7f3e8;
}

.global-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #000;
    color: #fff;
    z-index: 10000;
}
.global-nav-inner {
    display: flex;
}
.global-nav .nav-item {
    font-size: 14px;
    width: 25%;
    border-left: 1px solid #7c7c7c;
}
.global-nav .nav-item:first-child {
    width: 50%;
    border-left: none;
}
.global-nav .nav-item a {
    padding: 5px 0 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.global-nav .nav-item .--name {
    display: block;
}

.page-head {
    padding: 30px 0;
}
.page-head p {
    color: #1a1a1a;
    border-bottom: 2px dotted #1a1a1a;
    width: fit-content;
    margin: 0 auto;
    font-size: 18px;
}
.page-head p.color-blue {
    color: #376ba7;
    border-color: #376ba7;
}
.page-head p.color-red {
    color: #e21919;
    border-color: #e21919;
}
.page-body {
    position: relative;
    opacity: 1;
    transition: all 2s;
}
.text-center {
    text-align: center;
}

.table-wrap {
    width: 100%;
    max-width: 600px;
    max-height: 70vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 auto 30px;
}
.table {
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0 auto;
    width: 100%;
}
.table.disabled{
    pointer-events: none;
    opacity: 50%;
}
.table :is(th, td) {
    border: 2px solid #e9e9e9;
}
.table thead th {
    background: #fff;
    text-align: center;
    padding: 15px 0;  
    border-top: 2px solid #e9e9e9;
    white-space: nowrap;
    width: 60px;
    font-size: 16px;
}
.table thead th:first-child {
    width: 40px;
    vertical-align: middle;
}   
.table tbody tr th {
    text-align: center;
}
.table tbody tr:nth-child(odd) :is(th, td) {
    background: #f8f8f8;
} 
.table tbody tr:nth-child(even) :is(th, td) {
    background: #fff;
}
.table tbody tr:last-child td {
    border-bottom: 2px solid #e9e9e9;
}
.table tbody th {
    vertical-align: middle;
    position: relative;
    font-size: 16px;
}
.table tbody td {
}

.table-wrap:has(.table2) {
    overflow: visible;
    max-height: 100%;
}
.table tbody tr.active :is(th, td) {
    background: #ffd8e3;
}
.table tbody tr.active2 :is(th, td) {
    background: #ffbdce;
}
.table tbody td.active {
    background: #ffd8e3!important;
    pointer-events: none;
}
.table td.td-disabled{
    pointer-events: none;
}
td.td-disabled .check-item input[type="checkbox"] + span::before{
    opacity: 30%;
}
.table2 {
    table-layout: auto;
}
.table2 thead th {
    width: auto;
}

.table2 tbody th::before,
.table2 thead th:first-child::before {
    content: none;
}
.table2 tbody th {
    width: 80px;
}
.check-item input[type="checkbox"] {
    width: 50%;
}

.check-item {
    /* width: 100%; */
    align-self: auto;
    text-align: center;
    height: 34px;
    position: relative;
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: 10px;
}
.check-item input[type="checkbox"] + span::before {
    content: "";
    width: 18px;
    height: 18px;
    border: 2px solid #3b3b3b;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.check-item input[type="checkbox"]:disabled + span::before {
    content: "×";
    border: none;
    font-size: 27px;
    line-height: 14px;
}
.check-item input[type="checkbox"]:checked + span::before {
    border-color: #fc1a46;
}
.check-item input[type="checkbox"]:checked + span::after {
    content: "";
    width: 10px;
    height: 10px;
    background: #fc1a46;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    z-index: 0;
    display: inline-block;
}
.submit-btn {
    width: 100%;
    max-width: 360px;
    margin: 20px auto 0;
}
.btn {
    background-color: #376ba7;
    color: #fff;
    text-align: center;
    display: inline-block;
    padding: 10px 5px;
    border-radius: 3px;
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.1em;
    cursor: pointer;
}
.btn.disabled{
    background-color: gray!important;
    pointer-events: none;
}
.header-menu-item.disabled{
    pointer-events: none;
    color:gray;
}
.submit-btn .btn {
    border-radius: 30px;
    position: relative;
    padding: 10px 10px 10px 5px;
    box-shadow: 0 3px 6px rgba(0,0,0, 0.15);
}
.submit-btn .btn + .btn {
    margin-top: 10px;
}
/* .submit-btn .btn::before {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(-45deg);
} */

.selected-info {
    position: sticky;
    bottom: 10px;
    left: 0;
    z-index: 6;
}
.selected-info .block {
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0,0,0, 0.15);
    position: relative;
    padding: 10px 60px 10px 15px;
    font-size: 16px;
    display: none;
    max-width: 500px;
    margin: 0 auto;
}
.selected-info .block.show {
    display: block;
}
.selected-info .block01 {
    background: #ffd8e3;
}
.selected-info .block02 {
    background: #ffbdce;
}
.selected-info .block + .block {
    margin-top: 10px;
}
.selected-info .delete {
    position: absolute;
    top: 50%;
    right: 10px;
    display: inline-block;
    font-size: 13px;
    padding: 5px 6px;
    background: #fff;
    border-radius: 4px;
    transform: translateY(-50%);
}
.selected-info .delete{
    cursor: pointer;
}

.top-therapist {
    margin: 0 auto 2px;
    max-width: 600px;
}
.top-therapist .flex {
    display: flex;
    gap: 0 3px;
}
.top-therapist .item:first-child {
    margin-left: 80px;
}
.top-therapist .item {
    width: calc(50% - 3px / 2);
}
.therapist-item {
    padding: 10px;
    height: 100%;
    background: #fff;
}
.therapist-item-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.therapist-item .img {
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 6px;
}
.therapist-item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.therapist-item .name {
    font-size: 16px;
    text-align: center;
    margin-bottom: 3px;
    flex-grow: 1;
}
.therapist-item .txt {
    font-size: 13px;
    line-height: 1.3;
}
.therapist-item .tags {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 5px;
}
.therapist-item .tags .tag {
    background: #376ba7;
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
}

.course-list {
    max-width: 600px;
    margin: 0 auto;
}
.course-item {
    margin-bottom: 50px;
}
.course-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 3px;
}
.course-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.course-ttl {
    font-size: 14px;
}
.course-ttl span {
    font-size: 18px;
    padding-left: 5px;
    font-weight: bold;
}
.course-detail {
    font-size: 14px;
    margin-bottom: 5px;
}
.btn.btn-yellow {
    background: #e29b12;
}
.btn-small {
    font-size: 16px;
    padding: 2px 3px;
    letter-spacing: 0;
}

.reserve-form {
    max-width: 550px;
    margin: 30px auto 0;
}
.reserve-item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 0 30px;
}
.reserve-item:not(.column) {
    width: 100%;
    max-width: 350px;
    margin: 0 auto 5px;
}
.reserve-item:not(.column) dt {
    border-bottom: 1px solid #1A1A1A;
    width: 90px;
    font-size: 18px;
}
.reserve-item:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}
.reserve-item.column {
    flex-direction: column;
}
.reserve-item.column dt {
    margin-bottom: 17px;
    color: #376ba7;
    border-bottom: 2px dotted #376ba7;
    margin-top: 15px;
    font-size: 18px;
}
.reserve-item dd {
    width: calc(100% - 120px);
    padding: 2px 5px;
}
.reserve-item.column dd {
    width: 100%;
    padding: 0;
    margin-bottom: 30px;
}
.reserve-item.column dd:last-of-type {
    margin-bottom: 0;
}
.reserve-input input[type="date"] {
    width: 100%;
    border: 1px solid #333;
    cursor: pointer;
    padding: 2px 5px;
    width: 150px;
    font-size: 17px;
}
.reserve-radio {
    cursor: pointer;
}
.reserve-radio input {
    display: none;
}
.reserve-radio span {
    display: inline-block;
    padding-left: 20px;
    position: relative;
    font-size: 18px;
}
.reserve-radio span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    border-radius: 50%;
    background: #fff;
    transform: translateY(-50%);
}
.reserve-radio span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 3px;
    width: 9px;
    height: 9px;
    background: #000;
    border-radius: 50%;
    transform: translateY(-50%);
    opacity: 0;
}
.reserve-radio input[type="radio"]:checked + span::after {
    opacity: 1;
}
.reserve-radio + .reserve-radio {
    margin-left: 10px;
}
.reserve-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.reserve-card {
    width: calc(33.333% - 7px * 2 / 3);
}
.reserve-card .therapist-item {
    padding: 13px;
    display: block;
    position: relative;
}
#therapist_choice .reserve-card .therapist-item {
    padding: 7px;
}
.reserve-select .img {
    padding: 10px;
    margin-bottom: 0;
}
.therapist-check {
    cursor: pointer;
}
.therapist-check :where(input[type="checkbox"], input[type="radio"]) {
    display: none;
}
.therapist-check .therapist-input:checked + .therapist-item::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    outline: 3px solid #fc1a46;
    outline-offset: -2px;
}
#search_area ul.reserve-category-flex .therapist-check .therapist-input:checked + .therapist-item::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
}
#search_area .therapist-check .therapist-input:checked + .therapist-item .therapist-item-inner::before {
    content: "選択中";
    color: #fff;
    font-weight: bold;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.therapist-check .therapist-input:disabled + .therapist-item {
    background: #ccc;
}
.therapist-check .therapist-input.disabled-super + .therapist-item {
    background: #ccc;
    pointer-events: none;
}
.therapist-check:has(.disabled-super) {
    pointer-events: none!important;
}
.reserve-card .therapist-item .name {
    flex-grow: 0;
}
.reserve-card .therapist-item .tags {
    gap: 3px;
}
.reserve-card .therapist-item .tags .tag {
    font-size: 10px;
    padding: 2px 3px;
}
.reserve-card .therapist-item .txt {
    margin-bottom: 5px;
    flex-grow: 1;
    font-size: 12px;
}

.confirm-list {
    max-width: 500px;
    margin: 0 auto;
}
.confirm-item {
    margin: 0 -15px;
    background: #fff;
}
.confirm-item > dt {
    background-color: #376ba7;
    color: #fff;
    text-align: center;
    font-size: 16px;
    padding: 8px 0;
    font-weight: 600;
}
.confirm-item > dd {
    padding: 18px 0 20px;
}
.confirm-item.customer {
    margin-top: 25px;
}
.confirm-item.customer > dt {
    background: #d87748;   
}
.info-row {
    display: flex;
    align-items: center;
    padding: 0 15px;
    font-weight: 400;
    position: relative;
}
.info-row::after {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 127px;
    background: #1A1A1A;
}
.info-row:last-of-type {
    border-bottom: none;
}
.info-row dt {
    width: 111px;
    font-size: 15px;
    margin-right: 10px;
    font-weight: 400;
    padding: 2px 0 2px 0;
}
.info-row dd {
    font-size: 15px;
    width: calc(100% - 121px);
}
.caution {
    margin: 38px auto 0;
    /* padding: 15px 15px 20px; */
    max-width: 550px;
}
.caution-item {
    font-size: 16px;
}
.caution-item div {
    margin-bottom: 20px;
}
.caution-item p {
    font-weight: 400;
}
.caution-item em {
    color: red;
}
.caution-ttl {
    font-size: 20px;
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
.caution-ttl::before {
    content: "";
    width: 37px;
    height: 1px;
    background: #1A1A1A;
    position: absolute;
    top: calc(50% - 1px);
    left: -47px;
}
.caution-ttl::after {
    content: "";
    width: 37px;
    height: 1px;
    background: #1A1A1A;
    position: absolute;
    top: calc(50% - 1px);
    right: -47px;
}
.caution-list {
    margin-top: 12px;
}
.confirm-txt {
    font-size: 16px;
    max-width: 550px;
    margin: 15px auto 0;
    font-weight: normal;
}
.comfirm-form {
    margin: 20px auto 0;
    max-width: 550px;
    padding: 0 15px;
}
.comfirm-form-dl + .comfirm-form-dl {
    margin-top: 20px;
}
.comfirm-form-dl dt {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 3px;
}
.comfirm-form-dl dd input[type="tel"] {
    border: 1px solid #1A1A1A;
    padding: 3px 7px;
    width: 100%;
    font-size: 16px;
    background: #fff;
}
.comfirm-form-dl dd input[type="text"] {
    border: 1px solid #1A1A1A;
    padding: 3px 7px;
    width: 100%;
    font-size: 16px;
    background: #fff;
}
.comfirm-form-dl dd textarea {
    border: 1px solid #1A1A1A;
    padding: 5px 7px;
    width: 100%;
    font-size: 16px;
    height: 100px;
    background: #fff;
}
.agree-block {
    margin-top: 17px;
    background-color: #d0d7dd;
    padding: 14px;
}
.agree-block label {
    display: flex;
    justify-content: center;
    align-items: center;
}
.agree-block .agree-part {
    position: relative;
    padding-left: 25px;
}
.agree-block .agree-part::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #707070;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 1;
    border-radius: 50%;
}
.agree-block .agree-part::after {
    content: "";
    width: 9px;
    height: 9px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 3px;
    transform: translateY(-50%);
    z-index: 2;
    opacity: 0;
}
.agree-block input[type="checkbox"]:checked + .agree-part::after {
    opacity: 1;
}
.confirm-submit {
    margin: 20px auto 0;
    width: 270px;
}
.confirm-submit .btn:disabled {
    background: #b7b7b7;
}
.send-text {
    font-size: 16px;
}
.page-bottom {
    padding-top: 100px;
    max-width: 300px;
    margin: 0 auto;
}
.reserve-submit {
    position: sticky;
    bottom: 65px;
    left: 0;
    z-index: 10;
    width: 100%;
    transform: translateY(10px);
}
.select-time{
    margin: 30px auto;
    max-width: 600px;
    width: 100%;
}
.select-arrow{
    position: relative;
}
.select-arrow:has(.time-select), .select-arrow:has(.shop-select){
    display: inline-block;
}
.select-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5px;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 8px solid #0B3167;
    border-bottom: 0;
    pointer-events: none;
}
.select-arrow{
    -webkit-appearance: none;
    appearance: none;
}
.modal__trigger {
    cursor: pointer;
    padding: 0 20px;
}
.modal__trigger span{
    cursor: pointer;
    transition: all 1s;
}
.modal__trigger span:hover{
    opacity: 0.7;
}
#therapist_name {
    font-size: 14px;
    text-align: center;
    display: block;
    margin-top: 10px;
}
body.fixed{
    position: fixed;
    width: 100%;
}
.modal{
    margin-top: 50px;
}
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}
.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}
.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: calc(100% - 40px);
  max-width: 550px;
  width: 100%;
  padding: 50px 20px 20px;
  background: #fff;
  overflow: scroll;
}
.modal__inner {
  position: relative;
  height: 100%;
  padding: 100px 0px 0px;
}
.modal__content dt{
    text-align: center;
    margin: 20px 0 10px;
}
.modal__content .reserve-select .img {
    padding-top: 0;
}
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: #0B3167;
  cursor: pointer;
  transition: opacity .6s;
}
.modal__close:hover {
  opacity: .6;
}
.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}
.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__text {
  margin-top: 30px;
  line-height: 2.875;
}
/*日付箇所　選択枠拡大*/
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
    cursor: pointer;
}
input[type=date]::after{
    content: "";
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%2C.cls-2%7Bfill%3Anone%3B%7D.cls-2%7Bstroke%3A%23000%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%3Ecalendar_24%3C%2Ftitle%3E%3Cg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%3E%3Cg%20id%3D%22Rect_%E6%9C%80%E5%BE%8C%E9%80%8F%E6%98%8E%E3%81%AB_%22%20data-name%3D%22Rect%EF%BC%88%E6%9C%80%E5%BE%8C%E9%80%8F%E6%98%8E%E3%81%AB%EF%BC%89%22%3E%3Crect%20class%3D%22cls-1%22%20width%3D%2248%22%20height%3D%2248%22%2F%3E%3C%2Fg%3E%3Cg%20id%3D%22icon%22%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M16%2C10H8a2%2C2%2C0%2C0%2C0-2%2C2V40a2%2C2%2C0%2C0%2C0%2C2%2C2H40a2%2C2%2C0%2C0%2C0%2C2-2V12a2%2C2%2C0%2C0%2C0-2-2H38%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2222%22%20y1%3D%2210%22%20x2%3D%2232%22%20y2%3D%2210%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2216%22%20y1%3D%226%22%20x2%3D%2216%22%20y2%3D%2214%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2232%22%20y1%3D%226%22%20x2%3D%2232%22%20y2%3D%2214%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%226%22%20y1%3D%2221%22%20x2%3D%2234%22%20y2%3D%2221%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
input[type="date"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
}

input[type="date"]::-webkit-clear-button{
  -webkit-appearance: none;
}
input[type="date"]{
  position: relative;
}
/*日付箇所　選択枠拡大ここまで*/
select.time-select{
    width: 80px;
    border: 1px solid;
    padding: 2px 5px;
    cursor: pointer;
}
select.shop-select{
    width: 180px;
    border: 1px solid;
    padding: 2px 5px;
    cursor: pointer;
    overflow: hidden;
}
input[name="date"]{
    width: 200px;
    border: 1px solid;
    padding: 2px 5px;
}
input[type="number"]{
    border: 1px solid;
    padding: 2px 5px;
}
.time-fx{
    display: flex;
    align-items: center;
    gap: 10px;
}
ul.reserve-category-flex{
    display: flex;
    flex-wrap: wrap;
    overflow: visible!important;
    gap: 10px 5px;
    -webkit-overflow-scrolling: auto;
    white-space: nowrap;
    padding-bottom: 10px;
}
ul.reserve-category-flex::-webkit-scrollbar {
    width: 10px; 
    height: 10px; 
}
ul.reserve-category-flex::-webkit-scrollbar-track {
    background: #f1f1f1; 
    border-radius: 5px; 
}
ul.reserve-category-flex::-webkit-scrollbar-thumb {
    background: #0B3167; 
    border-radius: 5px; 
}

ul.reserve-category-flex::-webkit-scrollbar-thumb:hover {
    background: #555; 
}
.reserve-category-flex .reserve-card{
    width: calc(50% - 5px / 2);
}
@media screen and (min-width: 600px) {
    .reserve-category-flex .reserve-card{
        width: calc(33.333% - 5px * 2 / 3);
    }
}
.reserve-category-flex li{
    position: relative;
}
.reserve-category-flex li img{
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.reserve-category-flex .reserve-card .therapist-item{
    padding: 0;
    border: none;
}
#search_area .reserve-category-flex .therapist-item {
    background: transparent;
}
#search_area .reserve-category-flex .therapist-item-inner {
    display: block;
    height: auto;
}
.reserve-category-ttl{
    text-align: center;
    /* background-color: #0B3167;
    color: #fff; */
    padding: 4px 0;
    width: 100%;
    display: block;
    white-space: wrap;
    font-size: 12px;
}
.scroll-hint-text{ 
    margin-top:0;
}
.menu-selection{
    margin: 50px 0 30px;
}
.menu-selection h3{
    font-size: 20px;
    color: #fff;
    background-color: #0B3167;
    padding: 10px 15px;
}
.menu-selection-grid{
    display: grid;
    margin-top: 20px;
    grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
    gap: 5px;
}
.menu-selection-grid li p{
    font-size: 14px;
    font-weight: 500;
}
.menu-selection-grid li{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    border:1px solid #dddd;
    padding: 5px 5px 10px;
}
.menu-selection-grid li a{
    display: grid;
    grid-template-rows: subgrid;
     grid-row: span 7;
     row-gap:10px ;
     transition: all 1s;
}
.menu-selection-grid li a:hover{
    opacity: 0.7;
}
.menu-selection-grid li .img-wrap {
    position: relative;
}
.menu-selection-grid li .img-wrap .tag {
    position: absolute;
    top: 3px;
    left: 3px;
    background: #0B3167;
    display: inline-block;
    padding: 2px 5px;
    border-radius: 2px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0;
}
.menu-selection-grid h4{
    font-size: clamp(0.875rem, 0.823rem + 0.221vw, 1rem);
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #7c7c7c;
}
.menu-time{
    color: #7c7c7c;
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: end;
    align-items: center;
}
.menu-time::before{
    content: "";
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22width%3A%20256px%3B%20height%3A%20256px%3B%20opacity%3A%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%234B4B4B%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M184.488%2C220.595l51.016%2C39.35c1.966%2C15.861%2C15.336%2C28.191%2C31.73%2C28.191c17.754%2C0%2C32.14-14.394%2C32.14-32.14%20c0-0.68-0.156-1.327-0.205-1.999l74.758-88.44c5.21-5.85%2C5.309-14.28%2C0.213-18.802c-5.088-4.531-13.436-3.45-18.647%2C2.408%20l-73.447%2C78.47c-4.457-2.335-9.438-3.777-14.813-3.777c-5.742%2C0-11.06%2C1.63-15.73%2C4.277l-48.026-33.443%20c-6.194-4.563-15.484-2.45-20.736%2C4.712C177.508%2C206.544%2C178.278%2C216.04%2C184.488%2C220.595z%22%20style%3D%22fill%3A%20rgb(159%2C%20159%2C%20159)%3B%22%3E%3C%2Fpath%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M440.314%2C82.925c-44.2-44.257-105.58-71.703-173.08-71.686V70.57c51.303%2C0.017%2C97.469%2C20.712%2C131.124%2C54.31%20c33.59%2C33.647%2C54.285%2C79.821%2C54.302%2C131.116c-0.017%2C51.294-20.712%2C97.468-54.302%2C131.116%20c-33.655%2C33.606-79.821%2C54.301-131.124%2C54.309c-51.294-0.008-97.468-20.703-131.116-54.309%20c-33.598-33.648-54.293-79.822-54.309-131.116c0.008-16.82%2C2.302-33.017%2C6.464-48.444l24.046%2C14.977%20c3.187%2C1.975%2C7.062%2C2.393%2C10.241%2C1.09c3.203-1.319%2C5.3-4.162%2C5.546-7.57l10.356-135.614c0.278-3.884-1.852-7.8-5.472-10.077%20c-3.654-2.244-8.119-2.45-11.47-0.459L4.372%2C138.971c-2.957%2C1.729-4.58%2C4.858-4.35%2C8.299c0.229%2C3.458%2C2.302%2C6.743%2C5.497%2C8.725%20l30.698%2C19.122c-8.872%2C25.357-13.747%2C52.59-13.747%2C80.879c-0.016%2C67.491%2C27.446%2C128.871%2C71.687%2C173.079%20c44.207%2C44.241%2C105.579%2C71.703%2C173.078%2C71.686c67.492%2C0.017%2C128.88-27.445%2C173.08-71.686%20c44.24-44.208%2C71.703-105.588%2C71.686-173.079C512.017%2C188.497%2C484.554%2C127.117%2C440.314%2C82.925z%22%20style%3D%22fill%3A%20rgb(159%2C%20159%2C%20159)%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    width: 17px;
    height: 17px;
    background-size: contain;
    display: block;
    background-repeat: no-repeat;
}
.menu-price{
    font-size: clamp(1.125rem, 1.073rem + 0.221vw, 1.25rem);
    text-align: center;
}
.price-color-red{
    color: #BF1111;
}
.price-color-wh{
    color: #fff;
}
.menu-price-after{
    font-size: 12px!important;
    color: #BF1111;
    padding-top:3px;
}
.availability{
    color: #e29b12;
    display: flex;
    justify-content: space-between;
}
.cart-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
}
.cart-icon::after{
    content:"";
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20id%3D%22_x32_%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22width%3A%20256px%3B%20height%3A%20256px%3B%20opacity%3A%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%234B4B4B%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M426.093%2C0c-9.344%2C0-17.502%2C6.318-19.838%2C15.363l-20.277%2C78.574H28.775c-6.434%2C0-12.496%2C3.025-16.363%2C8.166%20c-3.867%2C5.144-5.096%2C11.805-3.316%2C17.994l58.826%2C204.123c2.526%2C8.771%2C10.557%2C14.814%2C19.682%2C14.814H322.73l-8.858%2C34.324H89.396%20v36.133h236.594c9.342%2C0%2C17.5-6.324%2C19.836-15.373l92.383-357.988h65.496V0H426.093z%20M349.925%2C233.652l-17.871%2C69.25h-45.133%20v-69.25H349.925z%20M376.653%2C130.068l-17.406%2C67.453h-72.326v-67.453H376.653z%20M250.79%2C233.652v69.25h-77.084v-69.25H250.79z%20M250.79%2C130.068v67.453h-77.084v-67.453H250.79z%20M143.361%2C130.068v67.453H69.009l-19.436-67.453H143.361z%20M143.361%2C233.652v69.25%20H99.374l-19.955-69.25H143.361z%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%3B%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M123.903%2C436.688c-20.23%2C0-36.633%2C16.402-36.633%2C36.64c0%2C20.234%2C16.402%2C36.635%2C36.633%2C36.635%20c20.24%2C0%2C36.633-16.4%2C36.633-36.635C160.536%2C453.09%2C144.144%2C436.688%2C123.903%2C436.688z%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%3B%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M299.681%2C438.728c-20.24%2C0-36.633%2C16.408-36.633%2C36.633c0%2C20.24%2C16.392%2C36.639%2C36.633%2C36.639%20c20.23%2C0%2C36.633-16.398%2C36.633-36.639C336.314%2C455.137%2C319.911%2C438.728%2C299.681%2C438.728z%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%3B%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    width: 22px;
    height: 26px;
    background-repeat: no-repeat;
    padding: 10px;
}
.reserve-menu-ttl {
    position: relative;
    padding: 6px 12px;
    border: 1px solid #bdc3c9;
    background-color: #fff;
    color: #000;
    font-weight: bold;
    font-size: 16px;
    margin: 18px 0;
    border-radius: 2px;
}
.reserve-menu-ttl:before {
    position: absolute;
    top: 100%;
    left: 50px;
    transform: skew(-25deg);
    height: 10px;
    width: 15px;
    border-right: 2px solid #bdc3c9;
    background-color: #fff;
    content: "";
    padding: 2px;
}
.reserve-menu-ttl p {
    line-height: 1;
}
.reserve-icon{
    display: flex;
    align-items: center;
    gap: 10px;
}
.--therapist::before{
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22width%3A%20256px%3B%20height%3A%20256px%3B%20opacity%3A%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%234B4B4B%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M256%2C265.308c73.252%2C0%2C132.644-59.391%2C132.644-132.654C388.644%2C59.412%2C329.252%2C0%2C256%2C0%20c-73.262%2C0-132.643%2C59.412-132.643%2C132.654C123.357%2C205.917%2C182.738%2C265.308%2C256%2C265.308z%22%20style%3D%22fill%3A%20rgb(21%2C%2018%2C%2018)%3B%22%3E%3C%2Fpath%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M425.874%2C393.104c-5.922-35.474-36-84.509-57.552-107.465c-5.829-6.212-15.948-3.628-19.504-1.427%20c-27.04%2C16.672-58.782%2C26.399-92.819%2C26.399c-34.036%2C0-65.778-9.727-92.818-26.399c-3.555-2.201-13.675-4.785-19.505%2C1.427%20c-21.55%2C22.956-51.628%2C71.991-57.551%2C107.465C71.573%2C480.444%2C164.877%2C512%2C256%2C512C347.123%2C512%2C440.427%2C480.444%2C425.874%2C393.104z%22%20style%3D%22fill%3A%20rgb(21%2C%2018%2C%2018)%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    content: "";
    width: 24px;
    height: 24px;
}
.--reserve-menu::before{
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22100%25%22%20viewBox%3D%220%200%201299%201299%22%20enable-background%3D%22new%200%200%201299%201299%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M764.000000%2C1300.000000%20C509.333344%2C1300.000000%20255.166672%2C1300.000000%201.000000%2C1300.000000%20C1.000000%2C867.000000%201.000000%2C434.000000%201.000000%2C1.000000%20C434.000000%2C1.000000%20867.000000%2C1.000000%201300.000000%2C1.000000%20C1300.000000%2C434.000000%201300.000000%2C867.000000%201300.000000%2C1300.000000%20C1121.500000%2C1300.000000%20943.000000%2C1300.000000%20764.000000%2C1300.000000%20M288.000000%2C588.500000%20C288.000000%2C770.827576%20287.997742%2C953.155090%20288.030609%2C1135.482666%20C288.030975%2C1137.402832%20288.285126%2C1139.377441%20288.772369%2C1141.234497%20C292.334961%2C1154.812256%20304.139923%2C1161.949463%20318.162842%2C1161.953247%20C560.488159%2C1162.018188%20802.813477%2C1162.003540%201045.138794%2C1161.958862%20C1048.212036%2C1161.958252%201051.281250%2C1161.293945%201054.359375%2C1161.018311%20C1068.640381%2C1159.739380%201077.967407%2C1146.157104%201077.969116%2C1133.532349%20C1078.008667%2C826.875854%201077.999268%2C520.219360%201078.001953%2C213.562836%20C1078.002075%2C197.990570%201063.993652%2C185.900223%201050.478516%2C185.907242%20C805.153320%2C186.034454%20559.828064%2C186.020432%20314.502899%2C185.944122%20C301.198273%2C185.939987%20287.912384%2C198.105331%20287.927002%2C212.512497%20C288.053650%2C337.508209%20288.000000%2C462.504150%20288.000000%2C588.500000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M288.000000%2C588.000000%20C288.000000%2C462.504150%20288.053650%2C337.508209%20287.927002%2C212.512497%20C287.912384%2C198.105331%20301.198273%2C185.939987%20314.502899%2C185.944122%20C559.828064%2C186.020432%20805.153320%2C186.034454%201050.478516%2C185.907242%20C1063.993652%2C185.900223%201078.002075%2C197.990570%201078.001953%2C213.562836%20C1077.999268%2C520.219360%201078.008667%2C826.875854%201077.969116%2C1133.532349%20C1077.967407%2C1146.157104%201068.640381%2C1159.739380%201054.359375%2C1161.018311%20C1051.281250%2C1161.293945%201048.212036%2C1161.958252%201045.138794%2C1161.958862%20C802.813477%2C1162.003540%20560.488159%2C1162.018188%20318.162842%2C1161.953247%20C304.139923%2C1161.949463%20292.334961%2C1154.812256%20288.772369%2C1141.234497%20C288.285126%2C1139.377441%20288.030975%2C1137.402832%20288.030609%2C1135.482666%20C287.997742%2C953.155090%20288.000000%2C770.827576%20288.000000%2C588.000000%20M958.500000%2C243.000000%20C754.074280%2C243.000000%20549.648621%2C243.000000%20345.284668%2C243.000000%20C345.284668%2C530.305481%20345.284668%2C817.040771%20345.284668%2C1103.714722%20C570.638733%2C1103.714722%20795.708069%2C1103.714722%201020.715088%2C1103.714722%20C1020.715088%2C816.694092%201020.715088%2C529.958740%201020.715088%2C243.000000%20C1000.120667%2C243.000000%20979.810303%2C243.000000%20958.500000%2C243.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M959.000000%2C243.000000%20C979.810303%2C243.000000%201000.120667%2C243.000000%201020.715088%2C243.000000%20C1020.715088%2C529.958740%201020.715088%2C816.694092%201020.715088%2C1103.714722%20C795.708069%2C1103.714722%20570.638733%2C1103.714722%20345.284668%2C1103.714722%20C345.284668%2C817.040771%20345.284668%2C530.305481%20345.284668%2C243.000000%20C549.648621%2C243.000000%20754.074280%2C243.000000%20959.000000%2C243.000000%20M972.000000%2C434.500000%20C972.000000%2C408.170471%20972.106628%2C381.840363%20971.955200%2C355.511688%20C971.878967%2C342.267334%20971.708618%2C329.002625%20970.895081%2C315.789337%20C970.093323%2C302.768463%20957.577820%2C292.003571%20944.196228%2C292.003204%20C770.049683%2C291.998383%20595.903198%2C292.001007%20421.756653%2C291.998260%20C406.128418%2C291.998016%20393.946289%2C305.363220%20393.950562%2C319.833801%20C394.020294%2C555.639832%20394.000000%2C791.445923%20394.000000%2C1027.251953%20C394.000000%2C1028.085205%20393.949371%2C1028.921997%20394.007599%2C1029.751221%20C394.951050%2C1043.184448%20406.654266%2C1054.962402%20419.929352%2C1054.966309%20C594.909119%2C1055.016968%20769.888855%2C1055.015991%20944.868591%2C1054.893188%20C948.608215%2C1054.890625%20952.678467%2C1053.964600%20956.024963%2C1052.314331%20C967.227722%2C1046.789917%20971.938538%2C1036.914673%20971.943420%2C1024.931885%20C972.023132%2C828.454590%20972.000000%2C631.977295%20972.000000%2C434.500000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M972.000000%2C435.000000%20C972.000000%2C631.977295%20972.023132%2C828.454590%20971.943420%2C1024.931885%20C971.938538%2C1036.914673%20967.227722%2C1046.789917%20956.024963%2C1052.314331%20C952.678467%2C1053.964600%20948.608215%2C1054.890625%20944.868591%2C1054.893188%20C769.888855%2C1055.015991%20594.909119%2C1055.016968%20419.929352%2C1054.966309%20C406.654266%2C1054.962402%20394.951050%2C1043.184448%20394.007599%2C1029.751221%20C393.949371%2C1028.921997%20394.000000%2C1028.085205%20394.000000%2C1027.251953%20C394.000000%2C791.445923%20394.020294%2C555.639832%20393.950562%2C319.833801%20C393.946289%2C305.363220%20406.128418%2C291.998016%20421.756653%2C291.998260%20C595.903198%2C292.001007%20770.049683%2C291.998383%20944.196228%2C292.003204%20C957.577820%2C292.003571%20970.093323%2C302.768463%20970.895081%2C315.789337%20C971.708618%2C329.002625%20971.878967%2C342.267334%20971.955200%2C355.511688%20C972.106628%2C381.840363%20972.000000%2C408.170471%20972.000000%2C435.000000%20M672.500000%2C349.000000%20C598.739380%2C349.000000%20524.978699%2C349.000000%20451.286316%2C349.000000%20C451.286316%2C565.642517%20451.286316%2C781.710999%20451.286316%2C997.712891%20C605.642273%2C997.712891%20759.711670%2C997.712891%20913.713562%2C997.712891%20C913.713562%2C781.357239%20913.713562%2C565.288757%20913.713562%2C349.000000%20C833.451538%2C349.000000%20753.475769%2C349.000000%20672.500000%2C349.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M673.000000%2C349.000000%20C753.475769%2C349.000000%20833.451538%2C349.000000%20913.713562%2C349.000000%20C913.713562%2C565.288757%20913.713562%2C781.357239%20913.713562%2C997.712891%20C759.711670%2C997.712891%20605.642273%2C997.712891%20451.286316%2C997.712891%20C451.286316%2C781.710999%20451.286316%2C565.642517%20451.286316%2C349.000000%20C524.978699%2C349.000000%20598.739380%2C349.000000%20673.000000%2C349.000000%20M484.244385%2C751.234680%20C472.863068%2C754.812195%20468.725708%2C763.594666%20468.877747%2C773.211426%20C469.251434%2C796.854675%20469.129150%2C820.508728%20468.945038%2C844.156494%20C468.854218%2C855.823425%20476.286652%2C864.855103%20489.600616%2C864.950439%20C513.914673%2C865.124573%20538.245239%2C865.500305%20562.540527%2C864.803040%20C576.043091%2C864.415588%20582.215942%2C858.261108%20582.729431%2C844.912476%20C583.676331%2C820.300537%20583.358459%2C795.618530%20582.839600%2C770.981079%20C582.601868%2C759.693665%20575.706360%2C750.882751%20562.044189%2C750.959778%20C536.397400%2C751.104431%20510.749207%2C751.010010%20484.244385%2C751.234680%20M571.262817%2C526.004333%20C579.823792%2C522.826843%20582.698730%2C515.497559%20582.841003%2C507.582336%20C583.277832%2C483.271393%20583.326233%2C458.941376%20582.861206%2C434.631439%20C582.631775%2C422.635681%20576.165405%2C414.318726%20564.187866%2C414.125519%20C538.709656%2C413.714600%20513.220276%2C413.962799%20487.735596%2C414.018799%20C477.908539%2C414.040375%20469.042358%2C422.882782%20469.019745%2C432.695038%20C468.961060%2C458.179688%20468.780060%2C483.668396%20469.221954%2C509.145508%20C469.293457%2C513.269592%20471.715302%2C517.729553%20474.093109%2C521.349487%20C477.729889%2C526.886108%20483.989166%2C527.911316%20490.098816%2C527.945374%20C514.083740%2C528.078918%20538.070251%2C528.062805%20562.054993%2C527.915283%20C564.854370%2C527.898132%20567.646545%2C526.718994%20571.262817%2C526.004333%20M511.500000%2C583.000000%20C503.167847%2C583.000000%20494.833984%2C583.107117%20486.504028%2C582.971741%20C477.061737%2C582.818359%20469.097443%2C591.677917%20469.050323%2C600.351318%20C468.910004%2C626.180237%20468.889374%2C652.011169%20469.054413%2C677.839722%20C469.120667%2C688.206360%20478.032288%2C696.141479%20487.724365%2C696.066956%20C513.385925%2C695.869568%20539.049988%2C696.023621%20564.712830%2C695.951538%20C566.601135%2C695.946228%20568.600647%2C695.533447%20570.355652%2C694.829346%20C579.330750%2C691.228760%20582.900696%2C684.034607%20582.973145%2C674.835938%20C583.078125%2C661.505310%20583.129761%2C648.171570%20582.962158%2C634.842285%20C582.806091%2C622.437866%20582.627136%2C610.020020%20581.892456%2C597.641724%20C581.435364%2C589.941101%20573.129211%2C583.007568%20565.492493%2C583.003174%20C547.828308%2C582.993042%20530.164185%2C583.000000%20511.500000%2C583.000000%20M612.201538%2C657.729065%20C618.415039%2C658.152710%20624.628113%2C658.938416%20630.842041%2C658.945068%20C709.116821%2C659.028748%20787.391846%2C659.011292%20865.666748%2C658.957825%20C868.730530%2C658.955750%20871.816040%2C658.470032%20874.853638%2C657.976990%20C885.403870%2C656.264832%20890.822998%2C646.168457%20889.897156%2C637.902466%20C888.625732%2C626.550354%20880.697510%2C620.076538%20870.952820%2C620.063660%20C787.015564%2C619.952881%20703.078125%2C619.994019%20619.140747%2C620.008484%20C610.028137%2C620.010071%20601.562988%2C626.353760%20600.011414%2C634.211731%20C598.022522%2C644.284241%20602.471130%2C653.047546%20612.201538%2C657.729065%20M862.488403%2C490.000000%20C864.820923%2C490.000000%20867.167114%2C489.836365%20869.483276%2C490.031097%20C876.060852%2C490.584076%20881.269531%2C488.211578%20885.400085%2C483.130981%20C890.762268%2C476.535431%20891.579468%2C469.202515%20887.823425%2C461.867676%20C884.639893%2C455.650909%20879.304138%2C451.969513%20871.815796%2C451.973236%20C787.179993%2C452.015472%20702.544189%2C451.968475%20617.908630%2C452.115692%20C614.534790%2C452.121552%20610.648682%2C453.052765%20607.893616%2C454.890656%20C601.114929%2C459.412567%20597.871460%2C469.722565%20600.199646%2C476.716309%20C602.991760%2C485.103363%20610.134033%2C489.999786%20619.580811%2C489.999817%20C700.218079%2C490.000122%20780.855286%2C490.000000%20862.488403%2C490.000000%20M887.980835%2C798.908569%20C884.447937%2C793.344727%20879.930054%2C789.040710%20872.919678%2C789.036133%20C787.590820%2C788.980469%20702.261963%2C788.971924%20616.933350%2C789.114685%20C613.889343%2C789.119751%20610.392395%2C790.146423%20607.893616%2C791.850769%20C601.190063%2C796.423096%20597.882751%2C806.717163%20600.196655%2C813.703064%20C602.973938%2C822.087952%20610.130737%2C826.999756%20619.575134%2C826.999756%20C702.737427%2C827.000061%20785.902283%2C826.673767%20869.059448%2C827.326965%20C882.630981%2C827.433533%20894.984497%2C812.640991%20887.980835%2C798.908569%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M484.672974%2C751.124817%20C510.749207%2C751.010010%20536.397400%2C751.104431%20562.044189%2C750.959778%20C575.706360%2C750.882751%20582.601868%2C759.693665%20582.839600%2C770.981079%20C583.358459%2C795.618530%20583.676331%2C820.300537%20582.729431%2C844.912476%20C582.215942%2C858.261108%20576.043091%2C864.415588%20562.540527%2C864.803040%20C538.245239%2C865.500305%20513.914673%2C865.124573%20489.600616%2C864.950439%20C476.286652%2C864.855103%20468.854218%2C855.823425%20468.945038%2C844.156494%20C469.129150%2C820.508728%20469.251434%2C796.854675%20468.877747%2C773.211426%20C468.725708%2C763.594666%20472.863068%2C754.812195%20484.672974%2C751.124817%20M513.599792%2C790.000000%20C511.828064%2C790.000000%20510.056335%2C790.000000%20508.000397%2C790.000000%20C508.000397%2C800.779724%20507.886078%2C811.064819%20508.148926%2C821.340210%20C508.180817%2C822.587585%20510.177368%2C824.766602%20511.377472%2C824.848816%20C522.161743%2C825.587708%20532.971558%2C825.953918%20543.723267%2C826.427368%20C543.723267%2C813.682312%20543.723267%2C801.958496%20543.723267%2C790.000000%20C533.824524%2C790.000000%20524.200623%2C790.000000%20513.599792%2C790.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M570.852417%2C526.041382%20C567.646545%2C526.718994%20564.854370%2C527.898132%20562.054993%2C527.915283%20C538.070251%2C528.062805%20514.083740%2C528.078918%20490.098816%2C527.945374%20C483.989166%2C527.911316%20477.729889%2C526.886108%20474.093109%2C521.349487%20C471.715302%2C517.729553%20469.293457%2C513.269592%20469.221954%2C509.145508%20C468.780060%2C483.668396%20468.961060%2C458.179688%20469.019745%2C432.695038%20C469.042358%2C422.882782%20477.908539%2C414.040375%20487.735596%2C414.018799%20C513.220276%2C413.962799%20538.709656%2C413.714600%20564.187866%2C414.125519%20C576.165405%2C414.318726%20582.631775%2C422.635681%20582.861206%2C434.631439%20C583.326233%2C458.941376%20583.277832%2C483.271393%20582.841003%2C507.582336%20C582.698730%2C515.497559%20579.823792%2C522.826843%20570.852417%2C526.041382%20M528.496948%2C489.000000%20C533.595459%2C489.000000%20538.693970%2C489.000000%20543.713867%2C489.000000%20C543.713867%2C476.689087%20543.713867%2C464.952332%20543.713867%2C453.286255%20C531.688782%2C453.286255%20519.952087%2C453.286255%20508.286377%2C453.286255%20C508.286377%2C465.311401%20508.286377%2C477.048157%20508.286377%2C489.000000%20C514.880310%2C489.000000%20521.189453%2C489.000000%20528.496948%2C489.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M512.000000%2C583.000000%20C530.164185%2C583.000000%20547.828308%2C582.993042%20565.492493%2C583.003174%20C573.129211%2C583.007568%20581.435364%2C589.941101%20581.892456%2C597.641724%20C582.627136%2C610.020020%20582.806091%2C622.437866%20582.962158%2C634.842285%20C583.129761%2C648.171570%20583.078125%2C661.505310%20582.973145%2C674.835938%20C582.900696%2C684.034607%20579.330750%2C691.228760%20570.355652%2C694.829346%20C568.600647%2C695.533447%20566.601135%2C695.946228%20564.712830%2C695.951538%20C539.049988%2C696.023621%20513.385925%2C695.869568%20487.724365%2C696.066956%20C478.032288%2C696.141479%20469.120667%2C688.206360%20469.054413%2C677.839722%20C468.889374%2C652.011169%20468.910004%2C626.180237%20469.050323%2C600.351318%20C469.097443%2C591.677917%20477.061737%2C582.818359%20486.504028%2C582.971741%20C494.833984%2C583.107117%20503.167847%2C583.000000%20512.000000%2C583.000000%20M537.426270%2C658.000000%20C539.531250%2C658.000000%20541.636230%2C658.000000%20543.736572%2C658.000000%20C543.736572%2C645.403320%20543.736572%2C633.333130%20543.736572%2C621.264648%20C531.734314%2C621.264648%20519.997314%2C621.264648%20508.265747%2C621.264648%20C508.265747%2C633.601318%20508.265747%2C645.671570%20508.265747%2C658.000000%20C517.832642%2C658.000000%20527.136108%2C658.000000%20537.426270%2C658.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M611.924194%2C657.430786%20C602.471130%2C653.047546%20598.022522%2C644.284241%20600.011414%2C634.211731%20C601.562988%2C626.353760%20610.028137%2C620.010071%20619.140747%2C620.008484%20C703.078125%2C619.994019%20787.015564%2C619.952881%20870.952820%2C620.063660%20C880.697510%2C620.076538%20888.625732%2C626.550354%20889.897156%2C637.902466%20C890.822998%2C646.168457%20885.403870%2C656.264832%20874.853638%2C657.976990%20C871.816040%2C658.470032%20868.730530%2C658.955750%20865.666748%2C658.957825%20C787.391846%2C659.011292%20709.116821%2C659.028748%20630.842041%2C658.945068%20C624.628113%2C658.938416%20618.415039%2C658.152710%20611.924194%2C657.430786%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M861.990479%2C490.000000%20C780.855286%2C490.000000%20700.218079%2C490.000122%20619.580811%2C489.999817%20C610.134033%2C489.999786%20602.991760%2C485.103363%20600.199646%2C476.716309%20C597.871460%2C469.722565%20601.114929%2C459.412567%20607.893616%2C454.890656%20C610.648682%2C453.052765%20614.534790%2C452.121552%20617.908630%2C452.115692%20C702.544189%2C451.968475%20787.179993%2C452.015472%20871.815796%2C451.973236%20C879.304138%2C451.969513%20884.639893%2C455.650909%20887.823425%2C461.867676%20C891.579468%2C469.202515%20890.762268%2C476.535431%20885.400085%2C483.130981%20C881.269531%2C488.211578%20876.060852%2C490.584076%20869.483276%2C490.031097%20C867.167114%2C489.836365%20864.820923%2C490.000000%20861.990479%2C490.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23000000%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M887.992065%2C799.309448%20C894.984497%2C812.640991%20882.630981%2C827.433533%20869.059448%2C827.326965%20C785.902283%2C826.673767%20702.737427%2C827.000061%20619.575134%2C826.999756%20C610.130737%2C826.999756%20602.973938%2C822.087952%20600.196655%2C813.703064%20C597.882751%2C806.717163%20601.190063%2C796.423096%20607.893616%2C791.850769%20C610.392395%2C790.146423%20613.889343%2C789.119751%20616.933350%2C789.114685%20C702.261963%2C788.971924%20787.590820%2C788.980469%20872.919678%2C789.036133%20C879.930054%2C789.040710%20884.447937%2C793.344727%20887.992065%2C799.309448%20z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M514.088257%2C790.000000%20C524.200623%2C790.000000%20533.824524%2C790.000000%20543.723267%2C790.000000%20C543.723267%2C801.958496%20543.723267%2C813.682312%20543.723267%2C826.427368%20C532.971558%2C825.953918%20522.161743%2C825.587708%20511.377472%2C824.848816%20C510.177368%2C824.766602%20508.180817%2C822.587585%20508.148926%2C821.340210%20C507.886078%2C811.064819%20508.000397%2C800.779724%20508.000397%2C790.000000%20C510.056335%2C790.000000%20511.828064%2C790.000000%20514.088257%2C790.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M527.997803%2C489.000000%20C521.189453%2C489.000000%20514.880310%2C489.000000%20508.286377%2C489.000000%20C508.286377%2C477.048157%20508.286377%2C465.311401%20508.286377%2C453.286255%20C519.952087%2C453.286255%20531.688782%2C453.286255%20543.713867%2C453.286255%20C543.713867%2C464.952332%20543.713867%2C476.689087%20543.713867%2C489.000000%20C538.693970%2C489.000000%20533.595459%2C489.000000%20527.997803%2C489.000000%20z%22%2F%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20opacity%3D%221.000000%22%20stroke%3D%22none%22%20d%3D%22%20M536.932922%2C658.000000%20C527.136108%2C658.000000%20517.832642%2C658.000000%20508.265747%2C658.000000%20C508.265747%2C645.671570%20508.265747%2C633.601318%20508.265747%2C621.264648%20C519.997314%2C621.264648%20531.734314%2C621.264648%20543.736572%2C621.264648%20C543.736572%2C633.333130%20543.736572%2C645.403320%20543.736572%2C658.000000%20C541.636230%2C658.000000%20539.531250%2C658.000000%20536.932922%2C658.000000%20z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    content: "";
    width: 28px;
    height: 30px;
}
.--course::before{
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20378.26%20241.91%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23000%3B%20stroke-width%3A%200px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M296.7%2C221.76h2.87c22.64%2C0%2C45.27-.02%2C67.91%2C0%2C8.09%2C0%2C13.13%2C7.59%2C9.68%2C14.53-1.7%2C3.41-4.51%2C5.3-8.35%2C5.57-.96.07-1.92.05-2.88.05-115.5%2C0-231%2C0-346.5-.04-3.57%2C0-7.18-.37-10.71-.93-4.12-.65-6.76-3.33-7.66-7.32C.38%2C230.61.05%2C227.47%2C0%2C224.38c-.06-3.81%2C2.25-6.27%2C5.64-7.56%2C5.67-2.15%2C11.37-4.23%2C17.12-6.13%2C39.56-13.06%2C79.09-26.21%2C118.75-38.93%2C5.08-1.63%2C10.91-1.41%2C16.38-1.27%2C14.14.35%2C28.27.96%2C42.39%2C1.78%2C17.87%2C1.04%2C35.72%2C2.35%2C53.58%2C3.64%2C7.57.55%2C15.17.99%2C22.65%2C2.14%2C9.18%2C1.41%2C13.74%2C6.55%2C15.23%2C15.71%2C1.41%2C8.67%2C2.93%2C17.33%2C4.41%2C25.99.11.62.32%2C1.21.54%2C2.01h0Z%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M105.94%2C173.35c.43-4.09.8-7.81%2C1.21-11.52%2C2.2-20.1%2C4.39-40.2%2C6.62-60.3.75-6.7%2C2.03-13.26%2C5.17-19.33%2C4.44-8.58%2C11.61-12.87%2C21.09-13.65%2C12.28-1%2C21.94%2C4.16%2C29.82%2C13%2C11.38%2C12.77%2C22.51%2C25.77%2C33.83%2C38.6%2C1.26%2C1.43%2C2.96%2C2.68%2C4.71%2C3.46%2C10.73%2C4.75%2C21.56%2C9.29%2C32.3%2C14.03%2C2.24.99%2C4.4%2C2.32%2C6.28%2C3.87%2C2.76%2C2.28%2C3.9%2C5.38%2C3.24%2C9.02-1.26%2C6.94-4.81%2C9.96-11.76%2C8.73-8.87-1.57-17.61-3.88-26.4-5.89-4.05-.92-8.09-1.88-12.13-2.83-3.93-.92-7.21-2.95-9.96-5.88-5.59-5.94-11.19-11.86-16.8-17.78-.65-.68-1.33-1.33-2.41-2.39-.52%2C12.29-1.02%2C24.12-1.53%2C36.19-2.8%2C0-5.49-.04-8.17%2C0-5.91.12-11.83.18-17.73.48-1.87.09-3.76.72-5.56%2C1.32-10.51%2C3.54-20.99%2C7.15-31.84%2C10.85l.02.02Z%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M121.62%2C29.66C121.55%2C13.46%2C134.72.1%2C150.87%2C0c16.4-.1%2C29.74%2C13.02%2C29.79%2C29.31.05%2C16.49-12.91%2C29.63-29.33%2C29.73-16.37.1-29.64-13.02-29.71-29.38Z%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M333.42%2C214.55c-15.29-.09-27.57-12.39-27.62-27.64-.04-15.21%2C12.56-27.7%2C27.89-27.63%2C15.2.07%2C27.53%2C12.55%2C27.44%2C27.78-.09%2C15.27-12.5%2C27.58-27.72%2C27.49h0Z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    width: 35px;
    height: 23px;
    content: "";
}

#cart-info-wrap {
    position: sticky;
    bottom: 80px;
    z-index: 10;
}
.cart-info-bottom {
    background: #fff;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.cart-info-bottom h3 {
    font-size: 14px;
    font-weight: bold;
}
.cart-info-bottom .cart-item {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px dotted #ccc;
    position: relative;
}
.cart-info-bottom .row {
    display: flex;
    font-size: 13px;
    gap: 0 20px;
}
.cart-info-bottom .cart-item .delete {
    position: absolute;
    top: 5px;
    right: 0;
    background: #376ba7;
    color: #fff;
    font-size: 12px;
    border-radius: 5px;
    padding: 3px 7px;
    cursor: pointer;
}

.total-bottom{
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-radius: 3px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    background-color: #fff;
    padding: 10px 10px;
    width: 90%;
    max-width: 100%;
    gap: 8px;
    margin-top: 10px;
    position: sticky;
    bottom: 5px;
    z-index: 10;
}
.total-bottom{
    opacity: 1;
    
}
.total-bottom li{
    display: flex;
    gap: 0px;
    flex-direction: column;
    text-align: center;

}
.total-bottom li span{
    font-size: clamp(0.875rem, 0.823rem + 0.221vw, 1rem);
}
.total-bottom li span:last-child{
    color: #BF1111;
    font-size: clamp(0.938rem, 0.860rem + 0.331vw, 1.125rem);
  
}
.total-bottom li:not(:last-child){
    border-right: 1px solid #ddd;
    padding: 0px 8px 0 0px;

}
.total-bottom li:last-child{
    flex-grow: 1;
}
.total-bottom li a{
    display: block;
    width: 100%;
    transition: all 1s;
    font-size: clamp(0.875rem, 0.823rem + 0.221vw, 1rem);
}
.total-bottom li a:hover{
    opacity: 0.7;
}
.crat-total{
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: flex-end;
    padding: 10px 20px;
    background-color: #0B3167;
    position: sticky;
    top: 70px;
    z-index: 10;
    border-radius: 3px;
}
.cart-list{
    max-width: 640px;
    margin: 30px auto;
    width: 100%;
}
.cart-list h2{
    font-size: 18px;
    margin-bottom: 20px;
    text-align: center;
}
.crat-total span{
    color: #fff;
}
.cart-table{
    margin-top: 20px;
    width: 100%;
    max-width: 640px;
    border: 1px solid #ddd;
}
.cart-table tr{
    display: flex;
    flex-direction: column;
}
.cart-table th{
    display: none;
}
.cart-table td{
    font-size: 16px;
    padding: 8px;
    font-weight: normal;
}
.cart-table td:first-child {
       font-weight: bold;
       font-size: 14px;
}

.cart-table td .menu-price{
    font-size: 16px;

}
.cart-table td:not(:last-child,.quantity-box){
    border-bottom: 1px solid #ddd;
}
.cart-table td h4{
    font-size: 16px;
    font-weight: bold;
    margin-top: 10px;
}
.cart-table td:last-child{
    text-align: center;
    border-bottom: 1px solid #ddd;
}
.cart-table tbody tr:nth-child(even){
    background-color: #f8f8f8;
}
.cart-fx{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.quantity-box{
    text-align: right;
}
select.quantity-select {
    width: 50px;
    border: 1px solid;
    padding: 2px 5px;
    cursor: pointer;
    text-align: start;
}
.price-right{
    text-align: right;
}
.delete-btn{
    max-width: 80px;
    font-size: 14px;
}
.cart-btn-container{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}

.page-top {
    position: fixed;
    right: 15px;
    bottom: 5px;
    z-index: 10;
}
.page-top a {
    background: #376ba7;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
    width: 40px;
    height: 40px;
    display: block;
}
.page-top a::before {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
    position: absolute;
    top: 58%;
    left: 50%;
}

/*選択画面作成*/
.selection-information{
    margin-bottom: 20px;
    /* position: sticky; */
    bottom: 0px;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
    z-index: 9;
    background-color: #f7f3e8;
    padding: 0 10px 15px;
    font-weight: normal;
}
.selection-information h2{
    font-size: 18px;
    text-align: center;
    margin-bottom: 10px;
}
.selection-information h3{
    font-weight: bold;
}
.selection-information dl{
    display: flex;
    font-weight: 400;
    font-size: 15px;
    font-size: 17px;
}
.selection-information dt {
    font-weight: 400;
    width: 100px;
    font-weight: 700;
}
.selection-information dd {
    width: calc(100% - 100px);
}
.select-info-price {
    border-top: 1px solid #1A1A1A;
    text-align: right;
    font-weight: 400;
    margin-top: 5px;
    padding-top: 5px;
    font-size: 18px;
}
/* .selection-information > dl:last-of-type{
   justify-content: end;
}
.selection-information > dl:last-of-type dt{
    width: auto;
} */
/* .selection-information dt{
    width: 15%;
} */

.select-info-head {
    background: #fff;
    margin: 0 -15px 30px;
    padding: 15px 15px;
}
.select-info-head .block + .block {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #1A1A1A;
}
.select-info-head .block {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}
.select-info-head .block .row {
    display: flex;
    justify-content: space-between;
}
.select-info-head .block .bg-gray {
    background: #d0d7dd;
}
.select-info-head .block .bg-gray .font-bold {
    font-weight: bold;
}

.availability-icon{
    width: 70px;
    margin: 10px auto;
}
/*選択画面作成ここまで*/

.pc-show{
    display: none!important;
}
.sp-show{
    display: block!important;
}
@media screen and  (min-width: 798px){
    .pc-show{
        display: block!important;
    }
    .sp-show{
        display: none!important;
    }
    .menu-selection-grid{
        grid-template-columns: repeat(auto-fit, minmax(180px,231px));
    }
    .total-bottom {
        gap: 20px;
    }

    .total-bottom li{
        flex-direction: row;
        gap: 10px;
    }
    .total-bottom li:not(:last-child){
        border-right: 1px solid #ddd;
        padding: 0px 20px 0 0px;

    }
    .cart-table td:first-child{
        max-width: 262px;
    }
    .cart-table th{
        display:table-cell;
    }
    .cart-table td:not(:last-child){
        border-right: 1px solid #ddd;
    }
    .cart-table th{
        background-color: #D9D9D9;;
        border-right: 1px solid #fff;
        padding: 5px 5px;
        text-align: center;
    }
    .cart-table tr{
    display: table-row;
    }
    .cart-table td{
        border-bottom: 1px solid #ddd;
    }

}


#search_area{
    /* display:none; */
}
#search_area_opener{
    cursor: pointer;
    text-align: center;
    margin-top: 15px;
}
#search_area_opener span{
    background-color: #0B3167;
    color: #fff;
    padding: 6px 12px;
}
#search_area_opener.active span{
    background-color: #7c7c7c;
}
#search_area .modal {
    margin-top: 20px;
}
#search_area .modal .modal__trigger .btn {
    font-size: 14px;
}
/*ローディング*/
body:has(main.main.searching){
  background: -webkit-gradient(radial, center center, 120, center center, 900, from(#33495E), to(#212135));
  background:-moz-radial-gradient(circle, #33495E, #212135);
 -webkit-animation: fadeIn 4s ease 0s 1 normal;
  animation: fadeIn 4s ease 0s 1 normal;
} 

@keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}
main.main.searching .loader{
    display: block;
}
main.main .loader{
    display: none;
}

body:has(main.main.searching) .total-bottom,body:has(main.main.searching) .page-body{
    opacity: 0;
}
.loader{
  margin:200px auto;
}
main.main.searching h2{
  color:#FFF;
  font-size:16px;
  letter-spacing:1px;
  font-weight:200;
  text-align:center;
  margin-bottom: 8px;
}
.loader span{
  width:16px;
  height:16px;
  border-radius:50%;
  display:inline-block;
  position:absolute;
  left:50%;
  margin-left:-10px;
  -webkit-animation:3s infinite linear;
  -moz-animation:3s infinite linear;
  -o-animation:3s infinite linear;
  
}
.loader span:nth-child(2){
  background:#fff;
  -webkit-animation:kiri 1.2s infinite linear;
  -moz-animation:kiri 1.2s infinite linear;
  -o-animation:kiri 1.2s infinite linear;
  
}
.loader span:nth-child(3){
  background:#0B3167;
  z-index:100;
}
.loader span:nth-child(4){
  background:#fff;
  -webkit-animation:kanan 1.2s infinite linear;
  -moz-animation:kanan 1.2s infinite linear;
  -o-animation:kanan 1.2s infinite linear;
}

@-webkit-keyframes kanan {
    0% {-webkit-transform:translateX(20px);
    }
   
  50%{-webkit-transform:translateX(-20px);
    }
  
  100%{-webkit-transform:translateX(20px);
  z-index:200;
    }
}
@-moz-keyframes kanan {
    0% {-moz-transform:translateX(20px);
    }
   
  50%{-moz-transform:translateX(-20px);
    }
  
  100%{-moz-transform:translateX(20px);
  z-index:200;
    }
}
@-o-keyframes kanan {
    0% {-o-transform:translateX(20px);
    }
   
  50%{-o-transform:translateX(-20px);
    }
  
  100%{-o-transform:translateX(20px);
  z-index:200;
    }
}

@-webkit-keyframes kiri {
     0% {-webkit-transform:translateX(-20px);
  z-index:200;
    }
  50%{-webkit-transform:translateX(20px);
    }
  100%{-webkit-transform:translateX(-20px);
    }
}

@-moz-keyframes kiri {
     0% {-moz-transform:translateX(-20px);
  z-index:200;
    }
  50%{-moz-transform:translateX(20px);
    }
  100%{-moz-transform:translateX(-20px);
    }
}
@-o-keyframes kiri {
     0% {-o-transform:translateX(-20px);
  z-index:200;
    }
  50%{-o-transform:translateX(20px);
    }
  100%{-o-transform:translateX(-20px);
    }
}


/*ローディングここまで*/

.facility-selection{
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
}
.head-txt{
    background-color: #376ba7;
    color: #fff;
    font-size: 20px;
    padding:8px 20px;
    text-align: center;
    margin: 20px 0;

}
.facility-box{
    padding: 10px 20px 20px;
    background-color: #fff;
    font-size: 14px;
}
.facility-card{
    margin-bottom: 30px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
.facility-card h2 {
    text-align: center;
    font-size: 16px;
    padding: 6px 0;
    border-bottom: 1px solid #858484;
    
}
.facility-card address{
    margin-top: 10px;
    text-align: center;
     font-weight: 400;
}
.facility-card img{
    width: 100%;
    height: auto;
}
.facility-card p{
    text-align: center;
    font-weight: 400;
}
.selection-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 12px;
}
.selection-button a{
    width: calc(50% - 20px / 2);
}
.selection-button .btn{
    border-radius: 30px;
    font-size: 14px;
    padding: 5px 0;
}
.selection-button a:hover{
    opacity: 0.7;
}
.selection-course{
    background-color: #376ba7;
    color: #fff;
}
.selection-date{
    background-color: #6391c8;
    color: #fff;
}
#search_button{
    border-radius: 5px;
    background-color: #376ba7;
    padding: 8px;
    margin: 18px auto 0;
    width: 100%;
    max-width: 350px;
    text-align: center;
    color: white;
    cursor: pointer;
    z-index: 100;
    cursor: pointer;
}

.mypage-contents .info-dl {
    margin: 0 auto 30px;
    max-width: 500px;
}
.mypage-contents .info-dl > dt {
    text-align: center;
    padding: 0 0 10px;
}
.mypage-contents .nav-links {
    display: flex;
    justify-content: center;
    gap: 10px;
}
.mypage-contents .info-btn {
    margin: 15px auto 0;
    max-width: 300px;
}
.mypage-contents .modal-content {
    max-width: 600px;
    margin: 0 auto;
}
.info-dl > dt {
    background-color: #0B3167;
    color: #fff;
    text-align: center;
    font-size: 16px;
    padding: 5px 0!important;
    font-weight: 600;
    margin-bottom: 10px;
}
.form-dl {
    display: flex;
}
.form-dl.form-dl-col {
    flex-direction: column;
}
.mypage-contents .info-dl .form-dl dt {
    position: relative;
    padding-left: 12px;
    font-size: 16px;
    color: #0B3167;
    width: 30%;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}
.form-dl dt::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 22px;
    background-color: #0B3167;
    top: -1px;
    left: 0;
}
.form-dl dt.dt-part::before {
    height: 28px;
}
.form-dl dd {
    width: 70%;
}
.form-dl.form-dl-col dd {
    width: 100%;
}
.form-block dd select {
    padding: 6px 38px 6px 7px;
    border-radius: 3px;
    border: 1px solid #B5B5B5;
    font-size: 16px;
    font-weight: 500;
    overflow: hidden !important;
    width: 100%;
    background: #fff url(../images/select-arrow.png) no-repeat top 52% right 10px / 20px auto;
}
.form-block dd .select-course {
    width: 100%;
}
.form-block + .form-block {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #C3C3C3;
}
.form-dl + .form-dl {
    margin-top: 15px;
}
.form-dl.al-c {
    align-items: center;
}
.radio-part {
    padding: 2px 12px;
    font-size: 14px;
    display: inline-block;
    position: relative;
    color: #0B3167;
    border: 1px solid #0B3167;
    border-radius: 14px;
    font-weight: 400;
    cursor: pointer;
    letter-spacing: 0;
}
.mypage-contents input[type="radio"]:checked + .radio-part {
    padding-left: 30px;
    border: 2px solid #0B3167;
    background-color: #F2F6FA;
    font-weight: 600;
}
.mypage-contents input[type="radio"]:checked + .radio-part::before {
    content: "";
    width: 14px;
    height: 8px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    position: absolute;
    top: 42%;
    left: 10px;
    transform: translateY(-50%) rotate(-45deg);
}
.favorite-submit {
    margin: 40px auto 0;
    width: 270px;
}
.form-dl.form-dl-col dt {
    margin-bottom: 10px;
}
.locker-btn {
    position: relative;
    margin: 20px auto;
    max-width: 400px;
    display: block;
}
.locker-btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
    height: 10px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.locke-dl {
    max-width: 400px;
    margin: 20px auto;
}
.comfirm-form-dl dd input[type="text"].locker-number {
    padding: 5px 10px;
    text-align: center;
    font-size: 22px;
}
.usage-info {
    margin-bottom: 10px;
}
.usage-info-item {
    padding: 5px 10px;
    border-bottom: 1px solid #000;
}
.page-numbers {
    font-size: 12px;
    background-color: #898989;
    color: #fff;
    border-radius: 3px;
    padding: 6px 10px;
}
a.page-numbers {
    background-color: #376ba7;
}
.page-numbers.current {
    background: none;
    color: #1A1A1A;
    font-size: 14px;
}

.reserve-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 600px;
    z-index: 2;
    display: none;
}
.reserve-modal .modal-close-btn {
    position: absolute;
    top: -5px;
    right: 10px;
}
.reserve-modal .modal-close-btn::before {
    content: "×";
    font-size: 30px;
    cursor: pointer;
}
.reserve-modal .modal-content {
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #fff;
    border-radius: 5px;
    padding: 30px 20px 20px;
}
.modal-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0, 0.2);
    z-index: 1;
    display: none;
}

.keyboard .key {
    width: min(8vw, 38px);
    padding: 3px;
    background: #376ba7;
    color: #fff;
    font-weight: 500;
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.keyboard .key.wide {
    aspect-ratio: auto;
    padding: 6px;
}

@media screen and (min-width: 600px) {
    .reserve-form, .selection-information, .table-wrap, .selected-info .block, .comfirm-form, .confirm-list,
    .caution, .confirm-txt, .select-time, .facility-selection {
        max-width: 940px;
    }
    .reserve-item:not(.column) dt {
        width: 94px;
        font-size: 22px;
    }
    .reserve-input input[type="date"] {
        width: 180px;
        font-size: 19px;
    }
    .reserve-radio span,
    .selection-button .btn {
        font-size: 20px;
    }
    .btn-small {
        font-size: 20px;
    }
    #therapist_choice .reserve-card .therapist-item {
        padding: 28px;
    }
    .reserve-item.column dt {
        margin-top: 35px;
        font-size: 26px;
    }
    .reserve-card .therapist-item {
        padding: 35px;
    }
    .modal__content .reserve-card .therapist-item {
        padding: 10px;
    }
    .therapist-item .name,
    .facility-card h2 {
        font-size: 24px;
    }
    .reserve-card .therapist-item .txt,
    .selected-info .block,
    .info-row :is(dt, dd),
    .comfirm-form-dl dt,
    .comfirm-form-dl dd :is(input[type="tel"],input[type="text"]),
    .facility-box {
        font-size: 18px;
    }
    .selection-information {
        font-size: 20px;
        margin-top: 40px;
    }
    .select-info-price,
    .head-txt {
        font-size: 22px;
    }
    .btn, .agree-block .agree-part {
        font-size: 24px;
    }
    .page-head p {
        font-size: 26px;
    }
    .table tbody th,
    .confirm-item > dt,
    .reserve-item dd {
        font-size: 20px;
    }
    .check-item {
        height: 40px;
        font-size: 18px;
    }
    .check-item input[type="checkbox"] + span::before {
        width: 22px;
        height: 22px;
    }
    .check-item input[type="checkbox"]:checked + span::after {
        width: 13px;
        height: 13px;
    }
    .info-row {
        justify-content: flex-end;
    }
    .info-row dt {
        width: 170px;
    }
    .info-row dd {
        width: 60%;
    }
    .info-row::after {
        left: 38%;
    }
    .confirm-txt {
        margin-top: 40px;
    }
    .confirm-submit {
        width: 320px;
    }
    .send-text {
        font-size: 19px;
    }
    .reserve-cards {
        gap: 20px;
    }
    .reserve-card {
        width: calc(24% - 20px * 2 / 3);
    }
    .therapist-item .img {
        max-width: 170px;
        margin: 0 auto 7px;
    }
    select.time-select {
        width: 93px;
    }
    select.shop-select {
        width: 200px;
    }
    .reserve-item:not(.column) {
        max-width: 530px;
    }
    .reserve-menu-ttl {
        font-size: 18px;
    }
    .reserve-category-ttl {
        font-size: 15px;
    }
    .modal__content dt {
        font-size: 18px;
    }
    .modal__content .reserve-card .therapist-item .name,
    .modal__content .btn {
        font-size: 16px;
    }
    .modal__content .therapist-item .txt {
        font-size: 14px;
    }
    #search_area .modal .modal__trigger .btn {
        font-size: 18px;
    }
    #search_button {
        font-size: 18px;
    }
    .btn.add-to-cart {
        font-size: 18px;
    }
    .price-color-red {
        font-size: 18px;
    }
    #cart-info-wrap {
        bottom: 90px;
    }
    .cart-info-bottom .row {
        font-size: 16px;
    }
    .cart-info-bottom .cart-item .delete {
        font-size: 15px;
    }
    .total-bottom {
        width: auto;
        bottom: 5px;
    }

    .mypage-inner {
        max-width: 1040px;
        margin: 0 auto;
    }
    .info-block.w-100 {
        justify-content: center;
    }
    .mypage-contents {
        padding-top: 60px;
    }
    .mypage-contents .btn {
        font-size: 18px;
    }
    .mypage-contents .info-dl > dt {
        font-size: 18px;
    }
    .comfirm-form-dl dd input[type="text"].locker-number {
        font-size: 30px;
        padding: 8px 10px;
    }
    .reserve-modal .modal-content {
        padding: 30px 50px 30px;
    }
    .reserve-modal .modal-content p {
        font-size: 18px;
        padding: 20px 0 30px;
        text-align: center;
    }
    .reserve-modal .modal-btns {
        display: flex;
        gap: 0 20px;
        justify-content: center;
    }
    .reserve-modal .modal-btns .info-btn {
        margin: 0;
        width: 200px;
    }
    .page-numbers, .page-numbers.current {
        font-size: 16px;
    }
    .keyboard .key {
        font-size: 18px;
    }

    .page-top {
        right: 10px;
        bottom: 10px;
    }
    .page-top a {
        width: 50px;
        height: 50px;
    }

}
@media screen and (min-width: 768px) {
    .info-block {
        display: flex;
        flex-wrap: wrap;
        gap: 40px 40px;
    }
    .mypage-contents .info-dl {
        width: calc(50% - 40px / 2);
        margin: 0 0 30px;
    }
}
.locker_message{
    text-align: center;
}
.locker_message.success{
    color: #0B3167;
    font-size: 20px;
    font-weight: bold;
}
.locker_message.error{
    color: #fc1a46;
    font-size: 20px;
    font-weight: bold;
}
.message_shimei{
    text-align: center;
    font-weight: bold;
    color:#fc1a46;
}   
.kannai_gai_message{
    margin-bottom:20px;
    color:#fc1a46;
    text-align: center;
}

#processing{
    text-align: center;
    display: none;
}

#items_result{
    min-height:800px;
}

.items_searching::before {
    margin:0 auto;
    content: "";
    display: block;
    width: 40px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: 
      radial-gradient(farthest-side,#376ba7 94%,#0000) top/8px 8px no-repeat,
      conic-gradient(#0000 30%,#376ba7);
    -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
    animation: l13 1s infinite linear;
  }
  @keyframes l13{ 
    100%{transform: rotate(1turn)}
  }
.ui-datepicker {
    z-index: 1000 !important;
}