@charset "utf-8";

/*==================================================================
    IPすまいる2026 ／ about.css
    居住支援とは？（about.php）専用スタイル
==================================================================*/
@media screen and (max-width: 767px) {
	#pagehead {
		min-height: 100svw;
	}
}


/*------------------------------------------------------------------
    #about ／ 居住支援とは？
------------------------------------------------------------------*/
#overview {
    padding-block: var(--m6);
}
#overview .title { margin-block-start: .55lh; }
#overview .lead { margin-block-start: .9lh; }
#overview .lead + .lead { margin-block-start: .6lh; }

#overview .row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--m4);
    margin-block-start: var(--m5);
}
#overview .block {
    flex: 1;
}
#overview .block .badge {
    width: fit-content;
    padding: 5px 20px;
    background: var(--orange);
    translate: 0 -50%;
    margin-inline: auto;
    border-radius: 6px;
    color: #fff;
    font-size: var(--medium-size);
}
#overview .block:first-child .badge {
    background: var(--yellow);
}
#overview .block:last-child .badge {
    background: var(--bright-orange);
}
#overview .block h3 {
    margin-top: .5lh;
    font-size: var(--medium-size);
    font-weight: 700;
    text-align: center;
}
#overview .block p {
    margin-block-start: .6lh;
    text-align: center;
}

/* ご存知ですか？ */
#overview .notice {
    position: relative;
    width: 960px;
    max-width: 100%;
    margin: 105px auto 0;
    padding: 60px 80px 45px;
    background: #faf9f7;
    border: 1px solid #e8e4e0;
    border-radius: 16px;
}
#overview .notice .balloon {
    border-radius: 100%;
    border-radius: 100%;
    padding-block: 0.5lh;
    position: absolute;
    inset-block-start: -30px;
    inset-inline: 0;
}
#overview .notice h3 {
    font-size: calc(var(--medium-size) * 1.125);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
#overview .notice p {
    margin-block-start: 1.75lh;
    font-size: var(--regular-size);
    line-height: 1.8;
    /* デザインの字送り（約4行で折り返す）に合わせる */
    font-feature-settings: normal;
    letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
    /* #overview */
    #overview { padding-block: var(--m3); }
    #overview .row { gap: var(--m3); margin-block-start: var(--m3); }
    #overview .block { flex-basis: 100%; }

    #overview .notice {
        margin-block-start: var(--m4);
        padding: var(--m3) var(--m) var(--m2);
    }
    #overview .block h3 {
        margin-top: 0;
    }
    #overview .notice h3 {
        font-size: var(--medium-size);
        text-align: left;
    }
    #overview .notice p {
        margin-block-start: 0.5lh;
    }
}

/*------------------------------------------------------------------
    #guarantee ／ 家賃債務保証（補償）のしくみ
------------------------------------------------------------------*/
#guarantee {
    padding-block: 75px;
    background: var(--light-gray);
}
#guarantee .chart {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: var(--m3);
    margin-block-start: 45px;
}
#guarantee .chart .block {
    width: 200px;
    padding-block-start: 8px;
    text-align: center;
    position: relative;
}
#guarantee .block:not(:last-child)::after {
    display: block;
    width: 9px;
    height: 12px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--accent);
    position: absolute;
    left: calc(100% + var(--m3) / 2);
    top: 180px;
    translate: -50% -50%;
}
#guarantee .chart .block h3 {
    margin-block-start: .5lh;
    font-size: var(--regular-size);
}
#guarantee .chart .core {
    width: 300px;
    padding-block-start: 0;
}
#guarantee .chart .core .title {
    font-size: var(--regular-size);
    font-weight: 700;
    line-height: 1.4;
}
#guarantee .chart .core .title .large {
    color: var(--bright-orange);
}
#guarantee .chart .core .image {
    margin-block-start: .5lh;
}
@media screen and (max-width: 767px) {
    /* #guarantee ／ 図解は縦積み。横並び前提の矢印は隠す */
    #guarantee { padding-block: var(--m2); }
    #guarantee .chart {
        justify-content: space-between;
        gap: 0;
        margin-block-start: var(--m2);
    }
    #guarantee .chart .block {
        width: 25%;
    }
    #guarantee .chart .core {
        width: 40%;
    }
    #guarantee .block:not(:last-child)::after {
        left: calc(100% + var(--ms));
        top: 100px;
    }
}


/*------------------------------------------------------------------
    #strength ／ 鹿児島の「IPグループ」だから、できること
------------------------------------------------------------------*/
#strength {
    padding-block: 90px 60px;
    background: #fff;
}
#strength .title { margin-block-start: .8lh; }
#strength .lead { margin-block-start: 1.1lh; }

/* グループ相関図 */
#strength .chart {
    margin-top: var(--m7);
    position: relative;
    max-width: 1140px;
    padding-bottom: var(--m2);
    margin-inline: auto;
}
#strength .chart::after {
    display: block;
    width: 80%;
    height: 80%;
    background: var(--gradient);
    border-radius: 24px;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 0;
    z-index: -1;
}
#strength .block {
    width: 50%;
    padding-left: 125px;
    margin-inline: auto;
    position: relative;
}
#strength .block .image {
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -60%;
    max-width: 250px;
}
#strength .block .text {
    padding: var(--m2);
    padding-left: calc(125px + var(--m2));
    background: var(--pale-gray);
    border: 1px solid var(--gray);
    border-radius: 18px;
}
#strength .block .text .title {
    margin-top: 0;
    font-size:var(--large-size);
    font-weight: 700;
    color: var(--bright-orange);
    text-align: left;
}
#strength .block .text h3 {
    margin-block-start: .5lh;
    font-size: calc(var(--medium-size) * 0.875);
}
#strength .block .text p {
    margin-block-start: .2lh;
}
#strength .chart .companies {
    margin-top: var(--m3);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--m2);
}
#strength .chart .companies li {
    flex: 1;
    background: var(--pale-gray);
    border: 1px solid var(--gray);
    border-radius: 18px;
    text-align: center;
}
#strength .chart .companies .image {
    max-width: 200px;
    margin-inline: auto;
}
#strength .chart .companies h3 {
    margin-block: 0 .5lh;
}
#strength .chart .note {
    margin-top: var(--m2);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
#strength .chart .note .image {
    max-width: 148px;
    margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
    /* #strength ／ 画像の重ね配置を解除して縦積み */
    #strength { padding-block: var(--m3) var(--m2); }
    #strength .chart {
        margin-top: var(--m3);
        width: calc(100% + var(--m2));
        margin-inline: calc(-1 * var(--m));
        padding-inline: var(--m);
    }
    #strength .chart::after {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        bottom: auto;
        translate: none;
    }
    #strength .block {
        width: 100%;
        padding-left: 0;
    }
    #strength .block .image {
        position: relative;
        top: auto;
        translate: none;
        max-width: 60%;
        margin-inline: auto;
    }
    #strength .block .text {
        margin-top: calc(-1 * var(--m3));
        padding-top: var(--m4);
        padding-left: var(--m2);
        text-align: center;
    }
    #strength .block .text .title {
        text-align: center;
    }
    #strength .chart .companies {
        margin-top: var(--m);
        gap: var(--m);
    }
    #strength .chart .companies li { flex-basis: 100%; }
    #strength .chart .note {
        display: block;
    }
    #strength .chart .note .image {
        margin-inline: auto;
    }
}


/* IPグループ連携ならではの「6つの取組み」 */
#support {
    padding-block: 0 var(--m5);
    background: white;
}
#support .title {
    margin-bottom: 0.5lh;
    font-size: var(--large-size);
    text-align: center;
}
#support .title + p {
    text-align: center;
    margin-bottom: var(--m7);
}
@media screen and (max-width: 767px) {
    /* #support（見出しまわり。カード部分は style.css 側で調整） */
    #support .title + p { margin-bottom: var(--m3); }
}

