*,*::before,*::after{box-sizing:border-box}body{font-family:'Noto Sans JP','Segoe UI','Roboto',sans-serif;line-height:1.6;margin:0;background-color:#F5F4F0;color:#2C3E50;min-height:100vh;box-sizing:border-box}body.is-top-page{padding-top:63px}body.is-sub-page{padding-top:90px}.container{background-color:#ffffff;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.08);padding:0 20px 40px;width:100%;text-align:center;box-sizing:border-box;margin:0 auto}header{position:relative;z-index:100;background-color:#FBE25F;color:#555555}.app-info{text-align:left}.app-title{line-height:1;color:#555555;margin-bottom:0}.logo-link{display:inline-flex;transition:opacity .2s;text-decoration:none}.logo-link:hover{opacity:.8}.header-logo{height:45px;width:auto;display:block}@media (max-width:768px){.header-logo{height:35px}}.header-container{display:flex;justify-content:space-between;align-items:center;margin:0 auto;padding:15px 20px;box-sizing:border-box}.tagline{font-size:1.2em;color:#555;margin-bottom:0}.g_id_signin{margin:20px auto;display:block;width:fit-content}.btn{font-weight:600}.btn:hover{transform:translateY(-2px)}.mobile-warning-banner{display:none;background-color:#fff3cd;color:#856404;padding:10px 15px;margin-bottom:20px;border-radius:5px;font-size:.9rem;border-left:5px solid #ffeeba}@media (max-width:768px){.mobile-warning-banner{display:block}}.btn-success{background-color:#2C2C2C;color:white;border:none}.btn-success:hover{background-color:#2C2C2C}.btn .icon{width:24px;height:24px;margin-right:10px}@media (min-width:768px){.tagline{white-space:nowrap}}footer{margin-top:40px;padding-top:20px;border-top:1px solid #eee;color:#777;font-size:.9em;text-align:center}@media (max-width:768px){.container{padding:25px;width:95%}.app-title{font-size:2.2em}.tagline{font-size:1em}.how-to-use h2{font-size:1.6em}.step h3{font-size:1.4em}.step p{font-size:.9em}.btn{font-size:1em;padding:10px 20px}.hero-subtitle{font-size:.9em}body main .hero-content .hero-title{font-size:1.6em;line-height:1.4;white-space:normal}body.is-top-page{padding-top:53px}body.is-sub-page{padding-top:70px}.hero-title{font-size:1.4em!important;line-height:1.4;word-break:normal;overflow-wrap:break-word}.hero-content{width:100%;max-width:100%;padding:20px;overflow:hidden}.hero-subtitle{font-size:1em;line-height:1.6}.hero-section{min-height:500px;padding:40px 20px}}@media (max-width:480px){.container{padding:15px}.step-number{width:35px;height:35px;font-size:1.2em;top:-10px}.step h3,.step p{padding-left:15px}}.btn-full-width{display:block;width:100%;margin-bottom:15px;box-sizing:border-box;text-align:center}#loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.8);display:flex;justify-content:center;align-items:center;flex-direction:column;z-index:9999;opacity:1;transition:opacity .3s ease}#loader-overlay.loader-hidden{opacity:0;pointer-events:none}.loader-spinner{width:60px;height:60px;border:5px solid rgba(106,5,113,.2);border-top-color:#6a0571;border-radius:50%;animation:spin 1s linear infinite}.loader-text{margin-top:20px;font-size:1.2em;font-weight:500;color:#333}@keyframes spin{to{transform:rotate(360deg)}}.user-info{display:flex;align-items:center;gap:15px}.user-info span{font-weight:500;color:#555}@media (max-width:768px){.header-container{flex-direction:column;align-items:flex-start;gap:15px}.app-info .tagline{display:none}.user-info{width:100%;flex-direction:column;align-items:flex-end;gap:10px}}.btn-logout-header{padding:8px 15px;background-color:#6c757d;color:white;border-radius:5px;text-decoration:none;transition:background-color .3s ease;font-size:.9em;border:none}.btn-logout-header:hover{background-color:#5a6268;border:none}.thumbnail-wrapper{position:relative;width:80px;height:80px;background-color:#f0f0f0;border-radius:5px}.thumbnail-wrapper .loader-spinner{position:absolute;top:50%;left:50%;width:30px;height:30px;border-width:3px;animation:thumbnail-spin 1s linear infinite}@keyframes thumbnail-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}.preview-thumbnail{opacity:0;transition:opacity .4s ease}.btn-danger{background-color:#dc3545;color:white;text-decoration:none;padding:8px 12px;border-radius:5px;border:none;cursor:pointer}.btn-danger:hover{background-color:#c82333;border:none}.hero-section{position:relative;width:100%;min-height:60vh;background-image:url('/static/placeholder.webp');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:white}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.4);z-index:1}.hero-content{position:relative;z-index:2;padding:20px}.hero-title{font-size:3em;font-weight:700;margin-bottom:.5em;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-subtitle{font-size:1.2em;margin-bottom:1.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.hero-buttons .hero-btn{padding:15px 30px;font-size:1.2em;margin:0 10px;border:none}.btn-primary{background-color:#FBE25F!important;color:#2C2C2C;border:none}.btn-primary:hover{background-color:#e6d94f;color:#2C2C2C;border:none}.features-wrapper{padding:40px 0;text-align:center;margin-top:40px}.section-header{margin-bottom:50px}.section-header h3{font-size:2.2em;color:#333;margin-bottom:10px}.section-subtitle{font-size:1.1em;color:#666;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;text-align:left}.feature-item{background-color:#fff;padding:30px;border-radius:12px;border:1px solid #eee;box-shadow:0 4px 15px rgba(0,0,0,.03);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.feature-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.08)}.feature-icon{font-size:3em;margin-bottom:20px;line-height:1}.feature-item h4{margin-top:0;margin-bottom:15px;font-size:1.4em;color:#2C2C2C;font-weight:700}.feature-item p{color:#555;font-size:1em;line-height:1.7;margin-bottom:20px;flex-grow:1}.supported-services{background-color:#f9f9f9;padding:15px;border-radius:8px;font-size:.9em}.supported-services span{font-weight:700;display:block;margin-bottom:5px;color:#444}.supported-services ul{margin:0;padding-left:20px;color:#666}.supported-services li{margin-bottom:3px}body>.container{margin-top:40px}.main-nav{margin-left:auto;margin-right:20px;display:flex;gap:20px}.nav-link{color:#555;text-decoration:none;font-weight:600;font-size:1em;padding:5px 10px;border-radius:5px;transition:background-color .2s}.nav-link:hover{background-color:#f0f0f0;color:#2C3E50}.footer-links{margin-bottom:10px}.footer-links a{color:#666;text-decoration:none;margin:0 10px}.footer-links a:hover{text-decoration:underline}.guide-footer{margin-top:50px;text-align:center}.plan-badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.85em;font-weight:bold;color:#ffffff!important;vertical-align:middle;margin-left:10px;box-shadow:0 2px 5px rgba(0,0,0,.2);letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 4px 6px rgba(0,0,0,.15)}.plan-link,.plan-link:hover,.plan-link:active{color:inherit!important;text-decoration:none}.plan-free{background-color:#7f8c8d}.plan-standard{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%)}.plan-premium{background:linear-gradient(135deg,#d4af37 0%,#a67c00 100%);border:1px solid rgba(255,255,255,.3)}.truncate-text{display:inline-block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}@media (min-width:768px){.truncate-text{max-width:250px}}@media (max-width:768px){.header-container{flex-direction:column;align-items:center;gap:15px;text-align:center}.app-info .tagline{display:none}.user-info{width:100%;flex-direction:column;align-items:center;gap:10px}}.user-greeting{display:flex;align-items:center;max-width:100%}.greeting-prefix,.greeting-suffix{white-space:nowrap;flex-shrink:0}.truncate-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;margin:0 4px}