@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: 200px;
    float: left;
    cursor: pointer;
}
.btn_area.btn_type_def input,
.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;
}


/* ==============================================
 カラム指定
=============================================== */

/* メイン部
----------------------------------------------- */
#main_column {
    /*padding: 0 40px 40px;*/
}

/* 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;
	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%;
}
.point {
    /* color: #f00;
    font-weight: bold; */
}
.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;
}
div#undercolumn_login .login_area h4 {
}


/* ==============================================
 ヘッダー
=============================================== */
/* レイアウト
----------------------------------------------- */
#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: flex;
    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: /*60px auto 20px*/ 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;
}
