@charset "UTF-8";

/*============================================================================================
      Header
=============================================================================================*/
.w_Header {
  width: 100%;
  max-width: 414px;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1000;
  background-color: #212121;
}

.Header {
  height: 100%;
}

.Header_logo {
  width: 120px;
  position: relative;
  z-index: 10;
}

@media (max-width: 895px) {
  .w_Header {
    max-width: 100%;
  }
}

@media (max-width: 576px) {
  .w_Header {
    max-width: 100%;
    height: 16vw;
  }

  .Header_logo {
    width: 30.6vw;
  }
}


/*    Header - Navigation
================================================*/
.HeadNav {
  width: 100%;
  height: 100vh;
  position: absolute;
  overflow-y: scroll;
  top: 0;
  right: 0;
  padding: 60px 0 180px;
  background-color: #212121;
  z-index: 1;
  display: none;
}

.HeadNav.js_sldNav::before {
  content: '';
  width: 100%;
  height: 60px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: fixed;
  background-color: #212121;
  z-index: 100;
}

.HeadNav_wrp {
  padding: 0 8%;
  min-height: 100%;
}

.HeadNav_lst {
  width: 100%;
  padding: 50px 0;
}

.HeadNav_itm {
  width: 100%;
}

.HeadNav_itm a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.HeadNav_itm+.HeadNav_itm {
  margin-top: 25px;
}

.HeadNav_itm_img {
  width: 16px;
  margin-right: 10px;
}

.HeadNav_itm_txt {
  width: calc(100% - 46px);
}

.HeadNav_copy {
  font-size: 1rem;
  text-align: center;
  display: block;
  margin-top: auto;
  width: 100%;
}

.HeadNav_voucher_tag {
  color: #EE0405;
  background: #fff;
  margin-left: 5px;
  padding: 3px 5px;
  border-radius: 10px;
  font-size: 1.1rem;
  font-weight: 600;
}

@media (max-width: 576px) {
  .HeadNav {
    top: 0;
    padding-top: 16vw;
  }

  .HeadNav.js_sldNav::before {
    height: 16vw;
  }

  .HeadNav_lst {
    padding: 13.333vw 0;
  }

  .HeadNav_itm_img {
    width: 4.267vw;
    margin-right: 2.667vw;
  }

  .HeadNav_itm_txt {
    width: calc(100% - 12.267vw);
  }
}

/*    Header - Login
================================================*/
.Head_pt {
  margin-right: 20px;
}

.Head_pt_img {
  width: 18px;
  margin-right: 10px;
}

.Head_pt_txt {
  font-size: 1.4rem;
}

.Head_info {
  position: relative;
  margin-right: 20px;
}

.Head_info a {
  padding-right: 15px;
}

.Head_info_img {
  width: 13px;
}

.Head_info_new {
  width: 25px;
  display: block;
  position: absolute;
  top: -3px;
  right: 0;
}

@media (max-width: 576px) {
  .Head_pt {
    margin-right: 5.333vw;
  }

  .Head_pt_img {
    width: 4.8vw;
    margin-right: 2.667vw;
  }

  .Head_info {
    margin-right: 5.333vw;
  }

  .Head_info a {
    padding-right: 4vw;
  }

  .Head_info_img {
    width: 3.467vw;
  }

  .Head_info_new {
    width: 6.667vw;
    top: -0.8vw;
  }
}


/*============================================================================================
      Footer
=============================================================================================*/
.w_Footer {
  padding-bottom: 73px;
}

/* .Footer_navi a{
  width: 100%;
  display: block;
  padding: 18px 5%;
  border-bottom: solid 1px #666;
}
.Footer_copy{
  color: #999;
  font-size: 1rem;
  text-align: center;
  display: block;
  padding: 15px;
} */

@media (max-width: 576px) {
  .w_Footer {
    padding-bottom: 19.467vw;
  }
}


/*============================================================================================
      Contents
=============================================================================================*/
/*================================================
    Login
================================================*/
/* .w_Header__login{
  height: auto;
  background-color: transparent;
} */
.w_Header__login .g_hamb {
  position: absolute;
  top: 22px;
  right: 5%;
}

.w_Main {
  width: 100%;
  height: 100vh;
  background: url(../img/login/main_bg.jpg) no-repeat center center / cover;
  overflow-y: scroll;
  padding: 40px 0 60px;
  margin-top: -60px;
}

.Main {
  width: 87%;
  max-width: 295px;
}

.Main_logo {
  width: 14.933vw;
  max-width: 56px;
}

.Main_txt {
  width: 95%;
}

.Login_input{
  border: 1px solid #2767AC;
  border-radius: 5px;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  overflow: hidden;
  z-index: 1;
}
.login_lead_img{
    width: 100%;
    max-width: 285px;
    margin-inline: auto;
}
・login_notice{
  color: #2767AC;
}

/* Firefox */
@-moz-document url-prefix() {
  .Login_input {
    background-color: rgba(0, 0, 0, 0.6);
  }
}
/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
  .Login_input {
    background-color: rgba(0, 0, 0, 0.6);
  }
}
.Login_input input{
  color: black !important;
  font-weight: normal;
  font-family: inherit;
  border: none;
  background-color: transparent;
}
.Login_input input:-webkit-autofill{
  color: white!important;
  -webkit-text-fill-color: white !important;
  transition: background-color 5000s ease-in-out 0s !important;
}
.Login_input input::-webkit-input-placeholder{ /* WebKit, Blink, Edge */
  color: #2767AC;
}
.Login_input input:-ms-input-placeholder{ /* Internet Explorer 10-11 */
  color: #2767AC;
}
.Login_input input::placeholder{ /* Others */
  color: #2767AC;
}


input[type='submit'].Login_btn__login {
  height: 56px;
  line-height: 56px;
  background-color: #0066B1;
  border: none;
}

.Login_btn__entry {
  color: #0066B1;
  height: 56px;
  line-height: 56px;
  background-color: #fff;
  border: 1px solid #0066B1;
}

.Login_txtBox {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
}

.Login_txt {
  border-top: 1px solid #fff;
  margin-top: 10px;
}

.Login_link a {
  font-size: 1rem;
  display: block;
  text-shadow: #000 0 0 4px;
}

@media (max-width: 576px) {
  .w_Header__login .g_hamb {
    top: 5.867vw;
  }

  .w_Main {
    padding: 10.667vw 0 16vw;
    margin-top: -16vw;
  }

  .w_Main__login {
    padding-top: 15.867vw;
  }

  input[type='submit'].Login_btn__login {
    height: 14.93vw;
    line-height: 14.93vw;
  }

  .Login_btn__entry {
    height: 14.93vw;
    line-height: 14.93vw;
  }

  .Login_txt {
    margin-top: 2.67vw;
  }
}

/*================================================
    Mypage
================================================*/
.Myname {
  font-weight: bold;
  line-height: 1.3;
}

.Myname span {
  font-size: 2.2rem;
  padding-right: 0.3em;
}

.Mynumber {
  font-size: 1.2rem;
}

.Point_box {
  color: #000;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 2rem;
  background-color: #F8F8F8;
  border-radius: 5px;
}

.Point_box .g_em {
  min-width: 5em;
  padding-right: 0.3em;
}

.mypage_rank_lst {
  display: grid;
  padding: 2rem 1.5rem 1.2rem;
  grid-template-columns: auto 1fr;
  grid-template-rows: repeat(4, 1fr);
  gap: 0;
  font-size: 1.4rem;
}

.mypage_rank_itm {
  display: contents;
}

.mypage_rank_itm__distance__2024 .mypage_rank_itm_ttl,
.mypage_rank_itm__distance__2024 .mypage_rank_itm_rank {
  border-top: 1px solid #000;
  padding-top: 5px;
}

.mypage_rank_itm__dealer .mypage_rank_itm_ttl,
.mypage_rank_itm__dealer .mypage_rank_itm_rank {
  padding-bottom: 5px;
}

.mypage_rank_itm_ttl {
  white-space: nowrap;
  padding-right: 0.8em;
}

.mypage_rank_itm_rank {
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
}

.mypage_rank_itm_rank_deco {
  padding-right: 0.8em;
}

.mycar_img {}

.mycar_tab_wrap {
  margin-bottom: 0.5rem;
  /* gap: 0.5rem; */
  gap: 1rem;
  border-bottom: 0.1rem solid #fff;
}

.mycar_tab_itm {
  display: flex;
  width: 30%;
  margin-bottom: -0.1rem;
  padding: 0.5rem 1rem;
  justify-content: center;
  align-items: center;
  background-color: #F8F8F8;
  color: #212121;
  line-height: 1.5;
  transition: 0.2s;
  cursor: pointer;
}

.mycar_tab_itm.js_crnt {
  background-color: #212121;
  color: #F8F8F8;
  border-top: 0.1rem solid #F8F8F8;
  border-left: 0.1rem solid #F8F8F8;
  border-right: 0.1rem solid #F8F8F8;
}

.Mycar {
  width: 100%;
  border: 1px solid #212121;
}

.Mycar tr {
  border-bottom: 1px solid #212121;
}

.Mycar tr:last-of-type {
  border-bottom: none;
}

.Mycar th,
.Mycar td {
  font-size: 1.2rem;
  padding: 10px;
}

.Mycar th {
  width: 110px;
  background-color: #000;
}

.Mycar td {
  background-color: #373737;
}

.Reserve_btn {
  margin-top: 5px;
  font-size: 1.2rem;
  font-family: inherit;
  width: auto;
  height: auto;
  display: block;
  width: 68px;
  max-width: 100%;
}

.mypage_recommend_spot {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/mypage/recommend_spot_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 387 / 335;
}

.mypage_recommend_spot_txtWrap {
  position: absolute;
  width: 84.5%;
  bottom: 1.8rem;
  bottom: 8%;
  right: 0;
  left: 0;
  margin-inline: auto;
}

.mypage_recommend_spot_ttl {
  position: relative;
  margin-top: 2rem;
  color: #212121;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.mypage_recommend_spot_ttl::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1rem;
  margin-inline: auto;
  bottom: -0.8rem;
  left: 0;
  right: 0;
  mask-image: url(../img/mypage/recommend_spot_ttl_deco.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #2767AC;
}

.mypage_recommend_spot_lead {
  color: #212121;
  font-size: 1.3rem;
  line-height: calc(22 / 14);
}

@media (max-width: 576px) {}

.Information_itm+.Information_itm {
  border-top: 1px solid #000;
}

.Information_itm a {
  cursor: pointer;
}

.Information_ttl {
  font-size: 1.4rem;
  margin-bottom: 0.5em;
}

.Atitle_lst {
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.Atitle_lst_itm {
  width: 70px;
  height: 70px;
  line-height: 1;
}

.Atitle_lst_itm+.Atitle_lst_itm {
  margin-left: 5%;
}

.Atitle_lst_itm::before {
  width: 100%;
  height: 100%;
}

/* 5ptボーナス */
.Atitle_lst_itm__visited::before {
  background-image: url(../img/mypage/atitle_visited.svg);
}

.Atitle_lst_itm__visited.active::before {
  background-image: url(../img/mypage/atitle_visited_on.svg);
}

/* 10pt 到達 */
.Atitle_lst_itm__ten_point::before {
  background-image: url(../img/mypage/atitle_ten_point.svg);
}

.Atitle_lst_itm__ten_point.active::before {
  background-image: url(../img/mypage/atitle_ten_point_on.svg);
}

/* Wチャンス */
.Atitle_lst_itm__wchance::before {
  background-image: url(../img/mypage/atitle_double_chance.svg);
}

.Atitle_lst_itm__wchance.active::before {
  background-image: url(../img/mypage/atitle_double_chance_on.svg);
}

/* 景品ゲット */
.Atitle_lst_itm__giftget::before {
  background-image: url(../img/mypage/atitle_gift_get.svg);
}

.Atitle_lst_itm__giftget.active::before {
  background-image: url(../img/mypage/atitle_gift_get_on.svg);
}

/* 景品ゲット */
.Atitle_lst_itm__goodsget::before {
  background-image: url(../img/mypage/atitle_goods_get.svg);
}

.Atitle_lst_itm__goodsget.active::before {
  background-image: url(../img/mypage/atitle_goods_get_on.svg);
}
/* 2025_1stのリンク */
.link_2025_1st {
  color: #C0C0C0;
  text-align: right;
}

span.small_txt {
  font-size: 75%;
}



@media (max-width: 576px) {
  .Atitle_lst_itm {
    width: 18.667vw;
    height: 18.667vw;
  }
}



/* slider */
.Mv_slider,
.Mv_slider.slick-slider {
  margin: auto;
  width: 100%;
  height: auto;
  min-height: auto;
  display: none;
}

.Mv_slider.slick-initialized {
  display: block;
}

.Mv_slider.slick-slider .slick-list,
.Mv_slider.slick-slider .slick-track {
  height: inherit;
}

.Mv_slider_itm,
.Mv_slider_itm.slick-slide {
  width: 89.5vw;
  max-width: 325px;
  margin: 0 5px;
  cursor: pointer;
}

.Mv_slider_itm_wrp {
  width: 100%;
  height: 0;
  padding-top: calc(100% * 0.53);
  display: block;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.Mv_slider_itm img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}

.Mv_slider .slick-dots {
  padding-top: 0;
  text-align: center;
  height: 6px;
  position: static;
  margin-top: 10px;
}

.Mv_slider .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 5px;
  overflow: visible;
}

.Mv_slider .slick-dots li button {
  overflow: visible;
}

.Mv_slider .slick-dots li button::before {
  background-color: #707070;
  border-radius: 50%;
}

.Mv_slider .slick-dots li.slick-active button::before {
  background-color: #fff;
}

/* シーズ */
.Season_lst .l_clm2 {
  margin-top: 10px;
}

.Season_lst .l_clm2:nth-of-type(1),
.Season_lst .l_clm2:nth-of-type(2) {
  margin-top: 0;
}



/*================================================
    Download
================================================*/
.Dl_img {
  width: 62%;
  margin: 0 auto 40px;
}

/*================================================
    Gift
================================================*/
.Gift_rank {
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  display: block;
  width: 100%;
  background-color: #0066B1;
  border-radius: 1000px;
  padding: 8px;
  margin-bottom: 20px;
}

.Gift_rank::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: #0066B1 transparent transparent transparent;
  right: 0;
  left: 0;
  bottom: -10px;
  margin: auto;
}

.Gift_lst {
  width: 100%;
}

.Gift_lst_chd {
  padding: 20px;
  background-color: #000;
  margin-top: 10px;
}

.Gift_lst_img {
  margin-bottom: 20px;
  text-align: center;
}

.Gift_lst_ttl {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.Gift_popup {
  color: #000;
  display: none;
}

/*================================================
    Stamp List
================================================*/
.StampLst {}

.StampLst_chd {
  font-size: 1rem;
  /* padding: 18px 15px 20px; */
}

.StampLst_img {
  width: 87.5%;
  max-width: 140px;
  text-align: center;
  margin: 0 auto 20px;
}

.StampLst_img img {
  border-radius: 50%;
  background-color: #fff;
}

.StampLst_chd h4 {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 8px;
}

.StampLst_chd p {
  color: #ACACAC;
  line-height: 1.5;
  text-align: center;
}

/* .StampLst_btn{
  font-size: 1.2rem;
  height: 30px;
  margin-top: 10px;
} */

@media (max-width: 576px) {}

/*================================================
     Spot - List
================================================*/
.Spot_pull {
  padding: 16px 5%;
  margin: 0;
  border-top: 1px solid #000;
}

.Spot_lst_itm:last-of-type {
  border-bottom: 1px solid #000;
}

.Spot_pull_trg:first-of-type {
  border-top: 0;
}

.g_pullDown+.Spot_pull_trg {
  display: none;
}

/* スポットのみ */
.Spot_lst_itm .Spot_pull_trg {
  margin-bottom: 20px;
}

.Spot_lst_itm .g_lst_itm {
  font-size: 1.4rem;
  font-weight: normal;
  width: 47.7%;
  margin: 15px 4.6% 0 0;
  border-radius: 5px;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.16);
  background-color: #0066B1;
}

.Spot_lst_itm .g_lst_itm:nth-of-type(2n) {
  margin-right: 0;
}

.Spot_lst_itm .g_lst_itm:nth-of-type(1),
.Spot_lst_itm .g_lst_itm:nth-of-type(2) {
  margin-top: 0;
}

.Spot_lst_itm .g_lst_itm::before {
  display: none;
}

.Spot_lst_itm .g_lst_itm a {
  width: 100%;
  height: 100%;
  padding: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 13px 15px;
}


/*================================================
     Spot - Detail
================================================*/
.spot_comment {
  color: #212121;
  font-size: 1.6rem;
  padding: 1.6rem;
  margin-bottom: 2rem;
  background-color: #F8F8F8;
  border-radius: calc(5/16 * 1.6rem);
}

.spot_comment_ttl {
  color: #212121;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}

.spot_comment_txt {
  font-size: 1.4rem;
}

.Spot_stamp {
  width: 70%;
  margin: 0 auto 40px;
}

.Spot_stamp img {
  width: 100%;
}

.Spot_img {
  text-align: center;
}

.Spot_event_ttl {}

.Spot_tweet_btn {
  text-align: center;
}

.Spot_map {
  color: #000;
  width: 100%;
  height: 375px;
  background-color: #fff;
}

@media (max-width: 576px) {
  .Spot_map {
    height: 100vw;
  }
}


/*================================================
     Information
================================================*/
.Info_lst {}

.Info_lst_itm {
  /* padding: 20px 5%; */
}

.Info_data {
  color: #fff;
  font-size: 1.5rem;
  display: inline-block;
  margin-bottom: 10px;
}

.Info_lst_itm .Info_data {
  margin-bottom: 0;
}

.Info_lst_itm__new .Info_data {
  position: relative;
}

.Info_lst_itm__new .Info_data::before {
  content: 'NEW';
  color: #d70612;
  font-size: 1.2rem;
  position: absolute;
  width: 35px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border: 1px solid #d70612;
  top: calc(((1.5rem * 1.75) - 18px)/ 2);
  right: -45px;
}

.Info_lst_itm a {
  color: #fff;
  text-decoration: underline;
}

.Info_link {
  color: #fff;
  display: inline-block;
}

/*================================================
     Event
================================================*/
.Event_lst {}

.Event_lst_itm {
  /* border-bottom: 1px solid #000; */
}

.Event_lst_itm+.Event_lst_itm {
  border-top: 1px solid #000;
}

.Event_lst_itm_inr {
  padding: 20px 5%;
}

.Event_link {
  color: #fff;
  display: inline-block;
  overflow-wrap: anywhere;
}


.Event_faq_itm {
  border-bottom: 1px solid #000;
}

.Event_faq_itm {
  padding: 20px 5%;
}

.Event_faq_itm dt {
  font-size: 1.6rem;
}

@media (max-width: 576px) {
  .Event_lst_itm_inr {
    padding: 5.333vw 5%;
  }

  .Event_faq_itm {
    padding: 5.333vw 5%;
  }
}


/*================================================
    Map
================================================*/
.Map_inner {
  color: #000;
  width: 100%;
  height: calc(100vh - 120px - 73px);
  background-color: #fff;
}

@media (max-width: 576px) {
  .Map_inner {
    height: calc(100vh - 32vw - 19.467vw);
  }
}


/*================================================
    Ranking
================================================*/
.Rank_box {
  color: #000;
  padding: 20px;
  background-color: #F8F8F8;
  border-radius: 10px;
}

.Rank_box {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.55;
}

.Rank_box_no {
  font-size: 1.6rem;
  text-align: right;
  line-height: 1.55;
}

.Rank_box_no .g_em {
  padding-right: 0.3em;
}

.Rank_itm {}

.Rank_itm_no {
  width: 12%;
  text-align: right;
  line-height: 1;
}

.Rank_itm_no span {
  color: #0066B1;
  font-size: 2.2rem;
  font-weight: bold;
}

.Rank_itm_no img {
  width: 100%;
}

.Rank_itm_info {
  width: 73%;
  padding: 0 10px 0 13px;
}

.Rank_itm_name {
  line-height: 1.5;
}

.Rank_itm_txt {
  margin-top: 0;
}

.Rank_itm_pt {
  font-size: 1.3rem;
  text-align: right;
  flex: 1 0 auto;
}

.Rank_itm_pt span {
  color: #0066B1;
}

/*================================================
    Setting
================================================*/
.Set_sec {
  border-bottom: 1px solid #000;
}

.Set_sec:first-of-type {
  /* border-top: 1px solid #000; */
}

.Set_ttl {
  padding-top: 17px;
  padding-bottom: 17px;
  padding-left: 5%;
  padding-right: calc(5% + 1.5em);
  margin-bottom: 0;
}

.Set_lst {
  padding: 20px 5%;
  display: none;
}

.Set_lst_itm+.Set_lst_itm {
  margin-top: 35px;
}

.Set_img {
  width: 62%;
  margin: 0 auto;
}

/*================================================
    Agreement
================================================*/
.Agree_sec {
  padding: 20px 5%;
}

.Agree_sec+.Agree_sec {
  border-top: 1px solid #000;
}

.Agree_lst {
  padding-left: 1.5em;
}

.Agree_lst_itm {
  list-style-type: decimal;
}

.Agree_lst_itm+.Agree_lst_itm {
  margin-top: 0.3em;
}

/*================================================
    Password Change & Reset(wp class)
================================================*/
.wpmem_msg {
  color: #d70612;
  border: 1px solid #d70612;
  width: 90%;
  padding: 10px;
  text-align: center;
  margin: 0 auto 15px;
}

#wpmem_pwdchange_form,
#wpmem_pwdreset_form {
  width: 90%;
  margin: 0 auto;
}

#wpmem_pwdchange_form legend,
#wpmem_pwdreset_form legend {
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 35px;
  width: 100%;
  display: block;
  padding-inline-start: 0;
  padding-inline-end: 0;
}

#wpmem_pwdchange_form .div_text,
#wpmem_pwdreset_form .div_text {
  margin-bottom: 30px;
}

#wpmem_pwdchange_form label,
#wpmem_pwdreset_form label {
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}

#wpmem_pwdchange_form .username,
#wpmem_pwdchange_form .textbox,
#wpmem_pwdreset_form .username,
#wpmem_pwdreset_form .textbox {
  font-size: 1.6rem;
  width: 100%;
  padding: 16px 13px;
  border-radius: 5px;
  border: 1px solid #ddd;
}

#wpmem_pwdchange_form input[type='submit'],
#wpmem_pwdreset_form input[type='submit'] {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  height: 60px;
  display: block;
  padding: 0;
  border-radius: 5px;
  position: relative;
  color: #fff;
  background-color: #0066B1;
  border: none;
}

/*================================================
    Change User Profile
================================================*/
/* .cropper-container {
  width: 100% !important;
}
.cropper-crop-box {
  width:100% !important;
} */
.user_prof_btnWrap button {
  padding: 0.2rem 3rem;
  border-radius: calc(5 / 16* 1.6rem);
  color: #212121;
  background-color: #fff;
}

.g_form_sec dt:has(+ .user_prof_btnWrap) {
  margin-bottom: 0;
}

.user_prof_btnWrap {
  width: 90% !important;
  margin-inline: auto;
}


/*================================================
     Voucher
================================================*/
.voucher_wrp {
  margin: 32px 0;
}

.voucher_link,
.voucher_link_used {
  width: 100%;
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  background-color: #0066B1;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  padding: 12px 12px 12px 28px;
}

.voucher_link::before {
  content: "";
  position: absolute;
  background-image: url(../img/common/icon_present.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 20px;
  top: 32%;
  left: 3%;
}

.voucher_link::after {
  content: "";
  position: absolute;
  height: 5px;
  width: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  top: 46%;
  right: 2%;
}

.voucher_txt_wrp {
  width: 100%;
  padding: 12px 12px 8px;
  font-size: 1.4rem;
  background-color: #e2e2e2;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  color: #1f1f1d;
  font-weight: 500;
}

.voucher_text {
  padding-left: 10px;
}

.voucher_date {
  color: #0066B1;
  font-weight: 700;
  font-size: 1.4rem;
}

.voucher_date span {
  font-size: 1.6rem;
}

.usr_voucher_page_ttl{
  margin-top: 38px;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
.usr_voucher_page_ttl span{
  font-size: 2.4rem;
}

.usr_voucher_not_used_wrap{
  margin: 20px 0 0 0;
  font-size: 1.4rem;
}
.voucher_bnr {
  display: flex;
  margin: 0 auto 24px;
  max-width: 325px;
  width: 100%;
  object-fit: cover;
}

.usr_voucher_sub_ttl {
  font-size: 2rem;
}

.usr_voucher_box_sub_ttl {
  font-size: 1.3rem
}

.usr_voucher_box {
  background-color: #fff;
  color: #0066B1;
  margin: auto;
  padding: 12px 20px 14px 20px;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 5px;
}

.voucher_box_used {
  position: relative;
}

.voucher_box_used::before {
  content: "利用済み";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
  text-align: center;
  line-height: 72px;
  font-weight: bold;
  font-size: 1.6rem;
}

.user_voucher_warning {
  color: #EE0405;
}

@media screen and (max-width: 400px) {

  .voucher_link,
  .voucher_link_used {
    font-size: 1.45rem;
  }
}