*{box-sizing:border-box;padding:0;margin:0}:root{--primary-color: #5BB28F;--primary-shadow: #659984;--secondary-color: #FFC426;--success-color: #5BB28F;--error-color: #D94B4B;--warning-color: #EABA3C;--bg-primary: #fff;--bg-secondary: #F3F1EE;--bg-thirdly: #555;--btn-primary-hover: #45c18e;--surface: #F8F9FA;--border: #dadce0;--text-primary: #333;--text-secondary: #555;--text-thirdly: #fff;--text-attention: #D94B4B;--shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);--shadow-hover: 0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);--blue: #4C8BC3;--purple: #7373D3;--orange: #FF9131;--grid-border: #e5e7eb;--item-hover: #f9fafb;--item-answered: #f0f9f4;--item-answered-hover: #dcfce7;--item-unanswered: #fef2f2;--highlight-flash: #fef08a;--ordinal-color: #6b7280;--btn-giveup-shadow: #a74444;--btn-share-bg: #000;--btn-share-hover: #333;--btn-secondary-shadow: #D5AE47}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary)}img{display:block;height:auto}ol,ul{list-style:none}#app{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:1200px;padding:0 20px;margin:0 auto}.header{background-color:var(--bg-primary)}.header .container{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.header-title{display:flex;gap:16px;align-items:center}.header-title .logo{width:160px;transition:opacity .2s}.header-title .logo:hover{opacity:.7}.header-title .logo-img{width:100%}.header-actions{display:flex;gap:12px;align-items:center}.hamburger-btn{z-index:1001;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;cursor:pointer;background:none;border:none}.hamburger-line{display:block;width:24px;height:2px;background-color:var(--text-primary);transition:transform .3s,opacity .3s}.hamburger-btn.is-active .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.is-active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.is-active .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-menu{position:fixed;top:0;right:-100%;z-index:1000;width:375px;height:100svh;padding:80px 24px 24px;overflow-y:auto;background-color:var(--bg-primary);box-shadow:-2px 0 10px #0000001a;transition:right .3s ease}.nav-menu.is-open{right:0}.nav-list{margin-bottom:24px}.nav-item{border-bottom:1px solid var(--border)}.nav-link{display:block;padding:16px 0;font-weight:500;color:var(--text-primary);text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--primary-color)}.nav-auth{padding-top:16px}.nav-auth .user-info{flex-wrap:wrap;gap:12px;align-items:flex-start;margin-bottom:16px}.nav-auth .btn{justify-content:center;width:100%}.menu-overlay{position:fixed;top:0;left:0;z-index:999;visibility:hidden;width:100%;height:100%;background-color:#0000007f;opacity:0;transition:opacity .3s,visibility .3s}.menu-overlay.is-visible{visibility:visible;opacity:1}.user-info{display:flex;gap:12px;align-items:center}.user-name{font-weight:500;color:var(--text-primary)}.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 20px;font-size:.875rem;font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;border:none;border-radius:8px;transition:background-color .2s,transform .5s,box-shadow .5s}.btn:active{box-shadow:none;transform:translateY(4px)}.btn-primary{font-size:16px;font-weight:600;color:#fff;letter-spacing:.08rem;background-color:var(--primary-color);box-shadow:0 4px 0 var(--primary-shadow)}.btn-primary:hover{background-color:var(--btn-primary-hover)}.btn-secondary{color:var(--text-primary);background-color:var(--secondary-color);box-shadow:0 4px 0 var(--btn-secondary-shadow);transition:background-color .2s}.btn.-shine{position:relative;overflow:hidden}.btn.-shine:before{position:absolute;top:0;left:-75%;z-index:2;display:block;width:50%;height:100%;content:"";background:linear-gradient(left,#fff0,#ffffff4d);background:linear-gradient(to right,#fff0,#ffffff4d);transform:skew(-25deg)}.btn.-shine:hover:before{animation:shine 1s}.btn-arrow{position:relative}.btn-arrow .icon-arrow{position:absolute;top:calc(50% - .6em);right:1em;width:1.2em;height:1.2em;object-fit:contain;transition:transform .2s}.btn-arrow:hover .icon-arrow{transform:translate(3px)}.btn-large{display:block;width:min(100%,400px);padding:14px 48px;margin:0 auto;font-size:20px;font-weight:600;text-align:center;letter-spacing:.05rem}.btn-sm{padding:8px 16px;font-size:.8125rem}.main{flex:1;padding:40px 0}.hero{margin-bottom:48px;text-align:center}.hero-title{margin-bottom:16px;font-size:2.25rem;font-weight:700;color:var(--text-primary)}.hero-logo{display:block;width:min(80%,300px);margin:0 auto}.hero-description{max-width:600px;margin:8px auto 0;font-size:1rem;color:var(--text-secondary)}.hero-description a{color:var(--primary-color);text-decoration:underline}.hero-description a:hover{text-decoration:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{padding:24px;text-align:center;background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow)}.stat-number{margin-bottom:8px;font-size:2.25rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.quiz-section{margin-bottom:48px}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.section-lead{margin:4px 0 0;color:var(--text-secondary)}.quiz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:24px 0 0}.quiz-card{display:block;overflow:hidden;color:inherit;text-decoration:none;background:var(--bg-primary);border-radius:12px}.quiz-img{width:100%;overflow:hidden}.quiz-img img{width:100%;backface-visibility:hidden;transition:transform .2s}.quiz-text{padding:16px}.quiz-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);transition:color .2s}.quiz-description{font-size:.875rem;color:var(--text-secondary)}.quiz-card:hover .quiz-img img{transform:scale(1.1)}.quiz-card:hover .quiz-title{color:var(--primary-color)}.guest-notice{padding:24px;text-align:center;background:#fff;border-radius:12px}.notice-text{display:block;margin-bottom:16px;font-size:1rem;font-weight:500}.footer-ad{padding:24px 0}.footer{padding:40px 0;margin-top:auto;text-align:center;background-color:var(--bg-thirdly)}.footer .container{display:flex;align-items:center;justify-content:space-between}.footer-information{display:flex;gap:24px}.footer .logo{width:min-content;height:24px;filter:invert(1)}.footer .logo-img{width:min-content;height:100%}.footer .sns{width:20px;height:20px}.footer .sns-link{display:block;width:100%;height:100%;transition:opacity .7s}.footer .sns-link:hover{opacity:.7}.footer .sns-icon{width:100%;height:100%;object-fit:contain}.footer-legal{display:flex;gap:16px}.footer-link{font-size:.8rem;color:#fff;text-decoration:underline}.footer-link:hover{text-decoration:none}.contents-hero{display:flex;align-items:center;height:120px;text-align:center;background:var(--primary-color)}.contents-title{font-size:1.5rem;font-weight:600;color:#fff}.contents-body h2{margin:32px 0 0;color:var(--text-secondary)}.contents-body p{margin:8px 0 0;line-height:1.8}.contents-body ul{padding:0 0 0 1em;margin:8px 0 0;list-style:disc}.contents-body ul li{margin:4px 0 0}.contents-body p a,.contents-body li a{color:var(--primary-color);text-decoration:underline}.contents-body p a:hover,.contents-body li a:hover{text-decoration:none}.contents-body.-notfound{text-align:center}.contents-body.-notfound .btn-primary{margin:24px auto 0}.contents-body.-about{width:min(100%,600px);margin:0 auto}.contents-body .logo-img{margin:0 auto 24px;text-align:center}.contents-body .logo-img img{margin:0 auto}.contents-body.-about h3{margin:24px 0 0}@media (max-width: 768px){.header .container{gap:16px}.header-title .logo{padding:3% 0 0}.header-title .copy{width:1px;height:1px;font-size:0;opacity:0}.hero-title{font-size:1.75rem}.quiz-grid{grid-template-columns:repeat(2,minmax(49%,1fr));gap:16px 8px}.quiz-card{border-radius:8px}.quiz-text{padding:12px}.quiz-title{font-size:.875rem}.notice-content{flex-direction:column;text-align:center}.user-info{flex-direction:column}.footer{padding:24px 0 16px}.footer .container{flex-flow:column wrap;align-items:center;justify-content:flex-start}.footer-legal{margin:8px 0 0}}@keyframes shine{to{left:125%}}.hidden{display:none!important}.text-center{text-align:center}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.toast{position:fixed;bottom:32px;left:50%;z-index:9999;display:inline-flex;gap:8px;align-items:center;padding:12px 20px;font-family:inherit;font-size:.9rem;font-weight:500;white-space:nowrap;pointer-events:none;border-radius:100px;box-shadow:0 4px 16px #0000002e;opacity:0;transform:translate(-50%,20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.toast--visible{opacity:1;transform:translate(-50%)}.toast--success{color:#fff;background:var(--primary-color)}.toast--info{color:#fff;background:var(--bg-thirdly)}.toast--error{color:#fff;background:var(--error-color)}.toast__icon{display:flex;flex-shrink:0;line-height:1}.toast__message{line-height:1}.mypage-title{margin-bottom:24px;font-size:1.4rem}.mypage-section{padding:24px;margin-bottom:16px;background:var(--bg-primary);border-radius:12px}.mypage-section h2{padding-bottom:8px;margin-bottom:16px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.user-profile{display:flex;gap:16px;align-items:center}.mypage-username{font-size:1.2rem;font-weight:600}.name-edit-toggle{display:inline-block;padding:0;margin:0 0 0 12px;font-family:inherit;font-size:.8rem;color:var(--primary-color);text-decoration:underline;cursor:pointer;background:none;border:none}.name-change-form{display:none;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}.name-change-form.is-open{display:flex}.name-change-form input{flex:1;min-width:200px;padding:8px 12px;font-family:inherit;font-size:.95rem;border:1px solid var(--border);border-radius:6px}.records-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;margin-bottom:16px;border-bottom:2px solid var(--primary-color)}.records-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.sort-buttons{display:flex;gap:6px}.sort-btn{padding:4px 12px;font-family:inherit;font-size:.8rem;color:var(--text-secondary);cursor:pointer;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;transition:background .15s,color .15s}.sort-btn--active{color:#fff;background:var(--primary-color);border-color:var(--primary-color)}.records-table{width:100%;font-size:.9rem;border-collapse:collapse}.records-table th{padding:8px 10px;font-size:.8rem;color:var(--text-secondary);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}.records-table td{padding:12px 10px;vertical-align:middle;border-bottom:1px solid var(--border)}.records-table tr:last-child td{border-bottom:none}.records-quiz-link{font-weight:500;color:var(--text-primary);text-decoration:none}.records-quiz-link:hover{color:var(--primary-color);text-decoration:underline}.records-score{font-weight:600;color:var(--primary-color);white-space:nowrap}.records-date{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.no-records{padding:24px 0;font-size:.9rem;color:var(--text-secondary);text-align:center}.btn-danger{color:#fff;background-color:var(--error-color);box-shadow:0 4px #a33}.btn-danger:hover:not(:disabled){background-color:#c03030}.btn-danger:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.delete-account-section{max-width:600px}.delete-account-lead{margin-bottom:16px;line-height:1.8;color:var(--text-primary)}.delete-account-list{padding-left:1.5em;margin-bottom:24px;list-style:disc;color:var(--text-secondary)}.delete-account-list li{margin-bottom:4px;font-size:.9rem}.delete-account-confirm{margin-bottom:24px}.delete-account-check-label{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;cursor:pointer}.delete-account-check-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--error-color)}.delete-account-actions{display:flex;gap:12px;align-items:center}.delete-account-link{font-size:.875rem;color:var(--error-color);text-decoration:underline}.delete-account-link:hover{text-decoration:none}@media (max-width: 480px){.name-change-form{flex-direction:column;align-items:stretch}.name-change-form input{min-width:unset}.records-table th:last-child,.records-table td:last-child{display:none}}
