@charset "UTF-8";
/*
- 共通
- 事前登録ボタン
- 事前登録詳細(必読)ボタン
- デバイスアイコン
- メインコンテンツ
*/

#llp {
  font-family: "M PLUS 2", メイリオ, sans-serif;
  font-size: 14px;
  font-optical-sizing: auto;
  font-style: normal;
  color: #000;
  box-sizing: border-box;
}

/*==================================================
　共通
==================================================*/
#lp_header_area,
#lp_footer_area {
  position: relative;
  z-index: 5;
}

#container {
  overflow: hidden;
}

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

.reserved {
  pointer-events: none;
}

/*==========================================================
　事前登録ボタン
===========================================================*/

#llp .btn a {
  display: block;
  width: 69vw;
  max-width: 506px;
  height: 16vw;
  max-height: 130px;
  margin: 0 auto;
  font-size: 0;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_02.png) no-repeat top center / 100% 300%;
}

.webp #llp .btn a {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_02.webp);
}

#llp .fv_btn .btn a:hover {
  background-position: 0px 50%;
}

#llp .footer_cta .btn a:hover {
  background-position: 0px 50%;
}

#llp .btn .reserved {
  background-position: 0px 100%;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .btn a {
    display: block;
    width: 64vw;
    max-width: 518px;
    height: 17.5vw;
    max-height: 121px;
    margin: 0 auto;
    font-size: 0;
  }

  #llp .btn.pc-circle a {
    width: 218px;
    max-width: 15vw;
    height: 206px;
    max-height: calc(15vw * 599 / 633);
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_01.png);
  }

  .webp #llp .btn.pc-circle a {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_01.webp);
  }

  #llp .fv_btn .btn a:hover {
    background-position: 0 50%;
  }

  #llp .info .btn a:hover {
    background-position: 0 50%;
  }
}

/*==========================================================
　事前登録詳細(必読)ボタン
===========================================================*/
/* 事前登録詳細(必読) */
#llp .detail {
  text-align: center;
}

#llp .detail a {
  display: inline-block;
  margin: 0 auto;
  width: 191px;
  max-width: 22vw;
  height: 116px;
  max-height: 14vw;
  font-size: 0;
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_detail.png);
  background-repeat: no-repeat;
  background-size: 100% 200%;
  background-position: top center;
}

.webp #llp .detail a {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_detail.webp);
}

#llp .detail a:hover {
  background-position: center 100%;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .detail a {
    max-width: 174px;
    max-height: 100px;
  }
}

/*==========================================================
　デバイスアイコン
===========================================================*/
#llp .detail .device,
#llp .detail .fv_device_icon {
  width: 20vw;
  max-width: 102px;
}

/*==========================================================
　メインコンテンツ
===========================================================*/

.section_title {
  position: relative;
  max-width: 60vw;
  margin: 0 auto 20px;
  padding: 0 40px;
  text-align: center;
  z-index: 5;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  .section_title {
    max-width: 50vw;
    margin: 0 auto 40px;
    padding: 0;
  }
}

/*=================================
　fv
=================================*/

#llp .fv {
  position: relative;
  height: 126vw;
  border-top: 0;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_sp.jpg) no-repeat center top / cover;
}

.webp #llp .fv {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_sp.webp);
}

#llp .fv_title {
  position: absolute;
  top: 1vw;
  right: 1.5vw;
  width: 42vw;
  max-width: 586px;
}

#llp .fv_btn {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 5vw;
  width: 70vw;
  margin: auto;
  z-index: 5;
  text-align: right;
}

#llp .fv_btn .detail {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row-reverse;
}

#llp .fv_btn .detail a {
  width: 130px;
  height: 80px;
  margin: 0;
}

#llp .fv_btn .device,
#llp .fv_btn .fv_device_icon {
  max-width: 12vw;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .fv {
    height: 46.5vw;
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_pc.jpg);
    background-position: left top;
    background-size: 100% auto;
  }

  .webp #llp .fv {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_pc.webp);
  }

  #llp .fv_title {
    top: 5vw;
    left: 3vw;
    right: auto;
    width: 25vw;
  }

  #llp .fv_btn {
    width: auto;
    right: auto;
    left: 40vw;
    bottom: 2vw;
    text-align: center;
    margin: 0;
  }

  #llp .fv_btn .detail {
    justify-content: center;
  }

  #llp .fv_btn .detail a {
    max-width: 11vw;
    height: auto;
    max-height: none;
    aspect-ratio: 191 / 116;
    flex-shrink: 0;
  }

  #llp .fv_btn .device,
  #llp .fv_btn .fv_device_icon {
    max-width: 5vw;
  }
}

/*=================================
　reward
=================================*/
#llp .reward {
  padding: 40px 0 50px;
  text-align: center;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_reward.jpg) no-repeat center top / cover;
}

.webp #llp .reward {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_reward.webp);
}

#llp .reward_title {
  margin-bottom: 0;
}

#llp .reward_list {
  padding: 0 15px;
  margin-top: -85vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

#llp .reward_list_item {
  position: relative;
  width: 32%;
  max-width: 450px;
}

#llp .reward_list_item.cleared img {
  filter: grayscale(1);
}

#llp .reward_list_item.cleared::before {
  position: absolute;
  top: -20px;
  right: 0;
  display: block;
  content: "";
  width: 82px;
  max-width: 10vw;
  height: 82px;
  max-height: 10vw;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/icon_clear.png) no-repeat center / contain;
  z-index: 1;
  background-size: cover;
}

.webp #llp .reward_list_item.cleared::before {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/icon_clear.webp);
}

#llp .reward_text {
  margin-top: 10px;
  padding: 0 15px;
  line-height: 1.5;
  font-size: 12px;
  text-align: left;
  color: #fff;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .reward {
    position: relative;
    padding: 80px 10vw 100px;
  }

  #llp .reward_title {
    margin-bottom: 40px;
  }

  #llp .reward_img_01 {
    position: absolute;
    left: 0;
    top: calc(-22vw - 80px);
    max-width: 40vw;
  }

  #llp .reward_img_02 {
    position: absolute;
    right: 0;
    bottom: 20px;
    max-width: 40vw;
  }

  #llp .reward_list {
    width: 60vw;
    max-width: 100%;
    margin: 0 auto 0 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0px;
  }

  #llp .reward_list_item {
    width: auto;
  }
}

/*=================================
　character
=================================*/
#llp .character {
  position: relative;
  padding: 40px 0 50px;
  text-align: center;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character.jpg) no-repeat center top / cover;
  background-size: cover;
}

.webp #llp .character {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character.webp);
}

#llp .character_icon_list {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 0.5vw;
  width: 80vw;
  max-width: 100%;
  margin: 0 auto;
  margin-top: 85vw;
}

#llp .character_icon {
  filter: grayscale(1);
  cursor: pointer;
  transition:
    filter 0.2s,
    transform 0.2s;
}

#llp .character_icon:hover {
  filter: grayscale(0);
  transform: scale(0.95);
}

#llp .character_icon.active {
  filter: grayscale(0);
  transform: scale(0.95);
}

#llp .character_prof {
  position: absolute;
  bottom: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 0.25s,
    visibility 0s linear 0.25s;
}

#llp .character_prof.show {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.25s;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .character {
    padding: 4vw 0 5.5vw;
  }

  #llp .character_icon_list {
    width: 75vw;
    margin-top: 30vw;
    justify-content: flex-end;
  }

  #llp .character_icon_list img {
    max-width: 7vw;
  }

  #llp .character_prof {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  #llp .character_prof img {
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
  }
}

/*=================================
　info
=================================*/
#llp .info {
  position: relative;
  z-index: 1;
  padding: 40px 15px 50px;
  background-size: 130% 107%;
}


#llp .info .btns {
  position: relative;
  top: 1vw;
}

#llp .info .btns .detail {
  padding-top: 10vw;
  padding-bottom: 0;
}

#llp .info_content {
  max-width: 960px;
  margin: 0 auto 0;
  color: #fff;
}

#llp .info_content_box {
  width: 100%;
  display: flex;
  flex-direction: column;
}

#llp .info_content_img {
  text-align: center;
}

#llp .info_content_img img {
  width: 36vw;
}

#llp .info_content_txt {
  width: 100%;
  margin-top: 20px;
  line-height: 1.5;
}

#llp .info_content_txt dl {
  display: flex;
  margin: 0;
}

#llp .info_content_txt dl + dl {
  margin-top: 8px;
}

#llp .info_content_txt dt {
  min-width: 25vw;
  justify-content: center;
}

#llp .info_content_txt dt,
#llp .info_content_txt dd {
  padding: 1vw 1vw;
  min-height: 7.2vw;
  font-size: 2.5vw;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}

#llp .info_content_txt dd {
  width: calc(100% - 25vw);
  margin-left: 6px;
  flex-direction: column;
  align-items: baseline;
  justify-content: center;
}

#llp .info_content_txt dd .small {
  font-size: 2vw;
}

#llp .alert {
  max-width: 100%;
  margin-top: 2vw;
  padding: 20px 15px;
  color: #fff;
  background: rgba(0, 0, 0, 0.72);
  border: 0;
}

#llp .alert_title {
  margin-bottom: 15px;
  font-size: 14px;
  text-align: center;
}

#llp .alert_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#llp .alert_list_item {
  padding-left: 1.5em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 2.5vw;
  text-indent: -1.5em;
  list-style: none;
}

#llp .alert_list_item::before {
  content: "※";
  padding-right: 0.5em;
}

#llp .alert_list_item + .alert_list_item {
  margin-top: 10px;
}

/* PC表示 */
@media screen and (min-width: 769px) {
  #llp .info {
    padding: 80px 15px 100px;
  }

  #llp .info .btns {
    position: relative;
    top: 6vw;
  }

  #llp .info .btns .detail {
    padding-top: 0;
    padding-bottom: 1vw;
  }

  #llp .info_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
  }

  #llp .info_content_box {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 25px;
  }

  #llp .info_content_img {
    width: 23.2%;
  }

  #llp .info_content_img img {
    width: 30vw;
  }

  #llp .info_content_txt {
    width: 75%;
    margin-top: 0;
  }

  #llp .info_content_txt dl + dl {
    margin-top: 4px;
  }

  #llp .info_content_txt dt {
    min-width: 136px;
    text-align: center;
  }

  #llp .info_content_txt dd {
    width: calc(100% - 136px);
    margin-left: 5px;
  }

  #llp .info_content_txt dt,
  #llp .info_content_txt dd {
    padding: 0.2vw 0.5vw;
    min-height: 45px;
    font-size: 16px;
  }

  #llp .info_content_txt dd .small {
    font-size: 11.2px;
  }

  #llp .alert {
    margin-top: 40px;
    padding: 40px 50px;
  }

  #llp .alert_title {
    margin-bottom: 30px;
    font-size: 21px;
  }

  #llp .alert_list_item {
    font-size: 14px;
  }
}

/*==================================================
  全体固定背景
==================================================*/
html,
body {
  margin: 0;
  padding: 0;
  background: #000;
}

#llp .page_fixed_bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

#llp .page_fixed_bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* reward_img は fv 上に食み出るため非表示 */
#llp .reward_img {
  display: none;
}

#llp .reward,
#llp .character,
#llp .info {
  background: none !important;
}

/*=================================
　footer_cta
=================================*/

#llp .footer_cta {
  padding: 40px 15px 50px;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 1);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, rgba(229, 229, 229, 1) 3px, rgba(229, 229, 229, 1) 6px);
}

#llp .footer_cta .detail {
  margin-bottom: 10px;
}

/*==================================================
  fv ボタン位置調整
==================================================*/
@media screen and (min-width: 769px) {
  #llp .fv_btn {
    left: 60vw;
    bottom: 2.3vw;
    width: 15vw;
  }

  #llp .fv_btn .detail {
    align-items: center;
    margin-bottom: 0.15vw;
    transform: translateX(-0.4vw);
  }

  #llp .fv_btn .detail a {
    position: relative;
    top: 0;
    width: 5.9vw;
    max-width: none;
    height: auto;
    max-height: none;
    aspect-ratio: 191 / 116;
    flex-shrink: 0;
    transform: none;
    transition: none;
    background-size: 100% 200%;
    background-position: center 0;
  }

  #llp .fv_btn .fv_device_icon {
    display: block !important;
    width: 5.1vw !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto;
  }

  #llp .fv_btn .detail a:hover {
    top: 0;
    transform: none;
    background-position: center 105%;
  }

  #llp .fv_btn .btn.pc-circle a {
    position: relative;
    top: 0;
    width: 15vw;
    height: calc(15vw * 599 / 633);
    max-width: none;
    max-height: none;
    transform: none;
    transition: none;
    background-size: 100% 300%;
    background-position: center 0;
  }

  #llp .fv_btn .btn.pc-circle a:hover {
    top: 0;
    transform: none;
    background-position: center 49.85%;
  }

  #llp .fv_btn .btn.pc-circle a.reserved {
    background-position: center 100%;
  }
}

/*==================================================
  fv SPレイアウト調整
==================================================*/
@media screen and (max-width: 768px) {
  #llp .fv {
    height: 148.57vw;
    border-top: 0;
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_sp.jpg);
    background-position: center top;
    background-size: 100% auto;
  }

  .webp #llp .fv {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_fv_sp.webp);
  }

  #llp .fv_title {
    top: 5.5vw;
    right: 4.1vw;
    left: auto;
    width: 33.2vw;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  #llp .fv_title img {
    display: block;
    width: 100%;
  }

  #llp .fv_btn {
    right: 0;
    left: 0;
    bottom: 7.8vw;
    width: 100%;
    margin: 0;
    text-align: center;
  }

  #llp .fv_btn .detail {
    position: absolute;
    right: 6.7vw;
    bottom: 21.8vw;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    gap: 1.2vw;
    width: auto;
    margin: 0;
    transform: none;
  }

  #llp .fv_btn .detail a {
    width: 24.9vw !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    aspect-ratio: 191 / 116;
    background-size: 100% 200% !important;
    background-position: center 0;
  }

  #llp .fv_btn .detail a:hover {
    background-position: center 105%;
  }

  #llp .fv_btn .device,
  #llp .fv_btn .fv_device_icon {
    display: block !important;
    width: 11.3vw !important;
    max-width: none !important;
    flex-shrink: 0;
  }

  #llp .fv_btn .btn.pc-circle a {
    --fv-register-crop-top: 1.15vw;
    position: relative;
    overflow: hidden;
    width: 67.5vw;
    height: auto;
    max-width: none;
    max-height: none;
    aspect-ratio: 518 / 138.33;
    background: none !important;
  }

  #llp .fv_btn .btn.pc-circle a::before {
    content: "";
    position: absolute;
    top: calc(var(--fv-register-crop-top) * -1);
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_02.png);
    background-repeat: no-repeat;
    background-size: 100% 300%;
    background-position: center 0;
    pointer-events: none;
  }

  .webp #llp .fv_btn .btn.pc-circle a::before {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/btn_sprite_02.webp);
  }

  #llp .fv_btn .btn.pc-circle a:hover::before {
    background-position: center 48.8%;
  }

  #llp .fv_btn .btn.pc-circle a.reserved::before {
    background-position: center 100%;
  }
}

/*==================================================
  reward PCレイアウト調整
==================================================*/
@media screen and (min-width: 769px) {
  #llp .reward {
    --reward-chara-height: calc(100% - 2vw);
    --reward-chara-bottom: 16vw;
    position: relative;
    overflow: hidden;
    height: 50vw;
    min-height: 0;
    padding: 0;
    background: none;
  }

  #llp .reward_content {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-width: none;
    margin: 0 auto;
  }

  #llp .reward_title {
    position: absolute;
    top: 3.8vw;
    left: 4.9vw;
    z-index: 3;
    width: 36.8vw;
    max-width: none;
    margin: 0;
  }

  #llp .reward_img {
    display: block;
  }

  #llp .reward_img_01 {
    position: absolute;
    top: auto;
    bottom: var(--reward-chara-bottom);
    left: auto;
    right: 0;
    z-index: 3;
    width: auto;
    max-width: none;
    height: var(--reward-chara-height);
    max-height: none;
  }

  #llp .reward_list {
    position: relative;
    z-index: 2;
    display: flex;
    list-style: none;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 56.8vw;
    margin: 16vw 0 0 7.7vw;
    padding: 0;
  }

  #llp .reward_list_item {
    flex: 0 0 auto;
    width: 11.4vw;
    max-width: none;
  }

  #llp .reward_list_item:nth-child(1) {
    width: 11.6vw;
  }

  #llp .reward_list_item:nth-child(5) {
    width: 13.4vw;
    max-width: none;
    margin-top: -5.3vw;
  }

  #llp .reward_list_item img {
    display: block;
    width: 100%;
  }

  #llp .reward_list_item img.sp,
  #llp .reward_img img.sp {
    display: none;
  }

  #llp .reward_list_item.cleared::before {
    top: -1.4vw;
    right: -0.4vw;
    width: 5.7vw;
    height: 5.7vw;
    max-width: 109px;
    max-height: 109px;
  }

  #llp .reward_text {
    display: none;
  }
}

/*==================================================
  features PCレイアウト調整
==================================================*/
@media screen and (min-width: 769px) {
  #llp .features {
    position: relative;
    overflow: hidden;
    height: 52vw;
    padding: 0;
    background: none;
  }

  #llp .features_title {
    position: absolute;
    top: 2vw;
    left: 50%;
    z-index: 4;
    width: 36.8vw;
    max-width: none;
    margin: 0;
    transform: translateX(-52.5%);
  }

  #llp .features_title img,
  #llp .reward_title img,
  #llp .character_title img {
    display: block;
    width: 100%;
  }

  #llp .features_content {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 50vw;
    margin: 2vw 0 0;
    padding: 0;
  }

  #llp .features_swiper,
  #llp .features_list {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  #llp .features_swiper {
    overflow: hidden;
  }

  #llp .features_list {
    list-style: none;
  }

  #llp .features_swiper.features_fallback .features_list {
    display: block;
  }

  #llp .features_swiper.features_fallback .features_item {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
  }

  #llp .features_swiper.features_fallback .features_item.is-active {
    opacity: 1;
    pointer-events: auto;
  }

  #llp .features_item,
  #llp .features_item picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  #llp .features_item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #llp .features_arrow {
    position: absolute;
    top: 56.4%;
    z-index: 5;
    width: 4.1vw;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    filter: drop-shadow(0 0 0 rgba(244, 213, 122, 0));
    transform: translateY(-50%);
    transition:
      filter 0.2s ease,
      opacity 0.2s ease,
      transform 0.2s ease;
  }

  #llp .features_arrow img {
    display: block;
    width: 100%;
  }

  #llp .features_arrow_prev {
    left: 10.7vw;
  }

  #llp .features_arrow_next {
    right: 10.6vw;
  }

  #llp .features_arrow:hover,
  #llp .features_arrow:focus-visible {
    opacity: 1;
    filter: drop-shadow(0 0 0.7vw rgba(244, 213, 122, 0.9));
    transform: translateY(-50%) scale(1.08);
  }

  #llp .features_arrow:active {
    filter: drop-shadow(0 0 0.35vw rgba(244, 213, 122, 0.75));
    transform: translateY(-50%) scale(0.96);
  }

  #llp .features_pagination {
    position: absolute;
    left: 50%;
    bottom: 3.6vw;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55vw;
    transform: translateX(-52.5%);
  }

  #llp .features_pagination .swiper-pagination-bullet,
  #llp .features_bullet {
    display: block;
    width: 1.05vw;
    height: 1.05vw;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.18);
    opacity: 1;
    cursor: pointer;
  }

  #llp .features_pagination .swiper-pagination-bullet-active,
  #llp .features_bullet.is-active {
    background: #f4d57a;
  }
}

/*==================================================
  features SPレイアウト調整
==================================================*/
@media screen and (max-width: 768px) {
  #llp .features {
    position: relative;
    overflow: hidden;
    height: 147.9vw;
    padding: 0;
    background: none;
  }

  #llp .features_title {
    position: absolute;
    top: 5.5vw;
    left: 50%;
    z-index: 4;
    width: 73.8vw;
    max-width: none;
    margin: 0;
    padding: 0;
    transform: translateX(-52.5%);
  }

  #llp .features_title img {
    display: block;
    width: 100%;
  }

  #llp .features_content {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  #llp .features_swiper,
  #llp .features_list {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  #llp .features_swiper {
    overflow: hidden;
  }

  #llp .features_list {
    display: flex;
    list-style: none;
  }

  #llp .features_swiper.features_fallback .features_list {
    display: block;
  }

  #llp .features_swiper.features_fallback .features_item {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
  }

  #llp .features_swiper.features_fallback .features_item.is-active {
    opacity: 1;
    pointer-events: auto;
  }

  #llp .features_item {
    position: relative;
    display: block;
    flex: 0 0 100%;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;
    overflow: hidden;
  }

  #llp .features_item picture,
  #llp .features_item img {
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
  }

  #llp .features_item img {
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }

  #llp .features_swiper {
    touch-action: pan-y;
  }

  #llp .features_arrow {
    display: none;
  }

  #llp .features_pagination {
    position: absolute;
    left: 50%;
    bottom: 5.7vw;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.25vw;
    margin: 0;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  #llp .features_pagination .swiper-pagination-bullet,
  #llp .features_bullet {
    display: block;
    width: 2.7vw;
    height: 2.7vw;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.25vw 0.7vw rgba(0, 0, 0, 0.45);
    opacity: 1;
    cursor: pointer;
  }

  #llp .features_pagination .swiper-pagination-bullet-active,
  #llp .features_bullet.is-active {
    background: #f4d57a;
  }
}

/*==================================================
  character PCレイアウト調整
==================================================*/
@media screen and (min-width: 769px) {
  #llp .character {
    position: relative;
    overflow: hidden;
    height: 50vw;
    padding: 0;
    background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character_pc.jpg) no-repeat center top / cover !important;
  }

  .webp #llp .character {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character_pc.webp) !important;
  }

  #llp .character_title {
    position: absolute;
    top: 3.8vw;
    left: 4.9vw;
    z-index: 4;
    width: 36.8vw;
    max-width: none;
    margin: 0;
  }

  #llp .character_content,
  #llp .character_prof_list {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #llp .character_prof_list {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
  }

  #llp .character_prof {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  #llp .character_prof img.pc {
    position: absolute;
    top: 0;
    bottom: auto;
    left: auto;
    right: 0;
    width: auto;
    max-width: none;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: none;
    object-fit: contain;
    object-position: right bottom;
    transform: none;
  }

  #llp .character_icon_list {
    position: absolute;
    left: 9.1vw;
    bottom: 3vw;
    z-index: 5;
    display: flex;
    justify-content: flex-start;
    gap: 1vw;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #llp .character_icon {
    width: 6.9vw;
    filter: grayscale(1) brightness(0.65);
  }

  #llp .character_icon img {
    display: block;
    width: 100%;
    max-width: none;
  }

  #llp .character_icon:hover,
  #llp .character_icon.active {
    filter: grayscale(0) brightness(1);
    transform: translateY(-0.35vw);
  }

  #llp .character_prof img.sp {
    display: none;
  }
}

/*==================================================
  world PCレイアウト調整
==================================================*/
#llp .world {
  position: relative;
  overflow: hidden;
  background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_sp.jpg) no-repeat center top / cover;
}

.webp #llp .world {
  background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_sp.webp);
}

#llp .world_title img,
#llp .world_content img {
  display: block;
  width: 100%;
}

@media screen and (min-width: 769px) {
  #llp .world {
    height: 50vw;
    padding: 0;
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_pc.jpg);
    background-position: center top;
    background-size: cover;
  }

  .webp #llp .world {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_pc.webp);
  }

  #llp .world_title {
    position: absolute;
    top: 1.9vw;
    left: 52.9vw;
    z-index: 3;
    width: 28.4vw;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  #llp .world_content {
    position: absolute;
    top: 14vw;
    left: 56.8vw;
    z-index: 3;
    width: 38.4vw;
    max-width: none;
    margin: 0;
  }
}

/*==================================================
  world SPレイアウト調整
==================================================*/
@media screen and (max-width: 768px) {
  #llp .world {
    position: relative;
    overflow: hidden;
    height: 139.5vw;
    padding: 0;
    background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_sp.jpg) no-repeat center top / 100% auto;
  }

  .webp #llp .world {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_world_sp.webp);
  }

  #llp .world_title {
    position: absolute;
    top: 7.2vw;
    left: 50%;
    z-index: 3;
    width: 53.3vw;
    max-width: none;
    margin: 0;
    padding: 0;
    transform: translateX(-52.5%);
  }

  #llp .world_title img {
    display: block;
    width: 100%;
  }

  #llp .world_content {
    position: absolute;
    top: 34.9vw;
    left: 50%;
    z-index: 3;
    width: 88.5vw;
    max-width: none;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
  }

  #llp .world_content picture,
  #llp .world_content img {
    display: block;
    width: 100%;
  }
}

/*==================================================
  reward SPレイアウト調整
==================================================*/
@media screen and (max-width: 768px) {
  #llp .reward {
    position: relative;
    overflow: hidden;
    padding: 6.2vw 0 6vw;
    text-align: center;
    background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_common_sp.jpg) repeat-y center top / 100% auto !important;
  }

  .webp #llp .reward {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_common_sp.webp) !important;
  }

  #llp .reward_content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #llp .reward_title {
    position: relative;
    left: 50%;
    width: 73vw;
    max-width: none;
    margin: 0 0 4.8vw;
    padding: 0;
    transform: translateX(-50%);
  }

  #llp .reward_title img {
    display: block;
    width: 100%;
  }

  #llp .reward_img {
    display: none;
  }

  #llp .reward_list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.7vw;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #llp .reward_list_item,
  #llp .reward_list_item:nth-child(1),
  #llp .reward_list_item:nth-child(5) {
    position: relative;
    width: 90.1vw;
    max-width: none;
    margin: 0;
  }

  #llp .reward_list_item:nth-child(5) {
    width: 95.6vw;
  }

  #llp .reward_list_item img.pc {
    display: none;
  }

  #llp .reward_list_item img.sp {
    display: block;
    width: 100%;
  }

  #llp .reward_list_item.cleared img {
    filter: grayscale(1);
  }

  #llp .reward_list_item.cleared::before {
    top: -2.9vw;
    right: 1.8vw;
    width: 13vw;
    height: 13vw;
    max-width: none;
    max-height: none;
  }

  #llp .reward_text {
    display: none;
  }
}

/*==================================================
  character SPレイアウト調整
==================================================*/
@media screen and (max-width: 768px) {
  #llp .character {
    position: relative;
    overflow: hidden;
    height: 148.57vw;
    padding: 0;
    text-align: left;
    background: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character_sp.jpg) no-repeat center top / 100% auto !important;
  }

  .webp #llp .character {
    background-image: url(https://www.nijiyome.com/nijiyome-img/img/contents/reserve/llp/bg_character_sp.webp) !important;
  }

  #llp .character_title {
    position: absolute;
    top: -0.8vw;
    left: 50%;
    z-index: 5;
    width: 73.4vw;
    max-width: none;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
  }

  #llp .character_title img {
    display: block;
    width: 100%;
  }

  #llp .character_content,
  #llp .character_prof_list {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #llp .character_prof_list {
    position: absolute;
    inset: 0;
  }

  #llp .character_prof {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition:
      opacity 0.25s,
      visibility 0s linear 0.25s;
  }

  #llp .character_prof.show {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.25s;
  }

  #llp .character_prof img.pc {
    display: none;
  }

  #llp .character_prof img.sp {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    transform: none;
  }

  #llp .character_icon_list {
    position: absolute;
    left: 3.1vw;
    right: 3.1vw;
    bottom: 6.4vw;
    z-index: 6;
    display: flex;
    justify-content: space-between;
    gap: 0;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #llp .character_icon {
    width: 14.8vw;
    filter: grayscale(1) brightness(0.65);
    cursor: pointer;
    transform: none;
  }

  #llp .character_icon img {
    display: block;
    width: 100%;
    max-width: none;
  }

  #llp .character_icon:hover,
  #llp .character_icon.active {
    filter: grayscale(0) brightness(1);
    transform: none;
  }
}

/*==================================================
  PC/SP表示切替の最終補強
==================================================*/
@media screen and (min-width: 769px) {
  #llp .sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  #llp .pc {
    display: none !important;
  }
}
