@charset "utf-8";
/* Last Up Date: 2015/07/24 */

body, div, h1, h2, dl, dt, dd, p, ul { margin: 0; padding: 0; }
body { background: #fff; color: #333; font-family: sans-serif; -webkit-text-size-adjust: 100%; }
section { text-align: center; }
footer { margin: 50px 0 0; color: #ccc; font-size: .75em; text-align: center; }

p, ul, ol { margin: 10px 0; }
p:first-child, ul:first-child, ol:first-child { margin-top: 0; }
ol { list-style: decimal; }
ul { list-style: none; }
ul.basic { list-style: disc; }
ol, ul.basic { padding: 0 0 0 32px; text-align: left; }
dl.basic dt { margin-top: 1em; font-weight: bold; }
dl.basic dt:first-child { margin-top: 0; }
a { color: #2daca9; font-size: .75em; }

.hgroup { background: #abcd07; color: #fff; font-weight: bold; }
h1, h2 { position: relative; padding: 10px; font-size: 1.25em; }
h2 { font-size: .9em; border-top: 1px solid #fff; }
h3 { padding-left: .5em; font-size: 1em; border-left: 6px solid #abcd07; }
.hgroup a {
	position: absolute;
	display: block;
	top: 50%;
	left: 15px;
	margin-top: -1em;
	padding-left: 1em;
	height: 2em;
	color: #fff;
	font-weight: normal;
	font-size: 1em;
	line-height: 2;
	text-decoration: none;
}
.hgroup a:before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	margin-top: -5px;
	width: 7px;
	height: 7px;
	border: 3px solid #fff;
	border-width: 0 0 3px 3px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.hgroup a:after { position: relative; content: "戻る"; z-index: 100; }
.hgroup span { display: inline-block; font-weight: normal; font-size: .8em; }
.hgroup span:after { content: " >"; margin-right: .5em; }

.flow { margin: 20px 16px; }
.flow ol { display: table; margin: 0; padding: 0; width: 100%; table-layout: fixed; border: 1px solid #ccc; }
.flow li {
	display: table-cell;
	background: #e6e6e6;
	text-align: center;
	line-height: 1.4;
	vertical-align: middle;
	border-right: 1px solid #ccc;
}
.flow li:last-child { border-right: 0; }
.flow li.current { background: #fff; }

.flow span { position: relative; display: block; padding: 5px 7px; font-size: .75em; white-space: nowrap; }
.flow span:before, .flow span:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  border-top: solid 0.8em transparent;
  border-bottom: solid 0.8em transparent;
  border-left: solid 0.8em;
  right: -0.65em;
}
.flow span:after {
  z-index: 2;
  border-left-color: #e6e6e6;
  border-right-color: rgba(238, 238, 238, 0);
}
.flow span:before{
  border-left-color: #ccc;
  right: -0.8em;
  z-index: 1;
  border-right-color: rgba(238, 238, 238, 0);
}
.flow li:last-child span:before, .flow li:last-child span:after { display: none; }
.flow li.current span:before {}
.flow li.current span:after { border-left-color: #fff; }

.pager { display: table; width: 100%; table-layout: fixed; }
.pager li { display: table-cell; padding: 5px 10px; text-align: left; width:100%; }
.pager li:last-child { text-align: right; }
/*
.pager a:before { content: "< "; }
.pager li:last-child a:before { content: ""; }
.pager li:last-child a:after { content: "> "; }
*/
.pager li { position: relative; vertical-align: middle; }
.pager li:after {
	font-family: 'FontAwesome';
	display: block;
    content: "\f104";
	position: absolute;
	top: 50%;
	left: 14px;
	margin-top: -10.5px;
}
.pager li:last-child:after {
	left: initial;
	right: 14px;
    content: "\f105";
}

.text, .form { margin: 15px 15px 0; }
.text { text-align: left; font-size: .87em; }
div.text+.text { border-top: 2px solid #ccc; }
.text ol { padding-left: 22px; }
.text ul.basic { padding-left: 16px; }
.form li { overflow: hidden; }
.error { font-size: .9em; color: #be063e; }
.note { font-size: .9em; line-height: 1.4; }
.box { margin: 15px; padding: 15px; text-align: left; border: 1px solid #ddd; }
.box img { display: block; margin: 10px auto 0; }
.btn-line { margin: 20px 0; }
.btn-note { display: block; margin: 0 auto .5em; width: 80%; font-size: .75em; line-height: 1.4; }
.figure { display: table; margin: 20px auto; text-align: center; }
.figure img { margin: 10px 0; }
.figure a { font-size: 1em; }

.counter { counter-reset: point; list-style: none; margin: 0 auto 40px; width: 270px; }
.count3 { counter-reset: point 2; }
.count4 { counter-reset: point 3; }
.counter li {
	position: relative;
	counter-reset: none;
	counter-increment: point;
	margin: 3px 0;
	padding-left: 30px;
}
.counter li:before {
  position: absolute;
  content: counter(point);
  display: inline-block;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background: #d00;
  color: #fff;
  line-height: 20px;
  text-align: center;
  border-radius: 10px;
}

.countdown { padding: 50px 0; font-weight: bold; text-align: center; line-height: 1.4; }
.countdown strong { display: block; color: #abcd07; font-size: 1.95em; }

.link,
.toggle { margin: 15px 0; border-top: 1px solid #ddd; }
.link a,
.toggle>dt {
	position: relative;
	display: block;
	margin: 0;
	padding: 20px;
	color: #333;
	font-weight: bold;
	font-size: 1em;
	text-align: left;
	text-decoration: none;
	line-height: 1.4;
	border-bottom: 1px solid #ddd;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}
.link a:after,
.toggle>dt:before,
.toggle>dt:after {
	position: absolute;
	content: "";
	top: 50%;
	right: 20px;
	margin-top: -5px;
	width: 7px;
	height: 7px;
	border: 3px solid #888;
	border-width: 3px 3px 0 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.toggle>dt:before,
.toggle>dt:after,
.toggle>dt.active:after {
	margin-top: -2px;
	width: 14px;
	height: 3px;
	background: #888;
	border: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.toggle>dt:after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.toggle>dd { display: none; border-bottom: 1px solid #ddd; }

input { vertical-align: middle; }
input[type=checkbox] { display: none; }
input[type=checkbox]+label {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 1em;
	height: 1em;
	background: none;
	color: #2daca9;
	font-size: 1.5em;
	text-align: center;
	vertical-align: middle;
	line-height: .75;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
}
input[type=checkbox]:checked+label:before { content: "✔"; color: #888; }
input[type=checkbox]+label { margin-right: 5px; }

input[type=text],
input[type=email],
input[type=password] {
	margin: 0 0 .5em;
	padding: .2em .5em;
	width: 100%;
	font-size: 1em;
	line-height: 2;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	box-shadow: inset 0 1px 2px 0 #ccc;
	-webkit-appearance: none;
}
li:last-child input { margin-bottom: 0; }

.button {
	position: relative;
	display: block;
	margin: auto;
	padding: 16px 10px 15px;
	width: 80%;
	background: #348feb;
	color: #fff;
	font-weight: bold;
	font-size: 1em;
	text-decoration: none;
	text-align: center;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.func { background: #abcd07; }
.btn-link { font-size: .75em; }
.button:after {
	position: absolute;
	content: "";
	top: 50%;
	right: 20px;
	margin-top: -5px;
	width: 7px;
	height: 7px;
	border: 3px solid #fff;
	border-width: 3px 3px 0 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.button.cancel {
	width: 70%;
	background: #e3e3e3;
	color: #4a5971;
	font-size: .8em;
}
.button.cancel:after { display: none; }

.help-index { counter-reset: category; text-align: left; font-size: .8em; }
.help-index dt {
	padding: 15px 10px;
	background: #f0f2f5;
	font-weight: bold;

}
.help-index dd { border-top: 1px solid #bbb; }
.help-index ul { margin: 0; list-style: none; }
.help-index li { display: table; width: 100%; border-bottom: 1px solid #bbb; }
.help-index a:before {
	content: counter(category)".";
	counter-increment: category;
	display: inline-block;
	margin-right: .7em;
	font-weight: bold;
	color: #888;
}
.help-index a {
	position: relative;
	display: block;
	padding: 10px 20px 10px 10px;
	color: #333;
	text-decoration: none;
	font-size: 1em;
}
.help-index a:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 20px;
  margin-top: -5px;
  width: 7px;
  height: 7px;
  border: 3px solid #888;
  border-width: 3px 3px 0 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

select {
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background: #eee;
	background: -webkit-linear-gradient(top, #fff 0%,#fff 100%);
	background: linear-gradient(to bottom, #fff 0%,#fff 100%);
	background-size: 20px, 100%;
}

select.area {
	width: 100%;
}

li.select {
	display: table;
	width: 100%;
}

input[type=radio] {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 1em;
	height:2em;
/*	background: none;*/
	color: #2daca9;
	font-size: 1.5em;
	line-height: 1.25;
}

/* ユーザー設定
colorA: textlink
colorB: main
colorC: sub
colroD: text
----------------*/
a { color: /* A */; }
.button { background: /* C */; }
.countdown strong { color: /* B */; }
.hgroup, .hgroup a, .func { background: /* B */;   color: /* D */; }
.hgroup a:before, .button:after { border-color: /* D */; }
/*--------------*/

/* 分岐選択画面で使用 */
ul.link li.pos-rel {
	position: relative;
}

ul.link li.pos-rel button.btn-xs {
	position: absolute;
    top: 20%;
    right: 40px;
}

ul.link li.pos-rel button.btn-xs span {
	font-size:24px;
}

ul.link li.pos-rel button.btn-sm {
	position: absolute;
    top: 25%;
    right: 40px;
}

/* ボタンを円形 */
button.circle {
	border-radius: 50%;
}

/* infoボタンのi文字の微調整 */
.glyphicon_top_mod {
	top: 2px;
}


/* ポップアップの設定 */
.popover-title {
	border: none;
}
.popover {
	left: 0 !important;
	max-width: 100%;
	width: 100%;
}

.popover.top .arrow {
	left: initial;
	right: 45px;/*40px;*/
}

/* モバイルカードの再登録・カード選択画面で使用 */
.link a.pad-r32 {
	padding-right: 32px;
}
.link a.pad-r32 > span {
	font-weight: normal;
}

/* プラスチックカード画像表示箇所で使用 */
.cardimg {
	padding: 15px 15px 0;
	text-align: left;
	font-size: .87em;
	border-top: 1px solid #ddd;
}


/* 戻るボタンの片側三角装飾 */
.hgroup h2 a.toolBtnArr {
	position: absolute;
	padding: 0 5px;
	color: #abcd07;
	text-align: center;
	text-decoration: none;
	z-index: 5;
	top: 50%;
	left: 15px;
	margin-top: -1em;
	height: 2em;
	font-weight: normal;
	font-size: 1em;
	line-height: 2;
}
.hgroup h2 a.toolBtnArr:before {
	font-size: 1em;
	-webkit-transform: initial;
	transform: initial;
	margin-top: 1px;
	padding-left: 2px;
	line-height: 1.8;

	content: "戻る";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 37px;
	height: 90%;
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #fff), color-stop(0.5, #fff), color-stop(1, #fff));
	border-top-color: #fff;
	border-right-color: #fff;
	border-bottom-color: #fff;
	border-width: 1px;
	border-style: solid;
	border-radius: 7px 2px 2px 7px;
	border-left: none;
	z-index: -1;
}
.hgroup h2 a.toolBtnArr:after {
	content: "";
	display: block;
	position: absolute;
	left: 4px;
	top: 1px;
	width: 16px;
	height: 16px;
	-webkit-transform-origin: left top;
	-webkit-transform: rotate(45deg);
	background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0, #fff), color-stop(0.5, #fff), color-stop(0.5, #fff), color-stop(1, #fff));
	border-left-color: #fff;
	border-bottom-color: #fff;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	border-right: none;
	border-top: none;
	z-index: -2;
}

/* 利用規約リンク、プライバシーポリシーリンク */
.pad-top20 {
	margin-top: 0px;
	padding-top: 20px;
}

/* ()付きリストの設定 */
ol.list_parentheses {
	padding: 0 0 0 2em;
	margin: 0;
}

ol.list_parentheses li {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: cnt;
}

ol.list_parentheses li:before {
/*	display: marker;*/
	margin-left: -18px;
	content: "(" counter(cnt) ") ";
}

/* 残高照会画面で使用 */
.f-balance {
	font-weight: bold;	
	color: #000000;
	font-size: 14px;
}

table.table-balance > thead > tr > th,
table.table-balance > tbody > tr > td {
	vertical-align: middle;
	border-color: #ffffff;
}

table.table-balance > thead > tr > th {
	border-bottom-width: 4px;
	color: #ffffff;
	background: #abcd07;/* 仮 */
}

table.table-balance > tbody > tr:nth-child(even) > td {
	background: #abcd07;/* 仮 */
}

table.table-balance > tbody > tr:nth-child(odd) > td {
	background: #ab8907;/* 仮 */
}