@charset "utf-8";

/** --------------------------------------------------------------------------------
 * elements
 */
body {
  line-height: 1.0;
  color: #0f0a06;
  background-color: #fff6ee;
  font-family: ArialMT,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",メイリオ,sans-serif;
  font-size: 13px;
  -webkit-text-size-adjust: none; /* フォントサイズ自動調整なし */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

a:link,
a:visited {
  color: #333;
  text-decoration: none;
}

a.item:link,
a.item:visited,
#category_select dd a {
  color: #0f0a06;
}

a:hover,
a:active,
a.item:hover,
a.item:active {
  color: #f00;
}

#contents a {
  text-decoration: underline;
}

#contents .button a,
#contents .delete a,
#contents .tab a,
#contents a.item,
#contents .item a,
#contents .more a,
#contents .top a,
#contents .favorite a,
#contents .returncart a,
#contents .fix a,
#contents nav a,
#contents #category_select a,
#contents #mypage a,
#contents .titlelink a,
#contents a[href^="mailto"],
#contents .fixed a,
#contents a.productname,
#contents #category_relate a,
#contents .pager a {
  text-decoration: none;
}

img {
  vertical-align: top;
}

/** --------------------------------------------------------------------------------
 * header
 */
header {
  position: relative;
  background-color: #fff6ee;
}

header div#logo:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  clear: both;
}

header div#logo h1 {
  float: left;
  padding: 5px;
}

header div#logo>div,
header div#logo>p {
  margin-right: 10px;
  float: right;
}

header div#logo>p a {
  margin-top: 7px;
  padding: 5px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #e28409;
  display: block;
  color: #300;
  background-color: #fc930a;
}

header div#logo>p a:hover,
header div#logo>p a:active {
  color: #300;
  background-color: #fcad46;
}

header div#logo>div>p {
  padding-right: 10px;
  text-align: right;
}

header div#logo>div>p:first-child {
  margin-top: 6px;
}

header div#logo>div>p span {
  margin: 0 4px;
  color: #fe256c;
}

/** --------------------------------------------------------------------------------
 * globalnav
 */
nav.globalnav {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid #503f32;
  background-color: #f7c41f;
}

header nav.globalnav {
}

nav.globalnav ul {
  padding-left: 0;
}

nav.globalnav ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  clear: both;
}

nav.globalnav ul li {
  border-right: 1px solid #deb01c;
  float: left;
  width: 25%;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

nav.globalnav ul li:last-of-type {
  border-right: none;
}

nav.globalnav ul li:hover,
nav.globalnav ul li:active {
  background: -moz-linear-gradient(top, #271a0f, #bda896);
  background: -webkit-gradient(linear, left top, left bottom, from(#271a0f), to(#bda896));
  background: gradient(linear, left top, left bottom, from(#271a0f), to(#bda896));
}

nav.globalnav ul li a {
  display: block;
}

nav.globalnav ul li img {
  width: 60px;
  padding: 5px 0;
}

/** ----------------------------------------
 * 商品検索パネル
 */
#switchBody_headersearchform,
#switchBody_footersearchform {
  margin: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  background-color: #fff;
  -moz-box-shadow: 0 1px 3px #000;
  -webkit-box-shadow: 0 1px 3px #000;
  box-shadow: 0 1px 3px #000;
}

#switchBody_headersearchform form,
#switchBody_footersearchform form {
  margin: 0;
  border: none;
  background-color: transparent;
}

/** --------------------------------------------------------------------------------
 * footer
 */
footer {
  margin-top: 10px;
  position: relative;
}

/** ----------------------------------------
 * ページのトップへ戻る
 */
p#goToTop {
  background-color: #e0e05a;
  text-align: center;
}

p#goToTop,
p#goToTop a {
  color: #333;
}

p#goToTop a {
  padding: 14px 0;
  display: block;
  /*text-shadow: 0 1px 1px #555;*/
}

p#goToTop a:after {
  margin-top: -14px;
  padding: 14px;
  border-left: 1px solid #fff;
  content: "↑";
  float: right;
  text-align: center;
}

/** ----------------------------------------
 * flickLinks
 */
/** ----------------------------------------
 * テキストメニュー
 */
footer nav:not(.globalnav) {
  padding: 10px;
  -moz-box-shadow: inset 0 -1px 2px #888;
  -webkit-box-shadow: inset 0 -1px 2px #888;
  box-shadow: inset 0 -1px 2px #888;
  background-color: #fff6ee;
  font-size: 10px;
}

footer nav:not(.globalnav) ul {
  padding: 0;
  list-style-type: none;
}

footer nav:not(.globalnav) ul:after {
  display: block;
  clear: both;
  content: "";
}

footer nav:not(.globalnav) ul li {
  float: left;
  width: 50%;
}

footer nav:not(.globalnav) ul li a {
  padding: 15px 0 15px 32px;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #999;
  display: block;
  background: #fff url("../../images/smartphone/footernav/faq.png") no-repeat 10px 50%;
  text-decoration: none;
}

footer nav:not(.globalnav) ul li:nth-child(even) a {
  border-right-width: 1px;
}

footer nav:not(.globalnav) ul li:first-child a {
  -moz-border-top-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  border-top-left-radius: 5px;
}

footer nav:not(.globalnav) ul li:nth-child(2) a {
  -moz-border-top-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  border-top-right-radius: 5px;
}

footer nav:not(.globalnav) ul li:nth-last-child(2) a {
  border-bottom-width: 1px;
  -moz-border-bottom-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

footer nav:not(.globalnav) ul li:last-child a {
  border-bottom-width: 1px;
  -moz-border-bottom-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

footer nav:not(.globalnav) ul li:nth-child(1) a {
  background-image: url("../../images/smartphone/footernav/top.png");
}

footer nav:not(.globalnav) ul li:nth-child(2) a {
  background-image: url("../../images/smartphone/footernav/mail.png");
}

footer nav:not(.globalnav) ul li:nth-child(3) a {
  background-image: url("../../images/smartphone/footernav/law.png");
}

footer nav:not(.globalnav) ul li:nth-child(4) a {
  background-image: url("../../images/smartphone/footernav/inquiry.png");
}

footer nav:not(.globalnav) ul li:nth-child(5) a {
  background-image: url("../../images/smartphone/footernav/info.png");
}

footer nav:not(.globalnav) ul li:nth-child(7) a {
  background-image: url("../../images/smartphone/footernav/flow.png");
}

footer nav:not(.globalnav) ul li:nth-child(8) a {
  background-image: url("../../images/smartphone/footernav/sendback.png");
}

footer nav:not(.globalnav) ul li:nth-child(9) a {
  background-image: url("../../images/smartphone/footernav/payment.png");
}

footer nav:not(.globalnav) ul li:nth-child(10) a {
  background-image: url("../../images/smartphone/footernav/agreement.png");
}

footer nav:not(.globalnav) ul li:nth-child(11) a {
  background-image: url("../../images/smartphone/footernav/privacy.png");
}

footer nav:not(.globalnav) ul li:nth-child(12) a {
  background-image: url("../../images/smartphone/footernav/recommend.png");
}

footer>ul {
  padding: 10px;
  background-color: #ccc;
  -moz-box-shadow: inset 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888;
  box-shadow: inset 0 1px 2px #888;
  list-style-type: none;
}

footer>ul li a {
  padding: 14px 10px;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #888;
  display: block;
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -moz-linear-gradient(top, #fff, #eee);
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -webkit-linear-gradient(top, #fff, #eee);
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, linear-gradient(top, #fff, #eee);
}

footer>ul li:first-child a {
  border-radius: 5px 5px 0 0;
}

footer>ul li:last-child a {
  border-bottom-width: 1px;
  border-radius: 0 0 5px 5px;
}

/** ----------------------------------------
 * トップバナー
 */
.top_banner {
  margin: 10px -10px;
}

/** ----------------------------------------
 * コピーライト
 */
footer div#copyright {
  padding: 10px;
  position: relative;
  z-index: 20;
  color: #0f0a06;
  background-color: #fff6ee;
  text-align: center;
}

/** --------------------------------------------------------------------------------
 * contents
 */
div#contents {
  padding: 0 10px;
  line-height: 1.6;
  text-shadow: 0 1px 0 #fff;
}

div#contents>section>p+p:not(.more) {
  margin-top: 15px;
}

/** ----------------------------------------
 * 開閉領域の初期設定
 */
*[id^="switchBody_"] {
  display: none;
}

/** ----------------------------------------
 * 見出し
 */
.title,
.secondtitle,
.thirdtitle {
  margin: 10px -10px;
  padding: 10px;
  position: relative;
  color: #fff;
  text-shadow: none;
  font-size: 15px;
}

#contents .title:first-child {
  margin-top: 0;
}

.title+.title,
.title+.secondtitle,
.title+.thirdtitle,
.secondtitle+.title,
.secondtitle+.secondtitle,
.secondtitle+.thirdtitle,
.thirdtitle+.title,
.thirdtitle+.secondtitle,
.thirdtitle+.thirdtitle,
.titlelink+.title,
.titlelink+.secondtitle,
.titlelink+.thirdtitle {
  margin-top: -10px;
}

.title {
  padding-left: 10px;
  z-index: 12;
  background-color: #deb01c;
}

.secondtitle {
  padding-left: 28px !important;
  z-index: 11;
  background: url("../../images/smartphone/common/tags_2.png") no-repeat 10px 50% #f7d052;
}

.thirdtitle {
  padding-left: 28px !important;
  z-index: 10;
  background: url("../../images/smartphone/common/arrow_ss.png") no-repeat 10px 50%, -moz-linear-gradient(top, #bbb, #888);
  background: url("../../images/smartphone/common/arrow_ss.png") no-repeat 10px 50%, -webkit-gradient(linear, left top, left bottom, from(#bbb), to(#888));
  background: url("../../images/smartphone/common/arrow_ss.png") no-repeat 10px 50%, gradient(linear, left top, left bottom, from(#bbb), to(#888));
}

/* 商品名 */
.productname {
  margin: 0 -10px 10px;
  padding: 10px;
  display: block;
  border: solid #999;
  border-width: 1px 0;
  background: -moz-linear-gradient(top, #fff, #ddd);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd));
  background: gradient(linear, left top, left bottom, from(#fff), to(#ddd));
}

a.productname {
  padding-right: 27px;
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -moz-linear-gradient(top, #fff, #ddd);
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ddd));
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, gradient(linear, left top, left bottom, from(#fff), to(#ddd));
}

.title+.productname,
.secondtitle+.productname,
.thirdtitle+.productname {
  margin-top: -10px;
}

/* タイトルリンク */
.titlelink {
  position: relative;
}

.titlelink a {
  padding: 2px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #fff;
  position: absolute;
  top: -46px;
  right: 0;
  z-index: 40;
  color: #333;
  background: -moz-linear-gradient(top, #fcc, #f9c);
  background: -webkit-gradient(linear, left top, left bottom, from(#fcc), to(#f9c));
  background: gradient(linear, left top, left bottom, from(#fcc), to(#f9c));
  text-shadow: none;
}

.titlelink a:hover,
.titlelink a:active {
  background: -moz-linear-gradient(top, #f9c, #fcc);
  background: -webkit-gradient(linear, left top, left bottom, from(#f9c), to(#fcc));
  background: gradient(linear, left top, left bottom, from(#f9c), to(#fcc));
}

.titlelink form {
  margin: 0;
  padding: 0;
  border: none;
  position: absolute;
  top: -46px;
  right: 0;
  z-index: 40;
  background-color: transparent;
}

.titlelink form p input {
  margin: 0 !important;
  padding: 2px 10px !important;
  -moz-border-radius: 5px !important;
  -webkit-border-radius: 5px !important;
  border-radius: 5px !important;
}

/** ----------------------------------------
 * リンク
 */
a[href^="mailto"] {
  margin: 10px 20px;
  padding: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  display: block;
  background: -moz-linear-gradient(top, #fff, #FCC);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#FCC));
  background: gradient(linear, left top, left bottom, from(#fff), to(#FCC));
  text-align: center;
}

a[href^="mailto"] span {
  color: #f90;
}

a[href^="mailto"] span:before {
  content: "【";
}

a[href^="mailto"] span:after {
  content: "】";
}

a[href^="mailto"] img.pictgram {
  margin-left: 7px;
}

/** ----------------------------------------
 * 文章(標準)
 */
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.font-l {
  font-size: 16px;
}

.font-s {
  font-size: 10px;
}

.themecolor,
strong,
em,
.total {
  color: #f00;
}

.pt {
  margin: 0 0.5em;
  color: #999;
}

.total {
  font-size: 16px;
}

/** ----------------------------------------
 * 箱
 */
.box {
  margin: 10px 0;
  padding: 15px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  background-color: #fff;
}

/** ----------------------------------------
 * 注意書き
 */
p.notes {
  margin-top: 2px;
  padding-left: 1em;
  color: #633;
  display: block;
  font-size: 11px;
  text-indent: -1em;
}

p.notes:before {
  content: "※";
}

/** ----------------------------------------
 * テーブル(標準)
 */
table {
  margin: 10px 0;
  border-collapse: collapse;
  width: 100%;
  background-color: #fff;
  font-size: 11px;
}

table th,
table td {
  border: 1px solid #999;
  padding: 5px;
}

table th {
  background-color: #eee;
  vertical-align: middle;
  font-weight: normal;
  text-align: center;
  empty-cells: show;
  white-space: nowrap;
}

table td {
  background-color: #f6f6f6;
  vertical-align: top;
  text-align: left;
  empty-cells: show;
}

/** ----------------------------------------
 * エラー
 */
section#errorpage .title {
  color: #eaff35;
  background: -moz-linear-gradient(top, #666, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000));
  background: gradient(linear, left top, left bottom, from(#666), to(#000));
}

section#errorpage p {
  margin: 10px;
}

section#errorpage div#servererror {
  margin: 10px;
  padding: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  color: #f60;
  background-color: #fcffdc;
}

/** ----------------------------------------
 * もっと見る系リンク
 */
.more,
.top,
.favorite,
.returncart,
.fix {
  margin: 10px -10px 0;
  padding: 10px 30px;
  background-color: #fff;
  -moz-box-shadow: inset 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888;
  box-shadow: inset 1px 2px #888;
  font-size: 15px;
}

form.fix {
  margin-bottom: -10px;
  padding-bottom: 20px;
  border: 0 none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.top,
.favorite {
  margin-bottom: -10px;
}

#product .favorite {
  margin: 0 -10px;
  background-color: #e5ddd6;
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 1px 2px #888;
}

#contents>section div.more:last-child {
  margin-bottom: -10px;
}

section#new_arrival .more,
nav.tab+div.tabBody .more {
  margin: 0 0 -10px;
}

.more p,
.top p,
.favorite p,
.returncart p {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #e28409;
  background-color: #fc930a;
  text-align: center;
  text-shadow: none;
}

.more p:hover,
.more p:active,
.top p:hover,
.top p:active,
.favorite p:hover,
.favorite p:active,
.returncart p:hover,
.returncart p:active {
  background-color: #fcad46;
}

.more p a,
.top p a,
.favorite p a,
.returncart p a {
  color: #300;
  padding: 10px 25px;
  display: block;
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%;
}

/* キャンペーンタブ内容 */
.campaign .more {
  margin-top: 0;
  background-color: #ddd;
}

/** ----------------------------------------
 * TOP用フリックスライドリンク
 */
#billboard {
  margin: 10px -10px;
}

#billboard ul {
  padding-left: 0;
  list-style-type: none;
}

/** ----------------------------------------
 * バナー
 */
.banner {
  margin: 10px -10px 0;
  padding: 10px 0;
  background-color: #fff;
  -moz-box-shadow: inset 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888;
  box-shadow: inset 1px 2px #888;
  text-align: center;
}

.banner p a {
  display: inline-block;
}

/** ----------------------------------------
 * 商品写真
 */
.sub img {
  position: relative;
  z-index: 5;
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 0 1px 2px #888;
}

/* オススメ商品だけ影なし */
section#recommend .sub img {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/** ----------------------------------------
 * NEW表示
 */
a.item div[class^="new"]:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  content: url(../../images/smartphone/common/hot.png);
}

.separate a.item div[class^="new"]:before {
  content: url(../../images/smartphone/common/new_roundedcorner.png);
}

/** ----------------------------------------
 * 商品一覧（共通）
 */

a.item {
  display: block;
  background: -moz-linear-gradient(top, #fff, #eee);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: gradient(linear, left top, left bottom, from(#fff), to(#eee));
}

/* 標準 */
.title+.item {
  margin-top: -10px;
}

.list {
  margin-top: -10px
}

.list>a.item {
  padding: 10px;
  position: relative;
  border-bottom: 1px solid #999;
}

.list>a.item:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  clear: both;
}

.list>a.item div.sub {
  margin-right: 10px;
  float: left;
}

.list>a.item div.main {
  overflow: hidden;
}

/* キャンペーン期間 */
.list dl.campaign_period {
  font-size: 11px;
  text-align: center;
}

.list dl.campaign_period dt {
  margin: 5px 0;
  padding: 0 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background-color: #ccc;
}

.list dl.campaign_period dd {
  padding-left: 0;
}

/* 分離タイプ */
.separate>div {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse:border-collapse;
  border-spacing: 10px;
}

.separate a.item {
  margin: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  position: relative;
  display: block;
  text-align: center;
}

.separate>a.item {
  margin-bottom: 0;
}

.separate>div>a.item {
  display: table-cell;
  vertical-align: top;
}

.separate a.item .sub {
  padding: 10px;
  position: relative;
}

.separate a.item .main {
  padding: 0 10px 10px;
  text-align: left;
}

/* テーブル（小）タイプ */
.table_s {
  margin-bottom: 10px;
  display: table;
  border-collapse: collapse;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.table_s>div {
  display: table-row;
}

.table_s a.item {
  display: table-cell;
  border: 1px solid #999;
  width: 50%;
  vertical-align: middle;
}

.table_s a.item .sub,
.table_s a.item .main {
  display: table-cell;
  vertical-align: middle;
}

.table_s a.item .sub {
  padding-right: 5px;
}

.table_s a.item .main {
  padding-right: 15px;
  background: url("../../images/smartphone/common/arrow_s.png") no-repeat 100% 50%;
  font-size: 10px;
}

/* テーブル（通常）タイプ */
.table {
  margin-top: -10px;
}

.table>div:not(.more) {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.table>div a.item {
  border-style: solid;
  border-color: #999;
  border-width: 0 1px 1px 0;
  display: table-cell;
  vertical-align: top;
}

.table>div a.item:last-of-type {
  border-right: none;
}

.table>div .sub {
  padding: 10px;
  position: relative;
  text-align: center;
}

.table>div .sub>.campaign_period {
  margin: -10px -10px 10px;
  padding: 3px 10px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #999;
  font-size: 10px;
  display: block;
  background: -moz-linear-gradient(top, #ccc, #eee);
  background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#eee));
  background: gradient(linear, left top, left bottom, from(#ccc), to(#eee));
}

.table>div a.item .main {
  padding: 0 10px 10px;
}

/* 商品ステータス */
ul.product_status,
div.campaign ul.product_status {
  text-align: center !important;
  text-shadow: none;
}

.list.product ul.product_status {
  text-align: left!important;
}

ul.product_status {
  padding-left: 0;
}

section#product ul.product_status {
  margin-bottom: 13px;
}

div.list ul.product_status {
  text-align: left;
}

ul.product_status li {
  margin-top: 3px;
  padding: 1px 10px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #999;
  display: inline-block;
  color: #666;
  background-color: #F99;
  font-size: 10px;
}

/** ----------------------------------------
 * カテゴリ選択
 */
section#category_select {
  margin-top: 10px;
}

section#category_select dl {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  background-color: #f4e6b9;
}

section#category_select dl dd ul li a {
  padding: 17px 10px;
}

section#category_select dl dt,
section#category_select dl dd ul li:first-child a {
  border-top: 1px solid #999;
}

section#category_select dl dt {
  padding: 17px 10px 17px 50px;
  color: #000;
  background: url("../../images/smartphone/common/category.png") no-repeat 10px 50%,
        url("../../images/smartphone/common/plus.png") no-repeat 100% 50%;
}

section#category_select dl dt.opened {
  background-image: url("../../images/smartphone/common/category.png"),
          url("../../images/smartphone/common/minus.png");
}

section#category_select dl dt:first-child {
  -moz-border-radius: 4px 4px 0 0;
  -webkit-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}

section#category_select dl dt.opened {
  color: #F06;
}

section#category_select dl dt:first-child {
  border-top: none;
}

section#category_select dl dd ul li a {
  padding-right: 27px;
  border-top: 1px dotted #999;
  display: block;
  background: #f9f4f0 url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%;
}

section#category_select dl dd ul li a:hover,
section#category_select dl dd ul li a:active {
  background-color: #e0dbd8;
}

section#category_select dl dd:last-child ul li:last-child a {
  -moz-border-radius: 0 0 4px 4px;
  -webkit-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

section#category_select dl dd,
section#category_select dl dd ul {
  padding-left: 0;
}

section#category_select dl dd ul {
  list-style-type: none;
}

/** ----------------------------------------
 * 新着商品
 */
section#new_arrival {
  margin: 0 -10px;
}

section#new_arrival .title:nth-of-type(1) {
  margin-right: 0;
  margin-left: 0;
}

section#new_arrival {
  margin: 0 -10px;
}

/** ----------------------------------------
 * お知らせ
 */
section#info div.list {
  margin-top: 10px;
}

section#info div.list a.item,
section#info p.body {
  margin-bottom: 5px;
  padding: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  display: block;
  background-color: #fff;
}

section#info h2 {
  padding-left: 20px;
  background: url("../../images/smartphone/common/info.png") no-repeat 0 0;
  line-height: 16px;
}

section#info p.date {
  font-size: 11px;
  text-align: right;
}

section#info a p.date {
  color: #0f0a06;
}

section#info>p.date {
  margin-left: 5px;
  margin-bottom: -20px;
  padding: 3px 5px;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  display: table;
  color: #fff;
  background-color: #999;
  text-align: right;
  text-shadow: none;
}

/** ----------------------------------------
 * タブで表示切替
 */
nav.tab ul {
  position: relative;
  margin: 10px -10px 10px;
  z-index: 10;
  padding-left: 0;
  background-color: #e5ddd6;
  font-size: 15px;
  font-weight: bold;
  list-style-type: none;
}

nav.tab ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  line-height: 0;
  font-size: 0;
  clear: both;
}

nav.tab ul li {
  float: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  text-shadow: none;
}

nav.tab ul li a {
  padding: 7px 10px;
  display: block;
}

nav.tab ul li:not(.active) a {
  color: #fff;
  margin: 6px 4px 0;
}

nav.tab ul li.active a,
nav.tab ul li:not(.active) a:hover,
nav.tab ul li:not(.active) a:active {
  margin: 5px 3px 0;
}

nav.tab ul li.active a,
nav.tab ul li a:hover,
nav.tab ul li a:active {
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  border: solid #999;
  border-width: 1px 1px 0 1px;
  color: #000;
  background: -moz-linear-gradient(top, #bbb, #ddd);
  background: -webkit-gradient(linear, left top, left bottom, from(#bbb), to(#ddd));
  background: gradient(linear, left top, left bottom, from(#bbb), to(#ddd));
}

nav.tab ul li.active.campaign a,
nav.tab ul li:first-child a:hover,
nav.tab ul li:first-child a:active {
  background: -moz-linear-gradient(top, #ddd, #fff);
  background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff));
  background: gradient(linear, left top, left bottom, from(#eee), to(#fff));
}

nav.tab+div.tabBody {
  margin: 10px -10px 0;
}

div.tabBody div[id^="body"] {
  display: none;
}

/** ----------------------------------------
 * カートブロック
 */
section#cart_info {
  padding: 10px;
  background-color: #e5ddd6;
  -moz-box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  text-shadow: 0 1px 0 #fff;
}

section#cart_info h1,
section#cart_info dl {
  border: 1px solid #999;
}

section#cart_info h1 {
  padding: 10px;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 10;
  color: #fff;
  background-color: #c9c951;
  font-size: 14px;
  text-shadow: none;
  text-align: center;
}

section#cart_info dl {
  padding: 10px 10px 5px;
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  border-top: 0;
  background-color: #fff;
}

section#cart_info dl dt {
  margin: 0 10px 5px 0;
  padding: 5px 30px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  clear: both;
  float: left;
  color: #000;
  background-color: #ddd;
}

section#cart_info dl dd {
  margin-bottom: 5px;
  padding: 6px 0;
  overflow: hidden;
}

section#cart_info dl dd:last-child {
  color: #f00;
}

/** --------------------------------------------------------------------------------
 * 基本フォーム
 */
form,
.form {
  margin: 10px 0;
  padding: 15px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  background-color: #fff;
  font-size: 14px;
  text-shadow: none;
}

.form {
  text-align: center;
}

.form dl,
.form>p {
  text-align: left;
}

.form>form,
.form>form>p {
  display: inline-block;
}

.form>form {
  margin: 15px 10px;
  padding: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  border: none;
  background-color: transparent;
}

#contents [id^="body"]>form {
  margin-right: 10px;
  margin-left: 10px;
}

form>.title:first-child,
form>.secondtitle:first-child,
form>.thirdtitle:first-child {
  margin: -15px -10px 10px !important;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

form dl dt,
.form dl dt {
  margin-bottom: 5px;
  padding-left: 6px;
  border-left: 4px solid #f06;
  color: #f06;
  line-height: 1.0;
  font-size: 15px;
  font-weight: bold;
}

/* 横並びの場合 */
form dl:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0;
  line-height: 0;
  font-size: 0;
  clear: both;
}

form dl dt.compact {
  margin-top: 2px;
  float: left;
  width: 5em;
}

form dl dt.compact+dd {
  line-height: 1.0;
  overflow: hidden;
}

form dl dt.compact+dd * {
  margin: 0;
}


form dl dd,
.form dl dd {
  margin-bottom: 15px;
  padding-left: 10px;
}

/* お問い合わせ：注文履歴へ */
form dl dd ul {
  margin: 10px 0;
  padding-left: 0;
  list-style-type: none;
}

form dl dd ul li a {
  padding: 5px 25px 5px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: solid #999;
  border-width: 1px 1px 0 1px;
  display: block;
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -moz-linear-gradient(top, #fff, #eee);
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, gradient(linear, left top, left bottom, from(#fff), to(#eee));
}

form dl dd ul li:first-child a {
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

form dl dd ul li:last-child a {
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  border-bottom-width: 1px;
}

form dl dd ul li a:hover,
form dl dd ul li a:active {
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -moz-linear-gradient(top, #eee, #fff);
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff));
  background: url("../../images/smartphone/common/more.png") no-repeat 100% 50%, gradient(linear, left top, left bottom, from(#eee), to(#fff));
}

/* ショッピングカート */
section#cart form a.productname+p {
  margin-right: 10px;
  float: left;
}

section#cart form dl,
section#cart form a.productname+p+div {
  overflow: hidden;
}

section#cart form dl dt {
  margin-right: 10px;
  margin-bottom: 5px;
  padding-left: 0;
  border: 0 none;
  clear: both;
  float: left;
  line-height: 1.6;
}

section#cart form dl dd {
  margin-bottom: 5px;
  display: block;
  line-height: 1.6;
  overflow: hidden;
  font-size: 15px;
}

section#cart form p.delete {
  clear: both;
}

/* キャンペーン内容 */
section#cart form .campaign_product {
  margin-bottom: 10px;
}

section#cart form .campaign_product:not(:first-of-type) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dotted #999;
}

section#cart form .campaign_product span {
  margin-right: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  display: inline-block;
  min-width: 1.5em;
  color: #fff;
  background-color: #f06;
  text-align: center;
}

section#cart form dl+dl {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dotted #999;
}

/* 入力に関する注意書き */
form dd p small {
  margin-top: 2px;
  padding-left: 1em;
  color: #633;
  display: block;
  font-size: 11px;
  text-indent: -1em;
}

form dd p small:before {
  content: "※";
}

input,
select,
textarea {
  potition: relative;
}

select {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  position: relative;
  min-width: 60%;
  max-width: 100%;
  line-height: 1.6;
}

select,
input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
textare {
  margin-top: 3px;
  margin-bottom: 3px;
}

.button {
  margin: 10px 30px;
}

/* フォームsubmitボタンの配置*/
section>form>p:last-child,
section>.form>p:last-child,
#switchBody_headersearchform form>p:last-child,
#switchBody_footersearchform form>p:last-child,
#searchform>p:last-child,
#switchBody_variation form>p:last-child {
  margin-top: 15px;
  text-align: center;
}

.button a,
input[type="submit"],
button[type="submit"] {
  margin: 0 auto;
  padding: 10px 70px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  color: #333;
  background: -moz-linear-gradient(top, #fcc, #f99);
  background: -webkit-gradient(linear, left top, left bottom, from(#fcc), to(#f99));
  background: gradient(linear, left top, left bottom, from(#fcc), to(#f99));
  -moz-box-shadow: inset 0 0 3px #fff,
                   4px 4px 0 #ddd,
                   -4px -4px 0 #ddd,
                   -4px 4px 0 #ddd,
                   4px -4px 0 #ddd;
  -webkit-box-shadow: inset 0 0 3px #fff,
                    4px 4px 0 #ddd,
                    -4px -4px 0 #ddd,
                    -4px 4px 0 #ddd,
                    4px -4px 0 #ddd;
  box-shadow: inset 0 0 3px #fff,
              4px 4px 0 #ddd,
              -4px -4px 0 #ddd,
              -4px 4px 0 #ddd,
              4px -4px 0 #ddd;
  font-size: 15px;
  text-shadow: 0 1px 1px #fff;
  text-align: center;
}

dl dd input[type="submit"],
dl dd button[type="submit"] {
  font-size: 12px;
}

.button a {
  padding-right: 10px;
  padding-left: 10px;
  display: block;
}

form button.search[type="submit"]:before {
  margin-right: 5px;
  content: url("../../images/smartphone/common/search_2.png");
  vertical-align: middle;
}

form button.cart[type="submit"]:before {
  margin-right: 5px;
  content: url("../../images/smartphone/common/cart.png");
  vertical-align: middle;
}

.button a:hover,
.button a:active,
input[type="submit"]:hover,
input[type="submit"]:active,
button[type="submit"]:hover,
button[type="submit"]:active {
  background: -moz-linear-gradient(top, #f99, #fcc);
  background: -webkit-gradient(linear, left top, left bottom, from(#f99), to(#fcc));
  background: gradient(linear, left top, left bottom, from(#f99), to(#fcc));
}

.buttons p {
  margin-bottom: 15px;
}

.buttons p:last-child {
  margin-bottom: 0;
}

input[type="button"],
input[type="submit"] {
  padding-right: 25px;
  padding-left: 25px
}

input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-shadow: inset 0 1px 2px #bbb;
  -webkit-box-shadow: inset 0 1px 2px #bbb;
  box-shadow: inset 0 1px 2px #bbb;
}

input[type="text"],
input[type="search"],
input[type="email"] {
  width: 100%;
}

input[type="tel"],
input[type="number"] {
  margin-right: 5px;
  width: 30%;
}

input[type="password"] {
  width: 40%;
}

textarea {
  width: 100%;
  height: 4.5em;
}

/* 削除・再計算ボタン等 */
.delete,
.button_simple {
  margin: 10px 0;
  text-align: center;
  font-size: 15px;
}

.delete a,
.button_simple input[type="submit"],
form dl dd input[type="submit"],
form dl dd button[type="submit"] {
  margin: 0 5px;
  padding: 5px 10px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #999;
  display: inline-block;
  color: #0f0a06;
  background: -moz-linear-gradient(top,
                   #eee,
                   #ddd 50%,
                   #bbb 50%,
                   #ddd);
  background: -webkit-gradient(linear, left top,
                 left bottom, 
                 from(#eee),
                 color-stop(0.5, #ddd),
                 color-stop(0.5, #bbb),
                 to(#ddd));
  background: gradient(linear, left top,
                 left bottom, 
                 from(#eee),
                 color-stop(0.5, #ddd),
                 color-stop(0.5, #bbb),
                 to(#ddd));
  -moz-box-shadow: inset 0 1px 0 #fff;
  -webkit-box-shadow: inset 0 1px 0 #fff;
  box-shadow: inset 0 1px 0 #fff;
  text-shadow: 0 1px 1px #fff;
}

.delete a,
.button_simple input[type="submit"] {
  padding-right: 40px;
  padding-left: 40px;
}

.button_simple input[type="submit"] {
  padding-top: 10px;
  padding-bottom: 10px;
}

.delete a:hover,
.delete a:active,
.button_simple input[type="submit"]:hover,
.button_simple input[type="submit"]:active,
form dl dd input[type="submit"]:hover,
form dl dd input[type="submit"]:active,
form dl dd button[type="submit"]:hover,
form dl dd button[type="submit"]:active {
  background: -moz-linear-gradient(top,
                   #ccc,
                   #bbb 50%,
                   #999 50%,
                   #aaa);
  background: -webkit-gradient(linear, left top,
                 left bottom, 
                 from(#ccc),
                 color-stop(0.5, #bbb),
                 color-stop(0.5, #999),
                 to(#aaa));
  background: gradient(linear, left top,
                 left bottom, 
                 from(#ccc),
                 color-stop(0.5, #bbb),
                 color-stop(0.5, #999),
                 to(#aaa));
}

/* 規約に同意するチェック */
p.check_agreement {
  margin-top: 10px;
  position: relative;
}

p.check_agreement #check {
  position: relative;
  top: 0;
  left: 15px;
}

p.check_agreement #check+label {
  margin: -2em 0 10px 0;
  padding: 10px 10px 10px 40px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  display: block;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background: -moz-linear-gradient(top,
                   #eee,
                   #ddd);
  background: -webkit-gradient(linear, left top,
                 left bottom, 
                 from(#eee),
                 to(#ddd));
  background: gradient(linear, left top,
                 left bottom, 
                 from(#eee),
                 to(#ddd));
  text-shadow: 0 1px 0 #fff;
}

p.check_agreement #check:checked+label {
  background: #ccc;
}

/** --------------------------------------------------------------------------------
 * flash_message
 * message
 */
.flash_message,
.message {
  margin: 10px 0;
  padding: 20px 10px 20px 36px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  color: #fe256c;
  background: #fff url("../../images/smartphone/common/balloon.png") no-repeat 10px 50%;
}

.situation dt {
  width: 120px;  
  float: left;  
  clear: both;  
}

.situation dd {
  padding-left: 120px;  
  font-weight: bold
}

/** --------------------------------------------------------------------------------
 * 固定配置リンク
 */
.fixed {
  position: fixed;
  top: 0;
  left: 10px;
  z-index: 2000;
  font-size: 16px;
}

.fixed a {
  padding: 5px 30px;
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  display: block;
  color: #fff;
  background: -moz-linear-gradient(top, #fcc, #f06);
  background: -webkit-gradient(linear, left top, left bottom, from(#fcc), to(#f06));
  background: gradient(linear, left top, left bottom, from(#fcc), to(#f06));
  -moz-box-shadow: 0 1px 3px #888;
  -webkit-box-shadow: 0 1px 3px #888;
  box-shadow: 0 1px 3px #888;
  text-shadow: 0 1px 1px #555;
}

.fixed a:after {
  margin-left: 10px;
  content: url("../../images/smartphone/common/fixed.png");
  vertical-align: -4px;
}

.fixed a:hover,
.fixed a:active {
  background: -moz-linear-gradient(top, #f06, #fcc);
  background: -webkit-gradient(linear, left top, left bottom, from(#f06), to(#fcc));
  background: gradient(linear, left top, left bottom, from(#f06), to(#fcc));
}

/** --------------------------------------------------------------------------------
 * product/show
 */
/** ----------------------------------------
 * テーブル
 */
section#product table {
  margin: 10px 0;
  border-collapse: collapse;
  width: 100%;
  background-color: #fff;
  font-size: 11px;
}

section#product th,
section#product td {
	border: 1px solid #999;
  padding: 5px;
}

section#product th {
  background-color: #eee;
  vertical-align: middle;
  font-weight: normal;
  text-align: center;
  empty-cells: show;
  white-space: pre;
}

section#product td {
  background-color: #f6f6f6;
  vertical-align: top;
  text-align: left;
  empty-cells: show;
}

/* 価格＆ポイントテーブル */
section#product table.price {
  font-size: 13px;
}

section#product table.price th {
  width: 7em;
  color: #666;
  background: -moz-linear-gradient(top, #FCC, #F99);
  background: -webkit-gradient(linear, left top, left bottom, from(#fcc), to(#f99));
  background: gradient(linear, left top, left bottom, from(#fcc), to(#f99));
  font-weight: bold;
  text-shadow: none;
}

section#product table.price td.yen {
  color: #f00;
  font-size: 18px;
  font-weight: bold;
}

section#product form {
  margin-right: 0;
  margin-left: 0;
  background-color: #f6f6f6;
}

.title+table.price,
.secondtitle+table.price,
.thiedtitle+table.price {
  margin-top: 0;
}

/** ----------------------------------------
 * 商品概要
 */
section#product div.comment {
  margin: 0 -10px;
  padding: 15px 10px;
  position: relative;
  color: #333;
  background-color: #fff;
  -moz-box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  box-shadow: inset 0 1px 2px #888, 0 1px 2px #888;
  text-shadow: none;
}

/** ----------------------------------------
 * 品切れ中・予約販売
 */
div.outofstock,
div.reservation {
  margin: 10px 0;
  padding: 20px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  background-color: #d9d9d9;
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 0 1px 2px #888;
  text-align: center;
  font-size: 17px;
}

/** ----------------------------------------
 * 同梱不可
 */
div.bundle {
  margin: 0 -10px 15px;
  padding: 10px;
  background-color: #ccc;
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 0 1px 2px #888;
}

div.bundle h1,
div.bundle p {
  border: 1px solid #999;
}

div.bundle h2 {
  padding: 10px;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  position: relative;
  z-index: 10;
  color: #fff;
  background: -moz-linear-gradient(top, #999, #000);
  background: -webkit-gradient(linear, left top, left bottom, from(#999), to(#000));
  background: gradient(linear, left top, left bottom, from(#999), to(#000));
  font-size: 15px;
  -moz-box-shadow: 0 0 2px #888;
  -webkit-box-shadow: 0 0 2px #888;
  box-shadow: 0 0 2px #888;
  text-shadow: 0 1px 1px #555;
  text-align: center;
}

div.bundle p {
  padding: 10px;
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  background-color: #fff;
  font-size: 12px;
}

/** ----------------------------------------
 * あとxxx円で無料
 */
div.discount {
  margin: 15px 0;
  padding: 20px 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #999;
  color: #f06;
  background: -moz-linear-gradient(top, #fff, #eee);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: gradient(linear, left top, left bottom, from(#fff), to(#eee));
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 0 1px 0 #888;
  text-shadow: 0 1px 0 #fff;
  font-size: 15px;
}

div.discount p:before {
  margin-right: 5px;
  content: "■";
  font-size: 7px;
  vertical-align: middle;
}

/** ----------------------------------------
 * 似た商品を探す
 */
section#category_relate ul {
  margin: -10px -10px 0 -10px;
  padding-left: 0;
  list-style-type: none;
}

section#category_relate ul li {
  padding: 2px 0;
  color: #f36;
  background-color: #ddd;
}

section#category_relate ul li:last-child {
  margin-bottom: -10px;
}

section#category_relate ul li:nth-of-type(even) {
  background-color: #f6f6f6;
}

section#category_relate ul li a {
  margin: 0 3px;
  padding: 5px 8px;
  display: inline-block;
}

section#category_relate ul li a:hover,
section#category_relate ul li a:active {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  color: #fff;
  background-color: #f36;
  text-shadow: none;
}

/** --------------------------------------------------------------------------------
 * エラー
 */
.error {
  position: relative;
  margin: 35px 0 10px 0;
  padding: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #f90;
  color: #f60;
  background-color: #fcffdc;
}

.error dt {
  margin-top: -12px;
  padding: 6px 10px 6px 28px;
  position: absolute;
  top: -1em;
  -moz-border-radius: 3px 3px 0 0;
  -webkit-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
  color: #fff;
  background: #f90 url("../../images/smartphone/common/alert.png") no-repeat 10px 50%;
  text-shadow: none;
  line-height: 1;
}

.error dd {
  margin-top: 5px;
  padding-left: 10px;
}

.error dd ul {
  padding-left: 0;
}

.error dd li {
  margin-left: 15px;
}

/** --------------------------------------------------------------------------------
 * mypage
 */
section#mypage ul {
  padding-left: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background-color: #fff;
  list-style-type: none;
}

section#mypage ul li a {
  border: solid #999;
  border-width: 1px 1px 0 1px;
}

section#mypage ul li:first-child a {
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

section#mypage ul li:last-child a {
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  border-bottom-width: 1px;
}

section#mypage ul li a {
  padding: 17px 27px 17px 10px;
  display: block;
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%;
}

section#mypage ul li a:hover,
section#mypage ul li a:active {
  background-color: #f6f6f6;
}

/** --------------------------------------------------------------------------------
 * 基本dl
 */
dl.basic {
  margin: 0 -10px;
  padding: 10px;
  background-color: #fff;
}

section#buy dl.basic {
  margin-top: -20px;
  margin-bottom: -10px;
  padding: 10px;
  background-color: #fff;
}

section#order dl.basic {
  margin-top: -10px;
  -moz-box-shadow: 0 1px 2px #888;
  -webkit-box-shadow: 0 1px 2px #888;
  box-shadow: 0 1px 0 #888;
}

section#buy .secondtitle+.productname {
  margin-top: -10px;
}

section#buy .productname {
  margin-top: 10px;
}

dl.basic dt {
  margin-bottom: 15px;
  padding-left: 6px;
  border-left: 4px solid #f90;
  color: #000;
  line-height: 1.0;
  font-weight: bold;
}

dl.basic dt:not(.variation) {
  position: absolute;
}

dl.basic dd {
  margin-bottom: 15px;
  padding-left: 10px;
  line-height: 1.0;
}

dl.basic dt:not(.variation)+dd {
  margin-left: 5.6em;
}

dl.basic dd:last-child {
  margin-bottom: 0;
}

/** --------------------------------------------------------------------------------
 * 商品一覧系ページ
 */
div.list.product {
  margin-right: -10px;
  margin-left: -10px;
}

div.list.product p.name {
  padding-left: 6px;
  border-left: 4px solid #f06;
  color: #f06;
  font-weight: bold;
}

div.list.product a.item {
  padding-right: 27px;
  display: block;
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -moz-linear-gradient(top, #fff, #eee);
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, gradient(linear, left top, left bottom, from(#fff), to(#eee));
}

div.list.product p.comment {
  margin-top: 10px;
}

/* 価格 */
div.list.product p.price,
.item p.price {
  margin-top: 10px;
  color: #F00;
  font-weight: bold;
  text-align: right;
}

/** --------------------------------------------------------------------------------
 * 注文一覧系ページ
 */
div.list.order {
  margin: -10px;
}

div.list.order a.item {
  padding-right: 27px;
  display: block;
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -moz-linear-gradient(top, #fff, #eee);
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: url("../../images/smartphone/common/arrow.png") no-repeat 100% 50%, gradient(linear, left top, left bottom, from(#fff), to(#eee));
}

div.list.order .item {
  background: -moz-linear-gradient(top, #fff, #eee);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: gradient(linear, left top, left bottom, from(#fff), to(#eee));
}

div.list.order .item {
  border-bottom: 1px solid #999;
}

div.list.order .item:last-of-type {
  border-bottom: none;
}

div.list.order p.comment {
  margin-top: 10px;
}

div.list.order dl {
  line-height: 1.0;
}

div.list.order dl:last-child {
  padding: 10px;
}

div.list.order dl dt {
  margin-bottom: 15px;
  padding-left: 6px;
  border-left: 4px solid #f90;
  float: left;
  width: 7em;
  color: #f90;
  font-weight: bold;
}

div.list.order dl dt:last-of-type,
div.list.order dl dd:last-of-type {
  margin-bottom: 0;
}

div.list.order dl dd {
  margin-bottom: 15px;
  padding-left: 10px;
  overflow: hidden;
}

div.list.order p.name:first-child {
  padding: 10px;
  border-bottom: 1px dotted #999;
}

div.list.order p.name:last-child {
  margin: 10px -27px 0px -10px;
  padding: 10px 0 0 10px;
  border-top: 1px dotted #999;
}

/** --------------------------------------------------------------------------------
 * pager
 */
nav.pager {
  margin: 10px -10px 0;
  background-color: #fff;
  -moz-box-shadow: inset 0 1px 2px #888;
  -webkit-box-shadow: inset 0 1px 2px #888;
  box-shadow: inset 1px 2px #888;
  font-size: 15px;
}

section>nav.pager:last-child {
  margin-bottom: -10px;
}

nav.pager ul {
  padding-left: 0;
  border-spacing: 10px;
  display: table;
  table-layout: fixed;
  width: 100%;
}

nav.pager ul li {
  padding: 0;
  border: 1px solid #999;
  display: table-cell;
  vertical-align: middle;
  background: -moz-linear-gradient(top, #fff, #eee);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: gradient(linear, left top, left bottom, from(#fff), to(#eee));
  text-align: center;
  line-height: 3.0;
}

.pager ul li:not(.notlink):hover,
.pager ul li:not(.notlink):active {
  background: -moz-linear-gradient(top, #eee, #fff);
  background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff));
  background: gradient(linear, left top, left bottom, from(#eee), to(#fff));
}

nav.pager ul li a {
  color: #0f0a06;
  display: block;
}

nav.pager ul li:first-of-type {
  -moz-border-radius: 5px 0 0 5px;
  -webkit-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
}

nav.pager ul li:last-of-type {
  -moz-border-radius: 0 5px 5px 0;
  -webkit-border-radius: 0 5px 5px 0;
  border-radius: 0 5px 5px 0;
}

nav.pager ul li div {
  position: relative;
}

nav.pager ul li div:first-child:after {
  position: absolute;
  top: 16px;
  right: 5px;
  content: "▼";
  float: right;
  display: block;
  font-size: 8px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  color: #fff;
  background-color: #FCC;
  text-align: cneter;
}

nav.pager ul li div:last-of-type select {
  margin: 0;
  padding: 0;
  position: absolute;
  top: -3em;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 3em;
  z-index: 150;
}

nav.pager li.notlink {
  color: #999;
}

/** --------------------------------------------------------------------------------
 * アフィリエイト成果送信
 */
.cvimgtags {
  margin: 10px 0;
  text-align: center;
}

/** --------------------------------------------------------------------------------
 * 商品のキャンセル
 */
section#order form.cancel {
  padding: 0;
  border: none;
  background-color: transparent;
}

section#order .cancel {
  padding: 0 0 10px 0;
}

section#order .cancel .secondtitle {
  margin: 0 !important;
  border: solid #999;
  border-width: 1px 1px 0 1px;
}

section#order .cancel table {
  margin: 0 0 10px;
  width: 100%;
  font-size: 12px;
}

section#order .cancel table tr td:first-of-type {
  vertical-align: middle;
  width: 1.6em;
  background-color: #ddd;
  text-align: center;
}

section#order .cancel table tr td:last-of-type {
  padding: 0;
}

section#order .cancel table tr td p.name {
  padding: 10px;
  border-bottom: 1px dotted #999;
}

section#order .cancel table tr td dl {
  padding: 10px;
  line-height: 1.0;
}

section#order .cancel table tr td dl dt {
  position: absolute;
}

section#order .cancel table tr td dl dd {
  margin-left: 7em;
}

section#order .cancel table tr td dl dd:last-of-type {
  margin-bottom: 0;
}



.entry {
  margin: 20px 0 10px;
  color: #f36;
  font-size: 18px;
  font-weight: bold;
}

.caption {
  font-size: 16px;
  background-color: #fbe8bf;
  color: #2b1305;
  padding: 5px 5px 5px 8px;
  margin: 20px -10px 10px;
  text-shadow: none !important;
}

.caption_course {
  font-size: 14px;
  background-color: #f69;
  color: #fff;
  padding: 5px 5px 5px 8px;
  margin: 20px -10px 10px;
  text-shadow: none !important;
}

.caution {
  font-weight: bold;
  color: #C00;
}

table#table_course {
  border: #2D0F09 1px solid;
  border-collapse: collapse;
  font-size: 11px;
  width: 100%;
  color: #555;	
} 

table#table_course th.t_top {
  border: #A84673 1px dashed;
  background-color: #fff;
  padding: 5px 0 !important;
} 

table#table_course td.t_line01 {
  border: #A84673 1px dashed;
  background-color: #eee;
  vertical-align: top;
  text-align: center;
  padding: 10px 0 !important;
}

table#table_course td.t_line02 {
  border: #A84673 1px dashed;
  background-color: #fff;
  vertical-align: top;
  text-align: center;
  padding: 10px 0 !important;
}
