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

.p-iedukuri {
    position: relative;
    padding: 0 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__texture--intro {
    z-index: 0;
}

/* ----------------------------------------------------------
   見出し（PC）
   ---------------------------------------------------------- */
.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;
}

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

/* ----------------------------------------------------------
   オープニング（縦書きコンセプト・ヒーロー）
   ---------------------------------------------------------- */
.p-iedukuri__intro {
    position: relative;
    z-index: 1;
    padding-top: 80rem;
    margin-bottom: 100rem;
}

.p-iedukuri__intro-concept {
    position: relative;
    z-index: 1;
    padding: 0 80rem 80rem;
    display: flex;
    justify-content: center;
}

.p-iedukuri__intro-vertical {
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.p-iedukuri__intro-copy {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--fs-18);
    font-weight: 300;
    line-height: 2.4;
    letter-spacing: 0.18em;
    color: #333;
}

.p-iedukuri__intro-hero {
    position: relative;
    z-index: 1;
    width: 100vw;
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: 0;
    overflow: hidden;
}

.p-iedukuri__intro-hero img {
    width: 100%;
    height: 40vw;
    min-height: 380rem;
    max-height: 920rem;
    object-fit: cover;
    display: block;
}

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

.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;
}

/* ブロック2: 耐震ブロック後のリード */
.p-iedukuri__block-lead--split {
    margin-top: 20rem;
}

/* ブロック3: テキスト列の上位置調整 */
.p-iedukuri__block-text--offset {
    padding-top: 100rem;
}

/* ブロック4: リード文末の区切り（スペックなし） */
.p-iedukuri__block-text--tail {
    padding-bottom: 24rem;
    border-bottom: 1rem solid #000;
}

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

/* スペック */
.p-iedukuri__spec {
    margin-top: 10rem;
    padding-top: 20rem;
    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;
}

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

/* ==========================================================
   家づくり SP
   ========================================================== */
@media (max-width: 768px) {
    .p-iedukuri {
        padding: 0 0 80rem;
        background-color: #faf9f7;
    }

    .p-iedukuri__heading {
        display: none;
    }

    .p-iedukuri__heading-sp {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10rem;
        padding: 0 30rem;
        margin-bottom: 80rem;
        position: relative;
        z-index: 1;
        justify-content: flex-end;
    }

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

    .p-iedukuri__heading-sp-title {
        font-family: var(--font-body);
        font-size: var(--fs-18);
        font-weight: 400;
        letter-spacing: 0.06em;
        line-height: 1.35;
        color: #333;
    }

    .p-iedukuri__intro {
        padding-top: 100rem;
        margin-bottom: 56rem;
    }

    .p-iedukuri__intro-concept {
        padding: 0 30rem 32rem;
    }

    .p-iedukuri__intro-vertical {
        max-width: 100%;
    }

    .p-iedukuri__intro-copy {
        font-size: var(--fs-14);
        line-height: 1.5;
        letter-spacing: 0.06em;
    }

    .p-iedukuri__intro-hero img {
        height: 52vw;
        min-height: 220rem;
        max-height: 360rem;
    }

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

    .p-iedukuri__block-text {
        display: block;
        width: 100%;
        padding-top: 0;
    }

    .p-iedukuri__block-text--offset {
        padding-top: 0;
    }

    .p-iedukuri__block-text--tail {
        padding-bottom: 0;
        border-bottom-color: #ccc;
    }

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

    .p-iedukuri__block-lead--split {
        margin-top: 20rem;
    }

    .p-iedukuri__block-photo {
        width: 340rem;
        height: 300rem;
        margin-bottom: 0;
        padding-right: 30rem;
    }

    .p-iedukuri__spec {
        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);
    }

    /* 全幅写真 */
    .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;
    }
}
