@charset "UTF-8";

/*---------------------------------------- common ----------------------------------------*/

:root {
    --fc-button-text-color: #2167CD;
    --fc-button-bg-color: #FFF;
    --fc-button-border-color: #FFF;
    --fc-button-hover-bg-color: #FFF;
    --fc-button-hover-border-color: #FFF;
    --fc-button-active-bg-color: #FFF;
    --fc-button-active-border-color: #FFF;
}

html {
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.362;
}
img {
    width: 100%;
    height: auto;
}
a {
    color: #000;
    text-decoration: none;
}
.wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    height: calc(100vh - 80px);
}
.container {
    max-width: 1000px;
    width: 80vw;
    padding: 30px 0 128px;
    margin: 0 auto;
}
.btn {
    display: block;
    width: 300px;
    /* background-color: #2E2E2E; */
    border-radius: 5px;
    box-shadow: 0 1px 4px 0 #00000026;
    /* color: #fff; */
    /* font-size: 16px; */
    font-weight: 700;
    /* line-height: 40px; */
    text-align: center;
    margin: 1rem 2rem;
}
.btn:hover,
button:hover,
a:hover,
label:hover {
    opacity: 0.6;
}
.small-btn {
    width: 100px;
}
.btn.ok {
    background-color:#2167CD;
}
.btn.cancel {
    background-color:#ec6121;
}
.flex {
    display: flex;
}
p.notice {
    color: red;
}
p.small {
    font-size: 0.8rem;
}

.pc {
    display: contents;
}

.sp {
    display: none;
}

#logo {
    width: 60px;
}
/* @media(max-width: 1139px) {
    .container {
        max-width: none; */
        /* min-width: 651px; */
        /* padding: 30px 20px 128px;
    }
} */
@media(max-width: 768px) {
    /* body {
        overflow-x: scroll;
    } */
    .container {
        width: 100%;
        /* padding: 30px 20px 128px; */
    }
    .pc {
        display: none;
    }
    
    .sp {
        display: contents;
    }
    
}

.show {
    display: block!important;
}

.hide {
    display: none!important;
}

h2 {
    font-size: 1.4em;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

h3 {
    font-size: 1.2em;
    font-weight: 900;
    margin-bottom: 0.5rem;
}




/*---------------------------------------- header ----------------------------------------*/

.hdr_container {
    /* max-width: 1300px; */
    /* padding-left: 100px; */
    /* margin: 0 auto; */
    margin: 0 1rem;
}

.hdr_menu {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    /* height: 80px; */
    background-color: #fff;
    justify-content: space-between;
    align-items: center;
    margin: 0.5rem 0;
}
.hdr_logo {
    display: flex;
}
.beta {
    border: 1px solid #000;
    border-radius: 5px;
    text-align: center;
    font-size: 0.7rem;
    width: 3rem;
    margin: auto 0.3rem 0;
    /* margin: calc(50% - 1.8rem) 5px; */
    height: 1.5rem;
}

.hdr_right {
    display: flex;
}

.select_box01 {
    position: relative;
    display: inline-block;
    width: 286px;
}

.select_box01 select {
    border: 1px solid #E8E8E8;
    border-radius: 25px;
    /* font-size: 16px; */
    font-weight: 500;
    line-height: 35px;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    padding: 0 20px 0 15px;
    margin-right: 20px;
    width: 90%;
}

.select_box01::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #000 transparent transparent transparent;
    transform: translateY(-50%);
    pointer-events: none;
}

.select_box01 select::-ms-expand{
    display: none;
}
/* @media(max-width: 1139px) {
    .hdr_container {
        max-width: none;
        min-width: 751px;
        padding: 0 20px 0 120px;
    }
} */

.menu_content{
    width:100%;
    height:100%;
    position:fixed;
    top:0;
    left:100%;
    z-index:80;
    background-color:#EBEBEB;
    transition:all 0.5s;
}
.menu_content ul{
    padding:70px 10px 0;
}
.menu_content ul li{
    border-bottom:solid 1px #C4C4C4;
    list-style:none;
}
.menu_content ul li a{
    display:block;
    width:100%;
    font-size:15px;
    box-sizing:border-box;
    color:#000000;
    text-decoration:none;
    padding:9px 15px 10px 0;
    position:relative;
}
.menu_content ul li a::before{
    content: "";
    width:7px;
    height:7px;
    border-top:solid 2px #C4C4C4;
    border-right:solid 2px #C4C4C4;
    transform:rotate(45deg);
    position:absolute;
    right:11px;
    top:16px;
}

/* @media(max-width: 768px) {
    .hdr_container {
        min-width: unset;
        padding: 0;
    }
    .hdr_menu {
        flex-wrap: nowrap;
    }
    .login{
        width: 70%;
    }
    .login form{
        width: 90%;
    }
    .select_box01 select{
        width: 100%;
    }
    .select_box01{
        display: block;
    }
    .select_box01::after{
        right: 3%;
    }
    .login #logout-form{
        width: 10%;
    }
} */

/*---------------------------------------- aside ----------------------------------------*/

.side_menu {
    width: 75px;
    height: 100%;
    background-color: #2267CD;
    border-radius: 0 30px 0 0;
}
.side_menu ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 50px;
    padding: 72px 0;
    align-items: center;
}

.side_menu img {
    width:30px;
}

@media(max-width: 768px) {
    aside{
        display: none;
    }
}

/*---------------------------------------- main ----------------------------------------*/

main {
    width: calc(100% - 75px);
    /* width: 100%; */
    background-color: #fafafa;
}

.contents {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 4px 0 #00000026;
}
.calendar_area {
    padding: 40px 15px;
    margin-bottom: 30px;
}
/* h2 {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
}
h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 20px;
} */

/* Calendar */
.fc .fc-button .fc-icon {
    /* .fc-icon-chevron-left */
    font-size: 4rem;
}

.fc .fc-button button {
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
}

.fc .fc-daygrid-day-number {
    font-size: 1.2rem;
    font-weight: 500;
    /* position: absolute;
    bottom: 0; */
}

.fc-day.fc-day-past {
    background-color: #EEE;
}


.calendar_switch {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 30px;
}
/* .calendar_switch .prev,
.calendar_switch .next {
    width: 42px;
} */
.year,
.dow {
    font-size: 1.8rem;
    font-weight: 300;
    margin-right: 27px;
}
.month {
    font-size: 2rem;
    font-weight: 700;
}
.calendar table {
    width: 100%;
    border-top: 1px solid #DCDCDC;
    border-left: 1px solid #DCDCDC;
}
.calendar table tr {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    border-bottom: 1px solid #DCDCDC;
}
.day_of_week {
    border-bottom: none;
}
.day_of_week th {
    border-right: 1px solid #DCDCDC;
    line-height: 45px;
    text-align: center;
}
.calendar td {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    height: 138px;
    border-right: 1px solid #DCDCDC;
    padding: 10px;
    text-align: end;
}
.mark {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 8px 11px;
    width: 100%;
    text-align: left;
}
.mark img {
    width: calc(25% - 11px / 4 * 3);
}
.disabled .mark {
    opacity: 0.5;
}
.calendar .date {
    width: 100%;
    color: #000;
    /* font-size: 18px; */
    font-weight: 700;
    align-self: end;
}
.calendar .inputted .date {
    width: 100%;
    color: #2267CD;
}
.calendar .disabled .date {
    width: 100%;
    color: #0000004D;
}
.edit {
    width: 50%;
    text-align: left;
    align-self: end;
}
.edit img {
    width: 20px;
}

.report_task_list {
    border: solid 1px #DDD;
    padding: 0.6rem 1rem;
    margin :0.4rem 0;
    display :flex;
    align-items :center;
}

.report_task_list .fa-sircle {
    text-align: center;
    width: 2rem;
    font-size: 0.7rem;
    margin-top: 0.2rem;
}
.report_task_list .report_day {
    margin-left: 0.3rem;
    width: 2.5rem;
    font-size: 1.4rem;
    font-weight: 600;
}
.report_task_list .report_store {
    width: 20%;
    margin: 0 0.5rem;
    font-weight: 600;
}
.report_task_list .report_time {
    min-width: 7rem;
}
.report_task_list .report_tasks {
    width: 80%;
    margin: 0 0.5rem;
}

.report_detail {
    padding: 30px 30px 140px;
}
.report_detail .calendar_switch {
    /* margin-bottom: 20px; */
}
.report_detail .year {
    margin-right: 18px;
}
.month_day {
    font-size: 2rem;
    font-weight: 600;
    margin-right: 10px;
}
.report_btn_area {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    width: 95%;
    justify-content: space-around;
    margin: 0 auto 20px;
}
.report_btn {
    display: none;
}
.report_label {
    display: inline-block;
    padding-bottom: 15px;
}
#report_btn01:checked ~ ul li #report_label01,
#report_btn02:checked ~ ul li #report_label02,
#report_btn03:checked ~ ul li #report_label03,
#report_btn04:checked ~ ul li #report_label04,
#report_btn05:checked ~ ul li #report_label05,
#report_btn06:checked ~ ul li #report_label06,
#report_btn07:checked ~ ul li #report_label07,
#report_btn08:checked ~ ul li #report_label08,
#report_btn09:checked ~ ul li #report_label09,
#report_btn10:checked ~ ul li #report_label10 {
    color: #624590;
    border-bottom: 3px solid #d4d4d4;
}
.report_cont {
    display: none;
    box-shadow: 0 0 4px 0 #00000026;
    border-radius: 3px;
}
.report_cont_ttl {
    display: inline-block;
    width: 100%;
    background-color: #624590;
    border-radius: 3px 3px 0 0;
    color: #fff;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
}

.review {
    width:80%;
    margin:auto;
    padding:1rem;
}

.star {
    width:80%;
    margin:auto;
    padding:0.5rem;
    text-align:center
}

.rate .fa-star {
    font-size:1.2rem;
    margin:0.2rem
}


/* #all:checked ~ #all_content, */
#report_btn01:checked ~ #report_cont01,
#report_btn02:checked ~ #report_cont02,
#report_btn03:checked ~ #report_cont03,
#report_btn04:checked ~ #report_cont04,
#report_btn05:checked ~ #report_cont05,
#report_btn06:checked ~ #report_cont06,
#report_btn07:checked ~ #report_cont07,
#report_btn08:checked ~ #report_cont08,
#report_btn09:checked ~ #report_cont09,
#report_btn10:checked ~ #report_cont10 {
  display: block;
}

.report_list dt {
    padding: 20px 20px 10px;
}
.report_list dd {
    padding: 0 20px 20px;
}
.report_list dd {
    border-bottom: 1px dashed #d9d9d9;
}
.report_list dd:last-of-type {
    border-bottom: none;
    padding: 30px 20px;
}
.report_list dd:nth-last-of-type(2) {
    border-bottom: 1px solid #f5f5f5;
}
.shop_comment textarea {
    border: 1px solid #DCDCDC;
    border-radius: 3px;
    width: 100%;
    height: 160px;
    padding: 20px;
    /* font-size: 16px; */
    text-align: justify;
}
.img_upload ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 30px;
    margin-bottom: 20px;
}
.img_upload li {
    width: calc(25% - 30px / 4 * 3);
}
.upload {
    display: none;
}
.upload + label {
    position: relative;
    display: block;
    width: 100%;
}
.upload + label::before {
    content: "";
    display: block;
    padding-top: 78%;
}
.upload + label::after {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    background: url("/images/upload.jpg") center / cover no-repeat;
    width: 100%;
    height: 100%;
}
.preview {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 1;
}
.upload + label img {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    z-index: 2;
}
.btn_save {
    background-color: #2267CD;
    margin: 0 auto;
}

.report_detail_area .btn_area {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 40px;
    justify-content: center;
}

@media(max-width: 1139px) {
    .mark {
        gap: 8px 11px;
        width: 100%;
        text-align: left;
    }
    .mark img {
        width: calc(33.333% - 11px / 3 * 2);
    }
    .report_btn_area {
        width: 100%;
    }
    .report_list .btn_area .btn {
        width: calc(50% - 40px / 2);
        max-width: 329px;
    }

    .year,
    .dow {
        font-size: 1.8rem;
        font-weight: 300;
        margin-right: 10px;
    }

}

@media(max-width: 768px) {
    main {
        width: 100vw;
    }

    .calendar_switch {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: 30px;
    }
    .calendar_switch .prev,
    .calendar_switch .next {
        width: 30px;
    }

    .report_detail {
        padding: 30px 0px 140px;
    }

    .report_detail .year {
        margin-right: 10px;
    }

    .review {
        width:100%;
        padding:1rem 0;
    }

    .star {
        width:100%;
        padding:0.5rem 0;
    }
    .rate .fa-star {
        font-size:1.1rem;
        margin:0.2rem
    }

}
/*---------------------------------------- main(order) ----------------------------------------*/

.point_area {
    margin-bottom: 30px;
}
.point_area .cont_inner {
    display: grid;
    grid-template-columns: 55% 45%;
    grid-template-rows: 1fr 1fr;
    gap: 30px 40px;
    padding: 40px 70px 40px 30px;
}
.points {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    grid-row: 1 / 3;
    box-shadow: 0 0 4px 0 #00000026;
    border-radius: 3px;
    text-align: center;
    padding: 40px 0;
    justify-content: center;
}
.points .item_name {
    width: 100%;
    margin-bottom: 40px;
}
.point_detail {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.points .icon {
    display: inline-block;
    width: 43px;
    margin-right: 27px;
}
.point_number {
    font-size: 4rem;
    font-weight: 600;
}
.charge,
.credit {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    box-shadow: 0 0 4px 0 #00000026;
    border-radius: 3px;
    padding: 40px 60px;
    align-items: center;
}
.charge a,
.credit a {
    line-height: 31px;
}
.charge .icon,
.credit .icon {
    display: inline-block;
    width: 31px;
    margin-right: 14px;
}
.item_name {
    /* font-size: 1.2rem; */
    font-weight: 700;
}
.order_area {
    background: none;
    border: none;
    box-shadow: none;
}
.order_area .cont_inner {
    background-color: #fff;
    border-radius: 3px 3px 0 0;
    box-shadow: 0 0 4px 0 #00000026;
    padding: 20px;
    margin-bottom: 1px;
}
/* .order_area .cont_inner h3 {
    margin-bottom: 20px;
} */
.work_list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 30px 50px;
}
.work_list a {
    color: #000;
    text-decoration: none;
}
.work_list li {
    width: calc(25% - 50px / 4 * 3);
    height: 160px;
    border: 1px solid #DCDCDC;
    border-radius: 3px;
}
.work_list .item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.work_list li span {
    width: auto;
    text-align: center;
}
/* .work_list .item_name {
    font-size: 18px;
} */
.work_list input[name=works_item] {
    display: none;
}
.work_list input[name=works_item] ~ label:hover,
.work_list input[name=works_item]:checked ~ label {
    opacity: 0.6;
}
.order_area .cont_bottom {
    background-color: #ffffff;
    box-shadow: 0 0 4px 0 #00000026;
    border-radius: 0 0 2px 2px;
    /* padding: 0 0 2rem 0; */
    margin: 2rem 0 0 0;
    padding: 20px;

}
.order_area .cont_bottom h3 {
    padding: 30px 30px 0;
    margin-bottom: 10px;
}
.order_area .notes {
    /* font-size: 16px; */
    font-weight: 300;
    padding: 0 30px 0;
}
.order_ttl {
    padding: 0 30px;
}
.order_ttl li {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    border-bottom: 1px solid #d9d9d9;
    padding: 20px 40px 20px 10px;
}
.order_ttl_item {
    /* font-size: 16px; */
    font-weight: 300;
}
.order_ttl_item:first-child {
    width: 30%;
}
.order_ttl_item:nth-child(2) {
    width: 45%;
}
.order_ttl_item:nth-child(3),
.order_ttl_item:nth-child(4) {
    width: 15%;
    text-align: center;
}
.order_ttl_item:last-child {
    width: 3rem;
    text-align: center;
}
.order_cont {
    padding: 0 30px;
    margin-bottom: 10px;
}
.order_cont li {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    border-top: 1px dashed #D9D9D9;
    padding: 20px 40px 20px 10px;
}
.order_cont li:first-child {
    border-top: none;
}
.order_cont li:last-child {
    border-top: 1px solid #d9d9d9;
}
.order_cont_item {
    text-align: left;
}
.order_cont_item:first-child {
    width: 30%;
}
.order_cont_item:nth-child(2) {
    align-self: left;
    width: 45%;
}
.order_cont_item:nth-child(3),
.order_cont_item:nth-child(4) {
    align-self: center;
    width: 15%;
}
.order_cont_item:last-child {
    width: 4rem;
    text-align: center;
}
.order_cont_item input {
    pointer-events: none;
    /* width: 100%; */
    /* font-size: 18px; */
    font-weight: 700;
}
.order_cont_item:nth-child(3) input,
.order_cont_item:nth-child(4) input,
.order_cont_item:last-child input {
    text-align: center;
}
.type_number {
    position: relative;
    height: 25px;
}
.type_number input {
    position: absolute;
    display: block;
    top: 0;
    width: 100%;
    height: 25px;
    padding: 0 20px;
    text-align: center;
    border: none;
    outline: none;
    appearance: none;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
.btn_plus,
.btn_minus {
    position: absolute;
    display: flex;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    align-items: center;
}
.btn_plus {
    left: 0;
}
.btn_minus {
    right: 0;
}
.order_total input {
    pointer-events: none;
}
.order_area .btn_area {
    text-align: end;
    padding: 0 30px 40px;
}
.btn_order {
    display: inline-block;
    width: 219px;
}
@media(max-width: 1139px) {
    .charge,
    .credit {
        padding: 40px 30px;
    }
    .work_list {
        gap: 30px 30px;
    }
    .work_list li {
        width: calc(25% - 30px / 4 * 3);
    }
}

/*- サイドメニューをフッターに表示 -*/
footer{
    display: none;
}

@media(max-width: 768px) {
    footer{
        display: block;
        height: 70px;
        width: 100%;
        background-color: #2267CD;
        position: fixed;
        bottom: 0;
        z-index: 50;
    }
    footer .menu-content {
        /* width: 100%; */
        border: none;
        margin: 10px 40px 15px;
        flex: 1;
        display: flex;
        justify-content: space-around;
        text-align: center;
    }
    footer .menu-content img {
        height: 25px;
        width: auto;
        margin-bottom:5px;
    }
    footer .menu-btn {
        width: 30vw;
        margin-bottom: 0;
    }
    footer .menu-btn p{
        color: #FFF;
        white-space: nowrap;
        font-size: 14px;
    }
}

/* profile */
#profile {
    padding:3rem;
    line-height:1.5rem;
}
#profile input {
    display: block;
    padding: 3px 10px;
    border: 1px solid #A0A0A0;
    border-radius: 4px;
    outline: none;
    appearance: none;
    width: min(18rem, 100%);
}
#profile .form {
    margin: 0 auto;
    width: 30rem;
}
#profile .form div {
    margin: 5px 0;
}
#profile .form label {
    width: 10rem;
    align-items: center;
}

@media(max-width: 768px) {
    #profile {
        padding: 1rem;
    }
}

/* モーダルCSS */
.modalArea {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modalArea h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1rem 0 0.5rem;;
}
.modalArea h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1rem 0 0.5rem;;
}
.modalArea a {
    margin-top: 1rem;
}
.modalArea a button {
    margin: 2rem auto 1rem;
}
.modalArea .task-name {
    margin: 0 0 0.5rem;;
}
.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30,30,30,0.4);
    transition: background-color 1s ease-in-out;

}

.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width: 95%;
    max-width: 500px;
    padding: 10px 30px;
    background-color: #fff;
    transition: background-color 1s ease-in-out;
    border-radius: 12px;
}

.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 2rem;
    cursor: pointer;
    font-size: 1.5rem;
}

.modal-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 1rem 0;
}

.modal_area {
    display: none;
    position: fixed;
    z-index: 10; /*サイトによってここの数値は調整 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(30,30,30,0.75);
    transition: background-color 1s ease-in-out;
}

.modal_wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width: 70%;
    max-width: 95vw;
    padding: 10px 30px;
    background-color: #fff;
    border-radius: 0.5rem;
    transition: background-color 1s ease-in-out;
}

.modal_body {
    overflow:auto;
    height: calc(100% - 5rem);
}

.modal_close {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}

.modal_footer {
    display: flex;
}
