/*
CSS
---------------------------------------------------------------- */

/* .t__main
-------------------------------- */
.t__main{

._w288{
    width: 288px;
}
.text + .asterisk{
    margin-top: 32px;

    &.text{
        margin-top: 12px;
    }
}

.buttonStyle{
    &._mini{

        padding: 10px 35px 10px 30px;
    }
}

.area_box{
    section + section{
        margin-top: 60px;
    }

    .listbox{
        .search_ui{

            input{
                padding: 14px 16px 14px 16px;
                border: 1px solid #D1D5DB;
                border-radius: 8px;
                font-size: 1.4rem;
                box-sizing: border-box;
                text-decoration: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
                height: 52px;
            }

            select{
                padding: 16px 36px 16px 16px;
                border: 1px solid #D1D5DB;
                border-radius: 8px;
                font-size: 1.4rem;
                box-sizing: border-box;
                text-decoration: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23374151' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: right 12px center;
                background-size: 10px 7px;
            }
            button.buttonStyle{
                @media screen and (min-width: 768px) {
                    font-size: 1.6rem;
                }

                @media screen and (max-width: 500px) {
                    width: 100%;
                }
            }

            .search_wrap.flex_box{
                gap:10px;

                > .flex_box{
                    flex-wrap: nowrap;
                }

                p{
                    flex-grow: 1;
                    min-width: 0;
                }

                input{
                    padding-left:39px;
                    background: #fff url(../images/pre_area/search.svg) no-repeat center left 15px;
                    border-radius: 8px 0 0 8px;

                    margin-right: -1px;
                    flex-grow: 1;
                    min-width: 0;
                    max-width: 100%;
                    box-sizing: border-box;
                    @media screen and (max-width: 767px) {
                        font-size: 1.6rem;
                    }
                }
                a.option{
                    padding: 14px 16px 14px 36px;
                    background: #fff url(../images/pre_area/option.svg) no-repeat center left 11px;
    
                    border: 1px solid #D1D5DB;
                    border-radius: 0 8px 8px 0;
                    color: #333;
                    font-size: 1.4rem;
                    box-sizing: border-box;
                    text-decoration: none;
                    -webkit-appearance: none;
                    -moz-appearance: none;
                    appearance: none;
                    height: 52px;
                    
                    &.open{
                        background-image: url(../images/pre_area/option_close.svg);
                    }

                    @media screen and (max-width: 767px) {
                        width: calc(20vw - 30px);
                        padding-left: 0;
                        padding-right: 0;
                        background-position: center center;
                        > span{
                            display: none;
                        }
                    }
                }
            }

            .search_option{
                display: none;
                margin-top: 24px;
                .frame{
                    padding: 16px 24px 24px 24px;
                    position: relative;
                    /* 上吹き出し（三角形）位置は JS で --arrow-left を設定 */
                    &::before{
                        content: "";
                        position: absolute;
                        left: var(--arrow-left, 80%);
                        top: 0;
                        transform: translate(-50%, -100%);
                        width: 0;
                        height: 0;
                        border-style: solid;
                        border-width: 0 10px 12px 10px;
                        border-color: transparent transparent #D6D6D6 transparent;
                    }
                    &::after{
                        content: "";
                        position: absolute;
                        left: var(--arrow-left, 80%);
                        top: 0;
                        transform: translate(-50%, -100%);
                        width: 0;
                        height: 0;
                        border-style: solid;
                        border-width: 0 8px 10px 8px;
                        border-color: transparent transparent #fff transparent;
                        margin-top: 2px;
                    }
                    .flex_box{
                        gap: 10px;

                        > p{
                            font-size: 1.4rem;
                            flex-grow: 1;

                            input, select{
                                width: 100%;
                            }
                        }
                    }
                }
            }

            .buttonStyle._outline{
                background-image: none;
                padding-right: 40px;
            }
        }

        ._w288{
            width: 288px;

            @media only screen and
            (max-width : 767px) {
                width: 8em;
            }
        }

        table.denwa-table{
            margin-top: 20px;
            width: 100%;

            tbody{
                tr{
                    td{
                        padding: 10px;
                    }
                }
            }

            .flex_box.jc_center{
                width: 100%;
                justify-content: center;
                align-items: center;
                gap: 10px;
            }

            @media screen and (min-width: 768px) {
                .buttonStyle{
                    min-width: 111px;
                }
            }
        }
    }

    .moreButton{
        margin-top: 32px;
    }
    .moreButton.is-hidden{
        display: none !important;
    }

    .pagination.is-hidden{
        display: none !important;
    }
    .pagination{
        margin-top: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 7px;

        > li{
            a{
                display: flex;
                justify-content: center;
                align-items: center;
                width: 32px;
                height: 32px;
                border-radius: 8px;
                background-color: #fff;
                border: 1px solid #D6D6D6;
                color: #A0A0A0;
                text-decoration: none;
                box-sizing: border-box;
                font-size: 1.5rem;

                &:hover{
                    background-color: #F5F5F5;
                }

                img{
                    max-width: 14px;
                    max-height: 14px;
                }
            }

            &.current{
                a{
                    background-color: #E6E8ED;
                    color: #333;
                    font-weight: 700;
                }
            }
        }
    }

    .schedulebox{

        .buttonStyle{
            margin-top: 34px;
        }
    }
}

}

