@charset "UTF-8";
/* CSS Document */
/*
Version: 1.0
Last Update: 2015.09.20
*/
/* =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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	overflow-y: scroll;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
input, textarea {
	margin: 0;
	padding: 0;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
a:focus {
	outline: none;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;/*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
/* -------Common------------------------------------------- */
body {
	margin: 0px 0px 0px 0px;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 14px;
	line-height: 1.5em;
	background: #fff;
	color: #000;
	word-break: break-word;
	overflow-wrap : break-word;
}
a {
	color: #1E811F;
	text-decoration: underline;
}
a:link {
	color: #1E811F;
	text-decoration: underline;
}
a:visited {
	color: #1E811F;
	text-decoration: underline;
}
a:active {
	color: #FA6A09;
}
a:hover {
	color: #FA6A09;
	text-decoration: none;
}
/*---header---------------------*/
.header_inr {
	width: 100%;
	background: #fff;
	position: fixed;
	z-index: 2000;
}
.header_l {
	width: fit-content;
	float: left;
	padding: 10px 0 14px 2%;
}
.x-liberty-logo {
  margin-top: -13px;
  margin-bottom: -17px;
  margin-left: -5px;
}
.header_r {
	float: right;
	padding-right: 2%;
}
.x-liberty-official-note {
	clear: both;
	padding: 0 2% 8px;
	font-size: 10px;
	line-height: 1.5;
	color: #333;
}
.header_r ul {
	float: right;
}
.header_r ul li {
	float: right;
	margin-top: 6px;
	font-size: 8px;
	letter-spacing: -1px;
}
.header_r ul li a{
	width: 47px;
	padding-top: 19px;
	text-align: center;
}
@media screen and (max-width:360px){
  .header_r ul li a{
    width: 35px;
  }
}
.header_r ul li.open_search a {
	float: left;
	display: block;
	background: url(../img/icon_search.png) no-repeat top center;
	background-size: 20px;
	text-decoration: none;
}
.header_r ul li.see_cart a {
	float: left;
	display: block;
	background: url(../img/icon_cart.png) no-repeat top center;
	background-size: 20px;
	text-decoration: none;
}
.header_r ul li.favolist a {
	float: left;
	display: block;
	background: url(../img/icon_favo.png) no-repeat top center;
	background-size: 20px;
	text-decoration: none;
}
.header_r ul li.login a {
	float: left;
	display: block;
	background: url(../img/icon_login.png) no-repeat top center;
	background-size: 14px 20px;
	text-decoration: none;
}
.header_r ul li.mypage a {
	float: left;
	display: block;
	background: url(../img/icon_mypage.png) no-repeat top center;
	background-size: 20px;
	text-decoration: none;
}
.head_top_genre_links {
  width: 100%;
  font-size: 0.8rem;
  overflow-x: scroll;
  padding-bottom: 4px;
}
.head_top_genre_links ul {
  width: max-content;
  margin: 2px auto 0;
}
.head_top_genre_links ul li {
  display: inline-block;
  border: 1px solid green;
  border-radius: 5px;
  margin: 1px;
  padding: 0 3px;
}
.head_top_genre_links ul li a{
  text-decoration: none;
}

/*--search----------*/
.search_area {
	width: 94%;
	background: #333;
	padding: 10px 3%;
	clear: both;
	display: none;
}
.search_area2 {
	width: 94%;
	background: #fff;
	padding: 10px 3%;
	clear: both;
}
#searchForm #fProduct {
	width: 41%;
	height: 15px;
	float: left;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 6px 2%;
	font-size: 12px;
	border: none;
}
#searchFormHistory #fProductHistory {
	width: 37%;
	height: auto;
	float: left;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 6px 2%;
	font-size: 12px;
	border: none;
}
#searchFormHistory select {
	border-radius: 3px;
    padding: 5px 0;
    font-size: 12px;
    margin-left: 3px;
    border: none;
    background: #fff;
}
.search_area_history {
	background: #333;
	padding: 10px 3%;
	clear: both;
}
.searchbtn {
	width: 10%;
  height: 27px;
	float: left;
	color: #fff;
	float: right;
	background: #999 url(../img/icon_mushimegane.png) no-repeat 10px 6px;
	background-size: 22px 22px;
	background-position: center;
	padding: 5px 3% 5px 5%;
	margin-left: 1%;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	border: none;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}
.responsiveimg {
	width: 100%;
	height: auto;
	margin: 0;
}


.fSearch-wrap{
  height: 27px;
  background-color: #fff;
  width: fit-content;
  display: block;
  margin-left: 3px;
  border-radius: 3px;
  float: left;
}
#fSearch{
  height: 100%;
  font-size: 12px;
  padding: 0 5px;
  border: none;
  background: transparent;
}
img {
	vertical-align: bottom
}
.info{
  background: #eeeeee;
  margin: 0 auto;
  font-size: 16px;
  padding: 48px 0 2px ;
  height: 20px;
}
.info ul {
  margin: 0 8px;
  padding: 0;
}
.info ul li a{
  display: inline-block;
  width: 93%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.info img{
  display: inline-block;
  width: 15px;
  height: 15px;
  padding-bottom: 3px;
  vertical-align: baseline;
}
/*---footere--------------------*/
.foot {
	padding: 36px 20px 0;
	background: #eeeeee;
}
.foot h3 {
	font-size: 18px;
	height: unset;
}
.foot nav {
	padding-bottom: 20px;
}
.foot ul {
	padding: 0 10px 10px 10px;
}
.foot ul li a {
	display: block;
	background: url(../img/icon_list.png) no-repeat 0px 14px;
	background-size: 10px 10px;
	padding: 10px 3% 0 16px;
	color: #333;
    text-decoration: none;
}
.foot ul.payment-card-list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.foot ul.payment-card-list li {
	flex: 0 0 auto;
}
.foot ul.payment-card-list img {
	width: auto;
}
.pagetop {
	clear: both;
	margin: 20px auto 0 auto;
	text-align: center;
}
.nav2{
	padding:16px 0;
}
.foot #mobile_download{
  padding: 10px 0;
}
.foot #mobile_download ul{
  padding: 0;
  text-align: center;
}
.foot #mobile_download ul li{
  display: inline-block;
  padding: 0;
  text-align: center;
}
.foot #mobile_download ul li a{
  background: none;
  padding: 0;
}
.foot #mobile_download img{
  padding: 0;
  margin: 5px;
}
/* ------Top page------------------------------------------- */
.topmain {
	height: auto;
	display: block;
	margin: 0;
	padding: 20px;
    text-align: center;
}
.genremenu {
	width: 94%;
	padding: 0 3% 10px 3%;
}
.mainmenu {
	padding: 56px 20px;
}
.mainmenu h3 {
	font-size: 18px;
    padding-bottom: 18px;
}
.mainmenu ul {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
.mainmenu ul li {
	width: 50%;
	float: left;
}
.mainmenu ul li a {
	width: 100%;
	color: #333;
	display: block;
	float: left;
	background: #fff;
	background-size: 10px 10px;
	padding: 5px 3% 10px 10px;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 3.2vw;
}

.mainmenu ul li a::after {
position: relative;
    left: 86%;
    display: block;
    content: '';
    width: 10px;
    height: 10px;
    margin-top: -14px;
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.mainImg {
    background-image: url(/static/common/img/main01sp.jpg);
    height: 160px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.mainImg.bankingonly {
    background-image: url(/static/common/img/main01sp_banking.png);
}

.topBox {
    background: #000;
    margin: 0 auto;
    width: 80%;
    text-align: center;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
    top: 20px;
    position: relative;
    height: 120px;
}
.topBox p {
    color: #fff;
    font-size: 16px;
	padding: 12px 14px 8px;
    line-height: 1.4em;
}
.topBox a {
    color: #78d06b;
    font-size: 12px;
    text-decoration: none;
    line-height: 2em;
}
#conts .cate{
	width: 320px;
  height: 330px;
  margin: 0 auto;
}

#conts .cate li{
	float:left;
	width: 100px;
	padding: 0 6px 6px 0;
}
#conts .cate li p{
	background: rgba(0,0,0,0.4);
    color: #fff;
    text-align: center;
    margin-top: -18px;
    z-index: 1000;
    position: absolute;
    width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#conts .cate .last{
	float:left;
	width: 100px;
	padding: 0 0 6px 0;
}

#conts .cate li img{
	width: 100px;
}

a.adult {
    clear: both;
    padding: 0.5em;
		margin: 1em -10px 0;
    display: block;
		width: calc(100% + 20px);
		box-sizing: border-box;
    color: #fff !important;
    background: #ff6699;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    border-radius: 3px;
    text-align: center;
    text-decoration: none !important;
 }

a.adult.bankingonly {
    margin-bottom: 56px;
}

 a.adult:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: -3px 5px 0 0;
    background: url(/static/common/img/u18.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}
#conts {
    margin: 0 auto;
}

#conts .one {
    text-align: center;
    padding: 35px 0;
    font-size: 24px;
    color: #333;
    margin: 20px 0 10px;
    padding-top: 10px;
}

#conts .one a {
    color: #333;
    text-decoration: none;
}

.regi {
    margin-top: 80px;
    width: 90%;
    text-align: center;
    border: 1px solid #aaa;
    padding-bottom: 56px;
    margin: 0 auto 56px;
}

.regi dd{
    vertical-align: middle;
}

.regi .mailForm, .regi .mailForm2 {
	margin-top:  -20px;
}
.regi .mail{
	width: 240px;
	height: 36px;
  font-size: 16px;
	margin-bottom: 20px;
  padding-left: 16px;
}
.regi .mail.error {
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
.regi label.error {
	display: block;
	margin-bottom: 12px;
}
.contents .regi input.error {
	display: initial;
}
.regi .submitBtn{
	color: #fff;
    background-color: #8ea547;
    width: 100px;
    font-size: 18px;
    height: 40px;
    border: none;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    margin: 10px;
}
.regi .submitBtn:hover{
	opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}



/* ------category&item page---------------------------------- */
.ptarea {
	padding: 8px 3%;
}
.ptarea h2 {
	font-size: 14px;
	font-weight: bold;
	padding: 5px 0 5px 5px;
	margin: 0 18px 5px 0;
}
.ptarea a {
	display: inline-block;
	margin: 5px 0;
}
.pankuzu {
	overflow: hidden;
	width: 100%;
}
.pankuzu li {
	padding: 5px 0 5px 5px;
	float: left;
	text-decoration: none;
	color: #444;
	background: #ebebeb;
	position: relative;
	z-index: 1;
	text-shadow: 0 1px 0 rgba(255,255,255,.5);
	border-radius: 5px 0 0 5px;
	margin: 0 18px 5px 0;
}
.pankuzu li:hover {
	background: #248026;
}
.pankuzu li::after {
	background: #ebebeb;
	content: "";
	height: 23px;
	margin-top: -11px;
	position: absolute;
	right: -10px;
	top: 50%;
	width: 20px;
	z-index: -1;
	transform: rotate(45deg);
	border-radius: 5px;
}
.pankuzu li:hover::after {
	background: #248026;
}
.pankuzu li label {
	font-size: 12px;
	font-weight: bold;
}
.pankuzu li input {
	position: absolute;
	top: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.pankuzu li input[type="checkbox"] + label {
	display: block;
	background: url( ../img/mark_d.png) no-repeat left center;
	background-size: 16px;
	padding: 0 0 0 20px;
}
.genremenu a.menu {
	display: block;
	background: #c5c5c5 url(../img/icon_down.png?20200918) no-repeat right center;
	background-size: 22px 7px;
	padding: 8px 10px;
	color: #000;
	font-weight: bold;
	text-decoration: none;
}
.drawer {
	display: none;
	background: #fff;
	padding: 10px 10px 4px;
	z-index: 6;
}
.drawer li {
	margin-bottom: 6px;
}
.drawer li a {
	display: block;
	background: url(../img/icon_list.png) no-repeat center left;
	background-size: 10px 10px;
	padding: 0 0 0 16px;
	font-weight: bold;
}
.contents{
	padding: 0 10px;
}
.main {
	width: 100%;
	clear: both;
}
.sequence {
	float: left;
	margin-bottom: 5px;
	margin-left: 8px;
}
.sequence li {
	float: left;
}
.sequence li span {
	float: left;
        margin-left: 8px;
}
.sequence li a {
	float: left;
	margin-left: 8px;
}
.std {
	background: #fff;
    clear: both;
    color: #000;
    padding: 28px 8px 14px;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 6px;
}
.std .listcount {
	float: right;
	float: right;
    font-size: 12px;
    font-weight: normal;
}
h2.std {
	padding: 0 8px;
}
h3.std {
  margin: 20px 0;
  padding: 0;
  height: unset;
}
.items {
	width: 100%;
	clear: both;
	margin-bottom: 10px;
}
/*.items a {
	display: block;
	background: url(../img/mark01.png) no-repeat center right;
	background-size: 24px 24px;
	text-decoration: none;
	padding: 14px 0;
}*/
/*.items a:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}*/
/*.items a {
	min-height: 1px;
}*/
* html .items a {
	height: 1px;/*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
.items .itemimg {
	width: 100%;
	clear: both;
}
.items .itemimg img {
	object-fit: contain;
	width: 100%;
	height: 200px;
	float: left;
}
.items .itemimg span.sale-listitem {
  display: inline-block;
  background-color: red;
  color: white;
  font-size: 20px;
  text-align: center;
  padding:1px;
  height: 22px;
  width: 100%;
}
.purchased-sku-badge {
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 3px 0 0;
  padding: 3px 8px;
  border: 1px solid #174c41;
  border-radius: 999px;
  background: #246b5b;
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.purchased-sku-badge.purchased-sku-status {
  padding-top: 1px;
  padding-bottom: 1px;
}
.price-purchase-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.price-purchase-row .list_item_price {
  margin: 0;
}
.price-purchase-row .purchased-sku-badge {
  margin-left: 6px;
}
.purchased-sku-badge::before {
  content: "\2713";
  margin-right: 4px;
}
.items .itemoutline {
	float: left;
	width: 100%;
	padding-top: 8px;
	padding-left: 8px;
	position: relative;
}
.items .itemoutline img {
	object-fit: cover;
    width: 68px;
    height: 68px;
    float: left;
    border-radius: 50%;
    border: 1px solid #999;
    margin-right: 12px;
}
.items .itemoutline h2,h3 {
	font-size: 14px;
	font-weight: bold;
	overflow: hidden;
	line-height: 21px;
}
.items .itemoutline .itemprice {
	color: #FF0000;
}
.items .itemoutline .itemprice span {
	font-size: 10px;
	margin-bottom: 10px;
}
.items .itemoutline .shopname,.categoryname {
	color: #000;
}
.item_desc {
  clear: both;
  padding-top: 5px;
}
.view {
	clear: both;
	margin: 10px 0;
	position: relative;
}
.view .back {
	width: 48%;
	float: left;
}
.view .back a {
	float: left;
	display: block;
	background: #999 url(../img/icon_back.png) no-repeat 10px 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 8px 34px 8px 47px;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
.view .next {
	float: right;
	width: 48%;
}
.view .next a {
	float: right;
	display: block;
	background: #999 url(../img/icon_next.png) no-repeat center right;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 8px 47px 8px 34px;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

.link_list {
  display: inline-flex;
  justify-content: center;
  margin-top: 10px;
  width: 100%;
}

.link_list li.page {
  margin: 2px;
}

.link_list li.page a {
  display: inline;
  background-color: #999;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  padding: 8px 10px;
  color: #fff;
  text-decoration: none;
  text-align: center;
}

#subgenres h3 {
  padding-bottom: 0;
}
#subgenres ul {
  margin: 0 10px;
}
#subgenres ul li {
  display: inline;
  font-size: 1em;
  margin: 0.2em 0;
}
#subgenres ul li:not(:last-child)::after {
  content: "/"; /* 区切り文字を挿入 */
}
#subgenres ul li a{
  text-decoration: none;
}

#all-genres h3 {
  padding-bottom: 0;
}
#all-genres h6 {
  margin-top: 10px;
}
#all-genres h6 a{
  text-decoration: none;
}
#all-genres ul {
  margin: 0 5px;
}
#all-genres ul li{
  display: inline;
  font-size: 1em;
  margin: 0.2em 0;
}
#all-genres ul li:not(:last-child)::after {
  content: "/";
}
#all-genres ul li a{
  text-decoration: none;
  font-size: 1em;
  padding: 10px 5px;
  display: inline;
}
#popular_shops_bottom h3 {
  padding-bottom: 0;
}
#popular_shops_bottom ul {
  margin: 0 5px;
}
#popular_shops_bottom ul li{
  display: inline;
  font-size: 1em;
  margin: 0.2em 0;
}
#popular_shops_bottom ul li:not(:last-child)::after {
  content: "/";
}
#popular_shops_bottom ul li a{
  text-decoration: none;
  font-size: 1em;
  padding: 10px 5px;
  display: inline;
}

/* ------ attribute page---------------------------------- */
.attr_list {
  clear: both;
  margin-top: 15px;
  margin-bottom: 10px;
}
.attr_list ul{
  margin-bottom: 5px;
}
.attr_list ul li{
  display: inline-block;
  font-size: 1em;
  margin: 0.2em 0;
}
.attr_list ul li:not(:last-child)::after {
  content: "/"; /* 区切り文字を挿入 */
}
.attr_list ul li a{
  text-decoration: none;
}
.attr_list .list_title {
  padding: 8px 0 8px 8px;
  line-height: 1.4;
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  margin-bottom: 14px;
  background: #666;
  border: 0;
}

/* ------cart&checkout&completion page---------------------------------- */
.std .delete {
	float: right;
	border-left: 1px solid #fff;
	padding-left: 10px;
}
.cartitems {
	width: 100%;
	position: relative;
	clear: both;
	border-bottom: 1px #ccc dashed;
	padding: 10px 0;
}
.cartitems:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.cartitems {
	min-height: 1px;
}
.cartitems > .delete_fav{
  display: none;
  position: absolute;
  width: 100%;
  text-align: center;
  top: 40%;
  font-weight: bold;
  font-size: 1.2rem;
  z-index: 1000;
}
.cartitems > .delete_fav > .undelete_link{
  font-size: 0.8rem;
  text-decoration: underline
}
.cartitems.deleted > .delete_fav{
  display: block;
}
.cartitems.deleted > :not(.delete_fav) {
  opacity: 0.3;
  pointer-events: none;
}
* html .cartitems {
	height: 1px;/*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
.cartitems .itemimg {
	width: 100px;
	float: left;
	clear: both;
}
.cartitems .itemimg img {
	width: 100%;
	height: auto;
  float: left;
  object-fit: contain;
}
.cartitems .itemoutline {
	float: left;
	width: 58%;
	margin-left: 10px;/*padding-right: 30px;*/
}
.cartitems .itemoutline h3 {
	font-size: 14px;
	text-decoration: underline;
	margin-bottom: 10px;
}
.cartitems .itemoutline h3 a {
	font-weight: bold;
}
.cartitems .itemoutline .itemprice {
	color: #FF0000;
}
.cartitems .itemoutline .itemprice span {
	font-size: 10px;
	margin-bottom: 10px;
}
.cartitems .itemoutline .shopname {
	color: #000;
}
.cartitems .btn_delete {
	width: 30px;
}
.cartitems .btn_delete a {
	position: absolute;
	top: 40%;
	right: 8px;
}
.favorite-card {
  margin: 10px 0 14px;
  padding: 10px;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}
.favorite-card .favorite-card-thumb {
  width: 31%;
  clear: none;
}
.favorite-card .favorite-card-body {
  width: 65%;
  margin-left: 4%;
  padding-right: 28px;
  box-sizing: border-box;
}
.favorite-card .favorite-card-body h3 {
  margin-bottom: 6px;
  line-height: 1.35;
  text-decoration: none;
}
.favorite-card .favorite-card-body h3 a {
  color: #111;
  font-size: 14px;
  text-decoration: none;
}
.favorite-card-genre,
.favorite-card-shop,
.favorite-card-date,
.favorite-card-sale {
  margin: 3px 0;
  color: #333;
  font-size: 12px;
  line-height: 1.35;
}
.favorite-card-genre a,
.favorite-card-shop a {
  color: #1E811F;
  font-weight: bold;
}
.favorite-card-sale {
  color: #d00000;
  font-weight: bold;
}
.favorite-card .btn_delete {
  width: auto;
}
.favorite-card .btn_delete a {
  top: 10px;
  right: 10px;
}
.favorite-order-form,
.history-order-form {
  flex: 0 0 auto;
  margin: 0;
}
.favorite-order-form select,
.history-order-form select {
  width: auto;
  min-width: 130px;
  padding: 6px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 13px;
}
.reckoning {
	width: 100%;
	border-top: 1px solid #ccc;
}
.reckoning02 {
	width: 100%;
}
.reckoning tr td {
	background: #FAE9A3;
	padding: 10px;
	border-bottom: 1px dashed #ccc;
	font-size: 14px;
	font-weight: bold;
}
.reckoning td.price {
  color: red;
  font-size: 16px;
}
.reckoning02 tr td {
	background: #FAE9A3;
	padding: 10px;
	font-size: 14px;
	font-weight: bold;
}
.continue {
	background: url(../img/icon_listback.png) no-repeat center left;
	background-size: 10px 10px;
	padding: 4px 14px;
	margin: 10px 0 20px;
}
.main h4.std4 {
	background: #BCD6AD;
	padding: 6px 10px;
	font-size: 14px;
	font-weight: bold;
	color: #088302;
}
.accordion_dt {
	position: relative;
	padding: 10px 10px 10px 20px;
	background: url(../img/mark_ra.png) no-repeat left center;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
}
.accordion_dl .active {
	background: url(../img/mark_ro.png) no-repeat left center;
}
.accordion_dt:before {
	display: block;
	content: "";
	position: absolute;
}
.accordion_dt:after {
	display: block;
	content: "";
	position: absolute;
}
.accordion_dd {
	/*padding: 8px 20px;*/
	width: 94%;
	clear: both;
	margin: 0 auto 30px auto;
}
.btn input {
	width: 80%;
	display: block;
	background: #168215 url(../img/mark02.png) no-repeat 8px 8px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	border: none;
	margin: 10px auto;
	padding: 10px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}
.accordion_dd h5 {
	font-size: 14px;
	font-weight: bold;
	color: #088302;
	margin-bottom: 8px;
}
.accordion_dd h6 {
	font-size: 14px;
	margin-bottom: 8px;
}
.acc_dt {
	position: relative;
	padding: 10px 10px 10px 24px;
	background: #1E811F url(../img/mark03.png) no-repeat 6px 12px;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	margin: 10px 0 0 0;
}
.acc_dt .creditcard-country-note {
	display: inline-block;
	font-size: 12px;
	font-weight: normal;
}
.creditcard-country-note .country-flag {
	display: inline-block;
	width: 20px;
	height: 14px;
	margin-right: 3px;
	vertical-align: -2px;
	box-shadow: 0 0 1px 0 #888;
	background-image: url('/static/common/img/flags.png');
	background-repeat: no-repeat;
}
.country-flag-kr {
	background-position: -2787px 0;
}
.country-flag-hk {
	background-position: -2171px 0;
}
.country-flag-tw {
	background-position: -5131px 0;
}
.acc_dl .active {
	background: #1E811F url(../img/mark04.png) no-repeat 6px 12px;
}
.acc_dt:before {
	display: block;
	content: "";
	position: absolute;
}
.acc_dt:after {
	display: block;
	content: "";
	position: absolute;
}
.acc_dd {
	background: #FFF5D4;
	clear: both;
	margin: 0 auto 30px auto;
	padding: 10px;
}
.required, .unrequired {
/*	width: 100%;*/
	padding: 4px;
	font-size: 14px;
	margin-bottom: 8px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.loginbtn, .registrationbtn {
	width: 100%;
	display: block;
	background: #168215;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	border: none;
	margin: 10px auto;
	padding: 10px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}
.privacy {
	width: 98%;
	height: 130px;
	overflow-y: scroll;
	padding: 1%;
	border: 1px solid #ccc;
	margin-bottom: 10px;
}
.privacy02 {
  margin: 10px 0 20px;
  border: 1px solid #999999;
  padding: 10px;
}
.clear {
	clear: both;
}
.accordion_dd dl {
	margin-top: 10px;
	clear: both;
}
.payment {
	width: 100%;
	border-top: 1px solid #BCD6AD;
	margin: 10px 0;
}
.payment tr th {
	width: 28%;
	background: #BCD6AD;
	border-bottom: 1px solid #fff;
	padding: 6px;
}
.payment tr td {
	width: 69%;
	border-bottom: 1px solid #BCD6AD;
	padding: 6px;
}
.required02 {
	width: 56px;
	padding: 4px;
	font-size: 14px;
}
.mb20 {
  margin-bottom: 20px;
}
.paybtn input {
	width: 90%;
	display: block;
	background: #DA0000 url(../img/mark02.png) no-repeat 8px 8px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	border: none;
	margin: 20px auto;
	padding: 10px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}
.itemlimit{
	color: #ff0000;
	margin-top: 10px;
}
.comp {
	width: 100%;
	position: relative;
	clear: both;
	border-top: 1px solid #101010;
	padding: 10px 0 5px;
}
.comp:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.comp {
	min-height: 1px;
}
* html .comp {
	height: 1px;/*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
.comp .itemoutline {
	float: left;
	width: 70%;
	margin-left: 10px;/*padding-right: 30px;*/
}
.comp .itemoutline .player_app {
  margin-top: 10px;
}
.comp .itemimg {
    clear: both;
    float: left;
    width: 26.6667%;
}
.comp .itemimg img{
	width: 100%;
  height: auto;
  object-fit: contain;
}
.comp h3,.comp h3 a{
	color: #1E811F;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 4px;
}
.history-card {
  position: relative;
  margin: 10px 0 14px;
  padding: 10px;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}
.history-card .history-card-thumb {
  width: 31%;
}
.history-card .history-card-body {
  width: 65%;
  margin-left: 4%;
}
.history-card .history-card-main h3 {
  margin-bottom: 6px;
  padding-right: 34px;
  line-height: 1.35;
}
.history-card .history-card-main h3 a {
  color: #111;
  font-size: 14px;
  text-decoration: none;
}
.history-card-genre,
.history-card-shop,
.history-card-date {
  margin: 3px 0;
  color: #333;
  font-size: 12px;
  line-height: 1.35;
}
.history-card-genre a,
.history-card-shop a {
  color: #1E811F;
  font-weight: bold;
}
.history-card .history-card-playback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
}
.history-card-playback-file {
  flex: 1 1 100%;
  color: #333;
  font-size: 12px;
  line-height: 1.35;
}
.history-card-playback-name {
  display: block;
  font-weight: bold;
}
.history-card .history-card-playback .downloadbtn {
  flex: 1 1 100%;
  margin-top: 0;
}
.history-card .history-card-playback ul {
  margin-bottom: 6px;
  color: #555;
  font-size: 12px;
  line-height: 1.35;
}
.history-card .history-card-playback select {
  flex: 0 0 6em;
  width: 6em;
  box-sizing: border-box;
  margin: 0;
}
.history-card .downloadfilearea .streamingbtn,
.history-card .downloadfilearea .downloadbtn {
  margin-top: 8px;
}
.history-card .history-card-playback .streamingbtn {
  flex: 1 1 auto;
  margin-top: 0;
}
.history-card .history-card-playback select + .streamingbtn {
  flex: 1 1 auto;
}
.history-card .downloadfilearea .streamingbtn a,
.history-card .downloadfilearea .downloadbtn a {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 8px 0;
}
.history-card .downloadfilearea .streamingbtn a {
  background: #1E811F;
}
.history-card .history-card-playback .downloadbtn a {
  background: #1E811F;
}
.history-card-unavailable {
  margin: 8px 0 0;
  padding: 8px;
  border-radius: 4px;
  background: #f3f3f3;
  color: #d00000;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
}
.history-card-detail-toggle {
  display: block;
  position: absolute;
  top: 8px;
  right: 8px;
  width: 38px;
  height: 34px;
  margin: 0;
  padding: 0;
  border: 1px solid #d0d0d0;
  border-radius: 17px;
  background: #fff;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.history-card-detail-panel {
  display: none;
  clear: both;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #d8d8d8;
}
.history-card-detail-panel.is-open {
  display: block;
}
.history-card .downloadfilearea.history-card-detail-files {
  border-top: none;
  padding-top: 0;
}
.history-card-detail-panel p {
  margin-top: 8px;
}
.downloadfilearea{
	border-top: 1px dashed #ccc;
	padding: 6px 0;
	margin: 2px 0 0 0;
	font-size: 14px;
}
.downloadfilearea .downloadbtn{
	clear: both;
	margin: 10px 0 0 0;
}
.downloadfilearea .downloadbtn a{
	width: 86%;
	max-width: 200px;
	display: block;
	background: #1E811F url(../img/dlbtn.png) no-repeat 8px 4px;
	background-size: 16px 16px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	padding: 4px 0;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
.downloadfilearea .streamingbtn{
	clear: both;
	margin: 10px 0 0 0;
}
.downloadfilearea .streamingbtn a{
	width: 86%;
	max-width: 200px;
	display: block;
	background: #1E811F url(../img/streamingbtn.png) no-repeat 5px 4px;
	background-size: 16px 16px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	padding: 4px 0;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
#credit_form select {
	width: 196px;
  }
/* ------my page---------------------- */
.itemoutline dl dt {
    clear: both;
    float: left;
    max-width: 100px;
}
.itemoutline dl dd {
    float: left;
    width: 64%;
}
.mypage-tabs {
  clear: both;
  margin: 16px 0 14px;
  border-bottom: 2px solid #1E811F;
}
.mypage-tabs ul {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.mypage-tabs li {
  display: table-cell;
  vertical-align: bottom;
}
.mypage-tabs a {
  display: block;
  margin: 0 2px;
  padding: 10px 4px 9px;
  border: 1px solid #d6d6d6;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background: #f4f4f4;
  color: #333;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
.mypage-tabs li.active a {
  background: #1E811F;
  border-color: #1E811F;
  color: #fff;
}
.mypage-filter-header {
  clear: both;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 8px 0 10px;
}
.mypage-filter-actions {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}
.mypage-filter-toggle {
  display: inline-block;
  min-width: 96px;
  padding: 8px 12px;
  border: 1px solid #bdbdbd;
  border-radius: 20px;
  background: #fff;
  color: #333;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.mypage-filter-toggle:after {
  content: "▼";
  display: inline-block;
  margin-left: 6px;
  font-size: 10px;
}
.mypage-filter-toggle[aria-expanded="true"]:after {
  content: "▲";
}
.mypage-filter-active {
  display: inline-block;
  margin-left: 8px;
  padding: 4px 6px 4px 8px;
  border-radius: 12px;
  background: #e6f4e6;
  color: #1E811F;
  font-size: 12px;
  font-weight: bold;
}
.mypage-filter-active a.mypage-filter-reset,
.mypage-filter-active a.mypage-filter-reset:link {
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-left: 6px;
  border-radius: 50%;
  background: #79b879;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  vertical-align: 1px;
}
.mypage-filter-active a.mypage-filter-reset:visited,
.mypage-filter-active a.mypage-filter-reset:hover,
.mypage-filter-active a.mypage-filter-reset:active {
  color: #fff;
  text-decoration: none;
}
.mypage-filter-panel.is-hidden {
  display: none;
}
.mypage-filter-row {
  display: flex;
  align-items: center;
  gap: 6px;
  clear: both;
}
.mypage-filter-options {
  margin-bottom: 10px;
}
.mypage-filter-keyword #fProductHistory {
  flex: 1 1 auto;
  width: auto;
  margin-left: 0;
}
.mypage-filter-keyword .searchbtn {
  flex: 0 0 44px;
  width: 44px;
  margin-left: 0;
}
.mypage-filter-options select {
  width: 104px;
  min-width: 0;
}
.mypage-filter-check {
  flex: 0 0 auto;
  clear: none;
  padding-top: 0;
  color: #fff;
}
.mypage-filter-check label,
.mypage-filter-check .label_for_only_hearts {
  color: #fff;
  font-size: 12px;
}
.mysabnav{
	clear: both;
	padding-top: 16px;
}
.mysabnav li.btn_history,.mysabnav li.btn_history2{
	width: 48%;
	float: left;
}
.mysabnav li.btn_history a{
	width: 100%;
	height: 46px;
	display: block;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #333;
	-webkit-border-radius: 10px 10px 0px 0px ;
	-moz-border-radius: 10px 10px 0px 0px ;
	border-radius: 10px 10px 0px 0px ;
	color: #fff;
	padding: 8px;
        text-align: center;
	text-decoration: none;
}
.mysabnav li.btn_history2 a{
	width: 100%;
	height: 46px;
	display: block;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #ccc;
	-webkit-border-radius: 10px 10px 0px 0px ;
	-moz-border-radius: 10px 10px 0px 0px ;
	border-radius: 10px 10px 0px 0px ;
	color: #000;
	padding: 8px;
        text-align: center;
	text-decoration: none;
}
.mysabnav li.btn_user,.mysabnav li.btn_user2{
	width: 48%;
	float: right;
}
.mysabnav li.btn_user a{
	width: 100%;
	height: 46px;
	display: block;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #ccc;
	-webkit-border-radius: 10px 10px 0px 0px ;
	-moz-border-radius: 10px 10px 0px 0px ;
	border-radius: 10px 10px 0px 0px ;
	color: #000;
	padding: 8px;
	text-align: center;
	text-decoration: none;
	line-height: 1.2em;
}
.mysabnav li.btn_user2 a{
	width: 100%;
	height: 46px;
	display: block;
	float: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #333;
	-webkit-border-radius: 10px 10px 0px 0px ;
	-moz-border-radius: 10px 10px 0px 0px ;
	border-radius: 10px 10px 0px 0px ;
	color: #fff;
	padding: 8px;
	text-align: center;
	text-decoration: none;
	line-height: 1.2em;
}
.changearea, .rakuten, .logout, .app {
  width: 94%;
  margin: 0 auto 30px;
  clear: both;
}
.change input{
	width: 100%;
	display: block;
	background: #168215;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	border: none;
	margin: 10px auto;
	padding: 10px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
}
.change input[disabled="disabled"] {
  opacity: 0.5;
}
.user-settings h3.std,
.user-settings .mstd {
  margin: 18px 3% 8px;
  padding: 0;
  border-top: none;
  color: #333;
  font-size: 16px;
  font-weight: bold;
}
.user-settings .changearea,
.user-settings .rakuten,
.user-settings .logout {
  width: auto;
  margin: 0 3% 16px;
  padding: 12px;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}
.user-settings .changearea dl {
  margin: 0 0 10px;
}
.user-settings .changearea dt {
  float: none;
  width: auto;
  margin: 0 0 4px;
  color: #555;
  font-size: 12px;
  font-weight: bold;
}
.user-settings .changearea dd {
  float: none;
  width: auto;
  margin: 0;
}
.user-settings .changearea input[type="text"],
.user-settings .changearea input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}
.user-settings .changearea ul li {
  margin-bottom: 10px;
  line-height: 1.4;
}
.user-settings .logout p input {
  margin: 0;
}
.user .mysabnav{
	border-bottom: 1px solid #333;
}
/* ------item page---------------------------------- */
.itemstd {
  font-size: 18px;
  font-weight: bold;
  margin: 5px 0;
  color: #fff;
  background: #666;
  padding: 5px;
  line-height: 1.4em;
}
.itemimg02 {
	padding: 0 10px 10px;
}
.itemimg02 img {
	width: 100%;
	height: auto;
}
.itemimg02 span.sale-item {
  display: inline-block;
  background-color: red;
  color: white;
  font-size: 20px;
  padding:1px;
  height: 22px;
  width: 100%
}
.itemdetail {
	width: 63%;
	margin: 0 auto;
}
.itemdetail dl dt {
	width: 40%;
	max-width: 100px;
	float: left;
	clear: both;
}
.itemdetail dl dd {
	width: 60%;
	float: left;
}
.zoom a {
	display: block;
	background: url(../img/zoom.png) no-repeat top left;
	padding: 2px 0 6px 22px;
	margin-top: 4px;
	text-decoration: none;
}
.favo a {
	width: 100%;
	max-width: 240px;
	display: block;
	background: #fff006 url(../img/mark_favo.png) no-repeat 10px 6px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 4px 0;
	margin: 10px 0;
	text-align: center;
	text-decoration: none;
	color: #000;
}
.samplefile a {
	width: 100%;
	max-width: 240px;
	display: block;
	background: #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: 4px 0;
	margin: 10px 0 20px;
	text-align: center;
	text-decoration: none;
	color: #000;
}
.selecttype {
	position: relative;
	padding: 6px 6px 0;
}
.selecttype:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.selecttype {
	min-height: 1px;
}
* html .selecttype {
	height: 1px;/*¥*//*/
    height: auto;
    overflow: hidden;
    /**/
}
.selecttype dt {
	width: 75%;
	float: left;
}
.selecttype.purchased-sku-row dt {
	margin-top: 4px;
}
.selecttype dd.itemprices {
	position: absolute;
    top: 28%;
    right: 8px;
    text-align: right;
    color: #cc0000;
    font-weight: bold;
    font-size: 16px;
}
.selecttype dd.itemprices span {
	font-size: 10px;
}
.selecttype dd.itemprices span.purchased-sku-status {
	font-size: 12px;
}
.selecttype dd.itemprices del {
    color: #ccc;
}
.sale {
  text-align: right;
}
.sale p {
  color: red;
  margin-top: 5px;
}
.redradio input[type=radio], input[type=checkbox] {
	margin-bottom: 0px;
}
.redradio[type=submit], .redradio[type=button], button {
	background-color: #FF0000;
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FF0000), to(#FF0000));
	background-image: linear-gradient(to bottom, #FF0000, #FF0000);
	color: white;
	border-color: #FF0000;
	border-radius: 5px;
	padding: 5px 15px;
	font-weight: bold;
}
.redradio[type=radio], .redradio[type=checkbox] {
	display: inline-block;
	margin-right: 6px;
}
.redradio[type=radio] + label, .redradio[type=checkbox] + label {
	position: relative;
	display: inline-block;
	margin-right: 10px;
	font-size: 12px;
	cursor: pointer;
}

@media (min-width: 1px) {
	.redradio[type=radio] {
		display: none;
		margin: 0;
	}
	.redradio[type=radio] + label {
		padding: 0 0 0 24px;
	}
	.redradio[type=radio] + label::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 18px;
		height: 18px;
		margin-top: -9px;
		background-color: white;
	}
	.redradio[type=radio] + label::before {
		border: 2px solid #ccc;
		border-radius: 30px;
		line-height: 1em;
	}
	.redradio[type=checkbox] + label::before {
		border: 2px solid #ccc;
	}
	.redradio[type=radio]:checked + label::after {
		content: "";
		position: absolute;
		top: 50%;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}
	.redradio[type=radio]:checked + label::after {
		left: 5px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		background: #FF0000;
		border-radius: 8px;
	}
}
.incart,.incart2{
	text-align: center;
}
.incart input {
	width: 94%;
	background: #ff8b25 !important;
	border-radius: 5px !important;
	border: none;
	cursor: pointer;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 0;
	margin: 0 auto 15px;
	color: #fff;
	border-color: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 3px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


.incart2 input {
	width: 94%;
	background: #ff6e01 url("../img/mark_arrow.png") no-repeat 10px center;
	border-radius: 5px;
	border: solid black 2px;
	cursor: pointer;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 0;
	margin: 10px auto;
	color: #fff;
}
.incart3,.incart4 {
	text-align: center;
	float: right;
	padding-top: 8px;
	position: relative;
}
.incart3 input {
	width: 30px;
	height: 30px;
	background: #fff;
	border-radius: 5px;
	border: 2px solid #999999;
	cursor: pointer;
	font-size: 15px;
	font-weight: bold;
	margin: 0 5px 10px;
	color: #999999;
}
.incart3 .on {
	background: #ccc;
	color: yellow;
}
.incart4 input {
	background: #ccc url("../img/mark_sample.png") no-repeat 20px center;
	background-size: 20px 20px;
	width: 140px;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	padding: 5px;
	margin: 0 5px 10px;
	color: #000;
}

.dl{
	text-align: center;
    padding-bottom: 10px;
}
.dl img{
	width: 100%;
}

.movesize {
	border: 1px solid #CCCCCC;
	width: 100%;
}
.movesize tr th {
	background: #eee;
    color: #333;
    font-size: 11px;
    padding: 10px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #CCCCCC;
    text-align: center;
}
.movesize tr td {
	border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
	padding: 6px 2px;
	text-align: center;
}
.movesize tr td.a_right {
	text-align: right;
}
.mstd {
	border-top: 1px solid #ccc;
    padding: 24px 10px 0;
    color: #333;
    font-weight: bold;
    margin: 20px 0 8px 0;
    clear: both;
    font-size: 20px;
}
.sampleimg ul li {
	width: 48%;
	float: left;
	margin-bottom: 10px;
}
.sampleimg ul li:nth-child(odd) {
	margin-right: 10px;
}
.sampleimg img {
	width: 100%;
	height: auto;
}
#videoContainer {
	clear: both;
	overflow: auto;
}

#videoContainer video {
	width: 100%;
	height: auto;
	margin-top: 0;
}
/* ------login page---------------------------------- */
.pas_dl{
	margin: 20px 0;
	clear: both;
}
.pas_dl dt.pas_dt{
	text-decoration: underline;
	color: #1E7F1F;
	cursor: pointer;
	margin-bottom: 20px;
}
.issuebtn input{
	width: 100%;
	display: block;
	background: #ccc;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
	padding: 10px 0;
	margin: 15px auto;
}

.logout p input{
	width: 100%;
	display: block;
	background: #ccc;
	border-radius: 5px;
	border: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
	padding: 10px 0;
	margin: 15px auto;
}
/*margin set*/
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.center {
	text-align: center;
}
.f14b{
	font-size: 14px;
	font-weight: bold;
}

em {
  font-weight: bold;
}

.error {
  color: red;
}

.red {
  color: red;
}
/* pages page*/
#pages .main h1 {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0 18px;
}

#pages .main h2 {
  border-bottom: 1px solid #088302;
  padding: 0 0 4px 0;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  margin: 20px 0 8px 0;
  clear: both;
}

#pages .main h3 {
  margin: 10px 0 18px;
  font-weight: bold;
}

#pages .main p {
  margin: 10px 0 18px;
}

.main .h201{
  padding: 5px 0 5px 8px;
  line-height: 1.4;
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  margin: 5px 0 5px;
  background: #666;
}

.main .cross-site-note{
  font-size: 20px;
  margin: 0 0 10px;
}

.main .cross-site-note a{
  display: block;
  padding: 5px 10px;
  border: 2px solid #c74a4a;
  font-weight: bold;
  text-decoration: none;
}

.main .pageGuide {
  margin: 5px 0 0;
}
.main .pageGuide li {
  display: inline;
}
.affiliate-url input {
  width: 100%;
  overflow: hidden;
  margin-bottom: 5px;
}
/* ------続きを読む---------------------------------- */
.grad-wrap{
	margin-bottom: 36px;
}
.grad-btn {
	z-index: 2;
	position: relative;
	display: inline;
	bottom: -67px;
	width:100px;
	margin: auto;
	padding: 8px;
	border-radius: 2px;
	background: #ccc;
	color: #fff;
	font-size: 12px;
	text-align: center;
	cursor: pointer;
}
.grad-btn-close {
	width:120px;
	padding: 5px;
	border-radius: 2px;
	background: #ccc;
	color: #fff;
	font-size: 12px;
	text-align: center;
	cursor: pointer;
}
.grad-item {
	position: relative;
	overflow: hidden;
	height: 36px; /*隠した状態の高さ*/
	margin-bottom: 10px;
}
.grad-item::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	content: "";
}
.grad-trigger {
	display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked + .grad-btn {
	display: none; /*チェックされていたら、grad-btnを非表示にする*/
}
.grad-trigger:checked ~ .grad-item {
	height: auto; /*チェックされていたら、高さを戻す*/
	margin-top: 18px;
}
.grad-trigger:checked ~ .grad-item::before {
	display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
.contents .error {
  display: block;
  margin-left: 0;
}

/* LuminousGallery */
@media screen and (max-width: 460px) {
  .lum-lightbox-inner img {
    max-width: 100vw !important;
    max-height: 85vh !important;
  }
}
.verifyForm .submit input[type="submit"] {
	margin-top: 8px;
	padding: 8px 16px;
	background-color: #8ea547;
	color: white;
}
.verify-error {
	color: red;
}

/* horizontal_scroll用 */
.hs_h3 {
  border-top: 1px solid #ccc;
  padding: 20px 0 10px 0;
  color: #333;
  font-weight: bold;
  margin: 20px 0 8px 0;
  clear: both;
  font-size: 18px;
}

.hs_body {
  position: relative;
}

.hs_text {
  margin-top: 10px;
  max-height: 38px;
  overflow: hidden;
}

.scroll_marker_left, .scroll_marker_right {
  position: absolute;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background-color: gray;
  opacity: 0.7;
  color: white;
  height: 150px;
  width: 20px;
  top: 0;
  padding-top: 65px;
  font-size: x-large;
}

.scroll_marker_left {
  left: 0;
}

.scroll_marker_right {
  right: 0;
}

.horizontal_scroll {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 12px 8px;
  display: -ms-flexbox;
  display: flex;
}

.horizontal_scroll > li {
  width: 100%;
}

.horizontal_scroll > li:not(:last-child) {
  margin-right: 5px;
}

.horizontal_scroll > li:last-child {
  padding-right: 5px;
}

.horizontal_scroll img {
  max-width: 385px;
  vertical-align: bottom;
}


/* bootstrap によるレイアウト崩れ防止 */
*, ::before, ::after {
  box-sizing: unset;
}

/* bootstrap の .contents 配下の要素にのみ適用する */
.contents *{
  box-sizing: border-box;
}

#searchForm .autoComplete_wrapper > ul {
  margin-top: 2rem; /*オートサジェスト欄がボタンにかからないようにする*/
}

/* ハンバーガーメニュー */
.hamburger-button {
  background-image: none;
  background-color: unset;
  color: green;
  border: none;
  margin: 0;
  font-size: 25px;
  font-weight: 950;
  padding: 4px 5px 10px;
  line-height: 24px;
}

.hamburger-button:focus {
  outline: none;
}

.hamburger-collapse {
  overflow: hidden;
  clear: both;
  max-height: 0;
  transition: max-height .35s ease-out;
}

.hamburger-collapse.in {
  max-height: none;
  border-bottom: solid 1px black;
}

.hamburger-collapse ul{
  flex-wrap: wrap;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  list-style: none;
  padding: 0 10px 10px;
}

.hamburger-collapse > ul > li{
  margin-bottom: 10px;
}

ul.hamburger-menu-links {
  display: block;
  width: 100%;
}

.hamburger-menu-title {
  background-color: black;
  color: white;
  font-size: 1rem;
  padding: 5px 0 5px 10px;
}

ul.hamburger-menu-links li {
  float: left;
  width: 44%;
  min-width: 150px;
  display: block;
  font-size: 0.93rem;
  padding: 8px 0 0 25px;
  background: left 0px top 6px no-repeat;
  background-size: 20px;
  margin: 0;
  margin-left: -5px;
}

ul.hamburger-menu-links li.genre {
  background-image: url(../img/menu_icon/01_genre.png);
}

ul.hamburger-menu-links li.actress {
  background-image: url(../img/menu_icon/02_actress.png);
}

ul.hamburger-menu-links li.shop {
  background-image: url(../img/menu_icon/03_shop.png);
}

ul.hamburger-menu-links li.series {
  background-image: url(../img/menu_icon/04_series.png);
}

ul.hamburger-menu-links li.subsc {
  background-image: url(../img/menu_icon/05_subsc.png);
}

ul.hamburger-menu-links li.sale_pop {
  background-image: url(../img/menu_icon/06_sale_pop.png);
}

ul.hamburger-menu-links li.sale_new {
  background-image: url(../img/menu_icon/07_sale_new.png);
}

ul.hamburger-menu-links li.search_all {
  background-image: url(../img/menu_icon/08_search_all.png);
}

ul.hamburger-menu-links li.rank_pop {
  background-image: url(../img/menu_icon/09_rank_pop.png);
}

ul.hamburger-menu-links li.rank_sale {
  background-image: url(../img/menu_icon/10_rank_sale.png);
}

ul.hamburger-menu-links li.rank_lower {
  background-image: url(../img/menu_icon/11_rank_lower.png);
}

ul.hamburger-menu-links li.rank_higher {
  background-image: url(../img/menu_icon/12_rank_higher.png);
}

ul.hamburger-menu-links li.rank_month {
  background-image: url(../img/menu_icon/13_rank_month.png);
}

ul.hamburger-menu-links li.rank_year {
  background-image: url(../img/menu_icon/14_rank_year.png);
}

/* コンテンツ下にハンバーガーメニューと同じものを出すときのスタイル */
.contents .hamburger-collapse.in {
  border-bottom: none;
  margin: 20px -10px 0;
}

.contents ul.hamburger-menu-links {
  width: calc(100% + 20px)
}

.contents ul.hamburger-menu-links li {
  width: calc(44% + 24px);
  min-width: 173px;
}

/* スマホ用ジャンル一覧 */
.genres > ul > li > a {
  display: none;
}

.genres > ul > li > ul > li > a {
    display: block;
    width: 100%;
    background-color: gray;
    color: white;
    font-size: 1rem;
    padding: 10px;
    margin-bottom: 10px;
}

.genres > ul > li > ul > li > ul {
  flex-wrap: wrap;
  display: flex;
  margin-bottom: 0;
  list-style: none;
  padding: 0 10px 10px;
}

.genres > ul > li > ul > li > ul > li {
  display: block;
  margin: 5px;
  font-size: 0.9rem;
}

/* ランキング表示用 */
.rank {
  display: block;
  background: no-repeat;
  background-size: 30px;
  background-position: top 0 left 5px;
  font-size: 14px;
  height: 36px;
  text-align: center;
  margin-top: 10px;
  padding-top: 10px;
  margin: auto;
  width: 120px;
}
.rank#rank_1 {
  background-image: url("/static/img/ranking/icon_r1.png");
}
.rank#rank_2 {
  background-image: url("/static/img/ranking/icon_r2.png");
}
 .rank#rank_3 {
  background-image: url("/static/img/ranking/icon_r3.png");
}
ul.recent_rankings {
  margin-top: 10px;
  text-align: center;
}
ul.recent_rankings li {
  display: inline-table;
  font-size: 1rem;
  margin: 4px 2px;
}

/* 購入商品のハートマーク関連 */
#only_hearts {
  margin: 6px;
  transform: scale(1.5, 1.5);
  vertical-align: initial;
}

.label_for_only_hearts {
  vertical-align: text-bottom;
  font-size: 1rem;
}

.label_for_only_hearts span{
  color: red;
}

.item-heart {
  height: 28px;
  width: 27px;
  font-size: 19px;
  color: red;
  background-color: white;
  border: solid 2px gray;
  border-radius: 5px;
  text-align: center;
  transform: scale(1, 0.95);
  position: relative;
  z-index: 1000;
  margin: 10px 5px 0;
  padding-top: 3px;
}

/* ユーザーレビュー */
.user_reviews #accessed_h3{
  padding-bottom: 10px;
}
.user_reviews .review{
  margin: 10px;
}
.user_reviews .item_name{
  padding-top: 10px;
  font-size: 18px;
}
.user_reviews .reviewer_name{
  font-size: 16px;
}
.user_reviews .review_datetime{
  float: left;
}
.user_reviews .review_evaluation{
  padding-left: 10px;
  float: left;
}
.user_reviews .review_text{
  font-size: 14px;
  clear: both;
}
.user_reviews .review_text .text-content {
  max-height: 44px; /* 初期表示の高さ */
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}
.user_reviews .review_text .text-content.expanded {
  max-height: none;
}
.no_reviews {
  padding: 10px;
}

/* 購入履歴ページのアプリダウンロードリンク */
#upper-mobile_download p{
  margin-bottom: 10px;
  font-size: 0.7rem;
  line-height: 0.9rem;
}
#upper-mobile_download ul{
  width: fit-content;
  margin: 0 auto;
}
#upper-mobile_download ul li{
  display: inline-block;
}
div.main article.items, div.top_items article.items {
	border-top: 1px solid #ccc;
	padding-top: 8px;
}
div.main article.items:first-of-type, div.top_items article.items:first-of-type {
	border-top: none;
	padding-top: 8px;
}
.fav-area {
	position: absolute;
	right: 44px;
}
button.fav {
	background-color: rgba(255,255,255,.7);
	background-image: none;
	color: red;
	border: 1px solid lightgray;
	border-radius: 18px;
	width: 36px;
	height: 36px;
	padding: 0;
	position: absolute;
}
.favorite-icon {
	display: block;
	margin: auto;
	width: 16px;
	height: 16px;
	background: url("/static/sp/img/heart.svg") center / contain no-repeat;
}
button.fav.on .favorite-icon {
	background-image: url("/static/sp/img/heart-fill.svg");
}

.main .search-too-many {
  margin: 28px 16px 36px;
  color: red;
  font-size: 15px;
  line-height: 1.8;
  text-align: center;
}

.search-refinement {
  box-sizing: border-box;
  margin: 10px 8px 14px;
  padding: 12px;
  border: 1px solid #f3a1be;
  border-radius: 4px;
  background: #fff8fb;
}

.search-refinement-title {
  margin: 0 0 8px;
  font-weight: bold;
  color: #333;
}

.search-refinement-summary {
  display: block;
  position: relative;
  padding-right: 24px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
}

.search-refinement-summary::-webkit-details-marker {
  display: none;
}

.search-refinement-summary:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid #d91f62;
  border-bottom: 2px solid #d91f62;
  transform: rotate(45deg);
}

.search-refinement[open] .search-refinement-summary {
  margin-bottom: 8px;
}

.search-refinement[open] .search-refinement-summary:after {
  margin-top: -2px;
  transform: rotate(225deg);
}

.search-refinement-async-body {
  min-height: 18px;
}

.search-refinement input[type="text"],
.search-refinement select,
.search-refinement-submit {
  box-sizing: border-box;
  width: 100%;
  height: 38px;
  margin-top: 8px;
  font-size: 14px;
}

.search-refinement input[type="text"],
.search-refinement select {
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
}

.search-refinement-submit {
  border: 0;
  border-radius: 4px;
  background: #e72d70;
  color: #fff;
  font-weight: bold;
}

.search-refinement-expanded {
  margin-top: 14px;
  padding: 16px 12px;
}

.search-refinement-message-title {
  margin: 0 0 8px;
  color: #d91f62;
  font-weight: bold;
  line-height: 1.5;
}

.search-refinement-message-body {
  margin: 0 0 8px;
  color: #333;
  line-height: 1.5;
}
