@charset "UTF-8";

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,img,
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;
  list-style: none;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

a {	
	color: #005fc0;
	/*color: #C30D23;*/
	text-decoration: none;
}

a:hover {	
	color: #C30D23;
}

body {
	margin: 0px;
	padding: 0px;
	color: #333333;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
	line-height: 1.6em;
	overflow-x: hidden;
	word-break: break-all;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

header {
	display: block;
	position: relative;
}

header .header_body {
	display: table;
	width: 1480px;
	margin: 0 auto;
}

.header_banner {
	width: 100%;
	display: block;
	margin: 0;
	padding: 0;
	line-height: 0;
	text-align: center;
}

.header_banner img {
	width: 100%;
	max-width: 1000px;
}

.pc_block {
	display: block;
}

.sp_block {
	display: none;
}

.header_body .header_logos {
	display: table-cell;
	width: 230px;
	padding: 1.0em 1.0em 0.5em 1.0em;
}

.header_logos img {
	width: 200px;
}

.header_body .header_right {
	display: table-cell;
	vertical-align: top;
	width: 100%;
}

.header_right ul {
	display: block;
	text-align: right;
	letter-spacing: -0.4em;
	width: 100%;
	padding: 0em 1em 0em 0em;
	margin-top: 3em;
}

.header_right ul li{
	display: inline-block;
	text-align: center;
	letter-spacing: normal;
	padding: 0.5em;
}

.header_right ul li a{
	padding: 0.8em 0.5em 0.8em 0.5em;
}

header .header_under {
    display: block;
    width: 100%;
    background: #C30D23 url('https://fetish-market.com/image/header_under_bk.jpg') repeat-y center;
    color: #FFF;
}

.header_under ul {
	width: 1480px;
	margin: 0 auto;
	display: block;
	text-align: right;
	letter-spacing: -0.4em;
	padding: 0em 1em 0em 0em;
}

.header_under ul li{
	display: inline-block;
	text-align: center;
	letter-spacing: normal;
	padding: 0.5em;
	color: #FFF;
}

.header_under ul li a{
	color: #FFF;
	padding: 0.8em 0.5em 0.8em 0.5em;
}

/* リスト内のアイコンの共通設定 */
.header_under ul li i {
    display: inline-block;
	padding-top: 3px;
    width: 24px; /* アイコンの幅 */
    height: 24px; /* アイコンの高さ */
    background-size: cover; /* 背景画像をアイコンの領域に収める */
    margin-right: 0.2em; /* テキストとの間隔 */
	margin-top: -0.2em;
    vertical-align: middle; /* テキストとの縦位置を揃える */
}

/* 各アイコンの背景画像 */
.download_icon {
    background-image: url('https://fetish-market.com/image/icon/download_icon.png');
}

.merch_icon {
    background-image: url('https://fetish-market.com/image/icon/merch_icon.png');
}

.auction_icon {
    background-image: url('https://fetish-market.com/image/icon/auction_icon.png');
}

.entry_icon {
    background-image: url('https://fetish-market.com/image/icon/entry_icon.png');
}

.faq_icon {
    background-image: url('https://fetish-market.com/image/icon/faq_icon.png');
}

.guide_icon {
    background-image: url('https://fetish-market.com/image/icon/guide_icon.png');
}

.login_icon {
    background-image: url('https://fetish-market.com/image/icon/login_icon.png');
}

.header_under ul li .fas, .header_under ul li .far {
    margin-right: 0em; /* テキストとの間隔 */
	margin-top: 0em;
}

main {
	width: 1480px;
	display: block;
	margin: 0 auto;
	padding-top: 1.0em;
}

.footer_end {
	width: 100%;
	background: #333;
	color: #FFF;
	padding: 0;
	display: block;
	margin-top: 3.0em;
}

footer {
	width: 100%;
	position: relative;
	background: #333;
	padding: 1.5em 30px 1.5em 30px;
	color: #FFFFFF;
	vertical-align: top;
	margin-top: 5.0em;
}

footer a{
	text-decoration: none;
	color: #FFFFFF;
}

.footer_body {
	max-width: 1400px;
	margin: 0 auto;
	display: block;
	position: relative;
}

.footer_menu ,.f_copyright{
	width: 100%;
	text-align: center;
	letter-spacing: -0.4em;
	font-size: 0.9em;
	font-weight: normal;
	letter-spacing: normal;
	color: #CCC;
}

.footer_menu ul {
	
}

.footer_menu i {
	margin: 0 0.3em 0;
}

.footer_menu li {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
	margin: 0 0 1.0em;
}

.footer_menu li a{
	padding: 5px 10px;
	text-align: center;
}

.footer_menu p{ 
	margin: 1.0em;
	color: #D5D5D5;
	font-size: 0.8em;
	letter-spacing: normal;
}

.footer_logo {
	width: 33%;
	float: right;
}

.footer_logo img{
	width: 100%;
}

.clear {
	clear: both;
}

#page_top {
    width: 80px;
    height: 80px;
    position: fixed;
    right: -100px;
    bottom: 15px;
    letter-spacing: -.4em;
}

.topback img {
	width: 50px;
}

.mein_body {
	float: right;
	width: calc( 100% - 240px );
	padding: 0 0 0 20px;
}

.meinitem_body {
	float: right;
	width: calc( 100% - 240px );
	display: block;
	padding: 0 0 0 20px;
	margin: 0 auto;
}


.info_movie_box {
	width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
	gap: 1.0em;
}

.information_box {
	margin: 0em;
	padding: 0.5em;
	border: 1px solid #CCCCCC;
	margin-bottom: 1.0em;
	overflow: hidden;
}

.information_box ul li a{
	display: table;
	width: 100%;
	border-bottom: 1px dashed #DDD;
	text-overflow: ellipsis;
}

.information_box li a .fastblock{
	display: table-cell;
	text-align: left;
	padding: 0.5em 0;
	overflow: hidden;
    white-space: nowrap;
	text-overflow: ellipsis;
}

.information_box li a .rightblock{
	display: table-cell;
	width: 140px;
	text-align: right;
	padding: 0.5em;
}

.movie_box {
	padding: 0;
}

.info_body {
	width: calc( 960px );
	padding: 0 0 0 0px;
	margin: 0 auto;
}

#otp-inputs {
  display: flex;
  justify-content: center;   /* 中央寄せ */
  gap: 10px;                 /* 各入力欄の間隔 */
  width: 100%;               /* 横幅いっぱい */
  margin: 20px 0;            /* 上下余白 */
}

#otp-inputs input {
  width: 75px;
  height: 85px;
  font-size: 2rem;
  text-align: center;
  border: 2px solid #ccc;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* フォーカス時 */
#otp-inputs input:focus {
  border-color: #007bff;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}

/* 入力されたとき */
#otp-inputs input:not(:placeholder-shown) {
  border-color: #005fc0;
}

.breadcrumbs {
	width: 100%;
	margin: 1em auto 1em;
	padding: 0px 0px 0px;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	font-size: 1em;
	color: #333333;
}

.breadcrumbs ul {
	display: table;
}

.breadcrumbs ul li {
	list-style: none;
	margin: 0 10px 0 0;
	float: left;
}

.breadcrumbs ul li span{
    white-space: initial;
	margin: 0 0 0 2px;
}
	
.breadcrumbs a:link { 
	cursor: pointer;
	line-height: 1.5em;
	text-decoration: none;
	white-space: initial;
	color: #005fc0;
}

.breadcrumbs a:visited { 
	cursor: pointer;
	line-height: 1.5em;
	text-decoration: none;
	white-space: initial;
	color: #005fc0;
}

.breadcrumbs a:hover {
	color: #C30D23;
	text-decoration: underline;
}

.merch_imgmenu {
	width: 100%;
	line-height: 0;
	margin-top: 1.0em;
}

.merch_imgmenu ul{
	width: 100%;
	letter-spacing: -0.4em;
}

.merch_imgmenu ul li{
	width: calc( 100% / 4 );
	letter-spacing: normal;
	display: inline-block;
	border: 1px solid #DDD;
}

.merch_imgpr {
	width: calc( 100% );
	letter-spacing: normal;
	display: inline-block;
	border: 1px solid #DDD;
	margin-top: 1.0em;
	line-height: 0;
}

.left_body {
	float: left;
	width: calc( 240px );
	background: #9E2227;
	padding: 1.0em;
}

.left_body img{
	width: 100%;
}

.left_list_body {
	border-radius: 8px;
	background-color: #FFF;
	padding: 0.5em;
	color: #333;
}

.left_body h3{
	color: #FFF;
}

.left_list_body h3{
	margin-bottom: 0.5em;
	color: #333;
}

.search_body {
	text-align: center;
}

.header-search {
	display: table;
    height: 50px;
    width: 600px;
    position: relative;
	margin: 3px auto;
}

.header-search span {
	display: table-cell;
	width: 80px;
	height: 50px;
	text-align: center;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border: 1px solid #808080;
	border-right: 0px;
	/*background: #C30D23;
	color: #FFF;*/
}

.header-search input {
	display: table-cell;
	width: 100%;
    height: 50px;
    background: transparent;
    padding: 0 52px 0 10px;
    border: 1px solid #808080;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.header-search input[type="text"]:focus {
	outline: 0;
}

.header-search button {
    background: url(//fetish-market.com/image/search.png) no-repeat center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    position: absolute;
    top: 4px;
    right: 6px;
    opacity: 0.8;
	cursor: pointer;
}

.search_body h1 {
	margin: 1.0em auto;
	display: inline-block;
	font-size: 1.6em;
	font-weight: bold;
}

.search_body .search_word {
	width: 600px;
	padding: 1.0 0;
	display: block;
	margin: 0 auto;
	position: relative;
}

.search_word ul {
	display: block;
	overflow: hidden;
	letter-spacing: -0.4em;
	text-align: left;
	padding: 0 24px 0 0;
}


.search_word ul li{
	display: inline-block;
	padding: 0.5em 1em 0.5em 0em;
	letter-spacing: normal;
}

.search_word .search_dell {
	position: absolute;
	right: 0;
	top: 8px;
	width: 24px;
	height: 24px;
}

.search_word .search_dell a {
	color: #C30D23;
}

.rankicn {
	margin-bottom: 8px;
}

.rank1 {
	color: goldenrod;
	font-size: 1.5em;
}

.rank2 {
	color: silver;
	font-size: 1.3em;
}

.rank3 {
	color: chocolate;
	ont-size: 1.1em;
}

.mypage_body {
	width: calc( 1080px );
	padding: 0 0 0 0px;
	margin: 0 auto;
}

.fetishlist_box li {
	display: inline-block;
	padding: 0.5em;
}

.cart_topbody {
	width: 100%;
}

.myedt_link {
	float: right;
	display: inline-block;
	padding: 0.5em;
}

.cart_topbody p{
	font-size: 1.2em;
	padding: 0.6em;
}

.point_table {
	width: 80%;
	margin: 0 10% 0;
}

.point_table td{
	width: 30%;
	padding: 0.5em;
	vertical-align: top;
}

.meinitem_body h1, .info_body h1 {
	margin: 1em auto;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
	padding: 0 8px;
	display: block;
}

.info_underbody {
	padding: 0.5em;
}

.meinitem_body h3 {
	margin: 0.5em auto;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
	padding: 0 8px;
	display: block;	
}

.first_infobody h1 {
	margin: 1em auto;
	display: block;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
	padding: 0 8px;
	font-weight: bold;
}

.first_infobody p {
	padding: 0.5em;
}

.secret_jpg {
	max-width: 800px;
	margin: 1.0em 0;
	display: block;
}

.secret_jpg img {
	width: 100%;
}

.receiving01_jpg {
	margin: 1.0em;
	display: block;
}

.receiving01_jpg img {
	width: 300px;
	float: left;
	margin: 0.5em 0.5em 0.5em 0em;
}

.receiving td{
	vertical-align: top;
}

.first_h1 {
	background: #F09BAE;
}
.faq_h1 {
	background: #80CCDA;
}
.secret_h1 {
	background: #8EC220;
}
.receiving_h1 {
	background: #F7B52B;
}

.meinitem_body h2, .mein_body h2 ,.info_body h2 ,.mypage_body h2 {
	margin: 1em auto;
	display: inline-block;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
	padding: 0 8px;
	font-weight: bold;
}

.meinitem_body h2 {
	text-align: left;
	position: relative;
	width: 100%;
	padding-left: 0;
}

.meinitem_body h2 span {
	display: inline-block;
	padding: 0 20px 0 0;  /* 見出しの左右の余白 */
	background-color: #fff;
    position: relative;
    z-index: 1;
	font-size: 1em;
}
/* :after または :before*/
.meinitem_body h2:after {
	content: "";
	width: 100%; 
	height: 1px; 
	display: block;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 0;
    transform: translateY(-50%); 
} 

.mypage_body h3, .info_body h3, .mein_body h3 {
	margin: 1em auto;
	font-size: 1.6em;
	line-height: 1.6em;
	font-weight: normal;
	padding: 0 8px;
	display: block;
	border-bottom: 2px solid #C30D23;
}

.mypageh4 {
	margin: 1em auto;
	font-size: 1.2em;
	line-height: 1.4em;
	font-weight: normal;
	padding: 0 8px;
	display: block;
	border-bottom: 1px double #DDD;
}

.make_table {
	display: table;
	width: 100%;
}

.make_table_th {
	display: table-cell;
	width: 25%;
	background: #F5F5F5;
	font-weight: bold;
	text-align: center;
	padding: 0.5em;
	border-bottom: 1px solid #DDD;
	vertical-align: middle;
}

.make_table_td {
	display: table-cell;
	width: 75%;
	padding: 0.5em;
	border-bottom: 1px solid #DDD;
	vertical-align: middle;
}

.mypage_table_body {
	width: 100%;
	letter-spacing: -0.4em;
	background: #F5F5F5;
	padding: 0.5em 0 0.5em 0.5em;
}

.mypage_table {
	width: calc( 50% - 1.0em );
	display: inline-block;
	letter-spacing: normal;
	margin: 0.5em 0em 0.5em 0.5em;
	background: #FFFFFF;
	vertical-align: top;
}

.mypage_table h4{
	display: block;
	font-weight: normal;
	padding: 0.5em;
	background: #C30D23;
	color: #FFF;
}

.mypage_table p{
	padding: 0.5em;
}

.mypage_paydate {
	width: 100%;
}

.mypage_menu ul {
    -webkit-box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    will-change: transform;
}

.mypage_menu li{
	display: inline-block;
	letter-spacing: normal;
	text-align: center;
}

.mypage_menu li a{
	color: #333333;
	font-size: 1.0em;
	text-decoration: none;
	padding: 1.0em 1.0em 0.9em 1.0em;
	display: block;
	border-bottom: 3px solid #FFFFFF;
}

.mypage_menu li a:hover{
	color: #C30D23;
	border-bottom: 3px solid #C30D23;
}

.mypage_menu .onlist{
	color: #C30D23;
	border-bottom: 3px solid #C30D23;
}


.under_li_menu ul {
    -webkit-box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    will-change: transform;
}

.under_li_menu li{
	display: inline-block;
	letter-spacing: normal;
	text-align: center;
}

.under_li_menu li a{
	color: #333333;
	font-size: 1.0em;
	text-decoration: none;
	padding: 1.0em 1.0em 0.9em 1.0em;
	display: block;
	border-bottom: 3px solid #FFFFFF;
}

.under_li_menu li a:hover{
	color: #C30D23;
	border-bottom: 3px solid #C30D23;
}

.under_li_menu .onlist{
	color: #C30D23;
	border-bottom: 3px solid #C30D23;
}

.downbox_form {
	display: inline-block;
}

.cartitem_tb {
	display: table;
	position: relative;
	width: 100%;
	margin: 0em 0em 1.5em 0em;
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}

.cartitem_tb .downbox {
	display: inline-block;
	position: relative;
	padding-left: 34px;
}

.cartitem_tb .downbox .present_icon {
	width: 34px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

.cartitem_tb .downbox i{
	font-size: 1.8em;
}

.cartitem_tb .downbox button {
	background: unset;
    border: 0;
	color: darkgray;
	display: flex;
}

.cartitem_tb .downbox button:hover {
	color: #444;
}

.cartitem_tb .downbox span{
	margin: 0 0 0 0.2em;
}

.cartitem_tb .dustbox {
	position: absolute;
	top: 10px;
	right: 0px;
}

.cartitem_tb .dustbox i{
	font-size: 1.8em;
}

.cartitem_tb .dustbox button {
	background: unset;
    border: 0;
	color: darkgray;
	cursor: pointer;
}

.cartitem_tb .dustbox button:hover {
	color: #444;
}

.cartitem_tb h4, .mypage_paydate h4{
	font-size: 1.2em;
	font-weight: 600;
	margin-bottom: 0.5em;
}

.cartitem_th {
	display: table-cell;
	width: 25%;
	padding: 0.5em;
	position: relative;
}

.cartitem_th img{
	width: 100%;
	vertical-align: middle;
}

.cartitem_td {
	display: table-cell;
	vertical-align: middle;
	padding: 0.5em;
}

.cartitem_td_cg {
	width: 20%;
	display: table-cell;
	vertical-align: middle;
	padding: 0.5em;
	text-align: center;
}

.sltxt {
	display: inline-block;
	font-size: 0.8em;
	color: #434343;
}

.cartitem_td_cg select {
    background-color: white;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    outline: 0;
    height: 42px;
    padding: 0 0 0 .6em;
    border: #ccc 1px solid;
    border-radius: 4px;
    line-height: 42px;
    cursor: pointer;
	font-size: 1.0em;
}

.make_table label {
	display: inline-block;
	border: 1px solid #808080;
	padding: 0.4em;
	margin: 0 0.4em 0.4em 0;
	border-radius: 8px;
}

.make_table input[type="checkbox"],.make_table input[type="radio"]{
	display: none;
}

.make_table label {
	cursor: pointer;
}

.make_table input[type="radio"]:checked + label{
	background-color: #C30D23;
	color: #FFF;
}

.make_table input[type="checkbox"]:checked + label{
	background-color: #C30D23;
	color: #FFF;
}

.make_table_td select {
    background-color: white;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    outline: 0;
    height: 42px;
    padding: 0 0 0 .6em;
    border: #ccc 1px solid;
    border-radius: 4px;
    line-height: 42px;
    cursor: pointer;
	width: 100%;
	font-size: 1.0em;
}

.cartitem_td_cg select:focus {
  -webkit-box-shadow: 0px 0px 6px #C30D23;
  -moz-box-shadow: 0px 0px 6px #C30D23;
  box-shadow: 0px 0px 6px #C30D23;
  outline-color: #C30D23;
  outline-offset: -2px;
}

.cart_select {
	width: 56px;
	margin: 0 1.0em 0 0;
}

.add_select {
	width: 100%;
	margin: 0 1.0em 0 0;
}

.entry_table_body {
	width: 100%;
	display: table;
}

.entry_table {
	display: table-cell;
	vertical-align: top;
	width: 50%;
	letter-spacing: normal;
	overflow: hidden;
}

.entry_table form {
	display: block;
	margin: 0 10px 0;
	background: #F7F7F7;
}

label {
	cursor: pointer;
}

.entry_table label, .info_body label{
	margin: 0.5em;
	display: block;
}

.entry_table h3{
	width: 100%;
	display: block;
	padding: 1.0em;
	border-top: 5px;
}

.formdiv {
	padding: 0em 1.0em 0.1em 1.0em;
	font-size: 0.9em;
}

.formdiv p{
	line-height: 1.8em;
	padding: 1.0em 0;
}

.bj_F7 {
	background: #F7F7F7;
}

.inputhalf_txt p {
	padding: 0.5em;
}

.hovertype1_text {
	width: 100%;
	padding: 5px 5px 5px 5px;
	height: 2.4em;
    font-size: 1.2em;
	outline: 0px;
	border: 1px solid #999;
	transition: 0.4s;
	}
	
.hovertype1_text:focus { 
    box-shadow: 0px 0px 5px #1877F2;
	outline: 0px;
}

.auction_yen {
	width: 80%;
	text-align: right;
}

.inputhalf {
	width: 40%;
	margin: 0 auto;
}

.inputhalf_def {
	width: 40%;
	margin: 0 auto;
}

.inputmiddle_txt {
	width: 75%;
	margin: 0 auto;
	text-align: left;
}

.inputmini_txt {
	width: 25%;
	margin: 0 auto;
	text-align: left;
}

.inputhalf_point {
	width: 35%;
	margin: 0 auto;
	padding: 5px 5px 5px 5px;
	height: 1.8em;
    font-size: 1.2em;
	outline: 0px;
	border: 1px solid #999;
	transition: 0.4s;
}

.inputhalf_point:focus { 
    box-shadow: 0px 0px 5px #1877F2;
	outline: 0px;
}

.design_select {
    padding: 0.5em;
    cursor: pointer;
    height: 2.4em;
    font-size: 1.0em;
    border-radius: 6px;
    outline: 0px;
    border: 1px solid #999;
    transition: 0.4s;
}

.info_body textarea {
    width: 100%;
    padding: 5px 5px 5px 5px;
    height: 250px;
    font-size: 1.2em;
    line-height: 1.2em;
    outline: 0px;
    border: 1px solid #999;
    transition: 0.4s;
}

.p30 {
	padding: 20px 0 0 0;
}

.p15 { padding: 0.25em; }

.font_s {
	font-size: 0.8em;
}

.cart_box_warning {
	margin: 1.0em 0 0 0;
	text-align: center;
	padding: 0 1.0em;
}

.cart_box_warning strong{
	text-align: center;
	width: 100%;
	display: block;
}

.cart_box_warning p{
	font-size: 0.8em;
}

.item_body a,.pr_item_body a {	
	color: #005fc0;
	text-decoration: none;
}

.item_body a:hover, .pr_item_body a:hover {	
	color: #C30D23;
	text-decoration: none;
}

.item_body {
    display: block;
    width: 100%;
    line-height: 1.6em;
}

.item_body ul {
    display: grid;
    gap: 16px; /* 各要素間の余白 */
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); /* 初期状態: 自動調整 */
    padding: 0;
    margin: 0;
    list-style: none; /* ulのデフォルトスタイルを解除 */
}

.item_body ul li {
    text-align: center;
    box-sizing: border-box;
    line-height: 1.2em;
    background: #fff; /* 必要に応じて背景色を設定 */
	overflow: hidden;
	position: relative;
}

.item_body ul li p {
    margin: 8px 0 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* ← ここで2行に指定 */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal; /* ← nowrapを解除 */
    text-align: left;
}

.item_body ul li div {
    font-size: 0.9em;
    color: #666;
	text-align: right;
}

.item_body ul li div strong {
	color: red;
}

.item_body ul li .present_i, .item_table_th .present_i, .cartitem_th .present_i{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 65px;
	z-index: 100;
}

.image_wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2; /* 横長画像の比率 (必要に応じて変更) */
    overflow: hidden;
    background: #000; /* 画像未読込時の背景色 */
    display: flex;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
}

.image_wrapper img {
    height: 100%; /* 縦方向に100%に拡大 */
    width: auto; /* 横方向はアスペクト比を維持 */
    object-fit: contain; /* 縦長・横長どちらも対応 */
    display: block;
}

.spbr {
	display: inline-block;
}

.pr_item_body {
    display: block;
    width: 100%;
    line-height: 1.6em;
}

.pr_item_body ul {
    display: grid;
    gap: 16px; /* 各要素間の余白 */
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); /* 初期状態: 自動調整 */
    padding: 0;
    margin: 0;
    list-style: none; /* ulのデフォルトスタイルを解除 */
}

.pr_item_body ul li {
    text-align: center;
    box-sizing: border-box;
    line-height: 1.2em;
    background: #fff; /* 必要に応じて背景色を設定 */
}

.pr_item_body ul li p {
    margin: 8px 0 4px;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	text-align: left;
}

.pr_item_body ul li .undertxt {
	text-align: left;
    font-size: 0.9em;
    color: #666;
    display: -webkit-box; /* 複数行対応のボックスを設定 */
    -webkit-box-orient: vertical; /* ボックスの方向を縦に設定 */
    overflow: hidden; /* はみ出た部分を非表示に */
    line-height: 1.2em; /* 行の高さを指定 */
    max-height: calc(1.2em * 2); /* 2行分の高さに制限 */
    white-space: normal; /* 改行を許可 */
    word-break: break-word; /* 長い単語を改行可能に */
    position: relative; /* 必要に応じて設定 */
}

.pr_item_body ul li .undertxt::after {
    content: '...'; /* 省略記号を表示 */
    position: absolute;
    bottom: 0;
    right: 0;
    background: #fff; /* 必要に応じて背景色を設定 */
    padding-left: 5px; /* 見栄え調整 */
    visibility: hidden; /* デフォルトで非表示 */
}

.pr_item_body ul li .undertxt:before {
    content: '';
    display: block;
    height: 100%;
    overflow: hidden;
    visibility: visible;
}

.campbox {
	width: 100%;
	display: table;
	position: absolute;
    bottom: 0em;
    background-color: #FFF;
}

.font06 {
	font-size: 0.8em;
	line-height: 1.4em;
}

.sale {
	background-color: #C30D23;
	color: #fff;
	width: 5%;
	padding: 0 0.3em 0.1em;
	display: table-cell;
	max-height: calc(1.4em * 1); /* 2行分の高さに制限 */
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-align: left;
	overflow: hidden;
}

.nonstock {
    display: inline-block;
    position: absolute;
    font-size: 2.5em;
    top: 37%;
    left: 13%;
    padding: 0.5em 0.4em 0.6em;
    border: 3px solid red;
    color: red;
    background-color: #FFF;
    font-weight: bolder;
}

.nonstock txt {
	padding: 0;
	margin: 0;
}

/* 点滅 */
.blinking{
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.camptime {
	width: 5%;
	padding: 0 0.2em 0.2em;
	margin: 0 0.5em 0 0;
	display: table-cell;
	max-height: calc(1.4em * 1); /* 2行分の高さに制限 */
	overflow: hidden;
	white-space: nowrap;
	text-align: left;
	border: 1px solid #C30D23;
	color: #C30D23;
}

.camptime-m {
	font-size: 0.6em;
    letter-spacing: normal;
    border: 1px #C30D23 solid;
    color: #C30D23;
    padding: 1px 6px;
    margin-bottom: 0px;
    display: inline-block;
    vertical-align: top;
}

.camptime-m-sp {
	font-size: 1em;
    letter-spacing: normal;
    border: 1px #C30D23 solid;
    color: #C30D23;
    padding: 1px 12px;
    margin-bottom: 12px;
    display: inline-block;
    vertical-align: top;
	font-weight: bold;
}

.def_purchase {
	font-size: 1.2em;
}

.campname {
	width: 90%;
	padding: 0 0em 0em;
	margin: 0 0.5em 0 0;
	display: table-cell;
	max-height: calc(1.4em * 1); /* 2行分の高さに制限 */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
	border: 1px solid #DDD;
	border-left: 0px;
	overflow: hidden;
}

.zero_camp .sale, .zero_camp .camptime {
	text-align: center;
	width: 50%;
}

.image_wrapper_y {
    position: relative;
    width: 100%; /* 横幅を親要素に合わせる */
    overflow: hidden;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 8px;
	overflow: hidden;
}

.image_wrapper_y img {
    width: auto; /* 横幅は自動調整 */
    height: auto; /* 高さも自動調整 */
    max-width: 100%; /* 横幅が親要素を超えない */

    max-height: 100%; /* 高さが親要素を超えない */
    object-fit: none; /* 画像を完全表示 */
    display: block;
}


/* 商品 */
.item_box_table {
	width: 100%;
	display: table;
}

.item_box_left {
	display: table-cell;
	padding: 0px 1.5em 0px 5px;
	vertical-align: top;
}

.item_box_right {
	display: table-cell;
	width: 320px;
	vertical-align: top;
}

.box1000 {
	display: inline-block;
	width: 100%;
}

.box_border {
	border: 1px solid #DDD;
	border-radius: 0.7em;
	padding: 0 0.6em;
}

.auction_phpbox {
	width: 800px;
	display: block;
	margin: 2.0em auto;
	padding: 0.6em;
}

.auction_phpbox .auction_200 {
	width: 150px;
}

.auction_phpbox table {
	width: 100%;
	background-color: khaki;
	border: 1px solid #DDD;
	margin-bottom: 1.5em;
}

.auction_phpbox table th{
	width: 25%;
	text-align: right;
	padding: 0.5em;
}

.auction_phpbox table td{
	text-align: left;
	padding: 0.5em;
}

.auction_phpbox label {
	display: inline-block;
	padding: 0.5em;
}

.auction_phpbox h2{
	margin: 1em auto;
    font-size: 1.6em;
    line-height: 1.6em;
    font-weight: normal;
    padding: 0 8px;
    display: block;
}

.auction_border {
	border: 1px solid #DDD;
	border-radius: 0.7em;
}

.item_table {
	display: table;
	width: 100%;
}

.item_table_th {
	vertical-align: top;
	display: table-cell;
	width: 25%;
	max-width: 300px;
	text-align: center;
	position: relative;
}

.item_table_th a {
	width: 100%;
	display: inline-block;
	background-color: #000;
	line-height: 0;
}

.sample_box video{
	max-height: 354px;
}

.item_table_th img {
	max-width: 100%;
	max-height: 300px;
}

.item_table_td {
	vertical-align: top;
	display: table-cell;
	width: 25%;
	max-width: 430px;
	padding: 0 1.0em 1.0em 1.0em;
}

.item_table_td ul{
	max-width: 430px;
	display: block;
}

.merch_cartbox {
	text-align: center;
}


.merch_cartbox .mon-01 {
	font-size: 1.8em;
	font-weight: bold;
	display: inline-block;
	margin-top: 0.2em;
}

.merch_cartbox .mon-02 {
	font-size: 1em;
	font-weight: normal;
	display: inline-block;
}

.merch_cartbox .mon-under {
	display: block;
}

.merch_cartbox p{
	padding: 1.0em;
}

.auction_box {
	padding: 0 0.6em;
}

.auction_box h4{
	margin: 0.5em auto;
    font-size: 1.4em;
    line-height: 1.6em;
    font-weight: normal;
    display: block;
	border-bottom: 1px dotted #DDD;
}

.auction_scroll {
	width: 100%;
	height: 150px;
	overflow-y: auto;
}

.auction_scroll table{
	width: 100%;
	border-spacing: 0px;
}

.auction_scroll table tr:nth-child(odd) td {
  background: #DDD;
}

.auction_scroll table th{
	padding: 0.3em 0.5em;
	font-size: 0.8em;
	text-align: left;
	background: khaki;
}

.auction_scroll table td{
	padding: 0.3em;
	font-size: 0.8em;
	text-align: left;
}

.auction_title {
	margin: 1.0em auto 0.5em;
    line-height: 1.6em;
    font-weight: normal;
	display: table;
	width: 100%;
}

.auction_title .auction_fs{
	text-align: left;
	font-size: 1.0em;
	display: table-cell;
}

.auction_title .auction_fx{
	text-align: right;
    font-size: 2.2em;
	display: table-cell;
	font-family: "M PLUS 1", sans-serif;
	font-optical-sizing: auto;
	font-weight: bold;
	font-style: normal;
}

.countdown_box {
    font-size: 1.2em;
	font-weight: bold;
    text-align: center;
    padding: 0.5em;
    margin-bottom: 0.5em;
    background-color: khaki;
}

.item_cartbox {
	display: table;
	width: 100%;
	text-align: center;
	padding: 0.5em 0em;
}

.item_cartbox_th {
	vertical-align: middle;
	display: table-cell;
	width: 60%;
	border-bottom: 1px solid #DDD;
	border-top: 1px solid #DDD;
	text-align: center;
	padding: 1.0em 0 0.8em;
	height: 140px;
}

.item_cartbox_th .mon-01 {
	font-size: 1.8em;
	font-weight: bold;
	display: inline-block;
	margin-top: 0.2em;
}

.item_cartbox_th .mon-02 {
	font-size: 1em;
	font-weight: normal;
	display: inline-block;
}

.item_cartbox_th .mon-under {
	display: block;
}

.item_cartbox_td {
	vertical-align: middle;
	display: table-cell;
	width: auto;
	font-size: 1.0em;
	padding: 1.0em 0 1.0em 0em;
	border-bottom: 1px solid #DDD;
	border-top: 1px solid #DDD;
}

.linkicon {
	margin: 0 0.8em 0 0;
}

.btn,
a.btn,
button.btn {
  font-size: 1.2em;
  position: relative;
  display: inline-block;
  padding: 0.6em 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #212529;
  border-radius: 0.5rem;
  border: 0;
}

.entry_btn,
a.entry_btn {
	width: 80%;
	color: #fff;
	background-color: #C30D23;
}
.entry_btn:hover,
a.entry_btn:hover {
  color: #fff;
  background: #ED9F9F;
}

.re_mail_button {
	width: 300px;
	margin: 1.0em auto;
}

.sopay_btn {
	width: 150px;
	color: #fff;
	background-color: #C30D23;
}
.sopay_btn:hover {
  color: #fff;
  background: #ED9F9F;
}

.sopay_btn span {
	color: #FFF;
}

.carts_btn {
	width: 150px;
	font-size: 1em;
	font-weight: normal;
	position: relative;
	display: inline-block;
	padding: 0.5em 0em;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: normal;
	color: #C30D23;
	border-radius: 0.5rem;
	border: 1px solid#DDD;
    border-bottom: 5px solid #C30D23;
	margin-top: 0.5em;
    background: #FFF;
}

a.carts_btn:hover {
  margin-top: 0.6em;
  color: #fff;
  background: #f56500;
  border-bottom: 2px solid #b84c00;
}

a.carts_btn {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}

.pr_likebb {
	width: 150px;
	margin: 0 auto;
	display: block;
}

.likebb {
	background: unset;
    border: 1px solid #808080;
    border-radius: 5px;
    padding: 0.5em;
    margin: 0.8em 0 0 0;
    width: 100%;
	cursor: pointer;
}

.affiliatebb {
	background: unset;
    border: 1px solid #808080;
    border-radius: 5px;
    padding: 0.5em;
    margin: 0.4em 0 0 0;
    width: 100%;
	cursor: pointer;
	display: inline-block;
	text-align: center;
}

.item_reviewbox {
	width: 100%;
	display: block;
	overflow-y: auto;
	height: 450px;
	border: 1px solid #DDD;
	border-radius: 0.7em;
	padding: 0.5em;
}

.review_date {
	width: 100%;
	display: block;
	padding: 0.5em 0;
	border-bottom: 1px dashed #DDD;
	margin-bottom: 1.0em;
}

.review_date img{
	width: 60px;
	display: block;
	float: left;
	margin: 0 1.0em 0 0;
}

.review_date h4{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.cou_table {
	width: 100%;
	letter-spacing: normal;
}

.cou_table th{
	padding: 0.6em;
	background: #F5F5F5;
	display: table-cell;
	width: 30%;
	vertical-align: top;
}

.cou_table td{
	padding: 0.6em;
	vertical-align: top;
}

.cou_table td a{
	float: none;
	color: #1E90FF;
}

.def_table {
	width: 100%;
	letter-spacing: normal;
}

.def_table th{
	padding: 0.6em;
	background: #F5F5F5;
	display: table-cell;
	width: 30%;
	vertical-align: top;
}

.def_table td{
	padding: 0.6em;
	vertical-align: top;
}

.def_table td a{
	float: none;
	color: #1E90FF;
}

.add_def_table {
	width: 100%;
	letter-spacing: normal;
	border-spacing: 0px;
}

.add_def_table th{
	padding: 0.6em;
	background: #F5F5F5;
	display: table-cell;
	width: 30%;
	vertical-align: middle;
	border-bottom: 1px solid #DDD;
}

.add_def_table td{
	padding: 0.6em;
	vertical-align: middle;
}

.add_def_table td a{
	float: none;
	color: #1E90FF;
}

.midtxt {
	font-size: 0.8em;
	font-weight: normal;
}


.tyape_icon {
	display: inline-block;
	background-color: #C30D23;
	color: #FFF;
	padding: 0.2em 0.4em;
	margin: 0 0.4em 0 0;
	font-size: 0.8em;
}

.nextpage {
	padding: 0.6em;
	letter-spacing: normal;
	margin: 1.0em 0 3.0em;
}

.nextpage a{
	color: #ffffff;
    background-color: #C30D23;
	text-decoration: none;
	padding: 0.5em 1.0em;
	border-radius: 5px;
}

.nextpage a:hover{
	color: #ffffff;
    background-color: #E58686;
	text-decoration: none;
}

.backlink {
	float: left;
}

.nextlink {
	float: right;
}

.item_imagelist {
	letter-spacing: -0.4em;
}

.item_imagelist li{
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
	text-align: center;
	width: calc(calc(100% / 6) - 0.4em);
	margin: 0.4em 0.2em 0em;
}

.item_imagelist ul{
	margin: 1.0em 0em 0;
}

.item_imagelist li img {
	width: 100%;
	border: 1px solid #DDD;
}

.pr_contents video {
    width: 60%;
    margin: 0 auto;
    display: block;
}

.pr_item_table_th {
	vertical-align: top;
	display: table-cell;
	width: 40%;
	max-width: 300px;
}

.pr_item_table_th img {
	width: 100%;
}

.pr_item_table_td {
	vertical-align: top;
	display: table-cell;
	max-width: 430px;
	padding: 0 1.0em 1.0em 1.0em;
}

.pr_contents h2 {
    margin: 0em;
    display: inline-block;
    font-size: 1.6em;
    line-height: 1.8em;
    font-weight: normal;
    padding: 0px;
}

.pr_contents h2:after {
	content: "";
    width: 100%;
    height: 0px;
    display: block;
    background-color: unset;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.pr_contents h3 {
    margin: 0em;
    display: inline-block;
    font-size: 1.4em;
    line-height: 1.6em;
    font-weight: normal;
    padding: 0px;
	margin: 0.2em 0 1.0em 0;
}

.pr_contents p {
	font-size: 1.2em;
}

.pr_item_table_td ul {
	margin: 1.0em 0 0 0;
}

.pr_item_table_td li {
	font-size: 1.2em;
	margin: 0.5em 0 0.5em 0;
}

.pagebox {
	background: #F7F7F7;
	padding: 0.5em 0.5em 0em 0.5em;
}

.pagebox ul{
	float: right;
	font-size: 0.8em;
	display: table;
	margin: 0 0 0.4em 0;
}

.pagebox li{
	display: table-cell;
	vertical-align: top;
	letter-spacing: normal;
}

.pagebox li a {
    margin: 0 0.4em 0 0;
    min-width: 36px;
    padding: 0 0.4em 0.2em;
    line-height: 1.5em;
    display: block;
    text-align: center;

    border: 1px solid #999;
    text-decoration: none;
	background: #FFFFFF;
}

.pagebox li span {
    margin: 0 0.4em 0 0;
    min-width: 36px;
    padding: 0 0.4em 0.2em;
    line-height: 1.5em;
    display: block;
    text-align: center;
    border: 1px solid #999;
}

.pagebox li a:hover{
	background: #F7F7F7;
}

.star-rating {
  display: inline-block;
  font-size: 1.2em;
}

.star-rating span {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  color: #ccc;  /* 空星の色 */
  position: relative;
}

.star-rating .full::before,
.star-rating .half::before {
  content: "★";
  position: absolute;
  top: 0;
  left: 0;
  color: #ffcc00; /* 塗りの色 */
  overflow: hidden;
}

.star-rating .full::before { width: 100%; }
.star-rating .half::before { width: 50%; }

.star-score {
  font-size: 1em;
  margin-left: 0.5em;
  vertical-align: top;
}

.star-score a{
	color: #005fc0;
}

.bottom_size {
  font-size: 2em;
}

.bottom_align {
  vertical-align: bottom;
}

.rating-summary {
  font-family: "メイリオ", sans-serif;
  width: 88%;
  font-size: 1.0em;
}
.rating-summary .total {
  font-weight: bold;
  margin-bottom: 8px;
}
.rating-row {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}
.rating-label {
  width: 50px;
  white-space: nowrap;
}
.rating-bar {
  position: relative;
  flex: 1;
  height: 14px;
  background: #d0d0d0; /* 灰色の背景バー */
  border-radius: 5px;
  margin: 0 8px;
  overflow: hidden;
}
.rating-bar span {
  display: block;
  height: 100%;
  background: #ffcc00; /* 星と同じ黄色 */
}
.rating-count {
  width: 90px;
  text-align: right;
  white-space: nowrap;
}

.rating-input {
  display: inline-flex;
  flex-direction: row-reverse; /* 右→左に星を並べる（クリックしやすい） */
  font-size: 2.0em;
  cursor: pointer;
}

.rating-input input {
  display: none; /* ラジオボタンは非表示 */
}

.rating-input label {
  color: #ccc; /* 未選択の灰色星 */
  transition: color 0.2s;
  user-select: none;
}

/* ホバー時や選択時に黄色に */
.rating-input label:hover,
.rating-input label:hover ~ label,
.rating-input input:checked ~ label {
  color: #ffcc00; /* 星の色 */
}

/* スマホでタップしやすくする */
.rating-input label {
  padding: 0 2px;
  margin: 0;	
}

	
.video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
}

/* Safariでobject-fitが崩れる対策 */
.video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  z-index: 2;
}

@media screen and (max-width: 1480px)
{

	main, header .header_body, .header_under ul{
		width: 100%;
	}
	
	.nonstock {
		font-size: 2.2em;
		top: 37%;
		left: 15%;
	}
	
}

@media screen and (max-width: 1300px)
{
	
	.item_imagelist li{
		width: calc(calc(100% / 4) - 0.4em);
	}
	
	.item_body ul {
		grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); /* 初期状態: 自動調整 */
	}
	
	.nonstock {
		font-size: 1.8em;
		top: 37%;
		left: 13%;
	}
	
}

@media screen and (max-width: 1170px)
{
	
	.mypage_body {
		width: calc( 100% );
		padding: 0 16px;
	}
	
	.item_body ul {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* 初期状態: 自動調整 */
	}
	
	.item_box_left {
		display: block;
		padding: 0px 1.5em 0px 10px;
		vertical-align: top;
	}
	
	.box1000 {
		display: table-cell;
		width: calc( 100% / 2 );
		padding: 0.5em;
	}
	
	.btn, a.btn, button.btn {
		width: 160px;
		font-size: 1em;
	}
	
	.carts_btn {
		width: 160px;
		font-size: 0.8em;
	}
	
	.box_border {
		border: 0px;
	}
	
	.item_table_th, .pr_item_table_th {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.item_table_th img {
		max-width: 100%;
		max-height: 300px;
	}

	.item_table_td, .pr_item_table_td {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0 0.6em;
	}
	
	.item_table_td ul {
		padding: 0.5em 0.6em 1.0em;
		font-size: 1.2em;
		background: #FAFAFA;
		border: 1px solid #CCC;
		width: 100%;
		max-width: 100%;
	}
	
	.item_table_td ul li{
		padding: 0em 0em 0.3em;
	}
	
	.nonstock {
		font-size: 1.6em;
		top: 33%;
		left: 13%;
	}
	
}

@media screen and (max-width: 1042px)
{	
	.nonstock {
		font-size: 1.8em;
		top: 35%;
		left: 16%;
	}
	
}

@media screen and (max-width: 900px)
{
	
	.item_body ul {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); /* 初期状態: 自動調整 */
	}
	
	.nonstock {
		font-size: 1.6em;
		top: 33%;
		left: 13%;
	}
	
}

.red {
	color: #FF0004;
}

.iconmg {
	margin: 0 0.2em 0 0;
}

.entry_submit {
    background: #0080FF;
    border-radius: 8px;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 30px;
    font-size: 0.8em;
    border-style: none;
    outline: 0;
    cursor: pointer;
    transition: 0.2s;
}

.entry_submit:hover {
    opacity: 0.6;
}

.point_submit {
    background: #0080FF;
    border-radius: 8px;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 30px;
    font-size: 0.6em;
    border-style: none;
    outline: 0;
    cursor: pointer;
    transition: 0.2s;
	margin-top: 0.5em;
}

.point_submit:hover {
    opacity: 0.6;
}

.a-warning-gr {
	width: 100%;
	padding: 0.5em;
	background: #f5f5f5;
	margin: 0 0 1.0em 0;
	text-align: left;
	letter-spacing: normal;
}

.a-warning-gr strong{
	color: #FF0004;
}

.a-warning-gr p{
	text-align: left;
}

.a-warning {
	width: 100%;
	padding: 0.5em;
	background: #FFF;
	margin: 0 0 1.0em 0;
	text-align: left;
	letter-spacing: normal;
	color: #FF0004;
}

.a-warning p{
	text-align: left;
}

.b-warning {
	width: 100%;
	padding: 0.5em;
	background: #FFF;
	margin: 0 0 1.0em 0;
	text-align: left;
	letter-spacing: normal;
}

.b-warning p{
	text-align: left;
}

.textright {
	text-align: center;
}

.bred {
	color: red;
	font-weight: 500;
	font-size: 1.4em;
	margin: 0 0 0 0.5em;
}

.mypage_edt_body li div .reward_head {
	width: 100%;
	vertical-align: top;
    padding: 0.2em 0.6em 0.6em 0.6em;
	height: auto;
    min-height: auto;
    border: 0px solid #EEEEEE;
    display: block;
    margin-bottom: 0.6em;
	line-height: 1.5em;
	background: #DBDBDB;
}

.mypage_edt_body li div .reward_head a {
	display: inline-block;
	color: #1E90FF;
	float: none;
	font-size: 1.2em;
	margin-right: 0.3em;
}

.mypage_edt_body li {
	padding: 0 1.0em;
}

.bottom-m {
	display: inline-block;
	margin-bottom: 0.5em;
}

.spbodymenu {
	display: none;
}

.sp_top_banner {
	margin-top: 1em;
}

.sp_top_banner img{
	width: 100%;
}

.copy-btn {
	font-size: 1.0em;
	margin-top: 0.5em;
}

.reward_div {
	width: 100%;
	display: block;
	overflow: hidden;
}

.reward_table {
	width: 100%;
	display: table;
	border-collapse: collapse;
}

.reward_table th{
	padding: 0.6em;
    background: #F5F5F5;
    vertical-align: middle;
	text-align: center;
	border-right: 1px solid #DDD;
}

.reward_table td{
	padding: 0.6em;
    vertical-align: middle;
	text-align: left;
	border-bottom: 1px solid #DDD;
	border-right: 1px solid #DDD;
}

.reward_table th:last-child, .reward_table td:last-child{
	border-right: 0px solid #DDD;
}

.bc_iconjmg {
	width: 100px;
}

/*SP*/
@media screen and (max-width: 786px)
{
	
	main, header .header_body, .header_under ul{
		width: 100%;
		min-width: 100%;
	}
	
	body {
		font-size: 26px;
	}
	
	main {
		margin-top: 80px;
	}
	
	header {
		z-index: 9999;
		position: fixed;
		top: 0;
        left: 0;
	}
	
	#page_top {
		width: 90px;
	}
	
	.pc_block {
		display: none;
	}
	
	.sp_block {
		display: block;
	}
	
	.topback img {
		width: 74px;
	}

	.information_box li a .rightblock{
		display: none;
	}
	
	.left_body {
		display: none;
	}
	
	.item_box_left {
		display: block;
		padding: 10px 0em;
		vertical-align: top;
	}
	
	.info_movie_box, .information_box, .movie_box  {
		width: 100%;
		display: block;
	}
	
	.sample_box {
		padding: 0 0.6em;
	}
	
	.sample_box video{
		max-height: 354px;
	}
	
	.item_box_left p {
		padding: 0 0.6em;
	}
	
	.mein_body {
		float: none;
		width: calc( 100% );
		padding: 0 10px;
		padding-top: 1px;
	}
	
	.meinitem_body {
		width: 100%;
		min-width: 100%;
		padding: 0 10px;	
		
	}
	
	.box1000 {
		display: block;
		width: calc( 100% );
		min-width: 100%;
		padding: 0em;
	}
	
	.item_body ul {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); /* 初期状態: 自動調整 */
	}

	.item_box_right {
		display: block;
		width: 100%;
		vertical-align: top;
	}
	
	.item_box_left p ,.header-search input, .entry_table_body {
		font-size: 1.2em;
	}
	
	.header-search, .header-search input{
		height: 75px;
	}
	
	.header-search button {
		background-size: 60%; 
		width: 65px;
		height: 65px;
	}
	
	.item_cartbox_th {
    	width: 40%;
	}
		
	.pr_likebb {
		width: 330px;
	}
	
	.carts_btn ,.btn, a.btn, button.btn{
		width: 325px;
		margin-bottom: 0.5em;
		font-size: 1.2em;
	}
	
	.entry_table, .info_body {
		width: 100%;
		display: block;
		padding: 0 10px;
		padding-top: 1px;
	}
	
	.entry_table_body {
		width: 100%;
		display: block;
		padding: 0 0px;
	}
	
	.spbodymenu {
		display: block;
		margin-top: 0.7em;
	}
	
	.spbodymenu ul{
		display: block;
		margin: 3px 0;
		letter-spacing: -0.4em;
	}
	
	.spbodymenu ul li{
		display: inline-block;
		margin: 0 3px;
		padding: 0.6em 0;
		border: 1px solid #CCC;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		font-size: 0.9em;
		letter-spacing: -0em;
		width: calc( 25% - 6px );
		text-align: center;
	}
	
	.spbodymenu ul li a{
		display: block;
		color: #C30D23;
	}
	
	.spbodymenu ul .active{
		color: #FFF;
		background-color: #C30D23;
	}
	
	.info_body h1 {
		margin-left: 6px;
	}
	
	.entry_table {
		margin-bottom: 1.5em;
	}
	
	.entry_table h3 {
		font-size: 1.2em;
	}
	
	.header_body .header_logos, .header_logos img {
		width: 215px;
	}
	
	.header_body .header_logos {
		padding: 0.5em 1.0em 0.5em 0.5em;
	}
	
	.header_right ul {
		display: none;
		padding: 0 5px 0 0;
	}
	
	.header_right ul li{
		font-size: 0.8em;
	}
	
	header .header_under {
		display: none;
	}
	
	.item_cartbox_th .mon-02 {
		margin: 0 0 0 0.5em;
	}
	
	.mypage_body{
		width: calc( 100% );
		margin-top: 0px;
		padding: 0.6em;
	}
	
	.mypage_body .h2top {
		/*margin-top: 0;*/
	}
	
	.mypage_table_body {
		padding: 0.5em 0;
	}
	
	.mypage_table{
		width: calc(100% - 1.0em);
	}
	
	.likebb {
		margin: 0.3em 0 0 0;
		width: 85%;
		font-size: 1.0em;
		color: #005fc0;
		font-weight: bold;
	}
	
	.downbb {
		background: unset;
		border: 1px solid #808080;
		border-radius: 5px;
		padding: 0.5em;
		margin: 0.8em 0 0 0;
		width: 100%;
		cursor: pointer;
		font-size: 1.0em;
	}
	
	.cartitem_th {
		width: 35%;
	}
	
	.cartitem_tb {
		display: block;
	}

	.cartitem_tb .dustbox {
		top: unset;
		right: 10px;
		bottom: 36px
	}

	.cartitem_tb .dustbox i{
		font-size: 2.5em;
	}
	
	.cartitem_td_cg {
		width: 100%;
		display: inline-block;
		font-size: 1.2em;
		text-align: left;
	}
	
	.textright {
		text-align: right;
	}

	.cartitem_td_cg select{
		height: 80px;
   		width: 80px;
		font-size: 24px;
	}
	
	.cartitem_td_cg option {
		font-size: 16px;
	}
	
	.mypage_menu ul{
		display: flex;
	}
	
	.mypage_menu ul li:first-child {
		width: 25%;
	}
	
	.under_li_menu li{
		width: 48%;
	}
	
	.inputhalf, .inputhalf_txt {
		width: 100%;
	}
	
	.inputmiddle_txt {
		width: 100%;
	}

	.inputmini_txt {
		width: 40%;
	}
	
	.entry_submit {
        font-size: 1.2em;
    }
	
	.smart50 th, .smart50 td{
		width: 50%;
	}
	
	.item_imagelist li{
		width: calc(calc(100% / 3) - 0.4em);
	}
	
	.bj_F7 {
		margin: 0 10px;
	}
	
	.point_table {
		width: calc(100% - 20px);
		margin: 0 10px 0;
	}

	.point_table td{
		display: block;
		width: 100%;
		padding: 0.5em;
		text-align: center;
	}
	
	.inputhalf_point {
		width: 25%;
		height: 2em;
		font-size: 1em;
	}
	
	.point_submit {
		background: #0080FF;
		border-radius: 8px;
		color: #FFFFFF;
		text-align: center;
		padding: 10px 20px;
		font-size: 0.6em;
		border-style: none;
		outline: 0;
		cursor: pointer;
		transition: 0.2s;
		margin-top: 0em;
		margin-left: 0.5em;
	}
	
	.pagebox {
		padding: 0.5em 0.2em 0em 0.2em;
	}
	
	.pagebox ul{
		font-size: 1.2em;
	}

	.pagebox li a {
		margin: 0 5px 0em 0;
		min-width: 58px;
		padding: 0 0.4em 0.2em;
		line-height: 1.4em;
	}

	.pagebox li span {
		margin: 0 5px 0em 0;
		min-width: 58px;
		padding: 0 0.4em 0.2em;
		line-height: 1.4em;
	}
	
	.campbox {
		width: 100%;
	}
	
	.campname {
		width: 100%;
		display: none;
	}
	
	.sale {
		width: 50%;
		text-align: center;
	}
	
	.camptime {
		width: 50%;
		text-align: center;
	}
	
	.camptime-m {
		font-size: 0.6em;
		padding: 0px 12px;
		margin-bottom: 0.5em;
	}
	
	.merch_imgmenu ul li{
		width: calc( 100% / 2 );
	}
	
	.make_table_th {
		display: block;
		width: 100%;
		text-align: left;
	}

	.make_table_td {
		display: block;
		width: 100%;
	}
	
	.add_def_table td{
		border-bottom: 1px solid #DDD;
	}
	
	.cou_table th{
		display: block;
		width: 100%;
	}

	.cou_table td{
		display: block;
		width: 100%;
	}
	
	.cartitem_tb .downbox {
		padding-left: 0px;
	}
	
	.auction_phpbox {
		width: 100%;
	}
	
	.spbr {
		display: block;
	}
	
	.nonstock {
		font-size: 1.8em;
		top: 34%;
		left: 11%;
	}
	
	.meinitem_body h2, .mein_body h2 ,.info_body h2 ,.mypage_body h2 {
		margin: 1em auto;
		display: block;
		font-size: 1.1em;
		line-height: 1.6em;
		font-weight: normal;
		padding: 0.4em 1.0em 0.7em 0.5em;
		font-weight: bold;
		background: #f7f7f7;
		border-top: 1px solid #dddddd;
		position: relative;
		white-space: nowrap;
        overflow: hidden;
	}
	
	.meinitem_body h2::before,
	.mein_body h2::before,
	.info_body h2::before,
	.mypage_body h2::before {
	  content: "";
	  display: inline-block;
	  width: 1em;              /* 全体のサイズ */
	  height: 1em;
	  border: 4px solid #C30D23;     /* 線の太さと色 */
	  border-radius: 50%;        /* 円にする */
	  background-color: white;   /* 中を白に */
	  margin-right: 0.3em;       /* 見出しとの間隔 */
	  vertical-align: middle;    /* 高さを中央に */
	  box-sizing: border-box;    /* 枠線をサイズ内に収める */
	}
	
	.item_body ul li p {
		font-size: 0.8em;
	}
	
	.item_box_left .s-font , .s-font {
		font-size: 0.8em;
	}
	
	.meinitem_body h2 span {
		display: inline-block;
		padding: 0 20px 0 0;  /* 見出しの左右の余白 */
		background-color: unset;
		position: relative;
		z-index: 1;
		font-size: 1em;
	}

	/* :after または :before */
	.meinitem_body h2:after {
		content: "";
		width: 100%; 
		height: 1px; 
		display: block;
		background-color: unset;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%); 
	}
	
	.static {
		position: static;
		max-width: 280px;
		margin: 0 auto;
	}
	
	.meinitem_body .contents_h1 {
		margin: 0em auto 1.0em;
		font-size: 1em;
		line-height: normal;
		font-weight: bold;
		padding: 0.6em;
		background: #ECECEC;
		display: block;
	}
	
	.item_reviewbox {
		height: 800px;
	}
	
	.item_table_td {
		padding: 0;
	}
	
	.reward_div {
		width: 100%;
		display: block;
		overflow-x: auto;
	}

	.reward_table {
		width: 1100px;
	}
	
	.bc_iconjmg {
		width: 200px;
	}
	
}

/*共通修正*/
.mein_body .margintop0 {
	margin-top: 0;
}









