@charset "utf-8";





.top-page{
    background-color: #e8e3bb;
    min-height: 100vh;
    min-height: 100dvh;
}

.mv {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    height: 100lvh;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.mv_inner {
    width: 100%;
    height: 100%;
    position: relative;
}

.mv_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.mv_bg_base,
.mv_bg_cloud,
.mv_bg_frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mv_bg_base {
    z-index: 1;
}

.mv_bg_base img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.mv_bg_cloud {
    z-index: 2;
    pointer-events: none;
    overflow: visible;
}

.mv_bg_cloud--1,
.mv_bg_cloud--2 {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.mv_bg_cloud_inner {
    position: absolute;
    left: 50%;
}


.mv_bg_cloud--1 .mv_bg_cloud_inner--a {
    width: 14.83rem;
    height: 9.53rem;
    top: calc(50% - 17rem);
    margin-left: -17.5rem;
    margin-top:calc(-4.765rem + 0rem);
}
.mv_bg_cloud--1 .mv_bg_cloud_inner--b {
    width: 20.33rem;
    height: 9.33rem;
    top: calc(50% - 17rem);
    margin-left: -17.5rem;
    margin-top:calc(-4.765rem + 2rem);
}
.mv_bg_cloud--1 .mv_bg_cloud_inner--c {
    width: 14.83rem;
    height: 9.53rem;
    top: calc(50% - 17rem);
    margin-left: -17.5rem;
    margin-top:calc(-4.765rem - 2rem);
}


.mv_bg_cloud--2 .mv_bg_cloud_inner--a {
    width: 20.33rem;
    height: 9.33rem;
    top: calc(50% - 11rem);
margin-left: 5.5rem;
    margin-top:calc(-4.765rem + 0rem);
}
.mv_bg_cloud--2 .mv_bg_cloud_inner--b {
    width: 14.83rem;
    height: 9.53rem;
    top: calc(50% - 11rem);
margin-left: 5.5rem;
    margin-top:calc(-4.765rem + 2rem);
}
.mv_bg_cloud--2 .mv_bg_cloud_inner--c {
    width: 20.33rem;
    height: 9.33rem;
    top: calc(50% - 11rem);
margin-left: 5.5rem;
    margin-top:calc(-4.765rem - 2rem);
}

.mv_bg_frame {
    z-index: 3;
    pointer-events: none;
    top: -2rem;
    filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.5));
}

.mv_bg_frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    mask-image: linear-gradient(#000, #000), url(../images/top/mv/mv_bg_frame_mask.webp);
    mask-size: cover, 29.8rem 54.5rem;
    mask-position: center, center bottom;
    mask-repeat: no-repeat, no-repeat;
    mask-composite: exclude;
    -webkit-mask-image: linear-gradient(#000, #000), url(../images/top/mv/mv_bg_frame_mask.webp);
    -webkit-mask-size: cover, 29.8rem 54.5rem;
    -webkit-mask-position: center, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
    -webkit-mask-composite: source-out;
}

.mv_cnt {
    position: relative;
    width: 100%;
    
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.mv_title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 30;
    width: 16.3rem;
    margin-top: -3.5rem;
    margin-left: 0.5rem;
}

.mv_title img {
    width: 100%;
    height: auto;
    max-width: none;
}

.mv_frame {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 0.5rem rgba(0, 0, 0, 0.5));
}

.mv_frame_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    mask-image: linear-gradient(#000, #000), url(../images/top/mv/frame_mask.webp);
    mask-size: cover, 37.5rem 80.8rem;
    mask-position: center, center;
    mask-repeat: no-repeat, no-repeat;
    mask-composite: exclude;
    -webkit-mask-image: linear-gradient(#000, #000), url(../images/top/mv/frame_mask.webp);
    -webkit-mask-size: cover, 37.5rem 80.8rem;
    -webkit-mask-position: center, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
    -webkit-mask-composite: source-out;
}

.mv_frame img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.mv_balloon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -41vh;
    margin-left: 15rem;
    z-index: 25;
    width: 5.4rem;
}

.mv_balloon img {
    width: 100%;
    height: auto;
    max-width: none;
}

.mv_bump {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 39vh;
    margin-left: -13rem;
    z-index: 21;
    width: 11.47rem;
}

.mv_bump img {
    width: 100%;
    height: auto;
    max-width: none;
}

.mv_hot_air_balloon {
    display: none;
}

.mv_m_note {
    display: none;
}

.mv_characters {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.mv_char {
    position: absolute;
}

.mv_char img {
    width: 100%;
    height: auto;
    max-width: none;
}


.mv_char--happy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -29.2rem;
    margin-left: -2.9rem;
    width: 12.77rem;
    z-index: 11;
}

.mv_char--giggles {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -27.8rem;
    margin-left: 7.6rem;
    width: 11.33rem;
    z-index: 10;
}

.mv_char--tickle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -18.7rem;
    margin-left: 12.9rem;
    width: 16.07rem;
    z-index: 11;
}

.mv_char--sparkle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -9.6rem;
    margin-left: 13.9rem;
    width: 11.9rem;
    z-index: 11;
}

.mv_char--curious {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -0.2rem;
    margin-left: 13.2rem;
    width: 7.83rem;
    z-index: 11;
}


.mv_char--chatterbox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 9.1rem;
    margin-left: 14.2rem;
    width: 13.3rem;
    z-index: 11;
}

.mv_char--naughty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 16.3rem;
    margin-left: 13.9rem;
    width: 8.03rem;
    z-index: 11;
}

.mv_char--sunshine {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 21.2rem;
    margin-left: 9.8rem;
    width: 11.77rem;
    z-index: 11;
}


.mv_char--small {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 5.4rem;
    margin-left: 4.4rem;
    width: 4.37rem;
    z-index: 12;
}

.mv_char--tall {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 17.7rem;
    margin-left: 2.2rem;
    width: 11.27rem;
    z-index: 10;
}

.mv_char--tall--small{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 15.8rem;
    margin-left: 1.7rem;
    width: 11.66rem;
    z-index: 10;
}

.mv_char--hug {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 25rem;
    margin-left: -0.2rem;
    width: 11.67rem;
    z-index: 11;
}

.mv_char--greedy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 22.3rem;
    margin-left: -9rem;
    width: 9.97rem;
    z-index: 10;
}


.mv_char--busy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 16rem;
    margin-left: -14.1rem;
    width: 9.7rem;
    z-index: 9;
}

.mv_char--bad {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 8.4rem;
    margin-left: -10.8rem;
    width: 11.27rem;
    z-index: 8;
}

.mv_char--strong {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -13.7rem;
    margin-left: -12.9rem;
    width: 10.47rem;
    z-index: 11;
}

.mv_char--princess {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -24rem;
    margin-left: -12.1rem;
    width: 10.33rem;
    z-index: 11;
}

.mv_char--naughty_hand {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 14.5rem;
    margin-left: 16.1rem;
    width: 1.57rem;
    z-index: 12; 
}

.mv_char--cool {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -3.6rem;
    margin-left: -12.7rem;
    width: 14.17rem;
    z-index: 15;
}
.mv_mr_cool_leg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -3.65rem;
    margin-left: -12.55rem;
    width: 14.17rem;
    z-index: 21;
}
.mv_char.mv_char--small img.multiply-shadow-clone {
    top: -0.7rem;
}

.concept {
    position: relative;
    width: 100%;
    height: 400lvh;
    overflow: clip;
    z-index: 101;
}
.concept_bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 1.5rem;
    background: linear-gradient(to top,#925859, transparent);
    opacity: 0.3;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
}
.concept_bg {
    padding: 0;
    background-color: #c1e0e8;
    background-image: url(../images/top/characters/characters_bg.webp);
    background-size: 5rem;
    background-position: center;
    background-repeat: repeat;
    background-blend-mode: multiply;
    z-index: 0;
    overflow: visible;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100lvh;
}

.concept_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.concept_inner {
    position: sticky;
    top: 0;
    height: 100lvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 1.5rem 8rem;
    max-width: 37.5rem;
    margin: 0 auto;
}

.concept_box {
    position: relative;
    z-index: 10;
}

.concept_box_text {
    position: relative;
    z-index: 20;
    padding: 2rem 2rem 4rem 2.5rem;
}


.concept_title img, .concept_text img {
width: auto;
    height: 100%;
}

.concept_box_text h2 {
    display: block;
    margin-bottom: 2.4rem;
}

.concept_box_text p {
    font-weight: 700;
}

.concept_title {
    height: 2.666rem;
}

.concept_text {
    height: 20.5rem;
}

.concept_bg_thicket {
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    right: 0;
    margin: auto;
}
.concept_box_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.concept_box_bg1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.concept_box_bg1 img {
    width: 33.8rem;
    height: 49.63rem;
    max-width: none;
}

.concept_box_bg2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.concept_box_bg2 img {
    width: 35.67rem;
    height: 48.57rem;
    max-width: none;
}


.c_character1 {
    position: absolute;
    top: -10.3rem;
    left: -3.5rem;
    z-index: 2;
}

.c_character1 img {
    width: 10.47rem;
    height: 7.57rem;
}

.c_character1_hand {
    position: absolute;
    top: -5.8rem;
    left: 0.2rem;
    z-index: 4;
}

.c_character1_hand img {
    width: 5.67rem;
    height: 3.47rem;
}


.concept_cloud {
    position: absolute;
    top: 7rem;
    right: 1rem;
    z-index: 10;
}

.concept_cloud img {
    width: 13.37rem;
    height: 8.6rem;
}


.concept_totop {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 1000;
    pointer-events: auto;
}

.concept_totop a {
    display: block;
    position: relative;
    text-decoration: none;
    animation: swing 6s ease-in-out infinite;
    transform-origin: top center;
}

@keyframes swing {
    0%, 100% {
        transform: rotate(-2deg);
    }
    50% {
        transform: rotate(2deg);
    }
}

.concept_totop a img {
    width: 11.9rem;
    height: 20.27rem;
}


.concept_totop svg.totop_text,
.concept_totop img.totop_text {
    position: absolute;
    top: 4.6rem;
    left: 55%;
    transform: translateX(-50%);
    width: 4.6rem;
    height: auto;
    font-size: 1rem;
    color: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    z-index: 2;
}

.concept_totop.is-text-visible svg.totop_text,
.concept_totop.is-text-visible img.totop_text {
    opacity: 1;
    visibility: visible;
}


.concept.is-animated .concept_totop.is-over-grid {
    transform: translateX(calc(0% + 2rem)) translateY(12rem) rotate(15deg);
    
    transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}


.concept_totop.is-floating-out {
    opacity: 1 !important;
    transform: translateY(120vh) !important;
    transition: none !important;
}


.concept_totop.is-floating-up {
    opacity: 1 !important;
    transform: translateY(120vh) !important;
    transition: none !important;
}


.concept_totop.is-floating-up.is-floated {
    transform: translateY(0) !important;
    transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) !important;
}


.c_character2 {
    position: absolute;
    bottom: 5.4rem;
    left: 1rem;
    z-index: 14;
}

.c_character2 img {
    width: 9.5rem;
    height: 9.1rem;
}


.concept_thicket {
    position: absolute;
    bottom: -1rem;
    left: -1.5rem;
    z-index: 15;
}

.concept_thicket img {
    width: 25.87rem;
    height: 12.53rem;
}


.concept_box_bg1,
.concept_box_bg2,
.concept_box_text,
.c_character1,
.c_character1_hand,
.concept_cloud,
.concept_totop,
.c_character2 {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}


.concept_box_bg2 {
    transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}

.concept.is-animated .concept_box_bg2 {
    transition: opacity 0.6s ease, transform 0.6s ease;
}


.c_character1_hand {
    transition: none;
}

.concept.is-animated .c_character1_hand {
    transition: opacity 0.6s ease, transform 0.6s ease;
}


.concept_box_bg1 {
    --anim-scale: 0.8;
    transform: translate(-50%, -50%) scale(var(--anim-scale));
}

.concept_box_bg2 {
    --anim-scale: 0.9;
    transform: translate(-50%, -50%) scale(var(--anim-scale));
}

.concept_box_text {
    --anim-y: 2rem;
    transform: translateY(var(--anim-y));
}

.c_character1 {
    --anim-x: 100%;
    --anim-y: 200%;
    transform: translate(var(--anim-x), var(--anim-y));
}

.c_character1_hand {
    --anim-y: -1rem;
    --anim-rotate: -15deg;
    transform: translateY(var(--anim-y)) rotate(var(--anim-rotate));
}

.concept_cloud {
    --anim-x: 5rem;
    --anim-y: 0;
    transform: translate(var(--anim-x), var(--anim-y));
}

.concept_totop {
    --anim-x: 2rem;
    --anim-y: 2rem;
    transform: translate(var(--anim-x), var(--anim-y));
}

.c_character2 {
    --anim-x: 0rem;
    --anim-y: 5rem;
    transform: translate(var(--anim-x), var(--anim-y));
}



.concept.is-animated .concept_box_bg1 {
    opacity: 1;
    --anim-scale: 1;
    transition-delay: 0s;
}

.concept.is-animated .concept_box_bg2 {
    opacity: 1;
    --anim-scale: 1;
    transition-delay: 0.1s;
}

.concept.is-animated .concept_box_text {
    opacity: 1;
    --anim-y: 0rem;
    transition-delay: 0.2s;
}

.concept.is-animated .c_character1 {
    opacity: 1;
    --anim-x: 0%;
    --anim-y: 0%;
    transition-delay: 0.7s;
}

.concept.is-animated .c_character1_hand {
    opacity: 1;
    --anim-y: 0rem;
    --anim-rotate: 0deg;
    transition-delay: 0.8s;
}

.concept.is-animated .concept_cloud {
    opacity: 1;
    --anim-x: 0rem;
    --anim-y: 0rem;
    transition-delay: 0.3s;
}

.concept.is-animated .concept_totop {
    opacity: 1;
    --anim-x: 0rem;
    --anim-y: 0rem;
    transition-delay: 0.5s;
}

.concept.is-animated .c_character2 {
    opacity: 1;
    --anim-x: 0rem;
    --anim-y: 0rem;
    transition-delay: 0.5s;
}



.concept ~ section {
    position: relative;
    z-index: 50;
    background-color: #e8e3bb;
    z-index: 0;
}


.characters {
	padding: 6rem 0 8rem;
	background-image: url(../images/top/characters/characters_bg.webp);
	background-size: 5rem;
	background-position: center;
	background-repeat: repeat;
	background-blend-mode: multiply;
	position: relative;
}

.characters_garland {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	
	z-index: 1;
	pointer-events: none;
}

.characters_garland img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top;
}

.characters_garland_l img{
    object-position:left
}

.characters_garland_r img{
    object-position:right
}

.characters_inner {
	max-width: 37.5rem;
	margin: 0 auto;
	padding: 4rem 1.5rem 0;
	position: relative;
	z-index: 2;
}

.characters_title {
	text-align: center;
	margin-bottom: 2rem;
	height: 2.6rem;
}
.characters_title svg,
.characters_title img {
	height: 100%;
	
}

#title_characters path {
	
	
}
.characters_title img {
	height: 100%;
}

.characters_cnt {
	border-radius: 1rem;
	padding: 2rem 0 3rem;
	position: relative;
}

.characters_stage {
	position: relative;
	width: 100%;
	height: 25rem;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.characters_stage_bg_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 26rem;
	height: 26rem;
}

.characters_stage_bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 22rem;
	height: 23rem;
	z-index: 1;
	overflow: hidden;
}

.characters_wall {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.characters_window {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - -1rem);
	height: calc(100% - -0.1rem);
	
	z-index: 3;
	pointer-events: none;
	max-width: none;
}
.characters_carousel_wrap {
    mask-image: url(../images/top/characters/characters_wall.webp);
    mask-size: cover;
    mask-position: center;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}
.characters_carousel {
	position: absolute;
	bottom: 0rem;
	left: 0;
	width: 100%;
	height: calc(100% - 1rem);
	pointer-events: none;
	overflow: hidden;
}

.characters_carousel_item {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 16rem;
	opacity: 0;
	transform: translateX(calc(-50% - 30rem)) scale(0.5);
	transition: all 0.5s ease;
	pointer-events: none;
}

.characters_carousel_item.is-active {
	opacity: 1;
	transform: translateX(-50%) scale(1);
	z-index: 2;
}

.characters_carousel_item.is-prev {
	opacity: 1;
	transform: translateX(calc(-50% - 16.6rem));
	z-index: 1;
}

.characters_carousel_item.is-next {
	opacity: 1;
	transform: translateX(calc(-50% + 16.6rem));
	z-index: 1;
}

.characters_carousel_item.is-hidden-left {
	opacity: 0;
	transform: translateX(calc(-50% - 30rem)) scale(0.5);
	z-index: 0;
}

.characters_carousel_item.is-hidden-right {
	opacity: 0;
	transform: translateX(calc(-50% + 30rem)) scale(0.5);
	z-index: 0;
}

.characters_carousel_imgs {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 15rem;
	height: 23.2rem;
}

.characters_carousel_img {
	position: absolute;
	bottom: 3.3rem;
	left: 50%;
	transform: translateX(-50%);
	max-width:none;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.4s ease;
}


[data-character-id="mr_happy"] .characters_carousel_img1 { width: 14.97rem; height: 11.83rem; }
[data-character-id="mr_happy"] .characters_carousel_img2 { width: 12.9rem; height: 12.3rem; }


[data-character-id="little_miss_sunshine"] .characters_carousel_img1 { width: 14.23rem; height: 12.6rem; }
[data-character-id="little_miss_sunshine"] .characters_carousel_img2 { width: 16.5rem; height: 11.23rem; }


[data-character-id="mr_tickle"] .characters_carousel_img1 { width: 18.53rem; height: 15.87rem; }
[data-character-id="mr_tickle"] .characters_carousel_img2 { width: 14.2rem; height: 24.17rem; }


[data-character-id="little_miss_princess"] .characters_carousel_img1 { width: 12.27rem; height: 15.1rem; }
[data-character-id="little_miss_princess"] .characters_carousel_img2 { width: 14.6rem; height: 15.27rem; }


[data-character-id="little_miss_hug"] .characters_carousel_img1 { width: 14.33rem; height: 11.27rem; }
[data-character-id="little_miss_hug"] .characters_carousel_img2 { width: 13.83rem; height: 11.5rem; }


[data-character-id="mr_bump"] .characters_carousel_img1 { width: 14.07rem; height: 12rem; }
[data-character-id="mr_bump"] .characters_carousel_img2 { width: 12.77rem; height: 10.7rem; }


[data-character-id="little_miss_bad"] .characters_carousel_img1 { width: 13.73rem; height: 12.8rem; }
[data-character-id="little_miss_bad"] .characters_carousel_img2 { width: 13.7rem; height: 13.03rem; }


[data-character-id="mr_strong"] .characters_carousel_img1 { width: 14.83rem; height: 13.3rem; }
[data-character-id="mr_strong"] .characters_carousel_img2 { width: 16.23rem; height: 13.67rem; }


[data-character-id="mr_funny"] .characters_carousel_img1 { width: 12.37rem; height: 14.43rem; }
[data-character-id="mr_funny"] .characters_carousel_img2 { width: 11.6rem; height: 14.87rem; }


[data-character-id="little_miss_chatterbox"] .characters_carousel_img1 { width: 15.7rem; height: 11.4rem; }
[data-character-id="little_miss_chatterbox"] .characters_carousel_img2 { width: 13.07rem; height: 11.47rem; }


[data-character-id="little_miss_sparkle"] .characters_carousel_img1 { width: 14.17rem; height: 12.7rem; }
[data-character-id="little_miss_sparkle"] .characters_carousel_img2 { width: 13.47rem; height: 14.07rem; }


[data-character-id="little_miss_giggles"] .characters_carousel_img1 { width: 14.63rem; height: 12.47rem; }
[data-character-id="little_miss_giggles"] .characters_carousel_img2 { width: 13.77rem; height: 12.23rem; }


[data-character-id="mr_greedy"] .characters_carousel_img1 { width: 11.37rem; height: 14rem; }
[data-character-id="mr_greedy"] .characters_carousel_img2 { width: 11.8rem; height: 13.97rem; }

.characters_carousel_img.is-visible {
	opacity: 1;
}

.characters_pedestal {
	width: 15rem;
	height: auto;
	filter: drop-shadow(2px 0 1px rgba(100, 105, 120, 0.3));
	position: relative;
	z-index: -1;
}

.characters_side_peek {
	position: absolute;
	bottom: 1rem;
	z-index: 1;
	width: 16rem;
	opacity: 0.3;
	display: flex;
	flex-direction: column;
	align-items: center;
	transform-style: preserve-3d;
	backface-visibility: hidden;
}

.characters_side_peek_prev {
	left: -14rem;
}

.characters_side_peek_next {
	right: -14rem;
}

.characters_side_peek.is-sliding-out {
	animation: carouselSideOut 0.5s ease forwards;
}

.characters_side_peek.is-sliding-in {
	animation: carouselSideIn 0.5s ease forwards;
}

@keyframes carouselSideOut {
	0% {
		transform: translateX(0) scale(1);
		opacity: 0.3;
	}
	100% {
		transform: translateX(-100%) scale(0.8);
		opacity: 0;
	}
}

@keyframes carouselSideIn {
	0% {
		transform: translateX(100%) scale(0.8);
		opacity: 0;
	}
	100% {
		transform: translateX(0) scale(1);
		opacity: 0.3;
	}
}

.characters_side_peek_img {
	width: 100%;
	height: auto;
}

.characters_info {
	text-align: center;
	margin-bottom: 2.5rem;
}

.characters_name_ja {
	font-size: 1.4rem;
	color: #333;
	margin-bottom: 0.5rem;
	font-weight: 500;
}

.characters_name_en {
	font-size: 2.4rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 1.2rem;
	font-family: "Jost", sans-serif;
	line-height: 1.2;
}

.characters_desc {
	font-size: 1.3rem;
	line-height: 2;
	color: #333;
	font-weight: 500;
}

.characters_grid {
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	gap: 2rem 0.5rem;
	margin-bottom: 2rem;
}

.characters_thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	position: relative;
	gap: 0.5rem;
	grid-column: span 2;
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}

.characters_thumb:nth-child(1) {
	grid-column: 2 / 4;
}

.characters_thumb:nth-child(5) {
	grid-column: 2 / 4;
}

.characters_thumb:nth-child(9) {
	grid-column: 1 / 3;
}

.characters_thumb_wrapper {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	clip-path: inset(-100% -100% 0 -100%);
	z-index: 1;
}

.characters_thumb_en_wrapper {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) translateY(100%);
	opacity: 0;
	z-index: 2;
	width: 102%;
	height: 130%;
	filter: drop-shadow(2px 0 1px rgba(100, 105, 120, 0.3));
}

.characters_thumb.is-active .characters_thumb_en_wrapper {
	animation: shutterSlideUp 0.3s ease forwards;
}

@keyframes shutterSlideUp {
	0% {
		opacity: 1;
		transform: translateX(-50%) translateY(100%);
	}
	
	100% {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

.characters_thumb span.characters_thumb_en {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	pointer-events: none;
	background: #db5e72;
	border-radius: 2rem 2rem 0 0;
	text-align: center;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	word-break: keep-all;
	padding: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
}
.characters_thumb span.characters_thumb_en::before,
    .characters_thumb span.characters_thumb_en::after{
        content:"";
        display:block;
        background: #db5e72;
        width: 100%;
        position: absolute;
        z-index: -1;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .characters_thumb span.characters_thumb_en::before{
        height: 60%;
        border-radius: 50% 50% 0 0;
        bottom: 40%;
    }

    .characters_thumb span.characters_thumb_en::after{
        height: 50%;
    }

.characters_thumb_img_container {
	position: relative;
	z-index: 1;
	filter: drop-shadow(2px 0 1px rgba(100, 105, 120, 0.3));
}

.characters_thumb_img_wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fcfbe4;
	border-radius: 50% 50% 0 0;
	padding: 0.7rem 0.5rem;
	width: 5.5rem;
	height: 5.5rem;
	z-index: 1;
}
[data-character="little_miss_bad"] .characters_thumb_img_wrapper{
	padding: 0.85rem 0.5rem;
}

.characters_thumb_img_wrapper::before {
	content: '';
	position: absolute;
	top: 10%;
	left: 10%;
	right: 10%;
	bottom: 10%;
	background: radial-gradient(ellipse at 30% 30%, rgba(255, 255, 255, 0.15) 0%, transparent 50%);
	border-radius: 50%;
	pointer-events: none;
}
.characters_thumb picture{
    display: block;
    width: 100%;
    height: 100%;
}
.characters_thumb img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	position: relative;
	z-index: 1;
}

.characters_thumb.is-active .characters_thumb_img_wrapper {
	
}

.characters_thumb > span {
	font-size: 0.8rem;
	color: #333;
	text-align: center;
	line-height: 1.3;
	font-weight: 500;
	word-break: keep-all;
}

.characters_more {
	display: block;
	width: 100%;
	max-width: 25rem;
	margin: 0 auto;
	padding: 0.5rem 3rem;
	background-color: #251713;
	color: #fff;
	text-align: center;
	border-radius: 2.2rem;
	font-size: 2.5rem;
	
	text-decoration: none;
	letter-spacing: 0.2em;
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
	border: 0.125rem solid #fff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.characters_more:hover {
	transform: translateY(-0.2rem);
	box-shadow: 0 0.6rem 1.2rem rgba(0, 0, 0, 0.25);
	text-decoration: none;
}
.characters_stage_bg_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 22.8rem;
	height: 25.5rem;
}

.characters_thumb_container {
    position: relative;
}

.characters_thumb_container::before,.characters_thumb_container::after {
    content: "";
    display: block;
    width: 102%;
    height: 0.3rem;
    background: #000;
    position: absolute;
    bottom: -0.1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.characters_thumb_container::after{
	z-index: 0;
	bottom: -0.1rem;
	width: 114%;
	height: 0.6rem;
}

.collection {
	padding: 0 0 3rem;
	background-color: #e8e3bb;
	position: relative;
	background-image: url(../images/top/characters/characters_bg.webp);
	background-size: 5rem;
	background-position: center;
	background-repeat: repeat;
	background-blend-mode: multiply;
}

.collection_title {
	text-align: center;
	margin-bottom: 0;
	height: 2.6rem;
}

.collection_title svg,
.collection_title img {
	height: 100%;
}

.collection_slider {
	max-width: 37.5rem;
	margin: 0 auto 10rem;
	padding: 10rem 0 4rem;
}

.collection_slider .swiper-slide {
	width: 25.9rem;
	padding: 0 1rem;
	box-sizing: content-box;
}

.collection_slider .swiper-slide a {
	display: block;
	position: relative;
	text-decoration: none;
	pointer-events: none;
}

.collection_slider .collection_char {
	position: absolute;
	
	
	
	z-index: 0;
}

.collection_slider .collection_char img {
	width: 100%;
	height: auto;
}

.collection_slider .collection_char--chatterbox {
	width: 10.7rem;
	height: 7.3rem;
	top: -5.6rem;
	left: 2.5rem;
}

.collection_slider .collection_char--funny {
	width: calc(7.27rem * 1.5);
	height: calc(6.93rem * 1.5);
	top: -9rem;
	right: 0.5rem;
}

.collection_slider .collection_char--strong {
	width: 7.73rem;
	height: 7.23rem;
	top: -6rem;
	right: 0.8rem;
}

.collection_slider .collection_char_hand {
	position: absolute;
	
	
	
	z-index: 2;
}

.collection_slider .collection_char_hand img {
	width: 100%;
	height: auto;
}

.collection_slider .collection_char_hand--chatterbox {
	width: 5.53rem;
	height: 1.1rem;
	top: -0.2rem;
	left: 4.7rem;
}

.collection_slider .collection_char_hand--funny {
	width: calc(1.73rem * 1.5);
	height: calc(1.47rem  * 1.5);
	top: -1.1rem;
	right: 2.9rem;
}

.collection_slider .collection_char_hand--strong {
	width: 8.7rem;
	height: 3.2rem;
	top: -1rem;
	right: 0.7rem;
}

.collection_slider .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
	position: relative;
	z-index: 1;
}

.collection_slider .collection_photo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 94%;
	z-index: 0;
	overflow: hidden;
}

.collection_slider .collection_photo img {
	transition: transform 0.3s ease;
}

.collection_slider .swiper-slide a:hover .collection_photo img {
	transform: scale(1.1);
}

.collection_slider .swiper-pagination {
	bottom: 0;
}

.collection_slider .swiper-pagination-bullet {
	width: 1.2rem;
	height: 1.2rem;
	background-color: #cbc625;
	opacity: 1;
	margin: 0 0.4rem;
}

.collection_slider .swiper-pagination-bullet-active {
	background-color: #e50012;
}


.collection_more_wrap {
	text-align: center;
	position: relative;
	max-width: 32rem;
	margin: 0 auto;
	transition: transform 0.3s ease;
}

.collection_more_wrap:hover {
	transform: translateY(-0.2rem);
}

.collection_more_btn {
    display: block;
    width: 100%;
    max-width: 25rem;
    margin: 0 auto;
    padding: 0.5rem 3rem;
    background-color: #251713;
    color: #fff;
    text-align: center;
    border-radius: 2.2rem;
    font-size: 2.5rem;
    
    text-decoration: none;
    letter-spacing: 0.2em;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
    border: 0.125rem solid #fff;
    transition: box-shadow 0.3s ease;
}

.collection_more_wrap:hover .collection_more_btn {
    box-shadow: 0 0.6rem 1.2rem rgba(0, 0, 0, 0.25);
    text-decoration: none;
}

.collection_slide {
    position: relative;
}
.collection_slider_wrap{
    position: relative;
}
.slide_arrow_prev,.slide_arrow_next {
    width: 0.9rem;
    height: 1.7rem;
    position: absolute;
    top: calc(50% - -2.4rem);
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition: transform 0.3s ease;
    z-index: 1;
}

.slide_arrow_prev:hover,.slide_arrow_next:hover {
    transform: translate(-50%, -50%) scale(1.2);
}


.collection_slider {
    pointer-events: none;
}

.collection_slider .swiper-wrapper,
.collection_slider .swiper-slide a,
.collection_slider .swiper-pagination {
    pointer-events: auto;
}

.collection_slider .swiper-slide a.comingsoon {
    pointer-events: none;
}

.slide_arrow_prev svg,
.slide_arrow_prev img,
.slide_arrow_next svg,
.slide_arrow_next img {
    width: 100%;
    height: 100%;
}

.slide_arrow_prev {
    left: 12.5%;
}

.slide_arrow_next {
    left: 87.5%;
}
.collection_deco_char {
    position: absolute;
    top: -8.4rem;
    left: 50%;
    transform: translateX(-50%);
    width: 9.53rem;
    height: 8.93rem;
    z-index: 1;
}

.collection_deco_paint {
    position: absolute;
    top: -4rem;
    left: 5rem;
    width: 6.1rem;
    height: 5rem;
}
.collection_frame {
    filter: drop-shadow(0 0.25rem 0.5rem rgba(0, 0, 0, 0.3));
    position: relative;
    z-index: 1;
}

.collection_frame::before {
    content: "";
    display: block;
    width: 95%;
    height: 0.5rem;
    background: linear-gradient(to bottom, black, transparent);
    opacity: 0.4;
    position: absolute;
    top: 1rem;
    left: 0;
    right: 0;
    margin: auto;
}

.collection_frame::after {content: "";display: block;height: 95%;width: 0.5rem;background: linear-gradient(to right, black, transparent);opacity: 0.4;position: absolute;top: 0;left: 1rem;bottom: 0;margin: auto;}

/* cheerful バナー: 上・左の内側シャドウを無効化 */
.collection_frame.frame_cheerful::before,
.collection_frame.frame_cheerful::after { display: none; }


.sns {
    padding: 0rem 0 7rem;
    position: relative;
    overflow: hidden;
    background-image: url(../images/top/characters/characters_bg.webp);
    background-size: 5rem;
    background-position: center;
    background-repeat: repeat;
    background-blend-mode: multiply;
}

.sns_inner {
    max-width: 37.5rem;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
}

.sns_title {
    text-align: center;
    height: 2.6rem;
}

.sns_title svg,
.sns_title img {
    height: 100%;
}


.sns_deco_tickle {
    position: relative;
    width: 30.4rem;
    height: auto;
    z-index: 2;
    pointer-events: none;
    margin-top: -0.5rem;
    margin-bottom: -1rem;
    left: 1rem;
}

.sns_deco_tickle .flipbook_frame2{
	top:auto;
	bottom:0;
}
.sns_deco_tickle img {
    width: 100%;
    height: auto;
    display: block;
}

.sns_deco_hug {
    position: relative;
    width: 9.9rem;
    height: auto;
    z-index: 2;
    pointer-events: none;
    margin-left: auto;
    margin-top: -3rem;
    right: -1rem;
}

.sns_deco_hug img {
    width: 100%;
    height: auto;
    display: block;
}

.sns_deco_salad {
    position: absolute;
    top: -3.8rem;
    left: 5rem;
    width: 4.57rem;
    height: auto;
    z-index: 2;
    pointer-events: none;
}

.sns_deco_salad img {
    width: 100%;
    height: auto;
    display: block;
}


.sns_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    position: relative;
    z-index: 1;
}

.sns_grid_item {
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
    height: 13.3rem;
    width: 10.8rem;
    position: relative;
}

.sns_grid_item a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.sns_grid_item a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 120%;
    background: repeating-linear-gradient(
        0deg,
        #eb4623 0,
        #eb4623 1rem,
        #db5e72 1rem,
        #db5e72 1.8rem
    );
    z-index: 3;
    pointer-events: none;
    border-radius: 1rem;
}

.sns_grid_item.shutter-open a::before {
    animation: shutterOpen 0.8s ease-out forwards;
}

@keyframes shutterOpen {
    0% {
        top: 0;
    }
    10% {
        top: 2%;
    }
    20% {
        top: -1%;
    }
    30% {
        top: 3%;
    }
    40% {
        top: 0;
    }
    100% {
        top: -250%;
    }
}

.sns_grid_item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: inset 0 0.25rem 0.5rem rgba(0, 0, 0, 0.4);
    pointer-events: none;
}

.sns_grid_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.sns_grid_item a:hover img {
    transform: scale(1.1);
}


.sns_more {
    text-align: center;
    position: relative;
    z-index: 1;
    margin-top: 2rem;
    transition: transform 0.3s ease;
}

.sns_more:hover {
    transform: translateY(-0.2rem);
}

.sns_more_btn {
    display: block;
    width: 100%;
    max-width: 25rem;
    margin: 0 auto;
    padding: 0.5rem 3rem;
    background-color: #251713;
    color: #fff;
    text-align: center;
    border-radius: 2.2rem;
    font-size: 2.5rem;
    text-decoration: none;
    letter-spacing: 0.2em;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
    border: 0.125rem solid #fff;
    transition: box-shadow 0.3s ease;
}

.sns_more:hover .sns_more_btn {
    box-shadow: 0 0.6rem 1.2rem rgba(0, 0, 0, 0.25);
    text-decoration: none;
}

.item_shadow {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.item_shadow::before {
    content: "";
    display: block;
    width: 100%;
    height: 0.5rem;
    background: linear-gradient(to bottom, black, transparent);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.item_shadow::after {
    content: "";
    display: block;
    height: 100%;
    width: 0.5rem;
    background: linear-gradient(to right, black, transparent);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}


section.news {
    padding: 8rem 0 0rem;
    position: relative;
    overflow: hidden;
    background-color: #c1e0e8;
    background-image: url(../images/top/characters/characters_bg.webp);
    background-size: 5rem;
    background-position: center;
    background-repeat: repeat;
    background-blend-mode: multiply;
    z-index: 1;
    overflow: visible;
}


.news_deco {
    position: absolute;
    z-index: 1;
}

.news_deco img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.news_deco_little_miss_sunshine_wrap {
    position: absolute;
    top: 0.7rem;
    left: 2rem;
}
.news_deco_little_miss_sunshine {
    width: 8.8rem;
    height: 5.33rem;
    z-index: 0;
    top: -4rem;
    left: 1rem;
}

.news_deco_little_miss_sunshine_hand {
    width: 4.3rem;
    height: 1.33rem;
    z-index: 2;
    top: -0.3rem;
    left: 3rem;
}

.news_deco_cloud {
    width: 12.2rem;
    height: 6.97rem;
    position: relative;
    z-index: 1;
}

.news_deco_newspaper {
    width: 9.53rem;
    height: 9.97rem;
    top: 12rem;
    left: 1rem;
}

.news_deco_rainbow {
    width: 16.7rem;
    height: 27.77rem;
    top: 35rem;
    left: 0;
}

.news_deco_mr_happy {
    width: 6.97rem;
    height: 7.87rem;
    bottom: 5rem;
    right: 3%;
}

.news_deco_bird {
    width: 6.1rem;
    height: 5.97rem;
    top: 50rem;
    left: 9rem;
}

.news_inner {
    max-width: 37.5rem;
    margin: 0 auto;
    padding: 0 2rem 2rem;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.news_title {
    text-align: center;
    margin-bottom: -1rem;
    height: 2.6rem;
    position: relative;
    z-index: 1;
}
.news_title svg,
.news_title img {
    height: 100%;
}
.news_slider_container {
    position: relative;
    width: 100%;
    height: 50rem;
}


.news_pagination {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    z-index: 10;
}

.news_pagination_dot {
    width: 1rem;
    height: 1rem;
    background: #fff;
    opacity: 0.5;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.news_pagination_dot.is-active {
    opacity: 1;
    background: #008bb4;
}


.news_slider {
    width: 100%;
    height: 100%;
    position: relative;
    perspective: 1000px;
}


.news_slider_bg_circle {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-50%, -50%);
    z-index: 0;
    pointer-events: none;
    filter: drop-shadow(0 0.4rem 0.2rem rgba(0, 0, 0, 0.6));
}

.news_slider_bg_circle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slider_bg_circle1 {
    width: 50.2rem;
    height: 50.37rem;
    
}

.news_slider_bg_circle2 {
    width: 33.67rem;
    height: 33.3rem;
    
}

.news_slider_bg_mr_happy {
    position: absolute;
    width: 6.97rem;
    height: 7.87rem;
    top: 50%;
    left: 100%;
    transform: translate(-50%, -50%);
    z-index: 0;
    pointer-events: none;
}

.news_slider_bg_mr_happy picture {
    display: block;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slider_bg_mr_happy img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.news_slider_bg_mr_happy .multiply-shadow-clone {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    filter: blur(0.226rem) brightness(0) sepia(1) hue-rotate(15deg) saturate(0.3);
    opacity: 0.3;
    z-index: 0;
    transform-origin: center center;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slide {
    position: absolute;
    width: 23rem;
    height: 23rem;
    top: 50%;
    left: 50%;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    z-index: 1;
}


.news_card {
    width: 100%;
    height: 100%;
    background: #f5f0e6;
    border-radius: 50%;
    box-shadow: 0 0.8rem 0.5rem rgba(0, 0, 0, 0.4);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 3.5rem 2rem;
    transition: justify-content 0.6s cubic-bezier(0.4, 0, 0.2, 1), padding 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    color: #333;
}

.news_card_img {
    width: 14.3rem;
    height: 14.3rem;
    overflow: visible;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), margin 0.6s cubic-bezier(0.4, 0, 0.2, 1), width 0.6s cubic-bezier(0.4, 0, 0.2, 1), height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_card_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.news_card_content {
    text-align: center;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease 0.2s, margin-top 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 0;
    width: 100%;
}

.news_card_title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 0.5rem;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 5.07rem;
    word-break: keep-all;
}

.news_card_date {
    font-size: 1.2rem;
}

section.news::before {
    content: "";
    display: block;
    width: 100%;
    height: 1.5rem;
    background: linear-gradient(to bottom, black, transparent);
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}


.news_slide_arrow_prev,
.news_slide_arrow_next {
    position: absolute;
    transform: translate(-50%,-50%);
    z-index: 20;
    cursor: pointer;
    width: 1.1rem;
    height: 1.1rem;
    z-index: 0;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slide_arrow_prev {
    left: 22rem;
    top: 7rem;
}

.news_slide_arrow_next {
    left: 21rem;
    top: 41rem;
}

.news_slide_arrow_prev svg,
.news_slide_arrow_next svg {
    width: 100%;
    height: 100%;
}

.news_slide_arrow_prev svg polyline,
.news_slide_arrow_next svg polyline{
    stroke-width: .2rem!important;
}


.news_slide_arrow_prev.rotated,
.news_slide_arrow_next.rotated {
    transform: translate(-50%, -50%) rotate(180deg);
}


.news_slide_arrow_prev.bounce-up {
    animation: bouncePrevUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slide_arrow_next.bounce-up {
    animation: bounceNextUp 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}


.news_slide_arrow_prev.bounce-down {
    animation: bouncePrevDown 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.news_slide_arrow_next.bounce-down {
    animation: bounceNextDown 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}


@keyframes bouncePrevUp {
    0% { transform: translate(-50%, -50%) translate(0, 0) rotate(0deg); }
    30% { transform: translate(-50%, -50%) translate(-0.6rem, 0.6rem) rotate(0deg); }
    100% { transform: translate(-50%, -50%) translate(0, 0) rotate(0deg); }
}


@keyframes bounceNextUp {
    0% { transform: translate(-50%, -50%) translate(0, 0) rotate(0deg); }
    30% { transform: translate(-50%, -50%) translate(0.6rem, 0.6rem) rotate(0deg); }
    100% { transform: translate(-50%, -50%) translate(0, 0) rotate(0deg); }
}


@keyframes bouncePrevDown {
    0% { transform: translate(-50%, -50%) translate(0, 0) rotate(180deg); }
    30% { transform: translate(-50%, -50%) translate(0.6rem, -0.6rem) rotate(180deg); }
    100% { transform: translate(-50%, -50%) translate(0, 0) rotate(180deg); }
}


@keyframes bounceNextDown {
    0% { transform: translate(-50%, -50%) translate(0, 0) rotate(180deg); }
    30% { transform: translate(-50%, -50%) translate(-0.6rem, -0.6rem) rotate(180deg); }
    100% { transform: translate(-50%, -50%) translate(0, 0) rotate(180deg); }
}


.news_slide.is-active .news_card {
    padding-top: 2.5rem;
}

.news_slide.is-active .news_card_img {
    width: 13rem;
    height: 13rem;
    transform: translateY(-4.5rem);
    margin-bottom: -2rem;
    flex-shrink: 0;
}

.news_slide.is-active .news_card_content {
    max-height: 8rem;
    opacity: 1;
    margin-top: -1rem;
    flex-shrink: 0;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease 0.3s, margin-top 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}


.news_bg_container {
    width: 100%;
    position: relative;
    bottom: -0.1rem;
    left: 0;
    right: 0;
    z-index: 0;
}

.news_lawn {
    width: 100%;
    display: block;
}
.news_bushes {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 2.5rem;
    width: 18.2rem;
    height: 10.4rem;
}
.news_road .multiply-shadow-clone {
    filter: blur(0.1rem) brightness(0) sepia(0) hue-rotate(15deg) saturate(1) drop-shadow(0 0 0.5rem black);
}
.news_road {
    width: 100%;
    display: block;
    position: absolute;
    bottom: -8.5rem;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}

.news_bnrs {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    padding: 0;
    margin-bottom: 0;
    margin-top: 3rem;
}

.news_bnr {
    display: block;
    text-decoration: none;
    transition: transform 0.3s ease, filter 0.3s ease;
    width: 100%;
    position: relative;
}

.news_bnr:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

.news_bnr_img {
    width: 100%;
    height: auto;
    display: block;
}

.news_bnr picture {
    display: block;
    width: 100%;
}

.news_bnr .multiply-shadow-clone {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

.news_bg_parts {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 2;
}

.news_bg_img {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 3rem;
}

.news_car_wrapper {
    position: absolute;
    top: 5rem;
    left: 1rem;
}

.news_car {
    width: 34rem;
    height: 28.67rem;
    object-fit: contain;
}

.news_bus_stop_wrapper {
    position: absolute;
    bottom: -1rem;
    right: 1.3rem;
}

.news_bus_stop {
    width: 6.6rem;
    height: 18.73rem;
    object-fit: contain;
}

.news_little_miss_chatterbox_wrapper {
    position: absolute;
    bottom: -1rem;
    right: 7rem;
}

.news_little_miss_chatterbox {
    width: 9.27rem;
    height: 7.83rem;
    object-fit: contain;
}


.flipbook_frame1,
.news_little_miss_chatterbox_frame1 {
    position: relative;
}

.flipbook_frame2,
.news_little_miss_chatterbox_frame2 {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.news_walter_wrapper {
    position: absolute;
    bottom: 6rem;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
}

.news_walter {
    width: 3.63rem;
    height: 4.53rem;
    object-fit: contain;
}

@media screen and (min-width:769px) {
	
	.mv_bg {
		top: 0;
	}

	.mv_bg_base img {
		object-fit: none;
		object-position: center;
		width: 144rem;
		height: auto;
		min-height: 100%;
		display: block;
		margin: 0 auto;
	}

	
	.mv_bg_cloud--1 .mv_bg_cloud_inner--a {
		width: 27.55rem;
		height: 15.75rem;
		margin-top:calc(-2.875rem + 0rem);
		margin-left: -12.4rem;
	}
	.mv_bg_cloud--1 .mv_bg_cloud_inner--b {
		width: 28.7rem;
		height: 13.15rem;
		margin-top:calc(-2.875rem + 2rem);
		margin-left: -12.4rem;
	}
	.mv_bg_cloud--1 .mv_bg_cloud_inner--c {
		width: 27.55rem;
		height: 15.75rem;
		margin-top:calc(-2.875rem - 2rem);
		margin-left: -12.4rem;
	}

	
	.mv_bg_cloud--2 .mv_bg_cloud_inner--a {
		width: 28.7rem;
		height: 13.15rem;
		margin-top:calc(-0.575rem + 0rem);
        margin-left: -5rem;
	}
	.mv_bg_cloud--2 .mv_bg_cloud_inner--b {
		width: 27.55rem;
		height: 15.75rem;
		margin-top:calc(-0.575rem + 2rem);
        margin-left: -5rem;
	}
	.mv_bg_cloud--2 .mv_bg_cloud_inner--c {
		width: 28.7rem;
		height: 13.15rem;
		margin-top:calc(-0.575rem - 2rem);
           margin-left: -5rem;
	}

	.mv_bg_frame img {
		object-fit: contain;
		object-position: center bottom;
		mask-image: linear-gradient(#000, #000), url(../images/top/mv/mv_bg_frame_mask_pc.webp);
		mask-size: cover, 115.3rem 63.2rem;
		mask-position: center, center;
		mask-composite: exclude;
		-webkit-mask-image: linear-gradient(#000, #000), url(../images/top/mv/mv_bg_frame_mask_pc.webp);
		-webkit-mask-size: cover, 115.3rem 63.2rem;
		-webkit-mask-position: center, center;
		-webkit-mask-composite: source-out;
	}

	
	.mv_frame_img {
		mask-image: linear-gradient(#000, #000), url(../images/top/mv/frame_mask_pc.webp);
		mask-size: cover, 144rem 80.8rem;
		-webkit-mask-image: linear-gradient(#000, #000), url(../images/top/mv/frame_mask_pc.webp);
		-webkit-mask-size: cover, 123rem 69.1rem;
		-webkit-mask-position: center, center;
	}

	
	.mv_cnt {
		
	}

	
	.mv_title {
		width: 30.4rem;
		margin-top: -1rem;
		margin-left: -0.5rem;
	}

	
	.mv_hot_air_balloon {
		display: block;
		position: absolute;
		width: 13rem;
		z-index: 25;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-top: 0rem;
		margin-left: -33rem;
	}

	.mv_hot_air_balloon img {
		width: 100%;
		height: auto;
		max-width: none;
	}

	
	.mv_m_note {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-top: 6rem;
		margin-left: 32rem;
		width: 3.05rem;
		z-index: 15;
	}

	.mv_m_note img {
		width: 100%;
		height: auto;
		max-width: none;
	}

	
	.mv_balloon {
		width: 5.05rem;
		margin-top: -12rem;
		margin-left: 30.5rem;
	}

	
	.mv_bump {
		width: 16.05rem;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin-top: 36vh;
		margin-left: -58rem;
	}

	
	.mv_char--happy {
		margin-top: -28.5rem;
		margin-left: -7rem;
		width: 19.05rem;
	}

	.mv_char--giggles {
		margin-top: -26.7rem;
		margin-left: 26.5rem;
		width: 18.1rem;
	}

	.mv_char--tickle {
		margin-top: -22.2rem;
		margin-left: 45.2rem;
		width: 23.25rem;
	}

	.mv_char--sparkle {
		margin-top: -13.8rem;
		margin-left: 53.7rem;
		width: 17.85rem;
	}

	.mv_char--curious {
		margin-top: -2.8rem;
		margin-left: 55.7rem;
		width: 11.85rem;
	}

	
	.mv_char--chatterbox {
		margin-top: 11rem;
		margin-left: 57rem;
		width: 20.4rem;
	}

	.mv_char--naughty {
		margin-top: 20.5rem;
		margin-left: 54.9rem;
		width: 11.05rem;
	}

	.mv_char--sunshine {
		margin-top: 26rem;
		margin-left: 16.5rem;
		width: 18.75rem;
	}

	
	.mv_char--tall--small {
		margin-top: 20.6rem;
		margin-left: 36rem;
		width: 16.85rem;
		z-index: 0;
	}

	.mv_char--hug {
		margin-top: 26.7rem;
		margin-left: -1rem;
		width: 18.5rem;
	}

	.mv_char--greedy {
		margin-top: 27rem;
		margin-left: -35.1rem;
		width: 15.25rem;
	}

	
	.mv_char--busy {
		margin-top: 28rem;
		margin-left: 31.4rem;
		width: 13.65rem;
	}

	.mv_char--bad {
		margin-top: 29rem;
		margin-left: -19rem;
		width: 16.5rem;
	}

	.mv_char--strong {
		margin-top: 20.3rem;
		margin-left: -46.9rem;
		width: 15.45rem;
	}

	.mv_char--princess {
		margin-top: -27rem;
		margin-left: 11.1rem;
		width: 15.65rem;
	}

	.mv_char--naughty_hand {
		margin-top: 18.3rem;
		margin-left: 58.7rem;
		width: 1.75rem;
	}

	.mv_char--cool {
		margin-top: 8rem;
		margin-left: -56rem;
		width: 12.4rem;
	}

	
	.mv_char--brave {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: -16.5rem;
        margin-left: -49.8rem;
        width: 15.15rem;
 }

	.mv_char--dotty {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: 24.9rem;
        margin-left: 44.2rem;
        width: 12.35rem;
 }

	.mv_char--splendid {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: -28.9rem;
        margin-left: -23.7rem;
        width: 13.95rem;
 }

	.mv_char--calm {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: -24.9rem;
        margin-left: -37.4rem;
        width: 16.5rem;
 }

	.mv_char--chatterbox_pc {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: -6rem;
        margin-left: -54rem;
        width: 15.7rem;
 }

	
	.c_character1_hand img {
		width: 5.9rem;
		height: auto;
	}

	.c_character1 img {
		width: 12.55rem;
		height: auto;
	}

	.c_character2 img {
		width: auto;
		height: 11.65rem;
	}

	.concept_balloon2_pc img {
		width: 5.85rem;
		height: auto;
	}

	.concept_totop a img {
		width: 17.75rem;
		height: auto;
	}

	.concept_box_bg1 img {
		width: 85.05rem;
		height: auto;
	}

	.concept_box_bg2 img {
		width: 79.65rem;
		height: auto;
	}

	.concept_cloud2_pc img {
		width: 23.55rem;
		height: auto;
	}

	.concept_cloud img {
		width: 24.15rem;
		height: auto;
	}

	.concept_hot_air_balloon_pc img {
		width: 18.6rem;
		height: auto;
	}

	.concept_thicket img {
		width: 47.2rem;
		height: auto;
	}

	

	
	.concept_hot_air_balloon_pc {
		position: absolute;
		top: 50%;
		left: 50%;
		--base-x: -50%;
		--base-y: -50%;
		--offset-x: -57rem;
		--offset-y: -5rem;
		--anim-x: -2rem;
		--anim-y: -2rem;
		opacity: 0;
		transform: translate(
			calc(var(--base-x) + var(--offset-x) + var(--anim-x)),
			calc(var(--base-y) + var(--offset-y) + var(--anim-y))
		);
		transition: opacity 0.6s ease, transform 0.6s ease;
		z-index: 5;
	}

	.concept_balloon2_pc {
		position: absolute;
		top: 50%;
		left: 50%;
		--base-x: -50%;
		--base-y: -50%;
		--offset-x: 55rem;
		--offset-y: -30rem;
		--anim-x: 2rem;
		--anim-y: -2rem;
		opacity: 0;
		transform: translate(
			calc(var(--base-x) + var(--offset-x) + var(--anim-x)),
			calc(var(--base-y) + var(--offset-y) + var(--anim-y))
		);
		transition: opacity 0.6s ease, transform 0.6s ease;
		z-index: 5;
	}

	.concept_cloud2_pc {
		position: absolute;
		top: 50%;
		left: 50%;
		--base-x: -50%;
		--base-y: -50%;
		--offset-x: -52rem;
		--offset-y: -30rem;
		--anim-x: -2rem;
		--anim-y: -2rem;
		opacity: 0;
		transform: translate(
			calc(var(--base-x) + var(--offset-x) + var(--anim-x)),
			calc(var(--base-y) + var(--offset-y) + var(--anim-y))
		);
		transition: opacity 0.6s ease, transform 0.6s ease;
		z-index: 4;
	}

	
	.concept.is-animated .concept_hot_air_balloon_pc,
	.concept.is-animated .concept_balloon2_pc,
	.concept.is-animated .concept_cloud2_pc {
		opacity: 1;
		--anim-x: 0rem;
		--anim-y: 0rem;
		transition-delay: 0.4s;
	}

	.c_character2 {
		left: 20rem;
		bottom: 11rem;
	}

	
	.concept_box {
		max-width: 90rem;
		margin: 0 auto;
	}

	.concept_box_text {
		padding: 4rem 6rem;
		max-width: 65rem;
		margin: 0 auto;
	}

	.concept_box_text h2 {
		height: 3.7rem;
		margin-bottom: 3.2rem;
		text-align: center;
	}

	.concept_text {
		height: 29.05rem;
	}

	
	.concept_cloud {
		position: absolute;
		right: auto;
		top: 50%;
		left: 50%;
		--base-x: -50%;
		--base-y: -50%;
		--offset-x: 39rem;
		--offset-y: -14rem;
		--anim-x: -2rem;
		--anim-y: -2rem;
		transform: translate(
			calc(var(--base-x) + var(--offset-x) + var(--anim-x, 0)),
			calc(var(--base-y) + var(--offset-y) + var(--anim-y, 0))
		);
	}
    .concept_inner {
    max-width: none;
}

.concept_thicket {
    left: 0;
    bottom: 0;
}
.c_character1_hand {
    top: 1.1rem;
    left: -9.2rem;
}

.c_character1 {
    top: -4.5rem;
    left: -15.4rem;
}
.concept_totop svg.totop_text,
.concept_totop img.totop_text {
    top: 7.8rem;
    width: 6.5rem;
    left: 59%;
}



.characters {
    padding: 8rem 0 8rem;
}
.characters_garland{
    height: 14.95rem;
}

.characters_garland_l {
    left: 0;
}

.characters_garland_r {
    right: 0;
    left: auto;
}

.characters_inner {
    max-width: 110rem;
    margin: 0 auto;
    padding: 0 4rem;
}

.characters_title {
    height: 4.5rem;
    margin-bottom: 0;
}

.characters_cnt {
    padding: 0;
    
    padding-top: 6rem;
}

.characters_stage {
    flex-shrink: 0;
    width: 31.6rem;
    height: 34.4rem;
    margin-bottom: 0;
}

.characters_stage_bg_inner {
    width: 100%;
    height: 100%;
    mask-image: url('../images/top/characters/characters_wall.webp');
    mask-size: cover;
    mask-position: center;
    overflow: visible;
}

.characters_stage_bg {
    width: 100%;
    height: 100%;
}

.characters_window {
    width: calc(100% + 0.7rem);
    height: calc(100% + 0.5rem);
}

.characters_carousel_imgs {
    width: 20rem;
}

.characters_carousel_img {
    bottom: 4.5rem;
}

.characters_pedestal {
    width: 20rem;
}


[data-character-id="mr_happy"] .characters_carousel_img1 { width: 22.35rem; height: 17.6rem; }
[data-character-id="mr_happy"] .characters_carousel_img2 { width: 19.2rem; height: 18.3rem; }

[data-character-id="little_miss_sunshine"] .characters_carousel_img1 { width: 21.2rem; height: 18.75rem; }
[data-character-id="little_miss_sunshine"] .characters_carousel_img2 { width: 24.6rem; height: 16.65rem; }

[data-character-id="mr_tickle"] .characters_carousel_img1 { width: calc(27.6rem * 0.9); height: calc(23.6rem * 0.9); }
[data-character-id="mr_tickle"] .characters_carousel_img2 { width: calc(21.1rem * 0.9); height: calc(36.05rem * 0.9); }

[data-character-id="little_miss_princess"] .characters_carousel_img1 { width: 18.25rem; height: 22.55rem; }
[data-character-id="little_miss_princess"] .characters_carousel_img2 { width: 21.75rem; height: 22.7rem; }

[data-character-id="little_miss_hug"] .characters_carousel_img1 { width: 21.35rem; height: 16.75rem; }
[data-character-id="little_miss_hug"] .characters_carousel_img2 { width: 20.6rem; height: 17.1rem; }

[data-character-id="mr_bump"] .characters_carousel_img1 { width: 20.95rem; height: 17.9rem; }
[data-character-id="mr_bump"] .characters_carousel_img2 { width: 19.05rem; height: 15.85rem; }

[data-character-id="little_miss_bad"] .characters_carousel_img1 { width: 20.45rem; height: 19.1rem; }
[data-character-id="little_miss_bad"] .characters_carousel_img2 { width: 20.35rem; height: 19.35rem; }

[data-character-id="mr_strong"] .characters_carousel_img1 { width: 22.05rem; height: 19.8rem; }
[data-character-id="mr_strong"] .characters_carousel_img2 { width: 24.15rem; height: 20.35rem; }

[data-character-id="mr_funny"] .characters_carousel_img1 { width: 18.35rem; height: 21.5rem; }
[data-character-id="mr_funny"] .characters_carousel_img2 { width: 17.25rem; height: 22.1rem; }

[data-character-id="little_miss_chatterbox"] .characters_carousel_img1 { width: 23.35rem; height: 17rem; }
[data-character-id="little_miss_chatterbox"] .characters_carousel_img2 { width: 19.45rem; height: 17.05rem; }

[data-character-id="little_miss_sparkle"] .characters_carousel_img1 { width: 21.1rem; height: 18.9rem; }
[data-character-id="little_miss_sparkle"] .characters_carousel_img2 { width: 20.1rem; height: 20.95rem; }

[data-character-id="little_miss_giggles"] .characters_carousel_img1 { width: 21.8rem; height: 18.55rem; }
[data-character-id="little_miss_giggles"] .characters_carousel_img2 { width: 20.55rem; height: 18.2rem; }

[data-character-id="mr_greedy"] .characters_carousel_img1 { width: 16.9rem; height: 20.85rem; }
[data-character-id="mr_greedy"] .characters_carousel_img2 { width: 17.55rem; height: 20.8rem; }

.characters_stage_right {
    flex-shrink: 0;
    width: calc(100% - 31.6rem);
}

.characters_info {
    margin-bottom: 0;
    text-align: center;
}

.characters_name_ja {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

.characters_name_en {
    font-size: 3.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
}

.characters_desc {
    font-size: 2rem;
    line-height: 1.8;
}

.characters_grid {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    gap: 3rem 7.5rem;
    margin-bottom: 8rem;
    max-width: 98rem;
    margin-left: auto;
    margin-right: auto;
}

.characters_thumb_wrapper {
    width: 10.4rem;
    height: 10.8rem;
    
    align-items: center;
    
}

.characters_thumb_en_wrapper {
    transform: translateX(-50%);
}

.characters_thumb span.characters_thumb_en {
    font-size: 1.8rem;
    background: none;
    
}
.characters_thumb span.characters_thumb_en::before,
    .characters_thumb span.characters_thumb_en::after{
        content:"";
        display:block;
        background: #db5e72;
        width: 100%;
        position: absolute;
        z-index: -1;
        left: 0;
        right: 0;
        bottom: 0;
    }

    .characters_thumb span.characters_thumb_en::before{
        height: 60%;
        border-radius: 50% 50% 0 0;
        bottom: 40%;
    }

    .characters_thumb span.characters_thumb_en::after{
        height: 50%;
    }
.characters_thumb_img_container {
    width: 100%;
    height: 100%;
}

.characters_thumb_img_wrapper {
    width: 100%;
    height: 100%;
    padding: 1rem;
    border-radius: 50% 50% 0 0;
}

[data-character="little_miss_bad"] .characters_thumb_img_wrapper{
	    padding: 1.4rem;
}

.characters_thumb > span {
    font-size: 1.4rem;
    margin-top: 0;
    width: 160%;
}

.characters_more {
    max-width: 32rem;
    padding: 1rem 6rem;
    font-size: 2.8rem;
    border-radius: 10rem;
}
.characters_stage_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    margin-bottom: 5rem;
    max-width: 79rem;
    margin: 0 auto 8rem;
    padding-left: 5rem;
}
.characters_carousel_item {
    bottom: 1rem;
    width: 22.3rem;
}
.characters_carousel_item.is-next {
    transform: translateX(calc(-50% + 23rem));
}
.characters_carousel_item.is-prev {
    transform: translateX(calc(-50% - 23rem));
}
.characters_thumb:nth-child(5), .characters_thumb:nth-child(9) {
    grid-column: span 2;
}
.collection{
    padding-bottom: 4rem;
}
.collection_title {
    height: 4.5rem;
}

.collection_slider {
    max-width: none;
    padding: 9.7rem 0 6rem;
    margin-bottom: 13rem;
}

.collection_slider .swiper-slide {
    width: 64.8rem;
    padding: 0 1.5rem;
}

.collection_slider .collection_char--chatterbox {
    width: 12.75rem;
    height: 8.75rem;
    top: -6.65rem;
    left: 7rem;
}

.collection_slider .collection_char--funny {
    width: calc(11.4rem * 1.2);
    height: calc(9.2rem * 1.2);
    top: -9.8rem;
    right: 7.5rem;
}

.collection_slider .collection_char--strong {
    width: 9.15rem;
    height: 8.6rem;
    top: -7.5rem;
    right: 5rem;
}

.collection_slider .collection_char_hand--chatterbox {
    width: 6.55rem;
    height: 1.25rem;
    top: -0.3rem;
    left: 9.5rem;
}

.collection_slider .collection_char_hand--funny {
    width: calc(2.6rem * 1.2);
    height: calc(2.25rem * 1.2);
    top: -1.6rem;
    right: 10.2rem;
}

.collection_slider .collection_char_hand--strong {
    width: 10.3rem;
    height: 3.85rem;
    top: -1.2rem;
    right: 5rem;
}

.collection_more_btn {
    max-width: 32rem;
    padding: 1rem 6rem;
    font-size: 2.8rem;
    border-radius: 10rem;
}

.collection_deco_char {
    width: 11.4rem;
    height: 10.7rem;
    top: -9.6rem;
}

.collection_deco_paint {
    top: -4.5rem;
    left: -1rem;
    width: 7.3rem;
    height: 6rem;
}

.slide_arrow_prev, .slide_arrow_next {
    width: 1.2rem;
    height: 2.1rem;
    top: calc(50% - -1.5rem);
    left: 50%;
}

.slide_arrow_prev {margin-left: -33.9rem;}

.slide_arrow_next {
    margin-left: 33.9rem;
}
.collection_slider .collection_photo {
    width: 96%;
}

.collection_frame::before {
     top: 1.5rem;
}

.collection_frame::after {
    left: 1.5rem;
}

.sns_deco_tickle {
    width: 45.3rem;
    margin: -6rem auto -2rem;
    left: -2rem;
}

.sns_deco_hug {
    width: 16.45rem;
    position: absolute;
    bottom: 13.5rem;
    right: -20rem;
}

.sns_deco_salad {
    width: 6rem;
    left: 0.5rem;
    top: -4.4rem;
}
.sns_title {
    height: 4.5rem;
}

.sns_inner {
    max-width: 65.4rem;
    padding: 0;
}

.sns {
    padding-top: 4rem;
    padding-bottom: 9rem;
}


.sns_grid_item {
    width: 21rem;
    height: 26rem;
}

.sns_grid {
    gap: 1rem;
}

.sns_more {
    margin: 7rem auto 0;
    max-width: 32rem;
}

a.sns_more_btn {
    max-width: 32rem;
    padding: 1rem 6rem;
    font-size: 2.8rem;
    border-radius: 10rem;
}
.news_title {
    height: 4.5rem;
    margin-bottom: -5.4rem;
}

.news_inner {
    max-width: none;
    padding: 0 0 15rem;
}


.news_deco_little_miss_sunshine_wrap {
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -40rem;
}

.news_deco_little_miss_sunshine {
    width: 16.1rem;
    height: 9.6rem;
    top: -7.3rem;
    left: 2rem;
}

.news_deco_little_miss_sunshine_hand {
    width: 8rem;
    height: 2.5rem;
    top: 0.3rem;
    left: 5.8rem;
}

.news_deco_cloud {
    width: 22.8rem;
    height: 13rem;
}

.news_deco_newspaper {
    width: 17.7rem;
    height: 18.6rem;
    top: 20rem;
    left: 50%;
    margin-left: -50.85rem;
}

.news_deco_rainbow {
    width: 89rem;
    height: 100.5rem;
    top: 83.6rem;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -38rem;
    z-index: 0;
}

.news_deco_bird {
    width: 9.3rem;
    height: 9.2rem;
    top: 115rem;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -10rem;
}

.news_slider_container {
    height: 130rem;
    max-width: 110rem;
    margin: 0 auto;
    position: relative;
}

.news_pagination {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.news_pagination_dot {
    width: 1.2rem;
    height: 1.2rem;
}

.news_slider {
    height: 100%;
}

.news_slider_bg_circle_wrap {
    right: 20rem;
    left: auto;
}

.news_slider_bg_circle {
    right: 0;
    left: auto;
    top: 50%;
    transform: translate(50%, -50%);
}

.news_slider_bg_circle1 {
    width: 117.6rem;
    height: 118.1rem;
}

.news_slider_bg_circle2 {
    width: 69.3rem;
    height: 69.1rem;
}

.news_slider_bg_mr_happy {
    width: 13.9rem;
    height: 11.9rem;
    right: 0;
    left: auto;
    top: 50%;
    transform: translate(50%, -50%);
}

.news_slide {
    width: 56rem;
    height: 56rem;
    right: -6rem;
    left: auto;
}

.news_card {
    width: 100%;
    height: 100%;
}

.news_card_img {
    width: 33.3rem;
    height: 33.3rem;
}

.news_slide.is-active .news_card_img {
    width: 33.8rem;
    height: 33.8rem;
    transform: translateY(-5rem);
}
.news_card_content{
    max-width: 33.8rem;
}
.news_slide.is-active .news_card_content {
    max-height: 20rem;
    overflow: visible;
}

.news_card_title {
    font-size: 2.4rem;
    line-height: 1.5;
    min-height: calc(2.4rem * 1.5 * 3);
}

.news_card_date {
    font-size: 1.6rem;
    transform: translateY(2rem);
}

.news_slide_arrow_prev {
    left: 80rem;
    top: 30rem;
    width: 2.7rem;
    height: 3.1rem;
}

.news_slide_arrow_next {
    left: 80rem;
    top: 100rem;
    width: 2.7rem;
    height: 3.1rem;
}
    
.news_slide_arrow_prev svg polyline,
.news_slide_arrow_next svg polyline{
    stroke-width: .1rem!important;
}
.news_bnrs {
    max-width: 80rem;
    margin: 0 auto;
    flex-direction: row;
    gap: 3rem;
}


.news_bg_container {
    bottom: 0;
}

.news_bg_img {
    padding-bottom: 0;
}

.news_bg_img picture {
    display: block;
    width: 100%;
}

.news_bg_img picture img {
    width: 100%;
    height: auto;
}

.news_lawn {
    width: 100%;
}

.news_road {
    bottom: -1rem;
    width: 193rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 32rem;
}

.news_car_wrapper {
    bottom: 14rem;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -6rem;
}

.news_car {
    width: 66.4rem;
    height: 56.25rem;
}

.news_bus_stop_wrapper {
    bottom: 14rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 51rem;
}

.news_bus_stop {
    width: 10.3rem;
    height: 29.4rem;
}

.news_little_miss_chatterbox_wrapper {
    bottom: 8rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 38rem;
}

.news_little_miss_chatterbox {
    width: 16.5rem;
    height: 13.95rem;
}

.news_walter_wrapper {
    bottom: 4rem;
    left: 50%;
    margin-left: 20rem;
}

.news_walter {
    width: 5.2rem;
    height: 6.55rem;
}

}
