/*
*
* Archive
*
*/
/* Archive Header */
.ProjectArchive{padding:64px 0}
.ProjectArchive__inner{width:min(100% - 32px,1200px);margin:0 auto}
.ProjectArchive__header{margin:0 0 48px;text-align:center}
.ProjectArchive__badge{display:inline-block;margin:0 0 10px;padding:6px 14px;border-radius:999px;background:rgba(112,189,84,.12);color:#14301a;font-size:12px;font-weight:500;letter-spacing:.12em}
.ProjectArchive__title{position:relative;display:inline-block;margin:0;font-size:32px;line-height:1.4;font-weight:500}
.ProjectArchive__title::after{content:"";position:absolute;left:50%;bottom:-8px;width:120px;height:3px;transform:translateX(-50%);background:linear-gradient(90deg,#70bd54,#049ea4);border-radius:2px}
.ProjectArchive__lead{max-width:720px;margin:20px auto 0;font-size:16px;line-height:2;color:rgba(20,48,26,.82)}
.ProjectArchive__points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 0}
.ProjectArchive__point{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;background:rgba(112,189,84,.12);color:#14301a;font-size:14px;font-weight:500}

/* Archive Grid */
.ProjectArchive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ProjectArchive__pagination{margin:32px 0 0}
.ProjectArchive__empty{margin:0}
.ProjectCard{background:#fff;border:1px solid rgba(20,48,26,.10);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(20,48,26,.06);transition:transform .25s ease,box-shadow .25s ease}
.ProjectCard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,48,26,.10)}
.ProjectCard__link{display:block;color:inherit;text-decoration:none}
.ProjectCard__thumb{aspect-ratio:4/3;overflow:hidden;background:rgba(20,48,26,.04)}
.ProjectCard__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ProjectCard:hover .ProjectCard__thumb img{transform:scale(1.04)}
.ProjectCard__body{padding:20px}
.ProjectCard__title{margin:0 0 12px;font-size:20px;line-height:1.6}
.ProjectCard__excerpt{margin:0;font-size:14px;line-height:1.8;color:rgba(20,48,26,.82)}

/* =====================
   Single Layout
===================== */
.ProjectSingle{padding:0}
.ProjectSingle__article{width:100%;margin:0}

/* =====================
   Hero
===================== */
.ProjectSingleHero{position:relative;height:85vh;min-height:640px;background-size:cover;background-position:center}
.ProjectSingleHero__overlay{position:absolute;inset:0;display:flex;align-items:center;}
.ProjectSingleHero__panel{width:min(100% - 48px,540px);margin-left:2vw;padding:32px;border-radius:24px;background:rgba(255,255,255,.6);box-shadow:0 24px 60px rgba(20,48,26,.15);backdrop-filter:blur(10px)}
.ProjectSingleHero__badge{margin:0 0 8px;font-size:12px;letter-spacing:.12em}
.ProjectSingleHero__title{margin:0 0 16px;font-size:32px;line-height:1.4}
.ProjectSectionTitle{position:relative;display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0 0 0 40px;font-size:20px;line-height:1.6;font-weight:500}
.ProjectSectionTitle::before{content:"";position:absolute;left:0;top:50%;width:28px;height:28px;transform:translateY(-50%);background-position:center;background-repeat:no-repeat;background-size:contain}
.ProjectSectionTitle--problem::before{background-image:url("../../img/public/icon-problem.webp")}
.ProjectSectionTitle--solution::before{background-image:url("../../img/public/icon-solution.webp")}
.ProjectSectionTitle--map::before{background-image:url("../../img/public/icon-map.webp")}
.ProjectSectionTitle--calendar::before{background-image:url("../../img/public/icon-calender.webp")}
.ProjectSingleHero__content{font-size:15px;line-height:1.9}

/* =====================
   Gallery（全幅アルバム）
===================== */
/* Gallery Full */
.ProjectGalleryFull{display:block;width:100%;margin:0;padding:0;overflow:hidden;background:none}
.ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery,.ProjectGalleryFull .ProjectGallery--instagram-grid.is-layout-flex,.ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery-is-layout-flex{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:0 !important;width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;align-items:stretch !important;justify-content:stretch !important}
.ProjectGalleryFull .ProjectGallery--instagram-grid > figure.wp-block-image{display:block !important;width:100% !important;max-width:none !important;height:auto !important;margin:0 !important;padding:0 !important;min-width:0 !important;aspect-ratio:1/1;overflow:hidden}
.ProjectGalleryFull .ProjectGallery--instagram-grid > figure.wp-block-image a{display:block;width:100%;height:100%}
.ProjectGalleryFull .ProjectGallery--instagram-grid > figure.wp-block-image img{display:block !important;width:100% !important;height:100% !important;max-width:none !important;aspect-ratio:1/1;object-fit:cover;border:0;border-radius:0;box-shadow:none;background:none}
.ProjectGalleryFull .ProjectGallery--instagram-grid a:hover img,.ProjectGalleryFull .ProjectGallery--instagram-grid img:hover{filter:brightness(.94);transform:none;box-shadow:none}
@media (max-width:767px){.ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery,.ProjectGalleryFull .ProjectGallery--instagram-grid.is-layout-flex,.ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery-is-layout-flex{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 !important}}

/* =====================
   Navigation
===================== */
.ProjectSingle__nav{width:min(100% - 32px,960px);display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:48px auto 64px}
.ProjectSingle__navPrev{text-align:left}
.ProjectSingle__navArchive{text-align:center}
.ProjectSingle__navNext{text-align:right}
.ProjectSingle__nav a{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;border:1px solid rgba(20,48,26,.16);background:#fff;text-decoration:none}

/* =====================
   CTA（完全独立）
===================== */
.ProjectCta{min-height:70vh;padding:80px 0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.ProjectCta__inner{width:min(100% - 32px,960px);background:rgba(255,255,255,.85);padding:40px;border-radius:24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.ProjectCta__lead{margin:0 0 8px;font-size:14px}
.ProjectCta__title{margin:0 0 16px;font-size:28px}
.ProjectCta__text{margin:0 0 24px;font-size:16px;line-height:1.9}
.ProjectCta__actions{display:flex;gap:12px;justify-content:center}
.ProjectCta__btn{padding:14px 24px;border-radius:999px;text-decoration:none}
.ProjectCta__btn--tel{background:#14301a;color:#fff}
.ProjectCta__btn--form{background:#fff;border:1px solid rgba(20,48,26,.2)}

/* =====================
   Responsive
===================== */
@media (max-width:767px){
.ProjectSingleHero{height:auto;min-height:65vh}
.ProjectSingleHero__overlay{position:relative;padding:80px 0}
.ProjectSingleHero__panel{margin:0 auto;padding:24px}
.ProjectGalleryFull .ProjectGallery--instagram-grid{grid-template-columns:repeat(2,1fr)}
.ProjectCta{padding:48px 0}
.ProjectCta__actions{flex-direction:column}
.ProjectCta__btn{width:100%}
}
/*
*
* Responsive
*
*/
@media (max-width:1023px){
    .ProjectArchive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ProjectSingleHero__panel{margin-left:32px}
}
@media (max-width:767px){
    .ProjectArchive{padding:48px 0}
    .ProjectArchive__title{font-size:26px}
    .ProjectArchive__lead{font-size:15px;line-height:1.9}
    .ProjectArchive__grid{grid-template-columns:1fr;gap:20px}
    .ProjectSingleHero{height:auto;min-height:70vh}
    .ProjectSingleHero__overlay{position:relative;min-height:60vh;padding:80px 0;}
    .ProjectSingleHero__panel{width:min(100% - 32px,520px);margin:0 auto;padding:24px}
    .ProjectSingleHero__title{font-size:26px}
    .ProjectSingleHero__content{font-size:14px}
    .ProjectMetaColumns,.ProjectIssueSolutionColumns{margin:24px 0}
    .ProjectMetaColumns__col,.ProjectIssueSolutionColumns__col{padding:0}
    .ProjectSectionTitle{padding-left:36px;font-size:18px}
    .ProjectSectionTitle::before{width:24px;height:24px}
    .ProjectGallery--instagram-grid.wp-block-gallery,.ProjectGallery--instagram-grid.is-layout-flex,.ProjectGallery--instagram-grid.wp-block-gallery-is-layout-flex{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px !important}
    .ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery,.ProjectGalleryFull .ProjectGallery--instagram-grid.is-layout-flex,.ProjectGalleryFull .ProjectGallery--instagram-grid.wp-block-gallery-is-layout-flex{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 !important}
    .ProjectSingle__nav{grid-template-columns:1fr;gap:12px;margin:40px auto 56px}
    .ProjectSingle__navPrev,.ProjectSingle__navArchive,.ProjectSingle__navNext{text-align:left}
    .ProjectSingle__nav a{width:100%;justify-content:flex-start}
    .ContentBlockFull{padding:48px 0;height:auto;min-height:60vh}
    .ContentBlock--cta{padding:28px}
    .ContentBlock__title{font-size:22px}
    .ContentBlock__actions{flex-direction:column}
    .ContentBlock__btn{width:100%}
}