:root{--ink:#22372c;--muted:#607168;--green:#285a47;--green-deep:#1d4637;--cream:#f8f4eb;--paper:#fffdf8;--line:#e2e5d9;--peach:#d98159;--yellow:#f3ce6a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.75}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--peach);outline-offset:4px}.shell{width:min(1130px,calc(100% - 48px));margin-inline:auto}.site-header{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;font-size:18px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--green);color:#fff;font-size:25px;line-height:1}.site-header nav,.footer-links{display:flex;flex-wrap:wrap;gap:29px}.site-header nav a,.footer-links a{text-decoration:none;font-size:13px;font-weight:750}.site-header nav a:hover,.footer-links a:hover{text-decoration:underline}.eyebrow{margin:0 0 15px;color:#668474;font-size:12px;font-weight:850;letter-spacing:.16em}.hero{min-height:535px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:38px;padding:35px 0 70px}.hero h1{margin:0;font-size:clamp(38px,5.3vw,66px);line-height:1.24;letter-spacing:-.06em}.hero h1 span{color:var(--peach)}.hero-copy>p:not(.eyebrow):not(.hero-note){max-width:480px;margin:22px 0 27px;color:var(--muted);font-size:16px}.primary-link{display:inline-flex;align-items:center;gap:28px;min-height:53px;padding:12px 26px;border-radius:14px;background:var(--green);color:#fff;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 12px 22px #285a4727}.primary-link:hover{background:var(--green-deep)}.hero-note{margin:18px 0 0;color:#748478;font-size:12px;font-weight:700}.hero-art{height:392px;position:relative;overflow:hidden;border-radius:41px;background:#e0eadf}.orb{position:absolute;border:2px solid #c2d5c3;border-radius:50%;width:340px;height:340px}.orb-one{right:-125px;top:-170px}.orb-two{left:-180px;bottom:-230px}.float-card{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:25px;background:var(--paper);box-shadow:0 20px 28px #48634829;font-weight:800}.float-card span{line-height:1}.float-card small{margin-top:7px;font-size:11px;color:#617266}.art-ten{width:136px;height:155px;left:14%;top:29%;transform:rotate(-10deg)}.art-ten span{font-size:66px;color:var(--peach);letter-spacing:-.1em}.art-memory{width:130px;height:149px;left:43%;top:14%;transform:rotate(11deg)}.art-memory span{font-size:63px;color:#6e9c79}.art-slide{width:127px;height:143px;right:10%;top:44%;transform:rotate(-5deg)}.art-slide span{font-size:63px;color:#e0b83f}.spark{position:absolute;color:#deb847;font-size:38px}.spark.one{right:13%;top:16%}.spark.two{left:11%;bottom:10%;font-size:30px}.games-section{background:#eaf0e7;padding:84px 0 100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px}.section-head h2,.about-section h2,.faq-section h2{margin:0;font-size:clamp(30px,4vw,43px);line-height:1.3;letter-spacing:-.04em}.section-head>p{margin:0 0 6px;color:var(--muted);font-size:13px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{overflow:hidden;border:1px solid #dfe7dc;border-radius:24px;background:var(--paper);box-shadow:0 14px 35px #3b654217}.card-art{height:195px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.art-logic{background:#d8e8d7;gap:8px}.mini-number{display:grid;place-items:center;width:60px;height:76px;background:#fffefa;border-radius:16px;box-shadow:0 9px 13px #40654a25;font-weight:900;font-size:37px}.n1{transform:rotate(-10deg) translateY(11px)}.n2{transform:rotate(9deg) translateY(-7px)}.mini-op,.mini-equals{font-size:30px;font-weight:700;color:#5f8065}.mini-equals{color:var(--peach);font-size:32px}.art-match{background:#f7dfcc}.memory-back,.memory-front{display:grid;place-items:center;width:74px;height:93px;border-radius:16px;font-size:43px;box-shadow:0 10px 15px #a3663d28}.memory-back{background:#d8845c;color:#fff;transform:rotate(-13deg) translate(10px,10px)}.memory-front{z-index:1;background:#fffefa;color:#6e9c79;transform:rotate(5deg)}.memory-back.lower{transform:rotate(14deg) translate(-11px,13px)}.art-shift{background:#dce7ef}.tile-preview{display:grid;grid-template-columns:repeat(3,47px);gap:5px;transform:rotate(-5deg);padding:10px;background:#b5cbd2;border-radius:14px;box-shadow:0 10px 18px #5474822a}.tile-preview span{display:grid;place-items:center;width:47px;height:47px;border-radius:7px;background:#fffefa;font-size:22px;font-weight:800;color:#34566a}.tile-preview .empty{background:transparent}.card-body{padding:24px 24px 26px}.tags{display:flex;gap:6px}.tags span{padding:3px 9px;border-radius:999px;background:#ecf1e7;color:#51715d;font-size:10px;font-weight:800}.card-body h3{margin:12px 0 5px;font-size:23px;letter-spacing:-.04em}.card-body p{min-height:77px;margin:0;color:var(--muted);font-size:13px;line-height:1.9}.card-link{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:13px 0 0;border-top:1px solid #e5e8dd;color:var(--green);font-size:13px;font-weight:800;text-decoration:none}.card-link:hover{text-decoration:underline}.about-section{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-copy p{margin:0 0 18px;color:#4f6758;font-size:15px;line-height:2}.about-copy .small-note{padding-top:18px;border-top:1px solid #dedfd3;font-size:12px}.faq-section{padding:78px 0 89px;background:#f0e8db}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:33px}.faq-grid>div{padding-top:17px;border-top:2px solid #cfaa80}.faq-grid h3{margin:0 0 8px;font-size:17px}.faq-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.9}.site-footer{padding:44px 0 52px;display:flex;justify-content:space-between;align-items:start;gap:25px}.site-footer p,.site-footer small{color:var(--muted);font-size:12px}.site-footer p{margin:5px 0}.site-footer small{white-space:nowrap}.policy{max-width:790px;padding:62px 0 100px}.policy h1{font-size:clamp(34px,5vw,50px);margin:0;line-height:1.3}.policy-date{font-size:13px;color:var(--muted);margin:12px 0 44px}.policy section{padding:28px 0;border-top:1px solid var(--line)}.policy h2{font-size:20px;margin:0 0 10px}.policy section p{font-size:14px;color:var(--muted);line-height:2;margin:0}.policy .primary-link{margin-top:20px}
@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:0}.hero-art{height:300px}.game-grid{grid-template-columns:repeat(2,1fr)}.about-section{gap:35px}.site-footer{flex-wrap:wrap}}
@media(max-width:620px){.shell{width:min(100% - 30px,1130px)}.site-header{min-height:75px}.site-header nav{gap:12px}.site-header nav a{font-size:11px}.site-header nav a[href="#about"]{display:none}.hero{padding:40px 0 58px;gap:31px}.hero h1{font-size:clamp(37px,9vw,52px)}.hero-copy>p:not(.eyebrow):not(.hero-note){font-size:14px}.hero-art{height:240px;border-radius:28px}.art-ten{width:95px;height:112px}.art-memory{width:94px;height:108px}.art-slide{width:91px;height:104px}.float-card span{font-size:46px!important}.float-card small{font-size:9px}.games-section{padding:66px 0 75px}.section-head{display:block}.section-head>p{margin:12px 0 0}.game-grid,.about-section,.faq-grid{grid-template-columns:1fr}.game-grid{gap:17px}.card-art{height:170px}.card-body p{min-height:0}.about-section{padding:72px 0}.faq-section{padding:67px 0}.faq-grid{gap:17px}.site-footer{padding:38px 0;display:block}.footer-links{gap:10px 20px;margin:27px 0}.policy{padding-top:50px}}
@media(max-width:370px){.brand{font-size:15px}.brand-icon{width:35px;height:35px;font-size:21px}.site-header nav a[href="#games"],.site-header nav a[href="/privacy"]{display:none}.hero-art{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* 難易度とジャンル別のゲーム案内 */
.category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:35px 0 58px}
.category-nav a{min-width:0;min-height:97px;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #dce5db;border-radius:18px;background:#fffdf8;text-decoration:none;box-shadow:0 8px 20px #3b654211}
.category-nav a:hover{transform:translateY(-2px);box-shadow:0 12px 25px #3b654225}
.category-nav a>span:last-child{margin-left:auto;font-weight:800;color:var(--green)}
.category-icon{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#e5eee2;color:#447e59;font-size:25px;font-weight:900}
.category-nav a:nth-child(2) .category-icon{background:#deebef;color:#476e80}
.category-nav a:nth-child(3) .category-icon{background:#f4e3d6;color:#a85f40;font-size:19px}
.category-nav a:nth-child(4) .category-icon{background:#e7dfef;color:#6d5684}
.category-nav small{display:block;color:#748879;font-size:10px;font-weight:850;letter-spacing:.09em;line-height:1.3}
.category-nav strong{display:block;font-size:17px;line-height:1.3}
.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 24px}
.category-section{min-width:0;scroll-margin-top:25px}
.category-heading{min-height:119px;margin-bottom:15px}
.category-heading .eyebrow{margin-bottom:4px}
.category-heading h3{font-size:28px;margin:0;line-height:1.35;letter-spacing:-.04em}
.category-heading>p{margin:5px 0 0;color:var(--muted);font-size:13px}
.category-section .game-card{height:calc(100% - 134px)}
.category-section .card-body h4{margin:12px 0 5px;font-size:23px;letter-spacing:-.04em}
.category-section .card-body{display:flex;flex-direction:column;height:calc(100% - 195px)}
.category-section .card-body p{min-height:0}
.category-section .card-link{margin-top:auto}
.art-rpg{background:linear-gradient(180deg,#293f58,#566785 67%,#caa77d);color:#fff}
.rpg-moon{position:absolute;top:18px;left:21%;font-size:60px;color:#ffdfa4}
.rpg-hill{position:absolute;bottom:-90px;right:4%;font-size:220px;line-height:1;color:#223b49}
.rpg-sword{position:relative;z-index:1;margin-top:22px;font-size:82px;text-shadow:0 9px 14px #172738aa}
@media(max-width:850px){.category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.category-list{gap:38px 18px}}
@media(max-width:620px){.category-nav{gap:10px;margin:27px 0 43px}.category-nav a{min-height:80px;padding:10px;gap:7px}.category-icon{width:35px;height:35px;font-size:19px}.category-nav a:nth-child(3) .category-icon{font-size:15px}.category-nav strong{font-size:13px}.category-nav small{font-size:8px}.category-nav a>span:last-child{display:none}.category-list{grid-template-columns:1fr;gap:36px}.category-heading{min-height:0;margin-bottom:13px}.category-heading h3{font-size:25px}.category-section .game-card{height:auto}.category-section .card-body{height:auto}.category-section .card-link{margin-top:20px}.category-section .card-art{height:170px}}

.save-note{padding:34px 0 70px;border-top:1px solid var(--line)}.save-note h2{font-size:21px;margin:0 0 7px}.save-note p{font-size:13px;color:var(--muted);margin:0;max-width:74ch}
@media(max-width:370px){.hero h1{font-size:28px;letter-spacing:-.07em}}
/* リアル風ゲームの入口 */
.category-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.category-nav a:nth-child(5) .category-icon{background:#dce8ee;color:#315a70;font-size:26px}
.drive-section{grid-column:1/-1}
.drive-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:290px}
.drive-section .drive-card .card-art{height:100%;min-height:290px}
.drive-section .drive-card .card-body{height:auto;display:flex;flex-direction:column}
.drive-section .drive-card .card-link{margin-top:auto}
.art-drive{background:linear-gradient(#9bc4db 0 45%,#d7d9c1 45% 62%,#8f9d75 62%);isolation:isolate}
.drive-sun{position:absolute;top:22px;right:20%;width:53px;height:53px;border-radius:50%;background:#fff5d4;box-shadow:0 0 30px #fff4cd}
.drive-mountains{position:absolute;inset:28% 0 34%;background:linear-gradient(135deg,#6e8e9d,#acc0b1);clip-path:polygon(0 100%,18% 24%,30% 65%,45% 5%,70% 95%,85% 40%,100% 100%)}
.drive-road{position:absolute;inset:45% -10% -1%;background:linear-gradient(90deg,#555f60,#3d494e 50%,#596467);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}
.drive-road i{position:absolute;left:calc(50% - 3px);width:6px;height:40px;background:#f5e9be;transform:skew(-2deg)}.drive-road i:first-child{top:22%}.drive-road i:last-child{top:62%;height:75px;width:10px;left:calc(50% - 5px)}
.drive-car{position:absolute;bottom:19px;left:calc(50% - 35px);width:70px;height:75px;background:linear-gradient(#d35c3f 0 27%,#792c2b 28% 65%,#e26f45 65%);clip-path:polygon(25% 0,75% 0,95% 35%,100% 100%,0 100%,5% 35%);border-radius:12px;box-shadow:0 12px 18px #1a272888}.drive-car span{position:absolute;top:28px;left:16px;width:38px;height:14px;background:#a7cbd5;border-radius:4px}
@media(max-width:850px){.category-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.category-nav a:last-child{grid-column:1/-1}.drive-card{display:block;min-height:0}.drive-section .drive-card .card-art{height:190px;min-height:0}.drive-section .drive-card .card-body{height:auto}}
