@charset "UTF-8";
/* =========================================================================================================================================== */
/*
/* カート関連のデザインファイル
/*
/* =========================================================================================================================================== */
@media all {
    .ec-cartRole {
        padding-bottom: 63px;
    }
}
@media screen and (max-width: 767px){
    .ec-cartRole {
        padding-bottom: 0;
    }
}
/* =========================================================================================================================================== */
/* カートヘッダー progress
/* =========================================================================================================================================== */
@media all {
    .ec-progress{
        margin: 0 auto;
        padding: 8px 0 16px;
        padding-bottom: 100px;
        display: table;
        table-layout: fixed;
        width: calc(100% - 72px);
        max-width: 650px;
        list-style: none;
    }
    .ec-progress .ec-progress__item {
        display:table-cell;
        position: relative;
        font-size: 16px;
        text-align: center;
        z-index: 2;
    }
    .ec-progress .ec-progress__item:after {
        content: '';
        position: absolute;
        display: block;
        background: var(--gray2);
        width: 100%;
        height: 4px;
        top: 19px;
        left: 50%;
        z-index: -1;
    }
    .ec-progress .ec-progress__item:last-child:after {
        display: none;
    }
    .ec-progress .ec-progress__number{
        line-height: 40px;
        width: 40px;
        height: 40px;
        margin-bottom: 10px;
        font-size: 22px;
        font-weight: var(--font-weight-extra-bold);
        background: var(--gray2);
        color: var(--white);
        top: 0;
        left: 18px;
        display: inline-block;
        text-align: center;
        vertical-align: middle;
        border-radius: 50%;
        font-family: var(--font-shippori);
    }
    .ec-progress .ec-progress__label {
        font-size: 16px;
        line-height: 17px;
        font-weight: var(--font-weight__bold);
    }
    .ec-progress .ec-progress__label br{
        display: none;
    }
    .ec-progress .is-complete .ec-progress__number {
        background: var(--brown);
    }
    .ec-progress .is-complete .ec-progress__label {
        color: var(--brown);
    }
}
@media screen and (max-width: 767px){
    .ec-breadcrumb {
        padding-top: 11.5px;
    }
    .ec-progress {
        padding-top: 3px;
    }
    .ec-progress .ec-progress__label br {
        display: block;
    }
    .ec-progress .ec-progress__number {
        width: 33px;
        height: 33px;
        line-height: 33px;
        font-size: 16px;
        margin-bottom: 8.3px;
    }
    .ec-progress .ec-progress__item:after {
        top: 15px;
    }
}


/* =========================================================================================================================================== */
/* 注文合計・注意事項・販売種別
/* =========================================================================================================================================== */
@media all {
    .ec-alert{
        width: calc(100% - 72px);
        text-align: center;
        margin: 0 auto;
    }
}
@media screen and (max-width: 767px){
    .ec-alert {
        text-align: left;
    }
}


/* =========================================================================================================================================== */
/* 注文合計・注意事項・販売種別
/* =========================================================================================================================================== */
@media all {
    .ec-cartRole__totalText p {
        padding-top: 26px;
        padding-bottom: 17px;
        text-align: center;
        margin: 0;
    }
    .ec-cartRole__error .ec-alert-warning {
        padding: 0;
        padding-bottom: 13px;
        color: var(--color-red);
    }
    .ec-cartRole__error .ec-alert-warning .sp {
        display: none;
    }
    .ec-cartRole__cartSaletype {
        width: calc(100% - 54px);
        margin: 0 auto;
        max-width: var(--content-width-2);
        padding-bottom: 13px;
    }
}
@media screen and (max-width: 767px){
    .ec-cartRole__error .ec-alert-warning .sp {
        display: block;
    }
    #page_cart .ec-cartRole__error .ec-alert-warning {
        justify-content: center;
    }
}


/* =========================================================================================================================================== */
/* カートテーブル（商品一覧）
/* =========================================================================================================================================== */
@media all {
    .ec-cartTable {
        display: table;
        width: 100%;
        margin: 0 auto;
    }
    
    .ec-cartHeader {
        display: table-row;
    }
    .ec-cartHeader .ec-cartHeader__label {
        display: table-cell;
        line-height: 41px;
        font-size: 16px;
        background-color: var(--gray);
        border-bottom: solid 1px var(--black);
    }
    .ec-cartHeader li:nth-child(1) {
        text-align: center;
    }   
    .ec-cartHeader li:nth-child(2) {
        padding-left: 168px;
    }
    .ec-cartHeader li:nth-child(3) {
        text-align: center;
    }
    .ec-cartHeader li:nth-child(4) {
        text-align: right;
        padding-right: 22px;
    }
    
    .ec-cartRow {
        display: table-row;
        margin: 0;
    }
    .ec-cartRow li {
        display: table-cell;
        border-bottom: solid 1px var(--gray2);
    }

    /* 削除列 */
    .ec-cartRow .ec-cartRow__delColumn {
        width: 58px;
        vertical-align: middle;
    }
    .ec-cartRow .ec-cartRow__contentColumn {
        padding-top: 17px;
        padding-bottom: 18px;
    }
    .ec-cartRow .ec-cartRow__delColumn .ec-icon {
        width: 20px;
        display: block;
        margin: 0 auto;
    }

    /* 商品列 */
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__img {
        /* display: inline-block; */
        width: 150px;
        margin-right: 18px;
    }
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__img img {
        width: 100%;
    }
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary {
        /* display: inline-block; */
        line-height: 23px;
        letter-spacing: 0.05em;
        flex: 1;
    }
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__flexbox {
        display: flex;
    }    
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__name {
        padding-bottom: 29px;
        /* width: 100%; */
    }
    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__name a {
        color: var(--color-gray);
    }  
    
    /* 数量列 */
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
        text-align: center;
        line-height: 22px;
        padding-bottom: 3px;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP {
        display: none;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpDown {
        display: flex;
        justify-content: center;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton, 
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton,
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled {
        width: 25px;
        display: block;
        text-align: center;
        height: 25px;
        border-radius: 50%;
        border: solid 1px var(--color-lightgray);
        color: var(--color-lightgray);
        font-size: 23px;
        margin: 0 6.5px;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled {
        color: var(--color-lightgray2);
        border-color: var(--color-lightgray2);
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton:hover, 
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton:hover {
        text-decoration: none;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton         .ec-cartRow__amountDownButton__icon, 
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled .ec-cartRow__amountDownButton__icon,
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton           .ec-cartRow__amountUpButton__icon {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton         .ec-cartRow__amountDownButton__icon, 
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled .ec-cartRow__amountDownButton__icon {
        height: 21px;
    }
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton           .ec-cartRow__amountUpButton__icon {
        height: 23px;
    }
    .ec-cartRow .ec-cartRow__amountColumn {
        width: 100px;
        vertical-align: middle;
    }

    /* 小計列 */
    .ec-cartRow .ec-cartRow__subtotalColumn {
        width: 190px;
        text-align: right;
        vertical-align: middle;
    }
    .ec-cartRow .ec-cartRow__subtotalColumn .ec-cartRow__sutbtotalSP {
        display: none;
    }
}
@media screen and (max-width: 767px){
    .ec-cartHeader li:nth-child(3) {
        display: none;
    }

    .ec-cartHeader li:nth-child(4) {
        display: none;
    }

    .ec-cartTable {
        display: block;
    }

    .ec-cartHeader {
        display: flex;
        margin-bottom: 0;
    }

    .ec-cartHeader li:nth-child(1) {
        width: 46px;
    }

    .ec-cartHeader li:nth-child(2) {width: calc(100% - 46px);padding-left: 126px;}

    .ec-cartHeader .ec-cartHeader__label {
        display: block;
    }

    .ec-cartRow {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-top: 15px;
        padding-bottom: 17px;
        border-bottom: solid 1px var(--color-lightgray3);
    }

    .ec-cartRow .ec-cartRow__delColumn {
        width: 46px;
    }

    .ec-cartRow .ec-cartRow__contentColumn {
        width: calc(100% - 46px);
        padding-top: 0;
        padding-bottom: 0;
    }

    .ec-cartRow li {
        display: block;
        border-bottom: none;
    }

    .ec-cartRow .ec-cartRow__contentColumn .ec-cartRow__img {
        margin-right: 16px;
        width: 90px;
    }

    .ec-cartRow .ec-cartRow__amountColumn {
        width: 100%;
        display: flex;
        justify-content: flex-end;
        padding-top: 29px;
    }

    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amount {
        display: none;
    }

    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP {
        display: block;
        line-height: 25px;
        margin-right: 20px;
    }

    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountUpButton {
        margin-right: 5px;
        margin-left: 0;
    }

    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButton, 
    .ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountDownButtonDisabled {
        margin-right: 14px;
        margin-left: 0;
    }

    .ec-cartRow .ec-cartRow__subtotalColumn {
        width: 100%;
        padding-top: 20px;
    }

    .ec-cartRow .ec-cartRow__delColumn .ec-icon {
        margin-top: 37px;
    }
}


/* =========================================================================================================================================== */
/* 合計、レジボタン、キャンセルボタン
/* =========================================================================================================================================== */
@media all {
    /* 合計 */
    .ec-cartRole__actions {
        width: 100%;
    }
    .ec-cartRole__actions .ec-cartRole__total {
        text-align: right;
        margin-right: 0;
        padding-top: 13px;
        font-size: 12px;
        padding-bottom: 15px;
    }
    .ec-cartRole__actions .ec-cartRole__total .ec-cartRole__totalAmount {
        font-size: 16px;
        font-weight: var(--font-weight__bold);
        color: var(--color-red);
        margin-left: 12px;
    }

    /* ボタン */
    .ec-cartRole__actions .ec-blockBtn--action {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 300px;
        height: 50px;
        margin: 0 auto;
        background-color: var(--brown);
        color: var(--white);
        margin-top: 130px;
        font-size: 20px;
        font-family: var(--font-mincho);
        border: none;
    }
    .ec-cartRole__actions .ec-blockBtn--cancel {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 300px;
        height: 50px;
        margin: 0 auto;
        background-color: var(--black);
        color: var(--white);
        margin-top: 20px;
        font-size: 20px;
        font-family: var(--font-mincho);
    }
}
@media screen and (max-width: 767px){
    .ec-cartRole__actions {
        margin-bottom: 60px;
    }

    .ec-cartRole__actions .ec-cartRole__total {
        padding-top: 14px;
        font-size: 16px;
        padding-bottom: 13px;
    }
    
    .ec-cartRole__actions .ec-cartRole__total .ec-cartRole__totalAmount {
        margin-left: 0;
    }
    
    .ec-cartRole__actions .ec-blockBtn--action {
        margin-top: 22px;
        margin-right: auto;
    }
    
    .ec-cartRole__actions .ec-blockBtn--cancel {
        width: 233px;
        margin-top: 22px;
        margin-right: auto;
    }
    .ec-cartRole__actions {
        margin-bottom: 60px;
    }
    
    .ec-cartRole__totalText p {text-align: left;margin-left: 27px;}
    
    .ec-cartRole__error .ec-alert-warning {
        justify-content: left;
        padding-left: 27px;
    }
    
    .ec-cartRole__cartSaletype {
        width: calc(100% - 40px);
    }
}
/* =========================================================================================================================================== */
/* 携帯メールアドレスの注意書き
/* =========================================================================================================================================== */
@media all {
    .ec-cartRole__note {
        width: calc(100% - 72px);
        margin: 0 auto;
        max-width: var(--content-width-1);
        color: var(--color-red);
        line-height: 23px;
    }
    
    .ec-cartRole__note .ec-cartRole__noteHeader span {
        display: block;
        width: 100%;
        max-width: var(--content-width-2);
        margin: 0 auto;
    }
    .ec-cartRole__note .ec-cartRole__noteHeader {
        border-bottom: solid 1px;
        padding-bottom: 7.5px;
    }

    .ec-cartRole__note .ec-cartRole__noteBody {
        padding-top: 16.5px;
        padding-bottom: 19.5px;
        width: 100%;
        border-bottom: solid 1px;
    }
    .ec-cartRole__note .ec-cartRole__noteBody p {
        width: 100%;
        max-width: var(--content-width-2);
        margin: 0 auto;
    }
}


/* =========================================================================================================================================== */
/* カートが空の場合
/* =========================================================================================================================================== */
@media all {
    .ec-alert-warning {
        padding-top: 26px;
        padding-bottom: 17px;
        text-align: center;
        margin: 0;
        display: flex;
        justify-content: center;
    }    
    .ec-alert-warning .ec-alert-warning__icon {
        width: 22px;
        margin-right: 10px;
    }
}


/* =========================================================================================================================================== */
/* ログインページ
/* =========================================================================================================================================== */
@media all {  
    .ec-loginRole {
        width: calc(100% - 72px);
        max-width: var(--content-width-1);
        margin: 0 auto;
        margin-top: 39.9px;
        margin-bottom: 15.5px;
        background-color: var(--color-yellow);
    }
    .ec-loginRole .inner {
        display: flex;
        flex-wrap: wrap;
    }
    .ec-loginRole .inner > div {
        width: 50%;
    }
    
    /* ログインフォーム */
    .ec-loginRole .inner .ec-login {
        padding-left: 83.3px;
        padding-right: 51.5px;
        padding-bottom: 11px;
    }
    .ec-loginRole .inner .ec-login .ec-login__text p {
        padding-top: 38.2px;
        text-align: center;
        line-height: 32px;
        letter-spacing: 0.05em;
        margin: 0;
    } 
    .ec-loginRole .inner .ec-login .ec-login__text p .pc {
        display: block;
    }
    .ec-loginRole .inner .ec-login .ec-login__text p .sp {
        display: none;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-input {
        padding-top: 6.5px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-input label {
        padding-top: 12.9px;
        font-weight: var(--font-weight-medium);
        margin: 0;
        padding-bottom: 6.5px;
        letter-spacing: 0.05em;
        line-height: 22px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-input input {
        -webkit-appearance: none;
        border-radius: 0;
        width: 100%;
        height: 53px;
        border: solid 1px var(--color-lightgray);
        font-size: 18px;
        line-height: 51px;
        letter-spacing: 0.05em;
        padding: 0 18.9px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox {
        padding-top: 13.8px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox label {
        margin-bottom: 0;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox .form-check-input {
        display: none;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox .form-check-label {
        font-weight: var(--font-weight-medium);
        letter-spacing: 0.05em;
        padding-left: 29px;
        position: relative;
        cursor: pointer;
        line-height: 19px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox .form-check-label::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        width: 19px;
        height: 19px;
        background-color: var(--color-white);
        border: solid 1px var(--color-gray);
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox .form-check-input:checked + label::after {
        border-right: 2px solid var(--color-gray);
        border-bottom: 2px solid var(--color-gray);
        content: "";
        display: block;
        height: 12px;
        left: 5px;
        margin-top: -7px;
        position: absolute;
        top: 9px;
        transform: rotate(45deg);
        width: 8px;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-errorMessage {
        color: var(--color-red);
        padding-top: 10px;
    }
    .ec-loginRole .inner .ec-login .ec-login__actions button {
        display: block;
        -webkit-appearance: none;
        border-radius: 0;
        width: 100%;
        max-width: 269px;
        height: 53px;
        border: none;
        border-radius: 26.5px;
        background-color: var(--color-red);
        color: var(--color-white);
        margin: 0 auto;
        margin-top: 25px;
        margin-bottom: 16.8px;
    }
    .ec-loginRole .inner .ec-login .ec-login__link {
        text-align: center;
        line-height: 22px;
        padding-bottom: 6.6px;
        letter-spacing: 0.05em;
    }  
    .ec-loginRole .inner .ec-login .ec-login__link a {
        color: var(--color-red);
    }

    /* ゲスト購入 */
    .ec-loginRole .inner .ec-guest {
        margin: 27.5px 0;
        border-left: solid 1px var(--color-lightgray);
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .ec-loginRole .inner .ec-guest .ec-guest__title {
        font-size: 25px;
        font-weight: var(--font-weight-extra-bold);
        color: var(--color-red);
        line-height: 35px;
        padding-bottom: 29.9px;
    }
    .ec-loginRole .inner .ec-guest p {
        letter-spacing: 0.05em;
        line-height: 22px;
        margin: 0;
        padding-bottom: 18.5px;
    }
    .ec-loginRole .inner .ec-guest .ec-guest__actions a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 269px;
        height: 53px;
        margin: 0 auto;
        background-color: var(--color-red);
        border-radius: 26.5px;
        color: var(--color-white);
        letter-spacing: 0.05em;
    }
}
@media screen and (max-width: 1024px){
    .ec-loginRole {
        width: 100%;
        margin-top: 28.2px;
        margin-bottom: 0;
    }
    .ec-loginRole .inner {
        display: block;
    }
    .ec-loginRole .inner > div {
        width: 100%;
    }

    /* ログインフォーム */
    .ec-loginRole .inner .ec-login {
        padding: 0 36px;
        max-width: 600px;
        margin: 0 auto;
    } 
    .ec-loginRole .inner .ec-login .ec-login__text p {
        padding-top: 31.8px;
        line-height: 22px;
    } 
    .ec-loginRole .inner .ec-login .ec-login__text p .pc {
        display: none;
    }
    .ec-loginRole .inner .ec-login .ec-login__text p .sp {
        display: block;
    }
    .ec-loginRole .inner .ec-login .ec-login__input .ec-input {
        padding-top: 4.8px;
    }   
    .ec-loginRole .inner .ec-login .ec-login__input .ec-input label {
        padding-top: 21.4px;
    }    
    .ec-loginRole .inner .ec-login .ec-login__input .ec-checkbox {
        padding-top: 17px;
    }
    .ec-loginRole .inner .ec-login form {
        display: flex;
        flex-wrap: wrap;
    }
    .ec-loginRole .inner .ec-login form > div {
        width: 100%;
    }
    .ec-loginRole .inner .ec-login form .ec-login__text {
        order: 1;
    }
    .ec-loginRole .inner .ec-login form .ec-login__input {
        order: 1;
        padding-bottom: 26.8px;
    }    
    .ec-loginRole .inner .ec-login form .ec-login__actions {
        order: 3;
    } 
    .ec-loginRole .inner .ec-login .ec-login__link {
        order: 2;
        width: 100%;
        max-width: 265px;
        margin: 0 auto;
        text-align: right;
        padding-bottom: 21.3px;
    }
    .ec-loginRole .inner .ec-login .ec-login__actions button {
        margin-top: 9.6px;
        margin-bottom: 5px;
    }

    /* ゲスト購入 */
    .ec-loginRole .inner .ec-guest .ec-guest__title {
        font-size: 20px;
        line-height: 27px;
        padding-bottom: 8.3px;
    }  
    .ec-loginRole .inner .ec-guest p {
        padding-bottom: 15.2px;
    }
    .ec-loginRole .inner .ec-guest {
        margin-bottom: 0;
        padding-bottom: 57px;
        border-left: none;
    }
}


/* =========================================================================================================================================== */
/* 非会員お客様情報入力
/* =========================================================================================================================================== */
@media all {
    .ec-RegisterRole__title {
        width: calc(100% - 72px);
        max-width: var(--content-width-2);
        margin: 0 auto;
        padding-top: 34px;
    }
    .ec-RegisterRole__title h2 {
        margin: 0;
        height: 35px;
        line-height: 34px;
        font-size: 16px;
        background-color: var(--color-yellow);
        margin-bottom: 26px;
        padding-left: 15px;
    }

    /* 入力ボックス */
    .ec-borderedDefs {
        width: calc(100% - 72px);
        margin: 0 auto;
    }
    .ec-borderedDefs dl {
        margin-bottom: 11px;
    }
    .ec-borderedDefs dl.text {
        border: solid 1px var(--black);
        min-height: 100px;
        font-size: 18px;
        line-height: 21px;
        padding: 20px;
        margin-bottom: 38px;
        letter-spacing: normal;
    }
    .ec-borderedDefs dl dt {
        display: flex;
    }
    .ec-borderedDefs dl dt .ec-label {
        line-height: 20px;
        letter-spacing: normal;
        margin-bottom: 8px;
        font-size: 18px;
    }
    .ec-borderedDefs dl dt .ec-required {
        display: block;
        margin-left: 8px;
        width: 40px;
        height: 20px;
        background-color: var(--green);
        font-size: 16px;
        line-height: 20px;
        text-align: center;
        letter-spacing: normal;
        color: var(--white);
        margin-bottom: 9px;
    }
    .ec-borderedDefs dl dd .ec-input input,
    .ec-borderedDefs dl dd .ec-halfInput input,
    .ec-borderedDefs dl dd .ec-telInput input,
    .ec-borderedDefs dl dd .ec-zipInput input {
        width: 100%;
        height: 40px;
        line-height: 40px;
        border: solid 1px var(--black);
        padding: 0 19px;
        letter-spacing: 0.05em;
        font-size: 18px;
    }
    .ec-borderedDefs dl dd .ec-input input::placeholder,
    .ec-borderedDefs dl dd .ec-halfInput input::placeholder,
    .ec-borderedDefs dl dd .ec-telInput input::placeholder,
    .ec-borderedDefs dl dd .ec-zipInput input::placeholder {
        color: var(--gray2);
    }
    .ec-borderedDefs dl dd .ec-zipInput input {
        max-width: 145px;
    }
    .ec-borderedDefs dl dd .ec-zipInputHelp {
        display: inline;
        padding-left: 10px;
    }
    .ec-borderedDefs dl dd .ec-zipInputHelp a {
        color: var(--color-red);
    }
    .ec-borderedDefs dl dd .ec-halfInput {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .ec-borderedDefs dl dd .ec-halfInput input {
        width: calc((100% - 20px) / 2);
    }
    .ec-borderedDefs dl dd .ec-select select {
        width: 100%;
        max-width: 195px;
        font-size: 18px;
        height: 40px;
        margin-bottom: 10px;
        padding: 0 19px;
        border: solid 1px var(--black);
        background-color: var(--white);
    }
    .ec-borderedDefs dl dd .ec-input .p-locality, 
    .ec-borderedDefs dl dd .ec-input .p-extended-address {
        margin-bottom: 10px;
    }
    .ec-borderedDefs dl dd .ec-errorMessage {
        display: block;
        width: 100%;
        font-size: 12px;
        color: var(--red);
        margin-bottom: 0;
    }    

    .ec-borderedDefs dl dd .ec-input.select {
        position: relative;
    }
    .ec-borderedDefs dl dd .ec-input.select::after {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        border-top: solid 11px var(--color-gray);
        border-left: solid 6px transparent;
        border-right: solid 6px transparent;
        top: 23px;
        right: 30px;
        pointer-events: none;
    }
    .ec-borderedDefs dl dd .ec-input.select select {
        width: 100%;
        height: 53px;
        -webkit-appearance: none;
        line-height: 51px;
        border: solid 1px var(--color-lightgray);
        background-color: var(--color-white);
        padding: 0 19px;
        letter-spacing: 0.05em;
        font-size: 18px;
        cursor: pointer;
    }
    .ec-borderedDefs dl dd .ec-input textarea {
        width: 100%;
        height: 253px;
        -webkit-appearance: none;
        line-height: 24px;
        border: solid 1px var(--color-lightgray);
        padding: 19px;
        letter-spacing: 0.05em;
        font-size: 18px;
        
    }
    
    .ec-borderedDefs dl dd .ec-input input[type="checkbox"] {width: 16px;margin: 0;height: 16px;border-radius: 0;padding-top: 22px;display: inline-block;margin-top: 3px;}
    
    .ec-borderedDefs dl dd .ec-input label {
        padding-left: 15px;
        margin: 0;
        font-weight: var(--font-weight-medium);
        line-height: 22px;
        display: inline-block;
    }
    .ec-borderedDefs dl.terms {
        padding-top: 95px;
    }
    .ec-borderedDefs dl dd .privacy .box {
        width: 100%;
        height: 100%;
        padding: 0 22px;
        overflow-y: scroll;
    }
    .ec-borderedDefs dl dd .privacy .box .sp{
        display: none;
    }
    
    .ec-borderedDefs dl dd .privacy {
        width: 100%;
        height: 200px;
        padding: 13px 0 23px;
        border: solid 1px var(--black);
        margin-bottom: 34px;
    }
    .ec-borderedDefs dl dd .privacy+.ec-checkbox label {
        text-indent: -20px;
    }

    /* 確認画面用 */
    .form2 .ec-borderedDefs dl dt {
        display: block;
        letter-spacing: 0.05em;
        padding-bottom: 13.7px;
        border-bottom: solid 1px var(--color-lightgray);
    }
    
    .form2 .ec-borderedDefs dl dd {
        font-weight: var(--font-weight-regular);
        padding-top: 16.3px;
        letter-spacing: 0.05em;
        line-height: 20px;
    }
    
    .form2 .ec-borderedDefs dl {
        margin-bottom: 36px;
    }

    /* ボタン */
    .ec-RegisterRole__actions {
        width: calc(100% - 72px);
        max-width: var(--content-width-2);
        padding-top: 60px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }
    .ec-RegisterRole__actions > * {
        width: 100%;
        max-width: 298.48px;
        height: 52.54px;
        display: flex;
        justify-content: center;
        align-items: center;
        border: none;
        color: var(--color-white);
        font-size: 20px;
        border-radius: 26.27px;
    }
    .ec-RegisterRole__actions .ec-blockBtn--action {
        background-color: var(--color-red);
    }
    .ec-RegisterRole__actions .ec-blockBtn--action:hover {
        opacity: 0.7;
    }
    .ec-RegisterRole__actions .ec-blockBtn--cancel {
        background-color: var(--color-gray);
    }
    .ec-RegisterRole__actions .ec-blockBtn--cancel:hover {
        color: white;
        text-decoration: none;
    }
    #page_shopping_nonmember .ec-RegisterRole__actions {
        display: block;
    }
    
    #page_shopping_nonmember .ec-RegisterRole__actions a {
        margin: 0 auto;
        margin-top: 18px;
    }
    
    #page_shopping_nonmember .ec-RegisterRole__actions button {
        margin: 0 auto;
    }
}
@media screen and (max-width: 1024px){
    .ec-RegisterRole__actions {
        padding-top: 13px;
        display: block;
    }
    .ec-RegisterRole__actions > * {
        max-width: 269.47px;
        height: 45px;
        margin: 0 auto;
        margin-bottom: 22px;
    }
}

@media screen and (max-width: 767px){
    .ec-borderedDefs dl dd .ec-input input,
    .ec-borderedDefs dl dd .ec-halfInput input,
    .ec-borderedDefs dl dd .ec-telInput input,
    .ec-borderedDefs dl dd .ec-zipInput input {
        font-size: 16px;
    }   
    .ec-borderedDefs dl dd .privacy .box .sp{
        display: block;
    }

}


/* =========================================================================================================================================== */
/* ご注文手続き
/* =========================================================================================================================================== */
@media all {
    /* ページ全体 */
    .ec-orderRole__detail h2 {
        background-color: var(--gray);
        height: 35px;
        font-size: 16px;
        line-height: 35px;
        padding: 0 15px;
        letter-spacing: 0.05em;
        margin: 0;
    }
    .ec-orderRole__detail h2 .ec-required {
        display: inline-block;
        width: 40px;
        height: 21px;
        background-color: var(--black);
        line-height: 21px;
        font-size: 12px;
        text-align: center;
        letter-spacing: 0.05em;
        color: var(--color-white);
        margin-right: 10.8px;
        color: var(--white);
    }

    /* お客様情報 */
    .ec-orderRole__detail .ec-orderAccount .ec-orderAccount__account {
        padding-top: 20.5px;
        padding-bottom: 26.5px;
    }
    .ec-orderRole__detail .ec-orderAccount .ec-orderAccount__account p {
        margin: 0;
        line-height: 25px;
    }

    /* お客様情報変更ボタン */
    .ec-orderAccount__change.non-customer-display {
        position: relative;
    }
    .ec-orderAccount__change.non-customer-display button {
        position: absolute;
        width: 68px;
        height: 29px;
        top: 20px;
        right: 0;
        border: none;
        -webkit-appearance: none;
        border-radius: 0;
        background-color: var(--black);
        color: var(--white);
    }
    /* お客様情報変更 */
    .ec-orderRole__detail .ec-borderedDefs {
        width: 100%;
        margin-top: 30px;
    }
    .ec-orderRole__detail .ec-borderedDefs dl dd .ec-halfInput input {
        width: 100%;
    }
    
    .ec-orderRole__detail .ec-borderedDefs dl dd .ec-halfInput .customer-form {
        width: calc((100% - 20px) / 2);
    }
    .ec-orderRole__detail .ec-borderedDefs dl dd .ec-input .customer-address_addr01,
    .ec-orderRole__detail .ec-borderedDefs dl dd .ec-input .customer-address_addr02 {
        padding-top: 20px;
        display: block;
    }
    .ec-orderRole__detail .mod-button button {
        width: 100%;
        max-width: 220px;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 39px;
        border-radius: 19.5px;
        margin: 0 auto;
        margin-bottom: 20px;
        border: none;
        color: var(--color-white);
    }
    .ec-orderRole__detail .mod-button button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
    .ec-orderRole__detail .mod-button #customer-ok button {
        background-color: var(--color-red);
    }
    .ec-orderRole__detail .mod-button #customer-cancel button {
        background-color: var(--color-gray);
    }

    /* お届け先情報 */
    .ec-orderRole__detail .ec-orderDelivery__title {
        position: relative;
        padding-top: 35px;
    }
    .ec-orderRole__detail .ec-orderDelivery__title p {
        background-color: var(--color-lightgray6);
        height: 38px;
        line-height: 38px;
        padding-left: 4px;
        letter-spacing: 0.05em;
        margin: 0;
    }
    .ec-orderRole__detail .ec-orderDelivery__change button {
        position: absolute;
        width: 68px;
        height: 29px;
        top: 92px;
        right: 0;
        border: none;
        -webkit-appearance: none;
        border-radius: 0;
        background-color: var(--black);
        color: var(--white);
    }
    .ec-orderRole__detail .ec-orderDelivery__change button:hover {
        opacity: 0.7;
    }

    .ec-orderRole__detail .ec-orderDelivery__address {
        padding-top: 20.5px;
    }
    .ec-orderRole__detail .ec-orderDelivery__address p {
        margin: 0;
        line-height: 25px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item {
        padding-top: 26.5px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__img {
        width: 96px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__img img {
        width: 100%;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__content {
        width: calc(100% - 96px);
        padding-left: 17.9px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__content p {
        margin: 0;
        letter-spacing: 0.05em;
        line-height: 23px;
    }
    .ec-orderRole__detail .ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__name {
        padding-bottom: 26px;
    }
    
    /* 配送方法*/
    .ec-orderRole__detail .ec-radio__delivery > label {
        margin-top: 20px;
        font-weight: var(--font-weight-medium);
        margin-bottom: 5px;
    }
    .ec-orderRole__detail .ec-radio__delivery > div > label {
        font-weight: var(--font-weight-medium);
    }
    .ec-orderRole__detail .ec-select.ec-select__delivery > label {
        /* font-weight: var(--font-weight__bold); */
        margin-top: 12px;
        margin-bottom: 3px;
    }
    .ec-orderRole__detail .ec-select__delivery select {
        display: block;
        height: 38px;
        font-size: 16px;
        line-height: 36px;
        padding: 0 7.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--black);
        width: 100%;
    }
   .ec-select.ec-select__delivery {
        margin-bottom: 13px;
    }
    .ec-orderRole__detail .ec-select__time {
        margin-bottom: 13px;
    }
    .ec-orderRole__detail .ec-select__time > label {
        font-weight: var(--font-weight-medium);
        margin-top: 9px;
        margin-bottom: 3px;
    }  
    .ec-orderRole__detail .ec-select__time select {
        font-size: 16px;
        height: 38px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--black);
        width: 100%;
        display: block;
    }
    .ec-orderRole__detail .ec-orderDelivery__edit button {
        margin-top: 23px;
        border: none;
        -webkit-appearance: none;
        border-radius: 0;
        background-color: var(--black);
        color: var(--white);
        display: block;
        width: 100%;
        max-width: 220px;
        height: 39px;
        /* border-radius: 19.9px; */
        margin-bottom: 28px;
        font-size: 16px;
    }  
    .ec-orderRole__detail .ec-orderDelivery__edit button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }

    /* のし設定 */
    /*
    .shopping_noshi_area .noshi {
        padding-bottom:20px;
    }
    */
    .shopping_noshi_area__header {
        color: var(--color-gray);
        margin: 0;
        font-size: 16px;
        margin-top: 24px;
        margin-bottom: 13px;
        letter-spacing: 0.05em;
        background-color: var(--color-lightgray6);
        line-height: 38px;
        padding-left: 14px;
    }
    #add_shopping_noshi_area .shopping_noshi_address p {
        margin: 0;
        line-height: 25px;
    }

    #add_shopping_noshi_area .noshi-title {
        padding-top: 20px;
        letter-spacing: 0.05em;
        padding-bottom: 9px;
    }

    #add_shopping_noshi_area .noshi-check input {
        width: 22px;
        display: inline-block;
        vertical-align: middle;
        cursor: pointer;
    }

    #add_shopping_noshi_area .noshi-check label {
        display: inline-block;
        width: calc(100% - 22px);
        margin-bottom: 11.7px;
        cursor: pointer;
        font-weight: var(--font-weight-medium);
    }

    .shopping_noshi_area .noshi-tie .td select {
        height: 38px;
        line-height: 36px;
        font-size: 16px;
        padding: 0 2.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-gray);
        margin-bottom: 10px;
    }

    .shopping_noshi_area .noshi-tie .td input {
        height: 38px;
        line-height: 36px;
        font-size: 16px;
        padding: 0 7.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-gray);
        margin-bottom: 10px;
    }
    .shopping_noshi_area .noshi-check select {
        height: 38px;
        line-height: 36px;
        font-size: 16px;
        padding: 0 2.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-gray);
        margin-bottom: 10px;
    }
    .shopping_noshi_area .noshi-kind .td select {
        height: 38px;
        line-height: 36px;
        font-size: 16px;
        padding: 0 2.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-gray);
        margin-bottom: 10px;
    }
    .shopping_noshi_area .noshi-name .td input {
        height: 38px;
        line-height: 36px;
        font-size: 16px;
        padding: 0 7.5px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-gray);
        margin-bottom: 10px;
    }
    #add_shopping_noshi_area .noshi-name textarea {
        border: solid 1px var(--color-lightgray);
        border-radius: 0;
    }

    /* のし例 */
    .shopping_noshi_ex {
        margin-top: 29px;
    }
    .shopping_noshi_ex__title {
        letter-spacing: 0.05em;
        padding-bottom: 5px;
        border-bottom: solid 1px var(--color-lightgray);
    }

    .shopping_noshi_ex__content ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 42px;
    }
    .shopping_noshi_ex__content ul li {
        padding-top: 29px;
    }

    .shopping_noshi_ex__tie .shopping_noshi_ex__content ul li {
        width: 123px;
    }
    .shopping_noshi_ex__tie .shopping_noshi_ex__content ul li img {
        width: 100%;
    }
    .shopping_noshi_ex__tie .shopping_noshi_ex__content p {
        text-align: center;
        line-height: 18px;
        font-size: 14px;
        padding-top: 12px;
        color: var(--color-red);
        margin: 0;
    }


    .shopping_noshi_ex__name ul {
        margin-bottom: 22px;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li {
        width: 224px;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li img {
        width: 100%;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li p {
        font-size: 14px;
        letter-spacing: 0.05em;
        margin-bottom: 12px;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li figure.pc {
        display: block;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li figure.sp {
        display: none;
    }

    .shopping_noshi_ex__link {
        text-align: right;
    }
    .shopping_noshi_ex__link a {
        font-size: 13px;
        letter-spacing: 0.05em;
        color: var(--color-red);
    }
        
    /* お支払い方法*/
    .orderPayment__comment {
        display: none;
    }
    .orderPayment__kind input:checked ~ .orderPayment__comment {
        display: block;
    }
    .orderPayment__kind {
        margin-bottom: 10px;
    }
    .ec-orderPayment__list {
        padding-top: 15px;
        padding-bottom: 10px;
    }
    
    .orderPayment__kind > label {
        font-weight: var(--font-weight-medium);
        margin: 0;
    }
    
    .orderPayment__comment {
        margin-top: 15px;
        line-height: 20px;
    }
    .orderPayment__comment .text {
        margin-bottom: 10px;
    }
    .orderPayment__comment p {
        padding-left: 22px;
        line-height: 25px;
        padding-bottom: 20px;
    }
    .ec-yamatoPayment {
        width: 100%;
        max-width: unset;
    }
    
    .ec-yamatoPayment__table {
        width: 100%;
        max-width: 474px;
        margin-bottom: 12px;
    }
    
    .ec-yamatoPayment__tableTitle {
        width: 100%;
        height: 31.15px;
        background-color: var(--color-yellow);
        line-height: 31.15px;
        padding: 0 14px;
        border: solid 1px var(--color-lightgray5);
    }
    
    .ec-yamatoPayment__tableTr {
        border: solid 1px var(--color-lightgray5);
        border-top: none;
        display: flex;
        margin-bottom: 0 !important;
    }
    
    .ec-yamatoPayment__tableTh {
        width: 107px;
        border-right: solid 1px var(--color-lightgray5);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        font-weight: var(--font-weight-medium);
        background-color: var(--color-yellow);
        text-align: center;
    }
    
    .ec-yamatoPayment__tableTh label {
        margin-bottom: 0 !important;
    }
    
    .ec-yamatoPayment__tableTd {
        width: calc(100% - 107px);
        padding: 12px 13.5px;
    }
    
    .ec-yamatoPayment__tableTd .form-group {
        margin: 0;
    }
    
    .ec-yamatoPayment__table .ec-yamatoPayment__tableTd .form-group input {
        width: 100%;
        max-width: 270px;
        height: 36.5px;
        border: solid 1px var(--color-lightgray5);
        box-shadow: none;
        border-radius: 0;
        padding: 0 10px;
    }
    
    .ec-yamatoPayment__tableTd #shopping_order_card_no+figure {
        max-width: 279px;
        width: 100%;
    }
    
    .ec-yamatoPayment__tableTd #shopping_order_card_no+figure img {
        width: 100%;
        padding-top: 10px;
    }
    
    .ec-yamatoPayment__table .ec-yamatoPayment__tableTd .form-group p {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0.05em;
        padding-top: 9.2px;
        padding-left: 0;
        padding-bottom: 0;
    }
    
    .ec-yamatoPayment__table .ec-yamatoPayment__tableTd .form-group p br.sp {
        display: none;
    }
    
    .ec-yamatoPayment__table .ec-yamatoPayment__tableTd #shopping_order_security_code {
        box-shadow: none;
        -webkit-appearance: none;
        width: 100%;
        max-width: 67px;
        height: 36.5px;
        border: solid 1px var(--color-lightgray5);
        box-shadow: none;
        border-radius: 0;
        padding: 0 10px;
        font-size: 14px;
    }
    .ec-yamatoPayment__tableTd #shopping_order_security_code ~ figure {
        max-width: 144px;
        width: 100%;
    }
    
    .ec-yamatoPayment__tableTd #shopping_order_security_code ~ figure img {
        width: 100%;
    }
    .ec-yamatoPayment__tableTd select {
        display: inline-block;
        width: calc((100% - 70px) / 2);
        max-width: 67px;
        height: 36.52px;
        border-radius: 0;
        box-shadow: none;
        font-size: 12px;
    }
    
    .ec-yamatoPayment__tableTd #shopping_order_card_exp_year {
        margin-left: 10px;
    }

    .ec-orderConfirm textarea {
        width: 100%;
        height: 146.5px;
        border-radius: 0;
        border: solid 1px var(--color-lightgray);
        margin-top: 23px;
        box-shadow: none;
    }

    #shopping_order_Payment_10_wrapper {
        margin-bottom: 20px;
    }
    #shopping_order_Payment_10_wrapper #yamato_payment4_cvs {
        margin-top: 15px;
        margin-left: 28px;
    }
    #shopping_order_Payment_10_wrapper .orderPayment__comment .text {
        margin-left: 28px;
        line-height: 25px;
    }

    /* チョコレートプレート */
    .ec-orderConfirm .orderConfirm__comment {
        line-height: 25px;
        margin-top: 13px;
    }    
    .ec-orderConfirm .orderConfirm__comment br.sp {
        display: none;
    }
    .ec-orderConfirm .orderConfirm__chocolate {
        padding-top: 19px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-header {
        letter-spacing: 0.05em;
        border-bottom: solid 1px var(--color-lightgray);
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul {
        display: flex;
        justify-content: space-between;
        padding-right: 18px;
        padding-top: 11px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li div {
        letter-spacing: 0.05em;
        padding-bottom: 6px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li figure {
        width: 100%;
        max-width: 307px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li figure img {
        width: 100%;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li p {
        padding-top: 18px;
        padding-left: 12px;
        letter-spacing: 0.05em;
        line-height: 23px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-note {
        padding-top: 7px;
        letter-spacing: 0.05em;
        line-height: 23px;
        letter-spacing: 0.05em;
    }

    /* 合計欄 */
    .cart.ec-totalBox {
        width: 100%;
        /* margin: 0 auto; */
        /* max-width: var(--content-width-2); */
        margin-top: 50px;
        background-color: var(--gray);
        padding-left: 66px;
        padding-right: 72px;
        display: flex;
        justify-content: space-between;
        padding-top: 19px;
        padding^bp: ;
        padding-bottom: 20px;
        margin-bottom: 100px;
    }
    
    .ec-totalBox__price {
        width: 100%;
        max-width: 260px;
    }
    
    .ec-totalBox__spec {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 11px;
    }
    
    .ec-totalBox__spec dt {
        font-size: 16px;
        line-height: 26px;
        font-weight: var(--font-weight__semibold);
    }
    
    .ec-totalBox__spec dd {
        line-height: 22px;
        letter-spacing: 0.05em;
        font-size: 18px;
    }
    
    .ec-totalBox__spec dd span {
        font-size: 16px;
    }
    
    .ec-totalBox__total {
        display: flex;
        justify-content: flex-end;
        border-top: solid 1px var(--black);
        padding-top: 12.5px;
        margin-bottom: 0;
    }
    
    .ec-totalBox__total dt {
        font-size: 16px;
        line-height: 22px;
        font-weight: var(--font-weight__semibold);
        padding-right: 10px;
    }
    
    .ec-totalBox__total dd {
        font-size: 18px;
        letter-spacing: 0.05em;
        line-height: 22px;
    }
    
    .ec-totalBox__total dd span {
        font-size: 12px;
    }
    
    .ec-totalBox__paymentTotal {
        display: flex;
        justify-content: flex-end;
        padding-top: 12px;
    }
    .ec-totalBox__paymentTotal dt {
        font-size: 16px;
        line-height: 22px;
        font-weight: var(--font-weight__semibold);
        padding-right: 10px;
    }
    
    .ec-totalBox__paymentTotal dd {
        font-size: 18px;
        letter-spacing: 0.05em;
        line-height: 22px;
        color: var(--black);
    }
    
    .ec-totalBox__paymentTotal dd span {
        font-size: 12px;
    }
    
    .ec-totalBox-btn button {
        display: flex;
        width: 100%;
        height: 39px;
        border: none;
        background-color: var(--brown);
        justify-content: center;
        align-items: center;
        color: var(--white);
        font-size: 18px;
        font-family: var(--font-mincho);
    }
    
    .ec-totalBox-btn {
        width: 100%;
        max-width: 220px;
        margin-top: 35px;
    }
    
    .ec-totalBox-btn button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
    .ec-totalBox-btn a {
        display: flex;
        width: 100%;
        height: 39px;
        /* border-radius: 19.5px; */
        border: none;
        justify-content: center;
        align-items: center;
        background-color: var(--black);
        color: var(--white);
        margin-top: 12px;
    }
    
}
@media screen and (max-width: 767px){
    /* のし設定 */
    .shopping_noshi_ex__content ul {
        margin-bottom: 33px;
    }
    .shopping_noshi_ex__content ul::after {
        content: "";
        display: block;
        width: calc((100% - 48px) / 2);
        margin-left: 24px;
        margin-right: 0;
    }
    
    .shopping_noshi_ex__tie .shopping_noshi_ex__content ul {
        justify-content: center;
        margin-right: -3px;
        margin-left: -3px;

    }
    .shopping_noshi_ex__tie .shopping_noshi_ex__content p {
        padding-top: 7px;
    }
    .shopping_noshi_ex__tie .shopping_noshi_ex__content ul li {
        width: calc((100% - 18px) / 3);
        margin-right: 3px;
        margin-left: 3px;
    }
    
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li {
        width: calc((100% - 30px) / 3);
        padding-top: 0;
        padding-bottom: 18px;
    }
    
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li p {
        margin-bottom: 15px;
        min-height: 42px;
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li p .row1 {
        width: 100%;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li p .row2 {
        width: 100%;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li p .dot {
        display: none;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li figure.pc {
        display: none;
    }
    .shopping_noshi_ex__name .shopping_noshi_ex__content ul li figure.sp {
        display: block;
    }


    /* お支払い方法 */
    .ec-yamatoPayment__table {
        max-width: unset;
    }
    .ec-yamatoPayment__table .ec-yamatoPayment__tableTd .form-group p br.sp {
        display: block;
    }

    /* チョコレートプレート */
    .ec-orderConfirm .orderConfirm__chocolate-content ul {
        display: block;
        padding-right: 0;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li {
        padding-top: 18px;
    }
    .ec-orderConfirm .orderConfirm__chocolate-content ul li p {
        margin-bottom: 30px;
    }
    .ec-yamatoPayment__tableTd select {
        width: calc(100% - 31px);
        margin-bottom: 10px;
        max-width: unset;
    }
    .ec-yamatoPayment__tableTd #shopping_order_card_exp_year {
        margin-left: 0;
    }

    /* 合計欄 */
    #page_shopping .ec-totalBox.cart,
    #page_shopping_confirm .ec-totalBox.cart {
        padding: 0 9px;padding-top: 22px;
    }
    .ec-totalBox__price {
        max-width: unset;
    }    
    .ec-totalBox-btn {
        max-width: unset;
    }
    .ec-totalBox {
        flex-wrap: wrap;
        padding: 0 9px;
        padding-top: 22px;
    }    
    .ec-totalBox-btn button {
        max-width: 270px;
        height: 45px;
        margin: 0 auto;
        border-radius: 22.5px;
    }    
    .ec-totalBox-btn a {
        max-width: 270px;
        height: 45px;
        margin: 0 auto;
        margin-top: 12.9px;
        border-radius: 22.5px;
        margin-bottom: 21px;
    }    
    .ec-totalBox__spec dt {
        padding-left: 11px;
    }
}


/* =========================================================================================================================================== */
/* お届け先の複数指定
/* =========================================================================================================================================== */
@media all {
    .ec-AddAddress {
        width: calc(100% - 72px);
        margin: 0 auto;
        max-width: var(--content-width-5);
    }

    /* 商品情報 */
    .ec-AddAddress__info {
        text-align: center;
        letter-spacing: 0.05em;
        margin-bottom: 70px;
    }
    .ec-AddAddress__new a {
        display: flex;
        width: 100%;
        height: 39px;
        max-width: 220px;
        background-color: var(--color-gray);
        border-radius: 19.5px;
        justify-content: center;
        align-items: center;
        color: var(--color-white);
        margin-bottom: 48px;
        font-size: 16px;
        font-weight: var(--font-weight-medium);
    }
    .ec-AddAddress__new a:hover {
        color: white;
    }
    .ec-AddAddress__add {
        padding-bottom: 60px;
    }
    .ec-AddAddress__item {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 37px;
    }
    .ec-AddAddress__itemThumb {
        width: 164px;
    }
    .ec-AddAddress__itemThumb img {
        width: 100%;
    }
    .ec-AddAddress__itemtContent {
        width: calc(100% - 164px);
        padding-left: 36px;
    }
    .ec-AddAddress__itemtTitle {
        letter-spacing: 0.05em;
        padding-bottom: 23px;
    }
    .ec-AddAddress__itemtPrice {
        letter-spacing: 0.05em;
        line-height: 23px;
    }
    .ec-AddAddress__itemtNumber {
        letter-spacing: 0.05em;
        line-height: 23px;
    }
    
    /* 住所 */
    .ec-AddAddress__select {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        padding-bottom: 22.4px;
        position: relative;
    }
    
    .ec-AddAddress__selectAddress {
        width: calc(100% - 137px);
    }
    
    .ec-AddAddress__selectAddress .ec-select {
        display: flex;
        position: relative;
        padding-right: 39px;
    }
    
    .ec-AddAddress__selectAddress .ec-select label {
        display: block;
        width: 82px;
        line-height: 43px;
        margin-bottom: 0;
        letter-spacing: 0.05em;
    }
    
    .ec-AddAddress__selectAddress .ec-select select {
        width: calc(100% - 82px);
        height: 43px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-lightgray);
        -webkit-appearance: none;
    }
    
    .ec-AddAddress__selectAddress .ec-select::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-top: solid 6.44px var(--color-gray);
        border-left: solid 4.3px transparent;
        border-right: solid 4.3px transparent;
        position: absolute;
        top: 18px;
        right: 49.8px;
    }
    
    /* 数量 */
    .ec-AddAddress__selectNumber {
        width: 137px;
    }
    
    .ec-AddAddress__selectNumber .ec-input {
        display: flex;
        position: relative;
    }
    
    .ec-AddAddress__selectNumber .ec-input label {
        width: 60px;
        line-height: 43px;
        letter-spacing: 0.05em;
        margin-bottom: 0;
    }
    
    .ec-AddAddress__selectNumber .ec-input input {
        width: calc(100% - 60px);
        height: 43px;
        border-radius: 0;
        box-shadow: none;
        border: solid 1px var(--color-lightgray);
        padding-left: 17px;
    }
    
    .ec-AddAddress__btn button {
        width: 146px;
        height: 39px;
        border-radius: 19.5px;
        border: none;
        background-color: var(--color-gray);
        color: var(--color-white);
        display: flex;
        justify-content: center;
        align-items: center;
    }    

    /* 削除ボタン */
    .ec-AddAddress__selectDelete button {
        background: none;
        font-size: 33px;
        line-height: 43px;
        padding: 0 12px;
        border: none;
        color: var(--color-gray);
        opacity: 0.42;
        position: absolute;
        left: -45px;
    }

    /* 決定・戻るボタン */
    .ec-AddAddress__actions button {
        width: 100%;
        max-width: 276px;
        height: 39px;
        display: block;
        margin: 0 auto;
        margin-bottom: 12px;
        border-radius: 19.5px;
        border: none;
        background-color: var(--color-red);
        color: var(--color-white);
    }
    .ec-AddAddress__actions button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
    .ec-AddAddress__actions a {
        width: 100%;
        max-width: 276px;
        height: 39px;
        display: flex;
        margin: 0 auto;
        margin-bottom: 12px;
        border-radius: 19.5px;
        border: none;
        background-color: var(--color-gray);
        color: var(--color-white);
        justify-content: center;
        align-items: center;
    }  
    .ec-AddAddress__btn button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
}
@media screen and (max-width: 767px){
    .ec-AddAddress__selectAddress {
        width: 100%;
    }
    
    .ec-AddAddress__selectAddress .ec-select {
        display: block;
        padding: 0;
    }
    
    .ec-AddAddress__selectAddress .ec-select select {
        width: calc(100% - 40px);
        margin-left: 40px;
        padding-right: 30px;
    }
    
    .ec-AddAddress__selectAddress .ec-select::after {
        right: 11px;
        top: 62px;
    }
    
    .ec-AddAddress__select {
        justify-content: flex-end;
    }
    
    .ec-input {
        margin-top: 18px;
    }
    
    .ec-AddAddress__selectDelete button {left: -10px;}
    
    .ec-AddAddress__info {
        margin-bottom: 15px;
    }
    
    .ec-AddAddress__new a {
        margin:  0 auto;
        margin-bottom: 60px;
    }
    
    .ec-AddAddress__itemThumb {
        width: 96px;
    }
    
    .ec-AddAddress__itemtContent {
        width: calc(100% - 96px);
        padding-left: 17px;
    }
    
    .ec-AddAddress__item {
        padding-bottom: 25px;
    }
    
    .ec-AddAddress__add {padding-bottom: 29px;}
    
    .ec-AddAddress__btn button {
        margin-bottom: 20px;
    }
    
    .ec-AddAddress__actions button {
        height: 45px;
        border-radius: 22.5px;
        margin-bottom: 22px;
    }
    
    .ec-AddAddress__actions a {
        height: 45px;
        border-radius: 22.5px;
    }
}


/* =========================================================================================================================================== */
/* お届け先の指定
/* =========================================================================================================================================== */
@media all {
    #page_shopping_shipping .ec-addressRole__actions {
        width: calc(100% - 72px);
        max-width: var(--content-width-1);
        margin: 0 auto;
        margin-top: 45px;
        margin-bottom: 33px;
    }

    #page_shopping_shipping .ec-addressRole__actions a {
        width: 100%;
        max-width: 220px;
        background-color: var(--color-gray);
        display: flex;
        height: 39px;
        justify-content: center;
        align-items: center;
        border-radius: 29.5px;
        color: var(--color-white);
    }

    #page_shopping_shipping .ec-addressList__item {
        width: calc(100% - 72px);
        max-width: var(--content-width-1);
        margin: 0 auto;
        border-bottom: solid 1px var(--color-red);
        padding-top: 28.5px;
        padding-bottom: 21.5px;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-left: 110px;
        align-items: center;
    }

    #page_shopping_shipping .ec-addressList__item:first-child {
        border-top: solid 1px var(--color-red);
    }

    #page_shopping_shipping .ec-addressList__remove {
        padding-right: 58px;
    }

    #page_shopping_shipping .ec-addressList__address {
        line-height: 25px;
    }
}
@media screen and (max-width: 767px){
    #page_shopping_shipping .ec-addressRole__actions {
        margin-top: 35px;
    }
    
    #page_shopping_shipping .ec-addressList__item {
        padding-left: 0;
        padding-right: 25px;
    }
    
    #page_shopping_shipping .ec-addressList__remove {
        padding-right: 26px;
        width: 40px;
    }
    
    #page_shopping_shipping .ec-addressList__address {
        width: calc(100% - 40px);
    }
    
    #page_shopping_shipping .ec-registerRole__actions button {
        max-width: 270px;
        height: 45px;
        border-radius: 22.5px;
        margin-bottom: 20px;
    }
    
    #page_shopping_shipping .ec-registerRole__actions a {
        max-width: 270px;
        height: 45px;
        border-radius: 22.5px;
    }
}


/* =========================================================================================================================================== */
/* お届け先の追加
/* =========================================================================================================================================== */
@media all {
    /* 決定・戻るボタン */
    .ec-registerRole__actions button {
        width: 100%;
        max-width: 276px;
        height: 39px;
        display: block;
        margin: 0 auto;
        margin-top: 45px;
        margin-bottom: 12px;
        border-radius: 19.5px;
        border: none;
        background-color: var(--color-red);
        color: var(--color-white);
    }
    .ec-registerRole__actions button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
    .ec-registerRole__actions a {
        width: 100%;
        max-width: 276px;
        height: 39px;
        display: flex;
        margin: 0 auto;
        margin-bottom: 12px;
        border-radius: 19.5px;
        border: none;
        background-color: var(--color-gray);
        color: var(--color-white);
        justify-content: center;
        align-items: center;
    }  
    .ec-registerRole__actions button:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
}
@media screen and (max-width: 767px){
    #page_shopping_shipping_multiple_edit .ec-registerRole__actions button,
    #page_shopping_shipping_multiple_edit .ec-registerRole__actions a {
        height: 45px;
        border-radius: 22.5px;
        margin-bottom: 20px;
    }
}


/* =========================================================================================================================================== */
/* お届け先の変更（ゲストの場合）
/* =========================================================================================================================================== */
@media all {
    #page_shopping_shipping_edit .ec-RegisterRole__actions {
        display: block;
        padding-top: 40px;
    }
    
    #page_shopping_shipping_edit .ec-RegisterRole__actions > * {
        margin:  0 auto;
        width: 220px;
        height: 39px;
        margin-bottom: 18px;
        font-size: 16px;
    }
}
@media screen and (max-width: 767px){
    #page_shopping_shipping_edit .ec-RegisterRole__actions > * {
        width: 270px;
        height: 45px;
        margin-bottom: 20px;
    }
    
    #page_shopping_shipping_edit .ec-RegisterRole__actions {
        padding-top: 20px;
    }
}


/* =========================================================================================================================================== */
/* ご注文確認
/* =========================================================================================================================================== */
@media all {
    #page_shopping_confirm .ec-orderRole__detail .ec-orderDelivery__title {
        padding-top: 21px;
    }
    #page_shopping_confirm .ec-orderRole__detail .ec-orderDelivery__address {
        padding-top: 12px;
        padding-bottom: 29px;
    }
    #page_shopping_confirm .ec-orderRole__detail .ec-orderDelivery__actions .ec-select label {
        font-size: 16px;
        font-weight: var(--font-weight-medium);
        padding-right: 8px;
        margin-bottom: 0;
        display: inline-block;
    }
    #page_shopping_confirm .ec-orderRole__detail .ec-orderConfirm .ec-input,
    #page_shopping_confirm .ec-orderRole__detail .ec-blockRadio {
        padding-top: 14px;
        padding-bottom: 19px;
        line-height: 25px;
    }
}


/* =========================================================================================================================================== */
/* ご注文完了
/* =========================================================================================================================================== */
@media all {
    .ec-cartCompleteRole {
        text-align: center;
        padding-bottom: 100px;
    }
}


/* =========================================================================================================================================== */
/* 購入エラー
/* =========================================================================================================================================== */
@media all {  
    #page_shopping_error .ec-pageHeader {
        margin-top: 12px;
    }
    
    #page_shopping_error .ec-pageRole__fixed .ec-pageContent__link {
        padding-bottom: 210px;
        margin-top: 19px;
    }
}