/* セレクタ */
body,
h1,
h2,
h3,
h4,
h5,
h6 {
  /*
	font-family: "Hiragino Kaku Gothic ProN","���C���I", sans-serif !important;
*/
  font-family: 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro',
    Helvetica, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
}
h1 img {
  width: 150px;
}
@media only screen and (max-width: 767px) {
  h1 img {
    width: 140px;
  }
}
h1 {
  margin-top: 15px;
}
h2 {
  font-size: 1.3em;
}
h3 {
  font-size: 18px;
}
h4 {
  font-size: 0.8em;
}
thead th {
}
th {
  white-space: nowrap;
}
a {
  color: #34495e;
}
a:hover,
a:focus {
  text-decoration: underline;
  color: #2a6496 !important;
}
#footer {
  margin-top: 36px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}
#footer ul {
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 0px;
}
#footer ul li {
  font-weight: bold;
  list-style: none;
  display: inline-block;
  font-size: 0.8em;
  padding-left: 6px;
}
@media only screen and (max-width: 767px) {
  #footer ul li {
    font-size: 0.7em;
  }
}

/* デザイン変更用 ver.1 st */
h1 {
  display: flex;
  max-width: 1100px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
h2 {
  margin-top: 30px;
  margin-bottom: 20px;
}
h2 img {
  width: 100%;
}

/* パネルの角丸、色修正 */
.panel {
  border-radius: 0px !important;
  border-color: #cccccc !important;
}
/*
.panel-title{
	color:#333333;
}
*/
.panel-heading {
  /*color:#FFF !important;*/
  /*background-color:#3F51B5 !important;*/
  background-color: #f2f2f2 !important;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

/* 見出し */
.well {
  font-size: 1.2em;
  color: #3f51b5;
  background: none !important;
  border-radius: 0px !important;
  /*	border:none !important;*/
  -webkit-box-shadow: none;
  box-shadow: none;
  border-top: none;
  border-right: none;
  border-bottom: 2px solid #3f51b5;
  border-left: none;
}
/* 編集リンクボタン */
.edit_link_btn:hover {
  color: #fff !important;
}
.navbar_box {
  margin-bottom: 30px;
}
.navbar {
  max-width: 1100px;
  background-color: #fff;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
  /*	padding-bottom:10px;*/
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-radius: 0px;
}
.navbar a,
.navbar {
  color: #000 !important;
}
.navbar-nav a:hover {
  text-decoration: underline !important;
}
.dropdown-menu a {
  color: #555 !important;
}
.navbar-default .navbar-nav > .dropdown > a .caret,
.navbar-default .navbar-nav > .dropdown > a:hover .caret,
.navbar-default .navbar-nav > .dropdown > a:focus .caret {
  border-top-color: #000;
  border-bottom-color: #000;
}
.navbar-default .navbar-toggle:before {
  color: #000 !important;
}
/* デザイン変更用 ver.1 ed */

#copy_right {
  clear: both;
  font-size: 0.8em;
  padding-top: 10px;
  padding-bottom: 10px;
}
.required {
  font-size: 0.8em;
  color: red;
}
.help_table .header_td {
  vertical-align: top;
}
.help_text {
  font-size: 0.8em;
}
.help_text tr {
  vertical-align: top;
}
.help_text span {
  font-weight: bold;
  color: red;
}
.input_num {
  text-align: right;
}
.discount_price_text,
.discount_date_text {
  color: red;
  font-weight: bold;
  font-size: 0.85em;
}
.ghost {
  border: none !important;
}
/* disableのようになるため、回避 */
.form-control[readonly] {
  color: #34495e;
  background-color: #fff;
  border-color: #bdc3c7;
  opacity: 1;
}
/* ページネーション */
.pagination {
  padding: 0;
}
.pagination li {
  margin-right: 0px;
}
.pagination li > a,
.pagination li > span {
  border-left: none;
}
.attention {
  font-size: 0.8em;
}
.sp_pagination {
  width: 100px;
  margin-right: auto;
  margin-left: auto;
}

/* テーブル線なし */
.table-noborder th,
.table-noborder td {
  border-top: 0px !important;
  border-bottom: 0px !important;
}
/* 年齢認証モーダル */
.modal {
  max-width: 400px;
  width: 90%;
  position: fixed !important;
  display: none;
  z-index: 9999 !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  padding: 0;
  text-align: center;
  bottom: auto !important;
  transition: top 0.25s ease;
}
@media (max-width: 767px) {
  body.mode-bar-visible .modal {
    top: calc(50% - 38px) !important;
  }
}
.age-modal-body {
  padding: 32px 24px 24px;
}
.age-modal-graphic {
  margin-bottom: 14px;
}
.age-modal-graphic img {
  width: 80px;
  height: auto;
}
.age-modal-title {
  font-size: 22px;
  font-weight: 800;
  color: #cb1e63;
  margin: 0 0 14px;
  letter-spacing: 0.05em;
}
.age-modal-desc {
  font-size: 13px;
  color: #555;
  line-height: 1.75;
  margin: 0 0 16px;
}
.age-modal-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.age-modal-divider::before,
.age-modal-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e5e7eb;
}
.age-modal-divider-icon {
  color: #f59e0b;
  font-size: 18px;
  line-height: 1;
}
.age-modal-question {
  font-size: 15px;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 18px;
}
.age-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 18px;
}
.age-modal-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 10px;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
  text-decoration: none !important;
  box-sizing: border-box;
  line-height: 1.3;
  -webkit-appearance: none;
  appearance: none;
}
.age-modal-btn:hover {
  opacity: 0.85;
  color: inherit;
}
.age-modal-btn--nonadult {
  background: #1e3a5f;
  color: #fff !important;
}
.age-modal-btn--adult {
  background: #cb1e63;
  color: #fff !important;
}
.age-modal-footer {
  font-size: 11px;
  color: #9ca3af;
  margin: 0;
}

/* トップへリンクとモード切り替えボタン */
.frame_linker {
  display: none;
  position: fixed;
  margin-bottom: 0px;
  z-index: 100;
}

/* トップへリンク */
#page-top {
  right: 20px;
  bottom: 20px;
}
#page-top a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: #fff !important;
  text-decoration: none;
  gap: 5px;
  transition: background 0.2s;
  box-sizing: border-box;
}
#page-top a:hover {
  background: rgba(0, 0, 0, 0.65);
  text-decoration: none;
}
#page-top a i {
  font-size: 16px;
  line-height: 1;
  margin-bottom: 2px;
}
#page-top a span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

/* モードチェンジボタン */
#item_mode_change_form {
  width: 100%;
  text-align: right;
}
#item_mode_change_form_mobile {
  /*width:100%;*/
  font-size: 0.9em;
  text-align: center;
  padding-top: 7px;
  padding-bottom: 7px;
}
.mode-toggle-group {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 50px;
  padding: 0;
  gap: 2px;
  margin: 5px 0;
}
/* モバイルバー内はmarginをリセットして正確な中央配置 */
#mobile_mode_bar .mode-toggle-group {
  margin: 0;
}
.mode-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 18px;
  margin: 0;
  border: none;
  outline: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 50px;
  background: #fff;
  color: #6b7280;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
  opacity: 1 !important;
  box-sizing: border-box;
}
.mode-toggle-btn:hover,
.mode-toggle-btn:focus,
.mode-toggle-btn:active {
  outline: none;
  box-shadow: none;
  border: none;
  text-decoration: none;
}
.mode-toggle-btn.non-adult-btn:disabled {
  background: #2563eb;
  color: #fff;
  cursor: default;
}
.mode-toggle-btn.adult-btn:disabled {
  background: #cb1e63;
  color: #fff;
  cursor: default;
}
.mode-toggle-btn.non-adult-btn:not(:disabled):hover {
  background: #dbeafe;
  color: #2563eb;
}
.mode-toggle-btn.adult-btn:not(:disabled):hover {
  background: #fce7f3;
  color: #cb1e63;
}
.adult-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}
.adult-icon-wrap .fa-shield-alt {
  font-size: 16px;
}
.adult-icon-wrap .age-num {
  position: absolute;
  font-size: 6px;
  font-weight: 900;
  line-height: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -35%);
}
#mode_button {
  opacity: 0.8;
  left: 20px;
  bottom: 20px;
}

/* モバイル下部固定トグルバー */
#mobile_mode_bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid #eee;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
  transform: translateY(100%);
  transition: transform 0.25s ease;
}
@media (max-width: 767px) {
  #mobile_mode_bar {
    display: flex;
    height: 76px;
    align-items: center;
    justify-content: center;
  }
  /* 固定バーにフッターが隠れないようコンテンツ下部に余白を確保 */
  #frame {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}
#mobile_mode_bar.is-visible {
  transform: translateY(0);
}
#mobile_mode_bar #item_mode_change_form_mobile {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0 !important;
  margin: 0;
}
.mobile-mode-toggle {
  display: grid;
  width: 100%;
  max-width: 320px;
}
.mobile-mode-toggle .mode-toggle-btn {
  font-size: 14px !important;
  padding: 15px 20px !important;
}

/* フレーム関連 */
h1 a:hover {
  color: #34495e;
  text-decoration: none;
}
#frame {
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
}
.container {
  width: auto;
}

.sub_box {
  padding-right: 10px;
  padding-left: 10px;
}
/* アフィリエイトバナー */
.affiliate_banner_box {
  border: 1px solid 000;
  margin-bottom: 22px;
}
/* ラグコレについて */
.site_description {
  font-size: 0.8em;
}
.site_description span {
  font-weight: bold;
  color: red;
}
/*　モバイル版の新着、無料商品リンク */
.mobile_new_link_btn,
.mobile_free_link_btn {
  font-weight: bold;
  color: #fff;
  margin-bottom: 20px;
}
.mobile_new_free_link:hover {
  text-decoration: none;
}
.mobile_new_link_btn {
  background-color: #fc00ff;
}
.mobile_free_link_btn {
  background-color: #fe0000;
}
/* ポイントバナー */
.point_banner_box {
  margin-bottom: 20px;
}
.point_banner_box img {
  width: 100%;
}
/* 会員メニュー */
/* 未ログイン時 */
.member_menu {
  border-radius: 4px !important;
}
.member_menu .panel-heading {
  border-top-left-radius: 4px !important;
  border-top-right-radius: 4px !important;
}
.unlogin_btn {
  width: 100%;
  font-size: 0.5em;
  font-weight: bold;
  color: #fff;
  background-color: #cb1e63;
  padding-right: 5px;
  padding-left: 5px;
}

.panel_download {
  border: 1px solid #cb1e63 !important;
}
.panel_download .panel-heading {
  color: #fff !important;
  background-color: #cb1e63 !important;
}
.panel_upload {
  border: 1px solid #3f51b5 !important;
}
.panel_upload .panel-heading {
  color: #fff !important;
  background-color: #3f51b5 !important;
}
.panel_affiliate {
  border: 1px solid #9c27b0 !important;
}
.panel_affiliate .panel-heading {
  color: #fff !important;
  background-color: #9c27b0 !important;
}
.panel_search {
  border: 1px solid #f2f2f2;
}
.panel_search .panel-heading {
  background-color: #f2f2f2;
}

/* 会員メニューのスマホデザイン（追加） */
.mobile_box a {
  display: block;
  text-align: center;
  font-size: 0.85em;
  font-weight: bold;
  line-height: 1em;
  padding-top: 7px;
  padding-bottom: 6px;
  vertical-align: center;
  text-align: center;
  background-color: #f5f5f5;
  border-bottom: 2px solid #fff;
}

.panel_download .mobile_box a:hover {
  color: #fff !important;
  background-color: #cb1e63;
}
.panel_upload .mobile_box a:hover {
  color: #fff !important;
  background-color: #3f51b5;
}
.panel_affiliate .mobile_box a:hover {
  color: #fff !important;
  background-color: #9c27b0;
}

.mobile_box a:hover {
  color: #fff;
  text-decoration: none;
}
.mobile_box .point_box {
  text-align: center;
  font-weight: bold;
  margin-bottom: 0px;
}
.mobile_box .point_box span {
  color: red;
}
.mobile_box .lifetime_box {
  font-size: 0.8em;
  font-weight: bold;
  text-align: center;
}

/* ログイン */
.password_forget_link {
  color: #0041cc;
  text-decoration: underline;
}
.btn_social_login a:hover,
.btn_social_login a:focus {
  color: #fff !important;
}

/* モバイルログイン */
.mobile_regist_area {
  margin-bottom: 16px;
}
mobile_regist_area .download_btn,
.mobile_regist_area .upload_btn {
  margin-bottom: 12px;
}
.mobile_login_area .download_btn,
.mobile_login_area .upload_btn {
  margin-bottom: 12px;
}
.mobile_login_area a:hover {
  color: #fff !important;
}
.mobile_regist_area .download_btn,
.mobile_regist_area .upload_btn,
.mobile_regist_area .affiliate_btn {
  font-size: 0.6em !important;
  font-weight: bold !important;
  word-wrap: break-word !important;
}
.mobile_login_area .download_btn,
.mobile_login_area .upload_btn,
.mobile_login_area .affiliate_btn {
  font-size: 0.6em !important;
  font-weight: bold !important;
  word-wrap: break-word !important;
}
.mobile_regist_area .download_btn,
.mobile_login_area .download_btn {
  color: #fff;
  background-color: #cb1e63;
}
.mobile_regist_area .upload_btn,
.mobile_login_area .upload_btn {
  color: #fff;
  background-color: #3f51b5;
}
.mobile_regist_area .affiliate_btn,
.mobile_login_area .affiliate_btn {
  color: #fff;
  background-color: #9c27b0;
}

/* モバイル仮登録ボタン（ログインページ） */
.mobile_regist_area .download_btn,
.mobile_login_area .download_btn {
  color: #fff;
  background-color: #cb1e63;
}
.mobile_regist_area .upload_btn,
.mobile_login_area .upload_btn {
  color: #fff;
  background-color: #3f51b5;
}
.mobile_regist_area .affiliate_btn,
.mobile_login_area .affiliate_btn {
  color: #fff;
  background-color: #9c27b0;
}

/* 仮登録 */
.important_alert {
  font-size: 0.8em;
}
.login_terms_service {
  margin: 40px;
}
.login_terms_service tr {
  margin-top: 30px;
}
.login_terms_service span {
  color: red;
}
.t_head {
  vertical-align: top;
}

/* 会員メニュー */
@media screen and (min-width: 768px) {
  .member_menu {
    font-size: 0.9em;
  }
  .member_menu h4 {
    font-size: 1em;
  }
}
/* ナビ */
@media only screen and (max-width: 767px) {
  #navi_category {
    margin-bottom: 10px;
  }
}
#navi_category,
#navi_kwd {
  color: #34495e;
}

/* 2017.05.19 st */
/* 保有ポイントエリア */
.download_point_area {
  font-size: 0.9em;
  font-weight: bold;
  margin-bottom: 0px;
  padding: 4px;
  background-color: #f2f2f2;
}
#download_point {
  color: red;
}
#download_lifetime {
  font-size: 0.7em;
  font-weight: normal;
  margin-bottom: 6px;
}

/* 2017.05.19 ed */
/* レフトテーブル */
.side_search_box {
  margin-bottom: 20px;
}
.side_search_box .form-control {
  margin-bottom: 12px;
}

.side_heading_title {
  font-size: 1.2em;
  vertical-align: middle;
  color: #da4453;

  /*	margin-bottom:0px;*/
  padding: 6px 0px 6px 7px;
  margin-top: 0px;
}
#category_list_box {
  padding-left: 10px;
  font-weight: bold;
}

/* ホーム*/
#info_header {
  margin-top: 0px;
}
/* ホームお知らせ */
#info_box {
  font-size: 0.8em;
  height: 180px;
  overflow-y: scroll;
  padding: 0;
  border: none;
  list-style: none;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  #info_box {
    height: 110px;
  }
}

#info_box li {
  display: grid;
  grid-template-columns: 16px max-content 1fr;
  column-gap: 0;
  padding: 4px 0;
  border-bottom: 1px solid #f5f5f5;
}
#info_box li::before {
  content: '●';
  color: #cb1e63;
  font-size: 0.55em;
  align-self: start;
  margin-top: 5px;
}
#info_box .info-date {
  font-weight: bold;
  color: #cb1e63;
  padding-right: 0.8em;
}
#info_box .info-content {
  word-break: break-word;
  overflow-wrap: break-word;
}
#info_box .info-content a {
  color: #cb1e63 !important;
  text-decoration: underline;
}
#info_box .info-content a:hover {
  color: #8f1545 !important;
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  #info_box li {
    grid-template-columns: 16px 1fr;
    grid-template-rows: auto auto;
  }
  #info_box li::before {
    grid-column: 1;
    grid-row: 1;
  }
  #info_box .info-date {
    grid-column: 2;
    grid-row: 1;
  }
  #info_box .info-content {
    grid-column: 2;
    grid-row: 2;
    padding-top: 2px;
  }
}
/* Informationパネルヘッダー */
.panel-info-news {
  border: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.panel-info-news .panel-heading {
  background-color: #fff !important;
}
.panel-info-news .panel-title {
  color: #cb1e63;
  font-weight: bold;
}
.panel-info-news .panel-body {
  padding-top: 0;
}
/* ホーム販売者募集 */
#upload_info_box {
  font-size: 0.8em;
  border: 1px dotted #34495e;
  height: 140px;
  overflow-y: scroll;
  padding: 6px;
}
#upload_info_box span {
  font-weight: bold;
  color: #da4453;
}

/* ホームアフィリエイト会員募集 */
#affiliate_info_box {
  font-size: 0.8em;
  border: 1px dotted #34495e;
  height: 140px;
  overflow-y: scroll;
  padding: 6px;
}
#affiliate_info_box span {
  font-weight: bold;
  color: #da4453;
}

.home_item_box {
  /*max-width:800px;*/
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0px;
  padding-left: 0px;
  word-break: break-all;
}
.mobile_home_item_box {
  /*max-width:600px;*/
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0px;
  padding-left: 0px;
}
.home_item_box li {
  vertical-align: top;
  display: inline-block !important;
  height: 250px;
  color: #34495e;
  max-width: 250px;
  width: 23%;
  min-height: 274px;
  height: auto;
  margin-right: 2.5px;
  margin-left: 2.5px;
  margin-bottom: 18px;
  word-break: break-all;
  /*float:left;*/
}
.mobile_home_item_box li {
  vertical-align: top;
  display: inline-block !important;
  height: 250px;
  color: #34495e;
  max-width: 200px;
  width: 29% !important;
  /*	min-height:320px;*/
  height: auto;
  margin-right: 2.5px;
  margin-left: 2.5px;
  margin-bottom: 18px;
  word-break: break-all;
}
@media only screen and (max-width: 380px) {
  .mobile_home_item_box li {
    min-height: 200px;
  }
}
@media only screen and (min-width: 381px) and (max-width: 588px) {
  .mobile_home_item_box li {
    min-height: 238px;
  }
}
@media only screen and (min-width: 589px) {
  .mobile_home_item_box li {
    min-height: 260px;
  }
}
.top-ranking-item-badge {
  position: absolute;
  top: -8px;
  left: -8px;
  display: block;
  width: 24px;
  height: 24px;
  font-size: 17px;
  line-height: 26px;
  margin: 0;
  padding: 0;
  background-color: #f5b301;
  color: #fff;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 1px solid #f5b301;
  border-radius: 12px;
}
.purchased-item-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  display: block;
  width: 74px;
  height: 24px;
  font-size: 13px;
  line-height: 24px;
  margin: 0;
  padding-right: 1px;
  background-color: #0143f5;
  opacity: 0.7;
  color: #fff;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 1px solid #0143f5;
  border-radius: 12px;
}

/* PR枠 */
#pr_right_title {
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  /* 一時、アフィリエイトバナー非表示
	margin-top:20px;
*/
  background-color: #e400ff;
}

/* PC版右のランキングエリア（新規販売者様も入る） */
#ranking_box {
  font-size: 0.8em;
}

/* 販売者ランキング */
#upload_ranking_title {
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  margin-top: 20px;
  background-color: #ff0000;
}
/* 販売者ランキング、新規販売者(モバイル) */
#mobile_upload_rankings {
  background-color: #ff0000;
}
#mobile_upload_news {
  background-color: #ff9600;
}
#mobile_upload_rankings,
#mobile_upload_news {
  display: block;
  vertical-align: middle;
  font-weight: bold;
  font-size: 0.9em;
  color: #fff;
  padding: 10px;
  border-radius: 4px;
  text-decoration: none;
}

/* 新規販売者 */
#upload_new_title {
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  margin-top: 20px;
  background-color: #ff9600;
}
.upload_box,
.mobile_upload_box {
  /*max-width:800px;*/
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0px;
  padding-left: 0px;
  list-style: none;
  word-break: break-all;
}
.upload_box li {
  vertical-align: top;
  display: inline-block !important;
  height: 250px;
  color: #34495e;
  /*	max-width:140px;*/
  width: 100% !important;
  max-width: 250px;
  min-height: 200px;
  height: auto;
  /*
	margin-right:3px;
	margin-left:3px;
*/

  margin-bottom: 18px;
  /*float:left;*/
}
.mobile_upload_box li {
  max-width: 200px;
  margin-right: auto;
  margin-left: auto;
}
.upload_box p,
.mobile_upload_box p {
  font-size: 0.8em;
}
/* モバイルのランキングの画像 */
.img_width_type .ranking_item_img_box,
.img_width_type .ranking_item_img_box img {
  width: 100%;
}
.img_height_type .ranking_item_img_box,
.img_height_type .ranking_item_img_box img {
  height: 100%;
}
.ranking_item_img_box {
  position: relative;
  max-width: 125px;
  max-height: 125px;
  background-color: #f2f2f2;
  margin-right: auto;
  margin-left: auto;
}
.ranking_item_img_box:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.ranking_item_img_box img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
/* ホームのランキングのもっと見る */
.more_list a {
  font-weight: bold;
  font-size: 0.9em;
}
.more_list a i {
  color: red;
}

/* ホームカテゴリーランキング見出し */
.category_item_header {
  font-size: 1em;
}

/* 商品一覧 */
.item_box {
  /*max-width:800px;*/
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  margin-top: 18px !important;
  margin-bottom: 0px !important;
  padding-right: 0px;
  padding-left: 0px;
  word-break: break-all;
}
.mobile_item_box {
  /*max-width:600px;*/
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0px;
  padding-left: 0px;
}
.item_box li {
  vertical-align: top;
  display: inline-block !important;
  height: 250px;
  color: #34495e;
  max-width: 250px;
  width: 23%;
  /*min-height:330px;*/
  min-height: 310px;
  height: auto;
  margin-right: 2.5px;
  margin-left: 2.5px;
  margin-bottom: 18px;
  word-break: break-all;
  /*float:left;*/
}
.mobile_item_box li {
  vertical-align: top;
  display: inline-block !important;
  height: 250px;
  color: #34495e;
  max-width: 200px;
  width: 29% !important;
  /*min-height:320px;*/
  height: auto;
  margin-right: 2.5px;
  margin-left: 2.5px;
  margin-bottom: 18px;
  word-break: break-all;
}

@media only screen and (max-width: 380px) {
  .mobile_item_box li {
    min-height: 200px;
  }
}
@media only screen and (min-width: 381px) and (max-width: 588px) {
  .mobile_item_box li {
    min-height: 238px;
  }
}
@media only screen and (min-width: 589px) {
  .mobile_item_box li {
    min-height: 284px;
  }
}

/* 商品一覧（詳細検索）、販売者の商品検索も */
.detail_search_table {
  width: 100% !important;
  margin-right: 0px !important;
  margin-left: 0px !important;
}
#collapse_search_header {
  cursor: pointer;
}
#collapse_search_header a:hover,
#collapse_search_header a:focus {
  color: #34495e;
  text-decoration: none;
}
#price_min,
#price_max {
  width: 70px;
  display: inline-block;
}

/* 下記の商品も売れていますのレコメンド */
.recommend_item_box li {
  min-height: 236px;
  height: auto;
}
.mobile_recommend_item_box li {
  min-height: 256px;
  height: auto;
}
.item_img_box {
  position: relative;
  max-width: 200px;
  max-height: 200px;
  /*	width: 100%;*/
  background-color: #f2f2f2;
  margin-right: auto;
  margin-left: auto;
}
.item_img_box:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.item_img_box img {
  position: absolute;
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.item_price {
  display: table;
  width: 100%;
  font-size: 0.8em;
  font-weight: bold;
  margin-top: 4px;
  margin-right: auto;
  margin-left: auto;
  padding: auto;
  height: 32px;
}
.sub_item_price {
  display: table-cell;
  vertical-align: middle;
  height: 32px;
}
.point_item_price {
  display: inline-block;
  padding-top: 4px;
}
.item_name {
  font-size: 0.8em;
  height: 44px;
  margin-top: 4px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.item_upload_nickname {
  margin-top: 4px;
  font-size: 0.7em;
}

/* 販売者一覧 */
.upload_nickname_link {
  margin-bottom: 0px;
  padding-top: 3px;
  padding-bottom: 3px;
}
.upload_nickname_link a {
  font-size: 0.7em;
  color: #0041cc;
}
.upload_nickname {
  font-size: 0.7em;
}

/* 商品詳細・販売者詳細（一部） */

/* オススメ商品 */
#priority_items_title {
  margin-top: 30px;
  /*margin-bottom: 6px;*/
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.priority_item_box {
  margin-bottom: 30px !important;
  border: 1px solid red;
}
.priority_item_box li {
  margin-top: 18px !important;
}

/* 販売者リンク */
.upload_name_link {
  color: #0041cc;
  text-decoration: underline;
}

/* メールアドレス、ホームページなど */
.site_mail_info {
  color: #0041cc;
  text-decoration: underline;
}

#detail_header,
#reading_list_header {
  margin-top: 0px;
  word-break: break-all;
}
#detail_table {
  width: 100%;
  font-size: 0.85em;
  max-width: 430px;
  margin-right: auto;
  margin-left: auto;
  word-break: break-all;
}
#detail_table th {
  width: 10px;
  white-space: nowrap;
}
.h3_header {
  margin-top: 0px;
}
/*
#detail_img_box .img_height_type{
	max-height:280px;
}
*/
#detail_sub_item_box li {
  vertical-align: top;
  display: inline-block !important;
  color: #34495e;
  max-width: 250px;
  width: 30% !important;
  margin-right: 6px;
  margin-left: 6px;
  margin-bottom: 18px;
}
.detail_img_box {
  position: relative;
  max-width: 250px;
  max-height: 250px;
  background-color: #f2f2f2;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
}
.detail_img_box:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.detail_img_box img {
  position: absolute;
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.detail_info table th {
  /*width:150px;*/
}
#item_image_box {
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0px;
  padding-left: 0px;
}
#item_image_box li {
  max-width: 190px;
  width: 30%;
  display: inline-block;
  margin: 6px;
}
#mobile_item_image_box {
  padding: 0px;
}
#mobile_item_image_box li {
  max-width: 230px;
  width: 35%;
  display: inline-block;
  margin: 6px;
}

#item_detail_form_box form {
  display: inline;
}

.detail_btns {
  font-size: 13px;
}
.detail_btns:hover {
  color: #fff !important;
}

@media only screen and (max-width: 490px) {
  #item_detail_form_box #submit_btn {
    margin-bottom: 10px;
  }
  .detail_btns {
    font-size: 11px;
  }
}

#item_info_table {
  font-size: 0.85em;
}

#item_info_table th {
  width: 10px;
  white-space: nowrap;
}

.item_description_box {
  font-size: 0.9em;
  word-wrap: break-word;
}

.panel_item_info {
  border: 1px solid #bce8f1 !important;
}
.panel_item_info .panel-heading {
  color: #31708f !important;
  background-color: #d9edf7 !important;
}
.panel_upload_info {
  border: 1px solid #faebcc !important;
}
.panel_upload_info .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3 !important;
}
.panel_affiliate_info {
  border: 1px solid #ebccd1 !important;
}
.panel_affiliate_info .panel-heading {
  color: #a94442;
  background-color: #f2dede !important;
}
/*
.panel_upload_question{
	border:1px solid #CDDC39 !important;
}
.panel_upload_question .panel-heading{
	color:#FFF;
	background-color:#CDDC39 !important;
}
*/
/* 体験談一覧 */
#bbs_table {
  font-size: 0.9em;
}
/*
#bbs_table th{
	color:#FFF;
	background-color:#000;
}
*/
#bbs_table .bbs_name {
  font-size: 0.9em;
}
#bbs_table th {
  color: #fff;
}
.pantira_title {
  background-color: #48cfad;
}
.nozoki_title {
  background-color: #5d9cec;
}
.tikan_title {
  background-color: #ac92ec;
}
.tousatu_title {
  background-color: #ec87c0;
}
/* 体験談詳細 */
#detail_bbs_box {
  margin-top: 28px;
  margin-bottom: 0px;
}
#detail_bbs_box li {
  vertical-align: top;
  display: inline-block !important;
  color: #34495e;
  max-width: 250px;
  width: 100% !important;
  margin-right: 6px;
  margin-left: 6px;
}
.download_regist_link {
  font-size: 0.9em;
}
.download_regist_link a {
  color: #0041cc;
  text-decoration: underline;
}
.good_count {
  font-weight: bold;
  color: red;
}
.bbs_point_get {
  color: red;
}

/* 質問・回答関連 */
/*
.detail_member_box{
	margin-bottom:16px;
}
*/
#question_answer_box {
  max-height: 400px;
  overflow: auto;
  padding: 16px;
  background-color: #f0f0f0;
}
.question_answer_text {
  font-size: 0.9em;
  margin-bottom: 0px !important;
}
.hr {
  border-top: 1px solid #ccc !important;
}
/* お知らせ（販売者、管理者） */
.detail_info_box {
  height: 150px;
  overflow: auto;
  padding: 16px;
  background-color: #f0f0f0;
}
.detail_info_box p {
  font-size: 0.8em;
  margin-bottom: 0px;
}
.detail_info_title {
  font-weight: bold;
  color: red;
}
.detail_info_date {
  font-size: 0.9em;
}
.detail_info_box .hr {
  margin: 7px 0px;
}
/* 検索ボックス */
.search_box table {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 580px) {
  .search_box table {
    width: 95%;
  }
}

@media only screen and (max-width: 767px) {
  .sort_br {
    display: block !important;
  }
  .search_box table label,
  .search_box .help_text {
    font-size: 12px !important;
  }
}

.sort_br {
  display: none;
}
.search_box table th {
  width: 92px;
}
.search_box table label,
.search_box .help_text {
  font-size: 13px;
}
.search_th,
.search_td {
  padding-bottom: 0px !important;
}
.last_search_th,
.last_search_td {
  padding-bottom: 10px !important;
}

.search_box #category,
.search_box #kwd,
.search_box #price_min,
.search_box #price_max {
  height: 36px;
}
.search_box .detail_search_box_tr {
  margin-top: 16px;
}

.search_box .help_text {
  padding-bottom: 0px;
}

.search_box table th,
.search_box table td {
  padding-bottom: 16px;
}
.search_box table th {
  font-weight: bold;
  padding-right: 16px;
}

/* ログイン */
#remember_box {
  padding-left: 0px;
}
#remember_box label {
  padding-left: 0px;
}

/* 特定商取引 */
#commercial_transactions_table {
  font-size: 0.8em;
}

/* 注文履歴 */
#profit_search_table {
  margin-right: auto;
  margin-left: auto;
}
#profit_table,
#profit_mobile_table {
  font-size: 0.7em;
  word-wrap: break-word;
}
#profit_mobile_table th {
  border-right: 2px solid #000;
}
#profit_mobile_table td {
  width: 100%;
}
#profit_table th,
#profit_mobile_table th {
  vertical-align: middle;
  text-align: center;
}
#profit_table .order_id_column {
  font-size: 0.7em;
}
#profit_table #item_name_column {
  width: 120px;
}

.download_caution {
  font-size: 0.8em;
}

/* 注文詳細 */
.coupon_use_str {
  font-weight: bold;
  color: red;
}

/* カートリスト*/
#first_upload_link {
  font-size: 0.7em;
}
#first_upload_link:hover {
  color: #fff !important;
}

/* カート確認 */
#cart_item_table,
#download_point_table {
  font-size: 0.8em;
  overflow: scroll !important;
}
#download_point_table label {
  font-size: 0.8em !important;
}
#cart_item_table th,
#download_point_table th {
  background-color: #f2f2f2;
}
#download_point_table th {
  /*width:150px;*/
}
#sum_price {
  color: red;
}
#cards_data {
  width: 140px;
  display: inline-block;
  margin-bottom: 16px;
}
#credit_rules {
  font-size: 0.8em;
}
#credit_rules span {
  font-size: bold;
  color: red;
}
.cart_btns {
  font-size: 13px;
}
.cart_btns:hover {
  color: #fff !important;
}
@media only screen and (max-width: 425px) {
  .cart_btns {
    font-size: 11px;
  }
}
.grant_point_str {
  font-weight: bold;
  color: red;
}
/* 注文履歴 */
#purchase_table,
#purchase_mobile_table {
  font-size: 0.7em;
}
#purchase_mobile_table td {
  width: 100%;
}

/* ポイント購入 */
ul.point_plan_description {
  width: 250px;
  margin-right: auto;
  margin-left: auto;
  padding: 0px;
  list-style: none;
  font-size: 0.9em;
}

/* ポイント履歴 */
#point_table,
#point_mobile_table {
  font-size: 0.7em;
}
#point_mobile_table th {
  border-right: 2px solid #000;
}
#point_mobile_table td {
  width: 100%;
}
#point_table th,
#point_mobile_table th {
  vertical-align: middle;
  text-align: center;
}

/* 販売者ホーム */
#upload_item_list li {
  list-style: none;
}

/* PR注意 */
#pr_caution {
  font-size: 0.9em;
  /*color:red;*/
  margin-top: 40px;
  padding-right: 15px;
  padding-left: 15px;
}

.upload_img_box img {
  max-width: 300px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.upload_item_title {
  font-size: 0.8em;
  word-wrap: break-word;
}
.upload_item_more {
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
}

/* 商品アフィリエイト */
.item_affiliate h4 {
  color: red;
  font-size: 1em;
}
.item_affiliate img {
  max-width: 100%;
  /*width:100%;*/
  cursor: pointer;
}
.item_affiliate .banner_name {
  font-weight: bold;
  font-size: 0.8em;
  margin-top: 6px;
}
.item_affiliate textarea {
  font-size: 0.8em;
  margin-top: 30px;
  margin-bottom: 20px;
}

/* お気に入り */
.favorite_area .btn {
  font-size: 0.6em;
  padding: 5px 7px;
}

/* ガイド関連 */
.terms_service h4 {
  vertical-align: middle;
  background-color: #f2f2f2;
  /*color:#da4453;*/
  padding: 6px 0px 6px 7px;
  border-left: 3px solid #da4453;
}

.terms_service ul,
.terms_service dl {
  font-size: 0.9em;
  /*
	margin-right:10px;
	margin-left:10px;
*/
}
.terms_service #first_text {
  margin-bottom: 40px;
}
.terms_service_link {
  color: #0041cc;
  text-decoration: underline;
}
.question_icon {
  color: #da4453;
}
.answer_icon {
  color: #3498db;
}

.guide_image {
  width: 65%;
  max-width: 500px;
  border: 1px solid #ddd;
}

.prohibited_matter {
  font-weight: bold !important;
  font-size: 0.8em !important;
}

/* ランクシステム */
.affiliate_rank_table {
  width: 600px;
  font-size: 0.8em;
  margin-right: auto !important;
  margin-left: auto !important;
}
.affiliate_rank_table thead {
  font-weight: bold;
  background-color: #f2f2f2;
}

/* 利用規約 */
.terms_service p,
.terms_service table {
  font-size: 0.8em;
  margin-right: 20px;
  margin-left: 20px;
}
.terms_service ul {
  margin-bottom: 0px;
}
.terms_service tr {
  vertical-align: top;
}
.terms_service td {
  padding-bottom: 16px;
}
.terms_service #point_service {
  list-style: none;
  font-size: 0.9em;
  margin-top: 16px;
  padding: 0px;
}
/* 個人情報について */
#privacy_list p,
#privacy_list table {
  font-size: 0.8em;
}
#privacy_list table {
  margin-right: 30px;
  margin-left: 30px;
}
#privacy_list table tr {
  vertical-align: top;
}
#privacy_list table td {
  padding-bottom: 16px;
}

/* 会員確認 */
#view_table {
  font-size: 0.8em;
}
#view_table th {
  width: 210px;
  background-color: #f2f2f2;
}

/* 注文見出し */
.order_header {
  font-size: 0.85em;
}

/* Stripe画像 */
#stripe_img {
  text-align: center;
  margin-top: 40px;
  margin-top: 20px;
}
#stripe_img p {
  font-size: 0.85em;
}
#stripe_img img {
  width: 230px;
}

/* 商品一覧アフィリエイト */
.affiliate_str {
  font-size: 0.7em;
}
.affiliate_money,
.unsupported_affiliate {
  font-size: 0.7em;
  color: red;
}
.unsupported_affiliate {
  margin-top: 16px;
}

/* 仮ログインの規約文章 */
.login_terms_service {
  font-size: 0.8em;
}

/* お問い合わせ */
.inquiry_attention {
  font-size: 0.8em;
  margin: 40px;
}
.inquiry_attention tr {
  margin-top: 30px;
}
.inquiry_attention span {
  color: red;
}
/* サムネイル画像(商品一括、サンプル設定など) st */
.item_thumnail_img_box {
  position: relative;
  max-width: 50px;
  max-height: 50px;
  background-color: #f2f2f2;
  margin-right: auto;
  margin-left: auto;
}
.item_thumnail_img_box:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.item_thumnail_img_box img {
  position: absolute;
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
/* サムネイル画像 ed */

/* 注意テーブル */
.caution_table {
  font-size: 0.9em;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}
.caution_table tr {
  vertical-align: top;
}
/* reCAPTCHAのスタイル */
.g-recaptcha {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  width: 300px;
  margin-top: 20px;
}

/* ポイントアイコン */
.point_icon {
  height: 32px;
}

/* セクション見出し（CSS版） */
.section-heading-text {
  --heading-color: #cb1e63;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--heading-color);
  font-size: 1.2em;
  font-weight: bold;
  padding-left: 0;
  margin-top: 24px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #ddd;
  position: relative;
}
.section-heading-text > span {
  position: relative;
}
.section-heading-text > span::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--heading-color);
}
.section-heading-more {
  color: var(--heading-color);
  font-size: 0.65em;
  font-weight: normal;
  text-decoration: none;
  border: 1px solid var(--heading-color);
  border-radius: 3px;
  padding: 3px 10px;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s;
}
.section-heading-more:hover {
  color: #fff !important;
  background-color: var(--heading-color);
  text-decoration: none;
}
h3.section-heading-text {
  font-size: 1.2em;
  margin-top: 0px;
}
