/* ==========================================================
   家づくりの考えかた
   ========================================================== */

.p-iedukuri {
    position: relative;
    padding: 80rem 0 120rem;
    background-color: #fff;
    overflow: hidden;
}

/* テクスチャ */
.p-iedukuri__texture {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    max-width: none;
}

.p-iedukuri__texture--top {
    top: -660rem;
    right: -200rem;
    width: 1600rem;
    transform: rotate(45deg);
}

/* 見出し */
.p-iedukuri__heading {
    position: relative;
    z-index: 1;
    padding-left: 80rem;
    margin-bottom: 80rem;
    font-family: var(--font-body);
    font-size: var(--fs-18);
    font-weight: 300;
    letter-spacing: 0.3em;
    color: #333;
}

.p-iedukuri__heading::after {
    content: '';
    display: block;
    width: 50%;
    height: 1rem;
    margin-top: 10rem;
    background-color: #333;
    transform: scaleX(var(--line-scale, 1));
    transform-origin: left center;
}

/* ----------------------------------------------------------
   コンテンツブロック
   ---------------------------------------------------------- */
.p-iedukuri__block {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    padding: 0 140rem;
    margin-bottom: 10rem;
}

.p-iedukuri__block--reverse {
    flex-direction: row-reverse;
}

/* 写真（正方形にクリップ） */
.p-iedukuri__block-photo {
    flex-shrink: 0;
    width: 380rem;
    height: 380rem;
    overflow: hidden;
}

.p-iedukuri__block-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* テキスト */
.p-iedukuri__block-text {
    flex: 1;
    padding-top: 20rem;
}

.p-iedukuri__block-lead {
    font-size: var(--fs-14);
    line-height: 2.2;
    color: #333;
    margin-bottom: 0;
}

.p-iedukuri__block-sub {
    font-size: var(--fs-14);
    line-height: 2.2;
    color: #333;
    margin-top: 0;
    margin-bottom: 0;
}

/* ----------------------------------------------------------
   ブロック2: 耐震・制震（写真左 + テキスト右）
   ---------------------------------------------------------- */
.p-iedukuri__block-b {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    padding: 0 140rem;
    margin-bottom: 20rem;
}

.p-iedukuri__block-b-photo {
    flex-shrink: 0;
    width: 380rem;
    height: 380rem;
    overflow: hidden;
}

.p-iedukuri__block-b-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-iedukuri__block-b-body {
    flex: 1;
    padding-top: 40rem;
}

.p-iedukuri__block-b-lead {
    font-size: var(--fs-14);
    line-height: 2.2;
    color: #333;
    padding-left: 40rem;
}
.p-iedukuri__block-b-lead:nth-of-type(2) {
    margin-top: 140rem;
}


/* ----------------------------------------------------------
   ブロック3: 検査と保証（写真左 + テキスト右）
   ---------------------------------------------------------- */
.p-iedukuri__block-c {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    padding: 0 140rem;
    margin-bottom: 10rem;
}

.p-iedukuri__block-c-photo {
    flex-shrink: 0;
    width: 380rem;
    height: 380rem;
    overflow: hidden;
}

.p-iedukuri__block-c-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-iedukuri__block-c-body {
    flex: 1;
    padding-top: 100rem;
}

.p-iedukuri__block-c-lead {
    font-size: var(--fs-14);
    line-height: 2.2;
    color: #333;
    padding-left: 40rem;
}

/* スペック */
.p-iedukuri__spec {
    margin-top: 10rem;
    padding-top: 20rem;
    padding-left: 80rem;
    border-top: 1rem solid #333;
}

.p-iedukuri__spec-title {
    font-size: var(--fs-18);
    font-weight: 300;
    color: #333;
    margin-bottom: 12rem;
}

.p-iedukuri__spec-list {
    font-size: var(--fs-14);
    line-height: 2;
    color: #333;
}

.p-iedukuri__spec-list li::before {
    content: '・';
}

/* ----------------------------------------------------------
   全幅写真
   ---------------------------------------------------------- */
.p-iedukuri__full-photo {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 825rem;
    overflow: hidden;
    margin-bottom: 0;
    margin-top: 100rem;
}

.p-iedukuri__full-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ----------------------------------------------------------
   メッセージ（写真に被せる）
   ---------------------------------------------------------- */
.p-iedukuri__message {
    position: relative;
    z-index: 2;
    width: 80%;
    margin: -120rem auto 100rem;
    padding: 50rem;
    background-color: #e5e5e5;
    text-align: left;
}

.p-iedukuri__message-main {
    font-size: var(--fs-18);
    font-weight: 300;
    line-height: 2;
    color: #333;
    margin-bottom: 30rem;
    text-align: center;
}

.p-iedukuri__message-sub {
    font-size: var(--fs-14);
    line-height: 2;
    color: #333;
    text-align: center;
}

/* ----------------------------------------------------------
   ブロック4: 写真左 + テキスト右
   ---------------------------------------------------------- */
.p-iedukuri__block-d {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 30rem;
    padding: 0 160rem;
    /* margin-bottom: 100rem; */
}

.p-iedukuri__block-d-photo {
    flex-shrink: 0;
    width: 340rem;
    height: 480rem;
    overflow: hidden;
}

.p-iedukuri__block-d-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-iedukuri__block-d-body {
    flex: 1;
    padding-top: 20rem;
}

.p-iedukuri__block-d-lead {
    font-size: var(--fs-14);
    line-height: 2.2;
    color: #333;
}

/* テクスチャ下 */
.p-iedukuri__texture--bottom {
    bottom: -800rem;
    right: -610rem;
    width: 2400rem;
}

/* SP見出し（PCでは非表示） */
.p-iedukuri__heading-sp {
    display: none;
}

/* ==========================================================
   家づくり SP
   ========================================================== */
@media (max-width: 768px) {
    /* PC見出しを非表示 */
    .p-iedukuri__heading {
        display: none;
    }

    /* SP見出し（Column / News SP と統一） */
    .p-iedukuri__heading-sp {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 0 30rem;
        margin-bottom: 80rem;
        position: relative;
        z-index: 1;
    }

    .p-iedukuri__heading-sp-ja {
        writing-mode: vertical-rl;
        font-size: var(--fs-18);
        font-weight: 100;
        letter-spacing: 0.07em;
        color: #333;
    }

    .p-iedukuri__heading-sp-right {
        display: flex;
        align-items: center;
        align-self: center;
        gap: 6rem;
    }

    .p-iedukuri__heading-sp-line {
        display: block;
        width: 30rem;
        height: 1rem;
        background-color: #333;
    }

    .p-iedukuri__heading-sp-en {
        font-family: var(--font-bask-old);
        font-size: var(--fs-18);
        letter-spacing: 0.3em;
        color: #333;
    }

    /* ブロック1: 縦積み（テキスト→写真→スペック） */
    .p-iedukuri__block {
        flex-direction: column;
        padding: 0 30rem;
    }

    .p-iedukuri__block-text {
        display: contents;
    }

    .p-iedukuri__block-lead {
        order: -1;
        font-size: var(--fs-11);
        margin-bottom: 20rem;
        line-height: 1.8;
    }

    .p-iedukuri__block-photo {
        width: 340rem;
        height: 300rem;
        order: 0;
        margin-bottom: 20rem;
        margin-left: -40rem;
    }

    .p-iedukuri__spec {
        order: 1;
        border-top: none;
        padding-left: 0;
    }

    .p-iedukuri__spec-title {
        padding-bottom: 5rem;
        border-bottom: 1rem solid #333;
        margin-bottom: 12rem;
    }
    .p-iedukuri__spec-list{
        font-size: var(--fs-12);
    }

    /* ブロック2: 縦積み（写真右詰め→テキスト→スペック） */
    .p-iedukuri__block-b {
        flex-direction: column;
        padding: 0 30rem;
    }

    .p-iedukuri__block-b-photo {
        width: 340rem;
        height: 300rem;
        align-self: flex-end;
        margin-right: -40rem;
        margin-bottom: 20rem;
    }

    .p-iedukuri__block-b-body {
        padding-top: 0;
    }

    .p-iedukuri__block-b-lead {
        font-size: var(--fs-11);
        line-height: 1.8;
        padding-left: 0;
    }

    .p-iedukuri__block-b-lead:nth-of-type(2) {
        margin-top: 20rem;
    }

    /* ブロック3: 縦積み（写真左詰め→テキスト→スペック） */
    .p-iedukuri__block-c {
        flex-direction: column;
        padding: 0 30rem;
    }

    .p-iedukuri__block-c-photo {
        width: 340rem;
        height: 300rem;
        margin-left: -40rem;
        margin-bottom: 20rem;
    }

    .p-iedukuri__block-c-body {
        padding-top: 0;
    }

    .p-iedukuri__block-c-lead {
        font-size: var(--fs-11);
        line-height: 1.8;
        padding-left: 0;
    }

    /* 全幅写真 */
    .p-iedukuri__full-photo {
        height: 250rem;
        margin-top: 60rem;
    }

    /* メッセージ */
    .p-iedukuri__message {
        width: 100%;
        margin: 0;
        padding: 30rem;
        background-color: transparent;
    }

    .p-iedukuri__message-main {
        font-size: var(--fs-13);
        text-align: left;
        margin-bottom: 20rem;
    }

    .p-iedukuri__message-sub {
        font-size: var(--fs-11);
        text-align: left;
    }

    /* ブロック4: 縦積み（写真左詰め→テキスト） */
    .p-iedukuri__block-d {
        flex-direction: column;
        padding: 0 30rem;
    }

    .p-iedukuri__block-d-photo {
        width: 340rem;
        height: 300rem;
        margin-left: -40rem;
        margin-bottom: 20rem;
    }

    .p-iedukuri__block-d-body {
        padding-top: 0;
        text-align: left;
        align-self: flex-start;
    }

    .p-iedukuri__block-d-lead {
        font-size: var(--fs-11);
        line-height: 1.8;
    }
}
