*{box-sizing:border-box;margin:0;padding:0}:root{--orange: #ff6b35;--orange-light: #fff0ea;--green: #2cb67d;--green-light: #eafbf3;--blue: #3b82f6;--blue-light: #eef4ff;--purple: #7c3aed;--purple-light: #f3f0ff;--gray-100: #f8f7f5;--gray-200: #eeebe6;--gray-600: #6b6b6b;--gray-800: #2d2d2d;--white: #ffffff}body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;background-color:#fffdf9;color:var(--gray-800);line-height:1.7}a{text-decoration:none;color:inherit}.hero{background:linear-gradient(135deg, #ff6b35 0%, #ffac33 60%, #ffd166 100%);padding:3.5rem 1.5rem 4rem;text-align:center;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='2' fill='rgba(255,255,255,0.12)'/%3E%3C/svg%3E") repeat}.hero-inner{position:relative;max-width:700px;margin:0 auto}.hero-eyebrow{display:inline-block;background:hsla(0,0%,100%,.25);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.1em;padding:.3rem 1rem;border-radius:999px;margin-bottom:1rem}.hero-title{font-size:2.2rem;font-weight:900;color:#fff;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.1)}.hero-title span{display:block;font-size:1.1rem;font-weight:700;margin-bottom:.3rem;opacity:.9}@media(max-width: 600px){.hero-title{font-size:1.7rem}}.hero-sub{margin-top:1rem;color:hsla(0,0%,100%,.9);font-size:.95rem}.page-body{max-width:860px;margin:0 auto;padding:3rem 1.5rem 5rem}.intro{text-align:center;margin-bottom:2.5rem}.intro h2{font-size:1.3rem;font-weight:800;color:var(--gray-800);margin-bottom:.6rem}.intro p{font-size:.95rem;color:var(--gray-600)}.month-accordion{margin-bottom:1.5rem;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07)}.month-accordion[open] .accordion-arrow{transform:rotate(180deg)}.month-summary{display:flex;align-items:center;gap:.75rem;padding:1.2rem 1.5rem;background:var(--white);cursor:pointer;list-style:none;user-select:none;border-bottom:2px solid var(--gray-200)}.month-summary::-webkit-details-marker{display:none}.month-summary:hover{background:var(--gray-100)}.month-label{font-weight:900;font-size:1.2rem;color:var(--gray-800);display:flex;align-items:baseline;gap:.1rem}.month-num{font-size:2rem;line-height:1;color:var(--orange)}.month-jp{font-size:1rem}.accordion-count{font-size:.8rem;color:var(--gray-600);background:var(--gray-100);padding:.25rem .7rem;border-radius:999px}.accordion-arrow{margin-left:auto;font-size:.75rem;color:var(--gray-600);transition:transform .25s ease;display:inline-block}.accordion-body{background:var(--gray-100);padding:1.5rem}.sessions-note{font-size:.88rem;color:var(--gray-600);margin-bottom:1.2rem;text-align:center}.events-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.2rem}@media(max-width: 620px){.events-grid{grid-template-columns:1fr}}.event-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.07);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}.event-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.12)}.card-top{padding:1.4rem 1.4rem 1rem;display:flex;align-items:flex-start;gap:1rem}.date-badge{flex-shrink:0;text-align:center;width:68px}.date-badge .month{font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem;border-radius:8px 8px 0 0}.date-badge .day{font-size:2.4rem;font-weight:900;line-height:1;padding:.2rem 0;border-radius:0 0 8px 8px}.date-badge .weekday{font-size:.7rem;font-weight:600;margin-top:.3rem;opacity:.7}.card-info{flex:1;min-width:0}.event-type-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.2rem .7rem;border-radius:999px;margin-bottom:.4rem;letter-spacing:.03em}.card-title{font-size:1.15rem;font-weight:800;line-height:1.3}.card-body{padding:0 1.4rem 1rem}.card-detail{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--gray-600);margin-bottom:.4rem}.card-detail .icon{flex-shrink:0;margin-top:.15em}.venue-name{font-weight:700;color:var(--gray-800)}.session-list>div>div{margin-bottom:.1rem}.session-list>div>div:last-child{margin-bottom:0}.card-footer{padding:.8rem 1.4rem 1.4rem;margin-top:auto}.cta-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.85rem 1rem;border-radius:12px;font-size:.95rem;font-weight:800;color:#fff;cursor:pointer;transition:opacity .2s,transform .2s;letter-spacing:.03em}.cta-btn:hover{opacity:.88;transform:scale(0.99)}.theme-orange .date-badge .month{background:var(--orange);color:#fff}.theme-orange .date-badge .day{background:var(--orange-light);color:var(--orange)}.theme-orange .event-type-badge{background:var(--orange-light);color:var(--orange)}.theme-orange .cta-btn{background:linear-gradient(135deg, #ff6b35, #ff8c42)}.theme-orange{border-top:4px solid var(--orange)}.theme-green .date-badge .month{background:var(--green);color:#fff}.theme-green .date-badge .day{background:var(--green-light);color:var(--green)}.theme-green .event-type-badge{background:var(--green-light);color:var(--green)}.theme-green .cta-btn{background:linear-gradient(135deg, #2cb67d, #20d9a0)}.theme-green{border-top:4px solid var(--green)}.theme-blue .date-badge .month{background:var(--blue);color:#fff}.theme-blue .date-badge .day{background:var(--blue-light);color:var(--blue)}.theme-blue .event-type-badge{background:var(--blue-light);color:var(--blue)}.theme-blue .cta-btn{background:linear-gradient(135deg, #3b82f6, #60a5fa)}.theme-blue{border-top:4px solid var(--blue)}.theme-purple .date-badge .month{background:var(--purple);color:#fff}.theme-purple .date-badge .day{background:var(--purple-light);color:var(--purple)}.theme-purple .event-type-badge{background:var(--purple-light);color:var(--purple)}.theme-purple .cta-btn{background:linear-gradient(135deg, #7c3aed, #a78bfa)}.theme-purple{border-top:4px solid var(--purple)}.free-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg, #fff3cd, #fff9e6);border:2px solid #ffca28;border-radius:16px;padding:1.2rem 1.5rem;margin-bottom:2rem;text-align:center}.free-banner p{font-size:1.1rem;color:var(--gray-800)}.free-banner p strong{font-size:1.35rem;color:#e65100}.free-badge{flex-shrink:0;background:#ff6b35;color:#fff;font-size:1rem;font-weight:900;padding:.4rem .9rem;border-radius:999px;letter-spacing:.05em}.event-types{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem;margin-bottom:2rem}@media(max-width: 500px){.event-types{grid-template-columns:1fr}}.event-type-card{border-radius:16px;padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem}.event-type-card .type-icon{font-size:1.6rem;line-height:1}.event-type-card .type-label{font-size:1rem;font-weight:800}.event-type-card p{font-size:.85rem;line-height:1.6}.type-experience{background:var(--orange-light);border:1.5px solid #ffd0bc}.type-experience .type-label{color:var(--orange)}.type-experience p{color:#7a4030}.type-beginner{background:var(--green-light);border:1.5px solid #b2ecd6}.type-beginner .type-label{color:var(--green)}.type-beginner p{color:#1a5c40}.sessions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.8rem}.session-badge{display:inline-block;background:var(--white);border:1.5px solid var(--gray-200);color:var(--gray-800);font-size:.82rem;font-weight:700;padding:.3rem .8rem;border-radius:999px}.info-section{margin-top:3rem;background:var(--white);border-radius:20px;padding:2rem;box-shadow:0 4px 20px rgba(0,0,0,.06)}.info-section h3{font-size:1.05rem;font-weight:800;margin-bottom:1rem;color:var(--gray-800)}.info-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.info-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--gray-600)}.info-list .label{flex-shrink:0;font-weight:700;color:var(--gray-800);min-width:4.5rem}.beginner-note{text-align:center;margin-top:2.5rem;padding:1.5rem;background:linear-gradient(135deg, #fff9f0, #fff3e6);border-radius:16px;border:2px dashed #ffac33}.beginner-note p{font-size:.95rem;color:var(--gray-800);font-weight:600}.beginner-note .emoji-row{font-size:1.5rem;margin-bottom:.5rem}.page-footer{text-align:center;padding:2rem 1rem;font-size:.8rem;color:#aaa}
