/* ★★★★★★★★★★

2023年12月の追加部分

★★★★★★★★★★★ */

.required-icon {
    color: #fff;
    background-color: #cc4d44;
    border-color: #cc4d44;
    padding: 3px;
    font-size: 12px;
    margin-left: 4px;
    margin-right: 4px;
}

/*------------------------
      お届け内容の変更
------------------------*/
/*---　ヘッダー　---*/

.mypageBody .header {
    z-index: 1;
}

.mypageBody .header_menu {
    background: none;
    position: relative;
    right: auto;
    top: 0;
    width: 36px;
    height: 17px;
}

.mypageBody .header_menu span {
    left: 10px;
}

.mypageBody .header_menu span:nth-child(1) {
    top: 5px;
}
.mypageBody .header_menu span:nth-child(2) {
    top: 10px;
}
.mypageBody .header_menu span:nth-child(3) {
    top: 15px;
}

.mypageBody .header {
    padding: 12px 10px;
  }

.mypageBody .header .width_adjust {
    max-width: 1366px;
    padding: 0;
}

.mypageBody .active .nav_menu_list a {
    font-size: 15px;
}

  .nav_menu_list a i {
    font-size: 17px;
  }

  .mypageBody .header_logo {
    position: relative;
  }

  .mypageBody .header_nav {
    position: relative;
    right: auto;
    top: auto;
  }

  .header_menuBtn {
    position: absolute;
    top: 20px;
    font-size: 10px;
  }

  .active .header_menuBtn {
    display: none;
  }

  .header.active-zindex {
    z-index: 999;
  }

/*---　フローディングヘッダー　---*/

  .head-animation {
    transform: translateY(-235%);
  }

  #floatingHeader {
    bottom: auto;
    top: 0;
    height: 74px;
  }

  .floatingHeader .width_adjust {
    max-width: 563px;
    padding: 0;
  }

.scroll-top  #floatingHeader {
    top: 100px;
}


/*---　詳細本文　---*/
  .detailsWrapper {
    padding: 136px 10px 88px;
    background: #F7F7F7;
  }

  .detailsWrapper .width_adjust {
    max-width: 642px;
  }

  .detailsFlow {
    max-width: 426px;
  }

  .detailsFlow::before {
    width: 69%;
  }

  .detailsNumb:before {
    left: 0;
  }

  body.orderDetails p.detailsExplain {
    font-size: 16px;
  }

/*---　リマインド　---*/

.orderDetails .including_wrap {
    background: #F8E7E7;
    margin-bottom: 41px;
}

.reminderColor {
    color: #D50000;
}

/*---　詳細タイトル　---*/
.orderDetails .form_title {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 51px;
}

/*---　詳細ステップ　---*/

.details_period {
    margin-bottom: 17px;
}

.orderDetails p {
    margin-bottom: 8px;
}

.orderDetails p.detailsExplain {
    margin-top: 47px;
}

/*---　詳細テーブル　---*/
.orderDetails .form_content_box {
    width: 100%;
}

.detailsTable.section_form {
    margin-top: 45px;
    padding-top: 0;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.orderDetails .form_content_box > .form_content_ttl,
.orderDetails .form_content > .form_content_ttl {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}


.orderDetails .form_content_box > .form_content_ttl .required-icon,
.orderDetails .form_content > .form_content_ttl .required-icon {
    margin-left: 0;
}

.orderDetails .form_content_input {
    background-color: #fff;
    padding: 24px;
    width: 70%;
    border-bottom: 1px solid #E3E3E3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.orderDetails .form_content_ttl {
    width: 30%;
    border-bottom: 1px solid #E3E3E3;
    text-align: left;
    display: flex;
    align-items: center;
    background: #EDEDED;
    font-size: 14px;
    padding: 24px 19px;
}

/*--- お届け予定商品 ---*/
.detailsTable_box-product {
    display: flex;
}
.productDetails .detailsContent_wrap {
    display: flex;
    gap: 17px;
}

.detailsContent .item_price {
    font-size: 14px;
}

.orderDetails .form_item_list_wrap {
    border-bottom: 1px solid #E3E3E3;
    width: 70%;
}

/*--- お届け日 ---*/
.orderDetails .form_content_input {
    display: block;
}
.details_delivery {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    right: auto;
    left: 106px;
}

.deliveryOptions {
    display: flex;
}

.section_form .deliveryOptions input {
    width: 22px;
}

.select_date {
    margin-bottom: 8px;
    position: relative;
}

.shipping_day .select_date select {
    padding: 11px 8px 11px 34px;
}


.shipping_day .select_date::before {
    content: "\f073";
    position: absolute;
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
    font-size: 15px;
    height: 15px;
    width: 15px;
    top: 8px;
    left: 13px;
    z-index: 1;
    color: #6C727F;
}

.detailInfo a {
    color: #6C727F;
    display: flex;
    gap: 4px;
    align-items: center;
}

.detailInfo a span {
    text-decoration: underline;
}

.mypageBody .section_form .input_single.input_period-month {
    width: 175px;
    max-width: none;
}

.mypageBody .section_form .input_single.input_period-month, .mypageBody .section_form .input_single.input_period-day {
    font-size: 14px;
}

.select_wrap::after, .varitaion_line .select_wrap::after {
    top: 25%;
}

.scheduleContent {
    margin-left: auto;
    width: 72%;
}

.orderDetails .item_quantity {
    margin-left: 0;
}

.orderDetails .item_detail {
    width: 40%;
}

.detailsTable_box-product img {
    width: 56px;
    height: 56px;
}

.orderDetails .form_variation_wrap {
    padding: 16px 20px;
}

.orderDetails .variation_ttl {
    font-size: 14px;
}

.orderDetails .variationCancel_wrap {
    margin-top: -8px;
}

.orderDetails .varitaion_line {
    padding-bottom: 23px;
}

/*--- ギフト希望 ---*/
.orderDetails .giftDetail .giftDetail_explain {
    padding: 16px 20px 0;
    margin-bottom: 23px;
}

/*--- お届け日 ---*/
/*--- お届け間隔 ---*/
.orderDetails.orderDetails-confirm  .detailsTable_box-cycle .form_content p {
    font-weight: 400;
}

/*--- お届け先 ---*/
.mypageBody .section_form .input_single.region .form_content_ttl, .mypageBody .section_form .input_single.locality .form_content_ttl, .mypageBody .section_form .input_row.no_flex .form_content_ttl {
    border: none;
}

.mypageBody .section_form .input_row.no_flex .form_content_ttl {
    width: 100%;
}

/*--- お支払い情報 ---*/
.detailsTable_box-payment .form_content_input {
    flex-direction: column;
}

body.orderDetails .currentPayment {
    margin-right: auto;
}

.detailsContent-payment .form_content_ttl {
    width: 100%;
}

.mypageBody .card_current_num {
    padding: 0 15px 0 35px;
}

.payment_content.form_content {
    padding: 0;
}

.detailsContent-payment .form_content_box {
    flex-direction: column;
}

.mypageBody .payment_content.form_content:last-of-type {
    margin-top: 15px;
}

.mypageBody .securitycode .input_row {
    margin-bottom: 0;
}

.orderDetails-change.mypageBody .card_current_num {
    padding: 0 15px 0 45px;
}

.orderDetails .detailsTable_box-payment .form_content_input .form_content_ttl,
.orderDetails .detailsTable_box-payment .form_content_input .form_content_input {
    border-bottom: none;
}

.orderDetails .detailsTable_box-payment .form_content_input .form_content_input {
    width: 100%;
}

.orderDetails .select_wrap-Payment_result .form_content_box {
    flex-direction: column;
}

.orderDetails .securitycode .form_content_ttl {
    width: 100%;
}

.orderDetails-confirm .detailsTable_box-payment .form_content p {
    margin-bottom: 0;
}

/*--- お届け先　---*/
.detailsTable_box-address .form_content {
    display: flex;
}

.detailsTable_box-address .input_flex {
    width: 100%;
}

.orderDetails .address_new_form .form_content_input {
    border-bottom: none;
}

.orderDetails .address_new_form .form_content .form_content_box {
    width: 100%;
}

.orderDetails .address_new_form .form_content_ttl {
    border-bottom: none;
}

/*------------------------
    マイページTOP
------------------------*/
.mypageTop .detailsWrapper .width_adjust {
    padding: 0;
}

/*--- タイトル　---*/
.mypageTop .detailsWrapper {
    padding: 140px 0 88px;
  }

  .mypageTop .form_title {
    font-size: 24px;
  }

  .mypageTop .form_title {
    padding: 0 0 32px;
  }

/*---　会員ステータス　---*/
    .statusWrap {
        align-items: center;
        display: flex;
        gap: 7.7%;
        margin-bottom: 16px;
        position: relative;
        padding: 24px 4%;
    }

    .statusWrap::after {
        /*縦線削除*/
        /*content: "";*/
        width: 1px;
        height: 65px;
        background: #fff;
        position: absolute;
        top: 19px;
        left: 50%;
    }
    .status_profilo {
        align-items: center;
        padding: 0;
        gap: 8px;
        border-bottom: none;
    }

    .profilo_img img {
        width: 47px;
        height: 47px;
    }

    .profilo_name {
        font-size: 16px;
    }

    .profilo_welcome {
        font-size: 12px;
    }

    .profilo_current {
        font-size: 12px;
    }

    .currentStatus {
        font-size: 14px;
        padding: 0 6px;
    }

    .status_privilege {
        margin-top: 0;
    }

    .privilege_text {
        font-size: 12px;
        text-align: left;
        margin-bottom: 5px;
    }

    .privilege_list {
        gap: 8px;
    }

    .privilege_list li {
        font-size: 12px;
        line-height: 1.8S;
    }

    .privilege_main {
        font-size: 14px;
        line-height: 1.5;
    }


/*---　保有ポイント　---*/
.currentPoint {
    align-items: center;
    display: flex;
    padding: 33px 4%;
    justify-content: space-between;
    position: relative;
    margin-bottom: 48px;
}

.currentPoint::after {
    /*縦線削除*/
    /*content: "";*/
    width: 1px;
    height: 119px;
    background: #E3E3E3;
    position: absolute;
    top: 19px;
    left: 50%;
}

.currentPoint_detail {
    padding: 0;
    border-bottom: none;
    width: 50%;
}

.pointTittle {
    font-size: 14px;
    letter-spacing: 1.6;
}

.currentPoint_upgrade {
    margin-top: 0;
    padding-left: 27px;
    width: 50%;
}

.upgradeDetails {
    font-size: 11px;
    padding: 0;
}

.upgradeDetails .form_num.upgrade_date, .upgradeDetails .form_num  {
    font-size: 14px;
}

.s-silver .nextgrade_text::before, .s-bronze .nextgrade_text::before {
    width: 40px;
    height: 40px;
    top: -5px;
}

.nextgrade_name {
    font-size: 12px;
    line-height: 1.6;
}

.nextgrade_text {
    padding: 4px 16px 4px 20px;
}

.nextgrade_privilege {
    font-size: 12px;
    line-height: 1.75;
}

.nextgrade_privilege .form_num {
    font-size: 14px;
    line-height: 1.5;
}

/*--- お客様のご注文 ---*/
.mypageTop .including_wrap-currentDelivery .width_adjust {
    padding: 0 6.5%;
}

.deliveryTab {
    margin: 0 auto;
    max-width: 642px;
}

.deliveryTab-list-item:hover {
    cursor: pointer;
}

.deliveryItem_lower {
    display: flex;
    justify-content: space-between;
}

.deliveryItem_btn {
    flex-direction: column;
    gap: 8px;
}

.myPageOrderBtn {
    width: 130px;
}

.deliveryItem_more button {
    margin: 8px 0 0;
}

.mypageTop .orderCancelLink {
    margin-left: auto;
}

/*--- おすすめの商品 ---*/
.arrow-common:hover {
    cursor: pointer;
}

.slick-slider {
    margin: 0 auto;
    max-width: 588px;
}

.arrow-common {
    top: -40%;
}

.arrow-next.slick-arrow {
    right: -6%;
}

.arrow-prev.slick-arrow {
    left: -6%;
}

.recommendWrap {
    padding: 40px 0 36px;
}

/*--- 確認：お届け予定商品　---*/
.orderDetails.orderDetails-confirm .item_box {
    gap: 17px;
}
.orderDetails-confirm .item_detail {
    width: 67%;
}

.orderDetails-confirm .purchaseInfo .form_content p  {
    margin-bottom: 4px;
}

/*------------------------
    注文一覧
------------------------*/
.orderDetails-all .detailsWrapper {
    padding-bottom: 64px;
}

/*--- タイトル　---*/
.orderDetails.orderDetails-all .form_title {
    margin-bottom: 32px;
}

/*--- 注文内容　---*/
.orderDetails-all .orderCancelLink {
    margin-left: auto;
}


.orderDetails-all .orderCancelLink.sp_only {
    display: none;
}


.orderDetails-all .deliveryItem-regular .deliveryItem_btn {
    gap: 8px;
}


/*------------------------
    過去履歴一覧
------------------------*/

.js-more-btn i {
    top: 2px;
}

/*------------------------
    過去履歴詳細
------------------------*/
.orderHist-details.orderDetails .orderHist-details .productDetails {
    flex-direction: column;
    gap: 17px;
} 

.orderHist-details .productDetails .form_item_list_wrap {
    width: 100%;
}

.orderHist-details.orderDetails .productDetails .item_box .item_detail{
    width: 67%;
}

.orderHist-details .deliveryItem_btn {
    flex-direction: row;
    gap: 10px;
    width: 100%;
}


.orderHist-details .myPageOrderBtn {
    width: calc( 50% - 5px);
    max-width: none;
}

.deliveryItem_btn-receipt.deliveryItem_btn {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 103px;
}


.deliveryItem_btn-receipt.deliveryItem_btn a {
    width: 100%;
}

.orderHist-details .detailsContent.detailsContent-payment {
    flex-direction: column;
}

.detailsContent-address {
    margin-top: 13px;
}

.orderDetails .reciverName {
    margin-bottom: 15px;
}

.orderHist-details .form_content_input-orderDetails p {
    width: 78%;
}


/*---　既存フォームの調整　---*/ 


.orderDetails .item_confirm .form_title {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 51px;
    font-size: 20px;
    line-height: 1.6;
    color: #00163E;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 0 3.8% 20px;
    background: #f7f7f7;
  }

/*------------------------
    フッター
------------------------*/

  .floatingList a img {
    height: 50px;
  }
  
/*---　既存フォームの調整（2回目以降のお届け日設定）　---*/

.orderDetails #cycle_form .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
    border-bottom: 1px #E3E3E3 solid;
}

.orderDetails #cycle_form .form_title {
    width: 30%;
    display: block;
    text-align: left;
    padding: 0 19px;
}

.orderDetails #cycle_form .form_main {
    width: 70%;
    background: #fff;
    padding: 24px;
}

.orderDetails #cycle_form .form_content_ttl {
    border-bottom: none;
    flex-direction: row;
    padding: 10px;
}

.orderDetails #cycle_form .form_content_input {
    border-bottom: none;
}

.orderDetails #cycle_form .future_shipping .payment_content label::before {
    right: -30px;
}

.orderDetails #cycle_form .future_shipping .payment_content label::after {
    right: -22px;
}

.orderDetails #cycle_form .payment_content.form_content {
    flex-direction: column;
}

.orderDetails #cycle_form .form_content_ttl {
    border-bottom: 1px solid #E3E3E3;
}

.orderDetails #cycle_form .form_content.payment_content {
    align-items: unset;
}

.orderDetails #cycle_form .form_content.future_input {
    align-items: unset;
}

.orderDetails #cycle_form .future_input .form_content_input {
    width: 100%;
}

.orderDetails #cycle_mode_week .form_content_input {
    display: flex;
    column-gap: 8px;
    padding: 0;
    width: fit-content;
}

.orderDetails.mypageBody #cycle_mode_week .payment_content {
    flex-wrap: wrap;
    flex-direction: unset;
    align-items: center;
}

.orderDetails #title_week + .form_content.future_input {
    padding: 0 8px 0 24px;
}


.orderDetails #title_week {
    margin-bottom: 24px;
}


/*---　既存フォームの調整（お届け日設定）　---*/
.orderDetails .form_item.shipping_day {
    margin-bottom: 0;
}

.orderDetails .form_item.shipping_day .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
    border-bottom: 1px #E3E3E3 solid;
}

.orderDetails .form_item.shipping_day .form_title {
    width: 30%;
    display: block;
    text-align: left;
    padding: 0 19px;
}

.orderDetails .form_item.shipping_day .form_main {
    width: 70%;
    background: #fff;
    padding: 24px;
}

.orderDetails .form_item.shipping_day .form_content_ttl {
    border-bottom: none;
}

.orderDetails .form_item.shipping_day .form_content_input {
    border-bottom: none;
}

/*---　既存フォームの調整（クーポンの使用）　---*/
.orderDetails #coupon_form .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
    border-bottom: 1px #E3E3E3 solid;
}

.orderDetails #coupon_form .form_title {
    width: 30%;
    display: block;
    text-align: left;
    padding: 0 19px;
}

.orderDetails #coupon_form .form_main {
    width: 70%;
    background: #fff;
}

.orderDetails #coupon_form .form_content {
    padding: 24px;
}

.orderDetails #coupon_form .form_content_box {
    justify-content: space-between;
}

.orderDetails #coupon_form .form_content_input {
    width: 100%;
}

.orderDetails #coupon_form .input_flex .input_row {
    width: 100%;
}

.orderDetails #coupon_form .form_content_ttl,
.orderDetails #coupon_form .form_content_input {
    border-bottom: none;
    width: fit-content;
    margin: 0;
}

.orderDetails #coupon_form .form_content_input {
    width: 46%;
    max-width: 192px;
}

/*---　既存フォームの調整（ポイントの使用）　---*/
.orderDetails #point_form .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
    border-bottom: 1px #E3E3E3 solid;
}

.orderDetails #point_form .form_title {
    width: 30%;
    display: block;
    text-align: left;
    padding: 0 19px;
}

.orderDetails #point_form .form_main {
    width: 70%;
    background: #fff;
    padding: 24px;
}

.orderDetails #point_form .form_content_input {
    width: 100%;
}

.orderDetails #point_form .input_flex .input_row {
    width: 100%;
}

.orderDetails #point_form .form_content_ttl,
.orderDetails #point_form .form_content_input {
    border-bottom: none;
    width: fit-content;
}

.orderDetails #point_form  .input_flex {
    flex-wrap: wrap;
}

.orderDetails #point_form .form_content p{
    margin: 0 0 10px;
}


/*---　既存フォームの調整（通信欄）　---*/
.orderDetails #comment_form .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
}

.orderDetails #comment_form .form_title {
    width: 30%;
    display: block;
    text-align: left;
    padding: 0 19px;
}

.orderDetails #comment_form .form_main {
    width: 70%;
}

.orderDetails #comment_form .form_content_input {
    width: 100%;
}


.orderDetails .invalid-message {
    margin-bottom: 0;
}


.form_wrap .form_main .form_content:nth-of-type(11) .form_content_input {
    min-height: 98px;
    padding-top: 29px;
}

/*--- HTMLタグ修正　---*/
.detailsTitle {
    background: #EDEDED;
    width: 30%;
    padding: 24px 0 24px 37px;
    border-bottom: 1px solid #E3E3E3;
    text-align: left;
    display: flex;
    align-items: center;
}


.detailsTable dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.detailsContent {
  background-color: #fff;
  padding: 24px;
  width: 70%;
  border-bottom: 1px solid #E3E3E3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.detailsContent_wrap {
    width: 100%;
}
/*--- HTMLタグ修正　---*/

/*---　既存フォームの調整（お支払い方法）　---*/
.orderDetails #payment_form .payment_method > .form_wrap {
    align-items: center;
    display: flex;
    background: #EDEDED;
    border-bottom: 1px #E3E3E3 solid;
}

.orderDetails #payment_form .form_title {
    display: block;
    text-align: left;
    padding: 0 19px;
    width: 30%;
}

.orderDetails #payment_form .form_main {
    width: 70%;
    background: #fff;
    padding: 24px;
}

.orderDetails #payment_form .form_main > .form_content {
    flex-direction: column;
}

.orderDetails #payment_form .form_content_ttl {
    padding: 10px;
    width: 100%;
    flex-direction: row;
}

.orderDetails #payment_form .payment_content label::before {
    right: -30px;
}

.orderDetails #payment_form .payment_content label::after {
    right: -22px;
}

.orderDetails #payment_form .form_main > .form_content {
    align-items: flex-start;
}

.orderDetails #payment_form .payment_method .form_content.description {
    align-items: flex-start;
    flex-direction: column;
    font-size: 14px;
    padding: 10px 0;
}

.orderDetails #payment_form #card_form_entry .form_content_box {
    flex-direction: column;
}

.orderDetails #payment_form #card_form_entry .form_content_ttl {
    border-bottom: none;
    justify-content: flex-start;
}

.orderDetails #payment_form #card_form_entry .form_content_ttl + .form_content_input {
    border-bottom: none;
}

.orderDetails.orderDetails-change .detailsTable_box-payment #payment_credit .card_detail .form_content_ttl {
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
}

/*------------------------
      ログイン前画面
------------------------*/
.mypageLogin .detailsWrapper .width_adjust {
  max-width: 980px;
}

.mypageLogin .detailsWrapper > .width_adjust > .form_title {
  margin-bottom: 41px;
  font-weight: 500;
  font-size: 24px;
  color: #001635;
  letter-spacing: 0.05em;
  line-height: 1.06;

}

.login_wrap {
  display: flex;
  justify-content: space-between;
}

.memberLogin_wrap,
.newMember_wrap {
  padding: 40px;
  width: calc(50% - 20px);
}

.mypageLogin #floatingHeader {
  border-top: #E3E3E3 1px solid;
  border-bottom: #E3E3E3 1px solid;
}

.mypageLogin .floatingHeader .width_adjust {
  max-width: 498px;
}

.mypageLogin .floatingList a {
  width: 25%;
}

/*--- メールアドレスでログイン　---*/
.mypageTop.mypageLogin .detailsWrapper {
  padding:  140px 0 108px;
}
.mypageLogin .detailsWrapper .border_line.form_item {
  border: none !important;
  border-radius: 0;
  background: transparent;
  padding: 0;
  margin-bottom: 47px;
}

.form_title-loginOther {
  margin-top: 47px;
}

.mypageLogin .detailsWrapper .form_title {
  font-weight: 500;
  font-size: 18px;
  color: #313131;
  letter-spacing: 0.05em;
  line-height: 1.59;
  padding: 0;
}

.mypageLogin .detailsWrapper .form_title:last-of-type {
  margin-bottom: 32px;
}

.mypageLogin .form_main {
  padding-top: 0;
}


.mypageLogin .login_wrap .input_row {
  margin-bottom: 12px;
}

.input_row-forgetPassword {
  text-align: right;
  margin: -4px 0 34px;
}


.mypageLogin .login_wrap .form_main .form_btn {
  max-width: 390px;
}

/*--- 他の方法でログイン　---*/

.mypageLogin .input_row {
  padding: 0;
}

.loginWrap-sms,
.loginWrap-line {
  background: #fff;
  padding: 21px 0 0;
}

.mypageLogin .detailsWrapper .loginWrap-sms .form_title,
.mypageLogin .detailsWrapper .loginWrap-line .form_title {
  margin-bottom: 0;
}

.loginWrap-sms .form_main,
.loginWrap-line .form_main {
  background: #fff;
  padding: 24px 16px;
}


.mypageLogin .login_wrap .loginWrap-sms .form_main .form_btn,
.mypageLogin .login_wrap .loginWrap-line .form_main .form_btn
 {
  max-width: 358px;
}


.loginWrap-sms .form_main a {
  max-width: 358px;
  width: 100%;
}

.loginWrap-line .form_main a {
  margin-top: 0;
  background: #06C755;
  max-width: 358px;
  width: 100%;
}

/*--- LINE　---*/
.loginWrap-line .form_title {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
}

/*--- はじめての方はこちら　---*/
.newMember_wrap {
    margin-top: 0;
}

.newMember_wrap .form_title + .input_row {
  margin-bottom: 24px;
}

.newMember_wrap .form_btn {
  max-width: 390px;
}

/*--- 会員限定の特典　---*/
.newMember_explain {
  margin-bottom: 32px;
}

.newMember_pt:last-of-type {
  margin-bottom: 0;
}


.newMember_pt_img {
  display: flex;
  justify-content: center;
  max-width: 48px;
  width: 100%;
}

.newMember_pt img {
  max-height: 42px;
  object-fit: contain;
}

/*--- フリースペース　---*/
.newMember_explain-freespace {
  background: #fff;
  padding: 32px 22px;
  font-weight: 400;
  font-size: 16px;
  color: #313131;
  letter-spacing: 0.05em;
  line-height: 1.6;
  max-height: 320px;
}

.newMember_explain-freespace p {
  margin-bottom: 20px;
}

.free-list li:last-of-type {
  margin-bottom: 0;
}

.free-list li::before {
  content: "・";
  color: #6C727F;
  position: absolute;
  left: 0;
  font-size: 24px;
  top: -8px;
}

@media (width < 1004px) {
  .mypageTop.mypageLogin .detailsWrapper .width_adjust {
    padding: 0 10px;
  }

  .memberLogin_wrap, .newMember_wrap {
    width: calc(50% - 10px);
    padding: 40px 20px;
  }
}
