:root{--bg:#fdf8f2;--bg-soft:#fbeee3;--pink:#e85a7a;--pink-soft:#f7c6d2;--text:#5b4a3f;--text-soft:#8a7a6d;--accent:#6aa9c9;--card:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:Hiragino Maru Gothic ProN,Hiragino Maru Gothic Pro,ヒラギノ丸ゴ ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:100%;max-width:960px;margin:0 auto;padding:0 20px}.section-title{display:inline-block;font-size:1.05rem;padding:10px 28px;margin-bottom:8px}.btn,.section-title{background-color:var(--pink);color:#fff;border-radius:999px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:1.1rem;padding:16px 40px;box-shadow:0 6px 16px rgba(232,90,122,.3);transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(232,90,122,.38)}.hero{width:100%;background-color:var(--bg-soft)}.hero__image{width:100%;max-width:1054px;margin:0 auto}.concept{padding:56px 0 64px}.concept__head{text-align:center;margin-bottom:36px}.concept__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.concept__card{width:100%;border-radius:14px;box-shadow:0 6px 18px rgba(91,74,63,.1)}.concept__lead{text-align:center;color:var(--pink);font-size:1.35rem;font-weight:700;line-height:1.8;margin-top:44px}.gallery{padding:48px 0 64px;background-color:var(--bg-soft)}.gallery__head{text-align:center;margin-bottom:32px}.gallery__placeholder{max-width:760px;margin:0 auto;background-color:var(--card);border-radius:18px;padding:20px;box-shadow:0 8px 22px rgba(91,74,63,.12)}.gallery__image{width:100%;border-radius:12px}.gallery__caption{text-align:center;color:var(--text-soft);font-size:1rem;margin-top:20px}@media (max-width:700px){.concept__grid{grid-template-columns:1fr;gap:16px;max-width:360px;margin:0 auto}.concept__lead{font-size:1.15rem}.gallery__caption{font-size:.92rem}}.works-header{text-align:center;padding:52px 20px 36px;background-color:var(--bg-soft);position:relative}.works-back{position:absolute;top:24px;left:24px;color:var(--text-soft);font-size:.9rem}.works-back:hover{color:var(--pink)}.works-title{font-size:1.6rem;color:var(--text);margin-bottom:8px}.works-subtitle{color:var(--text-soft);font-size:.95rem}.works-list{padding:48px 0 64px}.works-card{display:flex;gap:36px;align-items:flex-start;background-color:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(91,74,63,.1);padding:32px;margin-bottom:32px}.works-card--coming{opacity:.65}.works-card__cover{flex:0 0 180px;width:180px}.works-card__cover img{width:100%;border-radius:10px;box-shadow:0 4px 12px rgba(91,74,63,.18)}.works-card__placeholder{width:180px;height:240px;background-color:var(--bg-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:.95rem;border:2px dashed var(--pink-soft)}.works-card__body{flex:1 1;min-width:0}.works-card__series{font-size:.8rem;color:var(--accent);font-weight:700;margin-bottom:4px;letter-spacing:.05em}.works-card__name{font-size:1.35rem;color:var(--text);margin-bottom:20px;line-height:1.5}.works-card__label{font-size:.78rem;color:var(--pink);font-weight:700;letter-spacing:.08em;margin-bottom:8px}.works-card__message{font-size:.97rem;line-height:1.9;color:var(--text);margin-bottom:24px}.works-card__links{margin-top:8px}.works-card__link-soon{display:inline-block;font-size:.82rem;color:var(--text-soft);background-color:var(--bg-soft);padding:6px 18px;border-radius:999px}.works-card__coming{font-size:.95rem;color:var(--text-soft);margin-top:8px}@media (max-width:640px){.works-card{flex-direction:column;align-items:center;text-align:center;padding:24px 20px}.works-card__cover,.works-card__cover img,.works-card__placeholder{width:140px;flex:none}.works-card__placeholder{height:186px}.works-back{position:static;display:block;margin-bottom:16px}}.footer{text-align:center;padding:48px 20px 40px;background-color:var(--bg)}.footer__msg{color:var(--pink);font-size:1.15rem;font-weight:700;line-height:1.8;margin-bottom:20px}.footer__name{font-size:1.4rem;letter-spacing:.1em;margin-bottom:16px}.footer__copy{color:var(--text-soft);font-size:.8rem}