:root{--ink:#17213b;--navy:#14224c;--blue:#314c91;--cream:#f6f2eb;--gold:#a38651;--muted:#6c7180;--line:#d9d8d3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}a{touch-action:manipulation}
.topbar{height:87px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e3df;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.brand{width:190px;height:61px;display:flex;align-items:center;overflow:hidden}.brand img{width:190px;height:auto}.topbar nav{display:flex;gap:32px;font-size:12px;letter-spacing:.12em}.topbar nav a:hover{color:var(--blue)}.header-cta{background:var(--navy);color:#fff;padding:12px 22px;font-size:12px;letter-spacing:.12em}
.hero{min-height:760px;display:grid;grid-template-columns:55% 45%;background:var(--cream)}.hero-photo{position:relative;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center}.photo-caption{position:absolute;left:28px;bottom:24px;color:#fff;font:11px Arial;letter-spacing:.24em;background:rgba(11,23,55,.7);padding:8px 12px}.hero-copy{padding:90px 8vw 70px 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.24em;color:var(--blue)}.hero h1,.section h2,.shop-section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.42;letter-spacing:.06em}.hero h1{font-size:clamp(38px,4.1vw,68px);margin:18px 0 28px}.hero h1 em{font-style:normal;color:var(--blue)}.lead{max-width:570px;font-size:15px;line-height:2.1;color:#444b5d}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d2cdc4;border-bottom:1px solid #d2cdc4;margin:32px 0}.hero-facts div{padding:18px 10px 18px 0}.hero-facts div+div{padding-left:18px;border-left:1px solid #d2cdc4}.hero-facts span,.hero-facts small{display:block;color:var(--muted);font-size:10px}.hero-facts strong{display:block;font-family:"Yu Mincho",serif;font-size:14px;margin:5px 0}.primary-cta{align-self:flex-start;background:var(--navy);color:#fff;min-width:270px;padding:17px 22px;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.08em;transition:.2s}.primary-cta:hover{background:var(--blue);transform:translateY(-2px)}
.section{padding:110px max(6vw,24px)}.intro{text-align:center;max-width:920px;margin:auto}.intro h2{font-size:clamp(34px,4vw,56px);margin:22px 0}.intro>p:last-child{max-width:680px;margin:auto;color:#565b67;line-height:2.2}.section-head h2{font-size:clamp(34px,4vw,54px);margin:16px 0 24px}.section-head>p:last-child{color:var(--muted)}
.passion-section{background:#10172b;color:#fff;text-align:center;padding-top:140px;padding-bottom:140px}.passion-section .kicker{color:#aebde8}.passion-statement{font-family:"Yu Mincho",serif;font-size:clamp(32px,4.4vw,64px);font-weight:500;line-height:1.65;letter-spacing:.08em;margin:32px auto 58px}.passion-body{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:left;border-top:1px solid #53607f;padding-top:45px}.passion-body p{margin:0;color:#d7dbea;font-size:14px;line-height:2.3}
.color-section{background:#f4f6fa}.color-section .section-head{max-width:620px;margin-bottom:50px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.color-card{background:#fff;padding-bottom:34px}.color-card .image-wrap{position:relative;overflow:hidden}.color-card img{aspect-ratio:1/1;object-fit:cover;transition:.6s}.color-card:hover img{transform:scale(1.025)}.color-card h3,.color-card>p{margin-left:34px;margin-right:34px}.color-card .num{font:10px Arial;letter-spacing:.2em;color:var(--blue);margin-top:28px}.color-card h3{font-family:"Yu Mincho",serif;font-size:23px;margin-top:8px;margin-bottom:12px}.color-card>p:last-child{font-size:13px;color:#626773}
.lace-story{display:grid;grid-template-columns:52% 48%;padding:0;background:#fff;min-height:850px}.lace-image{position:relative;overflow:hidden}.lace-image img{height:100%;object-fit:cover;transform:scale(1.12);object-position:center}.lace-image .lace-label{position:absolute;left:30px;bottom:25px;background:rgba(20,34,76,.82);color:#fff;padding:9px 14px;font:10px Arial;letter-spacing:.2em}.lace-copy{padding:110px 8vw 90px 7vw;display:flex;flex-direction:column;justify-content:center}.lace-copy h2{font-family:"Yu Mincho",serif;font-size:clamp(34px,3.8vw,54px);font-weight:500;line-height:1.55;margin:18px 0 30px}.lace-copy>p:not(.kicker){color:#59606f;font-size:14px;line-height:2.2}.lace-copy dl{margin:35px 0 0}.lace-copy dl div{border-top:1px solid var(--line);padding:20px 0}.lace-copy dl div:last-child{border-bottom:1px solid var(--line)}.lace-copy dt{font-family:"Yu Mincho",serif;font-size:17px;margin-bottom:6px}.lace-copy dd{margin:0;color:var(--muted);font-size:12px;line-height:1.9}
.design-section{background:var(--cream)}.design-grid{max-width:1150px;margin:65px auto 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfc9bf;border-left:1px solid #cfc9bf}.design-grid article{padding:46px;border-right:1px solid #cfc9bf;border-bottom:1px solid #cfc9bf;min-height:260px}.design-grid span{font:11px Arial;letter-spacing:.18em;color:var(--blue)}.design-grid h3{font-family:"Yu Mincho",serif;font-size:22px;margin:25px 0 14px}.design-grid p{font-size:13px;color:#656a75;line-height:2}
.centered{text-align:center;max-width:720px;margin:0 auto 54px}.skirt-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1100px;margin:auto}.skirt-grid article{border:1px solid var(--line);background:#fff}.skirt-visual{position:relative;overflow:hidden}.skirt-visual img{aspect-ratio:1.2/1;object-fit:cover;transition:.6s}.skirt-grid article:hover img{transform:scale(1.02)}.long-visual img{object-position:center 65%}.flare-visual img{object-position:center}.skirt-info{padding:30px}.skirt-info span{font:10px Arial;letter-spacing:.2em;color:var(--blue)}.skirt-info h3{font-family:"Yu Mincho",serif;font-size:23px;margin:8px 0}.skirt-info p{font-size:13px;color:#636875}.skirt-info strong{display:block;margin-top:20px;font:22px Georgia,serif;color:var(--navy)}
.compare-section{background:#10172b;color:#fff}.compare-section .kicker{color:#aebde8}.compare-section .section-head>p:last-child{color:#bbc2d5}.compare-scroll{max-width:1100px;margin:60px auto 0;overflow-x:auto}.compare-table{min-width:760px;border:1px solid #53607f}.compare-table th,.compare-table td{border-right:1px solid #53607f;border-bottom:1px solid #53607f;padding:22px 24px}.compare-table thead th{background:#202b49}.compare-table thead th:first-child{width:22%}.compare-table tbody th{background:#17213b;color:#fff;text-align:left;font-weight:500}.compare-table tbody td{color:#e2e5ee}.compare-table td strong,.compare-table td small{display:block}.compare-table td strong{font-family:"Yu Mincho",serif;font-size:19px}.compare-table td small{color:#aeb5c8;margin-top:4px}.compare-table td b{font-size:18px;color:#fff}
.fit-story{display:grid;grid-template-columns:48% 52%;background:#f4f6fa;padding:0;min-height:790px}.fit-copy{padding:110px 7vw;display:flex;flex-direction:column;justify-content:center}.fit-copy h2{font-size:clamp(34px,4vw,54px);margin:18px 0 30px}.fit-copy>p:not(.kicker){font-size:14px;color:#59606e;line-height:2.2}.fit-image{position:relative;overflow:hidden}.fit-image img{height:100%;object-fit:cover;object-position:center}.fit-note{margin-top:28px;border-top:1px solid #cfd2db;border-bottom:1px solid #cfd2db;padding:18px 0;display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px}.fit-note strong{width:100%;color:var(--blue);letter-spacing:.1em}.fit-note span{background:#fff;padding:6px 10px}
.craft-section{background:#fff}.craft-section>.section-head{max-width:700px}.craft-steps{list-style:none;padding:0;margin:70px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.craft-steps li{padding:38px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:330px}.craft-steps>li>span{font:30px Georgia;color:#c1aa7c}.craft-steps h3{font-family:"Yu Mincho",serif;font-size:20px;margin:40px 0 14px}.craft-steps p{font-size:12px;color:#656a75;line-height:2}
.occasion{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.occasion .kicker{color:#aebde8}.occasion h2{font-size:clamp(34px,4vw,54px)}.occasion-copy>p:not(.kicker){color:#d9deeb;line-height:2.2}.occasion-image{position:relative;overflow:hidden}.occasion-image img{max-height:620px;object-fit:cover}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.tags span{border:1px solid #61709a;padding:7px 15px;font-size:11px}
.coordinate-section{background:#fff}.coordinate-section>.section-head{max-width:720px}.coordinate-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.coordinate-grid article{padding:36px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:390px}.coordinate-grid>article>span{font:10px Arial;letter-spacing:.19em;color:var(--blue)}.coordinate-grid h3{font-family:"Yu Mincho",serif;font-size:21px;margin:28px 0 15px}.coordinate-grid p{font-size:12px;color:#646a77;line-height:2}.coordinate-grid ul{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:6px}.coordinate-grid li{background:#eef0f6;color:var(--navy);font-size:10px;padding:5px 8px}.coordinate-note{text-align:right;color:var(--muted);font-size:10px;margin-top:14px}
.heritage-section{background:#e9ecf4;display:grid;grid-template-columns:35% 65%;gap:8vw;align-items:center}.heritage-number{font:clamp(100px,15vw,220px)/.8 Georgia,serif;color:var(--navy);letter-spacing:-.08em}.heritage-number span{display:block;font:11px Arial;letter-spacing:.35em;margin:30px 0 0 12px;color:var(--blue)}.heritage-copy h2{font-size:clamp(34px,4vw,54px);margin:18px 0 30px}.heritage-copy>p:not(.kicker){font-size:14px;color:#555d70;line-height:2.25}
.review-section{display:grid;grid-template-columns:35% 65%;gap:7vw;background:var(--cream)}.review-intro{position:sticky;top:125px;align-self:start}.review-intro h2{font-size:clamp(34px,3.5vw,52px)}.ratings{margin:35px 0}.ratings>div{display:flex;align-items:center;gap:18px;border-top:1px solid #cfc9bf;padding:16px 0}.ratings>div:last-child{border-bottom:1px solid #cfc9bf}.ratings strong{font:36px Georgia;color:var(--navy)}.ratings span{color:#ae8d49;letter-spacing:.08em;font-size:13px}.ratings small{display:block;color:var(--muted);letter-spacing:.02em}.review-note{font-size:10px;color:var(--muted)}.review-list blockquote{margin:0;padding:28px 0;border-top:1px solid #cfc9bf}.review-list blockquote:last-child{border-bottom:1px solid #cfc9bf}.review-list blockquote>div{display:flex;justify-content:space-between}.review-list blockquote span,.review-list blockquote b{font-size:11px;letter-spacing:.08em}.review-list blockquote b{color:#a37e32}.review-list blockquote p{font-family:"Yu Mincho",serif;font-size:17px;line-height:2;margin:15px 0}.review-list cite{font-style:normal;color:var(--muted);font-size:11px}
.size-section{background:#fff}.size-section>.section-head{max-width:760px}.table-block{margin-top:48px}.table-block h3{font-family:"Yu Mincho",serif;font-size:20px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px;font-size:13px;text-align:center}th,td{padding:14px 12px;border-bottom:1px solid var(--line)}thead th{background:var(--navy);color:#fff;font-weight:500}tbody th{background:#f4f3ef}.tables-two{display:grid;grid-template-columns:1fr 1fr;gap:30px}.material{margin-top:40px;background:var(--cream);padding:24px 28px;display:grid;grid-template-columns:130px 1fr;gap:20px;font-size:12px}.material>span{font-weight:700;letter-spacing:.08em}.material p{margin:0;color:#555b68}
.choice-guide{background:var(--cream)}.choice-grid{max-width:1100px;margin:60px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.choice-grid article{background:#fff;padding:38px 32px}.choice-grid span{font:10px Arial;letter-spacing:.22em;color:var(--blue)}.choice-grid h3{font-family:"Yu Mincho",serif;font-size:20px;line-height:1.6;margin:20px 0 12px}.choice-grid p{font-size:12px;color:#656a75;line-height:2}
.faq-section{background:#fff;display:grid;grid-template-columns:34% 66%;gap:7vw}.faq-heading{align-self:start;position:sticky;top:125px}.faq-heading h2{font-size:clamp(34px,4vw,54px);margin:18px 0 25px}.faq-heading>p:last-child{font-size:13px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;padding:25px 44px 25px 0;font-family:"Yu Mincho",serif;font-size:17px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"＋";position:absolute;right:4px;top:23px;font-family:Arial;color:var(--blue)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0;padding:0 52px 28px 0;color:#626976;font-size:13px;line-height:2.1}
.shop-section{padding:110px max(6vw,24px);text-align:center;background:#e9ecf4}.shop-section h2{font-size:clamp(34px,4vw,54px);margin:18px 0}.shop-lead{color:var(--muted);font-size:12px}.shop-links{max-width:820px;margin:48px auto 0;display:grid;gap:12px}.shop-links a{background:#fff;min-height:82px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;text-align:left;border-left:5px solid var(--navy);transition:.2s}.shop-links a:hover{transform:translateX(5px);box-shadow:0 8px 26px rgba(20,34,76,.1)}.shop-links a.rakuten{border-color:#bf0000}.shop-links a.yahoo{border-color:#ff0033}.shop-links span{font-family:"Yu Mincho",serif;font-size:19px}.shop-links small{display:block;font:10px Arial;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.shop-links b{font-size:24px;font-weight:400}
footer{background:#10172b;color:#fff;padding:45px max(6vw,24px);display:flex;align-items:center;justify-content:space-between}footer img{width:150px;filter:invert(1)}footer p{font-size:10px;color:#9da5bb}
@media(max-width:900px){.topbar nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-photo{height:68vw;min-height:420px}.hero-copy{padding:64px 7vw}.passion-body,.lace-story,.fit-story,.heritage-section,.review-section,.faq-section{grid-template-columns:1fr}.lace-story,.fit-story{min-height:0}.lace-image,.fit-image{height:70vw;max-height:650px}.craft-steps,.coordinate-grid{grid-template-columns:1fr 1fr}.review-intro,.faq-heading{position:static}.tables-two{grid-template-columns:1fr}.occasion{gap:30px}.section{padding-top:80px;padding-bottom:80px}.choice-grid{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{height:87px;padding:0 18px}.brand{width:150px;height:48px}.brand img{width:150px}.header-cta{padding:10px 13px}.hero-photo{height:115vw;min-height:0}.hero-photo img{object-position:51% center}.hero-copy{padding:48px 24px}.hero h1{font-size:36px}.hero-facts{grid-template-columns:1fr}.hero-facts div+div{border-left:0;border-top:1px solid #d2cdc4;padding-left:0}.passion-section{padding-top:90px;padding-bottom:90px}.passion-body,.color-grid,.skirt-grid,.occasion,.design-grid,.craft-steps,.coordinate-grid{grid-template-columns:1fr}.design-grid{border-top:1px solid #cfc9bf}.design-grid article,.coordinate-grid article{min-height:auto;padding:34px}.craft-steps li{min-height:auto}.lace-copy,.fit-copy{padding:75px 22px}.color-card h3,.color-card>p{margin-left:22px;margin-right:22px}.occasion-image{order:-1}.review-section{gap:35px}.material{grid-template-columns:1fr}.section{padding:70px 20px}.shop-section{padding:75px 20px}.shop-links span{font-size:16px}.faq-section{gap:35px}.faq-list summary{font-size:15px}.faq-list details p{padding-right:26px}footer{flex-direction:column;gap:12px;text-align:center}}

/* Keep both skirt models aligned to the same crop position. */
.skirt-visual img{aspect-ratio:8/9;object-fit:cover}
.long-visual img,.flare-visual img{object-position:center}

/* Mobile layout: prevent horizontal drift and show complete product images. */
@media(max-width:640px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main,header,footer,.section,.shop-section{width:100%;max-width:100%}
  .topbar{width:100%;gap:12px}
  .brand{flex:0 1 150px;min-width:0}
  .header-cta{flex:0 0 auto;white-space:nowrap}
  .hero,.passion-body,.color-grid,.lace-story,.design-grid,.skirt-grid,.fit-story,.craft-steps,.occasion,.coordinate-grid,.heritage-section,.review-section,.tables-two,.choice-grid,.faq-section{min-width:0;width:100%}
  .hero-photo{height:auto;min-height:0;aspect-ratio:4/5;background:var(--cream)}
  .hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
  .color-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
  .lace-image,.fit-image{width:100%;height:auto;max-height:none;overflow:visible}
  .lace-image img,.fit-image img{width:100%;height:auto;max-height:none;object-fit:contain;transform:none}
  .skirt-visual img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}
  .occasion-image{width:100%;overflow:visible}
  .occasion-image img{width:100%;height:auto;max-height:none;object-fit:contain}
  .table-block,.tables-two,.table-scroll{min-width:0;width:100%;max-width:100%}
  .table-scroll{overflow-x:hidden;-webkit-overflow-scrolling:touch}
  .table-scroll table{width:100%;min-width:0;table-layout:fixed;font-size:11px}
  .table-scroll th,.table-scroll td{padding:12px 4px;white-space:normal;overflow-wrap:anywhere}
  .table-scroll thead th{font-size:10px;line-height:1.45}
  .material{width:100%;max-width:100%;padding:22px 18px;overflow-wrap:anywhere}
  .section h2,.section p,.fit-note span{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
