:root{--ink:#3a3230;--sub:#7d726d;--brown:#6b5143;--brown-d:#57402f;--grout:#e9dedb;--line:#2f2826;--soft:#f7f3f1;--script:"La Belle Aurore",cursive;--gothic:"Zen Kaku Gothic New",sans-serif;--serif:"Playfair Display",serif;--wrap:1120px;} *{box-sizing:border-box;} html{scroll-behavior:smooth;} section[id]{scroll-margin-top:110px;} body{margin:0;background:#fff;color:var(--ink);font-family:var(--gothic);font-weight:400;font-size:15px;line-height:2;letter-spacing:0.08em;-webkit-font-smoothing:antialiased;overflow-x:hidden;} img{max-width:100%;height:auto;display:block;} a{color:inherit;text-decoration:none;transition:opacity 0.3s;} a:hover{opacity:0.65;} .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;} .center{text-align:center;} .note{font-size:12px;color:var(--sub);line-height:1.9;} .tile{background-color:#fff;background-image:linear-gradient(var(--grout) 1px,transparent 1px),linear-gradient(90deg,var(--grout) 1px,transparent 1px);background-size:90px 90px;} .head{display:flex;align-items:baseline;gap:18px;margin:0 0 56px;} .head::after{content:"";flex:1;height:1px;background:#ddd3c6;transform:translateY(-6px);} .head .head-en,.head-en{font-family:var(--script);font-size:clamp(34px,4.6vw,46px);line-height:1.2;letter-spacing:0.02em;margin:0;color:var(--ink);white-space:nowrap;} .head .head-ja,.head-ja{font-size:13px;letter-spacing:0.24em;color:var(--sub);margin:0;white-space:nowrap;} .head-center{display:block;text-align:center;} .head-center::after{display:none;} .lead{color:var(--sub);max-width:680px;margin:-26px 0 40px;font-size:14px;} .tile .head{background:#fff;padding:14px 30px 12px;border-radius:999px;border:1px solid #efe6e2;} .section{padding:110px 0;position:relative;} .card{position:relative;background:#fff;border:1px solid #e3d8d3;} .frame2{position:relative;background:#fff;border:2px solid var(--line);box-shadow:0 18px 40px -26px rgba(60,40,30,0.35);} .frame2::after{content:"";position:absolute;inset:8px;border:1px solid var(--line);border-radius:inherit;pointer-events:none;} .pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:190px;padding:10px 34px 9px;border-radius:999px;background:var(--brown);color:#fff;line-height:1.2;transition:background 0.3s;} .pill:hover{opacity:1;background:var(--brown-d);} .pill .en{font-family:var(--script);font-size:22px;letter-spacing:0.02em;} .pill .ja{font-size:11px;letter-spacing:0.16em;margin-top:3px;} .pill-line{background:#fff;color:var(--brown);border:1px solid var(--brown);} .pill-line:hover{background:var(--soft);} .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:40px;} .site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.96);border-bottom:1px solid #f0e8e5;} .header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 32px;} .logo{margin:0;font-family:var(--script);font-size:34px;font-weight:400;line-height:1;} .logo img{max-height:58px;width:auto;} .header-right{display:flex;align-items:center;gap:28px;} .global-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;} .global-nav a{display:flex;flex-direction:column;align-items:center;line-height:1.15;} .global-nav .en{font-family:var(--script);font-size:22px;letter-spacing:0.02em;} .global-nav .ja{font-size:11px;color:var(--sub);letter-spacing:0.12em;margin-top:2px;white-space:nowrap;} .header-reserve{min-width:0;padding:8px 26px 7px;} .header-reserve .en{font-size:19px;} .header-cart #baseMenu{position:static !important;top:auto !important;right:auto !important;z-index:auto !important;background:none !important;margin:0;padding:0;} .header-cart ul{display:flex;align-items:center;gap:14px;list-style:none;margin:0;padding:0;} .header-cart ul::after,.header-cart ul::before{display:none !important;} .header-cart li{float:none !important;margin:0 !important;padding:0 !important;list-style:none !important;display:block;} .header-cart li::marker{content:"";} .header-cart a{display:flex !important;align-items:center;padding:0 !important;background:none !important;border-radius:0 !important;} .header-cart img{display:block;width:auto !important;height:20px !important;max-width:none !important;opacity:0.8;} .header-cart li.cart img{height:22px !important;} .header-cart .cart{position:relative;} .header-cart .cart-badge{display:block !important;} .header-cart .cart-qty{position:absolute;top:-6px;right:-9px;min-width:16px;padding:0 3px;background:var(--brown);border-radius:999px;color:#fff;font-size:10px;line-height:16px;text-align:center;} .hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 88px);} .hero-left{display:flex;align-items:center;justify-content:center;padding:60px 24px;} .hero-oval{width:min(78%,460px);aspect-ratio:2 / 3;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;} .hero-oval .place{font-size:clamp(15px,1.7vw,20px);letter-spacing:0.32em;line-height:1.9;margin:0 0 34px;} .hero-oval .brand{font-family:var(--serif);font-weight:600;font-size:clamp(42px,5.2vw,64px);letter-spacing:0.02em;line-height:1;margin:0;} .hero-oval .brand-sub{font-size:12px;letter-spacing:0.4em;margin:14px 0 30px;color:var(--sub);} .hero-oval .tag{font-family:var(--script);font-size:clamp(20px,2.2vw,26px);color:var(--sub);margin:0;letter-spacing:0.04em;} .oval-logo{width:100%;display:flex;justify-content:center;} .oval-logo img{width:100%;max-width:520px;filter:drop-shadow(0 0 18px #fff) drop-shadow(0 0 6px #fff);height:auto;max-height:none;} .oval-logo .logoText{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4.4vw,54px);color:var(--ink) !important;letter-spacing:0.02em;} .logo-name{font-family:var(--serif);font-size:clamp(18px,2vw,24px);letter-spacing:0.18em;margin:6px 0 8px;background:#fff;padding:2px 14px;} .logo-ja{font-size:13px;letter-spacing:0.2em;line-height:1.9;color:var(--sub);margin:0;background:#fff;padding:4px 14px;} .hero-right{position:relative;overflow:hidden;background:var(--soft);} .hero-right img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;position:absolute;inset:0;} .intro{padding:100px 0 90px;text-align:center;} .intro .catch{font-size:clamp(19px,2.4vw,25px);letter-spacing:0.22em;line-height:2;margin:0 0 22px;font-weight:400;} .intro p{color:var(--sub);margin:0 auto;} .dn-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;} .dn-card{border-radius:28px;padding:46px 42px 40px;text-align:center;} .dn-art{width:100%;max-width:250px;aspect-ratio:1 / 1;margin:0 auto 10px;color:var(--ink);} .dn-art svg{width:100%;height:100%;} .dn-art img{width:100%;height:100%;object-fit:cover;border-radius:50%;} .dn-time{font-family:var(--script);font-size:26px;color:var(--sub);margin:0;line-height:1.4;} .dn-name{font-family:var(--serif);font-weight:500;font-size:30px;margin:0;letter-spacing:0.02em;line-height:1.4;} .dn-type{font-size:12px;color:var(--sub);margin:4px 0 20px;} .dn-card p{text-align:left;margin:0 0 1em;font-size:14px;} .dn-how{margin-top:20px;padding-top:18px;border-top:1px dashed #cfc2bd;text-align:left;font-size:13px;color:var(--sub);} .dn-how strong{display:block;text-align:center;font-family:var(--script);font-weight:400;font-size:21px;color:var(--ink);margin-bottom:2px;} .arch-wrap{position:relative;width:100%;max-width:420px;margin:0 auto;padding:0 0 0 40px;} .arch-wrap::before{content:"";position:absolute;left:0;top:14%;bottom:-6px;width:72%;border:1px solid #e6dcd8;border-radius:22px;background-color:#fff;background-image:linear-gradient(var(--grout) 1px,transparent 1px),linear-gradient(90deg,var(--grout) 1px,transparent 1px);background-size:46px 46px;z-index:0;} .arch{position:relative;z-index:1;aspect-ratio:4 / 5;border-radius:999px 999px 4px 4px;overflow:hidden;border:1px solid #c9b8a8;} .arch img{width:100%;height:100%;object-fit:cover;} .arch-word{position:absolute;z-index:2;right:-18px;top:18%;font-family:var(--script);font-size:clamp(34px,4vw,48px);color:var(--ink);transform:rotate(-6deg);text-shadow:0 0 10px #fff,0 0 4px #fff;pointer-events:none;} .history{margin:26px 0 0;border-top:1px solid #e6dcd8;} .history div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:14px 2px;border-bottom:1px solid #e6dcd8;font-size:14px;} .history dt{letter-spacing:0.06em;} .history dd{margin:0;} .story-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;align-items:center;} .story-oval{width:100%;max-width:360px;aspect-ratio:2 / 3;margin:0 auto;border-radius:50%;overflow:hidden;padding:12px;} .story-oval img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:1;} .story .head{margin-bottom:30px;} .story p{margin:0 0 1.3em;font-size:14px;} .signature{font-family:var(--script);font-size:22px;color:var(--sub);} .ing-scroller{position:relative;margin:0 -24px;} .ing-list{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:16px 24px 24px;margin:0;list-style:none;scrollbar-width:thin;scrollbar-color:#cfc2bd transparent;} .ing-list::-webkit-scrollbar{height:4px;} .ing-list::-webkit-scrollbar-thumb{background:#cfc2bd;border-radius:4px;} .ing-list li{flex:0 0 250px;scroll-snap-align:start;border-radius:26px;padding:34px 24px 30px;text-align:center;} .ing-icon{width:128px;height:160px;margin:0 auto 14px;color:var(--ink);} .ing-icon svg{width:100%;height:100%;} .ing-num{font-family:var(--script);font-size:22px;color:var(--sub);margin:0;line-height:1.3;} .ing-name{font-size:15px;margin:0;line-height:1.6;font-weight:500;} .ing-latin{font-family:var(--serif);font-style:italic;color:var(--sub);font-size:14px;margin:2px 0 10px;} .ing-desc{font-size:13px;color:var(--sub);margin:0;line-height:1.85;} .ing-arrow{position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:-23px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:22px;line-height:44px;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,0.3);} .ing-prev{left:0;} .ing-next{right:0;} .ing-hint{font-family:var(--script);font-size:20px;color:var(--sub);margin:6px 0 0;} .items-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;list-style:none;padding:0;margin:0;} .item-card{text-align:center;} .item-card a{display:block;} .item-card a:hover{opacity:1;} .item-thumb{aspect-ratio:4 / 5;border-radius:999px 999px 24px 24px;overflow:hidden;padding:10px;} .item-thumb img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 16px 16px;position:relative;z-index:1;transition:transform 0.8s;} .item-card a:hover img{transform:scale(1.04);} .item-title{font-size:14px;margin:18px 6px 2px;line-height:1.75;} .item-price{font-family:var(--serif);font-size:18px;letter-spacing:0.04em;margin:0;} .item-proper{text-decoration:line-through;color:var(--sub);font-size:14px;margin-right:8px;} .soldout{font-family:var(--script);color:var(--sub);font-size:20px;margin:0;} .salon-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:80px;align-items:center;} .salon-title{font-size:17px;letter-spacing:0.1em;margin:0 0 18px;} .salon-photo{width:100%;max-width:400px;aspect-ratio:2 / 3;margin:0 auto;border-radius:50%;overflow:hidden;padding:12px;} .salon-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;position:relative;z-index:1;} .salon-info{margin:22px 0 30px;border-top:1px solid #e6dcd8;} .salon-info div{display:grid;grid-template-columns:6.5em 1fr;gap:12px;padding:12px 2px;border-bottom:1px solid #e6dcd8;font-size:14px;line-height:1.8;} .salon-info dt{font-family:var(--script);font-size:20px;line-height:1.4;} .salon-info dd{margin:0;} .salon .btn-row{justify-content:flex-start;margin-top:0;} .faq-list{max-width:780px;margin:0 auto;display:grid;gap:14px;} .faq-list details{background:#fff;border:1px solid #e6dcd8;border-radius:20px;padding:18px 26px;} .faq-list summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:baseline;font-size:15px;} .faq-list summary::-webkit-details-marker{display:none;} .faq-list summary::before{content:"Q.";font-family:var(--script);font-size:22px;color:var(--brown);} .faq-list summary::after{content:"+";margin-left:auto;color:var(--sub);font-size:18px;} .faq-list details[open] summary::after{content:"−";} .faq-list details p{margin:10px 0 0 34px;color:var(--sub);font-size:14px;} .insta-card{max-width:720px;margin:0 auto;border-radius:32px;padding:64px 24px 58px;text-align:center;} .item-page{padding:60px 0 110px;} .item-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;} .gallery-main{aspect-ratio:1 / 1;border-radius:28px;overflow:hidden;padding:10px;} .gallery-main img{width:100%;height:100%;object-fit:cover;border-radius:20px;position:relative;z-index:1;} .gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px;padding:0;list-style:none;} .gallery-thumbs button{padding:3px;border:1px solid #d9cdc8;background:#fff;cursor:pointer;aspect-ratio:1 / 1;overflow:hidden;width:100%;border-radius:50%;} .gallery-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:50%;} .item-info .kicker{font-family:var(--script);font-size:24px;color:var(--sub);margin:0;} .item-info h1{font-weight:500;font-size:22px;line-height:1.75;margin:0 0 10px;} .item-info .price{font-family:var(--serif);font-size:28px;margin:0 0 24px;} .purchase{border-top:1px solid #e6dcd8;border-bottom:1px solid #e6dcd8;padding:24px 0;margin-bottom:28px;} .purchase select{width:100%;padding:12px 16px;border:1px solid #d9cdc8;border-radius:999px;background:#fff;font-family:var(--gothic);margin-bottom:14px;color:var(--ink);} .purchaseButton__btn{width:100%;padding:16px;border:none;border-radius:999px;background:var(--brown);color:#fff;font-family:var(--gothic);font-size:14px;letter-spacing:0.24em;cursor:pointer;transition:background 0.3s;} .purchaseButton__btn:hover{background:var(--brown-d);} .purchaseButton__btn--soldOut,.purchaseButton__btn--endOfSale,.purchaseButton__btn--comingSoonStay,.purchaseButton__btn--notApplying{background:#d9cdc8;color:#fff;cursor:default;} .item-detail{font-size:14px;line-height:2.1;} .item-note{margin-top:32px;padding:22px 26px;border-radius:20px;background:var(--soft);} .report{margin-top:24px;font-size:12px;} .page-head{padding:80px 0 30px;} .page-body{max-width:800px;margin:0 auto 110px;padding:54px 48px;border-radius:32px;} .page-body > *{position:relative;z-index:1;} .page-body p{margin:0 0 1.4em;} .site-footer{padding:64px 0 40px;text-align:center;border-top:1px solid #f0e8e5;} .footer-brand{font-family:var(--serif);font-weight:600;font-size:30px;margin:0;} .footer-sub{font-family:var(--script);font-size:20px;color:var(--sub);margin:0 0 24px;} .footer-nav{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 24px;font-size:13px;} .copyright{font-size:11px;color:var(--sub);} .to-top{position:fixed;right:22px;bottom:22px;z-index:60;width:66px;height:66px;border-radius:50%;background:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,0.35);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;} .to-top span{font-size:12px;} .to-top b{font-family:var(--script);font-weight:400;font-size:18px;} @media (max-width:1100px){.global-nav ul{gap:20px;} .global-nav .en{font-size:19px;}} @media (max-width:960px){.header-inner{flex-wrap:wrap;padding:12px 18px 8px;} .header-right{gap:16px;} .global-nav{order:3;width:100%;overflow-x:auto;} .global-nav ul{gap:22px;padding-bottom:4px;} .hero{grid-template-columns:1fr;min-height:0;} .hero-right{aspect-ratio:4 / 5;} .section{padding:80px 0;} .dn-grid,.story-grid,.salon-grid,.item-layout{grid-template-columns:1fr;gap:44px;} .salon .btn-row{justify-content:center;} .items-grid{grid-template-columns:repeat(2,1fr);gap:36px 16px;}} @media (max-width:600px){body{font-size:14px;} .head{flex-wrap:wrap;gap:4px 14px;margin-bottom:40px;} .head::after{flex-basis:100%;transform:none;} .lead{margin-top:-18px;} .arch-wrap{padding-left:26px;max-width:320px;} .arch-word{right:-6px;} .logo{font-size:28px;} .logo img{max-height:44px;} .header-reserve{display:none;} .header-cart img{height:18px !important;} .header-cart li.cart img{height:20px !important;} .global-nav .en{font-size:18px;} .global-nav .ja{font-size:10px;letter-spacing:0.06em;} .tile .head{border-radius:24px;} .hero-oval{width:84%;padding:28px;} .dn-card{padding:38px 24px 30px;} .ing-list li{flex-basis:76%;} .ing-arrow{display:none;} .page-body{padding:36px 22px;margin:0 12px 80px;} .to-top{width:56px;height:56px;right:14px;bottom:14px;}}.logo a{display:flex;align-items:baseline;gap:10px;}.logo-op{font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:var(--sub);}.footer-logo{display:flex;justify-content:center;margin:0 0 14px;}.footer-logo img{max-height:110px;width:auto;}.footer-logo .logoText{font-family:var(--script);font-size:30px;}@media (max-width:600px){.logo-op{font-size:10px;letter-spacing:.12em;}}.dn-photo{max-width:280px;aspect-ratio:4/5;margin-bottom:22px;position:relative;}.dn-photo img{border-radius:999px 999px 16px 16px;}.dn-photo .arch-word{top:0;}.hero{grid-template-columns:1fr auto;height:calc(100vh - 84px);min-height:520px;max-height:1000px;}.hero-right{height:100%;aspect-ratio:900/1157;}.hero-left{padding:4vh 24px;}.hero-oval{width:100%;height:100%;aspect-ratio:auto;padding:0;}.oval-logo{flex:0 1 auto;min-height:0;}.oval-logo img{width:auto;max-width:100%;max-height:58vh;}.logo-name{margin:2vh 0 6px;}@media (max-width:960px){.hero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;}.hero-right{height:auto;width:100%;}.hero-left{padding:40px 24px;}.oval-logo img{max-height:none;width:78%;}}