:root{--concept-coral:#F58F8A;--concept-orange:#F4AD72;--concept-blue:#82B5C9;--concept-night:#6176A3;--concept-green:#A9C866;--concept-paper:#FFFCF9}
body{overflow-x:hidden}
.concepts-page{position:relative;overflow:hidden}
.concepts-wide{width:min(1080px,calc(100% - 40px));margin:auto}
.concepts-narrow{width:min(820px,calc(100% - 40px));margin:auto}
.concepts-section{position:relative;padding:88px 0}
.section-heading{text-align:center;margin-bottom:36px}
.section-heading h2{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(1.75rem,5vw,2.65rem);line-height:1.35}
.section-heading>p:last-child{margin-top:8px;color:var(--ink-soft)}
.concepts-hero{position:relative;padding:82px 0 94px;background:linear-gradient(180deg,#FFF9F5 0%,#FFF4EE 100%);border-bottom:3px dashed var(--pink-soft)}
.hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.hero-copy{position:relative;z-index:2}
.hero-copy h1{font-family:'M PLUS Rounded 1c',sans-serif;font-size:clamp(3.3rem,8vw,6.2rem);line-height:1.05;margin:8px 0 24px;letter-spacing:.04em}
.hero-catch{font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:800;line-height:1.8}
.hero-note{margin-top:18px;color:var(--ink-soft)}
.hero-picture{position:relative;width:100%;padding:14px;border:0;border-radius:30px;background:var(--white);box-shadow:0 7px 0 rgba(85,73,74,.07);cursor:zoom-in;transform:rotate(1deg);transition:transform .2s ease}
.hero-picture:hover{transform:rotate(0) translateY(-3px)}
.hero-picture img{width:100%;height:auto;border-radius:20px}
.hero-picture span{position:absolute;right:24px;bottom:24px;padding:5px 12px;border-radius:999px;background:rgba(255,249,245,.92);color:var(--ink-soft);font-size:.7rem;font-weight:700}
.hero-number,.background-number{position:absolute;font-family:'M PLUS Rounded 1c',sans-serif;font-weight:900;line-height:1;pointer-events:none;user-select:none}
.hero-number{z-index:0;color:rgba(245,143,138,.12);font-size:clamp(8rem,23vw,19rem)}
.hero-number--one{top:1%;left:-3%;transform:rotate(-8deg)}.hero-number--two{right:-3%;bottom:-7%;color:rgba(130,181,201,.13);transform:rotate(8deg)}
.intro-section{padding-top:100px}
.intro-card{position:relative;padding:52px clamp(24px,7vw,72px);background:var(--white);border:3px dashed var(--blue-soft);border-radius:32px;box-shadow:0 6px 0 rgba(85,73,74,.05)}
.intro-copy{display:grid;gap:17px;text-align:center;font-size:1.02rem}
.intro-question{display:block;width:max-content;margin:28px auto -5px;padding:5px 15px;border-radius:999px;background:var(--yellow-soft);color:#8B7043;font-size:.78rem;font-weight:700;transform:rotate(-2deg)}
.kinds-section{padding-top:40px}
.concept-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.concept-kind{overflow:hidden;background:var(--white);border:2px solid var(--pink-soft);border-radius:26px;box-shadow:0 5px 0 rgba(85,73,74,.05)}
.concept-kind--holiday{border-color:var(--yellow-soft)}.concept-kind--season{border-color:#DDE9BF}
.concept-kind>div:last-child{padding:23px 24px 27px}
.kind-image{display:grid;place-items:center;background:#FFF7F3;overflow:hidden}
.kind-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain}
.kind-label{display:inline-block;margin-bottom:4px;color:var(--pink);font-size:.66rem;font-weight:900;letter-spacing:.13em}
.concept-kind h3{font-family:'M PLUS Rounded 1c',sans-serif;font-size:1.3rem;margin-bottom:10px}
.concept-kind p{color:var(--ink-soft);font-size:.91rem}
.text-link{display:inline-flex;margin-top:13px;color:#A95F61;font-size:.82rem;font-weight:800;border-bottom:1px dashed var(--pink)}
.year-section{background:#F5F9FA;border-top:2px dashed var(--blue-soft);border-bottom:2px dashed var(--blue-soft)}
.background-number{color:rgba(130,181,201,.08);font-size:clamp(12rem,32vw,27rem)}
.number-47{top:5%;left:-6%;transform:rotate(-8deg)}.number-10{right:-5%;bottom:1%;color:rgba(245,143,138,.08);transform:rotate(7deg)}
.year-flow{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:920px;margin:auto}
.manga-card{overflow:hidden;background:var(--concept-paper);border-radius:24px;box-shadow:0 6px 0 rgba(85,73,74,.06)}
.manga-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.manga-button img{width:100%;height:auto;transition:opacity .2s ease}
.manga-button:hover img{opacity:.94}
.manga-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:15px 18px 17px;border-top:2px dashed #EADDD9}
.manga-card figcaption strong{font-family:'M PLUS Rounded 1c',sans-serif;color:#A95F61}
.manga-card figcaption span{color:var(--ink-soft);font-size:.78rem;text-align:right}
.manga-card--night{background:#E9EDF5}
.daily-manga-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.daily-manga-grid .manga-card figcaption{display:block}
.daily-manga-grid .manga-card figcaption span{display:block;margin-top:3px;text-align:left}
.concepts-closing{padding:86px 0 78px;text-align:center}
.closing-card{position:relative;padding:42px 30px 44px;background:var(--white);border:3px dashed var(--pink-soft);border-radius:30px}
.closing-card img{width:105px;margin:0 auto 20px}
.closing-card p{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700}
.closing-card>span{display:block;margin-top:14px;color:var(--ink-soft)}
.concepts-closing .back-link{margin:34px 0 0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}
.manga-lightbox{width:min(94vw,920px);max-height:94vh;margin:auto;padding:42px 54px 28px;border:0;border-radius:24px;background:var(--bg);color:var(--ink);box-shadow:0 20px 60px rgba(60,45,45,.25)}
.manga-lightbox::backdrop{background:rgba(54,45,48,.76);backdrop-filter:blur(3px)}
.manga-lightbox figure{margin:auto;text-align:center}
.manga-lightbox figure img{max-width:100%;max-height:78vh;margin:auto;border-radius:12px;object-fit:contain}
.manga-lightbox figcaption{margin-top:10px;color:var(--ink-soft);font-size:.8rem}
.lightbox-close,.lightbox-arrow{position:absolute;display:grid;place-items:center;border:0;border-radius:50%;background:var(--white);color:var(--ink);box-shadow:0 3px 0 rgba(85,73,74,.12);cursor:pointer}
.lightbox-close{z-index:2;top:10px;right:12px;width:38px;height:38px;font-size:1.35rem}
.lightbox-arrow{top:50%;width:40px;height:40px;font-size:1.6rem;transform:translateY(-50%)}
.lightbox-prev{left:8px}.lightbox-next{right:8px}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:38px}.hero-copy{text-align:center}.hero-picture{width:min(620px,100%);margin:auto}.concept-kinds{grid-template-columns:1fr;max-width:600px;margin:auto}.concept-kind{display:grid;grid-template-columns:42% 58%}.kind-image img{height:100%;aspect-ratio:auto;object-fit:contain}.daily-manga-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.concepts-wide,.concepts-narrow{width:min(100% - 24px,1080px)}.concepts-section{padding:65px 0}.concepts-hero{padding:58px 0 70px}.hero-copy h1{font-size:3.35rem}.hero-picture{padding:9px;border-radius:22px}.hero-picture img{border-radius:15px}.hero-picture span{right:15px;bottom:15px}.intro-section{padding-top:70px}.intro-card{padding:38px 20px;border-radius:25px}.intro-copy{font-size:.94rem}.concept-kind{display:block}.kind-image img{height:auto;aspect-ratio:4/3}.year-flow,.daily-manga-grid{grid-template-columns:1fr;gap:22px}.manga-card{border-radius:20px}.manga-card figcaption{padding:13px 15px 15px}.manga-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;padding:52px 12px 70px;border-radius:0}.manga-lightbox figure img{max-height:calc(100dvh - 150px)}.lightbox-arrow{top:auto;bottom:15px;transform:none}.lightbox-prev{left:calc(50% - 52px)}.lightbox-next{right:calc(50% - 52px)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-picture,.manga-button img{transition:none}}
