header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;box-shadow:0 2px 10px #0000001a;height:50px;position:fixed;top:0;width:100%;z-index:1000}.header-content{height:100%;padding:0 20px}.header-content,.header-inner{align-items:center;display:flex;margin:0 auto;max-width:1200px}.header-inner{justify-content:flex-start;padding:10px 20px}.logo{align-items:center;color:inherit;display:flex;gap:6px;height:100%;text-decoration:none}.logo-icon{display:block;height:24px;width:auto}.logo-text{color:#8b4513;font-size:20px;font-weight:700;line-height:1}*{box-sizing:border-box;margin:0;padding:0}.container{margin:0 auto;max-width:1200px;padding:0 20px}body{background-color:#f5f2eb;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.6}.hero{background:linear-gradient(135deg,#8fbc8f,#6b8e6b);color:#fff;margin-top:50px;overflow:hidden;padding:120px 0 80px;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='20' cy='20' r='2' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='80' cy='40' r='1.5' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='40' cy='80' r='2.5' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 300px;margin:0 auto;max-width:1200px;padding:0 20px;position:relative;z-index:1}.hero-text h1{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:20px}.hero-text p{font-size:20px;margin-bottom:40px;opacity:.9}.cta-button{background:linear-gradient(45deg,#ff6b6b,#ff8e8e);border:none;border-radius:50px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;display:inline-block;font-size:18px;font-weight:700;padding:18px 40px;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.cta-button:hover{box-shadow:0 8px 25px #ff6b6b66;transform:translateY(-2px)}.hero-character img{border-radius:20px;box-shadow:none;height:auto;max-width:280px;transition:transform .3s ease;width:100%}.hero-character img:hover{transform:scale(1.05)}@media (max-width:768px){.hero-content{gap:40px;grid-template-columns:1fr;text-align:center}.hero-character{display:none}}.story{background:#fff;padding:80px 20px;text-align:center}.problem{margin-bottom:60px}.problem h2{color:#8b4513;font-size:32px;margin-bottom:20px}.problem p{color:#666;font-size:18px;line-height:1.8}.solution{background:linear-gradient(135deg,#f0f8f0,#e8f5e8);border-left:5px solid #8fbc8f;border-radius:20px;margin:0 auto;max-width:800px;padding:40px}.solution h3{color:#2f4f2f;font-size:28px;margin-bottom:20px}.solution p{color:#333;font-size:18px;line-height:1.8}.final-cta{background:linear-gradient(135deg,#8fbc8f,#6b8e6b);color:#fff;padding:80px 20px;text-align:center}.final-cta h2{font-size:36px;margin-bottom:20px}.final-cta p{font-size:18px;margin-bottom:40px;opacity:.9}.how-to-use{background:#f5f2eb;padding:80px 20px;text-align:center}.section-title{color:#8b4513;font-size:36px;margin-bottom:60px}.steps{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1000px}.step{background:#fff;border-radius:20px;box-shadow:0 5px 20px #0000001a;padding:40px 30px;transition:transform .3s ease}.step:hover{transform:translateY(-5px)}.step-number{background:linear-gradient(45deg,#8fbc8f,#6b8e6b);font-size:20px;height:45px;margin:0 auto 20px;width:45px}.step-icon{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.step-icon img{height:100px;object-fit:contain;width:100px}.nickname-input{border:2px solid #ccc;border-radius:10px;box-shadow:0 2px 4px #0000000d;font-size:16px;margin:20px 0;max-width:300px;padding:12px 16px;width:100%}.nickname-form-overlay{align-items:center;background-color:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.nickname-form-container{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #0003;max-width:90%;padding:24px 20px;text-align:center;width:400px}.nickname-form-container h2{color:#8b4513;font-size:1.3rem;margin-bottom:16px}.nickname-form-container input{border:1px solid #ccc;border-radius:8px;font-size:1rem;margin-bottom:16px;padding:10px 12px;width:100%}.nickname-form-container button{background-color:#ff7f7f;border:none;border-radius:9999px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px;transition:background-color .2s}.nickname-form-container button:hover{background-color:#ff5f5f}.random-button{background-color:#ccc;border:none;border-radius:8px;color:#333;cursor:pointer;font-weight:700;padding:8px 14px}.random-button:hover{background-color:#bbb}.nickname-modal{background-color:#fff;border-radius:16px;box-shadow:0 0 20px #0003;box-sizing:border-box;max-width:400px;padding:24px;position:relative;text-align:center;width:100%}.nickname-counter{margin-bottom:16px}.footer{background:#333;color:#fff;padding:40px 0;text-align:center}.footer-content{margin:0 auto;max-width:800px;padding:0 20px}.footer-links{margin-top:20px}.footer-links a{color:#8fbc8f;font-weight:700;margin:0 15px;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#fff}.room-join-form-overlay{align-items:center;background-color:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.room-join-form-container{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #0003;box-sizing:border-box;max-width:90%;padding:24px 20px;text-align:center;width:400px}.room-join-form-container h2{color:#8b4513;font-size:1.3rem;margin-bottom:16px}.room-join-form-container input{border:1px solid #ccc;border-radius:8px;font-size:1rem;margin-bottom:16px;padding:10px 12px;width:100%}.room-join-form-container button{background-color:#ff7f7f;border:none;border-radius:9999px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 20px;transition:background-color .2s}.room-join-form-container button:hover{background-color:#ff5f5f}.room-join-form-container button.disabled{background-color:#ccc;color:#999;cursor:not-allowed}.room-join-form-container button.disabled:hover{background-color:#ccc}.close-button{background:none;border:none;color:#999;cursor:pointer;font-size:24px;position:absolute;right:16px;top:12px}.error-message{color:red;font-size:14px;margin:8px 0}.button-row{display:flex;gap:10px;justify-content:space-between;margin-top:10px}.input-with-button{align-items:stretch;display:flex;gap:8px;margin-bottom:8px}.input-with-button input{border:2px solid #333;border-radius:12px;box-sizing:border-box;flex:1 1;font-size:16px;height:48px;margin-bottom:0;outline:none;padding:10px 14px}.input-with-button button{align-items:center;background-color:#f9f6f2;border:2px solid #ccc;border-radius:12px;box-sizing:border-box;color:#333;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;padding:0;width:48px}.input-with-button button:hover{background-color:#f0edea}.app-subtitle{color:#666;font-size:14px;font-weight:400;margin-bottom:8px}.welcome-message{background-color:#f8f9fa;border-left:4px solid #8fbc8f;border-radius:8px;margin-bottom:16px;padding:16px;text-align:center}.welcome-message p{color:#333;font-size:16px;line-height:1.5;margin:0 0 8px}.welcome-message p:last-child{margin-bottom:0}.location-notice{background-color:#fff3cd;border-left:4px solid #ffc107;color:#d63384;font-size:13px;line-height:1.4;padding:12px;text-align:center}.app-description,.location-notice{border-radius:8px;margin-bottom:20px}.app-description{background-color:#f8f9fa;border-left:4px solid #8fbc8f;padding:16px;text-align:left}.app-description p{color:#333;font-size:14px;line-height:1.5;margin:0 0 12px}.app-description p:last-child{margin-bottom:0}.location-warning{color:#d63384!important}.welcome-text{margin-bottom:4px!important}.privacy-notice{color:#666;font-size:12px;margin-bottom:16px;text-align:left}.warning-content{background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;margin-bottom:20px;padding:16px;text-align:left}.warning-content p{color:#333;font-size:14px;line-height:1.5;margin:0 0 12px}.warning-content p:last-child{margin-bottom:0}.warning-content a{color:#8b4513;text-decoration:underline}.warning-content a:hover{color:#5a2d0c}.agreement-section{margin-bottom:16px}.checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;text-align:left}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.nickname-counter{color:#666;font-size:12px;margin-bottom:8px;margin-top:4px;text-align:right}.nickname-counter.warning{color:#ff6b6b;font-weight:700}.map-container{background-color:#f5f2eb;height:100vh;position:relative;width:100vw}.map-loading{align-items:center;color:#8b4513;display:flex;font-size:18px;height:100vh;justify-content:center;width:100%}.custom-marker{background:none!important;border:none!important}.marker-content{align-items:center;border-radius:50%;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:40px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;width:40px}.marker-me .marker-content{background:linear-gradient(45deg,#8fbc8f,#6b8e6b);box-shadow:0 4px 12px #8fbc8f66;color:#fff}.marker-other .marker-content{background:linear-gradient(45deg,#ff6b6b,#ff8e8e);box-shadow:0 4px 12px #ff6b6b66;color:#fff}.marker-content:hover{transform:scale(1.1)}.popup-content-leaflet{margin:0;padding:0}.popup-nickname{color:#8b4513;font-size:16px;font-weight:700;margin-bottom:8px}.popup-message{color:#333;font-size:14px;line-height:1.4;margin-bottom:8px}.popup-distance{color:#666;font-size:12px;margin-bottom:4px}.popup-time{color:#999;font-size:11px;margin-bottom:12px}.popup-content-leaflet .edit-message-btn{background:linear-gradient(45deg,#8fbc8f,#6b8e6b);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s ease;width:100%}.popup-content-leaflet .edit-message-btn:hover{background:linear-gradient(45deg,#7aa07a,#5a7e5a)}.share-button{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 4px 16px #00000026;cursor:pointer;display:flex;height:50px;justify-content:center;position:fixed;right:20px;top:80px;transition:transform .2s ease,box-shadow .2s ease;width:50px;z-index:1000}.share-button:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.menu-button{background:#fff;border:none;border-radius:50%;box-shadow:0 4px 16px #00000026;color:#8b4513;cursor:pointer;font-size:20px;font-weight:700;height:50px;left:20px;position:fixed;top:80px;transition:transform .2s ease,box-shadow .2s ease;width:50px;z-index:1000}.menu-button:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.location-button{align-items:center;background:#fff;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 16px #00000026;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:20px;transition:transform .2s ease,box-shadow .2s ease;width:60px;z-index:1000}.location-button:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.location-icon{background:#fff;border:2px solid #8b4513;border-radius:50%;height:24px;position:relative;width:24px}.location-icon:after{background:#8b4513;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.menu-overlay{align-items:flex-start;background:#0000004d;display:flex;height:100vh;justify-content:flex-start;left:0;padding:140px 20px 20px;position:fixed;top:0;width:100vw;z-index:1100}.menu-dropdown{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:200px;overflow:hidden}.menu-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:16px;gap:8px;padding:16px 20px;text-align:left;transition:background-color .2s ease;width:100%}.menu-item:hover{background-color:#f8f9fa}.edit-nickname-btn{color:#8b4513}.edit-nickname-btn:hover{background-color:#f5f2eb}.edit-message-btn{color:#8b4513}.edit-message-btn:hover{background-color:#f5f2eb}.menu-item.edit-message-btn{color:#8b4513}.menu-item.edit-message-btn:hover{background-color:#f5f2eb}.menu-divider{background-color:#e0e0e0;height:1px;margin:0}.exit-btn{color:#d63384}.exit-btn:hover{background-color:#fff5f8}@media (max-width:768px){.share-button{right:15px}.menu-button,.share-button{height:45px;top:75px;width:45px}.menu-button{font-size:18px;left:15px}.location-button{bottom:15px;height:56px;right:15px;width:56px}.location-icon{height:22px;width:22px}.location-icon:after{height:7px;width:7px}.menu-overlay{justify-content:flex-start;padding:130px 15px 15px}}.exit-dialog{animation:slideUpFadeIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;max-height:80vh;max-width:400px;overflow:hidden;width:90%}.exit-dialog-header{border-bottom:1px solid #e0e0e0;padding:24px 24px 16px}.exit-dialog-header h3{align-items:center;color:#ff6b6b;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0}.exit-dialog-content{line-height:1.6;padding:20px 24px}.exit-dialog-content p{color:#333;font-size:16px;margin:0 0 12px}.exit-dialog-content p:last-child{color:#ff6b6b;font-weight:700;margin-bottom:0}.exit-dialog-buttons{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.exit-cancel-btn{background:#f5f2eb;border:1px solid tan;border-radius:50px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;font-size:14px;min-width:120px;padding:12px 24px;transition:all .2s ease}.exit-cancel-btn:hover:not(:disabled){background:tan;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.exit-cancel-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.exit-confirm-btn{background:linear-gradient(45deg,#ff6b6b,#ff8e8e);border:none;border-radius:50px;box-shadow:0 4px 12px #ff6b6b4d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:120px;padding:12px 24px;transition:all .2s ease}.exit-confirm-btn:hover:not(:disabled){background:linear-gradient(45deg,#ff8e8e,#ff6b6b);box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.exit-confirm-btn:disabled{box-shadow:0 4px 12px #ff6b6b33;cursor:not-allowed;opacity:.7;transform:none}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.exit-dialog{max-width:340px;width:95%}.exit-dialog-header{padding:20px 20px 14px}.exit-dialog-header h3{font-size:16px}.exit-dialog-content{padding:16px 20px}.exit-dialog-content p{font-size:14px}.exit-dialog-buttons{flex-direction:column;padding:14px 20px 20px}.exit-cancel-btn,.exit-confirm-btn{font-size:15px;min-width:auto;padding:14px 24px;width:100%}}.message-overlay{align-items:center!important;background:#0006!important;box-sizing:border-box!important;display:flex!important;height:100vh!important;justify-content:center!important;left:0!important;padding:20px!important;position:fixed!important;top:0!important;width:100vw!important;z-index:1500!important}.message-modal{animation:slideUpFadeIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;max-height:80vh;max-width:420px;overflow:hidden;width:90%}.message-modal-header{background:linear-gradient(45deg,#8fbc8f,#6b8e6b);border-bottom:1px solid #e0e0e0;color:#fff;padding:24px 24px 16px}.message-modal-header h3{align-items:center;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0}.message-modal-content{padding:24px}.message-modal-content p{color:#333;font-size:16px;line-height:1.6;margin:0 0 16px}.message-input{border:2px solid tan;border-radius:12px;font-family:inherit;font-size:16px;line-height:1.5;min-height:80px;padding:12px 16px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.message-input:focus{border-color:#8fbc8f;box-shadow:0 0 0 3px #8fbc8f33;outline:none}.message-input:disabled{background-color:#f5f2eb;cursor:not-allowed;opacity:.7}.message-input::placeholder{color:#666;font-style:italic}.message-counter{color:#666;font-size:12px;margin-top:8px;text-align:right}.message-modal-buttons{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.message-cancel-btn{background:#f5f2eb;border:1px solid tan;border-radius:50px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;font-size:14px;min-width:100px;padding:12px 24px;transition:all .2s ease}.message-cancel-btn:hover:not(:disabled){background:tan;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.message-cancel-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.message-save-btn{background:linear-gradient(45deg,#8fbc8f,#6b8e6b);border:none;border-radius:50px;box-shadow:0 4px 12px #8fbc8f4d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;min-width:100px;padding:12px 24px;transition:all .2s ease}.message-save-btn:hover:not(:disabled){background:linear-gradient(45deg,#6b8e6b,#5a7e5a);box-shadow:0 6px 20px #8fbc8f66;transform:translateY(-2px)}.message-save-btn:disabled{box-shadow:0 4px 12px #8fbc8f33;cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.message-overlay{padding:15px!important}.message-modal{max-width:360px;width:95%}.message-modal-header{padding:20px 20px 14px}.message-modal-header h3{font-size:16px}.message-modal-content{padding:20px}.message-modal-content p{font-size:14px}.message-input{font-size:16px;padding:14px 16px}.message-modal-buttons{flex-direction:column;padding:14px 20px 20px}.message-cancel-btn,.message-save-btn{font-size:15px;min-width:auto;padding:14px 24px;width:100%}}.location-error-container{align-items:center;background:linear-gradient(135deg,#f5f2eb,tan);box-sizing:border-box;display:flex;height:100vh;justify-content:center;padding:20px;width:100vw}.location-error-content{animation:slideUpFadeIn .5s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;max-width:500px;padding:40px 32px;text-align:center;width:100%}.location-error-icon{font-size:48px;margin-bottom:16px;opacity:.8}.location-error-title{color:#8b4513;font-size:24px;font-weight:700;line-height:1.4;margin:0 0 16px}.location-error-description{color:#333;font-size:16px;line-height:1.6;margin:0 0 20px}.location-error-detail{background:#f5f2eb;border-radius:8px;color:#666;font-size:14px;margin:16px 0 24px;padding:12px 16px;text-align:left}.location-error-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.location-help-btn{align-items:center;background:linear-gradient(45deg,#8fbc8f,#6b8e6b);border:none;border-radius:50px;box-shadow:0 4px 12px #8fbc8f4d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:14px 28px;text-decoration:none;transition:all .2s ease}.location-help-btn:hover{background:linear-gradient(45deg,#6b8e6b,#5a7e5a);box-shadow:0 6px 20px #8fbc8f66;color:#fff;text-decoration:none;transform:translateY(-2px)}.location-retry-btn{align-items:center;background:#f5f2eb;border:2px solid tan;border-radius:50px;box-shadow:0 2px 8px #0000001a;color:#8b4513;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;padding:12px 28px;transition:all .2s ease}.location-retry-btn:hover{background:tan;box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.location-error-footer{border-top:1px solid tan;margin-top:16px;padding-top:16px}.location-error-footer p{color:#666;font-size:14px;line-height:1.4;margin:0}@media (max-width:768px){.location-error-container{padding:15px}.location-error-content{padding:32px 24px}.location-error-icon{font-size:40px;margin-bottom:12px}.location-error-title{font-size:20px;margin-bottom:12px}.location-error-description{font-size:15px;margin-bottom:16px}.location-error-detail{font-size:13px;margin:12px 0 20px;padding:10px 14px}.location-help-btn{font-size:15px;padding:12px 24px}.location-retry-btn{font-size:13px;padding:10px 24px}}.toast{animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:2px solid #0000;border-radius:50px;box-shadow:0 4px 16px #00000026;font-size:14px;justify-content:space-between;margin-bottom:8px;max-width:500px;min-width:300px;padding:12px 16px}.toast,.toast-content{align-items:center;display:flex}.toast-content{flex:1 1;gap:8px}.toast-icon{flex-shrink:0;font-size:16px}.toast-message{color:#333;font-weight:500;line-height:1.4;word-break:break-word}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:24px;justify-content:center;margin-left:8px;padding:4px;transition:background-color .2s ease;width:24px}.toast-close:hover{background:#f5f2eb}.toast-error{border-color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b33}.toast-error .toast-icon{color:#ff6b6b}.toast-success{border-color:#8fbc8f;box-shadow:0 4px 16px #8fbc8f33}.toast-success .toast-icon{color:#8fbc8f}.toast-info{border-color:#6b8e6b;box-shadow:0 4px 16px #6b8e6b33}.toast-info .toast-icon{color:#6b8e6b}@keyframes slideIn{0%{opacity:0;transform:translateX(100%) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(100%) scale(.8)}}.toast.toast-exit{animation:slideOut .3s ease-in forwards}@media (max-width:768px){.toast{font-size:13px;max-width:calc(100vw - 30px);min-width:280px;padding:14px 16px}.toast-icon{font-size:15px}.toast-close{font-size:16px;height:26px;width:26px}}.toast-container{display:flex;flex-direction:column;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:2000}.toast-container *{pointer-events:auto}.toast-container-top{top:100px}.toast-container-bottom{bottom:30px}@media (max-width:768px){.toast-container{left:15px;right:15px;transform:none;width:calc(100vw - 30px)}.toast-container-top{top:85px}.toast-container-bottom{bottom:20px}}.loading-container{align-items:center;background:#f5f2eb;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.loading-image-wrapper{margin-bottom:30px}.loading-image{height:180px;object-fit:contain;width:120px}.loading-title{color:#8b4513;font-size:24px;font-weight:700;margin-bottom:15px}.loading-message{background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:16px;line-height:1.6;max-width:300px;padding:20px;text-align:center}.creator-tooltip{max-width:280px;pointer-events:auto;position:fixed;right:20px;top:145px;z-index:1500}.tooltip-content{align-items:flex-start;background:#fff;border:2px solid #8fbc8f;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;gap:12px;padding:16px}.tooltip-character{flex-shrink:0}.tooltip-character img{border-radius:8px;height:auto;width:50px}.tooltip-message{flex:1 1;min-width:0}.tooltip-message h3{color:#8b4513;font-size:16px;line-height:1.2;margin:0 0 8px}.tooltip-message p{color:#333;font-size:14px;line-height:1.3;margin:0 0 4px}.sub-message{color:#8b4513!important;font-size:13px!important;font-weight:700}.tooltip-arrow{background:#fff;border:2px solid #8fbc8f;border-bottom:none;border-right:none;height:16px;position:absolute;right:25px;top:-8px;transform:rotate(45deg);width:16px}@media (max-width:768px){.creator-tooltip{max-width:260px;right:15px;top:135px}.tooltip-content{gap:10px;padding:14px}.tooltip-character img{width:40px}.tooltip-message h3{font-size:15px}.tooltip-message p{font-size:13px}.sub-message{font-size:12px!important}.tooltip-arrow{right:20px}}.location-guide-tooltip{bottom:100px;max-width:280px;pointer-events:auto;position:fixed;right:20px;z-index:1500}.location-tooltip-content{align-items:flex-start;background:#fff;border:2px solid #8fbc8f;border-radius:12px;box-shadow:0 8px 24px #00000026;display:flex;gap:12px;padding:16px}.location-tooltip-character{flex-shrink:0}.location-tooltip-character img{border-radius:8px;height:auto;width:50px}.location-tooltip-message{flex:1 1;min-width:0}.location-tooltip-message h3{color:#8b4513;font-size:16px;line-height:1.2;margin:0 0 8px}.location-tooltip-message p{color:#333;font-size:14px;line-height:1.3;margin:0 0 4px}.location-sub-message{color:#8b4513!important;font-size:13px!important;font-weight:700}.location-tooltip-arrow{background:#fff;border:2px solid #8fbc8f;border-left:none;border-top:none;bottom:-8px;height:16px;position:absolute;right:40px;transform:rotate(45deg);width:16px}@media (max-width:768px){.location-guide-tooltip{bottom:90px;max-width:260px;right:15px}.location-tooltip-content{gap:10px;padding:14px}.location-tooltip-character img{width:40px}.location-tooltip-message h3{font-size:15px}.location-tooltip-message p{font-size:13px}.location-sub-message{font-size:12px!important}.location-tooltip-arrow{right:35px}}.no-location-main{background-color:#f5f2eb;min-height:100vh;padding-bottom:40px;padding-top:70px}.no-location-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:20px auto;max-width:1200px;padding:40px 60px}.no-location-header{border-bottom:2px solid #8fbc8f;margin-bottom:40px;padding-bottom:20px;text-align:center}.no-location-icon{font-size:48px;margin-bottom:16px}.no-location-title{color:#8b4513;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:32px;font-weight:700;margin-bottom:16px}.no-location-description{color:#666;font-size:16px;line-height:1.6}.detected-platform{background:linear-gradient(135deg,#8fbc8f,#6b8e6b);border-radius:12px;margin-bottom:32px;padding:20px;text-align:center}.detected-platform h2{color:#fff;font-size:18px;font-weight:700;margin:0 0 12px}.platform-info{margin:0}.platform-badge{background-color:#fff3;border-radius:20px;color:#fff;display:inline-block;font-weight:700;padding:8px 16px}.no-location-content{color:#333;font-size:16px;line-height:1.6}.platform-section{border:2px solid #e8f5e8;border-radius:12px;margin-bottom:40px;overflow:hidden}.platform-header{background:linear-gradient(135deg,#8fbc8f,#6b8e6b);margin:0;padding:16px 24px}.platform-title{color:#fff;font-size:20px;font-weight:700;margin:0}.step-list{background-color:#fff;padding:24px}.step-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;margin-bottom:24px;padding-bottom:24px}.step-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.step-number{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;margin-right:16px;margin-top:4px;width:32px}.step-content{flex:1 1}.step-content h3{color:#2f4f2f;font-size:18px;font-weight:700;margin:0 0 8px}.step-content p{color:#666;line-height:1.5;margin:0}.troubleshooting-section{background-color:#fff8dc;border:2px solid khaki;border-radius:12px;margin-bottom:32px;overflow:hidden}.troubleshooting-header{background-color:khaki;padding:16px 24px}.troubleshooting-title{color:#8b4513;font-size:20px;font-weight:700;margin:0}.troubleshooting-list{padding:24px}.troubleshooting-item{align-items:flex-start;display:flex;margin-bottom:20px}.troubleshooting-item:last-child{margin-bottom:0}.troubleshooting-icon{flex-shrink:0;font-size:24px;margin-right:16px;margin-top:4px}.troubleshooting-content h3{color:#8b4513;font-size:16px;font-weight:700;margin:0 0 4px}.troubleshooting-content p{color:#666;font-size:14px;line-height:1.5;margin:0}.notice-section{background-color:#ffe4e1;border:2px solid pink;border-radius:12px;margin-bottom:32px;overflow:hidden}.notice-header{background-color:pink;padding:16px 24px}.notice-title{color:#8b4513;font-size:20px;font-weight:700;margin:0}.notice-content{padding:24px}.notice-item{margin-bottom:20px}.notice-item:last-child{margin-bottom:0}.notice-item h3{color:#8b4513;font-size:16px;font-weight:700;margin:0 0 8px}.notice-item p{color:#666;font-size:14px;line-height:1.5;margin:0}.action-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:40px}.home-button,.retry-button{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border:none;border-radius:50px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;justify-content:center;min-width:200px;padding:16px 32px;text-decoration:none;transition:all .3s ease}.home-button:hover,.retry-button:hover{box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.home-button{background:linear-gradient(135deg,#8fbc8f,#6b8e6b);box-shadow:0 4px 15px #8fbc8f4d}.home-button:hover{box-shadow:0 6px 20px #8fbc8f66}@media (max-width:768px){.no-location-main{padding-bottom:0;padding-top:50px}.no-location-container{border-radius:0;box-shadow:none;margin:0;padding:30px 20px}.no-location-title{font-size:28px}.platform-title{font-size:18px}.step-content h3{font-size:16px}.action-buttons{align-items:center;flex-direction:column}.home-button,.retry-button{max-width:300px;width:100%}}@media (max-width:480px){.no-location-container{padding:20px 15px}.no-location-icon{font-size:36px}.no-location-title{font-size:24px}.step-number{font-size:12px;height:28px;width:28px}.step-content h3{font-size:15px}.step-content p{font-size:14px}}.terms-main{background-color:#f5f2eb;min-height:100vh;padding-bottom:40px;padding-top:70px}.terms-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:20px auto;max-width:1200px;padding:40px 60px}.terms-header{border-bottom:2px solid #8fbc8f;margin-bottom:40px;padding-bottom:20px;text-align:center}.terms-title{color:#8b4513;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:32px;font-weight:700;margin-bottom:16px}.terms-description{color:#666;font-size:16px;line-height:1.6}.terms-updated{color:#888;font-size:14px;font-style:italic;margin-top:8px}.terms-content{color:#333;font-size:16px;line-height:1.6}.terms-section{margin-bottom:32px}.terms-section-title{border-left:4px solid #8fbc8f;color:#2f4f2f;font-size:20px;font-weight:700;margin-bottom:16px;padding-left:12px}.terms-section p{margin-bottom:12px}.terms-list,.terms-section p:last-child{margin-bottom:0}.terms-list{padding-left:20px}.terms-list li{margin-bottom:8px}.terms-warning{background-color:#fff8dc;border:1px solid khaki;border-radius:8px;margin-bottom:16px;padding:16px}.terms-warning p{color:#8b4513;font-weight:700;margin:0}.terms-age-restriction{background-color:#ffe4e1;border:1px solid pink;border-radius:8px;padding:16px}.terms-age-restriction p{color:#8b4513;font-weight:700;margin:0}.terms-contact{background-color:#8fbc8f;border-radius:12px;margin-top:40px;padding:24px;text-align:center}.terms-contact-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:16px}.terms-contact p{color:#fff;margin:0 0 12px}.terms-contact-link{color:#fff;font-weight:700;text-decoration:underline}.terms-contact-link:hover{color:#e8f5e8}.terms-contact-note{color:#e8f5e8;font-size:14px;margin-top:8px}@media (max-width:768px){.terms-main{padding-bottom:0;padding-top:50px}.terms-container{border-radius:0;box-shadow:none;margin:0;padding:30px 20px}.terms-title{font-size:28px}}.privacy-main{background-color:#f5f2eb;min-height:100vh;padding-bottom:40px;padding-top:70px}.privacy-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:20px auto;max-width:1200px;padding:40px 60px}.privacy-header{border-bottom:2px solid #8fbc8f;margin-bottom:40px;padding-bottom:20px;text-align:center}.privacy-title{color:#8b4513;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:32px;font-weight:700;margin-bottom:16px}.privacy-description{color:#666;font-size:16px;line-height:1.6}.privacy-updated{color:#888;font-size:14px;font-style:italic;margin-top:8px}.privacy-content{color:#333;font-size:16px;line-height:1.6}.privacy-section{margin-bottom:32px}.privacy-section-title{border-left:4px solid #8fbc8f;color:#2f4f2f;font-size:20px;font-weight:700;margin-bottom:16px;padding-left:12px}.privacy-section p{margin-bottom:12px}.privacy-section p:last-child{margin-bottom:0}.privacy-subsection{margin-bottom:20px}.privacy-subsection-title{align-items:center;color:#2f4f2f;display:flex;font-size:18px;font-weight:700;gap:8px;margin-bottom:12px}.privacy-table{background-color:#fafafa;border-collapse:collapse;border-radius:8px;margin-bottom:16px;overflow:hidden;width:100%}.privacy-table td,.privacy-table th{border-bottom:1px solid #e0e0e0;padding:12px 16px;text-align:left}.privacy-table th{background-color:#8fbc8f;color:#fff;font-weight:700}.privacy-table tr:last-child td{border-bottom:none}.privacy-list{margin-bottom:0;padding-left:20px}.privacy-list li{margin-bottom:8px}.privacy-warning{background-color:#fff8dc;border:1px solid khaki;border-radius:8px;margin-bottom:16px;padding:16px}.privacy-warning p{color:#8b4513;font-weight:700;margin:0}.privacy-important{background-color:#e8f5e8;border:1px solid #8fbc8f;border-radius:8px;margin-bottom:16px;padding:16px}.privacy-important p{color:#2f4f2f;margin:0}.privacy-age-restriction{background-color:#ffe4e1;border:1px solid pink;border-radius:8px;padding:16px}.privacy-age-restriction p{color:#8b4513;font-weight:700;margin:0}.privacy-contact{background-color:#8fbc8f;border-radius:12px;margin-top:40px;padding:24px;text-align:center}.privacy-contact-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:16px}.privacy-contact p{color:#fff;margin:0 0 12px}.privacy-contact-link{color:#fff;font-weight:700;text-decoration:underline}.privacy-contact-link:hover{color:#e8f5e8}.privacy-contact-note{color:#e8f5e8;font-size:14px;margin-top:8px}@media (max-width:768px){.privacy-main{padding-bottom:0;padding-top:50px}.privacy-container{border-radius:0;box-shadow:none;margin:0;padding:30px 20px}.privacy-title{font-size:28px}.privacy-table{font-size:14px}.privacy-table td,.privacy-table th{padding:8px 12px}}body{background-color:#fffaf3;color:#333;font-family:Noto Sans JP,sans-serif;margin:0}a{color:inherit;text-decoration:none}
/*# sourceMappingURL=main.7f76d39d.css.map*/