


.hero-section {
 padding:120px 0 80px;
 color:white;
 text-align:center;
 position:relative;
 overflow:hidden;
 background:transparent;
}

.hero-section .container {
 max-width:1200px;
 position:relative;
 z-index:2;
}

.hero-content {
 display:flex;
 flex-direction:column;
 align-items:center;
 text-align:center;
}

.hero-character {
 margin-bottom:60px;
 position:relative;
 z-index:2;
}

.hero-character img {
 width:100%;
 max-width:500px;
 height:auto;
 position:relative;
 z-index:2;
 filter:brightness(1.1) drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
 animation:gentle-float 5s ease-in-out infinite;
}

.hero-logo {
 margin-bottom:60px;
}

.hero-logo img {
 width:100%;
 max-width:400px;
 height:auto;
 filter:brightness(1.1) drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
 animation:gentle-float 5s ease-in-out infinite;
 animation-delay:0.5s;
}

.hero-text {
 max-width:800px;
}

.hero-text h2 {
 color:white;
 font-size:3rem;
 font-weight:700;
 margin-bottom:20px;
 text-shadow:0 0 10px rgba(255, 255, 255, 0.2);
 font-family:'Noto Sans JP', sans-serif;
}

.hero-text .tagline {
 color:rgba(255, 255, 255, 0.9);
 font-size:1.4rem;
 line-height:1.8;
 text-shadow:0 0 5px rgba(255, 255, 255, 0.1);
 font-weight:400;
}


.creator-message {
 text-align:center;
 padding:60px 0;
}

.creator-message h2 {
 font-size:2.5rem;
 margin-bottom:30px;
 font-weight:700;
 font-family:'Noto Sans JP', sans-serif;
}

.creator-message p {
 margin-bottom:20px;
 font-size:1.3rem;
 font-weight:400;
 line-height:1.8;
}


.about {
 text-align:center;
 padding:60px 0;
}

.invitation-content {
 margin-top:40px;
}

.invitation-content h3 {
 font-size:2rem;
 margin-bottom:20px;
 font-weight:600;
 font-family:'Noto Sans JP', sans-serif;
}

.invitation-content p {
 margin-bottom:20px;
 font-size:1.3rem;
 font-weight:400;
 line-height:1.8;
}

.cta-button {
 margin-top:30px;
}


.values {
 text-align:center;
 padding:60px 0;
 width:100%;
}

.value-cards {
 display:grid;
 grid-template-columns:repeat(3, 1fr);
 gap:20px;
 margin-top:40px;
 width:100%;
}

.value-card {
 background:rgba(20, 20, 30, 0.8);
 border:1px solid rgba(79, 172, 254, 0.3);
 padding:25px;
 border-radius:10px;
 word-wrap:break-word;
 overflow-wrap:break-word;
}

.value-card .icon {
 font-size:2.5rem;
 margin-bottom:20px;
 color:#4facfe;
}

.value-card h3 {
 font-size:1.7rem;
 margin-bottom:15px;
 font-weight:600;
 font-family:'Noto Sans JP', sans-serif;
}

.value-card p {
 color:rgba(255, 255, 255, 0.9);
 font-size:1.1rem;
 line-height:1.5;
 font-weight:400;
}


.manifesto {
 padding:60px 0;
}

.declaration {
 margin-top:40px;
 max-width:900px;
 margin-left:auto;
 margin-right:auto;
}

.declaration h3 {
 font-size:2rem;
 margin-bottom:20px;
 font-weight:600;
 font-family:'Noto Sans JP', sans-serif;
}

.declaration p {
 margin-bottom:20px;
 font-weight:400;
 line-height:1.8;
 font-size:1.2rem;
}

.declaration ul {
 list-style:none;
 padding-left:0;
 text-align:left;
 margin-bottom:20px;
}

.declaration ul li {
 margin-bottom:15px;
 padding-left:25px;
 position:relative;
 font-weight:400;
 line-height:1.6;
 font-size:1.1rem;
}

.declaration ul li:before {
 content:"•";
 position:absolute;
 left:0;
 color:#4facfe;
 font-size:1.2rem;
}

.note {
 margin-top:20px;
 font-size:1rem;
 text-align:left;
 color:rgba(255, 255, 255, 0.8);
 font-weight:400;
 line-height:1.6;
}


.creator-types {
 margin:40px auto;
 max-width:900px;
 text-align:center;
}

.creator-types h4 {
 font-size:1.6rem;
 margin-bottom:20px;
 color:#4facfe;
 font-weight:600;
 font-family:'Noto Sans JP', sans-serif;
}

.types-list {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:12px;
}

.type-tag {
 background:rgba(79, 172, 254, 0.2);
 border:1px solid rgba(79, 172, 254, 0.4);
 padding:10px 18px;
 border-radius:20px;
 font-size:1rem;
 font-weight:500;
}


.company-declaration {
 margin-top:60px;
}


.supporters {
 text-align:center;
 padding:60px 0;
}

.creator-list, .company-list {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:30px;
 margin:40px 0;
}

.creator-item, .company-item {
 text-align:center;
}

.creator-avatar, .company-logo {
 width:120px;
 height:120px;
 border-radius:50%;
 object-fit:cover;
 margin-bottom:15px;
 border:2px solid rgba(79, 172, 254, 0.4);
}

.creator-name, .company-name {
 font-size:1.1rem;
 color:rgba(255, 255, 255, 0.9);
 font-weight:500;
}


.download {
 text-align:center;
 padding:60px 0;
}

.download-options {
 display:grid;
 grid-template-columns:repeat(2, 1fr);
 gap:40px;
 margin-top:40px;
}

.download-option {
 background:rgba(20, 20, 30, 0.8);
 border:1px solid rgba(79, 172, 254, 0.3);
 padding:35px;
 border-radius:10px;
}

.download-option h3 {
 font-size:1.7rem;
 margin-bottom:20px;
 color:#4facfe;
 font-weight:600;
 font-family:'Noto Sans JP', sans-serif;
}

.download-option p {
 margin-bottom:20px;
 color:rgba(255, 255, 255, 0.9);
 font-weight:400;
 line-height:1.6;
 font-size:1.1rem;
}

.logo-samples {
 margin:30px 0;
}

.logo-sample {
 max-width:200px;
 height:auto;
}


@media (max-width:1024px) {
 .value-cards {
 grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
 }
 
 .download-options {
 grid-template-columns:1fr;
 gap:30px;
 }
}

@media (max-width:768px) {
 .hero-section {
 padding:100px 0 60px;
 }
 
 .hero-character img {
 max-width:350px;
 }
 
 .hero-logo img {
 max-width:300px;
 }
 
 .hero-text h2 {
 font-size:2rem;
 }
 
 .hero-text .tagline {
 font-size:1.1rem;
 }
 
 .value-cards {
 grid-template-columns:1fr;
 gap:30px;
 }
 
 .download-options {
 grid-template-columns:1fr;
 }
}


.mobile-break {
 display:inline;
}

@media (max-width:480px) {
 .mobile-break {
 display:block;
 margin-bottom:0.2em;
 }
 
 
 .hero-text h2 {
 line-height:1.4;
 letter-spacing:0.05em;
 }
 
 .section-title {
 line-height:1.4;
 letter-spacing:0.02em;
 }
 .hero-section {
 padding:80px 0 40px;
 }
 
 .hero-character img {
 max-width:250px;
 }
 
 .hero-logo img {
 max-width:220px;
 }
 
 .hero-text h2 {
 font-size:1.2rem;
 line-height:1.3;
 margin-bottom:15px;
 }
 
 .hero-text .tagline {
 font-size:0.85rem;
 line-height:1.5;
 }
 
 
 .section-title {
 font-size:1.3rem;
 line-height:1.4;
 margin-bottom:20px;
 padding:0 10px;
 }
 
 
 .creator-message h2 {
 font-size:1.5rem;
 margin-bottom:20px;
 }
 
 .creator-message p {
 font-size:1rem;
 line-height:1.6;
 margin-bottom:15px;
 }
 
 
 .invitation-content h3 {
 font-size:1.3rem;
 margin-bottom:15px;
 }
 
 .invitation-content p {
 font-size:1rem;
 line-height:1.6;
 margin-bottom:15px;
 }
 
 
 .values h2 {
 font-size:1.2rem;
 padding:0 15px;
 }
 
 .value-card {
 padding:20px;
 margin-bottom:15px;
 }
 
 .value-card h3 {
 font-size:1.2rem;
 margin-bottom:10px;
 }
 
 .value-card p {
 font-size:0.85rem;
 line-height:1.5;
 }
 
 
 .declaration h3 {
 font-size:1.4rem;
 margin-bottom:15px;
 }
 
 .declaration p {
 font-size:1rem;
 line-height:1.6;
 margin-bottom:15px;
 }
 
 .declaration ul li {
 font-size:0.95rem;
 line-height:1.5;
 margin-bottom:10px;
 }
 
 .note {
 font-size:0.85rem;
 line-height:1.5;
 }
 
 
 .type-tag {
 font-size:0.85rem;
 padding:8px 14px;
 }
 
 
 .download-option {
 padding:20px;
 }
 
 .download-option h3 {
 font-size:1.3rem;
 margin-bottom:15px;
 }
 
 .download-option p {
 font-size:0.95rem;
 line-height:1.5;
 margin-bottom:15px;
 }
 
 .logo-sample {
 max-width:150px;
 }
 
 
 section {
 padding:40px 0;
 }
 
 .manifesto {
 padding:40px 0;
 }
 
 .creator-message {
 padding:40px 0;
 }
 
 .about {
 padding:40px 0;
 }
 
 .values {
 padding:40px 0;
 }
 
 .supporters {
 padding:40px 0;
 }
 
 .download {
 padding:40px 0;
 }
}
