﻿@charset "UTF-8";

/* ----------------------------------
 元のCSS
 /css/sys/responsive_base_form.css
 /css/sys/responsive_base_misc.css
 /css/sys/responsive_layout.css
 /css/sys/responsive_block_common.css
 /css/sys/responsive_block_customer.css
 /css/sys/responsive_block_goods.css
 /css/sys/responsive_block_order.css
 /css/sys/responsive_block_misc.css
 /css/sys/responsive_block_store.css
 /css/sys/responsive_block_page_category.css
 /css/sys/responsive_block_page.css
 /css/sys/responsive_block_no_code_cms.css
---------------------------------- */

/* ----------------------------------
 /css/sys/responsive_base_form.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----入力フォームボタン---- */

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="search"],
  input[type="password"],
  input[type="url"],
  input[type="number"],
  select,
  textarea {
    padding: 4px;
    border: 1px solid #ccc;
  }

  input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 5px;
    vertical-align: middle;
  }

  /* ----ボタン---- */

  .btn {
    display: inline-block;
    margin: 0;
    padding: 4px 10px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
  }

  .action-buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 10px;
  }

  .action .btn {
    width: unset;
    min-width: var(--responsive-sys-button-width);
    padding: 8px 8px;
    font-size: 16px;
  }

  /* ----入力フォームタイトル---- */

  .legend {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    border-bottom: #999 1px solid;
    font-size: 26px;
    font-weight: normal;
  }

  /* ----縦型入力フォーム---- */

  .fieldset-vertical {
    display: flex;
    flex-direction: column;
    margin: 10px 0;
    row-gap: 0;
  }

  .fieldset-vertical .form-group {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    margin: 0;
    border-top: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .fieldset-vertical div.form-group:last-of-type {
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .fieldset-vertical .form-label,
  .fieldset-vertical .constraint {
    margin: 0;
    background-color: #f9f9f9;
  }

  .fieldset-vertical .form-label {
    display: flex;
    flex-basis: var(--responsive-sys-content-header-width);
    flex-shrink: 0;
    align-items: center;
    margin: 0;
    padding: 25px 10px 25px 25px;
    float: unset;
  }

  .fieldset-vertical .form-label label {
    font-weight: bold;
  }

  .fieldset-vertical .constraint {
    display: flex;
    flex-basis: 65px;
    flex-shrink: 0;
    align-items: center;
    background-color: #f9f9f9;
  }

  .fieldset-vertical .form-control {
    align-self: center;
    margin: 10px 0;
    padding: 5px 0 5px 12px;
    clear: unset;
  }

  .fieldset-vertical .form-label + .constraint + .form-control {
    width: calc(100% - var(--responsive-sys-content-header-width) - 65px);
    padding: 5px 12px 5px 12px;
  }

  .fieldset-vertical .form-control > br {
    display: none;
  }

  .fieldset-vertical.vertical-fb {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .fieldset-vertical.vertical-fb .form-group {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    margin: 5px 0 10px;
    row-gap: 5px;
    border-top: none;
  }

  .fieldset-vertical.vertical-fb .form-label {
    grid-column: 1 / 2;
    padding: 10px;
    background: #f9f9f9;
  }

  .fieldset-vertical.vertical-fb .form-label label {
    margin: 0;
    font-weight: bold;
  }

  .fieldset-vertical.vertical-fb .constraint {
    grid-column: 2 / 3;
    margin: 0;
    padding: 10px;
  }

  .fieldset-vertical.vertical-fb .form-control {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    margin: 0;
    padding: 0;
    clear: both;
  }

  .fieldset-vertical.vertical-fb div.form-group:last-of-type {
    border: none;
  }

  /* ----ラジオボタン、チェックボックス---- */

  .radio {
    margin-right: 10px;
  }

  .page-sales_landingpage .fieldset-vertical .block-landingpage-form--sales-append-radio .form-control div {
    display: block;
  }

  .page-sales_landingpage .fieldset-vertical .block-landingpage-form--sales-append-checkbox .form-control div {
    display: block;
  }

  /* ----会員ID入力フォーム---- */

  .form-uid input[type="email"],
  .form-uid input[type="text"] {
    width: unset;
  }

  /* ----メールアドレス入力フォーム---- */

  .form-email input[type="email"] {
    width: unset;
  }

  /* ----パスワード入力フォーム---- */

  .form-pwd input[type="password"],
  .form-pwd input[type="text"] {
    width: unset;
  }
}

/* ----------------------------------
 /css/sys/responsive_base_misc.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----表示・非表示---- */

  .hidden-fb {
    display: none !important;
  }

  .hidden-sb {
    display: revert !important;
  }

  /* ----ページャー---- */

  .pager {
    padding: 21px 0 56px;
    margin-bottom: 0;
    text-align: right;
  }

  .pager > * {
    display: inline-block;
  }

  .pager-scope {
    display: inline-block;
    margin-right: 5px;
    margin-left: 0;
  }

  .pager-total {
    display: inline-block;
  }

  .pagination {
    display: inline-block;
  }

  .pagination > * {
    padding: 2px 7px;
    background-color: #fff;
  }

  .pager-current span {
    font-weight: normal;
  }

  /* ----テーブル---- */

  .table,
  .table tbody,
  .table td,
  .table th {
    vertical-align: middle;
  }

  .table td,
  .table th {
    padding: 10px;
  }

  .table th {
    background-color: var(--responsive-sys-content-header-background-color);
    font-weight: bold;
  }

  .table tbody th {
    width: var(--responsive-sys-content-header-width);
  }

  /* ----モーダルダイアログ---- */

  .modal-overlay {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background-color: #000;
  }

  .modal-overlay-alert {
    position: fixed;
    z-index: 10002;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background-color: #000;
  }

  .modal-alert {
    z-index: 10003;
    width: 400px;
  }

  .modal-dialog {
    z-index: 10001;
    width: 600px;
  }

  .modal-header {
    padding: 15px 20px 15px;
    clear: both;
    border-bottom: none;
    background-color: #333;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
  }

  .modal-content {
    background: #eee;
  }

  .modal-body {
    padding: 20px;
  }

  .modal-body p {
    margin-bottom: 10px;
  }

  .modal-body li {
    border-bottom: 1px dotted #444;
  }

  .modal-body li a {
    display: flex;
    max-width: 560px;
    padding: 12px;
    color: #4da7ba;
    font-size: 16px;
  }

  .modal-body li a i {
    margin: 0 10px 0 auto;
    color: #444;
    font-size: 16px;
  }

  .modal-body li a:hover {
    text-decoration: none;
  }

  .modal-body li a:hover i {
    color: #4da7ba;
    text-decoration: none;
  }

  .modal-footer {
    padding: 0 10px 15px;
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
  }

  .modal-alert .modal-footer {
    justify-content: center;
  }

  .modal-alert .modal-footer input {
    width: 40%;
  }

  .modal-close {
    display: block;
    width: 18px;
    float: right;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    cursor: pointer;
  }

  .modal-dialog .modal-footer {
    text-align: center;
    justify-content: center;
  }

  .modal-dialog .modal-footer .btn {
    min-width: 150px;
    margin-right: 5px;
  }

  /* ---- !!!! ここより下にスタイルを追加しないこと !!!! */

  /* ----表示・非表示---- */

  .hidden {
    display: none;
  }

  .show {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  /* ----表示・非表示---- */

  .hidden-sb {
    display: none !important;
  }
}

/* ----------------------------------
 /css/sys/responsive_layout.css
---------------------------------- */
/* ----全体レイアウト---- */
@media screen and (min-width: 769px) {
  .container {
    max-width: var(--responsive-sys-container-width);
    margin: 0 auto;
  }

  .pane-contents {
    min-height: 600px;
    padding-bottom: 25px;
  }

  /* ----商品詳細---- */
  .block-goods-detail {
    display: grid;
    grid-template-columns: min(57% - 10px, 100% - 350px - 20px) max(43% - 10px, 350px);
    column-gap: 20px;
  }

  .block-goods-detail > * {
    grid-column: 1 / -1;
  }

  .pane-goods-left-side {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .pane-goods-right-side {
    display: flex;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    flex-direction: column;
    flex-wrap: nowrap;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_common.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----パンくず---- */

  .block-topic-path-top {
    border-bottom: 1px solid #dedede;
  }

  /* ----トピック---- */

  .block-topic-page {
    margin: 0 10px;
  }

  .block-top-topic--body .block-top-topic--next-page a {
    width: var(--responsive-sys-button-width);
  }

  /* ----左メニューブロック共通---- */
  .pane-block--title {
    margin: 20px 0;
    font-size: 26px;
    font-weight: normal;
  }

  /* ----トピック詳細一覧---- */
  .block-topic-details .block-icon-image--table-cell > dl {
    display: flex;
    gap: 30px;
  }

  .page-topicdetaillist .block-topic--items {
    border-top: none;
  }

  .block-topic-details .block-topic--items li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: none;
  }

  .block-topic-details .block-topic--items li a {
    order: 1;
  }

  .block-topic-details .block-topic--items .block-icon-image--table {
    order: 2;
  }

  .block-topic-details .block-topic--items .block-topic-details--icon {
    margin-left: 100px;
  }

  .block-topic--items .block-icon-image--table-cell-angle-right {
    display: none;
  }

  /* ----キーワード検索ブロック---- */
  .block-search-box--form {
    display: flex;
    column-gap: 10px;
  }

  .block-search-box--form > .input-group-btn {
    width: auto;
  }

  /* ----エラー画面---- */
  .block-common-alert {
    margin-top: 40px;
    margin-bottom: 10px;
    padding: 20px;
  }

  /* ----ワンタイムパスワード送信---- */

  .block-onetimepassword-send .block-member-terms--body {
    height: 430px;
  }

  .block-onetimepassword-send--form {
    margin: 10px 0;
  }

  .block-onetimepassword-send--mail {
    flex-direction: unset;
    margin: 0;
    border-top: 1px solid var(--responsive-sys-border-color-gray-tertiary);
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .block-onetimepassword-send--mail .form-label {
    align-items: unset;
    padding: 20px 10px 25px 25px;
  }

  .block-onetimepassword-send--mail .constraint {
    align-items: unset;
    padding: 20px 5px 5px;
  }

  .block-onetimepassword-send--mail .form-control {
    margin: 15px 0 0;
  }

  .block-onetimepassword-send .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----ワンタイムパスワード認証---- */

  .block-onetimepassword-certify--form {
    margin: 10px 0;
  }

  .block-onetimepassword-certify--code {
    flex-direction: unset;
    margin: 0;
    border-top: 1px solid var(--responsive-sys-border-color-gray-tertiary);
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .block-onetimepassword-certify .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----最近見た商品---- */

  .block-recent-item {
    margin: 0 10px;
  }

  /* ----最近チェックした商品(ブランド)---- */

  .block-brand-recent-item {
    margin: 0 10px;
  }

  /* ----最近チェックした商品(カート)---- */

  .block-cart-recent-item {
    margin: 0 10px;
  }

  /* ----追加認証---- */

  .block-common-alert-list {
    max-width: 800px;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid #999;
  }

/* ----------------------------------
 /css/sys/responsive_block_customer.css
---------------------------------- */
:root {
  --default--text-color: #111;
  --gray--text-color: #bbb;
  --highlight-text-color: #d53116;
  --main--background-color: #f5f5f5;
  --main-highlight-background-color: #f8e5de;
  --main--border-color: #e5e5e5;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }

  .pc_only {
    display: block;
  }

  /* ----ログイン画面---- */

  .block-login--body {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 20px;
  }

  .block-login .block-login--display-password {
    display: flex;
    align-items: center;
    margin: 0 0 0 8px;
  }

  .block-login h1 {
    margin: 0;
  }

  .block-common-alert-list {
    width: 100%;
  }

  .block-login--member {
    flex-basis: 575px;
    flex-grow: 1;
  }

  .block-login--container {
    display: flex;
    flex-basis: 350px;
    flex-direction: column;
    flex-grow: 1;
    flex-wrap: wrap;
  }

  .block-login--biometric-member {
    align-self: center;
    width: 100%;
  }

  .block-login--first-time {
    align-self: center;
    width: 100%;
  }

  .block-login--member-header,
  .block-login--linelogin-header,
  .block-login--snslogin-header,
  .block-login--amazon-header,
  .block-login--biometric-member-header,
  .block-login--first-time-header {
    margin: 0;
  }

  .block-login--member-body,
  .block-login--linelogin-body,
  .block-login--snslogin-body,
  .block-login--amazon .block-cart--amazonpay,
  .block-login--first-time-body {
    padding: 10px 0;
    border: none;
  }

  .block-login--member-body form,
  .block-login--first-time-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .block-login--input-items {
    margin-right: auto;
    margin-left: auto;
  }

  .block-login--uid .form-label,
  .block-login--pwd .form-label {
    flex-basis: unset;
    width: 180px;
  }

  .block-login--uid .form-control,
  .block-login--pwd .form-control {
    width: 350px;
  }

  .block-login--uid .form-control input,
  .block-login--pwd .form-control input[type="password"],
  .block-login--pwd .form-control input[type="text"] {
    width: 100%;
  }

  .form-control .block-login--display-password {
    display: inline;
  }

  .block-login--display-password > * {
    width: max-content;
  }

  .block-login--login-state-saving {
    margin: 10px 0 0;
  }

  .block-login--login-state-saving .form-control {
    display: flex;
    flex-direction: column;
    margin: 0;
  }

  .block-login--login-state-saving .form-control label {
    align-self: center;
  }

  .block-login--linelogin-text,
  .block-login--snslogin-text {
    font-size: 14px;
  }

  .block-login--linelogin-contents,
  .block-login--snslogin-contents {
    display: flex;
    justify-content: center;
    padding: 15px 0 0;
  }

  .block-login--linelogin-contents-line,
  .block-login--snslogin-contents-line,
  .block-login--snslogin-contents-facebook,
  .block-login--snslogin-contents-twitter,
  .block-login--snslogin-contents-gplus,
  .block-login--snslogin-contents-yahoo {
    width: var(--responsive-sys-snssync-button-width);
  }

  .block-login--linelogin-contents-btn,
  .block-login--snslogin-contents-btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .block-login--amazon .block-cart--amazonpay-description {
    margin: 0 0 15px;
  }

  .block-login--amazon #AmazonPayButton {
    margin: 0 auto;
  }

  .block-login--member-info-value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-login--member-info-name .form-control > span,
  .block-login--member-info-kana .form-control > span {
    display: inline-block;
  }

  /* ログアウト */

  .block-logout {
    margin: 0 32px;
  }

  .block-logout--header {
    margin: 0 0 20px;
  }

  .block-logout--message a {
    font-weight: normal;
  }

  /* ----SMS認証コード入力---- */

  .block-additional-sms-authentication h1 {
    margin: 0 0 20px;
  }

  .block-additional-sms-authentication--body {
    background: #fff;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
    overflow: hidden;
    padding: 20px;
  }

  .block-additional-sms-authentication--message-header {
    border-bottom: 1px solid #111;
    color: #111;
    font-weight: bold;
    margin: 0 0 24px;
    padding: 12px 0;
  }

  .block-additional-sms-authentication--input-items {
    display: block;
    margin: 10px auto;
    width: 600px;
  }

  .block-additional-sms-authentication--authentication-key input[type="text"] {
    margin-right: 5px;
    width: 330px;
  }

  .block-additional-sms-authentication--login {
    font-size: 16px;
    font-weight: normal;
  }

  .block-additional-sms-authentication--sidemenu {
    text-align: center;
  }

  /* ----SMS有効性確認モーダル画面---- */
  .block-order-flow--step.block-verifytel-header {
    text-align: center;
  }

  .block-verifytel--body > .block-common-alert-list {
    width: 100%;
  }

  .block-verifytel--body .block-common-alert-list--items li {
    border-bottom: none;
  }

  .block-verifytel--sidemenu {
    text-align: center;
  }

  /* ----追加認証---- */

  .block-additional-authentication h1 {
    margin: 0 0 20px;
  }

  .block-additional-authentication--body {
    padding: 20px;
    overflow: hidden;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
    background: #fff;
  }

  .block-additional-authentication--message-header {
    margin: 0 0 24px;
    padding: 12px 0;
    border-bottom: 1px solid #111;
    color: #111;
    font-weight: bold;
  }

  .block-additional-authentication--input-items {
    display: block;
    width: 600px;
    margin: 10px auto;
  }

  .block-additional-authentication--authentication-key input[type="text"] {
    width: 330px;
    margin-right: 5px;
  }

  .block-additional-authentication--reissue {
    font-weight: normal;
  }

  .block-additional-authentication--login {
    font-size: 16px;
    font-weight: normal;
  }

  .block-additional-authentication--inquiry {
    text-align: center;
    text-decoration: none;
  }

  /* ----マイページ---- */

  .block-mypage {
    margin: 0 10px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .block-mypage--customer-status {
    width: 100%;
    margin-top: 48px;
    padding: 15px 20px;
    background-color: var(--main--background-color);
  }

  .block-mypage--sign {
    flex-grow: 0;
    align-self: center;
    padding: 10px 16px;
    border-right: #fff 1px solid;
  }

  .block-mypage--customer-name {
    font-size: 24px;
  }

  .block-mypage--logout a {
    color: #fff;
  }

  .block-mypage--point-title {
    font-size: 18px;
  }

  .block-mypage--mypoint {
    flex-grow: 1;
    padding-top: 0;
    border: none;
    font-size: 24px;
    text-align: unset;
  }

  .block-mypage--point-mypoint .point-caution {
    width: auto;
    height: 1em;
  }

  .block-mypage--point-number .point-numbar {
    font-size: 30px;
    margin-right: 0;
  }

  .block-mypage--point-mypoint > small {
    margin-left: 0.5em;
    font-size: 18px;
    font-weight: 500;
  }

  .block-mypage--mypoint-duedate {
    font-size: 14px;
    margin-left: 10px;
  }

  .block-mypage--rank-status {
    display: flex;
    flex-grow: 0;
    align-items: center;
    padding-right: 16px;
    column-gap: 16px;
  }
  .block-mypage--rank-status-purchase .block-mypage--rank-status-meter-message::after,
  .block-mypage--rank-status-shipping .block-mypage--rank-status-meter-message::after {
    content: none;
  }

  .block-mypage--rank-info {
    margin: 0;
    padding: 12px 18px 13px;
    border: #fff 1px solid;
    text-align: center;
  }

  .block-mypage--rank-title {
    font-size: 12px;
  }

  .block-mypage--rank-name {
    font-size: 14px;
  }

  .block-mypage--rank-condition {
    padding: 0;
  }

  .block-mypage--rank-condition dl {
    display: flex;
    align-items: center;
  }

  .block-mypage--rank-condition-1-title,
  .block-mypage--rank-condition-2-title {
    background: #fff;
    color: #444;
  }

  .block-mypage--rank-condition-2 {
    padding: 0;
  }

  .block-mypage--snssync-info-items,
  .block-mypage--shopping-info-items,
  .block-mypage--member-info-items,
  .block-mypage--inquiry-info-items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: center;
    gap: 15px;
    margin: 15px 0 40px;
    padding: 0;
  }

  .block-mypage--shopping-info-items li dt a,
  .block-mypage--member-info-items li dt a,
  .block-mypage--inquiry-info-items li dt a,
  .block-mypage--snssync-info-items li dt a {
    font-size: 18px;
    font-weight: normal;
  }

  .block-mypage--shopping-info-items li,
  .block-mypage--member-info-items li,
  .block-mypage--inquiry-info-items li,
  .block-mypage--snssync-info-items li {
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-mypage--shopping-info-items li dt,
  .block-mypage--member-info-items li dt,
  .block-mypage--inquiry-info-items li dt,
  .block-mypage--snssync-info-items li dt {
    border-bottom: 2px solid var(--responsive-sys-border-color-gray-primary);
    font-weight: bold;
  }

  .block-mypage--shopping-info-items li dd,
  .block-mypage--member-info-items li dd,
  .block-mypage--inquiry-info-items li dd,
  .block-mypage--snssync-info-items li dd {
    display: block;
    padding: 16px 19px;
  }

  .modal--linesync-menu {
    padding: 16px;
  }

  .modal--linesync-menu .linesync-message.linesync-message-sync {
    margin: unset;
  }

  .modal--linesync-menu .modal--linesync-menu-contents {
    max-width: var(--responsive-sys-snssync-button-width);
    margin: unset;
  }

  .modal--snssync-menu {
    padding: 16px;
  }

  .modal--snssync-menu .modal--snssync-menu-contents-line,
  .modal--snssync-menu .modal--snssync-menu-contents-facebook,
  .modal--snssync-menu .modal--snssync-menu-contents-twitter,
  .modal--snssync-menu .modal--snssync-menu-contents-gplus,
  .modal--snssync-menu .modal--snssync-menu-contents-yahoo {
    max-width: var(--responsive-sys-snssync-button-width);
  }

  .block-mypage--update-address-book {
    display: block;
    max-width: 260px;
    height: auto;
    margin: 0 auto;
    padding: 10px 25px;
    border-radius: 3px;
    background: #ddd;
    text-align: center;
  }

  /* パンくず */
  .page-menu .pane-topic-path {
    margin-top: 162px;
    border-bottom: 1px solid #dedede;
    background-color: #fff;
  }

  .page-menu .pane-topic-path .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .page-menu .block-topic-path {
    padding: 15px;
    font-size: 12px;
  }

  /* マイページTOP */
  .page-menu .wrapper {
    overflow-x: hidden;
  }

  .page-menu .pane-contents {
    margin: 0 auto;
    padding-bottom: 0;
  }

  .page-menu .block-mypage {
    padding: 0 20px;
  }

  .page-menu .block-mypage-sidemenu {
    position: relative;
  }

  .page-menu .block-mypage-sidemenu.is-open {
    width: 350px;
    margin: 0 0 0 20px;
    padding: 125px 25px 50px;
    overflow: unset;
    top: -60px;
    border-left: 0;
    transition: 0.1s transform ease-in;
  }
  .page-menu .block-mypage-sidemenu--nav {
    padding: 0;
  }
  .page-menu .block-mypage-sidemenu--close-btn-wrap {
    display: none;
  }

  .page-menu .block-mypage-sidemenu--menu-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    border-right: 1px solid #ddd;
    background-color: var(--main--background-color);
    position: absolute;
    top: 20px;
    left: 20px;
  }
  .page-menu .block-mypage-sidemenu--menu-btn .line-1,
  .page-menu .block-mypage-sidemenu--menu-btn .line-2 {
    width: 20px;
    height: 2px;
    margin-left: 4px;
    display: block;
    background-color: #111;
    display: noe;
  }
  .page-menu .block-mypage-sidemenu--menu-btn .line-2 {
    margin-top: 4px;
  }
  .page-menu .block-mypage-sidemenu--menu-btn.is-active {
    left: calc(100% - 40px);
    transition: 0.1s left ease-in;
  }
  .page-menu .block-mypage-sidemenu--menu-btn.is-active .line-1 {
    margin-top: 0;
    transform: rotate(45deg);
  }
  .page-menu .block-mypage-sidemenu--menu-btn.is-active .line-2 {
    margin-top: -1px;
    transform: rotate(-45deg);
    transform-origin: calc(50% - 1px);
  }
  .page-menu .block-mypage-sidemenu--menu-btn.is-active {
    left: 350px;
    z-index: 20;
  }
  .page-menu .block-mypage-sidemenu--menu-btn.menu-right-btn {
    display: none;
  }
  .block-mypage-sidemenu--close-link img {
    width: auto;
    height: 1.5em;
  }
  .block-mypage-sidemenu--nav-title {
    padding: 10px 10px 9px;
  }
  .block-mypage-sidemenu--nav-item {
    padding: 10px 10px 9px 30px;
  }
  .block-mypage-sidemenu--nav-tree + .block-mypage-sidemenu--nav-tree {
    margin-top: 15px;
  }

  .page-menu .pane-contents .container {
    width: fit-content;
    max-width: unset;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    position: relative;
  }

  .page-menu .pane-main {
    width: 100vw;
    padding-top: 70px;
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
    position: relative;
  }

  .page-menu .pane-main.is-active {
    width: 100%;
    /* max-width: 1200px; */
    padding-left: 50px;
  }

  .page-menu .block-mypage--head {
    padding: 0;
  }

  .page-menu .jancode {
    max-width: 275px;
    margin: 0 0 0 auto;
  }

  .page-menu .block-mypage--information {
    width: 100%;
  }

  .page-menu .block-mypage--rank-wrap {
    flex-direction: row;
    justify-content: space-between;
  }

  .page-menu .block-mypage--rank-now {
    width: calc(50% - 50px);
  }

  .page-menu .block-mypage--rank-next {
    width: calc(50% - 50px);
    margin-left: 50px;
    padding-top: 0;
    position: relative;
  }

  .page-menu .block-mypage--rank-next:before {
    width: 50px;
    height: 52px;
    top: 50%;
    left: -75px;
    transform: none;
  }

  .page-menu .block-mypage--rank-status-next {
    margin-top: 25px;
  }

  .page-menu .block-mypage--rank-status-next + .block-mypage--rank-status-next {
    margin-left: 30px;
  }

  .page-menu .block-mypage--rank-status-meter-wrap {
    flex-direction: column;
  }

  .page-menu .block-mypage--rank-status-meter {
    display: flex;
    align-items: center;
    padding-left: 42px;
    position: relative;
  }

  .page-menu .block-mypage--rank-status-meter.-purchase-price:after {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    background-image: url(../../img/usr/common/ico_purchase-price.png);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .page-menu .block-mypage--rank-status-meter.-shipping:after {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    background-image: url(../../img/usr/common/ico_shipping.png);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .page-menu .block-mypage--rank-status-meter-message {
    margin-left: 42px;
    padding-left: 0;
    text-align: center;
  }

  .page-menu .block-mypage--rank-status-shipping .block-mypage--rank-status-meter-message::after {
    content: none;
  }

  .page-menu .block-mypage--rank-status-purchase .block-mypage--rank-status-meter-message::after {
    content: none;
  }

  .page-menu .block-mypage--rank-status-shipping .block-mypage--rank-status-meter::before {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    background-image: url(../../img/usr/common/ico_purchase-price.png);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .page-menu .block-mypage--rank-status-purchase .block-mypage--rank-status-meter::before {
    content: "";
    width: 30px;
    height: 30px;
    display: block;
    background-image: url(../../img/usr/common/ico_shipping.png);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }


  .page-menu .block-mypage--line {
    margin: 20px 0 0;
  }

  .page-menu .block-mypage-head {
    padding: 0;
  }

  .page-menu .block-mypage--order-status {
    padding: 0;
  }

  .page-menu .block-mypage--coupon {
    padding: 0;
  }
  .page-menu .wrapper:has(.pane-header) .block-mypage--coupon {
    scroll-margin-top: 200px;
  }

  .page-menu .block-mypage--recommend {
    padding: 0 0 10px 0;
  }

  .page-menu .block-mypage--relation {
    margin-top: 20px;
    padding: 0;
  }

  .page-menu .block-bookmarkslider h2 {
    padding-left: 0;
  }

  .page-menu .block-mypage--coupon-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .page-menu .block-mypage--coupon-content + .block-mypage--coupon-content {
    margin-top: 0;
  }

  .page-menu .block-regular-purcharse-list--list {
    display: flex;
    padding: 10px 0 0 0;
    gap: 0;
  }

  .page-menu .block-mypage--subscription {
    padding: 0;
  }

  .page-menu .block-mypage--subscription .block-regular-purcharse-list--detail a:hover {
    text-decoration: none;
    opacity: 0.6;
  }

  /* お気に入り商品 */
  @media(max-width: 1200px) {
    .block-bookmarklist-content .block-goods-favorite {
      position: static;
      text-align: right;
      margin-top: 5px;
    }

    .block-bookmarklist-content .block-goods-favorite .block-goods-list--favorite--btn {
      margin-left: auto;
    }
  }

  @media (max-width: 1000px) {
    .block-bookmarklist-content .block-add-cart-btn {
      box-sizing: border-box;
      font-size: clamp(8px, 3.5vw, 10px);
      padding: 4px clamp(8px, 3.8vw, 10px);
    }
  }
  .page-menu .block-bookmarkslider .block-bookmarklist-content .swiper-bookmarklist {
    padding: 0 0 20px;
  }
  .page-menu .block-bookmarkslider--add-cart .block-bookmarkslider--cart-btn .block-add-cart-btn {
    width: 80%;
  }

  /* 関連商品 */
  .page-menu .block-accessory-list {
    margin: 0;
    padding: 0 0 20px 0;
    background-color: unset;
  }

  .page-menu .block-pickup-list-p .block-pickup-list-p--items {
    display: flex;
    justify-content: normal;
    column-gap: 0;
  }

  .page-menu .block-pickup-list-p .block-pickup-list-p--items .block-pickup-list-p--item {
    width: calc(100% / 5);
    min-width: 235px;
  }

  .page-menu .block-recent-item--header {
    padding-top: 20px;
    font-size: 18px;
    font-weight: 500;
  }

  .page-menu .block-mypage--recommend-category {
    margin-top: 30px;
    border-top: 1px solid var(--main--border-color);
  }
  .block-mypage-footermenu {
    margin-bottom: 30px;
    padding: 20px 10px 0 10px;
  }
  .block-mypage-footermenu--nav {
    padding: 0;
  }
  .block-mypage-footermenu--nav-title {
    margin-top: 30px;
    padding: 0 0 0.5em 0;
    font-size: 18px;
    font-weight: bold;
    border-bottom: none;
  }
  .block-mypage-footermenu--nav-title::before,
  .block-mypage-footermenu--nav-title::after {
    content: none;
  }
  .block-mypage-footermenu--nav-sub-title {
    height: auto;
  }
  .block-mypage-footermenu--nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 20px;
  }
  .block-mypage-footermenu--nav-item {
    width: calc((100% - 60px) / 4);
    padding: 0;
  }
  .block-mypage-footermenu--nav-item-link {
    padding: 0.5em 1.5em;
    display: block;
    position: relative;
    border-bottom: 1px solid #111;
  }
  .block-mypage-sidemenu--menu-btn.menu-left-btn {
    display: block;
  }
  .block-mypage-sidemenu {
    display: block;
  }
  .block-mypage-sidemenu--nav-link {
    padding: 0.5em 1.5em;
    display: block;
    position: relative;
    border-bottom: 1px solid #111;
  }
  .block-mypage-sidemenu--nav-link:hover {
    text-decoration: none;
    font-weight: bold;
  }
  .block-mypage-sidemenu--nav-link:hover:after {
    opacity: 0;
    transition: 0.1s opacity ease-in-out;
  }

  .block-mypage-sidemenu--nav-link.nav-link--line-login {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .block-mypage-footermenu--btn-area {
    margin: 30px 0 10px;
    padding: 0;
    text-align: left;
  }
  .block-mypage--customer-barcode {
    width: 45%;
  }
  .page-menu .wrapper:has(.pane-header) #accessorylink {
    scroll-margin-top: 200px;
  }

  .block-mypage-sidemenu--nav-link .line-login-linked,
  .block-mypage-sidemenu--nav-link .line-login-unlinked {
    margin-right: 10px;
    margin-left: 10px;
  }

  /* ----会員登録画面と会員情報変更画面---- */

  .block-member-info h1 {
    margin: 0 0 20px;
  }

  .block-member-info--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-member-info--message {
    text-align: center;
  }

  .block-member-info--items-member-info input[name="name"],
  .block-member-info--items-member-info input[name="name2"],
  .block-member-info--items-member-info input[name="kana"],
  .block-member-info--items-member-info input[name="kana2"] {
    max-width: 200px;
  }

  .block-member-info--name .form-control,
  .block-member-info--kana .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .block-member-info--form .action-buttons {
    flex-direction: row-reverse;
  }

  .block-member-info--card-info .block-member-info--value-label {
    width: unset;
  }

  .block-member-info--pin {
    width: 120px;
    margin: 0 10px;
  }

  .block-member-info--customer-card {
    width: 150px;
    margin: 0 10px;
  }

  /* ----会員規約画面---- */

  .block-member-terms .action-buttons {
    display: flex;
    flex-direction: row-reverse;
  }

  /* ----会員規約画面（2段階）---- */

  .block-member-terms--header {
    margin: 0 0 20px;
  }

  .block-member-terms--message {
    padding: 0;
  }

  .block-member-terms--body {
    height: 430px;
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .block-member-terms--buttons {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 20px;
  }

  /* ----会員登録画面（2段階）---- */

  .block-quick-member-info h1 {
    margin: 0 0 20px;
  }

  .block-member-info--items-customer-card.hidden {
    display: none;
  }

  .block-quick-member-info--name .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .block-quick-member-info--name input[name="name"],
  .block-quick-member-info--name input[name="name2"] {
    max-width: 200px;
  }

  .block-quick-member-info--name .form-control .form-error {
    width: 100%;
  }

  .block-quick-member-info--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* ----会員登録確認画面（2段階）---- */

  .block-quick-member-info-confirmation h1 {
    margin: 0 0 20px;
  }

  .block-member-info-confirmation--card-info .form-control {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
  }

  .block-member-info-confirmation--value-label {
    display: inline-block;
    margin-right: 10px;
  }

  .block-quick-member-info-confirmation--form .action-buttons {
    flex-wrap: wrap;
    gap: 0;
    column-gap: 20px;
  }

  .block-quick-member-info-confirmation--form .action-buttons .action:first-child {
    order: 1;
  }

  .block-quick-member-info-confirmation--form .action-buttons .action:last-of-type {
    order: -1;
  }

  .block-quick-info-confirmation--login-state-saving {
    order: 2;
    width: 100%;
    text-align: center;
  }

  /* ----会員登録確認画面と会員情報変更確認画面---- */

  .block-member-info-confirmation h1 {
    margin: 0 0 20px;
  }

  .block-member-info-confirmation--form .action-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 0;
  }

  .block-member-info-confirmation--regist-button {
    grid-column: 2/3;
    grid-row: 1/2;
    justify-self: flex-start;
  }

  .block-member-info-confirmation--login-state-saving {
    grid-column: 1/-1;
    justify-self: center;
  }

  .block-member-info-confirmation--back-button {
    grid-column: 1/2;
    grid-row: 1/2;
    justify-self: flex-end;
  }

  .block-member-info-confirmation--verifytel-description {
    text-align: center;
  }

  /* ----会員登録完了画面---- */
  .block-member-registration-completed h1 {
    margin: 0 0 20px;
  }

  .block-member-registration-completed {
    display: grid;
    grid-auto-columns: auto;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
  }

  .block-member-registration-completed--message {
    grid-column: 1/-1;
  }

  .block-member-registration-completed form {
    justify-self: flex-start;
    order: 2;
  }

  .block-member-registration-completed > .action-buttons {
    justify-self: flex-end;
    order: 1;
  }

  /* ----会員登録完了画面（2段階）---- */

  .block-quick-member-registration-completed h1 {
    margin: 0 0 20px;
  }

  .block-quick-member-registration-completed .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----会員ID変更---- */

  .block-member-id--update-header {
    margin: 0 0 20px;
  }

  .block-member-id--customer-name {
    font-weight: normal;
  }

  .block-member-id--update-old-pwd span {
    font-size: 11px;
  }

  .block-member-id--update-form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----配送先情報登録確認画面---- */

  .block-shipping-address--header {
    margin: 0 0 20px;
  }

  .block-shipping-address-confirmation--form .action-buttons {
    display: flex;
    flex-direction: row-reverse;
  }

  /* ----配送先情報登録画面---- */
  .block-shipping-address--form .action-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 10px;
  }

  .block-shipping-address--forward-button {
    grid-column: 2/3;
    grid-row: 1/2;
    justify-self: flex-start;
  }

  .block-shipping-address--delete-button,
  .block-shipping-address--regular-delete-msg {
    grid-column: 1/-1;
    justify-self: center;
  }

  .block-shipping-address--back-button {
    grid-column: 1/2;
    grid-row: 1/2;
    justify-self: flex-end;
  }

  .block-shipping-address--name .form-control,
  .block-shipping-address--kana .form-control {
    display: flex;
    flex-wrap: wrap;
  }

  .block-shipping-address--name input,
  .block-shipping-address--kana input {
    width: 200px;
  }

  .block-shipping-address--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* ----パスワード変更画面---- */

  .block-update-member-password--header {
    margin: 0 0 20px;
  }

  .block-update-member-password--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-login--display-password {
    font-size: 11px;
  }

  .block-update-member-password--update-password-form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----パスワード変更完了画面---- */

  .block-update-member-password--login-link a {
    text-decoration: none;
  }

  .block-update-member-password--login-link a:hover {
    text-decoration: underline;
  }

  /* ----パスワード再設定---- */
  .block-update-new-password--header {
    margin: 0 0 20px;
  }

  .block-update-new-password--message {
    padding-bottom: 0;
  }

  .block-update-new-password--new-pwd1 input[type="password"] {
    width: auto;
  }

  /* ----パスワード再設定完了---- */

  .block-reset-new-password--completed-message {
    padding-bottom: 0;
  }

  .block-reset-new-password--completed-message a {
    text-decoration: none;
  }

  .block-reset-new-password--completed-message a:hover {
    text-decoration: underline;
  }

  /* ----パスワード再設定画面---- */

  .block-reset-password--message,
  .block-reset-password--form {
    padding: 0;
  }

  .block-reset-password--form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----パスワード再設定メール送信完了画面---- */

  .block-reset-password-completed {
    margin: 0 10px;
  }

  .block-reset-password-completed--message {
    padding: 0;
  }

  .block-reset-password-completed .action-buttons {
    margin: 10px 0 0;
  }

  /* ----メールアドレス変更画面---- */

  .block-update-mail-address--header {
    margin: 0 0 20px;
  }

  .block-update-mail-address--customer-name {
    font-weight: unset;
  }

  .block-update-mail-address .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----メールアドレス変更完了画面---- */

  .block-update-mail-address--login-link {
    text-decoration: none;
  }

  /* ----入荷案内申し込み商品画面---- */

  .block-arrival-notice-list--header {
    margin: 0 0 20px;
  }

  .block-arrival-notice-list--customer-name {
    font-weight: unset;
  }

  /* ----購入履歴一覧画面---- */

  .block-purchase-history--header {
    margin: 0 0 20px;
  }

  .block-purchase-history--search-frame {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin: 10px 0;
    padding: 10px;
    column-gap: 14px;
    background-color: #f8f8f8;
  }

  .block-purchase-history--search-frame > div {
    flex-grow: 1;
  }

  .block-purchase-history--search-frame.fieldset-vertical .form-label {
    flex-basis: unset;
    padding: 0;
  }

  .block-purchase-history--search-frame.fieldset-vertical .form-group {
    flex-wrap: wrap;
    column-gap: 14px;
    border: none;
  }

  .block-purchase-history--search-frame.fieldset-vertical .form-label label {
    margin: 0;
  }

  .block-purchase-history--search-frame.fieldset-vertical .form-control {
    align-self: auto;
    margin: 0;
    padding-left: 0;
  }

  .block-purchase-history--search-frame .action-buttons {
    justify-content: flex-start;
    margin: 0;
  }

  .block-purchase-history--search-frame .action-buttons .action .block-purchase-history--search-btn {
    display: inline-block;
    min-width: unset;
    margin: 0;
    padding: 4px 10px;
  }

  /* ----購入履歴詳細画面---- */

  .block-purchase-history-detail--header {
    margin: 0 0 20px;
  }

  .block-purchase-history-detail--order-info {
    display: flex;
    width: 100%;
    column-gap: 10px;
  }

  .block-purchase-history-detail--order-info-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-info-right {
    width: 35%;
  }

  .block-purchase-history-detail--order-body {
    display: flex;
    width: 100%;
    column-gap: 10px;
  }

  .block-purchase-history-detail--order-body-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-body-right {
    width: 35%;
  }

  .block-purchase-history-detail--shipping-info {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    column-gap: 10px;
  }

  .block-purchase-history-detail--shipping-info-left {
    order: -10;
    width: calc(65% - 10px);
  }

  .block-purchase-history-detail--shipping-info-right {
    order: -5;
    width: 35%;
  }

  .block-purchase-history-detail--shipping-info-bottom {
    width: 100%;
  }

  .block-purchase-history-detail--order-info-table th {
    width: calc(var(--responsive-sys-content-header-width) / 0.65);
  }

  .block-purchase-history-detail--payment-info-items {
    margin-top: 0;
  }

  .block-purchase-history-detail--point-message {
    margin: 5px 0;
  }

  .block-purchase-history-detail--payment-info-items tbody th,
  .block-purchase-history-detail--shipping-info-items tbody th {
    width: 40%;
  }

  .block-purchase-history-detail--goods-qty,
  .block-purchase-history-detail--goods-total-price,
  .block-purchase-history-detail--items-total td,
  .block-purchase-history-detail--items-noshi-charge td,
  .block-purchase-history-detail--shipping-fee td,
  .block-purchase-history-detail--fee td,
  .block-purchase-history-detail--charge-point td,
  .block-purchase-history-detail--promotion-discount td,
  .block-purchase-history-detail--order-total td,

  .block-purchase-history-detail--discount td,
  .block-purchase-history-detail--acquire-point td,
  .block-purchase-history-detail--coupon-discount td,
  .block-purchase-history-detail--payment-method td,
  .block-purchase-history-detail--delivery-day td,
  .block-purchase-history-detail--delivery-time-zone td,
  .block-purchase-history-detail--cash-paymentinfo-items td,
  .block-purchase-history-detail--order-comment td,
  .block-purchase-history-detail--delivery-service-name td,
  .block-purchase-history-detail--docomo-settlement-code td,
  .block-purchase-history-detail--rakuten-charge-id td,
  .block-purchase-history-detail--pay-info-no td,
  .block-purchase-history-detail--approval-code td {
    text-align: left;
  }

  .block-purchase-history-detail--requests-for-order .action-buttons {
    flex-wrap: wrap;
    text-align: center;
  }

  .block-purchase-history-detail--append-header {
    margin: 10px 0;
  }

  .block-purchase-history-detail--append-items {
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-purchase-history-detail--append .fieldset-vertical div.form-group {
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
    border-bottom: 0;
  }

  .block-purchase-history-detail--append-item .form-label {
    border-right: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-purchase-history-detail--shipment-header {
    margin: 10px 0;
  }

  .block-purchase-history-detail--shiment-address {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-purchase-history-detail .block-purchase-history-detail--add-goods,
  .block-purchase-history-detail .block-purchase-history-detail--contact {
    width: 300px;
  }

  .block-purchase-history-detail .block-purchase-history-detail--cancel {
    width: 250px;
  }

  .block-purchase-history-detail--requests-for-order .action-buttons > div:last-child {
    width: 100%;
  }

  .block-purchase-history-detail--requests-for-order .block-purchase-history-detail--back {
    margin-top: 0;
  }

  /* ----購入履歴一覧画面（領収書）---- */

  .block-purchase-history-detail--receipt-items {
    flex-direction: row;
    column-gap: 20px;
  }

  /* ----購入カード情報変更画面---- */

  .block-purchase-history-cardupdate--inputframe .action-buttons {
    display: flex;
    flex-direction: row-reverse;
  }

  /* ----ご注文キャンセル画面---- */

  .block-order-cancellation--header {
    margin: 0 0 20px;
  }

  .block-order-cancellation--order-detail-header,
  .block-order-cancellation--cancellation-reason-header {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    border-bottom: 1px solid #999;
    font-size: 26px;
    font-weight: normal;
  }

  .block-order-cancellation--order-detail {
    margin: 0;
  }

  .block-order-cancellation--payment-info-items,
  .block-order-cancellation--payment-info-items tbody th {
    width: 40%;
  }

  /* ----ご注文キャンセル完了画面---- */

  .block-order-cancellation-completed--header {
    margin: 0 0 20px;
    padding: 16px 0;
  }

  /* ----カード情報確認画面---- */

  .block-credit-card-confirmation--header {
    margin: 0 0 20px;
  }

  .block-credit-card-confirmation--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-credit-card-confirmation--credit-card-info-header,
  .block-credit-card-confirmation--update-confirmation-header {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    border-bottom: 1px solid #999;
    font-size: 26px;
    font-weight: normal;
  }

  .block-credit-card-confirmation--credit-card-info p {
    padding: 0;
  }

  .block-credit-card-confirmation--form .action-buttons {
    flex-wrap: wrap;
  }

  .block-credit-card-confirmation--form .action-buttons .action {
    width: auto;
  }

  .block-credit-card-confirmation--form .block-credit-card-confirmation--delete-button {
    order: 1;
  }

  .block-credit-card-confirmation--form .block-credit-card-confirmation--back-button {
    order: -1;
  }

  .block-credit-card-confirmation--delete-msg {
    order: 2;
    width: 100%;
    text-align: center;
  }

  /* --- カード情報変更 --- */

  .block-update-credit-card-info--form .hidden {
    display: none;
  }

  .block-update-credit-card-info--header {
    margin: 0 0 20px;
  }

  .block-update-credit-card-info--update-creditcard-header {
    margin: 40px 0 20px;
  }

  /* ----お問い合わせ履歴一覧画面---- */

  .block-inquiry-history--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-inquiry-history--body ul {
    margin-bottom: 0;
  }

  .block-inquiry-history--body li:first-child {
    border-top: none;
  }

  .block-inquiry-history--body li {
    display: flex;
    margin: 5px 0;
    padding: 10px 0;
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-inquiry-history--subject a {
    text-decoration: unset;
  }

  .block-inquiry-history--subject a:hover {
    text-decoration: underline;
  }

  .block-inquiry-history .action-buttons {
    margin: 10px 0 0;
  }

  /* ----お問い合わせ履歴詳細画面---- */

  .block-inquiry-history-detail {
    margin: 0 10px;
  }

  .block-inquiry-history-detail--customer-name {
    margin: 0;
    font-weight: unset;
  }

  .block-inquiry-history-detail--title,
  .block-inquiry-history-detail--item dd {
    margin-bottom: 0;
  }

  .block-inquiry-history-detail--subject {
    padding: 12px 0;
  }

  .block-inquiry-history-detail--date,
  .block-inquiry-history-detail--id {
    margin: 0;
    float: unset;
  }

  .block-inquiry-history-detail--body {
    margin: 0;
  }

  .block-inquiry-history-detail--form,
  .block-inquiry-history-detail--inquiry-body {
    margin: 20px 0;
  }

  .block-inquiry-history-detail--message {
    padding: 0;
    text-align: center;
  }

  .block-inquiry-history-detail--form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----定期購入お支払い変更画面---- */

  .block-regular-purcharse-method-info-update--header {
    margin: 0 0 20px;
  }

  .block-regular-purcharse-method-info-update--back {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    gap: 20px;
  }

  .block-regular-purcharse-method-info-update--regular-sales-items {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: flex-start;
  }

  .block-regular-purcharse-method-info-update--regular-sales-items > div {
    margin: 0 0 -1px -1px;
    padding: 10px;
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-regular-purcharse-method-info-update--regular-sales-items > div:nth-child(odd) {
    background-color: var(--responsive-sys-content-header-background-color);
  }

  .block-regular-purcharse-method-info-update--change-method-select {
    display: flex;
    flex-wrap: wrap;
  }

  .block-regular-purcharse-method-info-update--change-method-select > .radio {
    margin-bottom: 5px;
  }

  /* ----定期購入商品一覧画面---- */

  .block-regular-purcharse-list--header {
    margin: 0 0 20px;
  }

  .block-regular-purcharse-list--customer-name {
    font-weight: unset;
  }

  .block-regular-purcharse-list--list {
    padding: 10px 10px 0 10px;
  }

  .block-regular-purcharse-list--head-info-regular-create-dt {
    width: calc(100% + 20px);
    margin: -10px -10px 0 -10px;
  }

  .block-regular-purcharse-list--head-info-regular-create-dt > span:last-child {
    font-size: 15px;
    font-weight: bold;
  }

  .block-regular-purcharse-list--head-info-regular-create-dt > span {
    width: auto;
    margin-right: 30px;
  }

  .block-regular-purcharse-list--list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 10px;
    padding-bottom: 10px;
  }

  .block-regular-purcharse-list--head-info-regular-create-dt {
    grid-column: 1 / -1;
    grid-row: 1;
    order: -2;
  }

  .block-regular-purcharse-list--list > dd {
    margin: 0;
  }

  .block-regular-purcharse-list--info {
    order: -1;
  }

  .block-regular-purcharse-list--info-withdrawal {
    text-align: right;
  }

  .block-regular-purcharse-list--sales-link {
    white-space: nowrap;
  }

  .block-regular-purcharse-list--info-add > .action {
    text-align: right;
  }

  .block-regular-purcharse-list--info-add .action a.btn {
    width: 220px;
    margin: 0;
    font-size: 14px;
  }

  /* ----定期購入商品追加----*/

  .block-regular-goods-add--header {
    margin: 0 0 20px 0;
  }

  .block-goodsadd-list--customer-name,
  .block-regular-sales-add--qty-title {
    font-weight: unset;
  }

  .block-regular-sales-add-goodsadd-info-header-msg {
    margin-bottom: 10px;
  }

  .block-goodsadd-list .block-thumbnail-t .block-thumbnail-t--items {
    justify-content: unset;
  }

  .block-regular-sales-add--goods {
    flex-direction: column;
  }

  .block-regular-sales-add--goods-image {
    width: 200px;
    height: 200px;
  }

  .block-regular-sales-add--goods-image figure {
    width: 100%;
    height: 100%;
  }

  .block-regular-sales-add--goods-name {
    margin-top: 20px;
    font-size: 14px;
    font-weight: unset;
  }

  .block-regular-sales-add--price-info,
  .block-regular-sales-add--qty {
    display: flex;
    justify-content: flex-end;
  }

  .block-regular-sales-add--action .btn {
    width: 100%;
  }

  /* ----定期購入商品サイクル情報変更画面---- */

  .block-regular-purcharse-cycle-info-update--header {
    margin: 0 0 20px;
  }

  .block-regular-purcharse-cycle-info-update h3 {
    margin: 0 0 12px 0;
    font-size: 14px;
  }

  .block-regular-purcharse-cycle-info-update--regular-sales-items th {
    width: 23%;
  }

  .block-regular-purcharse-cycle-info-update--goods-items {
    width: 100%;
  }

  .block-regular-purcharse-detail--append-items {
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-regular-purcharse-detail--append-header {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    border-bottom: 1px solid #999;
    font-size: 26px;
    font-weight: normal;
  }

  .block-regular-purcharse-detail--append .fieldset-vertical div.form-group {
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
    border-bottom: 0;
  }

  .block-regular-purcharse-detail--append-item .form-label {
    width: 250px;
    border-right: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-regular-purcharse-cycle-info-update--back {
    display: flex;
    flex-direction: row-reverse;
    gap: 20px;
  }

  /* ----定期購入商品解約画面---- */

  .block-regular-purcharse-cancellation--header {
    margin: 0 0 20px;
  }

  .block-regular-purcharse-cancellation--customer-name {
    font-weight: unset;
  }

  .block-regular-purcharse-cancellation--message {
    padding-top: 10px;
    text-align: center;
  }

  .block-regular-purcharse-cancellation--cancel-reason-items {
    width: 600px;
  }

  .block-regular-purcharse-cancellation .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----定期購入商品変更画面---- */

  .block-regular-goods-change--header {
    margin: 0 0 20px 0;
  }

  .block-goodschange-list--customer-name {
    font-weight: unset;
  }

  .block-goodschange-list .block-thumbnail-t--items {
    font-size: unset;
  }

  .block-goodschange-list .block-goodschange-list-item-buttons-selected {
    width: unset;
    min-width: var(--responsive-sys-button-width);
    padding: 8px 8px;
    font-size: 16px;
  }

  /* ----定期購入商品配送先変更画面---- */

  .block-regular-purcharse-shipment-info-update--header {
    margin: 0 0 20px;
  }

  .block-regular-purcharse-shipment-info-update--customer-name {
    font-weight: unset;
  }

  .block-regular-purcharse-shipment-info-update--new-info-header,
  .block-regular-purcharse-shipment-info-update--old-info-header {
    background: none;
  }

  .block-regular-purcharse-shipment-info-update--new-item {
    border-bottom: unset;
  }

  .block-regular-purcharse-shipment-info-update--new-address {
    margin-bottom: 0;
  }

  .block-regular-purcharse-shipment-info-update--item {
    display: flex;
  }

  .block-regular-purcharse-shipment-info-update--dest-edit,
  .block-regular-purcharse-shipment-info-update--cust-edit {
    margin-left: auto;
  }

  .block-regular-purcharse-shipment-info-update--item,
  .block-regular-purcharse-shipment-info-update--old-address {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-regular-purcharse-shipment-info-update--body .action-buttons {
    flex-direction: row-reverse;
  }

  .block-regular-purcharse-shipment-info-update--amazonpay-button {
    display: inline-block;
    max-width: 280px;
    width: 280px;
    max-height: 30px;
  }

  /* ----ポイント履歴一覧画面---- */

  .block-point-history-list--header {
    margin: 0 0 20px;
  }

  .block-point-history-list--customer-name {
    margin-bottom: 0;
    font-weight: normal;
  }

  .block-point-history-list--message {
    margin: 5px 0;
  }

  .block-point-history-list--point {
    margin: 0 5px;
    font-size: 20px;
  }

  .block-point-history-list--point + br {
    display: none;
  }

  .block-point-history-list--pager-bottom .pager {
    padding: 0;
  }

  /* ----退会画面・退会完了画面---- */

  .block-withdrawal--header {
    margin: 0 0 20px;
  }

  /* ----お気に入り---- */

  .block-favorite--header {
    margin: 0 0 20px;
  }

  .block-favorite--customer-name {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
  }

  .block-favorite--recommend {
    padding: 0 0 5px 0;
    text-align: unset;
    text-decoration: none;
  }

  .block-favorite--recommend:hover {
    text-decoration: underline;
  }

  .block-favorite--items {
    margin-bottom: 0;
  }

  .block-favorite--items > li:first-child {
    border-top: 1px solid #ccc;
  }

  .block-favorite--items > li {
    width: auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-top: none;
    vertical-align: baseline;
  }

  .block-favorite--favorite-goods {
    display: flex;
  }

  .block-favorite--checkbox {
    display: flex;
    flex-basis: 39px;
    flex-shrink: 1;
    align-items: center;
    justify-content: center;
    min-width: 39px;
    padding: 0;
    padding-right: 10px;
    vertical-align: unset;
    -webkit-box-align: center;
  }

  .block-favorite--image {
    display: block;
    flex-basis: 160px;
    flex-shrink: 0;
    align-self: center;
    width: auto;
    padding: 0;
    vertical-align: unset;
  }

  .block-favorite--image figure {
    width: 142px;
    height: 142px;
  }

  .block-favorite--description {
    display: grid;
    grid-template-columns: 7fr 12fr 1fr;
    grid-template-rows: auto auto;
    column-gap: 20px;
  }

  .block-favorite--name {
    grid-column: 1/2;
    grid-row: 1/2;
    font-weight: normal;
    word-break: normal;
  }

  .block-favorite--name a {
    color: #000;
    text-decoration: underline;
    word-break: break-all;
  }

  .block-favorite--price-items,
  .block-favorite--update-dt {
    margin-left: 0;
    text-align: unset;
  }

  .block-favorite--spec {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .block-favorite--delete-fg {
    grid-column: 1/2;
    grid-row: 3/-1;
  }

  .block-favorite--comment {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }

  .block-favorite--comment-message {
    order: -1;
  }

  .block-favorite--comment-button {
    margin: 0;
  }

  .block-favorite--update {
    margin-bottom: 0;
    padding: 4px 10px;
    border: 1px solid #d53100;
    background-color: #d53100;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
  }

  .block-favorite--cancel {
    margin-bottom: 0;
    padding: 4px 10px;
    border: 1px solid #d53100;
    background-color: #fff;
    color: #d53100;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
  }

  .block-favorite--delete-item {
    grid-column: 3/4;
    grid-row: 1/-1;
    align-self: center;
  }

  .block-favorite--pager-bottom .pager {
    margin: 0;
  }

  .block-favorite--pager-bottom .pager-total {
    margin-right: 30px;
  }

  .block-favorite--pager-bottom li {
    min-width: auto;
    padding: 20px;
    border: 1px solid #ccc;
  }

  .block-favorite--pager-bottom .pager-current {
    background-color: #fff;
    color: #000;
  }

  .block-favorite--pager-bottom .pager-current span {
    font-weight: normal;
  }

  /* ----ゲストお気に入り画面---- */

  .block-guest-favorite-synchronize-title {
    margin: 0 0 24px;
    padding: 12px 0;
    border-bottom: 1px solid #111;
    color: #111;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
  }

  .block-guest-favorite-synchronize-description {
    text-align: center;
  }

  .block-favorite--guest-form .block-favorite--items {
    margin-bottom: 0;
  }

  .block-favorite--guest-form .block-favorite--items > li:first-child {
    border-top: 1px solid #ccc;
  }

  .block-favorite--guest-form .block-favorite--items > li {
    width: auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-top: none;
    vertical-align: baseline;
  }

  .block-favorite--guest-form .block-favorite--favorite-goods {
    display: flex;
  }

  .block-favorite--guest-form .block-favorite--checkbox {
    display: flex;
    flex-basis: 39px;
    flex-shrink: 1;
    align-items: center;
    width: auto;
    padding: 0 10px 0 0;
    vertical-align: unset;
    -webkit-box-align: center;
  }

  .block-favorite--guest-form .block-favorite--image {
    display: block;
    flex-basis: 160px;
    flex-shrink: 1;
    width: auto;
    padding: 0;
    vertical-align: unset;
  }

  .block-favorite--guest-form .block-favorite--image figure {
    width: 142px;
    height: 142px;
  }

  .block-favorite--guest-form .block-favorite--name {
    font-weight: normal;
    word-break: normal;
  }

  .block-favorite--guest-form .block-favorite--name a {
    color: #000;
    text-decoration: underline;
    word-break: break-all;
  }

  .block-favorite--guest-form .block-favorite--price-items {
    text-align: left;
  }

  .block-favorite--guest-form .block-favorite--pager-bottom .pager {
    margin: 0;
  }

  .block-favorite--guest-form .block-favorite--pager-bottom .pager-total {
    margin-right: 30px;
  }

  .block-favorite--guest-form .block-favorite--pager-bottom li {
    min-width: auto;
    padding: 20px;
    border: 1px solid #ccc;
  }

  .block-favorite--guest-form .block-favorite--pager-bottom .pager-current {
    background-color: #fff;
    color: #000;
  }

  .block-favorite--guest-form .block-favorite--pager-bottom .pager-current span {
    font-weight: normal;
  }

  /* ----クーポンの確認画面---- */

  .block-coupon-list--header {
    margin: 0 0 20px;
  }

  /* ----店舗クーポン---- */

  .block-store-coupon-detail--header {
    margin: 0 0 20px;
  }

  .block-store-coupon-detail--is-customer {
    text-align: left;
  }

  .block-store-coupon-detail--detail {
    width: 70%;
    margin: auto;
  }

  .block-store-coupon-detail--bonus {
    text-align: right;
  }

  .block-store-coupon-detail--customer-name,
  .block-store-coupon-detail--coupon-code,
  .block-store-coupon-detail--coupon-code {
    width: 70%;
    margin: 10px auto;
  }

  /* ----お問い合わせ・お問い合わせ確認画面---- */

  .block-inquiry--header {
    margin: 0 0 20px;
  }

  .block-inquiry--message {
    padding: 0;
  }

  .block-inquiry--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-inquiry--inquiry-body > .form-label,
  .block-inquiry--inquiry-body > .constraint {
    align-items: unset;
    padding-top: 8px;
  }

  .block-inquiry--inquiry-body > .form-label > label,
  .block-inquiry--inquiry-body > .constraint > span,
  .block-inquiry--confirmation-inquiry-body > .form-label > label {
    margin: 0;
  }

  .block-inquiry--confirmation-inquiry-body > .form-label {
    align-items: unset;
    padding: 25px 10px 25px 25px;
  }

  .block-inquiry--confirmation-inquiry-body > .constraint {
    align-items: unset;
    padding: 25px 0;
  }

  .block-inquiry--confirmation-form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----お問い合わせ完了画面---- */

  .block-inquiry-completed--header {
    margin: 0 0 20px;
  }

  .block-inquiry-completed--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-inquiry-completed--message {
    padding-bottom: 0;
  }

  /* ----お問い合わせ確認画面（フリー）---- */

  .block-inquiry .block-topic-path {
    margin: 0 auto;
    padding: 15px 0;
    border-top: none;
    border-bottom: 1px solid #dedede;
    font-size: 12px;
  }

  .block-inquiry--customer-name {
    margin: 0;
    font-weight: normal;
  }

  .block-inquiry--confirmation-buttons {
    flex-direction: row-reverse;
  }

  /* ----店舗クーポン一覧---- */

  .block-store-coupon-list--header {
    margin: 0 0 20px;
  }

  .block-store-coupon-list p {
    margin-bottom: 10px;
  }

  .block-store-coupon-list--pager-bottom .pagination {
    margin-top: 4px;
  }

  .block-store-coupon-list--table td {
    padding: 0 25px;
  }

  .block-store-coupon-list--table .block-store-coupon-list--name {
    padding: 15px 25px 10px 25px;
  }

  .block-store-coupon-list--table .block-store-coupon-list--bonus {
    text-align: left;
  }

  .block-store-coupon-list--table .block-store-coupon-list--dt {
    padding-bottom: 15px;
    color: #777;
    text-align: left;
  }

  /* ----会員カード画面---- */

  .block-customer-card--header {
    margin: 0 0 20px;
  }

  /* ----生体認証端末登録画面---- */
  .block-member-biometric--authenticator-name {
    display: grid;
    grid-template-columns: 12fr 6fr 2fr;
    grid-template-rows: auto auto;
    column-gap: 15px;
  }

  .block-member-biometric--authenticator-name--btn-update {
    margin-top: 0.2rem;
    text-align: right;
    align-self: center;
    grid-column: 2 / 3;
    grid-row: 1 / -1;
  }

  .block-member-biometric--authenticator-name--value {
    word-break: break-all;
    overflow-wrap: break-word;
  }

  .block-member-biometric--authenticator-name--rgpd {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .block-member-biometric--authenticator-name--btn-remove {
    font-size: x-large;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    align-self: center;
    grid-column: 3 / 4;
    grid-row: 1 / -1;
  }
}

@media screen and (min-width: 1200px) {
  .page-menu .block-mypage {
    padding: 0;
  }

  .block-mypage-sidemenu--menu-btn {
    left: calc((100vw - 1200px) / 2);
  }
}

/* ----------------------------------
 /css/sys/responsive_block_goods.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ---- 商品詳細 ---- */

  .block-goods-detail,
  .block-goods-user-review,
  .block-accessory-list {
    margin: 10px 20px;
  }

  /* 左パネル */
  /* 商品画像 */
  .block-goods-detail .swiper-slider-main img,
  .block-goods-detail .swiper-slider-main .hacobune-app-container {
    width: 100%;
    max-width: 520px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .block-goods-detail-line-item {
    width: 100% !important;
  }

  /* 同一バリエーション画像表示 */
  .block-goods-detail .block-goods-detail--color-variation-goods-image .swiper-slider-main img {
    max-height: 606px;
  }

  .block-goods-detail .block-goods-detail--color-variation-goods-image .swiper-slider-main figure {
    text-align: center;
  }

  .block-goods-detail .block-goods-detail--color-variation-goods-image .block-goods-detail-line-item {
    z-index: 3 !important;
  }

  .block-goods-detail--color-variation-goods-thumbnail-form .swiper-slider-thumbnail {
    margin: 0 0 32px;
    overflow: hidden;
  }

  .block-goods-gallery ul li {
    flex-basis: auto;
    width: auto;
    min-width: auto;
    height: auto;
    min-height: auto;
  }

  .block-goods-gallery ul li figure {
    width: 128px;
    height: 128px;
  }

  /* 動画表示 */
  .block-goods--video-thumbnail::before {
    width: 50px;
    height: 50px;
  }

  .block-goods--video-thumbnail::after {
    border-width: 12px 0 12px 20px;
  }

  /* 右パネル */
  /* レフィル商品情報 */
  .block-refill-goods {
    margin: 0 0 12px;
    padding-top: 16px;
    border-top: 1px dashed #707070;
    border-bottom: 1px dashed #707070;
  }

  .block-refill-goods h3 {
    margin: 0 0 16px;
    padding: 0;
    border-bottom: none;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.666;
  }

  .block-refill-goods-item--image figure {
    width: 142px;
    height: 142px;
    background: #f5f5f5;
  }

  /* クーポン表示 */

  .block-goods-coupon {
    border-top: 1px dashed #707070;
  }

  .block-goods-coupon--title {
    font-size: 16px;
  }

  .block-goods-coupon-list {
    flex-direction: column;
    row-gap: 10px;
  }

  .block-goods-coupon-item {
    width: auto;
    min-width: auto;
  }

  .block-goods-coupon-item--benefit {
    font-size: 16px;
    font-weight: bold;
  }

  .block-goods-coupon-item--benefit-remarks {
    margin-left: 5px;
    font-size: 12px;
  }

  .block-goods-coupon-item--name {
    margin-top: 0;
    font-size: 14px;
    word-break: break-all;
  }

  .block-goods-coupon-item--term,
  .block-goods-coupon-item--condition {
    margin-top: 0;
    font-size: 12px;
  }

  .block-goods-coupon-item--term dd,
  .block-goods-coupon-item--condition dd {
    margin-left: 60px;
  }

  /* キャンペーン表示 */
  .block-goods-promotion {
    border-top: 1px dashed #707070;
  }

  .block-goods-promotion--title {
    font-size: 16px;
  }

  .block-goods-promotion-list {
    flex-direction: column;
    row-gap: 10px;
  }

  .block-goods-promotion-item {
    width: auto;
    min-width: auto;
  }

  .block-goods-promotion-item--benefit {
    display: flex;
    align-items: baseline;
    color: #f00;
    font-size: 16px;
    font-weight: bold;
  }

  .block-goods-promotion-item--benefit-remarks {
    margin-left: 5px;
    font-size: 12px;
  }

  .block-goods-promotion-item--name {
    margin-top: 0;
    font-size: 14px;
    word-break: break-all;
  }

  .block-goods-promotion-item--term,
  .block-goods-promotion-item--condition {
    margin-top: 0;
    font-size: 12px;
  }

  .block-goods-promotion-item--term dd,
  .block-goods-promotion-item--condition dd {
    margin-left: 60px;
  }

  /* 注文拡張・注文明細拡張 */
  .block-goods-sales-detail-append--item .form-control input[type="text"],
  .block-goods-sales-detail-append--item .form-control textarea {
    display: inline-block;
    width: 100%;
    max-width: unset;
  }

  /* セット商品 */
  .block-goods-set--header {
    margin: 0 0 10px 0;
  }

  /* 選べるセット商品 */
  .block-goods-pickup--goods-item {
    width: calc(20% - 8px);
  }

  .block-goods-pickup--variation-add-goods {
    width: 160px;
  }

  .block-goods-pickup--goods-qty-area .block-goods-pickup--goods-qty-button {
    font-size: 30px;
  }

  #block-goods-pickup--footer {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* 関連商品 */
  #goodsdetail_eventlist_title {
    margin: 0 0 24px;
    padding: 16px 0;
    border-bottom: 1px solid #111;
  }

  #goodsdetail_eventlist {
    margin: 0 20px;
    padding: 0 0 10px 0;
    position: relative;
    z-index: 0 !important;
  }

  #goodsdetail_eventlist .swiper-eventlist-content {
    margin: 0 35px;
    overflow: hidden;
    user-select: none;
  }

  #goodsdetail_eventlist .swiper-eventlist-prev {
    position: absolute;
    top: 92px;
    width: 35px;
    height: calc(100% - 92px);
    margin: 0;
    background: none;
    font-size: 0;
  }

  #goodsdetail_eventlist .swiper-eventlist-prev::before {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
    transform: rotate(-45deg);
    content: "";
  }

  #goodsdetail_eventlist .swiper-eventlist-next {
    position: absolute;
    top: 92px;
    right: 0;
    width: 35px;
    height: calc(100% - 92px);
    margin: 0;
    background: none;
    font-size: 0;
  }

  #goodsdetail_eventlist .swiper-eventlist-next::before {
    position: absolute;
    top: 50%;
    right: 13px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    content: "";
  }

  #goodsdetail_eventlist .swiper-button-disabled {
    display: none;
  }

  .block-eventlist-item {
    width: auto;
  }

  /* 関連ブログ */
  #goodsdetail_bloglist h2 {
    margin: 0 0 24px;
    padding: 16px 0;
    border-bottom: 1px solid #111;
  }

  #goodsdetail_bloglist {
    margin: 0 20px;
    padding: 0 0 10px 0;
    position: relative;
    z-index: 0 !important;
  }

  #goodsdetail_bloglist .swiper-bloglist-content {
    margin: 0 35px;
    overflow: hidden;
    user-select: none;
  }

  #goodsdetail_bloglist .swiper-bloglist-prev {
    position: absolute;
    top: 92px;
    width: 35px;
    height: calc(100% - 92px);
    margin: 0;
    background: none;
    font-size: 0;
  }

  #goodsdetail_bloglist .swiper-bloglist-prev::before {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
    transform: rotate(-45deg);
    content: "";
  }

  #goodsdetail_bloglist .swiper-bloglist-next {
    position: absolute;
    top: 92px;
    right: 0;
    width: 35px;
    height: calc(100% - 92px);
    margin: 0;
    background: none;
    font-size: 0;
  }

  #goodsdetail_bloglist .swiper-bloglist-next::before {
    position: absolute;
    top: 50%;
    right: 13px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
    content: "";
  }

  #goodsdetail_bloglist .swiper-button-disabled {
    display: none;
  }

  .block-bloglist-item {
    width: auto;
  }

  /* 商品詳細ユーザーレビュー */

  .block-goods-user-review h2 {
    margin: 0 0 32px;
    padding: 12px 0;
    border-bottom: 1px solid #111;
    background: none;
    font-size: 24px;
    font-weight: 500;
  }

  .block-goods-user-review--write-review {
    margin: 8px 0;
  }

  .block-goods-user-review .block-goods-user-review--info .block-goods-user-review--score,
  .block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item-score {
    display: flex;
    align-items: center;
    height: auto;
  }

  .block-goods-user-review .block-goods-user-review--info .block-goods-user-review--score dt,
  .block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item-score dt {
    display: block;
    font-weight: bold;
  }

  .block-goods-user-review .block-goods-user-review--info .block-goods-user-review--score dd,
  .block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item-score dd {
    display: block;
    width: auto;
    height: 100%;
  }

  .block-goods-user-review .block-goods-user-review--info .block-goods-user-review--score dd img,
  .block-goods-user-review .block-goods-user-review--list .block-goods-user-review--item-score dd img {
    display: block;
    position: static;
    width: auto;
    height: 21px;
  }

  /* ---- 商品一覧 ---- */

  .block-goods-list-naviframe {
    text-align: right;
  }

  /* ---- イベント ---- */

  .block-event-page {
    margin: 0 10px;
  }

  .block-event-page--goods {
    display: flex;
    flex-wrap: wrap;
  }

  .block-event-page--goods > * {
    width: 100%;
  }

  .block-event-page--goods .block-goods-list--display-style-items {
    flex-grow: 1;
    flex-shrink: 1;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  .block-event-page--goods .block-goods-list--sort-order-items {
    flex-grow: 0;
    flex-shrink: 0;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  /* ---- カテゴリ ---- */

  .block-category-list {
    margin: 0 10px;
  }

  .block-category-list--goods {
    display: flex;
    flex-wrap: wrap;
  }

  .block-category-list--goods > * {
    width: 100%;
  }

  .block-category-list--goods .block-goods-list--display-style-items {
    flex-grow: 1;
    flex-shrink: 1;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  .block-category-list--goods .block-goods-list--sort-order-items {
    flex-grow: 0;
    flex-shrink: 0;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  /* カテゴリツリー */
  .block-category-tree {
    border: none;
  }

  .block-category-style-g--item {
    width: 100%;
    margin: -1px 0 0;
    border: none;
  }

  .block-category-style-g--item .block-category-style-g--item {
    border-top: 1px solid #eee;
  }

  .block-category-style-g--item .block-category-style-g--item:first-of-type {
    border: none;
  }

  /* 第1階層 */
  .block-category-style-g--items-0 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    align-items: start;
    width: 100%;
    column-gap: 20px;
    border-top: none;
  }

  .block-category-style-g--items-0 > .block-category-style-g--item {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }

  /* 第2階層以降 */
  .block-category-style-g--items-1,
  .block-category-style-g--items-2,
  .block-category-style-g--items-3 {
    width: auto;
    border: none;
    border-top: 1px solid #eee;
  }

  .block-category-style-g--items-1 .block-category-style-g--item {
    width: 100%;
    margin: 0;
  }
  .block-category-style-g--items-1 > .block-category-style-g--item-container,
  .block-category-style-g--items-2 > .block-category-style-g--item-container,
  .block-category-style-g--items-3 > .block-category-style-g--item-container {
    border-top: 1px solid #eee;
  }

  .page-goods .block-goods-detail .block-goods-detail-line-item {
    width: 100% !important;
  }

  .block-goods-detail--color-variation-goods-thumbnail-form .swiper-slider-thumbnail {
    margin: 0 0 32px;
    overflow: hidden;
  }

  .block-goods-gallery ul li {
    flex-basis: auto;
    width: auto;
    min-width: auto;
    height: auto;
    min-height: auto;
  }

  .block-goods-gallery ul li figure {
    width: 128px;
    height: 128px;
  }

  .block-goods--video-thumbnail::before {
    width: 50px;
    height: 50px;
  }

  .block-goods--video-thumbnail::after {
    border-width: 12px 0 12px 20px;
  }

  .block-goods-detail .swiper-slider-main {
    max-height: 520px;
  }

  .block-goods-detail .swiper-slider-main img {
    width: 100%;
    max-width: 520px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  /* ---- ジャンル ---- */

  .block-genre-page {
    margin: 0 10px;
  }

  .block-genre-page--goods {
    display: flex;
    flex-wrap: wrap;
  }

  .block-genre-page--goods > * {
    width: 100%;
  }

  .block-genre-page--goods .block-goods-list--display-style-items {
    flex-grow: 1;
    flex-shrink: 1;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  .block-genre-page--goods .block-goods-list--sort-order-items {
    flex-grow: 0;
    flex-shrink: 0;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  /* ジャンルツリー */
  .block-genre-tree {
    border: none;
  }

  .block-genre-style--item {
    width: 100%;
    margin: -1px 0 0;
    border: none;
  }

  .block-genre-style--item .block-genre-style--item {
    border-top: 1px solid #eee;
  }

  .block-genre-style--item .block-genre-style--item:first-of-type {
    border: none;
  }

  /* 第1階層 */
  .block-genre-style--items-0 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    align-items: start;
    width: 100%;
    column-gap: 20px;
    border-top: none;
  }

  .block-genre-style--items-0 > .block-genre-style--item {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }

  /* 第2階層以降 */
  .block-genre-style--items-1,
  .block-genre-style--items-2,
  .block-genre-style--items-3 {
    width: auto;
    border: none;
    border-top: 1px solid #eee;
  }

  .block-genre-style--items-1 .block-genre-style--item {
    width: 100%;
    margin: 0;
  }

  .block-genre-style--items-1 > .block-genre-style--item-container,
  .block-genre-style--items-2 > .block-genre-style--item-container,
  .block-genre-style--items-3 > .block-genre-style--item-container {
    border-top: 1px solid #eee;
  }

  /* ----商品レビュー・商品レビュー確認---- */

  .block-user-review {
    display: flex;
    flex-direction: column;
  }

  .block-user-review--header {
    margin: 0 0 20px;
  }

  .block-user-review--item-header {
    margin: 0 0 24px;
  }

  .block-user-review--message {
    order: 2;
  }

  .block-user-review--message a {
    text-decoration: none;
  }

  @media (hover: hover) {
    .block-user-review--message a:hover {
      text-decoration: underline;
    }
  }

  .block-user-review--review-body .form-label,
  .block-user-review--review-body .constraint {
    align-items: unset;
    padding-top: 8px;
  }

  .block-user-review--form {
    order: 3;
  }

  .block-user-review--review-confirmation {
    order: 1;
  }

  .block-user-review .block-user-review--review-item {
    border-top: none;
  }

  .block-user-review--review-body .form-control {
    margin: 0;
    padding-top: 10px;
  }

  .block-user-review--review-header {
    margin-bottom: 24px;
    font-size: 18px;
  }

  .block-user-review--score .form-label {
    padding-top: 8px;
  }

  .block-user-review--score .form-control {
    margin: 0;
    padding-top: 10px;
  }

  .block-user-review--evaluation {
    display: flex;
    flex-direction: column-reverse;
  }

  .block-user-review--evaluation-score dt {
    display: none;
  }

  .block-user-review--evaluation-score .score_starimg_ {
    width: 11.8%;
  }

  .block-user-review--review-comment {
    border-bottom: none;
  }

  .block-user-review--evaluation-message {
    margin-top: 0;
  }

  .block-user-review--review-item .action-buttons {
    flex-direction: row-reverse;
    margin: 10px 0 0;
  }

  .block-user-review--review-contribution-conditions {
    order: 6;
  }

  .block-user-review--review-contribution-conditions > h3 {
    padding: 40px 0 10px;
  }

  .block-user-review--review-contribution-condition-body {
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0;

    margin-inline-end: 0;
  }

  .block-user-review .action-buttons {
    order: 5;
  }

  /* ----商品レビュー完了---- */

  .block-user-review-completed--header {
    margin: 0 0 20px;
  }

  .block-user-review-completed--message-header {
    margin: 0 0 24px;
  }

  /* ---- 詳細検索 ---- */

  .block-search-goods {
    display: flex;
    flex-wrap: wrap;
    margin: 0 10px;
  }

  .block-search-goods > * {
    width: 100%;
  }

  .block-search-goods .block-goods-list--display-style-items {
    flex-grow: 1;
    flex-shrink: 1;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  .block-search-goods .block-goods-list--sort-order-items {
    flex-grow: 0;
    flex-shrink: 0;
    width: unset;
    min-width: 50%;
    max-width: 100%;
    border-bottom: 1px solid #dedede;
  }

  .block-search-goods .block-search-goods--release-dt .form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .block-search-goods .block-search-goods--to-dt {
    margin-top: 0;
  }

  /* ---- アイコン ---- */

  .block-icon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .block-icon > span {
    display: block;
    margin-right: 0;
  }

  .block-icon > span + span {
    margin-left: 0;
  }

  /* ----商品一覧画面：サムネイル：block-thumbnail-t---- */

  .block-thumbnail-t .block-thumbnail-t--items {
    display: grid;
    grid-template-columns: repeat(auto-fill, 200px);
    justify-content: center;
    margin-bottom: 50px;
    padding: 0;
    column-gap: 40px;
    row-gap: 24px;
    font-size: unset;
  }

  .block-thumbnail-t .block-thumbnail-t--item {
    display: inline-block;
    width: 200px;
    margin: unset;
  }

  .block-thumbnail-t--goods-image figure {
    background: #f5f5f5;
  }

  .block-thumbnail-t--goods-name {
    font-weight: unset;
  }

  .block-thumbnail-t--item .block-thumbnail-t--price {
    font-size: inherit;
    font-weight: unset;
  }

  .block-thumbnail-t--item .price {
    font-weight: bold;
  }

  /* ----商品一覧画面：ピックアップ：block-pickup-list-p---- */

  .block-pickup-list-p .block-pickup-list-p--items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    column-gap: 40px;
  }

  /* ----商品一覧画面：ランキング：block-ranking-r---- */

  .block-ranking-r--items {
    display: grid;
    grid-template-columns: repeat(auto-fill, 200px);
    justify-content: center;
    padding: 0;
    column-gap: 40px;
    row-gap: 24px;
  }

  .block-ranking-r--item {
    display: inline-block;
    width: 200px;
    margin: unset;
    padding: unset;
  }

  /* ----商品一覧画面：サムネイル(閲覧履歴)：block-thumbnail-h---- */

  .block-thumbnail-h .block-thumbnail-h--items {
    justify-content: center;
    gap: 0 30px;
    padding: unset;
  }

  .block-thumbnail-h .block-thumbnail-h--item {
    width: 120px;
    min-width: unset;
    height: 120px;
    margin-right: unset;
  }

  /* ----商品一覧画面：買い物かご：block-cart-i---- */

  .block-cart-i--items {
    display: grid;
    grid-template-columns: repeat(auto-fill, 210px);
    justify-content: center;
    gap: 60px 32px;
    margin-bottom: 60px;
    padding: 10px 0 0;
  }

  .block-cart-i--items li {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
  }

  .block-cart-i--goods-description {
    margin-top: 20px;
    font-size: unset;
  }

  /* ----商品一覧画面：商品詳細：block-goods-detail-j---- */

  .block-goods-detail-j .block-goods-detail-j--items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    column-gap: 40px;
  }

  .block-goods-detail-j--items .block-goods-detail-j--goods-description {
    display: flex;
    flex-direction: column;
  }

  .block-goods-detail-j--custom-order {
    margin-top: 10px;
    margin-bottom: 0;
  }

  .block-goods-detail-j--cart-btn {
    width: 200px;
    margin-top: auto;
  }

  /* ----商品一覧画面：ブランド画面：block-goods-list-x---- */

  .block-goods-list-x--items {
    display: grid;
    grid-template-columns: repeat(auto-fill, 210px);
    justify-content: center;
    padding: 0;
    column-gap: 32px;
    border: none;
  }

  .block-goods-list-x--items li {
    width: auto;
    padding: 0;
  }

  /* ----商品一覧画面：カート画面：block-goods-list-c---- */

  .block-goods-list-c--items {
    display: grid;
    grid-template-columns: repeat(auto-fill, 180px);
    justify-content: center;
    padding: 0;
    column-gap: 20px;
    border: none;
  }

  .block-goods-list-c--items li {
    width: auto;
    padding: 0;
  }

  /* ----取扱店舗一覧画面---- */
  .block-store-stock-name--header {
    margin: 0 0 20px;
    border-bottom: none;
  }

  .block-store-stock-goods {
    margin-bottom: 0;
  }

  .block-store-stock-goods-img-l {
    margin-bottom: 0;
  }

  .block-store-stock-goods-img-l img {
    width: 100%;
  }

  .block-store-stock--goods-detail {
    margin-bottom: 0;
    padding: 3px;
  }

  .block-store-stock--header {
    margin: 0 0 24px;
  }

  .block-store-stock--message {
    margin: 10px 230px;
    padding: 0;
    border: none;
  }

  .block-store-stock--div-name {
    margin: 5px 230px;
    font-weight: bold;
  }

  .block-store-stock--item a {
    text-decoration: unset;
  }

  .block-store-stock--item a:hover {
    text-decoration: underline;
  }

  .block-store-stock--list {
    margin: 0 230px;
  }

  .block-store-stock--list dd {
    width: 50%;
  }

  /* ----ページャー---- */
  .block-goods-list-naviframe--bottom {
    margin-bottom: 0;
    padding: 21px 0 56px;
  }

  /* ----商品詳細画面：商品切り替えボタン---- */
  .btn-switch-goods {
    width: 48%;
    box-sizing: border-box;
    padding: 15px;
    font-size: 13px;
    margin: 1%;
    margin-top: 10px;
    border: 2px solid #dedede;
    color: #000;
    background-color: #fff;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_order.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----注文方法指定画面---- */

  .page-method {
    margin-bottom: 0 !important;
  }

  .block-order-method h2 {
    margin: 0 0 10px 0;
    padding: 10px 0;
    color: #333;
    font-size: 20px;
    font-weight: bold;
  }

  .block-order-method h3 {
    margin: 0 0 12px 0;
    color: #333;
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-method address {
    font-size: 12px;
    line-height: 1.4;
  }

  .block-order-method dt {
    font-weight: bold;
  }

  .block-order-method--container {
    display: grid;
    grid-template-columns: 1fr 300px;
    column-gap: 2%;
  }

  .block-order-method--procedure {
    position: sticky;
    top: 82px;
    bottom: unset;
    left: unset;
    width: auto;
    margin-top: calc(20px + 8px);
    padding: 4px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
    background: transparent;
  }

  .block-order-method--procedure-container-wrapper {
    padding: 14px;
    background: #fffce4;
  }

  .block-order-method--orderer-detail {
    padding: 20px;
  }

  .block-order-method--sales-append-container {
    padding: 0 10px 0 10px;
  }

  .block-order-method--payment-content,
  .block-order-method--delivery-datetime-content,
  .block-order-method--goods-content,
  .block-order-method--dest-content,
  .block-order-method--host-content,
  .block-order-method--host-confirmation {
    margin: 0 0 20px 0;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-method--dest-item,
  .block-order-method--dest-add {
    padding: 10px 0;
  }

  .block-order-method--promotion,
  .block-order-method--point-use,
  .block-order-method--payment-method,
  .block-order-method--coupon,
  .block-order-method--delivery-service,
  .block-order-method--date-spec,
  .block-order-method--time-spec,
  .block-order-method--regular-content,
  .block-regular-cycle--deliv_date {
    padding: 0 0 10px 0;
    border: none;
  }

  #method_point,
  #method_promotion,
  #method_coupon,
  #method_pay,
  #method_date,
  #method_salesappend_ {
    scroll-margin-top: 72px;
  }

  /* ご注文主 */
  .block-order-method--host-content .form-group,
  .block-order-method--dest-input .form-group {
    padding: 0;
  }

  .block-order-method--name .form-control,
  .block-order-method--kana .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .block-order-method--name .block-order-method--value-label,
  .block-order-method--kana .block-order-method--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-order-method--name input,
  .block-order-method--kana input {
    max-width: 200px;
  }

  /* お届け先 */
  .block-order-method--dest-item-nickname {
    font-weight: bold;
  }

  .block-order-method--dest-title-salesinclude {
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-method--dest-list address {
    margin: 0 0 0 25px;
  }

  /* お支払い情報 */
  .block-order-method--current-point {
    margin: 0 0 10px 0;
  }

  .block-order-method--current-point-num {
    font-weight: bold;
  }

  .block-order-method--point-use-select {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    column-gap: 33px;
    border: 1px solid var(--responsive-sys-border-color-gray-secondary);
    background-color: #f8f8f8;
  }

  .block-order-method--point-use-select > li > label {
    margin: 0;
  }

  .block-order-method--coupon-content > input {
    margin: 0 14px 0 0;
  }

  /* 配送情報 */
  .block-order-method--date-spec,
  .block-order-method--time-spec {
    display: grid;
    grid-template-columns: 8em 1fr;
  }

  .block-order-method--date-spec.hidden,
  .block-order-method--time-spec-content.hidden {
    display: none;
  }

  .block-order-method--date-spec-title,
  .block-order-method--time-spec-title {
    grid-column: 1 / 2;
  }

  .block-order-method--date-spec-content,
  .block-order-method--time-spec-content {
    display: contents;
  }

  .block-order-method--date-spec-content > p,
  .block-order-method--time-spec-content > p {
    grid-column: 2 / 3;
  }

  .block-order-method--date-spec-content .help-block {
    grid-column: 2 / 3;
  }

  .block-order-method--date-spec-content .form-error,
  .block-order-method--time-spec-content .form-error {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
  }

  .block-order-method--next input {
    padding: 10px;
  }

  /* 商品情報 */
  .block-order-method--goods-list li {
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #dfdfdf;
  }

  .block-order-method--goods-list li:last-child {
    margin: 0;
    padding: 0;
    border-bottom: none;
  }

  .block-order-method--goods-item-image figure {
    width: 200px;
    height: 200px;
  }

  /* ラッピング・メッセージカード */
  .block-order-method--wrapping-list,
  .block-order-method--message-card-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .block-order-method--wrapping-item,
  .block-order-method--message-card-item {
    display: inline-block;
    margin: 0 10px 10px 0;
    vertical-align: top;
    width: 150px;
  }

  .block-order-method--wrapping-price,
  .block-order-method--message-card-price {
    display: block;
  }

  .block-order-method--message-card-input dt {
    float: left;
  }

  .block-order-method--message-card-input dd {
    margin-left: 10em;
  }

  .block-order-method--message-card-input-textarea {
    width: 90%;
  }

  .block-order-estimate--rakutenpay-commit-btn-disabled {
    width: 100%;
    margin: 5px 0 5px 0;
    padding: 15px 0 15px 0;
    font-size: 18px;
    font-weight: bold;
    display: none;
  }

  /* 注文拡張・注文明細拡張 */
  .block-order-method--sales-append-content .form-control input[type="text"],
  .block-order-method--sales-append-content .form-control select,
  .block-order-method--sales-detail-append-item .form-control input[type="text"],
  .block-order-method--sales-detail-append-item .form-control select {
    display: inline-block;
    width: 100%;
  }

  .block-order-method--sales-append-content .form-control select[name^="yy_"],
  .block-order-method--sales-append-content .form-control select[name^="mm_"],
  .block-order-method--sales-append-content .form-control select[name^="dd_"] {
    width: auto;
  }

  /* 定期明細追加 */
  .block-order-method--regular-add-list-detail {
    padding: 20px 10px;
    border-top: 1px solid var(--responsive-sys-border-color-gray-secondary);
    border-right: 1px solid var(--responsive-sys-border-color-gray-secondary);
    border-left: 1px solid var(--responsive-sys-border-color-gray-secondary);
    background: #fff;
  }

  .block-order-method--regular-add-list--list {
    display: grid;
    grid-template-columns: minmax(30%, 250px) minmax(40%, 335px);
    grid-template-rows: 1.5em auto;
    align-content: start;
    column-gap: 5px;
  }

  .block-order-method--regular-add-list--list dt {
    grid-row: 1 / 2;
  }

  .block-order-method--regular-add-list--list dd:first-of-type {
    grid-row: 2 / 3;
    padding: 0 0 0 25px;
  }

  .block-order-method--regular-add-list--list .block-order-method--regular-add-info {
    grid-row: 1 / 3;
    padding: 0;
    font-weight: bold;
  }

  /* ---- 商品購入規約 ---- */
  .block-goods-agreement .action-buttons {
    flex-direction: row-reverse;
  }

  /* ---- 注文内容確認(通常フロー) ---- */

  /* 画面内共通設定 */

  .block-order-estimate--container {
    display: grid;
    grid-template-columns: 1fr 300px;
    grid-template-rows: max-content auto;
    column-gap: 1%;
    row-gap: 20px;
  }

  .block-order-estimate--agreebody {
    font-size: inherit;
  }

  /* 注文内容確認右サイドエリア */

  .block-order-estimate--side-area {
    display: block;
    grid-column: 2/3;
    grid-row: 1/-1;
  }

  .block-order-estimate--procedure {
    display: block;
    position: sticky;
    top: 82px;
    bottom: unset;
    left: unset;
    width: unset;
    padding: 4px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-estimate--procedure-container {
    display: block;
    padding: 14px;
    background: #fffce4;
  }

  /* レイアウト詳細設定 */

  .block-order-estimate--commit {
    margin-bottom: 10px;
  }

  .block-order-estimate--commit .action-buttons {
    margin: 0;
  }

  .block-order-estimate--commit .action-buttons .action {
    width: 100%;
  }

  .block-order-estimate--commit .action-buttons .action .btn {
    width: 100%;
    font-size: 20px;
    font-weight: bold;
  }

  .block-order-estimate--commit .block-order-estimate--return-agree {
    width: 100%;
    margin: 5px 0 5px 0;
    font-weight: normal;
  }

  .block-order-estimate--entry {
    padding: 0 10px;
  }

  .block-order-estimate--entry-customer {
    padding: 10px 0 0;
    border: none;
  }

  .block-order-estimate--price-items {
    display: flex;
    flex-direction: column;
  }

  .block-order-estimate--total {
    order: -3;
  }

  .block-order-estimate--point-add {
    order: -2;
  }

  .block-order-estimate--point-add-message {
    order: -1;
    padding-bottom: 10px;
    border-bottom: solid 1px var(--responsive-sys-border-color-gray-secondary);
    font-size: 11px;
  }

  .block-order-estimate--price-items {
    margin: 10px 0 0 0;
    padding: 0;
    color: #555;
    font-size: 12px;
  }

  .block-order-estimate--price-items dt,
  .block-order-estimate--price-items dd {
    width: auto;
    padding: 0;
  }

  .block-order-estimate--price-items dl {
    margin-bottom: 5px;
  }

  .block-order-estimate--total {
    padding: 8px;
    background: #fff;
  }

  .block-order-estimate--total dt {
    font-size: 12px;
    font-weight: normal;
  }

  .block-order-estimate--total dt,
  .block-order-estimate--total dd {
    padding: 0;
    border: none;
  }

  .block-order-estimate--total-price {
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-estimate--total-price::after {
    font-size: 10px;
  }

  .block-order-estimate--summary-content {
    border: none;
    background: transparent;
  }

  .block-order-estimate--point-add-num {
    font-size: 16px;
  }

  .block-order-estimate--promotion-novelty-content {
    margin: 10px 0;
  }

  .block-order-estimate--side-area .fieldset-vertical div.block-order-estimate--mailnews {
    flex-direction: column;
    padding: 0;
    border: 0;
  }

  /* ノベルティエリア */

  .block-order-estimate--novelty {
    grid-column: 1/2;
    grid-row: 1/2;
    flex-grow: 1;
    order: 5;
    padding: 20px 20px 0 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-estimate--novelty-content {
    padding: 10px 10px 20px;
    border: none;
  }

  .block-order-estimate--novelty .block-order-estimate--novelty-title {
    margin: 0;
    padding: 4px 0;
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-estimate--novelty-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 10px;
  }

  /* 注文内容確認内容 */

  .block-order-estimate--content {
    display: flex;
    grid-column: 1/2;
    flex-wrap: wrap;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-estimate--content > div {
    width: 100%;
  }

  /* ブロック設定 */

  .block-order-estimate--orderer-content,
  .block-order-estimate--dest-content,
  .block-order-estimate--discount-info .block-order-estimate--point,
  .block-order-estimate--discount-info .block-order-estimate--promotion-code,
  .block-order-estimate--discount-info .block-order-estimate--coupon {
    padding: 0 0 20px 0;
    border: none;
  }

  .block-order-estimate--date-spec,
  .block-order-estimate--time-spec {
    padding: 10px 0;
  }

  .block-order-estimate--discount-info .block-order-estimate--promotion {
    padding: 0 0 20px 0;
  }

  .block-order-estimate--date-spec-content,
  .block-order-estimate--method-pay-content {
    border: none;
  }

  .block-order-estimate--comment-content {
    padding: 20px;
  }

  .block-order-estimate--method-pay-content,
  .block-order-estimate--regular-cycle-content {
    padding-right: 0;
    padding-left: 0;
    border: none;
  }

  .block-order-estimate address,
  .block-order-estimate--promotion-code p,
  .block-order-estimate--promotion p {
    padding-right: 5px;
  }

  /* ボタン位置設定 */

  .block-order-estimate--orderer-content .block-order-estimate--change-btn {
    top: -38px;
  }

  .block-order-estimate--discount-info .block-order-estimate--point .block-order-estimate--change-btn,
  .block-order-estimate--discount-info .block-order-estimate--promotion-code .block-order-estimate--change-btn,
  .block-order-estimate--discount-info .block-order-estimate--coupon .block-order-estimate--change-btn {
    top: 4px;
  }

  .block-order-estimate--dest .block-order-estimate--salesinclude-btn,
  .block-order-estimate--dest .block-order--amazonpay-btn {
    position: static;
  }

  .block-order-estimate--dest .block-order-estimate--change-btn {
    position: static;
    height: 31px;
  }

  .block-order-estimate--method-pay-content .block-order-estimate--change-btn {
    top: 14px;
  }

  .block-order-estimate--regular-cycle-confirmation .block-order-estimate--change-btn {
    top: 22px;
  }

  /* タイトル設定 */

  .block-order-estimate--dest .block-order-estimate--dest-title,
  .block-order-estimate--orderer .block-order-estimate--orderer-title,
  .block-order-estimate--method h3,
  .block-order-estimate--discount-info .block-order-estimate--point h3,
  .block-order-estimate--discount-info .block-order-estimate--promotion-code h3,
  .block-order-estimate--discount-info .block-order-estimate--promotion h3,
  .block-order-estimate--discount-info .block-order-estimate--coupon h3,
  .block-order-estimate--date-spec h3,
  .block-order-estimate--time-spec h3 {
    margin: 0;
    padding: 4px 90px 12px 0;
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-estimate--dest .block-order-estimate--dest-title {
    padding: 4px 0 12px;
  }

  .block-order-estimate--date-spec-confirmation .block-order-estimate--date-spec-title,
  .block-order-estimate--goods .block-order-estimate--goods-title,
  .block-order-estimate--amazonpay .block-order-estimate--amazonpay-loginheader,
  .block-order-estimate--comment .block-order-estimate--comment-title {
    margin: 10px 0;
    padding: 12px 0;
    border-bottom: 1px solid #111;
    font-size: 24px;
    font-weight: 500;
  }

  .block-order-estimate--regular-cycle-confirmation .block-order-estimate--regular-cycle-title {
    margin: 22px 0 0;
    padding: 0;
    font-size: 24px;
    font-weight: 500;
  }

  .block-order-estimate--confirmation-title h3,
  .block-order-estimate--date-spec h3,
  .block-order-estimate--time-spec h3 {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* レイアウト詳細設定 */

  /* お届け先設定 */

  .block-order-estimate--dest {
    display: grid;
    grid-template-columns: auto auto;
  }

  .block-order-estimate--dest .block-order-estimate--dest-title {
    grid-column: 1/2;
    grid-row: 1/2;
  }

  .block-order-estimate--dest-content {
    display: contents;
  }

  .block-order-estimate--dest-content > * {
    grid-column: 1/-1;
  }

  .block-order-estimate--dest-btn-content {
    display: flex;
    grid-column: 2/3;
    grid-row: 1/2;
    flex-wrap: wrap;
    align-items: start;
    justify-content: end;
    gap: 5px;
    padding: 0 10px 10px 0;
  }

  /* ご注文者様 */

  .block-order-estimate--orderer-mail {
    word-wrap: break-word;
  }

  .block-order-estimate--dest-name {
    padding-right: 90px;
  }

  .block-order-estimate address {
    font-size: 12px;
    line-height: 1.4;
    word-wrap: break-word;
  }

  /* ディスカウント情報 */

  .block-order-estimate--discount-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border: none;
  }

  .block-order-estimate--promotion-code-message {
    padding: 0 0 20px 0;
  }

  .block-order-estimate--coupon-apply-message {
    padding-left: 0;
  }

  /* 支払情報 */

  .block-order-estimate--pay-input {
    margin: 10px 0;
  }

  .block-order-estimate--pay-selectcard .form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }

  .block-order-estimate--pay-detail .form-group {
    border-top: none;
    background-color: #f9f9f9;
  }

  .block-order-estimate--method-pay-content .form-label {
    flex-basis: 25%;
  }

  .block-order-estimate--creditcard-newaddress-message,
  .block-order-estimate--creditcard-forceinput-message {
    padding-top: 0;
  }

  /* AmazonPay紐づけ */

  .block-order-estimate--amazonpay-loginform .block-order-estimate--amazonpay-register {
    border: none;
  }

  /* 定期購入お届けサイクル */

  .block-order-estimate--regular-cycle {
    width: 80%;
  }

  .block-order-estimate--regular-cycle > li {
    padding: 0;
  }

  .block-order-estimate--regular-cycle > li > span {
    padding: 10px 10px;
  }

  .block-order-estimate--regular-cycle > li > span:first-of-type {
    width: 29%;
    background-color: #999;
    color: white;
    font-weight: bold;
  }

  .block-order-estimate--regular-cycle > li > span:last-of-type {
    text-align: left;
  }

  .block-order-estimate--prev-expected-dt {
    margin-top: 15px;
    padding: 5px;
  }

  .block-order-estimate--next-expected-dt {
    padding: 0 5px;
  }

  .block-order-estimate--prev-expected-dt > span,
  .block-order-estimate--next-expected-dt > span {
    width: unset;
    margin-right: 10px;
  }

  /* 配送情報 */

  .block-order-estimate--date-spec-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .block-order-estimate--regular-add-btn {
    right: auto;
    left: 10px;
    margin-top: 5px;
  }

  /* ご注文商品 */

  .block-order-estimate--goods-content {
    padding: 20px;
    border: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .block-order-estimate--goods .block-icon {
    margin: 0;
  }

  .block-order-estimate--goods-list .block-order-estimate--goods-item {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border: none;
    border-bottom: 1px solid #dfdfdf;
  }

  .block-order-estimate--goods-item .block-order-estimate--goods-item-image {
    flex-basis: 25%;
    min-width: 145px;
  }

  .block-order-estimate--goods-item .block-order-estimate--goods-item-image figure {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }

  .block-order-estimate--goods-item .block-order-estimate--goods-description {
    display: flex;
    flex-basis: 75%;
    flex-wrap: wrap;
    align-content: flex-start;
    max-width: calc(100% - 145px);
    column-gap: 5px;
  }

  .block-order-estimate--goods-description > div,
  .block-order-estimate--goods-description > span,
  .block-order-estimate--goods-description > p {
    width: 100%;
  }

  .block-order-estimate--goods-description .block-icon {
    order: -3;
  }

  .block-order-estimate--goods-description .block-order-estimate--goods-name {
    flex-grow: 1;
    order: -2;
    width: auto;
  }

  .block-order-estimate--goods-description .block-order-estimate--goods-price {
    flex-grow: 1;
    order: -1;
    width: auto;
    text-align: right;
  }

  .block-order-estimate--goods-price--refill--price-title,
  .block-order-estimate--goods-price--refill--refill-price-title,
  .block-order-estimate--goods-price {
    white-space: nowrap;
  }

  .block-order-estimate--goods-item-sales-period,
  .block-order-estimate--goods-refill-info--goods-sales-period {
    display: flex;
    flex-wrap: wrap;
  }

  .block-order-estimate--goods-refill-info {
    width: 100%;
    margin-bottom: 16px;
    padding-left: 44px;
  }

  .block-order-estimate--goods-refill-info--goods-description {
    font-size: inherit;

  }

  .block-order-estimate--goods-refill-info--goods-image {
    width: 25%;
  }

  .block-order-estimate--goods-refill-info--goods-image > figure {
    width: auto;
    min-width: 120px;
    max-width: 150px;
    height: auto;
    aspect-ratio: 1/1;
  }

  .block-order-estimate--goods-refill-info--goods-image > figure > img {
    width: 80%;
    height: auto;
    aspect-ratio: 1/1;
  }

  /* ラッピング・メッセージカード */
  .block-order-estimate--wrapping-content,
  .block-order-estimate--message-card-content {
    padding: 20px;
    border: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .block-order-estimate--wrapping-item,
  .block-order-estimate--message-card-item {
    display: grid;
    grid-template-columns: 200px auto;
    padding: 0;
  }

  .block-order-estimate--wrapping-title-frame,
  .block-order-estimate--message-card-title-frame {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    justify-self: left;
    margin-bottom: 20px;
  }

  .block-order-estimate--wrapping-change-frame,
  .block-order-estimate--message-card-change-frame {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 1;
    justify-self: right;
    margin-bottom: 20px;
  }

  .block-order-estimate--wrapping-image-frame,
  .block-order-estimate--message-card-image-frame {
    grid-column-start: 1;
    grid-row-start: 2;
    grid-row-end: 4;
    justify-self: center;
  }

  .block-order-estimate--wrapping-info-frame,
  .block-order-estimate--message-card-info-frame {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
  }

  .block-order-estimate--message-card-input-frame {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 3;
  }

  .block-order-estimate--wrapping-change-frame .block-order-estimate--change-btn,
  .block-order-estimate--message-card-change-frame .block-order-estimate--change-btn {
    margin: 0;
  }

  .block-order-estimate--wrapping-image,
  .block-order-estimate--message-card-image {
    background: #f5f5f5;
    width: 200px;
    height: 200px;
  }

  .block-order-estimate--wrapping-info {
    float: left;
  }

  .block-order-estimate--wrapping-price,
  .block-order-estimate--message-card-price {
    text-align: right;
    float: right;
  }

  /* その他 */

  .block-order-estimate--sales-append {
    padding: 20px;
  }

  .block-order-estimate--sales-append .block-order-estimate--confirmation-title {
    padding-left: 0;
  }

  .block-order-estimate--sales-append-content {
    padding: 0;
  }

  .block-order-estimate--sales-append-list tbody th {
    width: 30%;
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-secondary);
    background-color: #999;
    vertical-align: top;
  }

  .block-order-estimate--goods-item-monthly_hampukai_message {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.6;
    margin-left: 15px;
  }

  /* コンテンツの表示場所設定 */

  .block-order-estimate--content .block-order-estimate--dest {
    order: -15;
    width: 50%;
  }

  .block-order-estimate--content .block-order-estimate--orderer {
    order: -10;
    width: 50%;
  }

  .block-order-estimate--discount-info {
    order: -5;
  }

  .block-order-estimate--content .block-order-estimate--regular-cycle-confirmation {
    order: 75;
  }

  .block-order-estimate--content .block-order-estimate--date-spec-confirmation {
    order: 80;
  }

  .block-order-estimate--content .block-order-estimate--goods {
    order: 85;
  }

  .block-order-estimate--sales-append {
    order: 90;
  }

  .block-order-estimate--content .block-order-estimate--amazonpay {
    order: 95;
  }

  .block-order-estimate--content .block-order-estimate--comment {
    order: 100;
  }

  /* お届け先の変更(ダイアログ) */

  .block-order-estimate--address-frame {
    max-width: 768px;
    margin-right: auto;
    margin-left: auto;
  }

  .block-order-estimate--dest-address-container {
    padding: 18px 18px 36px 18px;
  }

  .block-order-estimate--dest-address-container > h2 {
    margin: -18px -18px 18px -18px;
  }

  .block-order-estimate--dest-address-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 18px;
  }

  .block-order-estimate--dest-address-list > div {
    margin: 0;
  }

  .block-order-estimate--dest-address-item-register-form {
    grid-column: 1 / -1;
  }

  .block-order-estimate--dest-address-item-register-input-form .form-group {
    padding: 0;
  }

  .block-order-estimate--dest-address-item-register-input-form .action-buttons {
    text-align: center;
  }

  .block-order-estimate--dest-address-item-register-input-form .action-buttons .action {
    display: inline;
    margin: 0 10px;
  }

  .block-order-estimate--dest-address-item-register-input-form .action-buttons .action .btn {
    padding: 8px;
  }

  .block-order-estimate--dest-address-name .form-control,
  .block-order-estimate--dest-address-kana .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .block-order-estimate--dest-address-name .form-error,
  .block-order-estimate--dest-address-kana .form-error {
    width: 100%;
  }

  .block-order-estimate--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* 定期明細追加確認画面 */

  /* 画面内共通設定 */

  .block-order-regular-add-confirm--container {
    display: grid;
    grid-template-columns: 1fr minmax(300px, 350px);
    grid-template-rows: max-content auto;
    gap: 20px;
  }

  /* 定期明細追加確認右サイドエリア */

  .block-order-regular-add-confirm--side-area {
    display: block;
    grid-column: 2/3;
    grid-row: 1/-1;
  }

  .block-order-regular-add-confirm--side-contents {
    position: sticky;
    top: 82px;
    bottom: unset;
    left: unset;
    width: unset;
    margin: 0 0 20px 0;
    padding: 4px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-regular-add-confirm--procedure-container {
    padding: 14px;
    background: #fffce4;
  }

  .block-order-regular-add-confirm--commit .action-buttons {
    margin: 0;
  }

  .block-order-regular-add-confirm--commit .action-buttons .action {
    width: 100%;
  }

  .block-order-regular-add-confirm--commit .action-buttons .action .btn {
    width: 100%;
    font-weight: bold;
  }

  .block-order-regular-add-confirm--commit .block-order-regular-add-confirm--return-agree {
    width: 100%;
  }

  .block-order-regular-add-confirm--entry-customer {
    border: none;
  }

  .block-order-regular-add-confirm--return-agree {
    margin: 5px 0 5px 0;
  }

  /* 定期明細追加確認左サイドエリア */

  .block-order-regular-add-confirm--content {
    display: flex;
    grid-column: 1/2;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  /* ブロック設定 */

  .block-order-regular-add-confirm--content > div {
    width: 100%;
    margin-bottom: 20px;
  }

  .block-order-estimate--delivery-summary,
  .block-order-regular-add-confirm--orderer-content,
  .block-order-regular-add-confirm--method-pay-content,
  .block-order-regular-add-confirm--regular-cycle-content {
    padding: 0;
    border: none;
  }

  /* ボタン位置設定 */

  .block-order-regular-add-confirm--regular-cycle-confirmation .block-order-regular-add-confirm--change-btn {
    top: 12px;
  }

  /* タイトル設定 */

  .block-order-regular-add-confirm--delivery-summary .block-order-regular-add-confirm--delivery-summary-title,
  .block-order-regular-add-confirm--orderer .block-order-regular-add-confirm--orderer-title,
  .block-order-regular-add-confirm--method-pay .block-order-regular-add-confirm--method-pay-title {
    margin: 0;
    padding: 4px 0;
    font-size: 16px;
    font-weight: bold;
  }

  .block-order-regular-add-confirm--regular-cycle-confirmation .block-order-regular-add-confirm--regular-cycle-title,
  .block-order-regular-add-confirm--goods .block-order-regular-add-confirm--goods-title {
    margin: 12px 0;
    padding: 0;
    color: #333;
    font-size: 20px;
    font-weight: bold;
  }

  /* レイアウト詳細設定 */

  /* お届け先 */

  .block-order-estimate--delivery-name {
    font-weight: normal;
  }

  /* お支払い情報 */
  .block-order-regular-add-confirm--method {
    padding: 0;
  }

  .block-order-regular-add-confirm--method > span:first-child {
    display: none;
  }

  .block-order-regular-add-confirm--method > span:last-child {
    text-align: left;
  }

  /* お届けサイクル */

  .block-order-regular-add-confirm--regular-cycle {
    width: 80%;
    border-bottom: 1px solid #ddd;
  }

  .block-order-regular-add-confirm--regular-cycle > li {
    padding: 0;
  }

  .block-order-regular-add-confirm--regular-cycle > li > span {
    padding: 10px 10px;
  }

  .block-order-regular-add-confirm--regular-cycle > li > span:first-of-type {
    width: 29%;
    background-color: #999;
    color: white;
    font-weight: bold;
  }

  .block-order-regular-add-confirm--regular-cycle > li > span:last-of-type {
    text-align: left;
  }

  .block-order-regular-add-confirm--next-expected-dt {
    margin-top: 15px;
    padding: 5px;
    border: none;
  }

  .block-order-regular-add-confirm--next-expected-dt > span {
    width: auto;
    margin-right: 10px;
  }

  .block-order-regular-add-confirm--regular-cycle-info {
    margin: 0 0 0 5px;
    text-align: left;
  }

  .block-order-regular-add-confirm--regular-cycle-info a {
    display: inline-block;
    margin: 5px 0 0 0;
  }

  /* お届け商品 */

  .block-order-regular-add-confirm--goods .block-icon {
    margin: 0;
  }

  .block-order-regular-add-confirm--goods-item {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  .block-order-regular-add-confirm--goods-item > div {
    grid-column: 1/-1;
  }

  .block-order-regular-add-confirm--goods-item .block-order-regular-add-confirm--goods-item-image {
    grid-column: 1/2;
  }

  .block-order-regular-add-confirm--goods-item .block-order-regular-add-confirm--goods-description {
    grid-column: 2/3;
  }

  .block-order-regular-add-confirm--goods-description {
    display: grid;
    grid-auto-flow: row dense;
    grid-column: 2/3;
    grid-template-columns: 1fr auto;
    grid-template-rows: max-content auto;
    align-content: flex-start;
    column-gap: 5px;
  }

  .block-order-regular-add-confirm--goods-description > div,
  .block-order-regular-add-confirm--goods-description > span {
    grid-column: 1/2;
  }

  .block-order-regular-add-confirm--goods-description .block-order-regular-add-confirm--goods-price {
    grid-column: 2/3;
    grid-row: 1/-1;
    text-align: right;
  }

  .block-order-regular-add-confirm--goods-item-sales-period {
    display: flex;
  }

  .block-order-regular-add-confirm--goods-list {
    margin: 0 0 20px 0;
    padding: 20px;
  }

  .block-order-regular-add-confirm--goods-list li {
    border-bottom: none;
  }

  .block-order-regular-add-confirm--goods-content {
    border-bottom: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  /* コンテンツの表示場所設定 */

  .block-order-regular-add-confirm--content .block-order-regular-add-confirm--delivery-summary {
    order: -15;
    width: 50%;
  }

  .block-order-regular-add-confirm--content .block-order-regular-add-confirm--orderer {
    order: -10;
    width: 50%;
  }

  .block-order-regular-add-confirm--content .block-order-regular-add-confirm--method-pay {
    order: -5;
  }

  /* ----買い物かご画面---- */

  .block-cart--rule {
    border-bottom: #999 1px solid;
    background-color: transparent;
    font-size: 26px;
    font-weight: normal;
  }

  .block-cart--rule-container {
    border: none;
  }

  .block-cart--promotion-criteria-list-container .promotion-criteria-list-message {
    text-align: start;
  }

  .block-cart--form-post {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 1%;
  }

  .block-cart--contents {
    flex-grow: 1.5;
    border: none;
  }

  .block-cart--procedure-container-wrapper {
    width: 300px;
    min-width: 300px;
    border: none;
  }

  .block-cart--procedure-container-menu {
    position: sticky;
    top: 82px;
  }

  .block-cart--procedure {
    margin: 5px;
    padding: 4px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-cart--procedure-container {
    width: auto;
    padding: 15px;
    background-color: #fffce4;
  }

  .block-cart--procedure-container .action-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 0;
  }

  .block-cart--procedure-container .action-buttons .action:first-child,
  .block-cart--procedure-container .action-buttons .action:last-child {
    padding: 0;
  }

  .block-cart--order .block-cart--order-btn,
  .block-cart--order .block-cart--order-btn-gift {
    width: 100%;
    padding: 10px 0;
    font-weight: bold;
    text-align: center;
  }

  .block-cart--procedure-container .action-buttons .action .btn {
    font-size: 20px;
  }

  .block-cart--order-button-description {
    font-size: 12px;
    text-align: center;
  }

  .block-cart--store-delivery {
    margin: 10px 0 0 0;
  }

  .block-cart--store-delivery-button-description {
    padding: 5px 0 0 0;
    border-top: 1px solid #9f9c97;
  }

  .block-cart--store-delivery-order-btn-store-delivery {
    display: block;
    margin: 0 0 10px 0;
    width: 100%;
    font-size: 20px;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
  }

  /* 買い物かご商品一覧 */

  .block-cart--item-list {
    display: flex;
  }

  .block-cart--goods-list-link {
    display: flex;
    flex-grow: 1;
  }

  .block-cart--goods-list-image {
    display: block;
    flex-basis: 40%;
    width: auto;
    min-width: 145px;
  }

  .block-cart--goods-list-image figure {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }

  .block-cart--goods-list-image figure img {
    height: auto;
    aspect-ratio: 1/1;
  }

  .block-cart--goods-list-item-container {
    display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
    align-content: flex-start;
    padding-right: 5px;
  }

  .block-cart--goods-list-item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    column-gap: 5px;
  }

  .block-cart--goods-list-item > div {
    width: 100%;
  }

  .block-cart--goods-list-item .block-cart--goods-list-item-name {
    flex-grow: 1;
    order: -2;
    width: auto;
    min-width: 150px;
  }

  .block-cart--goods-list-item-sales-info {
    display: inline-block;
    flex-grow: 1;
    order: -2;
    text-align: right;
  }

  .block-cart--goods-list-item-sales-info + .block-cart--goods-list-item-price-info {
    width: 100%;
  }

  .block-cart--goods-list .block-goods-price--on-sales-off-percent {
    margin-left: 5px;
  }

  .block-cart--goods-list-item .block-cart--goods-list-item-price-info {
    flex-grow: 1;
    order: -1;
    width: auto;
    text-align: right;
  }

  .block-cart--goods-list-item-price {
    white-space: nowrap;
  }

  .block-cart--goods-list-item-input {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 78px;
  }

  .block-cart--goods-list-item-input > div,
  .block-cart--goods-list-item-input-cell-left > div {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
  }

  .block-cart--goods-list-item-input-cell-left,
  .block-cart--goods-list-item-input-cell-right,
  .block-cart--goods-list-item-qty,
  .block-cart--goods-list-item-qty > input,
  .block-cart--goods-list-item-calc,
  .block-cart--goods-list-item-calc > input,
  .block-cart--goods-list-item-delete,
  .block-cart--goods-list-item-delete > input {
    width: 100%;
  }

  .block-cart--goods-list-item-pickup-goods-reselect {
    margin: 5px 0 10px 0;
  }

  .block-cart--pulldown-quantity {
    width: 80px;
  }

  /* ---- 注文完了(通常・ギフトフロー共通) ---- */

  .block-order-complete h1 {
    margin: 0 0 20px;
  }

  .block-order-complete--rules {
    margin: 10px 0 20px;
    padding: 0;
    text-align: left;
  }

  .block-order-complete--customerentry-header {
    margin: 0 0 24px;
  }

  .block-order-complete--customerentry {
    margin: 20px 0;
    padding: 0;
  }

  .block-order-complete--customerentry-form .action-buttons {
    margin-top: 20px;
  }

  .block-order-complete--customerentry-btn {
    margin: 0;
    padding: 4px 10px;
  }

  .block-order-complete--cart p {
    font-size: 18px;
  }

  .block-order-complete--home {
    margin: 20px auto;
    padding: 0;
  }

  /* ---- 注文内容確認(ギフトフロー) ---- */

  .block-order-gift-confirmation--header {
    margin: 0 -10px 0;
    text-align: center;
  }

  /* タイトル設定 */

  .block-order-gift-confirmation h2 {
    color: #333;
    font-size: 20px;
    font-weight: bold;
  }

  .block-order-gift-confirmation--discount-title,
  .block-order-gift-confirmation--novelty-header,
  .block-order-gift-confirmation--order-item-header,
  .block-order-gift-confirmation--shipping-header,
  .block-order-gift-confirmation--method-pay-title,
  .block-order-gift-confirmation--destination-address-header,
  .block-order-gift-confirmation--other-header {
    margin: 0 0 15px;
  }

  /* ノベルティ */

  .block-order-gift-confirmation--novelty-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  /* ご注文の商品 */

  .block-order-gift-confirmation--order-item-wrapper {
    display: flex;
    gap: 20px;
  }

  .block-order-gift-confirmation--order-item-info {
    width: 65%;
  }

  .block-order-gift-confirmation--order-item-detail-table .block-order-gift-confirmation--item-name {
    padding: 0;
  }

  .block-order-gift-confirmation--item-wrapper > div {
    padding: 10px;
  }

  .block-order-gift-confirmation--item-image {
    border-right: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-order-gift-confirmation--order-summary {
    width: 35%;
  }

  .block-order-gift-confirmation--item-wrapper {
    display: flex;
    gap: 10px;
  }

  .block-order-gift-confirmation--order-summary-table {
    border: none;
  }

  .block-order-gift-confirmation--order-summary-table tbody th {
    width: 50%;
    white-space: inherit;
  }

  .block-order-gift-confirmation--order-summary-message td {
    border: none;
  }

  .block-order-gift-confirmation--order-summary-message span > br {
    display: none;
  }

  /* 配送情報 */

  .block-order-gift-confirmation--shipping-container {
    display: flex;
    gap: 10px;
    width: 100%;
  }

  .block-order-gift-confirmation--shipping-address {
    width: 65%;
  }

  .block-order-gift-confirmation--ordered-item-info {
    width: 35%;
  }

  .block-order-gift-confirmation--shipping-address table > tbody {
    display: flex;
  }

  .block-order-gift-confirmation--shipping-address table > tbody tr {
    display: contents;
  }

  .block-order-gift-confirmation--shipping-address table > tbody th {
    display: flex;
    align-items: center;
    border: none;
    border-right: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-order-gift-confirmation--shipping-address table > tbody td {
    width: 100%;
    border: none;
  }

  .block-order-gift-confirmation--ordered-item-table tbody th {
    width: 50%;
    white-space: inherit;
  }

  .block-order-gift-confirmation--ordered-item-table td {
    text-align: left;
  }

  /* お届け先 */

  .block-order-gift-confirmation--sending-item-name > td {
    display: flex;
    gap: 10px;
    border: none;
  }

  .block-order-gift-confirmation--sending-item-name figure {
    min-width: 110px;
  }

  /* お支払い情報 */

  .block-order-estimate--pay-selectcard .form-control {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }

  .block-order-gift-confirmation--method > h3 {
    margin: 0;
    border: none;
  }

  .block-order-gift-confirmation--order-comment {
    margin-top: 20px;
  }

  /* その他 */

  .block-order-gift-confirmation--other-detail th {
    color: unset;
  }

  .block-order-gift-confirmation--actions {
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
  }

  .block-order-gift-confirmation--return-agree,
  .block-order-gift-confirmation--back {
    margin: 0;
  }

  .block-order-gift-confirmation--sales-delivery-comment {
    text-align: center;
  }

  /* ----配送先の選択---- */

  .block-order-gift-dest--header {
    margin: 0 0 20px;
  }

  .block-order-gift-dest h2 {
    margin: 0 0 10px 0;
    font-size: 20px;
  }

  .block-order-gift-dest--address-item {
    background: var(--responsive-sys-content-header-background-color);
  }

  .block-order-gift-dest--list-body,
  .block-order-gift-dest--method-sender-container,
  .block-order-gift-dest--address-item,
  .block-order-gift-dest--method-sender-info-edit {
    margin: 0 0 20px 0;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-gift-dest--address-new {
    margin-bottom: 0;
    text-align: left;
  }

  .block-order-gift-dest--list-body .form-error {
    margin: 0 0 10px 0;
  }

  .block-order-gift-dest--method-sender-info {
    margin-top: 0;
    padding: 0 0 10px;
  }

  .block-order-gift-dest--method-sender-info address {
    margin-left: 0;
  }

  .block-order-gift-dest--method-sender-change {
    padding: 0;
    border: none;
    background: none;
  }

  .block-order-gift-dest--method-sender-change label {
    font-weight: bold;
  }

  .block-order-gift-dest--method-sender-input {
    border: none;
  }

  .block-order-gift-dest--method-sender-input .form-group {
    padding: 0;
  }

  .block-order-gift-dest--name .form-control,
  .block-order-gift-dest--kana .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
    text-align: center;
  }

  .block-order-gift-dest--value-label {
    display: inline-block;
    width: 60px;
  }

  .block-order-gift--dest-address-name-sei > input,
  .block-order-gift--dest-address-name-mei > input,
  .block-order-gift--dest-address-kana-sei > input,
  .block-order-gift--dest-address-kana-mei > input {
    max-width: 200px;
  }

  .block-order-gift-dest--method-sender-input .help-block {
    width: 100%;
    text-align: left;
  }

  .block-order-gift-dest--method-sender-btn {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 2px;
  }

  /* ----配送先商品の追加---- */

  .block-order-gift-select--header {
    margin: 0 0 20px;
  }

  .block-order-gift-select h2 {
    margin: 0 0 24px;
    color: #333;
    font-size: 20px;
    font-weight: bold;
  }

  .block-order-gift-select--sender-info,
  .block-order-gift-select--delivery-dest-content,
  .block-order-gift-select--payment-content,
  .block-order-gift-select--delivery-date-content,
  .block-order-gift-select--sales-append-content {
    margin: 0 0 20px 0;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
    background: transparent;
  }

  .block-order-gift-select--sender-info {
    margin: 0 0 5px 0;
  }

  .block-order-gift-select--sender-info p {
    font-weight: normal;
  }

  .block-order-gift-select--delivery-dest-add {
    margin: 0 0 10px 0;
    padding: 5px 0 5px 0;
  }

  .block-order-gift-select--delivery-dest-address {
    margin-top: 0;
    padding: 0;
  }

  .block-order-gift-select--sales-detail-append-body .form-control select {
    width: 100%;
  }

  .block-order-gift-select--delivery-dest-goods-select .block-order-gift-select--delivery-dest-goods {
    border: none;
    background: none;
  }

  .block-order-gift-select--delivery-dest-goods-message {
    font-size: 16px;
  }

  .block-order-gift-select--delivery-dest-goods-content-info {
    margin-bottom: 10px;
  }

  .block-order-gift-select--delivery-dest-goods-content-list .block-order-gift-select--delivery-dest-goods-checkbox {
    padding: 5px;
  }

  .block-order-gift-select--delivery-dest-goods-content-list .block-order-gift-select--delivery-dest-goods-qty-header {
    width: 70px;
  }

  .block-order-gift-select--delivery-dest-goods-content-list th,
  .block-order-gift-select--delivery-dest-goods-content-list td {
    padding: 5px;
  }

  .block-order-gift-select--delivery-dest-goods-qty input[type="number"] {
    width: auto;
    padding: 0 2px 0 0;
  }

  .block-order-gift-select--delivery-dest-goods-name > td {
    display: flex;
    gap: 10px;
    border: none;
  }

  .block-order-gift-select--delivery-dest-goods-name figure {
    width: 200px;
    height: 200px;
  }

  .block-order-gift-select--delivery-dest-goods-name span {
    max-width: calc(100% - 210px);
  }

  .block-order-gift-select--delivery-dest-total table {
    width: auto;
    margin-left: auto;
    border: none;
  }

  .block-order-gift-select--delivery-dest-total table tbody {
    display: flex;
  }

  .block-order-gift-select--delivery-dest-total table th {
    width: auto;
    white-space: nowrap;
  }

  .block-order-gift-select--delivery-dest-total br {
    display: none;
  }

  .block-order-gift-select--delivery-dest-total-price-calc {
    padding-left: 10px;
    float: unset;
  }

  .block-order-gift-select--delivery-dest-goods-noshi-massage {
    margin: 0 0 10px;
  }

  .block-order-gift-select--payment-content h2 {
    border-bottom: 1px solid #dedede;
    font-size: 16px;
  }

  .block-order-gift-select--coupon-content,
  .block-order-gift-select--promotion-content,
  .block-order-gift-select--select-point-payment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .block-order-gift-select--coupon-content input,
  .block-order-gift-select--promotion input {
    margin-left: 4px;
  }

  .block-order-gift-select--select-point-payment > label:first-of-type {
    margin-right: 10px;
  }

  .block-order-gift-select--coupon-available-btn {
    margin: 0 0 0 14px;
  }

  .block-order-gift-select--coupon-content a,
  .block-order-gift-select--promotion-content input {
    margin-top: 0;
  }

  .block-order-gift-select--coupon-content .form-error,
  .block-order-gift-select--promotion-content .form-error {
    width: 100%;
  }

  .block-order-gift-select--method-list li {
    margin: 0 0 10px;
  }

  .block-order-gift-select--sales-append-content .constraint {
    min-width: 40px;
  }

  .block-order-gift-select--sales-append-content .form-control {
    flex-shrink: 2;
    margin: 0;
  }

  .block-order-gift-select--sales-append-textbox input,
  .block-order-gift-select--sales-append-select select {
    width: 100%;
  }

  /* ----のし・ラッピング設定---- */

  .block-order-gift-noshi--title {
    margin: 0 0 20px;
    padding: 15px 0 0;
    color: #333;
    font-size: 24px;
    font-weight: bold;
  }

  .block-order-gift-noshi h2,
  .block-order-gift-noshi h3 {
    margin: 0 0 24px;
  }

  .block-order-gift-noshi img {
    vertical-align: baseline;
  }

  .block-order-gift-noshi--section h3 {
    font-size: 16px;
  }

  .block-order-gift-noshi--noshi-select,
  .block-order-gift-noshi--purpose-content-body,
  .block-order-gift-noshi--paper-content-body,
  .block-order-gift-noshi--nameprint-content-body,
  .block-order-gift-noshi--covertype-content-body,
  .block-order-gift-noshi--wrap-container-body,
  .block-order-gift-noshi--bag-container-body {
    margin: 0 0 20px 0;
    padding: 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
  }

  .block-order-gift-noshi--noshi-select > li,
  .block-order-gift-noshi--purpose-select > li,
  .block-order-gift-noshi--paper-select > li,
  .block-order-gift-noshi--nameprint-select > li,
  .block-order-gift-noshi--covertype-select > li,
  .block-order-gift-noshi--wrap-select > li,
  .block-order-gift-noshi--bag-select > li {
    display: inline-block;
    width: auto;
    margin: 0 10px 0 0;
    vertical-align: top;
  }

  .block-order-gift-noshi--paper-item-price,
  .block-order-gift-noshi--bag-item-price,
  .block-order-gift-noshi--wrap-item-price {
    display: block;
  }

  .block-order-gift-noshi--paper-message,
  .block-order-gift-noshi--covertype-message,
  .block-order-gift-noshi--wrap-message,
  .block-order-gift-noshi--bag-message {
    width: 60%;
    margin: 10px 0 10px 0;
    padding: 20px 20px 20px 20px;
    border: solid 1px var(--responsive-sys-border-color-gray-secondary);
    background: #f8f8f8;
  }

  .block-order-gift-noshi--sender {
    padding: 0;
  }

  .block-order-gift-noshi--goods {
    margin-top: 0;
    padding: 0;
    background-color: transparent;
  }

  .block-order-gift-noshi--nameprint-input,
  .block-order-gift-noshi--nameprint-input tbody th {
    width: auto;
  }

  .block-order-gift-noshi--nameprint-input {
    border-bottom: none;
  }

  .block-order-gift-noshi--nameprint-input td {
    display: flex;
    align-items: center;
    border: none;
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-primary);
  }

  .block-order-gift-noshi--nameprint-input input {
    margin-bottom: 0;
  }

  .block-order-gift-noshi--bag-input {
    font-weight: unset;
  }

  .block-order-gift-noshi--setting-message {
    font-weight: bold;
    text-align: center;
  }

  .block-order-gift-noshi--setting-all-btn {
    margin-bottom: 20px;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_misc.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----アンケート画面----*/
  .block-questionnaire--header {
    margin: 0 0 20px;
  }

  .block-questionnaire--freespace-top {
    margin-bottom: 0;
  }

  .block-questionnaire--customer-name {
    font-weight: normal;
  }

  .block-questionnaire--name-list .form-control > div {
    display: inline-flex;
  }

  .block-questionnaire--name-value-label {
    align-self: center;
    width: 60px;
    margin-bottom: 0;
    text-align: center;
  }

  .block-questionnaire--name,
  .block-questionnaire--kana,
  .block-questionnaire--kana-2 {
    margin-bottom: 0;
  }

  div:has(+ .block-questionnaire--require-message) .form-group:last-of-type {
    border-bottom: none;
  }

  .block-questionnaire--box-content img + div .checkbox {
    margin: 0;
  }

  .block-questionnaire--box-content .checkbox + br {
    display: none;
  }

  .fieldset-vertical .form-control:has(img.resize) span {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
  }

  .fieldset-vertical .form-control:has(img.resize) span div {
    text-align: center;
  }

  .block-questionnaire--freespace-bottom {
    margin-top: 0;
  }

  /* ----アンケート確認画面----*/

  .block-questionnaire--confirmation-form .action-buttons {
    flex-direction: row-reverse;
  }

  /* ----アンケート完了画面----*/
  .block-questionnaire-completed--header {
    margin: 0 0 20px;
  }

  .block-questionnaire-completed--customer-name {
    margin-bottom: 0;
    font-weight: normal;
  }

  .block-questionnaire-completed--message {
    margin-bottom: 0;
  }

  /** ランディングページ **/

  .block-landingpage-login--member-body {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }

  .block-landingpage-login--member-body .block-landingpage-login--member-frame {
    display: block;
    flex-grow: 1;
    max-width: 540px;
  }

  .block-landingpage-login--member-frame .action {
    width: 100%;
  }

  .block-landingpage-login--amazonpay-login-frame {
    flex-grow: 0;
    width: 40%;
  }
  
  .block-landingpage--amazonpay-error {
    color: #a94442;
  }

  .block-landingpage-login--customer-status {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 8px 0;
    column-gap: 34px;
    border-radius: 3px;
    background: #444;
    color: #fff;
  }

  .block-landingpage-login--customer-status .block-landingpage-login--customer-name,
  .block-landingpage-login--customer-status .block-landingpage-login--mypoint,
  .block-landingpage-login--customer-status .block-landingpage-login--mypoint-point {
    font-size: 24px;
  }

  .block-landingpage-login--rank-info {
    padding: 12px 18px 13px;
    border: 1px solid #fff;
    text-align: center;
  }

  .block-landingpage-login--rank-status {
    display: flex;
    flex-grow: 2;
    align-items: center;
    justify-content: flex-end;
  }

  .block-landingpage-login--rank-condition {
    padding: 0 10px 0 17px;
  }

  .block-landingpage-login--rank-condition-1-title,
  .block-landingpage-login--rank-condition-2-title {
    background: #fff;
    color: #444;
  }

  .block-landingpage-login--customer-status .block-landingpage-login--sign {
    flex-grow: 1;
    align-self: center;
    padding: 10px 16px;
    border-right: 1px solid #fff;
  }

  .block-landingpage-login--customer-status .block-landingpage-login--mypoint {
    flex-grow: 1;
    padding-top: 0;
    border-top: 0;
  }

  .block-landingpage-login--mypoint-duedate {
    font-size: 14px;
  }

  .block-landingpage-form .form-error,
  .block-landingpage-login--guest .form-error {
    width: 100%;
  }

  .block-landingpage-form,
  .block-landingpage-login--guest-body {
    padding: 20px;
  }

  .block-landingpage .block-landingpage-form .block-landingpage-form--goods {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .block-landingpage-form--goods > dl {
    display: flex;
    align-items: center;
  }

  .block-landingpage-form--goods dt {
    white-space: nowrap;
  }

  .block-landingpage-form--goods-goods select {
    max-width: 600px;
  }

  .block-goods-first-limited-order {
    margin-bottom: 0;
  }

  .block-landingpage-form--goods > p {
    display: block;
  }

  .block-landingpage-form--goods-limited-order-description {
    width: 100%;
  }

  .block-landingpage-form--sales-append-textbox input,
  .block-landingpage-form--sales-append-select select {
    width: 100%;
  }

  /* 注文明細拡張 */
  .block-landingpage-form--sales-detail-append {
    width: 100%;
  }

  .block-landingpage-form--sales-detail-append .fieldset .form-label,
  .block-landingpage-form--sales-detail-append .fieldset .constraint,
  .block-landingpage-form--sales-detail-append .fieldset .form-control,
  .block-landingpage-form--sales-detail-append .fieldset .form-error {
    vertical-align: middle;
  }

  .block-landingpage-form--sales-detail-append .fieldset .form-group .form-label,
  .block-landingpage-form--sales-detail-append .fieldset .form-group .help-block {
    word-break: break-all;
  }

  .block-landingpage-form--sales-detail-append .fieldset .form-control label {
    white-space: nowrap;
  }

  .block-landingpage--terms-link {
    text-decoration: underline;
    cursor: pointer;
  }

  .block-landingpage-form--register-customer-checkbox {
    margin: 30px 0 10px;
    padding: 20px;
    background: #f8f8f8;
    border: none;
  }

  .block-landingpage--register-customer-message {
    margin: 5px 0 10px 0;
    font-size: 12px;
  }

  .block-landingpage--register-customer-promotion {
    color: #f00;
    font-size: 15px;
    font-weight: bold;
  }

  .block-landingpage--register-customer-append-title {
    padding: 0;
    margin: 20px 0 20px 0;
    border: none;
  }

  .block-landingpage-form--register-customer-input .form-label,
  .block-landingpage-form--register-customer-input .constraint,
  .block-landingpage-form--register-customer-input .form-control,
  .block-landingpage-form--register-customer-input .form-error {
    vertical-align: middle;
  }

  .block-landingpage-form--register-customer-input .form-group .form-label,
  .block-landingpage-form--register-customer-input .form-group .help-block {
    word-break: break-all;
  }

  .block-landingpage-form--register-customer-input .form-control label {
    white-space: nowrap;
  }

  .block-landingpage--register-customer-pwd {
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-tertiary);
  }

  .block-landingpage--pwd-count {
    margin-top: 0;
  }

  .block-landingpage--uid-count {
    margin-top: 0;
  }

  .block-landingpage-order--host-content .block-landingpage-order--value-label,
  .block-landingpage-other--dest-input .block-landingpage-other--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-landingpage-order--name .form-control,
  .block-landingpage-order--kana .form-control,
  .block-landingpage-other--name .form-control,
  .block-landingpage-other--kana .form-control {
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
  }

  .pane-landingpage-contents #frmLP .form-group {
    padding: 0;
    border-top: solid 1px var(--responsive-sys-border-color-gray-tertiary);
  }

  .pane-landingpage-contents #frmLP .form-group:last-of-type {
    border-bottom: solid 1px var(--responsive-sys-border-color-gray-tertiary);
  }

  /* ----メールニュース登録・解除画面---- */

  .block-mail-news--header {
    margin: 0 0 20px;
  }

  .block-mail-news--terms-body {
    height: 440px;
    margin-bottom: 40px;
    padding: 20px;
    border-color: #e5e5e0;
    font-size: inherit;
  }

  .block-mail-news h2 {
    margin: 0 0 24px;
  }

  /* ----クイックオーダー---- */

  .block-quick-order--header {
    margin: 0 0 20px;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_store.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----店舗詳細：block-store-detail---- */

  .block-store-detail--title {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .block-store-detail--store-images {
    flex-flow: wrap;
    margin-bottom: 20px;
  }

  .block-store-detail--store-src-1 {
    width: 50%;
  }

  .block-store-detail--store-src-2 {
    width: 50%;
  }

  .block-store-detail--store-src-3 {
    width: 50%;
  }

  .block-store-detail--store-src-4 {
    width: 50%;
  }

  .block-store-detail--store-src-5 {
    width: 50%;
  }

  .block-store-detail--store {
    display: flex;
    margin-bottom: 20px;
  }

  .block-store-detail--store-info {
    width: 50%;
  }

  .block-store-detail--store-map-info {
    width: 50%;
  }

  .block-store-detail--store-map {
    height: 400px;
  }

  /* ----店舗一覧---- */

  .block-store-list {
    margin: 0 10px;
  }

  .block-store-list--area {
    display: flex;
    column-gap: 10px;
  }

  .block-store-list--area-anchor ul {
    display: flex;
  }

  .block-store-list--area-anchor li {
    display: unset;
    padding: 0 15px 0 0;
    font-size: unset;
  }

  .block-store-list--stores-title {
    border-bottom: 1px solid var(--responsive-sys-border-color-gray-secondary);
  }

  .block-store-list--stores-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(365px, 1fr));
    gap: 10px;
  }

  .block-store-list--store {
    border-bottom: none;
  }

  .block-store-list--store a {
    margin-right: 0;
  }

  .block-store-list--store .block-icon-image--table {
    display: flex;
    flex-direction: column;
  }

  .block-store-list--store .block-icon-image--table-cell-left {
    height: 100%;
  }

  .block-store-list--store-image {
    width: 100%;
    margin: 0;
  }

  .block-store-list--store-image figure {
    width: 365px;
    height: 285px;
    margin: 0 auto;
  }

  .block-store-list--store-description {
    margin: 0;
    padding: 10px;
  }

  .block-store-list--store-name {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: unset;
    text-decoration: underline;
  }

  .block-store-list--store-details {
    font-size: 14px;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_page_category.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----ページカテゴリ---- */

  .block-pagecategory-page-list--frame {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    justify-content: center;
    width: 100%;
    margin-bottom: 10px;
    column-gap: 10px;
    row-gap: 15px;
  }

  .block-pagecategory-page-list--frame .block-pagecategory-page-list--page {
    width: 100%;
    margin: 0;
  }

  .block-pagecategory-page-list--page-image figure {
    height: 170px;
  }

  .block-pagecategory-subcategory-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .block-pagecategory-subcategory-list--category-image {
    width: 200px;
  }

  .block-pagecategory-subcategory-list--category-image figure {
    width: 200px;
    height: 150px;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_page.css
---------------------------------- */
@media screen and (min-width: 769px) {
  /* ----ページ---- */

  .block-page-block--frame {
    margin-bottom: 40px;
  }

  .block-page-block--contents-goodslist {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    justify-content: center;
    margin-bottom: 10px;
    column-gap: 5px;
    row-gap: 5px;
  }

  .block-page-block--contents-goodslist dl {
    width: 100%;
  }
}

/* ----------------------------------
 /css/sys/responsive_block_no_code_cms.css
---------------------------------- */
@media screen and (min-width: 769px) {
  .block-no-code-cms--button {
    width: unset;
  }

  .block-no-code-cms--twitter {
    height: auto;
  }

  .block-no-code-cms--two-column {
    display: flex;
    justify-content: center;
    margin: 25px 0 50px;
  }

  .block-no-code-cms--two-column-vertical-align-0 {
    align-items: flex-start;
  }

  .block-no-code-cms--two-column-vertical-align-1 {
    align-items: center;
  }

  .block-no-code-cms--two-column-vertical-align-2 {
    align-items: flex-end;
  }

  .block-no-code-cms--two-column-left-ratio-0 {
    flex: 1;
    margin: 0 2% 0 0;
    min-width: 49%;
  }

  .block-no-code-cms--two-column-right-ratio-0 {
    flex: 1;
    min-width: 49%;
  }

  .block-no-code-cms--two-column-left-ratio-1 {
    flex: 3;
    margin: 0 2% 0 0;
    min-width: 29%;
  }

  .block-no-code-cms--two-column-right-ratio-1 {
    flex: 7;
    min-width: 69%;
  }

  .block-no-code-cms--two-column-right-ratio-1 .block-no-code-cms--twitter iframe {
    max-width: 100%;
  }

  .block-no-code-cms--two-column-left-ratio-2 {
    flex: 7;
    margin: 0 2% 0 0;
    min-width: 69%;
  }

  .block-no-code-cms--two-column-left-ratio-2 .block-no-code-cms--twitter iframe {
    max-width: 100%;
  }

  .block-no-code-cms--two-column-right-ratio-2 {
    flex: 3;
    min-width: 29%;
  }

  .block-no-code-cms--goods-list--item.block-no-code-cms--goods-list--display-column-number-0,
  .block-no-code-cms--goods-list--item.block-no-code-cms--goods-list--display-column-number-1 {
    width: calc(25% - 10px);
  }

  .block-no-code-cms--goods-list--item.block-no-code-cms--goods-list--display-column-number-2 {
    width: calc(33% - 10px);
  }

  .block-no-code-cms--goods-list--item.block-no-code-cms--goods-list--display-column-number-3 {
    width: calc(50% - 10px);
  }

  .block-no-code-cms--goods-list--item.block-no-code-cms--goods-list--display-column-number-4 {
    width: 100%;
  }
}
