.platform-link, .suzuri-card a { display: inline-block; color: #fff; background: #527a3e; border-radius: 999px; padding: 9px 18px; font-size: 11px; text-decoration: none; letter-spacing: .08em; }
.music .platform-link { margin-top: 14px; }
.official-movie { text-decoration: none; transition: transform .2s ease, filter .2s ease; }
.official-movie:hover { transform: translateY(-3px); filter: brightness(1.07); }
.goods .suzuri-card, .goods .stamp-card { grid-column: 1 / -1; display: grid; grid-template-columns: 105px 1fr auto; gap: 25px; align-items: center; text-align: left; padding: 28px 40px; background: #ffffff1e; }
.goods .suzuri-card i, .goods .stamp-card i { text-align: center; font-size: 50px; }
.goods .suzuri-card h3, .goods .stamp-card h3 { margin: 0 0 5px; }
.goods .suzuri-card p, .goods .stamp-card p { margin: 0; }
.suzuri-card a, .stamp-card a { white-space: nowrap; background: #f3efd6; color: #3e5f38; }
.stamp-card { border: 1px solid #d9b45b88; }
.stamp-card .card-label { color: #8a6825; font-size: 10px; font-weight: 700; letter-spacing: .15em; margin-bottom: 6px; }
.schedule { padding: 82px max(8vw,45px); background: #fbf8ea; }
.schedule-inner { max-width: 960px; margin: auto; display: grid; grid-template-columns: 30% 70%; gap: 28px; }
.schedule h2 { font: 42px var(--serif); margin: 0; color: #385c36; }
.schedule-list { border-top: 1px solid #cbd4ae; }
.schedule-item { display: grid; grid-template-columns: 150px 1fr; gap: 22px; padding: 20px 5px; border-bottom: 1px solid #cbd4ae; }
.schedule-item time { color: #708957; font-size: 12px; }
.schedule-item b { display: block; font: 20px var(--serif); color: #445d38; }
.schedule-item span { display: block; font-size: 11px; color: #7c896b; margin-top: 3px; }
.friend-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.friend-grid .recruit { grid-column: 1 / -1; padding: 32px 20px; }
.friend-grid .friend-banner { grid-column: auto; padding: 8px; background: #fffdf6e8; }
.friend-banner a { display: block; }
.friend-banner img { display: block; width: 100%; margin: auto; border-radius: 4px; box-shadow: 0 8px 22px #3b5a3626; transition: transform .2s ease, box-shadow .2s ease; }
.friend-banner a:hover img { transform: translateY(-3px); box-shadow: 0 12px 28px #3b5a3640; }
@media(max-width:700px){.schedule{padding:65px 25px}.schedule-inner{grid-template-columns:1fr}.schedule h2{font-size:36px}.schedule-item{grid-template-columns:1fr;gap:3px}}
@media(max-width:700px){.goods .suzuri-card,.goods .stamp-card{grid-template-columns:1fr;text-align:center;padding:25px}.goods .suzuri-card i,.goods .stamp-card i{text-align:center}}
@media(max-width:700px){.friend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.friend-grid .friend-banner{padding:5px}}
