@charset "utf-8";
body {
  width: 100%;
  /* overflow: hidden; */
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ',
    Meiryo, sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #333;
}
p {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
p > span {
  color: inherit;
}
a:hover {
}

a:hover img {
  opacity: 0.75;
  filter: Alpha(Opacity=75);
}

a:-webkit-any-link {
  text-decoration: none;
}
a.link {
  color: #df0068;
  text-decoration: underline;
}
a.blank {
  color: #df0068;
  text-decoration: underline;
  padding-right: 20px;
  background-image: url('/shared/assets/img/icon_link_window.png');
  background-position: 100% 50%;
  background-repeat: no-repeat;
  background-size: 16px;
}
a.ancherLB {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  color: #df0068 !important;
  cursor: pointer;
}
hr {
  border: 0;
  border-bottom: 1px solid #e1e1e1;
}

/* select */
select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}
select option {
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

/* placeholder */
:placeholder-shown {
  color: #999999 !important;
}
::placeholder {
  color: #999999 !important;
}
::-webkit-input-placeholder {
  color: #999999 !important;
  opacity: 1;
}
::-moz-placeholder {
  color: #999999 !important;
  opacity: 1;
}
:-ms-input-placeholder {
  color: #999999 !important;
}

.inputError {
  background-color: #fcf2f4;
  border: 1px solid #ca091e;
}

.contentsBox select:focus {
  border-color: #91b3ea;
  box-shadow: 0 0 2px #0061ff;
}

/* ========================================================
ステップフロー
======================================================== */
.stepsFlowArea {
  margin: 10px auto 40px;
}
.stepsFlowArea ul {
  border: 1px solid #ccc;
  border-left: none;
  border-right: none;
  text-align: center;
}
.stepsFlowArea li {
  font-size: 16px;
  color: #999;
  padding: 1.4em 0px;
  display: inline-block;
  text-align: center;
  background-image: url('/shared/assets/img/icon_step_greyarw.png');
  background-position: 100% 50%;
  background-repeat: no-repeat;
  background-size: 12px;
}
.stepsFlowArea li:last-child {
  background: none;
}
.stepsFlowArea li.current {
  color: #df0068;
  font-weight: bold;
}
.stepsFlowArea._4Steps li {
  width: 24.5%;
}
.stepsFlowArea._3Steps li {
  width: 33%;
}

/* ========================================================
テーブル
======================================================== */
.defaultHead {
  width: auto;
  padding: 0.5em;
  padding-left: 1em;
  color: #fff;
  background-color: #4d4d4d;
  margin: auto !important;
}

.defaultTable {
  width: 100%;
}

.defaultTableHead {
  width: 100%;
  background-color: #ededed;
}

.defaultTableHead th {
  height: auto;
  padding: 1em 0 1em 1em;
  font-weight: bold;
}

.defaultTableData {
  width: 100%;
  border-bottom: 1px solid #e1e1e1;
}

.defaultTableData td {
  padding: 10px;
  padding-right: 0;
  vertical-align: middle;
}

/* ========================================================
合計金額
======================================================== */
.totalAmountwrap {
  width: 42%;
  background-color: #f3f1f1;
}

.totalAmount {
  display: block;
  width: 92%;
  margin: auto;
  padding: 10px 0;
}

.totalAmount tbody {
  display: block;
}
.totalAmountRow {
  display: block;
  padding: 0.5em 0;
  border-bottom: 1px solid #999;
}

.totalAmountRow th {
  display: inline-block;
  width: 58%;
  text-align: right;
  font-weight: normal;
}

.totalAmountRow td {
  display: inline-block;
  width: 40%;
  text-align: right;
}

.totalAmountRow.lastRow {
  padding: 1em 0;
  font-size: 16px;
  font-weight: bold;
  border: none;
}

.totalAmountRow.lastRow th {
  font-weight: bold;
}

/* ========================================================
リストメッセージ
======================================================== */
.IntroMessage {
  margin-bottom: 6px;
}
.IntroMessage li {
  position: relative;
  padding-bottom: 0.4em;
}
.IntroMessage.dotted li {
  padding-left: 1em;
}
.IntroMessage.dotted li::before {
  content: '';
  position: absolute;
  background: #646464;
  top: calc(1em - 7px);
  left: 0px;
  height: 8px;
  width: 8px;
  border-radius: 50%;
}

/* ========================================================
チェックメッセージ
======================================================== */
.warningMessage {
  width: 100%;
  max-width: 600px;
  margin: 20px auto;
}

.warningMessage li {
  padding: 0.5em 0;
  padding-left: 30px;
  background-image: url('/shared/assets/img/icon_msg_check.png');
  background-position: 0% calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 18px;
}

/* ========================================================
注意・確認等の表示エリア
======================================================== */
.confirmBox {
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 20px;
}
.srvErrorMsgArea {
  font-size: 14px;
  font-weight: bold;
  color: #f00;
  background-color: #fcf2f4;
  border: 1px solid #ca091e;
  border-radius: 10px;
  padding: 10px 10px 10px 40px;
  margin: 10px auto 20px;
}
.srvErrorMsgArea ul {
}
.srvErrorMsgArea li {
  margin: 10px 0;
  padding-left: 1em;
  position: relative;
}
.srvErrorMsgArea li::before {
  content: '・';
  position: absolute;
  color: #f00;
  left: 0;
}

/* ========================================================
モーダルデザイン
======================================================== */
.lity {
  background: rgba(0, 0, 0, 0.8);
}
.lity-container {
  background: rgba(0, 0, 0, 0);
  height: auto;
  max-height: 92%;
  overflow-y: scroll;
  overflow-x: hidden;
}
.lity-container::-webkit-scrollbar {
  display: block;
}
.lity-container::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0);
}
.lity-container::-webkit-scrollbar-thumb {
  background: #ccc;
}
.lity-container {
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.lity-close {
  color: #333;
  position: absolute;
  top: 15px;
  right: 20px;
  text-shadow: none;
  width: auto;
  height: auto;
  font-family: inherit;
  font-size: 60px;

  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease,
    -o-transform 0.3s ease;
}
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  color: #333;
  position: absolute;
  top: 15px;
  right: 20px;
  width: auto;
  height: auto;
  font-family: inherit;
  font-size: 60px;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.5);
}

.modalArea {
  background: #fff;
  max-width: 960px;
  width: 100%;
}
.modalAreaWrap {
  padding: 0 30px;
  overflow: hidden;
  background-color: #fff;
}
.modalAreaWrap h3 {
  text-align: left;
  padding: 40px 0 10px;
  font-size: 18px;
}
.modalClose {
  padding: 0 0 40px;
}
.modalClose button {
}

/* ========================================================
入力フォーム
======================================================== */
input {
  border-style: solid;
  border-width: 1px;
  border-color: #999;
  box-shadow: none;
  border-radius: 0;
  -webkit-appearance: none;
}
input[type='text'],
input[type='password'] {
  padding: 8px 10px;
  font-size: 14px;
  min-height: 20px;
  color: #333;
}
input[type='image'] {
  border: none;
}
.formElementError {
  border-style: solid;
  border-color: #f00;
  box-shadow: 0px 0px 2px #f00;
  background-color: #fcf2f4;
}

/* ========================================================
チェックボックス
======================================================== */
.mainCheckbox {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.mainCheckbox + label {
  padding-left: 40px;
  position: relative;
  cursor: pointer;
}
.mainCheckbox + label::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 8px;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  background-color: #fff;
  border-radius: 4px;
}
.mainCheckbox:focus + label::before {
  border-color: #91b3ea;
  box-shadow: 0 0 2px #0061ff;
}
.mainCheckbox:checked + label {
}
.mainCheckbox:checked + label::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 14px);
  left: 13px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #df0068;
  border-right: 3px solid #df0068;
}

/* ========================================================
ラジオボタン
======================================================== */
.mainRadioButton,
.mainRadioButton--forTable td input[type='radio'] {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.mainRadioButton + label,
.mainRadioButton--forTable td input[type='radio'] + label {
  padding-left: 40px;
  position: relative;
  cursor: pointer;
}
.mainRadioButton + label::before,
.mainRadioButton--forTable td input[type='radio'] + label::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 8px;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  background-color: #fff;
  border-radius: 50%;
}
.mainRadioButton:focus + label::before,
.mainRadioButton--forTable td input[type='radio']:focus + label::before {
  border-color: #91b3ea;
  box-shadow: 0 0 2px #0061ff;
}
.mainRadioButton:checked + label,
.mainRadioButton--forTable td input[type='radio']:checked + label {
}
.mainRadioButton:checked + label::after,
.mainRadioButton--forTable td input[type='radio']:checked + label::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  left: 13px;
  width: 8px;
  height: 8px;
  background: #df0068;
  border-radius: 50%;
}
.mainRadioButton.grayDot:checked + label::after,
.mainRadioButton--forTable
  td
  input[type='radio'].grayDot:checked
  + label::after {
  background: #4d4d4d;
}

.mainRadioButton:disabled + label,
.mainRadioButton:disabled::-ms-value + label,
.mainRadioButton:disabled::-ms-expand + label,
.mainRadioButton--forTable td input[type='radio']:disabled + label,
.mainRadioButton--forTable td input[type='radio']:disabled::-ms-value + label,
.mainRadioButton--forTable td input[type='radio']:disabled::-ms-expand + label {
  cursor: default;
  color: #4d4d4d;
}

.mainRadioButton:disabled + label::before,
.mainRadioButton:disabled::-ms-value + label::before,
.mainRadioButton:disabled::-ms-expand + label::before,
.mainRadioButton--forTable td input[type='radio']:disabled + label::before,
.mainRadioButton--forTable
  td
  input[type='radio']:disabled::-ms-value
  + label::before,
.mainRadioButton--forTable
  td
  input[type='radio']:disabled::-ms-expand
  + label::before {
  background: #ccc;
}

/* ========================================================
カルーセル
======================================================== */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track::before,
.slick-track::after {
  display: table;
  content: '';
}
.slick-track::after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
  margin: auto;
}
.slick-slide .txtWrap {
  max-width: 210px;
  margin: auto;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/* Slider */
.slick-loading .slick-list {
  background: #fff center center no-repeat;
}
/* Arrows */
.slide-arrow {
  cursor: pointer;
}
.slick-prev,
.slick-next,
.slide-arrow.slick-arrow {
  font-size: 0;
  line-height: 0;
  position: absolute;
  width: 40px;
  height: 40px;
  display: block;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}
.slick-prev.slick-arrow,
.slick-next.slick-arrow {
  z-index: 1;
}
.contentAreaWrap .slick-disabled {
  display: none !important;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus,
.prev-arrow:hover,
.prev-arrow:focus,
.next-arrow:hover,
.next-arrow:focus {
  color: transparent;
  outline: none;
  background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before,
.prev-arrow:hover:before,
.prev-arrow:focus:before,
.next-arrow:hover:before,
.next-arrow:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before,
.prev-arrow.slick-disabled:before,
.next-arrow.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before,
.prev-arrow:before,
.next-arrow:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-prev,
.prev-arrow {
  left: -6px;
  top: calc(50% - 26px);
  z-index: 100;
}
.slick-next,
.next-arrow {
  right: -6px;
  top: calc(50% - 26px);
  z-index: 100;
}
.contentAreaWrap .prev-arrow {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -25px;
  z-index: 1;
}
.contentAreaWrap .next-arrow {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -25px;
  z-index: 1;
}
/* Dots */
.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 0 7px;
  padding: 0;
  cursor: pointer;
}
.slick-slider .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 9px;
  height: 9px;
  cursor: pointer;
  border: 1px solid #ffffff;
  border-radius: 10px;
  background: #c1c2c3;
  padding: 0;
}
.slick-slider .slick-dots li.slick-active button {
  background: #e01a6a;
}
.contentAreaWrap .slick-list {
}
.contentAreaWrap .slick-slide img {
  vertical-align: top;
}

.recomItemCarousel.slick-initialized {
  display: block;
}
.slick-slider {
  position: relative;
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.recomItemCarousel .article {
  box-shadow: 3px 2px 8px 2px #e4e2e2;
  margin: 2px 20px 8px 3px;
  width: 210px;
}
.slick-slide a {
  display: block;
  width: auto;
}
.slick-slide a .brand {
  color: #999;
  margin-top: 7px;
}
.slick-slide a .price {
  color: #999;
}
.boxArea {
  width: auto;
}

/* カルーセル２======================================================== */

.carouselPtn2 .slick-slide {
  margin: 2px 12px 8px;
  width: 210px;
}

.carouselPtn2 .slick-slide a {
  box-shadow: 3px 2px 8px 2px #e4e2e2;
}
.carouselPtn2 .slick-slide .txtWrap {
  max-width: none;
  padding: 10px 10px 20px;
}
.carouselPtn2 .slick-slide img {
  /* width: 210px; */
}

/* ========================================================
サイドナビ
======================================================== */
.side_menu {
  background-color: #e1e1e1;
  width: 196px;
  padding: 15px 10px;
  box-sizing: border-box;
}

.side_menu_list li {
  border-bottom: 1px solid #666;
}

.side_menu_list a {
  display: block;
  text-decoration: none;
  padding: 0;
  position: relative;
  color: #646464;
  padding: 11px 30px 11px 5px;
  font-size: 117%;
  line-height: 114.28%;
  letter-spacing: -1.3px;
}

.side_menu_list > li > a::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  width: 15px;
  background: url(/sw/onlineshop/img/side_icon_root.png) no-repeat center;
}

/* ========================================================
トップナビ
======================================================== */
.main_menu {
  position: relative;
  background: #df0068;
}

.main_menu li .img　 {
  margin-right: 6px;
  display: inline-block;
  position: relative;
}

.main_menu li .img　.img {
  margin-right: 6px;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}

.main_menu .main_menu_wrap {
  width: 960px;
  margin: 0 auto;
  position: relative;
  background: #df0068;
  line-height: 1em;
  overflow: hidden;
}

.main_menu .main_menu_wrap > .main_menu_list {
  float: left;
  height: 54px;
  max-height: 54px;
}

.main_menu .main_menu_wrap .main_menu_list a {
  /* padding: 11px 0 10px; */
  padding: 20px 12px;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 16px;
}

.main_menu .main_menu_wrap .main_menu_list a span {
  vertical-align: middle;
}

.main_menu_list a img {
  vertical-align: middle;
}
.main_menu_list .img {
  margin-right: 6px;
  display: inline-block;
  position: relative;
}

/* ========================================================================= */
@media (max-width: 599px) {
  body {
    width: 100%;
    overflow: hidden;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ',
      Meiryo, sans-serif;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* ========================================================
  共通スタイル
  ======================================================== */
  #body {
    padding: 0;
  }
  .contentsBox {
  }

  .contentsBox select {
  }

  .contentsBox img {
  }
  select {
  }
  p {
    margin: auto;
  }

  h1 {
    font-size: 18px;
    font-weight: bold;
    margin: 10px;
  }

  .sectionWrap {
    margin: 0 3%;
  }
  .mainHead {
    font-size: 18px;
    margin: 10px;
  }

  /* placeholder */
  :placeholder-shown {
    color: #999999 !important;
  }
  ::placeholder {
    color: #999999 !important;
  }
  ::-webkit-input-placeholder {
    color: #999999 !important;
    opacity: 1;
  }
  ::-moz-placeholder {
    color: #999999 !important;
    opacity: 1;
  }
  :-ms-input-placeholder {
    color: #999999 !important;
  }

  /* ========================================================
  ステップフロー
  ======================================================== */
  .stepsFlowArea {
    margin: 20px auto;
    width: 98%;
  }
  .stepsFlowArea ul {
  }
  .stepsFlowArea li {
    font-size: 12px;
    padding: 13px 0;
    line-height: 1.2;
    background-size: 8px;
  }
  .stepsFlowArea li:last-child {
  }
  .stepsFlowArea li.current {
  }
  .stepsFlowArea._4Steps li {
    width: 23%;
    padding-right: 2%;
  }
  .stepsFlowArea._4Steps li:last-child {
    padding-right: 0;
    width: 20%;
  }
  .stepsFlowArea._3Steps li {
    width: 29%;
    padding-right: 4%;
  }
  .stepsFlowArea._3Steps li:last-child {
    padding-right: 0;
    width: 30%;
  }

  /* ========================================================
  テーブル
  ======================================================== */
  .defaultHead {
    font-size: 16px;
  }
  .defaultTable {
  }
  .defaultTableHead {
  }
  .defaultTableHead th {
  }
  .defaultTableData {
  }
  .defaultTableData td {
  }

  /* ========================================================
  合計金額
  ======================================================== */
  .totalAmountwrap {
    width: 100%;
    margin: auto;
  }
  .totalAmount {
    padding: 10px 0 0 0;
  }
  .totalAmount tbody {
  }
  .totalAmountRow {
  }
  .totalAmountRow th {
  }
  .totalAmountRow td {
  }
  .totalAmountRow.lastRow {
  }
  .totalAmountRow.lastRow th {
  }

  /* ========================================================
  リストメッセージ
  ======================================================== */
  .IntroMessage {
    width: 96%;
    margin: 0 auto 6px;
  }
  .IntroMessage li {
  }
  .IntroMessage a {
  }

  /* ========================================================
  チェックメッセージ
  ======================================================== */
  .warningMessage {
  }
  .warningMessage li {
    font-size: 12px;
  }

  /* ========================================================
  注意・確認等の表示エリア
  ======================================================== */
  .confirmBox {
    background-color: #f2f2f2;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 20px;
  }
  .srvErrorMsgArea {
    width: 90%;
    padding: 3%;
    border-radius: 4px;
  }
  .srvErrorMsgArea ul {
  }
  .srvErrorMsgArea li {
  }
  .srvErrorMsgArea li::before {
  }

  /* ========================================================
  モーダルデザイン
  ======================================================== */
  .lity {
  }
  .lity-container {
  }
  .lity-container::-webkit-scrollbar {
  }
  .lity-container::-webkit-scrollbar-track {
  }
  .lity-container::-webkit-scrollbar-thumb {
  }
  .lity-container {
  }
  .lity-close {
    top: 10px;
    right: 15px;
    font-size: 40px;
  }
  .lity-close:hover,
  .lity-close:focus,
  .lity-close:active,
  .lity-close:visited {
    top: 10px;
    right: 15px;
    font-size: 40px;
  }
  .modalArea {
    max-width: none;
    width: 100%;
  }
  .modalAreaWrap {
    padding: 0 5%;
    width: 100%;
  }
  .modalAreaWrap h3 {
    font-weight: bold;
    padding: 30px 0 10px;
    font-size: 16px;
  }
  .modalClose {
  }
  .modalClose button {
  }

  /* ========================================================
  入力フォーム
  ======================================================== */
  .formElementError {
  }

  /* ========================================================
  チェックボックス
  ======================================================== */
  .mainCheckbox {
  }
  .mainCheckbox + label {
  }
  .mainCheckbox + label::before {
  }
  .mainCheckbox:checked + label {
  }
  .mainCheckbox:checked + label::after {
  }

  /* ========================================================
  ラジオボタン
  ======================================================== */
  .mainRadioButton {
  }
  .mainRadioButton + label {
  }
  .mainRadioButton + label::before {
  }
  .mainRadioButton:checked + label {
  }
  .mainRadioButton:checked + label::after {
  }

  /* ========================================================
  カルーセル
  ======================================================== */
  .slick-slider {
  }
  .slick-list {
  }
  .slick-list:focus {
  }
  .slick-list.dragging {
  }
  .slick-slider .slick-track,
  .slick-slider .slick-list {
  }
  .slick-track {
  }
  .slick-track::before,
  .slick-track::after {
  }
  .slick-track::after {
  }
  .slick-loading .slick-track {
  }
  .slick-slide {
  }

  [dir='rtl'] .slick-slide {
  }
  .slick-slide img {
    width: 100%;
    max-width: 420px;
    margin: auto;
  }
  .slick-slide .txtWrap {
  }
  .slick-slide.slick-loading img {
  }
  .slick-slide.dragging img {
  }
  .slick-initialized .slick-slide {
  }
  .slick-loading .slick-slide {
  }
  .slick-vertical .slick-slide {
  }
  .slick-arrow.slick-hidden {
  }
  /* Slider */
  .slick-loading .slick-list {
  }
  /* Arrows */
  .slide-arrow {
  }
  .slick-prev,
  .slick-next,
  .slide-arrow.slick-arrow {
    width: 26px;
    height: 26px;
  }
  .slick-prev.slick-arrow,
  .slick-next.slick-arrow {
  }
  .contentAreaWrap .slick-disabled {
  }
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus,
  .prev-arrow:hover,
  .prev-arrow:focus,
  .next-arrow:hover,
  .next-arrow:focus {
  }
  .slick-prev:hover:before,
  .slick-prev:focus:before,
  .slick-next:hover:before,
  .slick-next:focus:before,
  .prev-arrow:hover:before,
  .prev-arrow:focus:before,
  .next-arrow:hover:before,
  .next-arrow:focus:before {
  }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before,
  .prev-arrow.slick-disabled:before,
  .next-arrow.slick-disabled:before {
  }
  .slick-prev:before,
  .slick-next:before,
  .prev-arrow:before,
  .next-arrow:before {
  }
  .slick-prev,
  .prev-arrow {
    left: -8px;
  }
  .slick-next,
  .next-arrow {
    right: -8px;
  }
  .contentAreaWrap .prev-arrow {
  }
  .contentAreaWrap .next-arrow {
  }
  /* Dots */
  .slick-dots {
  }
  .slick-dots li {
  }
  .slick-slider .slick-dots li button {
  }
  .slick-slider .slick-dots li.slick-active button {
  }
  .contentAreaWrap .slick-list {
  }
  .contentAreaWrap .slick-slide img {
  }

  .recomItemCarousel.slick-initialized {
  }
  .slick-slider {
  }
  .slick-track {
  }
  .recomItemCarousel .article {
  }
  .slick-slide a .brand {
  }
  .slick-slide a .price {
  }

  .recomItemCarousel.slick-initialized {
  }
  .slick-slider {
  }
  .slick-track {
  }
  .recomItemCarousel .article {
  }
  .item_slider_area {
    margin-top: 20px;
    position: relative;
  }
  .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  .item_slider_area .prev-arrow {
    width: 7%;
    height: auto;
    cursor: pointer;
    top: 50%;
    left: -10px;
    z-index: 1;
    margin-top: -3.5%;
  }
  .item_slider_area .next-arrow {
    width: 7%;
    height: auto;
    cursor: pointer;
    top: 50%;
    right: -10px;
    z-index: 1;
  }
  .boxArea {
    box-shadow: 3px 2px 8px 2px #e4e2e2;
    margin: 2px 20px 8px 3px;
  }

  /* カルーセル２======================================================== */

  .carouselPtn2 .slick-slide {
    /* box-shadow: 3px 2px 8px 2px #e4e2e2;
    margin: 2px 20px 8px 3px;
    width: 210px; */
  }
  .carouselPtn2 .slick-slide .txtWrap {
    /* max-width: none;
    padding: 10px 10px 20px; */
  }
  .carouselPtn2 .boxArea {
    box-shadow: none;
    margin: 0;
  }

  /* ========================================================
  サイドナビ
  ======================================================== */
  .side_menu {
  }

  .side_menu_list li {
    border-bottom: 1px solid #666;
  }

  .side_menu_list a {
  }

  /* ========================================================
  トップナビ
  ======================================================== */
  .search_btn02 {
    overflow: hidden;
  }

  .search_btn02 li a {
    display: block;
    padding: 20px;
    font-weight: bold;
    font-size: 108.29%;
    color: #ffffff;
    box-sizing: border-box;
  }

  .search_btn02 li {
    float: left;
    width: 50%;
    border: 1px solid #ffffff;
    border-bottom: none;
    background: #df0068;
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
  }
}

/* ======================================================== */
.pb00 {
  padding-bottom: 0 !important;
}
.pb03 {
  padding-bottom: 3px !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pt00 {
  padding-top: 0 !important;
}
.pt03 {
  padding-top: 3px !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.fsxs {
  font-size: 10px;
}
.fss {
  font-size: 12px;
}
.fsd {
  font-size: 14px;
}
.fsm {
  font-size: 16px;
}
.fsl {
  font-size: 18px;
}
.fshead {
  font-size: 20px;
}
.bgwpp {
  background-color: #df0068;
}
.bgpg {
  background-color: #f3f1f1;
}
.bglg {
  background-color: #e1e1e1;
}
.bgg {
  background-color: #999999;
}
.bgdg {
  background-color: #646464;
}
.lineConnectTitle{
  margin:auto;
  text-align: left;
  font-size: 14px !important;
  max-width: 510px;
}
.lineConnectText{
  padding-left: 0px !important;
}