@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

:root{--green-dark:#2a5c35;--green-mid:#3a7d44;--green-light:#e8f5e9;--brown-light:#f5ede3;--gold:#c8952a;--text:#1a1a1a;--muted:#555;--border:#ddd;--white:#ffffff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Hiragino Sans','Meiryo','Yu Gothic',sans-serif;color:var(--text);line-height:1.7;font-size:16px}
nav{position:fixed;top:0;left:0;right:0;background:rgba(42,92,53,0.97);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:64px}
.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.nav-logo-svg{height:44px;width:auto;filter:brightness(0) invert(1)}
.nav-logo-text{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.06em;line-height:1.3;opacity:.92}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{color:rgba(255,255,255,0.88);text-decoration:none;font-size:.88rem;transition:color .2s}
.nav-links a:hover{color:var(--gold)}
.hero{min-height:100vh;background:linear-gradient(rgba(0,0,0,0.52),rgba(0,0,0,0.44)),url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?w=1600&q=80') center/cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 5% 80px;color:#fff}
.hero-badge{display:inline-block;background:var(--gold);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.1em;padding:5px 18px;border-radius:20px;margin-bottom:1.4rem;text-transform:uppercase}
.hero h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:900;line-height:1.18;margin-bottom:1rem;letter-spacing:-.01em}
.hero h1 span{color:var(--gold)}
.hero p{font-size:clamp(1rem,2vw,1.2rem);max-width:640px;margin:0 auto 2.4rem;opacity:.9}
.hero-meta{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;font-size:.82rem;opacity:.82;margin-bottom:2.8rem;letter-spacing:.04em}
.hero-meta span::before{content:'✦ ';color:var(--gold)}
.btn{display:inline-block;padding:14px 38px;border-radius:4px;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .2s;letter-spacing:.04em}
.btn-primary{background:var(--gold);color:#fff;border:2px solid var(--gold)}
.btn-primary:hover{background:#b07820;border-color:#b07820}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.7);margin-left:1rem}
.btn-outline:hover{background:rgba(255,255,255,0.12)}
section{padding:100px 5%}
.section-label{font-size:.78rem;letter-spacing:.2em;color:var(--green-mid);text-transform:uppercase;font-weight:700;margin-bottom:.6rem}
.section-title{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;line-height:1.25;margin-bottom:1rem}
.section-sub{color:var(--muted);max-width:600px;font-size:.97rem}
.section-header{margin-bottom:3.5rem}
.center{text-align:center}
.center .section-sub{margin:0 auto}
#about{background:var(--white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1100px;margin:0 auto}
.about-img-wrap{border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.14)}
.about-img-wrap img{width:100%;display:block}
.about-content p{color:var(--muted);margin-bottom:1.2rem;font-size:.97rem}
.about-spec{display:flex;gap:1.2rem;margin-top:2rem;flex-wrap:wrap}
.spec-chip{background:var(--green-light);color:var(--green-dark);font-size:.82rem;font-weight:700;padding:6px 16px;border-radius:20px;letter-spacing:.03em}
#compare{background:var(--brown-light)}
.compare-wrap{max-width:860px;margin:0 auto}
.compare-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,0.08);font-size:.95rem}
.compare-table thead tr{background:var(--green-dark);color:#fff}
.compare-table th{padding:16px 20px;text-align:center;font-weight:700;letter-spacing:.06em;font-size:.9rem}
.compare-table th:first-child{text-align:left}
.compare-table td{padding:14px 20px;border-bottom:1px solid var(--border);text-align:center}
.compare-table td:first-child{text-align:left;font-weight:600}
.compare-table tr:last-child td{border-bottom:none}
.compare-table tr:nth-child(even) td{background:#fafafa}
.good{color:var(--green-mid);font-weight:700}
.bad{color:#c0392b;font-weight:700}
.mid{color:var(--gold);font-weight:700}
#performance{background:var(--green-dark);color:#fff}
#performance .section-label{color:var(--gold)}
#performance .section-title{color:#fff}
#performance .section-sub{color:rgba(255,255,255,0.72)}
.perf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.perf-card{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:28px 24px;transition:background .2s}
.perf-card:hover{background:rgba(255,255,255,0.12)}
.perf-icon,.usecase-icon{width:36px;height:36px;flex-shrink:0}
.perf-icon{margin-bottom:.8rem}
.perf-icon svg,.usecase-icon svg{width:36px;height:36px}
.perf-value{font-size:2rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:.2rem}
.perf-unit{font-size:.78rem;color:rgba(255,255,255,0.56);margin-bottom:.6rem;letter-spacing:.06em}
.perf-name{font-size:.95rem;font-weight:700;margin-bottom:.5rem}
.perf-desc{font-size:.82rem;color:rgba(255,255,255,0.68);line-height:1.6}
#usecases{background:#fff}
.usecase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.usecase-card{background:var(--green-light);border-radius:12px;padding:28px 24px;display:flex;align-items:flex-start;gap:1rem}
.usecase-icon{margin-top:2px}
.usecase-card h3{font-size:1rem;font-weight:700;margin-bottom:.3rem;color:var(--green-dark)}
.usecase-card p{font-size:.85rem;color:var(--muted)}
#certs{background:var(--brown-light)}
.certs-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:0 auto}
.cert-card{background:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,0.07)}
.cert-card.fire{border-left:5px solid #c0392b}
.cert-card.intertek{border-left:5px solid var(--green-mid)}
.cert-title{font-size:1.05rem;font-weight:800;margin-bottom:.8rem;color:var(--text)}
.cert-value{font-size:1.6rem;font-weight:900;color:var(--green-dark);margin-bottom:.3rem}
.cert-card p{font-size:.88rem;color:var(--muted);margin-bottom:.4rem}
.cert-tag{display:inline-block;background:var(--green-light);color:var(--green-dark);font-size:.78rem;font-weight:700;padding:3px 12px;border-radius:12px;margin:2px}
#company{background:#fff}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1050px;margin:0 auto}
.strategy-steps{list-style:none;margin-top:1.5rem}
.strategy-steps li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}
.step-num{background:var(--green-dark);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0;margin-top:2px}
.step-body h4{font-size:.95rem;font-weight:700;margin-bottom:.2rem}
.step-body p{font-size:.85rem;color:var(--muted)}
.strength-list{list-style:none;margin-top:1.5rem}
.strength-list li{padding:10px 0;border-bottom:1px solid var(--border);font-size:.92rem;display:flex;align-items:center;gap:.7rem;color:var(--muted)}
.strength-list li::before{content:'✓';color:var(--green-mid);font-weight:800;font-size:1rem}
.strength-list li:last-child{border-bottom:none}
#contact{background:var(--green-dark);color:#fff;text-align:center}
#contact .section-title{color:#fff}
#contact .section-sub{color:rgba(255,255,255,0.75);margin:0 auto 3rem}
.contact-cards{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;max-width:900px;margin:0 auto 3rem}
.contact-card{background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.15);border-radius:12px;padding:28px 36px;min-width:200px;flex:1}
.contact-card-icon{width:32px;height:32px;margin:0 auto .6rem}
.contact-card-icon svg{width:32px;height:32px}
.contact-card-label{font-size:.78rem;letter-spacing:.14em;opacity:.65;margin-bottom:.4rem;text-transform:uppercase}
.contact-card-value{font-size:1rem;font-weight:700;word-break:break-all}
.contact-card-value a{color:var(--gold);text-decoration:none}
.contact-card-value a:hover{text-decoration:underline}
.contact-note{font-size:.85rem;color:rgba(255,255,255,0.6);margin-top:.5rem}
.contact-card.insta{display:flex;flex-direction:column;align-items:center}
.insta-qr{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:8px;padding:6px;margin-bottom:.6rem}
footer{background:#111;color:rgba(255,255,255,0.45);text-align:center;padding:24px 5%;font-size:.82rem}
footer strong{color:rgba(255,255,255,0.7)}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:1100}
.nav-hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(30,70,38,0.98);backdrop-filter:blur(12px);z-index:999;padding:1.5rem 5% 2rem;flex-direction:column;gap:0}
.mobile-menu.open{display:flex}
.mobile-menu a{color:rgba(255,255,255,0.9);text-decoration:none;font-size:1.05rem;font-weight:600;letter-spacing:.04em;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.1);transition:color .2s}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a:hover{color:var(--gold)}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.about-grid,.company-grid{grid-template-columns:1fr;gap:2.5rem}.perf-grid{grid-template-columns:1fr 1fr}.usecase-grid{grid-template-columns:1fr 1fr}.certs-grid{grid-template-columns:1fr}}
@media(max-width:600px){nav{padding:0 4%}.nav-links{display:none}.nav-hamburger{display:flex}.nav-logo-svg{height:36px}section{padding:70px 5%}.hero{padding:100px 5% 60px}.hero-meta span{display:block}.btn-outline{margin-left:0;margin-top:.8rem;display:block}.perf-grid{grid-template-columns:1fr;gap:1rem}.usecase-grid{grid-template-columns:1fr}.contact-cards{flex-direction:column;gap:1rem}.contact-card{min-width:unset;padding:22px 24px}.insta-qr{width:130px;height:130px}.certs-grid{grid-template-columns:1fr}.company-grid{grid-template-columns:1fr;gap:2rem}}
#main,.main,#content,.content{max-width:100%!important;padding:0!important;margin:0!important;width:100%!important}
.entry-content{padding:0!important;margin:0!important;max-width:100%!important}
.entry-title,.page-title,h1.entry-title{display:none!important}
.breadcrumb,#breadcrumb,.cocoon-breadcrumb{display:none!important}
#wrapper{padding-top:0!important}
.article{padding:0!important;margin:0!important}

/* === Cocoon layout overrides === */
.content-in,.content-in.wrap,#content-in{max-width:100%!important;width:100%!important;padding:0!important;}
#header,.header,.header.cf,.header-container,.header-container-in{display:none!important;}
#navi,.navi.cf{display:none!important;}
#footer,.footer,.footer-container,.footer-wrap{display:none!important;}
#navi-footer,.navi-footer{display:none!important;}
nav:not(#navi):not(#navi-footer){width:100%!important;left:0!important;box-sizing:border-box!important;}

/* === Text contrast fixes === */
.contact-card-label{opacity:1!important;color:rgba(255,255,255,0.95)!important;}
.contact-note{color:rgba(255,255,255,0.9)!important;}
.perf-desc{color:rgba(255,255,255,0.95)!important;}
.perf-unit{color:rgba(255,255,255,0.92)!important;}
.section-sub{color:rgba(255,255,255,0.9)!important;}
#performance .section-sub{color:rgba(255,255,255,0.95)!important;}
/* === TOC collapsed by default === */
.toc-content{display:none;}
.toc-checkbox:checked~.toc-content{display:block;}

/* === Company vision block === */
.company-vision{text-align:center;padding:2.5rem 1.5rem 2rem;max-width:760px;margin:0 auto 2.5rem;}
.vision-text{font-size:1.45rem;font-weight:800;color:var(--green-dark,#1a4a2e);line-height:1.5;margin-bottom:1.2rem;letter-spacing:0.02em;}
.vision-body{font-size:0.97rem;color:#444;line-height:1.9;font-weight:400;}

/* === Compare table header fix === */
.compare-table th{background:transparent!important;color:#fff!important;}
.compare-table td{background:transparent!important;}

/* === Section title background fix (Cocoon h2 override) === */
.section-title{background:transparent!important;padding:0!important;}
/* === Section-sub color fix for light-background sections === */
#compare .section-sub,#certs .section-sub,#usecases .section-sub,#about .section-sub{color:rgba(50,50,50,0.85)!important;}

/* === Compare table text alignment === */
.compare-table td,.compare-table th{text-align:left!important;}
