@charset "utf-8";

/*
/*    CSS MENU
*/

.mtll{margin-top:	120px !important;}
.mbll{margin-bottom:	120px !important;}
.ptll{padding-top:	120px !important;}
.pbll{padding-bottom:	120px !important;}
.mtl{margin-top:	80px !important;}
.mbl{margin-bottom:	80px !important;}
.ptl{padding-top:	80px !important;}
.pbl{padding-bottom:	80px !important;}
.mtml{margin-top:	60px !important;}
.mbml{margin-bottom:	60px !important;}
.ptml{padding-top:	60px !important;}
.pbml{padding-bottom:	60px !important;}
.mtm{margin-top:	40px !important;}
.mbm{margin-bottom:	40px !important;}
.ptm{padding-top:	40px !important;}
.pbm{padding-bottom:	40px !important;}
.mtms{margin-top:	20px !important;}
.mbms{margin-bottom:	20px !important;}
.ptms{padding-top:	20px !important;}
.pbms{padding-bottom:	20px !important;}
.mts{margin-top:	10px !important;}
.mbs{margin-bottom:	10px !important;}
.pts{padding-top:	10px !important;}
.pbs{padding-bottom:	10px !important;}
.mtss{margin-top:	5px !important;}
.mbss{margin-bottom:	5px !important;}
.ptss{padding-top:	5px !important;}
.pbss{padding-bottom:	5px !important;}

.slick-dots > li:only-child {
    display: none;
}

time {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif !important;
}

/*******************************************************************************
/*******************************************************************************
guest_info_block */
.guest_info_block {
	background: #000;
	padding: 3px 0;
}

.guest_info_block p {
    color: #fff;
    font-size: 1.2rem;
}

.guest_info_block a {
    color: #fff;
}

/*******************************************************************************
/*******************************************************************************
header */

header {
	padding: 5px 0 15px;
	background: url(../img/common/wood_bg.jpg) center center repeat;
	background-size: 256px auto;
}

header .header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
}

header .site_catch {
    font-size: 1.1rem;
}

header .logo_wrap {
    width:  10.2%;
    margin-right: 11%;
}

header .functions_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

header .header_menu {
    font-size: 1.1rem;
    display: flex;
    justify-content: space-between;
    width: 222px;
}

header .header_menu a {
	display: block;
	padding-top: 40px;
	color: #000;
	text-decoration: none;
	text-align: center;
}

header .header_menu_games a {
	background: url(../img/common/h_icon_games.svg) center top no-repeat;
}

header .header_menu_login a {
	background: url(../img/common/h_icon_login.svg) center top no-repeat;
}

header .header_menu_register a {
	background: url(../img/common/h_icon_register.svg) center top no-repeat;
}

header .header_menu_cart a {
	background: url(../img/common/h_icon_cart.svg) center top no-repeat;
}

header .header_menu_mypage a {
	background: url(../img/common/h_icon_mypage.svg) center top no-repeat;
}

header .header_menu_wishlist a {
	background: url(../img/common/h_icon_wishlist.svg) center top no-repeat;
}

:root header a {
	background-size: auto 32px;

}

header .middle_wrap {
	margin-right: 30px;
}

header .search_wrap {
	position: relative;
	margin-top: 8px;
}

header .search_wrap form {
	position: relative;
}

header .search_wrap form input {
	font-size: 1.4rem;
	background: #fff;
	border-radius: 5px;
	padding: 8px 15px 8px 44px;
	border: 0;
}

header .search_wrap input::placeholder {
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	color: #acabab;
	font-size: 1.4rem;
}

header .search_wrap button {
	position: absolute;
	text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
	width: 42px;
	height: 34px;
	top: 1px;
	left: 0;
	background: url(../img/common/h_icon_search.svg) center center no-repeat;
	background-size: 21px auto;
}

header .sp_menu_wrap {
	display: none;
}

/*******************************************************************************
/*******************************************************************************
footer */
.footer_sns_block {
	margin-top: 80px;
	background: #000;
	display: flex;
	justify-content: center;
	padding: 5px 0;
}

.footer_sns_title {
	font-size: 1.6rem;
	color: #fff;
}

.footer_sns_list {
	display: flex;
}

.footer_sns_list li {
	margin-left: 25px;
	width: 26px;
}

.footer_sns_list li img {
	width: 100%;
}

.footer_bnr_block {
	margin-top: 40px;
}

.footer_bnr_box {
	margin-bottom: -20px;
}

.footer_bnr_box + .footer_bnr_box{
	margin-top: 20px;
}

.footer_bnr_box ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.footer_bnr_box li {
	margin: 0 10px 20px;
}

footer {
    margin-top: 40px;
    border-top: 1px solid #000;
    padding-bottom: 40px;
}

.footer_list {
	margin-top: 30px;
	display: flex;
    justify-content: center;
}

.footer_list li {
	position: relative;
	padding-right: 15px;
	line-height: 1;
}

.footer_list li + li {
	padding-left: 15px;
}

.footer_list li + li:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	height: 100%;
	width: 1px;
}

.footer_list:last-of-type {
	margin-right: 0;
}

.footer_list li a {
	color: #000;
	text-decoration: none;
	font-size: 1.4rem;
}

footer small {
    display: block;
    text-align: center;
	margin-top: 25px;
	font-size: 1.2rem;
}

/*******************************************************************************
/*******************************************************************************
page_top */
#page_top {
	position: fixed;
	z-index: 999;
	right: 20px;
    bottom: 20px;
}

#page_top a {
	background: #000000;
	position: relative;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	width: 50px;
	height: 50px;
}

#page_top a:before {
	position: absolute;
	content: '';
	display: block;
	border-right: 2px solid;
	border-top: 2px solid;
	border-color: #fff;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -3px) rotate(-45deg);
	transform: translate(-50%, -3px) rotate(-45deg);
	width: 14px;
	height: 14px;
}

/*******************************************************************************
/*******************************************************************************
ボタン */
.btn_mts_s {
	margin-top: 1rem;
}

.btn_mts {
	margin-top: 1.5rem;
}

.btn_mts_l {
	margin-top: 2rem;
}

.btn_mtm_s {
	margin-top: 2.5rem;
}

.btn_mtm {
	margin-top: 3rem;
}

.btn_mtm_l {
	margin-top: 3.5rem;
}

.btn_mtl_s {
	margin-top: 4rem;
}

.btn_mtl {
	margin-top: 4.5rem;
}

.btn_mtl_l {
	margin-top: 5rem;
}

.btn_mtl_big {
	margin-top: 5.5rem;
}

.btn {
	text-align: center;
}

.btn01 .btn_in {
    font-size: 1.4rem;
    background: #000;
    display: inline-block;
    width: 100%;
    padding: 15px 25px 15px 25px;
    color: #fff;
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	text-align: center;
	cursor: pointer;

	max-width: 300px;
}

.btn01.btn_gray .btn_in {
	color: #000;
	background: #d8d8d8;
}

.btn01 .btn_in span {
    display: inline-block;
    position: relative;
    padding-right: 24px;
}
.btn01 .btn_in span:before,
.btn01 .btn_in span:after {
	display: block;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn01 .btn_in span:before {
	content: '-';
	right: 10px;
}

.btn01 .btn_in span:after {
	content: '>';
	right: 0;
}

.btn01 .no_span {
	display: flex;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	align-items: center;
}

.btn01 .no_span:before,
.btn01 .no_span:after {
	display: block;
}

.btn01 .no_span:before {
	content: '-';
	order:2;
	margin-left: 8px;
}

.btn01 .no_span:after {
	content: '>';
	order:3;
}


.btn.btn_left {
	text-align: left;
}

.btn.btn_right {
	text-align: right;
}

.btn01.btn_fit .btn_in {
	max-width: none;
	width: auto;
}

.btn01.btn_reverse .btn_in span {
    display: inline-block;
    position: relative;
    padding-right: 0;
    padding-left: 24px;
}

.btn01.btn_reverse .btn_in span:before {
	content: '-';
	right: auto;
	left: 10px;
}

.btn01.btn_reverse .btn_in span:after {
	content: '<';
	left: 0;
	right: auto;
}

.btn_disabled .btn_in {
	cursor: unset;
	opacity: 1 !important;
}

.btn_col {
	display: flex;
	justify-content: center;
}

.btn_col02 {

}

.btn_col02 .btn {
	width: 41%;
}

.btn_col02 .btn + .btn {
	margin-left: 6%;
}

/*******************************************************************************
/*******************************************************************************
qa */
.a_box,
.q_box {
	padding: 0.2em 0 0 3em;
	position: relative;
}

.a_box:before,
.q_box:before {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 3rem;
	display: block;
	line-height: 1;
}

.a_box:before {
	content: 'A.';
	color: #000;
}

.q_box:before {
	content: 'Q.';
	color: #777;
}

.a_box {
	margin-top: 20px;
}

.qa_box + .qa_box {
	border-top: 1px solid #000;
	margin-top: 20px;
    padding-top: 20px;
}

/*******************************************************************************
/*******************************************************************************
page_title */
.page_title_block {
    background: #000;
	margin: 0 0 50px;
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	font-weight: bold;
	display: flex;
}

.page_title_block .inner {
    display: flex;
    align-items: center;
	justify-content: center;
	flex-direction: column;
    height: 100%;
	min-height: 140px;
	padding: 30px 0;
}

.page_title_block .page_title {
    color: #fff;
    margin-bottom: 0;
    font-size: 3rem;
}

.page_title_block .bread {
    display: flex;
}

.page_title_block .bread li {
    position: relative;
}

.page_title_block .bread li + li {
    margin-left: 2.3rem;
}

.page_title_block .bread li + li:before {
    content: '>';
    position: absolute;
    display: block;
    top: 50%;
    left: -1.5rem;
    color: #fff;
    font-weight: normal;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.1rem;
}

.page_title_block .bread a {
    color: #fff;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: normal;
    display : block;
}

/*******************************************************************************
/*******************************************************************************
text_underline */
.text_underline {
	font-weight: bold;
	background: linear-gradient(transparent 50%, #ffd0d0 50%);
	padding: 0 4px;
	margin: 0 4px;
}

/*******************************************************************************
/*******************************************************************************
woocommerce-message */
.woocommerce-message:not(:empty) {
	border: 1px solid #000;
	margin-bottom: 30px;
	padding: 10px 15px;
}

/*******************************************************************************
/*******************************************************************************
table */

/*++++++++++++++++++++++++++++
table_type01
++++++++++++++++++++++++++++*/
.main_content .table_type01 {
	table-layout: fixed;
}

.main_content .table_type01 a,
.main_content .table_type01 {
	font-size: 1.4rem;
	text-align: center;
}

.main_content .table_type01 a {
	display: inline;
}

.main_content .table_type01 thead {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.main_content .table_type01 th,
.main_content .table_type01 td {
	padding: 8px 5px;
}

.main_content .table_type01 td {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-bottom: 1px solid #ccc;
}

/* 注文履歴 */
.main_content .table_ordered td {
	padding: 12px 15px;
	border: 0;
}

.main_content .table_ordered tr {
	border-top: 1px solid #ccc;
}

.main_content .table_ordered tr:last-of-type {
	border-bottom: 1px solid #ccc;
}

.table_ordered td:nth-of-type(1) {
	width: 29%;
}

.table_ordered td:nth-of-type(2) {
	width: 21%;
}

.table_ordered td:nth-of-type(3) {
	width: 50%;
}

.table_ordered td {
	text-align: left;
	vertical-align: baseline;
}

.table_ordered dl {
	display: flex;
}

.table_ordered dl + dl {
	margin-top: 5px;
}

.table_ordered dd {
	display: inline;
		overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* wishlist */
.tinv-wishlist table.tinvwl-table-manage-list {
	margin-bottom: 0;
}

.table_wishlist tfoot {
	display: none;
}

.table_wishlist thead th:nth-of-type(1) {
	width: 10%;
}

.table_wishlist thead th:nth-of-type(2) {
	width: 20%;
}

.table_wishlist thead th:nth-of-type(3) {
	width: 50%;
}

.table_wishlist thead th:nth-of-type(4) {
	width: 20%;
}

.table_wishlist thead th:nth-of-type(5) {
	width: 15%;
}

/*++++++++++++++++++++++++++++
table_type02
++++++++++++++++++++++++++++*/
.table_type02 th,
.table_type02 td {
	border: 1px solid #000;
	font-size: 1.4rem;
	padding: 10px 15px;
	vertical-align: middle;
}

.table_type02 thead th {
    text-align: center;
    color: #fff;
	background: #777;
	padding: 7px 0px;
}

.table_type02 thead th:nth-of-type(1) {
	width: 65%;
}

.table_type02 thead th:nth-of-type(2) {
	width: 14%;
}

.table_type02 thead th:nth-of-type(3) {
	width: 21%;
}

.table_type02 tbody td:nth-of-type(2),
.table_type02 tbody td:nth-of-type(3) {
	text-align: center;
}

.table_type02 tfoot {
    text-align: center;
    background: #eeeeee;
}

.table_type02 .quantity .quantity_inner {
    justify-content: center;
}

/* カート上部 */
.table_type02.table_cart td {
	text-align: center;
}

.table_type02.table_cart td:nth-of-type(1) {
	width: 11.5%;
}

.table_type02.table_cart td:nth-of-type(2) {
	text-align: left;
}

/*++++++++++++++++++++++++++++
table_type03
++++++++++++++++++++++++++++*/
.table_type03 th,
.table_type03 td {
	border: 1px solid #000;
	font-size: 1.4rem;
	padding: 8px 15px;
	vertical-align: middle;
	text-align: center;
}

.table_type03 th {
	background: #eeeeee;
	width: 79%;
}

/*******************************************************************************
/*******************************************************************************
n_article / top_article */

/*++++++++++++++++++++++++++++
title
++++++++++++++++++++++++++++*/
.n_article.top_article h2,
.n_article h3 {
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	font-size: 2.3rem;
	color: #d00505;
}

.n_article .ttl_text_mini {
	font-size: 1.2rem;
	display: inline-block;
    vertical-align: middle;
    margin-left: 20px;
}

.n_article section + section {
	margin-top: 50px;
}

/*++++++++++++++++++++++++++++
block
++++++++++++++++++++++++++++*/
.border_block {
	border: 1px solid #000;
	padding: 28px;
}

/*++++++++++++++++++++++++++++
sent
++++++++++++++++++++++++++++*/
.sent a,
.sent p {
	font-size: 1.4rem;
}

.sent p + p {
	margin-top: 20px;
}

/*******************************************************************************
/*******************************************************************************
content_wrap */
.content_wrap {

}

/* main_content + asideの順番で書く
asideはデフォルトで左側に来る */
.content_has_side {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.content_has_side .main_content {
	width: 720px;
}

.content_has_side aside {
	width: 230px;
}

/*******************************************************************************
/*******************************************************************************
aside */
.side_ttl {
	font-size: 2.3rem;
	margin-top: 45px;
	margin-bottom: 10px;
	color: #d00505;
}

.side_category_list {
	font-weight: normal;
}

.side_category_list a {
	/* display: flex; */
	text-decoration: none;
	color: #fff;
	font-size: 2.5rem;
}

.side_category_list li + li {
	margin-top: 10px;
}

.side_category_list .side_category_img {
	width: 120px;
}

.side_category_list .side_category_txt {
	width: 110px;
	background: #000;
	padding-left: 8px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	line-height: 1.3;
}

.side_category_list .side_category_txt span {
	font-size: 1.1rem;
	display: block;
}

.side_category_list .side_category_txt .wide_txt {
	letter-spacing: 2px;
}

.side_category_list .side_category_txt .narrow_txt {
	letter-spacing: -2px;
}

.side_content_list li {
	font-size: 1.5rem;
}

.side_content_list li + li {
	margin-top: 10px;
}

.side_content_list a {
	text-decoration: none;
	color: #000;
	padding: 10px 0;
	padding-left: 52px;
	display: block;
}

.side_content_list .side_content_about a {
	background: url(../img/common/side_icon_about.svg) left center no-repeat;
}

.side_content_list .side_content_game a {
	background: url(../img/common/side_icon_coming.svg) left center no-repeat;
}

.side_content_list .side_content_photo a {
	background: url(../img/common/side_icon_photo.svg) left center no-repeat;
}

.side_content_list .side_content_movie a {
	background: url(../img/common/side_icon_movie.svg) left center no-repeat;
}

.side_content_list .side_content_staff a {
	background: url(../img/common/side_icon_staff.svg) left center no-repeat;
}

.side_content_list .side_content_summary a {
	background: url(../img/common/side_icon_summary.svg) left center no-repeat;
}

.side_content_list .side_content_contact a {
	background: url(../img/common/side_icon_contact.svg) left center no-repeat;
}

:root .side_content_list a {
	background-size: 40px auto;
}

/*******************************************************************************
/*******************************************************************************
game 一覧 */
.recent_games_list a {
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.archive_tournament_info {
	display: flex;
    align-items: center;
    flex: 1 1 0%;
}

.archive_tournament_middle {
	flex: 1 1 0%;
	margin-right: 15px;
	font-size: 1.4rem;
	color: #000;
}

.archive_tournament_addition {
	display: flex;
	/* justify-content: space-between; */
	flex-wrap: wrap;
}

.archive_tournament_addition .txt_grad {
	font-weight: normal;
}

.archive_tournament_ttl {
	font-weight: bold;
	margin-left: auto;
	order: 2;
	width: 200px;
	text-align: right;
}

.recent_games_list li {
	border-top: 1px solid #ccc;
	padding: 10px 0;
}

.recent_games_list li:last-of-type {
	border-bottom: 1px solid #ccc;
}

.recent_games_list .clock {
	margin-right: 5px;
    margin-left: 8px;
}

.archive_tournament_price {
	margin-right: auto;
	order: 3;
}

.archive_tournament_place {
	order: 3;
}

.category_tag {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid #000;
	border-left-width: 9px;
	font-size: 1.7rem;
	width: 88px;
	height: 52px;
	line-height: 1;
	padding-left: 5px;
	margin-right: 15px;
	background: #fff;
}

.category_tag span {
	font-size: 10px;
	display: block;
	white-space: nowrap;
	-webkit-transform-origin: left;
	transform-origin: left;
	-webkit-transform: scale(0.743);
	transform: scale(0.743);
	margin-bottom: 2px;
}

.category_tag .wide_txt {
	letter-spacing: 2px;
}

.category_tag .narrow_txt {
	letter-spacing: -2px;
}

.category_div01 {
	border-color: #a01e28;
	color: #a01e28;
}

.category_div02 {
	border-color: #0e3087;
	color: #0e3087;
}

.category_woman {
	border-color: #ea696e;
	color: #ea696e;
}

.category_mix {
	border-color: #68612d;
	color: #68612d;
}

.category_school {
	border-color: #1b8030;
	color: #1b8030;
}

.category_other {
	border-color: #821c9c;
	color: #821c9c;
}

/*******************************************************************************
/*******************************************************************************
game 詳細 */

.product_content {
	margin-top: 35px;
}

.product_content:empty {
	margin-top: 0;
}

.product_content,
.product_content a {
	font-size: 1.4rem;
}

.product_tables {
	margin-top: 35px;
}

.product_tables,
.product_tables a {
	font-size: 1.4rem;
}

.product_table {
	display: flex;
}

.product_table:nth-of-type(2n + 1) {
	background: #fff
}

.product_table + .product_table {
	border-top: 0;
}

.product_table dt {
	padding: 10px 15px 10px 10px;
	width: 185px;
}

.product_table dd {
	padding: 10px 10px 10px 0;
	flex: 1 1 0%;
}

.product_table p + p {
	margin-top: 0.8rem;
}

.product_top_block {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.single_product_info_block {
	padding: 20px;
	border: 1px solid #000;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.single_product_info_block form {
	display: flex;
	margin-left: auto;
	align-items: center;
}

.single_product_info_block .price .tax {
    font-size: 1.2rem;
    vertical-align: baseline;
}

.single_product_info_block .price {
    font-size: 2.4rem;
}

.single_product_info_block .price {
    margin-right: 25px;
}

.single_product_info_block .want_num,
.single_product_info_block .stock_num {
    font-size: 1.8rem;
    margin-left: 3px;
}

.single_product_info_block .quantity_input_wrap {
    margin-right: 5px;
}

.single_product_info_block .quantity_unit {
    margin-right: 10px;
    font-size: 1.2rem;
    padding-top: 8px;
    display: inline-block;
}

.single_product_info_block .on_sale_wrap {
	width: 100%;
	text-align: center;
}

.single_product_info_block .on_sale_wrap ins,
.single_product_info_block .on_sale_wrap del {
	text-decoration: none;
}

.single_product_info_block .on_sale_wrap del {
	font-size: 2rem;
	position: relative;
}

.single_product_info_block .on_sale_wrap del:before {
	content: '';
	width: 100%;
	background: #d00505;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.single_product_info_block .on_sale_wrap ins {
	padding-left: 52px;
	position: relative;
	color: #d00505;
}

.single_product_info_block .on_sale_wrap ins:before {
	content: '-->';
	display: block;
	position: absolute;
	top: 50%;
	left: 12px;
	font-size: 1.4rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
    font-weight: bold;
}

.single_product_info_block .on_sale_wrap .on_sale {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}

.single_product_info_block .is_over_text {
	width: 100%;
}

.single_product_info_bottom {
	margin-top: 3.5rem;
}

.on_sale_wrap + .stock_box {
	margin-left: auto;
	margin-right: 30px;
}

.on_sale_wrap + .stock_box + .cart {
	margin-left: 0;
	margin-right: auto;
}

#add_cart_popup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	background: rgba(0,0,0,0.7);
	display: none;
}

.cart_popup_inner {
    width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.cart_popup_content {
    background: #fff;
	padding: 4rem;
	position: relative;
	margin-left: 2rem;
	margin-right: 2rem;
	cursor: default;
}

.cart_popup_close {
    position: absolute;
    top: -0.5rem;
    right: 1rem;
	font-size: 3rem;
	cursor: pointer;
}

.cart_popup_inner .btn_col {
    margin-top: 4rem;
}

/*******************************************************************************
/*******************************************************************************
top page */

/*++++++++++++++++++++++++++++
slider
++++++++++++++++++++++++++++*/
.top_slider {
	margin-bottom: 75px;
}

.top_slider a {
	display: block;
}

.top_slider img {
	width: 100%;
}

/*-----------------------------
slickの設定（デフォルト）
-----------------------------*/
.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    color: #7f7f7f;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    color: #000;
}

.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

/*-----------------------------
slickの設定（オリジナル）
-----------------------------*/
.top_slider .slick-prev, .top_slider .slick-next {
    width: inherit;
    height: 100%;
}

.top_slider .slick-prev, .top_slider .slick-next {
    width: 20.81vw;
    left: 0;
    z-index: 10;
    text-align: right;
	padding-right: 50px;
	background: rgba(0,0,0,0.71);
}
.top_slider .slick-prev:before,
.top_slider .slick-next:before {
    font-size: 8rem;
	color: #000;
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	width: 25px;
	height: 25px;
}

.top_slider .slick-next:before {
	left: 20px;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}

.top_slider .slick-prev:before {
	right: 20px;
	-webkit-transform: translateY(-50%) rotate(-135deg);
	transform: translateY(-50%) rotate(-135deg);
}

.top_slider .slick-next {
    left: inherit;
    right: 0;
    text-align: left;
    padding-left: 50px;
    padding-right: 0;
}

.top_slider .slick-dots li button:before {
    content: "";
    background: #7f7f7f;
    border-radius: 50%;
    width: 10px;
    height: 10px;
}

.top_slider li.slick-active button:before {
    background: #000;
}

/*++++++++++++++++++++++++++++
information
++++++++++++++++++++++++++++*/
.information_list li {
	display: flex;
}

.information_list li + li {
	margin-top: 20px;
}

.information_list time {
	margin-right: 20px;
	font-size: 1.4rem;
}

.information_list p {
	flex: 1 1 0%;
	font-size: 1.4rem;
}

.information_list p a {
	color: #000;
	font-weight: bold;
}

/*++++++++++++++++++++++++++++
topics
++++++++++++++++++++++++++++*/
.topics_list {
	display: flex;
	flex-wrap: wrap;
}

.topics_list li {
	width: 32%;
	margin-right: 2%;
}

.topics_list li:nth-of-type(3n) {
	margin-right: 0;
}

.topics_list li:nth-of-type(n+4) {
	margin-top: 2%;
}

.topics_list a {
	position: relative;
	padding-top: 100%;
	display: block;
}

.topics_list a img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

/*++++++++++++++++++++++++++++
top_ttl_linkin
++++++++++++++++++++++++++++*/
.top_ttl_linkin a {
	font-size: 1.4rem;
	display: inline-block;
	padding-left: 15px;
    position: relative;
	vertical-align: middle;
	margin-left: 25px;
	text-decoration: none;
	color: #d00505;
}

.top_ttl_linkin a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: 1px solid #d00505;
	border-right: 1px solid #d00505;
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}

/*******************************************************************************
/*******************************************************************************
投稿一覧ページ */
.archive_pagination {
	text-align: center;
}

.archive_pagination_inner {
	display: inline-block;
}

.archive_pagination .wp-pagenavi {
	margin-top: 40px;
}

.archive_main_wrap .information_list {
	border-top: 1px solid #ccc;
}

.archive_main_wrap .information_list li {
	border-bottom: 1px solid #ccc;
	padding: 20px 0;
}

.archive_main_wrap .information_list li + li {
	margin-top: 0px;
}

/*******************************************************************************
/*******************************************************************************
検索一覧ページ */
.search_result_list {
	border-top: 1px solid #ccc;
}

.search_result_list li {
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
}

/*******************************************************************************
/*******************************************************************************
出張MASHUP一覧ページ */
.coming_list li + li {
	margin-top: 20px;
}

/*******************************************************************************
/*******************************************************************************
大会一覧ページ */
.game_filter_block {
	border: 1px solid #000;
	padding: 30px 115px;
}

.filter_dl {
	display: flex;
}

.filter_dl dt {
	font-size: 2.2rem;
	letter-spacing: 1px;
	margin-right: 35px;
	line-height: 1;
	min-width: 130px;
	padding-top: 4px;
}

.filter_dl dd {
	flex: 1 1 0%;
}

.filter_dl ul {
	display: flex;
	flex-wrap: wrap;
}

.filter_dl ul li {

}

.filter_btn {
	margin-top: 25px;
}

.filter_btn .btn_in {
	cursor: pointer;
	transition: 0.5s;
}

.filter_btn .btn_in:hover {
	opacity: 0.7;
}

.recent_game_block {
	margin-top: 40px;
}

.no_products_found_block {
	margin-top: 20px;
}

/*++++++++++++++++++++++++++++
ページャー
++++++++++++++++++++++++++++*/
.pagination_wrap {
	text-align: center;
	margin-top: 40px;
}

.pagination_wrap .pagination {
	display: inline-block;
}

.wp-pagenavi {
	display: flex;
}

.wp-pagenavi .previouspostslink {
    order: 1;
}

.wp-pagenavi span,
.wp-pagenavi a {
	order: 2;
	font-size: 1.4rem;
	min-width: 30px;
	height: 30px;
	padding: 5px;
	border: 1px solid #000;
	color: #000;
	margin-right: 10px;
	display: flex;
    justify-content: center;
	align-items: center;
	text-decoration: none;
}

.wp-pagenavi .nextpostslink {
    order: 3;
}

.wp-pagenavi .current {
	color: #fff;
	background: #000;
}

.wp-pagenavi .extend {
	border: 0;
	padding: 5px 0 13px 0;
    min-width: 20px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	min-width: 60px;
}

.wp-pagenavi .previouspostslink {
	margin-right: 20px;
}

.wp-pagenavi .nextpostslink {
	margin-right: 0;
	margin-left: 10px;
}

/*******************************************************************************
/*******************************************************************************
マイアカウントページ */
.ap_main_nav {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

.ap_main_nav li {
	width: 18.75%;
	border: 1px solid #000;
	text-align: center;
	background: #fff;
}

.ap_main_nav li a {
	padding: 15px 5px;
	font-size: 1.4rem;
	text-decoration: none;
	width: 100%;
}

.ap_nav_block_btn  {
	display: none;
}

.ap_main_nav .current {
    border: 2px solid #000;
    font-weight: bold;
    position: relative;
}

.ap_main_nav .current:before,
.ap_main_nav .current:after {
	content: '';
	position: absolute;
	display: block;
	bottom: -14px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.ap_main_nav .current:before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 12px 0 12px;
	border-color: #000000 transparent transparent transparent;
	z-index: 11;
}

.ap_main_nav .current:after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 10px 0 10px;
	border-color: #ffffff transparent transparent transparent;
	z-index: 12;

	-webkit-transform: translate(-50%, -3px);
	transform: translate(-50%, -3px);
}

.ap_bottom_nav_block {
	margin-top: 130px;
}

.ap_bottom_nav {
	display: flex;
}

.ap_bottom_nav li + li {
	margin-left: 25px;
}

.ap_bottom_nav li a {
	position: relative;
	padding-left: 26px;
	font-size: 1.4rem;
	text-decoration: none;
}

.ap_bottom_nav li a:before,
.ap_bottom_nav li a:after {
	display: block;
	position: absolute;
	font-family: 'Graduate', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Hiragino Sans, 'メイリオ', 'Meiryo', 'Osaka', 'MS PGothic', -apple-system, BlinkMacSystemFont, arial, helvetica, sans-serif;
	top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.ap_bottom_nav li a:before {
	content: '-';
	left: 0;
}

.ap_bottom_nav li a:after {
	content: '>';
	left: 10px;
}

.dashboard_wrap .tinv-lists-nav {
	display: none;
}

/*++++++++++++++++++++++++++++
注文詳細ページ
++++++++++++++++++++++++++++*/
.order_detail_info_table {
	display: flex;
	position: relative;
	padding-left: 18px;
	font-size: 1.4rem;
}

.order_detail_info_table + .order_detail_info_table {
	margin-top: 5px;
}

.order_detail_info_table:before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #000;
	position: absolute;
	top: 8px;
	left: 0px;
}

.order_detail_info_table dt {
	min-width: 85px;
}

.order_details {
	margin-top: 35px;
}

.woocommerce-pagination--without-numbers {
	margin-top: 15px;
	overflow: hidden;
}

.woocommerce-pagination--without-numbers .woocommerce-Button--previous {
	float: left;
}

.woocommerce-pagination--without-numbers .woocommerce-Button--next {
	float: right;
}
/*++++++++++++++++++++++++++++
お気に入り
++++++++++++++++++++++++++++*/
.tinv-lists-nav {
	margin-top: 15px;
}

.tinv-lists-nav > span {
	display: none !important;
}

.ftinvwl-chevron-right,
.ftinvwl-chevron-left {
	display: none !important;
}

.tinv-wishlist .tinv-prev {
	float: left;
}

.tinv-wishlist .tinv-next {
	float: right;
}

/*******************************************************************************
/*******************************************************************************
カートページ */

/* クーポンの削除ボタンを消す */
.woocommerce-remove-coupon {
	display: none;
}

/* お支払方法の説明ブロック */
.payment_explain_block {
	margin-top: 35px;
}

.payment_explain_block {
	font-size: 1.8rem;
}

.payment_explain_body {
	margin-top: 25px;
	padding: 25px 55px;
	display: flex;
	justify-content: center;
	border: 1px solid #000;
	font-weight: bold;
}

.payment_explain_body dl {
	display: flex;
	width: 100%;
}

.payment_explain_body dl dt {
	margin-right: 30px;
}

.payment_explain_body dl dd {
	flex: 1 1 0%;
}

.payment_explain_body dd p + p {
	margin-top: 5px;
}

.cart_main_wrap .quantity_unit {
	display: none;
}

.cart_dl {
	display: flex;
}

.cart_dl dd {
	flex: 1 1 0%;
}

.cart_dl + .cart_dl {
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid #ccc;
}

/* 国フィールドは必要ないため非表示 */
#billing_country_field {
	display: none;
}

/* カートの合計テーブル */
.cart_totals {
	margin-top: 35px;
}

.includes_tax {
	display: none;
}

.billing_team_name {
	padding: 13px 0 0 0;
}

/*******************************************************************************
/*******************************************************************************
お支払いページ */
.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 20px;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
	display: none;
}
.woocommerce-checkout-review-order-table {
	margin-top: 40px;
}

.woocommerce-checkout-payment .checkout_payment_title {
	margin-top: 20px;
	margin-bottom: 5px;
}

.woocommerce-checkout-payment .wc_payment_method label {
	font-weight: bold;
}

.woocommerce-checkout-payment .payment_explain_block {
	margin-top: 15px;
}

.cancel_policy_block {
    margin-top: 1.2em;
}

.cancel_policy_title {
    font-weight: bold;
    margin-bottom: 0.7em;
}

.cancel_policy_text {
	font-size: 1.5rem;
}

/*++++++++++++++++++++++++++++
注文完了サンクスページ
++++++++++++++++++++++++++++*/
.thanks_checkout_block .thanks_checkout_ttl {
	font-size: 1.8rem;
	margin-bottom: 60px;
	text-align: center;
}

.thanks_checkout_block .thanks_checkout_body {

}

.thanks_checkout_block .thanks_checkout_bottom {
	margin-top: 20px;
}

.thanks_order_detail {
	margin-top: 50px;
}

.thanks_order_detail .btn {
	display: none;
}

/*******************************************************************************
/*******************************************************************************
ログイン/新規会員登録 */

/*++++++++++++++++++++++++++++
ログイン
++++++++++++++++++++++++++++*/
.login_hosoku {
	margin-top: 20px;
}

.login_hosoku p {
	font-size: 1.4rem;
}

.member_block .form_layout_block {
	margin-top: 40px;
}

.member_block .checkbox_square {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.checkbox_square .checkbox_style span {
	font-size: 1.6rem;
	line-height: 1;
}

.checkbox_square .checkbox_style span:before {
	border-radius: 0;
	width: 20px;
	height: 20px;
}

.checkbox_square .checkbox_style input:checked + .checkbox_txt:after {
    width: 9px;
    height: 13px;
    left: 5px;
    top: 4px;
}

/*++++++++++++++++++++++++++++
会員登録
++++++++++++++++++++++++++++*/
.form_layout_block {
	margin-top: 30px;
}

.register_btn {
	margin-top: 50px;
}

/*******************************************************************************
/*******************************************************************************
投稿ページ */
.post_thumb {
	margin-bottom: 20px;
}
.post_content {
	overflow: hidden;
}

.post_content h1 {
	margin-bottom: 25px;
}

.post_content h1:not(:first-child),
.post_content h2:not(:first-child),
.post_content h3:not(:first-child),
.post_content h4:not(:first-child),
.post_content h5:not(:first-child),
.post_content h6:not(:first-child) {
	margin-top: 60px;
}

.post_content strong { font-weight: bold; }
.post_content em { font-style: italic; }
.post_content blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
 
.post_content .aligncenter {
    display: block;
    margin: 0 auto;
}
.post_content .alignright { 
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}
.post_content .alignleft { 
	float: left;
	margin-right: 15px;
	margin-right: 15px;
}
 
.post_content img[class*="wp-image-"],
.post_content img[class*="attachment-"] {
    height: auto;
	max-width: 100%;
	width: auto;
}

.post_content table,
.post_content ol,
.post_content ul {
	margin-top: 20px;
}

.post_content table + p,
.post_content ol + p,
.post_content ul + p {
	margin-top: 20px;
}

.post_content li {
	font-size: 1.4rem;
}

.post_content li + li {
	margin-top: 5px;
}

.post_content ul li {
	padding-left: 1em;
	position: relative;
}

.post_content ul li:before {
	content: '';
	position: absolute;
	top: 0.5em;
	left: 0.1em;
	width: 0.3em;
	height: 0.3em;
	background: #000;
	border-radius: 50%;
}

.post_content ol {
	counter-reset: item;
}

.post_content ol li:before {
	counter-increment: item;
	content: counter(item)'.';
	padding-right: .5em;
}

.post_content table td,
.post_content table th {
	font-size: 1.4rem;
	border: 1px solid;
	padding: 7px 15px;
	vertical-align: middle;
}

.post_content table th {
	background: #eeeeee;
	text-align: center;
}
 
.clearfix {
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/*******************************************************************************
/*******************************************************************************
固定ページ 基本的に投稿ページと同じCSS
*/

/*++++++++++++++++++++++++++++
お問い合わせページ
++++++++++++++++++++++++++++*/
.contact_form_block {
	margin-top: 30px;
	margin-bottom: 30px;
}

#nlmg-resign-form input {
	margin-top: 1rem;
	text-decoration: underline;
}



/* お問い合わせ入力時 */
.contact_form_block .wpcf7_input_step .submit_span,
.contact_form_block .wpcf7_input_step .back_btn {
	display: none;
}

/* 確認画面 */
.contact_form_block .wpcf7_confirm_step .confirm_span {
	display: none;
}

.contact_form_block .wpcf7_confirm_step .form_layout dd {
	padding: 12px 15px;
}

.contact_form_block .wpcf7_confirm_step .submit_btn_block .btn + .btn {
	margin-left: 6%;
}

.contact_form_block .wpcf7_confirm_step .submit_btn_block .btn  {
    width: 40%;
}

.contact_form_block .wpcf7_confirm_step .input_hosoku {
	display: none;
}

.ajax-loader {
	display: none!important;
}

/* そのほかの設定 */
.submit_btn_block .btn_in {
	position: relative;
}

.submit_btn_block input {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	top: 0;
	left: 0;
	z-index: 11;
	cursor: pointer;
}

.submit_btn_block span {
	position: relative;
	z-index: 10;
}

.wpcf7-form .submit_btn_block {
	display: none;
}
.wpcf7-form textarea[readonly],
.wpcf7-form input[readonly] {
	padding: 0 !important;
    border: 0 !important;
    background: none !important;
    -webkit-box-shadow: 0 0 0px 1000px #f3f3f3 inset !important;
}
.wpcf7-form textarea:read-only,
.wpcf7-form input:read-only {
	padding: 0;
    border: 0;
    background: none;
    -webkit-box-shadow: 0 0 0px 1000px #f3f3f3 inset;
}

.wpcf7-form span.wpcf7-not-valid-tip {
	font-size : 93%;
	color : #B70000;
	display : block;
}

.wpcf7-form .wpcf7-mail-sent-ok {
	display: none !important;
}

/* jsクラス付与時のちらつき防止 */
.wpcf7-form.wpcf7_input_step .submit_btn_block,
.wpcf7-form.wpcf7_confirm_step .submit_btn_block {
	display: flex;
	justify-content: center;
}

.contact_form_block .submit_btn_block .btn  {
    width: 100%;
}

.contact_form_block .back_btn .btn_in {
    background: #fff;
    border: 1px solid #000;
}

.contact_form_block .back_btn .btn_in span {
    color: #000;
}

/* お問い合わせページ以外はgoogle recaptureを隠す */
.grecaptcha-badge { visibility: hidden; }
.contact-page .grecaptcha-badge { visibility: visible; }
.contact-page #page_top {
	display: none;
}

/*++++++++++++++++++++++++++++
INBOX
++++++++++++++++++++++++++++*/
.mtm_solid {
	margin-top: 30px;
}

/* normal_popup */
.normal_popup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	background: rgba(0,0,0,0.7);
	display: none;
	z-index: 10000;
}

.normal_popup_inner {
    width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.normal_popup_inner.forced {
	cursor: default;
}

.normal_popup_title {
	text-align: center;
}

.normal_popup_content {
    background: #fff;
	padding: 4rem;
	position: relative;
	margin-left: 2rem;
	margin-right: 2rem;
	cursor: default;
	width: 500px;
}

.normal_popup_close {
    position: absolute;
    top: -0.5rem;
    right: 1rem;
	font-size: 3rem;
	cursor: pointer;
}

.normal_popup_inner .btn {
    margin-top: 4rem;
}
