.fg-wrap{position:relative;color:#41210f;line-height:1.95;letter-spacing:.04em;font-feature-settings:"palt" 0;font-family:inherit;box-sizing:border-box}
.fg-wrap *{box-sizing:border-box}
.fg-wrap img{display:block;width:100%;max-width:100%;height:auto;border:0}
.fg-h,.fg-h4,.fg-lead,.fg-text,.fg-sub,.fg-notice-ttl,.fg-scene p,.fg-btn,.fg-set-list{font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","HG\00660E\00671DE",serif}
.fg-h{letter-spacing:.14em;line-height:1.6;font-weight:600}
.fg-h4{letter-spacing:.08em;font-weight:600}
.fg-lead,.fg-text{letter-spacing:.08em;line-height:2.2}
.fg-notice{line-height:1.85;letter-spacing:.03em}
.fg-wrap p{margin:0 0 1em}
.fg-wrap ul,.fg-wrap ol{margin:0;padding:0}
.fg-hero{position:relative;overflow:hidden;border-radius:6px}
.fg-hero img{animation:fg-zoom 14s ease-out both}
.fg-petals{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:hidden}
.fg-petal{position:absolute;top:-30px;width:14px;height:18px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#f8c9cf,#f3a6b2);opacity:.7;animation:fg-fall 22s linear infinite}
.fg-p1{left:6%;animation-delay:0s}.fg-p2{left:24%;animation-delay:5s;background:linear-gradient(135deg,#fde9c8,#f6cf8e)}.fg-p3{left:40%;animation-delay:10s;width:10px;height:13px}
.fg-p4{left:56%;animation-delay:2.5s}.fg-p5{left:72%;animation-delay:13s;background:linear-gradient(135deg,#e3edd5,#b8cfa0)}.fg-p6{left:86%;animation-delay:7.5s;width:11px;height:14px}
@keyframes fg-fall{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(18px,27vh) rotate(90deg)}50%{transform:translate(-14px,55vh) rotate(180deg)}75%{transform:translate(20px,82vh) rotate(270deg)}100%{transform:translate(-6px,110vh) rotate(360deg);opacity:0}}
@keyframes fg-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.fg-sec{position:relative}
.fg-h{position:relative;margin:0 0 28px;font-weight:bold;color:#41210f;text-align:center}
.fg-h-leaf{display:block;width:22px;height:22px;margin:0 auto 10px;border-radius:0 100% 0 100%;background:#9cb88a;transform:rotate(45deg);transition:transform .6s}
.fg-h:hover .fg-h-leaf{animation:fg-sway 1.6s ease-in-out}
.fg-h4{margin:0 0 .6em;font-weight:bold;color:#41210f}
.fg-small{color:#6b5446}
.fg-scenes{list-style:none;display:grid}
.fg-scene{text-align:center}
.fg-scene-img{overflow:hidden;border-radius:47% 47% 8px 8px}
.fg-scene-img img{transition:transform .8s ease}
.fg-scene:hover .fg-scene-img img{transform:scale(1.04)}
.fg-scene p{margin:.8em 0 0}
.fg-row{display:grid;align-items:center}
.fg-pic{overflow:hidden;border-radius:6px}
.fg-photo{overflow:hidden}.fg-photo img{transition:transform .6s ease}.fg-photo:hover img{transform:scale(1.04)}
@keyframes fg-sway{0%,100%{transform:rotate(45deg)}25%{transform:rotate(60deg)}75%{transform:rotate(30deg)}}
.fg-steps{list-style:none;counter-reset:fg}
.fg-steps li{list-style:none;margin-left:0;counter-increment:fg;position:relative;padding-left:2.4em;margin-bottom:.6em}
.fg-steps li:before{content:counter(fg);position:absolute;left:0;top:.25em;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:#f3e3dc;color:#41210f;font-size:.85em;font-weight:bold}
.fg-coffees{list-style:none}
.fg-coffee{display:grid;align-items:center;border-top:1px dashed #e2d3c8}
.fg-coffee-img{display:block;max-width:420px;width:100%;margin:0 auto}
.fg-coffee-img img{width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
.fg-coffee-img img{transition:transform .6s}

.fg-notice{background:#fbf7f2;border:1px solid #e7dccf;border-radius:8px}
.fg-notice-ttl{margin:0 0 24px;text-align:center;font-weight:bold;color:#41210f}
.fg-note-item{margin-bottom:22px}.fg-note-item:last-child{margin-bottom:0}
.fg-note-item h4{display:inline-block;margin:0 0 8px;padding-bottom:4px;color:#9F7B49;border-bottom:2px solid #9F7B49;font-weight:bold}
.fg-note-item p{margin:0 0 .6em}
.fg-area{width:100%;border-collapse:collapse}
.fg-area th,.fg-area td{border-bottom:1px solid #e7dccf;padding:8px 10px;text-align:left;vertical-align:top}
.fg-area th{white-space:nowrap;color:#41210f;width:7em}
.fg-js .fg-rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--d,0)*.15s)}
.fg-js .fg-rv.fg-in{opacity:1;transform:none}
.fg-lead,.fg-text{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.fg-tbd{color:#9F7B49;font-weight:bold}
.fg-set{max-width:760px;margin:0 auto;text-align:center}
.fg-set-list{list-style:none}.fg-set-list li{padding:6px 0;border-bottom:1px dashed #e2d3c8}
.fg-price{margin-top:1em!important;font-weight:bold;font-size:1.15em}
.fg-cta{text-align:center;margin-top:32px}
.fg-btn{display:inline-block;background:#41210f;color:#fff!important;text-decoration:none;font-weight:bold;border-radius:40px;transition:background .3s}
.fg-btn:hover{background:#9F7B49}
.fg-sub{text-align:center;font-weight:bold;color:#9F7B49;margin:60px 0 10px}
.fg-coffee.fg-rev .fg-coffee-img{order:2}

/* layout v3: image sizing */
.fg-scene-img{aspect-ratio:4/5}
.fg-scene-img img{width:100%;height:100%;object-fit:cover}
.fg-pic img{width:100%;height:auto}
.fg-coffees{display:grid}
.fg-coffee,.fg-coffee.fg-rev{border-top:0;background:#fbf7f2;border:1px solid #efe4d8;border-radius:12px}
.fg-coffee-img{overflow:hidden;border-radius:12px;max-width:none;aspect-ratio:1/1}
.fg-coffee-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.fg-coffee:hover .fg-coffee-img img{transform:scale(1.04)}
.fg-coffee .fg-h4{margin-bottom:.4em}
.fg-coffee p{margin:0;line-height:1.75}

/* notice v3 */
.fg-notice{background:none;border:0;border-radius:0;padding:0!important;max-width:1000px}
.fg-notice-ttl{margin-bottom:32px;letter-spacing:.14em}
.fg-notice-ttl:after{content:"";display:block;width:40px;height:1px;background:#9F7B49;margin:14px auto 0}
.fg-notice{display:grid;gap:16px}
.fg-notice-ttl{grid-column:1/-1}
.fg-note-item,.fg-note-item:last-child{margin:0;background:#fbf7f2;border:1px solid #efe4d8;border-radius:10px;padding:24px 26px}
.fg-note-item h4{display:block;border:0;border-left:3px solid #9F7B49;padding:0 0 0 12px;margin:0 0 12px;color:#41210f;line-height:1.5;font-size:1.02em!important}
.fg-note-item strong{font-weight:normal;color:#6b5446;font-size:.9em}
.fg-area{margin-top:8px;font-size:.92em}
.fg-area th,.fg-area td{border-bottom:1px solid #e7dccf;padding:10px 4px}
.fg-area tr:last-child th,.fg-area tr:last-child td{border-bottom:0}
.fg-area th{color:#9F7B49;font-weight:600}
@media (prefers-reduced-motion:reduce){.fg-petals{display:none}.fg-wrap *{animation:none!important;transition:none!important}.fg-js .fg-rv{opacity:1;transform:none}}
@media (min-width:768px){.fg-wrap{width:100%;max-width:1080px;margin:0 auto;font-size:clamp(15px,1.4vw,17px)}
.fg-sec{margin-top:clamp(80px,9vw,120px)}
.fg-h{font-size:clamp(20px,2.2vw,27px)}
.fg-h4{font-size:clamp(16px,1.6vw,19px)}
.fg-lead{text-align:center}
.fg-btn{padding:20px clamp(32px,6vw,72px);font-size:clamp(16px,1.5vw,18px)}
.fg-scene:nth-child(even){margin-top:40px}
.fg-one{grid-template-columns:1fr!important;max-width:760px;margin-left:auto;margin-right:auto}
.fg-scenes{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(16px,3vw,36px)}
.fg-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,60px);margin-bottom:70px}
.fg-rev .fg-txt{order:2}
.fg-coffee{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(24px,5vw,56px);padding:40px 0}
.fg-coffee.fg-rev{grid-template-columns:minmax(0,1fr) minmax(0,420px)}
.fg-notice{width:100%;max-width:880px;margin:0 auto;padding:clamp(28px,4vw,44px) clamp(18px,5vw,56px);font-size:clamp(14px,1.4vw,16px)}
.fg-notice-ttl{font-size:clamp(18px,2vw,23px)}
.fg-note-item h4{font-size:clamp(15px,1.5vw,17px)}

.fg-scenes{max-width:880px;margin:0 auto;gap:40px 28px}
.fg-scene:nth-child(even){margin-top:32px}
.fg-row{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;max-width:1000px;margin:0 auto 72px}
.fg-row.fg-rev{grid-template-columns:minmax(0,520px) minmax(0,1fr)}
.fg-row.fg-rev .fg-pic{order:1}.fg-row.fg-rev .fg-txt{order:2}
.fg-pic{max-width:520px;width:100%}
.fg-sub{margin-top:64px;margin-bottom:28px}
.fg-coffees{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.fg-coffee,.fg-coffee.fg-rev{display:block;grid-template-columns:none;padding:18px 14px 20px;text-align:left}
.fg-coffee-img{width:100%;max-width:170px;margin:0 auto 14px}
.fg-coffee.fg-rev .fg-coffee-img{order:0}
.fg-coffee .fg-h4{font-size:16px;text-align:center}
.fg-coffee p{font-size:14px}

@media (max-width:767px){.fg-row,.fg-row.fg-rev{grid-template-columns:minmax(0,1fr)}.fg-pic{max-width:80%;margin:0 auto}.fg-row.fg-rev .fg-txt{order:2}.fg-coffees{grid-template-columns:minmax(0,1fr);gap:12px}.fg-coffee,.fg-coffee.fg-rev{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px;align-items:center}.fg-coffee-img{margin:0}.fg-coffee .fg-h4{text-align:left}.fg-scene:nth-child(even){margin-top:16px}}
.fg-notice{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense}.fg-note-wide{grid-column:1/-1}
@media (max-width:767px){.fg-notice{grid-template-columns:minmax(0,1fr)}.fg-note-item{padding:20px 18px}}
@media (max-width:1108px){.fg-wrap{padding-left:14px;padding-right:14px}}
@media (max-width:767px){.fg-row,.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:minmax(0,1fr)}.fg-row .fg-pic,.fg-coffee.fg-rev .fg-coffee-img{order:-1}.fg-rev .fg-txt{order:0}.fg-scenes{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-btn{display:block;padding:16px 10px}.fg-area th,.fg-area td{display:block;padding:6px 0;border:0}.fg-area tr{display:block;border-bottom:1px solid #e7dccf}}

/* v4 overrides */
.fg-scenes{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:40px clamp(14px,3vw,32px)!important;max-width:100%!important;margin:0!important}}
@media (max-width:767px){.fg-wrap{width:100%;max-width:100%;padding:0 14px;font-size:clamp(14px,3.9vw,16px);overflow-x:hidden}
.fg-sec{margin-top:80px}
.fg-h{font-size:clamp(18px,5.4vw,24px)}
.fg-h4{font-size:clamp(15px,4.4vw,18px)}
.fg-scenes{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
.fg-scene p{font-size:clamp(12px,3.5vw,15px);line-height:1.6}
.fg-row{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:44px}
.fg-row .fg-pic{order:-1}
.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:minmax(0,1fr);gap:14px;padding:24px 0}
.fg-coffee.fg-rev .fg-coffee-img{order:0}
.fg-btn{display:block;padding:16px 10px;font-size:16px}
.fg-scene:nth-child(even){margin-top:40px}
.fg-coffee p{font-size:clamp(13px,3.7vw,15px)}
.fg-lead,.fg-txt p,.fg-text{line-break:strict;overflow-wrap:anywhere}
.fg-notice{grid-template-columns:minmax(0,1fr);gap:12px;font-size:clamp(13px,3.7vw,15px)}
.fg-notice-ttl{font-size:clamp(17px,4.8vw,21px)}
.fg-note-item h4{font-size:clamp(14px,4vw,16px)}.fg-note-item,.fg-note-item:last-child{padding:20px 18px}
.fg-area th,.fg-area td{display:block;padding:6px 0;border:0}
.fg-area tr{display:block;border-bottom:1px solid #e7dccf;padding:4px 0}
.fg-petal{width:10px;height:13px}
@media (min-width:600px){.fg-scenes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fg-scenes{gap:20px 14px}
.fg-scene:nth-child(even){margin-top:16px}
.fg-pic{width:80%;margin:0 auto}
.fg-sub{margin:48px 0 18px}
.fg-coffees{gap:12px}
.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px;align-items:center}
.fg-coffee-img{width:96px;margin:0}
.fg-coffee .fg-h4{font-size:15px;margin-bottom:.3em}
.fg-coffee p{font-size:13px}
@media (min-width:600px){.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:120px minmax(0,1fr)}.fg-coffee-img{width:120px}.fg-scenes{max-width:640px;margin:0 auto}}


/* v4 overrides */
.fg-scenes{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:40px clamp(14px,3vw,32px)!important;max-width:100%!important;margin:0!important}}

.fg-scene,.fg-scene:nth-child(even){margin-top:0!important;min-width:0}
.fg-coffees{display:block!important}
.fg-coffee,.fg-coffee.fg-rev{display:grid!important;grid-template-columns:minmax(0,260px) minmax(0,1fr)!important;gap:clamp(24px,4vw,48px)!important;align-items:start!important;padding:clamp(28px,4vw,44px) clamp(18px,3vw,40px)!important;margin:0 0 24px!important;background:#fbf7f2;border:1px solid #efe4d8;border-radius:12px;text-align:left!important}
.fg-coffee-img{width:100%!important;max-width:260px!important;margin:0 auto!important;overflow:visible!important;border-radius:0!important;aspect-ratio:auto!important;order:0!important}
.fg-coffee-img img,.fg-coffee:hover .fg-coffee-img img{width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important;border-radius:0!important;transform:none!important}
.fg-cf-tag{display:inline-block;margin:0 0 .6em!important;padding:2px 12px;border:1px solid #9F7B49;border-radius:20px;color:#9F7B49;font-size:.8em;letter-spacing:.1em}
.fg-cf-name{margin:0 0 .2em;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","HG\00660E\00671DE",serif;font-size:clamp(21px,2.4vw,28px);font-weight:600;letter-spacing:.1em;color:#41210f;line-height:1.5}
.fg-cf-sub{margin:0 0 1em!important;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;color:#9F7B49;font-size:clamp(14px,1.5vw,16px);letter-spacing:.06em}
.fg-cf-body{font-size:clamp(14px,1.45vw,16px)!important;line-height:1.95!important;margin:0 0 1em!important}
.fg-cf-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0 0 1em;font-size:clamp(13px,1.35vw,15px);line-height:1.75}
.fg-cf-dl dt{font-weight:bold;color:#9F7B49;white-space:nowrap}.fg-cf-dl dd{margin:0}
.fg-cf-link{font-size:.9em;color:#41210f;text-decoration:underline}
@media (max-width:767px){.fg-scenes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 14px!important}.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:minmax(0,1fr)!important;padding:24px 16px!important}.fg-coffee-img{max-width:240px!important}.fg-cf-dl{grid-template-columns:minmax(0,1fr);gap:0}.fg-cf-dl dd{margin-bottom:.5em}}

/* v5 */
.fg-cta-lead{font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;letter-spacing:.08em;margin:0 0 16px!important}
.fg-card-ttl{text-align:center;color:#9F7B49;font-size:.9em;letter-spacing:.1em;margin:-8px 0 24px!important}
.fg-card-msg{margin:.3em 0 0!important;font-size:.85em;color:#6b5446;line-height:1.7;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif}
.fg-care,.fg-mood,.fg-faq{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.fg-mood ul{list-style:none;margin:0 0 1em!important}.fg-mood li{padding:10px 0 10px 1.4em;border-bottom:1px dashed #e2d3c8;position:relative}.fg-mood li:before{content:"";position:absolute;left:0;top:1.15em;width:8px;height:8px;border-radius:0 100% 0 100%;background:#9cb88a}
.fg-mood p{text-align:center;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;letter-spacing:.06em}
.fg-faq-item{border-bottom:1px solid #e7dccf;padding:16px 0}
.fg-q,.fg-a{position:relative;padding-left:2em;margin:0!important}.fg-q{font-weight:bold;margin-bottom:.4em!important}
.fg-q span,.fg-a span{position:absolute;left:0;top:0;font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:bold;color:#9F7B49}.fg-a span{color:#41210f}
.fg-wrap a{color:#41210f}.fg-wrap .fg-btn{color:#fff!important}

/* v6 coffee playfulness */
.fg-band{position:relative;margin-top:40px;padding:clamp(28px,5vw,64px) clamp(12px,3vw,40px);border-radius:20px;background-color:#f3e9de;background-image:radial-gradient(ellipse 7px 10px at 20px 20px,rgba(110,70,40,.07) 98%,transparent 100%),radial-gradient(ellipse 6px 9px at 62px 58px,rgba(110,70,40,.05) 98%,transparent 100%);background-size:84px 84px;overflow:hidden}
.fg-band .fg-sub{margin-top:0!important}
.fg-chart-note{text-align:center;font-size:.8em;color:#6b5446;margin:0 0 28px!important}
.fg-coffee,.fg-coffee.fg-rev{background:#fffdf9!important;transition:transform .5s ease,box-shadow .5s ease!important;box-shadow:0 2px 10px rgba(65,33,15,.05)}
.fg-coffee:hover{transform:rotate(-.6deg) translateY(-4px)!important;box-shadow:0 10px 24px rgba(65,33,15,.10)}
.fg-js .fg-coffee.fg-rv{transition-delay:calc(var(--d,0)*.18s)}
.fg-cf-left{position:relative;min-width:0;max-width:260px;width:100%;margin:0 auto;text-align:center}
.fg-steam{position:absolute;top:-6px;left:50%;width:60px;height:46px;margin-left:-30px;pointer-events:none;z-index:1}
.fg-steam i{position:absolute;bottom:0;width:6px;height:30px;border-radius:50%;background:linear-gradient(to top,rgba(159,123,73,.0),rgba(159,123,73,.35),rgba(159,123,73,0));filter:blur(2px);opacity:0;animation:fg-steam 4.5s ease-in-out infinite}
.fg-steam i:nth-child(1){left:14px}.fg-steam i:nth-child(2){left:27px;animation-delay:1.5s}.fg-steam i:nth-child(3){left:40px;animation-delay:3s}
@keyframes fg-steam{0%{transform:translateY(10px) scaleX(1);opacity:0}30%{opacity:.8}100%{transform:translateY(-22px) scaleX(1.8);opacity:0}}
.fg-hand{margin:12px 0 8px!important;font-family:"Klee One","Yu Kyokasho","YuKyokasho","Hiragino Maru Gothic ProN","HG\004E38\00FF7A\00FF9E\00FF7C\00FF6F\00FF78M-PRO",cursive;color:#9F7B49;font-size:1em;transform:rotate(-3deg);letter-spacing:.06em}
.fg-hand:before{content:"\00266A ";font-size:.85em}
.fg-chart{display:inline-grid;grid-template-columns:auto auto;gap:4px 10px;align-items:center;margin:0;font-size:.8em;color:#6b5446}
.fg-chart dt{font-weight:bold}.fg-chart dd{margin:0;display:flex;gap:5px}
.fg-chart i{display:block;width:10px;height:10px;border-radius:50%;border:1px solid #c9b296;background:#fff}
.fg-chart i.on{background:#7a4a26;border-color:#7a4a26}
@media (prefers-reduced-motion:reduce){.fg-steam{display:none}.fg-coffee:hover{transform:none!important}}

/* v7 alignment + caution */
.fg-h,.fg-notice-ttl,.fg-sub,.fg-cf-name,.fg-cta-lead,.fg-card-ttl{text-wrap:balance;word-break:auto-phrase}
.fg-lead,.fg-text,.fg-txt p,.fg-cf-body,.fg-cf-sub,.fg-note-item p,.fg-a,.fg-q,.fg-mood li,.fg-care li,.fg-set-list li{text-align:left!important;word-break:normal!important;text-wrap:wrap;line-break:strict;overflow-wrap:anywhere}
.fg-set{text-align:left!important}.fg-set-list{display:block;margin:0 0 1em!important}
.fg-mood p{text-align:left!important}
.fg-scene p{text-align:center;text-wrap:balance;word-break:auto-phrase}
.fg-card-msg{text-align:center}
.fg-lead,.fg-text,.fg-set,.fg-care,.fg-mood,.fg-faq{max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
.fg-notice.fg-cau{display:block!important;max-width:960px!important;margin:0 auto!important;padding:clamp(24px,4vw,48px) clamp(14px,4vw,48px)!important;background:#fbf7f2!important;border:1px solid #e7dccf!important;border-radius:16px!important}
.fg-cau .fg-notice-ttl{margin:0 0 clamp(20px,3vw,32px)!important}
.fg-cau-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);align-items:start}
.fg-cau-grp{min-width:0;background:#fff;border:1px solid #efe4d8;border-radius:12px;padding:clamp(18px,2.5vw,26px)}
.fg-cau-cat{display:flex;align-items:center;gap:10px;margin:0 0 14px!important;padding-bottom:10px;border-bottom:1px solid #efe4d8;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.1em;color:#41210f;font-size:1.05em}
.fg-ic{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#f3e9de;display:flex;align-items:center;justify-content:center}
.fg-ic svg{width:18px;height:18px;fill:none;stroke:#9F7B49;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fg-cau .fg-note-item,.fg-cau .fg-note-item:last-child{background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 16px!important;grid-column:auto!important}
.fg-cau .fg-note-item:last-child{margin-bottom:0!important}
.fg-cau .fg-note-item h4{display:block!important;border:0!important;padding:0!important;margin:0 0 4px!important;color:#41210f!important;font-size:.98em!important;font-weight:bold;line-height:1.55}
.fg-cau .fg-note-item h4:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#9F7B49;margin:0 8px .2em 0;vertical-align:middle}
.fg-cau .fg-note-item p{font-size:.92em;line-height:1.85;margin:0 0 .5em!important}
.fg-cau .fg-note-item strong{font-weight:normal;color:#6b5446}
.fg-acc{margin:8px 0;border:1px solid #efe4d8;border-radius:8px;background:#fdfaf6}
.fg-acc summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:.9em;color:#9F7B49;font-weight:bold;position:relative}
.fg-acc summary::-webkit-details-marker{display:none}
.fg-acc summary:after{content:"+";position:absolute;right:14px;top:8px;font-size:1.1em}
.fg-acc[open] summary:after{content:"\002212"}
.fg-acc .fg-area{margin:0;font-size:.88em}.fg-acc .fg-area th,.fg-acc .fg-area td{padding:8px 14px}
@media (max-width:767px){.fg-cau-grid{grid-template-columns:minmax(0,1fr)}.fg-acc .fg-area th,.fg-acc .fg-area td{display:block;padding:4px 14px;border:0}.fg-acc .fg-area tr{display:block;border-bottom:1px solid #efe4d8;padding:6px 0}}

/* v8 signature moments */
.fg-hero{position:relative}
.fg-open{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.fg-open-l,.fg-open-r{position:absolute;top:0;bottom:0;width:50.5%;background:#f3e9de;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),transparent 60%);animation:fg-openL 1.4s cubic-bezier(.7,0,.2,1) .9s forwards}
.fg-open-l{left:0}.fg-open-r{right:0;animation-name:fg-openR}
.fg-ribbon-v{position:absolute;top:0;bottom:0;left:50%;width:18px;margin-left:-9px;background:#9F7B49;animation:fg-fade .5s ease .8s forwards}
.fg-bow{position:absolute;left:50%;top:50%;width:0;height:0;animation:fg-bow .8s ease .2s forwards}
.fg-bow i{position:absolute;top:-22px;width:46px;height:44px;border:6px solid #9F7B49;border-radius:50% 50% 50% 50%/60% 60% 40% 40%}
.fg-bow i:first-child{right:2px;transform:rotate(-20deg)}.fg-bow i:last-child{left:2px;transform:rotate(20deg)}
@keyframes fg-openL{to{transform:translateX(-101%)}}@keyframes fg-openR{to{transform:translateX(101%)}}
@keyframes fg-fade{to{opacity:0}}@keyframes fg-bow{to{transform:scale(.2) rotate(30deg);opacity:0}}
.fg-open{animation:fg-hide 0s linear 2.4s forwards}@keyframes fg-hide{to{visibility:hidden}}
.fg-draw{max-width:420px;margin:clamp(40px,6vw,72px) auto 0;padding:0 14px}
.fg-draw svg{display:block;width:100%;height:auto;overflow:visible}
.fg-draw path{fill:none;stroke:#9F7B49;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s ease}
.fg-draw path:nth-child(n+4){stroke:#7a4a26}
.fg-draw.fg-in path,.fg-wrap:not(.fg-js) .fg-draw path{stroke-dashoffset:0}
.fg-draw path:nth-child(2){transition-delay:.5s}.fg-draw path:nth-child(3){transition-delay:.8s}.fg-draw path:nth-child(4){transition-delay:1.2s}.fg-draw path:nth-child(5){transition-delay:1.5s}.fg-draw path:nth-child(6){transition-delay:1.8s}.fg-draw path:nth-child(7){transition-delay:2s}
@media (prefers-reduced-motion:reduce){.fg-open{display:none}.fg-draw path{stroke-dashoffset:0;transition:none}}

/* v9 */
.fg-hero img{animation:fg-zoom 8s ease-out both}
.fg-set,.fg-set p,.fg-set .fg-text{text-align:center!important}
.fg-set-items{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 6px}
.fg-set-item{margin:0!important;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:clamp(16px,1.8vw,20px);letter-spacing:.08em;font-weight:600;color:#41210f;word-break:auto-phrase;text-wrap:balance}
.fg-set-plus{margin:0!important;color:#9F7B49;font-size:1.2em;line-height:1}
.fg-set-div{width:48px;height:1px;background:#9F7B49;margin:18px auto!important}
.fg-set .fg-text{margin:0 auto!important;line-height:2;word-break:auto-phrase;text-wrap:balance}
@media (max-width:767px){
.fg-wrap{font-size:15px!important;padding-left:14px!important;padding-right:14px!important}
.fg-wrap p,.fg-wrap li,.fg-wrap dd{font-size:15px;line-break:strict;text-wrap:pretty}
.fg-small,.fg-cau .fg-note-item p,.fg-cf-dl,.fg-chart,.fg-card-msg,.fg-scene p{font-size:13px!important}
.fg-h{font-size:clamp(19px,5.2vw,22px)!important;letter-spacing:.08em!important;word-break:auto-phrase;text-wrap:balance}
.fg-notice-ttl{font-size:18px!important;letter-spacing:.06em!important}
.fg-cf-name{font-size:21px!important}
.fg-set-item{font-size:16px}
.fg-lead,.fg-text,.fg-txt p,.fg-cf-body{font-size:15px!important;line-height:1.95!important}
.fg-btn{display:block!important;width:100%!important;padding:17px 12px!important;font-size:16px!important;min-height:52px}
.fg-cta-lead{font-size:14px!important;word-break:auto-phrase;text-wrap:balance}
.fg-cau{padding:22px 12px!important}.fg-cau-grp{padding:18px 16px!important}
.fg-coffee,.fg-coffee.fg-rev{padding:22px 16px!important}
.fg-band{padding:28px 10px!important}
.fg-faq-item{padding:14px 0}
}

/* v10: progress line under header (g55: PC fixed header 60px z999; bottom corners used by page-top/cart bar/chatbot) */
.fg-petals{z-index:3!important}
/* v10 SP mobile-first */
@media (max-width:767px){
.fg-wrap{padding-left:14px!important;padding-right:14px!important}
.fg-hero{margin:0 -14px;border-radius:0}
.fg-wrap p,.fg-wrap li,.fg-wrap dd,.fg-lead,.fg-text,.fg-txt p,.fg-cf-body,.fg-a,.fg-q{font-size:15px!important;line-height:1.9!important}
.fg-sec{margin-top:64px!important}
.fg-h{font-size:20px!important;margin-bottom:22px!important}
.fg-scenes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important}
.fg-scene p{font-size:13px!important;line-height:1.6!important}
.fg-card-msg{font-size:12px!important}
.fg-row{gap:18px!important;margin-bottom:36px!important}
.fg-pic{max-width:100%!important}
.fg-coffee,.fg-coffee.fg-rev{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;padding:22px 16px!important;text-align:left}
.fg-cf-left{max-width:200px!important}
.fg-coffee-img{max-width:200px!important}
.fg-cf-tag,.fg-cf-name,.fg-cf-sub{text-align:center}
.fg-coffee-txt{text-align:center}.fg-cf-body,.fg-cf-dl{text-align:left}
.fg-cf-dl{grid-template-columns:4.5em minmax(0,1fr)!important;gap:4px 8px!important;font-size:14px!important}
.fg-cf-dl dd{margin:0!important;font-size:14px!important;line-height:1.75!important}
.fg-cf-link{display:inline-flex;align-items:center;min-height:44px}
.fg-cau-grid{grid-template-columns:minmax(0,1fr)!important}
.fg-cau .fg-note-item p{font-size:14px!important;line-height:1.85!important}
.fg-acc summary{min-height:44px;display:flex;align-items:center;padding:10px 36px 10px 14px}
.fg-acc summary:after{top:50%;transform:translateY(-50%)}
.fg-faq-item{padding:14px 0}.fg-q{font-size:15px!important}
.fg-btn{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:52px;padding:14px 12px!important}
.fg-wrap a{min-height:0}
.fg-steps li{padding-left:2.2em}
}

/* v11 qty */
.fg-qty{display:inline-flex;align-items:baseline;gap:2px;margin-left:.6em;padding:0 12px;border-radius:20px;background:#41210f;color:#fff;font-size:.85em;letter-spacing:.04em;line-height:1.8;white-space:nowrap;vertical-align:middle}
.fg-qty b{font-size:1.35em;font-weight:600;margin:0 1px}
.fg-set-note span{display:inline-block}.fg-set-note{margin:0!important;font-size:.85em!important;color:#9F7B49;letter-spacing:.06em}
@media (max-width:767px){.fg-set-item{font-size:16px!important;line-height:1.7}.fg-qty{display:flex;width:max-content;margin:6px auto 0}.fg-set-note{font-size:13px!important}}

/* v12 card examples */
.fg-ex{margin-top:20px;padding:clamp(18px,3vw,28px);background:#fbf7f2;border:1px solid #efe4d8;border-radius:12px}
.fg-ex-ttl{margin:0 0 14px!important;text-align:center!important;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.1em;color:#9F7B49}
.fg-ex-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fg-ex-list li{background:#fff;border-radius:8px;padding:12px 14px;min-width:0}
.fg-ex-scene{display:block;font-size:.78em;color:#9F7B49;font-weight:bold;letter-spacing:.06em;margin-bottom:2px}
.fg-ex-msg{display:block;font-family:"Klee One","Yu Kyokasho","YuKyokasho","Shippori Mincho","Yu Mincho",serif;color:#41210f;line-height:1.7;font-size:.95em}
@media (max-width:767px){.fg-ex-list{grid-template-columns:minmax(0,1fr)}.fg-ex-msg{font-size:15px!important}.fg-ex-scene{font-size:12px!important}}

/* v13 caution single column */
.fg-cau-grid{grid-template-columns:minmax(0,1fr)!important}
.fg-notice.fg-cau{max-width:760px!important}

.fg-card-msg{color:#8a6f57!important;font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif!important;text-align:center;margin-top:4px!important;word-break:auto-phrase;text-wrap:balance}

/* v15 smaller scenes */
.fg-scenes{max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
.fg-scene-img{max-width:220px;margin:0 auto}
@media (max-width:767px){.fg-scene-img{max-width:80%}}

/* v16 full-width scenes */
.fg-scenes{max-width:100%!important;gap:56px clamp(24px,5vw,72px)!important}
.fg-scene p{max-width:280px;margin-left:auto!important;margin-right:auto!important}
@media (max-width:767px){.fg-scenes{gap:32px 14px!important}}

/* v17 bigger scenes */
.fg-scene-img{max-width:270px!important}
.fg-scenes{gap:56px clamp(24px,4vw,56px)!important}
@media (max-width:767px){.fg-scene-img{max-width:90%!important}.fg-scenes{gap:32px 12px!important}}
.fg-d1{--d:1}.fg-d2{--d:2}
