/*
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;
            }
        }
    }
    
    }
    
    