/* 
 * お料理紹介（reason）セクションのレイアウト修正用CSS (Version 3)
 * 「被せ」によるズレを解消し、画像とテキストが常に正しく並ぶように
 * シンプルかつ強力なレイアウトに変更しました。
 */

/* 1. セクション全体の安定化 */
.reason {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important; /* 高さを揃える */
    justify-content: center !important;
    padding: 80px 0 !important;
    margin-top: 50px !important; /* 上のセクションとの余白 */
    background: #fffbf7 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
}

/* 2. 画像エリア（左側） */
.reason-image {
    width: 50% !important;
    flex: 0 0 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 20px 0 0 20px !important; /* 左側を角丸に */
    overflow: hidden !important;
}

.reason-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* 画像を枠いっぱいに広げる */
    display: block !important;
}

/* 3. テキストエリア（右側：被せを廃止） */
.reason-cap {
    position: relative !important;
    top: auto !important;
    left: 0 !important; /* ズレの原因となるマイナス指定を廃止 */
    width: 50% !important;
    flex: 0 0 50% !important;
    background: #FFF !important;
    padding: 50px !important;
    border: solid 1px #EEE !important;
    border-left: none !important; /* 画像との境界線を消す */
    border-radius: 0 20px 20px 0 !important; /* 右側を角丸に */
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    transform: none !important;
    box-shadow: none !important;
}

/* 見出しの改行とサイズ */
.reason-cap h2 {
    font-size: 26px !important;
    line-height: 1.4 !important;
    margin-bottom: 25px !important;
    color: #333 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    font-family: "メイリオ", sans-serif !important;
}

.reason-cap p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    margin-bottom: 20px !important;
    color: #666 !important;
}

/* 4. レスポンシブ対応 */

/* 中画面：パディングを調整 */
@media screen and (max-width: 1100px) {
    .reason-cap {
        padding: 30px !important;
    }
    .reason-cap h2 {
        font-size: 22px !important;
    }
}

/* スマホ・小型タブレット：上下並びに切り替えてズレを100%防止 */
@media screen and (max-width: 850px) {
    .reason {
        flex-direction: column !important;
        width: 94% !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .reason-image {
        width: 100% !important;
        flex: 0 0 100% !important;
        border-radius: 20px 20px 0 0 !important;
        height: 250px !important;
    }
    .reason-cap {
        width: 100% !important;
        flex: 0 0 100% !important;
        border-left: solid 1px #EEE !important;
        border-top: none !important;
        border-radius: 0 0 20px 20px !important;
        padding: 30px 20px !important;
        text-align: center !important;
    }
    .reason-cap h2 {
        font-size: 20px !important;
    }
}
