@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@100;300;400;500;700;900&display=swap");

@media screen and (max-width:768px) {


/* common
======================================= */
.wrapper {
    width: 100%;
    padding: 3%;
    box-sizing: border-box;
}

.pc-only { display: none!important; }
.pc-inline-only { display: none!important; }
.sp-only { display: block!important; }
.sp-inline-only { display: inline-block!important; }


.w-sp0 { width: 0%!important; }
.w-sp5 { width: 5%!important; }
.w-sp10 { width: 10%!important; }
.w-sp15 { width: 15%!important; }
.w-sp20 { width: 20%!important; }
.w-sp25 { width: 25%!important; }
.w-sp30 { width: 30%!important; }
.w-sp35 { width: 35%!important; }
.w-sp40 { width: 40%!important; }
.w-sp45 { width: 45%!important; }
.w-sp50 { width: 50%!important; }
.w-sp55 { width: 55%!important; }
.w-sp60 { width: 60%!important; }
.w-sp65 { width: 65%!important; }
.w-sp70 { width: 70%!important; }
.w-sp75 { width: 75%!important; }
.w-sp80 { width: 80%!important; }
.w-sp85 { width: 85%!important; }
.w-sp90 { width: 90%!important; }
.w-sp95 { width: 95%!important; }
.w-sp100 { width: 100%!important; }

.h-sp1rem { height: 1rem; }
.h-sp2rem { height: 2rem; }
.h-sp3rem { height: 3rem; }
.h-sp4rem { height: 4rem; }
.h-sp5rem { height: 5rem; }
.h-sp6rem { height: 6rem; }
.h-sp7rem { height: 7rem; }
.h-sp8rem { height: 8rem; }
.h-sp9rem { height: 9rem; }
.h-sp10rem { height: 10rem; }


/* 全体
=========================================== */
.sp-bg-white { background: #fff!important;; }
.sp-bg-cleanness { background: none!important;; }
.border-sp-0 { border-radius: 0!important;; }

.sp-header-shop {
    margin-top: 60px;
    margin-bottom: -60px;
}
.sp-header-shop div {
    border-top: 2px solid #F5F5F5;
    padding: 12px 0;
}

/* login ログインページ
=========================================== */
.wrap-bg {
    width: 92%;
    height: auto;
    margin-top: 100px;
    padding: 60px 0;
}
.logo-margin {
    margin-bottom: 40px;
}
.login-button{
    width: 84%;
}
.step-block {
    width: 240px;
}
.step4-block {
    width: 100%;
}
.step-bar {
    content: "";
    width: 30px;
}
.rule-box {
    height: 200px;
}
#email-form {
    width: 100%;
}
#regist-inner {
    width: 100%;
}
#regist-wide {
    width: 100%;
}
.up-image {
    width: 60%;
    display: block;
}



/* 管理画面 mangement-view
=========================================== */
#management-view {
    min-width: unset;
}
#management-header {
    height: 60px;
}
#management-content {
    margin-top: 60px;
}
#management-leftheader {
    padding-left: 15px !important;
}
#management-leftheader.leftheader-back {
    padding-left: 25px !important;
}
#management-leftheader,
#management-leftside {
    width: auto;
    z-index: 50;
    max-width: unset;
    min-width: unset;
}
#management-rightheader {
    width: 75px;
    max-width: 75px;
}
#management-logo {
    width: 60px;
    max-width: 60px;
}
#management-logo-sp {
    width: 55.05px;
    height: auto;
}
#management-logo-sp img#sp-logo {
    width: 55.05px;
    height: auto;
}

.sp-header-qa2 {
    width: 27px;
    margin-top: 5px;
    margin-right: 3px;
}
.sp-header-logout {
    width: 38px;
    margin-top: 5px;
}
#management-logo-back {
    width: 12px;
    margin: 6px 10px 5px 0px;
}
#management-leftside {
    display: none;
}
#management-maincontent {
    margin-left: 0;
    min-height: calc(100dvh - 89px);
    padding-bottom: 60px;
}
.image-circle {
    border-radius: 50%;
    width: 45px;
    height: 45px;
    object-fit: cover;
}
.image-circle-big {
    width: 120px;
    height: 120px;
}
.menu-item-on {
    background: #D8E7FF;
    border-radius: 10px;
}
.menu-item-on a.text-white {
    color: #4C4948!important;
}
#management-breadcrumb {
    display: none;
}
#management-block,
.management-block {
    width: 94%;
    margin: 0px auto;
    padding: 40px 10px;
    border-radius: 15px;
}
#management-block {
    background: none!important;
}
.management-block.amount-block {
    width: 100%;
    background: #D8E7FF!important;
    border-radius: 0;
}
.management-inner {
    width: 94%;
    margin: 0 auto;
    padding: 0 10px;
}
.management-wide {
    width: 94%;
    margin: 0 auto;
    padding: 0;
}
.management-subtitle {
    width: 94%;
    margin: 30px auto 10px;
    text-align: center;
    font-size: 16px;
}
.management-subtitle-l {
    text-align: left;
}

.sp-menu-item {
    height: 56px;
    position: relative;
    background: #0A2864;
}
.sp-menu-item img {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translate( -50%, 0 );
}
.sp-menu-2 img {
    bottom: 3px;
}
.sp-menu-on {
    background: #AFCAE7;
}
#management-footer .d-flex .sp-menu-item .notice-talk,
#management-footer-salon .d-flex .sp-menu-salon-item .notice-talk {
    position: absolute;
    background: #F04B01;
    color: #fff;
    width: 1.1rem;
    height: 1.1rem;
    line-height: 1.1rem;
    border-radius: 50%;
    text-align: center;
    font-size: 10px;
    padding: 0;
    top: 10%;
    right: 15%;
}


.sp-menu-salon-item {
    height: 56px;
    position: relative;
    background: #AFCAE7;
}
.sp-menu-salon-item img {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translate( -50%, 0 );
}
.sp-menu-2 img {
    bottom: 3px;
}
.sp-menu-assistqr {
    background: #F5F5F5;
    border: 2px solid #363636;
}
.sp-menu-salon-on {
    background: #D8E7FF;
}



/* QA
=========================================== */
.qa-link {
    width: 100%;
}
.qa-more {
    margin: 50px 0 0 0;
    text-align: center;
}

.news-day {
    display: block;
    width: 100%;
    font-weight: normal;
}

.amount-block {
    text-align: center;
}
.amount-kin {
    width: 80%;
    margin: 0 auto;
}
.amount-sales {
    display: block;
    text-align: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 20px;
}
.amount-input {
    display: block;
    width: 100%;
    margin: 5px auto 6px;
}
.amount-request {
    width: 50%;
}
.amaount-note {
    width: 80%;
    margin: 20px auto 10px;
    font-size: 12px;
}
.button-account {
    width: 80%;
    margin: 30px auto 0;
}


.modal-content {
    padding: 60px 5% 40px;
    width: 100%;
}

.bb-lightgray { border-bottom: 1px solid #f3f3f3; }

.form-credit input[type="text"] {
    padding: 15px 5px;
}
.form-credit input[type="text"].sp-border-top {
    border-top: 1px solid #4C4948;
    padding: 15px 15px;
}


/* カレンダー
=========================================== */

.calendar-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* iOSでのスムーズスクロール */
}

.calendar-table {
    min-width: 450px; /* テーブルの最小幅を設定 */
    margin: 0 auto;
}
.calendar-month {
    width: 100%;
    margin: 0 auto 5px;
    font-size: 22px;
    background: #fff;
    border-radius: 5px;
    padding: 10px 0;
}
.calendar-month span {
    font-size: 15px;
}
.calendar-month .calendar-month-left img,
.calendar-month .calendar-month-right img   {
    width: auto;
    height: 60%;
    position: absolute;
    top: 10px;
}
.calendar-month .calendar-month-left img  {
    left: 15%;
}
.calendar-month .calendar-month-right img  {
    right: 15%;
}
.calendar-table {
    width: 100%;
    background: #fff;
    border-collapse: collapse;
}
.calendar-table th,
.calendar-table td {
    border: none;
    padding: 4px 1px;
    box-sizing: border-box;
}
.calendar-table th {
    border-bottom: 3px solid #F5F5F5;
}
.calendar-table td {
    height: 60px;
    font-size: 13px;
}
.calendar-table .calendar-day {
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    border-radius: 50%;
    margin-bottom: 3px;
    margin-left: 1px;
}
.calendar-mirror,
.calendar-assist {
    font-size: 2.5vw;
}
.calendar-table .calendar-select-number select,
.calendar-table .calendar-select-number-on select {
    padding: 1px 0 1px 3px !important;
    font-size: 13px;
}

.btn-icon-left {
    position: absolute;
    top: -15px;
    left: -15px;
}
.btn-icon-right {
    position: absolute;
    bottom: -20px;
    right: -20px;
}
.btn-icon-right2 {
    position: absolute;
    bottom: -10px;
    right: -60px;
}


.li-underbar.li-underbar-spno li {
    border-bottom: none;
}

.calendar-confirm .calendar-confirm-label {
    position: relative;
}
.calendar-confirm td {
    height: 70px;
    background: #fff;
    border-bottom: 1px solid #aaa;
}
.calendar-confirm td.calendar-confirm-select {
    background: #fff;
}
.calendar-confirm .calendar-select-number {
    position: absolute;
    bottom: 5px;
    right: 5px;
    left: 50%;
    transform: translate(-50%, 0);
}

.past-recruitment-list .news-day {
    display: inline-block;
    font-size: 80%;
    width: auto;
}
.past-recruitment-list .news-title {
    display: block;
    margin-left: 28px;
}

.select-treatment {
    background: #fff;
    height: 70px;
    width: 90%;
    margin: 5px auto 0;
    padding: 5%;
}

.secretariat-review li {
    padding: 8px 0;
}
.review-day {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}
.review-name {
    display: block;
    width: 100%;
}
.management-block.salon-account-block {
    width: 100%;
    background: #F7F5F2!important;
    border-radius: 0;
    padding: 30px 5%;
    margin: 0!important;
}
.member-block {
    position: relative;
}
.member-block:before {
    content: "";
    background: url(../../images/salon/bg_sp_head_blue.png) no-repeat;
    width: 100vw;
    height: 95px;
    background-size: cover;
    background-position: bottom center;
    position: absolute;
    top: -30px;
    left: -3%;
    z-index: 0;
}

.member-image {
    width: 90%;
    margin: -40px auto 20px;
    text-align: center;
}
.member-image img {
    position: relative;
    z-index: 10;
}
.member-info {
    width: 90%;
    margin: 0 auto 30px;
    text-align: center;
}
.member-sns {
    width: 96%;
    margin: 0 auto;
}
.member-sns img {
    width: 13%;
    margin: 10px 4% 10p
}

.management-wide .salon-slide-staff {
    width: 100%;
    margin-bottom: 100px;
}
.salon-slide-staff .slick-track {
    display: flex;
    gap: 10px;
    width: auto!important;
}
.salon-slide-staff.slide-not-enough .slick-track {
    width: auto!important;
}
.salon-slide-staff .slide-staff {
    padding: 15px 3%;
    display: flex !important;
    width: 100%!important;
    margin: 0 !important;
    flex-direction: unset;
    justify-content: space-between;
    align-items: center;
}
.salon-slide-staff .slide-staff-image {
    width: 15%;
    display: block;
    margin: 0 auto 0;
}
.slide-staff-center {
    width: 60%;
    margin: 0 2%;
}
.salon-slide-staff .slide-staff-name {
    text-align: left;
    display: block;
}
.slide-staff-middle {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.salon-slide-staff .slide-staff-star {
    width: 35%;
    margin: 5px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.salon-slide-staff .slide-staff-star img {
    width: 17%;
}
.salon-slide-staff .slide-staff-rank {
    height: 20px;
    margin: 0 auto;
}
.salon-slide-staff .slide-staff-rank img {
    height: 100%;
    width: auto;
    margin: 0 auto 0;
}
.slide-staff-skill {
    width: 100%;
    margin: 5px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 5px 2%;
    flex: 1;
}
.slide-staff-skill img {
    width: 23%;
}
.slide-staff-check {
    position: unset;
    width: 20%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.slide-staff-check a {
    width: 46%;
}
.slide-staff-check img {
    width: 100%;
}

.salon-slide-staff .slick-prev {
    left: -3px;
    z-index: 1;
}


.notice-count {
    background: #F66E02;
    color: #fff;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    text-align: center;
    line-height: 1.5rem;
}



.salon-slide-staff {
    height: 570px;
    padding: 0;
    margin-bottom: 40px;
}
.salon-slide-staff.slide-not-enough {
    height: auto;
}
.salon-slide-staff.slide-not-enough .slick-list {
    height: auto!important;
}
.salon-slide-staff .slick-track,
.salon-slide-staff .slick-link {
    display: block;
    padding-top: 20px;
}

.salon-slide-staff .slide-staff {
    margin: 5px 0!important;
    height: auto !important;
}
.salon-slide-staff .slick-prev {
    display: none!important;
}
.salon-slide-staff .slick-next {
    bottom: -40px;
    top: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
}
#management-footer .d-flex div {
    width: 100%;
    padding: 0.5rem 0;
}


.salon_chat_maincontent {
    min-height: calc(100dvh - 128px) !important;
}
.message-block {
    height: calc(100dvh - 120px);
    width: 100%;
    min-height: auto;
    padding: 0px 10px 40px;
}
.message-block.salon {
    height: calc(100dvh - 180px);
}

.message-box {
/*    padding-bottom: 20px;*/
}
.message-send-block {
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 3%;
}
.message-send-block form {
    width: 100%;
}
.message-send-block input[type="textarea"] {
    margin-right: 1%;
    padding: 0 1%;
}
.button-plus {
    width: 46px;
    text-align: center;
}
.button-plus,
.button-clip {
    margin-right: 1%;
    padding: 0;
}
.button-plus img,
.button-clip img {
    width: 20px;
    height: 20px;
}
.button-send {
    width: 50px;
    min-width: 50px;
    padding-right: 0;
}
.button-send:after {
    position: absolute;
    width: 18px;
    height: 18px;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
}
.message-day {
    padding: 5px 20px;
}



/* 閉じ
======================================= */

.amount-box-small {
    width: 100%;
    font-size: 12px;
}

.sp_nav_portal {
    position: static !important;
    transform: unset !important;
    margin-top: 10px;
}
.sp_nav_portal_txt {
    font-size: 8px;
    margin-top: 3px;
    color: #fff;
}

.pc_reserved_cancel_btn_box {
    display: none;
}
.sp_reserved_cancel_btn_box {
    display: block;
    margin-top: 10px;
}

}