@charset "utf-8";
/* Kagamizake product presentation. */
:root{--font:Arial,"Hiragino Sans","Yu Gothic Medium",Meiryo,sans-serif;--header-height:70px}
*{box-sizing:border-box}html{overflow-y:scroll;-webkit-text-size-adjust:100%;scroll-padding-top:70px}body{margin:0;background:#fff;color:#000;font:14px/1 var(--font);-webkit-font-smoothing:antialiased;position:relative}h1,h2,h3,p,ul,dl,dd{margin:0;padding:0}ul{list-style:none}h1,h2,h3{font-weight:500}a{color:inherit;text-decoration:none;transition:color .35s,background-color .35s}button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #bc0000;outline-offset:5px}a:hover{color:#999}.skip-link{position:fixed;left:16px;top:-80px;padding:15px;background:#fff;color:#000;z-index:3000}.skip-link:focus{top:10px}.chevron{display:block;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:auto}.chevron.up{transform:rotate(225deg)}.chevron.left{transform:rotate(135deg)}.chevron.right{transform:rotate(-45deg)}
.site-header{position:absolute;inset:0 0 auto;height:310px;z-index:200;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.header-name{position:absolute;top:70px;left:76px;font-size:19px;letter-spacing:.2em;color:#fff;line-height:1}.header-shop{position:absolute;top:70px;right:73px;color:#fff;font:600 14px/1 Arial,sans-serif;letter-spacing:.1em}.desktop-nav{display:none}.menu-toggle{display:none}.scrolled .site-header{position:fixed;height:70px;background:#000;color:#fff;box-shadow:0 0 15px 5px #0000001a;animation:menu-down .5s ease}.scrolled .header-name{left:40px;top:50%;transform:translateY(-50%);font-size:16px}.scrolled .header-shop{right:40px;top:0;line-height:70px}.scrolled .desktop-nav{display:block}.desktop-nav ul{display:flex;justify-content:center}.desktop-nav a{display:block;font-size:14px;padding:0 22px;line-height:70px;color:#fff}.desktop-nav a:hover{color:#bc0000}.menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:400px;max-width:80%;height:100dvh;max-height:100dvh;border:0;padding:0;background:#000;color:#fff;z-index:2200}.menu-dialog::backdrop{background:#0006}.menu-scroll{height:100%}.menu-close{height:60px;width:100%;text-align:right;padding:0 24px;background:#000;color:white;border-bottom:1px solid #333;font-size:28px}.menu-dialog nav a{display:block;padding:0 25px;line-height:60px;border-bottom:1px solid #222}.menu-dialog nav a:hover{background:#222;color:#fff}
.hero{position:relative;width:100%;height:calc(100svh - 40px);padding:40px;margin-bottom:40px;overflow:hidden;background:#fff}.hero-slides{height:100%}.hero-slide{position:relative;height:calc(100svh - 40px)!important;overflow:hidden}.hero-slides:not(.slick-initialized) .hero-slide{display:none}.hero-slides:not(.slick-initialized) .photo-slide{display:block}.logo-slide{background:#ad201d;color:#fff}.hero-paper{position:absolute;inset:0}.hero-paper picture{display:block;width:100%;height:100%}.hero-paper img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:1}.hero-paper:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#52060826)}.logo-content{position:absolute;left:70%;top:50%;color:#fff;text-shadow:0 1px 14px #580a0a44;transform:translate(-50%,-50%);text-align:center;z-index:3}.hero-mark{width:184px;height:184px;display:flex;align-items:center;justify-content:center;gap:14px}.hero-mark .hero-name{font-family:"Yu Mincho","Hiragino Mincho Pro",serif;writing-mode:vertical-rl;font-size:72px;line-height:1.15;letter-spacing:.06em}.hero-mark p{writing-mode:vertical-rl;font-size:12px;letter-spacing:.12em}.hero-logo-catch{writing-mode:vertical-rl;display:inline-block;text-align:left;line-height:1.5;font-size:30px;font-weight:500;margin-top:30px}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:brightness(1.08)}.hero-shade{background:linear-gradient(90deg,#00000005,#00000012 50%,#00000005)}.hero-catch{text-shadow:0 2px 18px #18100bd9,0 1px 3px #18100b80;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;font-size:30px;line-height:1.5;text-align:left;color:white;font-weight:500;z-index:3;white-space:nowrap}.hero-next{position:absolute;right:40px;bottom:0;width:60px;height:60px;background:#fff;display:grid;place-items:center;z-index:5}.hero-next:hover{color:#ccc}.motion-toggle{position:absolute;bottom:0;left:40px;width:40px;height:34px;background:#fff;color:#333;font-size:12px;z-index:6}.motion-toggle:hover{background:#eee}.letter-reveal span{position:relative}.motion-ready:not(.motion-paused) .slick-active .letter-reveal span{animation:letter-in .7s ease both;animation-delay:var(--delay)}
.full-block{position:relative;height:600px;overflow:hidden}.vertical-inner{position:relative;width:860px;height:600px;margin:0 auto;z-index:3}.vertical-copy{position:absolute;top:100px;left:50%;transform:translateX(-50%);writing-mode:vertical-rl;text-align:left}.vertical-copy .catch{font-size:30px;line-height:1.5;font-weight:500;white-space:nowrap}.vertical-copy .desc{margin-right:30px;font-size:16px;line-height:2.8;white-space:nowrap}.intro{--product-width:min(48vw,660px);display:flex;align-items:center;justify-content:center;gap:30px;height:100svh;min-height:680px;padding:60px 40px}.intro .vertical-inner{order:2;width:auto;height:auto;margin:0}.intro .vertical-copy{position:static;transform:none}.intro-photo{display:none;order:1;flex:0 0 auto;width:var(--product-width);align-self:flex-end;margin-bottom:calc(var(--product-width) * -.47);transform:translate3d(0,var(--photo-shift,0px),0);will-change:transform}.intro-photo img{width:100%;height:auto;object-fit:contain}.scene-photo,.scene .shade{position:absolute;inset:0}.scene-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.scene .shade{background:#0006}.scene .catch{color:#fff}
.three-banners{display:flex;height:600px}.banner{width:33.333333%;height:600px;position:relative;overflow:hidden;color:#fff}.banner>a{display:block;height:100%;position:relative;color:#fff}.banner-photo{position:absolute;inset:0;overflow:hidden}.banner-photo img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.banner:hover .banner-photo img,.banner:focus-within .banner-photo img{transform:scale(1.2)}.banner-title{position:absolute;left:0;top:0;z-index:4;width:180px;height:180px;text-align:center;font-size:18px;line-height:1.4;font-weight:500;background:linear-gradient(#630000,transparent)}.banner-title span{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%)}.item-2 .banner-title{background:linear-gradient(#624c00,transparent)}.item-3 .banner-title{background:linear-gradient(#002f40,transparent)}.banner-desc{position:absolute;left:0;bottom:0;z-index:3;padding:40px 75px;font-size:16px;line-height:2.4;opacity:0;transition:opacity .5s ease}.banner a:after{content:'';position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,#000);opacity:0;transition:opacity .5s;z-index:2;pointer-events:none}.banner:hover .banner-desc,.banner:focus-within .banner-desc{opacity:1;transition:opacity 1s ease .5s}.banner:hover a:after,.banner:focus-within a:after{opacity:1}.item-3 .banner-photo{background:#fff}.item-3 .banner-photo img{object-fit:contain}
.story{height:600px;display:flex;position:relative}.story.reverse{flex-direction:row-reverse}.story-image,.story-content{width:50%;height:600px;position:relative}.story-image{overflow:hidden;background:#fff}.story-image>a{display:block;height:100%;position:relative;color:#fff}.story-photo{width:100%;height:100%;object-fit:cover}.story-shade{position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#000b);opacity:.75;transition:opacity .5s}.image-caption,.image-name{position:absolute;bottom:0;left:0;z-index:3;width:100%;text-align:center;font-size:22px;font-weight:500;line-height:1.5;padding:40px 30px;transition:opacity .7s ease .4s}.image-name{opacity:0;transition-delay:0s}.story-image a:hover .image-caption,.story-image a:focus-visible .image-caption{opacity:0;transition-delay:0s}.story-image a:hover .image-name,.story-image a:focus-visible .image-name{opacity:1;transition-delay:.6s}.story-image a:hover .story-shade{opacity:1}.story-content{display:flex;align-items:center}.story-copy{padding:0 130px;width:100%}.story-copy .catch{font-size:28px;line-height:1.5}.story-copy .desc{font-size:16px;line-height:2;margin-top:22px}.story-copy .desc p+p{margin-top:16px}#gift .story-photo{object-fit:contain}
.two-carousels{display:flex;height:600px}.info-panel{position:relative;width:50%;height:600px;overflow:hidden;background:#fff;color:#fff}.info-photo,.info-shade{position:absolute;inset:0}.info-photo img{height:100%;width:100%;object-fit:cover}.info-shade{background:linear-gradient(transparent 20%,#000c)}.info-1 .banner-title{background:linear-gradient(#244603,transparent)}.info-2 .banner-title{background:linear-gradient(#a16b85,transparent)}.info-slider-wrap{position:absolute;bottom:40px;left:0;width:100%;height:120px;z-index:5}.info-slider{margin:0 130px}.info-item{height:120px;position:relative}.info-item>a{display:block;height:100%;color:white}.info-thumb{width:120px;height:120px;border:10px solid #fff;background:#fff;overflow:hidden}.info-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .75s}.info-item a:hover .info-thumb img{transform:scale(1.2)}.info-text{position:absolute;left:140px;right:0;top:50%;transform:translateY(-50%)}.info-text h3{font-size:14px;font-weight:600;line-height:1.8}.info-text p{font-size:14px;line-height:1.8;margin-top:7px}.carousel-prev,.carousel-next{position:absolute;top:42px;width:50px;height:50px;background:transparent;color:#fff}.carousel-prev{left:80px}.carousel-next{right:80px}.carousel-prev:hover,.carousel-next:hover{color:#ccc}.info-slider:not(.slick-initialized) .info-item:not(:first-child){display:none}
.spec-detail{max-width:860px;margin:0 auto;padding:90px 0}.spec-detail>h2{font-size:28px;line-height:1.5;margin-bottom:40px}.spec-detail dl>div{display:grid;grid-template-columns:180px 1fr;padding:26px 0;border-top:1px solid #ddd;font-size:16px;line-height:2}.spec-detail dt{font-weight:500}.sales-note{font-size:14px;line-height:2;margin-top:32px}.alcohol-notice{font-size:12px;line-height:2;margin-top:16px}
.site-footer{position:relative;padding:128px 0;overflow:hidden;color:#fff}.footer-photo,.footer-overlay{position:absolute;inset:0}.footer-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.footer-overlay{background:rgba(0,0,0,.54)}.footer-inner{position:relative;z-index:2;text-align:center}.footer-mark{width:131px;height:131px;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px}.footer-mark strong{font:500 52px/1.2 "Yu Mincho","Hiragino Mincho Pro",serif;letter-spacing:.15em}.footer-mark span{font:12px/1 Arial,sans-serif;letter-spacing:.18em}.footer-menu{margin-top:40px}.footer-menu ul{display:flex;justify-content:center;flex-wrap:wrap;gap:30px}.footer-menu a{font-size:14px;line-height:1}.footer-button{margin-top:40px}.footer-button a{display:inline-block;min-width:270px;height:60px;line-height:60px;padding:0 25px;background:#000;font-size:14px}.footer-button a:hover{background:#222;color:#fff}.rgc-brand{display:block;width:145px;height:35.6px;margin:40px auto 0;padding:3px 4px}.rgc-brand img{height:auto;width:100%;filter:brightness(0) invert(1)}.footer-bottom{position:absolute;left:0;bottom:0;width:100%;height:60px;border-top:1px solid #ffffff33;display:flex;align-items:center;justify-content:center;gap:30px;z-index:3;font-size:14px}.copyright{text-align:center;height:60px;line-height:60px;font-size:12px;background:#000;color:#fff}.back-top{position:fixed;right:0;bottom:0;width:60px;height:60px;background:#222;color:#fff;display:grid;place-items:center;z-index:190;transition:transform .35s,background .35s}.motion-ready .back-top{transform:translateY(100%)}.motion-ready .back-top.active{transform:none}.back-top:hover{background:#333;color:#fff}.photo-dialog{width:min(900px,90vw);max-width:90vw;max-height:90dvh;border:0;padding:0;background:#fff;color:#111}.photo-dialog::backdrop{background:#000c}.photo-dialog header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;position:sticky;top:0;background:#fff;z-index:2;font-size:14px}.photo-close{font-size:26px;background:#fff}.photo-dialog>img{width:100%;height:calc(90dvh - 60px);object-fit:contain}
/* Animation only starts after the controller has attached. No script = visible. */
.motion-ready:not(.motion-paused) .reveal.pending .catch,.motion-ready:not(.motion-paused) .reveal.pending .desc,.motion-ready:not(.motion-paused) .three-banners.pending .banner,.motion-ready:not(.motion-paused) .two-carousels.pending .info-panel{opacity:0}
.motion-ready:not(.motion-paused) .reveal.entered .catch{animation:fade-in 1s ease both .5s}.motion-ready:not(.motion-paused) .reveal.entered .desc{animation:fade-in 1s ease both 1s}.motion-ready:not(.motion-paused) .three-banners.entered .banner,.motion-ready:not(.motion-paused) .two-carousels.entered .info-panel{animation:fade-in 2s ease both}.motion-ready:not(.motion-paused) .three-banners.entered .item-2,.motion-ready:not(.motion-paused) .two-carousels.entered .info-2{animation-delay:.3s}.motion-ready:not(.motion-paused) .three-banners.entered .item-3{animation-delay:.6s}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes letter-in{from{opacity:0;top:15px}to{opacity:1;top:0}}@keyframes menu-down{from{top:-70px}to{top:0}}
@media(max-width:1200px) and (min-width:1001px){.desktop-nav a{padding:0 14px}.scrolled .header-name{left:24px;font-size:13px}.scrolled .header-shop{right:24px;font-size:12px}}
@media(max-width:1000px){
:root{--header-height:60px}html{scroll-padding-top:60px}.site-header,.scrolled .site-header{height:60px;background:#ffffffb3;box-shadow:none;color:#000}.header-name,.scrolled .header-name{left:20px;top:50%;transform:translateY(-50%);font-size:19px;color:#000}.header-shop,.scrolled .header-shop{right:65px;top:0;line-height:60px;color:#000;font-size:11px}.desktop-nav,.scrolled .desktop-nav{display:none}.menu-toggle{display:flex;position:absolute;right:20px;top:0;width:20px;height:60px;flex-direction:column;justify-content:center;gap:3px;background:transparent;padding:0}.menu-toggle span{width:15px;height:2px;background:currentColor}.hero{height:100svh;padding:0;margin:0}.hero-slide{height:100svh!important}.hero-next{display:none}.motion-toggle{left:0}.vertical-inner{width:auto}.three-banners{height:auto;display:block}.banner{width:100%}.banner-title{width:110px;height:110px;font-size:14px}.banner-desc{padding:25px 40px}.story-copy{padding:0 50px}.info-slider{margin:0 40px}.carousel-prev,.carousel-next{display:none}.spec-detail{margin:0 50px}
}
@media(max-width:750px){
.hero-mark{width:150px;height:150px}.hero-mark .hero-name{font-size:58px}.hero-logo-catch{font-size:20px;margin-top:25px}.hero-catch{font-size:20px;line-height:1.5}.hero-photo img{object-position:53% center}.vertical-copy{top:40px;width:100%;left:50%;writing-mode:horizontal-tb;display:block;text-align:center;padding:0 20px}.vertical-copy .catch{display:inline-block;writing-mode:vertical-rl;font-size:20px;line-height:1.5}.vertical-copy .desc{writing-mode:horizontal-tb;margin:27px 0 0;font-size:14px;line-height:2.4;white-space:normal}.intro{--product-width:min(135vw,600px);height:100svh;min-height:680px;flex-direction:column;gap:0;padding:50px 24px 0}.intro .vertical-inner{order:1;width:100%}.intro .vertical-copy{padding:0}.intro-photo{order:2;width:var(--product-width);max-width:none;align-self:center;margin-top:-10px;margin-bottom:calc(var(--product-width) * -.4)}.scene .vertical-copy{top:40px}.banner{height:360px}.banner-desc{font-size:14px;opacity:1!important;line-height:2.4}.banner a:after{opacity:1}.banner-title{font-size:14px}.story,.story.reverse{height:auto;display:block}.story-image{width:100%;height:360px}.story-content{width:100%;height:auto;display:block}.story-copy{padding:80px 50px 75px}.story-copy .catch{font-size:18px;line-height:1.5}.story-copy .desc{font-size:14px;line-height:2;margin-top:10px}.story-copy .desc p+p{margin-top:12px}.image-caption,.image-name{font-size:18px;padding:30px 20px}.two-carousels{height:auto;display:block}.info-panel{width:100%;height:360px}.info-slider-wrap{bottom:25px;height:100px}.info-slider{margin:0 25px}.info-item{height:100px}.info-thumb{width:100px;height:100px}.info-text{left:120px}.info-text h3{font-weight:500}.info-text p{font-size:12px;line-height:1.7}.spec-detail{padding:60px 0;margin:0 30px}.spec-detail>h2{font-size:20px;margin-bottom:25px}.spec-detail dl>div{display:block;font-size:14px;padding:22px 0}.spec-detail dt{margin-bottom:10px}.sales-note{font-size:12px}.alcohol-notice{font-size:11px}.site-footer{padding:40px 0}.footer-mark{width:105px;height:105px}.footer-mark strong{font-size:42px}.footer-menu{margin-top:30px}.footer-menu ul{display:block}.footer-menu li{margin:10px 0}.footer-menu a{line-height:2}.footer-button{margin-top:25px}.footer-button a{height:50px;line-height:50px;min-width:240px;font-size:12px}.rgc-brand{margin-top:30px;width:125px;height:auto}.footer-bottom{position:relative;height:auto;margin:30px 0 -25px;padding:15px 0 0;display:block;text-align:center;font-size:12px}.footer-bottom a{display:block;margin:10px 0;line-height:2}.copyright{height:50px;line-height:50px}.back-top{width:50px;height:50px}.photo-dialog header{font-size:12px}.motion-ready:not(.motion-paused) .story.entered .catch{animation-delay:1.5s}.motion-ready:not(.motion-paused) .story.entered .desc{animation-delay:2s}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal .catch,.motion-ready .reveal .desc,.motion-ready .three-banners .banner,.motion-ready .two-carousels .info-panel{opacity:1!important}.banner:hover .banner-photo img,.banner:focus-within .banner-photo img,.info-item a:hover .info-thumb img{transform:none}.letter-reveal span{opacity:1!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.info-slider:not(.slick-initialized)~button{display:none}

.motion-paused .intro-photo{transform:none;will-change:auto}@media(prefers-reduced-motion:reduce){.intro-photo{transform:none!important;will-change:auto}}

@media(min-width:751px) and (max-width:1100px){.intro{--product-width:43vw;gap:12px;padding:50px 20px}.intro .vertical-copy .catch{font-size:26px}.intro .vertical-copy .desc{font-size:14px;line-height:2.5;margin-right:20px}}

@media(max-width:750px){.hero-paper img{object-position:left center}.hero-paper:after{background:linear-gradient(90deg,transparent,#52060859)}.logo-content{left:74%;top:34%}}

/* Keep lettering for the moment the opening panels have cleared. */
html.rgc-entry-pending .letter-reveal span{opacity:0}
.hero-paper picture,.hero-photo{will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0);contain:paint}.hero-paper picture{transform-origin:35% 50%}.hero-photo{transform-origin:50% 55%}
@media(max-width:750px){.hero-paper picture{transform-origin:30% 70%}}

/* Place the second scene's copy in the open background beside the glass. */
.hero-catch{left:23%}@media(max-width:750px){.hero-catch{left:19%;top:25%}}

@media(prefers-reduced-motion:reduce){.hero-paper picture,.hero-photo{will-change:auto}}

/* Supplied photographs: preserve the product while framing each use. */
.hero-photo picture{display:block;width:100%;height:100%}
.hero-photo img{filter:none;object-position:50% 54%}
.hero-shade{background:none}
.hero-catch{left:16%;color:#2a2925;text-shadow:0 1px 12px #ffffff90}
body:not(.scrolled):not(.hero-title-active) .header-name,body:not(.scrolled):not(.hero-title-active) .header-shop{color:#2a2925}
.intro-photo{height:var(--product-width);mask-image:linear-gradient(to right,transparent,#000 24%,#000 76%,transparent),linear-gradient(to bottom,transparent,#000 18%);mask-composite:intersect}
.intro-photo img{height:100%;object-fit:cover;object-position:50% 0}
.scene .vertical-copy{left:28%}
.scene-photo img{object-position:center 54%}
.item-2 .banner-photo img{transform:scale(1.45);transform-origin:50% 16%}
.item-2:hover .banner-photo img,.item-2:focus-within .banner-photo img{transform:scale(1.55)}
#cup .story-photo{transform:scale(1.65);transform-origin:50% 12%}
#gift .story-photo{object-fit:cover;object-position:38% 50%}
@media(max-width:750px){.hero-photo{background:#edf0f2}.hero-photo img{position:absolute;bottom:0;height:76%;object-position:50% 50%;mask-image:linear-gradient(to bottom,transparent,#000 15%)}.hero-catch{left:16%;top:20%;font-size:18px}.intro-photo{margin-top:20px}.item-2 .banner-photo img{transform:scale(1.35)}.scene .vertical-copy{left:50%}.scene-photo img{object-position:62% center}#gift .story-photo{object-position:32% 50%}}


