*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100%}body{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic Medium,Meiryo,MS PGothic,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ffffff;color:#000000;font-weight:400;line-height:1.8;letter-spacing:.05em}a{text-decoration:none}a,a:visited{color:inherit}.App{min-height:100vh;background:transparent;color:#000000;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic Medium,Meiryo,MS PGothic,sans-serif;font-weight:400;line-height:1.8;letter-spacing:.05em;position:relative;overflow-x:hidden}.App:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-10;background:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.02)),url(https://images.unsplash.com/photo-1544735151-6e4b3999de89?ixlib=rb-4.0.3&auto=format&fit=crop&w=2560&q=80) 50%/cover;background-attachment:fixed;filter:blur(.5px) brightness(.9) saturate(1.2);animation:caveGlow 25s ease-in-out infinite}@keyframes caveGlow{0%,to{background-position:50%;filter:blur(.5px) brightness(.9) saturate(1.2)}50%{background-position:52% 48%;filter:blur(.7px) brightness(.95) saturate(1.3)}}.App-nav{position:fixed;top:0;width:100%;background:rgba(255,255,255,.95);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(0,0,0,.08);z-index:1000;padding:0 80px;box-shadow:0 4px 20px rgba(0,0,0,.05)}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;height:100px}.nav-logo{font-size:1.4rem;font-weight:400;color:#000000;text-decoration:none;letter-spacing:.1em;text-transform:uppercase}.nav-menu{display:flex;gap:60px;list-style:none;margin:0;padding:0}.nav-menu a{color:#000000;text-decoration:none;font-weight:400;font-size:.9rem;transition:opacity .3s ease;letter-spacing:.05em;opacity:.7}.nav-menu a:hover{opacity:1}.App-hero{padding:140px 40px 80px;text-align:center;background:#000;color:#fff;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.hero-title{font-size:3rem;margin-bottom:4rem;line-height:1.1}.hero-subtitle,.hero-title{letter-spacing:.08em;color:#000000}.hero-subtitle{font-size:1rem;margin-bottom:6rem;font-weight:400;max-width:500px;margin-left:auto;margin-right:auto;line-height:2;opacity:.8}.content-section{padding:160px 80px;max-width:900px;margin:40px auto;background:rgba(255,252,245,.95);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;position:relative;z-index:1;box-shadow:0 12px 40px rgba(200,140,100,.2)}.section-title{font-size:1.8rem;font-weight:400;margin-bottom:6rem;text-align:center;letter-spacing:.08em;color:#000000}.btn-primary{background:#000;color:#fff;border:none;padding:15px 30px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary:hover{background:#333;transform:translateY(-2px)}.btn-secondary{background:transparent;color:#000;border:1px solid #000;padding:15px 30px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;margin-left:15px}.btn-secondary:hover{background:#000;color:#fff}.status-box{background:#f0f8ff;border:1px solid #d0e8ff;border-radius:8px;padding:25px;margin:40px 0;text-align:center}.status-title{font-weight:600;color:#0066cc;margin-bottom:10px}.status-description{color:#666;font-size:.95rem;line-height:1.6}@media (max-width:768px){.App-nav{padding:0 15px}.nav-container{height:60px;flex-direction:column;justify-content:center;gap:10px}.nav-logo{font-size:1.2rem}.nav-menu{gap:15px;flex-wrap:wrap;justify-content:center}.nav-menu a{font-size:.8rem}.App-hero{padding:100px 15px 40px;min-height:50vh}.hero-title{font-size:2rem;margin-bottom:2rem}.hero-subtitle{font-size:.9rem;margin-bottom:3rem}.content-section{padding:40px 15px;margin:20px auto;border-radius:15px}.section-title{font-size:1.5rem;margin-bottom:3rem}.btn-primary,.btn-secondary{padding:12px 24px;font-size:.9rem;width:100%;text-align:center;margin:5px 0}.btn-secondary{margin-left:0}}@media (max-width:480px){.App-nav{padding:0 10px}.nav-container{height:80px}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.85rem}.content-section{padding:30px 10px;margin:15px 10px}.section-title{font-size:1.3rem}}@keyframes slide-in{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.animate-slide-in{animation:slide-in .3s ease-out}.portfolio-section{padding:80px 20px;max-width:1400px;margin:0 auto}.category-filter{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.filter-btn{background:none;border:1px solid #ddd;padding:8px 24px;font-size:14px;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;border-radius:20px}.filter-btn:hover{border-color:#000}.filter-btn.active{background:#000;color:#fff;border-color:#000}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px 16px;gap:24px 16px;margin-bottom:100px}.video-card{cursor:pointer;background:transparent;transition:transform .2s ease}.video-card:hover{transform:scale(1.02)}.video-thumbnail{position:relative;padding-top:56.25%;overflow:hidden;background:#000;border-radius:12px}.video-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.video-card:hover .video-thumbnail img{opacity:.8}.play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);opacity:0;transition:opacity .3s ease;z-index:2}.video-card:hover .play-overlay{opacity:1}.play-button{width:64px;height:64px;background:rgba(0,0,0,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.play-button svg{width:28px;height:28px;color:#fff;margin-left:4px}.video-card:hover .play-button{transform:scale(1.1);background:#ff0000}.video-duration{bottom:8px;background:rgba(0,0,0,.8);padding:2px 6px;font-size:12px}.video-duration,.video-type-badge{position:absolute;right:8px;color:#fff;border-radius:4px;font-weight:500}.video-type-badge{top:8px;background:rgba(0,123,255,.9);padding:4px 8px;font-size:11px;z-index:2}.video-info{padding:12px 0}.video-info h3{font-size:16px;font-weight:500;line-height:1.4;margin:0 0 4px;color:#000;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.video-client{font-size:14px;color:#606060;margin:0 0 4px}.video-description{font-size:13px;color:#606060;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;letter-spacing:.02em}.video-player-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.video-player-container{position:relative;width:90%;max-width:1200px;background:#000;border-radius:8px;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.video-player-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(255,255,255,.1);border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;z-index:10;transition:all .2s ease}.video-player-close:hover{background:rgba(255,255,255,.2);transform:scale(1.1)}.video-player-title{position:absolute;top:20px;left:20px;color:#fff;font-size:20px;font-weight:500;z-index:10;max-width:70%}.video-player-wrapper{position:relative;padding-bottom:56.25%;height:0}.video-player-iframe,.video-player-video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-player-video{background:#000}.empty-state,.loading-state{grid-column:1/-1}.hero-section{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:1}.hero-title{font-size:4rem;font-weight:300;letter-spacing:.1em;margin-bottom:1rem;opacity:0;animation:fadeInUp 1s ease-out forwards}.hero-subtitle{font-size:1.2rem;font-weight:300;letter-spacing:.05em;color:#666;opacity:0;animation:fadeInUp 1s ease-out .3s forwards}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:2.5rem;font-weight:300;letter-spacing:.1em;margin-bottom:30px}.empty-state,.loading-state{text-align:center;padding:60px 20px;color:#666;font-size:18px}.about-section{background:#f8f8f8;padding:100px 20px}.about-container{max-width:800px;margin:0 auto;text-align:center}.profile-content{margin-top:40px}.profile-name{font-size:2rem;font-weight:300;margin-bottom:10px;letter-spacing:.05em}.profile-title{font-size:1.2rem;color:#666;margin-bottom:30px;letter-spacing:.02em}.profile-bio{font-size:15px;line-height:2;color:#333;max-width:700px;margin:30px auto 20px;text-align:justify;letter-spacing:.03em}.profile-instagram{max-width:700px;margin:20px auto 40px;text-align:center}.instagram-link{display:inline-flex;align-items:center;gap:10px;color:#666;text-decoration:none;font-size:15px;letter-spacing:.03em;transition:all .3s ease;padding:8px 16px;border:1px solid transparent;border-radius:25px}.instagram-link:hover{color:#333;border-color:#ddd;background:rgba(0,0,0,.02)}.instagram-icon{width:20px;height:20px;fill:currentColor;transition:transform .3s ease}.instagram-link:hover .instagram-icon{transform:scale(1.1)}.profile-section{margin:40px 0}.profile-section h4{font-size:18px;font-weight:400;margin-bottom:20px;letter-spacing:.05em}.skills-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.skill-tag{background:#fff;border:1px solid #ddd;padding:6px 16px;border-radius:20px;font-size:14px;transition:all .3s ease}.skill-tag:hover{background:#000;color:#fff;border-color:#000}.services-list{list-style:none;padding:0;margin:20px 0}.services-list li{padding:10px 0;border-bottom:1px solid #eee;font-size:16px}.social-links{display:flex;justify-content:center;gap:30px;margin-top:40px}.social-links a{color:#333;text-decoration:none;font-size:16px;transition:color .3s ease;letter-spacing:.02em}.social-links a:hover{color:#000;text-decoration:underline}.profile-placeholder{padding:60px 20px;color:#666}.contact-section{padding:100px 20px;background:#fff}.contact-container{max-width:600px;margin:0 auto}.App-footer{background:#000;color:#fff;text-align:center;padding:40px 20px;font-size:14px;letter-spacing:.05em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.nav-links{display:flex;gap:30px;list-style:none;margin:0;padding:0}.nav-links a{color:#000;text-decoration:none;font-weight:300;font-size:14px;letter-spacing:.1em;transition:opacity .3s ease;opacity:.7;padding:5px 0;position:relative}.nav-links a:hover{opacity:1}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#000;transition:width .3s ease}.nav-links a:hover:after{width:100%}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.nav-links{gap:20px}.nav-links a{font-size:14px}.section-title{font-size:2rem}.video-grid{grid-template-columns:1fr}}