body {
  background: #000;
}
.wrapper {
  position: relative;
  width: 100%;
  background: url(../img/mgm/bg_pc.jpg) no-repeat 0 0;
  background-attachment: fixed;
  background-size: cover;
}
.container {
  max-width: 940px;
  margin: 0 auto;
  padding-top: 40px;
}
.offer {
  position: fixed;
  top: 50vh;
  transform: translateY(-50%);
  width: 434px;
}
.offer img {
  width: 100%;
  height: auto;
}
.contents {
  position: relative;
  width: 390px;
  margin: 0 0 0 auto;
  /* overflow: hidden; */
}
@media screen and (max-width: 860px) {
  .offer {
    display: none;
  }
  .contents {
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .offer {
    display: none;
  }
  .container {
    width: 100%;
    padding-top: 0;
  }
  .contents {
    width: 100%;
  }
}

/* header */
#header {
  width: 100%;
}
#header img {
  width: 100%;
  height: auto;
}

.lead {
  width: 100%;
  padding: 28px 1em 24px;
  background-color: var(--white);
  text-align: center;
}
.lead-ttl {
  font-size: 21px;
  font-weight: bold;
  color: var(--shark);
  letter-spacing: 0.05em;
}
.lead-txt {
  margin-top: 1em;
  font-size: 16px;
  color: var(--shark);
}
.lead-link {
  display: inline-block;
  position: relative;
  margin-top: 1em;
  font-size: 16px;
  color: var(--shark-2);
  border-bottom: 1px solid var(--shark-2);
}
.lead-link::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -0.2em;
  width: 0.5em;
  height: 0.5em;
  border-bottom: 1px solid var(--shark-2);
  border-right: 1px solid var(--shark-2);
  transform: rotate(45deg);
  margin-left: 0.5em;
}

/* more */
#more-part {
  width: 100%;
  /* height: 100vh; */
  display: flex;
  align-items: center;
  align-self: stretch;
  flex: 1;
  flex-direction: column-reverse;
  gap: 24px;
  padding: 64px 0 0 0;
  background-color: var(--white);
  color: var(--shark);
  position: relative;
  overflow: hidden;
}

.more_part_block_l {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  justify-content: flex-end;
  flex-grow: 1;
  position: relative;
  padding-top: 75.1%;
}

.more_part_block_r {
  display: flex;
  flex: 1;
  align-items: flex-start;
  flex-direction: column;
  flex-grow: 1;
  gap: 24px;
  position: relative;
  margin: 0 6%;
}

#more-part h2.heading1 {
  margin-top: -1.00px;
  line-height: 40px;
}

.more_part_block_l img {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}

#more-part h2.heading1 {
  width: 100%;
  text-align: center;
}

#more-part p {
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}

.more_part_block_r h2.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

.more_part_block_r p.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.more_part_block_l img.inview_target.target_in {
  animation: more_animation 1.2s forwards;
}

@keyframes more_animation {
  0% {
    transform: translate(-100px, -50px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

/* design */
#design-part {
  display: block;
  padding: 120px 0 120px 0;
  background-color: var(--eerie-black);
  color: var(--gunsmoke);
  position: relative;
}

#design-part .contents__inner {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 40px;
  padding: 0;
  background-color: var(--eerie-black);
  position: relative;
}

.design_ttl_block {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 32px;
  padding: 0px;
  color: var(--gunsmoke);
  position: relative;
  /* text-align: center; */
}

#design-part h3.subcatagory {
  color: var(--gunsmoke);
  width: 100%;
  text-align: left;
}

#design-part h2.heading1 {
  width: 100%;
  color: var(--white);
  line-height: 40px;
}

.design_txt {}

#design-part h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

#design-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.design_txt.inview_target.target_in {
  animation: txt_animation 1.7s forwards;
}

.design_photo {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  margin: 40px auto 0 auto;
  position: relative;
}

.design_photo li {
  width: 100%;
  object-fit: cover;
  position: relative;
}

.design_photo li.inview_target.target_in {
  animation: design_photo_animation 0.6s forwards;
}

.design_photo li:nth-child(2n).inview_target.target_in {
  animation: design_photo_animation 0.9s forwards;
}

@keyframes design_photo_animation {
  0% {
    transform: translate(0, 30px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.design_photo li img {
  width: 100%;
  height: auto;
}

.design_feature {
  width: 100%;
  display: block;
  margin: 40px 0 0 0;
  position: relative;
  /* overflow: inherit; */
}

.design_feature h3 {
  width: auto;
  display: block;
  margin: 0 6.36% 0 6.36%;
}

.design_feature_list {
  width: 100vw;
  height: 453px;
  display: block;
  overflow: hidden;
}

.design_feature_sticky_wrap {
  width: 100%;
  height: auto;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.design_feature_list_contents::-webkit-scrollbar {
  display: none;
}

.design_feature_list_contents {
  width: calc(5*265px + 4*16px + 2*24px);
  display: flex;
  justify-content: space-between;
  margin: 24px 0 0 0;
}

.design_feature_list_contents ul {
  width: calc(5*265px + 4*16px + 2*24px);
  display: flex;
  justify-content: space-between;
  margin: 0 24px;
  gap: 16px;
}

.design_feature_list_contents ul li {
  width: 265px;
  display: block;
}

@media screen and (max-width: 768px) {
  .design_feature_list_contents {
    width: calc(5*265px + 4*16px + 2*6.36vw);
  }

  .design_feature_list_contents ul {
    width: calc(5*265px + 4*16px + 2*6.36vw);
  }

  .design_feature_list_contents ul li {
    width: 265px;
    display: block;
  }
}

.design_feature_list_contents ul.inview_target.target_in {
  opacity: 1;
}

.design_feature_list_contents ul.inview_target.target_in li {
  animation: alpha_on_animation 0.7s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(2) {
  animation: alpha_on_animation 0.9s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(3) {
  animation: alpha_on_animation 1.1s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(4) {
  animation: alpha_on_animation 1.3s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(5) {
  animation: alpha_on_animation 1.5s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(6) {
  animation: alpha_on_animation 1.7s forwards;
}

.design_feature_list_contents ul.inview_target.target_in li:nth-child(7) {
  animation: alpha_on_animation 1.9s forwards;
}

.design_feature_list_contents ul li img {
  width: 100%;
  height: auto;
}

/* signature */
#signature-part {
  width: 100%;
  height: 100vh;
  max-height: 700px;
  display: block;
  background: url(../img/bg_signature.png) no-repeat center center;
  background-size: cover;
  text-align: center;
  position: relative;
  z-index: 1000;
  overflow: hidden;
}

.signature_ttl_block {
  width: 100%;
  height: 100vh;
  max-height: 700px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 24px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1100;
}

#signature-part h2 {
  width: 100vw;
  height: 0;
  display: block;
  padding: 38px 0 0 0;
  background: url(../img/lc_signature.svg) no-repeat center center;
  background-size: contain;
  position: relative;
  z-index: 1200;
  overflow: hidden;
}

#signature-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

#signature-part p.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

.bg_signature {
  width: 100vw;
  height: 100vh;
  position: absolute;
  position: relative;
  z-index: 1050;
}

.bg_signature video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.signature_grad {
  width: 100vw;
  height: 150px;
  display: block;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1060;
  ;
}

/* surprise-part */
#surprise-part {
  width: 100%;
  margin-bottom: -5px;
  padding: 80px 0 0 0;
  background-color: var(--white);
  position: relative;
  top: -5px;
  z-index: 1500;
}

#surprise-part .contents__inner {
  /* width: 600px; */
  display: block;
}

.surprise_ttl_block {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 32px;
  /* padding: 0px 32px; */
  color: var(--gunsmoke);
  position: relative;
  text-align: left;
  /* text-align: center; */
}

#surprise-part h3.subcatagory {
  width: 100%;
  color: var(--sundance);
}

#surprise-part h2.heading1 {
  width: 100%;
  color: var(--shark);
  line-height: 40px;
}

.surprise_txt {}

#surprise-part h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

#surprise-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.surprise_txt.inview_target.target_in {
  animation: txt_animation 1.7s forwards;
}

.surprise_photo {
  width: 100%;
  height: 390px;
  display: block;
  margin: 32px auto 0 auto;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.surprise_grad {
  width: 100%;
  height: 200px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
  position: absolute;
  bottom: 0;
  z-index: 1600;
}

.surprise_photo img {
  width: 100%;
  height: auto;
}

.surprise_photo .surprise_photo_push {
  width: 49%;
  height: 367.984px;
  display: block;
  background: url(../img/surprise_phone.png) no-repeat center bottom;
  background-size: contain;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 25%;
}

.surprise_grad {
  height: 100px;
}

.push_box {
  width: 83%;
  height: 54.17%;
  left: 8.165%;
  display: block;
  position: absolute;
  bottom: 0;
  overflow: hidden;
}

.push_box .surprise_push01,
.push_box .surprise_push02,
.push_box .surprise_push03,
.push_box .surprise_push04,
.push_box .surprise_push05 {
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
}

.push_box .surprise_push01 {
  top: 0;
}

.push_box .surprise_push02 {
  top: 60px;
}

.push_box .surprise_push03 {
  top: 109px;
}

.push_box .surprise_push04 {
  top: 170px;
}

.push_box .surprise_push05 {
  top: 220px;
}

.surprise_photo .surprise_p00 {
  width: 286px;
  left: 504px;
}

.surprise_photo .surprise_p01 {
  width: 193.047px;
  height: 157.555px;
  object-fit: cover;
  position: absolute;
  top: 60.84px;
  left: 194.22px;
}

.surprise_photo .surprise_p02 {
  width: 162.234px;
  height: 118.555px;
  object-fit: cover;
  position: absolute;
  top: 46.8px;
  left: 113.49px;
}

.surprise_photo .surprise_p03 {
  width: 177.836px;
  height: 148.195px;
  object-fit: cover;
  position: absolute;
  top: 48.36px;
  left: 0;
}

.surprise_photo .surprise_p04 {
  width: 154.047px;
  height: 98.2734px;
  object-fit: cover;
  position: absolute;
  top: 23.79px;
  left: 199.68px;
}

.surprise_photo .surprise_p05 {
  width: 173.156px;
  height: 110.367px;
  object-fit: cover;
  position: absolute;
  top: 11.31px;
  left: 82.68px;
}

.surprise_photo .surprise_p06 {
  width: 116.219px;
  height: 74.4844px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 175.89px;
}

.surprise_photo .surprise_p07 {
  width: 104.906px;
  height: 68.6328px;
  object-fit: cover;
  position: absolute;
  top: 18.72px;
  left: 39.39px;
}

.surprise_photo.inview_target.target_in {
  opacity: 1;
}

.surprise_photo.inview_target.target_in .surprise_photo_push {
  animation: surprise_phone_animation 0.7s forwards;
}

@keyframes surprise_phone_animation {
  0% {
    transform: translate(0, 50px);
    opacity: 0.7;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p01 {
  animation: surprise_photo1_animation 0.5s ease;
}

@keyframes surprise_photo1_animation {
  0% {
    transform: translate(-80px, 20px) scale(0.6, 0.6);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p02 {
  animation: surprise_photo2_animation 0.5s ease;
}

@keyframes surprise_photo2_animation {
  0% {
    transform: translate(-5px, 90px) scale(0.6, 0.6);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p03 {
  animation: surprise_photo3_animation 0.5s ease;
}

@keyframes surprise_photo3_animation {
  0% {
    transform: translate(120px, 60px) scale(0.5, 0.5);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p04 {
  animation: surprise_photo4_animation 0.5s ease;
}

@keyframes surprise_photo4_animation {
  0% {
    transform: translate(-50px, 110px) scale(0.7, 0.7);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p05 {
  animation: surprise_photo5_animation 0.5s ease;
}

@keyframes surprise_photo5_animation {
  0% {
    transform: translate(10px, 120px) scale(0.5, 0.5);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p06 {
  animation: surprise_photo6_animation 0.5s ease;
}

@keyframes surprise_photo6_animation {
  0% {
    transform: translate(-10px, 170px) scale(0.8, 0.8);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .surprise_p07 {
  animation: surprise_photo7_animation 0.5s ease;
}

@keyframes surprise_photo7_animation {
  0% {
    transform: translate(100px, 170px) scale(0.5, 0.5);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) scale(1, 1);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .push_box .surprise_push01 {
  animation: surprise_push01_animation 10s ease;
}

@keyframes surprise_push01_animation {
  0% {
    opacity: 0;
  }

  5% {
    opacity: 0;
  }

  9% {
    transform: translate(0, 0);
    opacity: 1;
  }

  10% {
    opacity: 1;
  }

  35% {
    transform: translate(0, 0);
    opacity: 1;
  }

  36% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  100% {
    transform: translate(0, -60px);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .push_box .surprise_push02 {
  animation: surprise_push02_animation 10s ease;
}

@keyframes surprise_push02_animation {
  0% {
    opacity: 0;
  }

  15% {
    opacity: 0;
  }

  18% {
    transform: translate(0, 0);
    opacity: 1;
  }

  35% {
    transform: translate(0, 0);
    opacity: 1;
  }

  40% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  45% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  46% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  100% {
    transform: translate(0, -110px);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .push_box .surprise_push03 {
  animation: surprise_push03_animation 10s ease;
}

@keyframes surprise_push03_animation {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  35% {
    transform: translate(0, 0);
    opacity: 1;
  }

  40% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  45% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  53% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  58% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  66% {
    transform: translate(0, -170px);
    opacity: 1;
  }

  100% {
    transform: translate(0, -170px);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .push_box .surprise_push04 {
  animation: surprise_push04_animation 10s ease;
}

@keyframes surprise_push04_animation {
  0% {
    opacity: 0;
  }

  35% {
    transform: translate(0, -60px);
    opacity: 0;
  }

  40% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  45% {
    transform: translate(0, -60px);
    opacity: 1;
  }

  53% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  58% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  66% {
    transform: translate(0, -170px);
    opacity: 1;
  }

  100% {
    transform: translate(0, -170px);
    opacity: 1;
  }
}

.surprise_photo.inview_target.target_in .push_box .surprise_push05 {
  animation: surprise_push05_animation 10s ease;
}

@keyframes surprise_push05_animation {
  0% {
    opacity: 0;
  }

  45% {
    transform: translate(0, -110px);
    opacity: 0;
  }

  50% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  58% {
    transform: translate(0, -110px);
    opacity: 1;
  }

  66% {
    transform: translate(0, -170px);
    opacity: 1;
  }

  100% {
    transform: translate(0, -170px);
    opacity: 1;
  }
}

/* community-part */
#community-part {
  width: 100%;
  padding: 80px 0 80px 0;
  background-color: var(--white);
  position: relative;
}

#community-part .contents__inner {
  width: auto;
  padding: 0;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 32px;
  /* padding: 0px 32px; */
  color: var(--gunsmoke);
  position: relative;
  /* text-align: center; */
}

#community-part h3.subcatagory {
  width: 100%;
  color: var(--sundance);
}

#community-part h2.heading1 {
  width: 100%;
  color: var(--shark);
  line-height: 40px;
}

.community_txt {
  text-align: left;
}


#community-part h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

#community-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.community_txt.inview_target.target_in {
  animation: txt_animation 1.7s forwards;
}

.community_photo {
  width: 100%;
  height: 200px;
  display: block;
  margin: 48px 0 0 0;
  position: relative;
  overflow: hidden;
}

.community_photo_wrap {
  width: calc(2 * 570px);
  display: flex;
}

.community_photo_wrap.inview_target.target_in {
  opacity: 1;
}

.community_photo_wrap.inview_target.target_in {
  animation: alpha_on_animation 1.5s ease;
}

.community_photo_scroll {
  width: 570px;
  height: 200px;
  display: block;
  position: relative;
  left: 0;
  animation: community_photo_scroll_animation 80s infinite linear;
}

.community_photo_scroll:nth-of-type(2) {
  animation: community_photo_scroll_animation2 80s -40s infinite linear;
}

@keyframes community_photo_scroll_animation {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes community_photo_scroll_animation2 {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

.community_photo img {
  width: 100%;
  height: auto;
}

.community_p01 {
  width: 141.18px;
  display: block;
  position: absolute;
  top: 0;
  left: 0
}

.community_p02 {
  width: 93.5938px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 74.0156px;
}

.community_p03 {
  width: 51.8672px;
  display: block;
  position: absolute;
  top: 34.7422px;
  left: 167.398px
}

.community_p04 {
  width: 129.867px;
  display: block;
  position: absolute;
  top: 73.3281px;
  left: 182.203px
}

.community_p05 {
  width: 53.4297px;
  display: block;
  position: absolute;
  bottom: 6.86719px;
  left: 234.586px
}

.community_p06 {
  width: 134.547px;
  display: block;
  position: absolute;
  top: 9.28906px;
  left: 261.922px
}

.community_p07 {
  width: 106.469px;
  display: block;
  position: absolute;
  top: 98.5781px;
  left: 333.664px
}

.community_p08 {
  width: 85.4062px;
  display: block;
  position: absolute;
  top: 11.9141px;
  left: 455.516px
}

.community_p09 {
  width: 65.9062px;
  display: block;
  position: absolute;
  top: 150.898px;
  left: 503.344px
}

/* service */
#service-part {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 2000;
}

.service_sticky_wrap {
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.service_scroll_block {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 2400;
}

.service_scroll_block article {
  /* width: 980px; */
  margin: 0 auto 0 auto;
}

.bg_travel {
  width: 100vw;
  height: 100vh;
  background: url(../img/bg_travel.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2030;
  opacity: 0;
}

.bg_dining {
  width: 100vw;
  height: 100vh;
  background: url(../img/bg_dining.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2020;
  opacity: 0;
}

.bg_lifestyle {
  width: 100vw;
  height: 100vh;
  background: url(../img/bg_lifestyle.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2010;
  opacity: 0;
}

.bg_travel.on,
.bg_dining.on,
.bg_lifestyle.on {
  opacity: 1;
  animation: service_bg_on_animation 0.8s ease-in;
}

@keyframes service_bg_on_animation {
  0% {
    opacity: 0.5;
  }

  100% {
    opacity: 1;
  }
}

.bg_travel.off,
.bg_dining.off,
.bg_lifestyle.off {
  animation: alpha_off_animation 1.5s ease-out;
}

.service_ttl_block {
  /* width: 980px; */
  display: flex;
  flex: 0 0 auto;
  align-items: left;
  flex-direction: column;
  gap: 32px;
  margin: 0 6.36%;
  padding: 0;
  text-align: left;
  position: absolute;
  top: 80px;
  left: 0;
  z-index: 2100;
}

.service_ttl_block h2.inview_target.target_in,
.service_ttl_block h3.inview_target.target_in {}

.service_ttl_block h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.service_ttl_block h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

.service_part_ttl {
  color: var(--white-2);
  font-family: var(--font-family-inter);
  font-size: 100px;
  font-weight: 400;
  letter-spacing: 5.00px;
  line-height: 50px;
  opacity: 0.7;
  position: absolute;
  top: 202px;
  left: -166px;
  transform: rotate(90.00deg);
}

.bg_dining .service_part_ttl {
  top: 185px;
  left: -154px;
}

.bg_lifestyle .service_part_ttl {
  top: 275px;
  left: -244px;
}

.bg_travel.on .service_part_ttl,
.bg_dining.on .service_part_ttl,
.bg_lifestyle.on .service_part_ttl {
  animation: service_ttl_animation 1.5s forwards;
}

@keyframes service_ttl_animation {
  0% {
    transform: translate(0, 50px) rotate(90.00deg);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0) rotate(90.00deg);
    opacity: 0.7;
  }
}

#service-part .contents__inner {
  display: block;
  position: relative;
}


.service_ttl_block.off {
  animation: service_ttl_block_off_animation 0.8s ease;
  opacity: 0;
}

@keyframes service_ttl_block_off_animation {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }

  100% {
    transform: translate(0, -30px);
    opacity: 0;
  }
}

.service_ttl_block.on {
  animation: service_ttl_block_on_animation 0.8s ease;
  opacity: 1;
}

@keyframes service_ttl_block_on_animation {
  0% {
    transform: translate(0, -30px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}


.service_part_block_l {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  flex-direction: column;
  gap: 32px;
  padding: 260px 32px 0px 32px;
  position: relative;
  text-align: left;
}

.service_part_block_r {
  /* width: 620px; */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin: 30px 0 0 0;
  position: relative;
}
#service-travel .service_part_block_r {
  margin: 260px 0 0 0;
}


.service_part_block_l h3.subcatagory {
  width: 100%;
  text-align: left;
}

.service_part_block_l h2.heading1 {
  line-height: 40px;
}

.service_ttl {
  width: 100%;
  color: var(--white-2);
  align-self: stretch;
  letter-spacing: 1.20px;
  line-height: 29px;
  text-align: right;
  position: relative;
}

.service_list {
  width: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 120px;
  position: relative;
}

.service_list li {
  width: 100%;
  display: flex;
}

.service_list li dl {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 16px;
  padding: 16px 24px 24px;
  background-color: var(--white-2);
  color: var(--shark);
  border-radius: 8px;
  backdrop-filter: blur(10px) brightness(100%);
  -webkit-backdrop-filter: blur(10px) brightness(100%);
  position: relative;
  overflow: hidden;
}

.service_list li.plus dl {
  background: url(../img/icon_plus.svg) no-repeat right 24px bottom 24px;
  background-size: 16px auto;
  background-color: var(--white-2);
  cursor: pointer;
}

.service_list li dl dt {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 16px;
}

.service_list li.plus dl dd p {
  padding-right: 40px;
}

.service_icon {
  height: 32px;
}

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

.service_icon img {
  width: auto;
  height: 32px;
}

.service_icon.wellness {
  height: auto;
}

.service_icon.wellness img {
  width: 40px;
  height: auto;
  vertical-align: middle;
}

#service-float-part {
  width: 100vw;
  height: 100vh;
  display: none;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

#service-float-part.on {
  display: flex;
  animation: alpha_on_animation 0.5s linear;
}

#service-float-part.off {
  display: none;
  animation: service_float_off_animation 0.8s linear;
  opacity: 0;
}

@keyframes service_float_off_animation {
  0% {
    display: flex;
    opacity: 1;
  }

  50% {
    display: flex;
    opacity: 1;
  }

  100% {
    opacity: 0;
    display: none;
  }
}

#service-float-bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  /* background: #000; */
}

.service_float_box {
  width: 87.28%;
  height: 90vh;
  max-height: 540px;
  background-color: var(--white);
  border-radius: 8px;
  position: absolute;
  top: 5vh;
  opacity: 0;
  overflow: hidden;
}

#service-float-part.on .service_float_box {
  animation: float_service_box_animation 1s forwards;
}

@keyframes float_service_box_animation {
  0% {
    transform: translate(0, 120vh);
    opacity: 0;
  }

  50% {
    transform: translate(0, 120vh);
    opacity: 1;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

#service-float-part.off .service_float_box {
  animation: float_service_box_off_animation 0.8s forwards;
}

@keyframes float_service_box_off_animation {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }

  50% {
    transform: translate(0, 120vh);
    opacity: 1;
  }

  100% {
    transform: translate(0, 120vh);
    opacity: 1;
  }
}

.service_float_content {
  height: 100%;
  display: none;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.business_voices_list::-webkit-scrollbar {
  display: none;
}

.service_float_box dl {
  width: 100%;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  gap: 48px;
  color: var(--shark);
  padding: 0 0 48px 0;
}

.service_float_box dl img {
  width: 100%;
  height: auto;
}

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

  .service_float_box dl {
    align-items: flex-start;
    flex-direction: row;
    gap: 0;
    padding: 0;
  }

  .service_float_box dt {
    display: block;
    width: 50%;
    position: sticky;
    top: 0;
  }

  .service_float_box dl img {
    height: 540px;
    object-fit: cover;
  }
}

.service_float_box dd {
  width: 100%;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  gap: 24px;
  padding: 0 0 0 0;
}

@media screen and (min-width: 769px) {
  .service_float_box dd {
    width: 50%;
    padding: 68px 24px;
  }
}

.float_ttl_block {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 16px;
  padding: 0 24px 0 24px;
  text-align: left;
}

.float_ttl_block .float_ttl_block_txt {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 8px;
}

.float_ttl_note {
  color: var(--gunsmoke);
}

.float_block {
  width: 100%;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  gap: 8px;
}

.float_block h4,
.float_block h5 {
  padding: 0 24px 0 24px;
}

#float_airport .float_block h5 {
  padding: 0 24px 0 56px;
}

#float_airport .float_block h5.infinity {
  background: url(../img/float_ttl_infinity.svg) no-repeat left 24px top;
  background-size: 24px auto;
}

#float_airport .float_block h5.plusone {
  background: url(../img/float_ttl_people.svg) no-repeat left 24px top;
  background-size: 24px auto;
}

#float_airport .float_block h5.restaurant {
  background: url(../img/float_ttl_restaurant.svg) no-repeat left 24px top;
  background-size: 24px auto;
}

#float_airport .float_block h5.massage {
  background: url(../img/float_ttl_massage.svg) no-repeat left 24px top;
  background-size: 24px auto;
}

@media screen and (min-width: 769px) {
  .float_airport_img {
    object-position: right;
  }
}


.float_block p {
  padding: 0 24px 0 24px;
}

.float_block p.target_img {
  padding: 0 24px 0 24px;
}

.float_block p.target_img img {
  width: 100%;
  height: auto;
}

.float_feature {}

.float_feature li {
  display: block;
  padding: 0 24px 0 44px;
  position: relative;
}

.float_feature li:before {
  content: "・";
  width: 20px;
  display: block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 24px;
}

.float_block_list {
  width: 100%;
  display: block;
  overflow: hidden;
}

.float_block_list_contents {
  display: block;
  padding: 0 24px 0 24px;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.business_voices_list::-webkit-scrollbar {
  display: none;
}

.float_block_list_contents ul {
  width: calc(6*72px);
  display: flex;
  gap: 0;
}

.float_block_list_contents ul li {
  width: 72px;
  display: block;
}

.float_block_list_contents ul li img {
  width: 100%;
  height: auto;
}

.float_block_list_contents ul.list2 {
  width: calc(5*72px + 4*16px);
  display: flex;
  gap: 16px;
}

@media screen and (min-width: 769px) {
  .float_block_list_contents ul {
    width: 100%;
    flex-wrap: wrap;
  }

  .float_block_list_contents ul.list2 {
    width: 100%;
  }
}

#float_close {
  width: 40px;
  height: 0;
  display: block;
  padding-top: 40px;
  background: url(../img/icon_close.svg) no-repeat center center;
  background-size: 40px auto;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 11000;
  overflow: hidden;
  cursor: pointer;
}


/* rewards */
#rewards-part {
  display: block;
  padding: 80px 0 290px 0;
  background-color: var(--gallery);
  color: var(--shark);
  text-align: center;
  position: relative;
  z-index: 4000;
}

#rewards-part .contents__inner {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 24px;
  /* padding: 0 24px 0 24px; */
  text-align: left;
}

.rewards_ttl_block {
  width: 100%;
  display: block;
  padding-bottom: 62.8%;
  text-align: left;
  position: relative;
}

.rewards_ttl_block .rewards_cards {
  width: 100%;
  height: auto;
  position: absolute;
  /* top: 11px; */
  left: 0;
  bottom: 20px;
}

.rewards_ttl_block .rewards_cards.inview_target.target_in {
  animation: rewards_cards_animation 1.2s forwards;
}

@keyframes rewards_cards_animation {
  0% {
    transform: translate(0, 50px) rotateX(320deg);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0) rotateX(360deg);
    opacity: 1;
  }
}

.rewards_ttl_block .contents__inner {
  /* width: 490px; */
  gap: 32px;
  /* padding: 0 32px 0 32px; */
  position: relative;
  top: 11px;
  /* left: calc(50% - 480px); */
}

.rewards_ttl_block h3.subcatagory {
  margin-top: -1.00px;
  color: var(--gunsmoke);
}

.rewards_ttl_block h2.heading1 {
  color: var(--shark);
  line-height: 40px;
  letter-spacing: 1.28px
}

.rewards_ttl_block .rewards_txt {
  margin-top: -1.00px;
  color: var(--gunsmoke);
}

.rewards_ttl_block .rewards_txt span {
  color: var(--shark);
}

#rewards-part h3.heading2.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

.rewards_txt.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.rewards-part-list {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  align-self: stretch;
  gap: 12px;
  background-color: var(--white);
  border-radius: 8px;
  padding: 24px 0px;
  position: relative;
  z-index: 4100;
}

.rewards-part-list.inview_target.target_in {
  animation: alpha_on_animation 1s forwards;
}

.rewards-part-list li {
  width: 100%;
  display: none;
  padding: 16px 3.3% 0px;
  border-top: 1px solid var(--quill-gray);
  position: relative;
}

.rewards-part-list li.on {
  display: block;
}

.rewards-part-list li:first-child {
  display: block;
  margin-bottom: 0.5em;
  padding-top: 0;
  border-top: none;
  position: relative;
  z-index: 4200;
}

.rewards-part-list li dl {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  font-size: 15px;
}

.rewards-part-list li .usage {
  width: 240px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-family-inter);
  font-size: var(--font-size-m);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
  width: 34%;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  text-align: left;
}

.rewards-part-list li:first-child .usage p {
  display: flex;
  align-items: end;
  height: 76px;
  font-size: 15px;
}

.rewards-part-list li .usage p {
  width: 100%;
  text-align: left;
  font-size: 15px;
}

.rewards-part-list li .points {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 24px;
  position: relative;
  width: 58%;
  gap: 16px;
}

.rewards-part-list li .points small {
  display: inline-block;
  font-size: 90%;
  margin-left: 1px;
}

.rewards-part-list li .points .card_kinds,
.rewards-part-list li .points .card_other {
  width: 240px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: relative;
  width: 48%;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.rewards-part-list li .points .card_kinds p,
.rewards-part-list li .points .card_other p {
  width: 100%;
  text-align: right;
}

.select_float_box {
  display: none;
}

.select_float_box.open {
  width: 240px;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  gap: 0;
  padding: 0 0 0 0;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  font-family: var(--font-family-inter);
  position: absolute;
  top: 58px;
  left: 0;
  animation: float_box_animation 0.5s forwards;
  transform-origin: top left;
  width: 228px;
  top: 83px;
  left: -56px;
}

@keyframes float_box_animation {
  0% {
    transform: scale(1, 0);
    opacity: 0;
  }

  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}

.select_float_item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 17px 18px 18px 18px;
  border-top: 1px solid var(--quill-gray);
  cursor: pointer;
}

.select_float_item:hover {
  background-color: var(--gallery);
}

.select_float_item:nth-of-type(1) {
  margin: 0 0 0 0;
  padding: 18px 18px 18px 18px;
  border-top: none;
}

.select_float_item:last-of-type {
  padding: 18px 18px 18px 18px;
  ;
}

.card_float_img_name {
  width: 116px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.card_float_name {
  display: block;
  margin-left: 12px;
}

.card_float_per {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: var(--font-size-l);
  font-weight: 700
}

.card_float_per span {
  font-size: var(--font-size-m);
  font-weight: 400;
}

.select_kinds_box {
  display: block;
  padding: 10px 15px 10px 15px;
  background: url(../img/ico_select_down.svg) no-repeat right 40px top 29px;
  background-size: 16px auto;
  background-color: var(--gallery);
  border-radius: 8px;
  position: relative;
  top: -10px;
  background: url(../img/ico_select_down.svg) no-repeat right 8px top 72px;
  background-size: 8px auto;
  background-color: var(--gallery);
}

.select_kinds.open .select_kinds_box {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
  background: none;
  background-color: var(--white);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
}

.select_kinds {
  width: 48%;
  height: 76px;
}

#card_other.select_kinds {
  overflow: hidden;
}

.rewards-part-list li .points .per_point {
  width: 125px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 100%;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.rewards-part-list li .points .per_point span {
  width: 100%;
  display: block;
  text-align: right;
}

.rewards-part-list li .points .card_kinds .bar,
.rewards-part-list li .points .card_other .bar {
  width: 72px;
  height: 4px;
  position: relative;
  transform-origin: left top;
  width: 100%;
  text-align: right;
  transform-origin: top right;
  line-height: 0;
}

.rewards-part-list.inview_target.target_in li .points .card_kinds .bar,
.rewards-part-list.inview_target.target_in li .points .card_other .bar {
  animation: rewards_line_animation 1.2s forwards;
}

.rewards-part-list li .points .card_kinds .bar span {
  width: 0;
  height: 4px;
  display: inline-block;
  background: linear-gradient(90deg, rgb(224, 209, 135) 0%, rgb(233.91, 159, 159) 100%);
  border-radius: 4px;
  position: relative;
}

.rewards-part-list li .points .card_other .bar span {
  width: 0;
  height: 4px;
  display: inline-block;
  background: var(--gunsmoke);
  border-radius: 4px;
  position: relative;
}

.bar100 span {
  width: 100% !important;
}

.bar80 span {
  width: calc(72px * 0.8) !important;
}

.bar66 span {
  width: calc(72px * 0.66) !important;
}

.bar50 span {
  width: 50% !important;
}

.bar40 span {
  width: calc(72px * 0.4) !important;
}

.bar30 span {
  width: calc(72px * 0.3) !important;
}

.bar25 span {
  width: calc(72px * 0.25) !important;
}

.bar16 span {
  width: calc(100% * 6000/36000) !important;
}

.bar15 span {
  width: calc(72px * 0.15) !important;
}

.bar13 span {
  width: calc(72px * 0.13) !important;
}

.bar12 span {
  width: calc(72px * 0.12) !important;
}

.bar6 span {
  width: calc(72px * 0.06) !important;
}

.bar5 span {
  width: calc(72px * 0.05) !important;
}

.getpoint {
  margin-left: -1px;
  margin-top: -1.00px;
  color: var(--shark);
  font-weight: 700;
  line-height: 30px;
  white-space: nowrap;
  position: relative;
  text-align: right;
  font-size: 15px;
  line-height: 1.75;
}

.card_kind_item {
  /* width: 210px; */
  display: none;
  justify-content: center;
  text-align: center;
  position: relative;
  cursor: pointer;
}

#card_kinds02,
#card_kinds03 {
  display: none;
}

#card_kinds .card_kind_item.on,
#card_other .card_kind_item.on {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
}

.card_kind_item:nth-of-type(1) {
  margin-top: 0;
}

#card_other .card_kind_item {
  margin-top: 0;
}

.card_kind_img {
  width: 30px;
  display: inline-block;
}

.select_float_box img,
.card_kind_img img {
  width: 30px;
  height: auto;
}

.card_kind_img.card_gray {
  width: 30px;
  height: 48px;
  display: inline-block;
  background-color: var(--gallery);
  border-radius: 3px;
  position: relative;
}

.card_kind_item .card_kind_name {
  /* width: 90px; */
  display: block;
  margin: 8px 0 0 0;
  line-height: 48px;
  text-align: left;
  font-size: 11.5px;
  line-height: 1.75;
  text-align: center;
}

#card_other .card_kind_item .card_kind_name {
  margin: 8px 0 0 0;
}

.point_change_go {
  text-align: center;
}

.point_change_go.inview_target.target_in {
  animation: rewards_part_list_animation 1.5s forwards;
}

.point_change_go p {
  display: inline-block;
  padding: 0 0 0 43px;
  background: url(../img/ico_changepoint.svg) no-repeat left center;
  background-size: 34.64px auto;
  text-align: center;
}

.point_change {
  display: none;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: stretch;
  gap: 24px;
  position: relative;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
}

.point01_comp.on,
.point02_comp.on,
.point03_comp.on,
.point_change.on {
  display: flex;
  opacity: 1;
  animation: alpha_on_animation 1.5s forwards;
}

.point_change_block {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: flex-start;
  align-self: stretch;
  gap: 16px;
  background-color: var(--white);
  border-radius: 8px;
  padding: 24px 0px;
  position: relative;
}

.point_change_block .heading3 {
  display: inline-block;
  padding: 0 0 0 34px;
  line-height: 28px;
  text-align: center;
}

.point_change_block .heading3 span {
  font-size: var(--font-size-xxs);
}

.point_change_block_ttl {
  width: 100%;
  display: block;
  padding: 0 0 16px 0;
  border-bottom: 1px solid var(--quill-gray);
  text-align: center;
}

.point_change_block_ttl.cashback .heading3 {
  background: url(../img/icon_cash.svg) no-repeat left center;
  background-size: 26px auto;
}

.point_change_block_ttl.giftcard .heading3 {
  background: url(../img/icon_point.svg) no-repeat left center;
  background-size: 26px auto;
}

.point_change_block_ttl.miles .heading3 {
  background: url(../img/icon_airport.svg) no-repeat left center;
  background-size: 26px auto;
}

.point_change_exp {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  align-self: stretch;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  padding: 0 24px 0 24px;
  position: relative;
}

.point_change_txt {
  height: auto;
  color: var(--shark);
}

.point_change_graph {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  align-self: stretch;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  position: relative;
}

.point_change_graph li {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  align-self: stretch;
  position: relative;
}

.point_change_cards {
  width: 110px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.point_change_cards .card_img {
  width: 30.47px;
  height: 48px;
  position: relative;
}

.point_change_cards .card_img {
  width: 30.47px;
  height: 48px;
  display: block;
  background-color: var(--gallery);
  border-radius: 3px;
  position: relative;
}

.point_change_cards .card_img img {
  width: 100%;
  height: auto;
}

.point_change_cards .point_change_name {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  font-family: var(--font-family-inter);
  /* font-size: var(--font-size-m); */
  font-size: 15px
}

.point_change_cards .point_change_name .rewardscatch {
  line-height: 20px;
  font-size: 15px
}

.point_change_rod {
  width: calc(100% - 100px);
  height: 40px;
  display: flex;
  align-items: center;
  padding: 16px 5px;
  position: relative;
}

.point_change_rod p {
  font-size: var(--font-size-m);
  position: relative;
  font-size: 16px;
  z-index: 4300;
}

.point_change_rod p span {
  font-family: var(--font-family-inter);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.card_lc .point_change_rod:after {
  content: "";
  width: 100%;
  height: 40px;
  background: linear-gradient(90deg, rgb(224, 209, 135) 0%, rgb(233.91, 159, 159) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4202;
  transform-origin: left top;
}

.point_change.inview_target.target_in .card_lc .point_change_rod:after {
  animation: rewards_line_animation 1.2s forwards;
}

@keyframes rewards_line_animation {
  0% {
    transform: scale(0, 1);
  }

  100% {
    transform: scale(1, 1);
  }
}

.card_other .point_change_rod:after {
  content: "";
  width: 100%;
  height: 40px;
  background: var(--quill-gray);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4201;
  animation: rewards_line_animation 1.2s forwards;
  transform-origin: left top;
}

.point_change.inview_target.target_in .card_other .point_change_rod:after {
  animation: rewards_line_animation 1.2s forwards;
}

.card_other .point_change_rod.rod93:after {
  width: 93%;
}

.card_other .point_change_rod.rod67:after {
  width: 67%;
}

.card_other .point_change_rod.rod62:after {
  width: 62%;
}

.card_other .point_change_rod.rod60:after {
  width: 60%;
}

.card_other .point_change_rod.rod59:after {
  width: 59%;
}

.card_other .point_change_rod.rod29:after {
  width: 29%;
}

.card_other .point_change_rod.rod27:after {
  width: 27%;
}

.card_other .point_change_rod.rod20:after {
  width: 20%;
}

.card_other .point_change_rod.rod0:after {
  width: 0%;
}

.point_change_note {
  width: 100%;
  display: block;
  color: var(--gunsmoke);
  line-height: 24px;
  text-align: right;
  position: relative;
}

.charge_note {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 8px;
  position: relative;
}

.charge_note.inview_target.target_in {
  animation: alpha_on_animation 1.5s forwards;
}

.charge_calc {
  width: 100%;
  color: var(--gunsmoke);
}

.charge_note_point {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: flex-start;
  align-self: stretch;
  gap: 4px 4px;
  position: relative;
}

.charge_note_point li {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  color: var(--shark);
  border: 1px solid var(--shark);
  border-radius: 8px;
  gap: 10px;
  margin-top: -1.00px;
  padding: 4px 8px;
  font-family: var(--font-family-inter);
  font-size: 11px;
  font-weight: 400;
  line-height: 17px;
  letter-spacing: 0;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.rewards_card4 {
  width: 480px;
  height: 429px;
  object-fit: cover;
  position: absolute;
  bottom: -64px;
  left: calc(50.00% - 240px);
  width: 100%;
  height: 240px;
  bottom: 46px;
  left: 0;
}

.rewards_card4 img {
  width: auto;
  height: 330px;
}

.rewards_card4.inview_target.target_in {
  opacity: 1;
  animation: rewards_card4_animation 1.5s forwards;
}

@keyframes rewards_card4_animation {
  0% {
    transform: translate(0, 30px) rotate(3deg);
    opacity: 0.8;
  }

  100% {
    transform: translate(0, 0) rotate(0);
    opacity: 1;
  }
}

/* concierge */
#concierge-part {
  display: block;
  padding: 120px 0 0 0;
  background-color: var(--eerie-black);
  color: var(--gunsmoke);
  text-align: center;
  position: relative;
  z-index: 3000;
  overflow: hidden;
}

#concierge-part .contents__inner {
  /* padding: 0 221px 0 221px; */
  padding: 0;
}

.concierge_ttl_block {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 32px;
  position: relative;
}

.concierge_ttl_block h3.subcatagory {
  width: 100%;
  color: var(--gunsmoke);
  text-align: left;
}

.concierge_ttl_block h2.heading1 {
  width: 100%;
  color: var(--white);
  line-height: 40px;
  text-align: left;
}

.concierge_ttl_block .line-logo {
  width: 72px;
  height: 71px;
  position: absolute;
  top: 28px;
  right: 0;
  object-fit: cover;
}

.concierge_txt {
  color: var(--gunsmoke);
  font-family: var(--font-family-inter);
  font-size: var(--font-size-m);
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
  text-align: left;
}

#concierge-part h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

#concierge-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.concierge_txt.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.concierge_ttl_block .line-logo.inview_target.target_in {
  animation: line_icon_animation 1.2s linear;
  opacity: 1;
}

@keyframes line_icon_animation {
  0% {
    transform: scale(0.8, 0.8);
    opacity: 0;
  }

  80% {
    transform: scale(0.8, 0.8);
    opacity: 0;
  }

  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}

.concierge_note {
  margin-top: -1em;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
}

.concierge_chat {
  display: block;
  position: relative;
  margin-top: 2em;
}

.concierge_note.inview_target.target_in,
.concierge_chat.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
  opacity: 1;
}

.concierge_chat_selector {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 24px;
  margin-top: 20px;
  position: relative;
}

.concierge_chat_selector li {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 10px;
  margin-top: -1.00px;
  padding: 10px;
  border: 1px solid var(--eerie-black);
  color: var(--white);
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  opacity: 0.2;
  cursor: pointer;
}

.concierge_chat_selector li.on,
.concierge_chat_selector li:hover {
  border: 1px solid var(--white);
  border-radius: 50px;
  opacity: 1;
}

.concierge_chat_screen {
  width: 342px;
  height: 425px;
  display: block;
  margin: 26px auto 0 auto;
  background: url(../img/concierge_phone.png) no-repeat bottom center;
  background-size: contain;
  position: relative;
}

.concierge_chat_screen img {
  width: 100%;
  height: auto;
}

.concierge_chat_stream {
  width: 300px;
  height: 425px;
  display: block;
  margin: 0 auto 0 auto;
  position: relative;
}

.concierge_chat_stream p {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat01 {
  animation: chat_animation01 20s linear infinite;
}

@keyframes chat_animation01 {
  0% {
    opacity: 1;
  }

  10% {
    opacity: 1;
  }

  10.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat02 {
  animation: chat_animation02 20s linear infinite;
}

@keyframes chat_animation02 {
  0% {
    opacity: 0;
  }

  4% {
    opacity: 0;
  }

  4.1% {
    opacity: 1;
  }

  40% {
    opacity: 1;
  }

  40.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat03 {
  animation: chat_animation03 20s linear infinite;
}

@keyframes chat_animation03 {
  0% {
    opacity: 0;
  }

  14% {
    opacity: 0;
  }

  14.1% {
    opacity: 1;
  }

  40% {
    opacity: 1;
  }

  40.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat04 {
  animation: chat_animation04 20s linear infinite;
}

@keyframes chat_animation04 {
  0% {
    opacity: 0;
  }

  28% {
    opacity: 0;
  }

  28.1% {
    opacity: 1;
  }

  40% {
    opacity: 1;
  }

  40.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat05 {
  animation: chat_animation05 20s linear infinite;
}

@keyframes chat_animation05 {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0;
  }

  40.1% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  50.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat06 {
  animation: chat_animation06 20s linear infinite;
}

@keyframes chat_animation06 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  50.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat07 {
  animation: chat_animation07 20s linear infinite;
}

@keyframes chat_animation07 {
  0% {
    opacity: 0;
  }

  60% {
    opacity: 0;
  }

  60.1% {
    opacity: 1;
  }

  70% {
    opacity: 1;
  }

  70.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat07.c89 {
  animation: chat_animation07_89 20s linear infinite;
}

@keyframes chat_animation07_89 {
  0% {
    opacity: 0;
  }

  60% {
    opacity: 0;
  }

  60.1% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat08 {
  animation: chat_animation08 20s linear infinite;
}

@keyframes chat_animation08 {
  0% {
    opacity: 0;
  }

  70% {
    opacity: 0;
  }

  70.1% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  80.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat09 {
  animation: chat_animation09 20s linear infinite;
}

@keyframes chat_animation09 {
  0% {
    opacity: 0;
  }

  80% {
    opacity: 0;
  }

  80.1% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat02.c26 {
  animation: chat_animation02_26 20s linear infinite;
}

@keyframes chat_animation02_26 {
  0% {
    opacity: 0;
  }

  4% {
    opacity: 0;
  }

  4.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat03.c26 {
  animation: chat_animation03_26 20s linear infinite;
}

@keyframes chat_animation03_26 {
  0% {
    opacity: 0;
  }

  14% {
    opacity: 0;
  }

  14.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat04.c26 {
  animation: chat_animation04_26 20s linear infinite;
}

@keyframes chat_animation04_26 {
  0% {
    opacity: 0;
  }

  28% {
    opacity: 0;
  }

  28.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat05.c26 {
  animation: chat_animation05_26 20s linear infinite;
}

@keyframes chat_animation05_26 {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0;
  }

  40.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.concierge_chat.inview_target.target_in .concierge_chat_stream.on .chat06.c26 {
  animation: chat_animation06_26 20s linear infinite;
}

@keyframes chat_animation06_26 {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  50.1% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  60.1% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

/* business */
#business-part {
  display: block;
  padding: 120px 0 120px 0;
  background-color: var(--quill-gray);
  color: var(--shark);
  text-align: left;
  position: relative;
  z-index: 5000;
  overflow: hidden;
}

#business-part .contents__inner {
  padding: 0;
  position: relative;
  z-index: 5100;
}

.business_ttl_block {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 32px;
  position: relative;
}

.business_ttl_block h3.subcatagory {
  color: var(--gunsmoke);
}

.business_ttl_block h2.heading1 {
  color: var(--shark);
  line-height: 40px;
}

.business_txt {
  color: var(--gunsmoke);
  font-family: var(--font-family-inter);
  font-size: var(--font-size-m);
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
}

.business_txt span {
  color: var(--shark);
  font-family: var(--font-family-inter);
  font-size: var(--font-size-m);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  #business-part h3.inview_target.target_in {
    animation: txt_animation 1.2s forwards;
  }

  #business-part h2.inview_target.target_in {
    animation: txt_animation 1.5s forwards;
  }

  .business_txt.inview_target.target_in {
    animation: txt_animation 1.5s forwards;
  }
}

.business_feature {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 40px;
  gap: 16px 16px;
  position: relative;
}

.business_feature li {
  width: 440px;
  display: block;
  margin-top: -1.00px;
  padding: 0 0 0 72px;
  color: var(--shark);
  font-weight: 700;
  line-height: 56px;
  position: relative;
  /* opacity: 1; */
  width: 100%;
  min-height: 56px;
  padding-top: 16px;
  line-height: 1.4;
}

@media screen and (min-width: 769px) {
  .business_ttl_block * {
    opacity: 1;
  }

  .business_feature li {
    opacity: 1;
  }

  .business_booster.inview_target.target_in,
  .business_booster.inview_target.target_in .inview_target {
    opacity: 1;
    animation: none !important;
  }

  .business_market * {
    opacity: 1;
  }
}

.business_feature li.business_feature_fee {
  background: url(../img/business_icon_fee.svg) no-repeat left center;
  background-size: 56px auto;
}

.business_feature li.business_feature_expenses {
  background: url(../img/business_icon_expenses.svg) no-repeat left center;
  background-size: 56px auto;
}

.business_feature li.business_feature_point {
  background: url(../img/business_icon_point.svg) no-repeat left center;
  background-size: 56px auto;
}

.business_feature li.business_feature_max {
  background: url(../img/business_icon_max.svg) no-repeat left center;
  background-size: 56px auto;
}

.business_feature li.inview_target.target_in {
  animation: lbusiness_feature_animation 0.8s forwards;
  opacity: 1;
}

.business_feature li:nth-child(2).inview_target.target_in {
  animation: business_feature_animation 1s forwards;
}

.business_feature li:nth-child(3).inview_target.target_in {
  animation: business_feature_animation 1.2s forwards;
}

.business_feature li:nth-child(4).inview_target.target_in {
  animation: business_feature_animation 1.4s forwards;
}

@keyframes business_feature_animation {
  0% {
    transform: translate(50px, 0);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.business_booster {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-direction: column;
  gap: 16px;
  padding: 160px 0px 0px;
  position: relative;
}

.business_booster .sample {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: stretch;
  flex-wrap: wrap;
  gap: 8px;
  position: relative;
  overflow: hidden;
}

.business_booster .sample .item {
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 8px;
  background-color: var(--gallery);
  border-radius: 4px;
  position: relative;
}

.business_booster.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.business_booster .sample.inview_target.target_in {
  animation: txt_animation 1.8s forwards;
}

.business_market {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-direction: column;
  gap: 16px;
  padding: 32px 0px 0px;
  position: relative;
}

.business_voices {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 8px;
  margin: 24px auto 0 auto;
  position: relative;
  z-index: 5200;
}

.business_voices h4 {
  width: fit-content;
  margin-top: -1.00px;
  color: var(--gunsmoke);
  font-weight: 400;
  line-height: 23px;
  white-space: nowrap;
  position: relative;
  margin-left: 6.36%;
  margin-right: 6.36%;
}

.business_voices_list {
  display: block;
  width: 100%;
  margin: 8px 0 0 0;
  position: relative;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.business_voices_list::-webkit-scrollbar {
  display: none;
}

.business_voices_all {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: stretch;
  gap: 10px;
  width: calc(3*240px + 2*10px + 2*6.36%);
  margin: 8px 0 0 0;
  padding: 0 6.36%;
  position: relative;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.business_voices_list article {
  width: 240px;
  display: flex;
  align-items: flex-start;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  background-color: var(--gallery);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.business_voices_list.inview_target.target_in {
  opacity: 1;
}

.business_voices_list.inview_target.target_in article {
  animation: txt_animation 0.9s forwards;
}

.business_voices_list.inview_target.target_in article:nth-of-type(2) {
  animation: txt_animation 1.2s forwards;
}

.business_voices_list.inview_target.target_in article:nth-of-type(3) {
  animation: txt_animation 1.5s forwards;
}

.business_voices_list article.inview_target.target_in {
  animation: txt_animation 0.9s forwards;
}

.business_voices_list article:nth-of-type(2).inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

.business_voices_list article:nth-of-type(3).inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.business_voices_list article dl {
  display: block;
}

.business_voices_list article dl dt {
  height: 160px;
  display: block;
}

.business_voices_list article dl dt img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.business_voices_list article dl dd {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 10px;
  padding: 16px;
  position: relative;
}

.business_voice_txt {
  margin-top: -1.00px;
  line-height: 24px;
}

.business_voice_from {
  margin-top: -1.00px;
  padding: 0 0 0 46px;
  background: url(../img/avatar.svg) no-repeat left center;
  background-size: 36px auto;
  color: var(--gunsmoke);
  font-weight: 400;
  line-height: 24px;
  position: relative;
}

.pen {
  width: 398px;
  height: 398px;
  position: absolute;
  top: 657px;
  left: -161px;
  z-index: 5001;
}

.pen video {
  width: 100%;
  height: auto;
}

.pen.inview_target.target_in {
  animation: alpha_on_animation 0.5s forwards;
  opacity: 1;
}

/* lineup */
#lineup-part {
  display: block;
  padding: 20px 0 80px 0;
  background-color: var(--gallery);
  color: var(--shark);
  text-align: center;
  position: relative;
  z-index: 6000;
}
#lineup-part.lineup-bottom {
  padding-top: 420px;
  padding-bottom: 0;
}

#lineup-part .contents__inner {
  margin: 0;
}

.lineup_image {
  width: 100%;
  height: 374px;
  top: -51px;
  left: 0;
  object-fit: cover;
  position: absolute;
}

.lineup_image.inview_target.target_in {
  animation: lineup_image_animation 1.5s forwards;
}

@keyframes lineup_image_animation {
  0% {
    transform: translate(0, 10px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.lineup_image img {
  width: auto;
  height: 374px;
}


#lineup-part h3.subcatagory {
  color: var(--gunsmoke);
  width: 100%;
  padding: 0 6.36vw 0 6.36vw;
  /* text-align: left; */
}

#lineup-part h2.heading1 {
  margin-top: 32px;
  line-height: 40px;
  text-align: center;
}

#lineup-part h3.inview_target.target_in {
  animation: txt_animation 1.2s forwards;
}

#lineup-part h2.inview_target.target_in {
  animation: txt_animation 1.5s forwards;
}

.lineup_card_selector {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 16px;
  margin-top: 20px;
  position: relative;
}

.lineup_card_selector li {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 10px;
  margin-top: -1.00px;
  padding: 0 10px 0 10px;
  border: 1px solid var(--gallery);
  color: var(--shark);
  font-weight: 400;
  line-height: 28px;
  white-space: nowrap;
  position: relative;
  border: 1px solid var(--shark);
  border-radius: 15px;
  opacity: 1;
  cursor: pointer;
}

.lineup_card_selector li:hover,
.lineup_card_selector li.on {
  border: 1px solid var(--shark);
  background: var(--shark);
  color: var(--white);
}

.card_list {
  width: 100%;
  margin-top: 2em;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  overflow-x: hidden;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: grab;
}

.card_list:active {
  cursor: grabbing;
}

.card_list_scroll,
.card_info {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
  position: relative;
}

.card_info {
  display: block;
  width: 87.28%;
  margin: 0 auto;
}

.card_list_scroll {
  width: calc(340px * 3);
  margin: 0 24.297px;
  gap: 0;
}

.card_list article,
.card_info article {
  width: 340px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 24px;
}

.card_info article {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50000;
  margin-top: 24px;
}

.card_info article.on {
  animation: alpha_on_animation 1.2s linear;
}

.card_info article.off {
  animation: alpha_off_animation 0.8s linear;
  opacity: 0;
}

.card_list article.inview_target.target_in,
.card_info article.inview_target.target_in {
  animation: card_list_animation 1.2s forwards;
  opacity: 1;
}

.card_list article:nth-of-type(2).inview_target.target_in,
.card_info article:nth-of-type(2).inview_target.target_in {
  animation: card_list_animation 1.5s forwards;
}

.card_list article:nth-of-type(3).inview_target.target_in,
.card_info article:nth-of-type(3).inview_target.target_in {
  animation: card_list_animation 1.8s forwards;
}

@keyframes card_list_animation {
  0% {
    transform: translate(0, 80px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.card_list figure {
  display: block;
  text-align: center;
}

.card_list figure img {
  width: auto;
  height: 240px;
  pointer-events: none;
}

.card_list .card_name {
  width: auto;
  margin-top: -1.00px;
  color: var(--shark);
  font-family: var(--font-family-inter);
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
  position: relative;
}

/* @media screen and (min-width: 768px) {

  .card_list article#card04,
  .card_info article#card04_info {
    display: none;
  }
} */

.card_info .card_fee {
  width: auto;
  color: var(--shark);
  font-family: var(--font-family-inter);
  font-size: var(--font-size-m);
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
  position: relative;
}

.card_info .btns {
  /* display: flex;
  justify-content: center;
  gap: 8px;
  align-items: center; */
  text-align: center;
  position: relative;
}

.card_info .btn_more a {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin-top: -0.5em;
  padding: 12px 30px;
  /* background-color: var(--quill-gray); */
  color: var(--shark);
  border: 1px solid #000;
  border-radius: 60px;
  font-weight: 400;
  line-height: 24px;
  white-space: nowrap;
  position: relative;
}

.card_info .card_campaign {
  width: 100%;
}

.card_info .card_campaign img {
  width: 100%;
}
.card_info .btn_apply {
  width: 83%;
  margin: 0 auto;
}

.card_info .btn_apply a {
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 auto;
  /* gap: 10px; */
  justify-content: center;
  align-items: center;
  margin-top: -1.00px;
  padding: 16px;
  background-color: #b69146;
  color: var(--white);
  border-radius: 60px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  position: relative;
}

.card_info .btn_apply a.off {
  cursor: default;
  pointer-events: none;
}

.card_info .btn_bussiness {
  width: 83%;
  margin: 1em auto 0;
}

.card_info .btn_bussiness a {
  display: flex;
  flex-wrap: wrap;
  flex: 0 0 auto;
  /* gap: 10px; */
  justify-content: center;
  align-items: center;
  margin-top: -1.00px;
  padding: 8px 16px;
  background-color: var(--blue-business);
  color: var(--white);
  border-radius: 60px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  position: relative;
}

.card_info .btn_bussiness a.off {
  cursor: default;
  pointer-events: none;
}

.card_info .btn_apply small,
.card_info .btn_bussiness small {
  display: block;
  width: 100%;
  font-size: 0.7em;
}

.card_info .benefits {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: stretch;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.card_info .benefits .benefits_block {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 8px;
  position: relative;
}

.card_info .benefits .label {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin-top: -1.00px;
  line-height: 8px;
  letter-spacing: 0;
  white-space: nowrap;
  position: relative;
}

.card_info .benefits .services {
  width: 100%;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  align-self: stretch;
  gap: 4px 4px;
  position: relative;
}

.card_info .benefits .services li {
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 8px;
  background-color: var(--white);
  border-radius: 4px;
  font-family: var(--font-family-inter);
  font-size: var(--font-size-xxs);
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
}

.card_info .benefits .services li.toggle {
  display: none;
}

.card_info .benefits .services li.toggle.on {
  display: inline-flex;
  animation: lineup_toggle_animation 1.2s forwards;
}

@keyframes lineup_toggle_animation {
  0% {
    transform: translate(0, -10px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.card_info .benefits .services li.toggle.off {
  display: none;
  animation: alpha_off_animation 1.2s forwards;
}

.card_info .benefits .services li.plus.on {
  display: inline-flex;
  animation: lineup_toggle_animation 1.2s forwards;
  cursor: pointer;
}

.card_info .benefits .services li.plus.off {
  display: none;
  animation: lineup_toggle_off_animation 1.2s forwards;
}

.card_info .benefits .services li.minus.on {
  display: inline-flex;
  animation: lineup_toggle_animation 1.2s forwards;
}

.card_info .benefits .services li.minus.off {
  display: none;
  animation: lineup_toggle_off_animation 1.2s forwards;
}

.card_info .benefits .services li .taglabelmicro {
  width: fit-content;
  margin-top: -1.00px;
  color: var(--gunsmoke);
  line-height: 14px;
  white-space: nowrap;
  text-align: center;
  position: relative;
}

.card_info .benefits .services li .taglabel .taglabelmicro {
  color: var(--black);
}

.card_info_note {
  width: 100%;
  max-width: 87.28%;
  margin: 4em auto 0;
  font-size: 12px;
  text-align: left;
}

.side_l figure,
.side_r figure {
  display: flex;
  height: calc(150px * 256/166);
  align-items: center;
}

.side_l figure {
  justify-content: flex-end;
}

.side_r figure {
  justify-content: flex-start;
}

.card_list article.on figure img,
.side_l figure img,
.side_r figure img {
  width: 62.4px;
  min-width: auto;
  filter: blur(6px);
}

.diamond_txt {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: flex-start;
  gap: 16px;
  color: var(--gunsmoke);
  text-align: left;
}

.card_name,
.card_campaign,
.card_fee,
.btns,
.benefits {
  opacity: 0;
  opacity: 1;
}

.card_list article.on figure img {
  animation: card_img_animation 0.6s forwards;
  /* width: 38.4vw; */
  width: auto;
  height: 232px;
  filter: blur(0);
}

@keyframes card_img_animation {
  0% {
    /* width: 16vw; */
    height: 96px;
    filter: (6px);
  }

  100% {
    /* width: 38.4vw; */
    width: auto;
    height: 232px;
    filter: (0);
  }
}

.card_list article.on .card_name,
.card_info article.on .card_fee,
.card_info article.on .btns,
.card_info article.on .benefits {
  animation: alpha_on_animation 0.6s forwards;
  opacity: 1;
}

.card_list article.off figure img {
  animation: card_img_off_animation 0.6s forwards;
  /* width: 16vw; */
  width: auto;
  height: 96px;
  filter: (6px);
}

@keyframes card_img_off_animation {
  0% {
    /* width: 38.4vw; */
    width: auto;
    height: 232px;
    filter: (0);
  }

  100% {
    /* width: 16vw; */
    width: auto;
    height: 96px;
    filter: (6px);
  }
}

.card_list article.off .card_name,
.card_info article.off .card_fee,
.card_info article.off .btns,
.card_info article.off .benefits {
  animation: alpha_off_animation 0.6s forwards;
  opacity: 0;
}

.diamond {
  display: block;
  margin-top: 40px;
  padding: 40px;
  background-color: var(--quill-gray);
  position: relative;
}

.diamond dl {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  gap: 40px;
  position: relative;
}

.diamond dl dt {
  width: 13.76%;
  display: block;
}

.diamond dl dt img {
  width: 100%;
  height: auto;
}

.diamond dl dd {
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  text-align: left;
}

.diamond dl dd .invite {
  width: fit-content;
  margin-top: -1.00px;
  color: var(--shark);
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  position: relative;
}

.diamond dl dd .card_name {
  font-family: var(--font-family-inter);
  font-size: var(--font-size-l);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
}

.diamond dl dd .taglabel {
  color: var(--gunsmoke);
}

.diamond.inview_target.target_in {
  opacity: 1;
  animation: txt_animation 1.5s forwards;
}

.campaign_note {
  padding: 36px 1.5em;
  background: var(--white);
}
.campaign_note_ttl {
  font-size: var(--font-size-24px);
  text-align: center;
  color: var(--shark);
}
.campaign_note_txt {
  margin-top: 24px;
  color: var(--shark);
  font-size: var(--font-size-xs);
}


/* 250515追加 */
.lineup__pannel:first-of-type {
  margin-top: 40px;
}
.lineup__pannel.card-black {
  background: url(../img/lineup_bg_black.webp);
  background-size: cover;
}
.lineup__pannel.card-gold {
  background: url(../img/lineup_bg_gold.webp);
  background-size: cover;
}
.lineup__pannel.card-titanium {
  background: var(--white);
  background-size: cover;
}
.lineup__pannel__inner {
  position: relative;
  padding: 120px 20px 80px;
}
.card-titanium .lineup__pannel__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
}
.lineup__pannel__ttl {
  font-size: var(--font-size-40px);
  color: var(--white);
}
.card-titanium .lineup__pannel__ttl {
  color: var(--shark);
  /* text-align: left; */
}
.lineup__pannel__ttl__ja {
  display: inline-block;
  font-size: var(--font-size-24px);
  color: var(--gunsmoke);
}
.card-black .lineup__pannel__ttl__ja {
  background: linear-gradient(90deg, #ff6600 10%, #ff3399 50%, #cc33ff 90%);
  background-size: 200%; /* グラデーション幅を広げる */
  background-position: center; /* グラデーションの中心を合わせる */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.card-gold .lineup__pannel__ttl__ja {
  background: linear-gradient(180deg, #C99A5F 10%, #F8E7B4 100%);
  background-size: 200%; /* グラデーション幅を広げる */
  background-position: center; /* グラデーションの中心を合わせる */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.lineup__pannel__ttl__name {
  color: #fff;
}
.card-titanium .lineup__pannel__ttl__name {
  color: var(--shark);
}
.lineup__pannel__card {
  margin-top: 40px;
}
/* .card-titanium .lineup__pannel__card {
  margin-top: 0;
} */
.lineup__pannel__card img {
  width: auto;
  height: 274px;
}
.lineup__pannel__detail {
  /* display: flex; */
  /* width: max-content; */
  margin: 40px auto 0;
}
.lineup__pannel__point {
  /* padding-right: 40px;
  border-right: 1px solid rgba(255, 255, 255, 0.2); */
}
.card-titanium .lineup__pannel__point {
  /* margin-top: 10px; */
  /* border-right: 1px solid rgba(0, 0, 0, 0.2); */
}
.lineup__pannel__point__item {
  position: relative;
  color: var(--white);
  font-size: var(--font-size-m);
  text-align: left;
}
.card-titanium .lineup__pannel__point__item {
  color: var(--shark);
}
.lineup__pannel__point__item + .lineup__pannel__point__item {
  margin-top: 8px;
}
.lineup__pannel__point__item::before {
  content: '';
  display: inline-block;
  width: 1.36em;
  height: 1.36em;
  transform: translateY(20%);
}
.card-black .lineup__pannel__point__item::before {
  background: url(../img/icon_check_bk.svg) no-repeat center;
  background-size: contain;
}
.card-gold .lineup__pannel__point__item::before {
  background: url(../img/icon_check_gd.svg) no-repeat center;
  background-size: contain;
}
.card-titanium .lineup__pannel__point__item::before {
  background: url(../img/icon_check_tm.svg) no-repeat center;
  background-size: contain;
}
.lineup__pannel__cta {
  margin-top: 30px;
  /* padding-left: 40px; */
}
/* .card-titanium .lineup__pannel__cta {
  margin-top: 30px;
  padding-left: 0;
} */
.lineup__pannel__cta__txt {
  color: var(--white);
  font-size: var(--font-size-xs);
  /* text-align: right; */
}
.card-titanium .lineup__pannel__cta__txt {
  color: var(--shark);
}
.lineup__pannel__cta__note {
  padding-left: .7em;
  text-indent: -.7em;
  color: #fff;
  font-size: 12px;
  text-align: left;
  margin-top: 1em;
}
.card-titanium .lineup__pannel__cta__note {
  color: #000;
}
.lineup__pannel__cta__box {
  display: flex;
  gap: 10px;
}
.lineup__pannel__cta__btn {
  display: block;
  width: max-content;
  margin: 14px auto 0;
  padding: 1em;
  color: var(--white);
  font-size: var(--font-size-xs);
  line-height: 1;
  background: var(--blue);
  border-radius: 50px;
}
.lineup__pannel__cta__btn + .lineup__pannel__cta__btn {
  margin-top: 1em;
}
.lineup__pannel__cta__btn small {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.8em;
}
.lineup__pannel__cta .card_campaign {
  margin-top: 2em;
}
.lineup__pannel__cta .card_campaign img {
  max-width: 100%;
}
.card-titanium .card_campaign img {
  border: 1px solid var(--gunsmoke);
  border-radius: 18px;
}

/* -- */
/* -- */
/* SP */
/* -- */
/* -- */
@media screen and (max-width: 768px) {
  /* */
  /* */


  /* more */
  #more-part {
    /* height: auto; */
  }

  /* .more_part_block_l {
    padding-top: 75.1%;
  } */

  .more_part_block_r {
    margin: 0 6.36vw 0 6.36vw;
  }

  /* design */

  /* #design-part .contents__inner {
    padding: 0;
  } */

  /* .design_ttl_block {
    padding: 0;
    text-align: left;
  } */


  /* #design-part h2.heading1 {
    width: 100%;
  } */


  .design_feature h3 {
    margin: 0 6.36vw 0 6.36vw;
  }

  .design_feature_list {}

  .design_feature_sticky_wrap {
    padding-top: 0;
    background-color: var(--eerie-black);
    box-sizing: border-box;
  }

  .design_feature_list_contents ul {
    margin: 0 6.36vw;
  }

  /* signature */
  #signature-part {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 24px;
    background: url(../img/bg_signature.png) no-repeat center center;
    background-size: cover;
    text-align: center;
    position: relative;
  }

  #signature-part h2 {
    width: 100%;
    height: 0;
    display: block;
    padding: 38px 0 0 0;
    background: url(../img/lc_signature.svg) no-repeat center center;
    background-size: contain;
    overflow: hidden;
  }

  #signature-part h2.inview_target.target_in {
    animation: txt_animation 1.5s forwards;
  }

  #signature-part p.inview_target.target_in {
    animation: txt_animation 1.2s forwards;
  }

  /* surprise-part */
  #surprise-part .contents__inner {
    width: auto;
  }

  .surprise_ttl_block {
    padding: 0;
    text-align: left;
  }

  #surprise-part h3.subcatagory {
    width: 100%;
  }

  #surprise-part h2.heading1 {
    width: 100%;
  }

  .surprise_photo {
    width: 100vw;
    height: 94.4vw;
  }

  .surprise_photo .surprise_photo_push {
    width: 46.9vw;
    height: calc(46.9vw * 680 / 338);
    background: url(../img/surprise_phone.png) no-repeat center bottom;
    background-size: contain;
    left: 26.55vw;
  }

  /* .surprise_grad {
    height: 100px;
  } */

  .push_box {
    width: 38.57vw;
    height: 47.17vw;
    left: 4.165vw;
  }

  .push_box .surprise_push01,
  .push_box .surprise_push02,
  .push_box .surprise_push03,
  .push_box .surprise_push04,
  .push_box .surprise_push05 {
    width: 38.57vw;
  }

  .push_box .surprise_push01 {
    top: 0;
  }

  .push_box .surprise_push02 {
    top: 16.37vw;
  }

  .push_box .surprise_push03 {
    top: 29.97vw;
  }

  .push_box .surprise_push04 {
    top: 46.34vw;
  }

  .push_box .surprise_push05 {
    top: 59.94vw;
  }

  .surprise_photo .surprise_p00 {
    width: 46.9vw;
    left: 26.55vw;
  }

  .surprise_photo .surprise_p01 {
    width: 49.5vw;
    height: 40.4vw;
    top: 15.6vw;
    left: 49.8vw;
  }

  .surprise_photo .surprise_p02 {
    width: 41.6vw;
    height: 30.4vw;
    top: 12vw;
    left: 29.1vw;
  }

  .surprise_photo .surprise_p03 {
    width: 45.6vw;
    height: 38vw;
    top: 12.4vw;
    left: 0;
  }

  .surprise_photo .surprise_p04 {
    width: 39.5vw;
    height: 25.2vw;
    top: 6.1vw;
    left: 51.2vw;
  }

  .surprise_photo .surprise_p05 {
    width: 44.4vw;
    height: 28.3vw;
    top: 2.9vw;
    left: 21.2vw;
  }

  .surprise_photo .surprise_p06 {
    width: 29.8vw;
    height: 19.1vw;
    top: 0;
    left: 45.1vw;
  }

  .surprise_photo .surprise_p07 {
    width: 26.9vw;
    height: 17.6vw;
    top: 4.8vw;
    left: 10.1vw;
  }

  .surprise_photo.inview_target.target_in {
    opacity: 1;
  }

  .surprise_photo.inview_target.target_in .surprise_p00 {
    animation: surprise_phone_animation 0.7s forwards;
  }

  @keyframes surprise_phone_animation {
    0% {
      transform: translate(0, 50px);
      opacity: 0.7;
    }

    100% {
      transform: translate(0, 0);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p01 {
    animation: surprise_photo1_animation 0.5s ease;
  }

  @keyframes surprise_photo1_animation {
    0% {
      transform: translate(-30px, 30px) scale(0.5, 0.5);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p02 {
    animation: surprise_photo2_animation 0.5s ease;
  }

  @keyframes surprise_photo2_animation {
    0% {
      transform: translate(-5px, 60px) scale(0.8, 0.8);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p03 {
    animation: surprise_photo3_animation 0.5s ease;
  }

  @keyframes surprise_photo3_animation {
    0% {
      transform: translate(120px, 50px) scale(0.6, 0.6);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p04 {
    animation: surprise_photo4_animation 0.5s ease;
  }

  @keyframes surprise_photo4_animation {
    0% {
      transform: translate(-50px, 90px) scale(0.7, 0.7);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p05 {
    animation: surprise_photo5_animation 0.5s ease;
  }

  @keyframes surprise_photo5_animation {
    0% {
      transform: translate(10px, 100px) scale(0.5, 0.5);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p06 {
    animation: surprise_photo6_animation 0.5s ease;
  }

  @keyframes surprise_photo6_animation {
    0% {
      transform: translate(-10px, 150px) scale(0.8, 0.8);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  .surprise_photo.inview_target.target_in .surprise_p07 {
    animation: surprise_photo7_animation 0.5s ease;
  }

  @keyframes surprise_photo7_animation {
    0% {
      transform: translate(100px, 150px) scale(0.5, 0.5);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) scale(1, 1);
      opacity: 1;
    }
  }

  @keyframes surprise_push01_animation {
    0% {
      opacity: 0;
    }

    5% {
      opacity: 0;
    }

    9% {
      transform: translate(0, 0);
      opacity: 1;
    }

    10% {
      opacity: 1;
    }

    35% {
      transform: translate(0, 0);
      opacity: 1;
    }

    36% {
      transform: translate(0, -18.37vw);
      opacity: 1;
    }

    100% {
      transform: translate(0, -18.37vw);
      opacity: 1;
    }
  }

  @keyframes surprise_push02_animation {
    0% {
      opacity: 0;
    }

    15% {
      opacity: 0;
    }

    18% {
      transform: translate(0, 0);
      opacity: 1;
    }

    35% {
      transform: translate(0, 0);
      opacity: 1;
    }

    40% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    45% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    46% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    100% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }
  }

  @keyframes surprise_push03_animation {
    0% {
      opacity: 0;
    }

    25% {
      opacity: 0;
    }

    30% {
      opacity: 1;
    }

    35% {
      transform: translate(0, 0);
      opacity: 1;
    }

    40% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    45% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    53% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    58% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    66% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }

    100% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }
  }

  @keyframes surprise_push04_animation {
    0% {
      opacity: 0;
    }

    35% {
      transform: translate(0, -16.37vw);
      opacity: 0;
    }

    40% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    45% {
      transform: translate(0, -16.37vw);
      opacity: 1;
    }

    53% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    58% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    66% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }

    100% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }
  }

  @keyframes surprise_push05_animation {
    0% {
      opacity: 0;
    }

    45% {
      transform: translate(0, -29.97vw);
      opacity: 0;
    }

    50% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    58% {
      transform: translate(0, -29.97vw);
      opacity: 1;
    }

    66% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }

    100% {
      transform: translate(0, -46.34vw);
      opacity: 1;
    }
  }

  /* community-part */
  #community-part {}

  #community-part .contents__inner {
    width: auto;
    padding: 0;
  }

  #community-part h3.subcatagory {
    width: 100%;
    text-align: left;
  }

  #community-part h2.heading1 {
    width: 100%;
    text-align: left;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
  }

  .community_txt {
    text-align: left;
  }

  .community_photo {
    width: 100vw;
    height: 51.8vw;
  }

  .community_photo_wrap {
    width: calc(2 * 146vw);
  }

  .community_photo_scroll {
    width: 146vw;
    height: 51.8vw;
  }

  .community_p01 {
    width: 36.2vw;
    top: 0;
    left: 0
  }

  .community_p02 {
    width: 24vw;
    bottom: 0;
    left: 13%
  }

  .community_p03 {
    width: 13.3vw;
    top: 17.2%;
    left: 29.4%
  }

  .community_p04 {
    width: 33.3vw;
    top: 36.3%;
    left: 32%
  }

  .community_p05 {
    width: 13.7vw;
    bottom: 3.4%;
    left: 41.2%
  }

  .community_p06 {
    width: 34.5vw;
    top: 4.6%;
    left: 46%
  }

  .community_p07 {
    width: 27.3vw;
    top: 48.8%;
    left: 58.6%
  }

  .community_p08 {
    width: 21.9vw;
    top: 5.9%;
    left: 80%
  }

  .community_p09 {
    width: 16.9vw;
    top: 74.7%;
    left: 88.4%
  }

  /* service */
  #service-part {
    height: 100vh;
    position: relative;
  }

  #service-part {
    height: 100vh;
  }

  .service_scroll_block article {
    width: auto;
    margin: 0 auto 0 auto;
  }

  .bg_travel {
    width: 100vw;
    height: 100vh;
    ;
    background: url(../img/bg_travel.jpg) no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .bg_dining {
    width: 100vw;
    height: 100vh;
    background: url(../img/bg_dining.jpg) no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .bg_lifestyle {
    width: 100vw;
    height: 100vh;
    background: url(../img/bg_lifestyle.jpg) no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
  }

  .bg_travel.on,
  .bg_dining.on,
  .bg_lifestyle.on {
    opacity: 1;
  }

  .service_ttl_block {
    width: auto;
    margin: 0 6.36vw 0 6.36vw;
    padding: 0;
    top: 80px;
    left: 0;
  }

  .service_part_block_r {
    width: auto;
    gap: 16px;
    margin: 30px 0 0 0;
    position: relative;
  }

  #service-travel .service_part_block_r {
    margin: 260px 0 0 0;
  }

  .service_part_block_l h3.subcatagory {
    width: 100%;
    text-align: left;
  }

  .service_part_block_l h2.heading1 {
    line-height: 40px;
  }

  .service_list li.plus dl {
    background: url(../img/icon_plus.svg) no-repeat right 24px bottom 24px;
    background-size: 16px auto;
    background-color: var(--white-2);
    cursor: pointer;
  }

  .service_list li.plus dl dd p {
    padding-right: 40px;
  }

  .service_float_box {
    width: 87.28vw;
    height: 90vh;
  }


  /* rewards */
  /* #rewards-part {
    padding: 80px 0 240px 0;
  } */

  #rewards-part .contents__inner {
    width: auto;
    padding: 0;
    position: relative;
    top: auto;
    left: auto;
  }

  .rewards_ttl_block {
    padding-bottom: 62.8%;
  }

  .rewards_ttl_block .rewards_cards {
    top: auto;
    bottom: 5vw;
    left: 0;
  }

  .rewards_ttl_block .contents__inner {
    width: auto;
    gap: 32px;
    padding: 0;
    position: relative;
    top: -5vw;
    left: auto;
  }

  .rewards-part-list li {
    padding: 16px 3.3vw 0px;
  }

  .rewards-part-list li:first-child {}

  .rewards-part-list li dl {
    font-size: 15px;
  }

  .rewards-part-list li .usage {
    width: 34%;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    text-align: left;
  }

  .rewards-part-list li:first-child .usage p {
    height: 76px;
    font-size: 15px;
  }

  .rewards-part-list li .usage p {
    width: 100%;
    text-align: left;
    font-size: 15px;
  }

  .rewards-part-list li .points {
    width: 58%;
    gap: 16px;
  }
/* 
  .rewards-part-list li .points small {
    display: inline-block;
    font-size: 90%;
    margin-left: 1px;
  } */

  .rewards-part-list li .points .card_kinds,
  .rewards-part-list li .points .card_other {
    width: 48%;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    gap: 0;
  }

  .rewards-part-list li .points .card_kinds p,
  .rewards-part-list li .points .card_other p {
    width: 100%;
    text-align: right;
  }

  .select_float_box.open {
    width: 228px;
    top: 83px;
    left: -56px;
  }

  .select_float_item {
    gap: 16px;
    padding: 17px 18px 18px 18px;
  }

  .select_float_item:hover {
    background-color: var(--gallery);
  }

  .select_float_item:nth-of-type(1) {
    margin: 0 0 0 0;
    padding: 18px 18px 18px 18px;
    border-top: none;
  }

  .select_float_item:last-of-type {
    padding: 18px 18px 18px 18px;
    ;
  }

  .card_float_img_name {
    width: 116px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .card_float_name {
    display: block;
    margin-left: 12px;
  }

  .card_float_per {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: var(--font-size-l);
    font-weight: 700
  }

  .card_float_per span {
    font-size: var(--font-size-m);
    font-weight: 400;
  }

  .select_kinds_box {
    padding: 10px 5px 10px 5px;
    background: url(../img/ico_select_down.svg) no-repeat right 8px top 72px;
    background-size: 8px auto;
    background-color: var(--gallery);
  }

  .select_kinds.open .select_kinds_box {
    background: none;
    background-color: var(--white);
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  }

  .select_kinds {
    width: 48%;
    height: 76px;
  }

  #card_other.select_kinds {
    overflow: hidden;
  }

  .rewards-part-list li .points .per_point {
    width: 100%;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    gap: 0;
  }

  .rewards-part-list li .points .per_point span {
    width: 100%;
    display: block;
    text-align: right;
  }

  .rewards-part-list li .points .card_kinds .bar,
  .rewards-part-list li .points .card_other .bar {
    width: 100%;
    text-align: right;
    transform-origin: top right;
    line-height: 0;
  }

  .rewards-part-list li .points .card_kinds .bar span {
    display: inline-block;
  }

  .rewards-part-list li .points .card_other .bar span {
    display: inline-block;
  }

  .bar100 span {
    width: 100% !important;
  }

  .bar50 span {
    width: 50% !important;
  }

  .bar16 span {
    width: calc(100% * 6000/36000) !important;
  }

  .getpoint {
    font-size: 15px;
    line-height: 1.75;
  }

  .card_kind_item {
    width: auto;
  }

  #card_kinds02,
  #card_kinds03 {
    display: none;
  }

  #card_kinds .card_kind_item.on,
  #card_other .card_kind_item.on {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
  }

  .card_kind_item:nth-of-type(1) {
    margin-top: 0;
  }

  #card_other .card_kind_item {
    margin-top: 0;
  }

  .card_kind_img {
    width: 30px;
    display: inline-block;
  }

  .card_kind_img img {
    width: 30px;
    height: auto;
  }

  .card_kind_img.card_gray {}

  .card_kind_item .card_kind_name {
    width: auto;
    display: block;
    margin: 8px 0 0 0;
    font-size: 11.5px;
    line-height: 1.75;
    text-align: center;
  }

  #card_other .card_kind_item .card_kind_name {
    margin: 8px 0 0 0;
  }

  .point_change_go {
    text-align: center;
  }

  .point_change_go p {
    display: inline-block;
    padding: 0 0 0 43px;
    background: url(../img/ico_changepoint.svg) no-repeat left center;
    background-size: 34.64px auto;
    text-align: center;
  }

  .point_change {
    display: none;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
  }

  .point_change.on {
    display: flex;
  }

  .point_change_block {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    align-self: stretch;
    gap: 16px;
    background-color: var(--white);
    border-radius: 8px;
    padding: 24px 0px;
    position: relative;
  }

  .point_change_block .heading3 {}

  .point_change_exp {
    padding: 0 4vw 0 4vw;
  }

  .point_change_graph {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    align-self: stretch;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
  }

  .point_change_graph li {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    align-self: stretch;
    position: relative;
  }

  .point_change_cards {
    width: 110px;
  }

  .point_change_cards .point_change_name {
    font-size: 15px
  }

  .point_change_cards .point_change_name .rewardscatch {
    line-height: 20px;
    font-size: 15px
  }

  .point_change_rod p {
    font-size: 16px;
  }

  .point_change_rod p span {
    font-size: 14px;
  }

  .rewards_card4 {
    width: 100%;
    height: 240px;
    /* bottom: -64px; */
    left: 0;
  }

  /* .rewards_card4 img {
    width: auto;
    height: 240px;
  } */

  .rewards_card4.inview_target.target_in {
    opacity: 1;
    animation: rewards_card4_animation 1.5s forwards;
  }

  @keyframes rewards_card4_animation {
    0% {
      transform: translate(0, 30px) rotate(3deg);
      opacity: 0.8;
    }

    100% {
      transform: translate(0, 0) rotate(0);
      opacity: 1;
    }
  }

  /* concierge */
  #concierge-part .contents__inner {
    padding: 0;
  }

  .concierge_ttl_block {}

  .concierge_ttl_block h3.subcatagory {
    width: 100%;
    text-align: left;
  }

  .concierge_ttl_block h2.heading1 {
    width: 100%;
    text-align: left;
  }

  .concierge_ttl_block .line-logo {
    top: 28px;
    right: 0;
  }

  .concierge_txt {
    text-align: left;
  }

  .concierge_note {
    text-align: left;
  }

  .concierge_chat_screen {
    width: 100%;
    height: calc(87.28vw * 1.24);
  }

  .concierge_chat_stream {
    width: 87.7%;
    height: calc(87.28vw * 1.24);
  }

  /* business */
  #business-part {
    /* background-color: var(--quill-gray); */
    background-color: #d5d6d5;
  }

  #business-part .contents__inner {
    padding: 0;
  }

  .business_ttl_block {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 32px;
    position: relative;
  }

  .business_feature {
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    gap: 16px;
  }

  .business_feature li {
    width: 100%;
    min-height: 56px;
    padding-top: 16px;
    line-height: 1.4;
  }

  .business_feature li.business_feature_fee {
    background: url(../img/business_icon_fee.svg) no-repeat left center;
    background-size: 56px auto;
  }

  .business_feature li.business_feature_expenses {
    background: url(../img/business_icon_expenses.svg) no-repeat left center;
    background-size: 56px auto;
  }

  .business_feature li.business_feature_point {
    background: url(../img/business_icon_point.svg) no-repeat left center;
    background-size: 56px auto;
  }

  .business_feature li.business_feature_max {
    background: url(../img/business_icon_max.svg) no-repeat left center;
    background-size: 56px auto;
  }

  .business_booster .sample {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: flex-start;
    align-self: stretch;
  }

  .business_booster .sample .item {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
  }

  .business_market {
    padding: 32px 0px 0px;
  }

  .business_voices {
    width: 100vw;
  }

  .business_voices {
    width: 100vw;
  }

  .business_voices h4 {
    margin-left: 6.36vw;
    margin-right: 6.36vw;
  }

  .business_voices_list {
    width: 100vw;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .business_voices_list::-webkit-scrollbar {
    display: none;
  }

  .business_voices_all {
    width: calc(3*240px + 2*10px + 2*6.36vw);
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    align-self: stretch;
    gap: 10px;
    padding: 0 6.36vw 0 6.36vw;
    position: relative;
  }

  .business_voices_list article {
    width: 240px;
    display: flex;
    align-items: flex-start;
    flex-grow: 1;
    background-color: var(--gallery);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
  }

  .business_voices_list article.inview_target.target_in {
    animation: txt_animation 0.9s forwards;
  }

  .business_voices_list article:nth-of-type(2).inview_target.target_in {
    animation: txt_animation 1.2s forwards;
  }

  .business_voices_list article:nth-of-type(3).inview_target.target_in {
    animation: txt_animation 1.5s forwards;
  }

  .business_voices_list article dl {
    display: block;
  }

  .business_voices_list article dl dt {
    height: 160px;
    display: block;
  }

  .business_voices_list article dl dt img {
    width: 100%;
    height: 160px;
    object-fit: cover;
  }

  .business_voices_list article dl dd {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 10px;
    padding: 16px;
    position: relative;
  }

  .business_voice_txt {
    margin-top: -1.00px;
    line-height: 24px;
  }

  .business_voice_from {
    margin-top: -1.00px;
    padding: 0 0 0 46px;
    background: url(../img/avatar.svg) no-repeat left center;
    background-size: 36px auto;
    color: var(--gunsmoke);
    font-weight: 400;
    line-height: 24px;
    position: relative;
  }

  .pen {
    width: 102vw;
    height: 102vw;
    top: 34.5%;
    left: -42%;
  }

  /* lineup */


  #lineup-part h3.subcatagory {
    width: 100%;
    padding: 0 6.36vw 0 6.36vw;
    text-align: left;
  }

  #lineup-part h2.heading1 {
    width: 100%;
    padding: 0 6.36vw 0 6.36vw;
    /* text-align: left; */
  }


  .card_list {
    width: 100vw;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    overflow-x: hidden;
  }

  .card_list::-webkit-scrollbar {
    display: none;
  }

  .card_list_scroll {
    width: calc(87.28vw * 3);
    margin: 0 6.23vw 0 6.23vw;
    gap: 0;
  }

  .card_info {
    width: 87.28vw;
    display: block;
    margin: 0 auto 0 auto;
    position: relative;
  }

  .card_list article {
    width: 87.28vw;
    display: flex;
    gap: 24px;
  }

  .card_list article.pc-Hide,
  .card_info article.pc-Hide {
    display: flex !important;
  }

  .card_list article.inview_target {
    animation: none !important;
    opacity: 1 !important;
  }



  .card_list figure img {
    width: 38.4vw;
    min-width: 156px;
    height: auto;
  }

  .card_list .card_name {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0;
    white-space: nowrap;
    text-align: center;
    position: relative;
  }

  .card_info .card_fee {
    width: auto;
    color: var(--shark);
    font-family: var(--font-family-inter);
    font-size: var(--font-size-m);
    font-weight: 400;
    letter-spacing: 0;
    white-space: nowrap;
    text-align: center;
    position: relative;
  }

  .card_info .btns {
    /* display: flex;
    justify-content: center;
    gap: 8px;
    align-items: center;
    text-align: center;
    position: relative; */
  }

  .card_list article, .card_info article#card04_info {
    display: flex;
  }

  .card_info .btn_more a {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
    justify-content: center;
    align-items: center;
    /* margin-top: -1.00px; */
    padding: 12px 30px;
    /* background-color: var(--quill-gray); */
    color: var(--shark);
    border-radius: 60px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    position: relative;
  }

  .card_info .btn_apply a {
    /* display: inline-flex;
flex: 0 0 auto;
gap: 10px; */
    justify-content: center;
    align-items: center;
    margin-top: -1.00px;
    padding: 6px 16px;
    background-color: var(--shark);
    color: var(--white);
    border-radius: 60px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    position: relative;
  }

  .card_info .btn_bussiness a {
    /* display: inline-flex; */
    /* flex: 0 0 auto; */
    /* gap: 10px; */
    justify-content: center;
    align-items: center;
    margin-top: -1.00px;
    padding: 6px 16px;
    background-color: var(--blue-business);
    color: var(--white);
    border-radius: 60px;
    font-weight: 400;
    line-height: 24px;
    white-space: nowrap;
    position: relative;
  }

  .card_info .benefits {
    width: 100%;
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    align-self: stretch;
    flex-direction: column;
    gap: 16px;
    position: relative;
  }

  .card_info .benefits .benefits_block {
    width: 100%;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 8px;
    position: relative;
  }

  .card_info .benefits .label {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin-top: -1.00px;
    line-height: 8px;
    letter-spacing: 0;
    white-space: nowrap;
    position: relative;
  }

  .card_info .benefits .services {
    width: 100%;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    align-self: stretch;
    gap: 4px 4px;
    position: relative;
  }

  .card_info .benefits .services li {
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    background-color: var(--white);
    border-radius: 4px;
    font-family: var(--font-family-inter);
    font-size: var(--font-size-xxs);
    font-weight: 400;
    letter-spacing: 0;
    position: relative;
  }

  .card_info .benefits .services li .taglabelmicro {
    width: fit-content;
    margin-top: -1.00px;
    color: var(--gunsmoke);
    line-height: 14px;
    white-space: nowrap;
    text-align: center;
    position: relative;
  }

  .card_info .benefits .services li .taglabel .taglabelmicro {
    color: var(--black);
  }

  .side_l figure,
  .side_r figure {
    display: flex;
    height: calc(38.4vw * 256/166);
    align-items: center;
  }

  .side_l figure {
    justify-content: flex-end;
  }

  .side_r figure {
    justify-content: flex-start;
  }

  .card_list article.on figure img,
  .side_l figure img,
  .side_r figure img {
    width: 16vw;
    min-width: auto;
    filter: blur(6px);
  }

  .diamond_txt {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    gap: 16px;
    color: var(--gunsmoke);
    text-align: left;
  }

  .card_name,
  .card_fee,
  .btns,
  .benefits {
    opacity: 0;
    opacity: 1;
  }

  .card_list article.on figure img {
    animation: card_img_animation 0.6s forwards;
    /* width: 38.4vw; */
    width: auto;
    height: 59.269vw;
    filter: blur(0);
  }

  @keyframes card_img_animation {
    0% {
      /* width: 16vw; */
      height: 24.69vw;
      filter: (6px);
    }

    100% {
      /* width: 38.4vw; */
      width: auto;
      height: 59.269vw;
      filter: (0);
    }
  }

  .card_list article.on .card_name,
  .card_info article.on .card_fee,
  .card_info article.on .btns,
  .card_info article.on .benefits {
    animation: alpha_on_animation 0.6s forwards;
    opacity: 1;
  }

  .card_list article.off figure img {
    animation: card_img_off_animation 0.6s forwards;
    /* width: 16vw; */
    width: auto;
    height: 24.69vw;
    filter: (6px);
  }

  @keyframes card_img_off_animation {
    0% {
      /* width: 38.4vw; */
      width: auto;
      height: 59.269vw;
      filter: (0);
    }

    100% {
      /* width: 16vw; */
      width: auto;
      height: 24.69vw;
      filter: (6px);
    }
  }

  .card_list article.off .card_name,
  .card_info article.off .card_fee,
  .card_info article.off .btns,
  .card_info article.off .benefits {
    animation: alpha_off_animation 0.6s forwards;
    opacity: 0;
  }


  .diamond {
    display: none;
    margin-top: 40px;
    padding: 40px;
    background-color: var(--quill-gray);
    position: relative;
  }

  .diamond dl {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    gap: 40px;
    position: relative;
  }

  .diamond dl dt {
    width: 13.76%;
    display: block;
  }

  .diamond dl dt img {
    width: 100%;
    height: auto;
  }

  .diamond dl dd {
    display: flex;
    flex: 1;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    text-align: left;
  }

  .diamond dl dd .invite {
    width: fit-content;
    margin-top: -1.00px;
    color: var(--shark);
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    position: relative;
  }

  .diamond dl dd .card_name {
    font-family: var(--font-family-inter);
    font-size: var(--font-size-l);
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
  }

  .diamond dl dd .taglabel {
    color: var(--gunsmoke);
  }

  .diamond.inview_target.target_in {
    opacity: 1;
    animation: txt_animation 1.5s forwards;
  }

/* 250515追加 */
/* .lineup__pannel:first-of-type {
  margin-top: 40px;
}
.lineup__pannel.card-black {
  background: url(../img/lineup_bg_black.webp);
  background-size: cover;
}
.lineup__pannel.card-gold {
  background: url(../img/lineup_bg_gold.webp);
  background-size: cover;
}
.lineup__pannel.card-titanium {
  background: var(--white);
  background-size: cover;
} */
.lineup__pannel__inner {
  /* position: relative; */
  padding: 80px 20px;
}
.card-titanium .lineup__pannel__inner {
  display: block;
  /* align-items: center; */
  /* justify-content: center; */
  /* gap: 80px; */
}
.lineup__pannel__ttl {
  font-size: var(--font-size-24px);
  /* color: var(--white); */
}
.card-titanium .lineup__pannel__ttl {
  text-align: center;
}
.lineup__pannel__ttl__ja {
  /* display: inline-block; */
  font-size: var(--font-size-l);
  /* color: var(--gunsmoke); */
}
/* .lineup__pannel__card {
  margin-top: 40px;
} */
.card-titanium .lineup__pannel__card {
  margin-top: 40px;
}
.lineup__pannel__card img {
  /* width: auto; */
  height: 70vw;
}
.lineup__pannel__detail {
  display: block;
  /* width: max-content;
  margin: 40px auto 0; */
}
.lineup__pannel__point {
  padding-right: 0;
  border-right: none;
}
.card-titanium .lineup__pannel__point {
  /* margin-top: 10px; */
  border-right: none
}
/* .lineup__pannel__point__item {
  position: relative;
  color: var(--white);
  font-size: var(--font-size-m);
  text-align: left;
}
.card-titanium .lineup__pannel__point__item {
  color: var(--shark);
}
.lineup__pannel__point__item + .lineup__pannel__point__item {
  margin-top: 8px;
}
.lineup__pannel__point__item::before {
  content: '';
  display: inline-block;
  width: 1.36em;
  height: 1.36em;
  transform: translateY(20%);
}
.card-black .lineup__pannel__point__item::before {
  background: url(../img/icon_check_bk.svg) no-repeat center;
  background-size: contain;
}
.card-gold .lineup__pannel__point__item::before {
  background: url(../img/icon_check_gd.svg) no-repeat center;
  background-size: contain;
}
.card-titanium .lineup__pannel__point__item::before {
  background: url(../img/icon_check_tm.svg) no-repeat center;
  background-size: contain;
} */
.lineup__pannel__cta {
  margin-top: 30px;
  padding-left: 0;
}
/* .card-titanium .lineup__pannel__cta {
  margin-top: 30px;
  padding-left: 0;
} */
.lineup__pannel__cta__txt {
  /* color: var(--white);
  font-size: var(--font-size-xs); */
  /* text-align: center; */
  max-width: max-content;
  margin: 0 auto;
}
/* .card-titanium .lineup__pannel__cta__txt {
  color: var(--shark);
} */
.lineup__pannel__cta__box {
  display: flex;
  gap: 10px;
}
.lineup__pannel__cta__btn {
  display: block;
  width: max-content;
  margin: 14px auto 0;
  padding: 1em 1.5em;
  font-size: var(--font-size-xxs);
  line-height: 1;
  background: var(--blue);
  border-radius: 50px;
}
.lineup__pannel__cta__btn + .lineup__pannel__cta__btn {
  margin-top: 1em;
}
.lineup__pannel__cta__btn small {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.9em;
}

/* */
/* */
}

/* -- */
/* -- */
/* SP */
/* -- */
/* -- */

@keyframes alpha_on_animation {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes alpha_off_animation {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes txt_animation {
  0% {
    transform: translate(0, 50px);
    opacity: 0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.fixed_btn_box {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0.5em;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  z-index: 10000;
  transform: translateY(-100%);
  transition: .3s;
}

.fixed_btn_box.is--show {
  transform: translateY(0);
}

.fixed_btn_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.fixed_logo {
  width: 50%;
  max-width: 260px;
  /* padding-left: 1%; */
}

.fixed_logo img {
  width: 100%;
}

.fixed_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40%;
  max-width: 200px;
  /* margin: 0 auto; */
  padding: 0.5em 0.8em;
  background: var(--licorice);
  color: var(--white);
  font-weight: 500;
  backdrop-filter: blur(10px) brightness(100%);
  border-radius: 10px;
  font-size: 0.8em;
  /* backdrop-filter: contrast(4) blur(6px); */
  box-shadow: 0 0px 6px 0 rgba(0, 0, 0, 0.4);
}

/* @media screen and (max-width: 768px){
  .fixed_btn {
    width: 40%;
  }
} */
.fixed_btn::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  margin: auto 0;
  transform: rotate(45deg);
  border: 2px solid var(--white);
  border-bottom: none;
  border-left: none;
}



/* ========================================
  form
======================================== */
.form {
  width: 100%;
  padding: 60px 0 70px;
  background: #f3f4f4;
  text-align: center;
  /* font-weight: 300; */
  font-size: 14px;
  color: #3a3a3a;
}

@media (max-width: 766px) {
  .form {
    padding: 16vw 0 9.3vw;
  }
}

.form__wrap {
  max-width: 740px;
  margin: 0 auto;
  padding: 0 10px;
}

@media (max-width: 766px) {
  .form__wrap {
    margin-bottom: 0;
  }
}

.form__logo {
  width: 290px;
  margin: 0 auto 30px;
}

@media (max-width: 766px) {
  .form__logo {
    margin-bottom: 17.3vw;
  }
}

.form__ttl {
  font-size: 21px;
  font-weight: 500;
  margin-bottom: 30px;
}

@media (max-width: 766px) {
  .form__ttl {
    font-size: 18px;
  }
}

.form__input {
  width: 300px;
  min-height: 30px;
  /* margin: 0 0 0 1.5em; */
  background: #fff;
  font-size: 18px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

@media only screen and (max-width: 750px) {
  .form__input {
    width: 100%;
    min-height: 12vw;
    margin: 1em 0 0;
    padding: .3em;
    -webkit-appearance: none;
  }
}

.form__input__box {
  /* display: flex;
  justify-content: center;
  align-items: center; */
  margin-bottom: 50px;
  color: #727171;
  font-size: 16px;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 750px) {
  .form__input__box {
    display: block;
  }
}

.form__btn {
  position: relative;
  min-width: 330px;
  min-height: 50px;
  padding: .8em 4em;
  margin: 9px 0 35px;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  background: none;
  border-radius: 30px;
  overflow: visible;
  cursor: pointer;
  transition: .5s;
}

@media only screen and (max-width: 750px) {
  .form__btn {
    width: 100%;
    min-width: 100%;
  }
}

.form__btn:hover {
  opacity: 0.7;
}

.form__btn.is__kojin {
  background: #000;
  border: 1px solid #727171;
}

.form__btn.is__hojin {
  background: #1453b2;
  border: 1px solid #08449f;
}

.form__btn__wrap {
  /* display: flex;
  justify-content: space-around; */
}

@media only screen and (max-width: 750px) {
  .form__btn__wrap {
    display: block;
  }
}

.form__btn__txt {
  font-size: 1.08em;
  letter-spacing: 0.08em;
}

.form__note {
  color: #727171;
  letter-spacing: 0.08em;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

.form__note__wrap {
  padding: 0 1em;
}

@media only screen and (max-width: 750px) {
  .formError {
    left: 3vw !important;
  }
}
