.content-text-div-button-mobile{
    display: none;
}
.content-text-div-button, .content-text-div-button-mobile{
    margin-left: auto;
    background-color: rgba(235, 121, 16, 1);
    padding: 10px 20px;
    font-size: 16px;
    color: white;
    border-radius: 5px;
    cursor: pointer;
}
.paragraph-phone{
    padding-left: 15px;
}
.div-with-arrow-up{
    display: flex;
    padding-left: 18px;
}
.text-with-arrow-up{
    padding-left: 9px;
}
.custom-list-disc {
    list-style-type: disc; 
    margin-left: 35px;
}

.custom-list-star {
    list-style-type: none;
    margin-left: 0px;
    padding-left: 0;
}

.custom-list-star li {
    position: relative;
    padding-left: 20px;
}

.custom-list-star li::before {
    content: '※ ';
    position: absolute;
    left: 0;
    top: 0;
}
.table-phone{
    display: none;
}
.title-border-under{
    border:1px solid #EB7910; 
    width:80px;
}
.sticker{
    padding: 50px 0;
    max-width: 550px;
    width: 100%;
    background-color: white;
    text-align: center;
    font-family: "Hiragino Maru Gothic Pro", sans-serif;
    border-radius: 20px;
}
.sticker > .h1{
    font-size: 30px;
}
.sticker > .h2{
    font-size: 24px;
}
.sticker > .h3{
    font-size: 20px;
}
table{
    border-collapse:separate; 
    border-spacing: 0 20px;
}
.secondary-text{
    font-size: 14px;
}
table > tbody > tr > th{
    width: 33%;
    vertical-align: top;
}
table > tbody > tr > td{
    font-size: 16px;
    font-weight: 400;
}
table > tbody > tr{
    margin-bottom: 30px;
}
.page-content {
    width: 100%;
    font-family: Helvetica;
}

.site-main {
    max-width: 1050px;
    width:100%;
    margin: auto;
    display: block;
}

.page-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 50px;
}

.title {
    font-family: "Hiragino Maru Gothic Pro", sans-serif;
    font-size: 24px;
    margin: 50px 0 10px 0;
}

.page-columns {
    display: flex;
}

.main-column {
    width: 67%;
}

.sidebar-column {
    width: 33%;
}

.upper-div, .lower-div {
    margin-bottom: 60px;
    background-color: rgba(243, 243, 243, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 0;
    border-radius: 10px;
}
.content-text-div{
    max-width: 500px;
    width: 100%;
    word-break: break-word;
    text-align: left;
}

.content-text-div-title{
    display: flex;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 40px;
    align-items: center;
}
.orange-icon{
    margin-right: 30px;
}
.book_now_button, .return_form_button, .book_now_button:hover, .return_form_button:hover{
	text-align: center;
	background: orange;
	width: 30%!important;
	margin: 10px!important;
	padding: 10px;
	border-radius: 5px;
	color: white;
	font-weight: 600!important;
}
input, select{
    font-size: inherit!important;
}
.closed{
	display: none!important;
}
@media only screen and (max-width: 1050px) {
	#booking-package_calendarPage, #booking-package_inputFormPanel, .book_now_button, .return_form_button{
		font-size: 3.4vw!important;
	}
    .div-with-arrow-up{
        padding-left: 3.5vw;
    }
    .text-with-arrow-up{
        padding-left: 1.5vw;
    }
    .paragraph-phone{
        padding-left: 4vw;
    }
    .table-pc{
        display: none;
    }
    .table-phone{
        display: block;
    }
    .title{
        font-size: 4.4vw;
    }
    .title-border-under{
        border: 2px solid #EB7910;
        width: 10vw;
    }
    .sidebar-column{
        width: 100%;
        padding: 0 4vw 0 4vw;
        margin-top: 100px;
        margin-bottom: 100px;
    }
    .page-columns{
        display: block;
    }
    .main-column{
        width: 100%;
        padding: 0 4vw;
    }
    .content-text-div-title{
        font-size: 4.8vw;
        margin: 45px 0 70px 0;
    }
    .content-text-div-button {
        display: none;
    }
    .content-text-div-button-mobile {
        display: block;
        font-size: 4.4vw;
        width: 41vw;
        margin-bottom: 60px;
        font-weight: 700;
        padding: 20px 30px;
    }
    .content-text-div{
        max-width: 100%;
        padding: 0 4vw;
    }
    h2{
        font-size: 4.4vw;
        margin: 20px 0;
    }
    .paragraph{
        font-size: 3.9vw;
    }
    .secondary-text{
        font-size: 3.5vw;
    }
    .orange-icon{
        width: 2vw;
    }
    .sticker{
        max-width: 92%;
        margin: 70px 0 40px 0;
    }
    .h1, .h2, .h3{
        font-size: 3.9vw!important;
    }
    .custom-list-disc{
        margin-left: 7vw;
    }
    .custom-list-star li{
        padding-left: 4vw;
    }
	.selectedDate{
        font-size: 4.5vw!important;
    }
    .courseListPanel{
        margin-top: 2vw;
    }
    .timeSlot{
        font-size: 4vw;
    }
    .selectable_day_slot{
        font-size: 3.5vw;
    }
	.return_button{
		font-size: 4vw!important;
	}
	#booking_package_input_comment{
		min-height: 200px;
		font-size: 33.33px;
	}
}

#calendar-navigation {
    display: flex;
    justify-content: space-between; /* Align buttons to the left and right */
    margin-bottom: 20px;
}

#calendar-navigation button {
    position: relative;
    display: flex; /* Use flexbox for alignment */
    align-items: center; /* Center items vertically */
    justify-content: center; /* Center items horizontally */
    border: 2px solid #EB7910;
    border-radius: 100px;
    cursor: pointer;
    line-height: 20px;
    color: #fff;
    font-weight: bold;
    background: #EB7910;
    padding: 12px 40px; /* Adjust padding to account for the arrow */
    font-size: 20px;
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition for background and color */
}

#calendar-navigation button:hover {
    color: #EB7910;
    background: white;
}

/* Next button arrow */
#next-calendar::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #ffffff;
    right: 15px; /* Position arrow on the right */
    top: 50%; /* Center vertically */
    transform: translateY(-50%); /* Adjust to align with text vertically */
    transition: all 0.3s ease;
}

/* Previous button arrow */
#prev-calendar::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 8px 5px 0;
    border-color: transparent #ffffff transparent transparent;
    left: 15px; /* Position arrow on the left */
    top: 50%; /* Center vertically */
    transform: translateY(-50%); /* Adjust to align with text vertically */
    transition: all 0.3s ease;
}

/* Change arrow color on button hover */
#next-calendar:hover::before {
    border-color: transparent transparent transparent #EB7910; /* Arrow color changes to orange */
}

#prev-calendar:hover::before {
    border-color: transparent #EB7910 transparent transparent; /* Arrow color changes to orange */
}

#prev-calendar {
    margin-right: auto; /* Align "Previous" button to the left */
}

#next-calendar {
    margin-left: auto; /* Align "Next" button to the right */
}
	@media only screen and (min-width:1051px){
			.pc-none{
	display:none;	
	}
	}




.guide-button{
    font-family: "Hiragino Maru Gothic Pro", sans-serif;
    cursor: pointer;
    text-decoration: underline;
    font-size: 16px;
    font-weight: 400;
    color: rgb(64, 64, 64)
}
.guide-button:hover{
    font-family: "Hiragino Maru Gothic Pro", sans-serif;
    cursor: pointer;
    text-decoration: underline;
    font-size: 16px;
    font-weight: 400;
    color: rgb(64, 64, 64)
}


@media only screen and (max-width: 1050px) {
    #calendar-navigation button {
        font-size: 4vw;
        padding: 3vw 5vw;
    }
    #next-calendar::before{
        border-width: 1.5vw 0 1.5vw 2vw;
    }
    #prev-calendar::before{
        border-width: 1.5vw 2vw 1.5vw 0;
    }
    .guide-button{
        font-size: 4vw;
    }
}

/* full‐page semi-transparent overlay */
#data-loading-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(255,255,255,0.8);
  display: none;              /* shown/hidden by JS */
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
/* the spinning circle */
#data-loading-overlay .spinner {
  width: 64px; height: 64px;
  border: 8px solid transparent;
  border-top: 8px solid rgba(0,0,0,0.4);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}