
:root{--bg:#080f10;--mint:#77f5cc;--white:#eff6f3;--muted:#9bafaa;--line:#243936}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--white);font-family:'Helvetica Neue',Arial,'Noto Sans JP','Yu Gothic',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--mint);outline-offset:6px}header{height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;border-bottom:1px solid var(--line);position:sticky;top:0;background:#080f10ed;backdrop-filter:blur(16px);z-index:10}.brand{font-size:28px;letter-spacing:-1.3px;font-weight:500;color:var(--mint)}.brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:4px}nav{display:flex;gap:32px;align-items:center;font-size:12px;letter-spacing:1.5px}nav a:hover{color:var(--mint)}.contact-nav{border:1px solid #45635b;padding:13px 20px}.menu{display:none;background:none;color:var(--mint);border:1px solid var(--line);padding:8px 12px}.hero{position:relative;overflow:hidden;min-height:710px;padding:85px 5.5% 55px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:4%;background:radial-gradient(ellipse at 80% 40%,#12342b66,transparent 52%)}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#77f5cc05 1px,transparent 1px),linear-gradient(90deg,#77f5cc05 1px,transparent 1px);background-size:66px 66px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--mint);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:1px;background:var(--mint)}.hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(46px,5.2vw,78px);font-weight:500;line-height:1.5;letter-spacing:.07em;margin:27px 0 20px}.hero h1 em{font-style:normal;color:var(--mint)}.hero-sub{font-size:19px;font-weight:500;letter-spacing:3px}.copy{font-size:13px;line-height:2.15;color:var(--muted);letter-spacing:1px}.buttons{display:flex;gap:23px;align-items:center;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:17px 24px;background:var(--mint);color:#071411;font-size:12px;font-weight:600;letter-spacing:1px;transition:background .2s,transform .2s}.button:hover{background:#bcffe8;transform:translateY(-2px)}.text-link{font-size:11px;letter-spacing:1px;border-bottom:1px solid #4c7065;padding-bottom:7px}.hero-art{position:relative;padding:48px 9px 45px}.orbit{position:absolute;width:420px;height:420px;max-width:90%;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #77f5cc28;border-radius:50%;box-shadow:0 0 0 28px #77f5cc03,0 0 0 29px #77f5cc10}.orbit:before{content:'';position:absolute;inset:20px;border:1px dashed #77f5cc20;border-radius:50%}.vertical{position:absolute;right:0;top:-20px;writing-mode:vertical-rl;letter-spacing:6px;font-family:'Yu Mincho',serif;font-size:15px;color:#b0cfc4}.screen{position:relative;border:1px solid #70b5a1;background:#0c1717;box-shadow:12px 18px 0 #071311,12px 18px 0 1px #2a4e42,0 0 70px #77f5cc12;transform:rotate(-3deg)}.screen-bar{padding:14px 18px;font-size:9px;display:flex;justify-content:space-between;letter-spacing:2px;color:var(--mint);border-bottom:1px solid #294b40}.dots{letter-spacing:5px}.game-image{position:relative;overflow:hidden;aspect-ratio:2.04;background:#1b3431}.game-image img{position:absolute;left:50%;top:50%;width:110%;height:auto;transform:translate(-50%,-50%)}.screen-footer{padding:19px;display:flex;justify-content:space-between;align-items:center}.screen-footer strong{font-size:21px;font-weight:500}.screen-footer small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:6px}.play-circle{width:42px;height:42px;border:1px solid #476f61;border-radius:50%;display:grid;place-items:center;color:var(--mint)}.art-caption{position:relative;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:40px;padding:0 15px}.wave{position:absolute;left:-80px;bottom:-35px;width:400px;height:180px;opacity:.09;background:radial-gradient(circle at 50% 100%,transparent 19px,var(--mint) 20px,var(--mint) 21px,transparent 22px,transparent 31px,var(--mint) 32px,var(--mint) 33px,transparent 34px,transparent 43px,var(--mint) 44px,var(--mint) 45px,transparent 46px);background-size:90px 50px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#779088;margin-top:40px;position:relative}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 5.5%;display:flex;align-items:center;gap:28px;font-size:12px}.ticker b{font-size:10px;letter-spacing:2px;color:var(--mint)}.ticker time{color:var(--muted);font-size:11px}.ticker a{flex:1}.ticker .arrow{color:var(--mint)}section.content{padding:95px 5.5%}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-top h2{font-size:48px;letter-spacing:-1px;margin:10px 0;font-weight:500}.section-top p{font-size:12px;color:var(--muted);letter-spacing:2px}.games{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:25px}.game-card{display:block;border-bottom:1px solid #355044;padding-bottom:23px;transition:transform .2s}.game-card:hover{transform:translateY(-6px)}.game-card .game-image{aspect-ratio:1.9;border:1px solid #355044}.game-card h3{font-size:20px;font-weight:500;margin:21px 0 10px;display:flex;justify-content:space-between}.game-card h3 span{color:var(--mint)}.game-card p{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.featured-tag{display:inline-block;background:var(--mint);color:var(--bg);font-size:9px;letter-spacing:1.5px;padding:6px 9px;margin-bottom:13px}.other-tag{color:var(--muted);font-size:9px;letter-spacing:1.5px;display:block;padding:6px 0;margin-bottom:13px}.copyright{font-size:9px;color:#7a958b}.about{background:#10201d;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:center}.about-word{font-family:'Yu Mincho',serif;font-size:clamp(65px,8vw,118px);letter-spacing:.12em;line-height:1.4;color:var(--mint);position:relative}.about-word:before{content:'まほろば × 基地';font-size:11px;letter-spacing:5px;display:block;color:var(--muted);margin-bottom:18px}.about-word small{font-family:Arial,sans-serif;display:block;font-size:12px;color:var(--muted);letter-spacing:5px;margin-top:20px}.about h2{font-family:'Yu Mincho',serif;font-size:30px;line-height:1.7;font-weight:500;letter-spacing:2px}.about p{color:#acc0b6;font-size:13px;line-height:2.2}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line)}.service{padding:25px 28px 20px 0;border-bottom:1px solid var(--line)}.service+ .service{padding-left:28px;border-left:1px solid var(--line)}.service b{font-size:11px;color:var(--mint);font-weight:400}.service h3{font-size:19px;font-weight:500}.service p{font-size:12px;line-height:1.9;color:var(--muted)}.company{margin-top:70px;display:grid;grid-template-columns:1fr 2fr;gap:7%}.company h3{font-size:27px;font-weight:500}.company dl{margin:0}.company dl div{display:grid;grid-template-columns:100px 1fr;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9}.company dt{color:var(--muted)}.company dd{margin:0}.connect{border-top:1px solid #325c4f;background:linear-gradient(120deg,#153d30,#0d1e1b);padding:64px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.connect h2{font-family:'Yu Mincho',serif;font-size:33px;font-weight:500;letter-spacing:2px}.connect p{font-size:12px;color:#a1beb1}.connect .button{min-width:230px}footer{padding:35px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer small{font-size:9px;color:var(--muted);letter-spacing:1px}footer .brand{font-size:23px}.note{color:#779088;font-size:9px;text-align:center;padding:0 20px 20px}.top-link{font-size:10px;letter-spacing:2px;color:var(--mint)}
@media(min-width:1500px){.hero,section.content,.connect{padding-left:max(5.5%,calc((100vw - 1400px)/2));padding-right:max(5.5%,calc((100vw - 1400px)/2))}}@media(max-width:900px){nav{gap:18px}.hero{min-height:640px;gap:25px}.hero h1{font-size:50px}.hero-sub{font-size:15px}.hero-art{padding:30px 8px}.screen-footer strong{font-size:17px}.games{gap:18px;grid-template-columns:1fr 1fr}.games .game-card:first-child{grid-column:1/-1}.games .game-card:first-child .game-image{aspect-ratio:2.2}.about{gap:7%}.about h2{font-size:25px}.orbit{height:auto}.vertical{right:-16px}.company{grid-template-columns:1fr 2fr}}@media(max-width:600px){header{height:72px}.brand{font-size:24px}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0c1a16;padding:25px;flex-wrap:wrap;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{display:block;padding-top:42px;padding-bottom:28px}.hero h1{font-size:48px;margin-top:21px}.hero-sub{font-size:16px;letter-spacing:2px}.hero .copy{font-size:12px}.buttons{gap:20px;margin-top:24px}.button{padding:15px 19px;gap:24px}.hero-art{margin:32px 10px 15px;padding:36px 5px 10px}.vertical{font-size:11px;top:0;right:-15px}.art-caption{margin-top:34px;font-size:8px}.hero-bottom{margin-top:25px;font-size:8px}.ticker{gap:12px;flex-wrap:wrap;font-size:11px}.ticker a{flex-basis:70%;line-height:1.8}.ticker .arrow{display:none}section.content{padding-top:60px;padding-bottom:60px}.section-top h2{font-size:36px}.section-top{align-items:center;gap:14px}.section-top .text-link{font-size:10px}.games{gap:20px 14px}.game-card h3{font-size:15px}.game-card p{font-size:9px}.about{display:block}.about-word{font-size:76px;margin-bottom:38px}.about h2{font-size:25px}.about p{font-size:12px}.services{display:block;margin-top:20px}.service+.service{border-left:0;padding-left:0}.service{padding:24px 0 16px}.company{display:block;margin-top:45px}.company dl div{grid-template-columns:80px 1fr}.connect{display:block;padding-top:42px;padding-bottom:42px}.connect h2{font-size:27px}.connect .button{margin-top:15px}footer{flex-wrap:wrap}footer small{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Warm, playful direction: ivory paper, soft mint, rounded typography. */
:root{--bg:#faf9f2;--mint:#317967;--white:#314b43;--muted:#65796d;--line:#d6e1d5}
body{font-family:'Hiragino Maru Gothic ProN','Yu Gothic','Meiryo',sans-serif;background:var(--bg)}
header{background:#faf9f2ed;border-bottom-color:#e3e8dc}.brand{font-weight:700;letter-spacing:-1.6px;color:#4b8c78}.brand small{font-weight:500;letter-spacing:2.3px;color:#718576}nav{font-weight:600;letter-spacing:1px}.contact-nav{border-color:#c8d9cd;border-radius:30px;background:#edf4e9}nav a:hover{color:#1c5e4c}
.hero{background:radial-gradient(ellipse at 84% 38%,#d9f0e180,transparent 52%);min-height:710px}.hero:before{background-image:radial-gradient(#75a18d30 1px,transparent 1px);background-size:24px 24px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px}.eyebrow:before{height:6px;width:6px;border-radius:50%;background:#79b79b}.hero h1{font-family:inherit;font-size:clamp(39px,4.5vw,68px);font-weight:800;letter-spacing:-.045em;line-height:1.55;margin:24px 0}.hero h1 em{position:relative;isolation:isolate;white-space:nowrap}.hero h1 em:after{content:'';position:absolute;left:0;right:0;height:15px;bottom:1px;z-index:-1;background:#f4df86;border-radius:50% 30% 50% 25%;transform:rotate(-1deg)}.hero-sub{font-size:17px;letter-spacing:1px;font-weight:700}.copy{letter-spacing:.5px;line-height:2.1}.buttons{gap:25px}.button{background:#bce8cd;color:#264f3e;border:1px solid #a2d1b6;border-radius:50px;box-shadow:0 4px 0 #dce7d3;font-size:12px}.button:hover{background:#a7dcbc}.text-link{border-bottom-color:#b2c7b6;color:#4c685a}.hero-art{padding:50px 9px 45px}.orbit{background:#e4efd4;width:440px;height:440px;border:0;border-radius:48% 52% 57% 43% / 50% 44% 56% 50%;box-shadow:none;transform:translate(-50%,-50%) rotate(15deg)}.orbit:before{inset:-22px;border:1px dashed #98b7a277;border-radius:45% 55% 50% 50%}.vertical{color:#5d8977;font-size:13px;letter-spacing:4px;right:-9px;top:-5px;font-family:inherit}.screen{border:2px solid #b4c8b5;background:#fffefa;border-radius:22px;overflow:hidden;box-shadow:9px 12px 0 #d2dfc6;transform:rotate(-3deg);transition:transform .25s}.screen:hover{transform:rotate(-1deg) translateY(-4px)}.screen-bar{color:#658271;border-bottom:1px solid #e0e8d8;background:#fffefa;padding:17px 19px}.dots{color:#93baa0}.screen-footer{padding:23px;background:#fffefa}.screen-footer strong{font-weight:700;color:#426451}.screen-footer small{color:#68806f}.play-circle{border:0;background:#f8e8a6;color:#637148}.art-caption{color:#698573;font-size:9px;margin-top:36px}.fun-badge{position:absolute;right:-4px;bottom:8px;background:#f8e8a6;border:5px solid #faf9f2;width:110px;height:110px;border-radius:50%;z-index:2;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-size:17px;font-weight:700;line-height:1.5;color:#69704a;box-shadow:0 2px 0 #dfdfc2}.hero-bottom{color:#738477;font-size:8px}.wave{opacity:.16;bottom:-22px}.ticker{background:#eff4e8;border-color:#dce6d4;color:#4b6553}.ticker b{background:#d1e7d5;padding:7px 12px;border-radius:20px}.ticker time{color:#65806c}.section-top h2{font-size:38px;font-weight:700;letter-spacing:-1px}.section-top p{letter-spacing:.5px}.games{grid-template-columns:1.22fr 1fr 1fr;gap:24px;align-items:start}.game-card{padding:16px 16px 23px;border:1px solid #dfe5d6;background:#fffef9;border-radius:22px;box-shadow:0 6px 0 #edf0e3}.game-card:nth-child(2){background:#f3f1e2}.game-card:nth-child(3){background:#e9f2ee}.game-card .game-image{border:0;border-radius:14px;background:#e8f0db;aspect-ratio:1}.game-card:first-child .game-image{aspect-ratio:1.95}.game-card:first-child .game-image img{width:110%}.game-card h3{font-size:18px;font-weight:700;margin-top:22px}.game-card p{line-height:1.9;letter-spacing:.2px;font-size:10px}.featured-tag{border-radius:20px;background:#f4e8ad;color:#626746;font-size:9px;font-weight:600}.other-tag{font-size:9px;color:#6a806d;font-weight:600}.copyright{color:#798775;font-size:9px}.about{background:#e8f1df;border-radius:65px 65px 0 0}.about-word{font-family:inherit;font-size:clamp(60px,7.3vw,106px);font-weight:800;letter-spacing:.02em;color:#689779;line-height:1.45}.about-word:before{font-weight:500;color:#748a6f}.about-word small{font-weight:500;color:#748a6f;letter-spacing:4px}.about h2{font-family:inherit;font-weight:700;font-size:28px;letter-spacing:.5px}.about p{color:#627661;font-size:13px}.service h3{font-weight:700;font-size:18px}.service b{background:#e6efdf;padding:7px 10px;border-radius:20px;font-size:9px}.service p{line-height:2}.service{padding-top:32px;padding-bottom:25px}.company h3{font-size:25px;font-weight:700}.connect{background:#e1eed9;border-top:0;border-radius:65px 65px 0 0;position:relative}.connect h2{font-family:inherit;font-weight:700;font-size:30px;letter-spacing:.5px}.connect p{color:#5f795d}.connect .button{background:#fffaf0;border-color:#c7d8bb;box-shadow:0 4px 0 #cadac1}footer{background:#faf9f2}.note{color:#73826d;font-size:9px}.top-link{color:#4a795f}
@media(max-width:900px){.hero{gap:22px}.hero h1{font-size:43px}.hero-sub{font-size:14px}.hero .copy{font-size:12px}.orbit{height:auto}.games{grid-template-columns:1fr 1fr}.games .game-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;column-gap:25px;align-items:start}.games .game-card:first-child .game-image{grid-column:1;grid-row:1/6;aspect-ratio:1.8}.games .game-card:first-child .game-image img{width:110%}.games .game-card:first-child .featured-tag{grid-column:2;justify-self:start;margin-top:15px}.games .game-card:first-child h3{grid-column:2}.fun-badge{width:92px;height:92px;font-size:15px;right:-12px}.section-top h2{font-size:31px}.about h2{font-size:24px}}
@media(max-width:600px){header{background:#faf9f2f5}.menu{border-color:#bed2bd;border-radius:20px;color:#4d795f;font-size:10px;font-weight:600;padding:10px 14px}nav{background:#f2f6e9;border-bottom-color:#d4dfca}.hero{min-height:0;padding-top:38px}.hero h1{font-size:clamp(29px,8.4vw,48px);letter-spacing:-.055em;margin:24px 0 19px}.hero h1 em:after{height:10px}.hero-sub{font-size:13px;letter-spacing:.4px}.hero .copy{font-size:12px}.hero-art{margin-top:25px;padding-top:45px;padding-bottom:28px}.screen-footer{padding:19px}.vertical{font-size:11px;right:-11px;top:13px}.fun-badge{bottom:-10px;right:-6px;width:88px;height:88px;font-size:14px}.art-caption{font-size:8px;padding-right:68px}.art-caption span:last-child{display:none}.hero-bottom{font-size:7px;gap:12px;line-height:1.8}.hero-bottom span{max-width:60%}.section-top{display:block}.section-top h2{font-size:27px;letter-spacing:-1px}.section-top p{font-size:11px}.section-top .text-link{display:inline-block;margin-top:12px}.games{gap:20px 12px}.game-card{padding:10px 10px 17px;border-radius:17px}.game-card .game-image{border-radius:10px}.game-card h3{font-size:14px;margin-top:16px}.game-card p{font-size:9px}.copyright{font-size:8px}.games .game-card:first-child{display:block;padding:15px}.games .game-card:first-child .game-image{aspect-ratio:1.95}.games .game-card:first-child h3{font-size:21px}.games .game-card:first-child .featured-tag{margin-top:0}.other-tag{font-size:8px;letter-spacing:.5px}.about,.connect{border-radius:35px 35px 0 0}.about-word{font-size:67px}.about h2{font-size:24px}.connect h2{font-size:25px}.service+.service{padding-left:0}.company h3{font-size:23px}}


.about-logo{display:flex;align-items:center;justify-content:center;width:100%}.about-logo img{display:block;width:100%;max-width:440px;height:auto;object-fit:contain}@media(max-width:600px){.about-logo{margin:0 auto 32px;max-width:300px}}

.pickup-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:29px 65px 0 0;z-index:3}.pickup-controls[hidden]{display:none}.pickup-controls button{cursor:pointer;border:1px solid #bfd0bd;color:#3f6955;background:#fffdf5;display:grid;place-items:center;transition:background .2s}.pickup-controls button:hover{background:#d8eddc}.pickup-arrow{width:32px;height:32px;border-radius:50%;font-size:23px;line-height:1}.pickup-dots{display:flex;align-items:center;gap:3px}.pickup-dots button{width:28px;height:32px;border:0;background:transparent;position:relative;border-radius:10px}.pickup-dots button:after{content:'';width:8px;height:8px;background:#bdccba;border-radius:50%}.pickup-dots button[aria-pressed="true"]:after{background:#467f64;width:18px;border-radius:5px}.pickup-toggle{min-width:66px;height:32px;padding:0 10px;font-size:10px;border-radius:18px}.hero-art .art-caption{margin-top:19px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:600px){.pickup-controls{gap:8px;margin:29px 50px 0 0}.pickup-toggle{min-width:60px}.hero-art .art-caption{margin-top:18px}}
