.mv {
    margin-bottom: 50px;
}

h3 {
    margin: 40px 0px 25px;
    text-align: center;

}

.concept {
    text-align: center;
    max-width: 80%;
    box-sizing: border-box;
    margin: 0 auto 30px;
}

p {
    text-align: left;
}

/* お客様の声ブロックの調整（floatを廃止しflexboxを使用） */
.customer-voice {
    margin: 40px auto;
    max-width: 800px;
}

.customer-voice h2 {
    font-size: 24px;
    margin-bottom: 20px;
    color: white;
}

.voice {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    justify-content: flex-start;
}

.voiceleft {
    flex-shrink: 0;
}

.voiceleft img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
}

.voiceright {
    flex: 1;
    text-align: left;
}

.voiceright h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: white;
}

.voiceright p {
    font-size: 14px;
    line-height: 1.5;
    color: white;
}

/* BEATが選ばれる理由セクションのスタイル */
.reason-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.reason-item {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.reason-item img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.reason-item picture {
    display: block;
    width: 480px;
}

.reason-item.reverse {
    flex-direction: row-reverse; /* 画像とテキストの位置を逆にする */
}

.reason-item:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.2);
}

.reason-content {
    width: 50%; /* テキスト部分の幅を50%に設定 */
    padding: 20px;
}

.reason-content h3 {
    font-size: 20px;
    margin-bottom: 10px;
    color: white;
}

.reason-content p {
    font-size: 16px;
    line-height: 1.8;
    color: white;
}



/* 第2ブロックの画像とテキストの配置を逆にする */
/* .reason-item:nth-child(2) {
    flex-direction: row-reverse;
} */

/* MENU・SYSTEM セクションのスタイル */
.menu-system {
    text-align: center;
    margin: 40px 0;
}

.menu-system h2 {
    font-size: 24px;
    margin-bottom: 10px;
    color: white;
}

.menu-system p {
    max-width: 669px;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto 20px;
    color: white;
}

.menu-table {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 85%;
    max-width: 600px;
    margin: 0 auto 50px;
    background: rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

.menu-table dl {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.menu-table dl:last-child {
    border-bottom: none;
}

.menu-table dt {
    font-size: 16px;
    text-align: left;
    flex: 1;
    color: white;
}

.menu-table dd {
    font-size: 16px;
    text-align: right;
    flex: 1;
    color: white;
}

/* Googleマップをセンターに配置 */
.map-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 40px auto;
    text-align: center;
}

.map-container iframe {
    width: 100%;
    max-width: 800px;
    height: 450px;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.2);
}

/* アクセスブロックのセンター配置 */
.access_con {
    text-align: center;
    margin: 40px auto;
    max-width: 800px;
}

.access_con p {
    margin-bottom: 65px;
}

.access-block h2 {
    font-size: 24px;
    margin-bottom: 10px;
    color: white;
}

.access_box2 {
    margin: 65px;
}

.access-block p {
    font-size: 16px;
    line-height: 1.5;
    color: white;
}

.access_box ul {
    list-style-type: none;
}

.access_box ul li {
    text-align: left;
    margin-bottom: 15px;

}

/* アクセスボックスの調整 */
.access_box {
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.access_box img {
    width: 300px;
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
}

.access-text {
    flex: 1;
    text-align: left;
}

.topbtn {
    text-align: center;
    margin-bottom: 20px;
}

.topbtn a{
    text-decoration: unset;
    color: #fff;
    padding: 9px 20px 11px;
    background-color: #D1008F;
    border-radius: 5px;
}

.footer-container p {
    text-align: center;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
    .concept{
        max-width: 100%;
    }

    .voice {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .voiceright {
        text-align: center;
    }
    .access_box {
        flex-direction: column;
        text-align: center;
    }

    .access_box img {
        width: 100%;
    }

    .access-text {
        text-align: center;
    }

    .access_box2 {
     margin: 0px;
    }

    .access_box ul {
        padding-left: 25px;
    }

    .reason-item {
        flex-direction: column; /* すべて縦並び */
        text-align: center;
    }

    .reason-item img {
        width: 100%;
        margin-bottom: 20px;
    }

    .reason-content {
        width: 100%;
        padding: 0 10px;
    }

    .reason-item.reverse {
        flex-direction: column;
    }
}

@media (max-width: 500px) {
    .reason-item picture {
        width: 95%;
    }

}