@charset "UTF-8";
/* init
[------------------------------------------------*/
:root {
  --color_black: #282828;
  --color_pink: #e23359;
  --color_navy: #2e2c89;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  z-index: -1;
  overflow: hidden;
  background-attachment: fixed;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: var(--color_black);
  font-feature-settings: "palt";
  font-family: 'Noto Sans JP', 'Noto Sans', 'Noto Sans CJK JP', 'ヒラギノ角ゴ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic', sans-serif;
  font-size: 1.6rem !important;
  line-height: 1.625;
}
body * {
  box-sizing: border-box;
}
body::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100vw;
  height: 100vh;
  background: url("/special/ahamo_cosmosy/simcp/assets/images/pc_bg.webp") no-repeat top center / cover #fff;
  content: "";
}
img {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  html {
    font-size: calc(100vw / 50);
  }
  body {
    min-width: 0;
  }
}
@media screen and (max-width: 500px) {
  body::before {
    content: none;
  }
}
@media screen and (min-width:500px) and (max-width:768px) {
  html {
    font-size: 62.5%;
  }
}
/* common
------------------------------------------------*/
.tx_red { color: #f00!important;}
*::after,*::before { transition: all .3s;}
/* main
------------------------------------------------*/
.main {
  position: relative;
  z-index: -1;
  overflow: hidden;
  text-align: center;
}
#cpn-main {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  letter-spacing: .06em;
  font-feature-settings: "palt";
  background-color: #fff;
}
#cpn-main img {
  width: 100%;
  height: auto;
  max-width: 100%;
}
#cpn-main picture {
  display: block;
}
#cpn-main {
  position: relative;
  margin: 0 auto;
  box-shadow: rgba(35, 24, 94, .8) 0 0 18px;
  mix-blend-mode: multiply;
}
#cpn-main section {
  position: relative;
}
#cpn-main a {
  position: relative;
  text-decoration: none;
  color: #242ee2;
}
.ic_link::after,.ic_link_terms::after {
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_link.svg") no-repeat center / contain;
  margin-left: .5rem;
}
.ic_link_terms::after {
  width: 1.4rem;
  height: 1.4rem;
  right: -2.5rem;
  bottom: 25%;
  top: 25%;
}
h2 {
  color: var(--color_navy); 
  font-size: 3.2rem;
  font-weight: bold;
}
.entry_wrap {
  position: relative;
}
#prize h2::before,#prize h2::after,
#conditions h2::before,#conditions h2::after,
#terms h2::before,#terms h2::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/h2_deco_01.svg") no-repeat;
  content: "";
  position: relative;
  display: inline-block;
  width: 46px;
  height: 46px;
  top: 12px;
}
#prize h2::before,#conditions h2::before,#terms h2::before {
  right: 12px;
}
#prize h2::after,#conditions h2::after,#terms h2::after {
  left: 12px;
}
@media screen and (max-width: 768px) {
  #cpn-main {
    margin: 0 auto;
    max-width: 500px;
  }
}
@media screen and (max-width: 500px) {
  #prize h2::before,#prize h2::after,
  #conditions h2::before,#conditions h2::after,
  #terms h2::before,#terms h2::after {
    width: 11vw;
    height: 11vw;
  }
}
/* btn
------------------------------------------------*/
.btn {
  position: relative;
}
.disable::after {
  position: absolute;
  left: 2px;
  top: 0;
  width: 99%;
  height: 100%;
  content: '';
  background: rgba(0, 0, 0, .3);
  border-radius: 46px;
}
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: .3s;
  text-decoration: none;
  border-radius: 5rem;
}
/*カウントダウンタイマー
------------------------------------------------*/
.cta_follow #CDT {
  margin: 0 auto;
  text-align: center;
  height: 4.9rem;
  align-content: center;
}
.cta_follow .cdt_date small {
  line-height: 0;
  font-weight: 400;
}
.cta_area {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .cta_follow {
    padding: 1.2rem 0;
    width: 100%;
  }
  .cta_follow .cdt_date small {
    line-height: .8;
  }
}
[class*=cdt_date] small {
  font-size: 1.2vw;
  color: var(--color_navy);
  font-weight: bold;
  letter-spacing: .06em;
}
.cdt_num {
  display: inline-block;
  height: auto;
  border-radius: 1rem;
  padding: .5rem .5rem .8rem;
  text-align: center;
  color: var(--color_pink);
  font-weight: bold;
  font-family: inherit;
  background-clip: padding-box;
  line-height: 1;
  border: solid 2px #ff5c77;
  background: #fff;
  min-width: 2.6vw;
  font-size: 1.8vw;
  margin: 0 0.4vw;
}
.cta_follow　.entryBtnLarge {
  padding: .5vw;
}
@media screen and (max-width: 1380px) {
  .cdt_num {
    border-radius: 0.7rem;
    padding: .3rem .3rem .5rem;
  }
}
/* list indent
------------------------------------------------*/
#cpn-main ul.indMark li {
  text-align: left;
  line-height: 1.4;
}
/* prize
------------------------------------------------*/
#cpn-main div#kv {
  margin-bottom: -2.9rem;
}
#prize {
  margin: 0 2rem;
}
[id*="prize_box"] h3 {
  padding: 0.5rem 0 0.8rem;
  position: relative;
  z-index: 1;
  top: 0;
  width: 100%;
  border-radius: 1rem 1rem 0 0;
  font-size: 2.3rem;
  font-weight: 500;
  background-color: #dcf5ff;
  border: 2px solid #9dc1e6;
  color: #0058a8;
  margin-top: 1rem;
}
[id*="prize_box"] h3 span {
  font-size: 3.2rem;
  font-weight: bold;
  background: linear-gradient(0deg,rgba(255, 255, 216, 0.3) 0%, rgba(255, 255, 216, 1) 100%) no-repeat 0 97% / 100% 0.4em;
  padding: 0 3px;
}
[id*="prize_box"] .prize_inner {
  background: #fff;
  border: 2px solid #9dc1e6;
  position: relative;
  border-radius: 0 0 1rem 1rem;
  padding: 0 0 2.5rem;
  margin-top: -2px;
}
#prize_box2 .prize_inner {
  padding: 0;
}
#prize_box1 .prize_inner .tx_small {
  text-align: right;
  color: var(--color_navy);
  padding-right: 2rem;
  margin-top: -5.3rem;
  font-size: 1.5rem;
}
#prize_box1 .prize_inner .and {
  color: #0058a8;
  font-size: 3rem;
  border-radius: 50%;
  border: 2px solid #3e77c3;
  width: 47px;
  height: 47px;
  line-height: 1.2;
  margin: 0 auto 3rem;
}
#prize_box1 .prize_inner .indMark li{
  color: var(--color_navy);
  text-align: justify;
  margin: 0 4.8rem;
}
#prize_box1 .prize_inner .indMark li:first-of-type {
  margin-top: 0.3rem;
}
#prize_box2 {
  margin: 3.5rem 0 3rem;
}
#prize_box2 h3 {
  background-color: #ffd9d9;
  border: 2px solid #ff5c77;
  color: var(--color_pink);
}
#prize_box2 .prize_inner {
  border: 2px solid #ff5c77;
  margin-top: -2px;
}
#prize_box2 .bg_yellow {
  background-color: #fffeeb;
  padding: 3rem 0 1.5rem;
  margin-bottom: 2.3rem;
}
#prize_box2 .bg_yellow .line_img {
  margin: 1.5rem 2.5rem 2rem;
}
#prize_box2 .prize_tx{
  color: var(--color_pink);
  font-weight: bold;
}
#prize_box2 .indMark li{
  text-align: center!important;
}
#prize_box2 .prizeA .prize_tx span {
  font-size: 2.4rem;
  font-weight: 500;
}
#prize_box2 .prizeA .prize_tx span.tx_deco::before,
#prize_box2 .prizeA .prize_tx span.tx_deco::after {
  display: inline-block;
  content: "";
  background: var(--color_pink);
  width: .2rem;
  height: 2.8rem;
  margin: 0 .4em;
  margin-top: -.2em;
  vertical-align: middle;
  transform: rotate(23deg);
  border-radius: 30px;
}
#prize_box2 .prizeA .prize_tx span.tx_deco::before {
  transform: rotate(-23deg);
}
#prize_box2 .prizeA .prize_tx span.tx_small {
  font-size: 1rem;
  vertical-align: super;
}
#prize_box2 .prizeA .indMark li{
  margin: 0 1.7rem 0;
  text-align: left!important;
}
.prize2_tx {
  font-size: 2rem;
  color: var(--color_pink);
  padding: .4rem 0;
  border-radius: 25px;
  border: 2px solid var(--color_pink);
  width: 84%;
  font-weight: 500;
  margin: 2.2rem auto 2rem;
}
#prize_box2 .prize_tx {
  font-size: 3rem;
  line-height: 1.3;
  margin: 0.8rem auto 0.8rem;
}
#prize_box2 .prizeA .prize_tx {
  font-size: 2.5rem;
}
#prize_box2 .prize_num {
  border-radius: 6px;
  border: 2px solid var(--color_pink);
  color: var(--color_pink);
  font-weight: bold;
  background-color: #fff;
  font-size: 2.3rem;
  display: inline-block;
  padding: 0 1.6rem 0.2rem;
  line-height: 1.2;
}
#prize_box2 .prize_num span {
  font-weight: bold;
  font-size: 3.1rem;
}

@media screen and (max-width: 500px) {
  #prize_box1 .prize_inner .and {
    width: 10vw;
    height: 10vw;
    font-size: 6.5vw;
  }
}
/* conditions
------------------------------------------------*/
#conditions {
  background-color: #d7f9e8;
  margin-bottom: 3rem;
  padding: 2rem 3rem 3.5rem;
  color: var(--color_navy);
}
#conditions h2::before,#conditions h2::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/h2_deco_02.svg") no-repeat;
}
#conditions .sub_tx{
  font-weight: 500;
  margin: 0.2rem 0 1.6rem;
  font-size: 1.8rem;
}
.conditions_wrap {
  background-color: #fff;
  padding: 20px 4rem 25px;
  border-radius: .8rem;
  position: relative;
}
.conditions_wrap + .conditions_wrap {
  margin-top: 35px;
}
.conditions_wrap h3 {
  text-align: left;
  width: 7.8rem;
  margin-left: -2rem;
}
.conditions_wrap p {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.7;
}
.conditions_wrap .indMark li {
  margin-top: 0.6rem;
  text-align: justify!important;
}
.conditions_wrap p span {
  font-weight: bold;
  color: var(--color_pink);
}
.conditions_wrap picture {
  width: 65%;
  margin: 0 auto 15px;
}
.conditions01 picture {
  width: 46%;
  margin-top: 0.6rem;
}
.conditions02 picture {
  width: 70%;
  margin-top: 2.2rem;
}
.conditions03 picture {
  width: 91%;
  margin-top: 1.6rem;
}
.conditions_date picture {
  width: 100%;
  margin: 0;
}
.conditions_date {
  position: absolute;
  top: -0.9rem;
  right: -1.5rem;
  content: "";
  width: 48%;
}
@media screen and (max-width: 768px) {
  .conditions {
    padding: 3rem 2rem;
    margin-bottom: 35px;
  }
  .conditions_wrap {
    padding: 20px 3.2vw 30px;
  }
  .conditions_wrap + .conditions_wrap {
    margin-top: 25px;
  }
  .conditions_wrap h3 {
    width: 8rem;
    margin-left: 0;
  }
  .conditions_wrap p {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 500px) {
  .conditions_wrap p {
    font-size: 3.7vw;
  }
}
/*date_wrap
--------------------------------------------------------------*/
.date_wrap {
  padding: 0 3rem;
}
#cpn-main .date_wrap section {
  padding: 0;
  margin-bottom: 2rem;
}
.date_wrap section + section {
  margin-top: 2rem;
}
.date_wrap h3 {
  color: #fffff0;
  font-size: 2.3rem;
  font-weight: 500;
  padding: .3rem;
  background-color: #0080a3;
}
.date_wrap section p {
  margin-top: 1rem;
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--color_navy);
}
.date_wrap section .tx_left {
  margin-top: 2rem;
}
.date_wrap section .tx_left p {
  text-align: left;
  margin-left: 5.5rem;
  line-height: 0.8;
}
.date_wrap section p span {
  font-size: 2rem;
  font-weight: bold;
}
.date_wrap section p span.tx_small {
  font-size: 1.6rem;
}
.date_wrap .caution {
  font-size: 1.5rem;
  font-weight: 500!important;
  color: var(--color_pink);
}
.date_wrap p.caution {
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
  line-height: 1.5;
}
@media screen and (max-width: 500px) {
  .date_wrap .caution {
    font-size: 3.5vw;
  }
}
/* movie
------------------------------------------------*/
#movie {
  background-image: linear-gradient(#dcf5ff, #a1d7ff);
  position: relative;
  margin-top: 8rem;
  padding: 7rem 0 3.5rem;
}
#movie .movie_title {
  margin: -10rem 3.2rem 0.5rem;
}
.movie {
  width: 80%;
  line-height: 0;
  margin: 0 auto;
  background: linear-gradient(90deg,rgba(255, 255, 216, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(211, 228, 255, 1) 50%, rgba(255, 255, 255, 1) 80%, rgba(236, 221, 255, 1) 100%);
}
.youtube {
  padding: 5px;
}
.youtube .iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.youtube-video {
  max-width: 560px;
}
#movie .btn {
  margin: 3rem auto 0;
}
#movie .btn a {
  font-weight: 500;
  font-size: 2.6rem;
  background-color: #0080a3;
  color: #fff;
  padding: 0.8rem 0 1.2rem;
  box-shadow: 1px 5px 0 #005b70;
  display: inline-block;
  width: 79%;
  line-height: 2.8rem;
}
#movie .btn a::before {
  display: inline-block;
  position: absolute;
  right: 2rem;
  margin: auto;
  background: url(/special/ahamo_cosmosy/simcp/assets/images/ic_white.svg) no-repeat;
  content: "";
  top: 27%;
  width: 2.8rem;
  height: 2.8rem;
  margin-top: 1rem;
}
#movie .btn a span {
  font-size: 2.1rem; 
  font-weight: 500;
}
#movie .btn a span.tx_small {
  font-size: 1.6rem;
}
@media screen and (max-width: 500px) {
  .movie {
    width: 89%;
  }
  .youtube {
    padding: 1.2vw;
  }
}
/* terms
------------------------------------------------*/
#terms .entry_wrap::before {
  top: 53%;
  left: -5%;
}
#terms .entry_wrap::after {
  top: 93%;
  right: -5%;
}
#terms {
  padding: 2rem 2.7rem 2.3rem;
}
#terms h2::before,#terms h2::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/h2_deco_03.svg") no-repeat;
}
.indMark > li, .indent li {
  text-indent: -1em;
  padding-left: 1em;
}
.indMark > li {
  font-size: 1.5rem;
}
#cpn-main .indMark.size-m > li {
  font-size: 1.6rem;
  position: relative;
  margin-left: 1.0rem;
  padding-left: 2.1rem;
}
#cpn-main .indMark.size-m > li > span {
  color: #fff!important;
  background-color: var(--color_pink);
  border-radius: 50%;
  width: 2.2rem;
  height: 2.2rem;
  text-align: center;
  position: absolute;
  top: .5rem;
  left: -1.0rem;
  align-items: center;
  display: flex;
  justify-content: space-around;
  font-size: 1.4rem;
}
#cpn-main .period li {
  padding-left: 1.6rem!important;
  position: relative;
  font-size: 1.6rem;
}
#cpn-main .period li + li {
  margin-top: .6rem;
}
#cpn-main .period > li::before {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  top: 1.2rem;
  background: var(--color_pink);
}
#cpn-main .cp_prize .size-s {
  margin-top: 1.2rem;
}
#cpn-main #terms .caution {
  margin: 1rem 0 3rem;
}
#terms .indMark > li {
  font-weight: 500;
  color: var(--color_pink);
}
#cpn-main #terms #termsContent {
  width: 100%;
  height: 36rem;
  border: .2rem solid var(--color_pink);
  border-radius: 13px;
  overflow: hidden;
  text-align: left;
  margin: 1.2rem auto 1.7rem;
}
#cpn-main #terms #termsContent * {
  font-weight: normal;
  color: var(--color_navy);
  padding: 0;
}
#cpn-main #terms #termsContent a {
  text-decoration: underline;
}
#cpn-main #terms #termsContent .wrap {
  width: calc(100% - 3.4rem);
  height: calc(100% - 4.0rem);
  margin: 2.0rem 1.4rem 2.0rem 2.0rem;
  padding: 0 .6rem 0 0;
  border-radius: 0;
  overflow-y: scroll;
  scrollbar-color: var(--color_pink) #fff;
  scrollbar-width: thin;
}
#cpn-main #terms #termsContent .wrap::-webkit-scrollbar {
  width: .6rem;
}
#cpn-main #terms #termsContent .wrap::-webkit-scrollbar-track {
  display: none;
}
#cpn-main #terms #termsContent .wrap::-webkit-scrollbar-thumb {
  background-color: var(--color_black);
  border-radius: .3rem;
}
#cpn-main #termsContent .wrap > section.line {
  border-bottom: .2rem solid var(--color_pink);
  padding-bottom: 2.2rem!important;
  margin-right: 1rem;
}
#cpn-main #termsContent .wrap > section + section {
  margin-top: 2.2rem;
}
#cpn-main #termsContent .wrap > section > section {
  margin-top: 1.4rem;
}
#cpn-main #terms #termsContent h3 {
  margin-bottom: .6rem;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.5;
}
#cpn-main #terms #termsContent p {
  font-size: 1.9rem;
  margin-top: .8rem;
  margin-bottom: .8rem;
  padding-left: 0;
}
#cpn-main #terms #termsContent ul li {
  font-size: 1.8rem;
}
#cpn-main #terms #termsContent .cp_prize .size-s {
  margin-top: 6px;
}
#cpn-main #terms #termsContent p + * {
  margin-top: 6px;
}
#cpn-main #terms #termsContent .indMark > li {
  font-weight: normal;
  text-indent: -.5em;
  padding-left: .5em;
}
#cpn-main #terms #termsContent .size-s li,
#cpn-main #terms #termsContent p.size-s {
  font-size: 1.6rem;
}
#cpn-main #terms #termsContent .size-s.indMark li {
  text-indent: -1em;
  padding-left: .9em;
}
#cpn-main #terms #termsContent .indMark.size-m > li {
  text-indent: 0;
  padding-left: 2.6rem;
  font-size: 1.8rem;
}
#cpn-main #terms #termsContent .indMark > li + li {
  margin-top: 4px;
}
#cpn-main #terms #termsContent .weightNormal {
  font-weight: normal;
}
.period-s span {padding: 0 .7rem 0 0!important;}
#cpn-main #terms #termsContent .wrap a {
  text-decoration:none;
  color: #242ee2;
}
#cpn-main #terms #termsContent .size-s.indMark_indent>li {
  text-indent: 0;
}
.terms_m {
  margin-bottom: 2.2rem;
}
.terms_m2 {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  #terms {
    padding-bottom: 1.3rem;
  }
}
/* entryBtn
------------------------------------------------*/
.entryBtnLarge {
  padding: .3rem;
}
.entry_wrap::before {
  content: "";
  margin: auto;
  position: absolute;
  display: inline-block;
  background: url("/special/ahamo_cosmosy/simcp/assets/images/btn_deco_L.svg") no-repeat center / contain;
  width: 3.6rem;
  height: 3.6rem;
  top: -15%;
  left: 1.2%;
}
.entry_wrap::after {
  content: "";
  margin: auto;
  position: absolute;
  display: inline-block;
  background: url("/special/ahamo_cosmosy/simcp/assets/images/btn_deco_R02.svg") no-repeat center / contain;
  width: 3.6rem;
  height: 3.6rem;
  top: 66%;
  right: 1%;
}
.entry_wrap .entryBtn {
  background-color: var(--color_pink);
  font-size: 2.4rem;
  font-weight: 500;
  border-radius: 20rem;
  letter-spacing: .06em;
  width: 44rem;
  height: auto;
  margin: 0.8rem auto 1.5rem;
  box-shadow: #a02747 1px 5px;
  transition: .2s;
}
.entry_wrap .entryBtn a {
  background-color: var(--color_pink);
  font-weight: bold;
  color: #ffffd8!important;
  border: solid 2px #ffffd8;
  position: relative;
  font-size: 2.6rem;
  padding: 1rem;
}
.entryBtn a::before {
  content: "";
  margin: auto;
  position: absolute;
  display: inline-block;
  right: 30px;
  width: 3rem;
  height: 2.2rem;
  background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_yellow.svg") no-repeat;
}
#bg_right_area .entryBtnLarge a::before, #follow .entryBtnLarge a::before {
  transform: rotate(90deg);
  width: 2.5rem;
  height: 2.5rem;
}
#bg_right_area .entryBtnLarge a::before {
  width: 1.2vw;
  height: 1.5vw;
}
.entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
  cursor: pointer;
  position: relative;
  padding-left: 29px;
  font-size: 1.8rem;
  color: var(--color_navy);
}
.entry_wrap input[type="checkbox"],.entry_wrap input:checked ~ .btn.disable::after {
  display: none;
}
.entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  margin-right: .6em;
  border: 1px solid var(--color_navy);
  border-radius: 1.5px;
  box-sizing: border-box;
  background: #fff;
  transition: all 0s;
}
.entry_wrap input[type="checkbox"]:checked + label::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_check.svg") no-repeat center / 85% auto;
}

@media screen and (max-width: 768px) {
  .entry_wrap {
    font-size: 1.6rem;
  }
  .entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
    padding-left: 2.7rem;
  }
  .entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
    top: .3rem;
    width: 2.1rem;
    height: 2.1rem;
    border: solid 1px var(--color_black);
    border-radius: .15rem;
  }
}
@media screen and (max-width: 500px) {
  .entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
    font-size: 3.6vw;
  }
}
.cta_follow {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 500px;
  z-index: 10;
  background: rgba(255, 255, 255, .8);
  padding: 1rem 0;
  margin: auto;
  right: 0;
}
.link_ahamo {
  margin-bottom: 27px;
}
.link_ahamo a {
  color: #fff!important;
  background-color: var(--color_navy);
  font-size: 2.2rem;
  border: unset;
  width: 35rem;
  margin: 0 auto 0;
  padding: 1.5rem;
  box-shadow: 1px 5px #9dc1e6;
}
.link_ahamo a::before {
  background-color: #fff;
  position: absolute;
  right: 26px;
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  content: "";
  border-radius: 50%;
}
.link_ahamo a::after {
  width: 4px;
  height: 4px;
  right: 31px;
  border-style: unset;
  border-width: unset;
  border-color: unset;
  border-top: 2px solid var(--color_navy);
  border-right: 2px solid var(--color_navy);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  content: "";
  top: calc(50% - 3px);
}
@media screen and (max-width: 500px) {
  .link_ahamo a::before {
    width: 3.5vw;
    height: 3.5vw;
    right: 5.5vw;
  }
  .link_ahamo a::after {
    width: 0.8vw;
    height: 0.8vw;
    right: 7vw;
  }
}
@media screen and (max-width: 360px) {
  .link_ahamo a::before {
    top: calc(50% - 6px);
  }
}
/* campaignCode
------------------------------------------------*/
.campaignCode {
  text-align: center;
  font-size: 2rem;
  color: var(--color_navy);
}
.campaignCode span {
  font-size: 2.3rem;
}
/* footer
------------------------------------------------*/
footer {
  margin: 1.2rem auto 0;
}
footer .cp {
  background-color: #ffffd8;
  color: var(--color_navy);
  margin-top: 2rem;
  padding: 3rem 0 3rem;
}
/* bg_contens
------------------------------------------------*/
.bg_contents {
  position: fixed;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  max-width: calc((100% - 500px) / 2);
}
.bg_contents .benefits {
  position: absolute;
  width: 25.2vw;
  max-width: 75%;
  margin: auto;
  background-size: contain;
  height: 33.3vw;
  top: calc((100% - 625px) / 2);
  left: calc((100% - 26vw) / 2);
  background-color: #fff;
  border: 2px solid #ff5c77;
  border-radius: 25px;
}
.bg_contents .benefits .logo {
  margin: 1.7vw 1.3vw;
}
.bg_contents .benefits .logo img {
  width: 100%;
}
.benefits ul {
  padding: 7.7vw 1.3vw;
  width: 100%;
  position: absolute;
  top: 0;
}
.benefits li {
  text-align: left;
  padding: .2vw 0;
  color: var(--color_pink);
  border-bottom: 1px solid #ff94ab;
}
.benefits li:first-of-type {
  margin-top: 1vw;
}
.benefits li:last-of-type {
  border: none;
}
.benefits li a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  width: 100%;
  transition: 0s;
  opacity: inherit;
  padding: .3vw 0.5vw .3vw;
  color: var(--color_pink);
  font-weight: bold;
  font-size: 1.6vw;
}
.benefits li a:after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_anchorlink.svg") no-repeat;
  content: "";
  position: relative;
  display: inline-block;
  width: 1.4vw;
  height: 1.4vw;
  transition: 0s;
  top: .1em;
}
.benefits ul li a.is-active {
  color: #fff;
  background: var(--color_pink);
  border-radius: .5rem;
}
.benefits ul li a.is-active::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_anchorlink_active.svg") no-repeat;
}
.bg_contents .benefits .access {
  font-size: 1.3vw;
  font-weight: bold;
  margin: .8vw auto;
  padding: 2vw 9vw 0 0.5vw;
  text-align: center;
  position: relative;
}
.bg_contents .benefits .access:after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/qr.webp") no-repeat center;
  background-size: cover;
  position: absolute;
  content: "";
  display: inline-block;
  vertical-align: baseline;
  width: 4.8em;
  height: 4.8em;
  top: 1vw;
  right: 1.6em;
  margin: auto;
}
.bg_right {
  padding: 1vw 0 1.5vw;
  width: 21vw;
  background-color: #fff;
  border: 2px solid #ff5c77;
  margin: 0 auto;
  border-radius: 3rem;
}
.bg_contents .bg_right_area {
  position: fixed;
  width: 100%;
  max-width: calc((100% - 500px) / 2);
  top: calc((100% - 250px) / 2);
  right: 0;
}
#bg_right_area .entryBtnLarge {
  padding: 0.3rem;
}
#bg_right_area .entry_wrap::before {
  width: 2vw;
  height: 2vw;
  left: 0;
  top: -1.2vw;
}
#bg_right_area .entry_wrap::after {
  background: url("/special/ahamo_cosmosy/simcp/assets/images/btn_deco_R.svg") no-repeat center / contain;
  right: 0.2vw;
  top: 2.7vw;
  width: 2.1vw;
  height: 2.1vw;
}
#bg_right_area .entryBtnLarge a {
  border: solid 2px #ffffd8;
  font-size: 1.2vw;
  border-radius: 20rem;
  padding: 0.4vw;
}
#bg_right_area .entryBtn {
  width: 19.2vw;
  height: auto;
  font-size: 1.6vw;
  margin: 1vw auto 0;
  position: relative;
}
#bg_right_area .entry_sub_tx {
  color: var(--color_navy);
  font-size: 1.6vw;
  font-weight: bold;
  margin-bottom: .3vw;
}
#bg_right_area .entry_sub_tx span {
  font-size: 1.25vw;
  font-weight: bold;
}
@media screen and (max-width: 1380px) {
  .benefits ul {
    padding: 6.7vw 1.3vw;
  }
  .benefits li a {
    font-size: 1.3vw;
  }
  .bg_contents .benefits .access {
    font-size: 1vw;
  }
  .bg_contents .benefits {
    height: 31vw;
    left: calc((100% - 23vw) / 2);
    top: calc((100% - 493px) / 2);
    border-radius: 20px;
  }
  #bg_right_area .entry_wrap .entryBtn {
    box-shadow: #a02747 1px 3px;
  }
  .bg_right {
    border-radius: 20px;
  }
  #bg_right_area .entryBtnLarge a {
    border: solid 1.5px #ffffd8;
  }
}
@media screen and (max-width: 1115px) {
  .benefits li a {
    font-size: 1.1vw;
  }
  .bg_contents .benefits .access {
    font-size: 1.0vw;
  }
  .bg_contents .benefits {
    height: 27.5vw;
    left: calc((100% - 21vw) / 2);
    top: calc((100% - 400px) / 2);
    border-radius: 16px;
  }
  .bg_contents .benefits .access {
    padding: 1vw 7vw 0 0.5vw;
  }
  .bg_contents .benefits .access:after {
    top: 0.2vw;
  }
  .bg_right {
    border-radius: 16px;
    width: 22vw;
  }
  #bg_right_area .entryBtnLarge::after {
    top: 2.8vw;
  }
}
@media screen and (max-width: 1024px) {
  .bg_contents {
    display: none;
  }
}
@media screen and (max-width: 400px) {
  .entry_wrap .entryBtn {
    box-shadow: #a02747 1px 4px;
  }
  .link_ahamo a {
    box-shadow: 1px 4px #9dc1e6;
  }
}
/* hover
------------------------------------------------*/
@media (hover: hover) {
  a:hover {
    opacity: .7;
  }
  .benefits li a:hover {
    color: #fff;
    background-color: var(--color_pink);
    border-radius: .5rem;
  }
  .benefits li a:hover::after {
    background: url("/special/ahamo_cosmosy/simcp/assets/images/ic_anchorlink_active.svg") no-repeat;
  }
  .entry_wrap .entryBtn:hover,#movie .btn a:hover,.link_ahamo.btn a:hover {
    opacity: 1;
    transform: translateY(.5rem);
    box-shadow: none!important;
    transition: .2s;
  }
}
  .entry_wrap .entryBtn a {
  opacity: 1;
}
/*追従
------------------------------------------------*/
@media screen and (max-width: 768px) {
  .cta_follow {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 500px) {
  #follow {
    width: 100%;
  }
}