body,html{overflow-x:hidden}.commitment-section,body{background:#fff;position:relative}.about-label .dot,.commitment-label .dot,.section-label .dot{color:#666}.commitment-image img,.gallery-preview-image img{width:100%;height:100%;object-fit:cover;object-position:center}.about-concept-description p:last-child,.commitment-description p:last-child,.concept-description p:last-child,.story-text p:last-child{margin-bottom:0}*{margin:0;padding:0;box-sizing:border-box}html{width:100%}body{font-family:'Noto Serif JP','Yu Mincho',YuMincho,'Hiragino Mincho ProN','HG明朝E','ＭＳ Ｐ明朝',serif;line-height:1.8;color:#333;width:100%}body:not(.js-loaded) .fade-in,body:not(.js-loaded) .fade-in-left,body:not(.js-loaded) .fade-in-right,body:not(.js-loaded) .fade-in-scale,body:not(.js-loaded) .fade-in-stagger{opacity:1!important;transform:none!important}body.js-loaded .fade-in{opacity:0;transform:translateY(80px);transition:opacity 1s ease-out,transform 1s ease-out}body.js-loaded .fade-in-left,body.js-loaded .fade-in-right,body.js-loaded .fade-in-scale{transition:opacity .6s ease-out,transform .6s ease-out;opacity:0}body.js-loaded .fade-in.is-visible{opacity:1;transform:translateY(0)}body.js-loaded .fade-in-left.is-visible,body.js-loaded .fade-in-right.is-visible{transform:translateX(0);opacity:1}body.js-loaded .fade-in-left{transform:translateX(-30px)}body.js-loaded .fade-in-right{transform:translateX(30px)}body.js-loaded .fade-in-scale{transform:scale(.9)}body.js-loaded .fade-in-scale.is-visible{opacity:1;transform:scale(1)}body.js-loaded .fade-in-stagger.is-visible,body.js-loaded section.fade-in.is-visible{transform:translateY(0);opacity:1}body.js-loaded .fade-in-stagger{opacity:0;transform:translateY(20px);transition:opacity .4s ease-out,transform .4s ease-out}body.js-loaded section.fade-in{opacity:0;transform:translateY(100px);transition:opacity 1.2s ease-out,transform 1.2s ease-out}.delay-1{transition-delay:0.1s}.delay-2{transition-delay:0.2s}.delay-3{transition-delay:0.3s}.delay-4{transition-delay:0.4s}.fixed-reserve-banner,.shop-contact-link,.view-more{transition:.3s;text-decoration:none}section{padding:120px 0}.container{max-width:1000px;margin:0 auto;padding:0 20px}.section-title{font-size:2rem;text-align:center;margin-bottom:60px;letter-spacing:.1em;font-weight:300;position:relative}.section-title::after{content:'';display:block;width:40px;height:1px;background:#333;margin:20px auto 0}.section-subtitle{font-size:.9rem;color:#666;text-align:center;margin-top:10px;letter-spacing:.05em}.commitment-section{padding:0;margin:120px 0;min-height:100vh;display:flex;align-items:center}.commitment-content{position:relative;display:grid;grid-template-columns:40% 60%;min-height:80vh;width:100%}.commitment-image{position:relative;height:100%;min-height:90vh;overflow:hidden}.commitment-text{display:flex;flex-direction:column;justify-content:center;padding:80px 150px 80px 100px;background:#fafafa}.commitment-label{display:flex;align-items:center;gap:8px;color:#999;font-size:.85rem;letter-spacing:.1em;margin-bottom:2rem}.commitment-title,.section-title-large.artist-title{font-size:clamp(1.3rem, 2vw, 1.7rem)}.commitment-title{font-weight:300;line-height:1.6;margin-bottom:3rem;letter-spacing:.05em}.commitment-title span{display:inline-block;opacity:0;animation:.8s ease-out forwards fadeInChar}.commitment-title .ja{display:block;margin-bottom:.5rem}.commitment-description{font-size:.95rem;line-height:2.2;color:#555;margin-bottom:3rem}.commitment-description p{margin-bottom:1.5rem}.about-label,.section-label{display:flex;align-items:center;gap:8px;color:#999;font-size:.85rem;letter-spacing:.1em;margin-bottom:2rem}.section-title-large{font-size:clamp(2rem, 4vw, 3rem);font-weight:300;line-height:1.4;margin-bottom:2rem;letter-spacing:.05em}.section-title-large.artist-title span{display:inline-block;opacity:0;animation:.8s ease-out forwards fadeInChar}.section-lead{font-size:.95rem;line-height:2;color:#555;margin-bottom:3rem}.shop-contact-title,.view-more{color:#333;letter-spacing:.05em}.view-more{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;position:relative;padding-bottom:2px}.view-more::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:#333;transition:width .3s}.view-more:hover::after{width:calc(100% - 20px)}.view-more .arrow{transition:transform .3s;display:inline-block}.view-more:hover .arrow{transform:translateX(5px)}.view-more:hover{opacity:.7}.gallery-preview-section{position:relative;padding:0;margin:120px 0;min-height:100vh;display:flex;align-items:center;background:#f5f5f5}.gallery-preview-content{position:relative;display:grid;grid-template-columns:60% 40%;min-height:80vh;width:100%}.gallery-preview-text{display:flex;flex-direction:column;justify-content:center;padding:80px 80px 80px 100px;background:#fff}.gallery-preview-image{position:relative;height:100%;min-height:90vh;overflow:hidden}.shop-contact-section{padding:100px 0;background:#fff}.shop-contact-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:80px;align-items:center;padding:0 40px}.shop-contact-card{text-align:center;padding:60px 40px}.shop-contact-title{font-size:clamp(2rem, 4vw, 2.5rem);font-weight:300;margin-bottom:30px}.shop-contact-description{font-size:.95rem;line-height:2;color:#666;margin-bottom:40px;letter-spacing:.05em}.shop-contact-link{display:inline-block;color:#333;font-size:.9rem;letter-spacing:.05em;padding-bottom:5px;border-bottom:1px solid #333}.shop-contact-link:hover{opacity:.6;transform:translateY(-2px)}.shop-contact-divider{width:1px;height:200px;background:#ddd}@keyframes fadeInChar{to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@keyframes slideUpFade{0%{transform:translateY(100%);opacity:0}50%{opacity:.5}100%{transform:translateY(0);opacity:1}}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.about-concept-description,.about-description,.commitment-description,.section-lead,body,p{word-break:normal;overflow-wrap:break-word}body,h1,h2,h3,h4{overflow-wrap:break-word}.commitment-content,.gallery-preview-content,.shop-contact-grid{grid-template-columns:1fr}section{padding:80px 0}.about-concept-description br,.about-description br,.commitment-description br,.gallery-preview-text br,.section-lead br,h1 br,h2 br,h3 br,p br{display:none}body{word-wrap:break-word}h1,h2,h3,h4{word-break:keep-all}.commitment-image{height:300px;min-height:300px}.commitment-text{padding:40px 20px}.commitment-title{font-size:1.5rem}.gallery-preview-section{min-height:auto;margin:60px 0}.gallery-preview-content{min-height:auto}.gallery-preview-text{padding:40px 20px;order:2}.gallery-preview-image{height:300px;min-height:300px;order:1}.shop-contact-grid{gap:40px;padding:0 20px}.shop-contact-divider{width:100%;height:1px;margin:20px 0}.shop-contact-card{padding:40px 20px}}@media (min-width:769px){.header__mobile-menu{display:none!important}}.about-concept-grid,.commitment-text-grid,.concept-grid,.product-content,.story-grid,.workshop-content{display:grid;grid-template-columns:1.2fr 0.8fr;gap:80px;align-items:start}.about-concept-description,.concept-description,.story-text{font-size:1.1rem;line-height:2.2;letter-spacing:.05em}.about-concept-description p,.concept-description p,.story-text p{margin-bottom:2em}.about-concept-title-wrapper h2,.concept-title-wrapper h2{font-size:2.5rem;font-weight:300;line-height:1.8;letter-spacing:.05em}.about-label,.concept-label{display:flex;align-items:center;gap:10px;font-size:.9rem;letter-spacing:.2em;color:#999;margin-bottom:30px}.about-label .dot,.concept-label .dot{color:#8b7355}@media (max-width:768px){.about-concept-grid,.commitment-text-grid,.concept-grid,.product-content,.story-grid,.workshop-content{grid-template-columns:1fr;gap:40px}.about-concept-title-wrapper,.concept-title-wrapper{order:-1}.about-concept-description,.concept-description,.story-text{font-size:1rem}.about-concept-title-wrapper h2,.concept-title-wrapper h2{font-size:2rem}}.fixed-reserve-banner{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1000;background:linear-gradient(135deg,#c9a17d 0,#b8906a 100%);color:#fff;padding:32px 22px;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;border-radius:12px 0 0 12px;box-shadow:-4px 4px 20px rgba(139,90,43,.5)}.fixed-reserve-banner:hover{background:linear-gradient(135deg,#d4b08a 0,#c9a17d 100%);transform:translateY(-50%) translateX(-8px);box-shadow:-6px 6px 25px rgba(139,90,43,.6)}.fixed-reserve-banner__text{font-size:1.4rem;font-weight:700;letter-spacing:.3em}@media (max-width:768px){.fixed-reserve-banner{top:auto;bottom:20px;right:20px;transform:none;padding:18px 28px;writing-mode:horizontal-tb;text-orientation:mixed;border-radius:12px;box-shadow:0 5px 20px rgba(139,90,43,.5)}.fixed-reserve-banner:hover{transform:translateY(-4px)}.fixed-reserve-banner__text{font-size:1.15rem;letter-spacing:.15em}}.language-switcher{position:relative;display:inline-block}.language-switcher__toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;background:0 0;border:1px solid #333;border-radius:4px;cursor:pointer;font-size:.85rem;color:inherit;transition:.2s}.language-switcher__toggle:hover{background:rgba(0,0,0,.05)}.language-switcher__icon{transition:transform .2s}.language-switcher__toggle[aria-expanded=true] .language-switcher__icon{transform:rotate(180deg)}.language-switcher__menu{position:absolute;top:100%;right:0;margin-top:4px;padding:8px 0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);list-style:none;min-width:140px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s;z-index:1001}.language-switcher__toggle[aria-expanded=true]+.language-switcher__menu{opacity:1;visibility:visible;transform:translateY(0)}.language-switcher__item{display:block;padding:10px 16px;color:#333;text-decoration:none;font-size:.9rem;transition:background .2s}.language-switcher__item:hover{background:#f5f5f5}.language-switcher__item.is-active{font-weight:600;color:#b8906a;background:#faf7f4}