@charset "UTF-8";



/* ================================================================================
/* 	ゴールド購入
/* ================================================================================ */


/* お支払い方法の選択
/* -------------------------------------------------------------------------------- */
.purchase_gold {
	margin: 0 5px;
}
.purchase_gold .banner_box {
	margin: 0 0 40px;
}


.purchase_gold .relation_box .head {
	padding: 5px 0 0 15px;
	border-left: 5px solid #666;
	border-bottom-width: 2px;
}
.purchase_gold .relation_box .head .label {
	font-size: 32px;
	font-weight: normal;
	line-height: 1;
}
.purchase_gold .relation_box .head span {
	float: none;
}
.purchase_gold .relation_box .head .label span {
	padding: 0 2px;
	font-size: 28px;
}
.purchase_gold .relation_box .head > span {
	position: relative;
	display: inline-block;
	width: 300px;
	margin-left: 30px;

	font-size: 14px;
	text-align: center;
	color: #fff;
	line-height: 32px;
	vertical-align: middle;

	background: #bebebe;
}
.purchase_gold .relation_box .head > span > span {
	padding: 0 1px;
}
.purchase_gold .relation_box .head > span:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -30px;

	height: 5px;
	margin: auto;

	border: solid transparent;
	border-width: 7px 15px;
	border-right-color: #bebebe;
}

.purchase_gold .relation_box .body {
	padding-top: 3px;
	overflow: hidden;
}
.purchase_gold .relation_box .body .item {
	float: left;
	width: 273px;
	margin: 12px 12px 0 0;

	border: 1px solid #bcbcbc;
}
.purchase_gold .relation_box .body .item.st_disable {
	position: relative;
	z-index: 10;
}
.purchase_gold .relation_box .body .item.st_disable > a:first-child {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	padding: 0;
	padding-left: 100%;
	background: rgba(0,0,0,0.3);
	overflow: hidden;
	z-index: 1000;
}
.purchase_gold .relation_box .body .item a,
.purchase_gold .relation_box .body .item span {
	position: relative;
	display: block;
	padding: 0 22px 0 0;
	text-decoration: none;
	font-size: 14px;
}
.purchase_gold .relation_box .body .item .logo {
	height: 94px;
	padding: 20px 0px 0px 10px;
	font-size: 16px;
}

.purchase_gold .relation_box .body .item .logo:hover {
	width: 273px;
	height: 96px;
	margin: -1px;
	padding: 19px 0px 0px 9px;
	border: 2px solid #004098;
	z-index: 99;
}

.purchase_gold .relation_box .body .item .logo:hover::after {
	bottom: 10px;
	right: 8px;
}

/* 矢印 */
.purchase_gold .relation_box .body .item .logo:after,
.hover_links a:after {
	content: "";
	position: absolute;
	bottom: 11px;
	right: 9px;
	z-index: 1;
	display: block;
	width: 15px;
	height: 15px;
	background-image: url(/pc/gold/common/images/arrow_normal.png);
	background-repeat: no-repeat;
}

.item a.logo:hover:after {
	background-image: url(/pc/gold/common/images/arrow_active.png);
}

/* クレジットカード */
.purchase_gold .item span.logo:hover:after {
	opacity: 0.3;
	z-index: 99;
	z-index: 0\9;
}
.hover_links {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 92px;
	background: rgba(255, 255, 255, 0.95);
	background: #fff\9;

	z-index: 9;
}
.purchase_gold .item span.logo:hover .hover_links {
	display: block;
}

.hover_links a {
	width: 250px;
	height: 32px;
	margin: 10px auto;
	line-height: 32px;
	text-align: center;

	border: 1px solid #999;
}
.hover_links a:hover {
	color: #fff;
	background: #004098;
}
.hover_links a:after {
	top: 0;
	bottom: 0;
	margin: auto;
}
.hover_links a:hover:after {
	background-image: url(/pc/gold/common/images/arrow_active.png);
}

/* ギフトコード */
.purchase_gold .relation_box .body .item .logo span {
	padding: 0;
	font-size: 13px;
}


/* ロゴ */
.purchase_gold .relation_box .body .item .logo img {
	display: block;
	margin-top: 13px;
}

/* 下部リンク */
.purchase_gold .relation_box .body .item .bottom_link {
	height: 33px;
	padding-left: 35px;
	line-height: 33px;
	font-size: 11px;
	color: #636363;
	background: #f5f5f5;
	border-top: 1px solid #bcbcbc;
}
.purchase_gold .relation_box .body .item .bottom_link:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	display: block;
	width: 20px;
	height: 20px;
	margin: auto;
	background: url(/pc/gold/common/images/icon_question.png) no-repeat 0 0;
}
.purchase_gold .relation_box .body .item .bottom_link:after {
	font-family: 'icons_tog';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: middle;
	-webkit-font-smoothing: antialiased;

	content: "\e602";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	display: inline-block;
	height: 10px;
	margin: auto;

	font-size: 10px;
}
.purchase_gold .relation_box .body .item .bottom_link:hover {
	color: #fff;
	background: #004098;
}
.purchase_gold .relation_box .body .item .bottom_link:hover:before {
	background-position: 0 -20px;
}

.purchase_gold .relation_box .body .item:nth-child(4n) {
	margin-right: 0;
}

/* 購入時の注意　注意事項
/* -------------------------------------------------------------------------------- */
.relation_box.attention {
	margin: 60px 0 30px;
}
.relation_box.attention ul {
	margin: 20px 15px;
}
.relation_box.attention ul li {
	position: relative;
	padding-left: 15px;
	line-height: 1.5;
}
.relation_box.attention ul li ~ li {
	margin-top: 15px;
}
.relation_box.attention ul li:before {
	content: "・";
	position: absolute;
	left: 0;
}
.relation_box.attention ul li a:hover {
	color: #999;
}
.relation_box.attention ul li > span {
	color: #585858;
}
.relation_box.attention h3 + .alert {
	float: left;
	margin: 0 0 0 18px;
	color: #D71313;
}


/* バナー
/* -------------------------------------------------------------------------------- */
.banner_box {
	border: none;
	overflow: hidden;
	margin-top: 30px;
}
.banner_box a {
	float: left;
	display: block;
	margin: 3px 0 0 3px;
	text-decoration: none;
}
.banner_box a:hover {
	opacity: 0.7;
}



/* ================================================================================
/* 	ゴールド購入手続き各種
/* ================================================================================ */

/* 広告枠
/* -------------------------------------------------------------------------------- */
.campaign_list .item {
	margin: 0;
}


/* 選択したお支払い方法
/* .................................................. */
.payment .body {
	overflow: hidden;
	padding: 20px 0 30px;
}

/* 見出し */
.payment em,
.payment .body > img {
	display: block;
	margin-bottom: 10px;

	font-size: 14px;
	font-weight: bold;
}
.payment em > span {
	font-size: 12px;
	font-weight: normal;
}
.payment .alert {
	clear: both;
	margin: 0 0 15px;
	line-height: 1.5;
	font-weight: bold;
	font-size: 13px;

	color: #d71313;
}

.payment .attention {
	margin: 0 0 10px;
	line-height: 1.5;
}

/* リンク */
.payment .icn_arrow_right {
	position: relative;
	float: right;
}
.payment .icn_arrow_right a {
	padding-right: 20px;
	text-decoration: none;
	line-height: 1.4;
}
.payment .icn_arrow_right a:hover {
	text-decoration: underline;
}
.payment .icn_arrow_right a:after {
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1.4;
	vertical-align: -1px;
}

/* 入力欄 */
.payment table {
	clear: both;
	width: auto;
}
.payment table th {
	position: relative;
	width: 150px;
	padding-right: 35px;
}
.payment table td {
	width: 300px;
}
.payment .st_require th:before {
	content: "";
	position: absolute;
	top: 10px;
	right: 0;

	display: block;
	width: 28px;
	height: 13px;
	margin: auto;

	background: #fff;
}
.payment .st_require th:after {
	font-family: 'icons_tog';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: middle;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	content: "\e623";

	position: absolute;
	top: 10px;
	right: 0;

	display: block;
	width: 30px;
	height: 15px;
	margin: auto;

	font-size: 30px;
	line-height: 15px;
	vertical-align: middle;

	color: #d71313;
}
.payment table input[type=text] {
	height: 36px;
	width: 100%;
	padding: 7px 10px;
}
.payment table .error {
	margin: 10px 0 5px;
}
.payment table .note {
	margin: 5px 0 0;

	font-size: 10px;
}

.payment ul li:before {
	content: "・";

	position: absolute;
	top: 0;
	left: 0;
}
.payment ul li ~ li {
	margin-top: 5px;
}

.payment table .name td {
	vertical-align: bottom;
}

/*　img_yahoo
/* .................................................. */
.img_yahoo {
	display: block;
	width: 227px;
	margin-top: 30px;
}


/* 商品選択
/* -------------------------------------------------------------------------------- */
.purchase_list .paragraph {
	display: table;
	width: 100%;
	margin: 20px 0 15px;
}
.purchase_list .paragraph > p {
	display: table-cell;
	vertical-align: middle;
}
.purchase_list .paragraph > dl.amount {
	display: table-cell;
	max-width: 520px;
	padding: 0;

	text-align: right;
	vertical-align: middle;
}
.purchase_list .paragraph > dl.amount dt {
	float: none;
	display: inline-block;
}
.purchase_list .paragraph > dl.amount dd {
	float: none;
	display: inline-block;
	margin-left: 10px;
	font-size: 30px;
	vertical-align: middle;
}

/* table
/* .................................................. */
.purchase_list table {
	width: 100%;
	margin-bottom: 20px;

	border-bottom: 1px dotted #666;
}
.purchase_list thead th {
	text-align: center;

	color: #5a5a5a;
	background-color: #e4e4e4;
	border-bottom: 1px solid #fff;
}
.purchase_list thead th ~ th {
	border-left: 1px solid #fff;
}


/* body
/* .................................................. */
.purchase_list tbody td {
	padding: 20px;
	vertical-align: middle;
	cursor: pointer;
}
.purchase_list tbody tr + tr td {
	border-top: 1px dotted #666;
}

.purchase_list tbody tr:hover .description {
	text-decoration: underline;
}

/* current */
.purchase_list tbody .st_current {
	background: #f2f2f2;
}


/* 選択 */
.purchase_list tbody td.select {
	width: 60px;

	text-align: center;
}
.purchase_list tbody td.select label {
	padding-left: 18px;
}

/* ボーナス・価格 */
.purchase_list tbody td.bonus,
.purchase_list tbody td.price {
	width: 200px;
}
.purchase_list tbody td.price {
	text-align: right;
	font-weight: bold;
}

.purchase_list tbody td.bonus ul li ~ li {
	margin-top: 5px;
}
.purchase_list tbody td.bonus ul li span {
	padding-left: 5px;
}




/* ================================================================================
/* 	クレジットカード
/* ================================================================================ */
.payment.credit .body > .icn_arrow_right,
.payment.credit .body > .icn_arrow_right a:after {
	line-height: 40px
}
.payment.credit table {
	float: left;
	clear: none;
}


/* ================================================================================
/* 	Tポイント
/* ================================================================================ */

/* gold_box
/* -------------------------------------------------------------------------------- */
.gold_box.t_exchange > div .body {
	padding-top: 50px;
}
.gold_box.t_exchange  ul {
	clear: both;
}

/* base_box exchange_point
/* -------------------------------------------------------------------------------- */
.base_box.exchange_point {
	overflow: hidden;
	padding-bottom: 20px;
}

/* amount_tpoint
/* .................................................. */
.exchange_point .paragraph {
	margin-bottom: 0;
	padding-bottom: 15px;
	border-bottom: 1px dotted #666;
}
.exchange_point .body > .amount {
	float: left;
	padding: 15px 0;
}
.exchange_point .body > dl.amount + .amount {
	float: right;
	border-top: 0;
}
.exchange_point .paragraph + .amount dt span {
	padding-left: 0;
}
.exchange_point .paragraph + .amount dt span:before {
	display: none;
}
.exchange_point .body > .amount dt span img {
	width: auto;
	padding-left: 5px;
	vertical-align: top;
}
.exchange_point .body > .amount dd {
	float: left;
	padding-left: 30px;
	text-align: left;
}

/* count_box
/* .................................................. */
.exchange_point .count_box {
	position: relative;

	clear: both;
	float: left;
	width: 405px;

	border: 5px solid #c6c6c6;
}
.exchange_point .count_box:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -24px;
	width: 20px;
	height: 10px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-left-color: #c6c6c6;
}
.exchange_point .count_box .head {
	padding: 10px 15px;

	font-weight: bold;
	background: #c6c6c6;
}
.exchange_point .count_box .body {
	overflow: hidden;

	padding: 15px 13px;
}
.exchange_point .count_box .point_value {
	float: right;

	line-height: 36px;
}
.exchange_point .count_box .st_error > p {
	margin-top: 0;
}
.exchange_point .count_box .form_box {
	margin-right: 20px;
}

/* result
/* .................................................. */
.exchange_point .result {
	float: right;
	width: 405px;
	min-height: 108px;
	padding: 15px 10px;

	background: #e4e4e4;
	text-align: center;
}
.exchange_point .result .bonus:before {
	content: "+";
	display: block;
	padding-bottom: 5px;

	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.exchange_point .result .amount dt {
	float: none;
	display: inline-block;
	background: transparent;
}
.exchange_point .result .amount dd {
	float: none;
	display: inline-block;
	margin-left: 10px;

	font-size: 30px;
	vertical-align: middle;
	text-align: center;
}
.exchange_point .result .amount {
	padding: 0;
}

.exchange_point .result .bonus > em,
.exchange_point .result .bonus > div {
	display: inline-block;
	overflow: visible;
	line-height: 1.6;
}
.exchange_point .result .bonus > span span {
	font-weight: bold;
	word-break: break-all;
}
.exchange_point .result + .paragraph {
	clear: both;
	padding-top: 15px;
}

/* ================================================================================
/* 	ギフトコード
/* ================================================================================ */
.payment.serial th {
	width: 30px;
	padding-right: 30px;
}

.payment + .relation_box.attention {
	margin-top: 10px;
}

/* ================================================================================
/* 	ゴールド購入確認
/* ================================================================================ */

/* base_box
/* -------------------------------------------------------------------------------- */
.comfirm {
	padding: 30px 0 0;
}

/* detail_list
/* .................................................. */
.hero .detail_list {
	width: 100%;
	margin: 30px 0 20px;
	border-top: 1px dotted #666;
}

/* th */
.hero .detail_list th {
	width: 110px;
	padding-top: 15px;
	border-bottom: 1px dotted #666;
}

/* td */
.hero .detail_list td {
	padding: 15px 0 15px  22px;
	border-bottom: 1px dotted #666;
	font-size: 14px;
}

.hero .detail_list td.gold_info {
	padding-top: 8px;
}

.hero .detail_list .payment_info td {
	font-weight: bold;
}
.hero .detail_list td .head {
	font-weight: bold;
}
.hero .detail_list .note {
	display: block;
	padding-top: 10px;

	font-size: 12px;
	font-weight: normal;
}

/* dl */
.hero .detail_list td .head + dl,
.hero .detail_list td dl ~ dl {
	margin-top: 10px;
}
.hero .detail_list td dt,
.hero .detail_list td dd {
	display: inline-block;
}
.hero .detail_list td dt:after {
	content: "：";
}

/* amount */
.hero .detail_list td .amount {
	margin-bottom: 0;
	padding: 0 0 5px;
}
.hero .detail_list td .amount + .amount {
	padding: 10px 0 5px;
	border-top: none;
}
.hero .detail_list td .amount:last-child {
	padding-bottom: 0;
}
.hero .detail_list td .amount dt:after {
	content: "";
}
.main .detail_list .amount dt {
	display: block;
}
.main .detail_list .amount dd {
	float: left;
	display: block;
	padding-left: 20px;
	text-align: left;
}

/* Tポイント */
.hero .detail_list .tpoint {
	font-weight: bold;
}

/* button
/* -------------------------------------------------------------------------------- */
.submit.confirm .btn_disable {
	width: 150px;
	color: #c6c6c6;
	background: #e4e4e4;
}






/* ================================================================================
/* 	ゴールド購入完了（標準）
/* ================================================================================ */

/* info_box
/* -------------------------------------------------------------------------------- */
.main .info_box {
	margin-bottom: 30px;
}

/* head
/* .................................................. */
.main .info_box .head {
	padding-bottom: 20px;
}

/* paragraph
/* .................................................. */
.main .info_box .paragraph p + p {
	margin-top: 10px;
}
.main .info_box .paragraph p > a:hover {
	color: #999;
}

/* detail_list
/* .................................................. */
.main .info_box .detail_list {
	height: auto;
	margin-bottom: 0;
}

/* td */
.main .foot_navi_box .icn_game a:before {
	padding-right: 3px;
}



/* ================================================================================
/* 	ゴールド購入完了（電子マネー）
/* ================================================================================ */

/* info_box
/* -------------------------------------------------------------------------------- */
/* paragraph
/* .................................................. */
.main .info_box .body .paragraph p span {
	font-weight: bold;
}

.main .info_box .body .paragraph p span.alert {
	color: #d71313;
}


/* ================================================================================
/* 	ゴールド購入手続き各種説明（エラー）
/* ================================================================================ */

/* info_box
/* -------------------------------------------------------------------------------- */
/* info_contact
/* .................................................. */
.main .info_box .info_contact {
	margin-top: 20px;
	padding: 20px;

	border: 1px solid #c6c6c6;
}
.main .info_box .info_contact .head {
	padding-bottom: 5px;

	font-size: 14px;
	font-weight: bold;
}
.main .info_box .info_contact .body dl dt {
	position: relative;
	padding: 5px 0 5px 15px;
	font-weight: bold;
}
.main .info_box .info_contact .body dl dt:before {
	content: "■";
	position: absolute;
	left: 0;
}
.main .info_box .info_contact .body dl dd {
	margin: 5px 0 10px 15px;
	line-height: 1.5;
	word-break: break-all;
}
.main .info_box .info_contact .body dl dd:last-child {
	margin-bottom: 0;
}
.main .info_box .info_contact .body dl dd ul {
	margin-top: 0;
}
.main .info_box .info_contact .body dl dd ul li {
	position: relative;
	margin: 3px 0;
	padding-left: 15px;
}
.main .info_box .info_contact .body dl dd ul li:before {
	content: "※";
	position: absolute;
	left: 0;
}

/* relation_box
/* -------------------------------------------------------------------------------- */
.error.relation_box {
	float: left;
	width: 404px;
	margin: 18px 0 0;
	padding-bottom: 30px;
}
.error.relation_box + .relation_box {
	float: right;
}
.error.relation_box .paragraph {
	margin: 20px 0;
}
.error.relation_box .button {
	text-align: center;
}
.error.relation_box .button a {
	width: 200px;
}

/* foot_navi_box
/* -------------------------------------------------------------------------------- */
.main .relation_box + .foot_navi_box {
	clear: both;
	padding-top: 30px;
	border-top: 1px dotted #666;
}
.main .relation_box + .foot_navi_box a {
	min-width: 150px;
	width: auto;
}

.cards,
.convenience {
	margin-bottom: 10px;
}

.cards::after,
.convenience::after {
	content: "";
	clear: both;
	display: block;
}

.cards img {
	float: left;
	margin-right: 14px;
	vertical-align: bottom;
}

.convenience img {
	float: left;
	margin-right: 6px;
	vertical-align: bottom;
}
