/* =============================================================
   法人のかたへ専用CSS  /  page-for-corporations.php
   セレクタはすべて .p-for-corp または .tit-for-corp 配下に限定
============================================================= */

.p-for-corp {
    background-color: #ffffff;
    padding-top: 70px;
    letter-spacing: 0.05em;
}

/* ─── ページタイトル (h1) ─────────────── */
.tit-for-corp {
    padding: 65px 0 45px;
    text-align: center;
    margin: 0;
    line-height: 1;
}

.tit-for-corp img {
    max-width: 300px;
    height: auto;
}

/* ─── 共通: 内側ラッパー ─────────────── */
.p-for-corp__section-inner {
    max-width: 976px;
    margin: 0 auto;
    padding: 0 10px;
}

/* ─── 共通: 全幅セクションタイトルバー ─── */
.p-for-corp__tit-bar {
    text-align: center;
    color: #418000;
    font-size: clamp(1.8rem, 5vw, 2.9rem);
    padding: 23px 30px;
    margin: 0;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

/* ─── 共通: CTA ボタン ───────────────── */
.p-for-corp__cta-btn {
    display: block;
    max-width: 465px;
    background-color: #abcd25;
    text-decoration: none;
    padding: 16px 20px;
    text-align: center;
    font-size: clamp(1.8rem, 3vw, 2.1rem);
    letter-spacing: 0.3em;
}


/* ======================================================
   ヒーロー: 写真（左）+ テキスト（右）+ 全幅CTA（下）
====================================================== */
.p-for-corp__hero {
    padding: 0 0 0;
    font-size: 2.2rem;
    line-height: 1.5;
}

/* 2カラム */
.p-for-corp__hero-inner {
    max-width: 976px;
    margin: 0 auto;
    /*padding: 0 30px 30px;*/
    display: flex;
    gap: clamp(15px, 3vw, 40px);
    padding: 0 10px;
}

/* 左: 写真 */
.p-for-corp__hero-photo {
    flex: 0 0 48%;
}

.p-for-corp__hero-img {
    max-width: 474px;
    width: 100%;
    margin: 0 auto;
    height: auto;
    display: block;
}

/* 右: テキスト */
.p-for-corp__hero-info {
    flex: 1 1 0;
    padding: 5px 0;
    letter-spacing: 0.05em;
}

.p-for-corp__hero-txt {
    font-size: clamp(1.6rem, 2vw, 1.9rem);
    line-height: 1.75;
    color: #333;
    margin: 0;
}

/* 全幅CTAボタン（2カラムの下） */
.p-for-corp__hero-cta {
    max-width: 465px;
    margin: 0 auto;
    padding: clamp(30px, 5vw, 86px) 0 clamp(40px, 6vw, 100px);
}

.p-for-corp__hero-cta a:hover {
    opacity: 0.7;
}

@media (max-width: 1224px) {
    .p-for-corp__hero-inner {
        padding: 20px;
        flex-direction: column;
    }

    .p-for-corp__issues-body {
        flex-direction: column;
        gap: 24px;
    }

    .p-for-corp__stat-col {
        flex: none;
        width: 100%;
    }
}


/* ======================================================
   わたしたちが取り組む社会課題
====================================================== */
.p-for-corp__issues {
    padding-bottom: 0;
}

/* 2カラム: 左=説明文、右=統計ボックス */
.p-for-corp__issues-body {
    display: flex;
    gap: 40px;
    align-items: stretch;
    padding-bottom: 50px;
}

/* 左: 説明テキスト */
.p-for-corp__issue-lead-col {
    flex: 1 1 0;
}

.p-for-corp__issue-lead-txt {
    font-size: clamp(1.5rem, 2vw, 1.8rem);
    line-height: 1.7;
    color: #333;
    margin: 0;
}

/* 右: 統計カラム（幅固定ラッパー） */
/*.p-for-corp__stat-col {*/
/*  flex: 0 0 390px;*/
/*}*/

.p-for-corp__stat-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: top;
}

@media (max-width: 1224px) {
    .p-for-corp__stat-col {
        max-width: 500px;
        margin: 0 auto;
    }

    .p-for-corp__stat-img {
        max-width: 390px;
        margin: auto;
        height: auto;
    }
}

/* 課題内の箇条書き */
.p-for-corp__issue-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    font-size: 1.7rem;
    line-height: 1.8;
    color: #333;
}

/* 見出し */
.p-for-corp__issue-sub-tit {
    font-size: 2.2rem;
    color: #418000;
    font-weight: normal;
    margin: 0 0 16px;
}

.p-for-corp__stat-box-source {
    font-size: 1.2rem;
    color: #666;
    text-align: right;
    max-width: 390px;
    margin: 0 auto;
    padding-right: 1em;
}


/* ======================================================
   わたしたちがめざすまち
====================================================== */
.p-for-corp__vision {
    padding-bottom: 0;
}

.p-for-corp__vision-txt {
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
    line-height: 1.9;
    color: #333;
    text-align: center;
    margin: 0 0 36px;
}

.p-for-corp__vision-illust {
    margin: 0;
    text-align: center;
}

.p-for-corp__vision-illust img {
    max-width: 100%;
    height: auto;
}


/* ======================================================
   寄付・金銭のつかいみち: 3カラムカード
====================================================== */
.p-for-corp__fund-use {
    padding-bottom: 0;
    margin-top: 60px;
}

.p-for-corp__fund-lead {
    font-size: clamp(1.5rem, 2vw, 1.9rem);
    line-height: 1.8;
    color: #333;
    margin: 5px 0 30px;
    text-align: center;
}

.p-for-corp__fund-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

@media (max-width: 1000px) {
    .p-for-corp__fund-cards {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
}


/* ======================================================
   ご参加の方法: 5 サークル（3+2 行）
====================================================== */
.p-for-corp__how-to {
    padding-bottom: 0;
    margin-top: 100px;
}

.p-for-corp__steps-wrap {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px 0 50px;
}

.p-for-corp__steps-row {
    display: flex;
    justify-content: center;
    gap: clamp(16px, 3vw, 20px);
    flex-wrap: wrap;
}

.p-for-corp__step {
    flex: 0 0 auto;
}

.p-for-corp__step-circle {
    width: clamp(220px, 28vw, 290px);
    height: clamp(220px, 28vw, 290px);
    border-radius: 50%;
    border: 11px solid #e5e4de;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 18px;
    text-align: center;
    box-sizing: border-box;
}

.p-for-corp__step-num {
    display: block;
    /*width: clamp(32px, 4vw, 48px);*/
    height: clamp(32px, 4vw, 57px);
    margin-bottom: 20px;
}

.p-for-corp__step-title {
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
    font-weight: bold;
    color: #418000;
    line-height: 1.45;
    margin: 0 0 8px;
}

.p-for-corp__step-sub {
    display: block;
    font-size: clamp(1.2rem, 1.5vw, 1.5rem);
    font-weight: normal;
}

.p-for-corp__step-desc {
    font-size: clamp(1.2rem, 1.5vw, 1.5rem);
    color: #333;
    line-height: 1.65;
    margin: 0;
}

.p-for-corp__step-note {
    display: block;
    font-size: clamp(1.1rem, 1.3vw, 1.3rem);
    margin-top: 4px;
}

@media (max-width: 700px) {
    .p-for-corp__step-circle {
        width: 44vw;
        height: 44vw;
        padding: 12px 10px;
    }

    .p-for-corp__steps-row {
        gap: 12px;
    }
}


/* ======================================================
   ご支援事例
====================================================== */
.p-for-corp__cases {
    padding-bottom: 0;
}

.p-for-corp__cases a:hover {
    /*opacity: 0.7;*/
    /*text-decoration: underline;*/
}

/* カード全体: 左サイド＋右メイン の横並び */
.p-for-corp__case {
    display: flex;
    align-items: stretch;
    margin: 40px 0;
    background-color: #e5e4de;
    border-radius: 16px;
    padding: 20px;
}

.p-for-corp__case:last-of-type {
    margin-bottom: 0;
}

/* ── 左サイド: Case番号 + タグ ── */
.p-for-corp__case-side {
    flex: 0 0 161px;
    border-right: 1px solid #ddd;
    padding: 24px 3px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /*gap: 14px;*/
}

.p-for-corp__case-no {
    margin: 0;
    line-height: 1.1;
    align-self: center;
}

.p-for-corp__case-no-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 1.9rem;
    color: #418000;
    letter-spacing: 0.1em;
    font-weight: bold;
    width: 100%;
}

.p-for-corp__case-no-label img {
    display: inline-block;
}

.p-for-corp__case-deco {
    display: block;
    width: 100%;
    height: auto;
}

.p-for-corp__case-tags {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-top: 30px;
}

.p-for-corp__case-tag {
    display: inline-block;
    font-size: 1.9rem;
    font-weight: bold;
    padding: 3px 10px;
    line-height: 1.2;
    text-align: center;
}

.p-for-corp__case-tag-small {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
}

.p-for-corp__case-tag-plus {
    font-size: 2.3rem;
    color: #418000;
    font-weight: bold;
    line-height: 1;
    align-self: center;
}

/* ── 右メイン: テキスト＋写真＋フッター ── */
.p-for-corp__case-main {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    padding: 20px 22px 18px 38px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.p-for-corp__case-deco-line {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: 100%;
    display: block;
    pointer-events: none;
}

/* テキスト左 ＋ 写真右 */
.p-for-corp__case-body {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.p-for-corp__case-quote {
    flex: 1 1 0;
    font-size: clamp(1.3rem, 1.7vw, 1.5rem);
    line-height: 1.85;
    color: #333;
    margin: 0;
}

.p-for-corp__case-photo {
    flex: 0 0 215px;
    margin: 0;
}

.p-for-corp__case-photo img {
    width: 100%;
    height: auto;
    display: block;
}

/* フッター: 人名 左 ＋ リンク 右 */
.p-for-corp__case-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-top: 10px;
}

.p-for-corp__case-person {
    font-size: clamp(1.3rem, 1.7vw, 1.5rem);
    color: #555;
    margin: 0;
}

.p-for-corp__case-link {
    font-size: 1.3rem;
    color: #418000;
    font-weight: bold;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.p-for-corp__case-link:hover {
    text-decoration: underline;
}

/* ── 900px以下: 縦積みレイアウト ── */
@media (max-width: 900px) {
    /* 装飾の点線を非表示 */
    .p-for-corp__case-deco,
    .p-for-corp__case-deco-line {
        display: none;
    }

    /* カード全体を縦積みに */
    .p-for-corp__case {
        flex-direction: column;
        padding: 32px 16px;
    }

    /* 左サイド: 横並び（Case番号＋タグ）→ 縦積みに切り替え */
    .p-for-corp__case-side {
        flex: none;
        width: 100%;
        flex-direction: column;
        align-items: center;
        border-right: none;
        border-bottom: none;
        padding: 0 0 14px;
        gap: 0;
    }

    /* 右メイン: 左余白をリセット */
    .p-for-corp__case-main {
        padding: 0;
        position: static;
    }

    /* 本文＋写真を縦積み（本文→写真の順） */
    .p-for-corp__case-body {
        flex-direction: column;
    }

    .p-for-corp__case-photo {
        flex: none;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    /* タグのmargin-topをリセット */
    .p-for-corp__case-tags {
        margin-top: 0;
    }

    /* フッター: 人名→リンクを縦積み */
    .p-for-corp__case-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    /* インタビューリンクを右寄せ */
    .p-for-corp__case-link {
        align-self: flex-end;
    }
}


/* 税制優遇について */
.p-for-corp__tax-notice {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 30px 0 0;
    padding: 16px 20px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.p-for-corp__tax-notice-label {
    flex-shrink: 0;
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
    font-weight: bold;
    border: 2px solid #333333;
    padding: 10px 20px;
    margin: 0;
    letter-spacing: 0.2em;
}

.p-for-corp__tax-notice-text {
    margin: 0;
    font-size: clamp(1.4rem, 1.7vw, 1.6rem);
}

@media (max-width: 900px) {
    .p-for-corp__tax-notice {
        flex-direction: column;
        align-items: center;
    }

    .p-for-corp__tax-notice-label {
        text-align: center;
    }
}


/* ======================================================
   ご支援いただいている企業・団体様
====================================================== */
.p-for-corp__supporters {
    padding-bottom: 40px;
}

/* 団体会員タイトル */
.p-for-corp__members-tit {
    font-size: 2.2rem;
    text-align: center;
    margin: 0 0 40px;
    color: #418000;
    letter-spacing: 0.2em;
    font-weight: bold;
}

.p-for-corp__logos {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px 20px;
    align-items: center;
    justify-items: center;
}

.p-for-corp__logos li img {
    max-width: 169px;
    /*max-height: 70px;*/
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

@media screen and (max-width: 640px) {
    .p-for-corp__logos {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px 12px;
    }

    .p-for-corp__logos li img {
        max-width: 90px;
        max-height: 50px;
    }
}


/* ぎふハッピーハッピープロジェクト等 グループ区切り */
.p-for-corp__members-group {
    margin: 50px 0;
    padding: 60px 0;
}


/* 協働団体 テキストリスト（3列） */
.p-for-corp__kyodo-list {
    list-style: none;
    padding: 20px;
    columns: 3;
    column-gap: 40px;
    /*max-width: 700px;*/
    /*margin: auto;*/
}

@media screen and (min-width: 900px) {
    .p-for-corp__kyodo-list {
        margin-left: clamp(30px, 20vw, 89px);
    }
}

.p-for-corp__kyodo-list li {
    font-size: clamp(1.4rem, 1.7vw, 1.6rem);
    line-height: 1;
    padding: 10px 0;
    break-inside: avoid;
    color: #333;
}

@media screen and (max-width: 640px) {
    .p-for-corp__kyodo-list {
        columns: 2;
        column-gap: 20px;
    }

    .p-for-corp__kyodo-list li {
        font-size: 1.4rem;
    }
}


/* ======================================================
   右側のボタンに隠れる対策
====================================================== */
@media screen and (min-width: 640px) and (max-width: 1224px) {
    .p-for-corp__hero {
        padding-right: 70px;
    }
}