/* =========================================================
   GOOD LIFE フェア 2026
   オーガニック＆ナチュラルエリア Supported by BIOFACH
   2026-09-18 update
   ========================================================= */

.organic2026{
    --organic-green:#237346;
    --organic-green-dark:#174d32;
    --organic-green-light:#eaf5ed;
    --organic-mint:#f4faf5;
    --organic-gold:#c49a38;
    --organic-text:#292f2b;
    --organic-muted:#68716b;
    --organic-line:#d9e8dc;
    --organic-white:#fff;
    color:var(--organic-text);
}

.organic2026 img{max-width:100%;height:auto}

.organic2026-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(48px,7vw,94px) 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(202,228,205,.9) 0, rgba(202,228,205,0) 25%),
        radial-gradient(circle at 94% 80%, rgba(231,241,218,.9) 0, rgba(231,241,218,0) 28%),
        linear-gradient(135deg,#fbfdf8 0%,#f1f8ef 58%,#e6f3e8 100%);
}
.organic2026-hero-inner{
    position:relative;
    min-height:410px;
    display:flex;
    align-items:center;
    padding:clamp(30px,5vw,62px);
    border:1px solid rgba(35,115,70,.15);
    border-radius:26px;
    background:rgba(255,255,255,.72);
    box-shadow:0 18px 60px rgba(23,77,50,.08);
    backdrop-filter:blur(4px);
}
.organic2026-hero-copy{
    position:relative;
    z-index:2;
    width:min(760px,72%);
}
.organic2026-kicker{
    margin:0 0 18px;
    color:var(--organic-green);
    font-size:clamp(.9rem,.82rem + .25vw,1.06rem);
    font-weight:700;
    letter-spacing:.07em;
}
.organic2026-title{
    margin:0;
    color:var(--organic-green-dark);
    font-size:clamp(2.15rem,1.3rem + 3.2vw,4.6rem);
    line-height:1.02;
    letter-spacing:-.035em;
}
.organic2026-title span:last-child{color:var(--organic-green)}
.organic2026-supported{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:22px;
    color:#6b746e;
    font-size:.88rem;
    font-weight:700;
}
.organic2026-supported img{width:145px}
.organic2026-hero-lead{
    max-width:680px;
    margin:26px 0 0;
    font-size:clamp(1.02rem,.96rem + .2vw,1.16rem);
    font-weight:700;
    line-height:1.9;
}
.organic2026-biofach-note{
    max-width:720px;
    margin:15px 0 0;
    color:#68716b;
    font-size:.88rem;
    line-height:1.75;
}
.organic2026-hero-decoration{
    position:absolute;
    inset:0;
    pointer-events:none;
}
.organic2026-circle{
    position:absolute;
    right:-80px;
    top:-80px;
    width:330px;
    height:330px;
    border:52px solid rgba(35,115,70,.055);
    border-radius:50%;
}
.organic2026-leaf{
    position:absolute;
    display:block;
    width:92px;
    height:42px;
    border-radius:100% 0 100% 0;
    background:linear-gradient(135deg,rgba(35,115,70,.15),rgba(35,115,70,.04));
    transform:rotate(-28deg);
}
.organic2026-leaf-1{right:11%;top:30%;width:150px;height:62px}
.organic2026-leaf-2{right:5%;top:49%;transform:rotate(22deg)}
.organic2026-leaf-3{right:19%;bottom:9%;transform:rotate(12deg);width:125px;height:50px}

.organic2026-section{
    padding:clamp(58px,7vw,96px) 0;
}
.organic2026-section-alt{
    background:var(--organic-mint);
}
.organic2026-heading{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:22px;
    align-items:start;
    margin-bottom:28px;
}
.organic2026-heading-no{
    display:flex;
    align-items:center;
    justify-content:center;
    width:66px;
    height:66px;
    border-radius:50%;
    color:#fff;
    background:var(--organic-green);
    font-size:1.25rem;
    font-weight:800;
    letter-spacing:.05em;
}
.organic2026-heading-en{
    margin:1px 0 4px;
    color:var(--organic-gold);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
}
.organic2026-heading h2{
    margin:0;
    color:var(--organic-green-dark);
    font-size:clamp(1.55rem,1.3rem + 1vw,2.25rem);
    line-height:1.45;
}
.organic2026-lead{
    margin:0 0 32px 94px;
    max-width:940px;
    font-size:1.02rem;
    line-height:1.95;
}

/* signs */
.organic2026-sign-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    max-width:980px;
    margin:35px auto 0;
}
.organic2026-sign-card{
    margin:0;
    padding:16px;
    border:1px solid var(--organic-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 38px rgba(23,77,50,.06);
}
.organic2026-sign-card img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
    background:#fff;
}
.organic2026-sign-caption{
    max-width:900px;
    margin:14px auto 0;
    text-align:center;
    color:var(--organic-muted);
    font-size:.9rem;
}

.organic2026-stage-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin:42px 0 18px;
    padding-bottom:13px;
    border-bottom:2px solid var(--organic-green);
}
.organic2026-stage-title h3{
    margin:3px 0 0;
    color:var(--organic-green-dark);
    font-size:1.45rem;
}
.organic2026-stage-title>p{
    margin:0;
    color:var(--organic-muted);
    font-weight:700;
}
.organic2026-stage-label{
    color:var(--organic-gold);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.13em;
}
.organic2026-stage-title-green{margin-top:50px}

.organic2026-program-card{
    overflow:hidden;
    border:1px solid var(--organic-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 44px rgba(23,77,50,.07);
}
.organic2026-program-date{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:16px 22px;
    background:var(--organic-green-dark);
    color:#fff;
}
.organic2026-date-day{
    font-size:1.7rem;
    font-weight:800;
    line-height:1;
}
.organic2026-date-meta{font-weight:700}
.organic2026-place{
    margin-left:auto;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.15);
    font-size:.82rem;
    font-weight:700;
}
.organic2026-program-body{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:30px;
    padding:28px;
}
.organic2026-speakers{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
.organic2026-speakers img{
    display:block;
    width:100%;
    aspect-ratio:1/1.04;
    object-fit:cover;
    border-radius:11px;
}
.organic2026-program-copy h3{
    margin:9px 0 14px;
    color:var(--organic-green-dark);
    font-size:clamp(1.25rem,1.08rem + .45vw,1.55rem);
    line-height:1.5;
}
.organic2026-program-copy p{line-height:1.9}
.organic2026-business-tag{
    display:inline-block;
    margin:0;
    padding:7px 12px;
    border-radius:999px;
    background:#fff2d6;
    color:#805c16;
    font-size:.82rem;
    font-weight:800;
}
.organic2026-cast{
    padding:14px 16px;
    background:#fbf8ef;
}
.organic2026-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:8px;
    padding:13px 23px;
    border-radius:999px;
    background:var(--organic-green);
    color:#fff !important;
    font-weight:800;
    text-decoration:none !important;
    transition:.2s ease;
}
.organic2026-button:hover{
    background:var(--organic-green-dark);
    transform:translateY(-1px);
}
.organic2026-program-copy > .organic2026-button{
    display:flex;
    width:fit-content;
    margin:28px auto 0;
}
.organic2026-button-outline{
    border:1px solid var(--organic-green);
    background:#fff;
    color:var(--organic-green) !important;
}
.organic2026-button-outline:hover{color:#fff !important}

.organic2026-copy-box{
    padding:24px 28px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.045);
}
.organic2026-copy-box p{
    margin:0;
    line-height:1.95;
}
.organic2026-copy-box p + p{margin-top:12px}
.organic2026-copy-box-seminar{margin-bottom:22px}

.organic2026-schedule-wrap{
    overflow:hidden;
    padding:18px;
    border:1px solid var(--organic-line);
    border-radius:16px;
    background:#fff;
}
.organic2026-schedule-wrap img{
    display:block;
    width:100%;
}
.organic2026-schedule-note{
    margin:15px 0 0;
    color:var(--organic-muted);
    font-size:.88rem;
    text-align:center;
}
.organic2026-center{text-align:center}

/* info cards */
.organic2026-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:38px;
}
.organic2026-info-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.organic2026-info-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--organic-line);
    border-radius:17px;
    background:#fff;
    box-shadow:0 12px 34px rgba(23,77,50,.055);
}
.organic2026-info-card>img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.organic2026-info-card-body{
    padding:22px;
}
.organic2026-info-card-body-text{padding:24px 24px 26px}
.organic2026-info-card h3{
    margin:5px 0 13px;
    color:var(--organic-green-dark);
    font-size:1.18rem;
    line-height:1.55;
}
.organic2026-info-card p{
    margin:9px 0 0;
    line-height:1.8;
}
.organic2026-info-card-text{
    background:linear-gradient(145deg,#f9fdf9,#eef7f0);
}
.organic2026-card-eyebrow{
    color:var(--organic-green);
    font-size:.83rem;
    font-weight:800;
    letter-spacing:.06em;
}
.organic2026-small{
    color:var(--organic-muted);
    font-size:.82rem;
}
.organic2026-price{
    color:#b2552b;
    font-size:1.22rem;
    font-weight:900;
}
.organic2026-cert-marks{
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid var(--organic-line);
}
.organic2026-cert-marks img{display:block}
.organic2026-trend-list{
    margin:14px 0 0;
    padding:16px 18px 16px 30px;
    border-radius:12px;
    background:#fff;
}
.organic2026-trend-list li{
    margin:0;
    line-height:1.75;
}

@media(max-width:900px){
    .organic2026-hero-copy{width:82%}
    .organic2026-sign-grid,
    .organic2026-info-grid-4{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
    .organic2026-hero{padding:22px 0 36px}
    .organic2026-hero-inner{
        min-height:0;
        padding:28px 22px 34px;
        border-radius:18px;
    }
    .organic2026-hero-copy{width:100%}
    .organic2026-hero-decoration{opacity:.55}
    .organic2026-circle{right:-170px;top:-110px}
    .organic2026-leaf{display:none}
    .organic2026-title{font-size:clamp(2rem,10vw,3rem)}
    .organic2026-supported{margin-top:18px}
    .organic2026-supported img{width:120px}
    .organic2026-biofach-note br{display:none}

    .organic2026-section{padding:48px 0}
    .organic2026-heading{
        grid-template-columns:52px 1fr;
        gap:14px;
        margin-bottom:20px;
    }
    .organic2026-heading-no{
        width:48px;
        height:48px;
        font-size:.95rem;
    }
    .organic2026-heading h2{font-size:1.4rem}
    .organic2026-lead{
        margin-left:0;
        font-size:.96rem;
    }

    .organic2026-sign-grid{grid-template-columns:1fr;gap:16px}
    .organic2026-sign-card{padding:12px;border-radius:12px}

    .organic2026-stage-title{
        display:block;
        margin-top:34px;
    }
    .organic2026-stage-title>p{margin-top:7px}
    .organic2026-program-date{padding:14px 16px}
    .organic2026-place{
        width:100%;
        margin-left:0;
    }
    .organic2026-program-body{
        grid-template-columns:1fr;
        gap:20px;
        padding:20px;
    }
    .organic2026-speakers{grid-template-columns:1fr 1fr}
    .organic2026-copy-box{padding:18px}

    .organic2026-schedule-wrap{
        overflow-x:auto;
        padding:10px;
    }
    .organic2026-schedule-wrap img{
        min-width:980px;
        max-width:none;
    }

    .organic2026-info-grid-4{grid-template-columns:1fr}
    .organic2026-info-card>img{height:190px}
}

/* 見どころ③：カード内の01/02/03/04番号は非表示 */
.organic2026-info-grid .organic2026-card-no{display:none}


/* 低解像度画像未使用時のテキストカード調整 */
.organic2026-info-card-plain{
    display:flex;
    min-height:100%;
}
.organic2026-info-card-plain .organic2026-info-card-body{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    width:100%;
}
.organic2026-info-card-plain .organic2026-price{
    margin-top:12px;
}
.organic2026-info-card-plain h3{
    margin-bottom:14px;
}
