@charset "UTF-8";

/** LP用に画面幅制御なしにする */
#LP .topGroupName {
    width:100%;
}
@media screen and (max-width: 641px) {
    #LP .topGroupName {
        padding: 0;
    }
    #LP .beforeFormArea {
        padding: 0 10px;
    }
}
#selectedSalesGoodsCodesTdSurround label + label {
    margin-left: 0;
}

/** 画像 */
:where(.htmlTextIncludeItemWrap) img,
:where(.beforeFormArea) img {
    vertical-align: bottom;
    max-width: 100%;
    width: auto;
    height: auto;
}
@media screen and (max-width: 641px) {
    :where(.htmlTextIncludeItemWrap) img,
    :where(.beforeFormArea) img {
        width: 100%;
    }
}


/* レイアウト */
.loginLayoutGroup,
.customerInfoInputLayout,
.birthdayInfoDispLayout,
.destinationLayoutGroup,
.registeredCardInfoLayoutGroup {
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}
#loginLayoutGroup.table .th,
#customerInfoInputLayout.table .th,
#birthdayInfoDispLayout.table .th,
#cardInfoLayoutGroup.table .th,
#destinationLayoutGroup.table .th,
.registeredCardInfoLayoutGroup .th {
  position: relative;
}
#loginLayoutGroup.table .th label[class*=REQUIRED],
#customerInfoInputLayout.table .th label[class*=REQUIRED],
#birthdayInfoDispLayout.table .th label[class*=REQUIRED],
#cardInfoLayoutGroup.table .th label[class*=REQUIRED],
#destinationLayoutGroup.table .th label[class*=REQUIRED],
.registeredCardInfoLayoutGroup.table .th label[class*=REQUIRED] {
  position: relative;
  left: 50px;
}
@media screen and (max-width: 960px) {
    .loginLayoutGroup > .tr,
    .customerInfoInputLayout > .tr,
    .birthdayInfoDispLayout > .tr,
    .cardInfoLayoutGroup> .tr,
    .destinationOptionGroup > .tr,
    .destinationLayoutGroup > .tr,
    .reglOrderIncludePaymentLayoutGroup > .tr,
    .customerInfoDispLayout > .tr,
    .reglOrderIncludeDestinationLayoutGroup > .tr,
    .registeredCardInfoLayoutGroup > .tr {
        display: block;
        border: none;
        border-bottom: 1px solid #b9b9b9;
    }
    .loginLayoutGroup .td,
    .customerInfoInputLayout .td,
    .birthdayInfoDispLayout .td,
    .cardInfoLayoutGroup.td,
    .destinationOptionGroup .td,
    .destinationLayoutGroup .td,
    .reglOrderIncludePaymentLayoutGroup .td,
    .customerInfoDispLayout .td,
    .reglOrderIncludeDestinationLayoutGroup .td,
    .registeredCardInfoLayoutGroup .td {
        display: block;
    }
    .contentsMonitor input[type="text"],
    .contentsMonitor input[type="password"],
    .contentsMonitor select {
        width: 100%;
    }
    .contentsMonitor select.birthdayYear {
        width: 260px;
    }
    .contentsMonitor select.birthdayMonth,
    .contentsMonitor select.birthdayDay {
        width: 60px;
    }
}
@media screen and (max-width: 600px) {
    .contentsMonitor select.birthdayYear {
        width: 100%;
    }
}


/* 下線なし */
.orderNameSeiItemWrap.tr,
.orderAreaCodeItemWrap.tr,
.orderPostCodeItemWrap.tr,
.orderAddress1ItemWrap.tr,
.orderAddress2ItemWrap.tr,
.orderEmailItemWrap.tr,
.registerCustomerPasswordItemWrap.tr,
.mailMagazineFlgItemWrap.tr {
    border-bottom: none;
}
.required_condition:after {
    content: "必須";
    background-color: #b6002a;
    color: #fff;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1;
    padding: 3px 8px;
    float: none;
    margin: 0;
    position: absolute;
    left: -50px;
    top: 50%;
    transform: translateY(-50%);
}

/* フォーム入力時のエラー */
.customerInfoInputLayout .td .items,
.birthdayInfoDispLayout .td .items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.customerInfoInputLayout .td .items .__error,
.birthdayInfoDispLayout .td .items .__error {
    position: relative !important;
    top: 0 !important;;
    left: 0 !important;;
    order: -1;
    width: 100%;
}
.customerInfoInputLayout .td .items .__error.__error_nameSei {
    order: -2;
}
.customerInfoInputLayout .td .items .checkboxLabel {
    margin-left: 5px;
}
.customerInfoInputLayout .td .items .table_notes {
    width: 100%;
    margin: 0 0 0.5em;
}


/* ログイン */
.passwordTdSurround .items .pwdDispButton_itemLabel {
    display: inline-block;
    margin-left: 10px;
}
.passwordTdSurround .items .memberReminderLink,
.passwordTdSurround .items .morinagaIdMemberReminderLink {
	display: block;
    width: fit-content;
    position: relative;
}
.passwordTdSurround .items .memberReminderLink::after,
.passwordTdSurround .items .morinagaIdMemberReminderLink::after {
    content: "";
    background: url(../../contents/shop/morinaga/images/arrow.svg) no-repeat center;
    background-size: contain;
    width: 0.9em;
    height: 0.9em;
    position: absolute;
    right: -1.2em;
    left: auto;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
@media screen and (max-width: 960px) {
    .passwordTdSurround .items .pwdDispButton_itemLabel {
        margin-left: 0;
    }
}


/** ソーシャルログインボタン **/
.socialLoginButoonGroup::before {
    content: "外部サービスのアカウントでログイン";
    width: 40%;
    margin: 0 30% 15px;
    text-align: center;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}
.socialLoginButoonGroup.socialLoginArea {
    margin: 60px 0 0;
    justify-content: center;
}
.amazonLoginSubmitArea {
    margin-bottom: 60px;
    text-align: center;
}
.amazonPayLoginIncludeItemWrap {
    display: inline-block;
}
#amazonPayLoginIncludeItemWrap #Logout {
    margin-top: 5px;
}
#AmazonPayButton {
    text-align: center;
    width : 194px;
}
#AmazonPayButton > img {
    width: 100%;
}
#AmazonPayButton[title="Amazonアカウントに登録されている情報を利用してお支払い"] {
    height : 60px;
}

#loginButtonItemWrap .items{
    display: flex;
    flex-direction: column;
    align-items: center;
}
#loginButton, #idIntegrateButton {
    border : none;
    border-radius: 5em;
    min-width: 300px;
    height: 40px;
}

@media screen and (max-width: 768px) {
    .socialLoginButoonGroup::before {
        width: 100%;
        margin: 0 0 15px;
    }
    #loginButtonItemWrap {
        display:block;
    }
    #loginButtonItemWrap {
        margin-bottom: 25px;
    }
}


/* 見出し */
.content_2 {
    margin-top: 100px;
}
.guestTitleIncludeItemWrap {
    margin-top: 100px;
}
.orderListGroup {
    margin-top: 30px;
}
.paymentMethodGroup {
    margin-top: 100px;
}
.paymentMethodGroup.singleView {
    margin-top: 0;
}
.reglOrderIncludeGroup {
    margin-top: 100px;
}
.reglOrderIncludePaymentMethodGroup {
    margin-top: 100px;
}
.customerInfoGroup {
    margin-top: 100px;
}
.reglOrderIncludeDestinationGroup {
    margin-top: 100px;
}
.destinationSelectGroup .h3Wrap {
    margin-top: 100px;
}
.destinationOptionGroup {
    margin-top: 100px;
}
.giftInputGroup {
    margin-top: 100px;
}
.pointGroup {
    margin-top: 100px;
}
.usableCouponGroup {
    margin-top: 100px;
}
.orderCommentGroup {
    margin-top: 100px;
}
.optinGroup1 {
    margin-top: 100px;
}

/* 入力必須のエラー吹き出し */
.__error .alertMessageContent {
    background: none;
    border: none;
    padding: 0;
    margin: 0 0 0 2px;
    font-size: 13px;
    font-weight: bold;
    color: #b6002a;
}

/* お名前、フリガナ */
.orderNameSeiPreLabel, .orderNameMeiPreLabel, .orderNameSeiKanaPreLabel, .orderNameMeiKanaPreLabel {
    width: 2.5em;
    display: inline-block;
}
.orderNameSei, .orderNameSeiKana {
    margin-right: 20px;
}
@media screen and (max-width: 960px) {
    .contentsMonitor input.orderNameSei,
    .contentsMonitor input.orderNameMei,
    .contentsMonitor input.orderNameSeiKana,
    .contentsMonitor input.orderNameMeiKana {
        margin-right: 0;
        width: calc(99.9% - 3em);
    }
}

/* 郵便番号検索 */
input#orderPostCodeSearchButton {
    background: #fff;
    color: #3b4043;
    border: 1px solid #252525;
    border-radius: 5em;
    font-size: 14px;
    padding: 0 7px;
    line-height: 0;
    height: 37px;
    vertical-align: top;
    margin-left: 5px;
}
.orderPostCodeMessage,
.postCodeMessage,
.orderAddress31Message,
.address31Message{
    order: -1;
    width: 100%;
    margin-bottom: 5px;
    font-size: 0.85em;
}
.postCodeTdSurround div.items,
.address3TdSurround div.items{
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 960px) {
    input#orderPostCodeSearchButton {
        position: absolute;
        top: -32px;
        right: 15px;
    }
}

/* 電話番号 */
@media screen and (max-width: 960px) {
    .contentsMonitor input.orderTelNoPre,
    .contentsMonitor input.orderTelNoMiddle,
    .contentsMonitor input.orderTelNoPost {
        width: calc(99.9% / 3 - 14px);
    }
}

/* パスワード */
.registerCustomerPasswordTdSurround .registerCustomerPasswordMessage {
  order: -1;
  width: 100%;
  margin-bottom: 5px;
  font-size: 0.85em;
}

/* 定期同梱 */
#reglOrderIncludeLayoutGroup {
    border: none;
}
#reglOrderListLayoutGroup {
    display: flex;
    background-color: #f2f0ed;
    border-radius: 15px;
    padding: 20px 20px;
    border: none;
}
#reglOrderList {
    border-bottom: none;
    background-color: #fff;
}
.reglOrderListRow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.reglOrderListRow > td {
    flex-shrink: 0;
}
.reglGoodsName_itemLabel {
    font-weight: bold;
}
.reglOrderListRow .reglOrderListReglOrderDetailListCol {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-wrap: wrap;
}
.reglOrderListRow .reglOrderListReglOrderDetailListCol .reglOrderDetailListRow {
    flex-shrink: 1;
    margin-right: 30px;
}
.reglOrderNum_itemLabel {
    font-weight: bold;
    font-size: .9em;
}
.reglOrderDetailListReglOrderNumCol::before {
    content: "数量：";
    font-weight: normal;
    font-size: .9em;
}
.reglOrderList .reglOrderListDeliveryIntervalCol {
    text-align: right;
}
.deliveryInterval_itemLabel {
    font-weight: bold;
}
.deliveryInterval_itemLabel::before {
    content: "お届けサイクル：";
    display: block;
    font-weight: normal;
    font-size: .8em;
    margin-right: -5px;
}
.reglOrderList .reglOrderListDeliveryPlanDateCol {
    text-align: right;
}
.deliveryPlanDate_itemLabel {
    font-weight: bold;
}
.reglOrderListDeliveryPlanDateCol .deliveryPlanDateLabel_itemLabel {
    display: block;
    font-weight: normal;
    font-size: .8em;
    margin-right: -5px;
}
.reglOrderList .reglOrderListReglOrderAfterNextMessageCol{
	width: 100%;
	color: #b6002a;
}
.reglOrderList .reglOrderListReglOrderDetailListCol{
	width: 50%;
}
.reglOrderList .reglOrderListDeliveryPlanDateCol{
	width: 20%;
}
.reglOrderList .reglOrderListSelected0Col,
.reglOrderList .reglOrderListDeliveryIntervalCol{
	width: 15%;
}
@media screen and (max-width: 960px) {
    #reglOrderIncludeFlgItemWrap {
        border: none;
    }
    .reglOrderListRow {
        flex-direction: column;
        align-items: flex-start;
    }
    .reglOrderListRow .reglOrderListReglOrderDetailListCol {
        padding-bottom: 0;
    }
    .reglOrderListRow .reglOrderListReglOrderDetailListCol .reglOrderDetailListRow {
        margin-bottom: 20px;
    }
    .reglOrderList .reglOrderListDeliveryIntervalCol {
        padding: 0 0 0 15px;
        text-align: left;
    }
    .reglOrderList .reglOrderListDeliveryPlanDateCol {
        padding: 0 0 0 15px;
        text-align: left;
    }
    .deliveryInterval_itemLabel::before {
        display: inline-block;
        margin-right: 0;
    }
    .reglOrderListDeliveryPlanDateCol .deliveryPlanDateLabel_itemLabel{
        display: inline;
        margin-right: 0;
    }
    .reglOrderList .reglOrderListSelected0Col {
        order: 5;
        align-self: flex-end;
        width: 100%;
        text-align: right;
    }
	.reglOrderList .reglOrderListReglOrderAfterNextMessageCol,
	.reglOrderList .reglOrderListReglOrderDetailListCol,
	.reglOrderList .reglOrderListDeliveryIntervalCol,
	.reglOrderList .reglOrderListDeliveryPlanDateCol{
		width: 100%;
	}
}


/* お支払い方法 */
#paymentLayoutGroup {
    border: none;
}

/* ラジオボタンチェック時 */
.paymentMethodGroup .checked,
.creditCardGroup .checked,
.reglOrderIncludeGroup .checked,
.includeRegularlyPeriodNo_selections_itemLabel .checked,
.destinationSelectGroup .checked {
    background:#fbfad8;
}
/* ラジオボタンラベル */
.selectedPaymentMethodItemWrap > div,
.reglOrderIncludeFlgItemWrap > div,
.reglSecondSelectedPaymentMethodItemWrap > div,
.selectedConvenienceItemWrap > div,
.destinationAlterFlgItemWrap > div {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 20px;
}
.paymentMethodGroup .radiobuttonLabel,
.creditCardGroup .radiobuttonLabel,
.reglOrderIncludeGroup .radiobuttonLabel,
.destinationSelectGroup .radiobuttonLabel {
    width: calc((100% / 4) - 5px);
    border: 1px solid #252525;
    border-radius: 20px;
    margin-bottom: 5px;
    margin-right: 5px;
    padding: 5px 10px;
}
.paymentMethodGroup .radiobuttonLabel:not(:last-of-type),
.creditCardGroup .radiobuttonLabel:not(:last-of-type),
.reglOrderIncludeGroup .radiobuttonLabel:not(:last-of-type),
.destinationSelectGroup .radiobuttonLabel:not(:last-of-type) {
    margin-right: 5px;
}
.paymentMethodGroup .radiobuttonLabel > input[type=radio],
.creditCardGroup .radiobuttonLabel > input[type=radio],
.reglOrderIncludeGroup .radiobuttonLabel > input[type=radio],
.destinationSelectGroup .radiobuttonLabel > input[type=radio] {
    margin-right: 10px;
}
.reglOrderIncludeFlgTdSurround .items,
.destinationAlterFlgTdSurround .items {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
@media screen and (max-width: 960px) {
    .paymentLayoutGroup .radiobuttonLabel,
    .reglSecondPaymentMethodGroup .radiobuttonLabel,
    .destinationAlterLayoutGroup .radiobuttonLabel,
    .reglOrderIncludeLayoutGroup .radiobuttonLabel {
        width: calc(50% - 5px);
    }
}
@media screen and (max-width: 600px) {
    .paymentLayoutGroup .radiobuttonLabel,
    .reglSecondPaymentMethodGroup .radiobuttonLabel,
    .destinationAlterLayoutGroup .radiobuttonLabel,
    .reglOrderIncludeLayoutGroup .radiobuttonLabel {
        width: 100%;
        text-align: center;
        position: relative;
    }
    .paymentLayoutGroup .radiobuttonLabel > input[type=radio],
    .reglSecondPaymentMethodGroup .radiobuttonLabel > input[type=radio],
    .destinationAlterLayoutGroup .radiobuttonLabel > input[type=radio],
    .reglOrderIncludeLayoutGroup .radiobuttonLabel > input[type=radio] {
        position: absolute;
        left: 10px;
        top: 34%;
    }
}
@media screen and (max-width: 960px) {
    .reglOrderListRow {
        flex-direction: column;
        align-items: flex-start;
    }
    .reglOrderList .reglOrderListDeliveryIntervalCol {
        padding: 0 0 0 15px;
    }
    .reglOrderList .reglOrderListDeliveryPlanDateCol {
        padding: 0 0 0 15px;
    }
    .deliveryInterval_itemLabel::before {
        display: inline-block;
        margin-right: 0;
    }
    .reglOrderListSelected0Col {
        order: 5;
        align-self: flex-end;
    }
}


/* ラジオボタンラベル：クレジットカード */
.creditCardGroup .radiobuttonLabel {
    display: block;
    width: auto;
    margin-bottom: 10px;
    padding-right: 30px;
    background-color: #fff;
}
.creditCardGroup .checked.radiobuttonLabel:before {
    background: url(../img/common/icon/icon_arrow_14_8.png) 0 0 no-repeat;
    background-position: 3px 3px;
    background-size: 90%;
    margin-right: 0;
}
.creditCardGroup .checked{
     background:#fbfad8;
}


/* クレジットカード情報 */
#registeredCardInfoLayoutGroup,
#registeredCardItemWrap {
    border: none;
}
.creditCardGroup {
    display: none;
    background-color: #f2f0ed;
    border-radius: 15px;
    padding: 20px;
    margin-top: 50px;
}
.useCardTypeWrap {
    display: flex;
}
.securityCodePartsItemWrap::before {
    content: "";
    background-color: #f3f3f3;
    display: table-cell;
}
@media screen and (max-width: 641px) {
    .creditCardGroup {
        padding: 20px 10px;
    }
    .reEntryCreditCardNoButton {
        margin-top: 5px;
    }
    .securityCodePartsItemWrap::before {
        display: none;
    }
}
@media screen and (max-width: 600px) {
    .useCardTypeWrap {
        display: block;
    }
    .useCardTypeWrap .radiobuttonLabel {
        width: 100%;
        text-align: center;
        position: relative;
    }
    .useCardTypeWrap > div:first-of-type .radiobuttonLabel {
        margin-bottom: 5px;
    }
    .useCardTypeWrap .radiobuttonLabel > input[type=radio] {
        position: absolute;
        left: 10px;
        top: 34%;
    }
}
#creditCardGroup .table .th {
    background-color: #fff;
}
#creditCardGroup .table .td {
    background-color: #fff;
}
@media screen and (max-width: 960px) {
    #creditCardGroup .table .td {
        display: block;
    }
}

.cardInfo .cardInfoLayoutGroup {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border: none;
}
@media screen and (max-width: 600px) {
    .cardInfo .cardInfoLayoutGroup {
        flex-direction: column;
    }
    .cardInfoLayoutGroup > .tr {
        width: 100%;
    }

}
.cardInfoLayoutGroup > .tr {
    width: calc(50% - 3px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    border: none;
    padding: 10px 15px;
}
.cardInfo .cardInfoLayoutGroup > .tr > .th {
    width: 210px;
    padding: 0;
}
.cardInfoLayoutGroup > .tr > .td {
    width: 300px;
    padding: 0;
}
@media screen and (max-width: 1185px) {
    .cardInfoLayoutGroup > .tr {
        align-items: flex-start;
    }
    .cardInfo .cardInfoLayoutGroup > .tr > .th {
        padding-bottom: 10px;
    }
}
@media screen and (max-width: 600px) {
    .cardInfoLayoutGroup > .tr {
        width: 100%;
    }
}
.cardInfo .entryCard {
    margin-top: 30px;
}
.cardInfo .entryCard h3 {
    margin-bottom: 10px;
}
#securityCode {
    width: 4em;
}
/* 有効期限 */
select#enableMonth {
    width: 5em;
}
select#enableYear {
    width: 6em;
}
/* カード番号キャプション注記 */
.entryDescription {
    font-size: 0.8em;
    line-height: 1.5;
    margin-top: 5px;
}
/* 違うカードを入力する */
.reEntryCreditCardNoButton {
    margin-top: 5px;
}

/* 入力制御見た目 */
#creditCardNo:read-only,
#creditCardOwner:read-only,
#securityCode:read-only{
    background-color: #eee;
}
#enableMonth:disabled,
#enableYear:disabled{
    background-color: #ddd;
}

/* amazon用 */
.amazonPayGroup {
    display: none;
}
.amazonWalletGroup {
    display: none;
}
#addressBookWidgetDiv_innerId {
    height: 250px;
}
.amazonAddressWidgetItemWrap {
    margin-bottom: 10px;
}

.amazonPayh4 {
    font-size: 0.95em;
    display: inline-block;
    margin-right: 20px;
    margin-bottom : 10px;
}

#amazonV2InfoPaymentTitle_innerId {
    margin-top : 10px;
}

#amazonV2ModifyAddress, #amazonV2ModifyPaymentMethod {
    font-size:90%;
}
@media screen and (max-width: 641px) {
    .amazonWalletGroup {
        width: 100%;
    }
    .amazonPayGroup,
    .amazonWalletGroup {
        margin-left: 20px;
        margin-bottom: 10px;
    }
}

#amazonPayLoginIncludeItemWrap {
    text-align:center;
}


/* コンビニ選択 */
.conveniInfoGroup {
    display: none;
}
@media screen and (max-width: 641px) {
    .conveniInfoGroup {
        margin-left: 20px;
    }
}


/* お届先情報 */
.destinationGroup {
    background-color: #f2f0ed;
    border-radius: 15px;
    padding: 20px;
}
.addressBookListItemWrap {
    margin: 0 0 10px;
}
#destinationAlterLayoutGroup {
    border: none;
}
/* 別の住所に送る */
@media screen and (min-width: 961px) {
    .address3ThSurround label,
    .addAddressBookLabelThSurround label {
        position: relative;
        left: 50px;
    }
}
#destinationLayoutGroup {
    border: none;
    background-color: #fff;
}
.destinationLayoutGroup .tr {
    border: none;
}
.addressBookList_itemLabel {
    font-weight: bold;
}
.destNameSeiPreLabel,
.destNameMeiPreLabel,
.destNameSeiKanaPreLabel,
.destNameMeiKanaPreLabel {
    width: 2.5em;
    display: inline-block;
}
.postCodeSearchButton{
    margin-left: 5px;
}
@media screen and (max-width: 960px) {
    #destNameSeiPreLabel,
    #destNameMeiPreLabel,
    #destNameSeiKanaPreLabel,
    #destNameMeiKanaPreLabel {
        display: inline-block;
        width: 10%;
        text-align: center;
    }
    #destNameSei,
    #destNameMei,
    #destNameSeiKana,
    #destNameMeiKana {
        width: 85%;
    }
    #telNoTdSurround input[type=text] {
        width: 5em;
    }
}
@media screen and (min-width: 769px) and (max-width: 960px){
    input#postCode {
        width: calc(100% - 105px);
    }
}
@media screen and (max-width: 768px){
    .destinationLayoutGroup .td .items .postCodeSearchButton {
        position: absolute;
        top: -32px;
        right: 15px;
    }
}
@media screen and (max-width: 600px) {
    .destinationGroup {
        padding: 20px 10px;
    }
}


/* ギフト */
.giftMessage {
    display: block;
}
.giftInputLayoutGroup2 {
    margin-top: 20px;
}


#customerInfoInputLayout {
    z-index: 5;
}

/* 生年月日 */
#customerInfoInputLayout, #customerInfoDispLayout {
    margin-bottom: 0;
}

#birthdayYearThSurround, #birthdayYearTdSurround, #birthdayInfoDispLayout {
    border-top: 0px none;
}

#OrderInfoInput #__error_birthdayYear.movedError span {
    display: block;
}


/* ボタン */
#buttonGroup {
    margin: 100px 0;
}
#buttonGroup .itemWrap {
    width: auto;
}
#returnButton,
#saveButton {
    font-size: 1em;
    min-width: 300px;
}


/* ※ */
.note::before {
    content: "※";
    font-family: serif;
}


/** オプトイン */
#optinGroup2 {
    margin-top:10px;
}

/* よりどり商品、選択説明文 */
.goodsSelectionNumItemWrap {
    font-size: 12px;
    margin-bottom: 20px;
}

div#goodsSelectionNum_innerId {
    display: inline;
}


/* よりどり商品、対象商品リスト */
#itemSelectionGoodsList {
    display: block;
}
div.matrix-body {
    display: flex;
    flex-wrap: wrap;
}

div.itemSelectionGoodsListRow{
    display: block;
    position: relative;
    width: 50%;
    padding-right: 10px;
    margin-bottom: 20px;
}

div.itemSelectionGoodsListRow:after {
    content: "";
    display: block;
    clear: both;
}
div.itemSelectionGoodsListRow:before {
    content: "";
    display: block;
    clear: both;
}

.itemSelectionGoodsList div.items {
    display: block;
    background-color: transparent !important;
}
.itemSelectionGoodsList div.items a {
    float: left;
}
.itemSelectionGoodsList div.items .goodsSelectionImgThumb {
    width: 40%;
    margin-right: 10px;
}
.itemSelectionGoodsList div.items .goodsSelectionImgThumb img {
    width: 100%;
    display: block;
}
.itemSelectionGoodsList div.items .goodsName {
    width: calc(60% - 20px);
    margin-bottom: 10px;
    font-size: 14px;
    display: block;
}
#itemSelectionGoodsList  .goodsCountItemWrap {
    font-size: 14px;
}

@media screen and (max-width: 641px) {
    .itemSelectionGoodsList div.items .goodsSelectionImgThumb {
        width: 100%;
    }
    .itemSelectionGoodsList div.items .goodsName {
        width: 100%;
        margin-top: 5px;
        margin-bottom: 10px;
    }
    #itemSelectionGoodsList .goodsCountItemWrap {
        position: relative;
        right: auto;
        bottom: auto;
        text-align: center;
    }
}


/* よりどり商品、数量プルダウン */
.goodsCount {
    width: 60px;
    padding: 5px 10px;
    font-size: 18px;
}


/* よりどり商品、現在個数、最大個数 */
.selectedNumItemWrap {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
}
.goodsSelectionNum, .selectedNum {
    font-size: 22px;
    font-weight: bold;
    color: #ff0000;
}
#goodsSelectionNumItemWrap .redBold {
    color: #ff0000;
}


/* ボタン */
#memberInputButtonGroup {
    margin: 100px 0;
}
#memberSaveButton,
#shiftCreditCardButton {
    border : none;
    border-radius: 5em;
    min-width: 300px;
    padding: 4px 16px;
}

#registerButton,
#integrateButton {
    border-radius: 5em;
    min-width: 300px;
    padding: 4px 16px;
}

/* テーブル内ラベル位置を調整 */
#amountInfoLayoutGroup .th label,
#customerInfoDispLayout .th label,
#reglOrderIncludePaymentLayoutGroup .th label,
#reglOrderIncludeDestinationLayoutGroup .th label,
#destinationOptionLayoutGroup .th label,
#mediaCouponLayoutGroup .th label,
#orderCommentLayout .th label,
#morinagaIdRegisterLayout .th label {
    left: 0;
}

/* ダイレクトメール送付、お電話でのご案内、ログイン通知 */
#directMailFlgItemWrap,
#telFlgItemWrap,
#loginNotificationFlgItemWrap {
    border-top: none;
    border-bottom: none;
}

/*
## (?)アイコン
*/
.guideLink > a::after {
  content: "?";
  border: 1px solid #252525;
  border-radius: 50%;
  display: inline-block;
  line-height: 1.2em;
  width: 1.2em;
  height: 1.2em;
  margin-left: 10px;
  text-align: center;
}
/* ログイン通知の(?)で表示する説明文 */
.guideLinkWrap {
  position: relative;
  z-index: 1;
}
.guideLink {
  cursor: pointer;
  position: absolute;
  top: -1.2em;
  left: 3.5em;
}
.guideLink > a {
  pointer-events: none;
}
.loginAlertInfo {
  position: absolute;
  left: 2.5em;
  top: -5px;
  background-color: #fff;
  border: 1px solid #252525;
  border-radius: 10px;
  padding: 10px;
  z-index: 1;
  display: none;
}

.loginAlertInfo.is_show {
  display: block;
}
.loginAlertInfo .title {
    font-weight: bold;
    margin-bottom: 5px;
}

@media screen and (min-width: 961px) {
    .customerInfoInputLayout.table .guideLinkWrap {
        display: inline-block;
    }
    .customerInfoInputLayout.table .loginAlertInfo {
        width: 430px;
        left: 6.5em;
        top: -30px;
    }
}
@media screen and (max-width: 960px) {
    .customerInfoInputLayout.table .guideLink {
        top: -1.7em;
        left: 9.5em;
        }
    .customerInfoInputLayout.table .loginAlertInfo {
        width: 320px;
        position: absolute;
        left: 0%;
        top: 5px;
        z-index: 1;
    }
}

#LpUpSellCreditRecommend {
    display: block;
    margin-top: 10px;
    max-width: 500px;
}
#upsellOriginalPaymentMethodRecoverButton {
    font-size: 1.0em;
    padding: 4px 16px;
    display: inline-block;
    min-height: auto;
    line-height: 1.5;
    margin: 10px 0 0 0;
    border-radius: 5em;
}
.orderConfirmStrong {
    color: #3b4043;
    font-weight: bold;
}
/* =========================================================
共通部品
========================================================= */
/* 文字装飾
--------------------------------------------------------- */
:where(#LP) .text-strike {
    text-decoration: line-through;
}
:where(#LP) .text-bold {
    font-weight: bold;
}
:where(#LP) strong,
:where(#LP) .strong {
    font-weight: bold;
}

/**
 * MORINAGA ID
 */

#morinagaIdSocialLoginButtonGroup  {
	display: flex;
	justify-content: space-evenly;
	margin-top: 10px;
}
@media screen and (max-width: 641px) {
	#morinagaIdSocialLoginButtonGroup  {
		display: grid;
	}
	#morinagaIdSocialLoginButtonGroup .itemWrap {
		width: 100%;
		margin-bottom: 10px;
	}
	#idIntegrateMsg1PreLabel, #idIntegrateMsg2PreLabel, #idIntegrateMsg3PreLabel {
	display: block;
	}
	#morinagaIdMemberReminderLink_link, #memberReminderLink_link {
		width: 95%;
	}
}
#idIntegrateMsg1ItemWrap, #idIntegrateMsg2ItemWrap, #idIntegrateMsg3ItemWrap, #idIntegrateMsg4ItemWrap {
	margin: 10px 0;
}
#idIntegrateMsg1_link, #idIntegrateMsg2_link, #idIntegrateMsg3_link {
	color: blue;
	font-size: 13px;
    font-weight: bold;
}
#idIntegrateMsg1PreLabel, #idIntegrateMsg1SuffixLabel,
#idIntegrateMsg2PreLabel, #idIntegrateMsg2SuffixLabel,
#idIntegrateMsg3PreLabel, #idIntegrateMsg3SuffixLabel,
#idIntegrateMsg4PreLabel, #idIntegrateMsg4SuffixLabel {
	color: #b6002a;
	font-size: 13px;
    font-weight: bold;
}
#morinagaIdRegisterConsentTitleItemWrap,
#integrateButton,
#registerButton{
    margin: 10px 0 10px;
}
#morinagaIdPolicy{
    text-decoration: underline;
}
#integrateButton:disabled,
#registerButton:disabled{
	color: #b6002a;
	background-color: #fff;
}
