/* do smoothie / fruit club：今回のブランドのための文字・色・空間。 */
@font-face{font-family:Bricolage;src:url('public/fonts/bricolage.woff2') format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:LineSeed;src:url('public/fonts/line-seed.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:LineSeed;src:url('public/fonts/line-seed-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:Instrument;src:url('public/fonts/instrument-serif.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--cream:#f8f3e7;--ink:#173f2c;--yellow:#f3e580;--body-font:LineSeed,'Hiragino Kaku Gothic ProN',sans-serif;--display-font:LineSeed,sans-serif;--english-font:Bricolage,sans-serif;--accent-font:Instrument,serif;--header-height:98px}
body{font-weight:400;line-height:1.6}
html{scrollbar-gutter:stable}
h1,h2{font-weight:800;letter-spacing:-.06em}
.eyebrow{font-family:var(--english-font);font-size:11px;font-weight:700;letter-spacing:.1em}
.site-header{background:transparent;border:0;transition:background .2s;align-items:center}
.past-story .site-header{background:rgba(248,243,231,.96);border-bottom:1px solid #173f2c15}
.brand{font-family:var(--english-font);font-weight:800;letter-spacing:-.065em;font-size:26px;gap:6px}
.brand-do{font-size:47px;font-weight:800;letter-spacing:-.095em}
.desktop-nav{font-size:12px;gap:38px;font-weight:700;letter-spacing:.01em}
.header-coupon{background:var(--ink);color:var(--cream);font-weight:700;font-size:11px;min-height:43px;padding:10px 21px}
.header-coupon:hover{background:#24573b;color:white}
.button{font-weight:700;letter-spacing:.01em}
/* clipはフォーカス移動でも内部スクロールしない。固定ステージの構図を保つ。 */
.hero-stage{overflow:clip;background:var(--stage-color,#ef89a1)}
.hero-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:200;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.19' filter='url(%23grain)'/%3E%3C/svg%3E")}
.stage-floor{position:absolute;left:-15%;right:-15%;bottom:-38%;height:78%;border-radius:50%;background:linear-gradient(180deg,#ffffff0a,#71362213);box-shadow:0 -1px 0 #ffffff17;pointer-events:none}
.stage-edition{position:absolute;top:15.5%;left:50%;transform:translateX(-50%);font:700 10px var(--english-font);letter-spacing:.16em;white-space:nowrap;color:var(--ink);z-index:30}
.stage-edition span{margin:0 12px}
.hero-copy{top:auto;bottom:29%;max-width:240px}
.hero-copy h1{font-size:19px;letter-spacing:-.045em;line-height:1.6}
.hero-intro{font-size:10px;letter-spacing:0;margin-top:8px}
.flavor-word{color:#fff8e9;font-family:var(--english-font);font-weight:800;font-variation-settings:'wdth' 75,'opsz' 96;letter-spacing:-.065em;top:24%;font-size:17.6vw;line-height:1;transform:translate3d(calc(-50% + var(--word-x)),0,0) scaleY(1.35);transform-origin:center;opacity:var(--scene-opacity);text-shadow:none}
.mango .flavor-word,.kiwi .flavor-word{color:#fff8e9;top:19%;font-size:30vw;letter-spacing:-.075em}
.figurine{height:82%;bottom:10%;width:min(57vw,820px);transform-origin:50% 75%}
.figurine:after{content:'';position:absolute;z-index:-1;left:29%;right:22%;bottom:1.6%;height:15px;border-radius:50%;background:#562a1933;filter:blur(10px)}
.scene-art{object-position:center bottom}
.scene-cup{left:-.5%;bottom:2%;width:43%;height:50%;transform:translate3d(0,var(--cup-y),0) rotate(-7deg)}
.flavor-caption{bottom:16.5%;max-width:240px}
.flavor-kicker{font:700 9px var(--english-font);letter-spacing:.14em}
.flavor-caption h2{font-weight:800;font-size:35px;letter-spacing:-.06em;margin-top:7px}
.flavor-caption h2 span{font:700 10px var(--body-font);letter-spacing:.07em;margin-top:10px}
.flavor-caption p{font-size:11px;margin-top:15px}
.flavor-sign{display:none}
.carousel-arrows{bottom:5.5%;gap:11px}
.carousel-arrows button{width:53px;height:53px;border-color:#173f2c80;background:#ffffff0f;font-size:24px}
.carousel-arrows button:hover{background:var(--ink);color:#fff8e9}
.hero-bottom{bottom:5.2%}
.flavor-controls{border:0;background:transparent;padding:0;gap:12px}
.flavor-controls button{font-size:11px;font-weight:700;padding:10px 4px;min-height:40px;border-radius:0;gap:6px;opacity:.62;border-bottom:1px solid transparent;line-height:1.3}
.flavor-controls button[aria-pressed='true']{color:var(--ink);background:transparent;border-color:var(--ink);opacity:1}
.flavor-controls button:hover{color:var(--ink);background:transparent;opacity:1}
.flavor-dot{display:none}
.skip-story{bottom:5.5%}
.skip-story>span{font-weight:800;font-size:29px;letter-spacing:-.06em}
.skip-story small{font-size:9px;letter-spacing:.03em}
.scene-foreground{position:absolute;left:50%;top:49%;width:min(110vw,1600px);height:120%;object-fit:contain;z-index:150;opacity:var(--sweep-opacity,0);transform:translate3d(calc(-50% + var(--sweep-x,0px)),-50%,0) rotate(var(--sweep-rotate,0deg));pointer-events:none;filter:url(#studio-cutout);will-change:transform,opacity}
.flavors-section{background:var(--cream);padding-top:96px;padding-bottom:75px;overflow:hidden}
.section-topline{font-family:var(--english-font);font-size:9px;letter-spacing:.1em;padding-bottom:18px}
.section-heading{margin-top:55px;align-items:flex-end}
.section-heading h2{font-family:var(--english-font);line-height:.8;letter-spacing:-.06em}
.collection-title{font-size:clamp(70px,10vw,170px);display:block;font-weight:800;line-height:.77;letter-spacing:-.065em}
.collection-title em{font-family:var(--accent-font);font-style:italic;font-weight:400;letter-spacing:-.055em;padding-left:1.05em;font-size:1.1em}
.collection-title-jp{display:block;font:700 16px var(--body-font);letter-spacing:.04em;margin-top:27px}
.section-heading p{font-size:12px;line-height:2.3;max-width:280px;padding-bottom:10px}
.product-grid{gap:4vw;margin-top:55px}
.product{padding:38px 15px 10px}
.product-mango{padding-top:100px}.product-kiwi{padding-top:160px}
.product:before{content:none}
.product-mango:before{top:100px;background:#f1db89;transform:rotate(8deg)}
.product-kiwi:before{top:155px;background:#c0d0a5;transform:rotate(-8deg)}
.product-number{left:0;top:0;font:500 12px var(--english-font)}
.product-mango .product-number{top:62px}.product-kiwi .product-number{top:122px}
.product-image-button img{height:clamp(290px,34vw,500px);transform:rotate(-8deg)}
.product-word{z-index:2;font-family:var(--accent-font);font-size:clamp(48px,6vw,90px);font-weight:400;line-height:.8;color:#a42f4b;top:8%;left:75%;transform:rotate(-12deg);letter-spacing:-.04em}
.product-mango .product-word{top:17%;left:60%;color:#a95b10}
.product-kiwi .product-word{top:27%;left:58%;color:#3e6434}
.product-info{margin-top:30px;padding-top:20px;position:relative}
.product h3{font-family:var(--english-font);font-size:31px;font-weight:800;letter-spacing:-.06em}
.product h3 span{font-size:11px;letter-spacing:.01em;margin-top:10px}
.product>p{font-size:11px}
.round-link{border-color:#173f2c75;width:39px;height:39px;font-size:21px}
.collection-note{margin-top:65px;font-size:10px}
.do-sourcing{padding-top:100px;padding-bottom:110px;background:#e8eddd}
.do-sourcing-word{font-family:var(--english-font);font-weight:800;font-variation-settings:'wdth' 75,'opsz' 96;font-size:15vw;line-height:.9;letter-spacing:-.065em;margin:55px 0 38px}
.do-sourcing-word>span{font-family:var(--accent-font);font-weight:400;font-size:38px;line-height:.86;color:var(--ink);transform:rotate(-6deg);letter-spacing:-.04em}
.do-sourcing-body{grid-template-columns:1fr 1.2fr;gap:12vw;padding-top:42px}
.do-sourcing-copy h2{font-family:var(--body-font);font-weight:800;font-size:37px;line-height:1.5;letter-spacing:-.05em}
.do-origin-fruit{font-weight:700;font-size:34px;letter-spacing:-.065em}
.do-origin-row{padding:30px 0}.do-origin-row dd{font-weight:700;font-size:22px}
.do-sourcing-lead{font-size:15px}.do-sourcing-description{font-size:12px}.do-sourcing-note{font-size:10px}
.do-origin-caption>span{background:none;border-bottom:1px solid currentColor;padding:3px 0}
.word-ribbon{font-family:var(--english-font);font-weight:700;letter-spacing:-.05em;padding:19px 0;font-size:clamp(20px,3.7vw,54px);background:var(--ink);color:var(--cream)}
.word-ribbon i{font-size:.6em}
.about-section{grid-template-columns:.7fr 1.3fr;gap:6vw;padding:140px var(--space) 115px}
.about-copy h2{font-size:clamp(32px,3.2vw,52px);font-weight:800;line-height:1.55;margin-top:28px;letter-spacing:-.07em}
.about-copy>p:not(.eyebrow){font-size:13px;line-height:2.4}.about-copy .button{font-size:12px;min-height:50px;margin-top:30px}
.shop-figure{transform:none;margin-right:calc(var(--space) * -1)}
.shop-figure>img{height:clamp(500px,48vw,750px);border-radius:220px 0 0 0}
.shop-figure figcaption{padding-right:var(--space);font-size:9px;margin-top:17px}
.about-sign{font-family:var(--accent-font);font-weight:400;font-style:italic;font-size:65px;line-height:.75;color:#bb4c60;bottom:-100px;right:20%;transform:rotate(-10deg);letter-spacing:-.04em}
.do-access{padding-top:60px;grid-template-columns:.7fr 1.3fr;gap:7vw;margin-bottom:130px}
.do-access-copy h2{font-weight:800;font-size:52px;line-height:1.45;letter-spacing:-.07em}
.do-map-figure{background:#f2db98;transform:rotate(-2deg);box-shadow:16px 18px 0 #ded7c6}
.do-map-topline{font-weight:700;letter-spacing:.03em}.do-map-little-note{font-family:var(--accent-font);font-size:28px}.do-map-shop-pin>text{font-weight:800}
.coupon-section{min-height:570px;padding:100px var(--space);background:#d1e0a9;color:var(--ink)}
.coupon-copy{margin-left:24%}.coupon-copy h2{font-family:var(--body-font);font-weight:800;font-size:clamp(37px,4vw,64px);line-height:1.5;letter-spacing:-.07em}
.coupon-large{font-family:var(--body-font);font-size:19px;font-weight:800;min-height:72px;background:var(--ink);color:var(--cream);border-radius:6px;position:relative}
.coupon-large:before,.coupon-large:after{content:'';position:absolute;width:22px;height:22px;top:calc(50% - 11px);border-radius:50%;background:#d1e0a9}
.coupon-large:before{left:-11px}.coupon-large:after{right:-11px}.coupon-large:hover{background:#245b3d;color:white}
.coupon-portrait{background:transparent;left:-3%;width:43%;bottom:-43%;height:141%;transform:rotate(-10deg)}
.coupon-portrait img{transform:scale(1.12)}.coupon-doodle{font-family:var(--accent-font);font-style:italic;font-weight:400;font-size:48px;color:var(--ink);top:18%;right:6%;line-height:.8;letter-spacing:-.04em}
.site-footer{background:var(--ink);color:var(--cream);padding-top:58px}
.footer-wordmark{font-family:var(--english-font);font-weight:800;font-size:15.5vw;letter-spacing:-.08em;line-height:1.04}
.footer-bottom{border-color:#fff8e936;font-weight:500;font-size:10px}.footer-bottom small{font-size:9px}
.dialog-wordmark{font-family:var(--english-font);font-weight:800;letter-spacing:-.06em}.dialog-return{font-weight:700}dialog h2{font-weight:800}
@media(min-width:1800px){.figurine{width:52vw;max-width:1050px}.hero-copy{bottom:30%}.flavor-caption{bottom:18%}.flavor-caption h2{font-size:47px}}
@media(max-width:1100px) and (min-width:761px){.figurine{width:68vw;height:76%;bottom:15%}.hero-copy{bottom:34%;max-width:205px}.hero-copy h1{font-size:15px}.hero-intro{font-size:9px;max-width:150px}.flavor-caption{bottom:19%;max-width:200px}.flavor-caption h2{font-size:29px}.stage-edition{top:14%;font-size:8px}.skip-story>span{font-size:23px}.about-section{gap:4vw}.about-sign{display:block;font-size:50px;right:17%;bottom:-90px}.do-sourcing-body{gap:7vw}.do-sourcing-copy h2{font-size:30px}.do-sourcing-word>span{font-size:28px}.do-origin-fruit{font-size:29px}.coupon-doodle{font-size:35px;right:4%}.coupon-copy{margin-left:30%}.coupon-large{min-width:310px}}
@media(max-width:760px){
  :root{--space:22px;--header-height:75px}
  .site-header{gap:10px}.brand{font-size:17px;gap:4px}.brand-do{font-size:36px}.header-coupon{font-size:9px;min-height:36px;padding:8px 11px;gap:9px}
  .hero-stage{min-height:620px}.stage-edition{top:13%;font-size:7px;letter-spacing:.11em;left:var(--space);transform:none}.stage-edition span{margin:0 8px}
  .hero-copy{top:auto;bottom:25%;max-width:140px}.hero-copy h1{font-size:12px;line-height:1.6}.hero-intro{display:none}
  .flavor-word{top:25%;font-size:24vw;transform:translate3d(calc(-50% + var(--word-x)),0,0) scaleY(1.5);letter-spacing:-.075em}
  .mango .flavor-word,.kiwi .flavor-word{top:21%;font-size:43vw}
  .figurine{height:67%;width:113vw;bottom:19%;transform-origin:50% 76%}
  .scene-cup{left:2%;width:43%;height:48%;bottom:1%}
  .flavor-caption{bottom:17%;left:var(--space);max-width:155px}.flavor-caption h2{font-size:24px;margin-top:5px}.flavor-kicker{font-size:6px;letter-spacing:.12em}.flavor-caption h2 span{font-size:8px;letter-spacing:.03em;margin-top:6px}.flavor-caption p{display:none}
  .hero-bottom{bottom:2.7%;height:36px}.flavor-controls{gap:12px;justify-content:center;width:auto}.flavor-controls button{font-size:10px;padding:7px 2px;flex:0 0 auto;min-height:36px}
  .carousel-arrows{bottom:8.5%;gap:9px}.carousel-arrows button{width:37px;height:37px;font-size:21px}.skip-story{bottom:9%}.skip-story>span{font-size:20px}.skip-story small{font-size:7px;margin-top:7px}
  .stage-floor{bottom:-33%;height:72%}.scene-foreground{width:190vw;height:100%}
  .flavors-section{padding:54px var(--space) 44px}.section-topline{font-size:7px}.section-topline .eyebrow{font-size:9px}.section-heading{margin-top:45px}.collection-title{font-size:21vw;line-height:.75}.collection-title em{padding-left:1.05em}.collection-title-jp{font-size:13px;margin-top:25px}.section-heading p{font-size:11px;margin-top:20px;padding-bottom:0}
  .product-grid{gap:40px;margin-top:45px}.product{padding:26px 0 0;column-gap:24px;min-height:270px}.product:before{width:44%;left:0;right:auto;height:80%;top:26px;border-radius:45%}.product-mango:before{left:auto;right:0;top:26px}.product-kiwi:before{top:26px}.product-image-button img{height:280px}.product-number,.product-mango .product-number,.product-kiwi .product-number{top:0;font-size:10px}.product-info{margin-top:50px;padding-top:18px}.product h3{font-size:25px}.product h3 span{font-size:9px}.product>p{font-size:10px}.round-link{width:33px;height:33px;flex-basis:33px;font-size:19px}.product-word{font-size:51px;top:13%;left:28%}.product-mango .product-word{top:12%;left:40%}.product-kiwi .product-word{top:13%;left:26%}.collection-note{margin-top:40px;font-size:8px}
  .do-sourcing{padding:60px var(--space) 60px}.do-sourcing-word{font-size:20vw;line-height:1;margin:30px 0;letter-spacing:-.07em}.do-sourcing-body{padding-top:30px;display:block}.do-sourcing-copy h2{font-size:31px}.do-sourcing-lead{font-size:13px;margin-top:24px}.do-sourcing-description{font-size:11px}.do-origin-list{margin-top:35px}.do-origin-fruit{font-size:29px}.do-origin-row{padding:23px 0}.do-origin-row dd{font-size:19px}.do-sourcing-note{font-size:9px}.word-ribbon{font-size:23px;gap:23px;padding:17px 22px}
  .about-section{padding:74px var(--space) 75px;gap:46px}.about-copy h2{font-size:33px;line-height:1.5;margin-top:20px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:2.3}.about-copy .button{min-width:220px;font-size:11px}.about-sign{right:2%;bottom:12px;font-size:47px}.shop-figure{margin-right:calc(var(--space) * -1);margin-left:0}.shop-figure>img{height:420px;border-radius:120px 0 0 0}.shop-figure figcaption{font-size:8px;margin-top:13px}
  .do-access{padding-top:36px;margin-bottom:83px;display:block}.do-access-copy h2{font-size:40px}.do-map-figure{margin:40px 8px 0 0;box-shadow:9px 11px 0 #ded7c6;transform:rotate(-2deg)}.do-access-intro{font-size:11px}.do-map-caption{font-size:10px}.do-map-caption>span{font-size:9px}
  .coupon-section{min-height:560px;padding:50px var(--space);align-items:flex-start}.coupon-copy{margin-left:0}.coupon-copy h2{font-size:34px;line-height:1.5;margin-top:20px}.coupon-large{width:100%;min-width:0;font-size:16px;min-height:64px;gap:35px}.coupon-portrait{left:44%;width:70%;bottom:-41%;height:99%}.coupon-doodle{left:var(--space);right:auto;top:auto;bottom:70px;font-size:45px}.site-footer{padding-top:32px}.footer-wordmark{font-size:14.9vw;letter-spacing:-.08em}.footer-bottom{font-size:8px;gap:17px}.footer-bottom small{font-size:8px}.mobile-menu{background:var(--cream)}.mobile-menu>a{font-family:var(--body-font);font-weight:800;font-size:20px}.mobile-menu .button{background:var(--ink);color:var(--cream)}
}
@media(max-width:380px){:root{--space:17px}.brand{font-size:15px}.brand-do{font-size:33px}.header-coupon{font-size:8px;padding:8px 10px}.hero-copy h1{font-size:11px}.hero-copy{max-width:130px}.flavor-caption h2{font-size:22px}.skip-story>span{font-size:18px}.product{column-gap:16px}.product h3{font-size:23px}.about-sign{font-size:38px}.coupon-copy h2{font-size:31px}}
@media(max-height:700px) and (min-width:761px){.hero-copy{top:auto;bottom:33%}.hero-copy h1{font-size:16px}.figurine{height:82%;bottom:11%}.flavor-caption{bottom:19%}.flavor-caption h2{font-size:29px}.stage-edition{top:17%}.carousel-arrows{bottom:5%}.skip-story{bottom:5%}.hero-bottom{bottom:4%}}
@media(prefers-reduced-motion:reduce){.scene-foreground{display:none}.figurine{will-change:auto}.site-header{transition:none}}

/* 縦長画面では、見出しと商品説明を画像の前から余白へ移す。 */
@media(max-width:1100px){
  .hero-copy{top:17%;bottom:auto;max-width:240px}
  .hero-copy h1{font-size:15px}
  .hero-intro{display:none}
  .stage-edition{left:var(--space);transform:none;top:13%}
}
@media(max-width:760px){
  .stage-edition{top:10%}
  .hero-copy{top:13%;max-width:210px}
  .hero-copy h1{font-size:14px}
  .figurine{width:105vw;height:60%;bottom:29%}
  .scene-cup{left:43%;bottom:-13%;width:32%;height:40%}
  .flavor-caption{bottom:18%;max-width:150px}
  .flavor-caption h2{font-size:23px}
}

/* 味名は読める見出しとして確保し、文字の縦伸ばし・横流れをやめる。 */
.flavor-word,.mango .flavor-word,.kiwi .flavor-word,.banana .flavor-word{
  top:12%;font-size:14vw;letter-spacing:0;
  font-variation-settings:'wdth' 100,'opsz' 48;
  transform:translateX(-50%);line-height:1;
}
.mango .flavor-word,.kiwi .flavor-word,.banana .flavor-word{font-size:18vw;top:10%}
.banana .flavor-word{color:#fff8e9}
.figurine{height:70%}
.stage-edition{top:auto;bottom:15%;left:auto;right:var(--space);transform:none;font-size:9px;letter-spacing:.08em}
@media(max-width:1100px) and (min-width:761px){
  .hero-copy{top:13.5%}
  .flavor-word,.mango .flavor-word,.kiwi .flavor-word,.banana .flavor-word{top:21%;font-size:14vw}
  .figurine{height:66%;bottom:13%}
  .stage-edition{font-size:7px;bottom:14%}
}
@media(max-width:760px){
  .flavor-word,.mango .flavor-word,.kiwi .flavor-word,.banana .flavor-word{top:20%;font-size:14.2vw;letter-spacing:-.015em}
  .mango .flavor-word,.kiwi .flavor-word,.banana .flavor-word{font-size:24vw;top:18%}
  .banana .flavor-word{font-size:22vw}
  .figurine{height:53%;bottom:26%}
  .scene-cup{bottom:-7%}
  .stage-edition{top:10%;bottom:auto;left:var(--space);right:auto;font-size:7px;letter-spacing:.05em}
}

.js #flavor-story{height:980svh}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.7vw}
.product h3{font-size:27px}.product-image-button img{height:clamp(250px,26vw,385px)}
.product-kiwi{padding-top:38px}.product-kiwi:before{top:45px}.product-kiwi .product-number{top:0}.product-kiwi .product-word{top:8%}
.product-banana{padding-top:100px}.product-banana:before{top:100px;background:#efdf9f;transform:rotate(9deg)}
.product-banana .product-number{top:62px}.product-banana .product-word{top:17%;left:53%;color:#9a761b}
.product-word{font-size:clamp(38px,4.8vw,70px);left:65%}
.fruit-roll{background:var(--cream);padding:32px 0 25px;overflow:clip}
.fruit-roll-track{position:relative;height:clamp(190px,20vw,290px);overflow:clip;border-bottom:1px solid #173f2c21}
[data-roll-fruit]{position:absolute;left:0;bottom:0;width:clamp(110px,15vw,215px);height:clamp(110px,15vw,215px);object-fit:contain;transform-origin:50% 50%;transform:translate3d(var(--roll-x,0px),var(--roll-y,0px),0) rotate(var(--roll-rotation,0deg));filter:url(#studio-cutout);pointer-events:none;will-change:transform}
[data-roll-fruit]:nth-child(2n){width:clamp(135px,19vw,270px);height:clamp(135px,19vw,270px)}
[data-roll-fruit]:nth-child(3n){width:clamp(105px,14vw,200px);height:clamp(105px,14vw,200px)}
.banana-fruit{filter:none}
@media(max-width:1100px) and (min-width:761px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 65px}.product-word{font-size:68px}.product-image-button img{height:360px}.product h3{font-size:31px}}
@media(max-width:760px){
  .js #flavor-story{height:940svh}
  .product-grid{gap:35px}.product{padding-top:26px}.product-image-button img{height:280px}.product h3{font-size:25px}
  .product-banana{direction:rtl}.product-banana>*{direction:ltr}.product-banana:before{left:auto;right:0;top:26px}
  .product-kiwi:before{top:26px}.product-banana .product-number{top:0}.product-word{font-size:49px;left:28%}.product-kiwi .product-word{top:13%;left:26%}.product-banana .product-word{top:12%;left:37%}
  .fruit-roll{padding:5px 0 10px}.fruit-roll-track{height:170px}
}
@media(prefers-reduced-motion:reduce){.js #flavor-story{height:100svh}[data-roll-fruit]{will-change:auto}}

.figurine{transform-origin:50% 100%;filter:none}
.scene-art,.scene-cup{filter:url(#studio-cutout) blur(var(--figure-blur,0px))}
@media(min-width:1101px){.hero-copy{top:37%;bottom:auto}.flavor-caption{top:45%;bottom:auto}}
@media(max-width:1100px) and (min-width:761px){.flavor-caption{top:auto;bottom:13%}}
.flavor-scene[data-flavor-scene="0"]{--figure-x:8vw}
.flavor-scene[data-flavor-scene="1"]{--figure-x:24vw;--figure-y:-13.5vh;--figure-scale:.383;--figure-blur:.5px;--figure-opacity:.85;--figure-z:38}
.flavor-scene[data-flavor-scene="2"]{--figure-x:-16vw;--figure-y:-27vh;--figure-scale:.25;--figure-blur:1px;--figure-opacity:.7;--figure-z:25}
.flavor-scene[data-flavor-scene="3"]{--figure-x:-32vw;--figure-y:-13.5vh;--figure-scale:.383;--figure-blur:.5px;--figure-opacity:.85;--figure-z:38}
.finale{background:#f4efe5;overflow:clip}
.finale-picture{position:relative;overflow:clip}
.finale-friends{display:block;width:100%;height:auto}
.finale-greeting{position:absolute;top:7%;left:var(--space);right:var(--space);text-align:center;color:var(--ink)}
.finale-greeting .eyebrow{font-size:11px;letter-spacing:.13em}
.finale-greeting h2{font-family:var(--body-font);font-size:clamp(34px,4.4vw,75px);line-height:1.4;font-weight:800;letter-spacing:-.055em;margin-top:17px}
.finale-invitation{display:flex;align-items:center;justify-content:center;gap:48px;padding:38px var(--space) 48px;background:#f4efe5}
.finale-invitation p{font-size:13px;letter-spacing:.02em}.finale-invitation strong{font-family:var(--english-font);font-size:17px;font-weight:800}
.finale-coupon{min-width:260px;min-height:59px;font-size:14px;border-radius:50px}
@media(max-width:760px){
  .finale-picture{aspect-ratio:1.2}
  .finale-friends{position:absolute;left:50%;width:148%;max-width:none;transform:translateX(-50%)}
  .finale-greeting{top:7.5%;left:10px;right:10px}
  .finale-greeting .eyebrow{font-size:7px;letter-spacing:.1em}
  .finale-greeting h2{font-size:6.5vw;margin-top:9px;line-height:1.3;letter-spacing:-.055em}
  .finale-invitation{display:block;text-align:center;padding:29px var(--space) 38px}
  .finale-invitation p{font-size:11px;margin-bottom:18px}.finale-invitation strong{font-size:15px}
.finale-coupon{width:min(100%,330px);min-width:0;min-height:57px;font-size:13px}
}

/* カップと同じ座標に置き、各フルーツの輪郭を周囲に見せる。 */
.product-image-button{isolation:isolate}
.product-fruit-shape{position:absolute;left:-10%;top:-4%;width:120%;height:108%;overflow:visible;pointer-events:none;z-index:-1;transform:rotate(-8deg)}
.product-mango .product-fruit-shape{transform:rotate(5deg)}
.product-kiwi .product-fruit-shape{transform:rotate(-12deg)}
.product-banana .product-fruit-shape{transform:rotate(9deg)}
.product-image-button img{position:relative;width:88%;margin-inline:auto}

/* 文字を詰めず、クリーム色の縁と短い影で立ち上げた見出し。 */
.collection-title,.do-sourcing-word>.sourcing-title{
  font-variation-settings:'wdth' 100,'opsz' 32;
  letter-spacing:.01em;line-height:1;
  -webkit-text-stroke:clamp(1px,.13vw,2px) #fffaf0;paint-order:stroke fill;
  text-shadow:1px 1px 0 #a7b798,2px 2px 0 #a7b798,3px 3px 0 #a7b798,4px 4px 0 #a7b798,5px 5px 0 #a7b798;
}
.collection-title,.do-sourcing-word>.sourcing-title{font-family:var(--english-font);font-weight:800;font-style:normal;font-size:clamp(62px,9vw,153px);line-height:.94;letter-spacing:0}
.collection-title em,.sourcing-title em{display:inline-block;font-family:var(--accent-font);font-style:italic;font-weight:400;font-size:1.1em;padding-left:1.05em;letter-spacing:0;line-height:1.05}
.do-sourcing-word{gap:2vw;margin:45px 0 40px;white-space:normal;align-items:flex-end}
.do-sourcing-word>.sourcing-title{display:block;flex:0 1 auto;margin:0;padding:0;transform:none;color:var(--ink)}
.do-sourcing-word>.sourcing-title-note{font-size:clamp(24px,2.8vw,40px);letter-spacing:0;line-height:1;margin-bottom:17px;-webkit-text-stroke:0;text-shadow:none}
.do-sourcing-copy h2,.about-copy h2,.do-access-copy h2,.finale-greeting h2{
  letter-spacing:.02em;line-height:1.55;
  -webkit-text-stroke:1.5px #fffaf0;paint-order:stroke fill;
  text-shadow:1px 1px 0 #c4ccaf,2px 2px 0 #c4ccaf,3px 3px 0 #c4ccaf;
}
.product h3,.do-origin-fruit{letter-spacing:-.01em}
.hero-copy h1,dialog h2{letter-spacing:.01em}
@media(min-width:761px){.do-access-copy h2{font-size:clamp(30px,3.35vw,48px)}}
@media(max-width:760px){
  .product-fruit-shape{left:-9%;width:118%;top:0;height:100%}
  .product-image-button img{width:90%}
  .product h3{font-size:23px}
  .collection-title,.do-sourcing-word>.sourcing-title{font-size:19vw}
  .do-sourcing-word{margin:30px 0}
  .do-sourcing-word>.sourcing-title-note{display:none}
  .collection-title,.do-sourcing-word>.sourcing-title{text-shadow:1px 1px 0 #a7b798,2px 2px 0 #a7b798,3px 3px 0 #a7b798}
  .do-sourcing-copy h2,.about-copy h2,.do-access-copy h2,.finale-greeting h2{letter-spacing:.01em;-webkit-text-stroke:1px #fffaf0;text-shadow:1px 1px 0 #c4ccaf,2px 2px 0 #c4ccaf}
}
