@charset "UTF-8";
@media screen and (min-width: 769px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (min-width: 1281px) {
  html {
    font-size: 10px;
  }
}
#kv {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url("../img/add/bg_kv_look_sp.webp") no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  #kv {
    /* height: 70.6666vw; */
  }
}
@media screen and (min-width: 769px) {
  #kv {
    /* 画像は250rem固定。それを超える幅は背景色でベタ塗り */
    background: url("../img/add/bg_kv_look.webp") no-repeat #a04c32;
    background-size: 250rem 72rem;
    background-position: top center;
  }
}
@media screen and (min-width: 769px) {
  #kv h1 {
    width: 120rem;
  }
}

@media screen and (max-width: 768px) {
  #message.active .message_ttl {
    width: calc(547/750*100vw);
  }
}
@media screen and (max-width: 768px) {
  #message.active .message_ttl img {
    max-width: 100%;
    height: auto !important;
    transform: translateX(0) !important;
  }
}

#message .message_txt {
  color: #A04C32;
  font-size: 1.6rem;
  line-height: calc(82/32* 1em);
  letter-spacing: calc(-30/1000*1em);
}

@media screen and (min-width: 769px) {
  #message .message_txt {
    font-size: 2rem;
    line-height: calc(51/20* 1em);
  }
}

#message .message_bg {
  top: 70.6666vw;
}
@media screen and (min-width: 769px) {
  /* 中央2500pxは白、それを超える左右は #a04c32 */
  #message {
    background-color: #a04c32;
    background-image: linear-gradient(#fff, #fff);
    background-repeat: no-repeat;
    /* Retina(Safari)でセクション境界にサブピクセルの隙間が出て
       下地の #a04c32 が線状に見えるため、白帯を1px下に伸ばして重ねる */
    background-size: 2500px calc(100% + 1px);
    background-position: top center;
    margin-bottom: -1px;
    padding-bottom: 1px;
  }
  #message .message_bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: 250rem;
    transform: translate(-50%, 0);
    pointer-events: none;
    aspect-ratio: 2500/910;
  }
}


#message .message_bg02 {
  top: 6.6666vw;
  animation: cta-float 5s ease-in-out infinite;
}
@media screen and (min-width: 769px) {
  #message .message_bg02 {
    position: absolute;
    top: 12rem;
    left: 50%;
    width: 180rem;
    transform: translate(-50%, -50%);
    pointer-events: none;
  }
}

@media screen and (min-width: 769px) {
  main section#message .inner {
    padding-top: 7rem;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  main section#message .inner {
    width: 100%;
    padding-top: 3.5rem;
  }
}

@keyframes cta-float {
  0%, 100% {
    transform: translate(-50%, -3%) rotate(-0.3deg);
  }
  50% {
    transform: translate(-50%, -0%) rotate(0.3deg);
  }
}
@media screen and (min-width: 769px) {
  #message .message_ttl img {
    height: 15.97rem !important;
    transform: translateX(1.5rem);
  }
}

#movie {
  background: url("../img/add/bg_movie_top.webp"), url("../img/add/bg_movie.webp") #a04c32;
  background-repeat: no-repeat, repeat-y;
  background-size: 250rem;
  background-position: top center, top 12.5rem center;
}
@media screen and (max-width: 768px) {
  #movie {
    background: url("../img/add/bg_movie_top_sp.webp"), url("../img/add/bg_movie_sp.webp");
    background-repeat: no-repeat, repeat-y;
    background-size: 100%;
    background-position: top center, top 18vw center;
  }
}
#movie .inner {
  width: 84.2rem;
  /*120rem*/
  padding-top: 22.8rem;
  padding-bottom: 14.7rem;
}
@media screen and (max-width: 768px) {
  #movie .inner {
    width: 100%;
    padding-top: 20.8vw;
    padding-bottom: 18.6vw;
  }
}
#movie h2.h2_movie {
  width: 44.3rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  #movie h2.h2_movie {
    width: 54.24vw;
  }
}
#movie h3.h3_movie {
  width: 100%;
}

@media screen and (min-width: 769px) {
  #movie .movie_box {
    width: 100%;
  }
}

#movie .movie_box a {
  background: #FAC300;
  padding: 2.3rem;
  border-radius: 2.28rem 2.28rem 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #movie .movie_box a {
    border-radius: 2.13vw 2.13vw 0 0;
    padding: 2.4vw;
  }
}
#movie .movie_box a.making {
  border-radius: 2.28rem;
}
@media screen and (max-width: 768px) {
  #movie .movie_box a.making {
    border-radius: 2.13vw;
    padding: 2.4vw;
  }
}

@media screen and (min-width: 769px) {
  #movie .cover_line::after {
    display: none;
  }
}

.movie_nav {
  margin-top: 0;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .movie_nav {
    gap: 2rem;
  }
}

.movie_nav button {
  width: 40vw;
  height: 9.6vw;
  background: #FCDB66;
  border-radius: 0 0 2.13vw 2.13vw;
  color: #A04C32;
}
@media screen and (min-width: 769px) {
  .movie_nav button {
    width: 45.8%;
    height: 6.8rem;
    background: #FCDB66;
    border-radius: 0 0 2.8rem 2.8rem;
    font-size: 3.4rem;
    font-weight: 700;
    color: #A04C32;
  }
}
.movie_nav button span {
  color: #A04C32;
}

.movie_nav button.current span {
  color: #A04C32;
}

.movie_nav button.current {
  background: #FAC300;
}

#movie .movie_thumb_arrow {
  width: 6.4vw;
  height: 6.4vw;
  right: 4.4vw;
  bottom: 4.4vw;
}
@media screen and (min-width: 769px) {
  #movie .movie_thumb_arrow {
    right: 5rem;
    bottom: 5rem;
    width: 7.2rem;
    height: 7.2rem;
    transition: transform 0.4s ease;
  }
}

@media screen and (min-width: 769px) {
  a:hover .movie_thumb_arrow {
    transform: scale(1.1);
  }
}

@media screen and (min-width: 769px) {
  main section .inner {
    width: 91.6rem;
  }
}

#graphics {
  background: url("../img/add/bg_graphics_sp.webp") no-repeat;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  #graphics {
    position: relative;
    width: 100%;
    margin: 0;
    /* 画像は2500px固定。それを超える幅は #a04c32 で埋める */
    background: url("../img/add/bg_graphics.webp") no-repeat #a04c32;
    background-size: 2500px;
    background-position: top center;
  }
}
#graphics .inner {
  padding: 0 0 17.3vw;
}
@media screen and (min-width: 769px) {
  #graphics .inner {
    padding: 0 0 14.7rem;
    width: 84.2rem;
  }
}
#graphics .inner hgroup h2 {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  #graphics .inner hgroup h2 {
    margin-top: 0;
  }
}
#graphics .inner .graphics_set {
  margin-top: 0;
  border-radius: 2.37vw;
  padding: 2.4vw;
  background: #fff;
}
@media screen and (min-width: 769px) {
  #graphics .inner .graphics_set {
    border-radius: 2.28rem;
    padding: 2.3rem;
  }
}
#graphics .inner .graphics_set a {
  width: 100%;
  box-shadow: none;
}

@media screen and (min-width: 769px) {
  #graphics .graphics_thumb_zoom {
    bottom: 1.4rem;
    right: 1.4rem;
    width: 6.8rem;
    height: 6.8rem;
    transition: transform 0.4s ease;
  }
}

@media screen and (min-width: 769px) {
  a:hover .graphics_thumb_zoom {
    transform: scale(1.1);
  }
}

#graphics .cover_line::after {
  display: none;
}

@media screen and (max-width: 768px) {
  #graphics .graphics_thumb_zoom {
    right: 1.3vw;
    bottom: 1.3vw;
    width: 7.46vw;
    height: 7.46vw;
  }
}
#lineup {
  background: url("../img/add/bg_lineup_sp.webp") repeat-y;
  background-size: 100%;
  background-position: top center;
}
@media screen and (min-width: 769px) {
  #lineup {
    background: url("../img/add/bg_lineup.webp") repeat-y #a04c32;
    background-size: 2500px;
    background-position: top center;
  }
}
#lineup .inner {
  padding: 0 0 15.6vw;
}
@media screen and (min-width: 769px) {
  #lineup .inner {
    padding: 13.8rem 0 13.5rem;
    max-width: 100%;
    width: 110rem !important;
  }
}
#lineup .inner h2.h2_lineup {
  margin-top: 0;
}

@media screen and (min-width: 769px) {
  #lineup .slider_set {
    width: 67.6rem;
    height: 48.7rem;
    transform: translateX(1.2rem);
  }
}
@media screen and (max-width: 768px) {
  #lineup .inner {
    overflow: visible !important;
  }
  #lineup .slider_outer {
    height: auto !important;
    min-height: 85.3vw;
    padding: 6vw 0 0;
    overflow: visible !important;
  }
  #lineup .slider_set {
    width: 100%;
    height: auto !important;
    min-height: 85.3vw;
    overflow: visible !important;
  }
  #lineup .slider,
  #lineup .slick-list,
  #lineup .slick-track,
  #lineup .slick-slide,
  #lineup .slick-outer {
    overflow: visible !important;
    height: auto !important;
  }
}
.lineup_item {
  position: relative;
  /* z-indexを有効化 */
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .lineup_item {
    margin: 0 -2.6rem;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 -1.3rem;
    /* -2.6rem から少し狭めて重なり具合を調整 */
  }
}

.lineup_item a {
  width: 85.3vw;
  background: url("../img/add/slide_bg_normal26_sp.webp") center center no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .lineup_item a {
    width: 22rem;
    height: 25.6rem;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item a {
    display: block;
    width: 29.7rem;
    height: 29.7rem;
    background: url("../img/add/slide_bg_normal26.webp") center center no-repeat;
    background-size: 100%;
  }
}

.lineup_item.slick-center {
  z-index: 10;
  /* 中央スライドを最前面に配置 */
}

@media screen and (max-width: 768px) {
  .lineup_item.slick-center a {
    width: 85.3vw;
    height: 85.3vw;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.slick-center a {
    background: url("../img/add/slide_bg26.webp") center center no-repeat;
    background-size: 100%;
    transform: scale(1.28);
    z-index: 3;
    position: relative;
    /* transform時の描写崩れ防止 */
  }
}

.slider, .slider div {
  display: flex;
  align-items: center;
  height: auto;
}

#lineup .slider_outer {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
#lineup .slider_outer {
    margin-top: 5.1rem;
    height: 48.7rem;
  }
}

.lineup_item a {
  font-family: "Noto Sans JP", sans-serif;
}

.lineup_item a h3 {
  color: #A04C32;
}
@media screen and (min-width: 769px) {
  .lineup_item a h3 {
    font-size: 2.4rem;
    font-weight: 900;
  }
}

.lineup_item a .box_txt {
  color: #A04C32;
  transition: opacity .3s ease-out;
}
@media screen and (min-width: 769px) {
  .lineup_item a .box_txt {
    font-size: 1.7rem;
    line-height: 2.4rem;
    font-weight: 700;
    text-align: center;
    font-feature-settings: "palt";
    width: 100%;
    left: 0;
    top: 29rem;
  }
}
@media screen and (max-width: 768px) {
  .lineup_item a .box_txt {
    text-align: center;
    width: 100%;
    left: 0;
    font-size: 3.2vw;
    line-height: 1.45;
  }
}

.lineup_item a figure {
  position: absolute;
  left: 0;
  text-align: center;
  width: 100%;
  z-index: 5;
}

@media screen and (min-width: 769px) {
  .lineup_item a figure {
    top: 5.8rem;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item a figure.item_4, .lineup_item a figure.item_5 {
    top: 4.6rem;
  }
}
@media screen and (max-width: 768px) {
  .lineup_item a figure img {
    width: 41.5vw;
    margin: auto;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item a figure img {
    width: 15rem;
    margin: auto;
    transition: width .6s ease-in-out;
  }
}

@media screen and (min-width: 769px) {
  .lineup_item.slick-center a figure {
    transform: rotate(-10deg);
    top: 9.5rem;
    left: -.8rem;
  }
}
@media screen and (max-width: 768px) {
  .lineup_item.slick-center a figure {
    transform: rotate(-10deg);
    top: 12vw;
  }
  .lineup_item.slick-center a figure.item_4 {
    top: 14vw;
  }
  .lineup_item.slick-center a figure.item_5 {
    top: 14vw;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.slick-center a figure img {
    width: 17.7rem;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.slick-center a figure.item_4 {
    top: 8rem;
  }
  .lineup_item.slick-center a figure.item_5 {
    top: 9rem;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.slick-center a figure img.item_4, .lineup_item.slick-center a figure img.item_5 {
    width: calc(21.8rem / 1.3 * 0.9);
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .lineup_item a figure img.item_4,
  .lineup_item a figure img.item_5 {
    width: 28vw;
    margin-top: 0;
    transition: width .6s ease-in-out, margin-top .6s ease-in-out, opacity .6s ease-in-out;
  }
  .lineup_item.slick-center a figure img.item_4,
  .lineup_item.slick-center a figure img.item_5 {
    width: 33.5vw;
    margin-top: -3vw;
  }
  .lineup_item.is-leaving a figure.item_4,
  .lineup_item.is-leaving a figure.item_5 {
    top: 8vw;
    transform: rotate(-10deg);
  }
  .lineup_item.is-leaving a figure img.item_4,
  .lineup_item.is-leaving a figure img.item_5 {
    width: 33.5vw;
    margin-top: -3vw;
    opacity: 0;
  }
}

@media screen and (min-width: 769px) {
  .lineup_item a h3 {
    top: 17.1rem;
    font-size: 2.2rem;
    font-weight: 900;
  }
}

.lineup_item.slick-center a h3 {
  top: 41vw;
  line-height: 1.2;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .lineup_item a h3 {
    font-size: 1.6rem;
  }
  .lineup_item.is-leaving a h3 {
    top: 41vw;
    line-height: 1.2;
    font-size: 1.6rem;
  }
  .lineup_item.item4 a h3,
  .lineup_item.item5 a h3 {
    font-size: 1.9rem;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.slick-center a h3 {
    line-height: 1.3;
    font-size: 2rem;
    top: 23rem;
  }
  .lineup_item.slick-center a h3 span {
    line-height: 0;
  }
}

@media screen and (min-width: 769px) {
  .lineup_item.item5.slick-center a h3 {
    font-size: 1.98rem;
    line-height: calc(28/22*1em);
    top: 22.8rem;
  }
  .lineup_item.item4.slick-center a h3 {
    font-size: 1.98rem;
    line-height: calc(28/22*1em);
    top: 22.8rem;
  }
}

@media screen and (max-width: 768px) {
  .lineup_item.item5.slick-center a h3 {
    line-height: 1.2;
    font-size: 1.4rem;
    top: 41vw;
  }
  .lineup_item.item4.slick-center a h3 {
    line-height: 1.2;
    font-size: 1.4rem;
    top: 41vw;
  }
  .lineup_item.item5.is-leaving a h3 {
    line-height: 1.2;
    font-size: 1.4rem;
    top: 41vw;
  }
  .lineup_item.item4.is-leaving a h3 {
    line-height: 1.2;
    font-size: 1.4rem;
    top: 41vw;
  }

  .lineup_item.item4.slick-center a .box_txt, .lineup_item.item5.slick-center a .box_txt {
    top: 56vw;
  }
  .lineup_item.item4.is-leaving a .box_txt,
  .lineup_item.item5.is-leaving a .box_txt {
    top: 56vw;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.item4 a h3,
  .lineup_item.item5 a h3 {
    font-size: 1.9rem;
    line-height: calc(24/19*1em);
  }
}
@media screen and (max-width: 768px) {
  .lineup_item a .box_txt {
    top: 53vw;
  }
}
@media screen and (min-width: 769px) {
  .lineup_item.item4 a .box_txt,
  .lineup_item.item5 a .box_txt {
    top: 31rem;
  }
}
.slick-outer {
  margin: 0 -1.3rem;
  /* .lineup_item のマージンと合わせる */
}
@media screen and (max-width: 768px) {
  .slick-outer {
    margin: 0 0;
  }
}

.lineup_item a::after {
  top: 30%;
}

.lineup_item a::after {
  z-index: 5;
}
@media screen and (min-width: 769px) {
  .lineup_item a::after {
    width: 42rem;
    aspect-ratio: 534/292;
    height: auto;
  }
}

.lineup_item.item1 a::after {
  background: url(../../look/img/item_1_cover26.png) center center no-repeat;
  background-size: 100%;
}

.lineup_item.item2 a::after {
  background: url(../../look/img/item_2_cover26.png) center center no-repeat;
  background-size: 100%;
}

.lineup_item.item3 a::after {
  background: url(../../look/img/item_3_cover26.png) center center no-repeat;
  background-size: 100%;
}

.lineup_item.item4 a::after {
  background: url(../../look/img/item_5_cover26.png) center center no-repeat;
  background-size: 100%;
}

.lineup_item.item5 a::after {
  background: url(../../look/img/item_4_cover26.png) center center no-repeat;
  background-size: 100%;
}

@media screen and (min-width: 769px) {
  #lineup .slider_nav {
    gap: 5rem;
    height: 5.2rem;
    margin-top: 4.5rem;
  }
}
@media screen and (max-width: 768px) {
  #lineup .slider_nav {
    margin-top: 1rem;
  }
}

#lineup .slider_nav div .dot:hover, #lineup .slider_nav div .dot.active {
  background: #F34E62;
}

#lineup .slider_nav div .dot {
  border: #fff 0.3rem solid;
}
@media screen and (max-width: 768px) {
  #lineup .slider_nav div .dot {
    width: 3.2vw;
    height: 3.2vw;
    border: #fff 0.5vw solid;
  }
}

#lineup .slider_nav .prev {
  background: url(../img/add/prev.png) center center no-repeat;
  background-size: contain;
}

#lineup .slider_nav .next {
  background: url(../img/add/next.png) center center no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  #lineup .slider_nav .prev, #lineup .slider_nav .next {
    width: 5.2rem;
    height: 5.2rem;
  }
}
@media screen and (max-width: 768px) {
  #lineup .slider_nav .prev, #lineup .slider_nav .next {
    width: 8.8vw;
    height: 8.8vw;
  }
}
@media screen and (min-width: 769px) {
  #lineup .slider_nav div {
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #lineup .slider_nav div {
    gap: 4.4vw;
  }
}
#acees {
  border-top: 1.6rem solid #A04C32;
  border-bottom: 1.6rem solid #A04C32;
  /* 2499px以下：画面幅いっぱいに5色を均等配置（各20%） */
  background-color: #a04c32;
  background-image: linear-gradient(to right,  #fbed73 0%,#fbed73 20%,#d2a4e5 20%,#d2a4e5 40%,#b17662 40%,#b17662 60%,#f68495 60%,#f68495 80%,#94da80 80%,#94da80 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center;
}
/* 2500px以上：ストライプを2500pxに固定し、外側は #a04c32 のベタ */
@media screen and (min-width: 2500px) {
  #acees {
    background-size: 2500px 100%;
  }
}
@media screen and (max-width: 768px) {
  #acees {
    border-top: 2.93vw solid #A04C32;
    border-bottom: 2.93vw solid #A04C32;
    background: url("../img/add/bg_acees_sp.jpg") repeat-y;
    background-size: 100%;
  }
}

@media screen and (min-width: 769px) {
  #acees .inner {
    padding: 12.2rem 0 16rem;
    background-size: 120rem;
    background-position: top center;
  }
}
@media screen and (max-width: 768px) {
  #acees .inner {
    padding: 18.4vw 0 21.3vw;
  }
}
#acees .inner h2.h2_acees {
  width: 45rem;
  margin: 0 auto 4.8rem;
}
@media screen and (max-width: 768px) {
  #acees .inner h2.h2_acees {
    width: 59.2vw;
    margin: 0 auto 6.4vw;
  }
}

@media screen and (max-width: 768px) {
  #acees .inner div {
    margin-top: 3.8vw;
  }
}
@media screen and (min-width: 769px) {
  #acees .inner div {
    gap: 2rem;
    margin-top: 0;
  }
}

@media screen and (min-width: 769px) {
  #acees .inner div .member {
    width: 29.2rem;
  }
}

@media screen and (max-width: 768px) {
  #acees .inner div .member {
    width: 27rem;
  }
}

#acees .member_in .member.member1::after {
  background: #D4A0E7;
}

#acees .member_in .member.member2::after {
  background: #B4725E;
}

#acees .member_in .member.member3::after {
  background: #FF8092;
}

#acees .member_in .member.member4::after {
  background: linear-gradient(to right, #D4A0E7 50%, #B4725E 50%);
}

#acees .member_in .member.member5::after {
  background: linear-gradient(to right, #B4725E 50%, #FF8092 50%);
}

#brandsite {
  background: none;
}

#others {
  background: none;
}

section.double {
  width: 100%;
  /* 2500px超の左右は赤茶。縦の隙間はドット柄をrepeat-yで埋める */
  background: url("../img/add/bg_double.jpg") repeat-y #a04c32;
  background-size: 2500px;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  section.double {
    background: url("../img/add/bg_double_sp.jpg") no-repeat;
    background-size: 100%;
    padding-bottom: 18vw;
  }
}

@media screen and (min-width: 769px) {
  .banner_section .inner {
    width: 96rem;
    padding: 14.6rem 0 8rem;
  }
}
.banner_section .inner h2.h2_banner_section {
  width: 39.6rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .banner_section .inner h2.h2_banner_section {
    width: 56.5vw;
  }
}
.banner_section .inner h2.h2_banner_section img {
  width: 100% !important;
  height: auto;
}

@media screen and (min-width: 769px) {
  .banner_section02 .inner {
    padding: 0 0 12rem;
  }
}
.banner_section02 .inner h2.h2_banner_section02 {
  width: 52.2rem;
  margin: auto;
}
.banner_section02 .inner h2.h2_banner_section02 img {
  width: 100% !important;
  height: auto;
}

.banner_brandsite_look26 {
  width: 54.2rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .banner_brandsite_look26 {
    width: 80vw;
  }
}
.banner_brandsite_look26 img {
  width: 100% !important;
  height: auto;
}

figure.deco01 {
  width: 100%;
  margin-top: 3rem;
}
figure.deco01 img {
  width: 100% !important;
  height: auto;
}

@media screen and (max-width: 768px) {
  .banner_section .inner {
    padding: 6rem 0 0;
  }
}
#sns {
  background: #fff100;
  padding: 3.5rem 0;
}
@media screen and (max-width: 768px) {
  #sns {
    padding: 6.6666666667vw 0;
  }
}
#sns .inner {
  row-gap: 1.6rem;
  width: 54.4rem;
  padding: 2.4rem;
  background: #fff;
  border-radius: 100vmax;
  gap: 3.6rem;
}
@media screen and (max-width: 768px) {
  #sns .inner {
    width: 72.5333333333vw;
    padding: 4vw 0 4.6666666667vw;
    gap: 2.6666666667vw;
  }
}
#sns .inner div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
}
@media screen and (max-width: 768px) {
  #sns .inner div {
    gap: 2.6666666667vw;
  }
}
#sns .inner div a {
  width: 4.8rem;
}
@media screen and (max-width: 768px) {
  #sns .inner div a {
    width: 9.3333333333vw;
  }
}
#sns .inner div a:first-child {
  width: 4.5rem;
}
@media screen and (max-width: 768px) {
  #sns .inner div a:first-child {
    width: 8.8vw;
  }
}
#sns .inner div a img {
  display: block;
  width: 100%;
  height: auto;
}
#sns p {
  position: relative;
  display: inline-block;
  font-weight: 700;
  letter-spacing: -0.05rem;
  padding-bottom: 1.1rem;
  background: url("../../look/img/bg_dot.webp") no-repeat;
  background-position: bottom left;
  background-size: 14.8rem;
  font-size: 2rem;
  color: #000;
}
@media screen and (max-width: 768px) {
  #sns p {
    font-size: 4.5vw;
    background-size: 33vw;
  }
}

@media screen and (max-width: 768px) {
  #movie .movie_set {
    margin-top: 5.8vw;
  }
}

.forPC {
  display: block;
}
@media screen and (max-width: 768px) {
  .forPC {
    display: none;
  }
}

.forPC_center {
  display: none;
}
.lineup_item a h3 span.forPC_center {
  display: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
  transform: none !important;
}
@media screen and (min-width: 769px) {
  .slick-center .forPC_center,
  .lineup_item.slick-center a h3 span.forPC_center {
    display: inline !important;
  }
}
@media screen and (max-width: 768px) {
  .forPC_center,
  .lineup_item a h3 span.forPC_center {
    display: none !important;
  }
  .forPC_center.forSP,
  .lineup_item a h3 span.forPC_center.forSP {
    display: inline !important;
  }
}

/* spanで包まない（h3 span の inline-block の影響を避ける） */
br.forNotCenter {
  display: inline;
}
@media screen and (min-width: 769px) {
  .slick-center br.forNotCenter,
  .lineup_item.slick-center a h3 br.forNotCenter {
    display: none !important;
  }
}

.forSP {
  display: none;
}
@media screen and (max-width: 768px) {
  .forSP {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  header nav div a {
    border-radius: 0.8rem;
    border: none;
  }
  header nav div a p {
    text-decoration: underline;
    text-decoration-color: transparent;
    /* ここがポイント（通常時は透明） */
    text-decoration-thickness: 3px;
    text-underline-offset: 3px;
  }
}
@media screen and (min-width: 769px) {
  header nav div a:first-of-type {
    border-radius: 0.8rem;
  }
}
@media screen and (min-width: 769px) {
  header nav div a:last-of-type {
    border-radius: 0.8rem;
  }
}
@media screen and (min-width: 769px) {
  header nav div a:hover {
    border: none;
    background: #ffe814;
    color: #000;
  }
  header nav div a:hover p {
    text-decoration: underline;
    text-decoration-color: #FAC300;
    text-decoration-thickness: 3px;
    text-underline-offset: 3px;
    font-weight: 700;
    color: #000;
  }
}
@media screen and (min-width: 769px) {
  #lineup .slider_nav .prev:hover, #lineup .slider_nav .next:hover {
    transform: scale(1.1);
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  #brandsite .cover_line::after {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .cover_line::after {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  #brandsite .inner div a {
    transition: all 0.4s ease;
  }
  #brandsite .inner div a:hover {
    transform: scale(1.05);
  }
}
@media screen and (min-width: 769px) {
  .banner_section .inner div a {
    transition: all 0.4s ease;
  }
  .banner_section .inner div a:hover {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 768px) {
  header nav div a, header nav div a:first-of-type, header nav div a:last-of-type {
    border-radius: 0.8rem;
  }
}

.fruit-bg.sp {
  aspect-ratio: 1498 / 2142;
  display: none;
}

.fruit {
  position: absolute;
  transform: translate(-50%, -50%);
}

/* ===== ゆらゆら本体 =====
   rock: なめらかに左右へ傾き、少し上下する(ease-in-out)。
   角度 --amp / 上下 --bob / 速さ --dur / ずれ --delay は
   各画像の style で個別指定。 */
.rock {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: 50% 70%;
  animation: sway var(--dur, 4s) ease-in-out infinite;
  animation-delay: var(--delay, 0s);
  will-change: transform;
}

@keyframes sway {
  0%,100% {
    transform: rotate(calc(var(--amp) * -1)) translateY(0);
  }
  50% {
    transform: rotate(var(--amp)) translateY(calc(var(--bob) * -1));
  }
}
@media (prefers-reduced-motion: reduce) {
  .rock {
    animation: none;
  }
}
/* 画面幅で PC / SP を切替(768px境界) */
@media (max-width: 768px) {
  .fruit-bg.pc {
    display: none;
  }

  .fruit-bg.sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .fruit-bg.sp {
    width: 37.5rem !important;
    top: 73vw !important;
  }
}



/* ===== パカパカアニメーション =====
   上下2段スプライト(上=コマ1 / 下=コマ2)を
   background-position + steps(1) で1秒ごとに切替 */
.pakapaka {
  --w: 1211;      /* スプライト1コマの幅(px) */
  --h: 203;       /* スプライト1コマの高さ(px) */
  --interval: 1s; /* 1コマの表示時間 → 全周期は2倍 */
  width: min(100%, calc(var(--w) * 1.2px)); /* 全体120% */
  aspect-ratio: calc(var(--w) / var(--h));
  margin: 0 auto;
  background-image: url("../../look/img/pakapaka_sprite.webp");
  background-repeat: no-repeat;
  background-size: 100% 200%;
  background-position: 0 0;
  animation: flip calc(var(--interval) * 2) steps(1, end) infinite;
}
.pakapaka figure {
  display: none; /* 中のimgは背景アニメと重複するため非表示 */
}
@keyframes flip {
  0%,49.999% {
    background-position: 0 0;
  }
  /* コマ1を1秒 */
  50%,100% {
    background-position: 0 100%;
  }
  /* コマ2を1秒 */
}
@media (prefers-reduced-motion: reduce) {
  .pakapaka {
    animation: none;
  }
}
@media screen and (max-width: 768px) {
  .pakapaka {
    /* 左右に余白を確保して全アイテムを表示（画面幅の88%） */
    width: 88vw;
    max-width: 88vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -40px;
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .movie_nav button span {
    font-size: 2.72rem;
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .movie_nav button span {
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) {
  h2.h2_lineup {
    width: 49.8rem;
    margin: auto auto 4.8rem;
  }
}

#acees .member_in .member::after {
  display: none;
}

/* ===== Retina(Safari)対策：セクション境界の細い線を防ぐ =====
   devicePixelRatio=2 の環境ではセクション高さが小数になり、
   境界に 0.5px の隙間が生じて下地の #a04c32 が線状に見える。
   各セクションを1pxだけ下に重ねて隙間を潰す。 */
@media screen and (min-width: 769px) {
  #message,
  #movie,
  #graphics,
  #lineup,
  section.double {
    margin-bottom: -1px;
  }
}
