@charset "utf-8";
/* CSS Document

申込みフォーム作成用追加スタイル

*/


/*--- 入力フォーム画面共通 ---*/

/*--- ページタイトル ---*/
.PageTitleApp{
	display:block;
	margin-top:30px;
	}

/*--- 入力の進行状況バー ---*/
#Progress{
	display:block;
	padding: 0 0 40px;
	width:100%;
	height:35px;
	line-height: 0;
}
#Progress ul{
	display: flex;
	 justify-content: space-between;
 }
#Progress ul li{
	display:block;
	float:left;
	width: 280px;
	background: #e8e6e3;
	text-align: center;
	padding: 4px 0px;
	font-size: 18px;
	position: relative;
	line-height: 1.55;
}

#Progress .Progress1::after,#Progress .Progress2::after{
	content: "";
	width: 0;
height: 0;
border-style: solid;
border-width: 18px 0 18px 18px;
border-color: #fff #fff #fff #e8e6e3;
position: absolute;
top: 0px;
right: 0px;
}

#Progress li.active{
	background: #0090bf;
	color: #fff;
}
#Progress li.active:after{

	border-color: #fff #fff #fff #0090bf;
}

.ss_user_notnull{
	border: 1px solid #FF0000;
	background: #fff;
	padding: 1px 3px;
	font-weight: normal;
}

form table .ss_user_notnull{
	float: right;

}


/*--- テーブル > セミナー一覧---*/
table.TableSeminar { width: 100%; }
table.TableSeminar th { text-align:center; }
table.TableSeminar td.Time { text-align:center; }
table.TableSeminar th.Select { width: 13%; }
table.TableSeminar th.Time { width: 17%; }
table.TableSeminar th.Value{ width:75%;}

table.TableSeminar th.Time_Conf { width:25%; }
table.TableSeminar th.Value_Conf{ width:75%;}

/*--- テーブル > 入力箇所 ---*/

table.TableInput { width: 100%; }
table.TableInput th.Item { width: 25%; padding-top: 7px; padding-bottom:7px;}
table.TableInput td.Value { width: 75%; padding-top:7px; padding-bottom:7px;}

/*チェックボックスのラベル*/
label{
	margin-left:4px;
	margin-right:10px;}

/*-- テーブル > 入力箇所 > 必須マーク ---*/
img.Require{
	float:right;
}

/*-- テーブル > 入力箇所 > 入力規則の表示 ---*/
table.TableInput td.Value span.InputRule{ font-size:75%;}

/*--　テーブル > 入力箇所 > 入力箇所レイアウト用透明テーブル--*/
table.TableTrans{ margin:0px; }
table.TableTrans th { border:none;
	margin:0px;}
table.TableTrans td { border:none;
	margin:0px;
	padding:5px; }

/*--- テーブル > 入力箇所 > 入力フォーム ---*/
table.TableInput input[type="text"],table.TableTrans input[type="text"] {
	border-style:solid;
	border-color:#555555;
	border-width:1px;
	font-size:105%;
		padding:3px;
	box-sizing: border-box;}

.TableInput.disable,h2.ttl01.disable,.event_name.disable{
    opacity: 0.5;
    pointer-events: none;
}
#ssPermitAlign h2.ttl01{
	opacity: 1 !important;
}
input[type="submit"]:disabled{
	opacity: 0.2;
	pointer-events: none;
}

table.TableInput textarea{
	border-style:solid;
	border-color:#555555;
	border-width:1px;
	font-size:125%;
	}

table.TableInput select {
	border-style:solid;
	border-color:#555555;
	border-width:1px;
	font-size:105%;
	padding:2px;
	}

table.TableSeminar td.Select {
	text-align:center;
	}

table.TableInput option {
	font-size:105%;
	padding:5px;
	}

table.TableInput input.zipbutton {
	font-size:105%;
	padding:1px;
	vertical-align:text-bottom;
	}


.InputTextLong {width: 500px;}
.InputTextMiddle {width: 300px;}
.InputTextShort {width: 150px;}
.TextareaLong{width: 500px;}
.ss_cell input[type="checkbox"],.ss_cell input[type="radio"]{
	margin-right: 5px;
	vertical-align: middle;
}
.ss_leftComment{
	margin-right: 5px;
}
div.ss_cell ul li{
	margin-left: 5px;
}
/*--- テーブル > 入力箇所 > リスト---*/
table.TableInput dl.Knew {
	margin-bottom:10px;
	}

table.TableInput dl.Knew dd{
	margin-left:20px;
	}


/*--- IME操作　IE専用 ---*/
.ImemodeZen{ ime-mode:active;}
.ImemodeHan{ ime-mode:inactive;}

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}

.input_category ul li{
	margin: 0 1em 0 0;
}
.input_category ul li{
	display: inline-block;
	vertical-align: middle;
}
.input_category ul li span{
	display: inline-block;
	vertical-align: middle;
}



.zipCode li{
	position: relative;
/*	width: 69px; */
}

.main_ttl{
	font-weight: bold;
	color: #008FBE;
	padding: 30px 20px;
	border-top: 5px solid #008FBE;
	border-bottom: 5px solid #008FBE;
	margin: 0 auto 20px;
	font-size: 32px;
	line-height: 1;
}
@media screen and (max-width: 1023px) {
	.main_ttl {
		font-size: 20px;
	}
}
@media screen and (max-width: 600px) {
	.main_ttl {
		padding: 30px 0;
		margin: 30px auto 20px;
	}
}
.ttl01{
	font-size: 26px;
    font-weight: bold;
    color: #595757;
    padding: 16px 0 0 18px;
    position: relative;
    margin: 30px 0 25px;
		line-height: 1;
}
.ttl01:before{
	content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 25px 25px 0 0;
border-color: #008FBE transparent transparent transparent;
position: absolute;
top: 0;
left: 0;
}
@media screen and (max-width: 1023px) {
  .ttl01 {
    font-size: 20px;
    margin: 30px 0 15px;
  }
}
.fl_l{
	float: left;
	width: 77%;
}
.zipCode li input[type="text"]{
	width: 40px;
}


  @media screen and (max-width: 1023px){
    #Progress ul li{
			width: 30%;
			margin: 0 2% 0 0;
		}
		#Progress ul li:nth-child(3n){
			margin: 0;
		}
		.main-ttl {
			font-size: 20px;
		}
		.ttl01{
			margin: 60px auto 40px;
		}

	table.TableInput th.Item{
		width: 35%;
	}
	table.TableInput td.Value{
		width: 60%;
	}
	table.TableInput textarea{
		width: 100%;
	}
	input[type="text"]{
		width: 100%;
	}
	table.TableInput input[type="text"], table.TableTrans input[type="text"]{
		width: 100%;
	}
	table.TableInput select {
    height: 33px;
}
	/* 名前部分 */
	.name ul{
		display: flex;
	}
	.name li.ss_input{
		width: 40%;
	}
  .name li.ss_input:nth-of-type(1){
		margin: 0 5% 0 0;
	}

	.name li input[type="text"]{
		width: 86%;
	}

	/* 郵便番号部分 */
  .zipCode ul{
		display: flex;
	}
	.zipCode li input[type="text"]{
		width: 59%;
	}
	.zipCode li:nth-of-type(1):after{
		right: 0px;
	}

  }


@media screen and (max-width: 1023px) {
	.main_ttl {
		font-size: 20px;
	}
}
@media screen and (max-width: 600px) {
	.main_ttl {
		padding: 30px 0;
		margin: 30px auto 20px;
	}
}

._input_mark {
	display: inline-block;
	vertical-align: middle;
}
._input_txt {
	padding: 0 0 0 0.2em;
}
._input_txt_consent{
	padding: 0 0 0 0.5em;
}