.hero-sp {
display: none;
} @media screen and (max-width: 768px) {
.hero-pc {
display: none;
}
.hero-sp {
display: block;
}
} body {
margin: 0;
padding: 0;
overflow-x: hidden;
font-family: sans-serif;
line-height: 1.6;
 color: #1a1919;
　background-color: #fff;
}
h2 {
font-size: 1.8rem;
border-bottom: 2px solid #eab5d8;
padding-bottom: 0.3em;
margin-bottom: 1em;
}
.site-header .container {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
padding: 10px 20px;
}
.site-header {
position: fixed;
top: 0;
width: 100vw;
background: white;
z-index: 999;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.logo img {
height: 40px;
} .hero {
position: relative;
width: 100vw;
overflow: hidden;
}
.hero-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}
.hero-overlay {
position: absolute;
inset: 0;
z-index: 2;
background: rgba(0, 0, 0, 0.4);
display: flex;
align-items: center;
justify-content: center;
}
.hero-content {
z-index: 3;
text-align: center;
color: white;
}
.hero + section {
margin-top: 0 !important;
padding-top: 0 !important;
} .hero-pc {
display: block;
height: 100vh;
}
.hero-sp {
display: none;
}
.pc-swiper,
.pc-swiper .swiper-wrapper,
.pc-swiper .swiper-slide {
width: 100%;
height: 100%;
} @media screen and (max-width: 768px) {
.hero-pc {
display: none;
}
.hero-sp {
display: block;
height: auto;
margin: 0;
padding: 0;
background-color: transparent;
overflow: hidden;
z-index: 0;
}
.sp-swiper,
.sp-swiper .swiper-wrapper,
.sp-swiper .swiper-slide {
width: 100%;
height: auto;
overflow: hidden;
background-color: transparent;
}
.sp-swiper .hero-img {
width: 100%;
height: auto;
object-fit: contain;
object-position: center;
display: block;
}
.hero-overlay {
position: absolute;
inset: 0;
z-index: 2;
background: rgba(0,0,0,0.4);
display: flex;
align-items: center;
justify-content: center;
}
.hero-content {
z-index: 3;
text-align: center;
color: white;
}
}
.hero-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.4);
display: flex;
align-items: center;
justify-content: center;
z-index: 2;
}
.hero-content {
color: white;
text-align: center;
z-index: 3;
}
.menu-icon {
font-size: 2rem;
cursor: pointer;
display: none;
}
.nav-list {
display: flex;
gap: 20px;
list-style: none;
padding: 0;
margin: 0;
}
.nav-list li a {
text-decoration: none;
font-weight: bold;
color: #333;
}
.site-footer {
background: #f5f5f5;
text-align: center;
padding: 40px 0;
font-size: 0.9rem;
color: #777;
} @media screen and (max-width: 768px) {
.menu-icon {
display: block;
}
.nav-list {
display: none;
flex-direction: column;
background: white;
position: absolute;
top: 60px;
left: 0;
width: 100%;
padding: 10px 0;
}
.site-nav.active .nav-list {
display: flex;
}
}  @media screen and (min-width: 769px) {
.site-nav .nav-list {
display: flex !important;
flex-direction: row !important;
justify-content: flex-end !important;
align-items: center !important;
gap: 20px;
list-style: none;
margin: 0;
padding: 0;
}
.site-nav .nav-list li {
margin-left: 20px;
}
.site-nav .nav-list li a {
text-decoration: none;
font-size: 0.85rem; font-weight: bold;
color: #333;
}
}
.menu-icon {
display: none;
}
.site-nav {
display: flex;
align-items: center;
}
} @media screen and (min-width: 769px) {
nav.site-nav ul.nav-list {
display: flex !important;
flex-direction: row !important;
justify-content: flex-end !important;
align-items: center !important;
list-style: none;
padding: 0;
margin: 0;
}
nav.site-nav ul.nav-list > li {
margin-left: 20px;
}
nav.site-nav ul.nav-list > li > a {
text-decoration: none;
font-weight: bold;
color: #333;
display: block;
padding: 10px 15px;
}
.menu-icon {
display: none !important;
}
}
@media screen and (max-width: 768px) {
.menu-icon {
display: block !important;
cursor: pointer;
position: absolute;
top: 15px;
right: 20px;
z-index: 1001;
}
.nav-list {
display: none;
flex-direction: column;
background: white;
position: absolute;
top: 60px;
right: 0;
width: 100%;
padding: 10px 0;
z-index: 999;
}
.site-nav.active .nav-list {
display: flex !important;
align-items: flex-end !important; 
justify-content: flex-start;
}
.nav-list li {
padding: 10px 20px;
text-align: right; 
width: 100%;
}
.nav-list li a {
display: block;
font-size: 0.9rem; width: 100%;
text-align: right; 
}
}
.features-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
margin-top: 40px;
}
.feature-card {
width: 240px;
text-align: center;
}
.feature-card img {
width: 100%;
border-radius: 8px;
} @media (max-width: 1100px) {
.features-grid {
justify-content: center;
grid-template-columns: repeat(2, minmax(220px, 1fr));  
}
.feature-card {
width: 45%;
max-width: 280px;
}
} @media (max-width: 640px) {
.feature-card {
width: 100%;
max-width: 300px;
}
}
.creator-card {
width: 200px;
height: 200px;
border-radius: 50%;
background-color: #fff;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 1rem;
transition: transform 0.3s ease;
} .creator-section{ display: grid !important;  grid-template-columns: repeat(5, minmax(0px, 1fr));
gap: 2rem; justify-content: center; justify-items: center;
align-items: center; margin-inline: auto;
} .creator-card,
.creator-card-home{
margin: 0 auto !important; border-radius: 9999px !important;
aspect-ratio: 1 / 1;
width: clamp(180px, 20vw, 220px);
height: auto;
display: flex;
align-items: center;
justify-content: center;
} @media (max-width: 1100px){
.creator-section{
grid-template-columns: repeat(2, minmax(220px, 1fr));
}
} @media (max-width: 640px){
.creator-section{
grid-template-columns: 1fr;
}
.creator-card,
.creator-card-home{
width: 150px;
}
} .creator-card-home {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: 1rem;
background-color: #fff;
border-radius: 50%;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
width: 200px;
height: 200px;
transition: transform 0.3s ease;
}
.creator-card-home img.creator-icon {
width: 40px;
height: 40px;
margin: 0 0.25rem 0.5rem; object-fit: contain;
display: inline-block;
} .creator-card-home div img.creator-icon + img.creator-icon {
margin-left: 0.25rem;
} .creator-card,
.creator-card-home { border-radius: 9999px !important; aspect-ratio: 1 / 1;
width: clamp(180px, 20vw, 220px);
height: auto;
overflow: hidden; background: #fff;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 1rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
transition: transform .3s ease;
}
.creator-card:hover,
.creator-card-home:hover { transform: scale(1.05); } .creator-card-home img.creator-icon {
width: 48px;
height: 48px;
margin-bottom: .5rem;
object-fit: contain;
} .creator-section {
display: grid; gap: 2rem;
justify-content: center; grid-template-columns: repeat(4, 220px);
} .creators .wp-block-column {
display: flex;
justify-content: center; align-items: center; text-align: center;
flex: 1 1 25%; min-width: 320px; } .creators .creator-card,
.creators .creator-circle,
.creators .feature-card,
.creators [class*="card"] {
width: var(--card-size);
aspect-ratio: 1 / 1; border-radius: 9999px;
border: 1px solid #e9e9e9;
box-shadow: 0 10px 24px rgba(0,0,0,.06);
background: #fff;
display: flex;
flex-direction: column;
justify-content: center; align-items: center;
margin: 0 auto; } @media (max-width: 1100px) {
.creator-section {
grid-template-columns: repeat(2, minmax(220px, 1fr));
}
} @media (max-width: 640px) {
.creator-section {
grid-template-columns: 1fr;
}
.creator-card,
.creator-card-home {
   width: 150px; }
}
.pricing-storybook {
display: flex;
flex-direction: column;
align-items: center;
gap: 40px;
padding: 60px 20px;
background: #fff8f5;
}
.storybook-page {
width: 90%;
max-width: 500px;
background: #fff;
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
padding: 30px;
text-align: center;
font-family: "Yu Gothic", sans-serif;
}
.storybook-page h2 {
font-size: 1.4em;
margin-bottom: 10px;
color: #3c3c3c;
}
.storybook-page ul {
list-style: none;
padding: 0;
margin: 10px 0;
}
.storybook-page ul li::before {
content: "\2022 ";
color: #f3931f;
padding-right: 5px;
}
.storybook-page .price {
margin-top: 10px;
font-weight: bold;
font-size: 1.2em;
color: #d53227;
}
.more-button {
display: inline-block;
margin-top: 20px;
background-color: #f3931f;
color: #fff;
padding: 10px 20px;
border-radius: 12px;
text-decoration: none;
transition: background-color 0.3s;
}
.more-button:hover {
background-color: #d53227;
} .pc-only {
display: block;
}
.sp-only {
display: none;
}
.plan-container {
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: nowrap; gap: 32px;
overflow-x: auto; padding: 40px 20px;
box-sizing: border-box;
}
.price-table {
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: nowrap;
padding: 2rem 1rem;
text-align: center;
background-color: #fff;
font-family: 'Helvetica Neue', sans-serif;
}
.plan-column {
width: 280px;
padding: 1.5rem;
border-radius: 12px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: #ffffff;
border: 3px solid transparent; text-align: center;
}
.plan-column:hover {
transform: translateY(-4px);
box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}
.plan-column.start { border-color: #f3931f; }
.plan-column.wow   { border-color: #ffbb00; }
.plan-column.pro   { border-color: #0079a5; }
.plan-column h3 {
font-size: 1.3rem;
font-weight: bold;
color: #333;
margin-bottom: 0.5rem;
border-bottom: 1px solid #eee;
padding-bottom: 0.3rem;
}
.price {
font-size: 1.6rem;
font-weight: bold;
margin: 0.5rem 0;
color: #111;
}
.desc {
font-size: 0.9rem;
color: #555;
margin-bottom: 1rem;
}
.plan-column ul {
list-style: none;
padding: 0;
margin: 1rem 0;
}
.plan-column ul li {
margin: 0.3rem 0;
font-size: 0.95rem;
color: #444;
}
.btn {
display: inline-block;
margin-top: 1rem;
padding: 0.5rem 1.2rem;
border-radius: 999px;
font-weight: bold;
text-decoration: none;
color: white;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
transition: all 0.2s ease;
}
.btn:hover {
opacity: 0.85;
}
.hard {
width: 250px;
height: 400px;
padding: 30px 20px;
border: 2px dashed #ccc;
background-image: url(https://picsum.photos/id/1025/250/400);
font-size: 0.95rem;
background-color: rgba(255, 255, 255, 0.7); border-radius: 10px;
text-shadow: 1px 1px 2px rgba(0,0,0,0.6);
}
.hard h2 {
font-size: 1.4rem;
color: #d53227;
}
.content-box {
background: linear-gradient(to bottom right, #ffffffcc, #fff7eacc);
backdrop-filter: blur(3px);
padding: 20px;
border-radius: 20px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
justify-content: center; align-items: center; width: auto;
height: auto;
}
.page-inner {
background-color: rgba(255, 255, 255, 0.85);
padding: 20px;
border-radius: 8px;
box-sizing: border-box;
width: 80%;
height: 80%;
overflow: auto;
margin: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
} .btn {
display: inline-block;
margin: 10px auto;
padding: 10px 16px;
background-color: #f3931f;
color: white;
border-radius: 8px;
text-decoration: none;
font-weight: bold;
font-size: 0.95rem;
box-shadow: 2px 2px 6px rgba(0,0,0,0.1);
transition: background-color 0.3s;
}
.btn:hover {
background-color: #e57b00;
} .sidebar-gallery-scroll {
overflow: hidden;
width: 100%;
height: 300px; border-radius: 12px;
position: relative;
margin: 20px 0;
}
.scroll-track {
display: flex;
gap: 8px;
animation: galleryScroll 20s linear infinite;
width: max-content;
}
.scroll-track img {
width: 300px;
height: auto;
border-radius: 8px;
flex-shrink: 0;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
@keyframes galleryScroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
} .info-section {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
padding: 2rem 1rem;
justify-content: center;
background: #f9f9f9;
}
.card {
background: white;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
padding: 1.5rem;
flex: 1 1 300px;
max-width: 400px;
}
.card h3 {
font-size: 1.2rem;
margin-bottom: 1rem;
color: #333;
}
.card ul {
padding-left: 1.2rem;
}
.card li {
list-style: none;
margin-bottom: 0.5rem;
color: #555;
}
.card a {
text-decoration: none;
color: #1a73e8;
} .footer-nav ul {
list-style: none;
padding: 0;
display: flex;
justify-content: center;
gap: 20px;
margin-bottom: 10px;
flex-wrap: wrap;
}
.footer-nav ul li a {
text-decoration: none;
color: #333;
font-weight: bold;
}
.footer-meta {
font-size: 0.85rem;
color: #999;
text-align: center;
}
.stylish-footer {
background-color: #f0f0f0;
text-align: center;
padding: 50px 20px 30px;
color: #444;
font-family: 'Helvetica Neue', sans-serif;
}
.footer-brand {
font-size: 1.4rem;
font-weight: bold;
letter-spacing: 0.1em;
margin-bottom: 20px;
color: #333;
}
.footer-menu ul,
.footer-submenu ul {
list-style: none;
padding: 0;
margin: 0 0 15px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
}
.footer-menu a,
.footer-submenu a {
text-decoration: none;
color: #666;
font-size: 0.95rem;
}
.footer-menu a:hover,
.footer-submenu a:hover {
color: #d53227; }
.footer-copy {
font-size: 0.75rem;
color: #999;
margin-top: 10px;
}
.footer-brand img {
max-height: 60px;
margin-bottom: 20px;
}
.footer-menu a:hover,
.footer-submenu a:hover {
color: #d53227; }
.footer-menu-row {
margin-bottom: 10px;
}
.footer-menu-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
.footer-menu-list li a {
text-decoration: none;
color: #666;
font-weight: 350; font-size: 0.8rem;
letter-spacing: 0.05em; transition: color 0.3s ease;
}
.footer-menu-list.footer-secondary li a {
font-size: 0.8rem;
color: #999; font-weight: 300;
}
.footer-menu-list li a:hover {
color: #d53227;
} #book-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: -1;
}
.book-floating {
position: absolute;
opacity: 0.6;
animation: floatY linear infinite;
}
@keyframes floatY {
0% {
transform: translateY(-100px) rotate(0deg);
opacity: 0;
}
50% {
opacity: 0.8;
}
100% {
transform: translateY(110vh) rotate(360deg);
opacity: 0;
}
} .menu-account-icon {
display: inline-block;
margin-left: 12px;
}
.menu-account-icon a {
display: flex;
align-items: center;
font-size: 20px;
padding: 6px 10px;
text-decoration: none;
} .header-user-icon {
position: absolute;
right: 60px;
top: 20px;
z-index: 1000;
}
@media (min-width: 768px) {
.header-user-icon {
display: none;
}
} :root{
--bg-start:#fff7f2;
--bg-end:#ffffff;
--brand:#ff7b42;
--ink:#222;
}
html,body{margin:0;padding:0}
body{color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;}
.hero-main{
min-height:100svh;
min-height:100vh; display:grid;
place-items:center;
background:linear-gradient(160deg,var(--bg-start),var(--bg-end));
position:relative;
overflow:hidden;
text-align:center;
padding:clamp(24px,4vw,48px);
}
.hero-main .logo{
font-size:clamp(64px,12vw,160px);
line-height:.9;
letter-spacing:-.02em;
font-weight:800;
margin:0;
background:linear-gradient(180deg,#ff8f59,#ff5c2b 60%,#ff956a);
-webkit-background-clip:text;
background-clip:text;
color:transparent;
filter:drop-shadow(0 8px 24px rgba(255,120,60,.15));
}
.hero-main .tag{
margin-top:.5rem;
font-size:clamp(14px,2.5vw,18px);
letter-spacing:.06em;
color:#666;
}
.hero-main .scroll-cue {
margin-top: clamp(24px,4vw,40px);
width: 36px; height: 36px;
border: 2px solid #ff7b42;
border-left: transparent; border-top: transparent;
transform: rotate(45deg);
background:none; cursor:pointer;
opacity:.5;
transition: opacity .2s ease;
}
.hero-main .scroll-cue:hover{opacity:.9}  .copy{
max-width: 880px;
margin: 0 auto;
padding: clamp(40px, 6vw, 96px) clamp(16px,3vw,24px);
text-align: center;
border: none;
} .copy h2{
font-size: clamp(24px, 4.5vw, 40px);
margin: 0 0 .8em; border-bottom: none;
} .copy-lines{
display: flex;
flex-direction: column;
align-items: center;
gap: .6em; } .copy-lines p{
margin: 0; font-size: clamp(16px, 2.6vw, 20px);
line-height: 1.58; } @media (max-width: 640px){
.copy-lines p{ line-height: 1.62; }
} .reveal{ opacity:0; transform: translateY(16px); }
.reveal.reveal--in{
opacity:1; transform:none;
transition: transform .8s cubic-bezier(.2,.7,0,1), opacity .8s ease;
transition-delay: 0.1s;	
} @media (max-width: 640px){
.hero-main{ min-height: 78svh; }
.hero-main .logo{ font-size: clamp(48px, 16vw, 100px); }
.hero-main .tag{ font-size: 14px; margin-top: 4px; }
} .section h2.section-title{
margin: 0 0 1.2rem;
position: relative;
}
.section h2.section-title::after{
content:"";
display:block;
width:180px; height:2px; margin:0.9rem auto 0;
background: #e9c3cf; opacity:.9;
} .creator-card, .creator-card-home {
box-shadow: 0 8px 20px rgba(0,0,0,.06);
} .features-section, .hero-section, .story-section, .creators-section, .gallery-section {
padding: var(--space-xl) 20px;
} .cta-form {
background: #fff;
border: 1px solid #eee;
border-radius: 16px;
box-shadow: 0 10px 24px rgba(0,0,0,.06);
padding: 20px 18px;
max-width: 720px;
margin: 18px auto 28px;
} .cta-form h3 {
margin: 0 0 10px;
font-size: 1.1rem;
font-weight: 700;
text-align: center;
}
.cta-form .sub {
text-align: center;
color: #666;
font-size: .92rem;
margin-bottom: 14px;
} .cta-form .row {
display: flex;
gap: 10px;
}
.cta-form input[type="text"] {
flex: 1;
height: 44px;
border: 1px solid #ddd;
border-radius: 10px;
padding: 0 12px;
}
.cta-form .btn {
height: 44px; padding: 0 16px;
border-radius: 10px;
border: 1px solid #ff774a;
background: #ff774a; color: #fff;
font-weight: 700;
white-space: nowrap;
}
.cta-form .btn:hover { filter: brightness(.95); }
@media (max-width:640px){
.cta-form { padding: 16px 14px; }
.cta-form .row { flex-direction: column; }
.cta-form .btn { width: 100%; }
} .plan-title { font-size:1.5em; margin:0 0 10px; text-align:center; }
.plan-sub { color:#777; margin:0 0 22px; text-align:center; }
.plan-grid{
display:grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap:14px;
align-items:stretch;
} @media (max-width: 1024px){
.plan-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
} @media (max-width: 640px){
.plan-grid{ grid-template-columns: 1fr; }
}
.plan-card{
display:flex;
flex-direction:column;
text-decoration:none;
border:1px solid #eee;
border-radius:14px;
overflow:hidden;
background:#fff;
box-shadow: 0 8px 18px rgba(0,0,0,.05);
transition: transform .15s ease, box-shadow .15s ease;
}
.plan-card:hover{
transform: translateY(-2px);
box-shadow: 0 12px 26px rgba(0,0,0,.08);
}
.plan-media{
aspect-ratio: 1 / 1;
background: #f7f7f7;
display:flex;
align-items:center;
justify-content:center;
}
.plan-media video{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.plan-text{
padding:12px 12px 14px;
text-align:center;
}
.plan-text strong{
display:block;
font-size:1.05em;
margin-bottom:4px;
color:#222;
}
.plan-text span{
display:block;
font-size:.92em;
color:#777;
line-height:1.3;
}
.plan-accent{
border-color:#ffd3bf;
box-shadow: 0 10px 22px rgba(255,119,74,.14);
}
.creator-card-home{
display:flex;
align-items:center;
gap:12px;
}
.creator-card-home .plan-chara{
width:56px;
height:56px;
object-fit:contain;
flex:0 0 56px;
} .ehon-menu-wrap {
display: flex;
flex-wrap: wrap;
gap: 24px;
justify-content: center;
margin: 60px auto;
}
.ehon-card {
width: 220px;
padding: 32px 22px 36px;
border-width: 3px;
border-style: solid;
border-color: rgba(120,110,100,0.28);
border-radius: 20px 26px 22px 24px;
text-align: center;
box-shadow: 2px 3px 0 rgba(0,0,0,0.04);
}
.ehon-card strong {
display: block;
font-size: 1.05rem;
font-weight: 500;
letter-spacing: .04em;
margin-bottom: 10px;
}
.ehon-card p {
font-size: 0.9rem;
line-height: 1.6;
color: #555;
margin: 0;
} .ehon-card img {
max-width: 80px;
margin-bottom: 14px;
} .plan-trial {
background: #fffef9;
border-color: rgba(130,120,110,0.35);
} .plan-auto {
background: #fff8e8;
border-color: rgba(160,130,90,0.35);
} .plan-template {
background: #f7f1e6;
border-color: rgba(150,140,120,0.35);
} .plan-movie {
background: #f2f7fb;
border-color: rgba(110,140,170,0.35);
} .plan-original {
background: #f9f1ee;
border-color: rgba(170,120,110,0.35);
}