
@media print { body{ display: none !important; } }


/* 親要素（section.fv-2512）のスタイル */
.fv-2512 {
    /* 元のインラインスタイル: position: relative; */
    position: relative;
    /* コピーガードのために、はみ出した部分を隠す設定は残します */
    overflow: hidden;
}

/* メイン画像（pictureタグ内のimg）のスタイル */
/* この<img>は幅を100%にするためのスタイルを適用します */
.fv-2512 picture img {
    /* 元のインラインスタイル: width: 100%; がなかったため追加します */
    width: 100%;
}

/* ダミー画像（コピーガード用オーバーレイ）のスタイル */
/* ダミー画像には、元のHTMLで指定されていた巨大なサイズと絶対配置、高いz-indexを適用します */
.fv-2512 img[src*="dummy.png"] {
    /* 元のHTMLで指定されていたサイズと位置 */
    width: 3000px;
    height: 2000px;
    position: absolute;
    top: 0;
    left: 0;
    /* 元のHTMLで指定されていたz-index */
    z-index: 10000;
}

/* ターゲットとなるバナーを囲む<a>要素（親要素）のスタイル */
/* ダミー画像を重ねるための基準点とする */
.present-banner .copy-guard-wrapper {
    /* 基準点の設定 */
    position: relative;
    /* <a>要素をブロック要素にしてサイズをコントロールしやすくする */
    display: block;
    /* ダミー画像が<a>タグの範囲内に収まるように */
    overflow: hidden;
}

/* メインとなるバナー画像（下層）のスタイル */
.present-banner .copy-guard-wrapper .banner-img {
    /* 必要に応じて幅を100%に */
    width: 100%;
    /* ダミー画像より奥に配置（安全策） */
    position: relative;
    z-index: 1;
}

/* ダミー画像（コピーガード用オーバーレイ - 最前面）のスタイル */
.present-banner .copy-guard-wrapper .copy-guard-overlay {
    /* 親要素 (.copy-guard-wrapper) を基準に配置 */
    position: absolute;
    top: 0;
    left: 0;
    /* 親要素と完全に同じサイズに設定 */
    width: 100%;
    height: 100%;
    /* 他の全ての要素より手前に表示し、マウス操作を遮断 */
    z-index: 10000;
}

/* QAセクションの親要素（.qa-copy-guard）のスタイル */
/* ダミー画像を重ねるための基準点とする */
.qa-copy-guard {
    /* 基準点の設定 */
    position: relative;
    /* ダミー画像が親要素の範囲内に収まるように */
    overflow: hidden;
}

/* ユーザーの質問画像（下層）のスタイル */
/* PC/SP両方で使われている元の画像（.voice）を指します */
.qa-copy-guard .voice {
    /* 質問画像が親要素の幅に合わせて表示されることを想定 */
    width: 100%;
    height: auto;
    /* ダミー画像より奥に配置（安全策） */
    position: relative;
    z-index: 1;
}

/* ダミー画像（コピーガード用オーバーレイ - 最前面）のスタイル */
/* HTMLで追加したクラス (.copy-guard-overlay) を使います */
.qa-copy-guard .copy-guard-overlay {
    /* 親要素 (.qa-copy-guard) を基準に配置 */
    position: absolute;
    top: 0;
    left: 0;
    /* 親要素（質問画像）と完全に同じサイズに設定 */
    width: 100%;
    height: 100%;
    /* 他の全ての要素より手前に表示し、マウス操作を遮断 */
    z-index: 10000;
}

/* QA画像を含む親要素（.dispPC, .dispSP）のスタイル */
/* ダミー画像を重ねるための基準点とする */
.copy-guard-parent {
    /* 基準点の設定 */
    position: relative;
    /* ダミー画像が親要素の範囲内に収まるように */
    overflow: hidden; 
}

/* ユーザーの質問画像（下層）のスタイル */
/* 親要素の直下にある、ダミー画像ではない最初の<img>に適用します */
.copy-guard-parent > img:first-of-type:not(.copy-guard-overlay) {
    /* 質問画像が親要素の幅に合わせて表示されることを想定 */
    width: 100%; 
    height: auto;
    /* ダミー画像より奥に配置（安全策） */
    position: relative;
    z-index: 1;
}

/* ダミー画像（コピーガード用オーバーレイ - 最前面）のスタイル */
.copy-guard-parent .copy-guard-overlay {
    /* 親要素 (.copy-guard-parent) を基準に配置 */
    position: absolute; 
    top: 0;
    left: 0;
    /* 親要素（元の画像）と完全に同じサイズに設定 */
    /* 注: 元の画像が100%幅の場合、これが機能します */
    width: 100%;
    height: 100%;
    /* 他の全ての要素より手前に表示し、マウス操作を遮断 */
    z-index: 10000; 
}

/* ターゲットの画像とダミー画像を囲む親要素のスタイル */
.copy-guard-wrapper {
    /* 基準点の設定は維持 */
    position: relative;
    /* ブロック要素ではなく、コンテンツのサイズに合わせるインラインブロックに設定 */
    display: inline-block; 
    /* ダミー画像が親要素の範囲内に収まるように */
    overflow: hidden; 
}

/* ターゲットの画像（水を飲む画像 - 下層）のスタイル */
.copy-guard-wrapper .drinkImage {
    /* **画像幅の強制的な設定を削除、または max-width で親要素を超えないようにする** */
    /* width: 100%; は削除 */
    max-width: 100%; 
    height: auto;
    /* ダミー画像より奥に配置（安全策） */
    position: relative;
    z-index: 1;
}

/* ダミー画像（コピーガード用オーバーレイ - 最前面）のスタイル */
.copy-guard-wrapper .copy-guard-overlay {
    /* 親要素 (.copy-guard-wrapper) を基準に配置 */
    position: absolute; 
    top: 0;
    left: 0;
    /* 親要素（元の画像）と完全に同じサイズに設定 */
    width: 100%;
    height: 100%;
    /* 他の全ての要素より手前に表示し、マウス操作を遮断 */
    z-index: 10000; 
}
img {
  -webkit-touch-callout: none;
}
    .fv-kikuchi{
        position: relative;

    }
    .fv_mainContents {
        position: absolute;
        top: 0;
          right: 0;
          left: 0;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: row-reverse;
        max-width: 1100px;
        width: 84%;
        margin: 0 auto;
        overflow: hidden;
        justify-content: space-between;
    }
    .fv_layer1 {
        position: relative;
        z-index: -1;
    }
    .fv_layer2 {
        width: 50%;
        z-index: -1;
    }
    .fv_layer2 img {
        width: 100%;
        max-width: 817px;
    }
    .fv_layer3 {
        position: absolute;
        top: 0;
        z-index: 1;
    }
    .fv_layer4 {
        width: 50%;
        z-index: 2;
    }
    .fv_layer4 img {
        width: 100%;
        max-width: 817px;
    }
    @media screen and (min-width: 751px) {
        .resolve .left {
            height: 250px;
            padding-right: 30px;
        }
        .resolve .flexWrap {
            justify-content: center;
            width: 1000px;
            margin: 50px auto;
        }
    }
    .present-banner {
        width: 100%!important;
    }
    @media screen and (max-width: 768px) {
        .present-banner {
            flex-wrap: wrap!important;
            margin: 0 auto;
            width: 90%;
        }
        .present-banner a {
            max-width: 90%;
        }
}

        .resolve .left::after {
            width: 0!important;
            height: 0!important;
        }