:root {
    --main-color: #2ba35f;
}
.pconly {
    display: none;
}
.wrapper {
    background-color: var(--main-color);
    position: relative;

    & header {
        position: fixed;
        top: 0;
        background-color: #fff;
        text-align: center;
        width: 100%;
        padding: 1em;
        z-index: 10;
        & .logo {
            & img {
                width: 50%;
            }
        }
        @media (min-width:1024px) {
            display: none;
            
            width: 512px;
            padding: 0.5em 0;
            margin-left: auto;
            margin-right: auto;
            background-color: var(--main-color);
            
            & .logo {
                display: none;
            }
        }
    }
    .aside-l,.aside-r {
        display: none;
    }
    
    @media (min-width:1024px) {
        height: 100vh;
        padding-top: 5vh;
    }
}
.frame-viewport {
    background-color: #fff;
    height: 100vh;
    overflow: hidden;

    & .box-section {

        & .title-category {
            text-align: center;
            color: var(--main-color);
            border-bottom: 2px solid var(--main-color);
            padding-bottom: 0.5em;
        }
        & .catch-form {
            text-align: center;
            font-size: 1rem;
            line-height: 1.2;
            & .shoulder {

            }
            & h2 {
                line-height: 1.2;
                color: var(--main-color);
                font-size: 1.4em;
            }
        }

        & .ask {
            padding: 1em;
            padding-top: 7em;
            height: 100vh;
            
            & .title {
                font-size: 1.15rem;
                font-weight: bold;
                position: relative;
                left: 0;
                top: 0;
                padding-left: 3.5em;
                margin-bottom: 2em;
                line-height: 1.1;

                & .required {
                    display: inline-block;
                    background-color: #c00;
                    color: #fff;
                    font-size: 0.75em;
                    padding: 0.3em 0.5em;
                    margin-left: 0.5em;
                    border-radius: 3px;
                }
            }
            & .title::before {
                content: "Q";
                font-size: 3em;
                font-weight: normal;
                color: var(--main-color);
                position: absolute;
                left: 0;
                top: -0.35em;
            }
            & .control {
                & input,textarea {
                    max-width: 100%;
                }
                & span.wpcf7-list-item {
                    display: inline;
                    margin: 0;
                }
                & label {
                    display: block;
                    margin-bottom: 0.75em;
                    
                }
                
                & label:has( > input[type="checkbox"]){
                    border-radius: 3px;
                    padding: 0.5em 1em;
                }
                & label:has( > input[type="checkbox"]:checked){
                    background-color: #f5f5dc;
                }
                & .wpcf7-exclusive-checkbox {
                    & label {                        
                        & input[type="checkbox"] {
                            visibility: hidden;
                            position: absolute;
                        }
                    }
                    & label:has( > input[type="checkbox"]){
                        position: relative;
                        max-width: 75%;
                        margin-left: auto;
                        margin-right: auto;
                        padding: 1em 1em;
                        border-radius: 3em;
                        text-align: center;
                        background-color: #fff;
                        color: var(--main-color);
                        border: 1px solid var(--main-color);
                        cursor: pointer;
                    }
                    & label:has( > input[type="checkbox"]:checked){
                        background-color: var(--main-color);
                        color: #fff;
                    }    
                }
            }
            & > p {
                margin-bottom: 0;
            }
        }

        & .wrap-btns,.wrap-submit {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-pack: distribute;
                justify-content: space-around;
            padding: 1em 0;
            margin-top: 3em;

            & button,input[type="submit"] {
                display: inline-block;
                text-align: center;
                font-weight: bold;
                border: 2px solid var(--main-color);
                border-radius: 6px;
                padding: 0.5em 1em;
                font-size: 1.75em;
            }
            
            & .btn-prev {
                & button {
                    background-color: var(--main-color);
                    color: #fff;
                }
            }
            & .btn-next {
                & button {
                    background-color: #eee;
                    color: #999;
                    border-color: #ccc;
                }
                & button:not(:disabled) {
                    background-color: #7f32b3;
                    color: #fff;
                    border-color: #7f32b3;
                }
            }
            & .btn-submit {
                & input[type="submit"] {
                    background-color: #eee;
                    color: #999;
                    border-color: #ccc;
                }
                & input[type="submit"]:not(:disabled) {
                    background-color: #7f32b3;
                    color: #fff;
                    border-color: #7f32b3;
                }
            }
        }
    }
    & .box-section.section-1 {
        background: url(images/stock-1805980081-f.png) center bottom 1em no-repeat;
        background-size: 25%;

        & label:has( > input[type="checkbox"]){
            font-size: 2em;
        }
        
        @media (min-width:1024px) {
            background-position: right 2em bottom 1em;
            background-size: auto 25vh;
            & label:has( > input[type="checkbox"]){
                font-size: 3em;
            }
        }
    }

    @media (min-width:1024px) {
        width: 512px;
        height: 90vh;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        z-index: 8;
        border-radius: 30px;
        border-color: #ddd;

        & .box-section {
            min-height: auto;

            & .ask {
                height: calc(90vh - 10px);
                padding: 2em;
            }
        }
    }
}
@media (min-width:1024px) {
    .pconly {
        display:inherit;
    }
    .wrapper {
        & .aside-l,.aside-r {
            width: calc((100vw - 512px) / 2);
            height: 100vh;
            position: fixed;
            top: 0;
            color: #fff;
            z-index: 0;
            padding: 50px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            background-image: url(images/bg_stock-2160234739.png);
        }
        & .aside-l {
            left: 0;
            background-color: var(--main-color);
            background-position: right top;
            & .img {
                -ms-flex-item-align: end;
                    align-self: end;
                & img {
                    max-width: 100%;
                    max-height: 50vh;
                    width: auto;
                }
            }
        }
        & .aside-r {
            right: 0;
            background-color: var(--main-color);
            background-position: left bottom;

            & .img {
                -ms-flex-item-align: end;
                    align-self: end;
                    & img {
                        max-width: 100%;
                    }
                }
        }
    }
}

/* thanksページ */
.box-section.thanks {
    background: url(images/stock-179508179.png) center bottom 1em no-repeat;
    background-size: 30%;
    
    & .msg-thanks {
        text-align: center;
        padding: 4em 0 6em;
    }
    & .btn-backtohome {
        text-align: center;
        & a {
            text-decoration: none;
            display: inline-block;
            padding: 1em 2em;
            color: #fff;
            background-color: var(--main-color);
            font-size: 1.5em;
            font-weight: bold;
            border-radius: 4em;
        }
    }
    
    @media (min-width:1024px) {
        background-position: right 2em bottom 1em;
        background-size: auto 35vh;
    }
}
