:root{--color-primary: #ff6b6b;--color-primary-dark: #e35050;--color-secondary: #2bbbad;--color-accent: #ffd43b;--color-bg: #fff9f0;--color-surface: #ffffff;--color-text: #3d3a34;--color-text-muted: #8a857c;--color-border: #f0e8da;--radius: 18px;--radius-small: 10px;--shadow: 0 2px 4px rgba(61, 58, 52, .05), 0 8px 20px rgba(61, 58, 52, .07);--shadow-hover: 0 4px 8px rgba(61, 58, 52, .08), 0 14px 28px rgba(61, 58, 52, .12)}*{box-sizing:border-box}body{margin:0;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,system-ui,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.8}a{color:var(--color-primary-dark)}.container{max-width:1100px;margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:20;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:2px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:62px}.logo{font-size:1.35rem;font-weight:900;color:var(--color-text);text-decoration:none;letter-spacing:.02em}.logo .logo-com{color:var(--color-primary)}.site-header nav{display:flex;gap:8px}.site-header nav a{color:var(--color-text);text-decoration:none;font-size:.92rem;font-weight:700;padding:6px 14px;border-radius:999px;transition:background .15s ease}.site-header nav a:hover{background:#ffeede}.hero{position:relative;background:linear-gradient(120deg,#ff8f6b,#ff6b6b 55%,#f0567e);color:#fff;padding:60px 0 76px;text-align:center;overflow:hidden}.hero-deco{position:absolute;display:flex;align-items:center;justify-content:center;width:62px;height:62px;font-size:1.8rem;background:#ffffffeb;border-radius:50%;box-shadow:0 6px 16px #00000024;user-select:none;pointer-events:none}.hero-deco:nth-of-type(odd){transform:rotate(-8deg)}.hero-deco:nth-of-type(2n){transform:rotate(8deg)}.hero h1{position:relative;margin:0 0 10px;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:900;letter-spacing:.03em}.hero p{position:relative;margin:0 auto;max-width:620px;font-weight:700;opacity:.95}.hero .hero-count{position:relative;display:inline-block;margin-top:18px;background:#fff;color:var(--color-primary-dark);font-weight:900;padding:6px 22px;border-radius:999px;box-shadow:var(--shadow)}.hero-wave{display:block;width:100%;height:36px;margin-top:-36px;position:relative}.hero-small{padding:40px 0 52px}.finder{margin-top:-20px;position:relative;z-index:5}.finder-box{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}.search-input-wrap{display:flex;align-items:center;gap:10px;background:#fff4e4;border:2px solid #ffd9a8;border-radius:999px;padding:10px 18px}.search-input-wrap:focus-within{border-color:var(--color-primary)}.search-icon{font-size:1.1rem}#search-input{flex:1;min-width:0;border:none;background:transparent;font-family:inherit;font-size:1rem;font-weight:700;color:var(--color-text);outline:none}#search-input::placeholder{color:#c9b18c}.search-button{flex-shrink:0;border:none;background:var(--color-primary);color:#fff;font-family:inherit;font-size:.92rem;font-weight:900;padding:7px 20px;border-radius:999px;cursor:pointer;transition:background .15s ease,transform .12s ease}.search-button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.result-query{color:var(--color-text)}.filter-group{margin-top:16px}.filter-label{font-size:.82rem;font-weight:900;color:var(--color-text-muted);margin-bottom:6px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:.88rem;font-weight:700;padding:5px 14px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:transform .12s ease,border-color .12s ease,background .12s ease}.filter-chip:hover{transform:translateY(-2px);border-color:var(--color-primary)}.filter-chip.active{background:var(--color-text);border-color:var(--color-text);color:#fff}.result-bar{display:flex;align-items:center;gap:8px;margin:22px 4px 0;font-weight:900}.result-bar #result-count{color:var(--color-primary-dark);font-size:1.2rem}#empty-message{margin:30px 4px;padding:26px;text-align:center;font-weight:700;color:var(--color-text-muted);background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius)}.genre-nav{padding:26px 20px 6px}.section-title{font-size:1.3rem;font-weight:900;margin:0 0 14px}.section-title .title-marker{background:linear-gradient(transparent 62%,var(--color-accent) 62%);padding:0 4px}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.genre-card{display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid var(--color-border);border-radius:var(--radius);padding:16px 10px 12px;text-decoration:none;color:var(--color-text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.genre-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:var(--shadow-hover)}.genre-emoji{font-size:1.9rem}.genre-name{font-weight:900;font-size:.92rem;text-align:center;word-break:keep-all;line-break:strict}.genre-count{font-size:.8rem;font-weight:700;color:var(--color-text-muted)}.services-section{padding:24px 20px 40px}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.service-card{display:flex;flex-direction:column;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--color-text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#ffc4b0}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.service-logo{width:52px;height:52px;border-radius:14px;background:#fff;border:2px solid var(--color-border);padding:6px;object-fit:contain;flex-shrink:0}.badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.target-badge{font-size:.7rem;font-weight:900;padding:2px 9px;border-radius:999px;white-space:nowrap}.service-card h3{margin:0 0 6px;font-size:1.08rem;font-weight:900;line-height:1.5}.service-card .summary{margin:0 0 12px;font-size:.88rem;flex-grow:1}.genre-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.genre-chip{font-size:.74rem;font-weight:700;padding:2px 10px;border-radius:999px;color:var(--color-text);white-space:nowrap}.service-card .more{align-self:flex-end;font-size:.88rem;font-weight:900;color:var(--color-primary-dark)}.breadcrumb{font-size:.82rem;font-weight:700;color:var(--color-text-muted);padding:18px 4px 0}.breadcrumb a{color:var(--color-text-muted)}.detail-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;margin:16px auto 32px;max-width:780px}.detail-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.detail-logo{width:72px;height:72px;border-radius:18px;border:2px solid var(--color-border);background:#fff;padding:8px;object-fit:contain;flex-shrink:0}.detail-head h1{margin:0;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:900;line-height:1.5}.detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.detail-summary{font-size:1rem;margin:0 0 20px}.detail-section-title{font-size:1rem;font-weight:900;margin:22px 0 8px;padding-left:10px;border-left:5px solid var(--color-accent)}.conditions-list{margin:0;padding:0;list-style:none}.conditions-list li{position:relative;padding:4px 0 4px 28px;font-size:.94rem}.conditions-list li:before{content:"✅";position:absolute;left:0;font-size:.9rem}.official-button{display:block;text-align:center;background:var(--color-primary);color:#fff;text-decoration:none;font-size:1.05rem;font-weight:900;padding:15px 20px;border-radius:999px;margin:26px 0 14px;box-shadow:0 4px 0 var(--color-primary-dark);transition:transform .12s ease,box-shadow .12s ease}.official-button:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--color-primary-dark)}.checked-at{font-size:.8rem;font-weight:700;color:var(--color-text-muted);text-align:center;margin:0 0 4px}.caution-box{background:#fff8e1;border:2px solid #ffca6a;border-radius:var(--radius-small);font-size:.92rem;font-weight:700;color:#8a5a00;padding:12px 16px;margin:16px 0 4px}.access-note{background:#e8f4fd;border:2px solid #a8d5f2;border-radius:var(--radius-small);font-size:.92rem;font-weight:700;color:#1a5e8a;padding:12px 16px;margin:16px 0 4px}.detail-note{font-size:.8rem;color:var(--color-text-muted);background:#fff4e4;border-radius:var(--radius-small);padding:12px 16px;margin-top:14px}.related-section{max-width:780px;margin:0 auto 40px}.back-link{display:inline-block;margin-top:20px;font-weight:900}.genre-section{padding:26px 20px 40px}.genre-description{margin:0 0 18px;font-weight:700;color:var(--color-text-muted)}.page-content{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;margin:32px auto;max-width:760px}.page-content h1{font-weight:900}.page-content h2{font-size:1.15rem;font-weight:900;margin-top:32px;padding-left:10px;border-left:5px solid var(--color-accent)}.site-footer{background:#3d3a34;color:#d8d2c6;padding:34px 0;margin-top:40px}.site-footer .disclaimer{font-size:.82rem;max-width:760px}.site-footer .copyright{font-size:.85rem;font-weight:700;color:#aaa295}.discount-flag{display:inline-block;align-self:flex-start;background:var(--color-accent);color:#5c4a00;font-size:.82rem;font-weight:900;padding:2px 12px;border-radius:999px;margin:0 0 8px}.discount-box{background:#fff6d8;border:2px solid var(--color-accent);border-radius:var(--radius-small);font-size:1.1rem;padding:14px 18px;margin:0 0 10px}.discount-box .discount-caption{display:block;font-size:.75rem;font-weight:700;color:var(--color-text-muted);margin-top:4px}.pr-notice{background:#fff4e4;border-bottom:1px solid #ffe3bd;font-size:.78rem;font-weight:700;color:#9a6b2f;padding:6px 0}.pr-notice a{color:#9a6b2f}.status-badge{font-size:.7rem;font-weight:900;padding:2px 9px;border-radius:999px;white-space:nowrap}.status-ended{background:#eceff1;color:#607d8b}.status-closing{background:#ffebee;color:#d32f2f}.deadline-note{margin:0 0 12px;font-size:.82rem;font-weight:900;color:#d32f2f}.deadline-note-ended{color:#607d8b}.deadline-detail{font-size:.95rem}.service-card.is-closing-soon{border-color:#ffab91}.service-card.is-ended{opacity:.62;filter:grayscale(.5)}.closing-soon-section{padding:28px 20px 0}.ended-banner{background:#eceff1;border:2px solid #cfd8dc;border-radius:var(--radius-small);color:#455a64;font-weight:700;font-size:.92rem;padding:14px 18px;margin-bottom:20px}.ended-section{padding:0 20px 40px}.genre-section .ended-section{padding:24px 0 8px}.ended-details summary{cursor:pointer;font-size:.9rem;font-weight:900;color:#78909c;padding:10px 4px;user-select:none}.ended-details summary:hover{color:#546e7a}.ended-caption{margin:6px 0 16px;font-size:.85rem;font-weight:700;color:var(--color-text-muted)}.footer-nav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:18px}.footer-nav a{color:#d8d2c6;font-size:.85rem;font-weight:700;text-decoration:none}.footer-nav a:hover{text-decoration:underline}.footer-sns{margin-bottom:18px;font-size:.85rem}.footer-sns a{display:inline-flex;align-items:center;gap:7px;background:#55514a;color:#fff;font-weight:700;text-decoration:none;padding:7px 14px;border-radius:999px}.footer-sns a:hover{background:#6a655c}.footer-sns-note{display:inline-block;margin-left:10px;color:#aaa295}.affil-steps{display:flex;flex-direction:column;gap:12px;margin:22px 0}.affil-step{display:flex;align-items:flex-start;gap:14px;background:#fff4e4;border:2px solid #ffd9a8;border-radius:var(--radius);padding:16px 18px}.step-badge{flex-shrink:0;background:var(--color-primary);color:#fff;font-size:.78rem;font-weight:900;padding:4px 12px;border-radius:999px;white-space:nowrap;margin-top:2px}.step-body{display:flex;flex-direction:column;gap:2px}.step-icon{font-size:1.3rem;line-height:1.4}.step-body p{margin:0;font-size:.95rem}.point-box{background:#e0f7f4;border:2px solid #9fdcd4;border-radius:var(--radius-small);font-size:.95rem;padding:14px 18px;margin:18px 0}.promise-list li{margin-bottom:10px}.policy-date{font-size:.85rem;color:var(--color-text-muted);margin-top:28px}.form-placeholder{background:#fff4e4;border:2px dashed #ffd9a8;border-radius:var(--radius);font-weight:700;text-align:center;padding:30px 20px;margin:26px 0;color:#9a6b2f}.gform-embed{display:block;width:100%;border:none;border-radius:var(--radius-small);margin:20px 0 4px;background:#fff}.gform-fallback{font-size:.82rem;color:var(--color-text-muted)}@media(max-width:900px){.genre-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media(max-width:600px){.header-inner{height:auto;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 0}.site-header nav{gap:2px}.site-header nav a{padding:4px 10px;font-size:.88rem}.hero{padding:44px 0 62px}.hero-deco{display:none}.finder-box{padding:16px}.search-input-wrap{padding:9px 8px 9px 14px;gap:8px}.search-button{padding:6px 14px;font-size:.88rem}#search-input{font-size:.95rem}.detail-card{padding:22px}.detail-head{flex-direction:column;align-items:flex-start;gap:10px}.genre-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.service-grid{grid-template-columns:1fr}}
