@charset "UTF-8";


/*	フォーム上部注意書きエリア
-----------------------------------------------------------------------------------------------*/
#notesArea {
	background: #EDEDED;
	margin: auto;
	padding: 18px 24px;	
	width: 68%;
}
@media screen and (max-width:667px){
	#notesArea {
		padding: 18px;			
		width:98%;
	}
}

/*
	フォーム上部関連ページ導線ボタン
-----------------------------------------------------------------------------------------------*/
#formReadBtnArea {
	padding:10px 0;
	float:right;
}
#formReadBtnArea li{
	margin:0 10px 5px 0%;
	position:relative;
	width:220px;
	float:left;
}
#formReadBtnArea li:last-child{
	margin:0 0px 5px 0%;
}
#formReadBtnArea li a{
	display:block;
	padding:10px 37px 10px 7px;
	color:#FFFFFF;
	border-radius:2px;
}
#formReadBtnArea li p{
	content:' ';
	display:block;
	width:30px;
	padding:8px;
	text-align:center;
	height:100%;
	color:#FFFFFF;
	position:absolute;
	top:0;
	right:0;
	}
#formReadBtnArea li a{
	background-color:#AAAAAA;
}
#formReadBtnArea li a:hover{
	background-color:#9E9E9E;
}
@media screen and (max-width:667px){
#formReadBtnArea {
	display:none;
	}
}


/*
	フォーム
-----------------------------------------------------------------------------------------------*/
/* フォーム表組み*/
.tblBase {
	margin-top: 16px;
	margin-bottom: 40px;
}

/* th 左寄せ指定*/
.tblBase.thLeft {
	text-align:left;
}

.tblBase .groupLine {
	margin-bottom: 8px;
	*zoom: 1;
}
@media screen and (max-width:667px){
.tblBase .groupLine {
	margin-bottom: 2px;
	}

}


.tblBase .groupLine:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.tblBase .groupLine .inputBox {
	margin-top: 0;
	width: 230px;
	float: left;
}
.tblBase .groupLine label {
	margin-right: 50px;
}

/* inputの頭付く文字*/
.inputHead {
	margin-right: 6px;
	font-weight:bold;
}

/* inputの後に付く文字（全角・半角など）*/
.inputBoxNotes {
	padding-top: 5px;
	margin-left:-10px;
	display: inline-block;
}
@media screen and (max-width:667px){
.inputBoxNotes {
	padding-top: 5px;
	display:block;
	float:left;
	}

}


/*都道府県*/
.inputAddressPrefecture {
	margin-top:20px;
	margin-bottom:20px;
}
/*市区町村*/
.inputAddressCity {
	margin-bottom:20px;
}
.inputAddressCity input {
	margin-bottom:20px;
}

/*番地*/
.inputAddressCity2 {
	margin-bottom:20px;
}
@media screen and (max-width:667px){
/*都道府県*/
.inputAddressPrefecture {
	margin-top:20px;
	margin-bottom:40px;
}
/*市区町村*/
.inputAddressCity {
	margin-bottom:40px;
}
.inputAddressCity input {
	margin-bottom:40px;
}
/*番地*/
.inputAddressCity2 {
	margin-bottom:40px;
	}
}


/*質問項目の回答*/
.questionUp {
	margin-bottom:40px;
	}
}
.questionUp input {
	margin-bottom:20px;
}
.questionBtm {
	margin-bottom:40px;
}
@media screen and (max-width:667px){
.questionUp {
	margin-bottom:40px;
	}
.questionUp input {
	margin-bottom:40px;
	}
.questionBtm {
	margin-bottom:40px;
	}
}



/* 必須*/
.tblBase th.required {
	background: url(../images/icon_form_required.svg) right center no-repeat #F0F0F0;
	background-size: 42px;
	padding-right: 42px;
}

/* 入力エラーの文字*/
.errorText {
	margin: 6px 0px;
	clear: both;
	color: #FF0000;
	font-weight: bold;
	line-height:160%;
}

/*テキスト入力エリア設定 */
input[type="text"]{
	margin-right: 3px;
	padding:5px;
	border:1px solid #BBBBBB;
	border-radius: 3px;
	font-size: 1.6rem;
}

@media screen and (max-width:667px){
input[type="text"]{
	margin-bottom:6%;
	}
}


/* テキスト入力エリアの長さ（下記3種類） */
.ittS{
	width:180px;
}
.ittM{
	width:400px;
}
.ittL{
	width:100%;
}

@media screen and (max-width:667px){
	.ittS{
		width:64%;
	}
	.ittM{
		width:100%;
	}
	.ittM.spL,.ittL{
		width:100%;
	}
}


/*「郵便番号から住所を選択」ボタン*/
input#getAddress[type="submit"]{
	cursor: pointer;
	border-radius: 3px;
	border: 1px solid #BBBBBB;
	font-size:1.4rem;
	padding: 7px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select_arrow.png) right center no-repeat #DDD;
	background-size: 16px 8px;
	box-shadow: inset 0 -2px 0 rgba(0,0,0,0.1)
}
@media screen and (max-width:667px){
input#getAddress[type="submit"]{
	font-size:1.4rem;
	}
}


input#post_shots[type="file"] > input{
	display: none;
}




/* サブミットの設定*/
.btnArea input[type="submit"],
.btnArea input[type="button"]{
	border: none;
	cursor: pointer;
	display:inline-block;
	width:330px;
	padding:12px 30px 12px 20px;
	margin:0 5px;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: bold;
	font-size:1.8rem;
	color:#FFFFFF;
	border-radius:4px;
	position:relative;
	transition:0.2s;
	background: url(../images/btn_form_arrow_next.svg) right center no-repeat;
	background-size: 22px 16px;
	transition: background-color 0.2s;
}
.btnArea input[type="submit"],
.btnArea input[type="button"]{
	background-color: #00C9C3;
}
.btnArea input[type="submit"]:hover,
.btnArea input[type="button"]:hover{
	background-color: #04BCB2;
}
@media all and (-ms-high-contrast:none){
	.btnArea input[type="submit"],
	.btnArea input[type="button"]{
		font-family:"メイリオ",Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', sans-serif;
	}
}



/* サブミットの設定（ON/OFF ボタン）  */
input.btnOnOff[type="submit"]{
	background-color:#00C9C3;
}
input.btnOnOff[type="submit"].disabled {
	background-color:#AAAAAA;
}

/* サブミットの設定（エメラルドグリーン ボタン）  */
input.btnEm[type="submit"]{
	background-color:#00C9C3;
}
input.btnEm:hover[type="submit"]{
	background-color:#04BCB2;
}

/* サブミットの設定（グレー ボタン）  */
input.btnGry[type="submit"]{
	background: url(../images/btn_form_arrow_return.svg) left center no-repeat #AAAAAA;
	background-size: 22px 16px;
	}
input.btnGry:hover[type="submit"]{
	background-color:#9E9E9E;
}


@media screen and (max-width:667px){
	.btnArea input[type="submit"],
	.btnArea input[type="button"]{
		width:90%;
		margin:0 0 5px;
	}
}



/* チェックボックスの設定 */
input[type="checkbox"]{
	display: none;
	font-size:1.6rem;
}
.groupLine label{
	line-height:240%;
	}
.checkbox-text{
	padding-top:6px;
	padding-left: 32px;
	position:relative;
	cursor: pointer;
}
.checkbox-text::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	border: 1px solid #AAA;
	border-radius: 4px;
	background:#FFF;
}
input[type="checkbox"]:checked + .checkbox-text{
	font-weight:bold;
}
input[type="checkbox"]:checked + .checkbox-text::after{
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 5px;
	width: 12px;
	height: 28px;
	transform: rotate(40deg);
	border-bottom: 3px solid #F00;
	border-right: 3px solid #F00;
}
/* 1級1次試験免除申請 */
.exam1firstCheckBox{
	margin:15px 0 0 0;
	padding:15px 10px;
	text-align:left;
	background-color:#F8E3E7;
	line-height:150%;
}
@media screen and (max-width:667px){
.exam1firstCheckBox{
	margin:0px auto 10px auto;
	padding:8px 3px 8px 0px;
	font-size:1.3rem;
	transform: scale(0.8);
	width:100%;
	}
.exam1firstCheckBox .checkbox-text::before{
	margin:8px 0 0 -8px;
}
.exam1firstCheckBox .checkbox-text{
	width:94%;
	float:right;
	padding-top: 4px;
	padding-left: 26px;
	}
.exam1firstCheckBox .checkbox-text::after{
	margin:8px 0 0 -8px;
	position: absolute;
	top: -4px;
	left: 5px;
	}
}


/* 承認チェックボタンエリア */
.formPrivacyBox{
	margin:15px 0 0 0;
	padding:15px 10px;
	text-align:center;
	background-color:#EEEEEE;
}


/* テキストエリアの設定 */
textarea{
	width:100%;
	padding:5px;
	font-size:1.4rem;
	line-height:160%;
	border:1px solid #BBBBBB;
	border-radius: 3px;
}
/* テキストエリアの設定 */
textarea::placeholder {
	color: #ababab;
}

/* セレクトエリアの設定 */
select{
	cursor: pointer;
	margin-right:3px;
	border-radius: 3px;
	border: 1px solid #BBBBBB;
	font-size:1.4rem;
	padding: 7px 25px 7px 7px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select_arrow.png) right center no-repeat #FFFFFF;
	background-size: 16px 8px;
	box-shadow: inset 0 -2px 0 rgba(0,0,0,0.1);
}
@media screen and (max-width:667px){
select{
	font-size:1.6rem;
	}
}

select::-ms-expand{
	display:none;/*IE10以降*/
}
select:disabled{
	border:1px solid #DDDDDD;
	color:#CCCCCC;
	box-shadow:none;
}

/* ラジオボタンの設定 */
input[type="radio"]{
	opacity: 0;
	position: absolute;
	cursor:pointer;
}
input[type="radio"] + label{
	display:inline-block;
	padding:0 0 0 28px;
	line-height:24px;
	vertical-align:middle;
	background:url(../images/radiobutton.svg) left top no-repeat;
	background-size:22px 106px;
	cursor:pointer;
}

input[type="radio"]:checked + label{
	background-position:left -42px;
	font-weight:bold;
}
input[type="radio"]:disabled{
	cursor:default;
}
input[type="radio"]:disabled + label{
	background-position:left -84px;
	color:#CCCCCC;
	cursor:default;
}
input[type="button"]{
	padding:5px 10px;
	background-color:#000000;
	border:none;
	color:#FFFFFF;
	border-radius:4px;
	transition:background-color 0.15s;
}
input[type="button"]:hover{
	background-color:#0096DF;
	cursor:pointer;
}
.ittArea input[type="text"]{
	display:block;
	margin:8px 0 0 0;
}


/* 入力注意事項 */
.txtFormAttention{
	padding:10px 0 0 0;
	font-size:1.2rem;
}

/* リンク */
.tblBase a{
	text-decoration:underline;
}
.tblBase a:hover{
	text-decoration:none;
}

/* 説明文 */
.txtFormInfo{
	padding:0 0 20px 0;
}
/* 必須 */
.require{
	font-weight:bold;
	color:#FF0000;
}


/* テーブル合体 */
.unite th{
	border-top:none;
}
@media screen and (max-width:667px){
	.unite th{
		display:none;
	}
	.unite td{
		border-top:1px solid #BEC6C6;
	}
}
/* テーブルタイトル */
.tblTit td{
	padding:20px 0 10px;
	font-size:1.8rem;
	line-height:140%;
	font-weight:bold;
	border-bottom:2px solid #E75685;
}
@media screen and (max-width:667px){
	.tblTit td{
		padding:6px 0;
		font-size:1.5rem;
	}
}
/*  テーブル背景*/
.tblBg td{
	background-color:#F8E3E7;
}
.tblBg td span{
	display:block;
}
@media screen and (max-width:667px){
	.tblBg td{
		padding:6px;
	}
}


/*会員規約と個人情報同意の説明文
-----------------------------------------------------------------------------------------------*/
.consentRead {
	margin:0px 0px 12px 0px;
}
/*
会員規約
-----------------------------------------------------------------------------------------------*/
.memberApplyBox {
	margin: 0px 0px 40px 0px;
	border: 1px solid #D3D3D3;
	padding: 0px 20px 20px 20px;
	height: 300px;
	overflow: auto;
	overflow-y: scroll;
	box-sizing:border-box;
}
.memberApplyBox > .chapter {
	font-weight: bold;
	font-size:1.6rem;
	color: #E75685;
	margin: 20px 0px 6px 0px;
}
.memberApplyBox p.applyRead {
	margin:0px 0px 20px 0px;
}
.memberApplyBox ul {
	padding: 0.6em 0 0 2.2em;
}
.memberApplyBox ul li {
	margin-bottom: 1.2em;
	list-style-type: decimal;
}
.memberApplyBox .signature {
	text-align: right;
}
.memberApplyBox ol {
	padding: 1.2em 0 0 2.2em;
}
.memberApplyBox ol li {
	margin-bottom: 1.2em;
	list-style-type: upper-roman;
}
.memberApplyBox ol li {
	list-style-type: lower-alpha;
}
.memberApplyBox .privacySignature {
	margin-bottom: 10px;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 10px 0;
	text-align: right;
}


/*
個人上情報保護規約
-----------------------------------------------------------------------------------------------*/
.privacyBox {
	margin: 0px 0px;
	border: 1px solid #D3D3D3;
	padding: 20px;
	height: 300px;
	overflow: auto;
	overflow-y: scroll;
	box-sizing:border-box;
}
.privacyBox ul {
	padding: 1.2em 0 0 2.2em;
}
.privacyBox ol {
	padding: 1.2em 0 0 2.2em;
}
.privacyBox ol li {
	margin-bottom: 1.2em;
	list-style-type: upper-roman;
}
.privacyBox ol li {
	list-style-type: lower-alpha;
}

.privacyBox .privacySignature {
	margin-bottom: 10px;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 10px 0;
	text-align: right;
}

/*
完了画面の文言
-----------------------------------------------------------------------------------------------*/
.finishBox {
	margin: 0px 0px;
	border: 1px solid #D3D3D3;
	padding:50px;
	box-sizing:border-box;
	text-align:center;
}
@media screen and (max-width:667px){
	.finishBox {
		padding:20px 15px;
	}
}
.finishBox #titMain {
	margin: 0px 0px 30px 0px;
}
@media screen and (max-width:667px){
	.finishBox #titMain {
	margin: 0px 0px 16px 0px;
	font-size:1.2rem;
	line-height:220%;
	}
	/*.finishBox #titMain span::after{
	width:auto;
	}*/
}

.txtCaution {
	margin: 0px auto 20px auto;
	font-size:3rem;
	font-weight:bold;
	vertical-align:middle;
}
@media screen and (max-width:667px){
.txtCaution {
	font-size:2rem;
	}
.txtCaution img{
	width:60px;
	}
}

.finishBox p.copyCaution {
	margin: 20px auto;
}
.finishBox p a {
	text-decoration: underline;
}
.txtCaution img {
	vertical-align:middle;
}
.formLink a{
	color:#00C9C3;
	text-decoration:underline;
	width:calc((100% - 120px)/5);
	padding:0 0 15px 18px;
	font-weight:bold;
	position:relative;
}
.formLink a::before{
	font-family:"Font Awesome 5 Free";
	content:'\f138';
	color:#00C9C3;
	position:absolute;
	top:0;
	left:0;
}
/*
SSL宣言文
--------------------------------------------------------------*/
.SSLSeal {
	margin: 5% auto;
	width: 100%;
	*zoom: 1;
}
.SSLSeal:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.SSLSeal .sticker_secom {
	margin-right: 2%;
	display: block;
	float: left;
}
.SSLSeal p {
	padding-top: 2.5%;
}
/*
お申込み手順
--------------------------------------------------------------*/
#formFlow{
	margin:20px 0;
	padding-right:20px;
}
#formFlow ul{
	display:flex;
	justify-content: space-between;
}
.formFlowStep{
	font-size:1.4rem;
}
#formFlow ul li p{
	line-height: 1.4;
	padding-top: 7px;
	font-size:1.8rem;
	font-weight:bold;
	text-align:center;
}
#formFlow ul li p.onlineHeight{
	line-height: 1;
}
@media screen and (max-width:667px){
	.formFlowStep{
		font-size:0.9rem;
	}
	#formFlow ul li p{
		line-height: 1.2;
		padding-top: 12px;
		font-size:1.6rem;
	}
	/*2行の場合*/
	#formFlow.gyo2 ul li p{
		font-size:1.2rem;
		margin-left: 4px;
	}	
}
/*step.6ver*/
.conveniFormFlow li{
	width:15%;
}
/*step.5ver*/
.creditFormFlow li{
	width:18.5%;
}
/*step.3ver*/
.inquiryFormFlow li{
	width:32.1%;
}
#formFlow ul li{
	list-style:none;
	height:70px;
	color: #000;
	background: -moz-linear-gradient(left,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
	background: -webkit-linear-gradient(left,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
	background: linear-gradient(to right,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
	border-radius: 5px 0 0 5px;
	position: relative;
}
@media screen and (max-width:667px){
	#formFlow ul li{
		list-style:none;
		height:70px;
		color: #000;
		background: -moz-linear-gradient(left,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
		background: -webkit-linear-gradient(left,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
		background: linear-gradient(to right,rgba(239,239,239,1) 60%, rgba(181,181,182,1));
		border-radius: 5px 0 0 5px;
		position: relative;
	}
	/*step.6ver*/
	.conveniFormFlow li{
		width:12%;
	}
	/*step.5ver*/
	.creditFormFlow li{
		width:15%;
	}
	/*step.3ver*/
	.inquiryFormFlow li{
		width:29%;
	}
}
#formFlow ul li::after{
	content: ' ';
	width: 0;
	height: 0;
	border-top:35px solid transparent;
	border-bottom:35px solid transparent;
	border-left: 20px solid #b5b5b6;
	position: absolute;
	right:-20px;
	top: 0px;
}
#formFlow ul li.flowActive{
	color:#FFF;
	background: -moz-linear-gradient(left,rgba(231, 86, 133, 1) 60%, rgba(152, 74, 160, 1));
	background: -webkit-linear-gradient(left,rgba(231, 86, 133, 1) 60%, rgba(152, 74, 160, 1));
	background: linear-gradient(to right,rgba(231, 86, 133, 1) 60%, rgba(152, 74, 160, 1));
}
#formFlow ul li.flowActive::after{
	content: ' ';
	width: 0;
	height: 0;
	border-top:35px solid transparent;
	border-bottom:35px solid transparent;
	border-left: 20px solid #984AA0;
	position: absolute;
	right:-20px;
	top: 0px;
}
#formFlow ul li.inquiryActive{
	color:#FFF;
	background: -moz-linear-gradient(135deg, rgba(0, 160, 195, 1), rgba(0, 201, 195, 1) 90%);
	background: -webkit-linear-gradient(135deg, rgba(0, 160, 195, 1), rgba(0, 201, 195, 1) 90%);
	background: linear-gradient(to left, rgba(0, 160, 195, 1), rgba(0, 201, 195, 1) 100%);
}
#formFlow ul li.inquiryActive::after{
	content: ' ';
	width: 0;
	height: 0;
	border-top:35px solid transparent;
	border-bottom:35px solid transparent;
	border-left: 20px solid #009ec0;
	position: absolute;
	right:-20px;
	top: 0px;
}