/* ================================================
   Chikuwa Portfolio main.css - updated
   ================================================ */

*,*::before,*::after{box-sizing:border-box;}
html,body{background-color:#f9f9f9!important;--global--color-background:#f9f9f9!important;margin:0!important;padding:0!important;}
body{color:var(--ck-black);font-family:'Noto Sans JP','Roboto',sans-serif;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex!important;flex-direction:column;}
.site{background-color:#f9f9f9!important;max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;overflow-x:hidden;flex:1 0 auto;display:flex!important;flex-direction:column;}
.site-content,#primary,.works-archive{flex:1 0 auto;}
.site-content,.entry-content,.wp-block-group{max-width:none!important;padding:0!important;margin:0!important;}
img{max-width:100%;height:auto;display:block;}
.work-card__thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}

/* 2. ヘッダー */
#masthead.site-header,.site-header{position:sticky;top:0;z-index:100;background-color:rgba(156,165,223,1)!important;border-bottom:none!important;box-shadow:none!important;width:100%!important;max-width:none!important;left:0!important;right:0!important;margin-left:0!important;margin-right:0!important;height:70px;padding:17px 42px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;flex-shrink:0;}
#masthead.site-header::before,#masthead.site-header::after{display:none!important;content:none!important;}
#masthead.site-header>*,#masthead.site-header .wp-block-group,#masthead.site-header [class*="inner-container"]{max-width:none!important;margin-left:0!important;margin-right:0!important;}
a.site-branding,.site-branding{display:flex!important;align-items:center!important;gap:8px;flex:0 0 auto;text-decoration:none;padding:0!important;margin:0!important;line-height:1;}
.site-branding img,.site-branding .custom-logo,#masthead .site-branding img,#masthead .site-branding .custom-logo,body.single #masthead .site-branding img,body.single .site-branding img{display:block!important;height:36px!important;width:auto!important;max-width:none!important;vertical-align:middle;}
.site-branding .site-title{font-family:'Roboto',sans-serif;font-weight:700;font-size:18px;color:#333!important;text-decoration:none;margin:0;}
.site-branding .site-description{display:none;}
#site-navigation.primary-navigation{display:flex;align-items:center;background:none!important;border:none!important;padding:0!important;margin:0!important;}
#site-navigation .menu-toggle{display:none;}
#site-navigation ul,#site-navigation ul.menu{display:flex!important;align-items:center;gap:48px;list-style:none;margin:0;padding:0;background:none;}
#site-navigation ul li{margin:0;padding:0;}
#site-navigation ul li a{font-family:'Roboto',sans-serif;font-weight:400;font-size:16px;text-decoration:none;color:#333!important;transition:opacity 0.2s;padding:0;background:none!important;}
#site-navigation ul li a:hover{opacity:0.7;text-decoration:none;}
#site-navigation ul li.menu-item-contact-me>a,#site-navigation ul li.btn-contact>a{font-family:'Roboto',sans-serif;font-weight:400;font-size:16px;background-color:#ffec00!important;color:#333!important;padding:13px 26px!important;letter-spacing:0.04em;border-radius:100px!important;transition:opacity 0.2s;}
#site-navigation ul li.menu-item-contact-me>a:hover,#site-navigation ul li.btn-contact>a:hover{opacity:0.85;}
@media(max-width:768px){#masthead.site-header,.site-header{padding:0 20px!important;height:60px;}#site-navigation .menu-toggle{display:block;background:none;border:none;color:#333;font-size:22px;cursor:pointer;padding:0;}#site-navigation ul.menu{display:none!important;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:rgba(156,165,223,1);border-bottom:1px solid rgba(0,0,0,0.1);padding:16px 0;gap:0;}#site-navigation.toggled ul.menu{display:flex!important;}#site-navigation ul li a{display:block;padding:12px 24px!important;}#site-navigation ul li.menu-item-contact-me>a,#site-navigation ul li.btn-contact>a{margin:8px 24px;display:inline-block;}}

/* 3. フッター */
#colophon.site-footer,.site-footer{background-color:var(--ck-black)!important;height:80px;display:flex!important;align-items:center;justify-content:center;padding:0!important;border:none!important;flex-shrink:0;margin-top:auto;width:100vw!important;max-width:100vw!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;}
.site-footer .site-info,.site-footer p{font-family:'Roboto',sans-serif;font-size:12px;color:var(--ck-white)!important;text-align:center;margin:0;}
.site-footer a{color:var(--ck-white);text-decoration:none;}

/* 4. 一覧 */
.works-archive{max-width:none!important;padding:0!important;margin:0!important;}
.works-section{padding:80px 70px 120px;max-width:1440px;margin:0 auto;}
.section-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px;}
.section-title{font-family:'Roboto',sans-serif;font-weight:700;font-size:50px;letter-spacing:2.5px;color:var(--ck-black);line-height:1;margin:0;}
.section-title-line{width:60px;height:3px;background-color:var(--ck-blue);}
.filter-tabs{display:flex;gap:12px;margin-bottom:60px;justify-content:center;flex-wrap:wrap;}
.filter-tab{font-family:'Roboto',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.5px;padding:10px 24px;border-radius:100px;border:2px solid var(--ck-blue);background:transparent;color:var(--ck-blue);cursor:pointer;text-decoration:none;display:inline-block;transition:background-color 0.2s,color 0.2s;}
.filter-tab.active,.filter-tab:hover{background-color:var(--ck-blue);color:var(--ck-yellow);text-decoration:none;}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 20px;}
@media(max-width:900px){.works-grid{grid-template-columns:repeat(2,1fr);gap:40px 16px;}}
@media(max-width:600px){.works-grid{grid-template-columns:1fr;gap:32px;}}
.work-card{display:flex;flex-direction:column;gap:12px;text-decoration:none!important;color:inherit!important;}
.work-card__thumb{width:100%;height:263px;border-radius:10px;border:1px solid var(--ck-border);overflow:hidden;background-color:var(--ck-bg);}
.work-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.35s ease;}
.work-card:hover .work-card__thumb img{transform:scale(1.04);}
.work-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.badge-cat{display:inline-block;font-family:'Roboto',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.5px;background-color:var(--ck-yellow);color:var(--ck-blue);padding:5px 10px;border-radius:100px;white-space:nowrap;line-height:1;}
.badge-type{font-family:'Roboto',sans-serif;font-weight:400;font-size:11px;letter-spacing:0.3px;color:var(--ck-muted);white-space:nowrap;}
.work-card__title{font-family:'Inter','Noto Sans JP',sans-serif;font-weight:700;font-size:16px;letter-spacing:0.5px;color:var(--ck-black);line-height:1.4;margin:0;}
@media(max-width:900px){.work-card__thumb{height:220px;}.works-section{padding:60px 32px 80px;}.section-title{font-size:40px;}}
@media(max-width:600px){.work-card__thumb{height:200px;}.works-section{padding:48px 20px 64px;}.section-title{font-size:32px;}}

/* 5. 詳細 */
.work-detail .entry-header,.work-detail .entry-footer,.work-detail .entry-meta{display:none;}
.detail-page{max-width:900px;margin:0 auto;padding:72px 40px 120px;}
.detail-header{text-align:center;margin-bottom:40px;}
.detail-title{font-family:'Noto Sans JP',sans-serif;font-weight:500;font-size:32px;letter-spacing:0.04em;color:var(--ck-black);margin:0 0 16px;line-height:1.3;}
.detail-header .badge-cat{font-size:12px;padding:6px 16px;}
.detail-hero{background-color:var(--ck-bg);border-radius:10px;margin-bottom:56px;display:flex;align-items:center;justify-content:center;padding:48px;overflow:hidden;}
.detail-hero img{max-width:480px;width:100%;height:auto;border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,0.12);}
.detail-lead{font-size:15px;line-height:1.9;color:var(--ck-black);margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--ck-border);}
.detail-section{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--ck-border);}
.detail-section:last-of-type{border-bottom:none;}
.detail-section h2{font-family:'Noto Sans JP',sans-serif;font-weight:500;font-size:20px;letter-spacing:0.04em;color:var(--ck-black);margin:0 0 20px;}
.detail-section p,.detail-section li{font-size:14px;line-height:1.9;color:#333333;}
.detail-specs{display:grid;grid-template-columns:120px 1fr;gap:0;}
.detail-specs dt,.detail-specs dd{font-size:14px;line-height:1.8;padding:10px 0;border-bottom:1px solid var(--ck-border);margin:0;}
.detail-specs dt{font-weight:500;color:var(--ck-muted);padding-right:16px;}
.detail-specs dd{color:var(--ck-black);}
.detail-specs dt:last-of-type,.detail-specs dd:last-of-type{border-bottom:none;}
.tool-tag{display:inline-block;font-family:'Roboto',sans-serif;font-size:12px;letter-spacing:0.4px;border:1px solid var(--ck-border);color:var(--ck-muted);padding:4px 12px;border-radius:100px;margin-right:6px;}
.detail-images{display:flex;flex-direction:column;gap:24px;}
.detail-images img{width:100%;height:auto;border-radius:6px;border:1px solid var(--ck-border);}
.btn-back-wrap{text-align:center;margin-top:56px;padding-top:48px;border-top:1px solid var(--ck-border);}
.btn-back{display:inline-block;font-family:'Roboto',sans-serif;font-weight:700;font-size:14px;letter-spacing:0.5px;background-color:var(--ck-yellow);color:var(--ck-blue)!important;text-decoration:none!important;padding:14px 48px;border-radius:100px;transition:opacity 0.2s;}
.btn-back:hover{opacity:0.85;text-decoration:none!important;}
@media(max-width:768px){.detail-page{padding:48px 20px 80px;}.detail-title{font-size:24px;}.detail-hero{padding:24px;}.detail-specs{grid-template-columns:100px 1fr;}}

/* 6. Closed */
.recruit-gate{max-width:400px;margin:80px auto;text-align:center;padding:0 20px;}
.recruit-gate .post-password-form label{font-size:14px;color:var(--ck-muted);display:block;margin-bottom:12px;}
.recruit-gate .post-password-form input[type="password"]{width:100%;padding:12px 16px;border:1px solid var(--ck-border);border-radius:4px;font-size:15px;margin-bottom:12px;outline:none;}
.recruit-gate .post-password-form input[type="password"]:focus{border-color:var(--ck-blue);}
.recruit-gate .post-password-form input[type="submit"]{font-family:'Roboto',sans-serif;font-weight:700;font-size:14px;background-color:var(--ck-yellow);color:var(--ck-blue);border:none;padding:12px 32px;border-radius:100px;cursor:pointer;letter-spacing:0.04em;transition:opacity 0.2s;width:100%;}
.recruit-gate .post-password-form input[type="submit"]:hover{opacity:0.85;}
.recruit-page{max-width:1440px;margin:0 auto;padding:80px 70px 120px;}
.recruit-page__header{text-align:center;margin-bottom:56px;}
.recruit-page__label{font-family:'Roboto',sans-serif;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ck-muted);margin-bottom:12px;}
.recruit-page__title{font-family:'Roboto',sans-serif;font-weight:700;font-size:40px;letter-spacing:2px;color:var(--ck-black);margin:0 0 16px;}
.recruit-page__desc{font-size:14px;color:var(--ck-muted);}
@media(max-width:768px){.recruit-page{padding:48px 20px 64px;}}

/* 7. ページネーション */
.pagination,.nav-links{display:flex;justify-content:center;gap:8px;padding:48px 0 0;}
.page-numbers{font-family:'Roboto',sans-serif;font-size:14px;font-weight:700;color:var(--ck-blue);text-decoration:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ck-blue);border-radius:100px;transition:background-color 0.2s,color 0.2s;}
.page-numbers.current,.page-numbers:hover{background-color:var(--ck-blue);color:var(--ck-yellow);}
.page-numbers.dots{border:none;color:var(--ck-muted);}