*{box-sizing:border-box}
body{margin:0;color:#202229;background:#f7f8fa;font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none}button{font:inherit}
.my-header{display:flex;height:72px;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid #e2e4e8;background:#fff}
.my-header nav{display:flex;gap:24px;font-size:.82rem;font-weight:800}
.my-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;padding:76px clamp(22px,7vw,110px);color:#fff;background:#242730}
.my-hero>div>p,.my-section-head p{margin:0 0 12px;color:#ff9c80;font-size:.7rem;font-weight:900;letter-spacing:.16em}
.my-hero h1{margin:0;font-size:clamp(2.8rem,6vw,6.3rem);line-height:1.08;letter-spacing:-.065em}
.my-hero h1 strong{color:#ff9c80;font-weight:inherit}.my-hero>p{max-width:34em;margin:0;color:#c4c7cf;font-size:1rem}
.my-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe1e5}
.my-stats article{padding:30px clamp(20px,4vw,52px);background:#fff}.my-stats span{display:block;color:#c7472c;font-size:.75rem;font-weight:900;letter-spacing:.08em}.my-stats strong{display:block;margin-top:8px;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.my-stats small{display:block;margin-top:8px;color:#777b85;font-size:.8rem}
.my-challenge-wrap,.my-collection{padding:72px clamp(22px,7vw,110px)}.my-collection{border-top:1px solid #e2e4e8}.my-recent{background:#fff}
.my-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.my-section-head h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1.2;letter-spacing:-.045em}.my-section-head>span{color:#737783;font-size:.85rem;font-weight:800}.my-section-head>button{padding:7px 0;border:0;border-bottom:1px solid #777;background:none;color:#6e727c;font-size:.75rem;font-weight:800;cursor:pointer}
.active-challenge{margin:0}.my-empty{padding:42px;border:1px dashed #cfd2d9;border-radius:16px;background:#fff;text-align:center}.my-empty[hidden]{display:none}.my-empty strong{font-size:1.12rem}.my-empty p{margin:8px 0 18px;color:#6b707b}.my-empty a{display:inline-block;padding-bottom:3px;border-bottom:2px solid #e85c3a;font-size:.84rem;font-weight:900}
.my-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.my-grid[hidden]{display:none}.my-card{overflow:hidden;border:1px solid #e1e3e7;border-radius:14px;background:#fff}.my-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#e9eaed}.my-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.my-card:hover img{transform:scale(1.025)}.my-card>div{padding:21px}.my-card span{color:#c7472c;font-size:.75rem;font-weight:900}.my-card h3{margin:8px 0;font-size:1.05rem;line-height:1.55}.my-card p{display:-webkit-box;margin:0;color:#676b75;font-size:.875rem;line-height:1.65;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:14px;border-top:1px solid #eceef1}.my-card-actions a{font-size:.82rem;font-weight:900}.my-card-actions button{padding:5px 0;border:0;border-bottom:1px solid #c7472c;color:#a63a23;background:none;font-size:.78rem;font-weight:900;cursor:pointer}
footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px clamp(22px,7vw,110px);color:#bfc2ca;background:#202229}footer>a{color:#fff;font-weight:900}footer p{margin:0;font-size:.75rem}footer nav{display:flex;gap:18px;font-size:.72rem}
@media(max-width:900px){.my-grid{grid-template-columns:1fr 1fr}.my-hero{grid-template-columns:1fr;gap:28px}.my-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.my-header{height:64px;padding:0 17px}.my-header nav a:first-child{display:none}.my-hero{padding:52px 20px}.my-hero h1{font-size:3rem}.my-stats article{padding:24px 20px}.my-challenge-wrap,.my-collection{padding:56px 19px}.my-grid{grid-template-columns:1fr}.my-section-head{align-items:flex-start}.my-empty{padding:34px 20px}footer{align-items:flex-start;flex-direction:column;padding:32px 20px}}

/* Controlled headline rhythm and clearer desktop card interaction. */
.my-hero h1{max-width:10em;font-size:clamp(2.8rem,5.4vw,5.6rem);line-height:1.1;text-wrap:balance}
.my-hero h1 span,.my-hero h1 strong{display:block;white-space:nowrap}
.my-card{transition:transform .2s ease,box-shadow .2s ease}
.my-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(32,34,41,.08)}
@media(max-width:620px){.my-hero h1{font-size:3rem}.my-hero h1 span,.my-hero h1 strong{white-space:normal}.my-card:hover{transform:none;box-shadow:none}}
