@charset "utf-8";
:root{
    --white: #ffffff;
    --black: #333333;
    --orange: #f46e45;
    --orangeOff: #ea8a59;
    --navy: #2a315b;
    --gray: #717070;
    --gray-b3: #b3b3b3;
    --warm-gray: #e1d8d1;
    --cream: #fdf5e8;
    --info-title: #f9ebd7;

    --Caslon: 'Libre Caslon Text',serif;
    --ZenKakuGothicNew: "Zen Kaku Gothic New","Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
    --NotoSansJP: "Noto Sans JP","Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
}
/* topページのローディングのためのcssを打ち消し。全下層ページに必要 */
#header,#mainvisual,main,footer{opacity: 1;}

#bbq{
    width: 100%;
    background: var(--cream);
    padding: 8rem 0 0;
    
    hgroup{
        width: 100%;
        text-align: center;
        margin-bottom: 8rem;
        
        h2{
            width: 236px;
            aspect-ratio: 236/129;
            margin: 0 auto;
        }
        .wave-line-gray{
            width: 9rem;
            margin: 0 auto 3.5rem;
        }
        p{
            line-height: 3.1;
            .sp-br{display: none;}
        }
    }
}

.youtube{
    width: min(869px,90%);
    aspect-ratio: 16 / 9;
    margin: 0 auto 8rem;
    iframe{
        width: 100%;
        height: 100%;
    }
}

#z-layout{
    background: var(--cream);
    position: relative;
    overflow: hidden;
    padding-bottom: 2rem;
    .z-layout .text{
        padding: 2.5rem 3dvw 0 0;
        h4{
            .br-sp{
                display: none;
                height: 0;
            }
        }
    } 
    .z-layout:nth-of-type(even){
        flex-direction: row-reverse;
        .text{
            padding: 2rem 0 0 3dvw;
        }
        /* picture{
            border-radius: 0 140px 0 0;
            img{
                object-position: right center;
            }
        } */
    }
}
#faq{
    hgroup{
        .wave-line-white{
            width: 100%;
        }
    }
}

@media screen and (max-width:1300px){
    #z-layout{
        .z-layout{
            width: 100%;
            height: auto;
            aspect-ratio: auto;
            position: static;
            transform: translateX(0);
            flex-direction: column-reverse;
            justify-content: center;

            .text{
                width: 90%;
                height: auto;
                padding: 0;
                margin: 0 auto 6rem;
                p{
                    line-height: 3;
                    margin: 0 auto 1rem;
                }
                .btn-more{
                    margin: 0 auto;
                }
            }
            picture{
                width: 90%;
                height: 443px;
                aspect-ratio: auto;
                margin: 0 auto 2rem;
                img{
                    object-position: center;
                }
            }
        }
        .z-layout:nth-of-type(even){
            flex-direction: column-reverse;
            picture{
                img{
                    object-position: center;
                }
            }
        }
    }
}

@media screen and (max-width:1240px){
    #z-layout .z-layout{
        margin-bottom: 2rem;
    }
}

@media screen and (max-width:820px){
main{
    #bbq{
        padding: 8rem 0 0;
            hgroup{
                width: 100%;
                margin: 0 auto 6rem;

                h2{
                    width: 132.01px;
                    margin: 0 auto;
                }
                p{
                    display: block;
                    width: 80%;
                    margin: 0 auto;
                }
                .wave-line-gray{
                    width: min(290.01px, 80%);
                    margin: 0 auto 3rem;
                }
            }
        }
        #z-layout{
            padding-bottom: 0;
        }
        #faq{
            hgroup{
                .wave-line-white{
                    width: min(290.01px, 80%);
                }
            }
        }
    }
}

@media screen and (max-width:620px){
    #bbq hgroup p .sp-br{
        display: block;
        line-height: 0;
    }
}

@media screen and (max-width:540px){
    main{
        #bbq{
            padding: 6rem 0 0;
            hgroup{
                h2{
                    picture{
                        width: 100%;
                        height: auto;
                        min-height: 0;
                        aspect-ratio: 360/291;
                        margin: 0 auto 1rem;
                        border-radius: 0;
                        img{
                            min-height: 0;
                        }
                    }
                }
            }
        }
        #z-layout{
            .z-layout{
                margin-bottom: 3rem;
                    .text{
                        padding: 0.5rem 0 0;
                        h4{
                            font-size: 20px;
                            .sp-br{
                                display: block;
                            }
                            .wave-line-gray{
                                margin: 1.25rem 0 0.75rem;
                            }
                        }
                        p{
                            width: 90%;
                            br{display: none;}
                        }
                    }
                    picture{
                        width: 100%;
                        height: auto;
                        aspect-ratio: 360/291;
                        margin: 0 auto 1rem;
                        border-radius: 0;
                    }
                }
            .z-layout:nth-of-type(even){
                .text {
                    padding: 2rem 0 0 0;
                }
                picture{
                    border-radius: 0;
                }
            }
        }
    }
}