@charset "UTF-8";
/*
 * clearfix
 */
.cf:after, .u-2cols-container .o-row:after, .js-radioSelectBox-container:after, .ui-spinner:after, .content:after, .content_cart.a-EC-view:after, .section_inner.l-section-wide .content_cart.a-EC-view:after, .l-categoryBox-wide .sidemenu_select dd:after, .l-categoryBox-wide .topFilterCategory dd:after, .m-topFilterBox .o-box-body:after, .m-product-detail:after, .m-charges-model:after, .m-charges-model > ul > li > ul > li:after, .m-product-option .charges_list:after, .l-cartListBox:after, .l-cartTotalBox:after, .o-row-total_notax:after, .l-cartItem:after, .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row:after, .m-bank-payment:after,
.m-credit-payment:after, .m-payment-item .o-radio-paymentItem:after, .l-orderSideBox:after, .l-itemDetailMainBox:after, .m-itemDetail-head:after, .l-itemDetailSideBox:after, .m-itemDetailSideBox-inner .o-row:after, .m-itemImage-5box .o-itemimage-small:after, .l-productOption-multiSelect:after {
  content: " ";
  display: block;
  clear: both;
}

/* デフォルトで禁則処理をかける */
section, div, li, dt, dd, p, span, a {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.word-break-all {
    word-break: break-all;
}
h1, h2, h3, h4, h5, h6, p, li, th, td, dt, dd {
  line-height: 1.4;
}
/* buttonのスタイルリセット */
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
.cursor-pointer {
    cursor: pointer;
}
.display-none {
    display: none;
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 *  placeholderテキスト を着色
 *  https://qiita.com/tmiame/items/8816d970eacaf450911f
 */
/*
 * rightyArrow
 * @include rightyArrow(#ff0000, 6px, 1px);
 */
/*
 * leftyArrow
 * @include leftyArrow(#ff0000, 6px, 1px);
 */
/*
 * liquidFontSize
 * @include liquidFontSize(18px, 16px, 14px, 12px);
 */

body,
.wrapper {
  min-height: 100vh;
}

.section_inner {
  width: 100%;
  max-width: 1280px;
  box-sizing: border-box;
}

.content_width,
.localnav,
.localnav .navlist,
.section_inner.wideSection {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.content_width,
.localnav .navlist {
  padding: 0 5%;
}
.localnav .navlist {
  margin-left: -12px;
}
.section_inner.wideSection {
  padding: 50px 5% 70px 5%;
}
section {
  margin: 0 0 40px 0;
}
.headline + .content {
  margin-top: 40px;
}
@media screen and (max-width: 834px) {
  .headline + .content {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .content_width {
    padding: 0;
  }
  .section_inner.wideSection {
    padding: 20px;
  }
  .localnav .navlist {
    padding: 0 10px;
  }
}
@media screen and (max-width: 480px) {
  section {
    margin: 0 0 30px 0;
  }
  .headline + .content {
    margin-top: 20px;
  }
  .localnav .navlist {
    margin-left: 0;
    padding: 40px 0 0 0;
  }
  .localnav .navlist ul {
      display: none;
  }
}

.set-right {
  text-align: right !important;
}

.set-center {
  text-align: center !important;
}

.set-left {
  text-align: left !important;
}
h3.title {
  margin: 30px 0 10px;
  font-size: 1.6em;
  line-height: 1.5;
}

/* 基本テーブルスタイル */
table.basic {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 20px;
}
table.basic tr {
  border-top: 1px solid #ddd;
  background: #fff;
}
table.basic.itemTable td ul.costs li {
  margin-bottom: 5px;
}

table.basic.itemTable .gray {
    color: #666;
}
table.basic.itemTable td ul.costs:last-of-type li:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px){/* PCサイズのみ */
  table.basic tr.childItem {
    border-top: 1px dotted #ddd;
  }
  table.basic tr.childItem .name {
    padding: 5px 10px 5px 20px;
  }
  /* PCサイズのみ一覧のhoverカラー設定
  ※rowspanが変化するitemTableクラスのテーブルはtbodyにスタイルをかける */
  table.basic tbody tr:not(.canceled):hover,
  table.basic.itemTable tbody:hover {
    background: #f4f4f4;
  }
  /* 要素内のスクロールを許可する(table等でコンテンツが領域外にはみ出る対策) */
  .scroll_box_x {
    max-width: 100%;
    overflow-x: auto;
  }
  .scroll_box_x table.basic thead th {
    white-space: nowrap;
  }
  table.basic.itemTable td ul.costs li {
    font-size: 13px;
  }
}
table.basic thead tr th {
    color: #fff;
    font-weight: bold;
    text-align: center;
}
table.basic th,
table.basic td {
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 5px 10px;
}
table.basic td.no {
    word-break: break-all;
}
table.basic td.name {
    word-break: break-word;
}
@media screen and (min-width: 769px) { /*769px以上*/
    table.basic th,
    table.basic td {
        position: static; /*style.css打ち消し　border消え対策*/
    }
}
table.basic td.detail {
  width: 5%;
  text-align: center;
}
table.basic td.detail a {
  font-size: 0.8em;
  display: inline-block;
  padding: 4px 10px;
  border-radius: 0.5em;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
table.basic td.detail a.remove {
    color: #d64747;
    border-color: #d64747;
}
table.basic td.detail a.remove:hover {
    color: #fff;
    background: #d64747;
}
table.basic td.action a {
    padding: 4px 8px;
}
table.basic td.action a i {
    margin-right: 2px;
}
@media screen and (max-width: 768px) {
    table.basic td.detail a {
      padding: 8px 10px;
    }
}
table.basic .id {
  width: 5%;
  text-align: center;
}

table.basic td.employee-type {
  white-space: nowrap;
}

/* セレクタブルテーブル */
table.selectable_table tbody:hover {
  cursor: pointer;
}
table.selectable_table label.checkbox_text {
  vertical-align: top;
  z-index: 2;
  margin: 0;
  padding: 2px 2px 2px 12px;
}
@media only screen and (max-width: 768px) {
    table.basic,
    table.basic tbody,
    table.basic tr,
    table.basic th,
    table.basic td {
        display: block;
        max-width: 100%;
    }
    table.basic {
      border-bottom: none;
      box-sizing: border-box;
      border-radius: 3px;
    }
    table.basic thead {
      display: none;
    }
    table.basic tbody tr {
      margin: 36px 0 0 0;
      border: 1px solid #ddd;
      border-radius: 3px;
      position: relative;
    }
    table.basic.adjust_mt tbody tr:first-of-type {
      margin-top: 0;
    }
    table.basic tbody tr.haveChild {
      border-bottom: none;
      border-radius: 3px 3px 0 0;
    }
    table.basic tbody tr.childItem {
      margin: 0;
      border-radius: 0;
    }
    table.basic tbody tr.childItem:not(:last-of-type) {
      border-bottom: none;
    }
    table.basic tbody tr.childItem:last-of-type {
      border-radius: 0 0 3px 3px;
    }
    table.basic tbody tr td {
      width: 100%!important;
      text-align: left!important;
      padding: 5px 10px;
      border: none;
      border-bottom: 1px dotted #ddd;
      font-size: 12px;
      overflow: hidden;
      min-height: 2.4em;
    }
    table.basic tbody tr td ul {
      display: inline-block;
    }
    table.basic.itemTable td ul.costs {
      display: block;
      margin-top: 5px;
    }
    table.basic tbody tr td ul li {
      font-size: 12px;
    }
    table.basic td.detail {
      margin: 0 auto;
      max-width: 300px;
      text-align: center!important;
    }
    table.basic td.detail a {
      display: block;
      font-size: 1em;
    }
    table.basic tbody tr td:last-of-type {
      border-bottom: none;
    }
    table.basic tbody tr:not(.childItem) td:first-of-type,
    table.basic tbody tr td.id+td:nth-of-type(2) {
      font-size: 14px;
      padding: 10px;
      background: #f4f4f4;
      font-weight: bold;
    }
    table.basic tbody tr td .sp {
      display: inline-block;
      font-size: 11px;
      line-height: 1.4;
      border-radius: 2px;
      margin: -2px 5px 0 -5px;
      padding: 4px;
      color: #666;
      border: 1px solid #ddd;
      background: #fff;
      vertical-align: middle;
    }
    table.basic tbody tr td.id {
      width: auto!important;
      padding: 5px 10px!important;
      font-size: 12px!important;
      font-weight: normal!important;
      position: absolute;
      content: "";
      display: inline-block;
      left: -1px;
      top: -26px;
      background: #f4f4f4;
      border: 1px solid #ddd;
      text-align: center;
      border-radius: 4px;
    }
    table.basic tbody tr td.id .sp {
      border: none;
      background: transparent;
      margin-right: 0;
    }
    table.basic tbody tr.canceled td.id,
    table.basic tbody tr.canceled td:first-of-type,
    table.basic tbody tr.canceled td.id+td:nth-of-type(2),
    table.basic tbody tr.canceled td .sp {
      background: #eee;
    }
    table.selectable_table tbody tr {
      margin: 20px 0 0 0;
    }
    table.selectable_table tbody tr td.id {
      border: none;
      top: 4px;
      left: 0;
    }
    table.selectable_table tbody tr td.id:first-of-type:not(.checkbox) {
        padding-left: 36px!important;
        background: transparent;
        z-index: 2;
    }
    table.selectable_table tbody tr td.id+td:nth-of-type(2) {
      padding-left: 32px!important;
    }
    table.selectable_table label.checkbox_text {
      padding: 0 2px 2px 24px;
      min-height: 20px;
    }
    table.selectable_table td.id+td:nth-of-type(2).checkbox {
      padding-left: 10px!important;
    }
}

/* 選択・解除ボタン */
.selectable_table_buttons,
.operation_buttons {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    margin: 20px 0;
}
.selectable_table_buttons button {
    cursor: pointer;
    display: block;
    border: solid 1px #ccc;
    border-radius: 3px;
    margin: 0;
    padding: 10px 20px;
    color: #333;
    text-align: center;
    font-size: 100%;
    line-height: 1.2;
    background-color: #fff;
}
.selectable_table_buttons button:hover {
    background-color: #eee;
}
.selectable_table_buttons .select_all {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.selectable_table_buttons .deselect_all {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.operation_buttons .baseBtn {
    min-width: 140px;
    margin-right: 10px;
}
.operation_buttons [class^="icon-"].baseBtn::before {
    margin-top: -9px;
    font-size: 16px;
}
@media screen and (max-width: 480px) {
    .operation_buttons {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .operation_buttons .baseBtn {
        width: 49%;
        min-width: auto;
        margin: 0;
    }
}
.notice,
.caution,
.has-error,
.warning_msg {
  color: #d64747;
  line-height: 1.2;
}
.has-error {
  margin-top: 5px!important;/*style.css打ち消し*/
  font-weight: bold;
}
.warning_msg {
  margin: 10px 5px;
  padding: 5px 10px;
}
.disabledItem .warning_msg {
  text-align: center;
  border: 1px solid #d64747;
  border-radius: 2px;
}
div[class$="[quantity]"] .has-error {
  text-align: right;
}

/*-------------------------------------------------------------
  input text
-------------------------------------------------------------*/
input[type='text'],
input[type='password'] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 36px;
  display: inline-block;
  padding: 3px 6px 0px;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 4px;
  line-height: 1;
  font-size: 16px;
  outline: none;
}

input[type='text']:placeholder-shown,
input[type='password']:placeholder-shown {
  color: #bbb;
}

input[type='text']:focus,
input[type='password']:focus {
  color: #333;
  -webkit-box-shadow: 0px 0px 2px 2px #ffd8d8;
  box-shadow: 0px 0px 2px 2px #ffd8d8;
}

input[type='text']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder {
  color: #bbb;
}

input[type='text']:-moz-placeholder,
input[type='password']:-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

input[type='text']::-moz-placeholder,
input[type='password']::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

input[type='text']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder {
  color: #bbb;
}

input[type='text'].alertRed {
  background: #ffd8d8;
}

input.input_error[type='text'],
input.input_error[type='password'],
textarea.input_error {
    background-color: #FCE4E3;
}

.u-zipcode-box {
  position: relative;
  width: 100%;
}
input[type='text'].u-zipcode {
  width: 8em !important;
}
.u-zipcode-box > .btn_detail {
  position: absolute;
  top: 0;
  left: 8.5em;
}

textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  padding: 3px 6px 0px;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 4px;
  font-size: 16px;
  outline: none;
}

textarea:placeholder-shown {
  color: #bbb;
}

textarea:focus {
  color: #333;
  -webkit-box-shadow: 0px 0px 2px 2px #ffd8d8;
  box-shadow: 0px 0px 2px 2px #ffd8d8;
}

textarea::-webkit-input-placeholder {
  color: #bbb;
}

textarea:-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

textarea::-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

textarea:-ms-input-placeholder {
  color: #bbb;
}

textarea.alertRed {
  background: #ffd8d8;
}

textarea.u-zipcode {
  width: 8em !important;
}

/*-------------------------------------------------------------
  file upload
-------------------------------------------------------------*/
label.fileupload {
  border-radius: 5px;
  padding: 6px;
  margin-right: 10px;
  display: inline-block;
  position: relative;
  text-align: center;
}
label.fileupload {
  border: 1px solid #c8c8c8;
  background: #fff;
}
label.fileupload input[type='file'] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

label.fileupload input[type='text'] {
  border: none;
  width: 30px;
}

.uploaded_file .delete,
.file_delete_button,
.fileClear,
.delete_inherit_file,
.btn_delete {
  display: inline-block;
  padding: 6px;
  vertical-align: middle;
  color: #fff;
  background: #d64747;
  padding: 3px 6px;
  margin: 0 8px;
  border-radius: 4px;
  cursor: pointer;
  border: none;
  text-decoration: none;
}
@media screen and (max-width: 480px) {
    .uploaded_file .delete,
    .file_delete_button,
    .fileClear,
    .delete_inherit_file,
    .btn_delete {
        margin: 3px 8px;
    }
}
.btn_delete:hover {
    color: #fff;
    background: #d64747;
}
.uploaded_file .delete i,
.file_delete_button i,
.btn_delete i {
  margin-right: 2px;
  color: #fff;
}

/*-------------------------------------------------------------
  radio, checkbox
-------------------------------------------------------------*/
input[type=radio],
input[type=checkbox] {
  display: none!important;
}
.cms-content input[type=radio],
.cms-content input[type=checkbox] {
  display: inline-block!important;
}
label.radio_text, label.checkbox_text {
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  margin: 0 10px 8px 0;
  padding: 2px 2px 2px 24px;
  cursor: pointer;
  line-height: 1.2;
}
@media screen and (max-width: 480px) {
  label.radio_text, label.checkbox_text {
    display: block;
  }
}
label.radio_text .inputLabel, label.checkbox_text .inputLabel {
  vertical-align: top;
}
input[type=radio] + .inputLabel:before,
input[type=checkbox] + .inputLabel:before {
  position: absolute;
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  top: 1px;
  left: 0;
  display: block;
  background: #fff;
  vertical-align: top;
}
input[type=radio] + .inputLabel:before {
  border: 1px solid #a2a2a2;
  border-radius: 50%;
}
input[type=radio] + .inputLabel.widget-store-payment-confirm:before {
    display: none;
}
input[type=checkbox] + .inputLabel:before {
  border: 1px solid #c8c8c8;
}
input[type=radio] + .inputLabel:after,
input[type=checkbox] + .inputLabel:after {
  transition: opacity 0.1s linear;
  position: absolute;
  content: '';
  display: block;
  opacity: 0;
}
input[type=radio] + .inputLabel:after {
  width: 10px;
  height: 10px;
  top: 5px;
  left: 4px;
  border-radius: 50%;
}
input[type=radio] + .inputLabel.widget-store-payment-confirm:after {
    display: none;
}
input[type=checkbox] + .inputLabel:after {
  width: 5px;
  height: 14px;
  top: -2px;
  left: 5px;
  transform: rotate(45deg);
}
input[type=radio]:checked + .inputLabel:after,
input[type=checkbox]:checked + .inputLabel:after {
  opacity: 1;
}
span.confirm-checked {
  min-width: 20px;
  min-height: 20px;
  padding-left: 20px;
  display: inline-block;
  position: relative;
}
span.confirm-checked::before {
  position: absolute;
  content: '';
  display: block;
  width: 4px;
  height: 10px;
  top: 2px;
  left: 6px;
  transform: rotate(45deg);
}

/*-------------------------------------------------------------
  plusminus-checkbox
-------------------------------------------------------------*/
.plusminus-checkbox {
  display: none;
}

.plusminus-checkbox:checked + .plusminus-label:before {
  display: inline;
}

.plusminus-checkbox:checked + .plusminus-label:after {
  display: none;
}

label.plusminus-label {
  display: inline-block;
  position: relative;
  margin-left: 24px;
  padding: 2px 0 0 0;
  line-height: 1.4;
}

label.plusminus-label:before {
  content: "";
  display: none;
  position: absolute;
  left: -24px;
  top: 3px;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: 0 0;
}

label.plusminus-label:after {
  content: "";
  display: inline;
  position: absolute;
  left: -24px;
  top: 3px;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: 0 0;
}

/*-------------------------------------------------------------
  select box
-------------------------------------------------------------*/
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 37px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 10px;
  outline: none;
  display: block;
  border: none;
  font-size: 100%;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

select:focus {
  -webkit-box-shadow: 0px 0px 2px 2px #ffd8d8;
  box-shadow: 0px 0px 2px 2px #ffd8d8;
}

select::-ms-expand {
  display: none;
}

.selectWrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background: #fff;
  border-radius: 4px;
  border: 1px solid #c8c8c8;
  overflow: hidden;
  max-width: 100%;
}

.selectWrap::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 22px;
}

.selectWrap::after {
  content: '';
  position: absolute;
  margin: auto;
  top: -3px;
  bottom: 0;
  right: 7px;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.selectWrap.wide select {
  width: 100%;
}

/*-------------------------------------------------------------
  tooltip (JS)
-------------------------------------------------------------*/
.js-tooltip {
  position: absolute;
  text-align: center;
  color: #fff;
}

.js-tooltip-body {
  background: #e37d39;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  border: 1px solid #e37d39;
}

.js-tooltip-arw {
  position: absolute;
  width: 20px;
  height: 20px;
  margin: auto;
  left: 50%;
  z-index: 1;
  overflow: hidden;
}

.js-tooltip-inner {
  padding: 4px 14px;
}

.js-tooltip-svg {
  fill: #e37d39;
}

/*-------------------------------------------------------------
  button
-------------------------------------------------------------*/
.baseBtn {
  position: relative;
  display: inline-block;
  width: auto;
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  transition: opacity 0.3s;
  box-sizing: border-box;
  cursor: pointer;
  border: none;
}
.baseBtn > span {
  position: relative;
  color: #fff;
  font-weight: bold;
}
.baseBtn:hover {
  color: #fff;
  opacity: 0.9;
}
[class^="icon-"].baseBtn,
.inputfld [class^="icon-"].baseBtn {
    padding: 8px 10px 8px 24px;
}
[class^="icon-"].baseBtn:before {
    position: absolute;
    font-family: "FontAwesome";
    left: 8px;
    top: 50%;
    margin-top: -7px;
    font-weight: normal;
}
[class^="icon-"].baseBtn:after {
    display: none;
}
.baseBtn.icon-add:before{
    content: "\f067";
}
.baseBtn.icon-circle-up:before{
    content: "\f01b";
}
.baseBtn.icon-check-square:before{
    content: "\f046";
}
@media screen and (max-width: 480px) {
    [class^="icon-"].baseBtn,
    .inputfld [class^="icon-"].baseBtn {
        padding: 12px 10px 12px 24px;
    }
}
.nextPageBtn {
  position: relative;
  display: block;
  width: auto;
  margin-top: 10px;
  padding: 12px 24px 12px 12px;
  border-radius: 5px;
  text-align: center;
  font-size: 18px;
  text-decoration: none;
}

.nextPageBtn > span {
  position: relative;
  color: #fff;
  font-weight: bold;
}

.nextPageBtn:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.nextPageBtn:after {
  top: -2px;
  right: 10px;
}

.prevPageBtn {
  position: relative;
  display: block;
  width: auto;
  margin-top: 10px;
  padding: 12px 12px 12px 24px;
  border-radius: 5px;
  text-align: center;
  font-size: 18px;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #b1b1b1;
}

.prevPageBtn > span {
  position: relative;
  color: #7b7b7b;
  font-weight: bold;
}

.prevPageBtn:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  border-right: solid 2px #999;
  border-bottom: solid 2px #999;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.prevPageBtn:after {
  top: -2px;
  left: 10px;
}

.borderBtn {
  position: relative;
  display: block;
  width: auto;
  margin-top: 10px;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  text-decoration: none;
  background-color: #fff;
  padding: 5px 18px 5px 5px;
  border: 1px solid #c8c8c8;
}

.borderBtn > span {
  position: relative;
  font-weight: bold;
  padding-right: 15px;
}

.borderBtn:after {
  content: '';
  position: absolute;
  margin: auto;
  bottom: 0;
  top: -2px;
  right: 10px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.borderBtn > span {
  font-weight: normal;
}

.btn_modal,
.btn_externalLink {
  position: relative;
  min-height: 37px;
  width: 100%;
  margin-top: 10px;
  box-sizing: border-box;
}

.btn_modal a,
.btn_externalLink a {
  position: absolute;
  right: 0;
  display: block;
  width: auto;
  min-width: 210px;
  max-width: 100%;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  border: solid 1px #c8c8c8;
  font-size: 15px;
  font-weight: bold;
  padding: 5px 25px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}
.disabledItem .btn_modal a,
.disabledItem .btn_externalLink a {
  background-color: #f4f4f4;
}
.btn_modal a > span,
.btn_externalLink a > span {
  position: relative;
  padding-right: 15px;
  font-weight: bold;
}
.btn_modal a:after,
.btn_externalLink a:after {
  content: '';
  position: absolute;
  margin: auto;
  top: -2px;
  right: 10px;
  bottom: 0;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
@media screen and (max-width: 1280px) {
  .btn_modal a,
  .btn_externalLink a {
    font-size: 13px;
  }
  .btn_modal a > span,
  .btn_externalLink a > span {
    padding-right: 10px;
  }
}
@media screen and (max-width: 999px) {
  .btn_modal a,
  .btn_externalLink a {
    font-size: 12px;
  }
}
@media screen and (max-width: 480px) {
  .btn_modal a,
  .btn_externalLink a {
    width: 100%;
  }
}

/*-------------------------------------------------------------
  buttons
-------------------------------------------------------------*/
.submit_btns {
  width: 100%;
  margin: 20px auto;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
   justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.submit_btns .notice {
  width: 100%;
  text-align: center;
  margin: 10px 0 0;
}
.submit_btns .btn_detail {
  position: relative;
  float: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 30%;
  max-width: 270px;
  padding: 0;
  margin: 0 1%;
}
/* 新旧共通タグ用 */
.submit_btns > .cf {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* シングルサインオンを併用する場合のボタン(新規・ログイン共通) */
@media screen and (min-width: 769px) {
  .submit_btns .btn_detail.btn_login_with_sso {
      width: auto;
      min-width: 360px;
      max-width: 90%;
  }
}
@media screen  and (min-width: 481px) and (max-width: 640px) {
  .submit_btns .btn_detail.btn_login_with_sso {
      width: 90%;
  }
}

.submit_btns + .caution {
    margin-top: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
  .submit_btns,
  .submit_btns > .cf {
    flex-flow: column;
  }
  .submit_btns .notice {
    margin: 0 0 10px;
  }
  .submit_btns .btn_detail {
    width: 60%;
    max-width: 100%;
    margin: 10px auto 0!important;/*style.css打ち消し*/
    letter-spacing: normal;
  }
  .submit_btns .btn_next,
  .submit_btns .regist {
    order: 1;
  }
  .submit_btns .btn_pdf {
    order: 2;
  }
  .submit_btns .btn_prev {
    order: 3;
  }
  .submit_btns .btn_detail.btn_next.delete,
  .submit_btns .btn_detail.btn_next.warning {
    order: 4;
  }
  .submit_btns + .caution {
      font-size: 14px;
  }
}
@media only screen and (max-width: 480px) {
  .submit_btns .btn_detail,
  .submit_btns .custom_items_button {
    width: 100%;
    font-size: 14px;
  }
  .submit_btns .notice {
    text-align: left;
  }
  .submit_btns + .caution {
      font-size: 12px;
  }
}

/* 見積り・注文ボタンの並び */
.submit_btns .btn_estimate {
  order: 2;
}
.submit_btns .btn_order {
  order: 3;
}

@media screen and (max-width: 768px) {
  .submit_btns .btn_estimate {
    order: 1;
  }
  .submit_btns .btn_order {
    order: 2;
  }
  .submit_btns .btn_prev {
    order: 3;
  }
}

.submit_btns .custom_items_button {
    position: relative;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
}

.submit_btns .btn_detail .custom_items_button {
    width: 100%;
}
/* btn_detail */
.btn_detail {
  position: relative;
}
[class^="btn_"].btn_detail a,
[class^="btn_"].btn_detail button,
[class^="btn_"].btn_detail input,
.submit_btns .custom_items_button {
  border: none;
  box-sizing: border-box;
  padding: 10px 20px;
  font-weight: bold;
  color: #fff;
  width: 100%;
  font-size: 16px;
  border-radius: 3px;
  transition: .1s;
  cursor: pointer;
  position: relative;
  display: block;
  line-height: 20px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
.submit_btns .custom_items_button:focus{
  outline:0 !important;
}
@media only screen and (max-width: 480px) {
  .btn_detail {
    width: 100%;
    max-width: 100%;
  }
  .btn_detail a,
  .btn_detail button,
  .btn_detail input {
    padding: 10px 0;
  }
}
.btn_detail.btn_prev:after,
.btn_detail.btn_next:after,
.btn_detail.btn_next.delete:before,
.btn_detail.regist:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.btn_detail.btn_prev:after,
.btn_detail.btn_prev:after {
  left: 10px;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
.btn_detail.btn_prev:after {
  border-right: solid 2px #999;
  border-bottom: solid 2px #999;
}
.btn_detail.btn_prev a {
  color: #7b7b7b;
  background-color: #fff;
  border: 1px solid #b1b1b1;
}
.btn_detail.btn_prev button {
  color: #7b7b7b;
  background-color: #fff;
  border: 1px solid #b1b1b1;
}
.btn_detail.btn_prev a:hover {
  color: #222;
  background-color: #f8f8f8;
}
.btn_detail.btn_prev button:hover {
  color: #7b7b7b;
  background-color: #f8f8f8;
}
.btn_detail.btn_next:after,
.btn_detail.regist:after {
  right: 10px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.btn_detail.no-arrow:after {
  display: none;
}
/* 削除ボタン（アイコンが×になる）・警告カラー（色のみ赤） */
.btn_detail.btn_next.delete a,
.btn_detail.btn_next.warning a {
  background-color: #d64747;
}
.btn_detail.btn_next.delete a:hover,
.btn_detail.btn_next.warning a:hover {
  background-color: #f15f5f;
}
.btn_detail.btn_next.delete:before,
.btn_detail.btn_next.delete:after {
  left: 14px;
  right: auto;
  width: 2px;
  height: 16px;
  background: #fff;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 2;
  border: none;
}
.btn_detail.btn_next.delete:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn_detail.btn_next.download:before {
  content: "";
  width: 2px;
  height: 14px;
  background: #fff;
  position: absolute;
  right: 13px;
  top: 12px;
  z-index: 2;
}
.btn_detail.btn_next.download:after {
  right: 9px;
  top: 2px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* 印刷ボタン */
.btn_detail.print :before {
  content: "\f02f";
  color: #fff;
  position: absolute;
  left: 12px;
  top: 10px;
  font-family: FontAwesome;
  z-index: 2;
  font-weight: normal;
}

/* .btn_action */
.btn_action {
  margin: 0 0 10px 0;
  padding: 0;
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 480px) {
  .btn_action {
    display: block;
  }
}
.btn_action a,
.btn_action input,
.btn_action button {
  display: block;
  width: auto;
  min-width: 200px;
  margin: 0;
  padding: 7px 20px 7px 40px;
  border-radius: 3px;
  text-decoration: none;
  text-align: center;
  font-size: 100%;
  color: #333;
  background-color: #e3e3e3;
  box-sizing: border-box;
  line-height: 1.6;
}
.btn_action a:hover,
.btn_action input:hover,
.btn_action button:hover {
  background-color: #eaeaea;
}
.btn_remove a {
  color: #fff;
  background-color: #d64747;
}
.btn_remove a:hover {
  background-color: #f15f5f;
}
.btn_action:before {
  color: #aaa;
  position: absolute;
  left: 12px;
  top: 6px;
  font-family: FontAwesome;
  font-size: 16px;
  z-index: 2;
  border: none;
}
.btn_download:before {
  content: "\f019";
}
.btn_upload:before {
  content: "\f093";
}
.btn_check:before {
  content: "\f00c";
}
.btn_remove:before {
  content: "\f00d";
  color: #fff;
}
/* フォーム内ベースボタン・追加ボタン */
.inputfld .baseBtn {
  display: inline-block;
  min-height: 36px;
  margin: 0;
  padding: 8px 26px 8px 18px;
  color: #fff;
  font-weight: normal;
  font-size: 14px;
  vertical-align: middle;
  position: relative;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .inputfld .baseBtn {
    margin: -8px 0 0 0;
  }
  .inputfld .baseBtn.provisioning {
    margin: 8px 0 0 0;
  }
}
@media screen and (max-width: 480px) {
  .inputfld .baseBtn {
    display: block;
    margin: 5px auto;
  }
}
.inputfld .baseBtn:after {
  content: '';
  position: absolute;
  margin: auto;
  top: -2px;
  bottom: 0;
  right: 10px;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.inputfld .baseBtn.add {
  padding: 8px 18px 8px 26px;
}
.inputfld .baseBtn.add:after,
.inputfld .baseBtn.add:before {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: auto;
  border: none;
  transform: none;
}
.inputfld .baseBtn.add:before {
  width: 10px;
  height: 2px;
  left: 8px;
  background: #fff;
}
.inputfld .baseBtn.add:after {
  width: 2px;
  height: 10px;
  left: 12px;
  background: #fff;
}
.inputfld .userName {
    display: inline-block;
}

/* 会員情報変更、ユーザー情報変更 */
.inputfld .userNameInput {
    float: left;
    margin-right: 1%;
}

.inputfld p.userNameCaption {
    width:100%;
    display:block;
    clear: both;
    padding-top: 5px;
}

/* カート設定、マイページ設定 */
.inputfld p.userNameCaptionCartMypage {
    width: 100%;
    display: block;
    clear: both;
    padding-top: 5px;
}

/* PDF・CSV出力 */
.btn_detail.pdf,
.btn_detail.csv {
  margin: 10px 0 0 10px;
  width: auto;
  float: right;
}
.btn_detail.pdf a,
.btn_detail.csv a {
  border: none;
  padding: 10px 30px 10px 50px;
  box-sizing: border-box;
  font-weight: normal;
  background: #e37d39 url(../images/icon-pdf.svg) no-repeat 8px center;
  background-size: auto;
}
.btn_detail.csv a {
  background-image: url(../images/icon-csv.svg);
}
@media only screen and (max-width: 480px) {
  .btn_detail.pdf a,
  .btn_detail.csv a {
    max-width: 250px;
    margin: 20px auto;
  }
}
.btn_detail.pdf_icon a {
    border: none;
    padding: 10px 30px 10px 50px;
    box-sizing: border-box;
    background: #e37d39 url(../images/icon-pdf.svg) no-repeat 8px center;
    background-size: auto;
}
/* マイページ　タブ内 */
@media only screen and (max-width: 768px) {
  .tabaccordionbody .submit_btns .btn_detail {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 480px) {
  .tabaccordionbody .submit_btns .btn_detail {
    width: 80%;
  }
}
/*確認画面*/
.mypageConf {
  margin: 0 auto;
}
.mypageConf .u-2cols-container{
  margin: 0;
}
.mypageConf .headline_wrp {
  padding: 0;
}
@media only screen and (min-width: 1024px) {
  .mypageConf .m-confirmCustomerInfo.u-2cols-container .o-left {
    width: 22em;
  }
  .mypageConf .m-confirmCustomerInfo.u-2cols-container .o-right {
    width: calc( 100% - 22em);
  }
}


/*-------------------------------------------------------------
  2cols
-------------------------------------------------------------*/
.u-2cols-container {
  width: 100%;
}
h3 + .u-2cols-container {
  margin-top: 20px;
}

.u-2cols-container .o-left {
  display: inline-block;
  float: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 49%;
}

.u-2cols-container .o-right {
  display: inline-block;
  float: right;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 49%;
}

/*-------------------------------------------------------------
  ツリーメニュー
-------------------------------------------------------------*/
.m-treeMenu {
  line-height: 1em;
}

.m-treeMenu,
.m-treeMenu .o-treeMenu {
  margin: 20px 0 0;
  padding: 0;
  list-style-type: none;
}

.m-treeMenu > .o-menuitem {
  margin-bottom: 0.5em;
  padding-left: 0;
}

.m-treeMenu > .o-menuitem:before {
  content: none;
}

.m-treeMenu .o-treeMenu {
  position: relative;
  margin-top: 0.5em;
  margin-left: 1em;
}

.m-treeMenu .o-treeMenu:not([class*='is_use_subkan']):before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -10px;
  width: 10px;
  height: calc(100% + 1em);
  border-left: 1px solid #c8c8c8;
}
.m-treeMenu .o-treeMenu:last-child:before{
  height: 1em;
}

.m-treeMenu .o-treeMenu .o-menuitem {
  position: relative;
  margin: 0;
  padding: 0.5em 1em;
}

.o-treeMenu:not([class*='is_use_subkan']) .o-menuitem:before {
  content: "";
  display: block;
  position: absolute;
  top: 1em;
  left: -10px;
  width: 0.8em;
  height: 0;
  border-top: 1px solid #c8c8c8;
}

@media only screen and (max-width: 768px) {
  .m-treeMenu .o-treeMenu:last-child:before {
    height: 0.9em;
  }
  .o-treeMenu:not([class*='is_use_subkan']) .o-menuitem:before {
    top: 0.9em;
  }
}
@media only screen and (max-width: 480px) {
  .m-treeMenu .o-treeMenu:not([class*='is_use_subkan']):before,
  .o-treeMenu:not([class*='is_use_subkan']) .o-menuitem:before {
    width: 8px;
    left: 4px;
  }
}

/* 開閉式ツリー */
#departmentUl {
    margin: 0 0 30px;
    padding: 0;
    font-size: 16px;
}
#departmentUl li {
    min-height: 30px;
    margin: 0;
    padding: 0 10px 0 30px;
    position: relative;
    box-sizing: border-box;
}
#departmentUl li::before {
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: 100%;
    background: #eee;
    left: 13px;
    top: 0;
    bottom: 0;
}
#departmentUl li:last-of-type::before {
    height: 15px;
}
#departmentUl li a {
    display: inline-block;
    padding: 5px;
    position: relative;
    border-left: none;
}
#departmentUl li a::before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 2px;
    background: #eee;
    left: -15px;
    top: calc( 50% - 2px );
    bottom: 0;
}
#departmentUl > li::before,
#departmentUl > li > a::before {
    display: none;
}
.departmentCaret {
    cursor: pointer;
    user-select: none; /* Prevent text selection */
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    left: 4px;
    top: 4px;
    border-radius: 3px;
    background: #eee;
    z-index: 5;
}
.departmentCaret::before,
.departmentCaret::after {
    content: "";
    display: block;
    position: absolute;
    background: #aaa;
    transition: 0.3s cubic-bezier(0.45, 0.01, 0.27, 1.4);
}
.departmentCaret::before {
    width: 2px;
    height: 8px;
    top: calc(50% - 4px);
    left: calc(50% - 2px);
    margin-left: 1px;
}
.departmentCaret::after {
    width: 8px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 4px);
}
.departmentCaretDown::before {
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    text-shadow: 0 0 3px #333;
}
.departmentCaretDown::after {
    transform: rotate(180deg);
}
.departmentNested {
    display: none;
}
.departmentActive {
    display: block;
}

/* 選択後表示 */
.department > .element {
  margin: 0 0 5px 0;
  font-size: 16px;
}
.m-inputCustomerInfo .department > .element {
  margin: 0 0 5px 0;
  padding: 8px 64px 8px 12px;
  border-radius: 4px;
  background: #f4f4f4;
  position: relative;
}
.m-inputCustomerInfo .department > .element .btn_delete {
  position: absolute;
  right: 0;
  top: 6px;
}
.department > .element span {
  margin: 0 4px 0 0;
  position: relative;
  display: inline-block;
}
.department > .element span:not(:first-of-type)::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 2px;
  margin-right: 4px;
  background: #ccc;
  vertical-align: middle;
}

/*===============================================================

    pankuzu

===============================================================*/

.pankuzu li {
  max-width: 100%;
}
/* SP向けレイアウトの指定：～480px */
@media only screen and (max-width: 480px) {
  .pankuzu {
    display: block;
  }
}  /* for SP max-width: 480px */

/*-------------------------------------------------------------
  コーナーボックス
-------------------------------------------------------------*/
.u-cornerBox-container .o-header {
  color: #fff;
  padding: 8px 0 5px;
  @inclue liquidFontSize_18();
  font-weight: bold;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  text-align: center;
}

.u-cornerBox-container .o-body {
  padding: 5px;
}

/*-------------------------------------------------------------
  ラジオボタン選択時: 親要素の背景色を変更
-------------------------------------------------------------*/
.js-radioSelectBox-container {
  position: relative;
  margin-bottom: 20px;
  border-bottom: 2px solid #c8c8c8;
}

.js-radioSelectBox-container p {
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .js-radioSelectBox-container p {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .js-radioSelectBox-container p {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .js-radioSelectBox-container p {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .js-radioSelectBox-container p {
    font-size: 11px;
  }
}

/*-------------------------------------------------------------
  モーダル
-------------------------------------------------------------*/
.modal_bg {
  background: rgba(0, 0, 0, 0.7);
}
.modal .close {
  top: 16px;
}
.modal .close:before,
.modal .close:after {
  background: #fff;
}
.modal_body {
  text-align: left;
}
.modal_body img {
  max-width: 100%;
  height: auto;
}
.modal .modal_contents_wrp {
  padding: 40px 30px 30px;
}
.modal .modal_inner {
  padding: 20px 20px 30px;
  border-radius: 3px;
}
.modal_header strong {
  font-weight: bold;
  color: #fff;
}
.l-cartItem .modal_header {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .modal .close {
    top: 0px;
    right: 30px;
  }
}
@media screen and (max-width: 480px) {
  .modal .close {
    right: 10px;
    top: 24px;
  }
  .modal .close:before, .modal .close:after {
    width: 24px;
  }
  .modal .modal_contents_wrp {
    padding: 50px 10px 30px;
  }
  .modal .modal_inner {
    padding: 10px 10px 20px;
  }
}
/*-------------------------------------------------------------
  ページャー
-------------------------------------------------------------*/
.u-pager {
  overflow: hidden;
}

.headline + .u-pager,
.content_cart.a-EC-view + .u-pager {
  margin-top: 40px;
}
@media screen and (max-width: 480px) {
  .headline + .u-pager {
    margin-top: 30px;
  }
}

.u-pager.spOnly {
  display: none;
}

@media screen and (max-width: 768px) {
  .u-pager.spOnly {
    display: inherit;
    float: none;
  }
}

.u-pager > ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}

.u-pager > ul li {
  margin: 0 5px 5px;
  position: relative;
  left: -50%;
  float: left;
}

.u-pager > ul li > span,
.u-pager > ul li > a {
  border: 1px solid;
  display: block;
  font-size: 16px;
  padding: 0.5em 0.8em 0.3em;
  border-radius: 5px;
  font-weight: bold;
  min-width: 12px;
}

@media screen and (max-width: 380px) {
  .u-pager > ul li > span,
  .u-pager > ul li > a {
    font-size: 4.200vw;
  }
  .u-pager > ul li {
    margin: 0 1px 3px;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li > span,
  .u-pager > ul li > a {
    border-radius: 0;
  }
}

.u-pager > ul li > a {
  background: #fff;
  text-decoration: none;
  text-align: center;
}

.u-pager > ul li > a:hover {
  color: #FFF;
}

.u-pager > ul li.a-pager-current a,
.u-pager > ul li.a-pager-current span {
  color: #FFF;
}

.u-pager > ul li.a-pager-disable a,
.u-pager > ul li.a-pager-disable span {
  background: #fff;
  color: #c8c8c8;
  border: 1px solid #c8c8c8;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-first > a,
  .u-pager > ul li.a-pager-first > span {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-first {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-prev {
    margin-left: -1px;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-next {
    margin-right: -1px;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-last {
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .u-pager > ul li.a-pager-last > a,
  .u-pager > ul li.a-pager-last > span {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}

/* 画面幅が480pxまでならページャーの最大表示件数は3件とする */
@media screen and (max-width: 480px) {
    .u-pager > ul li.max_pager_3_disp_none {
        display: none;
    }
}
/* 画面幅が1024pxまでならページャーの最大表示件数は5件とする */
@media screen and (max-width: 1024px) {
    .u-pager > ul li.max_pager_5_disp_none {
        display: none;
    }
}
/*-------------------------------------------------------------
  ヘッダー
-------------------------------------------------------------*/
#js-spmenu-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.5;
  background-color: #000;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #js-spmenu-bg {
    display: none !important;
  }
}

.header {
    min-height: 90px;
    padding: 5px 5%;
    height: auto;
    position:relative;
    box-sizing: border-box;
}
.header .cf {
    padding: 0 5px;
}
.header .header-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header .nav,
.header .logo {
    width: auto;
    box-sizing: border-box;
}
.header .logo {
    width: 300px;
    max-width: 100%;
}
.header .logo span {
    font-weight: bold;
    color: #898989;
}
.header .logo a {
    color: #333;
    text-decoration: none;
    display: block;
}
.header .logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
.header_wrp {
    width: 100%;
    background: #fff;
    z-index: 2000;
}
.header_wrp .username {
    height: auto;
    word-break: break-all;
    line-height: 1.3;
}
.header .nav ul {
}
.header .nav ul li {
    float:left;
    width:80px;
    text-align:center;
    font-size:12px;
    line-height:15px;
    position:relative;
}
.header .nav ul li a {
    display:block;
    text-decoration:none;
    color:#333;
    padding-top:50px;
}
@media screen and (min-width: 769px) {
  .username.pcOnly {
    display: block;
  }
}
@media screen and (max-width: 1280px) {
  .header {
    padding: 5px 65px 5px 5%;
  }
}
@media screen and (max-width: 768px) {
  .header {
    width: 100%;
    padding: 0;
    height: auto;
    min-height: 60px;
    background :#fff;
    z-index: 500;
    text-align: center;
    border-bottom: 1px solid #c8c8c8;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.20);
  }
  .header .header-content {
    justify-content: center;
    height: 60px;
    width: calc( 100% - 60px);
  }
  .header .header-content .logo {
    margin: 0 auto;
    padding-left: 60px;
  }
  .header .header-content .logo img {
    margin: 0 auto;
  }
  .header_wrp .header .nav {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 60px;
    height: 60px;
    top: 0;
    left: 0;
    right: auto;
    background-color: #fff;
    border: 1px solid #c8c8c8;
  }
  .header_wrp .header .nav .navlist {
    display: none;
  }
  .header_wrp .header .nav:after {
    position: absolute;
    right: 14px;
    top: 18px;
    content: "\f0c9";
    font-family: FontAwesome;
    font-size: 36px;
  }
  .header_wrp .header .nav.open:after {
    content: "\f00d";
  }
  .header_wrp .username {
      padding: 5px;
  }
  .header_wrp .username.membercard {
      padding: 5px 70px 5px 5px;
  }
  .header .nav,
  .navigation_wrp .navigation .btn_cart,
  .navigation_wrp .nav {
    display: none;
  }
  .header_wrp .nav .navlist.open {
    display: block;
  }
  .header_wrp .nav {
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .header_wrp .nav .navlist {
    display: none;
    position: absolute;
    width: 280px;
    left: 0;
    top: 60px;
  }
  .header_wrp .nav .navlist li.home,
  .header_wrp .nav .navlist li.inquiry,
  .header_wrp .nav .navlist li.mypage,
  .header_wrp .nav .navlist li.signin,
  .header_wrp .nav .navlist li.login,
  .header_wrp .nav .navlist li.logout {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0 10px;
  }
  .header_wrp .nav .navlist li.home a,
  .header_wrp .nav .navlist li.inquiry a,
  .header_wrp .nav .navlist li.mypage a,
  .header_wrp .nav .navlist li.signin a,
  .header_wrp .nav .navlist li.login a,
  .header_wrp .nav .navlist li.logout a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 70px;
    text-align: left;
    color: #fff;
    font-size: 18px;
    line-height: 70px;
    font-weight: bold;
    margin: 0;
    padding-top: 0;
    padding-left: 55px;
  }
  .header_wrp .nav .navlist li.home a:before,
  .header_wrp .nav .navlist li.inquiry a:before,
  .header_wrp .nav .navlist li.mypage a:before,
  .header_wrp .nav .navlist li.signin a:before,
  .header_wrp .nav .navlist li.login a:before,
  .header_wrp .nav .navlist li.logout a:before {
    display: none;
  }
  .header_wrp .nav .navlist li.home:before,
  .header_wrp .nav .navlist li.inquiry:before,
  .header_wrp .nav .navlist li.mypage:before,
  .header_wrp .nav .navlist li.signin:before,
  .header_wrp .nav .navlist li.login:before,
  .header_wrp .nav .navlist li.logout:before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: 30px;
    height: 30px;
    background-size: 30px 30px;
  }
  .header_wrp .nav .navlist li:last-child a {
    border-bottom: none;
  }
  .header_wrp .nav .navlist .home:before {
    background: url(../images/icon_home.png) no-repeat top center;
  }
  .header_wrp .nav .navlist .inquiry:before {
    background: url(../images/icon_help.png) no-repeat top center;
  }
  .header_wrp .nav .navlist .mypage:before {
    background: url(../images/icon_person_plus.png) no-repeat top center;
  }
  .header_wrp .nav .navlist .signin:before {
    background: url(../images/icon_person_plus.png) no-repeat top center;
  }
  .header_wrp .nav .navlist .login:before,
  .header_wrp .nav .navlist .logout:before {
    background: url(../images/icon_door_in.png) no-repeat top center;
  }
  .header_wrp .nav .navlist .login:before a,
  .header_wrp .nav .navlist .logout:before a {
    border-bottom: none;
  }
}

@media screen and (max-width: 480px) {
  .header_wrp .nav .navlist {
    top: 60px;
  }
}

/* 切り替えタブ(SP時にアコーディオン化)  */
.m-tabaccordion .tabaccordionhead {
  position: relative;
}

.m-tabaccordion .tabaccordionhead > ul {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  text-align: left;
}

.m-tabaccordion .tabaccordionhead > ul > li {
  background-color: #efefef;
  float: none;
  font-weight: bold;
  border-left: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  border-top: 1px solid #c8c8c8;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin-right: 5px;
  max-width: 25%;
  vertical-align: bottom;
  position: relative;
  line-height: 1.2;
}
@media screen and (max-width: 1280px) {
  .m-tabaccordion .tabaccordionhead li a {
    padding: 15px;
    font-size: 15px;
  }
}
@media screen and (max-width: 1198px) {
  .m-tabaccordion .tabaccordionhead li a {
    padding: 15px 12px;
    font-size: 14px;
  }
}
@media screen and (max-width: 1023px) {
  .m-tabaccordion .tabaccordionhead li a {
    padding: 15px 10px;
    font-size: 13px;
  }
}

/* ボーダーの縮小対策 */
.m-tabaccordion .tabaccordionhead > ul > li:after {
  position: absolute;
  left: 0;
  bottom: -1px;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #efefef;
}

.m-tabaccordion .tabaccordionhead > ul > li.active,
.m-tabaccordion .tabaccordionhead > ul > li.active:after {
  background: #fff;
}

.m-tabaccordion .tabaccordionhead > ul > li > a {
  align-items: center;
  box-sizing: border-box;
  height: 100%;
}

.m-tabaccordion .tabaccordionhead > ul > li.active a {
  background: transparent;
}

.m-tabaccordion .tabaccordionbody {
  margin-top: -1px;
  background: #fff;
  padding: 15px 20px;
  border: 1px solid #c8c8c8;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
@media screen and (max-width: 960px) {
  .tabaccordionhead {
    display: none;
  }
  .tabaccordionbody .accordion_header {
    display: block;
  }
  .m-tabaccordion {
    border: 1px solid #c8c8c8;
    padding: 10px;
    border-radius: 3px;
    background:#fff;
  }
  .m-tabaccordion .tabaccordionbody {
    background: transparent;
  }
  .m-tabaccordion .tabaccordionbody,
  .m-tabaccordion .tabcontent {
    border: none;
    padding: 0;
  }
  .m-tabaccordion .tabcontent {
    padding: 10px 0;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header a {
    display:block;
    position:relative;
    text-decoration:none;
    box-sizing: border-box;
    border: none;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header:not(:first-of-type) {
    margin: 10px 0 0 0;
  }
}

@media screen and (max-width: 960px) {
  .m-tabaccordion .tabaccordionbody .accordion_header a {
    text-align: center;
    color: #fff;
    padding: 12px 70px 12px 20px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 4px;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header a:before {
    display: none;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header a:after {
    content: '';
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 20px;
    width: 29px;
    height: 29px;
    background-image: url("../images/icon_chevron-circle-down.png");
    background-repeat: no-repeat;
    background-position: 0 0;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    background-color: inherit;
    color: #fff;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header.active a {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .m-tabaccordion .tabaccordionbody .accordion_header.active a:after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
}

/* アコーディオンメニュー */
.m-accordion-menu {
  text-align: center;
  margin-bottom: 30px;
}

.m-accordion-menu .o-header {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  color: #fff;
  padding: 15px 60px 12px 20px;
  font-size: 24px;
  font-weight: bold;
  border-radius: 4px;
}

@media screen and (max-width: 1280px) {
  .m-accordion-menu .o-header {
    font-size: 21px;
  }
}

@media screen and (max-width: 999px) {
  .m-accordion-menu .o-header {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .m-accordion-menu .o-header {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .m-accordion-menu .o-header {
    font-size: 15px;
  }
}

.m-accordion-menu .open .o-header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.m-accordion-menu .o-header:after, .m-topFilterBox .o-box-head:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 29px;
  height: 29px;
  background-image: url("../images/icon_chevron-circle-down.png");
  background-repeat: no-repeat;
  background-position: 0 0;
}

.m-accordion-menu .open .o-header:after,.m-topFilterBox .o-box-head.open:after {
  background-image: url("../images/icon_chevron-circle-up.png");
}

.m-accordion-menu .o-body {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  text-align: left;
  padding: 20px;
  border-left: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  border-bottom: 1px solid #c8c8c8;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

@media screen and (max-width: 834px) {
  .m-accordion-menu .o-body {
    padding: 10px;
  }
}

/*-------------------------------------------------------------
  入力フォーム(増減ボタン付き: spinner)
-------------------------------------------------------------*/
.ui-spinner {
  padding: 1px 0;
  display: flex !important;
  justify-content: space-between;
  width: 110px;
  text-align: center;
  border: none !important;
  background: none !important;
}

.ui-spinner input[type="text"] {
  margin: 0;
  width: 70px !important;
  height: 32px !important;
  display: block;
}

.ui-spinner > a {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  background: none;
  border: none;
}

.ui-spinner > a:hover {
  background: none !important;
  font-size: 1em !important;
}

.ui-spinner a.ui-spinner-down,
.ui-spinner a.ui-spinner-up {
  position: relative;
  display: block;
  cursor: pointer;
  cursor: hand;
  box-sizing: border-box;
  width: 18px;
  height: 32px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
}
.ui-spinner a.ui-spinner-down {
  order: 1;
}
.ui-spinner input[type="text"] {
  order: 2;
}
.ui-spinner a.ui-spinner-up {
  order: 3;
}

.ui-spinner > a > .ui-icon {
  height: 100%;
  background-image: none!important;
  text-indent: inherit;
  font-size: 14px;
  line-height: 32px;
  top: 0;
  left: 0;
  margin: 0;
  text-indent: 0;
}

.ui-spinner > a.disabled {
    background-color: #ccc;
}
.ui-spinner > a.ui-spinner-down.disabled {
    pointer-events: none;
}

/*-------------------------------------------------------------
  スライダー
-------------------------------------------------------------*/
.slide_img a.img_title {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
}

/* ヘッドライン */
.m-headline {
  text-align: center;
  position: relative;
  margin-bottom: 40px;
}

.m-headline.topheader {
  margin-top: 80px;
}

.m-headline .o-title {
  display: inline-block;
  padding-bottom: 5px;
  font-size: 32px;
  line-height: 1.5;
}

/* タブレット以下 */
@media screen and (max-width: 768px) {

}   /* for tablet max-width: 768px */

/* SP向けレイアウトの指定：～480px */
@media only screen and (max-width: 480px) {
.m-headline .o-title {
    font-size:25px;
}
}   /* for SP max-width: 480px */

.m-headline-mini {
  text-align: left;
  position: relative;
  border-radius: 4px;
}

.l-itemDetailMainBox > .m-headline-mini {
  text-align: center;
  background-color: #fff;
  border-radius: 0;
}

.m-headline-mini.topheader {
  margin-top: 80px;
}

.m-headline-mini .o-title {
  display: block;
  padding: 12px 30px 9px 30px;
  font-size: 24px;
  line-height: 24px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .m-headline-mini .o-title {
    padding: 10px;
    font-size: 20px;
  }
}

/* システムメッセージ */
.message_container {
    margin-bottom: 30px;
    padding: 15px 20px;
    border-radius: 4px;
}
.message_container .inner p {
    margin-bottom: 0;
}
.message_container.error {
  color: #d64747;
  border: solid 1px #d64747;
  background: #ffeeed;
}
.login_panel .message_container{
  margin-top: 20px;
}

/* ナビゲーションバンド */
.navigation_wrp {
  width: 100%;
  height: auto;
}

.btn_product {
  width: auto;
}

@media screen and (max-width: 768px) {
  .btn_product {
    z-index: 0;
  }
}

.navigation {
  width: 100%;
  height: auto;
  position: relative;
  display: flex; /*IE11対策*/
}
.menu_icon {
  min-height: 80px;
  height: auto;
  padding: 15px 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
    .menu_icon {
        width: calc( 100% - 120px );
    }
}
.menu_icon a {
    margin-right: 20px;
    padding: 5px;
    line-height: 1.4;
    font-size: 140%;
    font-weight: bold;
    display: block;
    box-sizing: border-box;
}
.menu_icon a:last-of-type {
    margin-right: 0;
}
@media screen and (max-width: 1024px) {
    .menu_icon a {
        font-size: 120%;
    }
}
@media screen and (max-width: 768px) {
    .navigation {
        height: auto;
    }
    .menu_icon {
        padding: 0;
        min-height: auto;
    }
    .menu_icon a {
        margin: 0;
        padding: 10px 15px;
    }
}
@media screen and (max-width: 480px) {
    .menu_icon {
        width: 100%;
        flex-direction: column;
    }
    .menu_icon a {
        width: 100%;
        border-bottom: 1px solid #fff;
        font-size: 100%;
    }
}
/*-------------------------------------------------------------
  お知らせ
-------------------------------------------------------------*/
/* 一覧 */
.topics {
    width: 100%;
    max-width: 1280px;
    box-sizing: border-box;
    margin: 50px auto 80px;
    padding: 0 50px;
    font-size: 14px;
}
.my_page_topics {
     width: 100%;
     max-width: 1280px;
     box-sizing: border-box;
     margin: 50px auto 10px;
     padding: 0 50px;
     font-size: 14px;
}
.topics h3,.my_page_topics h3 {
  margin: 10px 0;
}
.topics .topic_list {
  margin: 0 0 50px 0;
  border-top: solid 1px #ddd;
  position: relative;
}
.my_page_topics .topic_list {
    margin: 0 0 5px 0;
    border-top: solid 1px #ddd;
    position: relative;
}
.topic_list dt {
  clear: left;
  float: left;
  width: 10em;
  padding: 12px 0 0;
}
.topic_list dd {
  padding: 15px 0;
  padding-left: 10em;
  border-bottom: solid 1px #ddd;
}
.topic_list dt .icon i {
    color: #fff;
    vertical-align: middle;
}
.topic_list dt.important .icon {
    visibility: visible;
}
.topic_list dt .icon {
    visibility: hidden;
    display: inline-block;
    margin-right: 5px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    background-color: #d64747;
    border-radius: 50%;
}

@media only screen and (max-width: 768px) {
  .topics {
    margin: 30px 0 40px;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 480px) {
  .topics h3 {
    font-size: 18px;
  }
  .topic_list {
    margin: 0 0 30px;
  }
  .topic_list dt {
    font-size: 12px;
  }
  .topic_list dt {
    width: 100%;
    float: none;
    padding: 10px 0 0 0;
    font-weight: bold;
  }
  .topic_list dt .icon {
    width: 20px;
    height: 20px;
    line-height: 20px;
    margin-right: 3px;
  }
  .topic_list dd {
    padding: 2px 0 10px 26px;
    font-size: 12px;
    line-height: 1.5;
  }
}
/* お知らせ詳細 */
.newsDetail section {
  width: 100%;
  max-width: 780px;
  box-sizing: border-box;
}
.newsDetail .headline .title {
  display: block;
  text-align: left;
  line-height: 1.2;
}
.newsDetail .headline .title .important {
  margin-right: 10px;
  padding: 5px;
  display: inline-block;
  font-size: 0.4em;
  color: #d64747;
  border: 1px solid #d64747;
  border-radius: 2px;
  vertical-align: middle;
  line-height: 1;
}
.newsDetail .newsDate {
  margin: 5px 0 0 0;
  text-align: right;
}
.newsDetail .newsContent{
  padding: 30px 0;
  border-bottom: 1px solid #ddd;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .newsDetail .submit_btns .btn_detail{
    width: 270px;
  }
}
@media screen and (max-width: 768px) {
  .newsDetail .newsContent{
    padding: 20px 0;
  }
}
@media screen and (max-width: 480px) {
  .newsDetail .headline .title .important {
    font-size: 0.45em;
  }
  .newsDetail .newsDate {
    font-size: 12px;
  }
}

/* カートボタン */
.btn_cart p a,
.btn_cart p,
.btn_cart {
  width: 63px;
  height: 56px;
}

.btn_cart p a {
  font-size: 21px;
  line-height: 33px;
  background-size: 63px 56px;
  padding-left: 7px;
}

@media screen and (max-width: 768px) {
  .header .btn_cart {
    width: 60px;
    height: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #c8c8c8;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
  .header .btn_cart p {
    width: 60px;
    height: 60px;
    background: transparent no-repeat center center;
    background-size: 37px 35px;
    left: 0;
  }
  .header .btn_cart p > a {
    width: 60px;
    height: 60px;
    font-size: 12px;
    color: #fff;
    padding-left: 5px;
    background: none;
    line-height: 48px;
  }
}

/* EC表示用ダミー */
.a-ec-dummy {
  display: none;
}

.content_cart.a-EC-view .a-ec-dummy {
  display: inherit;
}

/* 上下レイアウト */
.section_inner.l-section-wide .sidemenu_wrp {
  width: 100%;
}

.section_inner.l-section-wide .contents_wrp {
  width: 100%;
  max-width: inherit;
}

.section_inner.l-section-wide .content_cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.section_inner.l-section-wide .content_cart:after {
  display: none;
}

@media screen and (max-width: 768px) {
  .section_inner.l-section-wide .content_cart {
    display: block;
  }
}

.section_inner.l-section-wide .l-productListItem {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  -ms-flex-preferred-size: calc( 50% - 15px);
  flex-basis: calc( 50% - 15px);
}
.favorites .l-productListItem {
  background: #fff;
}
.section_inner.l-section-wide .m-charges-model > ul > li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 30px;
  float: none;
}

.section_inner.l-section-wide .m-charges-model > ul > li:nth-child(odd) {
  margin-right: 0;
}

.section_inner.l-section-wide .m-charges-model > ul > li:nth-child(even) {
  margin-left: 0;
}

.section_inner.l-section-wide .m-charges-model > ul > li:nth-child(n+3) {
  margin-top: 0;
}

.section_inner.l-section-wide .m-charges-model > ul > li:last-child {
  margin-bottom: 0;
}

.section_inner.l-section-wide .m-charges-model > ul > li > ul > li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}

/* 左右レイアウト */
.bg_blue {
  background-color: #fff;
}

.sidemenu_wrp {
  width: 410px;
  float: left;
}
.contents_wrp {
  width: calc(100% - 450px);
  float: right;
}
@media screen and (max-width: 1350px) {
  .contents_wrp {
    width: calc(100% - 380px);
  }
  .sidemenu_wrp {
    width: 340px;
  }
}
@media screen and (max-width: 1100px) {
  .contents_wrp {
    width: calc(100% - 330px);
  }
  .sidemenu_wrp {
    width: 300px;
  }
}


.content_cart {
  padding: 0;
  margin-bottom: 40px;
}

.content_cart .cart_table {
  border: none;
}

.content_cart .cart_table div:not(:first-child) .l-cartItem {
  margin-top: 40px;
}

/* 請求詳細 */
.billing_cart .cart_table td.totalprice p {
  color: #e37d39;
}

/* EC表示時 */
.content_cart.a-EC-view {
  display: block;
}

.content_cart.a-EC-view .l-productListItem {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  border-radius: 0;
  margin: 0 10px 20px;
  width: calc( 25% - 16px);
}

.content_cart.a-EC-view .l-productListItem:nth-child(4n) {
  margin-right: 0;
}

.content_cart.a-EC-view .l-productListItem:nth-child(4n+1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .content_cart.a-EC-view {
    margin: 0 -10px;
  }
  .content_cart.a-EC-view .l-productListItem {
    width: 33.33%;
    margin: 0;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .content_cart.a-EC-view .l-productListItem:nth-child(2n) {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .content_cart.a-EC-view .l-productListItem:nth-child(2n+1) {
    margin-left: 0;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 480px) {
  .content_cart.a-EC-view {
    margin: 0 auto;
  }
  .content_cart.a-EC-view .l-productListItem {
    width: calc( 50% - 10px);
    padding: 0;
  }
  .content_cart.a-EC-view .l-productListItem:nth-child(2n) {
    margin-right: 10px;
    margin-left: 0;
  }
  .content_cart.a-EC-view .l-productListItem:nth-child(2n+1) {
    margin-left: 0;
    margin-right: 10px;
  }
}

.content_cart.a-EC-view .m-product-detail .o-product-photo {
  max-width: inherit;
}

.section_inner.l-section-wide .content_cart.a-EC-view {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: flex-start;
  margin-top: -30px;
}

@media screen and (max-width: 768px) {
  .section_inner.l-section-wide .content_cart.a-EC-view {
    margin-top: -10px;
  }
}

.section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  border-radius: 0;
  margin: 43px 10px 0;
  width: calc( 16.66% - 17px);
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

.section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(4n+1), .section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(4n) {
  margin: 43px 10px 0;
}

.section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(6n) {
  margin-right: 0;
}

.section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(6n+1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem {
    width: calc( 50% - 10px);
    margin-top: 10px;
  }
  .section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(2n) {
    margin-bottom: 20px;
    margin-right: 0;
    margin-top: 10px;
  }
  .section_inner.l-section-wide .content_cart.a-EC-view .l-productListItem:nth-child(2n+1) {
    margin-bottom: 20px;
    margin-left: 0;
    margin-top: 10px;
  }
}

.section_inner.l-section-wide .content_cart.a-EC-view .m-product-detail .o-product-photo {
  max-width: inherit;
}

/* フローチャート: ショッピングカート */
.flowbox .popbox .popbox_body {
  color: #9d9d9d;
  border: solid 2px #9d9d9d;
}

.flowbox .popbox_right .popbox_body {
  border: solid 1px #9d9d9d;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.popbox .popbox_arw:after {
  background: #9d9d9d;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.popbox .popbox_arw.js-popbox_arw_overWhite {
  z-index: 2;
  background: none;
  right: 1px;
}

.popbox .popbox_arw.js-popbox_arw_overWhite:after {
  background: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
}

@media screen and (max-width: 480px) {
  .popbox .popbox_arw.js-popbox_arw_overWhite {
    display: none;
  }
}

.flowbox .popbox.active .popbox_body {
  color: #fff;
}

.flowbox .popbox_right.active .popbox_body {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.popbox.active .popbox_arw:after {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.flowbox .popbox .popbox_body p {
  display: inline-block;
  margin-top: 0px;
  padding-left: 0;
  font-size: 19px;
  line-height: 1.2;
  font-weight: bold;
  vertical-align: middle;
}

.popbox .popbox_body h3 {
  font-size: 16px;
  font-weight: bold;
}

.popbox .popbox_inner {
  padding: 10px 20px 10px;
}

/* セパレータライン (マージンは mb00/mt00 クラスで調整)
// --------------------------------------------- */
.m-separate-line {
  width: 100%;
  height: 1px;
  border-top: 1px solid #c8c8c8;
}

.m-separate-line-dotted {
  width: 100%;
  height: 1px;
  border-top: 1px dotted #c8c8c8;
}

/* 2ボタン
// --------------------------------------------- */
.l-2btns-container {
  text-align: center;
}

.l-2btns-container a {
  display: inline-block;
  vertical-align: top;
  width: 35%;
  max-width: 400px;
  margin: 0 10px;
}

/* SP幅
// --------------------------------------------- */
@media screen and (max-width: 1280px) {
  .pcOnly {
    display: none;
  }
}

@media screen and (max-width: 999px) {
  .tabletOver {
    display: none;
  }
}

.tabletOnly {
  display: none;
}

@media screen and (max-width: 999px) {
  .tabletOnly {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .spOver {
    display: none;
  }
}

.spOnly {
  display: none;
}

@media screen and (max-width: 768px) {
  .spOnly {
    display: block;
  }
}

.spSmallOnly {
  display: none;
}

@media screen and (max-width: 480px) {
  .spSmallOnly {
    display: block;
  }
}

.footer_wrp {
  padding: 0;
  position: -webkit-sticky; /*for Safari*/
  position: sticky;
  top: 100vh;
}
.footer_wrp .content_width {
  padding: 40px 5%;
}
@media screen and (max-width: 768px) {
  .footer_wrp .content_width {
    padding: 20px 0 0;
  }
}
.footer_wrp .copyright {
  height: 40px;
  padding: 0;
  line-height: 40px;
  background: #333;
  color: #fff;
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .footer_wrp .copyright {
    height: 40px;
    line-height: 40px;
  }
}

.footer_wrp .free_area{
  margin: 0 0 20px 0;
}

.l-footer-right + .l-footer-left {
  width: calc( 100% - 460px);
}

@media screen and (max-width: 768px){
  .l-footer-right + .l-footer-left {
    width: 100%;
    margin-top: 0;
  }
}

.l-footer-left {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  padding-bottom: 0;
  padding-left: 10px;
}

@media screen and (max-width: 768px) {
  .l-footer-left {
    width: 100%;
    margin-top: 30px;
    padding-left: 0;
    padding-bottom: 0;
    float: none;
  }
}

.l-footer-right {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  float: right;
  width: 450px;
  padding: 0 20px;
  border-left: 1px solid #fff;
  text-align: right;
}
.footer_info{
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .l-footer-right {
    width: 100%;
    padding: 0 0 20px 0;
    border-left: none;
    float: none;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-right {
    padding: 0 5% 20px;
    text-align: center;
  }
}

@media screen and (max-width: 999px) {
  .l-footer-right .tabletOver {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .l-footer-right .tabletOver {
    display: none;
  }
}
.l-footer-right h3,
.l-footer-right .footer_info_detail {
  max-width: 350px;
  margin-left: auto;
  margin-top: 20px;
  text-align: left;
}
.l-footer-right h3 {
  margin-top: 0;
  font-size: 18px;
  line-height: 1.5;
  display: block;
}
@media screen and (max-width: 768px) {
  .l-footer-right h3 {
    margin: 0 auto;
  }
}
.l-footer-right .btn_detail {
    margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .l-footer-right .footer_info_detail {
    margin: 10px auto 0;
  }
}

.l-footer-right .btn_detail {
  display: inline-block;
  width: 100%;
  max-width: 350px;
}

@media screen and (max-width: 768px) {
  .l-footer-right .btn_detail {
    display: block;
  }
}

.l-footer-right .btn_detail a {
  position: relative;
  padding: 13px 0;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 1280px) {
  .l-footer-right .btn_detail a {
    font-size: 21px;
  }
}

@media screen and (max-width: 999px) {
  .l-footer-right .btn_detail a {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-right .btn_detail a {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .l-footer-right .btn_detail a {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-right .btn_detail a {
    padding: 6px 0 4px;
  }
}

.l-footer-right .btn_detail.o-inquiries > a {
  background-color: #fff;
}

.l-footer-right .btn_detail.o-inquiries > a:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  width: 7px;
  height: 7px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.l-footer-right .btn_detail.o-inquiries > a:after {
  right: 13px;
}

.l-footer-right .btn_detail.o-inquiries > a:before {
  display: inline-block;
  content: '';
  position: relative;
  top: -1px;
  left: -8px;
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.l-footer-right .btn_detail.o-phonenumber a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff;
  padding: 14px 0 12px;
}

.l-footer-right .btn_detail.o-phonenumber a:before {
  display: inline-block;
  content: '';
  position: relative;
  top: -3px;
  left: -8px;
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.l-footer-right .btn_detail.o-phonenumber a {
  cursor: auto;
  font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Helvetica Neue",arial,sans-serif;
  font-size: 27px;
  line-height: 1.2;
}
.l-footer-right .btn_detail.o-phonenumber a {
  cursor: auto;
  font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Helvetica Neue",arial,sans-serif;
  font-size: 27px;
}
@media screen and (max-width: 1280px) {
  .l-footer-right .btn_detail.o-phonenumber a {
    font-size: 24px;
  }
}
@media screen and (max-width: 999px) {
  .l-footer-right .btn_detail.o-phonenumber a {
    font-size: 19px;
  }
}
@media screen and (max-width: 768px) {
  .l-footer-right .btn_detail.o-phonenumber a {
    font-size: 18px;
    padding: 7px 0 2px;
  }
}
@media screen and (max-width: 480px) {
  .l-footer-right .btn_detail.o-phonenumber a {
    font-size: 16px;
  }
}

.footer .block {
  width: 100%;
  float: none;
  padding: 0;
  border: none;
}

.footer .foote_link {
  display: inherit;
}

ul.foote_link > li {
  margin: 0 0 12px 0;
  position: relative;
  display: block;
  float: left;
  padding: 0 15px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  ul.foote_link > li {
    margin: 0;
    line-height: inherit;
  }
}
@media screen and (min-width: 769px) {/*PC*/
  ul.foote_link > li.foot-content {
    clear: left;
  }
}

@media screen and (max-width: 768px) {
  .l-footer-left{
    border-top: 1px solid #e3e3e3;
    position: relative;
  }
  .l-footer-left:before{/* 最後のリストの下線をテンプレートの色で上書きする */
    content: " ";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .l-footer-left:after{
    content: " ";
    clear: both;
    display: block;
  }
  ul.foote_link > li {
    box-sizing: border-box;
    float: left;
    width: 50%;
    min-height: 43px;
    text-align: left;
    overflow: hidden;
    border-bottom: 1px solid #e3e3e3;
    padding: 0;
    position: relative;
    height: auto;
    display: block;
  }
  ul.foote_link > li:nth-child(odd) {
    border-right: 1px solid #e3e3e3;
  }
  ul.foote_link > li > a {
    display: block;
    padding: 15px 0 0 40px;
    line-height: 1.2;
  }
}

@media screen and (max-width: 480px) {
  ul.foote_link > li > a {
    font-size: 12px;
    padding: 15px 0 0 20px;
  }
}
@media screen and (max-width: 374px) {
  ul.foote_link > li > a {
    font-size: 11px;
    padding: 15px 0 0 18px;
  }
}

.foote_link > li > a:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  border-right: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  width: 7px;
  height: 7px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.foote_link > li > a:after {
  top: -3px;
  left: 0;
  right: inherit;
}

@media screen and (max-width: 768px) {
  .foote_link > li > a:after {
    top: -1px;
    left: 10px;
  }
}

@media screen and (max-width: 480px) {
  .foote_link > li > a:after {
    left: 4px;
  }
}

/* おすすめ商品 */
.m-FeaturedProducts {
  margin-top: -5px;
}
@media screen and (min-width: 769px) {
  .m-FeaturedProducts .section_inner.wideSection {
    padding: 30px 5% 50px 5%;
  }
}
.m-FeaturedProducts .headline .title {
  font-size: 36px;
  padding-bottom: 10px;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .m-FeaturedProducts .headline .title {
    font-size: 23px;
    padding-bottom: 3px;
  }
}
.bx-wrapper{
  padding: 0;
}
/*読み込み時の崩れ対応*/
.recommendArea .mainvisual_slider.recommends_name {
  max-height: 280px;
}
.recommendArea .mainvisual_slider.recommends_thumbnail {
  max-height: 190px;
}
@media screen and (max-width: 768px) {
  .recommendArea .mainvisual_slider.recommends_name {
    max-height: 220px;
  }
}
@media screen and (max-width: 480px) {
  .recommendArea .mainvisual_slider.recommends_name,
  .recommendArea .mainvisual_slider.recommends_thumbnail {
    max-height: 142px;
  }
  .recommendArea .mainvisual_slider.recommends_thumbnail {
    max-height: 100px;
  }
}
.mainvisual_slider div {
  display: none;
}
.bx-viewport .mainvisual_slider div {
  display: block !important;
}
.mainvisual_slider .slide_img + a,
.recommendArea .recommend_name {
  display: block;
  font-size: 20px;
  line-height: 1.2;
  font-weight: bold;
  margin-top: 12px;
  overflow: hidden;
  text-decoration: none;
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .mainvisual_slider .slide_img + a,
  .recommendArea .recommend_name {
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  .mainvisual_slider .slide_img + a,
  .recommendArea .recommend_name {
    font-size: 12px;
  }
}
/* コントローラー */
.bx-wrapper .bx-controls-direction a {
  border: none;
  background: rgba(0, 0, 0, 0.2);
  top: 36%;
  bottom: auto;
}
.bx-wrapper .bx-controls-direction a:hover {
  background: rgba(0, 0, 0, 0.4);
}
.bx-wrapper .bx-controls-direction a.bx-prev {
  left: -30px;
}
.bx-wrapper .bx-controls-direction a.bx-next {
  right: -30px;
}
.bx-wrapper .slide_img {
  margin: 0 auto;
  width: 220px;
  height: 220px;
}
.bx-wrapper .recommends_thumbnail .slide_img {
  width: 190px;
  height: 190px;
}
.bx-wrapper .recommend_detailbox .slide_img {
  width: 220px;
  height: 220px;
}
.bx-wrapper .slide_img a {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.bx-wrapper img {
  width: auto;
  height: auto;
  max-width: 220px;
  max-height: 220px;
}
.bx-wrapper .recommends_thumbnail img {
  max-width: 190px;
  max-height: 190px;
}
.bx-wrapper .recommend_detailbox img {
  max-width: 220px;
  max-height: 220px;
}
@media screen and (max-width: 768px) {
  .bx-wrapper .slide_img {
    width: 150px;
    height: 150px;
  }
  .bx-wrapper img {
    max-width: 150px;
    max-height: 150px;
  }
  .bx-wrapper .recommends_thumbnail .slide_img {
    width: 160px;
    height: 160px;
  }
  .bx-wrapper .recommends_thumbnail img {
    max-width: 160px;
    max-height: 160px;
  }
}
@media screen and (max-width: 480px) {
  .bx-wrapper .slide_img,
  .bx-wrapper .recommends_thumbnail .slide_img {
    width: 100px;
    height: 100px;
  }
  .bx-wrapper img,
  .bx-wrapper .recommends_thumbnail img {
    margin: 0 auto;
    max-width: 100px;
    max-height: 100px;
  }
  .bx-wrapper .recommend_detailbox .slide_img {
    width: 220px;
    height: 220px;
  }
  .bx-wrapper .recommend_detailbox img {
    max-width: 220px;
    max-height: 220px;
  }
}
.a-image-label-new {
  position: relative;
}

.a-image-label-new:after {
  content: 'NEW';
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 0;
  right: 0;
  width: 60px;
  height: 30px;
  line-height: 30px;
  padding: 1px 0 0;
  text-align: center;
  color: #fff;
  background: #e37d39;
  font-size: 14px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .a-image-label-new:after {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .a-image-label-new:after {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .a-image-label-new:after {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .a-image-label-new:after {
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) {
  .a-image-label-new:after {
    width: 45px;
    height: 24px;
    line-height: 24px;
  }
}

.a-image-label-soldout {
  position: relative;
}

.a-image-label-soldout:after, .a-image-label-soldout:before {
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.a-image-label-soldout:before {
  width: 100%;
  height: 100%;
  display: block;
  content: '';
  top: 0;
  left: 0;
  background: #000;
  opacity: 0.5;
}

.a-image-label-soldout:after {
  display: inline-block;
  content: 'SOLD OUT';
  width: 100%;
  top: 50%;
  left: 50%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 28px;
  padding: 1px 0 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.recommends_thumbnail,
.recommends_name,
.recommends_detail {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.recommends_thumbnail a img,
.recommends_name a img,
.recommends_detail a img {
  width: 100%;
  margin: 0 auto;
}
/* サムネイルのみ */
.recommends_thumbnail .thumbnail {
  margin: 10px;
  width: calc((100% / 8) - 20px);
  min-width: 140px;
  position: relative;
  box-sizing: border-box;
}
/* サムネイル+名前 */
.recommends_name .recommend_namebox {
  margin: 10px;
  width: calc((100% / 7) - 20px);
  min-width: 200px;
  position: relative;
  box-sizing: border-box;
}
/* 詳細ありタイプ */
.recommend_detailbox {
  margin: 10px;
  padding: 20px 20px 70px;
  width: 30%;
  max-width: 340px;
  background: #fff;
  position: relative;
  box-sizing: border-box;
}
.bx-wrapper .recommend_detailbox {
  margin: 0;
  width: auto;
}
.recommend_detailbox > a {
  display: block;
  text-align: center;
}
.recommend_detailbox > a > img {
  max-width: 220px;
}
.recommend_detailbox .recommend_detailtext {
  margin: 10px auto;
  padding: 10px 0 0 0;
  border-top: 1px solid #333;
  line-height: 1.6;
}
.recommend_detailbox .btn_next {
  margin: 0 auto;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
}

@media screen and (max-width: 1280px) {
  .a-image-label-soldout:after {
    font-size: 24px;
  }
}

@media screen and (max-width: 999px) {
  .a-image-label-soldout:after {
    font-size: 21px;
  }
  .recommend_detailbox {
    width: calc(50% - 20px);
  }
}

@media screen and (max-width: 768px) {
  .a-image-label-soldout:after {
    font-size: 18px;
  }
  .recommends_thumbnail .thumbnail,
  .recommends_name .recommend_namebox {
    min-width: 120px;
  }
}

@media screen and (max-width: 600px) {
  .recommend_detailbox {
    margin: 0 0 20px;
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .a-image-label-soldout:after {
    font-size: 16px;
  }
  .recommends_thumbnail .thumbnail,
  .recommends_name .recommend_namebox {
    margin: 5px;
    min-width: 100px;
  }
  .recommend_detailbox {
    padding: 20px 20px 60px;
  }
  .recommend_detailbox .recommend_detailtext {
    font-size: 12px;
  }
  .recommend_detailbox .btn_next {
    width: 80%;
  }
}

/* 絞り込み、検索、カテゴリ */
.l-searchBox-wide {
  margin-bottom: 20px;
}

.l-searchBox-wide .sidemenu_searchbox {
  border-color: #c8c8c8 !important;
}
/* 商品一覧・商品詳細の検索フォーム */
.sidemenu_searchbox .submit_btn {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 100%;
    text-indent: -9999px;
    border: none;
    line-height: 1;
    cursor: pointer;
}
.sidemenu_searchbox .submit_btn:hover {
    opacity: .8;
}
.sidemenu_searchbox .submit_btn:after {
  position: absolute;
  content: "\f002";
  font-family: FontAwesome;
  right: 11px;
  top: 50%;
  margin-top: -9px;
  font-size: 18px;
  font-weight: normal;
  color: #fff;
  text-indent: 0;
}
@media screen and (min-width: 768px) {/*PC表示かつ検索のみの場合、文字を表示*/
  .l-section-wide .l-searchBox-wide>.sidemenu_searchbox .submit_btn {
    width: auto;
    padding-left: 40px;
    padding-right: 20px;
    text-indent: 0;
    color: #fff;
    line-height: 1.2;
    background-position: left 10px center;
  }
  .l-section-wide .l-searchBox-wide>.sidemenu_searchbox .submit_btn:after {
    right: 3em;
    margin-top: -11px;
  }
}

.l-searchBox-wide .sidemenu_searchbox .submit_btn.a-view-text {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-position: 18px center;
  width: 100px;
  text-indent: inherit;
  color: #fff;
  font-size: 16px;
  padding-left: 25px;
}

.l-categoryBox-wide {
  margin-bottom: 40px;
}

.l-categoryBox-wide .topFilterCategory {
  margin-bottom: 20px;
}

.l-categoryBox-wide .topFilterCategory dt {
  padding: 8px 10px;
  color: #fff;
  font-weight: 700;
}

.l-categoryBox-wide .topFilterCategory dd {
  display: none;
}

.l-categoryBox-wide .sidemenu_select dd,
.l-categoryBox-wide .topFilterCategory dd {
  margin-top: 20px;
}

.l-categoryBox-wide .sidemenu_select dd > ul,
.l-categoryBox-wide .topFilterCategory dd > ul {
  padding-left: 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
}

.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul > li,
.m-topFilterBox .l-categoryBox-wide dd > ul > li {
  box-sizing: border-box;
  margin-left: 30px;
}
.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul > li{
  width: calc( 20% - 30px);
}
.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul.column4 > li,
.m-topFilterBox .l-categoryBox-wide dd > ul > li {
  width: calc( 25% - 30px);
}
.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul.column3 > li,
.m-topFilterBox .l-categoryBox-wide dd > ul.column3 > li {
  width: calc( 33.3% - 30px);
}
.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul.column2 > li,
.m-topFilterBox .l-categoryBox-wide dd > ul.column2 > li {
  width: calc( 50% - 30px);
}
.l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul.column1 > li,
.m-topFilterBox .l-categoryBox-wide dd > ul.column1 > li {
  width: 100%;
}
/*検索・カテゴリ両表示の時*/
@media screen and (max-width: 1400px) {
  .l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul > li {
    width: calc( 25% - 30px);
  }
  .m-topFilterBox .l-categoryBox-wide dd > ul:not(.column1) > li {
    width: calc( 50% - 30px);
  }
}
@media screen and (max-width: 1280px) {
  .l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul > li {
    width: calc( 33.3% - 30px);
  }
  .m-topFilterBox .l-categoryBox-wide dd > ul:not(.column1) > li {
    width: calc( 50% - 30px);
  }
}
@media screen and (max-width: 1024px) {
  .l-categoryBox-wide .sidemenu_wrp.m-sideSearchBox .sidemenu_select dd > ul:not(.column1) > li {
    width: calc( 50% - 30px);
  }
  .m-topFilterBox .l-categoryBox-wide dd > ul {
    margin-left: 10px;
  }
  .m-topFilterBox .l-categoryBox-wide dd > ul > li {
    width: 100%!important;
    margin-left: 0;
  }
}

.l-categoryBox-wide .sidemenu_select ul, .l-categoryBox-wide .sidemenu_select li,
.l-categoryBox-wide .topFilterCategory ul, .l-categoryBox-wide .topFilterCategory li {
  list-style: disc;
  border: none;
}

.l-categoryBox-wide .topFilterCategory ul ul {
  padding-left: 22px;
}

.l-categoryBox-wide .sidemenu_select dd > ul > li > ul,
.l-categoryBox-wide .sidemenu_select dd > ul > li > ul li,
.l-categoryBox-wide .topFilterCategory dd > ul > li > ul,
.l-categoryBox-wide .topFilterCategory dd > ul > li > ul li {
  list-style: circle;
}

.l-categoryBox-wide .sidemenu_select a ,
.l-categoryBox-wide .topFilterCategory a {
  padding: 6px 0;
}

.l-categoryBox-wide .sidemenu_select a > span,
.l-categoryBox-wide .topFilterCategory a > span {
  text-decoration: underline;
}

.l-categoryBox-wide .topFilterCategory .list_head {
  display: inline-block;
}

.l-categoryBox-wide .sidemenu_select .list_head,
.l-categoryBox-wide .topFilterCategory .list_head {
  vertical-align: top;
  padding: 0 6px;
}

.js-scrolled {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: auto;
  max-width: 1242px;
  background-color: #fff;
  z-index: 1;
  -webkit-box-shadow: 1px 2px 10px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 2px 10px 2px rgba(0, 0, 0, 0.2);
}

/* 検索・絞り込み(左右) */
.sidemenu_wrp.m-sideSearchBox .sidemenu_search,
.sidemenu_wrp.m-sideSearchBox .sidemenu_select {
  border-color: #c8c8c8;
  background: #fff;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select ul {
  background: #fff;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_search li,
.sidemenu_wrp.m-sideSearchBox .sidemenu_select li {
  border-top: none;
  margin-left: 20px;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select li {
  border-top: none;
  list-style-type: disc;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select li a span{
  display: block;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select li ul li{
  border-left: none;
  list-style-type: circle;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_search dt,
.sidemenu_wrp.m-sideSearchBox .sidemenu_select dt {
  text-align: center;
  position: relative;
  border-radius: 3px;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select.open dt {
  border-radius: 3px 3px 0 0;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_select dd {
  display: none;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_search dd,
.sidemenu_wrp.m-sideSearchBox .sidemenu_select dd {
  line-height: 1.2em;
  padding: 10px 20px;
}

.sidemenu_wrp.m-sideSearchBox .sidemenu_search .sidemenu_searchbox,
.sidemenu_wrp.m-sideSearchBox .sidemenu_select .sidemenu_searchbox {
  border-color: #c8c8c8;
}

@media screen and (max-width: 999px) {
  .sidemenu_wrp.m-sideSearchBox .sidemenu_search,
  .sidemenu_wrp.m-sideSearchBox .sidemenu_select {
    width: 100%;
  }
}

@media screen and (max-width: 999px) {
  .sidemenu_wrp.m-sideSearchBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: inherit;
    float: none;
    display: block;
  }
}

/* 一覧表示コンテナ */
@media screen and (max-width: 999px) {
  .contents_wrp {
    width: 100%;
    max-width: inherit;
    float: none;
    display: block;
  }
}

/* 検索・絞り込み(上下) */
.m-topFilterBox {
  margin-bottom: 30px;
}

@media screen and (max-width: 999px) {
  .m-topFilterBox {
    width: 100%;
    max-width: inherit;
    float: none;
    display: block;
  }
}

.m-topFilterBox .o-box-head {
  position: relative;
  text-align: center;
  font-size: 20px;
  line-height: 28px;
  font-weight: bold;
  color: #fff;
  padding: 11px 0;
  border-radius: 5px;
  cursor: pointer;
}

.m-topFilterBox .o-box-head.open {
  border-radius: 5px 5px 0 0;
}

@media screen and (max-width: 768px) {
  .sidemenu_wrp.m-topFilterBox .o-box-head {
    display: none;
  }
}

.m-topFilterBox .o-box-body {
  display: none;
  padding: 20px;
  border: 1px solid #c8c8c8;
  border-top: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.sidemenu_wrp.m-topFilterBox .o-box-body {
  padding: 15px 20px 20px;
}
@media screen and (min-width: 769px) {
  .m-topFilterBox .o-box-body {
    background: #fff;
  }
}
/* マイページ系はSP表示も背景色設定 */
.content_mypage .m-topFilterBox .o-box-body {
  background: #fff;
}

@media screen and (max-width: 999px) {
  .m-topFilterBox .o-box-body {
    padding: 15px;
  }
  .sidemenu_wrp.m-topFilterBox .o-box-body {
    padding: 15px;
  }
}

@media screen and (max-width: 768px) {
  .sidemenu_wrp.m-topFilterBox .o-box-body {
    display: block !important;
    border: none;
    padding: 0;
  }
}
/* 検索条件パネル（主にマイページ系） */
.m-topFilterBox .o-box-body ul.conditions,
.m-topFilterBox .o-box-body .date_range_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.m-topFilterBox .o-box-body .date_range_box {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-start;
}
.m-topFilterBox .o-box-body ul.conditions li {
    display: block;
    width: 48%;
    margin: 0 0 10px 0;
    list-style: none;
}
@media screen and (max-width: 768px) {
  .m-topFilterBox  .o-box-body ul.conditions li {
      width: 100%;
  }
}
.m-topFilterBox  .o-box-body ul.conditions li .label {
    font-weight: bold;
}
.m-topFilterBox  .o-box-body ul.conditions li input[type='text'] {
    width: 100%;
    font-size: 14px;
}
.m-topFilterBox  .o-box-body .conditions .date_range_box div {
    width: 46%;
}
.m-topFilterBox  .o-box-body .conditions div .date_range_box input[type='text'] {
    width: 100%;
}
.m-topFilterBox  .o-box-body .date_range_box .wavyline {
    margin: 0 0 5px 0;
    line-height: 36px;
}
.m-topFilterBox .o-box-body .btn_container {
    position: relative;
    text-align: center;
    margin: 0;
}
.m-topFilterBox .o-box-body .btn_container span {
    display: inline-block;
    width: 140px;
    margin: 0 5px;
    vertical-align:top;
}
@media screen and (max-width: 480px) {
  .m-topFilterBox .o-box-body .btn_container span {
      display: block;
      max-width: 200px;
      margin: 10px auto 0;
  }
}
.m-topFilterBox .o-box-body .btn_container span a,
.m-topFilterBox .o-box-body .btn_container span button {
    width: 100%;
    box-sizing: border-box;
    padding: 4px 10px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    border-radius: 5px;
}
.m-topFilterBox .o-box-body .btn_container .baseBtn,
.m-sideSearchBox .clearBtn .baseBtn {
  position: relative;
  padding: 8px 10px 8px 22px;
  top:auto;
  left: auto;
  height: auto;
  text-indent: 0;
  cursor: pointer;
  border: none;
  display: block;
  line-height: 1;
}
.m-topFilterBox .o-box-body .btn_container .baseBtn::before,
.m-sideSearchBox .clearBtn .baseBtn::before {
  position: absolute;
  font-family: FontAwesome;
  left: 10px;
  top: 8px;
  font-weight: normal;
}
.m-topFilterBox .o-box-body .btn_container .searchBtn .baseBtn::before {
  content: "\f002";
}
.m-topFilterBox .o-box-body .btn_container .clearBtn .baseBtn::before,
.sidemenu_wrp .clearBtn .baseBtn::before {
  content: "\f021";
}
.m-sideSearchBox .clearBtn {
  max-width: 140px;
  margin: 0 auto 20px;
  display: block;
}
.m-sideSearchBox .clearBtn .baseBtn {
  width: 140px;
  display: block;
}
.m-topFilterBox .clearBtn .baseBtn:after,
.m-sideSearchBox .clearBtn .baseBtn:after {
  content: none;
}
.m-topFilterBox .clearBtn .baseBtn > span,
.m-sideSearchBox .clearBtn .baseBtn > span {
  font-size: 14px;
  padding-right: 0;
}

.m-topFilterBox .l-searchBox-wide {
  width: 400px;
}

.m-topFilterBox .l-categoryBox-wide {
  width: calc( 100% - 446px);
}

.m-topFilterBox .l-categoryBox-wide,
.m-topFilterBox .l-searchBox-wide {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  margin: 10px 10px;
}

@media screen and (max-width: 999px) {
  .m-topFilterBox .l-categoryBox-wide,
  .m-topFilterBox .l-searchBox-wide {
    width: calc( 50% - 26px);
  }
}

@media screen and (max-width: 768px) {
  .m-topFilterBox .l-categoryBox-wide,
  .m-topFilterBox .l-searchBox-wide {
    width: 100%;
    display: block;
    margin: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .sidemenu_wrp .sidemenu_search {
    border: none;
  }
  .sidemenu_wrp .sidemenu_search > dt {
    display: none;
  }
  .sidemenu_wrp .sidemenu_search > dd {
    padding: 0 !important;
  }
}

.m-topFilterBox .sidemenu_search,
.m-topFilterBox .sidemenu_select,
.m-topFilterBox .topFilterCategory {
  border: none;
}

.m-topFilterBox .sidemenu_search li,
.m-topFilterBox .sidemenu_select li,
.m-topFilterBox .topFilterCategory li {
  border-top: none;
}

.m-topFilterBox .topFilterCategory li a {
  display: block;
}

.m-topFilterBox .sidemenu_search > dt,
.m-topFilterBox .sidemenu_select > dt,
.m-topFilterBox .topFilterCategory > dt {
  border-radius: 4px;
  text-align: center;
}

.m-topFilterBox .sidemenu_search dd,
.m-topFilterBox .sidemenu_select dd,
.m-topFilterBox .topFilterCategory dd {
  line-height: 1.2em;
  padding: 10px 20px;
}

.m-topFilterBox .sidemenu_search .submit_btn,
.m-topFilterBox .sidemenu_select .submit_btn,
.m-topFilterBox .topFilterCategory .submit_btn {
}

@media screen and (max-width: 768px) {
  .m-topFilterBox .sidemenu_search > dt,
  .m-topFilterBox .sidemenu_select > dt,
  .m-topFilterBox .topFilterCategory > dt,
  .m-topFilterBox .sidemenu_search .submit_btn,
  .m-topFilterBox .sidemenu_select .submit_btn,
  .m-topFilterBox .topFilterCategory .submit_btn {
  }
}

.m-topFilterBox .sidemenu_search .sidemenu_searchbox,
.m-topFilterBox .sidemenu_select .sidemenu_searchbox,
.m-topFilterBox .topFilterCategory .sidemenu_searchbox {
  margin-top: 20px;
  border-color: #c8c8c8;
}

.m-topFilterBox .sidemenu_search .js-category-menu-body,
.m-topFilterBox .sidemenu_select .js-category-menu-body,
.m-topFilterBox .topFilterCategory .js-category-menu-body {
  width: calc( 100% - 40px);
}

/* 商品一覧アイテム */
.l-productListItem {
  border: 1px solid #c8c8c8;
  border-radius: 10px;
  margin-bottom: 30px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.l-productListItem .l-productListItem-inner {
  padding: 40px 40px 20px;
  background: #fff;
}

@media screen and (max-width: 1280px) {
  .l-productListItem .l-productListItem-inner {
    padding: 15px;
  }
}

/* お気に入り削除ボタン表示位置 */
.m-charges-model.favMode {
  margin: 50px 0 70px 0;
}
.l-productListItem .btn_remove {
  position: absolute;
  margin: 0;
  bottom: 10px;
  right: 40px;
}
.l-productListItem .btn_remove a {
  padding: 5px 20px 5px 30px;
  min-width: auto;
}
.l-productListItem .btn_remove:before {
  top: 5px;
}
@media screen and (max-width: 768px) {
  .m-charges-model.favMode {
    margin: 0 0 50px;
  }
  .l-productListItem .btn_remove {
    right: 10px;
  }
}

/* 商品一覧アイテム(上下/EC表示時) */
.content_cart.a-EC-view .l-productListItem {
  border: none;
}

.content_cart.a-EC-view .l-productListItem-inner {
  padding: 0px;
}

.content_cart.a-EC-view .o-product-photo {
  float: none;
  width: 100%;
}

.content_cart.a-EC-view .m-product-detail .o-product-text,
.content_cart.a-EC-view .o-product-text {
  float: none;
  width: 100%;
  padding-left: 0;
}

.content_cart.a-EC-view .o-product-name {
  border: none;
  overflow: hidden;
  padding: 12px 0 2px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.content_cart.a-EC-view .m-charges-model {
  margin: 0;
}

.content_cart.a-EC-view .o-newicon,
.content_cart.a-EC-view .o-soldouticon,
.content_cart.a-EC-view .o-product-description {
  display: none;
}

/* 商品詳細 (モーダル表示でも使用) */
.m-product-detail {
  width: 100%;
}

.m-product-detail .o-product-photo {
  float: left;
  width: 25%;
  display: block;
  text-align: center;
}
.m-product-detail .o-product-photo a {
  display: block;
  text-align: center;
}
.m-product-detail .o-product-photo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 200px;
}

.m-product-detail .o-product-text {
  float: none;
  width: 100%;
  padding: 0;
}

.m-product-detail .o-product-photo + .o-product-text {
  float: right;
  width: 70%;
  padding-left: 5%;
}

.m-product-detail .o-product-name {
  position: relative;
  padding: 10px 0;
  font-size: 24px;
  font-weight: bold;
  text-align: left;
}

@media screen and (max-width: 1280px) {
  .m-product-detail .o-product-name {
    font-size: 21px;
  }
  .m-product-detail .o-product-photo {
    width: 27%;
  }
  .m-product-detail .o-product-photo + .o-product-text {
    padding-left: 3%;
  }
}

@media screen and (max-width: 999px) {
  .m-product-detail .o-product-name {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .m-product-detail .o-product-name {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
    .m-product-detail .o-product-photo,
    .m-product-detail .o-product-photo + .o-product-text {
        float: none;
        width: 100%;
    }
    .m-product-detail .o-product-photo {
        margin: 0 auto;
        max-width: 200px;
    }
    .m-product-detail .o-product-photo + .o-product-text {
        padding: 10px 0 0 0;
    }
    .m-product-detail .o-product-name {
        font-size: 15px;
    }
}

.m-product-detail .o-product-name a {
  display: block;
  font-size: 20px;
  line-height: 30px;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 768px) {
  .a-EC-view .m-product-detail .o-product-name a {
      font-size: 18px;
  }
}

@media screen and (max-width: 480px) {
  .a-EC-view .m-product-detail .o-product-name a {
      font-size: 12px;
  }
}

.m-product-detail .o-product-description {
  margin-top: 15px;
  text-align: left;
}

.m-product-detail .o-product-description div {
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-product-detail .o-product-description div {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-product-detail .o-product-description div {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-product-detail .o-product-description div {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-product-detail .o-product-description div {
    font-size: 11px;
  }
}

.m-product-detail .o-product-description.shadow-curtail {
    position: relative;
}

.m-product-detail .o-product-description.shadow-curtail > div {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.m-product-detail .o-product-description.shadow-curtail:after,
.m-product-detail .o-product-description.shadow-curtail > div:after {
    position: absolute;
}

.m-product-detail .o-product-description.shadow-curtail:after {
    content: "";
    display: block;
    width: 20px;
    height: 4px;
    left: 50%;
    bottom: -22px;
    margin-left: -10px;
    border-bottom: 4px dotted #c8c8c8;
}

.m-product-detail .o-product-description.shadow-curtail > div:after {
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top, rgba(255,255,255,0), #fff);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0), #fff);
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
    content: "";
    height: 50px;
    width: 100%;
}

@media screen and (min-width: 1280px) {
  .m-product-detail span.o-newicon, .m-product-detail span.o-soldouticon {
    top: -22px;
    font-size: 14px;
    padding: 2px 10px;
  }
}

.m-product-detail .o-newicon {
  display: inline-block;
  position: absolute;
  top: -11px;
  right: 0;
  background-color: #e37d39;
  font-weight: bold;
  color: #fff;
  padding: 0px 10px;
  font-size: 11px;
}

@media screen and (max-width: 768px) {
  .m-product-detail .o-newicon {
    top: -10px;
    font-size: 11px;
    line-height: 10px;
    padding: 4px 4px;
  }
}

@media screen and (max-width: 480px) {
  .m-product-detail .o-newicon {
    top: -10px;
    padding: 2px 4px;
  }
}

.m-product-detail .o-soldouticon {
  display: inline-block;
  position: absolute;
  top: -11px;
  right: 0;
  background-color: #555;
  font-weight: bold;
  color: #fff;
  padding: 0px 10px;
  font-size: 11px;
}

@media screen and (max-width: 768px) {
  .m-product-detail .o-soldouticon {
    top: -10px;
    font-size: 11px;
    line-height: 10px;
    padding: 4px 4px;
  }
}

@media screen and (max-width: 480px) {
  .m-product-detail .o-soldouticon {
    top: -10px;
    padding: 2px 4px;
  }
}

.m-product-detail .o-product-name span + span {
  right: 70px;
}

@media screen and (max-width: 1280px) {
  .m-product-detail .o-product-name span + span {
    right: 55px;
  }
}

@media screen and (max-width: 768px) {
  .m-product-detail .o-product-name span + span {
    right: 40px;
  }
}

/* 在庫シリアルのアラート文言 DIV */
.o-product-serial-alerts {
  margin-top: 10px;
  margin-bottom: 10px;
}
.l-productListItem .o-product-serial-alerts {
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}

/* 在庫シリアルのアラート文言 SPAN */
.o-product-serial-alerts .status-frame {
  font-weight: normal;
  border-radius: 2px;
  padding: 1px 12px;
  font-size: 13px;
}

/* 支払い */
.m-charges-model {
  width: 100%;
  margin: 50px 0 0 0;
}

@media screen and (max-width: 768px) {
  .m-charges-model {
    margin: 30px 0 0;
  }
}

.m-charges-model > ul {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .m-charges-model > ul.spOver {
    display: none;
  }
}

.m-charges-model > ul > li {
  width: 48%;
}

.m-charges-model > ul > li:nth-child(odd) p.o-model-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.m-charges-model > ul > li:nth-child(even) p.o-model-title {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.m-charges-model > ul > li:only-child {
  width: 100%;
}

.m-charges-model > ul > li:nth-child(n+3) {
  margin-top: 25px;
}

@media screen and (max-width: 480px) {
  .m-charges-model > ul > li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
  }
  .m-charges-model > ul > li:nth-child(n+3) {
    margin-top: 0;
  }
}

.m-charges-model p.o-model-title {
  padding: 5px;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .m-charges-model p.o-model-title {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-charges-model p.o-model-title {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-charges-model p.o-model-title {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-charges-model p.o-model-title {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-charges-model p.o-model-title {
    padding: 2px 5px;
  }
}

.m-charges-model > ul > li > ul > li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  padding: 15px 5px 5px;
  border-bottom: 1px dotted #c8c8c8;
}

@media screen and (max-width: 480px) {
  .m-charges-model > ul > li > ul > li {
    padding: 5px 2% 5px;
  }
}

.m-charges-model .o-name {
  text-align: left;
  float: left;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .m-charges-model .o-name {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-charges-model .o-name {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-charges-model .o-name {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-charges-model .o-name {
    font-size: 11px;
  }
}

.m-charges-model li.o-ladder {
    padding-left: 50px;
}

.a-EC-view .m-charges-model .o-price {
  font-weight: normal;
  text-align: left;
  float: none;
}

@media screen and (max-width: 768px) {
  .a-EC-view .m-charges-model .o-price {
    font-size: 16px;
  }
}

.m-charges-model .o-price {
  text-align: right;
  float: right;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-charges-model .o-price {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-charges-model .o-price {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-charges-model .o-price {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-charges-model .o-price {
    font-size: 11px;
  }
  .content_cart.a-EC-view .m-charges-model .o-price {
    font-size: 12px;
  }
}

.m-charges-model .o-btn-modelDetail {
  position: relative;
  display: block;
  width: 220px;
  margin: 0;
  padding: 6px;
  border-radius: 5px;
  text-align: center;
  font-size: 14px;
  text-decoration: none;
  background-color: #fff;
  box-sizing: border-box;
}

.m-charges-model .o-btn-modelDetail > span {
  position: relative;
  font-weight: bold;
  padding-right: 15px;
  line-height: 1.3;
}

.m-charges-model .o-btn-modelDetail:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.m-charges-model .o-btn-modelDetail:after {
  top: -2px;
  right: 10px;
}

.m-charges-model .o-btn-modelDetail > span {
  font-weight: normal;
  padding: 0 20px;
}
.m-charges-model .submit_btns {
    margin: 20px auto 0;
}
.m-charges-model .submit_btns .select_main_product {
    width: auto;
    margin-left: 10px;
}
.m-charges-model .submit_btns .btn_detail {
    width: auto;
    width: 220px;
}
.m-charges-model .submit_btns .btn_detail a {
    display: block;
}
@media screen and (max-width: 768px) {
    .m-charges-model .submit_btns {
        flex-direction: row;
    }
    .m-charges-model .submit_btns .btn_detail {
        margin: 0!important;
    }
}
@media screen and (max-width: 480px) {
    .m-charges-model .submit_btns {
        flex-direction: column;
    }
    .m-charges-model .submit_btns .select_main_product {
        width: auto;
        margin: 15px 0 0 0;
    }
    .m-charges-model .o-btn-modelDetail,
    .m-charges-model .submit_btns .btn_detail {
        width: 100%;
    }
}

/* カテゴリ表示(SPメニュー: ヘッダ) Tablet幅以下 */
@media screen and (max-width: 999px) {
  .sidemenu_select dt.js-category-menu-head,
  .topFilterCategory dt.js-category-menu-head {
    text-align: center;
  }
  .sidemenu_select dt.js-category-menu-head:after,
  .topFilterCategory dt.js-category-menu-head:after {
    position: absolute;
    right: 70px;
    content: "\f078";
    font-family: FontAwesome;
  }
}

@media screen and (max-width: 768px) {
  .sidemenu_select dt.js-category-menu-head:after,
  .topFilterCategory dt.js-category-menu-head:after {
    right: 40px;
  }
}

@media screen and (max-width: 999px) {
  .sidemenu_select.open dt.js-category-menu-head:after,
  .topFilterCategory.open dt.js-category-menu-head:after {
    content: "\f077";
    z-index: 2;
  }
}

@media screen and (min-width: 1000px) {
  .sidemenu_select dt.js-category-menu-head:after,
  .topFilterCategory dt.js-category-menu-head:after {
    position: absolute;
    right: 30px;
    content: "\f078";
    font-family: FontAwesome;
  }
  .sidemenu_select.open dt.js-category-menu-head:after,
  .topFilterCategory.open dt.js-category-menu-head:after {
    content: "\f077";
    z-index: 2;
  }
}

.m-topFilterBox .sidemenu_select dt.js-category-menu-head,
.m-topFilterBox .topFilterCategory dt.js-category-menu-head {
  position: relative;
  text-align: center;
}

.m-topFilterBox .sidemenu_select dt.js-category-menu-head:after,
.m-topFilterBox .topFilterCategory dt.js-category-menu-head:after {
  position: absolute;
  right: 30px;
  content: "\f078";
  font-family: FontAwesome;
}

.m-topFilterBox .sidemenu_select.open dt.js-category-menu-head:after,
.m-topFilterBox .topFilterCategory.open dt.js-category-menu-head:after {
  content: "\f077";
  z-index: 2;
}

/* カテゴリ表示(サイド:1000px以上) */
@media screen and (min-width: 1000px) {
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_select dd.js-category-menu-body {
    overflow-y: auto;
    max-height: calc( 100vh - 150px );/*キーワード検索なし*/
    height: auto;
  }
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_search + .sidemenu_select dd.js-category-menu-body {
    max-height: calc( 100vh - 280px );/*キーワード検索あり*/
  }
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_select dd.js-category-menu-body::-webkit-scrollbar{
    width: 10px;
  }
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_select dd.js-category-menu-body::-webkit-scrollbar-track {
    background: #fff;
    border-left: solid 1px #e8e8e8;
  }
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_select dd.js-category-menu-body::-webkit-scrollbar-thumb {
    background: #e9e9e9;
    border-radius: 10px;
  }
  .sidemenu_wrp:not(.m-topFilterBox) .sidemenu_select dd.js-category-menu-body {
    scrollbar-width: thin;
    scrollbar-color: #e9e9e9 #f4f4f4;
  }
}

/* カテゴリ表示(SPメニュー: ボディ) */
@media screen and (max-width: 768px) {
  .sidemenu_select dd.js-category-menu-body,
  .topFilterCategory dd.js-category-menu-body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    display: none;
    margin: 0;
    padding: 0 !important;
    width: calc( 100% - 42px);
    background-color: #fff;
    border: 1px solid #c8c8c8;
    z-index: 10;
    -webkit-box-shadow: 0px 4px 15px 0px #666;
    box-shadow: 0px 4px 15px 0px #666;
  }
  .sidemenu_select dd.js-category-menu-body > ul,
  .sidemenu_wrp.m-sideSearchBox .sidemenu_select ul,
  .topFilterCategory dd.js-category-menu-body > ul {
    height: auto;
    margin: 0;
    padding: 0 10px;
    line-height: 1em;
    list-style-type: none;
  }
  .sidemenu_select dd.js-category-menu-body > ul ul,
  .topFilterCategory dd.js-category-menu-body > ul ul {
    margin: 20px 0 0;
    list-style-type: none;
    position: relative;
  }
  .sidemenu_select dd.js-category-menu-body > ul > li,
  .topFilterCategory dd.js-category-menu-body > ul > li {
    float: none;
    display: block;
    width: 100%!important;
    max-width: 100%;
    margin: 0!important;
    padding: 0;
    border-bottom: 1px solid #c8c8c8;
    list-style: none;
  }
  .sidemenu_select dd.js-category-menu-body > ul li.selected,
  .topFilterCategory dd.js-category-menu-body > ul li.selected {
    background: transparent!important;
  }
  .sidemenu_select dd.js-category-menu-body > ul li a,
  .topFilterCategory dd.js-category-menu-body > ul li a{
    padding: 0.8em;
    box-sizing: border-box;
  }

  .sidemenu_select dd.js-category-menu-body > ul > li:last-child,
  .topFilterCategory dd.js-category-menu-body > ul > li:last-child {
    border-bottom: none;
  }
  .sidemenu_select dd.js-category-menu-body > ul > li:before,
  .topFilterCategory dd.js-category-menu-body > ul > li:before {
    content: none;
  }
  .sidemenu_select dd.js-category-menu-body > ul > li .list_head,
  .topFilterCategory dd.js-category-menu-body > ul > li .list_head {
    padding: 0;
  }
  .sidemenu_select dd.js-category-menu-body > ul ul,
  .topFilterCategory dd.js-category-menu-body > ul ul {
    position: relative;
    margin-top: 0;
    margin-left: 1em;
  }
  .sidemenu_select dd.js-category-menu-body > ul ul li,
  .topFilterCategory dd.js-category-menu-body > ul ul li {
    position: relative;
    margin: 0;
    padding: 0 0 0 0.2em;
    list-style: none !important;
  }
  .sidemenu_select dd.js-category-menu-body > ul ul li:before,
  .topFilterCategory dd.js-category-menu-body > ul ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: -0.5em;
    left: 0;
    width: 10px;
    height: calc(100% + 1em);
    border-left: 1px solid #c8c8c8;
  }
  .sidemenu_select dd.js-category-menu-body > ul ul li:last-child:before,
  .topFilterCategory dd.js-category-menu-body > ul ul li:last-child:before {
    height: calc(1em + 1em);
  }
  .sidemenu_select dd.js-category-menu-body > ul ul li::after,
  .topFilterCategory dd.js-category-menu-body > ul ul li::after {
    content: "";
    display: block;
    position: absolute;
    top: 1.5em;
    left: 0;
    width: 0.8em;
    height: 0;
    border-top: 1px solid #c8c8c8;
  }
}
@media screen and (max-width: 320px) {
  .sidemenu_select dd.js-category-menu-body,
  .topFilterCategory dd.js-category-menu-body {
    width: calc( 100% - 22px)!important;
  }
}
/* カートの中身を確認 */
.l-cartListBox,
.l-cartTotalBox {
  width: 100%;
}

.l-cartListBox > div,
.content_cart > div {
  margin-bottom: 20px;
}

/* カートの追加情報（ユーザーCSSとの兼ね合いでスタイル調整） */
.l-cartListBox .content_form.additional {
  padding: 20px; /*paddingは削除不可*/
  background: #fff;
  border: 1px solid #c8c8c8;
}
.l-cartListBox .content_form.additional .m-confirmCustomerInfo {
  padding: 0;
  border: none;
}
.headline + .l-cartListBox {
  margin-top: 40px;
}
@media screen and (max-width: 834px) {
  .headline + .l-cartListBox {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 480px) {
  .headline + .l-cartListBox {
    margin-top: 20px;
  }
  .l-cartListBox .content_form.additional {
    padding: 10px;
  }
}
@media screen and (min-width: 1241px) {
  .section_inner:not(.box-bottom) .l-cartListBox {
    float: left;
    width: calc( 100% - 400px - 40px);
    max-width: 890px;
    margin-top: 40px;
    margin-right: 40px;
  }
  .section_inner:not(.box-bottom) .l-cartTotalBox {
    float: left;
    width: 400px;
  }
}

.l-cartTotalBox-inner {
  width: 100%;
  border-radius: 3px;
  border: solid 1px #c8c8c8;
  padding: 0;
  background: #fff;
}

.l-cartTotalBox-inner .o-header {
  text-align: center;
  padding: 10px 20px 8px;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
}

.l-cartTotalBox-inner .o-body_product {
  padding: 10px 20px;
  font-size: 16px;
}
.l-cartTotalBox-inner .o-body {
    padding: 20px;
    font-size: 16px;
}
.l-cartTotalBox-inner .taxtypeBox {
    margin: 0;
    padding: 0;
    line-height: 1.3;
    box-sizing: border-box;
}
.l-cartTotalBox-inner .taxtypeBox .taxTitle {
    margin: 0 auto 4px;
    padding: 8px 10px 4px;
    font-size: 16px;
    font-weight: bold;
    box-sizing: border-box;
    background: #efefef;
    border-radius: 4px;
}
.l-cartTotalBox-inner .row-unit {
    margin: 0;
    padding: 0 0 8px 10px;
    box-sizing: border-box;
}
.l-cartTotalBox-inner [class^="o-row-"] {
    width: 100%;
    padding: 5px 0 0;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}
.l-cartTotalBox-inner .o-row-product {
    border-top: 1px solid #ccc;
}
.l-cartTotalBox-inner .o-body_product {
    font-size: 14px;
    line-height: 1.4;
}
.l-cartTotalBox-inner .o-body_product > div {
    padding: 0 0 5px;
}
.l-cartTotalBox-inner .o-body_product > .o-row-product,
.l-cartTotalBox-inner .o-body_product > .o-row-product_noline {
    padding: 10px 0 5px;
}
.l-cartTotalBox-inner .o-text-right {
    text-align: right;
}
.l-cartTotalBox-inner .o-row-total .o-text-left {
    font-size: 16px;
    font-weight: bold;
}
.l-cartTotalBox-inner .o-row-total .o-text-right {
    font-size: 20px;
    font-weight: bold;
    color: #e37d39;
}
.l-cartTotalBox-inner .o-row-subtotal.separate {
    margin: 4px 0 0 0;
    padding-top: 6px;
    border-top: 1px dotted #ccc;
}
.l-cartTotalBox-inner .o-row-fee-total {
    margin: 5px 0 0 0;
    padding: 3px 0 5px 8px;
    line-height: 1.4;
    align-items: center;
}
.l-cartTotalBox-inner .o-row-fee-total.separate {
    margin: 0;
}
.l-cartTotalBox-inner .o-row-fee-total .o-text-left {
    font-size: 18px;
    font-weight: bold;
    padding: 0;
}
.l-cartTotalBox-inner .o-row-fee-total .o-text-right,
.l-cartTotalBox-inner .o-row-initial-total .o-text-right {
    font-size: 20px;
    font-weight: bold;
    color: #e37d39;
    padding: 0;
}

.l-cartTotalBox-inner .hide {
    display: none;
}

@media screen and (max-width: 480px) {
  .l-cartTotalBox-inner .o-body {
      padding: 15px;
      font-size: 14px;
  }
  .l-cartTotalBox-inner .o-row-fee-total .o-text-left,
  .l-cartTotalBox-inner .o-row-initial-total .o-text-left,
  .l-cartTotalBox-inner .taxtypeBox .taxTitle {
      font-size: 14px;
  }
  .l-cartTotalBox-inner .o-row-total .o-text-right,
  .l-cartTotalBox-inner .o-row-fee-total .o-text-right,
  .l-cartTotalBox-inner .o-row-initial-total .o-text-right {
      font-size: 16px;
  }
  .l-cartTotalBox-inner .o-body_product {
      font-size: 12px;
  }
}

.l-cartItem {
  border-radius: 3px;
  border: solid 1px #c8c8c8;
  padding: 30px;
  text-align: center;
  background: #fff;
}
.disabledItem {
  background: #ddd;
}

@media screen and (max-width: 768px) {
  .l-cartItem {
    padding: 30px 10px 10px;
  }
}

@media screen and (max-width: 480px) {
  .l-cartItem {
    padding: 30px 4px 4px;
  }
}

.m-cartItemPhoto {
  float: left;
  width: 175px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemPhoto {
    width: 20%;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemPhoto {
    display: inline-block;
    float: none;
    width: 50%;
    margin-bottom: 30px;
  }
}

.m-cartItemPhoto img.product_img {
  width: 175px;
  height: auto;
}

@media screen and (max-width: 1280px) {
  .m-cartItemPhoto img.product_img {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemPhoto img.product_img {
    width: 80%;
  }
}

.m-cartItemPhoto .btn_modal a,
.m-cartItemPhoto .btn_externalLink a {
  position: relative;
  margin-top: 10px;
  padding: 12px;
  min-width: 100%;
}

.m-cartItemPhoto .btn_modal a > span,
.m-cartItemPhoto .btn_externalLink a > span {
  padding-right: 14px;
}

.m-cartItemPhoto .agree.item .checkbox_text {
  margin: 8px auto;
}

@media screen and (max-width: 1280px) {
  .m-cartItemPhoto .btn_modal a,
  .m-cartItemPhoto .btn_externalLink a {
    padding: 5px 0;
  }
  .m-cartItemPhoto .btn_modal a > span,
  .m-cartItemPhoto .btn_externalLink a > span {
    padding-right: 20px;
  }
}

.m-cartItemList {
  float: left;
  margin-left: 30px;
  width: calc( 100% - 175px - 30px);
  position: relative;
  text-align: left;
  /* 行: ヘッダ(数量・価格) */
}

@media screen and (max-width: 1280px) {
  .m-cartItemList {
    width: calc( 100% - 20% - 30px);
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList {
    display: inline-block;
    float: none;
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }
}

.m-cartItemList .o-treeMenu {
  margin: 0 15px;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-treeMenu {
    margin: 0;
  }
}

.m-cartItemList .o-row-head > span:nth-child(1),
.m-cartItemList .o-row-mainItem > span:nth-child(1),
.m-cartItemList .o-row-subItem > span:nth-child(1),
.m-cartItemList .o-row-subTotal > span:nth-child(1) {
  width: calc(100% - 110px);
  text-align: left;
  display: inline-block;
  margin: 0 0 5px;
}
.m-cartItemList .o-row-mainItem.editable > span:nth-child(1),
.m-cartItemList .o-row-subItem.editable > span:nth-child(1) {
  width: calc(100% - 130px);
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(1) {
  text-align: left;
  display: inline-block;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-head > span:nth-child(1),
  .m-cartItemList .o-row-mainItem > span:nth-child(1),
  .m-cartItemList .o-row-subItem > span:nth-child(1),
  .m-cartItemList .o-row-subTotal > span:nth-child(1) {
    width: calc(100% - 90px);
    margin: 5px 0 5px 5px;
  }
  .m-cartItemList .o-row-mainItem.editable > span:nth-child(1),
  .m-cartItemList .o-row-subItem.editable > span:nth-child(1) {
    width: calc(100% - 125px);
  }
}

.m-cartItemList .o-row-head > span:nth-child(2),
.m-cartItemList .o-row-mainItem > span:nth-child(2),
.m-cartItemList .o-row-subItem > span:nth-child(2),
.m-cartItemList .o-row-subTotal > span:nth-child(2) {
  width: 90px;
  position: absolute;
  right: 10px;
  text-align: center;
  display: inline-block;
}
.m-cartItemList .o-row-mainItem.editable > span:nth-child(2),
.m-cartItemList .o-row-subItem.editable > span:nth-child(2) {
  width: 110px;
  right: 0;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-head > span:nth-child(2),
  .m-cartItemList .o-row-mainItem > span:nth-child(2),
  .m-cartItemList .o-row-subItem > span:nth-child(2),
  .m-cartItemList .o-row-subTotal > span:nth-child(2) {
    right: 5px;
  }
}

.m-cartItemList .o-row-head > span:nth-child(3),
.m-cartItemList .o-row-mainItem > span:nth-child(3),
.m-cartItemList .o-row-subItem > span:nth-child(3),
.m-cartItemList .o-row-subTotal > span:nth-child(3) {
  width: 155px;
  text-align: right;
  display: inline-block;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(3) {
  text-align: right;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-head > span:nth-child(3),
  .m-cartItemList .o-row-mainItem > span:nth-child(3),
  .m-cartItemList .o-row-subItem > span:nth-child(3),
  .m-cartItemList .o-row-subTotal > span:nth-child(3) {
    width: 115px;
  }
}

.m-cartItemList .o-row-head input[type='text'],
.m-cartItemList .o-row-mainItem input[type='text'],
.m-cartItemList .o-row-subItem input[type='text'],
.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem input[type='text'],
.m-cartItemList .o-row-subTotal input[type='text'] {
  width: 80px;
  height: 30px;
  text-align: center;
}

.m-cartItemList .o-row-mainItem input[type='text'].preferred-use-start-date-text,
.m-cartItemList .o-row-subItem input[type='text'].preferred-use-start-date-text,
.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem input[type='text'].preferred-use-start-date-text,
.m-cartItemList .o-row-subTotal input[type='text'].preferred-use-start-date-text {
    width: 130px;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-head input[type='text'],
  .m-cartItemList .o-row-mainItem input[type='text'],
  .m-cartItemList .o-row-subItem input[type='text'],
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem input[type='text'],
  .m-cartItemList .o-row-subTotal input[type='text'] {
    width: 40px;
  }
}

.m-cartItemList .o-row-head {
  border-bottom: 1px solid #ddd;
  font-size: 18px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-head {
    font-size: 18px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-head {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-head {
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-head {
    font-size: 12px;
  }
}

.m-cartItemList .o-row-head > span:nth-child(3) {
  margin-left: -35px;
}

.m-cartItemList .o-row-mainItem {
  margin: 13px 0 5px;
  position: relative;
  text-align: left;
}

.m-cartItemList .o-row-mainItem > span {
  font-size: 21px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-mainItem > span {
    font-size: 19px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-mainItem > span {
    font-size: 17px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-mainItem > span {
    font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-mainItem > span {
    font-size: 14px;
  }
}

.m-cartItemList .o-row-mainItem > span:nth-child(3) {
  margin-left: -15px;
  word-break: keep-all;
}

.m-cartItemList .o-item-group:nth-child(n+2) {
  margin-top: 30px;
}
.m-cartItemList .info,
.cart_table .info .info {
  width: 100%;
  font-size: 14px;
  margin: 5px 0 0 0;
}
.m-cartItemList .info span,
.cart_table .info .info span {
  margin: 0 5px 0 0;
  padding: 2px 4px;
  display: inline-block;
  line-height: 1.2;
  font-size: 12px;
  border: 1px solid #ddd;
  background: #fff;
  min-width: 6em;
  text-align: center;
  vertical-align: middle;
}
.m-cartItemList .o-group-subItem {
  width: 100%;
  display: block;
  background-color: #efefef;
  padding: 10px 15px;
  border-top: 1px dotted #c8c8c8;
  box-sizing: border-box;
  position: relative;
  text-align: left;
}
.userInfoInput {
    float: left;
    margin-right: 1%;
}

/* 商品明細部分 */
.cart_table td.product_sub {
    width: 45%;
}

.m-cartItemList .o-row-mainItem+.o-group-subItem {
  border-top: none;
}

.m-cartItemList .o-row-subItem > span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subItem > span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subItem > span {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem > span {
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem > span {
    font-size: 14px;
  }
}

.m-cartItemList .o-row-subItem > span:nth-child(1) {
  left: 0;
  font-size: 16px;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem > span:nth-child(1) {
    font-size: 14px;
  }
}

.m-cartItemList .o-row-subItem > span:nth-child(1) > a {
  color: #333;
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem > span:nth-child(1) {
    margin-right: 0;
    margin-left: 0;
  }
}

.m-cartItemList .o-row-subItem > span:nth-child(3) {
  font-weight: bold;
  margin-left: -15px;
}
.m-cartItemList .o-group-subItem .o-row-subItem .btn_externalLink,
.m-cartItemList .o-group-subItem .o-row-subItem .btn_modal,
table .btn_externalLink,
table .btn_modal {
  min-width: auto;
  min-height: auto;
  text-align: left;
  margin: 0;
  line-height: 1.4;
}
.m-cartItemList .o-group-subItem .o-row-subItem > .btn_externalLink,
.m-cartItemList .o-group-subItem .o-row-subItem .btn_modal {
  margin: 5px 0;
}
.m-cartItemList .o-row-subItem .btn_externalLink a,
.m-cartItemList .o-row-subItem .btn_modal a,
table .btn_externalLink a,
table .btn_modal a,
.btn_usage a {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: auto;
  text-decoration: underline;
  margin: 0;
  padding: 0;
  font-weight: normal;
  border: none;
  font-size: 15px;
  background: transparent;
  border-radius: 5px;
}
table .btn_externalLink a,
table .btn_modal a,
.btn_usage a {
  margin-top: 5px;
  min-width: 15em;
  padding: 3px 4px;
  font-size: 12px!important;
  text-decoration: none;
  text-align: center;
}
.btn_usage a {
  min-width: 10em;
}
table .btn_externalLink span,
table .btn_modal span {
  padding-right: 0;
}
.m-cartItemList .o-group-subItem .o-row-subItem > .btn_externalLink a,
.m-cartItemList .o-group-subItem .o-row-subItem .btn_modal a {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .m-cartItemList .o-group-subItem .o-menuitem {
    line-height: 1.2;
  }
  .m-cartItemList .o-group-subItem .o-row-subItem > .btn_externalLink a,
  .m-cartItemList .o-group-subItem .o-row-subItem .btn_modal a {
    font-size: 14px;
  }
}
@media screen and (min-width: 481px) {
  .m-cartItemList .o-row-subItem .o-treeMenu .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-treeMenu .btn_modal a {
    margin: 8px 0 0 -12px;
  }
}
table .btn_externalLink a,
table .btn_modal a {
  font-size: 100%;
}
@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-modalBtn {
    margin: 8px 0 0 0;
  }
}

.m-cartItemList .o-row-subItem .btn_modal a:after,
.m-cartItemList .o-row-subItem .btn_externalLink a:after,
.billing_cart .btn_modal a:after,
.billing_cart .btn_externalLink a:after,
table .btn_modal a:after,
table .btn_externalLink a:after {
  display: none;
}

.m-cartItemList .o-row-subItem .btn_externalLink a:before,
.m-cartItemList .o-row-subItem .o-modalBtn:before,
.billing_cart .btn_externalLink a:before,
.billing_cart .o-modalBtn:before,
table .btn_modal a:before,
table .btn_externalLink a:before,
.btn_usage a:before {
  font-family: "FontAwesome";
  content: '\f0f6';
  margin-right: 3px;
  font-size: 14px;
  vertical-align: middle;
}
.btn_modal a.icon-play:before,
.btn_externalLink a.icon-play:before {
  content: '\f04b';
}
.btn_modal a.icon-pause:before,
.btn_externalLink a.icon-pause:before {
  content: '\f04c';
}
.btn_modal a.icon-chart:before,
.btn_externalLink a.icon-chart:before {
  content: '\f080';
}
.btn_modal a.icon-config:before,
.btn_externalLink a.icon-config:before {
  content: '\f013';
}
a.icon-note:before {
    font-family: "FontAwesome";
    content: '\f0f6';
    margin-right: 3px;
    font-size: 14px;
    vertical-align: middle;
}
.m-cartItemList .o-row-subItem .btn_externalLink a > span,
.m-cartItemList .o-row-subItem .btn_modal a > span,
table .btn_externalLink a > span,
table .btn_modal a > span{
  position: relative;
  font-weight: normal;
}

.m-cartItemList .o-row-subItem .agree.item {
  text-align: left;
  margin: 0 0 0 -12px;
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem .agree.item {
    text-align: left;
    margin: 0;
  }
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subItem .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-externalLinkBtn,
  .m-cartItemList .o-row-subItem .o-modalBtn span,
  .m-cartItemList .o-row-subItem .agree.item .checkbox_text {
    font-size: 13px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subItem .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-externalLinkBtn,
  .m-cartItemList .o-row-subItem .o-modalBtn span,
  .m-cartItemList .o-row-subItem .agree.item .checkbox_text {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-externalLinkBtn,
  .m-cartItemList .o-row-subItem .o-modalBtn span,
  .m-cartItemList .o-row-subItem .agree.item .checkbox_text {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .btn_externalLink a,
  .m-cartItemList .o-row-subItem .o-externalLinkBtn,
  .m-cartItemList .o-row-subItem .o-modalBtn span,
  .m-cartItemList .o-row-subItem .agree.item .checkbox_text {
    font-size: 12px;
  }
}

.m-cartItemList .o-row-subItem .m-treeMenu,
.m-cartItemList .o-row-mainItem .m-treeMenu {
  margin: 0;
  text-align: left;
}
.m-cartItemList .o-row-mainItem .m-treeMenu .o-menuitem:before{
  display: none;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem {
  padding: 5px 0;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span {
  vertical-align: middle;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span {
    font-size: 13px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span {
    font-size: 13px;
  }
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(1), .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(1) {
  margin-right: 5px;
  margin-left: 5px;
  display: inline-block;
  max-width: 100%;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(1) {
  margin-right: 15px;
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(1) {
    margin-left: 15px;
  }
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(2), .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(2) {
  margin-right: 5px;
  margin-left: -5px;
  display: inline-block;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(3), .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem > span:nth-child(3) {
  font-weight: bold;
  margin-left: -15px;
}

.m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu:before {
  border-left: 0px;
}

.m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem:last-child:before {
  background-color: transparent;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box {
  background-color: #fff;
  margin-top: 5px;
  padding: 5px;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box {
    width: auto;
    margin: 5px 0 0 0;
  }
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.2;
  padding: 3px 0;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row:first-child, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row:first-child {
  border-bottom: 1px dotted #c8c8c8;
}

.m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span {
  font-size: 12px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span {
    font-size: 12px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span, .m-cartItemList .o-row-mainItem .m-treeMenu .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row span {
    font-size: 12px;
  }
}
.o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span {
  box-sizing: border-box;
  display: inline-block;
}
.taxType {
  font-size: 86%;
  display: inline-block;
  vertical-align: middle;
  margin-top: -1px;
}
.o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(1) {
  width: calc( 52% - 50px );
  text-align: left;
}
.o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(2) {
  width: 18%;
}
.o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(3) {
  width: 30%;
}
.o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(4) {
  width: 50px;
}
@media screen and (max-width: 600px) {
  .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(1) {
    width: calc( 52% - 42px );
  }
  .o-treeMenu .o-menuitem .o-plan-box > .o-plan-row > span:nth-child(4) {
    width: 42px;
  }
}

.m-cartItemList .o-row-subTotal {
  margin-top: 10px;
  padding: 20px 0 15px;
  border-top: 1px solid #d0dbdc;
  /* display: table-row; */
}

.m-cartItemList .o-row-subTotal > span {
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subTotal > span {
    font-size: 18px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subTotal > span {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subTotal > span {
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subTotal > span {
    font-size: 12px;
  }
}

.m-cartItemList .o-row-subTotal > span:nth-child(3) {
  font-size: 21px;
  margin-left: -15px;
  word-break: keep-all;
}

@media screen and (max-width: 1280px) {
  .m-cartItemList .o-row-subTotal > span:nth-child(3) {
    font-size: 19px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemList .o-row-subTotal > span:nth-child(3) {
    font-size: 17px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemList .o-row-subTotal > span:nth-child(3) {
    font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .m-cartItemList .o-row-subTotal > span:nth-child(3) {
    font-size: 14px;
  }
}

.m-cartItemActionBox {
  padding: 10px 5px;
}

.m-cartItemActionBox a {
  font-size: 15px;
}

@media screen and (max-width: 1280px) {
  .m-cartItemActionBox a {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-cartItemActionBox a {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-cartItemActionBox a {
    font-size: 12px;
  }
}

/* 利用開始希望日 */
.m-cartItemList .preferred_date {
    margin-top: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
 .m-cartItemList .o-row-mainItem .preferred_date {
    padding: 0 5px;
}
.m-cartItemList .preferred_date label {
    margin: 0 10px 0 0;
}
.m-cartItemList .preferred_date input[type='text'] {
    height: 32px;
}
.m-cartItemList .preferred_date .has-error {
    width: 100%;
}
a.preferred_setting {
    margin: 0 0 0 10px;
    padding: 5px 24px 5px 10px;
    font-weight: bold;
}
.preferredall a.preferred_setting,
.l-cartTotalBox a.preferred_setting {
    max-width: 220px;
    margin: 15px auto 0;
}
.preferredall {
    display: none;
}
@media screen and (max-width: 1240px) {
    .l-cartListBox > .preferredall:last-of-type {
        margin-bottom: 30px;
    }
    .preferredall {
        display: block;
    }
    .preferredall a.preferred_setting {
        margin: 0 0 0 auto;
    }
    .l-cartTotalBox a.preferred_setting {
        display: none;
    }
}
@media screen and (max-width: 600px) {
    .m-cartItemList .preferred_date {
        margin: 10px 0;
    }
    .btn_preferred {
      width: 100%;
    }
    a.preferred_setting {
        margin: 10px auto 0;
        max-width: 240px;
        box-sizing: border-box;
    }
}
@media screen and (max-width: 480px) {
    .m-cartItemList .preferred_date {
        padding: 10px 5px;
    }
    .m-cartItemList .o-row-subItem .preferred_date {
        padding: 10px 0;
    }
}

/* 追加費用・利用料 */
.charge_additional_main,
.m-cartItemList div[id^="additional_child"] {
    width: 100%;
}
.addcost-title {
    margin: 10px 0 0;
    padding: 5px 0;
    border-top: 1px solid #d64747;
    color: #d64747;
}
.m-cartItemList .addcost {
    margin-top: 4px;
    padding: 4px;
    background: #fff;
    box-sizing: border-box;
}
 .m-cartItemList .o-row-mainItem .addcost {
    padding: 4px 0;
}
.m-cartItemList .addcost .addcost-head,
.m-cartItemList .addcost .addcost-body {
    display: flex;
    align-items: center;
}
.m-cartItemList .addcost .addcost-head > div,
.m-cartItemList .addcost .addcost-body > div {
    font-size: 12px;
    padding: 4px 0;
    line-height: 1.2;
}
.m-cartItemList .addcost .addcost-head {
    border-bottom: 1px dotted #c8c8c8;
}
.m-cartItemList .addcost .addcost-head div {
    text-align: center;
}
.m-cartItemList .addcost * {
    box-sizing: border-box;
}
.m-cartItemList .addcost .addcost-head {
    text-align: center;
}
.m-cartItemList .addcost .addcost-body {
    flex-wrap: wrap;
}
.m-cartItemList .addcost .title {
    width: calc( 52% - 50px );
    background: transparent;
}
.m-cartItemList .addcost .quantity {
    width: 18%;
}
.m-cartItemList .addcost .cost {
    width: 30%;
}
.m-cartItemList .addcost .taxtype {
    width: 50px;
}
.m-cartItemList .modal_body .addcost .title {
    width: calc( 56% - 50px );
}
.m-cartItemList .modal_body .addcost .quantity {
    width: 14%;
}
.m-cartItemList .modal_body .addcost .taxtype {
    width: 50px;
}
@media screen and (max-width: 600px) {
  .m-cartItemList .addcost .taxtype,
  .m-cartItemList .modal_body .addcost .taxtype {
      width: 42px;
  }
  .m-cartItemList .addcost .title {
      width: calc( 52% - 42px );
  }
  .m-cartItemList .modal_body .addcost .title {
      width: calc( 56% - 42px );
  }
}
.m-cartItemList .addcost .addcost-body .spOnly {
    display: none;
}
.m-cartItemList .addcost .addcost-body .quantity,
.m-cartItemList .addcost .addcost-body .taxtype {
    text-align: center;
}
.m-cartItemList .addcost .addcost-body .cost {
    text-align: right;
}
.m-cartItemList .addcost .addcost-body .plan {
    margin: 4px 0 0 auto;
    padding: 4px 6px;
    background: #efefef;
    position: relative;
}
.m-cartItemList .addcost .addcost-body .plan::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-bottom-color: #efefef;
    position: absolute;
    left: 10px;
    top: -16px;
}
.m-cartItemList .addcost .addcost-body .plan-main {
    display: flex;
    flex-wrap: nowrap;
    text-align: right;
}
.m-cartItemList .addcost .addcost-body .plan .difference-price {
    margin-right: 3em;
    text-align: right;
}
.m-cartItemList .addcost .addcost-body .plan-cost {
    width: 7.2em;
}
.m-cartItemList .addcost .addcost-body .symbol {
    width: 1.5em;
}
.m-cartItemList .addcost .addcost-body .plan-detail {
    width: 8em;
}
#modal_body_preferred_use_start_date_all_set .o-right,
#modal_body_preferred_use_start_date_all_set .o-left {
    padding: 6px;
}
#modal_body_preferred_use_start_date_all_set .addcost {
    margin-top: 20px;
}
@media screen and (max-width: 480px) {
    .m-cartItemList .preferred_date label {
        margin: 0 10px 0 0;
    }
    .m-cartItemList .addcost-title {
        padding: 4px 0;
    }
    .m-cartItemList .o-row-mainItem .addcost {
        padding: 5px 0;
    }
}

/*申請書*/
.form tr.dispform {
  cursor: pointer;
}
.form tr.dispform th,
.form tr.dispform td {
  vertical-align: middle;
}

.m-agreeTermsOfService {
  display: table;
  margin: 10px 0;
  background-color: #efefef;
  width: 100%;
}
.m-agreeTermsOfService .o-inner {
  display: table-cell;
  padding: 0 20px;
  width: 100%;
  height: 90px;
  vertical-align: middle;
  text-align: center;
}
.m-agreeTermsOfService p {
  margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  .m-agreeTermsOfService .o-inner {
    text-align: left;
  }
  .m-agreeTermsOfService p {
    margin-bottom: 10px;
  }
}
.m-agreeTermsOfService .checkbox_text {
  display: inline-block;
  margin: 0;
  padding-top: 0;
}
.m-agreeTermsOfService .checkbox_text span {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
    .m-agreeTermsOfService .checkbox_text span {
      font-size: 16px;
    }
}
/* 非アクティブボタン */
.btn_deactive a, .btn_deactive input, .btn_deactive a:hover, .btn_deactive input:hover{
  border: none!important;/* style.cssのボーダー打ち消し */
  pointer-events: none;
  cursor: default;
}
/* カスタム管理項目チェックボックス */
.checkbox-image {
    width:20px;
}
.checkbox-display {
    display: flex;
}
.checkbox-wh {
    width: 20px;
    height: 20px;
}
.main-store-final-message {
    padding-left:1.5em;
}
.option-store-final-message {
    padding-left:2em;
}
/* 完了画面 */
.complete-number {
  margin: 30px auto;
  max-width: 1000px;
  padding: 80px 10px;
  text-align: center;
  border: 1px solid #c8c8c8;
  font-size: 28px;
  font-weight: bold;
  background: #fff;
}
.complete-number .no {
  display: inline-block;
  font-weight: bold;
}
@media screen and (max-width: 1280px) {
  .complete-number {
    padding: 40px 10px;
    font-size: 24px;
  }
}
@media screen and (max-width: 999px) {
  .complete-number {
    font-size: 21px;
  }
}
@media screen and (max-width: 768px) {
  .complete-number {
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  .complete-number {
    padding: 20px 10px;
    font-size: 16px;
  }
}

/* お見積り有効期限 */
.m-estimated-date {
  margin: 30px 0 10px;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .m-estimated-date {
    text-align: left;
  }
}

/* お見積り商品情報 */
/* お客様情報 */
.m-customer-complete-container {
  text-align: center;
  margin: 0 auto;
}

.m-estimated-info,
.m-customer-info {
  width: 100%;
  max-width: 1280px;
  display: inline-block;
  text-align: center;
  margin-bottom: 30px;
}

.m-estimated-info .o-header,
.m-customer-info .o-header {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  max-width: 790px;
  color: #fff;
  padding: 15px 0 12px;
  font-size: 24px;
  font-weight: bold;
  border-radius: 4px;
}

@media screen and (max-width: 1280px) {
  .m-estimated-info .o-header,
  .m-customer-info .o-header {
    font-size: 21px;
  }
}

@media screen and (max-width: 999px) {
  .m-estimated-info .o-header,
  .m-customer-info .o-header {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .m-estimated-info .o-header,
  .m-customer-info .o-header {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .m-estimated-info .o-header,
  .m-customer-info .o-header {
    font-size: 15px;
  }
}

.m-estimated-info .open .o-header, .m-customer-info .open .o-header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.m-estimated-info .o-header:after,
.m-customer-info .o-header:after {
  content: '';
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 29px;
  height: 29px;
  background-image: url("../images/icon_chevron-circle-down.png");
  background-repeat: no-repeat;
  background-position: 0 0;
}

.m-estimated-info .open .o-header:after, .m-customer-info .open .o-header:after {
  background-image: url("../images/icon_chevron-circle-up.png");
}

.m-estimated-info .o-body,
.m-customer-info .o-body {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  max-width: 790px;
  text-align: left;
  padding: 40px 40px 0;
  border-left: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  border-bottom: 1px solid #c8c8c8;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

@media screen and (max-width: 768px) {
  .m-estimated-info .o-body,
  .m-customer-info .o-body {
    padding: 10px 10px 0;
  }
}

.m-estimated-info .u-2cols-container .o-right,
.m-estimated-info .u-2cols-container .o-left,
.m-customer-info .u-2cols-container .o-right,
.m-customer-info .u-2cols-container .o-left {
  padding: 8px;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-estimated-info .u-2cols-container .o-right,
  .m-estimated-info .u-2cols-container .o-left,
  .m-customer-info .u-2cols-container .o-right,
  .m-customer-info .u-2cols-container .o-left {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-estimated-info .u-2cols-container .o-right,
  .m-estimated-info .u-2cols-container .o-left,
  .m-customer-info .u-2cols-container .o-right,
  .m-customer-info .u-2cols-container .o-left {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-estimated-info .u-2cols-container .o-right,
  .m-estimated-info .u-2cols-container .o-left,
  .m-customer-info .u-2cols-container .o-right,
  .m-customer-info .u-2cols-container .o-left {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-estimated-info .u-2cols-container .o-right,
  .m-estimated-info .u-2cols-container .o-left,
  .m-customer-info .u-2cols-container .o-right,
  .m-customer-info .u-2cols-container .o-left {
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) {
  .m-estimated-info .u-2cols-container .o-right,
  .m-estimated-info .u-2cols-container .o-left,
  .m-customer-info .u-2cols-container .o-right,
  .m-customer-info .u-2cols-container .o-left {
    padding: 0;
  }
}

.m-estimated-info .u-2cols-container .o-left,
.m-customer-info .u-2cols-container .o-left {
  width: 39%;
  text-align: right;
}

.m-estimated-info .u-2cols-container .o-right,
.m-customer-info .u-2cols-container .o-right {
  width: 59%;
}

/* ご請求先情報 */
/* お届け先情報 */
/* お支払い方法 */
.m-customer-subinfo {
  border: 1px solid #c8c8c8;
  border-radius: 5px 5px 0 0;
}
.m-payment-method .o-title,
.m-customer-subinfo .o-title {
  color: #fff;
  padding: 8px 20px 5px;
  font-size: 18px;
  font-weight: bold;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  text-align: center;
}

.m-payment-method .open {
  background:#ffffff;
}

@media screen and (max-width: 1280px) {
  .m-payment-method .o-title,
  .m-customer-subinfo .o-title {
    font-size: 18px;
  }
}

@media screen and (max-width: 999px) {
  .m-payment-method .o-title,
  .m-customer-subinfo .o-title {
    font-size: 15px;
  }
}

@media screen and (max-width: 768px) {
  .m-payment-method .o-title,
  .m-customer-subinfo .o-title {
    font-size: 14px;
  }
}

@media screen and (max-width: 480px) {
  .m-payment-method .o-title,
  .m-customer-subinfo .o-title {
    font-size: 12px;
  }
}

.m-payment-method .o-inner,
.m-customer-subinfo .o-inner {
  padding: 20px;
  font-size: 14px;
  background: #fff;
}

@media screen and (max-width: 1280px) {
  .m-payment-method .o-inner,
  .m-customer-subinfo .o-inner {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-payment-method .o-inner,
  .m-customer-subinfo .o-inner {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-payment-method .o-inner,
  .m-customer-subinfo .o-inner {
    font-size: 12px;
    padding: 5px 10px;
  }
}

@media screen and (max-width: 400px) {
  .m-payment-method .o-inner,
  .m-customer-subinfo .o-inner {
    padding: 5px;
  }
}

.m-payment-method .o-credit-title,
.m-customer-subinfo .o-credit-title {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-payment-method .o-credit-title,
  .m-customer-subinfo .o-credit-title {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-payment-method .o-credit-title,
  .m-customer-subinfo .o-credit-title {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-payment-method .o-credit-title,
  .m-customer-subinfo .o-credit-title {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-payment-method .o-credit-title,
  .m-customer-subinfo .o-credit-title {
    font-size: 11px;
  }
}

.m-payment-method .o-credit-header,
.m-customer-subinfo .o-credit-header {
  position: relative;
  z-index: 1;
}

/* お支払い方法 */
.m-payment-method {
  border: 1px solid #c8c8c8;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .o-inner.payment .m-inputCustomerInfo .btn_detail {
    width: 100%;
  }
}
@media screen and (min-width: 480px) {
  .payment_credit .o-right #name,
  .payment_credit .o-right #card_no {
    min-width: 200px;
  }
}
/* クレジットカード表示 */
.m-credit-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 999px) {
  .m-credit-list {
    display: block;
  }
}

.m-credit-list .o-row:nth-child(1) {
  width: 35%;
}

.m-credit-list .o-row:nth-child(2) {
  width: 25%;
}

.m-credit-list .o-row:nth-child(3) {
  width: 15%;
  text-align: center;
}

@media screen and (max-width: 999px) {
  .m-credit-list .o-row:nth-child(3) {
    text-align: left;
  }
}

.m-credit-list .o-row:nth-child(4) {
  width: 25%;
}

@media screen and (max-width: 999px) {
  .m-credit-list .o-row:nth-child(1), .m-credit-list .o-row:nth-child(2), .m-credit-list .o-row:nth-child(3), .m-credit-list .o-row:nth-child(4) {
    width: 100%;
  }
}

.m-credit-list .o-row span {
  display: block;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-credit-list .o-row span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-credit-list .o-row span {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-credit-list .o-row span {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-credit-list .o-row span {
    font-size: 11px;
  }
}

@media screen and (max-width: 999px) {
  .m-credit-list .o-row span {
    display: inline-block;
    width: 49%;
  }
}

.m-confirmCustomerInfo {
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #c8c8c8;
  margin: 20px 0 40px;
  padding: 40px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .m-confirmCustomerInfo {
    margin: 20px 0;
    padding: 15px 10px;
  }
}
@media screen and (max-width: 400px) {
  .m-confirmCustomerInfo {
    padding: 15px 5px;
  }
}

@media screen and (max-width: 480px) {
  .l-cartListBox .m-confirmCustomerInfo {
    margin: 10px 0;
  }
}

.m-customer-subinfo .m-confirmCustomerInfo {
  border: none;
  margin: 0;
  border-radius: 0;
}

/* input, confirm共通 */
.content.form h3 {
  font-size: 20px;
}
h3 + form > .u-2cols-container {
  margin-top: 10px;
}
.u-2cols-container .o-left {
  width: 18em;
  text-align: left;
}
.u-2cols-container .o-right {
  width: calc( 100% - 18em);
}
@media screen and (min-width: 1024px) {
  /* フルサイズのフォーム用 */
  .u-2cols-container.wide .o-left {
    width: 22em;
  }
  .u-2cols-container.wide .o-right {
    width: calc( 100% - 23em);
  }
}

.m-confirmCustomerInfo.u-2cols-container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.m-confirmCustomerInfo.u-2cols-container .o-right,
.m-confirmCustomerInfo.u-2cols-container .o-left {
  padding: 16px 8px;
  font-size: 16px;
  line-height: 1.4;
}

@media screen and (max-width: 1280px) {
  .m-confirmCustomerInfo.u-2cols-container .o-right,
  .m-confirmCustomerInfo.u-2cols-container .o-left {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .m-confirmCustomerInfo.u-2cols-container .o-right,
  .m-confirmCustomerInfo.u-2cols-container .o-left {
    font-size: 13px;
  }
}

@media screen and (max-width: 480px) {
  .m-confirmCustomerInfo.u-2cols-container .o-right,
  .m-confirmCustomerInfo.u-2cols-container .o-left {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .m-confirmCustomerInfo.u-2cols-container .o-right,
  .m-confirmCustomerInfo.u-2cols-container .o-left {
    padding: 6px 0 4px;
  }
}

.m-confirmCustomerInfo.u-2cols-container .o-left {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .m-confirmCustomerInfo.u-2cols-container .o-left,
  .m-confirmCustomerInfo.u-2cols-container .o-right {
    width: 100%;
    display: block;
  }
  .m-confirmCustomerInfo.u-2cols-container .o-left {
    border-bottom: 1px dotted #c8c8c8;
    font-weight: bold;
    color: #666;
  }
  .m-confirmCustomerInfo.u-2cols-container .o-right {
    margin: 0 0 10px;
  }
}

.m-bank-payment,
.m-credit-payment {
  margin-left: 30px;
}

.m-bank-payment .selectWrap select,
.m-credit-payment .selectWrap select {
  width: 100%;
  background: transparent;
}

.m-bank-payment .radio_text,
.m-credit-payment .radio_text {
  margin-left: -30px;
}

.m-bank-payment .radio_text span,
.m-credit-payment .radio_text span {
  padding-left: 2px;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-bank-payment .radio_text span,
  .m-credit-payment .radio_text span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-bank-payment .radio_text span,
  .m-credit-payment .radio_text span {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-bank-payment .radio_text span,
  .m-credit-payment .radio_text span {
    font-size: 13px;
  }
}

@media screen and (max-width: 480px) {
  .m-bank-payment .radio_text span,
  .m-credit-payment .radio_text span {
    font-size: 13px;
  }
}

.m-bank-payment .o-creditcard-text,
.m-credit-payment .o-creditcard-text {
}

.m-bank-payment .o-creditcard-text p,
.m-credit-payment .o-creditcard-text p {
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-bank-payment .o-creditcard-text p,
  .m-credit-payment .o-creditcard-text p {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-bank-payment .o-creditcard-text p,
  .m-credit-payment .o-creditcard-text p {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-bank-payment .o-creditcard-text p,
  .m-credit-payment .o-creditcard-text p {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-bank-payment .o-creditcard-text p,
  .m-credit-payment .o-creditcard-text p {
    font-size: 11px;
  }
}

.m-bank-payment .o-bankAccount-text,
.m-credit-payment .o-bankAccount-text {
  float: left;
  width: 100%;
}

.m-bank-payment .o-bankAccount-text p,
.m-credit-payment .o-bankAccount-text p {
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-bank-payment .o-bankAccount-text p,
  .m-credit-payment .o-bankAccount-text p {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-bank-payment .o-bankAccount-text p,
  .m-credit-payment .o-bankAccount-text p {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-bank-payment .o-bankAccount-text p,
  .m-credit-payment .o-bankAccount-text p {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-bank-payment .o-bankAccount-text p,
  .m-credit-payment .o-bankAccount-text p {
    font-size: 11px;
  }
}

.m-bank-payment .o-creditcard-pict,
.m-credit-payment .o-creditcard-pict {
  float: right;
  width: 157px;
  height: 80px;
  margin-bottom: 10px;
  background-image: url("../images/pict_credit_card.png");
  background-repeat: no-repeat;
  background-position: 0 0;
}

.m-bank-payment .o-select-history,
.m-credit-payment .o-select-history {
  margin-top: 20px;
}

.m-bank-inputForm {
  position: relative;
  display: inline-block;
  width: 100%;
}

@media screen and (max-width: 999px) {
  .m-bank-inputForm {
    display: block;
  }
}

.m-bank-inputForm .o-row {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 10px;
}

/* .m-bank-inputForm .o-row.o-name {
  width: 215px;
}

.m-bank-inputForm .o-row.o-number {
  width: 240px;
}

.m-bank-inputForm .o-row.o-date {
  width: 165px;
} */

.m-bank-inputForm .o-row.o-line {
  position: relative;
  top: 25px;
  width: 1px;
  height: 36px;
  border-left: 1px solid #c8c8c8;
  margin-right: 15px;
}

.m-bank-inputForm .o-row.o-line {
  display: none;
}

/* .m-bank-inputForm .o-row.o-code {
  width: 130px;
}

.m-bank-inputForm .o-row.o-bankname {
  width: 200px;
}

.m-bank-inputForm .o-row.o-branch {
  width: 160px;
}

.m-bank-inputForm .o-row.o-accountType {
  width: 90px;
}

.m-bank-inputForm .o-row.o-accountNo {
  width: 130px;
}

.m-bank-inputForm .o-row.o-accountHolderKana {
  width: 170px;
} */

.m-bank-inputForm .o-row.o-name, .m-bank-inputForm .o-row.o-number, .m-bank-inputForm .o-row.o-date, .m-bank-inputForm .o-row.o-code, .m-bank-inputForm .o-row.o-bankname, .m-bank-inputForm .o-row.o-branch, .m-bank-inputForm .o-row.o-accountType, .m-bank-inputForm .o-row.o-accountNo, .m-bank-inputForm .o-row.o-accountHolderKana {
  width: 100%;
}

.m-bank-inputForm .o-row selectWrap,
.m-bank-inputForm .o-row input[type="text"] {
  width: 95%;
}

.m-bank-inputForm .o-row span {
  display: block;
  word-break: keep-all;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-bank-inputForm .o-row span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-bank-inputForm .o-row span {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-bank-inputForm .o-row span {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-bank-inputForm .o-row span {
    font-size: 11px;
  }
}

.m-bank-inputForm .o-row span {
  display: inline-block;
  width: 49%;
}

.m-inputCustomerInfo {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #c8c8c8;
  margin: 20px 0 40px;
  padding: 40px;
}
/* モーダル内の余白調整 */
@media screen and (min-width: 769px) {
  .modal_content .m-inputCustomerInfo {
    padding: 25px;
  }
  .modal_content .u-2cols-container .o-left {
      width: 15em;
  }
  .modal_content .u-2cols-container .o-right {
      width: calc( 100% - 15em);
  }
}
@media screen and (max-width: 768px) {
  .m-inputCustomerInfo {
    padding: 15px 10px;
  }
  .modal_content .u-2cols-container .o-left {
      font-weight: bold;
  }
}
@media screen and (max-width: 400px) {
  .m-inputCustomerInfo {
    padding: 15px 5px;
  }
}

.m-inputCustomerInfo.o-paymentInfo {
  border: none;
  margin: 0;
  margin-left: -30px;
  padding: 0;
}

.m-inputCustomerInfo.o-paymentInfo.u-2cols-container {
  margin-left: 0;
}

.m-inputCustomerInfo.u-2cols-container {
  box-sizing: border-box;
}

.m-inputCustomerInfo.u-2cols-container:not(.o-paymentInfo) {
  background: #fff;
}


.m-inputCustomerInfo.u-2cols-container .o-right,
.m-inputCustomerInfo.u-2cols-container .o-left {
  padding: 16px 8px;
  line-height: 1.4;
}

.m-inputCustomerInfo.u-2cols-container .inputType .o-right {
  padding-top: 0;
}

.m-inputCustomerInfo.u-2cols-container .o-right .caption {
  color: #999;
  font-size: 14px;
  margin-top: 5px;
  line-height: 1.2;
}

@media screen and (max-width: 480px) {
  .m-inputCustomerInfo.u-2cols-container .o-right .caution,
  .m-inputCustomerInfo.u-2cols-container .o-right .caption {
    font-size: 12px;
  }
}

.m-inputCustomerInfo.u-2cols-container .o-right,
.m-inputCustomerInfo.u-2cols-container .o-left,
.m-inputCustomerInfo.u-2cols-container .o-left input[type='text'],
.m-inputCustomerInfo.u-2cols-container .o-right input[type='text'],
.m-inputCustomerInfo.u-2cols-container .o-left input[type='password'],
.m-inputCustomerInfo.u-2cols-container .o-right input[type='password']  {
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .m-inputCustomerInfo.u-2cols-container .o-right,
  .m-inputCustomerInfo.u-2cols-container .o-left,
  .m-inputCustomerInfo.u-2cols-container .o-left input[type='text'],
  .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'],
  .m-inputCustomerInfo.u-2cols-container .o-left input[type='password'],
  .m-inputCustomerInfo.u-2cols-container .o-right input[type='password'] {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-inputCustomerInfo.u-2cols-container .o-right,
  .m-inputCustomerInfo.u-2cols-container .o-left,
  .m-inputCustomerInfo.u-2cols-container .o-left input[type='text'],
  .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'] {

  }
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo.u-2cols-container .o-right,
  .m-inputCustomerInfo.u-2cols-container .o-left,
  .m-inputCustomerInfo.u-2cols-container .o-left input[type='text'],
  .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'] {

  }
}

@media screen and (max-width: 480px) {
  .m-inputCustomerInfo.u-2cols-container .o-right,
  .m-inputCustomerInfo.u-2cols-container .o-left,
  .m-inputCustomerInfo.u-2cols-container .o-left input[type='text'],
  .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'] {

  }
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo.u-2cols-container .o-left {
    padding: 8px 0 4px 0;
  }
  .m-inputCustomerInfo.u-2cols-container .o-right {
    padding: 2px 0 10px;
  }
}

.m-inputCustomerInfo.u-2cols-container .o-left {
  position: relative;
  padding-right: 30px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo.u-2cols-container .o-left {
    display: block;
    width: 100%;
    text-align: left;
    padding-right: 0;
  }
}

.m-inputCustomerInfo.u-2cols-container .o-right input[type='text'],
.m-inputCustomerInfo.u-2cols-container .o-right input[type='password'] {
  width: 100%;
  box-shadow: none;
  vertical-align: middle;
}

@media screen and (min-width: 370px) {
    .modal_content .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'].date,
    .modal_content .m-inputCustomerInfo.u-2cols-container .o-right input[type='text'].preferred-use-start-date-text
    {
        width: 160px;
        text-align: center;
    }
}

.m-inputCustomerInfo.u-2cols-container .o-right input[type='text']:focus,
.m-inputCustomerInfo.u-2cols-container .o-right input[type='password']:focus {
  -webkit-box-shadow: 0px 0px 2px 2px #ffd8d8;
  box-shadow: 0px 0px 2px 2px #ffd8d8;
}

.m-inputCustomerInfo.u-2cols-container .o-right textarea {
  width: 100%;
  max-width: 100%;
  min-height: 38px;
  -webkit-box-shadow: none;
  box-shadow: none;
  resize: vertical !important;
}

.m-inputCustomerInfo.u-2cols-container .o-right textarea:focus {
  -webkit-box-shadow: 0px 0px 2px 2px #ffd8d8;
  box-shadow: 0px 0px 2px 2px #ffd8d8;
}

/* PC表示は入力フォームを8px上にあげる（確認画面に存在するフォームも） */
@media screen and (min-width: 769px) {
  .u-2cols-container div:not(.inputType) .o-right input[type='text'],
  .u-2cols-container div:not(.inputType) .o-right input[type='password'],
  .u-2cols-container div:not(.inputType) .o-right textarea,
  .u-2cols-container div:not(.inputType) .o-right .selectWrap,
  .u-2cols-container div:not(.inputType) .o-right label.fileupload {
    margin-top: -8px;
  }
  .u-2cols-container .inputType .o-right .selectWrap {
    margin-top: 8px;
  }
  .u-2cols-container div:not(.inputType) .o-right p+input[type='text'],
  .u-2cols-container div:not(.inputType) .o-right p+input[type='password'],
  .u-2cols-container div:not(.inputType) .o-right p+textarea,
  .u-2cols-container div:not(.inputType) .o-right p+.selectWrap,
  .u-2cols-container div:not(.inputType) .o-right p+label.fileupload,
  .u-2cols-container div:not(.inputType) .o-right div+label.fileupload {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo.u-2cols-container .o-right {
    display: block;
    width: 100%;
  }
}
.o-require {
  display: inline-block;
  height: 16px;
  font-size: 11px;
  line-height: 16px;
  border: 1px solid #e37d39;
  color: #e37d39;
  padding: 1px 3px;
  word-break: keep-all;
  vertical-align: middle;
  margin-left: 5px;
}
.m-inputCustomerInfo.u-2cols-container .o-require {
  position: absolute;
  top: 16px;
  right: 0;
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo.u-2cols-container .o-require {
    right: -8px;
    position: relative;
    top: inherit;
  }
}

.m-inputCustomerInfo .btn_detail {
  display: inline-block;
  width: auto;
  margin-top: -7px;
  vertical-align: top;
}
.m-inputCustomerInfo .o-right p:not(.has-error)+.btn_detail {
  margin-top: 0;
}
.m-inputCustomerInfo .submit_btns .btn_detail {
  min-width: 220px;
  margin-top: 0px;
}
@media screen and (max-width: 768px) {
  .m-inputCustomerInfo .btn_detail {
    width: auto;
    margin-top: 1px;
  }
}

.m-inputCustomerInfo .btn_detail input {
  color: #333;
  border: none;
  background-color: #e3e3e3;
  padding: 7px 18px;
  font-weight: normal;
  font-size: 14px;
}

@media screen and (max-width: 1280px) {
  .m-inputCustomerInfo .btn_detail input {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-inputCustomerInfo .btn_detail input {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .m-inputCustomerInfo .btn_detail input {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .m-inputCustomerInfo .btn_detail input {
    font-size: 11px;
  }
}

.m-payment-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #c8c8c8;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 20px;
}

.m-payment-item .o-radio-paymentItem {
  margin-left: 30px;
}

.m-payment-item .o-radio-paymentItem p {
  margin-left: -7px;
}

.m-payment-item .o-radio-paymentItem .o-label-inputPayment {
  display: inline-block;
  width: 100%;
  border-bottom: 1px solid #000;
}

.m-payment-item .o-radio-paymentItem .radio_text {
  width: 100%;
  margin-left: -30px;
}

.m-payment-item .o-radio-paymentItem .radio_text span {
  padding-left: 8px;
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 1280px) {
  .m-payment-item .o-radio-paymentItem .radio_text span {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-payment-item .o-radio-paymentItem .radio_text span {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-payment-item .o-radio-paymentItem .radio_text span {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-payment-item .o-radio-paymentItem .radio_text span {
    font-size: 11px;
  }
}

.l-orderSideBox {
  float: left;
  width: 310px;
}

@media screen and (max-width: 999px) {
  .l-orderSideBox {
    float: none;
    width: 100%;
  }
}

.m-orderSideBox-inner {
  width: 100%;
  border-radius: 3px;
  border: solid 1px #c8c8c8;
  padding: 0;
}

.m-orderSideBox-inner .o-header {
  text-align: center;
  padding: 10px 20px 8px;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
}

.m-orderSideBox-inner .o-body {
  padding: 20px;
  font-size: 16px;
}

.m-orderSideBox-inner .m-treeMenu {
  width: 100%;
}

.m-orderSideBox-inner .m-treeMenu .o-menuitem {
  position: relative;
}

.m-orderSideBox-inner .m-treeMenu .o-left {
  display: inline-block;
  width: 160px;
}

.m-orderSideBox-inner .m-treeMenu .o-right {
  position: absolute;
  display: inline-block;
  width: 85px;
  right: 0;
  text-align: right;
}

.m-orderSideBox-inner .o-tax {
  position: relative;
  margin-bottom: 15px;
}

.m-orderSideBox-inner .o-tax .o-left {
  display: inline-block;
  width: 160px;
}

.m-orderSideBox-inner .o-tax .o-right {
  position: absolute;
  display: inline-block;
  width: 85px;
  right: 0;
  text-align: right;
}

.m-orderSideBox-inner .o-subtotal {
  position: relative;
  border-top: 1px solid #c8c8c8;
  padding-top: 15px;
  font-size: 24px;
}

@media screen and (max-width: 1280px) {
  .m-orderSideBox-inner .o-subtotal {
    font-size: 21px;
  }
}

@media screen and (max-width: 999px) {
  .m-orderSideBox-inner .o-subtotal {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .m-orderSideBox-inner .o-subtotal {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .m-orderSideBox-inner .o-subtotal {
    font-size: 15px;
  }
}

.m-orderSideBox-inner .o-subtotal .o-left {
  display: inline-block;
  width: 60px;
  font-weight: bold;
}

.m-orderSideBox-inner .o-subtotal .o-right {
  position: absolute;
  display: inline-block;
  width: 185px;
  right: 0;
  text-align: right;
  font-weight: bold;
  color: #e37d39;
}

.l-itemDetailMainBox > div:nth-child(n+2) .product_sets {
  margin-top: 50px;
}

.selectSetProduct .product_sets .product_set_separate {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid #ccc;
}
.m-product-select-checkbox {
  position: relative;
}
.product_set_name .radio_text,
.product_set_name .checkbox_text {
  margin: 0;
  padding: 4px 4px 6px 40px;
  line-height: 1.3;
}
.product_set_name .checkbox_text_only {
    margin: 0;
    padding: 4px 4px 6px 0px;
    line-height: 1.3;
}
.product_set_name input[type=radio] + .inputLabel:before,
.product_set_name input[type=checkbox] + .inputLabel:before {
  width: 26px;
  height: 26px;
  border-width: 2px;
}
.product_set_name input[type=radio] + .inputLabel:after {
  width: 16px;
  height: 16px;
  top: 8px;
  left: 7px;
}
.product_set_name input[type=checkbox] + .inputLabel:after {
  width: 8px;
  height: 18px;
  top: 2px;
  left: 10px;
}
.product_set_name label.radio_text span,
.product_set_name label.checkbox_text span {
  font-size: 24px;
  font-weight: bold;
}
/*選択しない*/
.product_sets_list .product_sets.not_select {
  box-sizing: border-box;
  border-left: none;
  border: 1px solid #c8c8c8;
  border-radius: 5px;
  padding: 20px 20px 16px 35px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .product_sets_list .product_sets.not_select {
    margin-bottom: 20px;
    padding: 15px 15px 10px 20px;
  }
}

@media screen and (max-width: 768px) {
  .m-product-select-checkbox .nodelay.cf.caption {
    margin-left: 0;
    text-align: center;
  }
}

.m-product-select-checkbox .column_left.product_detail2.option_left {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 220px;
}

@media screen and (max-width: 768px) {
  .m-product-select-checkbox .column_left.product_detail2.option_left {
    display: inline-block;
    margin-bottom: 20px;
    float: none;
  }
}

.m-product-select-checkbox .column_right.option_right {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: calc( 100% - 220px);
  padding-left: 20px;
}

@media screen and (max-width: 768px) {
  .m-product-select-checkbox .column_right.option_right {
    width: 100%;
    padding-left: 0;
    float: none;
  }
}

.m-product-select-checkbox .column_right.option_right .detail_txt {
  text-align: left;
}

.m-product-select-checkbox .no-photo .column_left.product_detail2.option_left {
  display: none;
}

.m-product-select-checkbox .no-photo .column_right.option_right {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding-left: 0;
}

.m-product-option .product_details {
  width: 100% !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.m-product-option .o-radioBtn-header {
  font-weight: bold;
}

.m-product-option ul.charges_model > li {
  border: 2px solid #c8c8c8;
  border-radius: 5px;
  padding: 20px;
  margin-top: 20px;
}

.m-product-option .radio_text {
  font-weight: bold;
  font-size: 18px;
  padding: 1px 2px 2px 24px;
}

.m-product-option .radio_text_only {
  font-weight: bold;
  font-size: 18px;
  padding: 1px 2px 2px 0px;
}

.m-product-option .charges_list {
  display: block;
  border-bottom: 1px solid #c8c8c8;
  padding: 20px 0;
}

.m-product-option .charges_list:last-child {
  border: none;
  padding-bottom: 0;
}

.m-product-option .charges_list:first-of-type {
  padding-top: 0;
}

.m-product-option .charges_list .name {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 70%;
  float: left;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
}
@media screen and (min-width: 1024px) {
    .m-product-option .charges_list .name {
      width: 60%;
    }
}
@media screen and (max-width: 480px) {
  .m-product-option .charges_list .name {
    width: 100%;
    float: none;
  }
}

.m-product-option .charges_list .name.o-indent {
  text-align: right;
}

.m-product-option .charges_list .name.o-indent span {
  font-weight: bold;
}

.charges_list span.charges_list_amount {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: flex-end;
}

.charges_list span.charges_list_amount_item:nth-child(1) {
  min-width: 6em;
}

.charges_list span.charges_list_amount_item:nth-child(2) {
  min-width: 2em;
  text-align: center;
}

.charges_list span.charges_list_amount_item:nth-child(3) {
  min-width: 4.5em;
}
@media screen and (max-width: 480px) {
  .charges_list span.charges_list_amount_item:nth-child(1) {
    min-width: auto;
    width: 80px;
  }

  .charges_list span.charges_list_amount_item:nth-child(2) {
    min-width: auto;
    width: 12px;
  }

  .charges_list span.charges_list_amount_item:nth-child(3) {
    min-width: auto;
    width: 80px;
  }
}

.m-product-option .charges_list .price {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 30%;
  float: right;
  text-align: right;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
    .m-product-option .charges_list .price {
      width: 40%;
    }
}
@media screen and (max-width: 480px) {
  .m-product-option .charges_list .price {
    width: 100%;
  }
}
.m-charges-model .o-price .o-non-taxed,
.m-product-option .charges_list .price .o-non-taxed {
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  vertical-align: middle;
}
.m-charges-model .o-price .o-non-taxed {
  vertical-align: top;
  margin: 1px 0 0 1px;
}


.m-product-option .charges_list .discription {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  float: left;
  padding: 5px 5px 0;
}

.m-productSets-link {
  display: none;
}

@media screen and (max-width: 768px) {
  .m-productSets-link {
    display: block;
  }
  .m-productSets-link ul{
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
   -ms-flex-wrap: wrap;
       flex-wrap: wrap;
  }
  .m-productSets-link > ul > li {
    width: 45%;
    margin: 0 1%;
    text-align: center;
  }
}


.l-itemDetailMainBox {
  float: left;
  width: calc( 100% - 400px - 40px);
  margin-top: 40px;
  margin-right: 40px;
}

@media screen and (max-width: 1240px) {
  .l-itemDetailMainBox {
    float: none;
    width: 100%;
  }
}

.l-itemDetailSideBox {
  float: left;
  width: 400px;
}

@media screen and (max-width: 1240px) {
  .l-itemDetailSideBox {
    float: none;
    width: 100%;
  }
}

.m-itemDetailSideBox-inner {
  width: 100%;
  border-radius: 3px;
  border: solid 1px #c8c8c8;
  padding: 0;
  background: #fff;
}

.m-itemDetailSideBox-inner .o-header {
  text-align: center;
  padding: 11px 20px 8px;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
}

.m-itemDetailSideBox-inner .o-body {
  padding: 20px;
  font-size: 16px;
}

.m-itemDetailSideBox-inner .o-row {
  padding: 5px 0;
}

.m-itemDetailSideBox-inner .o-row:first-child .o-product_name {
  font-weight: bold;
}

.m-itemDetailSideBox-inner .o-row .o-model_name {
  margin: 5px 0 0 0;
  font-weight: normal;
}

.m-itemDetailSideBox-inner .o-row hr {
  border: none;/*デフォルト打ち消し*/
  border-top: 1px solid #ccc;
}

.m-itemDetailSideBox-inner .o-row .o-plan_name {
  margin-top: 15px;
}

.m-itemDetailSideBox-inner .o-row .o-plan_name + .o-model_name {
  margin-top: 5px;
  padding-left: 1em;
}

.m-itemDetailSideBox-inner .o-left {
  display: inline-block;
  float: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
}
.m-itemDetailSideBox-inner .o-left.o-indent {
  text-align: right;
}

.m-itemDetailSideBox-inner .o-right {
  display: inline-block;
  float: right;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: right;
  font-weight: bold;
  max-width: 100%;
}

.m-itemDetailSideBox-inner .o-button-box {
  margin-top: 20px;
}

.l-itemDetailMainBox .product_sets,
.product_sets_list .product_sets {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #c8c8c8;
  border-radius: 5px;
  padding: 30px 20px 20px 30px;
  margin-bottom: 50px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .l-itemDetailMainBox .product_sets,
  .product_sets_list .product_sets {
    padding: 15px;
  }
}

.m-itemDetail-head {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .m-itemDetail-head {
    text-align: center;
  }
}

.m-itemDetail-head .o-left-box {
  float: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  width: 237px;
}

@media screen and (max-width: 768px) {
  .m-itemDetail-head .o-left-box {
    float: none;
    display: inline-block;
  }
}

.m-itemDetail-head .o-right-box {
  float: right;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  width: calc( 100% - 267px);
  padding: 10px 0 0 0;
}

@media screen and (max-width: 768px) {
  .m-itemDetail-head .o-right-box {
    float: none;
    width: 100%;
    text-align: left;
  }
}

.m-itemDetail-head .o-right-header {
  position: relative;
  width: 100%;
  padding-bottom: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .m-itemDetail-head .o-right-header {
    padding-top: 30px;
  }
}

.m-itemDetail-head .o-soldouticon,
.m-itemDetail-head .o-newicon {
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 0;
  font-weight: bold;
  padding: 2px 10px;
}

@media screen and (max-width: 1280px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    font-size: 12px;
    padding: 2px 5px;
  }
}

@media screen and (max-width: 1280px) and (max-width: 1280px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    font-size: 12px;
  }
}

@media screen and (max-width: 1280px) and (max-width: 999px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    font-size: 11px;
  }
}

@media screen and (max-width: 1280px) and (max-width: 768px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    font-size: 11px;
  }
}

@media screen and (max-width: 1280px) and (max-width: 480px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) {
  .m-itemDetail-head .o-soldouticon,
  .m-itemDetail-head .o-newicon {
    line-height: 15px;
  }
}

.m-itemDetail-head .o-newicon {
  background-color: #e37d39;
  color: #fff;
}

.m-itemDetail-head .o-soldouticon {
  background-color: #555;
  color: #fff;
}

.m-itemDetail-head span:nth-child(3) + span:nth-child(4) {
  right: 70px;
}

@media screen and (max-width: 1280px) {
  .m-itemDetail-head span:nth-child(3) + span:nth-child(4) {
    right: 45px;
  }
}

.m-itemDetail-head .o-itemname {
  font-size: 36px;
  font-weight: bold;
  max-width: 100%;
  line-height: 1.1;
  position: relative;
  word-break: break-all;
}
.m-itemDetail-head .o-favstar {
  line-height: 1.1;
  font-size: 30px;
  margin: 2px 0 0 5px;
  vertical-align: top;
  display: inline-block;
}
@media screen and (max-width: 1280px) {
  .m-itemDetail-head .o-itemname {
    font-size: 32px;
  }
  .m-itemDetail-head .o-favstar {
    font-size: 28px;
  }
}
@media screen and (max-width: 999px) {
  .m-itemDetail-head .o-itemname {
    font-size: 28px;
  }
  .m-itemDetail-head .o-favstar {
    margin-top: 1px;
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .m-itemDetail-head .o-itemname {
    font-size: 24px;
  }
  .m-itemDetail-head .o-favstar {
    font-size: 22px;
  }
}
@media screen and (max-width: 480px) {
  .m-itemDetail-head .o-favstar {
    font-size: 21px;
  }
  .m-itemDetail-head .o-favstar {
    font-size: 20x;
  }
}
.m-itemDetail-head .o-right-body {
  position: relative;
  padding: 20px 0 10px;
}

/* シリアル情報 */
.m-itemDetail-head .serial-info {
  margin: 20px 0 0 0;
  padding: 10px 20px;
  color: #666;
  background: #f4f4f4;
  position: relative;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1.4;
}
.m-itemDetail-head .serial-info .serial-info_title {
  width: auto;
}
.m-itemDetail-head .serial-info .serials {
  margin: 0 0 0 1em;
  padding: 0 0 0 1em;
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 480px) {
  .m-itemDetail-head .serial-info {
    margin: 10px 0 0;
    padding: 10px 15px;
  }
  .m-itemDetail-head .serial-info .serial-info_title {
    width: 100%;
    padding: 0 0 5px 0;
    border-bottom: 1px solid #ddd;
  }
  .m-itemDetail-head .serial-info .serials {
    margin: 0;
    padding: 5px 0 0 0;
    border-left: none;
  }
}

.m-itemImage-5box img {
  max-width: 100%;
  max-height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.m-itemImage-5box .o-itemimage-large {
  width: 237px;
  height: 237px;
  margin-bottom: 7px;
  overflow: hidden;
}

.m-itemImage-5box .o-itemimage-small span {
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  float: left;
  width: 54px;
  height: 54px;
  margin-right: 5px;
  border: 1px solid #fff;
}

.m-itemImage-5box .o-itemimage-small span:last-child {
  margin-right: 0;
}

.m-payMonthModel-selectBox {
  border: 1px solid #c8c8c8;
  border-radius: 5px;
}

.m-payMonthModel-selectBox .o-payModel-box {
  padding: 10px 20px;
  border-bottom: 1px dotted #c8c8c8;
  background: none;
}

.m-payMonthModel-selectBox .o-payModel-box:last-child {
  border-bottom: none;
}


.m-payYearModel-selectBox {
  border: 1px solid #c8c8c8;
  border-radius: 5px;
}

.m-payYearModel-selectBox .o-payModel-box {
  padding: 10px 20px;
  border-bottom: 1px dotted #c8c8c8;
  background: none;
}

.m-payYearModel-selectBox .o-payModel-box:last-child {
  border-bottom: none;
}

.m-productOption-item {
  display: inline-block;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  width: calc( 25% - 12px);
  max-width: 215px;
  padding: 20px 15px;
  margin-right: 8px;
  margin-bottom: 8px;
}

@media screen and (max-width: 768px) {
  .m-productOption-item {
    width: calc( 50% - 8px);
    max-width: inherit;
  }
}

.m-productOption-item .m-product-detail .o-product-name {
  text-align: left;
}

.m-productOption-item .o-item-image {
  padding: 10px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.m-productOption-item .o-item-image img {
  width: 100%;
  height: auto;
}

.m-productOption-item .o-item-name {
  padding: 5px 0;
  font-size: 21px;
  font-weight: bold;
  text-align: left;
}

@media screen and (max-width: 1280px) {
  .m-productOption-item .o-item-name {
    font-size: 19px;
  }
}

@media screen and (max-width: 999px) {
  .m-productOption-item .o-item-name {
    font-size: 17px;
  }
}

@media screen and (max-width: 768px) {
  .m-productOption-item .o-item-name {
    font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .m-productOption-item .o-item-name {
    font-size: 14px;
  }
}

.m-productOption-item .o-price {
  padding: 5px 0;
  font-size: 16px;
  text-align: left;
}

@media screen and (max-width: 1280px) {
  .m-productOption-item .o-price {
    font-size: 14px;
  }
}

@media screen and (max-width: 999px) {
  .m-productOption-item .o-price {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .m-productOption-item .o-price {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .m-productOption-item .o-price {
    font-size: 11px;
  }
}

.m-productOption-multiSelect-allDelete {
  text-align: right;
}

.m-productOption-multiSelect-allDelete .o-button {
  display: inline-block;
  border: 1px solid #9d9d9d;
  border-radius: 4px;
  padding: 8px 15px 0;
}

.m-addToCart {
  text-align: center;
}

.m-addToCart a {
  display: inline-block;
  width: 50%;
  max-width: 270px;
}

@media screen and (max-width: 999px) {
  .m-addToCart.pcOnly {
    display: none;
  }
}

.product_sets.js-unchecked-product .m-product-option {
  opacity: 0.3;
}

@media only screen and (max-width: 480px) {
  .mypage_menu .link {
    display: none;
  }
}

@media screen and (max-width: 834px) {
  .flowbox2 .popbox,
  .flowbox3 .popbox,
  .flowbox4 .popbox,
  .flowbox5 .popbox,
  .flowbox6 .popbox,
  .flowbox7 .popbox {
    width: 100%;
  }
  .flowbox .popbox_right {
    position: relative;
    margin-top: 0;
  }
  .flowbox .popbox_right .popbox_body {
    margin-left: 0;
    width: 100%;
    border: solid 1px;
  }
  .flowbox .popbox .popbox_body h3,
  .flowbox .popbox .popbox_body p {
    float: none;
    display: inline-block;
    font-size: 18px;
    line-height: 20px;
    vertical-align: middle;
  }
  .flowbox .popbox .popbox_body h3{
    width: 4.5em;
  }
  .flowbox .popbox_right .popbox_arw {
    position: relative;
    width: 100%;
    height: 10px;
    margin: auto;
    overflow: hidden;
  }
  .flowbox .popbox_right .popbox_arw:after {
    left: 0;
    right: 0;
    top: auto;
    bottom: 10px;
    width: 30px;
    height: 30px;
  }
  .popbox .popbox_arw.js-popbox_arw_overWhite {
    display: none;
  }
}

/* width(%)
----------------------------------------------------- */
.pc_width_5p {
  width: 5% !important;
}

.pc_width_10p {
  width: 10% !important;
}

.pc_width_15p {
  width: 15% !important;
}

.pc_width_20p {
  width: 20% !important;
}

.pc_width_25p {
  width: 25% !important;
}

.pc_width_30p {
  width: 30% !important;
}

.pc_width_35p {
  width: 35% !important;
}

.pc_width_40p {
  width: 40% !important;
}

.pc_width_45p {
  width: 45% !important;
}

.pc_width_50p {
  width: 50% !important;
}

.pc_width_55p {
  width: 55% !important;
}

.pc_width_60p {
  width: 60% !important;
}

.pc_width_65p {
  width: 65% !important;
}

.pc_width_70p {
  width: 70% !important;
}

.pc_width_75p {
  width: 75% !important;
}

.pc_width_80p {
  width: 80% !important;
}

.pc_width_85p {
  width: 85% !important;
}

.pc_width_90p {
  width: 90% !important;
}

.pc_width_95p {
  width: 95% !important;
}

.pc_width_100p {
  width: 100% !important;
}

.float-left-and-margin-right {
    float: left !important;
    margin-right: 1% !important;
}

@media screen and (max-width: 768px) {
  .tab_width_5p {
    width: 5% !important;
  }

  .tab_width_10p {
    width: 10% !important;
  }

  .tab_width_15p {
    width: 15% !important;
  }

  .tab_width_20p {
    width: 20% !important;
  }

  .tab_width_25p {
    width: 25% !important;
  }

  .tab_width_30p {
    width: 30% !important;
  }

  .tab_width_35p {
    width: 35% !important;
  }

  .tab_width_40p {
    width: 40% !important;
  }

  .tab_width_45p {
    width: 45% !important;
  }

  .tab_width_50p {
    width: 50% !important;
  }

  .tab_width_55p {
    width: 55% !important;
  }

  .tab_width_60p {
    width: 60% !important;
  }

  .tab_width_65p {
    width: 65% !important;
  }

  .tab_width_70p {
    width: 70% !important;
  }

  .tab_width_75p {
    width: 75% !important;
  }

  .tab_width_80p {
    width: 80% !important;
  }

  .tab_width_85p {
    width: 85% !important;
  }

  .tab_width_90p {
    width: 90% !important;
  }

  .tab_width_95p {
    width: 95% !important;
  }

  .tab_width_100p {
    width: 100% !important;
  }
}

@media screen and (max-width: 480px) {
  .sp_width_5p {
    width: 5% !important;
  }

  .sp_width_10p {
    width: 10% !important;
  }

  .sp_width_15p {
    width: 15% !important;
  }

  .sp_width_20p {
    width: 20% !important;
  }

  .sp_width_25p {
    width: 25% !important;
  }

  .sp_width_30p {
    width: 30% !important;
  }

  .sp_width_35p {
    width: 35% !important;
  }

  .sp_width_40p {
    width: 40% !important;
  }

  .sp_width_45p {
    width: 45% !important;
  }

  .sp_width_50p {
    width: 50% !important;
  }

  .sp_width_55p {
    width: 55% !important;
  }

  .sp_width_60p {
    width: 60% !important;
  }

  .sp_width_65p {
    width: 65% !important;
  }

  .sp_width_70p {
    width: 70% !important;
  }

  .sp_width_75p {
    width: 75% !important;
  }

  .sp_width_80p {
    width: 80% !important;
  }

  .sp_width_85p {
    width: 85% !important;
  }

  .sp_width_90p {
    width: 90% !important;
  }

  .sp_width_95p {
    width: 95% !important;
  }

  .sp_width_100p {
    width: 100% !important;
  }
}
/* datepicker */
.ui-datepicker{
    z-index: 5!important;
}
.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center;
    box-sizing: border-box;
}
.ui-datepicker-header {
    border: none;
    background: #eee;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    background-image: none;
    content: '';
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 2px;
    border-right: solid 1px #666;
    border-bottom: solid 1px #666;
    width: 8px;
    height: 8px;
    transform: rotate(-45deg);
    transition: all .3s
}
.ui-widget-header .ui-datepicker-prev span {
    transform: rotate(135deg);
    left: 2px;
    right: 0;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    background: #666;
    border: solid 1px #666;
}
.ui-datepicker .ui-datepicker-prev:hover span,
.ui-datepicker .ui-datepicker-next:hover span {
    border-color: #fff;
}
.ui-datepicker th {
    width: 14.2857142%;
}
.ui-datepicker-calendar .ui-state-default {
    color: #666;
    background: #fff;
    font-weight: bold;
    border: 1px solid #fff;
}
.ui-datepicker-calendar .ui-datepicker-today .ui-state-default {
    border: 1px solid #ccc;
}
.ui-datepicker-calendar .ui-state-default:not(.ui-state-active):hover {
    color: #666;
    background: #f4f4f4;
    border: 1px solid #666;
}
.ui-datepicker-calendar .ui-state-off .ui-state-default {
    color: #d64747;
    background: rgba(214, 71, 71, 0.3);
    border: 1px solid rgba(214, 71, 71, 0.1);
}
@media screen and (max-width: 768px) {
    .ui-datepicker th,
    .ui-datepicker td {
        display: table-cell;
        width: 14.2857142%;
        font-size: 14px;
        line-height: 1.4;
        vertical-align: middle;
    }
}

/*///// フォーム用暫定対応 /////*/
.form input.txtinput,
.form textarea.txtinput {
  box-shadow: none;
}

/* 契約変更系 */
.select_main_product .selectedProduct {
  margin: 0;
  padding: 20px;
  border: 1px solid #c8c8c8;
  background: #fff;
  border-radius: 3px;
}
.select_main_product .m-cartItemActionBox {
  margin: 0 0 30px 0;
}

/* メンテナンスなど案内用 */
.infoBox {
  padding: 30px;
  border: 4px solid #eee;
  border-radius: 10px;
  text-align: center;
}
.infoBox p.date {
  font-size: 120%;
  font-weight: bold;
}

/* フッターコンテンツ（Pages） */
.footerContent .content {
  margin: 40px 0;
}
.footerContent .section_inner p {
  line-height: 1.6;
}

/* エラーページ */
.errorMsg {
  margin: 20px 0 70px;
  padding: 50px 30px;
  text-align: center;
}
.errorMsg h1 {
  font-size: 2.4em;
  font-weight: bold;
  margin: 0 0 20px 0;
  padding: 0 0 0 20px;
  position: relative;
  display: inline-block;
  line-height: 1.2;
  color: #d64747;
}
.errorMsg h1::before {
  content: "\f071";
  font-family: FontAwesome;
  margin: 0 0.2em 0 -1em;
}
.errorMsg strong {
  display: block;
  font-size: 1.4em;
  font-weight: bold;
  margin: 0;
}
.errorMsg p {
  margin: 10px 0 0 0;
}
@media screen and (max-width: 768px) {
  .errorMsg h1 {
    font-size: 2em;
  }
}
@media screen and (max-width: 480px) {
  .errorMsg {
    margin: 20px 0;
    padding: 20px 15px;
  }
  .errorMsg h1 {
    font-size: 1.4em;
  }
  .errorMsg strong {
    font-size: 1.1em;
  }
  .errorMsg p {
    text-align: left;
  }
}
/* Infonova用エラー */
.errorMsg .infonova {
    white-space: pre-wrap;
    text-align: left;
    color: #d64747;
}

/* 認証設定がIDパスワード認証・シングルサインオンを併用する場合のエラー */
.errorMsg .errorMsgSSO {
    text-align: left;
    color: #d64747;
}

/* ウォレット決済連携ボタン */
.m-inputCustomerInfo .btn_linked input {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 30px;
}

/* ウォレット決済連携ボタン直下メッセージ */
.notice_wallet {
    line-height: 40px;
}
/* 設定系フォーム */
.config-forms ul.note {
    color: #666;
    margin: 20px 0;
}
.config-forms ul.note li {
    margin: 0 0 5px 0;
    padding: 0 0 0 20px;
}
.config-forms ul.note li .mark {
    display: inline-block;
    margin: 0 5px 0 -20px;
}
.config-forms {
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #c8c8c8;
    margin: 20px 0 40px;
    padding: 40px;
}
.config-forms.login_panel {
    margin: auto;
    border: solid 1px rgba(0, 0, 0, 0.1);
    border-radius: 0;
}
.config-forms.login_panel .headline {
    margin-bottom: 20px;
}
.config-forms.login_panel label {
    display: inline-block;
    margin-right: 5px;
}
.config-forms.login_panel .submit_btns .btn_detail {
    margin-top: 20px;
}
.config-forms.login_panel .submit_btns .btn_detail {
    min-width: 250px;
}
.config-forms .flex {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.config-forms .flex .txtinput,
.config-forms .flex .selectWrap {
    margin-right: 5px;
    max-height: 34px;
}
.config-forms .flex .txtinput
{
    max-width: 270px;
}
.config-forms .flex select {
    max-height: 34px;
}
.config-forms .note {
    display: inline-block;
    margin-top: 5px;
    color: #666;
}
.config-forms .radio {
    display: inline-block;
}
.config-forms .o-row {
    margin-bottom: 20px;
}
.config-forms .o-row .form-group {
    margin: 10px 20px 30px 20px;
    padding: 0;
    position: relative;
}
.config-forms .o-row .form-group > legend {
    margin: 0;
    padding: 10px 20px;
    font-weight: bold;
    background: #fff;
    border: 2px solid #f4f4f4;
    border-bottom: none;
    background: #fff;
    border-radius: 3px 3px 0 0;
    box-sizing: border-box;
}
.config-forms .o-row .form-group .g-row {
    box-sizing: border-box;
    min-height: 60px;
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-top: 1px solid #ddd;
    padding: 20px;
    background: #f4f4f4;
    border-radius: 3px;
}
.config-forms .o-row .form-group .g-row:first-of-type {
    border-top: none;
}
.config-forms .o-row .form-group strong {
    font-weight: bold;
}
.config-forms .o-row .form-group .radio_text {
    margin: 0;
}
.config-forms p {
    margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
    .config-forms .txtinput.mail {
        min-width: 400px;
    }
}
.config-forms ol.step {
    margin-left: 20px;
}
.config-forms ol.step > li {
    list-style: decimal;
    margin: 0 0 30px 0;
}
.config-forms ol.num-list {
    margin: 20px 0 0 40px;
}
.config-forms ol.num-list > li {
    list-style: decimal;
    margin: 0 0 8px;
}
.config-forms ul li {
    margin: 0 0 8px;
}
.config-forms img.qrcode {
    margin: 10px 0;
}
.config-forms .step .inputfld {
    margin: 10px 0;
}
.config-forms .baseBtn {
    display: inline-block;
    width: auto;
    min-width: 100px;
    min-height: 35px;
    margin: 0;
    padding: 8px 20px;
    text-decoration: none;
    text-align: center;
    font-size: 100%;
    box-sizing: border-box;
    color: #fff;
    line-height: 1.4;
    cursor: pointer;
}
.config-forms .baseBtn:hover {
    opacity: 0.9;
}
.config-forms .baseBtn::after {
    display: none;
}
@media screen and (max-width: 768px) {
    .config-forms {
        padding: 20px;
    }
    .config-forms.login_panel {
        padding: 40px;
    }
    .config-forms .o-row .form-group {
        margin: 10px 0 30px 0;
        padding: 20px 10px 0;
    }
    .config-forms .o-row .form-group > legend {
        margin-bottom: -20px;
        display: block;
        width: 100%;
    }
    .config-forms .flex {
        margin: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .config-forms .flex .txtinput,
    .config-forms .flex .selectWrap {
        margin-right: 0;
        margin-bottom: 5px;
    }
    .config-forms .flex .txtinput {
        width: 100%;
        max-width: 100%;
    }
    .config-forms ol.step {
        margin-left: 10px;
    }
    .config-forms .o-row .form-group .g-row {
        margin: 0;
        border-radius: 0 0 3px 3px;
        word-break: break-all;
    }
    .config-forms .baseBtn {
        display: block;
        width: 100%;
        max-width: 280px;
        margin: 10px auto 0;
    }
    .config-forms img.qrcode {
        margin: 10px auto;
        display: block;
    }
}
@media screen and (max-width: 480px) {
    .config-forms {
        padding: 20px 10px;
    }
    .config-forms.login_panel {
        border: none;
    }
    .config-forms.login_panel {
        padding: 0;
    }
    .config-forms ol.step {
        margin-left: 0;
    }
    .config-forms .o-row {
        padding: 0 10px;
        list-style-position: inside!important;
    }
    .config-forms .o-row .form-group {
        padding: 20px 0 0;
    }
}

/* 会員証 */
#member_card {
    padding: 10px;
    width: 60px;
    height: 60px;
    display: block;
    position: fixed;
    right: 0;
    top: 70px;
    margin: auto;
    background: #fff;
    z-index: 999;
    box-sizing: border-box;
    border-radius: 6px 0 0 6px;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
    text-align: center;
}
@media screen and (min-width: 769px) {
    #member_card {
        top: 20px;
    }
}
#member_card svg {
    margin-top: -2px;
    width: 36px;
    height: 36px;
}
#member_card span {
    display: block;
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    font-size: 11px;
    line-height: 1;
}
#member_card span {
    display: block;
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    font-size: 11px;
    line-height: 1;
}
/* 汎用的な背景色有りボックス */
div[class^="box-bg-"] {
    margin: 40px auto;
    padding: 30px 20px;
    max-width: 1200px;
    border-radius: 5px;
}
.box-bg-gray {
    background: #f4f4f4;
}

.mb-5 { margin-bottom: 5px; }
/* flex汎用クラス */
*[class^="flex-"] {
    display: flex;
}
.flex-middle {
    align-items: center;
}

/* システムメッセージ */
.systemMsg {
    margin: 0;
}
.systemMsg p {
    margin: 0 0 20px;
    line-height: 1.6;
}
.systemMsg ul.list {
    margin: 20px 0;
}
.systemMsg ul.list li {
    margin: 0 0 10px;
    padding: 0 0 0 15px;
    position: relative;
    line-height: 1.4;
}
.systemMsg ul.list li::before {
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    background:#333;
    border-radius: 2px;
    position: absolute;
    left: 5px;
    top: 0.5rem;
}
@media screen and (min-width: 769px) {
    .systemMsg + .submit_btns {
        margin-top: 30px;
    }
}

/* 下部 Cookie確認 */
.cookie-consent {
    width: 100%;
    max-height: 150px;
    padding: 20px 20px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    border: 1px solid #333;
    box-sizing: border-box;
    z-index: 110;
    overflow-y: auto;
}
.cookie-consent .btn-cookie {
    text-align: center;
    margin: 0 0 20px;
}
.cookie-consent .baseBtn {
    margin: 7px 0 0 0;
    padding: 8px 12px;
    border-radius: 0;
}
.cookie-consent #btn_bottom_terms_of_cookie_consent_disagree {
    padding: 7px 12px;
    color: #333;
    background-color: #fff;
    border: 1px solid #b1b1b1;
}
@media screen and (min-width: 481px) {
    .cookie-consent .baseBtn:last-child {
        margin: 5px 0 0 10px;
    }
}
@media screen and (max-width: 480px) {
    .cookie-consent .btn-cookie {
        float: none;
        display: flex;
        flex-direction: column;
    }
    .cookie-consent .baseBtn {
        display: block;
        margin: 15px auto 0;
        width: 260px;
        max-width: 90%;
    }
    .cookie-consent #btn_bottom_terms_of_cookie_consent_disagree {
        order: 2;
    }
}
.baseBtn.btn_modal {
    width: auto;
    min-height: auto;
}

/* SP表示時ボタン横並び画面用 */
.submit_btns.sp_row .btn_detail.btn_prev {
    order: 1;
}
.submit_btns.sp_row .btn_detail.btn_next {
    order: 2;
}
.submit_btns.sp_row .btn_detail.btn_prev::after,
.submit_btns.sp_row .btn_detail.btn_next::after {
    display: none;
}
@media screen and (max-width: 768px) {
    .submit_btns.sp_row {
        flex-flow: row;
        justify-content: space-between;
    }
    .submit_btns.sp_row [class^="btn_"].btn_detail {
        width: 48%;
    }
    .submit_btns.sp_row [class^="btn_"].btn_detail a {
        font-size: 14px;
    }
}

/*** TOYOTA Wallet WidgetStore決済 start ***/
/* お支払方法 非表示 */
.widget-store-payment-hidden {
  display: none;
}
.widget-store-payment-div .m-separate-line-dotted {
  margin-bottom: 10px;
}
input[type=radio].wallet_widget_store  + .inputLabel::before {
  top: calc(50% - 2px);
}
input[type=radio].wallet_widget_store  + .inputLabel::after {
  top: calc(50% + 2px);
}
/* カードのアイコンと情報のセット */
.widget-store-payment-icon-and-info {
  display: flex;
  align-items: center;
}
/* カードのアイコン画像 */
.widget-store-payment-icon {
  width: 72px;
  height: 50px;
  object-fit: cover;
}
/*** TOYOTA Wallet WidgetStore決済 end ***/

/*** TOYOTA Wallet 会員登録 start ***/
.widget-store-entries-message {
  margin-top: 10px;
  margin-bottom: 10px;
  color:#c00;
  font-size:16px;
  font-weight:bold;
}
/*** TOYOTA Wallet 会員登録 end ***/

/*===============================================================
マイページ メニュー
===============================================================*/
.mypage_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.mypage_menu.menu_column1 {
  justify-content: flex-start;
}
.mypage_menu li {
  width: 31%;
  margin: 0 1% 15px;
  padding: 10px 15px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  display: table; /*flexに変更するとユーザーCSSに影響するので注意*/
  position: relative;
}
.mypage_menu img {
  display: table-cell;
  vertical-align: middle;
  width: 100px;
  height: 100px;
}
.mypage_menu .title {
  width: 100%;
  padding: 0 0 0 5px;
  line-height: 1.2;
  display: table-cell;
  vertical-align: middle;
  font-size: 20px;
  font-weight: bold;
}
.mypage_menu a {
  display: block;
  margin: 0;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media only screen and (max-width: 768px){
  .mypage_menu li {
    padding: 10px;
  }
  .mypage_menu .title {
    font-size: 18px;
  }
  .mypage_menu img {
    width: 60px;
    height: 60px;
  }
  .mypage_menu a {
    display: none;
  }
}
@media only screen and (max-width: 480px){
  .mypage_menu li {
    width: 48%;
    padding: 7px;
  }
  .mypage_menu .title {
    font-size: 16px;
  }
  .mypage_menu img {
    width: 40px;
    height: 40px;
  }
  .mypage_menu .title {
    font-size: 12px;
  }
}
/* .localnav .mypage_menu */
.localnav .mypage_menu li {
  line-height: 1.5;
}
.localnav .mypage_menu li a {
  text-decoration: none;
  position: relative;
  bottom: auto;
  right: auto;
}
@media only screen and (min-width: 481px) {
  .localnav {
    padding: 10px 0;
    text-align: center;
  }
  .localnav .mypage_menu {
    margin: 0 auto;
    display: inline-flex;
    justify-content: flex-start;
  }
  .localnav .mypage_menu li {
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    position: relative;
    display: inline-block;
    text-align: left;
  }
  .localnav .mypage_menu li .title {
    width: auto;
    padding: 4px 20px;
    color: #333;
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
    font-weight: normal;
  }
  .localnav .mypage_menu li.linkarea.current,
  .localnav .mypage_menu li.current .title {
    pointer-events: none;
  }
  .localnav img {
    display: none;
  }
  .localnav .mypage_menu li:not(:last-child)::after {
    content: '';
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0px;
    width: 1px;
    height: 20px;
    background: rgba(0,0,0,0.2);
  }
}
@media only screen and (min-width: 769px) {
  .localnav {
    padding: 20px 5%;
  }
  .localnav .mypage_menu {
    margin: 0 0 0 -10px;
  }
  .localnav .mypage_menu li .title {
    padding: 3px 20px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .localnav .mypage_menu {
    padding: 0 10px 5px;
    justify-content: space-between;
  }
  .localnav .mypage_menu li {
    width: 49%;
    min-height: 40px;
    margin: 0 0 5px;
    padding: 0 4px;
    background: #fff;
  }
  .localnav .mypage_menu li.top {
    display: none;
  }
  .localnav .mypage_menu li .title {
    padding: 5px 8px;
    text-align: left;
    font-weight: normal;
  }
}
/* local_menu_btn */
.local_menu_btn {
  display:none;
}
@media only screen and (max-width: 480px) {
  .local_menu_btn {
    display: block;
    padding: 6px 12px;
    width: auto;
    height :auto;
    text-indent: 0;
    font-size: 12px;
    position: relative;
    text-align: left;
  }
  .local_menu_btn i {
    font-family: FontAwesome;
    font-size: 16px;
    vertical-align: middle;
    margin-right: 6px;
  }
  .local_menu_btn::before,
  .local_menu_btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: calc(50% - 9px);
    width: 18px;
    height: 18px;
    transition: .3s;
    background-repeat: no-repeat;
    background-position: 0 0;
  }
  .local_menu_btn::before {
    display: block;
  }
  .local_menu_btn::after {
    display: none;
  }
  .local_menu_btn.active::before {
    display: none;
  }
  .local_menu_btn.active::after {
    display: block;
  }
}
