:root{--black: #0d0d0d;--white: #ffffff;--cream: #f8f6f3;--gray-100: #e8e6e3;--gray-200: #d0cdc8;--gray-500: #4a4845;--gray-700: #2a2826;--accent: #4a7c6f;--accent-dark: #3a6358}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,sans-serif;background:var(--cream);color:var(--gray-700);line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}::-moz-selection{background:var(--accent);color:var(--white)}::selection{background:var(--accent);color:var(--white)}.serif{font-family:Shippori Mincho,serif}.progress-container{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:9999}.progress-bar{height:100%;background:var(--accent);width:0%;transition:width .1s linear}.chapter-indicator{position:fixed;left:3rem;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:1.5rem}.chapter-dot{width:12px;height:12px;border-radius:50%;background:var(--gray-200);cursor:pointer;transition:all .3s ease;position:relative}.chapter-dot:before{content:attr(data-label);position:absolute;left:24px;top:50%;transform:translateY(-50%);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);white-space:nowrap;opacity:0;transition:opacity .3s ease}.chapter-dot:hover:before{opacity:1}.chapter-dot.active{background:var(--accent);transform:scale(1.3)}.hub-link{position:fixed;top:2rem;left:2rem;z-index:100;display:flex;align-items:center;gap:.5rem;color:var(--white);text-decoration:none;font-size:.8rem;letter-spacing:.1em;opacity:.8;transition:opacity .3s ease}.hub-link:hover{opacity:1}.hub-link.scrolled{color:var(--gray-700)}.hero{height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.1);transition:transform 8s ease-out}.hero.in-view .hero-bg img{transform:scale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000b3,#0003,#0000004d);z-index:1}.hero-content{position:relative;z-index:2;padding:6rem;max-width:900px;color:var(--white)}.hero-category{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;opacity:0;transform:translateY(20px);animation:fadeUp 1s .3s forwards}.hero-title{font-family:Shippori Mincho,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:500;line-height:1.3;margin-bottom:2rem;opacity:0;transform:translateY(30px);animation:fadeUp 1s .5s forwards}.hero-meta{display:flex;gap:2rem;font-size:.8rem;opacity:0;transform:translateY(20px);animation:fadeUp 1s .7s forwards}.hero-scroll{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);z-index:2;color:var(--white);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;animation:fadeUp 1s 1s forwards}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--white),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1);opacity:1}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.article-container{max-width:1400px;margin:0 auto;padding:0 2rem}.intro-section{padding:10rem 0;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.intro-text{padding-right:4rem}.intro-lead{font-family:Shippori Mincho,serif;font-size:1.5rem;line-height:2.2;color:var(--gray-700);margin-bottom:2rem}.intro-body{font-size:1rem;color:var(--gray-500);line-height:2}.intro-image{position:relative}.intro-image img{width:100%;height:600px;-o-object-fit:cover;object-fit:cover}.image-caption{position:absolute;bottom:-3rem;left:0;font-size:.75rem;color:var(--gray-500);font-style:italic}.full-image{position:relative;height:80vh;overflow:hidden}.full-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.full-image-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.full-image-text{color:var(--white);text-align:center;max-width:600px;padding:2rem}.full-image-text h2{font-family:Shippori Mincho,serif;font-size:2.5rem;font-weight:400;margin-bottom:1rem}.quote-section{padding:10rem 0;background:var(--black);color:var(--white);position:relative;overflow:hidden}.quote-bg-text{position:absolute;font-family:Shippori Mincho,serif;font-size:25vw;color:#ffffff08;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap}.quote-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1;padding:0 2rem}.quote-mark{font-family:Shippori Mincho,serif;font-size:6rem;color:var(--accent);line-height:1;margin-bottom:2rem}.quote-text{font-family:Shippori Mincho,serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;line-height:1.8;margin-bottom:3rem}.quote-author{font-size:.85rem;color:var(--gray-500);letter-spacing:.1em}.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.split-image{position:relative;overflow:hidden}.split-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.split-section:hover .split-image img{transform:scale(1.05)}.split-content{display:flex;flex-direction:column;justify-content:center;padding:6rem;background:var(--white)}.split-number{font-family:Shippori Mincho,serif;font-size:5rem;color:var(--gray-100);line-height:1;margin-bottom:2rem}.split-title{font-family:Shippori Mincho,serif;font-size:2rem;font-weight:500;margin-bottom:2rem;color:var(--gray-700)}.split-text{font-size:1rem;color:var(--gray-500);line-height:2}.timeline-section{padding:10rem 0;background:var(--white)}.timeline-header{text-align:center;margin-bottom:6rem}.timeline-header h2{font-family:Shippori Mincho,serif;font-size:2.5rem;font-weight:500}.timeline{position:relative;max-width:1000px;margin:0 auto;padding:0 2rem}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--gray-200);transform:translate(-50%)}.timeline-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:6rem;position:relative}.timeline-item:before{content:"";position:absolute;left:50%;top:2rem;width:12px;height:12px;background:var(--accent);border-radius:50%;transform:translate(-50%)}.timeline-item:nth-child(2n){direction:rtl}.timeline-item:nth-child(2n)>*{direction:ltr}.timeline-year{font-family:Shippori Mincho,serif;font-size:3rem;color:var(--gray-200);text-align:right;padding-right:3rem}.timeline-item:nth-child(2n) .timeline-year{text-align:left;padding-right:0;padding-left:3rem}.timeline-content{padding-left:3rem}.timeline-item:nth-child(2n) .timeline-content{padding-left:0;padding-right:3rem}.timeline-content h4{font-family:Shippori Mincho,serif;font-size:1.3rem;margin-bottom:1rem}.timeline-content p{font-size:.95rem;color:var(--gray-500);line-height:1.9}.stats-section{padding:8rem 0;background:var(--accent);color:var(--white)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}.stat-item{opacity:0;transform:translateY(30px);transition:all .6s ease}.stat-item.visible{opacity:1;transform:translateY(0)}.stat-number{font-family:Shippori Mincho,serif;font-size:4rem;font-weight:500;margin-bottom:.5rem}.stat-label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.horizontal-section{padding:10rem 0;overflow:hidden}.horizontal-header{max-width:800px;margin:0 auto 5rem;text-align:center;padding:0 2rem}.horizontal-header h2{font-family:Shippori Mincho,serif;font-size:2.5rem;font-weight:500;margin-bottom:1.5rem}.horizontal-track{display:flex;gap:2rem;padding:0 4rem;cursor:grab;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}.horizontal-track::-webkit-scrollbar{display:none}.horizontal-item{flex:0 0 400px}.horizontal-item-image{height:500px;overflow:hidden;margin-bottom:1.5rem}.horizontal-item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.horizontal-item:hover .horizontal-item-image img{transform:scale(1.05)}.horizontal-item-title{font-family:Shippori Mincho,serif;font-size:1.2rem;margin-bottom:.5rem}.horizontal-item-desc{font-size:.85rem;color:var(--gray-500)}.conclusion-section{padding:10rem 0;background:var(--white)}.conclusion-inner{max-width:800px;margin:0 auto;padding:0 2rem}.conclusion-inner h2{font-family:Shippori Mincho,serif;font-size:2.5rem;font-weight:500;margin-bottom:3rem;text-align:center}.conclusion-text{font-size:1.1rem;line-height:2.2;color:var(--gray-500);margin-bottom:2rem}.conclusion-text:first-of-type:first-letter{font-family:Shippori Mincho,serif;font-size:4rem;float:left;line-height:1;margin-right:1rem;margin-top:.5rem;color:var(--accent)}.tips-box{background:var(--cream);padding:3rem;margin:4rem 0;border-left:4px solid var(--accent)}.tips-box h3{font-family:Shippori Mincho,serif;font-size:1.3rem;margin-bottom:1.5rem;color:var(--gray-700)}.tips-list{list-style:none}.tips-list li{padding:1rem 0;border-bottom:1px solid var(--gray-200);font-size:1rem;color:var(--gray-500);display:flex;gap:1rem;align-items:flex-start}.tips-list li:last-child{border-bottom:none}.tips-number{font-family:Shippori Mincho,serif;font-size:1.2rem;color:var(--accent);font-weight:500}.author-section{padding:6rem 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.author-inner{max-width:800px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:150px 1fr;gap:3rem;align-items:center}.author-avatar{width:150px;height:150px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.author-info h4{font-family:Shippori Mincho,serif;font-size:1.3rem;margin-bottom:.5rem}.author-role{font-size:.8rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.author-bio{font-size:.95rem;color:var(--gray-500);line-height:1.8}.related-section{padding:8rem 0}.related-header{text-align:center;margin-bottom:4rem}.related-header h3{font-family:Shippori Mincho,serif;font-size:2rem;font-weight:500}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1200px;margin:0 auto;padding:0 2rem}.related-item{cursor:pointer;text-decoration:none;color:inherit}.related-item-image{aspect-ratio:4/3;overflow:hidden;margin-bottom:1.5rem}.related-item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.related-item:hover .related-item-image img{transform:scale(1.05)}.related-item-category{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}.related-item-title{font-family:Shippori Mincho,serif;font-size:1.2rem;line-height:1.5;transition:color .3s ease}.related-item:hover .related-item-title{color:var(--accent)}.share-float{position:fixed;right:3rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:100}.share-float-btn{width:44px;height:44px;border:1px solid var(--gray-200);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:.9rem;color:var(--gray-500)}.share-float-btn:hover{background:var(--black);border-color:var(--black);color:var(--white)}.back-to-top{position:fixed;bottom:3rem;right:3rem;width:50px;height:50px;background:var(--white);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease;z-index:99}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--black);border-color:var(--black);color:var(--white)}.reveal{opacity:0;transform:translateY(60px);transition:all 1s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-60px);transition:all 1s cubic-bezier(.4,0,.2,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(60px);transition:all 1s cubic-bezier(.4,0,.2,1)}.reveal-right.visible{opacity:1;transform:translate(0)}@media(max-width:1024px){.chapter-indicator,.share-float{display:none}.intro-section{grid-template-columns:1fr;gap:4rem}.intro-text{padding-right:0}.split-section{grid-template-columns:1fr}.split-content{padding:4rem 2rem}.timeline-item{grid-template-columns:1fr;gap:1rem}.timeline:before{left:0}.timeline-item:before{left:0}.timeline-year,.timeline-item:nth-child(2n) .timeline-year{text-align:left;padding:0;font-size:2rem}.timeline-content,.timeline-item:nth-child(2n) .timeline-content{padding:0;padding-left:2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:1fr}.author-inner{grid-template-columns:1fr;text-align:center}.author-avatar{margin:0 auto}}@media(max-width:768px){.hero-content{padding:3rem 2rem}.hero-meta{flex-direction:column;gap:.5rem}.hub-link{top:1rem;left:1rem}}
