/*
Theme Name: MAGURA Next Prototype
Description: Elementorと親テーマを必要としない移植用試作。
Version: 0.6.4
Requires PHP: 8.3
Text Domain: magura-next
*/
:root{--green:#005f27;--line:#ddd;--ink:#171717}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.8}a{color:inherit}a:hover{color:var(--green)}img{max-width:100%;height:auto}button,input{font:inherit}.wrap{max-width:1200px;margin:auto;padding:24px}.site-header{border-bottom:5px solid var(--green)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:220px}.menu{display:flex;list-style:none;gap:24px;flex-wrap:wrap;padding:0}.menu a{text-decoration:none;font-weight:700}.menu .sub-menu{list-style:none;padding-left:16px}.search-form{display:flex;gap:8px}.search-form input{min-width:0;padding:10px;border:1px solid #aaa}.search-form button,.button{padding:10px 18px;background:var(--green);color:white;border:0}.hero{background:var(--green);color:white}.hero h1{font-size:clamp(30px,5vw,60px);margin:0}.hero .wrap{padding-top:56px;padding-bottom:56px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0}.card{border-bottom:1px solid var(--line);padding-bottom:24px;min-width:0}.card img{width:100%;height:220px;object-fit:contain}.card a{text-decoration:none}.card h2{font-size:18px}.sku{font-size:14px;color:#555}.price{font-weight:700;color:var(--green)}.entry{max-width:900px;margin:auto}.entry h1{line-height:1.4}.entry-content{overflow-wrap:anywhere}.entry-content table{max-width:100%;display:block;overflow-x:auto}.entry-content iframe{max-width:100%}.entry-content .aligncenter{display:block;margin:auto}.crumbs{font-size:13px;padding-bottom:16px}.site-footer{border-top:1px solid var(--line);background:#f4f4f4;margin-top:48px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{position:static;width:auto;height:auto;clip-path:none}.notice{border-left:4px solid var(--green);padding:12px;background:#f2f7f3}.navigation{margin:24px 0}.brand-links{display:flex;gap:20px;flex-wrap:wrap}.brand-links a{padding:16px;border:1px solid var(--line)}@media(max-width:760px){.header-row{flex-direction:column;align-items:flex-start}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:18px}.menu{gap:14px}.card img{height:150px}}@media(max-width:420px){.cards{grid-template-columns:1fr}}

/* Catalog refresh: source brand colours, responsive navigation and product grids. */
:root{--yellow:#fff000;--green:#005f27;--line:#e3e3e3;--ink:#161616}body{background:#fff}.site-header{border:0;background:white}.site-header>.wrap{padding-top:20px;padding-bottom:16px}.logo img{width:180px;display:block}.search-form{margin:0}.search-form input{background:white;border:1px solid #bbb;width:280px;max-width:100%}.search-form button{background:#111;color:#fff;font-weight:700;cursor:pointer}.menu{margin:20px 0 0;gap:28px}.menu a{font-size:15px}.menu a:hover{text-decoration:underline;text-underline-offset:6px;color:#111}.hero{background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.08)),url(assets/main.jpg) center/cover;color:#fff;border-bottom:10px solid var(--yellow)}.hero .wrap{padding-top:55px;padding-bottom:50px}.hero h1{font-size:clamp(44px,6vw,76px);font-weight:900;line-height:1.1;letter-spacing:.03em}.hero h1 span{font-size:clamp(18px,2vw,25px);font-weight:600;letter-spacing:.15em}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:800}.hero-search{background:var(--yellow);padding:15px;max-width:630px;margin-top:28px}.hero-search .search-form{width:100%}.hero-search input{width:100%;flex:1;border:0}.hero-search label{display:flex;flex:1;min-width:0}.home-section{margin:46px 0 60px}.section-title{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px solid #111;gap:20px;padding-bottom:12px;margin-bottom:25px}.section-title h2{margin:0;font-size:26px}.section-title>a,.section-title>span{font-size:13px}.news-list{list-style:none;padding:0}.news-list li{display:grid;grid-template-columns:125px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.news-list time{font-size:13px;color:#626262}.news-list a{text-decoration:none}.product-gateways{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gateway{position:relative;background:#111;color:white;text-decoration:none;overflow:hidden}.gateway>img{display:block;width:100%;height:280px;object-fit:cover;transition:transform .25s}.gateway:hover>img{transform:scale(1.025)}.gateway>span{display:block;background:#111;padding:18px 24px;border-left:7px solid var(--yellow);line-height:1.5}.gateway strong{display:block;font-size:28px;letter-spacing:.05em}.gateway:hover{color:var(--yellow)}.cards{gap:28px}.card{border:1px solid var(--line);padding:18px;background:#fff;transition:border-color .2s}.card:hover{border-color:#222}.card img{height:200px;margin-bottom:10px}.card h2{font-size:16px;line-height:1.7;margin:8px 0}.card .price,.card .sku{margin:6px 0}.image-placeholder{height:200px;display:grid;place-items:center;background:#f6f6f6;color:#aaa;font-weight:900;font-size:25px}.category-cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:60px}.category-cards img{height:140px}.category-count{font-size:12px;color:#666}.section-heading{margin:20px 0 35px}.section-heading h1{font-size:clamp(24px,4vw,38px);margin:0;line-height:1.4}.list-heading{border-bottom:3px solid #111;padding-bottom:10px;font-size:22px}.service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-links a{display:flex;justify-content:space-between;background:#f4f4f4;padding:28px 20px;text-decoration:none;font-weight:700;border-bottom:5px solid var(--yellow)}.other-brands{background:#111;padding:28px;text-align:center;color:white}.other-brands a{text-decoration:none;color:white}.entry{padding-top:35px}.entry-content{line-height:1.95}.entry-content #pan,.entry-content .brn_banner{display:none}.entry-content details{border:1px solid var(--line);margin:12px 0;padding:16px 20px}.entry-content details[open]{border-left:4px solid var(--green)}.entry-content summary{cursor:pointer;font-weight:700;line-height:1.7}.entry-content details[open] summary{margin-bottom:20px}.entry-content h2{margin-top:38px}.crumbs{overflow-wrap:anywhere}.site-footer{background:#151515;color:white;border-top:7px solid var(--yellow);margin-top:65px}.footer-grid{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:24px 0}.footer-grid strong{font-size:25px}.footer-grid p{font-size:13px;color:#bbb}.site-footer .menu{margin:0;gap:18px}.site-footer a:hover{color:var(--yellow)}.footer-links{display:flex;gap:20px;margin:15px 0 30px;font-size:12px}.site-footer small{color:#aaa;font-size:11px}.page-numbers{display:inline-block;padding:8px 15px;border:1px solid var(--line);margin:4px;text-decoration:none}.page-numbers.current{background:#111;color:white}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #0088cc;outline-offset:4px}@media(max-width:850px){.category-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.header-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:15px}.logo img{width:140px}.header-row .search-form{flex:1}.header-row input{width:100%}.header-row label{min-width:0}.menu{gap:10px 20px;margin-top:16px}.menu a{font-size:13px}.hero .wrap{padding-top:38px;padding-bottom:32px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{padding:12px}.card img{height:150px}.card h2{font-size:14px}.product-gateways{gap:14px}.gateway>img{height:190px}.gateway>span{padding:14px}.gateway strong{font-size:21px}.service-links{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.news-list li{grid-template-columns:1fr;gap:3px}.home-section{margin:32px 0 42px}.section-title h2{font-size:23px}}@media(max-width:420px){.header-row{display:block}.header-row .search-form{margin-top:15px}.header-row .search-form label{flex:1}.product-gateways{grid-template-columns:1fr}.gateway>img{height:190px}.category-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card img{height:125px}.card .sku,.card .price{font-size:12px}.hero-search{padding:10px}.entry h1{font-size:25px}.entry-content details{padding:12px}.footer-links{flex-wrap:wrap}}

/* Header notice, accessible mobile navigation and social footer. */
.menu-toggle,.mobile-menu-search{display:none}.header-news{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-left:35px;font-size:14px}.header-news-label{background:var(--yellow);color:#111;font-weight:800;padding:12px 16px;white-space:nowrap}.header-news-item{min-width:0}.header-news-item time{display:block;color:#666;font-size:12px}.header-news-item a{text-decoration:none;display:block;line-height:1.6;font-weight:600}.header-news-all{font-size:12px;white-space:nowrap;text-underline-offset:4px}.site-footer>.wrap{padding-top:32px;padding-bottom:28px}.footer-social{display:flex;gap:16px;margin:28px 0}.footer-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #5c5c5c;border-radius:50%}.footer-social img{width:25px;height:25px;object-fit:contain}.footer-social a:hover{border-color:var(--yellow);background:#333}@media(max-width:760px){.site-header .header-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.header-row .logo{order:1}.menu-toggle{order:2;display:flex;align-items:center;justify-content:center;gap:9px;background:#111;color:white;border:0;padding:10px 13px;min-height:46px;font-size:13px;cursor:pointer}.menu-toggle-icon{display:grid;gap:4px;width:20px}.menu-toggle-icon i{display:block;height:2px;background:currentColor;transition:transform .15s}.menu-toggle[aria-expanded=true] .menu-toggle-icon i:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-icon i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}.header-news{order:3;flex-basis:100%;margin:0;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;border-top:1px solid #e3e3e3;padding-top:14px}.header-news-label{font-size:12px;padding:8px}.header-news-item a{font-size:12px;overflow-wrap:anywhere}.header-news-item time{font-size:11px}.header-news-all{grid-column:2;justify-self:end;font-size:12px}.has-js #site-navigation{display:none}.has-js #site-navigation.is-open{display:block}#site-navigation{border-top:1px solid #ddd;margin-top:16px;padding-top:6px}#site-navigation .menu{display:block;margin:0}#site-navigation .menu>li>a{display:block;padding:12px 4px;border-bottom:1px solid #e6e6e6;font-size:15px}#site-navigation .sub-menu a{display:block;padding:8px 4px}.mobile-menu-search{display:block;margin:18px 0 6px}.mobile-menu-search .search-form{width:100%}.mobile-menu-search label{min-width:0;flex:1}.mobile-menu-search input{width:100%}.site-footer .menu{display:flex;gap:12px 20px}.footer-social{margin:25px 0}.footer-links{gap:12px 20px}}

.home-event-banner{max-width:800px;margin:32px auto 10px}.home-event-banner a,.home-event-banner img{display:block;width:100%}.home-event-banner img{height:auto}

.subpage-hero{position:relative;height:240px;overflow:hidden;background:#17221b}.subpage-hero>img{display:block;width:100%;height:100%;object-fit:cover}.subpage-hero:not(.subpage-hero-brand)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.12));pointer-events:none}.subpage-hero-label{position:absolute;inset:0;display:flex;align-items:center;z-index:1;color:white}.subpage-hero-label p{font-size:clamp(30px,4.5vw,54px);font-weight:850;letter-spacing:.06em;line-height:1.2;margin:0}.subpage-hero-label span{display:block;font-size:16px;letter-spacing:.12em;margin-top:13px}.subpage-hero-brand{background:white}.subpage-hero-brand>img{object-fit:contain}@media(max-width:760px){.subpage-hero{height:165px}.subpage-hero-label p{font-size:30px}.subpage-hero-label span{font-size:13px;margin-top:10px}}

@media(max-width:760px){.has-js #site-navigation.is-open{background:var(--yellow);color:#111;padding:10px 16px 16px;border-top:0;border-radius:3px}.has-js #site-navigation.is-open .menu>li>a{border-bottom-color:rgba(0,0,0,.18);color:#111}.has-js #site-navigation.is-open .search-form input{background:#fff;border-color:#111}.has-js #site-navigation.is-open .search-form button{background:#111;color:#fff}}
/* Footer navigation and restrained homepage motion. */
.back-to-top-wrap{display:flex;justify-content:flex-end;margin:0 0 30px}
.back-to-top{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 22px;background:var(--yellow);color:#111;text-decoration:none;font-weight:700;border:2px solid var(--yellow);border-radius:3px}
.site-footer .back-to-top:hover{background:#fff;color:#111;border-color:#fff}
.back-to-top span{font-size:24px;line-height:1}
@media(prefers-reduced-motion:no-preference){
.home .hero .eyebrow,.home .hero h1,.home .hero-search{animation:magura-intro .75s ease-out both}
.home .hero h1{animation-delay:.12s}.home .hero-search{animation-delay:.24s}
.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease-out,transform .65s ease-out}
.scroll-reveal.is-revealed{opacity:1;transform:none}
@keyframes magura-intro{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}
/* Contact Form 7: clear labels, generous touch targets and responsive fields. */
.contact-intro{margin-bottom:36px}.contact-order-notice{padding:20px 24px;background:#f2f7f3;border-left:4px solid var(--green);margin:28px 0}.entry-content .contact-order-notice h2{font-size:18px;margin:0 0 12px}.contact-order-notice p{margin:0}
.magura-contact-form h2{font-size:22px;border-bottom:3px solid var(--green);padding-bottom:10px;margin:42px 0 24px}.contact-field{margin:0 0 24px}.contact-field>label{display:block;font-weight:700;margin-bottom:8px}.required-label{display:inline-block;font-size:11px;line-height:1.6;background:var(--green);color:#fff;padding:2px 7px;margin-left:8px;vertical-align:middle;border-radius:2px}.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;max-width:100%;padding:12px 14px;border:1px solid #aaa;border-radius:3px;background:#fff;color:#111;font:inherit;line-height:1.5}.contact-field textarea{min-height:220px;resize:vertical}.contact-field input,.contact-field select{min-height:48px}.contact-postcode{max-width:250px}.contact-address{min-width:0;margin:0 0 24px;padding:20px 24px 0;border:1px solid #ddd}.contact-address legend{padding:0 8px;font-weight:700}.contact-consent{padding:20px;background:#f5f5f5;margin:32px 0}.contact-consent .wpcf7-list-item{margin:0}.contact-consent label{display:flex;align-items:flex-start;gap:10px}.contact-consent input[type=checkbox]{flex:none;width:20px;height:20px;margin-top:6px;accent-color:var(--green)}.contact-submit{text-align:center}.contact-submit .wpcf7-submit{min-width:220px;min-height:52px;border:2px solid var(--green);border-radius:3px;background:var(--green);color:white;font:inherit;font-weight:700;padding:12px 32px;cursor:pointer}.contact-submit .wpcf7-submit:hover{background:#111;border-color:#111}.magura-contact-form .wpcf7-not-valid-tip{font-size:14px;margin-top:6px}.wpcf7 form .wpcf7-response-output{margin:24px 0;padding:16px}.contact-staging-note{border:1px solid #d2a800;background:#fffbe6;padding:14px 18px;font-size:14px}
@media(max-width:760px){.magura-contact-form h2{font-size:19px}.contact-address{padding:16px 16px 0}.contact-order-notice{padding:18px}.contact-consent{padding:16px}.contact-submit .wpcf7-submit{width:100%}.contact-submit .wpcf7-spinner{display:block;margin:10px auto}}
/* Embedded privacy policy, readable with touch and keyboard scrolling. */
.contact-policy-section{margin:38px 0 24px}.contact-policy-help{font-size:14px;color:#555}.contact-policy{max-height:320px;overflow-y:auto;padding:20px 24px;border:1px solid #bbb;border-radius:3px;background:#fafafa;font-size:14px;line-height:1.9;overflow-wrap:anywhere;scrollbar-gutter:stable}.contact-policy p{margin:0 0 16px}.contact-policy p:last-child{margin-bottom:0}.contact-policy h3{font-size:15px;line-height:1.7;margin:24px 0 10px}.contact-policy h3:first-child{margin-top:0}.contact-policy:focus-visible{outline:3px solid #0088cc;outline-offset:4px}.contact-policy-section+.contact-consent{margin-top:20px}@media(max-width:760px){.contact-policy{max-height:300px;padding:16px;font-size:14px}}
.contact-postcode-status{display:block;margin-top:8px;font-size:12px;line-height:1.7;color:#555}.contact-field.contact-postcode{max-width:100%}.contact-postcode input{max-width:250px}
