/* ==========================================================
   会社概要 — p-company
   新テーマ専用（旧CSS不要）
   ========================================================== */

/* セクション全体 */
.p-company {
    position: relative;
    overflow: hidden;
    padding: 0 0 120rem;
}

/* SVGフィルター（非表示） */
.p-company__svg-filters {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

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

.p-company__texture--top {
    top: -528rem;
    right: -933rem;
    width: 1873rem;
    rotate: 45deg;
}

.p-company__texture--bottom {
    bottom: -1000rem;
    left: -700rem;
    width: 2672rem;
}

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

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

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

/* --------------------------------------------------------
   コンテンツ内側
   -------------------------------------------------------- */
.p-company__inner {
    position: relative;
    z-index: 1;
    margin: 0 215rem;
}

/* メイン画像 */
.p-company__main-image {
    margin-bottom: 60rem;
}

.p-company__main-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* --------------------------------------------------------
   代表挨拶
   -------------------------------------------------------- */
.p-company__greeting {
    display: flex;
    gap: 80rem;
    margin-bottom: 95rem;
}

.p-company__greeting-photo {
    flex-shrink: 0;
}

.p-company__greeting-photo img {
    display: block;
    max-width: 350rem;
    height: auto;
}

.p-company__greeting-text {
    flex: 1;
    font-size: var(--fs-15);
    line-height: 1.9;
    color: #333;
}

.p-company__greeting-text p {
    margin: 0 0 15rem;
}

.p-company__greeting-closing {
    margin-bottom: 60rem !important;
}

.p-company__greeting-name {
    font-size: var(--fs-15);
    line-height: 1.8;
}

.p-company__greeting-title {
    font-size: var(--fs-13);
}

/* SP用 代表名+写真（PCでは非表示） */
.p-company__greeting-sp {
    display: none;
}

/* --------------------------------------------------------
   会社情報ブロック共通
   -------------------------------------------------------- */
.p-company__info-block {
    max-width: 550rem;
    margin: 0 auto 60rem;
}

.p-company__info-block--wide {
    max-width: 800rem;
}

.p-company__info-title {
    border-bottom: 1rem solid #000;
    margin: 0 0 20rem;
    padding: 0 15rem 10rem;
    font-family: inherit;
    font-size: var(--fs-16);
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #333;
}

.p-company__info-label {
    padding: 0 15rem;
    margin: 0 0 10rem;
    font-weight: 700;
}

.p-company__info-list {
    margin: 0;
}

.p-company__info-row {
    display: flex;
    gap: 10rem;
    margin-bottom: 10rem;
    padding: 0 15rem;
    font-size: var(--fs-15);
    line-height: 1.8;
}

.p-company__info-row dt {
    flex-shrink: 0;
    width: 100rem;
    font-weight: 700;
}

.p-company__info-row dd {
    flex: 1;
    margin: 0;
    white-space: nowrap;
}

/* MAPボタン */
.p-company__map-btn {
    display: inline-block;
    margin-left: 30rem;
    padding: 3rem 10rem;
    border: 1rem solid #000;
    font-size: var(--fs-13);
    line-height: 1.4;
    color: #000;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.p-company__map-btn:hover {
    background-color: #000;
    color: #fff;
}

/* --------------------------------------------------------
   ALevel掲載
   -------------------------------------------------------- */
.p-company__info-block--alevel .p-company__info-title {
    font-size: var(--fs-15);
}

.p-company__alevel {
    display: flex;
    gap: 30rem;
    padding: 0 15rem;
}

.p-company__alevel-image {
    flex-shrink: 0;
    max-width: 270rem;
}

.p-company__alevel-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

.p-company__alevel-caption {
    display: block;
    margin-top: 8rem;
    font-size: var(--fs-13);
    line-height: 1.6;
}

.p-company__alevel-text {
    flex: 1;
    margin: 0;
    font-size: var(--fs-15);
    line-height: 1.9;
}

/* --------------------------------------------------------
   Google Map
   -------------------------------------------------------- */
.p-company__map {
    text-align: center;
    margin: 80rem 0;
}

.p-company__map iframe {
    max-width: 100%;
}

/* --------------------------------------------------------
   駐車場案内
   -------------------------------------------------------- */
.p-company-parking {
    max-width: 900rem;
    margin: 48rem auto 80rem;
    padding: 40rem 36rem 44rem;
    border: 1rem solid #333;
    background-color: #fff;
    text-align: left;
}

.p-company-parking__title {
    margin: 0 0 28rem;
    font-family: inherit;
    font-size: var(--fs-18);
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    color: #333;
}

.p-company-parking__body {
    margin: 0;
}

.p-company-parking__text {
    margin: 0 0 1.2em;
    font-size: var(--fs-15);
    line-height: 1.9;
    color: #333;
}

.p-company-parking__text:last-child {
    margin-bottom: 0;
}

.p-company-parking__action {
    margin-top: 36rem;
    text-align: center;
}

.p-company-parking__btn {
    display: inline-block;
    min-width: 280rem;
    padding: 16rem 28rem;
    font-size: var(--fs-15);
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #4a4644;
    border: none;
    border-radius: 0;
    transition: opacity 0.25s ease;
}

.p-company-parking__btn:hover {
    opacity: 0.85;
}

/* --------------------------------------------------------
   お問い合わせボタン
   -------------------------------------------------------- */
.p-company__contact-btn {
    text-align: center;
    margin: 60rem 0;
}

.p-company__contact-btn a {
    display: inline-block;
    padding: 15rem 60rem;
    border: 1rem solid #000;
    font-size: var(--fs-14);
    color: #000;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.p-company__contact-btn a:hover {
    background-color: #000;
    color: #fff;
}

/* --------------------------------------------------------
   バナーリンク
   -------------------------------------------------------- */
.p-company__banners {
    display: flex;
    justify-content: center;
    gap: 20rem;
    margin: 40rem 0;
}

.p-company__banners a {
    display: block;
}

.p-company__banners img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ==========================================================
   SP (max-width: 768px)
   ========================================================== */
@media (max-width: 768px) {

    .p-company {
        padding: 0 0 80rem;
    }

    /* テクスチャSP */
    .p-company__texture--top {
        top: -300rem;
        right: -100rem;
        width: 900rem;
    }

    .p-company__texture--bottom {
        bottom: -500rem;
        left: -350rem;
        width: 1300rem;
    }

    /* PC見出し非表示 */
    .p-company__heading {
        display: none;
    }

    /* SP見出し（家づくりページと同パターン：左線＋横書き） */
    .p-company__heading-sp {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10rem;
        padding: 0 30rem;
        margin-top: 100rem;
        margin-bottom: 80rem;
        position: relative;
        z-index: 1;
        justify-content: flex-end;
    }

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

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

    /* コンテンツ内側 */
    .p-company__inner {
        margin: 0 20rem;
    }

    /* メイン画像: 全幅 */
    .p-company__main-image {
        margin: 0 -20rem 30rem;
    }

    /* 代表挨拶: PC版非表示 */
    .p-company__greeting {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-bottom: 0;
    }

    .p-company__greeting-photo {
        display: none;
    }

    .p-company__greeting-text {
        font-size: var(--fs-12);
        line-height: 2;
        margin-bottom: 20rem;
    }

    .p-company__greeting-text p {
        margin-bottom: 12rem;
    }

    .p-company__greeting-closing {
        margin-bottom: 25rem !important;
    }

    .p-company__greeting-name {
        display: none;
    }

    /* SP用 代表名+写真 */
    .p-company__greeting-sp {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        margin-bottom: 50rem;
    }

    .p-company__greeting-sp-name p {
        font-size: var(--fs-14);
        line-height: 1.8;
    }

    .p-company__greeting-sp-name span {
        font-size: var(--fs-12);
    }

    .p-company__greeting-sp-photo {
        width: 50%;
        flex-shrink: 0;
    }

    .p-company__greeting-sp-photo img {
        display: block;
        width: 100%;
        height: 200rem;
        object-fit: cover;
        object-position: top center;
    }

    /* 会社情報 */
    .p-company__info-block {
        max-width: none;
        margin-bottom: 100rem;
    }

    .p-company__info-title {
        font-family: var(--font-bask-old);
        font-size: var(--fs-22);
        letter-spacing: 0.1em;
    }

    .p-company__info-row {
        flex-direction: column;
        gap: 2rem;
        margin-bottom: 15rem;
        font-size: var(--fs-14);
    }

    .p-company__info-row dt {
        width: auto;
    }

    .p-company__info-row dd {
        padding-left: 10rem;
        font-size: var(--fs-13);
    }

    /* ALevel */
    .p-company__info-block--alevel .p-company__info-title {
        font-size: var(--fs-14);
    }

    .p-company__alevel {
        flex-direction: column;
    }

    .p-company__alevel-image {
        max-width: none;
        text-align: center;
    }

    .p-company__alevel-image img {
        max-width: 100%;
    }

    .p-company__alevel-text {
        line-height: 2;
    }

    /* Google Map */
    .p-company__map iframe {
        width: 100%;
        height: 250rem;
    }

    /* 駐車場案内 */
    .p-company-parking {
        max-width: none;
        margin: 32rem 0 48rem;
        padding: 24rem 20rem 24rem;
    }

    .p-company-parking__title {
        font-size: var(--fs-16);
        margin-bottom: 20rem;
    }

    .p-company-parking__text {
        font-size: var(--fs-12);
    }

    .p-company-parking__action {
        margin-top: 14rem;
    }

    .p-company-parking__btn {
        display: block;
        width: 100%;
        min-width: 0;
        padding: 14rem 16rem;
        font-size: var(--fs-14);
    }

    /* お問い合わせボタン */
    .p-company__contact-btn {
        margin: 40rem 0;
    }

    /* バナー */
    .p-company__banners {
        flex-direction: column;
        align-items: center;
        gap: 15rem;
    }

    .p-company__banners a {
        width: 100%;
    }

    .p-company__banners img {
        width: 100%;
    }
}
