

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

/*----------------------------
    全体
----------------------------*/
    .sp_only {
        display: none;
    }

    .pc_only {
        display: block !important;
    }

    .width_adjust {
        margin: 0 auto;
        padding: 0 0.5%;
        width: 100%;
        max-width: 898px;
    }

    html body.body-bg {
        background: #fff;
        max-width: 1920px;
        margin: 0 auto;
        position: relative;
    }

    main {
        background-color: #f7f7f7;
    }

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

/*----------------------------
    ヘッダー
----------------------------*/
    .header {
        padding: 40px;
        position: relative;
        width: 100%;
        margin: 0 auto;
    }

    .header_inner {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }

    .header_nav {
        width: 42%;
    }

    .header_inner ul {
        color: #00163E;
        display: flex;
        font-family: 'Zen Old Mincho', serif;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 2.5;
        column-gap: 40px;
        justify-content: flex-end;
    }

    .header_inner ul a:hover {
        text-decoration: none;
    }

    .header_logo {
        margin: 0;
        width: 13%;
        max-width: 148px;
    }


    .header_logo a {
        width: 100%;
    }


    .header_logo a img {
        width: 100%;
    }

    .header_nav.pc_only a {
        color: #00163E;
    }

/*----------------------------
    FV
----------------------------*/
    .fv {
        margin-top: -17%;
    }

    .fv_img {
        background: #e6effc;
    }

    .fv_img_img.pc_only {
        aspect-ratio: 2.1 / 1;
    }

    .fv_img_img.pc_only img {
        position: absolute;
    }

    img.bg_light {
        left: 14%;
        width: 58%;
        height: auto;
        bottom: 2%;
    }

    img.fv_icon_new {
        width: 13.5%;
        top: 33.55%;
        left: 26.2%;
    }

    .fv_text_pc_only_wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 13%;
    }

    .fv_text.pc_only {
        display: flex!important;
        gap: 40%;
        width: 2.3%;
        justify-content: center;
    }

    .fv_text.pc_only img {
        height: 100%;
    }

    .fv_copy_pc_left {
        margin-top: -15%;
    }

    img.fv_copy_pc_right {
        margin-top: -5%;
        padding: 6%;
    }

    .fv_record.pc_only {
        width: 9%;
        height: auto;
        min-width: 150px;
        position: absolute;
        bottom: 15%;
        margin-left: 0.5%;
    }

    .fv_img .fv_record {
        top: 66%;
        right: 41%;
        left: auto;
        width: 162px;
    }

    .fv_ballon.pc_only {
        left: 24%;
        top: 46%;
        font-size: 1.6vw;
    }

    .catch  {
        padding: 92px 0 75px;
    }

    .catch_ttl {
        font-size: 36px;
        line-height: 1.6;
        margin: 0 auto 85px;
        width: 527px;
    }

    .catch_ttl::before {
        left: -20px;
    }

    .catch_ttl::after {
        top: auto;
        bottom: -16px;
        right: 10px;
    }

    .catch_tt_black {
        color: #313131;
    }

    .catch_tt {
        font-size: 20px;
        line-height: 2.1;
    }

/*----------------------------
    trouble
----------------------------*/
    .trouble {
        padding: 80px 0;
    }

    .trouble h2 {
        font-size: 30px;
        margin-bottom: 70px;
    }
    .trouble h2 .trouble_tt_num {
        font-size: 36px;
    }

    .trouble h2 .trouble_skin,
    .trouble h2 .trouble_span_2nd {
        font-size: 36px;
    }

    .trouble_is {
        font-size: 30px;
    }

    .trobuble_wrap {
        align-items: flex-end;
        display: flex;
        margin: 0 auto 65px;
        width: 765px;
    }

    .trouble_img {
        margin-right: 50px;
        width: 50%;
    }

    .trouble_img img {
        width: 100%;
    }

    .trouble_list {
        margin: 0;
        width: 43%;
    }

    .trouble_list li {
        background: radial-gradient(circle, rgba(212,214,217,1) 0%, rgba(244,243,243,1) 73%, rgba(212,214,217,1) 130%);
        font-size: 16px;
        padding: 20px 0;
    }

    .trouble_list li span {
        font-size: 19px;
    }

    .trouble_help {
        font-size: 29px;
        line-height: 1.8;
        padding-bottom: 117px;
    }

    .trouble_product {
        font-size: 36px;
        line-height: 1.4;
    }

    .trouble_support {
        font-size: 36px;
        line-height: 1.4;
    }

    .trouble_big {
        font-size: 32px;
        line-height: 1.6;
    }

    .trouble_bg2 {
        bottom: 76px;
        z-index: 0;
    }

/*----------------------------
    reason
----------------------------*/
    .reason {
        background-color: #fff;
    }
    .reason_circle_wrap {
        display: flex;
        margin: 0 auto 53px;
        padding-top: 21px;
        max-width: 100%;
    }

    .reason_circle {
        padding: 80px 0 0 58px;
        width: 299px;
    }

    .reason_circle img {
        width: 173px;
    }

    .reason_ppl {
        top: -35px;
        right: -1px;
        width: 576px;
    }

    .reason h3 {
        padding-left: 28px;
        margin-bottom: 21px;
    }

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

    .reason1_wrap_left {
        margin-right: 35px;
        width: 49%;
    }

    .reason1_wrap {
        margin-bottom: 29px;
    }

    .reason1_img_wrap {
        margin: 0;
        width: 50%;
    }
    .reason1_img {
        width: 51%;
    }

    .reason1_img_list {
        font-size: 10px;
        gap: 7px 9px;
        margin-bottom: 15px;
    }

    .reason1_img_list li {
        padding: 0 8px;
    }

    .reason1_img_list_wrap {
        width: 175px;
    }

    .reason23_wrap {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .reason23 {
        width: 43%;
    }

    .reason2_detail {
        margin: 0;
    }

    .reason_productimg::before {
        background: linear-gradient(to left, rgba(255,255,255,0), #E6EBEF 100%);
        width: 20%;
        height: 100%;
    }

    .reason_productimg::after {
        content: "";
        position: absolute;
        background: linear-gradient(to right, rgba(255,255,255,0), #E6EBEF 100%);
        width: 20%;
        height: 100%;
        top: 0;
        right: 0;
    }

    .reason_productimg_tt {
        bottom: 54px;
    }

    .reason_productimg_wrap {
        margin-top: 80px;
        background: #E6EBEF;
    }

    .reason_productimg {
        margin: 0 auto;
        width: 712px;
    }

/*----------------------------
    PRICE
----------------------------*/

    .price_box_ttl {
        font-size: 28px;
        line-height: 1.2;
        padding: 44px 0;
    }

    .price_box_ttl ruby {
        font-size: 36px;
        line-height: 0.9;
    }

    .price_box_wrap {
        background-color: #fff;
    }

    .price_box_ttl {
        margin-bottom: 0;
    }

    .price_box_wrap {
        display: flex;
        justify-content: space-between;
        padding: 72px 12% 38px;
    }

    .price_cta_wrap.pc_only {
        background: #fff;
        padding-bottom: 68px;
    }

    .price_cta_wrap.pc_only a:hover {
        color: #fff;
        background: #E4EAF5;
        text-decoration: none;
    }
    .price_cta_wrap.pc_only a {
        margin: 0 auto;
        width: 629px;
    }

    .price_box_img.pc_only {
        margin-right: 28px;
        width: 18%;
    }

    .price_box_img.pc_only img {
        width: 100%;
    }

    .price_box {
        padding: 0;
        width: 74%;
    }

    .price_box_subttl {
        font-size: 24px;
        line-height: 1.3;
    }

    .price_shipping {
        font-size: 18px;
        line-height: 1.3;
        margin-bottom: 25px;
    }

    .price_compare {
        justify-content: space-between;
        margin-bottom: 35px;
    }

    .price_box_content {
        display: block;
    }
    .price_box_content_tt {
        margin-right: 0;
        width: 100%;
    }

    .price_normal_ttl {
        font-size: 15px;
    }

    .price_zei {
        font-size: 13px;
    }

    .price_normal_price {
        font-size: 26px;
    }

    .price_sale_price {
        font-size: 80px;
    }

    .price_sale_yen {
        font-size: 45px;
    }

    .price_box_content_tt img {
        margin: 0 auto;
    }

    .price_box_content_tt_list {
        align-items: center;
        justify-content: space-between;
        display: flex;
        flex-wrap: wrap;
        gap: 18px;
    }

    .price_box_content_tt_list li:not(first-of-type) {
        padding: 18px 0;
        margin-bottom: 0;
        width: 238px;
    }
    .price_box_content_tt_list li:first-of-type  {
        margin: 0 auto;
        padding: 0;
        width:  206px;
    }


    .price_box_content_tt_list li:nth-child(2)::after  {
        content: none;
    }


    .price_box_content_tt_list li:nth-child(3)::after {
        content: "";
        position: absolute;
        background: url(/../img/price_box_content_list.svg) no-repeat;
        width: 50px;
        top: -18px;
        right: -15px;
        height: 50px;
        background-size: contain;
    }


    .price_box_content_tt_list .pc_only {
        background: none;
    }


    .price_more {
        margin: 62px 0 48px;
        font-size: 32px;
        line-height: 1.3;
    }

    .price_more::before {
        top: 10px;
        left: 280px;
    }
    .price_more::after {
        top: 10px;
        right: 280px;
    }

    .price_more_subttl {
        font-size: 24px;
        padding: 19px 0;
        margin-bottom: 23px;
    }

    .price_more_wrap {
        justify-content: center;
    }

    .price_mroe_img {
        text-align: center;
        margin-right: 20px;
        width: 32%;
    }

    .price_more_content {
        text-align: center;
        width: 63%;
    }

    .price_mroe_img::after {
        left: 50px;
    }

    .price_more_ttl {
        font-size: 20px;
        text-align: center;
        margin-bottom: 17ox;
    }

    .price_more_tt {
        font-size: 18px;
        line-height: 1.1;
    }

    .price_more_line {
        margin: 0 auto 15px;
        width: 330;
    }

    .price_more_wrap {
        padding-bottom: 85px;
    }


/*----------------------------
    フローティング
----------------------------*/
    .cta_btn_wrap {
        margin: 0 auto;
        width: 416px;
    }

    .cta_btn_wrap a {
        width: 100%;
        display: block;
    }

    .floating_btn {
        bottom: 27px;
    }

/*----------------------------
    入力フォーム
----------------------------*/
/* フォーム全体 */
    #form {
        margin: 99px auto 0;
        width: 642px;
    }

    .form_title {
        font-size: 20px;
    }

    .item_detail h3 {
        font-size: 16px;
    }

    .checkbox_tt {
        font-size: 18px;
    }

    .checkbox_tt span {
        font-size: 14px;
    }

    .form_content_box {
        display: flex;
    }

    .form_content_ttl {
        font-size: 16px;
        width: 37.5%;
    }

    .form_content_input {
        width: 67.4%;
    }

    .checkbox_wrap label::after {
        left: 22px;
    }

/* 商品の選択 */
    .item_quantity {
        width: 132px;
    }

    .item_price {
        font-size: 12px;
    }

    .item_price span {
        font-size: 18px;
    }

    .item_delete {
        font-size: 12px;
    }

    .item_total {
        font-size: 18px;
    }

    .item_total_price {
        font-size: 18px;
    }

    .item_total_price span {
        font-size: 24px;
    }

    .item_total_quantity {
        margin-bottom: 7px;
    }


/*　バリエーション　*/
    .variation_list {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }

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

    .form_variation_wrap {
        padding: 22px 25px;
    }

    .variation_ttl {
        font-size: 16px;
        width: 35%;
    }

    .variation_choice {
        width: 64%;
    }

    .variation_ttl {
        margin-bottom: 0;
    }

    .form_variation_wrap select {
        margin-bottom: 0;
    }



    .variation_list {
        margin-bottom: 15px;
    }

/*　ギフト　*/

    .gift .form_main {
        padding: 0;
    }
    .gift .checkbox_wrap label::before {
        left: 22px;
        top: -6px;
    }

    .gift .checkbox_wrap label::after {
        top: 1px;
        left: 31px;
    }

    .gift .form_content {
        align-items: center;
        display: flex;
        justify-content: space-between;
        padding-top: 15px;
    }

    .gift textarea {
        margin-top: 0;
    }

    .gift_ttl {
        font-size: 16px;
        width: 35%;
    }

    .gift_choice {
        width: 64%;
    }

/*　会員情報の入力　*/
    .border_line.form_item {
        margin: 0 0 20px;
    }

    .input_single.region .form_content_ttl,
    .input_single.locality .form_content_ttl    {
        width: 100%;
    }

/*　新しい住所　*/
.address_new .checkbox_wrap .checkbox_middle::before {
    width: 40px;
    height: 40px;
    top: -9px;
    left: -10px;
}

.address_new .checkbox_wrap .checkbox_middle::after {
    top: 3px;
    left: -1px;
    font-size: 20px;
}

.checkbox_wrap.checkbox_wrap_middle label {
    padding-left: 7%;
}

/*配送方法*/
    .shipping_method .form_main .form_content,
    .shipping_day .form_main .form_content {
        align-items: center;
        display: flex;
    }

/* ポイントの使用 */
    .point_use .form_content_input {
        text-align: right;
    }

    .point_current span {
        font-size: 20px;
    }

    .point_current {
        font-size: 16px;
    }

/*　2回目以降　*/
    .future_shipping .form_content_ttl.payment_ttl {
        width: 100%;
    }

    .future_shipping .payment_content input::before {
        width: 30px;
        height: 30px;
    }

    .future_shipping .payment_content label::before {
        top: -2px;
    }

    .future_shipping .payment_content label::after {
        top: 3px;
    }

    .future_shipping .payment_content input::after {
        top: 0px;
        right: 8px;
    }

    .future_input .form_content_input {
        padding-left: 26px;
    }

    .future_input .form_content_input p {
        font-size: 14px;
    }

    .form_future_box {
        margin-bottom: 20px;
    }


/*　お支払い方法　*/
    .payment_method .form_content_ttl {
        margin-bottom: 12px;
        width: 100%;
    }

    .card_brand {
        display: flex;
        gap: 10px;
        margin: 30px 0;
        flex-wrap: wrap;
    }

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

    .card_detail {
        margin: 0 auto;
        padding: 0 26px;
    }


    .card_detail .form_content_input {
        width: 100%;
    }

    .payment_content input::before {
        width: 30px;
        height: 30px;
        top: -7px;
        left: -1px;
    }

    .payment_content input::after {
        font-size: 15px;
        top: -1px;
        right: -3px;
    }

    .form_content_ttl.payment_ttl {
        padding: 15px 25px;
    }

    .payment_method .input_row {
        margin-bottom: 20px;
    }

    .payment_method .form_content.description {
        padding: 0 26px;
        color: #313131;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }

    .card_select_wrapper .checkbox_wrap {
        padding: 0 25px;
    }

    .card_current_num {
        padding: 0 15px 0 62px;
    }

    .card_current_num {
        margin-bottom: 5px;
    }


/*　備考　*/
    .form_other .form_content_input {
        width: 100%;
    }

/* プライバシーポリシー */
    .layer {
        background: rgba(0, 0, 0, .2);
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        opacity: 0;
        visibility: hidden;
        transition: opacity 1s linear, visibility 1s linear, z-index 1s linear;
    }

    .layer.is-open {
        z-index: 999;
        opacity: 1;
        visibility: visible;
    }

    .layer.is-open .modal{
        opacity: 1;
        visibility: visible;
    }

    .modal__button-wrap {
        position: absolute;
        right: -20px;
        top: -20px;
        display: inline-flex;
    }


    .close-button {
        position: relative;
        width: 39px;
        height: 39px;
        background: #EDEDED;
        border-radius: 50%;
        padding: 0;
        border: transparent;
        cursor: pointer;
    }

    .close-button span {
        width: 25px;
        height: 4px;
        background: #fff;
        display: inline-block;
        position: absolute;
        left: calc(50% - 12px);
        top: 49%;
        border-radius: 20px;
    }

    .close-button span:nth-child(1) {
        transform: rotate(45deg) translate(-1px, -1px);
    }

    .close-button span:nth-child(2) {
        transform: rotate(-45deg) translate(1px, -1px);
    }

    .modal {
        position: relative;
        margin-right: auto;
        margin-left: auto;
        width: 600px;
        min-width: 440px;
        opacity: 0;
        visibility: hidden;
        transition:  visibility .7s linear, opacity .7s linear;
    }

    .modal__inner {
        margin-top: 125px;
        margin-bottom: 125px;
        position: relative;
        margin-left: auto;
        margin-right: auto;
        background: #fff;
        box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
        display: block;
        padding: 25px;
        height: auto;
    }

    .modal__button-area {
        max-width: 843px;
        margin-right: auto;
        margin-left: auto;
        margin-top: 17px;
        padding-top: 15px;
    }

    .modal__contents {
        color: #313131;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0.05em;
    }

/*----------------------------
    確認画面
----------------------------*/
.confirm {
    margin: 0 auto;
    width: 642px;
}


.item_confirm_box_list {
    margin-left: auto;
    width: 366px;
}

.confirm .item_detail h3 {
    font-size: 18px;
}

.variation_confirm {
    width: 280px;
}

.item_detail {
    width: 76%;
}

.item_confirm_quantity {
    font-size: 14px;
}

.item_confirm_price_wrap p {
    font-size: 14px;
}

.item_confirm_price_wrap .item_confirm_price {
    font-size: 16px;
}

.item_confirm_price span {
    margin-right: 5px;
    font-size: 20px;
}

.item_total_confirm  {
    font-size: 16px;
}

.item_total_confirm span {
    font-size: 20px;
}


.confirm .form_content_ttl {
    font-size: 16px;
}

.confirm .form_content_confirm p {
    line-height: 1.6;
}

/*----------------------------
    フッター
----------------------------*/
    .footer {
        padding: 98px 0 177px;
    }

    .footer-logo {
        margin-bottom: 20px;
    }

    .footer_flex {
        align-items: center;
        display: flex;
        justify-content: space-between;
        margin-bottom: 72px;
    }

    .footer_info {
        margin: 0;
        width: 100%;
    }

    .footer_link {
        margin-bottom: 20px;
    }

    .footer_right {
        width: 25%;
    }

    .footer_sns {
        margin: 0;
        width: 31%;
    }

}


@media screen and (min-width: 768px) and (max-width: 800px) {
    html body.body-bg {
        overflow-x: clip;
    }

    .header {
        padding: 30px 4% 40px;
    }

    .header_nav {
        width: 48%;
    }

    .header_inner ul {
        column-gap: 30px;
    }


    .fv_img .fv_record {
        top: 82%;
        right: 33%;
    }

    .trobuble_wrap {
        max-width: 750px;
    }

    .footer_right  {
        width: 31%;
    }

 }


@media screen and (min-width: 801px) and (max-width: 1000px) {

    .header_inner ul {
      font-size: 15px;
    }

    .header_nav {
        width: 46%;
    }

    .fv_img .fv_record {
        top: 79%;
        right: 34%;
    }

 }

 @media screen and (min-width: 1150px) {
    .fv_record.pc_only {
        bottom: 18%;
    }
}

@media screen and (min-width: 1920px) {
    .fv_ballon.pc_only {
        font-size: 30px;
    }
}



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

2023年10月の追加部分

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

/*--- 同梱メッセージ　---*/

.including_wrap .width_adjust {
    padding: 0 6.2%;
}

.including_msg_img {
    width: 30px;
}

.including_tt {
    width: 89%;
}


/*--- 同梱モーダル　---*/
.modal-body {
    overflow-y: auto;
    height: auto;
    max-width: 999px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}


.modal-close {
    position: absolute;
    top: 22px;
    right: 3.2%;
}


.modal-content {
    padding: 0;
    background-color: #F7F7F7;
    max-width: 999px;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.modal-content::-webkit-scrollbar{
    display: none;
}

.including_main {
    padding-top: 22px;
    padding-bottom: 22px;
}


.including_main .width_adjust {
    display: flex;
    justify-content: space-between;
    padding: 0 3.2%;
}

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

    .including_main .width_adjust {
        max-width: none;
    }
}

/*---　左側　---*/
.main_left {
    width: 60.6%;
}

.including_ttl {
    display: flex;
    padding: 22px 33px;
    background-color: #fff;
}

.including_list {
    height: 610px;
    overflow-y: scroll;
}

.including_box_ttl {
    font-size: 14px;
}

.including_box_ttl label::before {
    top: 23px;
}

.including_box_ttl label::after {
    top: 28px;
}

.including_box_img {
    width: 71px;
    height: 71px;
}

.js-detail-hidden {
    display: block;
}

.including_box_content {
    display: flex;
    flex-wrap: wrap;
}

.detail_box {
    display: flex;
    max-width: 446px;
    width: 100%;
}

.detail_box_ttl {
    min-width: fit-content;
}

.detail_box_ttl, .detail_box_tt {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    width: fit-content;
}




/*---　右側　---*/
.main_right {
    width: 35%;
    position: relative;
}

.main_box_upper {
    padding: 12px;
}

.main_box_lower {
    padding: 12px;
}

.point_btn, .main_right .form_btn {
    cursor: pointer;
}

/*---　ポイント　---*/
.main_right_box:first-of-type {
    margin-top: 0;
}

.main_right_ttl, .point_current {
    font-size: 14px;
    line-height: 2.2;
}

.main_box_lower .modal_input {
    width: 65%;
}

.main_explain {
    font-size: 12px;
    line-height: 2.6;
}

.main_right .main_right_btn {
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: 0;
}

.main_right .main_right_btn .btn {
    width: 86%;
}

/*---　クーポン　---*/

.main_cupon_wrap input+label.modal_input:hover {
    cursor: pointer;
}

/*---　同梱メッセージ　---*/
.main_error.form_error {
    top: 46px;
}

#submit_errors {
    font-size: 14px;
    text-align: center;
    margin: 25px auto 0;
}

.main_right_btn {
    height: 174px;
  }

@media screen and (min-width: 768px) and (max-height: 779px) {
    .modal-body {
        overflow-y: scroll;
        height: 100%;
    }
}

.mac .modal-close {
    top: 21px;
    right: 2.8%;
}
