#lp {
   font-family: "Noto Sans JP", sans-serif;
   font-size: 16px;
   line-height: 1;
   position: relative;
   overflow: clip;
   --color-blue: #00448f;
   --color-blue1: #abc6e3;
   --color-black: #3c3c3c;
   --color-black1: #162b43;
   --color-black2: #505050;
   --color-black3: #030303;
   --color-red: #e60020;
   --color-red1: #d12d26;
   --transition: 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/******************************
共通
******************************/
.inner {
   --padding: 40px;
   --width: 1248px;
   width: min(100% - var(--padding), var(--width));
   margin: 0 auto;
   position: relative;
}
.inner.header {
   --width: 1296px;
}
.inner.narrow {
   --width: 1024px;
}
.inner.narrow1 {
   --width: 706px;
}
.inner.middle {
   --width: 1120px;
}

.heading_ticker {
   mix-blend-mode: overlay;
   --heading-height: 120px;
   --positionOffset: -1207.5px;
   width: 100%;
   animation: ticker 20s linear infinite;
   background-repeat: repeat-x;
   background-size: auto var(--heading-height);
   width: 100%;
   height: var(--heading-height);
}
@media (max-width: 560px) {
   .heading_ticker {
      --heading-height: 45px;
      --positionOffset: -452.8125px;
   }
}
.heading_ticker.specialMovie {
   background-image: url(/sekaiwo-ugokasu/images/letters/specialMovie.svg);
}
.heading_ticker.tvcm {
   background-image: url(/sekaiwo-ugokasu/images/letters/tvcm.svg);
}
.heading_ticker.official_sns {
   mix-blend-mode: none;
   background-image: url(/sekaiwo-ugokasu/images/letters/officialSNS.svg);
}
.heading_ticker.talent {
   background-image: url(/sekaiwo-ugokasu/images/letters/featuredTalent.svg);
}

@keyframes ticker {
   0% {
      background-position: 0 0;
   }
   100% {
      background-position: var(--positionOffset) 0;
   }
}
.heading {
   font-size: 40px;
   font-weight: bold;
   color: var(--color-blue);
   text-align: center;
   margin-top: -32px;
   position: relative;
   z-index: 1;
}
.heading.fff {
   color: white;
}
.heading.mb0 {
   margin-bottom: 64px;
}
@media (max-width: 560px) {
   .heading {
      font-size: 20px;
      margin-top: -20px;
   }
   .heading.mb0 {
      margin-bottom: 32px;
   }
}

#scrollBar {
   position: absolute;
   width: 40px;
   height: 100%;
   background-image: url(/sekaiwo-ugokasu/images/elements/scrollBar.webp);
   background-size: 100% auto;
   background-position: center;
   background-repeat: repeat-y;
   right: 8px;
   z-index: 100;
}

@media (max-width: 960px) {
   #scrollBar {
      display: none;
   }
}

.scrollBar_current {
   position: fixed;
   right: 0;
   width: 72px;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: flex-end;
}

.scrollBar_current_inner {
   position: relative;
   padding: 24px 0;
   z-index: 1;
   display: flex;
   flex-direction: column;
   gap: 8px;
}

.scrollBar_current_cta {
   display: block;
   width: 72px;
   height: 155px;
   border-radius: 15px 0 0 15px;
   writing-mode: vertical-rl;
   text-orientation: upright;
   font-size: 18px;
   font-weight: bold;
   text-decoration: none;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: translate var(--transition);
}

.scrollBar_current_cta:hover {
   translate: 8px 0;
}

.scrollBar_current_cta.gradation {
   background: linear-gradient(
      153deg,
      rgba(219, 102, 0, 1) 0%,
      rgba(230, 0, 32, 1) 100%
   );
   color: #fff;
}

.scrollBar_current_cta.normal {
   background-color: #fff;
   border: 3px solid var(--color-red);
   border-right: none;
   color: var(--color-red);
}

.scrollBar_current_img {
   top: 0;
   right: 5px;
   position: absolute;
   width: 48px;
   height: 100%;
   z-index: -1;
}

.scroll_top {
   position: fixed;
   bottom: 16px;
   right: 80px;
   width: 64px;
   height: 64px;
   background: linear-gradient(
      180deg,
      rgba(222, 70, 10, 1) 0%,
      rgba(230, 0, 32, 1) 100%
   );
   border-radius: 50%;
   z-index: 999;
   opacity: 0;
   cursor: pointer;
   transition: opacity var(--transition), visibility var(--transition);
   visibility: hidden;
   display: flex;
   align-items: center;
   justify-content: center;
}

.scroll_top.is-visible {
   opacity: 1;
   visibility: visible;
}

@media (max-width: 960px) {
   .scroll_top {
      bottom: 24px;
      right: 24px;
   }
}

br.__sm {
   display: none;
}
br.__md {
   display: none;
}
br.__lg {
   display: block;
}
@media (max-width: 960px) {
   br.__md {
      display: block;
   }
}
@media (max-width: 560px) {
   br.__sm {
      display: block;
   }
   br.__lg {
      display: none;
   }
}

/******************************
共通背景
******************************/
.bg_electronic {
   background-image: url(/sekaiwo-ugokasu/images/bg/electronic.webp);
   background-size: 100% auto;
   background-position: center;
   background-repeat: repeat-y;
}
.bg_grid {
   background-image: url(/sekaiwo-ugokasu/images/bg/grid.webp);
   background-size: 100% auto;
   background-position: center;
   background-repeat: repeat-y;
}

/******************************
header
******************************/
#header {
   padding: 10px 0;
   background-color: white;
}
#header .logo {
   width: min(100%, 149px);
   transition: opacity var(--transition);
}
#header .logo:hover {
   opacity: 0.7;
}
#header .logo img {
   width: 100%;
   height: auto;
}
.header_cta_list {
   display: none;
}

#header .inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.header_cta_list_item {
   font-size: 12px;
   width: 104px;
   height: 32px;
   border-radius: 5px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid var(--color-red);
   font-weight: 600;
}
.header_cta_list_item.gradation {
   background-color: var(--color-red);
   color: white;
}
.header_cta_list_item.normal {
   background-color: white;
   color: var(--color-red);
}

@media (max-width: 960px) {
   #header .logo {
      width: min(100%, 90px);
   }
   .header_cta_list {
      display: flex;
      align-items: center;
      gap: 4px;
   }
}

/* UA-based mobile header behavior */
.ua-mobile #header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 950;
   transition: opacity var(--transition), translate var(--transition);
}
.ua-mobile #header.hidden {
   opacity: 0;
   translate: 0 -16px;
   pointer-events: none;
}

/******************************
mv
******************************/
#mv {
   height: 708px;
   background-image: url(/sekaiwo-ugokasu/images/mv/bg.webp);
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   position: relative;
}

@media (max-width: 560px) {
   #mv {
      height: auto;
      aspect-ratio: 375/578;
   }
}

#mv .inner {
   height: 100%;
}

.mv_hero {
   position: absolute;
   height: 100%;
   width: auto;
   left: -40px;
   bottom: 0;
   max-inline-size: initial;
   max-block-size: initial;
}

.mv_hero.__lg {
   display: block;
}
.mv_hero.__sm {
   display: none;
}

@media (max-width: 960px) {
   .mv_hero {
      left: -9%;
   }
}

@media (max-width: 560px) {
   .mv_hero {
      left: 0;
      right: 0;
      margin: auto;
   }
   .mv_hero.__lg {
      display: none;
   }
   .mv_hero.__sm {
      display: block;
   }
}

.mv_title_container {
   position: absolute;
   height: 100%;
   right: 0;
   width: 60%;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   z-index: 2;
}
.mv_title {
   width: 100%;
   height: auto;
   margin-bottom: max(-16vw, -240px);
}

@media (max-width: 960px) {
   .mv_title {
      width: 110vw;
      max-inline-size: initial;
      margin-bottom: -40vw;
   }
   .mv_title_container {
      width: min(100%, 700px);
      left: 0;
      margin: auto;
      justify-content: flex-end;
      bottom: -48px;
   }
}

@media (max-width: 560px) {
   .mv_title {
      width: 117vw;
      max-inline-size: initial;
      margin-bottom: -40vw;
   }
   .mv_title_container {
      bottom: -32px;
   }
}

.mv_cta {
   font-size: 20px;
   font-weight: bold;
   color: var(--color-red);
   background-color: rgba(255, 255, 255, 0.9);
   height: 92px;
   width: min(411px, 100% - 40px);
   border-radius: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
   position: relative;
   cursor: pointer;
   transition: background-color var(--transition), scale var(--transition);
}
.mv_cta:after {
   content: "";
   position: absolute;
   top: -8px;
   left: -8px;
   width: min(100%, 178px);
   height: min(100%, 59px);
   background-image: url(/sekaiwo-ugokasu/images/mv/ctaBorder.svg);
   background-size: 100% auto;
   background-position: top left;
   background-repeat: no-repeat;
}
.mv_cta_icon {
   --size: 52px;
   width: var(--size);
   height: var(--size);
   padding-top: 4px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: linear-gradient(
      180deg,
      rgba(222, 70, 10, 1) 0%,
      rgba(230, 0, 32, 1) 100%
   );
   border-radius: 50%;
   transition: scale var(--transition);
}

.mv_cta:hover {
   background-color: white;
   scale: 1.05;
}
.mv_cta:hover .mv_cta_icon {
   scale: 1.1;
}

@media (max-width: 560px) {
   .mv_cta {
      height: 64px;
      width: auto;
      padding: 0 16px 0 32px;
      font-size: 15px;
   }
   .mv_cta:after {
      width: min(100%, 155px);
   }
   .mv_cta_icon {
      --size: 32px;
   }
   .mv_cta_icon svg {
      width: 12px;
      height: auto;
   }
}

/******************************
message
******************************/
#message {
   color: #fff;
   background: linear-gradient(
      140deg,
      rgba(223, 63, 12, 1) 0%,
      rgba(230, 1, 32, 1) 100%
   );
   overflow: clip;
}
#message .inner {
   padding: 120px 0;
   z-index: 1;
}
@media (max-width: 960px) {
   #message .inner {
      padding: 120px 0 40px 0;
   }
}
@media (max-width: 560px) {
   #message .inner {
      padding: 90px 0 0 0;
   }
}
.message_hero {
   position: absolute;
   right: 0;
   bottom: 0;
   width: 400px;
   height: auto;
   z-index: -1;
}
.message_hero.__lg {
   display: block;
}
.message_hero.__sm {
   display: none;
}

@media (max-width: 560px) {
   .message_heading {
      width: 112px;
   }
   .message_heading svg {
      width: 100%;
      height: auto;
   }
   .message_hero.__lg {
      display: none;
   }
   .message_hero.__sm {
      display: block;
   }
}

.message_text {
   font-size: min(24px, 1.6vw);
   font-weight: bold;
   margin-top: 80px;
   line-height: 2.5;
}
@media (max-width: 960px) {
   .message_text {
      font-size: 24px;
   }
}
@media (max-width: 560px) {
   .message_text {
      font-size: 14px;
      margin-top: 40px;
   }
}
.message_image {
   position: absolute;
   top: -40px;
   right: -160px;
   z-index: -2;
   --imageSize: 700px;
}
.message_image_circle {
   width: var(--imageSize);
   height: var(--imageSize);
   max-inline-size: initial;
}
.message_image_arrow {
   position: absolute;
   top: 0;
   left: 50%;
   z-index: 1;
   width: var(--imageSize);
   height: var(--imageSize);
   animation: rotate 20s linear infinite;
   translate: -50% 0;
   max-inline-size: initial;
}
@keyframes rotate {
   0% {
      rotate: 0deg;
   }
   100% {
      rotate: 360deg;
   }
}

@media (max-width: 960px) {
   .message_image {
      position: relative;
      top: -160px;
      right: 0;
      left: 0;
      margin: auto;
      display: flex;
      justify-content: center;
      --imageSize: 100%;
   }
   .message_hero {
      right: 0;
      left: 0;
      margin: auto;
      width: 70%;
   }
}

@media (max-width: 560px) {
   .message_image {
      top: -120px;
      --imageSize: 180%;
   }
   .message_hero {
      width: 100%;
   }
}

/******************************
special movie
******************************/
#special_movie {
   padding-top: 64px;
}

@media (max-width: 560px) {
   #special_movie {
      padding-top: 40px;
   }
}

.special_movie_heading_container {
   text-align: center;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   color: var(--color-blue);
}

.special_movie_heading {
   font-size: 32px;
   display: flex;
   align-items: center;
   justify-content: center;
   background-color: #fff;
   height: 72px;
   padding: 0 80px;
   border-radius: 100vh;
   font-weight: bold;
   position: relative;
   --bracket-width: 48px;
   --bracket-height: 72px;
}
.special_movie_heading:before {
   position: absolute;
   left: 0;
   content: "";
   width: var(--bracket-width);
   height: var(--bracket-height);
   border-radius: 100vh 0 0 100vh;
   border-left: 4px solid var(--color-blue);
   border-top: 4px solid var(--color-blue);
   border-bottom: 4px solid var(--color-blue);
}
.special_movie_heading:after {
   position: absolute;
   right: 0;
   content: "";
   width: var(--bracket-width);
   height: var(--bracket-height);
   border-radius: 0 100vh 100vh 0;
   border-right: 4px solid var(--color-blue);
   border-top: 4px solid var(--color-blue);
   border-bottom: 4px solid var(--color-blue);
}

@media (max-width: 560px) {
   .special_movie_heading {
      font-size: 15px;
      height: 50px;
      padding: 0 32px;
      --bracket-width: 24px;
      --bracket-height: 52px;
   }
}

.special_movie_heading_large {
   font-size: 32px;
   font-weight: bold;
   margin-top: 48px;
}
@media (max-width: 560px) {
   .special_movie_heading_large {
      font-size: 20px;
      margin-top: 32px;
   }
}

.special_movie_heading_small {
   font-size: 24px;
   font-weight: bold;
   margin-top: 24px;
}

@media (max-width: 560px) {
   .special_movie_heading_small {
      font-size: 14px;
      margin-top: 20px;
      line-height: 1.4;
   }
}

.special_movie_thumbnail_container {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   margin-top: 32px;
   gap: 40px;
}
@media (max-width: 960px) {
   .special_movie_thumbnail_container {
      flex-direction: column-reverse;
      gap: 16px;
   }
}

.special_movie_thumbnail {
   width: 67%;
   flex-shrink: 0;
   aspect-ratio: 16/9;
   border-radius: 25px;
   overflow: clip;
}

.special_movie_thumbnail iframe {
   width: 100%;
   height: 100%;
}

.special_movie_thumbnail_hero {
   position: relative;
   width: 100%;
}

.special_movie_thumbnail_hero_img {
   width: 72%;
}
@media (max-width: 960px) {
   .special_movie_thumbnail_hero_img {
      width: 250px;
   }
}
@media (max-width: 560px) {
   .special_movie_thumbnail_hero_img {
      width: 150px;
   }
}

.special_movie_thumbnail_hero_comment {
   width: 56%;
   position: absolute;
   top: -87px;
   right: 16px;
}
@media (max-width: 960px) {
   .special_movie_thumbnail {
      width: 100%;
   }
   .special_movie_thumbnail_hero {
      display: flex;
      justify-content: center;
   }
   .special_movie_thumbnail_hero_img {
      margin-left: -64px;
   }
   .special_movie_thumbnail_hero_comment {
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      translate: 72% 0;
      width: 164px;
   }
}
@media (max-width: 560px) {
   .special_movie_thumbnail_hero_img {
      margin-left: -120px;
   }
   .special_movie_thumbnail_hero_comment {
      top: -16px;
      width: 164px;
      translate: 40% 0;
   }
}

/* carousel */

.special_movie_carousel {
   margin-top: 80px;
   position: relative;
}

.special_movie_carousel_pipe {
   position: absolute;
   height: 48px;
   width: auto;
   z-index: 1;
   max-inline-size: initial;
   max-block-size: initial;
}

.special_movie_carousel_pipe:first-child {
   top: -24px;
   left: -20%;
   rotate: 180deg;
}

.special_movie_carousel_pipe:last-child {
   bottom: 16px;
   right: 0;
}

@media (max-width: 960px) {
   .special_movie_carousel_pipe {
      height: 32px;
   }
   .special_movie_carousel_pipe:last-child {
      bottom: 35px;
      right: -40%;
   }
}

@media (max-width: 560px) {
   .special_movie_carousel {
      margin-top: 24px;
   }
   .special_movie_carousel_pipe:first-child {
      top: -16px;
      left: -120%;
   }
   .special_movie_carousel_pipe:last-child {
      right: -120%;
   }
}

.embla__viewport {
   overflow: hidden;
}
.embla__container {
   display: flex;
}
.embla__slide {
   flex: 0 0 calc((100% - 16px - 100px) / 3);
   aspect-ratio: 16/9;
   min-width: 0;
   position: relative;
   border-radius: 12px;
   overflow: clip;
   margin: 0 4px;
}

@media (max-width: 960px) {
   .embla__slide {
      flex: 0 0 calc((100% - 16px - 100px) / 2);
   }
}
@media (max-width: 560px) {
   .embla__slide {
      flex: 0 0 calc((100% - 16px - 80px) / 1);
   }
}

.embla__slide img {
   position: absolute;
   inset: 0;
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.embla__viewport {
   padding: 0 50px;
}

.embla__buttons {
   position: absolute;
   width: 100%;
   top: 42%;
   translate: 0 -50%;
   z-index: 1;
   pointer-events: none;
}
.embla__buttons .inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
}
.embla__button {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   border: none;
   background: rgba(255, 255, 255, 0.8);
   pointer-events: auto;
   cursor: pointer;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: scale var(--transition);
}

.embla__button:after {
   position: absolute;
   inset: 0;
   margin: auto;
   content: "";
   width: calc(100% - 3px);
   height: calc(100% - 3px);
   border: 1px solid var(--color-blue);
   border-radius: 50%;
}

.embla__button:hover {
   scale: 1.1;
}

.embla__dots {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-top: 32px;
}
.embla__dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: var(--color-blue1);
   cursor: pointer;
   transition: scale var(--transition);
}
.embla__dot:hover {
   scale: 1.1;
}

.embla__dot.is-selected {
   background: var(--color-blue);
}

@media (max-width: 960px) {
   .embla__buttons {
      top: auto;
      bottom: -42px;
   }
   .embla__dots {
      margin-top: 42px;
   }
}

/******************************
introduction
******************************/
#introduction {
   padding-top: 64px;
}

@media (max-width: 560px) {
   #introduction {
      padding-top: 80px;
   }
}

.introduction_card {
   background-color: #fff;
   padding: 72px 56px;
   border-radius: 25px;
   position: relative;
   z-index: 1;
   overflow: hidden;
}
@media (max-width: 560px) {
   .introduction_card {
      padding: 24px;
      border-radius: 15px;
   }
}

.introduction_card_hero {
   position: absolute;
   bottom: 0;
   right: -16px;
   z-index: -1;
   height: 85%;
   width: auto;
}

@media (max-width: 960px) {
   .introduction_card {
      padding-bottom: 0;
   }
   .introduction_card_hero {
      position: relative;
      bottom: -2px;
      right: 0;
      margin: 80px auto 0;
      display: block;
      width: 72%;
      height: auto;
      max-block-size: initial;
      max-inline-size: initial;
   }
}

@media (max-width: 560px) {
   .introduction_card_hero {
      margin-top: 40px;
      width: 120%;
      translate: -50% 0;
      left: 45%;
   }
}

.introduction_card_title {
   font-size: min(48px, 3.2vw);
   font-weight: 700;
   color: var(--color-blue);
   line-height: 1.4;
}

.introduction_card_text {
   font-size: min(18px, 1.2vw);
   font-weight: bold;
   line-height: 2;
   color: var(--color-black1);
   margin-top: 80px;
}

@media (max-width: 960px) {
   .introduction_card_title {
      font-size: 40px;
   }
   .introduction_card_text {
      font-size: 18px;
      margin-top: 40px;
   }
}

@media (max-width: 560px) {
   .introduction_card_title {
      font-size: 20px;
   }
   .introduction_card_text {
      margin-top: 16px;
      font-size: 14px;
   }
}

.introduction_link_list {
   margin-top: 120px;
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 32px;
}

@media (max-width: 960px) {
   .introduction_link_list {
      margin-top: 40px;
      grid-template-columns: 1fr;
      gap: 40px;
   }
}

.introduction_link {
   color: var(--color-blue);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 24px;
}

.introduction_link_thumbnail {
   border-radius: 10px;
   width: 100%;
   aspect-ratio: 16/9;
   overflow: clip;
   position: relative;
}

.introduction_link_thumbnail img {
   position: absolute;
   object-fit: cover;
   width: 100%;
   height: 100%;
   transition: scale var(--transition);
}

.introduction_link_title {
   font-size: 18px;
   font-weight: bold;
   text-align: center;
}

.introduction_link_more {
   background-color: #fff;
   display: block;
   width: 160px;
   height: 40px;
   border-radius: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: bold;
   gap: 12px;
   transition: background-color var(--transition), color var(--transition);
}

@media (max-width: 560px) {
   .introduction_link_more {
      width: 100%;
   }
}

.introduction_link_more svg path {
   transition: fill var(--transition);
}

.introduction_link:hover .introduction_link_thumbnail img {
   scale: 1.05;
}

.introduction_link:hover .introduction_link_more {
   background-color: var(--color-blue);
   color: #fff;
}

.introduction_link:hover .introduction_link_more svg path {
   fill: #fff;
}

/******************************
TV_CM
******************************/
#TV_CM {
   padding: 80px 0 56px;
}

.TV_CM_list {
   display: flex;
   flex-direction: column;
   gap: 64px;
}

.TV_CM_item {
   display: flex;
   flex-direction: column;
   align-items: center;
   width: 100%;
   gap: 48px;
}
@media (max-width: 560px) {
   .TV_CM_item {
      gap: 24px;
   }
}

.TV_CM_item_title {
   font-size: 32px;
   font-weight: bold;
   text-align: center;
   color: var(--color-blue);
}
@media (max-width: 560px) {
   .TV_CM_item_title {
      font-size: 20px;
   }
}

.TV_CM_item_thumbnail_container {
   position: relative;
   width: 100%;
   z-index: 1;
}

.TV_CM_item_thumbnail_frame {
   position: absolute;
   top: -10%;
   left: -6%;
   width: 127%;
   height: auto;
   max-inline-size: initial;
   max-block-size: initial;
   pointer-events: none;
   z-index: 1;
}

.TV_CM_item_thumbnail {
   width: 100%;
   aspect-ratio: 16/9;
   border-radius: 8px;
   overflow: clip;
   position: relative;
}

.TV_CM_item_thumbnail iframe {
   width: 100%;
   height: 100%;
   inset: 0;
   position: absolute;
   opacity: 0;
   transition: opacity var(--transition);
   pointer-events: none;
}

.TV_CM_item_thumbnail iframe.active {
   opacity: 1;
   pointer-events: auto;
}

.TV_CM_item_switch {
   display: flex;
   background: linear-gradient(
      180deg,
      rgba(219, 222, 225, 1) 0%,
      rgba(208, 220, 228, 1) 100%
   );
   padding: 8px;
   border-radius: 100vh;
   position: relative;
   z-index: 1;
}

.TV_CM_item_switch_btn {
   width: 257px;
   height: 54px;
   border-radius: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   font-weight: bold;
   color: var(--color-red1);
   cursor: pointer;
   background-color: transparent;
   opacity: 0.3;
   transition: background-color var(--transition), opacity var(--transition);
}

@media (max-width: 560px) {
   .TV_CM_item_switch_btn {
      width: 160px;
      height: 40px;
      font-size: 15px;
   }
}

.TV_CM_item_switch_btn.active {
   background-color: white;
   opacity: 1;
}

/******************************
talent
******************************/
#talent {
   padding: 64px 0 120px;
   background: linear-gradient(
      153deg,
      rgba(219, 102, 0, 1) 0%,
      rgba(230, 0, 32, 1) 100%
   );
}

@media (max-width: 560px) {
   #talent {
      padding: 48px 0 24px;
   }
}

.talent_card_list {
   display: flex;
   flex-direction: column;
   gap: 32px;
}
@media (max-width: 560px) {
   .talent_card_list {
      gap: 16px;
   }
}

.talent_card {
   display: flex;
   align-items: center;
   gap: 32px;
   color: var(--color-black);
}
.talent_card_icon {
   width: 322px;
}

@media (max-width: 960px) {
   .talent_card_icon {
      width: 33%;
   }
}
@media (max-width: 560px) {
   .talent_card {
      flex-direction: column;
      gap: 24px;
   }
   .talent_card_icon {
      width: min(175px, 100%);
   }
}

.talent_card_name {
   font-size: 32px;
   font-weight: bold;
}

.talent_card_description {
   margin-top: 40px;
   font-size: 15px;
   font-weight: 500;
   line-height: 2;
}

.talent_card {
   width: 100%;
   background-color: #fff;
   padding: 48px;
   border-radius: 24px;
}

@media (max-width: 560px) {
   .talent_card_name {
      text-align: center;
      font-size: 20px;
   }
   .talent_card_description {
      font-size: 15px;
      margin-top: 24px;
   }
   .talent_card {
      padding: 24px;
   }
}

/******************************
official sns
******************************/
#official_sns {
   overflow: clip;
   position: relative;
   padding-top: 64px;
}

@media (max-width: 560px) {
   #official_sns {
      padding-top: 24px;
   }
}

#official_sns .inner {
   padding-bottom: 32px;
   z-index: 1;
}

.official_sns_list {
   width: min(100%, 763px);
   margin: auto;
   padding-top: 320px;
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 32px;
}
.official_sns_item {
   height: 120px;
   background-color: #fff;
   border: 4px solid var(--color-blue);
   border-radius: 100vh;
   transition: scale var(--transition);
   display: flex;
   align-items: center;
   justify-content: center;
}
.official_sns_item img {
   max-width: 60%;
}

@media (max-width: 960px) {
   .official_sns_list {
      width: 70%;
      padding-top: 400px;
   }
   .official_sns_item {
      height: auto;
      aspect-ratio: 1;
   }
}
@media (max-width: 560px) {
   .official_sns_list {
      width: 100%;
      padding-top: 320px;
   }
}

.official_sns_item:hover {
   scale: 1.05;
}

.official_sns_hero {
   position: absolute;
   width: 589px;
   height: auto;
   max-width: 100%;
   bottom: 0;
   left: 0;
   right: 0;
   margin: auto;
   z-index: -1;
}

@media (max-width: 560px) {
   .official_sns_hero {
      width: 500px;
      max-width: initial;
      max-inline-size: initial;
      left: 50%;
      right: auto;
      translate: -50% 0;
      bottom: -24px;
   }
}

.official_sns_comment {
   position: absolute;
   width: 418px;
   max-width: 100%;
   top: 40px;
   right: 0;
   margin: auto;
   z-index: -1;
}
.official_sns_comment.__sm {
   display: none;
}
.official_sns_comment.__lg {
   display: block;
}
@media (max-width: 960px) {
   .official_sns_comment {
      width: 320px;
      top: auto;
      bottom: 70%;
      left: 0;
      right: 0;
      margin: auto;
   }
   .official_sns_comment.__sm {
      display: block;
   }
   .official_sns_comment.__lg {
      display: none;
   }
}

@media (max-width: 560px) {
   .official_sns_comment {
      width: 245px;
      /* top: 32px; */
   }
}

/******************************
footer
******************************/
#footer {
   padding: 24px 0 32px;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 16px;
}

#footer .logo {
   width: min(100%, 149px);
}

#footer .copyright {
   font-size: 14px;
   font-weight: bold;
   color: var(--color-black2);
   line-height: 1.5;
   text-align: center;
}
