/*
Theme Name: YAMAFUKU Coffee
Version: 1.0.0
Description: ヤマフクコーヒーの店舗・商品・法人卸紹介サイト。
Text Domain: yamafuku
*/

:root{--paper:#f6f3ed;--ink:#242d28;--green:#30483d;--line:#dedfd5;--muted:#687166;--gold:#b58c4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.85}a{color:inherit}img{max-width:100%;height:auto}.wrap{max-width:1180px;margin:auto;padding:0 36px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:156px;display:block}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:26px}.nav a{text-decoration:none;font-size:14px}.nav a:hover{color:#9c7034}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;padding:12px;background:#fff;z-index:10}.hero{padding:82px 0 62px}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--muted);font-weight:700}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(38px,5.3vw,70px);line-height:1.5;letter-spacing:.04em;margin:22px 0}.lead{font-size:17px;max-width:660px;color:#526054}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 25px;border:1px solid var(--green);background:var(--green);color:#fff;text-decoration:none;font-size:14px;border-radius:3px}.button.secondary{background:transparent;color:var(--green)}.section{padding:65px 0;border-top:1px solid var(--line)}.section h2{font-size:30px;font-weight:500;letter-spacing:.06em;margin:10px 0 25px}.section h3{font-size:19px;font-weight:600;margin:12px 0}.section p{color:#526054}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:4px}.number{color:var(--gold);font-size:12px;letter-spacing:.12em}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.poster{width:100%;max-width:460px;display:block;margin:auto;border-radius:4px}.band{background:var(--green);color:#fff;padding:54px;border-radius:5px}.band p{color:#e2e9df}.band .button{background:#f6f3ed;color:var(--green);border-color:#f6f3ed}.bean-row{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.bean-row strong{font-weight:600}.bean-row span{color:var(--muted)}.small{font-size:13px;color:var(--muted)}.site-footer{margin-top:70px;padding:45px 0;background:#e9ede5;border-top:1px solid var(--line);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}.footer-inner p{margin:0}main{min-height:60vh}iframe.order-frame{width:100%;min-height:1350px;border:0;background:white;border-radius:4px}.page-head{padding:60px 0 32px}.page-head h1{font-family:"Yu Mincho",serif;font-size:42px;font-weight:500}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.menu-item{background:#fff;padding:24px;border:1px solid var(--line)}.menu-item h3{margin:0 0 8px}.no-js{padding:25px;background:#fff}.entry-content{max-width:1180px;margin:auto;padding:0 36px}.entry-content .wrap{padding:0}.entry-content .section:last-child{margin-bottom:35px}@media(max-width:760px){.wrap,.entry-content{padding:0 22px}.header-inner{display:block;padding-top:14px;padding-bottom:16px}.brand img{width:125px}.nav{margin-top:8px;gap:12px 19px}.nav a{font-size:12px}.hero{padding:45px 0}.lead{font-size:15px}.grid,.split,.menu-list{grid-template-columns:1fr}.split{gap:32px}.section{padding:42px 0}.section h2{font-size:25px}.band{padding:30px 24px}.bean-row{grid-template-columns:1fr;gap:5px}.page-head h1{font-size:32px}.poster{max-width:380px}}

/* Order page only: ordinary page flow, safe-area spacing, no fixed scroll box. */
body.page-id-1006 { padding-top: env(safe-area-inset-top, 0px); }
body.page-id-1006 iframe.order-frame { display:block; max-height:none; }
body.page-id-1006 main { padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px)); }
/* YAMAFUKU editorial refresh — 2026-10-11 */
:root{--paper:#f7f5ef;--ink:#292e29;--green:#344b3e;--line:#deded3;--muted:#6d746a;--gold:#856035}
html{scroll-padding-top:110px}
body:not(.page-id-1006){font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.025em}
body:not(.page-id-1006) .site-header{position:sticky;top:0;z-index:50;background:rgba(247,245,239,.97);transition:box-shadow .3s}
body.admin-bar:not(.page-id-1006) .site-header{top:32px}
body:not(.page-id-1006) .header-inner{min-height:94px;transition:min-height .35s}
body:not(.page-id-1006) .brand img{width:143px;transition:width .35s;mix-blend-mode:multiply}
body:not(.page-id-1006) .yf-scrolled .header-inner{min-height:76px}
body:not(.page-id-1006) .yf-scrolled{box-shadow:0 6px 20px #242d2809}
body:not(.page-id-1006) .nav a{position:relative;padding:12px 0;font-size:13px;font-weight:600}
body:not(.page-id-1006) .nav a:after{content:"";position:absolute;bottom:7px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
body:not(.page-id-1006) .nav a:hover:after,body:not(.page-id-1006) .nav a[aria-current="page"]:after{transform:scaleX(1)}
.yf-menu-button{display:none}
body:not(.page-id-1006) a:focus-visible,body:not(.page-id-1006) button:focus-visible{outline:3px solid #ab793c;outline-offset:5px}
body:not(.page-id-1006) .button{gap:22px;min-height:52px;padding:14px 23px;border-radius:0;letter-spacing:.045em;font-weight:600;transition:background .25s,color .25s,transform .25s}
body:not(.page-id-1006) .button:hover{background:#23372c;transform:translateY(-2px)}
body:not(.page-id-1006) .button.secondary:hover{color:white;background:var(--green)}
.yf-arrow{display:inline-block;transition:transform .3s}
a:hover .yf-arrow{transform:translateX(5px)}
.yf-link{display:inline-flex;align-items:center;gap:30px;min-height:44px;text-decoration:none;font-size:14px;font-weight:600;border-bottom:1px solid var(--ink);padding:7px 0}
body:not(.page-id-1006) .eyebrow{font-size:10px;letter-spacing:.18em;line-height:1.8;margin:0 0 22px;color:var(--gold)}
body:not(.page-id-1006) .section{padding:92px 0}
body:not(.page-id-1006) .section h2{font-size:clamp(28px,3vw,40px);font-weight:650;line-height:1.65;letter-spacing:.06em;margin:0 0 28px}
body:not(.page-id-1006) .section h3{line-height:1.65}
body:not(.page-id-1006) .section p{line-height:2.15}
.yf-unit{display:inline-block;max-width:100%}
.yf-mobile-break{display:none}
.yf-hero{position:relative;display:grid;grid-template-columns:1fr 1.04fr;gap:50px;align-items:center;padding:54px 0 64px;min-height:640px}
.yf-hero-copy{padding:8px 0}
.yf-hero h1{font-family:inherit;font-size:clamp(35px,4.5vw,60px);font-weight:650;line-height:1.65;letter-spacing:.04em;margin:22px 0 30px}
.yf-hero .lead{font-size:15px;line-height:2.2;max-width:470px;margin-bottom:28px}
.yf-hero .buttons{gap:12px;flex-direction:column;align-items:flex-start;margin:28px 0 0}
.yf-hero .button{min-width:235px}
.yf-hero-visual{position:relative;align-self:stretch;min-width:0}
.yf-hero-image{width:100%;height:100%;object-fit:cover;object-position:52% center;display:block;border-radius:120px 2px 2px 2px}
.yf-hero-caption{position:absolute;bottom:21px;left:24px;right:24px;color:white;font-size:10px;letter-spacing:.15em;text-shadow:0 1px 8px #000}
.yf-hero-visual:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#17261b66);pointer-events:none}
.yf-hero-caption{z-index:1}
.yf-scroll{margin-top:38px;font-size:9px;letter-spacing:.17em;text-decoration:none;display:inline-flex;align-items:center;gap:22px;min-height:44px}
.yf-scroll span{font-size:20px}
.yf-intro{grid-template-columns:.9fr 1fr;gap:100px}
.yf-intro-image{overflow:hidden;aspect-ratio:4/4.5;max-width:430px}
.yf-intro-image img{display:block;width:100%;height:100%;object-fit:cover}
.yf-intro-copy p{font-size:15px;max-width:430px}
.yf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:42px}
.yf-heading h2{margin-bottom:0!important}
.yf-heading>p{font-size:13px;color:var(--muted);max-width:220px;margin:0 0 8px}
.yf-way{background:transparent;border:0;border-radius:0;padding:0;min-width:0}
.yf-way-photo{display:block;overflow:hidden;aspect-ratio:1.42;margin-bottom:27px}
.yf-way-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.yf-way-photo:hover img{transform:scale(1.045)}
.yf-way p{font-size:14px;min-height:64px}
.yf-way h3{font-size:22px!important;margin:12px 0 16px!important}
.yf-way .yf-link{display:flex;justify-content:space-between;margin-top:15px}
.yf-way .yf-shop-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.yf-business{background:var(--green);color:#f7f5ef;padding:65px;position:relative}
.yf-business-grid{display:grid;grid-template-columns:.7fr 1fr;gap:65px;align-items:center}
.yf-business-image{aspect-ratio:4/5;overflow:hidden}
.yf-business-image img{width:100%;height:100%;object-fit:cover;display:block}
.yf-business .eyebrow{color:#d5c09e!important}
.yf-business h2{font-size:clamp(28px,3.2vw,43px)!important;margin-bottom:22px!important}
.yf-business p{color:#e0e7dd!important;font-size:14px}
.yf-business .button{background:var(--paper);color:var(--green);border-color:var(--paper)}
.yf-business .button:hover{background:white!important;color:#182d20!important}
.yf-diagnosis{margin-top:44px;padding-top:34px;border-top:1px solid #ffffff38;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.yf-diagnosis h3{font-size:20px!important;margin:8px 0!important}
.yf-diagnosis p{margin:10px 0;font-size:13px}
.yf-diagnosis .eyebrow{font-size:9px;margin:0}
.yf-diagnosis .small{font-size:11px;color:#d1d8cd!important}
.yf-news{display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:center}
.yf-news-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.yf-news p{font-size:14px;max-width:500px}
body:not(.page-id-1006) .site-footer{margin-top:20px;padding:54px 0;background:#e9ece4}
body:not(.page-id-1006) .footer-inner strong{font-size:17px;font-weight:650}
body:not(.page-id-1006) .footer-inner a{display:inline-flex;align-items:center;min-height:38px;text-underline-offset:5px}
body:not(.page-id-1006) .page-head{padding:68px 0 52px}
body:not(.page-id-1006) .page-head h1{font-family:inherit;font-size:clamp(30px,3.8vw,48px);font-weight:650;line-height:1.65;letter-spacing:.045em;margin:12px 0 24px}
body:not(.page-id-1006) .page-head .lead{font-size:15px;line-height:2.15}
.yf-page-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
.yf-page-photo{width:100%;height:320px;object-fit:cover;border-radius:75px 0 0 0}
body:not(.page-id-1006) .card:not(.yf-way){border:0;border-top:2px solid #d6d9cd;border-radius:0;padding:30px;background:#eef0e8}
body:not(.page-id-1006) .menu-list{gap:36px 28px}
body:not(.page-id-1006) .menu-item{padding:0 0 22px;border:0;border-bottom:1px solid var(--line);background:none}
.yf-menu-photo{width:100%;height:260px;object-fit:cover;display:block;margin-bottom:23px}
body:not(.page-id-1006) .bean-row{padding:23px 0;gap:25px}
body:not(.page-id-1006) .bean-row span{font-size:12px;justify-self:start;border:1px solid var(--line);padding:2px 15px;align-self:center;border-radius:20px}
.yf-consult{margin-top:35px;background:#ecefe6;padding:28px 32px;border-left:2px solid var(--gold)}
.yf-consult p{margin:8px 0}
.yf-step-list{padding-left:24px;line-height:2.15}
.yf-step-list li{padding-left:8px;margin-bottom:16px}
.yf-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);transition-delay:var(--yf-delay,0ms)}
.yf-reveal.yf-visible{opacity:1;transform:none}
.yf-hero-copy{animation:yf-enter .9s both}
.yf-hero-visual{animation:yf-enter 1.1s .15s both}
@keyframes yf-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.yf-hero{gap:28px;min-height:570px}.yf-intro{gap:55px}.yf-business{padding:42px}.yf-business-grid{gap:35px}.yf-diagnosis{grid-template-columns:1fr}.yf-news{gap:40px}.yf-hero h1{font-size:clamp(32px,4.3vw,43px)}}
@media(max-width:782px){body.admin-bar:not(.page-id-1006) .site-header{top:46px}}
@media(max-width:760px){
 html{scroll-padding-top:95px}
 body:not(.page-id-1006) .header-inner{min-height:79px;padding-top:12px;padding-bottom:12px;position:relative}
 body:not(.page-id-1006) .yf-scrolled .header-inner{min-height:73px}
 body:not(.page-id-1006) .brand img{width:119px}
 body:not(.page-id-1006) .yf-mobile-ready{display:flex}
 body:not(.page-id-1006) .yf-mobile-ready .nav{display:none;margin:0;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 22px 22px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #242d280d;gap:0}
 body:not(.page-id-1006) .yf-mobile-ready .nav.yf-open{display:flex;flex-direction:column;align-items:stretch}
 body:not(.page-id-1006) .nav a{padding:13px 0;font-size:14px;min-height:48px}
 .yf-menu-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:52px;height:50px;background:transparent;border:0;color:var(--ink);font:inherit;cursor:pointer}
 .yf-menu-button span{width:24px;height:1px;background:currentColor;transition:transform .25s}
 .yf-menu-button small{font-size:8px;letter-spacing:.1em;margin-top:1px}
 .yf-menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .yf-menu-button[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
 body:not(.page-id-1006) .section{padding:58px 0}
 body:not(.page-id-1006) .section h2{font-size:clamp(24px,6.9vw,28px);letter-spacing:.04em;line-height:1.7;margin-bottom:24px}
 body:not(.page-id-1006) .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:16px}
 .yf-mobile-break{display:initial}
 .yf-hero{display:flex;flex-direction:column;gap:28px;padding:28px 0 45px;min-height:0;align-items:stretch}
 .yf-hero-copy{padding:0}
 .yf-hero h1{font-size:clamp(28px,8.2vw,42px);line-height:1.7;letter-spacing:.025em;margin:16px 0 18px}
 .yf-hero .lead{font-size:14px;margin:0;line-height:2.15}
 .yf-hero .buttons{margin-top:24px;flex-direction:row;gap:10px}
 .yf-hero .button{font-size:12px;width:100%;min-width:0;justify-content:space-between;padding:14px 18px}
 .yf-scroll{display:none}
 .yf-hero-visual{min-height:0;height:310px}
 .yf-hero-image{border-radius:80px 0 0 0;object-position:center}
 .yf-hero-caption{font-size:9px;bottom:18px;left:19px}
 .yf-intro{display:flex;flex-direction:column-reverse;gap:30px;align-items:stretch}
 .yf-intro-image{aspect-ratio:4/3;max-width:none}
 .yf-intro-copy p{font-size:14px}
 .yf-heading{display:block;margin-bottom:32px}
 .yf-heading>p{max-width:none;margin-top:18px}
 .yf-way{padding:0!important;background:transparent!important;border:0!important}
 .yf-way-photo{aspect-ratio:1.55;margin-bottom:20px}
 .yf-way h3{font-size:22px!important}
 .yf-way p{min-height:0}
 .yf-ways{gap:44px}
 .yf-business{padding:30px 24px}
 .yf-business-grid{display:flex;flex-direction:column-reverse;gap:28px;align-items:stretch}
 .yf-business-image{aspect-ratio:1.7}
 .yf-business h2{font-size:clamp(22px,6.5vw,32px)!important;letter-spacing:.02em!important}
 .yf-business p{font-size:13px}
 .yf-business .button{width:100%;font-size:12px;justify-content:space-between;padding:14px 17px;gap:12px}
 .yf-diagnosis{margin-top:30px;padding-top:27px;gap:10px}
 .yf-diagnosis h3{font-size:18px!important;letter-spacing:0}
 .yf-news{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .yf-news-photo{aspect-ratio:1.7}
 body:not(.page-id-1006) .site-footer{padding:36px 0}
 body:not(.page-id-1006) .page-head{padding:35px 0 38px}
 body:not(.page-id-1006) .page-head h1{font-size:clamp(24px,6.8vw,36px);line-height:1.7;letter-spacing:.015em}
 body:not(.page-id-1006) .page-head .lead{font-size:14px}
 .yf-page-hero{grid-template-columns:1fr;gap:25px}
 .yf-page-photo{height:235px;border-radius:55px 0 0 0}
 .yf-menu-photo{height:235px}
 body:not(.page-id-1006) .bean-row{grid-template-columns:1fr;gap:10px}
 .yf-consult{padding:22px}
 main h1,main h2,main h3{word-break:auto-phrase;text-wrap:balance;line-break:strict}
 main p{word-break:auto-phrase;text-wrap:pretty;line-break:strict}
}
@media(max-width:600px){body.admin-bar:not(.page-id-1006) .site-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.yf-reveal{opacity:1;transform:none;transition:none}.yf-hero-copy,.yf-hero-visual{animation:none}body:not(.page-id-1006) .button,.yf-arrow,.yf-way-photo img,body:not(.page-id-1006) .header-inner{transition:none}}
