@charset "utf-8";

/* ============================================================== form */
.frm input,
.frm select,
.frm textarea,
.frm dl,
.frm dt,
.frm dd                  {-moz-box-sizing:border-box;box-sizing:border-box;}
.frm input[type=password],
.frm input[type=text],
.frm input[type=date],
.frm select,
.frm textarea            {font-size:16px;min-height:1em;padding:0.4em;line-height:1.5em;background:#fff;outline:none;border:1px solid #ccc;border-radius:0;}
.frm input[type=password],
.frm input[type=text],
.frm input[type=date],
.frm select,
.frm textarea            {width:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;}
.frm select              {position:relative;padding:0 0.5em;padding-right:2em;height:2.4em;line-height:2.4em;vertical-align:top;}
.frm select              {background-image:url("../img/select_bg.png");background-position:100% 50%;background-repeat:no-repeat;background-size:15px 10px;}

.frm select:focus,
.frm textarea:focus,
.frm input[type=password]:focus,
.frm input[type=date]:focus,
.frm input[type=text]:focus,
.frm select.on_focus,
.frm textarea.on_focus,
.frm input[type=password].on_focus,
.frm input[type=date].on_focus,
.frm input[type=text].on_focus,
.frm input.on_focus      {border-color:#399;}

/* ----------------------------------------------- frame */
.frm dd span             {margin-bottom:0.1em;display:block;}

/* ----------------------------------------------- radio button */
.frm input[type=radio]                           {opacity:0;position:absolute;}
.frm input[type=radio] + label                   {position:relative;display:inline-block;padding-left:28px;line-height:1.5em;vertical-align:top;cursor:pointer;}
.frm input[type=radio] + label:after,
.frm input[type=radio] + label:before            {border:1px solid #ccc;background:#fff;content:"";position:absolute;display:block;-moz-box-sizing:border-box;box-sizing:border-box;transition:0.2s ease;}
.frm input[type=radio] + label:before            {z-index:3;width:18px;height:18px;top:2px;left:0;}
.frm input[type=radio] + label:after             {z-index:5;width:0;height:0;top:11px;left:9px;opacity:0;}
.frm input[type=radio]:checked + label:after     {background:#ccc;width:12px;height:12px;top:5px;left:3px;opacity:1;}

.frm input[type=radio] + label:after,
.frm input[type=radio] + label:before            {border-color:#ccc;border-radius:50%;}
.frm input[type=radio] + label                   {color:#666;}
.frm input[type=radio] + label:hover             {color:#000;}
.frm input[type=radio]:checked + label:after     {background:#0c9;}

/* ----------------------------------------------- checkbox */
.frm input[type=checkbox]                           {opacity:0;position:absolute;}
.frm input[type=checkbox] + label                   {position:relative;display:inline-block;padding-left:28px;line-height:1.5em;vertical-align:top;cursor:pointer;}
.frm input[type=checkbox] + label:after,
.frm input[type=checkbox] + label:before            {border:1px solid #ccc;background:#fff;content:"";position:absolute;display:block;-moz-box-sizing:border-box;box-sizing:border-box;transition:0.2s;}
.frm input[type=checkbox] + label:before            {z-index:3;width:18px;height:18px;top:4px;left:0;}
.frm input[type=checkbox] + label:after             {z-index:5;width:0;height:0;top:14px;left:9px;}
.frm input[type=checkbox] + label:after             {border:0 none;border-left:0 solid #111;border-bottom:0 solid #111;left:3px;width:0;height:0;margin-top:0;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}
.frm input[type=checkbox]:checked + label:after     {border-left:3px solid #111;border-bottom: 3px solid #111;background:transparent;left:3px;width:16px;height:8px;margin-top:-8px;-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}

.frm input[type=checkbox] + label                   {color:#666;}
.frm input[type=checkbox] + label:hover             {color:#000;}
.frm input[type=checkbox]:checked + label:after     {border-color:#3dc;}

/* ----------------------------------------------- switch */
.frm .swtch                                             {}
.frm .swtch input[type=checkbox]                        {margin:0;position:absolute;opacity:0;}
.frm .swtch input[type=checkbox] + label                {position:relative;display:inline-block;width:50px;height:30px;cursor:pointer;}
.frm .swtch input[type=checkbox] + label:after,
.frm .swtch input[type=checkbox] + label:before         {content:"";position:absolute;display:block;box-sizing:border-box;transition:0.2s;}
.frm .swtch input[type=checkbox] + label:before         {width:50px;height:28px;top:0;border:1px solid #ccc;background:#fff;border-radius:14px;}
.frm .swtch input[type=checkbox] + label:after          {width:24px;height:24px;background:#fff;border:1px solid #ccc;top:2px;left:2px;border-radius:50%;box-shadow:1px 1px 2px rgba(0,0,0,0.1);}
.frm .swtch input[type=checkbox]:checked + label:before {background:rgba(35,180,206,1);}
.frm .swtch input[type=checkbox]:checked + label:after  {left:24px;margin-top:0;}

/* ----------------------------------------------- upload */
.frm .upload_file input[type=file]{position:absolute;opacity:0;z-index:0;}
.frm .upload_file .btn            {position:relative;z-index:1;display:inline-block;line-height:2em;height:2em;}

/* ----------------------------------------------- button */
.frm .btns               {clear:both;}
.btns                    {padding:1em 0;clear:both;text-align:center;}
button::-moz-focus-inner {border:0;padding:0;margin-top:-2px;}
a.btn, a:link.btn, a:visited.btn,
.btn                     {font-size:16px;background-color:#000;color:#fff;padding:0 1.6em;line-height:3em;border:0 none;display:inline-block;text-align:center;text-decoration:none;vertical-align:top;cursor:pointer;-webkit-appearance:none;border-radius:0;transition:all 0.2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;}
a.btn_posi, a:link.btn_posi, a:visited.btn_posi,
.btn_posi                {background:#2CAD36;color:#fff;}
a.btn_posi:hover, a:link.btn_posi:hover, a:visited.btn_posi:hover,
.btn_posi:hover          {background:#5cd;}
.btn_nega                {background:#999;color:#fff;}
.btn_nega:hover          {background:#aaa;}

.btn_ico i               {display:inline-block;vertical-align:middle;}
.btn_ico:before          {font-family:'entypo';display:inline-block;vertical-align:middle;margin-right:0.5em;}
.btn_contact:before      {content:'\e604';}

/* ----------------------------------------------- frame */
.frm dl                  {margin-bottom:1em;}

/* ----------------------------------------------- error */
.bar_message             {position:relative;}
.bar_message .close      {position:absolute;top:50%;right:0.5em;margin-top:-0.5em;line-height:1em;display:block;text-align:center;width:1em;cursor:pointer;}
.ErrorMessage            {color:#fff;background:#d12;margin-bottom:1em;padding:1em;line-height:1.5;font-weight:bold;}
.SuccessMessage          {color:#fff;background:#33cc00;margin-bottom:1em;padding:1em;line-height:1.5;font-weight:bold;}

.frm .error              {color:#d12;margin-bottom:0.5em;line-height:1.5;font-weight:bold;}
.frm .error + select,
.frm .error + input,
.frm .error + textarea   {border-color:#e34;}
.frm select.error,
.frm input.error,
.frm textarea.error      {border-color:#e34;}

/* ----------------------------------------------- copyright */
.frm .recube_copy        {display:none;}

/* ============================================================== local */
.frm                     {margin:0 auto;max-width:750px;}

input[type=text].input-s,
input[type=password].input-s,
select.input-s,
textarea.input-s,
input[type=text].input-l,
input[type=password].input-l,
input.input-l,
select.input-l,
textarea.input-l,
.input-l                   {width:100%;}
input[type=text].input-s.input-tel,
input.input-s.input-tel,
input[type=text].input-s.input-zip,
input.input-s.input-zip    {width:12em;}

select.inp4 {width:5em;}
select.inp2 {width:4em;}

.frm .btn_next:disabled,
.frm .btn_next:disabled:hover  {background:#ccc;cursor:default;border:0 none;color:#fff;}

.frm label.error           {display:block;}

.sct_form .lead            {margin-bottom:1em;}

.sct_form .frm dl          {margin-bottom:1.5em;}
.sct_form .frm dt          {margin-bottom:0.25em;line-height:180%;}
.sct_form .frm dt span     {background:#000;color:#fff;font-size:88%;padding:0 1em;display:inline-block;border-radius:5px 0 0 5px;vertical-align:top;}
.sct_form .frm dt:after              {content:"必須";font-size:88%;color:#fff;background:#777;padding:0 1em 0 0.5em;display:inline-block;vertical-align:top;border-radius:0 5px 5px 0;position:relative;z-index:3;}
.sct_form .frm .opt dt span          {background:#999;border-radius:5px;}
.sct_form .frm .opt dt:after         {content:"";display:none;}

.sct_form .frm dd .rdo     {display:inline-block;margin-right:1em;}
.sct_form .frm dd select + i {vertical-align:middle;margin:0 0.5em;line-height:2em;}

.sct_form .fld_capacity    {margin-top:4em;}
.sct_form .fld_career1_period dd span,
.sct_form .fld_career2_period dd span {display:inline-block;}

.sct_form .frm_hdg         {margin:2em 0 0.5em;border-bottom:1px solid #ccc;}
.sct_form .frm_hdg span    {display:inline-block;margin-right:0.5em;}
.sct_form .frm_hdg span:nth-of-type(1){}
.sct_form .frm_hdg span:nth-of-type(2){font-size:87.5%;color:#187;}

@media screen and (min-width: 750px){
	input.input-s,
	input[type=text].input-s,
	input[type=password].input-s,
	select.input-s,
	textarea.input-s,
	.input-s                   {width:50%;}
	.btns .btn                 {font-size:100%;}

	.sct_form .frm dl          {display:flex;}
	.sct_form .frm dt          {width:12em;padding-right:1em;position:relative;}
	.sct_form .frm dt:before   {position:absolute;content:"";display:block;width:100%;height:1px;background:#ccc;top:0.75em;z-index:1;}
	.sct_form .frm dt span     {position:relative;z-index:3;}
	.sct_form .frm dd          {width:calc(100% - 13em);padding-left:1em;border-left:1px solid #ccc;}

	.fld_career dd span        {display:inline-block;margin-right:0.5em;}

}
