@charset "utf-8";
/*////////////////////////////////////////////////////////

common

////////////////////////////////////////////////////////*/
/* title
------------------------- */
.career_celect .tit_sub {
  width: 320px;
  display: table-cell;
  vertical-align: middle;
}
.career_celect .tit_sub01 {
  margin: 0 0 10px;
}
.career_celect .tit_sub02 {
  margin: 0 0 8px;
  padding: 3px;
  border-top: 1px solid #9c27b0;
  border-bottom: 1px solid #9c27b0;
  font-size: 15px;
  font-weight: bold;
}
/* お支払い方法選択
------------------------- */

.box_payment_select .inner {
  display: none;
  padding: 5px;
}
/* btn */
.btn_cregit_select {
  height: 137px;
  background: url("../images/regist/btn_cregit_select_off.png") no-repeat;
  background-size: 100%;
}
.btn_cregit_select.active {
  height: 75px;
  background: url("../images/regist/btn_cregit_select_on.png") no-repeat;
  background-size: 100%;
}
/* 一番人気 */
.box_payment_select .reco {
  width: 90px;
  margin: auto;
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
}
/* form */
.box_payment_select input {
  display: none;
}
.box_radio {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 55px;
  padding: 5px 10px 5px 20px;
  position: relative;
  border: 2px solid #aaa;
  font-size: 12px;
  background: #fff;
}
.box_radio .border {
  font-size: 15px;
  font-weight: bold;
}
label:not(:last-of-type) .box_radio {
  border-bottom: 0;
}
label:not(:last-of-type) .border {
  margin: 0 0 2px;
  padding: 0 0 3px;
  background: linear-gradient(transparent 92%, #000 0%);
}
.box_radio:before, .box_radio:after {
  display: block;
  content: '';
  position: absolute;
  border-radius: 50%;
}
.box_radio:before {
  width: 20px;
  height: 20px;
  border: 2px solid #aaa;
  top: 50%;
  left: 13px;
  transform: translateY(-50%);
  background: #fff;
}
input:checked + .box_radio:after {
  width: 14px;
  height: 14px;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  background: #005aff;
}
/*----- キャリア決済 -----*/
.box_career_select {
  overflow: hidden;
  border-radius: 3px;
  background: #fefefe;
}
.btn_career_select {
  position: relative;
}
.btn_career_select:after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  background: url("../images/icon/arrow_select.png") no-repeat;
  background-size: 100%;
}
.btn_career_select.active:after {
  transform: translateY(-60%) scale(1, -1);
}
.box_career_select .paymentBox {
  display: none;
  margin: -1px 0 0;
  padding: 3px 5px 10px;
  position: relative;
}
/* プレミアムコード
------------------------- */
.career_celect .regist_premium {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
.career_celect .ac_regist_link a {
  color: transparent;
  font-size: 0;
  background: url(../images/regist/btn_premium.png) no-repeat;
  background-size: 100%;
  margin: 0 auto;
  width: 250px;
  height: 65px;
  display: block;
}
.regist_premium .cord_input {
  border: 1px solid #ea68c9;
  background: #F7E1F5;
  padding: 15px;
  margin: 0 10px 25px 10px;
  text-align: left;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}
.caution_box {
  margin: 10px 0 20px;
  padding: 0 20px;
  text-align: left;
}
.caution_box li {
  line-height: 1.8;
  text-indent: -12px;
  padding-left: 12px;
  font-size: 11px;
}
.regist_premium a {
  color: red;
}

/*v2*/
/* お支払い方法選択
------------------------- */
#payment_select {
  padding: 5px 0 10px;
}
.payment_select_item {
  padding: 0 15px;
  line-height: 1.4;
  color: #000;
}
.payment_select_item {
  margin-bottom: 10px;
}
.payment_select_item dd {
  padding: 10px;
}
.payment_select_item .inner {
  display: none;
  padding: 5px;
}
/* 注釈 */
.text_caption {
  padding-left: 10px;
  text-align: left;
  text-indent: -5px;
  font-size: 11px;
  color: #fff;
}
.text_caption b {
  display: inline-block;
  padding-bottom: 3px;
}
/*----- 選択項目 -----*/
.payment_item {
  display: flex;
  align-items: center;
  min-height: 45px;
  padding: 6px 8px 5px 40px;
  border-radius: 2px;
  font-family: sans-serif;
  font-size: 11px;
  text-align: left;
  position: relative;
  background: #fff;
  cursor: pointer;
}
dd .payment_item {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 5px;
}
.payment_item input {
  display: block;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
.payment_item .logo {
  width: 30px;
  margin: 0 10px 0 -5px;
}
.payment_item span {
  font-weight: bold;
}
.payment_item .text-large {
  line-height: 1.3;
  font-weight: bold;
}
.payment_item:before, .payment_item:after {
  display: block;
  content: '';
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.payment_item:before {
  width: 10px;
  height: 10px;
  border: 1px solid #C6C7C7;
  top: 50%;
  left: 10px;
}
.payment_item.checked,
.payment_item:has(input:checked) {
  background: #E3C6FF;
}
.payment_item.checked:before,
.payment_item:has(input:checked):before {
  border: 1px solid #9D4CED;
}
.payment_item.checked:after,
.payment_item:has(input:checked):after {
  width: 6px;
  height: 6px;
  top: 50%;
  left: 13px;
  background: #9D4CED;
}
/* 一番人気 */
.box_payment_select .reco {
  width: 90px;
  margin: auto;
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
}
/* form */
.payment_select_item input {
  display: none;
}
.box_radio {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 55px;
  padding: 5px 10px 5px 20px;
  position: relative;
  border: 2px solid #aaa;
  font-size: 12px;
  background: #fff;
}
/*----- クレカ -----*/
/* 一番人気 */
.payment_item .reco {
  width: 90px;
  margin: auto;
  position: absolute;
  top: -17px;
  left: 0;
  right: 0;
}
/*----- お支払いを進める -----*/
/*--- 金額確認 ---*/
.selected_price,
.selected_price li,
.text_credit_notice {
  display: none;
}
.selected_price {
  padding: 20px 30px 0;
  text-align: left;
  font-size: 13px;
  font-weight: bold;
}
.selected_price .through,
.selected_price .off {
  font-size: 10px;
  font-weight: normal;
}
.selected_price .through {
  padding: 0 8px 0 3px;
  text-decoration: line-through;
}
.selected_price .off {
  padding: 2px 4px;
  border-radius: 2px;
  color: red;
  background: #fff5f4;
}
.text_credit_notice {
  margin-top: 10px;
  line-height: 1.4;
  font-size: .7em;
}
/*--- 選択したお支払い方法 ---*/
[class^="select_payment"] {
  display: none;
  width: 240px;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
}
[class^="select_payment"] button,
[class^="select_payment"] div,
[class^="select_payment"] a {
  display: block;
  opacity: 0;
  width: 100%;
  height: 70px !important;
  margin: 0;
  padding: 0 !important;
  cursor: pointer;
}
[class^="select_payment"] #AmazonPayButton {
  height: 110px !important;  
}
/*--- 送信 ---*/
.btn_selected_payment {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  min-height: 70px;
  margin: 20px auto 0;
  border-radius: 100px;
  position: relative;
  overflow: hidden;
  line-height: 1.4;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  background: #9D4CED;
}
.btn_selected_payment.disabled {
  pointer-events: none;
  opacity: .6;
}

/* ポップアップ */
.pop_detail {
	padding: 5px 10px;
	text-align: right;
	text-decoration: underline;
	font-weight: bold;
    font-size: 12px;
	color: #ffff00;
	cursor:pointer;
}
.box_pop {
	width: 85%;
	margin: 0 auto;
	padding: 15px 10px 10px !important;
	text-align: left;
	font-size: 13px;
	color: #21282f;
	visibility: hidden;
	position: fixed;
	top: 15px;
	left: 0;
	right: 0;
	z-index: 1002;
	background: url(../images/regist/pop/bg.jpg) repeat-y top;
	background-size: 100%;
	border: 2px solid #2ceeff;
}
.box_pop.on {
	visibility: visible;
}
.box_pop section {
	margin-bottom: 20px;
}
.box_pop .btn-close {
	width: 47px;
	height: 47px;
	position: absolute;
	top: -15px;
	right: -15px;
	z-index: 2000;
	background: url(../images/regist/pop/icon-close.png) no-repeat;
	background-size: 100%;
}
.box_pop .btn-pop input {
	font-size: 0;
	background: url(../images/regist/pop/btn-close.png) no-repeat;
	background-size: 100%;
	width: 176px;
	height: 40px;
	margin: 0 auto;
	display: block;
}
.modal {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: rgba(0, 0, 0, 0.8);
}
