@charset "UTF-8";
/************************************************
 共通設定
************************************************ */
body {
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic Medium", YuGothicMedium, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-size: 87.5%;
  line-height: 1.6;
  letter-spacing: 0;
}

a:hover,
a:active,
.btn input:hover,
.btn_type_def input:hover,
.btn_02 input:hover {
  filter: alpha(opacity=70); /* ie8以下用の透明度を設定 */
  -moz-opacity: 0.7; /* Firefox用の透明度を設定 */
  opacity: 0.7; /* 透明度を設定 */
}

input[type=submit] {
  cursor: pointer;
}

.btn input {
  width: 100%;
  padding: 8px;
  background: #7AC943 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  text-decoration: none !important;
  text-align: center;
  border: none;
  cursor: pointer;
}

.btn input:hover {
  filter: alpha(opacity=70); /* ie8以下用の透明度を設定 */
  -moz-opacity: 0.7; /* Firefox用の透明度を設定 */
  opacity: 0.7; /* 透明度を設定 */
}

.btn input[id^=estimate2apply], .btn input#estimate2reapply {
  margin-bottom: 5px;
}

#fixed_link {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
  z-index: 10000;
}

ul#fixed_link li a {
  padding: 10px;
  background: #39C none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin-top: 10px;
  text-decoration: none !important;
  font-size: 133%;
  text-align: center;
  cursor: pointer;
}

ul#fixed_link li a#btn_cart {
  background: #FF931E none repeat scroll 0% 0%;
}

.btn_area.btn_type_def li a,
div[id^=raku2_close] {
  padding: 10px;
  background: #333333 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin: 10px;
  text-decoration: none !important;
  font-size: 133%;
  text-align: center;
  width: 220px;
  float: left;
  cursor: pointer;
}

.btn_area.btn_type_def input,
.btn_area.btn_type_def button,
.btn_area.btn_type_def a.btn {
  padding: 10px 20px;
  background: #7AC943 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin: 10px;
  text-decoration: none !important;
  font-size: 133%;
  text-align: center;
  border: none;
  min-width: 220px;
  float: left;
  cursor: pointer;
}

.select_mc {
  padding: 10px 20px;
  background: #7AC943 none repeat scroll 0% 0%;
  color: #FFF;
  border-radius: 5px;
  margin: 10px;
  text-decoration: none !important;
  text-align: center;
  border: none;
  min-width: 220px;
  cursor: pointer;
}

/* 楽天ID決済 */
.btn_area.btn_rakuten_id {
  width: 500px;
  margin: 0 auto;
}

.btn_area.btn_rakuten_id li a {
  padding: 10px;
  background: #333333 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin: 10px;
  text-decoration: none !important;
  font-size: 100%;
  text-align: center;
  width: 200px;
  float: left;
  cursor: pointer;
}

.btn_area.btn_rakuten_id li span.raku_next,
.btn_area.btn_type_def li span.raku_next {
  margin-top: 10px;
  display: inline-block;
}

.btn_area.btn_rakuten_id input {
  padding: 10px;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin: 5px;
  text-decoration: none !important;
  font-size: 100%;
  text-align: center;
  border: none;
  width: 220px;
  float: left;
  cursor: pointer;
}

/* 写真 */
.photo img,
.sub_photo img {
  border: 1px solid #ccc;
}

div.listphoto img {
  margin-bottom: 5px;
}

/* エラーメッセージ */
.err_ms {
  border: 3px solid #f00;
  background: #fee;
  text-align: center;
  color: #f00;
  padding: 14px;
  font-weight: bold;
  margin: 20px auto;
}

.err_ms > div {
  margin-bottom: 5px;
}

.err_ms > div:last-child {
  margin-bottom: 0;
}

.emp {
  color: red;
  font-weight: bold;
}

#disp_box .normal {
  font-weight: normal;
  padding-top: 15px;
  border-top: 1px dotted #ff0008;
}

/* ==============================================
 フレーム
=============================================== */
/* 全体を包括 */
.frame_outer {
  margin: 0 auto;
  width: 100%;
  text-align: center;
}

/* コンテンツ */
#container {
  margin: 20px auto 0;
  padding: 0 0 30px;
  width: 980px;
  text-align: left;
}

/* ==============================================
 カラム指定
=============================================== */
/* メイン部
----------------------------------------------- */

/* 1カラム時 */
#main_column.colnum1 {
  margin: 0 auto;
  width: 100%;
}

#main_column.colnum1 #mypagecolumn {
  width: 80%; /* ※MYページのみ80%*/
  margin: 0 auto;
}

/* 2カラム時 (共通) */
#main_column.colnum2 {
  width: 750px;
}

/* 2カラム時 (メイン部が左) */
#main_column.colnum2.left {
  float: left;
}

/* 2カラム時 (メイン部が右) */
#main_column.colnum2.right {
  float: right;
}

/* 3カラム時 */
#main_column.colnum3 {
  float: left;
  width: 540px;
  background-color: transparent;
  padding: 0 24px;
}

/* サイドカラム
----------------------------------------------- */
.side_column {
  padding: 0;
}

#leftcolumn {
  float: left;
  width: 200px;
}

#rightcolumn {
  float: right;
  width: 200px;
}

/* 他
----------------------------------------------- */
/* ヘッダーとフッターの上下 */
#topcolumn,
#bottomcolumn,
#footerbottomcolumn {
  margin: 0px;
  background: #fff;
  text-align: left;
  clear: both;
}

/* 下層コンテンツ */
#undercolumn {
  width: 100%;
  margin: 0 0 30px 0;
}

/* ヘッダー検索バー
----------------------------------------------- */
.base_design #top_item_search {
  width: 980px;
  margin: 0 auto 10px;
  text-align: right;
}

.base_design #top_item_search ul {
  margin: 10px auto;
}

.base_design #top_item_search ul li {
  display: inline-block;
  border-left: 1px solid #a9a9a9;
  padding: 0 10px;
}

.base_design #top_item_search ul li:last-child {
  margin-right: 0;
  border-left: none;
  padding: 0;
}

.base_design #top_item_search ul li a,
.base_design #top_item_search ul li a:link,
.base_design #top_item_search ul li a:hover,
.base_design #top_item_search ul li a:visited {
  font-size: 12px;
  text-decoration: none;
}

.base_design #top_item_search #search_form {
  padding-left: 10px;
}

.base_design #top_item_search #search_form i {
  font-size: 18px;
  margin-right: 8px;
}

.base_design #top_item_search #search_form i {
  font-size: 18px;
  margin-right: 8px;
}

.base_design #top_item_search #search_form input[type=text] {
  width: 200px;
  height: 20px;
  margin-right: 10px;
}

.base_design #top_item_search #search_form input[type=submit] {
  width: 50px;
  font-size: 12px;
  font-weight: 200;
  color: #565656;
  background: #ffffff;
  padding: 4px;
  border-radius: 8px;
  text-align: center;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-style: 1px solid #a9a9a9;
}

/* ==============================================
 ユーティリティ
=============================================== */
/* フロート回り込み解除
----------------------------------------------- */
.clearfix:after {
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden;
  content: ".";
}

.clearfix {
  display: block; /* for IE8 */
}

.clear {
  clear: both;
}

/* リンク指定
----------------------------------------------- */
a:link,
a:visited {
  color: #39c;
  text-decoration: none;
}

a:link:hover,
a[href]:hover {
  color: #aaaaaa;
  text-decoration: underline;
}

/* フォント
----------------------------------------------- */
h1,
h2,
h3,
h4,
h5 {
  font-size: 113%;
}

p {
  font-size: 100%;
}

.sale_price,
.kaiin_price .price {
  /*color: #f00;
  font-weight: bold;*/
}

.sale_price .normal {
  font-weight: normal;
  font-size: 90%;
}

.normal_price {
  font-size: 90%;
}


.user_name {
  font-weight: bold;
}

.recommend_level {
  color: #ecbd00;
}

.attention {
  color: #f00;
}

.attentionSt {
  color: #f00;
  font-weight: bold;
}

.st {
  font-weight: bold;
}

.mini {
  font-size: 90%;
}

/* 行揃え
----------------------------------------------- */
.alignC {
  text-align: center;
}

.alignR {
  text-align: right;
}

.alignL {
  text-align: left;
}

.pricetd em {
  font-weight: bold;
}

/* フォーム
----------------------------------------------- */
select {
  border: solid 1px #ccc;
}

input[type=text],
input[type=password] {
  border: solid 1px #ccc;
  /* padding: 2px; */
}

.box40 {
  width: 40px;
}

.box60 {
  width: 60px;
}

.box90 {
  width: 90px;
}

.box100 {
  width: 100px;
}

.box120 {
  width: 120px;
}

.box140 {
  width: 140px;
}

.box145 {
  width: 145px;
}

.box150 {
  width: 150px;
}

.box240 {
  width: 240px;
}

.box300 {
  width: 300px;
}

.box320 {
  width: 320px;
}

.box350 {
  width: 350px;
}

.box380 {
  width: 380px;
}

.box400 {
  width: 400px;
}

.box450 {
  width: 450px;
}

.box500 {
  width: 500px;
}

.box550 {
  width: 550px;
}

.box600 {
  width: 600px;
}

/* フォームが縦に重なり合う場合に併用する余白 */
.top { /* FIXME 簡素な単語は、単独で、込み入った指定に使用しない */
  margin-bottom: 5px;
}

/* タイトル
----------------------------------------------- */
#main_column h2 {
  padding: 10px;
  margin-bottom: 30px;
  border-bottom: 1px solid #CCC;
  font-size: 130%;
}

h2.title {
  margin-bottom: 30px;
  padding: 8px;
  border-bottom: solid 1px #cccccc;
  color: #333333;
  font-size: 170%;
  text-align: center;
}

#main_column .sub_area h3,
#undercolumn_login .login_area h3,
#undercolumn_shopping h3,
#undercolumn_cart h3 {
  margin: 0 0 10px 0;
  padding: 5px 0 10px;
  color: #f60;
  font-size: 120%;
}

#mypagecolumn h3 {
  font-weight: normal;
  background: #fff;
  color: #333;
  text-align: left;
  font-size: 18px;
  margin: 0;
  padding: 0;
}

/* ==============================================
 ヘッダー
=============================================== */
/* レイアウト
----------------------------------------------- */
#header_wrap {
  min-height: 82px;
}

#header {
  margin: auto;
  width: 980px;
}

#header_utility {
  float: right;
  width: 360px;
}

/* 改装中の上部メッセージ */
#close_message {
  display: block;
  letter-spacing: 2px;
  color: #ffffff;
  background: #009ee7;
  text-align: center;
}

#errorHeader {
  background: #0083bf;
  color: #fff;
  text-align: center;
}

/* デモ環境メッセージ */
.env_message {
  position: fixed;
  display: block;
  width: 100%;
  height: 33px;
  padding: 20px 0;
  top: 0;
  font-size: 18px;
  font-weight: normal;
  letter-spacing: 2px;
  color: #ffffff;
  background: #0083bf;
  z-index: 10000;
  text-align: center;
  line-height: 20px;
}

.env_message_blank {
  height: 73px;
}

.env_message p {
  display: inline;
  margin: 0 5px;
}

p.env_version_message {
  font-size: 11px;
  letter-spacing: 0;
  position: absolute;
  top: 5px;
  right: 5px;
}

#header_login_area p.btn input {
  width: 45%;
  float: left;
  padding: 5px;
  margin-top: 5px;
  background: #333333 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  text-decoration: none !important;
  text-align: center;
  border: none;
}

#header_login_area div.btn a {
  width: 45%;
  margin-top: 5px;
  padding: 5px;
  background: #7AC943 none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  text-decoration: none !important;
  text-align: center;
  border: none;
  display: block;
  float: right;
}

/* ロゴ
----------------------------------------------- */
#logo_area {
  float: left;
  width: 300px;
  text-align: left;
}

#site_description {
  text-align: left;
  font-size: 91%;
  margin-bottom: 7px;
}

#header .tel {
  float: left;
}

#logo_area_lp { /* LP → 購入フローの場合 */
  margin-bottom: 15px;
}

#logo_area_lp img {
  max-height: 42px;
}

/* ヘッダーナビ
----------------------------------------------- */
div#header_navi {
  float: right;
  width: 409px;
  height: 38px;
}

div#header_navi ul li {
  display: block;
  float: left;
}

div#header_navi ul li.mypage,
div#header_navi ul li.entry {
  margin-top: 6px;
}

/* グローバルナビ
----------------------------------------------- */
#gloval_navi {
  background-color: #333333;
  margin-top: 10px;
}

#gloval_navi ul {
  width: 980px;
  margin: 0px auto;
  height: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#gloval_navi ul li a,
#gloval_navi ul li div {
  color: #ffffff;
  display: block;
  height: 30px;
  padding: 10px 41px 0;
}

#gloval_navi ul li a:link,
#gloval_navi ul li a:visited,
#gloval_navi ul li div:link,
#gloval_navi ul li div:visited {
  color: #ffffff;
  text-decoration: none;
}

#gloval_navi ul li a:link:hover,
#gloval_navi ul li a[href]:hover,
#gloval_navi ul li div:link:hover,
#gloval_navi ul li div[href]:hover {
  color: #39c;
  text-decoration: underline;
}

/* ==============================================
 レフト
=============================================== */
#side-bnrarea img {
  margin-bottom: 10px;
}

/* ==============================================
 メイン
=============================================== */
#top-banner_area {
  text-align: center;
}

#top-banner_area img {
  border: none;
  margin-bottom: 20px;
  text-align: center;
}

#common-bnrarea,
#newitem_area,
#top-banner_area,
#ranking_area {
  margin-bottom: 30px;
}

#newitem_area ul li {
  float: left;
  padding: 8px;
  width: 155px;
}

#newitem_area ul li p,
#ranking_area ul li p {
  font-size: 80%;
  text-align: center;
}

#ranking_area ul li {
  float: left;
  padding-left: 11px;
  width: 128px;
}

#ranking_area ul li:first-child {
  float: left;
  padding-left: 0px;
}

#main_column .idx_cn h2, #main_column #fav_bland_items h2, #main_column #fav_choice_items h2 {
  padding: 0px 0px 5px 0px;
  color: #333;
  font-size: 150%;
  font-weight: normal;
  text-align: left;
  letter-spacing: 1px;
  margin-bottom: 15px;
  border-bottom: none;
}

.idx_cn {
  width: 680px;
  margin-bottom: 50px;
}

#fav_bland_items {
  width: 680px;
  margin: 0 0 40px;
}

#fav_choice_items {
  width: 680px;
  margin: 0 0 40px;
}

#fav_choice_items ul {
  width: 680px;
  margin: 0;
  padding: 0;
}

#fav_choice_items ul li {
  width: 210px;
  margin: 0 20px 0 0;
  padding: 0;
  display: inline-block;
  list-style: none;
}

#fav_choice_items ul li:last-child {
  margin-right: 0;
}

#fav_choice_items ul li img {
  width: 210px;
}

#fav_choice_items ul li a {
  font-size: 80%;
}

/* ==============================================
 フッター
=============================================== */
#footer_wrap {
  margin: 0 auto;
  width: 980px;
  height: 80px;
  background: #fff;
}

#footer {
  margin: auto;
  margin-top: 10px;
  width: 980px;
}

#footer h2 {
  padding: 10px;
  background: #333333 none repeat scroll 0% 0%;
  color: #FFF;
  text-align: center;
}

#footer .footer_contents {
  width: 280px;
  float: left;
}

#footer_inner {
  padding: 10px;
  border-bottom: 1px solid #cccccc;
}

#footer .footer_contents h3 {
  text-align: left;
  border-bottom: 1px solid #aaaaaa;
  margin-bottom: 20px;
  padding: 10px;
}

#footer .footer_contents p {
  width: 260px;
  text-align: left;
  margin: 0 auto;
}

#footer .footer_contents .link_text {
  text-align: right;
  margin-bottom: 20px;
}

#pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
}

#pagetop a {
  padding: 10px;
  background: #39C none repeat scroll 0% 0%;
  color: #FFF;
  display: block;
  border-radius: 5px;
  margin-top: 10px;
  text-decoration: none;
  font-size: 133%;
  text-align: center;
}

#copyright {
  width: 950px;
  text-align: center;
  font-size: 86%;
}
/*
#footer ul {
  text-align: center;
  display: inline-block;
  margin: 30px auto 18px;
}

#footer ul li {
  float: left;
  font-size: 107%;
  letter-spacing: 0px;
  padding: 0px 30px;
  border-right: 1px solid #39C;
}
*/
#footer ul li:first-child {
  border-left: 1px solid #39C;
}

/* フッター newデザイン 
----------------------------------------------- */
.base_design #footer {
  width: 1000px;
  border-top: #231815 solid 1px;
  overflow: hidden;
  margin: 0 auto 90px;
  padding: 50px 0 0;
  line-height: 1.5em;
}

.base_design #footer h2 {
  color: #221714;
  background: none;
  font-size: 18px;
  line-height: 1.6;
  margin: 0 auto 30px;
  text-align: center;
}

.base_design #footer h2 span {
  font-size: 17px;
}

.base_design #footer .guide {
  width: 300px;
  display: inline-block;
  vertical-align: top;
  margin: 0 30px 0 0;
  padding: 0;
}

.base_design #footer .guide:last-child {
  margin: 0;
}

.base_design #footer .guide h3 {
  font-size: 14px;
  text-align: left;
  background: #fff;
  color: #000;
  border-bottom: #000 solid 0.5px;
  margin: 0 0 5px;
}

.base_design #footer .guide div {
  font-size: 11px;
  line-height: 1.5;
  text-align: left;
  margin: 0 0 30px;
}

.base_design #footer .guide .tel {
  margin-top: 10px;
}

.base_design #footer .guide .tel span {
  font-size: 30px;
  font-weight: 600;
}

.base_design #footer .guide .mail span {
  font-size: 30px;
  font-weight: 600;
  margin-top: 10px;
}

.base_design #footer .guide .mail span {
  font-size: 15px;
  font-weight: 600;
}

.base_design #copyright {
  width: 100%;
  font-size: 9px;
  line-height: 1.5;
  margin: 0 auto;
  text-align: center;
  color: #565656;
  background-color: #e8e8e8;
  padding-bottom: 30px;
}

.base_design #copyright img {
  width: 130px;
  display: block;
  margin: auto;
  padding: 0 0 20px;
}

.base_design #footer_company {
  width: 100%;
  /*border-top: #231815 solid 1px;*/
  text-align: center;
  padding-top: 30px;
  margin: 0 auto;
  background-color: #e8e8e8;
}

.base_design #footer_company .company_info {
  width: 300px;
  display: inline-block;
  vertical-align: top;
  margin-right: 70px;
  text-align: left;
}

.base_design #footer_company .company_link_group {
  width: 400px;
  display: inline-block;
  vertical-align: top;
  text-align: left;
}

.base_design #footer_company .company_info .company_name {
  font-size: 16px;
  margin: 0 0 10px;
}

.base_design #footer_company .company_info .company_address {
  font-size: 11px;
}

.base_design #footer_company .company_link_group ul {
  width: 150px;
  display: inline-block;
  vertical-align: top;
  list-style: none;
  margin-right: 20px;
}

.base_design #footer_company .company_link_group ul:last-child {
  margin-right: 20px;
}

.base_design #footer_company .company_link_group ul li a {
  font-size: 10px;
}

/* ==============================================
 パーツ
=============================================== */
/* ボタン
----------------------------------------------- */
.btn_area {
  margin-top: 10px;
  text-align: center;
}

.btn_area ul {
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

/* 押下不可ボタン用 */
a.disable {
  opacity: 0.5;
  cursor: default;
  text-decoration: none !important;
}

/* 完了メッセージ
----------------------------------------------- */
#complete_area {
  margin: 20px 0;
}

#complete_area p {
  margin-bottom: 10px;
}

#complete_area .message,
#undercolumn_entry .message {
  margin-bottom: 20px;
  line-height: 150%;
  font-weight: bold;
  font-size: 120%;
}

#undercolumn_confirm .message {
  margin-bottom: 20px;
  line-height: 150%;
  font-weight: bold;
  font-size: 120%;
  text-align: center;
}

.shop_information {
  margin-top: 40px;
  padding: 20px 0 0 0;
  border-top: solid 1px #ccc;
}

.shop_information .name {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 140%;
}

/* バナー管理
----------------------------------------------- */
img.widget_banner_image {
  width: 100%;
}

/* Tipsy
----------------------------------------------- */
.tipsy {
  padding: 5px;
  font-size: 10px;
  position: absolute;
  z-index: 100000;
}

.tipsy-inner {
  padding: 5px 8px 4px 8px;
  background-color: black;
  color: white;
  max-width: 200px;
  text-align: center;
}

.tipsy-inner {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
}

.tipsy-arrow {
  position: absolute;
  background: url("../img/ajax/tipsy.gif") no-repeat top left;
  width: 9px;
  height: 5px;
}

.tipsy-n .tipsy-arrow {
  top: 0;
  left: 50%;
  margin-left: -4px;
}

.tipsy-nw .tipsy-arrow {
  top: 0;
  left: 10px;
}

.tipsy-ne .tipsy-arrow {
  top: 0;
  right: 10px;
}

.tipsy-s .tipsy-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -4px;
  background-position: bottom left;
}

.tipsy-sw .tipsy-arrow {
  bottom: 0;
  left: 10px;
  background-position: bottom left;
}

.tipsy-se .tipsy-arrow {
  bottom: 0;
  right: 10px;
  background-position: bottom left;
}

.tipsy-e .tipsy-arrow {
  top: 50%;
  margin-top: -4px;
  right: 0;
  width: 5px;
  height: 9px;
  background-position: top right;
}

.tipsy-w .tipsy-arrow {
  top: 50%;
  margin-top: -4px;
  left: 0;
  width: 5px;
  height: 9px;
}

input.disabled {
  opacity: 0.5;
}

.raku2-mt5 {
  margin-top: 5px;
}

.raku2-mb5 {
  margin-bottom: 5px;
}

.raku2-mr5 {
  margin-right: 5px;
}

.raku2-ml5 {
  margin-left: 5px;
}

.raku2-mt10 {
  margin-top: 10px;
}

.raku2-mb10 {
  margin-bottom: 10px;
}

.raku2-mr10 {
  margin-right: 10px;
}

.raku2-ml10 {
  margin-left: 10px;
}

.raku2_break_word {
  overflow-wrap: break-word;
  word-break: break-all;
}

.raku2_attention_title {
  border: solid #f00;
  border-width: 3px 3px 1px;
  background: #fee;
  text-align: center;
  color: #f00;
  padding: 5px 0px;
  font-weight: bold;
}

.raku2_attention_message {
  border: solid #f00;
  border-width: 0px 3px 3px;
  text-align: center;
  color: #f00;
  padding: 5px 0px;
}

.raku2_breadcrumbs li {
  display: inline-block;
}

.raku2_breadcrumbs li::after {
  content: ">";
  padding: 0 10px; /*左右に余白*/
}

.raku2_breadcrumbs li:last-child::after {
  display: none;
}