@charset "UTF-8";

.sp-only{
    display: block;
}
.pc-only{
    display: none;
}
h2, h3, p{
    font-family: sans-serif;
}


/* -----------メニュー----------- */

@media (max-width: 768px) {
    .openbtn{
        display: block;
    }
    #g-nav-list ul {
        display: flex; /* フレックスボックスを有効にする */
        flex-direction: column; /* 子要素を縦に1列に並べる */
    }
    header{
        height: 60px;
    }
}
@media (max-width: 768px){
    header div nav{
        display: none;
    }
}


@media (max-width: 768px) {
    .reservation {
        top: auto;
        right: 0; 
        bottom: 0;
        width: 100vw;
        /* padding: 0; */
        font-family: sans-serif;
    }

    .btn-fix {
        width: 100%; 
        padding: 10px 31px 10px 20px;
    }
    
    .btn-fix::before{
        right: 21px;
        width: 7%;
    }
    
    
}



/* -----------area01----------- */

@media (max-width: 768px) { 
.area01{
    height: auto;
    
}
.area01 .container{
    grid-template-columns: 1fr;
    width: 80vw;
}
.area01 .container img{
    display: none;
}
}
@media (max-width: 768px) {
    .area01 .overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5); 
        z-index: -1;
    }

    .area01 {
        position: relative;
    }
    .area01 {
        position: relative;
    }
    
    .area01::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1;
    }

    .area01 .container {
        position: relative;
        z-index: 2;
    }



}


/* -----------area02----------- */



/* -----------area03----------- */

@media (max-width: 768px){
    .area03{
        height: auto;
    }
    .area03::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4); /* 半透明の黒色 */
        z-index: 1; /* テキストよりも下、背景画像よりも上に配置 */
    }
    
    .area03 > div {
        position: relative;
        z-index: 2; /* オーバーレイよりも上に配置 */
    }
    .area03 > div > div{
        margin-bottom: 2rem;
    }
}



/* -----------area04----------- */
@media (max-width: 768px) { /* この数値は適切なブレークポイントに変更してください */
    .area04 .step {
        flex-direction: column-reverse; /* flexboxの項目の順序を反転 */
    }
    
    .area04 .step > div {
        padding: 0 !important; /* 必要に応じて !important を使用して元のスタイルを上書き */
        width: 100%; /* 全幅を取るように */
    }
    .responsive-iframe-container {
        padding-top: 0; /* このパディングトップをリセット */
        height: 100vh; /* 画面の高さ100%に設定 */
    }
    .responsive-margin{
        margin-top: 1rem;
    }
}

/* -----------area05----------- */
@media (max-width: 768px) {
    .area05 {
        grid-template-columns: 100%; /* 1列に変更 */
        height: auto; /* 高さの固定を解除 */
    }
    .image-cover {
        height: 30vh; /* 必要に応じて高さを調整 */
    }
    .area05 > div:nth-child(2) {
        padding: 2rem; /* 必要に応じてパディングを追加 */
    }
    .btn02 {
        /* width: 90%; */
        margin: 0 auto; /* ボタンを中央寄せ */
    }
}


/* -----------area06----------- */




/* -----------area07----------- */



/* -----------area08----------- */

@media (max-width: 768px) {
    .area07{
        padding: 0 4%;
    }
    .area08 > div{
        grid-template-columns: 1fr;
    }
}



@media (max-width: 768px) {
    .pc-only{
        display: none !important;
    }
    footer{
        height: auto;
        padding-bottom: 80px; /* ボタンの高さやデザインに応じて値を調整 */
    }
    footer div > p{
        font-weight: bold;
    }
    footer > div:first-child {
        flex-direction: column; /* 子要素を縦に並べます */
        align-items: flex-start; /* 左寄せにします */
        padding-top: 2rem; /* 必要に応じてパディングを調整 */
    }
    footer > div:first-child {
        display: flex;
        flex-direction: column;
        align-items: center; /* 左右中央揃えのためのスタイル */
        padding-top: 2rem;
    }
    footer nav ul {
        /* flex-direction: column; */
        gap: 1.2rem; /* リストアイテム間の間隔を調整 */
    }
}

    
