@charset "UTF-8";

.c-btn { display: inline-flex; justify-content: center; align-items: center; background-color: var(--color-accent); color: #fff; padding: 16px 40px; border-radius: 30px; font-weight: 700; transition: all 0.3s ease; }
.c-btn:hover { background-color: #9a7658; transform: translateY(-2px); color: #fff; opacity: 1; }
.c-btn--large { font-size: 18px; padding: 20px 60px; background-color: var(--color-green); }
.c-btn--large:hover { background-color: #557954; }

.p-top-mv { position: relative; width: 100%; height: 100vh; overflow: hidden; }
.p-top-mv__video-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #ccc; }
.p-top-mv__video { width: 100%; height: 100%; object-fit: cover; }
.p-top-mv__copy-wrap { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; z-index: 10; }
.p-top-mv__copy { color: #fff; font-size: 40px; line-height: 1.6; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }

@media screen and (max-width: 768px) { .p-top-mv__copy { font-size: 24px; padding: 0 5%; } }

.p-top-concept { padding: 100px 0; background-color: #fff; text-align: center; }
.p-top-concept__title { font-size: 32px; color: var(--color-green); margin-bottom: 40px; }
.p-top-concept__text { font-size: 16px; line-height: 2; margin-bottom: 40px; max-width: 800px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 768px) { .p-top-concept { padding: 60px 0; } .p-top-concept__title { font-size: 24px; } }

/* ▲ 統合されていたギャラリースタイル全体を削除しました ▲ */

.p-top-features { padding: 100px 0; background-color: var(--color-base); }
.p-top-features__list { display: flex; flex-direction: column; gap: 80px; margin-top: 60px; }
.p-top-features__item { display: flex; align-items: center; gap: 60px; }
.p-top-features__item--reverse { flex-direction: row-reverse; }
.p-top-features__img { flex: 1; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.p-top-features__img img, .p-top-features__img video { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; transition: transform 0.5s; }
.p-top-features__item:hover .p-top-features__img img { transform: scale(1.05); }
.p-top-features__body { flex: 1; }
.p-top-features__num { display: inline-block; font-size: 60px; color: var(--color-accent); opacity: 0.3; line-height: 1; margin-bottom: 10px; }
.p-top-features__heading { font-size: 28px; line-height: 1.5; color: var(--color-blue); margin-bottom: 20px; }

@media screen and (max-width: 768px) {
    .p-top-features { padding: 60px 0; } .p-top-features__list { gap: 60px; margin-top: 40px; }
    .p-top-features__item, .p-top-features__item--reverse { flex-direction: column; gap: 30px; }
    .p-top-features__num { font-size: 48px; } .p-top-features__heading { font-size: 22px; }
}

.p-top-kids { padding: 100px 0; background-color: #F4F1EA; }
.p-top-kids__inner { display: flex; align-items: center; gap: 60px; }
.p-top-kids__content { flex: 1; }
.p-top-kids__title { font-size: 32px; color: var(--color-accent); margin-bottom: 30px; line-height: 1.5; }
.p-top-kids__text { font-size: 16px; line-height: 2; }
.p-top-kids__imgs { flex: 1; position: relative; height: 400px; }
.p-top-kids__img1, .p-top-kids__img2 { position: absolute; border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
.p-top-kids__img1 { width: 70%; top: 0; left: 0; z-index: 2; }
.p-top-kids__img2 { width: 60%; bottom: 0; right: 0; z-index: 1; }

@media screen and (max-width: 768px) {
    .p-top-kids { padding: 60px 0; } .p-top-kids__inner { flex-direction: column; gap: 40px; }
    .p-top-kids__title { font-size: 24px; }
    .p-top-kids__imgs { display: flex; gap: 15px; height: auto; width: 100%; }
    .p-top-kids__img1, .p-top-kids__img2 { position: relative; width: 50%; height: auto; aspect-ratio: 1/1; object-fit: cover; }
}

.p-top-instagram { padding: 100px 0; background-color: #fff; text-align: center; }
@media screen and (max-width: 768px) { .p-top-instagram { padding: 60px 0; } }