@charset "UTF-8";

/* reset
----------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0; padding: 0; border: 0; outline: 0;
	font-weight: inherit; font-style: inherit;
	font-size: 100%; font-family: inherit;
	vertical-align: baseline;
}
:focus { outline: 0;}
body {
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	font-weight: 500;
	line-height: 1;
	font-size: 14px;
	color: #000;
}
ol, ul {list-style: none;}
a{color: #000;}
a:hover{ text-decoration: none; }
p,a{line-height:1.5;}
a:hover img{ opacity: 0.7; }
table { border-collapse: separate; border-spacing: 0;}
caption, th, td { text-align: left;font-weight: normal;}
blockquote:before, blockquote:after,
q:before, q:after {	content: ""; }
blockquote, q { quotes: "" ""; }

/* new clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
	
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

.mb5{ margin-bottom: 5px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb25{ margin-bottom: 25px !important; }
.mb30{ margin-bottom: 30px !important; }
.mb40{ margin-bottom: 40px !important; }
.mb60{ margin-bottom: 60px !important; }
.mr5{ margin-right: 5px !important; }
.mr10{ margin-right: 5px !important; }
.mr15{ margin-right: 15px !important; }
.flo_left{ float: left !important; }
.flo_right{ float: right !important; }
.t_right{ text-align: right !important; }
.t_left{ text-align: left !important; }
.t_center{ text-align: center !important; }

.ls_01{ letter-spacing: -0.1em !important; }
.ls_013{ letter-spacing: -0.13em !important; }

/* header
----------------------------------------------------- */
#header {
	overflow: hidden;
}


#header .header_inner{
	background: url(../img/common/bg_header.png) no-repeat 274px bottom;
	width: 1080px;
	margin: 0 auto;
	overflow: hidden;
}
#header .description{
	background: #80cee0;
	color: #000;
	font-size: 13px;
	padding: 2px 15px;
	margin-bottom: 10px;
}
#header .logo{
	float: left;
	padding-right: 22px;
	margin: 0 0 10px 0;
	padding-bottom: 0;
}
#header h1.logo{
	background: none;
}

#header .bnr{
	float: right;
}

#header .user_auth{
	float: left;
	width: 254px;
}

#header .user_auth ul li{
	float: left;
	margin: 0 0 2px 0;
}

#header .user_auth p{
	overflow: hidden;
	clear: both;
	font-size: 11px;
}

#header .user_auth p.logout{
	background: url(../img/common/ico_arrow.png) no-repeat center right;
	clear: right;
	float: right;
	padding-right: 10px;
}

#header .user_auth p.mypage{
	background: url(../img/common/ico_mypage.png) no-repeat center left;
	padding-left: 13px;
	float: left;
}

#header .user_auth p.logout a,
#header .user_auth p.mypage a{
	font-weight: bold;
}

#header .user_auth .cart_status{
	background: #fff url(../img/common/ico_cart.png) no-repeat 10px 4px;
	border: 2px solid #ececec;
	box-shadow: 0 0 0 1px #bfbfbf, 0 0 0 1px #bfbfbf;
	border-radius: 4px;
	width: 230px;
	padding: 4px 10px;
	overflow: hidden;
	margin-bottom: 6px;
}

#header .user_auth .cart_status .count{
	float: left;
}

#header .user_auth .cart_status .count a{
	color: #ef8543;
	display: inline-block;
	font-size: 23px;
	font-weight: bold;
	padding: 0 0 0 40px;
	text-decoration: none;
}

#header .user_auth .cart_status .count a:hover{
	text-decoration: underline;
}

#header .user_auth .cart_status .kaiin{
	text-align: center;
	font-size: 13px;
	float: right;
	margin-top: 2px;
}

#header .user_auth .cart_status .kaiin span.rank{
	display: block;
	font-size: 12px;
	padding-bottom: 5px;
}

#header .user_auth .cart_status .kaiin span.name{
	display: block;
	line-height: 1.2;
}

#header .user_auth .cart_status .kaiin span.name span{
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 110px;
	vertical-align: bottom;
}

/* category */
.category{
	background: #fbfaf8;
	clear: both;
	margin-bottom: 20px;
}

.category .category_inner{
	background: url(../img/common/bg_cat.png);
	width: 1080px;
	margin: 0 auto;
}

.category ul{
	overflow: hidden;
	padding: 8px 6px 6px 14px;
	margin-right: -8px;
}

.category ul li{
	float: left;
	padding: 0 8px 0 0;
}

.category ul li:last-child{
	padding-right: 0;
}



/* bread
----------------------------------------------------- */
ul.bread{
	overflow: hidden;
	margin-bottom: 40px;
	padding: 5px 0;
	font-size: 15px;
}

ul.bread li{
	background: url(../img/common/ico_bread.png) no-repeat center left;
	float: left;
	padding: 0 15px 0 20px;
}

ul.bread li:first-child{
	background: none;
	padding-left: 0;
}

ul.bread li a{
	text-decoration: none;
	line-height: 1;
}

ul.bread li a:hover{
	color: #888;
}


/* flow
----------------------------------------------------- */
div.flow{
	margin-bottom: 40px;
	margin-top: -20px;	
}

/* content
----------------------------------------------------- */
#contents{
	width: 1080px;
	margin: 0 auto 100px auto;
}


/* pagetop
----------------------------------------------------- */
.pagetop{
	width: 1080px;
	margin: 0 auto;
	overflow: hidden;
}

.pagetop a{
	float: right;
}

/* footer
----------------------------------------------------- */
#footer{
	background: url(../img/common/bg_cat.png);
	border-bottom: 18px solid #d4b7a5;
	padding: 20px 0;
	font-size: 13px;
	overflow: hidden;
}

#footer .footer_inner{
	width: 1080px;
	margin: 0 auto;
}

#footer p.logo{
	float: left;
	padding: 10px 0 15px;
	width: 93%;
}

#footer .ssl{
	float: right;
	width: 7%;
}

#footer p.link{
	float: left;
}

#footer p.link a{
	text-decoration: none;
}

#footer p.link a:hover{
	text-decoration: underline;
}

#footer p.copywright{
	float: right;
	font-size: 12px;
}


/* form
----------------------------------------------------- */
form input[type=text],
form input[type=password],
form textarea {
	border: 1px solid #aaa;
	border-radius: 3px;
	padding: 8px;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

/* IE7 */
*:first-child+html form input[type=text],
*:first-child+html form input[type=password],
*:first-child+html form textarea{
	width: 97%;
}

form input[type=checkbox]{
	margin-right: 10px;
}


/* select_box*/
.select_box select {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	border-radius: 3px;
	border: 1px solid #bfbfbf;
	background-image: url(../img/cart/ico_arrow_d.png);
	background-repeat: no-repeat;
	background-position: center right 8px;
	cursor:pointer;
	font-size: 15px;
	padding: 6px 35px 7px 10px;

	/* ie8 */
	background-image: none\9;
	padding-right: 10px\9;
}

/* IE11 */
@media all and (-ms-high-contrast:none){
	 *::-ms-backdrop, .select_box select{
	 	background-image: none;
		padding-right: 10px;
	 }
}

/* safari */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  ::i-block-chrome, .select_box select {
    background-position: center right;
  }
}

span.attention.color{
	color: #ff0000;
}


/* 404
----------------------------------------------------- */
#contents.not{
	text-align: center;
}

.not h1{
	border-bottom: 1px solid #bfbfbf;
	margin-bottom: 30px;
	padding: 55px 0 30px;
}

.not .attention{
	font-size: 18px;
	padding-bottom: 20px;
}

.not .search{
	background: url(../img/404/bg.png);
	font-size: 16px;
	padding: 60px 0 40px;
}

.not .search p.link{
	background: url(../img/404/ico_arrow.png) no-repeat center left;
	display: inline-block;
	padding-left: 15px;

	*display: inline;
	*zoom: 1;
}


/* Error
----------------------------------------------------- */
.error{
	background: #ffedef;
	color: #ff0000;
	font-size: 14px;
	margin: 10px 0;
	padding: 12px 12px 0;
}

.error p{
	background: url(../img/cart/ico_error.png) no-repeat left top;
	padding: 1px 0 8px 25px;
}


span.required{
	background: #ff4c5b !important;
	border-radius: 3px !important;
	color: #fff !important;
	display: inline !important;
	font-weight: bold !important;
	font-size: 12px !important;
	padding: 3px 8px !important;
	margin-left: 5px !important;
	vertical-align: middle !important;
}

/* IE9 */
span.required:not(:target) {
   display: inline-block\9 !important;
   padding-top: 6px\9 !important;
 }


/* pager */
.pager {
	margin-bottom: 10px;
	overflow: hidden;
}

.pager ul{
	float: right;
}

.pager li{
	float: left;
	margin-left: 10px;
	line-height: 1.5;
}

.pager li a{
	border: 1px solid #80CEE0;
	color: #80CEE0;
	display: inline-block;
	padding: 5px 10px;
	text-decoration: none;
}

.pager li span{
	border: 1px solid #80CEE0;
	background: #80CEE0;
	color: #fff;
	display: inline-block;
	padding: 5px 10px;
}

.pager li a:hover{
	background: #80CEE0;
	color: #fff;
}


/* confirmation 確認画面用
----------------------------------------------------- */
table.confirmation{
	margin-bottom: 20px !important;
}

table.confirmation th{
	padding: 12px 0 !important;
}

table.confirmation td{
	width: 258px !important;
	padding: 12px 0 !important;
}


/* colorbox スタイル上書き用
----------------------------------------------------- */
#cboxOverlay{
	background: #000 !important;
}
#cboxLoadedContent,#cboxContent{
	background: none !important;
}
#cboxPrevious,#cboxNext{
	display: none !important;
}
#colorbox{
	background: #FFF;
	padding: 0 0 10px;
}

#cboxClose{background-position:-55px 0; right:15px !important; top: -25px !important;}
#cboxClose:hover{background-position:-55px -25px;}

/* news */
/*.news h1{
	background: url(../img/common/line01.png) repeat-x bottom;
	padding-bottom: 15px;
	margin: 20px 0 25px;
}

.news h1 span{
	font-size: 20px;
}

.news .newsBox{
	border: 2px solid #ececec;
	box-shadow: 0 0 0 1px #bfbfbf, 0 0 0 1px #bfbfbf;
	border-radius: 4px;
	padding: 15px;
	margin-bottom: 40px;
	font-size: 18px;
}*/

.news .title{
	background: url(../img/common/line01.png) repeat-x bottom;
	font-size: 18px;
	padding-bottom: 15px;
	margin: 20px 0 20px;
	overflow: hidden;
}
.news h1{
	font-size: 28px;
	font-weight: bold;
}
.news .title span{
	float: left;
	margin-top: 3px;
}
.news .title span.date{
	float: right;
	margin-top: 8px;
}
.news .title span.icon{
	border-radius: 3px;
	font-size: 14px;
	font-weight: normal;
	padding: 4px 5px;
	margin-right: 8px;
}
.news .title span.icon.important{
	background: #f00;
	color: #fff;
}
.news .title span.icon.campaign{
	background: #ff9702;
	color: #fff;
}
.news .title span.icon.maintenance{
	background: #000;
	color: #fff;
}
.news .title span.icon.notice{
	background: #ff8ad2;
	color: #fff;
}
.news .text{
	padding: 0 10px;
	font-size: 18px;
	line-height: 2;
}
.news .text p{
	line-height: 2;
}
.news ul{
	display: flex;
	flex-wrap: wrap;
	padding: 0 10px;
	margin: 20px 0 40px;
}
.news ul li{
	border: 3px solid #fff;
	box-shadow: 0 0 4px rgba(107,107,107,0.2);
	width: 31.4%;
	margin-right: 2%;
	text-align: center;
}
.news ul li:last-child{
	margin-right: 0;
}
.news ul li img{
	height: auto;
	width: 100%;
}
.news .pdf a{
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	width: 240px;
	position: relative;
}
.news .pdf a span{
	background: url(../img/common/icon_pdf.png) no-repeat left center;
	background-size: 28px 28px;
	display: inline-block;
	padding: 16px 20px 15px 34px;
}
.news .pdf a:hover{
	opacity: 0.8;
}
.news .pdf a:before,.news .pdf a:after{
	content: '';
	position: absolute;
	top: 50%;
}
.news .pdf a:before{
	margin-top: -15px;
	right: 12px;
	width: 30px;
	height: 30px;
	background: #80cee0;
	border-radius: 50%;
}
.news .pdf a:after{
	margin-top: -6px;
	right: 21px;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #fff;
}

/* 軽減税率対応
----------------------------------------------------- */

.miti-tax{
	font-size: 11px;
	color: #f0415a;
	margin-top: 5px;
	margin-bottom: 5px;
	display: inline-block;
	border: 1px solid #f0415a;
	padding: 3px 4px;
	border-radius: 3px;
}

/* クレジットカード情報入力失敗画面用
----------------------------------------------------- */
.fail-uc-attention {
	font-size: 28px;
	font-weight: bold;
}

.fail-uc-btn {
	border-radius: 4px;
	border: 1px solid #13505e;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	padding: 12px 0;
	text-align: center;
	cursor: pointer;
	width: 40%;
	margin-top: 25px;
	background: linear-gradient(to bottom, #fafafa, #d7d7d7);
	background: -webkit-gradient(linear, left top, left bottom, from(#fafafa), to(#d7d7d7));
	border: 1px solid #a7a7a7;
	color: #333;
	text-decoration: none;
}