@charset "UTF-8";


.people-page,
.people-page .tr-page {
    background: var(--tr-background);
}

.people-main {
    overflow:hidden;
}

.pp-container {
    width:min(1400px,calc(100% - 48px));
    margin-inline:auto
}

.pp-section-title {
    margin:0 0 20px;
    color: var(--tr-green);
    font-size:clamp(26px,2vw,34px);
    font-weight:600;
    line-height:1.55;
    text-align:center;
}

.pp-section-title--left {
    text-align:left
}

/* Breadcrumb */
.pp-breadcrumb {
    position:relative;
    z-index:20;
    padding:
        150px
        max(24px, calc((100vw - 1400px) / 2))
        18px;
}

.pp-breadcrumb ol {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
    font-size:14px;
    line-height:1.8;
}

.pp-breadcrumb li+li::before {
    content: "›";
    margin-right:8px;
    opacity:.45;
}

.pp-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.pp-breadcrumb a:hover {
    text-decoration:underline
}

/* Hero */
.pp-hero {
    position:relative;
    min-height:500px;
    padding:78px 0 80px;
}

.pp-hero__leaves {
    position:absolute;
    z-index:0;
    inset:0;
    background-image:url("../img/renewal/people-hero-leaves.webp");
    background-repeat:no-repeat;
    background-position:center 20px;
    background-size:min(1400px,80%) auto;
    pointer-events:none;
}

.pp-hero__inner {
    position:relative;
    z-index:1;
    text-align:center;
        margin-top: -50px;

}

.pp-hero__title {
    margin:0 0 36px;
    color: var(--tr-green);
    font-size:clamp(45px,4vw,66px);
    font-weight:600;
    line-height:1.32;
    letter-spacing:.05em
}

.pp-hero__text {
    font-size:18px;
    line-height:2.05
}

.pp-hero__text p {
    margin:0 0 4px;
    text-align: center;
}

/* Seeds */
.pp-seeds {
    padding:40px 0 105px
}

.pp-seeds__inner {
    display:grid;
    grid-template-columns:minmax(330px,.9fr) minmax(0,1.65fr);
    align-items:center;
    gap:54px
}

.pp-seeds__copy p {
    margin:0;
    font-size:16px;
    line-height:2
}

.pp-seeds__cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.pp-seed-card {
    margin:0
}

.pp-seed-card img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:34px
}

/* Soil / Water / Wind */

.pp-elements {
    padding: 35px 0 80px;
}

.pp-elements__intro {
    margin-bottom: 54px;
    text-align: center;
}

.pp-elements__intro p {
    margin: 0;
    font-size: 16px;
    line-height: 2;
    text-align: center;
}

.pp-elements__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pp-element {
    min-width: 0;
    min-height: 285px;
    padding: 0 28px;
}

.pp-element + .pp-element {
    border-left: 1px solid var(--tr-border);
}

.pp-element:first-child {
    padding-left: 0;
}

.pp-element:last-child {
    padding-right: 0;
}

/* タイトルは画像幅の影響を受けず横一列 */
.pp-element__heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 18px;
    white-space: nowrap;
}

.pp-element__name {
    flex: 0 0 auto;
    color: var(--tr-green);
    font-size: 43px;
    font-weight: 600;
    line-height: 1;
}

.pp-element__heading h3 {
    margin: 0;
    color: var(--tr-green);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.55;
}

/* 本文だけ画像の左側～下側へ回り込み */
.pp-element__body {
    display: flow-root;
}

.pp-element__body img {
    float: right;
    width: 48%;
    height: auto;
    margin: -5px 0 10px 15px;
    object-fit: contain;
}

.pp-element__body p {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
}

/* Ecosystem */
.pp-ecosystem {
    padding:65px 0 105px
}

.pp-ecosystem__grid {
    display:grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.pp-ecosystem__block--left {
    padding:10px 30px 10px 0
}

.pp-ecosystem__block--right {
    display:grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items:center;
    gap:0px;
    padding:10px 0 10px 30px;
    border-left: 1px solid var(--tr-border);
}

.pp-ecosystem__block p {
    margin:0;
    font-size:16px;
    line-height:2
}

.pp-ecosystem__visual img {
    display:block;
    width:100%;
    height:auto;
    object-fit:contain
}

.pp-ecosystem__labels {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0px;
    margin-top:4px;
    color: var(--tr-green);
    text-align:center
}

.pp-ecosystem__labels strong {
    display:block;
    margin-bottom:2px;
    font-size:20px;
    font-weight:600;
}

.pp-ecosystem__labels span {
    display:block;
    font-size:13px;
    font-weight: bold;
    line-height:1.45
}

/* Closing background artwork */
.pp-closing {
    padding:25px 0 0
}

.pp-closing__visual {
    position: relative;
    width:100%;
    max-width: 1500px;
    margin: 0 auto;
    min-height: 600px;

    background-image:
        linear-gradient(
            to bottom,
            #fdfbf8 0%,
            rgba(253, 251, 248, 0) 14%,
            rgba(253, 251, 248, 0) 82%,
            #fdfbf8 100%
        ),
        url("../img/renewal/people-closing.webp");

    background-repeat: no-repeat;
    background-position: center;
background-size: 95% auto;
}
.pp-closing__inner {
    position:relative;
    min-height:520px
}

.pp-closing__message {
    position:absolute;
    top:17%;
    right:3%;
    margin:0;
    color: var(--tr-green);
    font-size:clamp(20px,1.75vw,27px);
    font-weight:600;
    line-height:1.85;
    letter-spacing:.05em;
    text-shadow:
        0 0 10px #FFFFFF,
        0 0 10px #FFFFFF,
        0 0 10px #FFFFFF,
        0 0 20px #FFFFFF,
        0 0 20px #FFFFFF,
        0 0 35px rgba(255, 255, 255, 0.95);
}

.pp-sp {
    display: none;
}

@media (max-width: 767px) {
    .pp-sp {
        display: block;
    }
}

@media(max-width:1100px) {
    .pp-seeds__inner {
        grid-template-columns:.85fr 1.15fr;
        gap:34px
    }
.pp-ecosystem__block--right {
        grid-template-columns:1fr
    }

}

@media(max-width:767px) {
    .pp-container {
        width:calc(100% - 40px)
    }

    .pp-pc {
        display:none
    }

    .pp-breadcrumb {
        padding:
            18px
            20px
            14px;
    }

    .pp-breadcrumb ol {
        font-size:12px
    }

    .pp-hero {
        min-height:430px;
        padding:54px 0 45px
    }
/*
    .pp-hero__leaves {
        background-position:center top;
        background-size:auto 270px;
        opacity:.9
    }
*/

.pp-hero__leaves {
    background-position: center top;
    background-size: 120% auto;
    background-repeat: no-repeat;
    opacity: .9;
}
    .pp-hero__title {
        margin-bottom:28px;
        font-size:38px;
        line-height:1.42
    }

    .pp-hero__text {
        font-size:16px;
        line-height:1.8;
        text-align:left
    }

    .pp-hero__text p {
        margin-bottom:8px
    }

    .pp-section-title,

    .pp-section-title--left {
        font-size:28px;
    }

    .pp-seeds {
        padding:25px 0 72px;
    }

    .pp-seeds__inner {
        display:block
    }

    .pp-seeds__copy {
        margin-bottom:34px
    }

    .pp-seeds__copy p {
        font-size:16px;
        line-height:1.9
    }

    .pp-seeds__cards {
        gap:8px
    }

    .pp-seed-card img {
        border-radius:17px
    }

    .pp-elements {
        padding:25px 0 72px
    }

    .pp-elements__intro {
        margin-bottom:36px;
        text-align:left
    }

    .pp-elements__intro p {
        font-size:16px;
        line-height:1.9
    }

    .pp-elements__grid {
        display:block
    }

    .pp-element {
        grid-template-columns:minmax(0,1fr) 42%;
        gap:15px;
        min-height:auto;
        padding:28px 0
    }

    .pp-element+.pp-element {
    border-top: 1px solid var(--tr-border);
        border-left:0
    }

    .pp-element:first-child {
        padding-top:0
    }

    .pp-element:last-child {
        padding-bottom:0
    }

    .pp-element__heading {
        display:block
    }

    .pp-element__name {
        display:block;
        margin-bottom:8px;
        font-size:38px
    }

    .pp-element__copy h3 {
        font-size:18px
    }

    .pp-element__copy p {
        font-size:14px;
        line-height:1.8
    }

    .pp-ecosystem {
        padding:35px 0 72px
    }

    .pp-ecosystem__grid {
        display:block
    }

    .pp-ecosystem__block--left {
        padding:0 0 48px
    }

    .pp-ecosystem__block--right {
        display:block;
        padding:42px 0 0;
    border-top: 1px solid var(--tr-border);
        border-left:0
    }

    .pp-ecosystem__block p {
        font-size:16px;
        line-height:1.9
    }

    .pp-ecosystem__visual {
        max-width:420px;
        margin:10px auto 60px
    }

    .pp-closing {
        padding-top:5px
    }

    .pp-closing__visual {
        min-height:390px;
        background-position:center bottom;
        background-size:auto 100%
    }

    .pp-closing__inner {
        min-height:390px
    }

    .pp-closing__message {
        top:-25px;
        right:15px;
        left:15px;
        font-size:18px;
        line-height:1.8;
        text-align:center
    }

}


/* =========================================================
   SOIL / WATER / WIND - SMARTPHONE OVERRIDE
========================================================= */

@media (max-width: 767px) {

    .pp-element {
        min-height: auto;
        padding: 28px 0;
    }

    .pp-element + .pp-element {
    border-top: 1px solid var(--tr-border);
        border-left: 0;
    }

    .pp-element:first-child {
        padding-top: 0;
    }

    .pp-element:last-child {
        padding-bottom: 0;
    }

    .pp-element__heading {
        display: flex;
        align-items: baseline;
        gap:15px;
        margin-bottom: 16px;
        white-space: nowrap;
    }

    .pp-element__name {
        margin: 0;
        font-size: 38px;
    }

    .pp-element__heading h3 {
        font-size: 18px;
    }

    .pp-element__body {
        display: flow-root;
    }

    .pp-element__body img {
        float: right;
        width: 42%;
        margin: 0 0 8px 14px;
    }

    .pp-element__body p {
        margin: 0;
        font-size: 15px;
        line-height: 1.8;
    }
}
