*{
	margin:0;
	padding:0;
}
body {
	color: #333;
	font-size:14px;
	line-height: 1.4;
	font-family: Avenir, 'Helvetica neue', Helvetica, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
	margin: 0;
    padding: 0;
}
input, button, textarea, select {
    font-family: Avenir, 'Helvetica neue', Helvetica, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}

/**全体幅**/
#container {
    max-width: 1200px;
    min-width: 1000px;
    margin: 15px auto;
    padding: 0 15px;
}

/**左ある時**/
#content2 {
    float: left;
    width: 100%;
    margin: 15px 0 0 0;
    padding: 0;
}
#content2_section {
    margin: 0 0 0 200px;
    padding: 0 0 0 30px;
}
#left2 {
    float: left;
    margin: 15px 0 0 -100%;
    width: 200px;
}

/**content 100%**/
#content100pc {
    margin: 15px 0 0 0;
    padding: 0;
}

/** img100% **/
.img100pc img {
	width: 100%;
	height: auto;
}

/** img hover**/
img {
	vertical-align:top;
	border: none;
	margin: 0;
	padding: 0;
}
a img {
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-ms-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}
a:hover img {
    opacity: .7;
}
a:link    { color: #575757; text-decoration: none;}
a:visited { color: #575757; text-decoration: none;}
a:hover   { color: #575757; text-decoration: underline;}

/** width**/
.min-width {
    min-width: 1000px;
}

/** 全体設定 **/
ul,ol,p{
	padding: 0;
	margin: 0;
}
li {
	list-style-type: none;
}
.bold{
	font-weight:bold;
}
.boldnasi{
	font-weight: normal;
}
.left {
  text-align: left;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.valign-middle {
  vertical-align: middle; 
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}
.clear {
	clear: both;
}
.relative{
    position: relative;
}
.nopad {
	margin: 0;
	padding: 0;
}
.nomargin {
	margin: 0;
}

/** clearfix **/
.clearfix:before, .clearfix:after {
    content: ".";    
    display: block;    
    height: 0;    
    overflow: hidden; 
}
.clearfix:after {
	clear: both;
}
.clearfix { zoom: 1; } /* IE < 8 */


.underline {
    text-decoration: underline;
}

/**line**/
.line-b{
	border-bottom: 1px dotted #ccc;
}
.line-t{
	border-top: 1px dotted #ccc;
}
.line-b5{
	border-bottom: 5px solid #efefef;
}
.line-b10{
	border-bottom: 10px solid #efefef;
}

/**font**/
.font12 {
    font-size: 12px;
}
.font16 {
    font-size: 16px;
}
.font18 {
    font-size: 18px;
}
.red {
	color: #b81a1a;
}
.orange {
	color: #f97306;
}
.gray {
	color: #999;
}
.gray2 {
	color: #575757;
}

/** マージン　**/
.margin-05 { margin: 5px;}
.margin-10 { margin: 10px;}
.margin-30 { margin: 30px;}

.margin-t5 { margin-top: 5px;}
.margin-t10 { margin-top: 10px;}
.margin-t30 { margin-top: 30px;}

.margin-b05 { margin-bottom: 5px;}
.margin-b10 { margin-bottom: 10px;}
.margin-b30 { margin-bottom: 30px;}

.margin-r05 { margin-right: 5px;}
.margin-r10 { margin-right: 10px;}
.margin-r30 { margin-right: 30px;}

.margin-tb05 { margin: 5px 0px;}
.margin-tb10 { margin: 10px 0px;}
.margin-tb30 { margin: 30px 0px;}

.margin-side05{ margin: 0px 5px;}
.margin-side10 { margin: 0px 10px;}
.margin-side30 { margin: 0px 30px;}

.margin-left05 { margin-left: 5px;}
.margin-left10 { margin-left: 10px;}
.margin-left15 { margin-left: 15px;}
.margin-left30 { margin-left: 30px;}

.margin-side20pc {
    margin: 20px 20%;
}
.margin-side20pc30 {
    margin: 30px 20%;
}
.margin-side30pc {
    margin: 20px 30%;
}

/** 余白指定　**/
.padding-05 { padding: 5px;}
.padding-10 { padding: 10px;}
.padding-30 { padding: 30px;}

.padding-tb05 { padding: 5px 0px;}
.padding-tb10 { padding: 10px 0px;}
.padding-tb30 { padding: 20px 0px;}

.padding-b05 { padding-bottom: 5px;}
.padding-b10 { padding-bottom: 10px;}
.padding-b30 { padding-bottom: 30px;}

.padding-side05 { padding: 0px 5px;}
.padding-side10 { padding: 0px 10px;}
.padding-side30 { padding: 0px 30px;}

/** page title **/
h1{
	font-size:26px;
	line-height: 30px;
	position: relative;
	margin:20px 0;
}

/** section title **/
h2.tit {
    color: #333;
    font-size: 24px;
	line-height: 26px;
    padding: 8px 0;
	margin:10px 0;
	position:relative;
}

/** section sub title **/
h3.sub {
    color: #575757;
    font-size: 18px;
    line-height: 22px;
    padding: 4px 4px 4px 20px;
    margin: 8px 0;
    position: relative;
}
h3.sub:before {
    border-right: 1px solid #999;
    border-top: 1px solid #999;
    content: "";
    width: 7px;
    height: 7px;
    left: 5px;
    position: absolute;
    top: 10px;
    transform: rotate(45deg);
}
.tit3 {
    color: #575757;
    font-size: 20px;
	line-height: 22px;
    padding: 5px 0;
	margin:8px 0;
	position:relative;
}
.tit4 {
    color: #575757;
    font-size: 18px;
	line-height: 20px;
    padding: 5px 0;
	margin:20px 0;
	position:relative;
    border-bottom: 1px dotted #ccc;
}

/**wrap all**/
.wrap {
    margin: 10px 0;
	padding: 0 0 10px 0;
}
.wrap2 {
    margin: 10px 0 30px 0;
    border-bottom: 10px solid #efefef;
	padding: 0 0 10px 0;
}
.wrap.padding, .wrap2.padding{
	padding: 0 10px 10px 10px;
}
.wrap h2, .wrap2 h2{
    color: #575757;
    font-size: 22px;
	line-height: 30px;
    padding: 8px 0;
	margin:10px 0;
	position:relative;
    border-bottom: 1px dotted #ccc;
}
.wrap3 {
    margin: 0;
	padding: 0;
}
.wrap4 {
	padding: 0;
    border-bottom: 10px solid #efefef;
    margin: 0 0 30px 0;
}

/**txt**/
.txt{
    font-size: 16px;
    margin: 30px 0 50px 0;
}

/**sale txt**/
.txt2-wrap {
    margin: 20px 0;
	padding: 10px;
    box-sizing: border-box;
    border: 1px solid #efefef;
    border-radius: 4px;
}

/**txt center**/
.center-wrap{
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	margin: 10px 0;
}
.center-wrap h2{
	font-size: 22px;
	line-height: 1.4;
}
.center-wrap img{
	width: 300px;
}

/** 商品一覧 **/
.item-group.none {
	border: none;
}
.item-group {
	margin: 20px 0;
	box-sizing: border-box;
	border-radius: 4px;
}
.item-group .tit span {
	display: inline-block;
	font-size: 15px;
	position: absolute;
	top: 0px;
	right: 10px;
	line-height: 26px;
	margin: 0;
	color: #575757;
	font-weight: normal;
}
.item-group .tit span a {
	padding: 10px 25px 10px 10px;
	position: relative;
	top: 10px;
	color: #666;
}
.item-group .tit span a:hover{
	text-decoration: underline;
}
.item-group .tit span a:hover:after {
	animation: backAndForth 0.5s linear infinite alternate;
	-webkit-animation: backAndForth 0.5s linear infinite alternate;
	text-decoration: none;
}
.item-group .tit span a:after {
	font-family: "Material Icons"; 
	content: "\e315";
	position: absolute;
	right: 0px;
	top: 6px;
	font-size: 24px;
	color: rgb(196, 195, 195);
	font-weight: bold;
	overflow-y: hidden;
}

/** category title **/
.cate-group .tit span {
	display: inline-block;
	font-size: 15px;
	position: absolute;
	right: 10px;
	line-height: 26px;
	margin: 0;
	color: #575757;
	font-weight: normal;
}
.cate-group .tit span a {
	padding: 10px 25px 10px 10px;
	position: relative;
	color: #666;
}
.cate-group .tit span a:hover{
	text-decoration: underline;
}
.cate-group .tit span a:hover:after {
	animation: backAndForth 0.5s linear infinite alternate;
	-webkit-animation: backAndForth 0.5s linear infinite alternate;
	text-decoration: none;
}
.cate-group .tit span a:after {
	font-family: "Material Icons"; 
	content: "\e315";
	position: absolute;
	right: 0px;
	top: 7px;
	font-size: 24px;
	color: rgb(196, 195, 195);
	font-weight: bold;
	overflow-y: hidden;
}

/*** breadcrumb ***/
.breadcrumb-wrapx {
	background: #f9f9f9;
	padding: 0 6px 0 0;
	margin: 10px auto;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 4px;
	max-width: 1200px;
	min-width: 1000px;
}
.breadcrumb { 
	list-style: none; 
	overflow: hidden; 
	font-size: 0;
	padding: 0;
	margin: 0;
	white-space: nowrap;
	height: 27px;
}
.breadcrumb li { 
	display: inline-block; 
	font-size: 13px;
}
.breadcrumb li a {
	color: #666;
	text-decoration: none; 
	padding: 8px 0 4px 55px;
	background: #ddd;
	position: relative; 
	display: block;
	float: left;
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .breadcrumb li a {
        padding-top: 5px !important;
    }
}
@-moz-document url-prefix() {
    .breadcrumb li a {
        padding-top: 5px !important;
    }
}
.breadcrumb li a:after { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 30px solid #ddd;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	left: 100%;
	z-index: 2; 
}   
.breadcrumb li:not(:last-child) a:before { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 30px solid white;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	margin-left: 4px;
	left: 100%;
	z-index: 1; 
}   
.breadcrumb li:first-child a {
	padding-left: 10px;
}
.breadcrumb li:last-child {
	color: black;
	font-weight: bold;
	padding: 8px 0 4px 35px;
	white-space: nowrap; 
    overflow: hidden;
	text-overflow: ellipsis;
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .breadcrumb li:last-child {
        padding: 4px 0 4px 45px !important;
    }
}
@-moz-document url-prefix() {
    .breadcrumb li:last-child {
        padding: 4px 0 4px 45px !important;
    }
}
.breadcrumb li a:hover { background: #999; color: #fff;}
.breadcrumb li a:hover:after { border-left-color: #999 !important; }

/**top button**/
#move-btn {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 40px;
	z-index: 99;
}
#move-btn > button {
	background: #ccc;
	display: block;
	padding: 15px;
	font-size: 18px;
	outline: none;
	border: none;
	cursor: pointer;
	color: #575757;
}
#move-top-btn {
	border-radius: 50%;
}
#move-bottom-btn {
	border-radius: 0 0 10px 10px;
}
#move-top-btn:hover, #move-bottom-btn:hover {
	background-color: #999;
}

/** ul decimal disc **/
ul.list-base, ol.list-base {
    margin: 20px;
}
ul.list-base li {
    list-style-type: decimal;
	margin: 10px 10px 30px 10px;
    line-height: 1.5em;
}
ul.list-base li > h3{
	font-size: 16px;
	margin: 0 0 15px 0;
}
ul.list-base li ul.list-base li {
	list-style-type: disc;
	margin: 10px;
}

/**disc decimal**/
ul.disc{
    padding-left: 40px;
	display: block;
	margin: 10px 0;
}
ul.disc li{
	list-style-type: disc;
	margin-bottom: 10px;
}
ul.disc li h3{
	font-size: 14px;
	font-weight:bold;
}
ul.decimal{
    padding-left: 30px;
	display: block;
	margin: 10px 0;
}
ul.decimal li{
	list-style-type: decimal;
	margin-bottom: 10px;
}

/** attention **/
.attention{
	font-size: 13px;
    font-weight: normal;
    color: #333;
    position: relative;
    padding: 3px 0 0 26px;
    box-sizing: border-box;
    overflow: hidden;
    line-height: 20px;
	margin: 4px 0;
}
.attention a {
	color: #333;
	text-decoration: underline;
}
.attention:before {
	font-family: "Material Icons"; 
	content: "\e001";
	position: absolute;
	font-size: 22px;
	color: #b81a1a;
	font-weight: normal;
    display: inline-block;
    margin-left: -26px;
    margin-top: -2px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .attention:before {
        top: 6px !important;
		margin-top: -5px !important;
    }
	.attention{
		padding: 0 0 0 26px;
}
}
@-moz-document url-prefix() {
    .attention:before {
        top: 6px !important;
    	margin-top: -5px !important;
    }
	.attention{
		padding: 0 0 0 26px;
}	
}
.attention.grey:before, .attention.center:before, .attention.right:before {
	position: relative;
	top: 6px;
	padding: 0 2px 0 0;
}
.attention.grey:before{
	color: #999;
}
.attention.red{
	font-size: 13px;
    color: #b81a1a;
}

/** underline-link a **/
a.underline-link, .underline-link a{
	text-decoration: underline;
}
.underline-link a:hover, a.underline-link:hover {
	text-decoration: underline;
	color: #000;
}
.underline-link i {
	color: #9BC90D;
	font-weight: bold;
}

/** banner-wrap **/
.banner-wrap {
    margin: 20px 0;
    padding: 0;
}
.banner-wrap img {
	width: 100%;
	margin: 0 0 10px 0;
	padding: 0;
	vertical-align: top;
	height: auto;
}

/** HeaderBanner **/
.HeaderBannerLink{
	max-width: 1200px;
	min-width: 1000px;
	margin: 0 auto;
	padding: 0;
	display: block;
	min-height: 50px;
}
.HeaderBannerLink img{
	width: 100%;
	height: auto;
}

/** TopBannerスライドバナー **/
.TopBanner {
	margin: 20px 0;
}

/** 詳細ページバナー **/
.ProductBannerLink {
	display: block;
	min-height: 60px;
}
.ProductBannerLink img{
	width: 100%;
	height: auto;
}

/** toggle **/
.display-none {
  display: none;
}
.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9888;
  width: 100%;
  background: #ffffff;
  border-bottom: solid 1px #efefef;
}
/** icon 忘れてませんか **/
.report-problem {
    color: #b81a1a;
	text-align: center;
	font-size: 20px;
	margin: 10px 0;
    font-weight: bold;
}
.report-problem::before {
    font-family: "Material Icons";
    content: "\e8b2";
    position: relative;
    left: -2px;
    top: 10px;
    font-size: 36px;
    margin-right: 4px;
    color: #999;
    font-weight:normal;
}

/** overlay-frame 共通 **/
body.overlay {
	overflow: hidden;
}
.overlay-frame.overlay {
  display: block;
}
.overlay-frame	{
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    padding: 0;
    margin: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9999;
}
.overlay-body {
    height: 400px;
    width: 600px;
    margin: 10px auto;
    position: relative;
    top: 50%;
    margin-top:-200px;
    background: #fff;
	box-shadow: 0px 2px 6px rgba(0,0,0,0.5);
}
.overlay-body > h2 {
    position: relative;
    padding: 20px 50px 20px 10px;
    background: #eee;
    font-size: 18px;
	margin: 0;
}
.overlay-body > h2:before {
    font-family: "Material Icons"; 
    content: "\e069";
    position: relative;
    left: -2px;
    top: 2px;
    font-size: 18px;
	color: #fff;
	padding: 4px;
	margin-right: 2px;
	background: rgb(60, 117, 38);
	border-radius: 50%;
}

/** layer title **/
.overlay-body > .OverlayTitle {
	position: relative;
	padding: 20px 50px 20px 10px;
	background: #eee;
	font-size: 18px;
	margin: 0;
	font-weight: bold;
}
.overlay-body > .OverlayTitle:before {
	font-family: "Material Icons"; 
	content: "\e069";
	position: relative;
	left: -2px;
	top: 2px;
	font-size: 18px;
	color: #fff;
	padding: 4px;
	margin-right: 2px;
	background: rgb(60, 117, 38);
	border-radius: 50%;
}

.overlay-body .btn-close {
    top: 4px;
    right: 4px;
    position: absolute;
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 0;
    border-radius: 2px;
    margin: 0;
    padding: 0;
    transform: scale(0.7);
    cursor: pointer;
}
.btn-close:before, .btn-close:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 11px;
    left: 24px;
    width: 3px;
    height: 40px;
    border: 0;
    margin: 0;
    padding: 0;
    background-color: #999;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn-close:after {
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.overlay-body section {
	padding: 10px 0;
	height: 320px;
	overflow-y: auto;
	background: #f7f7f7;
}
.overlay-body section h3 {
	padding: 0 10px;
	color: #575757;
	font-size: 18px;
	line-height: 20px;
	margin: 20px 0;
	position: relative;
}
.overlay-body ul {
	list-style-type: none;
}
.overlay-body li {
	padding: 8px;
	background: #fff;
	border-top: 1px dotted #ccc;
}
.overlay-body li:active {
	background: #ddd;
	font-weight: bold;
}
.overlay-body li:last-child {
	border-bottom: 1px dotted #ccc;
}
.overlay-body .message-wrap {
	padding: 10px;
	background: #fff;
}
.overlay-body ul.disc li{
	padding: 4px 0;
	margin: 0;
	border: none;
}
.overlay-body ul.disc li:active{
	background: #fff;
	font-weight: normal;
}
.btn-radio.center .check-wrap{
	display: inline-block;
}
.overlay-body .coupon-body {
	position: relative;
	overflow: hidden;
	margin: 25px 0;
}
.del-frame .overlay-body, .coupon-frame .overlay-body {
	height: 300px;
	margin-top: -200px;
}
.del-frame .overlay-body section, .coupon-frame .overlay-body section {
	height: 230px;
	overflow-y: hidden;
}
/** size-frame cart add **/
.size-frame .added-ment {
	padding: 0 10px;
	color: #575757;
	font-size: 18px;
	line-height: 20px;
	margin: 20px 0;
	position: relative;
	font-weight: bold;
}
.i-cart2, .size-frame .added-ment{
	text-align: center;
}
.i-cart2::before {
	font-family: "Material Icons";
	content: "\e854";
	display: block;
	margin: 10px auto;
	color: #8fd827;
	font-size: 60px;
	position: relative;
	transform: rotateY(180deg);
	-webkit-transform: rotateY(180deg);
}	
.size-frame .btn-wakuline {
	padding: 10px 53px;
}

/**ordernagare-wrap**/
#header-wrap {
	min-width: 1000px;
	max-width: 1200px;
	margin: auto;
	box-sizing: border-box;
	position: relative;
}
#logo {
	margin: 0;
	float: left;
}
#logo img{
	width: 170px;
	height: 74px;
}
#nagare-wrap{
	margin: 10px 0;
	padding: 10px 0;
	border-radius: 4px;
	margin-left: 190px;
}
#nagare-wrap ul{
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	list-style: none;	
}
#nagare-wrap ul li {
	float: left;
	text-align: center;
	width: 16%;
	font-size: 16px;
	line-height: 14px;
	position:relative;
	margin-right: 5%;
	padding: 10px 0;
}
#nagare-wrap ul li:last-child {
	margin-right: 0;
}
#nagare-wrap ul li::before {
	content: "";
	display: block;
	margin: 0 auto 10px auto;
	width: 40px;
	height: 15px;
}
#nagare-wrap ul li.active{
	font-size: 18px;
	line-height: 14px;
	color:#f97306;
	font-weight: bold;
}
#nagare-wrap ul li.step1::before {
	background-position: 0 0;
}
#nagare-wrap ul li.step2::before {
    background-position: -40px 0px;
}
#nagare-wrap ul li.step3::before {
    background-position: -80px 0px;
}
#nagare-wrap ul li.step4::before {
    background-position: -120px 0px;
}
#nagare-wrap ul li.step5::before {
    background-position: -160px 0px;
}
#nagare-wrap ul li.active::before{
	background-image:url(/content/images/icon/i-nagare.png);
	background-size: 200px 30px;
	width: 40px;
	height: 30px;
}
#nagare-wrap ul li.active:after {
	border-right: 2px solid #f97306;
	border-top: 2px solid #f97306;
	content: "";
	width: 10px;
	height: 10px;
	right: -18%;
	top: 52%;
	position: absolute;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
#nagare-wrap ul li:after {
	border-right: 2px solid #999;
	border-top: 2px solid #999;
	content: "";
	width: 10px;
	height: 10px;
	right: -18%;
	top: 62%;
	position: absolute;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
#nagare-wrap ul li:last-child:after {
     content : none;
}

/** ribbon type 1 **/
.ribbon1 {
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: -4px;
	box-sizing: border-box;
	padding: 2px 4px;
	margin: 0;
	height: 26px;
	line-height: 26px;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: white;
	background: #ff7470;
	border-radius: 0 4px 4px 0;
	box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.1);
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .ribbon1 {
        padding-top: 0px !important;
    }
}
@-moz-document url-prefix() {
    .ribbon1 {
        padding-top: 0px !important;
    }
}
.ribbon1:before {
	position: absolute;
	content: '';
	top: -8px;
	left: -6px;
	border: none;
	height: 34px;
	width: 7px;
	background: #ff7470;
	border-radius: 5px 0 0 5px;
}
.ribbon1:after {
	position: absolute;
	content: '';
	top: -7px;
	left: -5px;
	border: none;
	height: 7px;
	width: 5px;
	background: #b25552;
	border-radius: 5px 0 0 5px;
}

/*** side ribbon left ****/
.ribbon-left {
	position: absolute;
	left: -2px;
	top: -1px;
	z-index: 1;
	overflow: hidden;
	width: 75px;
	height: 75px;
	text-align: right;
}
.ribbon-left span {
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	text-transform: uppercase;
	text-align: center;
	line-height: 20px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	width: 100px;
	display: block;
	background: #79A70A;
	background: linear-gradient(#9BC90D 0%, #79A70A 100%);
	box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
	position: absolute;
	top: 19px;
	left: -21px;
}
.ribbon-left span::before {
	content: "";
	position: absolute; left: 0px; top: 100%;
	z-index: -1;
	border-left: 3px solid #79A70A;
	border-right: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-top: 3px solid #79A70A;
}
.ribbon-left span::after {
	content: "";
	position: absolute; right: 0px; top: 100%;
	z-index: -1;
	border-left: 3px solid transparent;
	border-right: 3px solid #79A70A;
	border-bottom: 3px solid transparent;
	border-top: 3px solid #79A70A;
}

/*** rank type1 ****/
.rank, .rank-1, .rank-2, .rank-3 {
	display: inline-block;
	position: absolute;
	top: -1px;
	left: 7px;
	margin: 0;
	padding: 8px 0;
	z-index: 2;
	width: 34px;
	text-align: center;
	color: white;
	font-size: 17px;
	background: linear-gradient(#ccc 0%, #999 100%);
	border-radius: 2px 0 0 0;
}
.rank:before, .rank-1:before, .rank-2:before, .rank-3:before{
	position: absolute;
	content: '';
	top: 0;
	right: -6px;
	border: none;
	border-bottom: solid 6px #999;
	border-right: solid 6px transparent;
}
.rank:after, .rank-1:after, .rank-2:after, .rank-3:after{
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 17px solid #999;
	border-right: 17px solid #999;
	border-bottom: 10px solid transparent;
}

/**** rank type1 123 ****/
.rank-1 {
	background: linear-gradient(#ddb111 0%, #b08c0a 100%);
}
.rank-1:before {
	border-bottom: solid 6px #b08c0a;
}	
.rank-1:after {
	border-left: 17px solid #b08c0a;
	border-right: 17px solid #b08c0a;
}

.rank-2 {
	background: linear-gradient(#a88784 0%, #937573 100%);
}
.rank-2:before {
	border-bottom: solid 6px #937573;
}	
.rank-2:after {
	border-left: 17px solid #937573;
	border-right: 17px solid #937573;
}

.rank-3 {
	background: linear-gradient(#ce7b74 0%, #a6645e 100%);
}
.rank-3:before { 
	border-bottom: solid 6px #a6645e;
}	
.rank-3:after {
	border-left: 17px solid #a6645e;
	border-right: 17px solid #a6645e;
}

/** i-mail **/
.i-mail::before, .i-mail::after{
    font-family: "Material Icons";
    content: "\e158";
    display:inline-block;
    margin: 0;
    color: #8fd827;
    font-size: 150px;
	position: relative;
}
.i-mail::after{
    content: "\e164";
}

/** info error **/
.info, .error{
	font-size: 16px;
    font-weight: normal;
    color: #b81a1a;
    position: relative;
    padding: 6px 4px 2px 32px;
    box-sizing: border-box;
    overflow: hidden;
    line-height: 20px;
	margin: 10px auto;
	background: #ffe6f1;
	max-width: 1200px;
	min-width: 1000px;
}
.info{
	color: #1fab3a;
	background: #DCEDC8; 
}
.info:before, .error:before {
	font-family: "Material Icons"; 
	content: "\e001";
	position: absolute;
	font-size: 26px;
	color: #b81a1a;
	font-weight: normal;
    display: inline-block;
    margin-left: -30px;
    margin-top: -2px;
}
.info:before{
	color: #1fab3a;
}
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .info, .error {
        padding: 4px 4px 4px 32px !important;
    }
	.info:before, .error:before {
        margin-top: 0px !important;
    }
}
@-moz-document url-prefix() {
    .info, .error {
        padding: 4px 4px 4px 32px !important;
    }
	.info:before, .error:before {
        margin-top: 1px !important;
    }
}

/*** loading ****/
#loading-overlay {
  display: none;
  width: 100%;
  height: 100%;
  text-align: center;
  position: fixed;
  top: 0;
  z-index: 100000;
  background: rgba(255,255,255,.85);
}

#loading {
  position: absolute;
  left: 0;
  right: 0;
  top: 25%;
  bottom: s0;
}

.loading {
  color: #8fd827;
  font-size: 20px;
  margin: 100px auto;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load4 1.3s infinite linear;
  animation: load4 1.3s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.loading-text {
  color: #8fd827;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.5rem;
  text-align: center;
}

@-webkit-keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }

  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }

  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }

  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}

@keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }

  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }

  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }

  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }

  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }

  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}

.tremble {
  display: inline-block;
  animation: tremble .1s;
  animation-iteration-count: 3;
  animation-timing-function: linear;
}

@keyframes tremble {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg)
  }

  25% {
    transform: translate(2px, 2px) rotateZ(1deg)
  }

  50% {
    transform: translate(0px, 2px) rotateZ(0deg)
  }

  75% {
    transform: translate(2px, 0px) rotateZ(-1deg)
  }

  100% {
    transform: translate(0px, 0px) rotateZ(0deg)
  }
}

/**pagenavi**/
.pagenavi {
	padding: 30px 10px;
}
.pagenavi p {
	text-align: right;
}
.pagenavi a {
	display: inline-block;
	text-align: center;
	background: #9BC90D;
	margin: 0 4px;
	height: 18px;
	padding: 4px 8px;
	color: #fff;
	border: 1px solid #9BC90D;
}
.pagenavi .current-page {
	display: inline-block;
	text-align: center;
	font-weight: bold;
	margin: 0 4px;
	height: 18px;
	padding: 4px 8px;
	border: 1px solid #9BC90D;
}

/**海外からの発送 文章**/
.checkout-caution{
	border: 1px dotted #ccc;
	background-color:#f7ebeb;
	margin:30px 0;
	padding: 10px;
	border-radius: 4px;
}
.checkout-caution h3 {
	color: #f97306;
	font-size: 20px;
	line-height: 1.2;
	font-weight: bold;
	padding: 0 0 0 40px;
	margin:10px 0;
	position: relative;
}
.checkout-caution h3::before{
    font-family: "Material Icons";
    content: "\e001";
    display:inline-block;
    margin: 0 5px 0 0;
    color: #575757;
    font-size: 36px;
	left: 0px;
	top: -12px;
	position: absolute;
}
.checkout-caution ul {
    color: #333;
    padding: 0 40px;
	margin:10px 0;
}
.checkout-caution li {
    font-size: 14px;
    line-height: 1.6;
	list-style: disc;
}
.checkout-caution > div {
	margin: 5px 30px;
}
.checkout-caution > div > p{
	margin: 5px 0;
}

/***** お問い合わせはこちら *****/
#contact{
	padding: 20px 0;
	margin: 20px 0;	
	border: 2px dotted #ccc;
	color:#575757;
	text-align:center;
	box-sizing:border-box;
}
#contact .tel span{
	font-size:30px;
	line-height:36px;
    margin: 10px 0;
	position:relative;
}
#contact .tel span::before {
    background: url(/content/images/icon/i-help.png) no-repeat 0px center;
	background-size: 40px 120px;
	width: 40px;
	height: 30px;
	vertical-align: top;
	background-position: 0 0;
    content: "";
    display: block;
    position: absolute;
    left: -45px;
    top: 0px;
}
.btn-icon{
    border-radius: 3px;
    font-size: 20px;
    font-weight: bold;
	line-height:20px;
    margin: 0;
    padding: 15px 10px 15px 70px;
	text-align:center;
    background: #f97306;
    color: #fff;
    border: 1px solid #f97306;
	position:relative;
	display: inline-block;
}
.btn-icon::before {
    background: url(/content/images/search/i-mail.png) no-repeat 0px center;
    content: "";
    display: block;
    position: absolute;
    width: 40px;
    height: 36px;
    left: 15px;
    top: 7px;
}
.btn-icon:hover::before {
	animation: animeY 2s linear 0s normal none infinite running ;
}
.btn-icon:link, .btn-icon:hover, .btn-icon:visited{
    color: #fff;
    text-decoration: none;
}
.btn-icon:hover{
	opacity:.8;
}
@keyframes animeY {
0% {
    transform: rotateY(0deg);
}
100% {
    transform: rotateY(360deg);
}
}

/**btn-right**/
.btn-right {
    position: absolute;
    top: 5px;
    right: 0px;
	color: #575757 !important;
	background: #fff;
	border: 1px solid #ccc;
	border-radius:4px;
	display:inline-block;
	cursor:pointer;
	font-weight:bold;
	padding:4px 15px;
	text-decoration:none;
	font-size: 13px;
}
a.btn-right {
  display: inline-block;
  text-decoration: none;
}
.btn-right:hover {
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

/**input**/
input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="url"], textarea, select {
    border: 1px solid #999;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

/**error**/
.error-wrap h2{
	border-bottom: none;
	text-align: left;
	line-height: 1.4;
}
.error-wrap{
	text-align: center;
}