

@media screen and (min-width: 1201px) {

    /* slider */
    .tabContents {
        position: relative;
    }

    /* スライダー上部にリストタブを配置 */
    .inner {
        position: relative;
    }

    .tabbox {
        display: none;
        /* 最初は全て非表示 */
    }

    .tabbox.active {
        display: block;
        /* アクティブなタブのみ表示 */
    }

    .slider {
        /*横幅94%で左右に余白を持たせて中央寄せ*/
        width: 94%;
        margin: 0 auto;
    }

    .slider img {
        width: 100%;
        /*スライダー内の画像を横幅100%に*/
        height: auto;
    }

    /*slickのJSで書かれるタグ内、スライド左右の余白調整*/

    .slider .slick-slide {
        margin: 0 10px;
    }

    /*矢印の設定*/

    /*戻る、次へ矢印の位置*/
    .slick-prev,
    .slick-next {
        position: absolute;
        /*絶対配置にする*/
        top: 42%;
        cursor: pointer;
        /*マウスカーソルを指マークに*/
        outline: none;
        /*クリックをしたら出てくる枠線を消す*/
        border-top: 2px solid #666;
        /*矢印の色*/
        border-right: 2px solid #666;
        /*矢印の色*/
        height: 15px;
        width: 15px;
    }

    .slick-prev {
        /*戻る矢印の位置と形状*/
        left: -1.5%;
        transform: rotate(-135deg);
    }

    .slick-next {
        /*次へ矢印の位置と形状*/
        right: -1.5%;
        transform: rotate(45deg);
    }

    /*ドットナビゲーションの設定*/

    .slick-dots {
        text-align: center;
        margin: 20px 0 0 0;
        display: none !important;
    }

    .slick-dots li {
        display: inline-block;
        margin: 0 5px;
    }

    .slick-dots .slick-active button {
        background: #333;
        color: white
    }

    .listTab {
        display: flex;
        justify-content: center;
        padding: 0;
        margin: 0;
        list-style: none;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        /* 影をつける */
        z-index: 10;
        /* スライドの上に表示されるようにする */
    }

    .listTab li {
        margin: 0 10px;
        font-size: 20px;
    }

    .listTab li a {
        display: block;
        padding: 10px 20px;
        color: black;
        text-decoration: none;
        transition: all 0.3s ease;
        border-bottom: 2px solid transparent;
        /* 初期状態で透明な下線 */
    }

    .listTab li.active a {
        border-bottom: 2px solid black;
    }

    .listTab li a:hover {
        border-bottom: 2px solid black;
        /* ホバー時の下線色 */
        color: white;
    }

    .slick-prev {
        left: 32.5% !important;
        transform: none !important;
    }

    .slick-prev::before {
        content: "";
        display: block;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-right: 5px solid white;
        position: absolute;
        top: 45%;
        left: 50%;
    }

    .slick-next {
        right: 32.5% !important;
        transform: none !important;
    }

    .slick-next::before {
        content: "";
        display: block;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 5px solid white;
        position: absolute;
        top: 45%;
        left: 50%;
    }

    .slick-prev,
    .slick-next {
        position: absolute !important;
        top: 36% !important;
        cursor: pointer !important;
        outline: none !important;
        height: 80px !important;
        width: 50px !important;
        background-color: rgba(0, 0, 0, 0.6);
        z-index: 1000;
        border-top: 2px solid #778c80 !important;
        border-right: 2px solid #778c80 !important;
        border-left: 2px solid #778c80 !important;
        border-bottom: 2px solid #778c80 !important;
        border-radius: 10px !important;
        /* 高い値を設定して、最前面に表示 */
        margin: auto !important;
    }

    /* はみ出しを見せるために必要 */
    .slider .slick-list {
        overflow: visible;
    }

    /* 基本は少し小さくして、中央だけ拡大 */
    .slider .slick-slide {
        transform: scale(.92);
        opacity: .6;
        transition: transform .35s ease, opacity .35s ease;
        will-change: transform;
    }

    /* 中央を強調 */
    .slider .slick-center {
        transform: scale(1.15);
        /* 好みで 1.05〜1.15 くらい */
        opacity: 1;
        z-index: 2;
    }

    /* 画像のはみ出しが切れないように */
    .slider .slick-slide>* {
        overflow: visible;
    }

    /* カード型にしている場合は影を中央だけ強めに（任意） */
    .slider .slick-center .card {
        box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
    }


    /* slider */

    .sp {
        display: none;
    }

    .max-width {
        max-width: 1280px;
        margin: auto;
    }

    .scroll-scene {
        position: relative;
        height: 200vh;
        /* 100vhでimage1 → image2切替、さらに100vhで次のセクションへ */
    }

    .scene-image {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-size: cover;
        background-position: center;
        opacity: 0;
        transition: opacity 1s ease;
        z-index: 1;
    }

    #image1 {
        background-image: url('../img/fvpc.jpg');
        z-index: 2;
        opacity: 1;
    }

    #image2 {
        background-image: url('../img/fvpc2.jpg');
        z-index: 1;
        opacity: 0;
    }

    .scene-image.static {
        position: relative;
        z-index: 0;
        /* 背景として最下層 */
        opacity: 1 !important;
        transition: none;
    }

    .bg-block {
        background-image: url(../img/bg_block.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        z-index: 10;
        /* image2より前面に出す */
    }

    .concepttitle {
        font-size: 28px;
        line-height: 1;
        padding-bottom: 20px;
    }

    .conceptsubtitle {
        font-size: 18px;
        line-height: 1.8;
        padding-bottom: 20px;
    }

    .concepttext {
        font-size: 14px;
    }

    .conceptflex {
        display: flex;
        align-items: center;
        /* 必要なら縦位置調整 */
        column-gap: 10%;
        /* ← ここがポイント：間だけ10% */
        /* row-gap: 20px;         複数行に折れる可能性があるなら行間も */
        /* justify-content:flex-start; デフォでOK。space-betweenは不要 */
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .conceptleft {
        flex: 0 0 40%;
        /* 幅をきっちり固定（縮まない） */
    }

    .conceptimage img {
        width: 100%;
        height: auto;
        display: block;
        /* 画像下の余白対策 */
    }

    .conceptimage {
        flex: 0 0 50%;
    }

    .gallerytitle {
        font-size: 38px;
        text-align: center;
    }

    .gallerysubtitle {
        font-size: 24px;
        text-align: center;
    }

    .gallerytext {
        font-size: 16px;
        text-align: center;
        margin-top: 60px;
        margin-bottom: 30px;
    }

    .bg-wall {
        background-image: url(../img/bg_wall.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        z-index: 10;
        /* image2より前面に出す */
        overflow: hidden;
    }

    .bg-wood {
        background-color: #f5edde;
        color: #4d4d4d;
    }

    .modelflex {
        display: flex;
        align-items: center;
        /* 必要なら縦位置調整 */
        column-gap: 10%;
        /* ← ここがポイント：間だけ10% */
        /* row-gap: 20px;         複数行に折れる可能性があるなら行間も */
        /* justify-content:flex-start; デフォでOK。space-betweenは不要 */
        padding-bottom: 40px;
    }

    .modelleft {
        flex: 0 0 40%;
        /* 幅をきっちり固定（縮まない） */
    }

    .modelleft img {
        width: 100%;
        height: auto;
        display: block;
        /* 画像下の余白対策 */
    }

    .modelright {
        flex: 0 0 50%;
    }

    .modelplan {
        font-size: 38px;
        text-align: center;
        color: #a67c52;
        margin-bottom: 20px;
    }

    .modelplantitle {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .modelplansubtitle {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .modelplantext {
        font-size: 16px;
        margin-bottom: 20px;
    }

    /* 見出しの飾り線はそのまま */
    .info {
        display: flex;
        align-items: center;
        gap: 16px;
        margin: 40px 0 20px;
        font: 700 28px/1.2 "Yu Mincho", "Hiragino Mincho ProN", serif;
        color: #2e2a28;
    }

    .info::after {
        content: "";
        flex: 1 1 auto;
        height: 1px;
        background: #bfb7aa;
        transform: translateY(.5px);
    }

    /* 本体：左右2カラム。高さは大きい方に自動でそろう */
    .spec {
        display: grid;
        grid-template-columns: 28% 1fr;
        /* 左ボックスの見た目に合わせて調整 */
        gap: 32px;
        align-items: stretch;
        /* 左右の高さを揃えるキモ */
    }

    /* 左のボックス画像＝右の高さにピタっと合わせる */
    .spec__thumb {
        display: flex;
        /* 子要素(img)を高さ100%にできるようにする */
        background: #fff;
    }

    .spec__thumb img {
        width: 100%;
        height: 100%;
        /* 親(=行の高さ)にフィット */
        object-fit: contain;
        /* 画像の比率を保って中に収める */
    }

    /* 右側：2列×2組（ラベル/値×2）のグリッド。上下は均等に見える配置 */
    .spec__list {
        display: grid;
        grid-template-columns: 1fr auto 1fr auto;
        /* [ラベル][値] × 2組 */
        column-gap: 32px;
        row-gap: 32px;
        /* 3行を均等感ある間隔で */
        align-items: baseline;
        margin: 0;
    }

    .spec__list dt {
        margin: 0;
        font-weight: 700;
    }

    .spec__list dd {
        margin: 0;
        text-align: right;
        white-space: nowrap;
    }

    .unit {
        font-size: .9em;
    }

    .map {
        width: 1000px;
        max-width: 100%;
        margin: 0 auto;
        border: 1px #999 solid;
        padding: 1%;
    }


}

/* PCレスポンシブ */