@charset "utf-8";

/* フルードイメージ */
#item_desc img { /* PC */
    width: 100%;
    height: auto;
}
#desc_area img { /* SP */
    width: 100%;
    height: auto;
}

/* コラム枠 */
.column-box {
    border: solid 1px #ddd;
    background-color: #fcfcfc;
    padding: 1em;
    margin: 3em 0 1em;
    box-shadow: 4px 4px 4px -2px rgba(0,0,0,0.1);
}
.column-box-terms {
    display: block !important;
    font-weight: bold !important;
    font-size: medium !important;
    margin: .5em 0 1em !important;
    border-bottom: none !important;
    border-left: solid 5px;
    padding: 0.25em 0.5em !important;
}
.column-box-terms:before { content: none !important; }
.column-box-h3 {
    font-weight: bold !important;
    font-size: large !important;
    margin: .5em 0 1em !important;
    padding: 0 !important;
    border: none !important;
}
.column-box-h3:before { content: none !important; }
.column-box-subterms {
    font-weight: bold;
    font-size: medium;
    margin: 1em 0 .5em !important;
    line-height: normal;
}
.column-box p {
  margin: 0 0 .5em 0;
  line-height: normal;
}


/* 引用 */
blockquote {
	background-color: rgba(56, 56,56, 0.04);
    border: 1px solid rgba(56, 56,56, 0.08);
    padding: 1em;
    margin: 0 0 1em 0;
}
blockquote:before,
blockquote:after {
    color: #1e73be;
}
blockquote::before {
    margin: 0 auto 0 0;
}
blockquote::after {
    margin: -1.2em 0 0 auto;
    text-align: right;
}
blockquote::before,
blockquote::after {
    display: block;
    font-size: 1.5em;
}
blockquote:before {
    content: "\f10d";
}
blockquote:after {
    content: "\f10e";
}

/* 引用テキスト */
blockquote p {
    padding: .5em 2em 0 2em;
}
blockquote p:last-child {
    padding: .5em 2em 2em 2em;
}


/* オブジェクト枠 */
figure { margin: 0 0 1em 0; }


/* 上書き */
#item_desc p { margin: 0 0 1em 0 !important; } /* PC */
#desc_area p { margin: 0 0 1em 0 !important; } /* SP */

/* 見出し */
.terms {
    display: block !important;
    font-weight: bold !important;
    font-size: medium !important;
    margin: 3em 0 1em !important;
    border-bottom: none !important;
    border-left: solid 5px;
    padding: 0.25em 0.5em !important;
}
.terms { counter-reset: sample; }
.terms:before { content: none !important; }


/* 文字カラー */
.col-bl {
    color: #45a6e8 !important;
}
.col-or {
    color: #ff9933 !important;
}


/* リスト */
ul.number-list { margin: 0 0 3em; }
ul.number-list { counter-reset: sample; }
ul.number-list li { margin: 0 0 1em; }
.subtitle {
/*    font-weight: bold;
    padding: 0 0 0 1em;
    text-indent: -1em;*/
    color: #23448b;
}
.subtitle:before {
    counter-increment: sample;
    content: counter(sample) "";
    margin-right: .3em;
}
.caution {
/*    font-weight: bold;*/
    padding: 0 0 0 1em;
    text-indent: -1em;
    color: #23448b;
}
.caution:before {
    content: "※";
    margin-right: .2em;
}
.item {
/*    font-weight: bold;*/
    padding: 0 0 0 1em;
    text-indent: -1em;
    color: #23448b;
}
.item:before {
    content: "・";
    margin-right: .2em;
}
#item_desc .subtitle-text { margin: 0 0 2em 1em !important; } /* PC */
#desc_area .subtitle-text { margin: 0 0 2em 1em !important; } /* SP */
.kuro-maru {
  padding: 0 0 0 1em;
  text-indent: -1em;
  color: #23448b;
}
.kuro-maru:before {
  content: "●";
  margin-right: .2em;
}
.bold {
  font-weight: bold;
  color: #23448b;
}

/* 注意 */
.notice {
  border: 1px solid red;
  padding: .5em;
  color: red;
}

/* 破線 */
.border-top-dotted { border-top: dotted 1px #cccccc; }

/* ヘッダーメッセージ */
#h_line-info {
  width: 100%;
  padding: .25em;
}
.h_line-info-ctn {
  width: 1000px;
  margin: 0 auto;
  border: double 6px #ff9933;
  background-color: #ffe;
  line-height: normal;
}
.h_line-info_txt {
  margin: 0;
  padding: .5em;
}
.h_line-info_txt a {
  color: blue;
  text-decoration: underline;
}

/* レイアウト */
.width-25percent { width: 25% !important; }
.width-30percent { width: 30% !important; }
.width-40percent { width: 40% !important; }
.width-50percent { width: 50% !important; }


/* 回り込み(Float) */
.float-left { float: left; }
.float-right { float: right; }


/* PC フッター *******************************/
#footer_category {
  background-color: inherit;
  padding: 0;
}
#footer_categoryMenu { display: flex; }
.fcateBox {
  float: none;
  width: unset;
  background-color: inherit;
  -webkit-border-radius: inherit;
  border-radius: inherit;
}
.fcateBox h4 {
  border-left: 6px solid #2C3987;
  padding-left: 1em;
}
.fcateBox ul { margin-bottom: 1em; }
.fcateBox li {
  list-style-type: disc;
  list-style-position: inside;
}

/******************************* PC フッター */

/* PC TOPページ *******************************/

/* 人気カテゴリー */
#header_category li { font-size: 14px; }

/* 入会特典 */
.membership-benefits {
  border: 1px solid #d6eeff;
  display: flex;
}
.membership-benefits p {
  padding: .5em 1em;
  margin: .25em;
  color: #45a6e8;
  font-size: large;
}
.membership-benefits p:first-child {
  border-right: 1px solid #d6eeff;
}
.membership-benefits a {
  margin-left: auto;
}
.membership-benefits a:hover {
    transition: all 0.3s;
    opacity: .7;
}
.membership-benefits-enter {
  background-color: #ff9933;
  color: #fff !important;
  border-radius: 4px;
}

/* スライダー */
.flexslider {
  border: none !important;
}
.flexslider .slides img {
  width: 100% !important;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

/******************************* PC TOPページ */


/* SP TOPページ *******************************/

/* 人気カテゴリー */
.ninki-cat { padding: .5em 1em; }
.ninki-cat li {
  padding: .75em .5em;
  font-size: 16px;
  border-bottom: dotted 1px #45a6e8;
}
.ninki-cat li a {
  display: flex;
  justify-content: space-between;
}

/* 入会特典 */
.membership-benefits-sp {
  border: solid 1px #45a6e8;
  background-color: #f7fdff;
  margin: .5em 0;
  text-align: right;
}
.membership-benefits-sp-title {
  color: #45a6e8;
  font-size: medium;
  padding: .5em;
  text-align: left;
}
.membership-benefits-sp-enter {
  padding: .5em;
  margin: .25em;
  background-color: #ff9933;
  color: #fff;
  border-radius: 4px;
  font-size: small;
  display: inline-block;
}
/******************************* SP TOPページ */


/* 商品詳細ページ *******************************/
#iteminfo-table {
  border-collapse: collapse;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  margin: 1rem 0 3rem !important;
}
#iteminfo-table td, #iteminfo-table th {
  padding-top: .6rem;
  padding-bottom: .6rem;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid #dee2e6;
  background-color: transparent;
  text-align: inherit;
}
#iteminfo-table th { white-space: nowrap; }
#contents h2 { height: auto; }

/******************************* 商品詳細ページ */


/* 枠付きイメージコンテナ *******************************/
.img-ctn {
  box-sizing: border-box;
  border: solid 8px #ddd;
}
.img-ctn-figcaption { margin-bottom: .5em; }

/******************************* 枠付きイメージコンテナ */