@charset "utf-8";

/* サブメイン */
.hero5 {
    background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2)), url(../images/access/access-top.jpg) center/cover no-repeat;
    height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;

    --mask:
        /* ① 土台：波より上の部分を完全に塗りつぶす（1pxの隙間も作らない） */
        linear-gradient(#000 0 0) top / 100% calc(100% - 40px) no-repeat,
        /* ② 波の上半分（凸部分） */
        radial-gradient(33.6px at 50% calc(100% - 47px), #000 99.5%, #0000 101%) calc(50% - 40px) 100% / 80px 80px repeat-x,
        /* ③ 波の下半分（凹部分） */
        radial-gradient(33.6px at 50% calc(100% + 27px), #0000 99.5%, #000 101%) 50% calc(100% - 20px) / 80px 80px repeat-x;


}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 店舗情報 */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

#access h2 {
    color: #333;
    text-align: left;
    font-size: 48px;

}

/* テーブルを囲むボックス */
.access-box {
    background-color: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    /* 軽い影をつけて視認性を向上 */
    margin: 20px auto 80px auto;
}

/* テーブルのスタイル */
.access-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ccc;
}

.access-table th,
.access-table td {
    border: 1px solid #ccc;
    padding: 25px 30px;
    text-align: left;
}

/* 見出し列（左側） */
.access-table th {
    background-color: #ececec;
    /* グレーの見出し */
    width: 25%;
    font-size: 24px;
    color: #333;
    font-weight: bold;
    text-align: center;
}

/* 内容列（右側） */
.access-table td {
    background-color: #fff;
}

.main-text {
    font-size: 1.4rem;
    color: #000;
    margin-bottom: 8px;
    font-weight: 500;
}

.sub-text {
    font-size: 0.9rem;
    color: #666;
    /* 注釈は少し薄めのグレーに */
}


iframe {
    max-width: 1200px;
    margin: 0 auto 80px;
    width: 100%;
}







/* 親要素の設定をリセット＆強化 */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    display: grid;
    /* FlexからGridに変更 */
    grid-template-columns: 100%;
    /* 幅を100%の1列に固定 */
    justify-items: center;
    /* 全ての中身を中央に強制配置 */
    width: 100%;

    /* 画面端に密着しないよう少し余裕を持たせる */
}

/* カードの設定 */
.card3 {
    background: #fff;
    border-radius: 24px;
    padding: 30px 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    width: 100%;
    /* コンテナの幅いっぱいに */
    box-sizing: border-box;
    /* パディングを含めて100% */
    margin-bottom: 80px;
    /* 外側の余白を一度0にする */
}

.card3:nth-of-type(3) {
    margin-bottom: 0px;
}

/* ヘッダー部分（数字とタイトル） */
.card-header3 {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #333;
    padding: 10px;
}



.icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    font-size: 24px;
    margin-right: 20px;
    flex-shrink: 0;
}

.spa-main {
    font-size: 2rem;
    margin: 0;
    font-weight: normal;
    text-align: left;
    padding: 0;
}

.access-title {
    font-size: 32px;
}

/* カード内のテキスト設定 */

.card-body3 p {
    font-size: 1.2rem;
    text-align: left;
    color: #444;
    line-height: 2.5rem;
    margin-top: 10px;
    padding: 20px;
}

.marker {
    color: #ff681c;
    font-size: 1.2rem;

}


/* グレーの数値ボックス */
.info-box3 {
    background-color: #eee;
    padding: 8px 15px;
    display: inline-block;
    border-radius: 4px;
    font-size: 0.9rem;
    margin-bottom: 10px;
}



.icon img {
    display: inline-block;
    /* text-align: centerを効かせるためにinline-blockへ */
    width: 42px;
    /* 画像のサイズ */
    height: auto;
    margin: 0 !important;
    /* 予期せぬマージンを強制解除 */

}


.card-body3 ul {
    padding-left: 35px;
    margin-top: 30px;
}


.card-body3 ul li {

    font-size: 1.2rem;
    text-align: left;
    color: #444;
    line-height: 2.5rem;
    margin: 0;

}

/* オレンジの囲みボックス */
.info-box2 {
    background-color: #FFD5B8;
    padding: 8px 15px;
    display: inline-block;
    border-radius: 4px;
    margin-top: 30px;
}




/* スマホ対応 */
@media (max-width: 800px) {

    /* ========================================== */
    /* 店舗情報 */
    /* ========================================== */

    .access-table th,
    .access-table td {
        display: block;
        width: 100%;
    }

    .access-table th {
        border-bottom: none;
    }

    .footer-links {
        grid-template-columns: 1fr;
    }

    .card-header h2 {
        font-size: 1.5rem;
        margin: 0 15px;
    }

    .access-card {
        padding: 30px 15px;
        border-radius: 40px;
    }

    .notice-highlight,
    .notice-normal {
        padding: 20px;
    }

    .footer-links {
        grid-template-columns: 1fr;
    }

    .card-header h2 {
        font-size: 1.5rem;
        margin: 0 15px;
    }

    .access-card {
        padding: 30px 15px;
        border-radius: 40px;
    }

    .notice-highlight,
    .notice-normal {
        padding: 20px;
    }

    .link-item {
        height: 200px;
    }

    .main-text{
        font-size: 22px;
        text-align: center;
    }



        /* ========================================== */
    /* 店舗情報 */
    /* ========================================== */

    .card3{
        margin-bottom: 50px;
    }
.access-title{
    font-size: 16px;
    margin: 0;
    text-align: left;
}

.card-body3 p,
.card-body3 ul li{
    font-size: 16px;
    padding: 0;
}

.card-body3 ul{
    padding-left: 20px;
}

.marker{
    font-size: 16px;
}

.info-box2{
    margin-top: 15px;
    font-size: 13px;
}




    /* ========================================== */
    .card {
        padding: 20px;
    }

    .number {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .spa-main {
        font-size: 1.2rem;
    }
}