:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f9f9f9;--color-brand: #9cd08f;--color-brand-dark: #7cb86f;--color-text-main: #333333;--color-text-muted: #666666;--max-width: 1200px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Noto Sans JP,sans-serif;background-color:var(--color-bg-primary);color:var(--color-text-main);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}section{padding:80px 20px}.container{max-width:var(--max-width);margin:0 auto}.section-title{text-align:center;font-size:2rem;margin-bottom:15px;letter-spacing:.05em}.section-subtitle{text-align:center;color:var(--color-text-muted);font-size:.9rem;margin-bottom:50px}.header{background-color:var(--color-brand);color:#fff;padding:15px 20px;position:sticky;top:0;z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;font-size:1.2rem;display:flex;align-items:center;gap:8px}.nav{display:flex;gap:35px;align-items:center}.nav a{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.3;transition:opacity .2s}.nav a:hover{opacity:.8}.nav a .ja{font-size:.9rem;font-weight:300;letter-spacing:-.02em;opacity:.9}.nav a .en{font-size:1.5rem;font-weight:500}.coming-soon{cursor:not-allowed}.coming-soon a{color:#b0b0b0!important;pointer-events:none;opacity:.7}.hero-section{padding:0;background-color:#efefef}.hero-container{max-width:1920px;margin:0 auto}.hero-image-placeholder{width:100%;aspect-ratio:1920 / 480;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-weight:700}.services-grid{display:flex;justify-content:space-between;gap:20px}.service-card{flex:1;background-color:var(--color-brand);color:#fff;padding:40px 20px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center}.service-card h3{font-size:1.6rem;font-weight:700;margin-bottom:12px;text-align:center;width:100%;max-width:260px;margin-left:auto;margin-right:auto;letter-spacing:-.01em}.service-card p{font-size:.88rem;font-weight:400;line-height:1.6;opacity:.95;text-align:left;width:100%;max-width:260px;margin-left:auto;margin-right:auto}.icon-container{margin-bottom:15px;display:flex;justify-content:center;align-items:center;min-height:60px}.icon-container i,.icon-container .material-icons{font-size:3.5rem!important;color:#fff;display:inline-block}#adjust-illustration,#adjust-psychology{padding-top:1.2rem}.bg-alt{background-color:var(--color-bg-secondary)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}.grid-item{background-color:#e0e0e0;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:3 / 4}.grid-item .gallery-img{width:100%;height:100%;object-fit:cover;object-position:center top}.grid-item.wide-illust{aspect-ratio:4 / 3;grid-column:span 1}.gallery-grid .wide-illust:nth-child(4){grid-column-start:1}.game-project-card{background-color:#fff;max-width:800px;margin:0 auto 50px;padding:40px 30px;border-radius:8px;box-shadow:0 4px 16px #0000000d;text-align:center}.project-badge{display:inline-block;background-color:var(--color-brand);color:#fff;font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:15px;letter-spacing:.05em}.game-title{font-size:1.8rem;font-weight:700;margin-bottom:10px;color:var(--color-text-main)}.game-catch{font-size:1rem;color:var(--color-text-muted);margin-bottom:25px}.game-media-area{margin-bottom:25px}.game-details{max-width:600px;margin:0 auto;text-align:left}.game-spec-list{list-style:none;padding:15px 0;margin:0 0 20px;border-top:1px solid #eeeeee;border-bottom:1px solid #eeeeee}.game-spec-list li{font-size:.95rem;line-height:1.8;color:var(--color-text-main)}.game-spec-list li strong{color:var(--color-brand-dark, #2e7d32)}.game-description{font-size:.95rem;line-height:1.7;color:var(--color-text-main);margin-bottom:25px}.game-links{text-align:center}.btn-primary{display:inline-block;background-color:red;color:#fff!important;text-decoration:none!important;padding:12px 28px;border-radius:4px;font-weight:700;font-size:.95rem;transition:opacity .2s,transform .1s}.btn-primary:hover{opacity:.85}.sub-projects-area{max-width:800px;margin:0 auto 30px;padding-top:20px;border-top:1px dashed #dcdcdc}.sub-projects-title{font-size:1.2rem;margin-bottom:20px;color:var(--color-text-main)}.tools-grid{display:flex;gap:20px;justify-content:center}.tool-item{flex:1;background-color:#fff;padding:20px;border-radius:6px;text-align:left;box-shadow:0 2px 8px #00000008}.tool-item h5{font-size:1rem;margin-bottom:8px;color:var(--color-text-main)}.tool-item p{font-size:.85rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:12px}.tool-item a{font-size:.85rem;font-weight:700}.dev-contact-lead{margin-top:30px}.dev-contact-lead p{font-size:.95rem}@media(max-width:768px){.tools-grid{flex-direction:column}.game-project-card{padding:25px 15px}}.dev-placeholder,.music-placeholder,.form-placeholder{padding:30px;text-align:center;color:var(--color-text-muted);border-radius:4px}.for-business p{text-align:center}.dev-portfolio-area,.music-portfolio-area,.for-business{padding-top:20px;padding-bottom:20px}.dev-portfolio-area a,.music-portfolio-area a,.for-business a{text-decoration:underline;color:#0067c0}.music-portfolio-area p{margin-bottom:50px}.dev-portfolio-area p{margin-top:30px}.dev-portfolio-area .listening-area p{margin:20px}.listening-area{padding-bottom:20px}.listening-area h4,.listening-area iframe{margin:10px}.youtube-embed{width:100%!important;max-width:560px;aspect-ratio:16 / 9;height:auto!important;border-radius:6px;margin:20px auto!important;display:block}.booth-thumbnail{width:100%!important;max-width:500px;aspect-ratio:1 / 1;height:auto!important;border-radius:6px;margin:20px auto!important;display:block}.form-container{max-width:700px;margin:0 auto}.contact-form{background-color:#fff;padding:40px;border-radius:6px;box-shadow:0 4px 12px #00000008}.form-group{margin-bottom:25px;display:flex;flex-direction:column;align-items:flex-start}.form-group label{font-size:.9rem;font-weight:700;margin-bottom:8px;color:var(--color-text-main);display:flex;align-items:center;gap:8px}.form-group label .required{background-color:#e57373;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:3px;font-weight:400}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:12px 16px;border:1px solid #dddddd;border-radius:4px;font-family:inherit;font-size:.95rem;color:var(--color-text-main);background-color:#ffafaf05;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #9cd08f33}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1}.form-submit{text-align:center;margin-top:10px}.submit-btn{background-color:var(--color-brand);color:#fff;border:none;padding:14px 40px;font-size:1rem;font-weight:700;border-radius:4px;cursor:pointer;letter-spacing:.05em;transition:background-color .2s,transform .1s;box-shadow:0 2px 6px #9cd08f4d}.submit-btn:hover{background-color:var(--color-brand-dark)}.submit-btn:active{transform:scale(.98)}.footer{background-color:#333;color:#fff;text-align:center;padding:30px 20px;font-size:.8rem}.illustration-fees,.composition-fees{padding:60px 20px;background-color:var(--color-bg-primary)}.table-wrapper{width:100%;max-width:600px;margin:0 auto;overflow-x:auto;box-shadow:0 2px 8px #0000000d;border-radius:6px}.fees-table{width:100%;border-collapse:collapse;background-color:#fff;text-align:center}.fees-table th{background-color:var(--color-brand);color:#fff;font-weight:700;padding:14px 20px;font-size:1rem;letter-spacing:.05em}.fees-table td{padding:16px 20px;font-size:.95rem;border-bottom:1px solid #eeeeee;color:var(--color-text-main)}.fees-table tbody tr:hover{background-color:#fcfdfe}.fees-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.header{padding:10px 15px}.nav{gap:12px}.nav a .en{font-size:1rem}.nav a .ja{font-size:.7rem}.logo img{width:70px!important;height:auto!important}.services-grid{flex-direction:column}.hero-section{background-color:#fff}.hero-image-placeholder{aspect-ratio:4 / 3;background-color:#fff}.gallery-grid{grid-template-columns:1fr}.grid-item.tall,.grid-item.wide{grid-row:auto;grid-column:auto;aspect-ratio:4 / 3}.contact-form{padding:25px 20px}.form-row{flex-direction:column;gap:0}}
