@charset "UTF-8";

/* entry
--------------------------------------*/

/* PC */
.entry_wrap {
	border-top: 1rem solid #007db1;
}
.audition_top {
	padding: 45px 0;
	background-color: #f6f6f6;
	border-bottom: 2px dotted #4d597c;
}
.audition_top h2 {
	margin-bottom: 15px;
	font-size: 2.8rem;
}
.audition_top p {
	font-size: 2rem;
	letter-spacing: -.08em;
}
.tbl_contact {
	width: 100%;
	border-collapse: collapse;
}
.tbl_contact.tbl_confirm {
	margin-top: 5px;
}
.tbl_contact tr {
	position: relative;
	border-bottom: 2px dotted #4d597c;
}
.tbl_contact tr:last-child {
	border-bottom: 0;
}
.tbl_contact th, .tbl_contact td {
	position: relative;
	text-align: left;
	vertical-align: middle;
	color: #007db1;
}
.tbl_contact th {
	width: 310px;
	padding: 34px 0 25px 30px;
	font-size: 2rem;
	color: #007db1;
	font-weight: bold;
	vertical-align: top;
}
.tbl_contact th span {
	display: inline-block;
	position: absolute;
	width: 60px;
	height: 20px;
	top: 36px;
	right: 0;
	border: 1px solid #dd1010;
	border-radius: 10px;
	line-height: 20px;
	color: #dd1010;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.tbl_contact th.th_vm {
	vertical-align: middle;
}
.tbl_contact th.th_vm span {
	top: 50%;
	margin-top: -10px;
}
.tbl_contact td {
	width: 650px;
	padding: 30px 30px 29px;
	font-size: 1.6rem;
	color: #555;
}
.tbl_contact td.td_narrow {
	padding: 30px 30px 25px;
}

@media all and (-ms-high-contrast: none) {
  /* IE11 */
  *::-ms-backdrop, .tbl_contact th span {
	 margin-top: -5px;
	 padding-top: 1px;
	}
}
.audition_btm {
	padding: 45px 0;
	background-color: #f6f6f6;
	border-top: 2px dotted #4d597c;
	font-size: 2rem;
}
.audition_btm dt{
	margin-top: 20px;
	font-weight: bold;
	text-indent: -.5em;
	color: #007db1;
}
.audition_btm dd {
	margin-top: 10px;
	font-weight: bold;
	line-height: 1.3;
}
.audition_btm dd a:hover {
	text-decoration: underline;
}
.entry_btn_box {
	position: relative;
	margin: 50px auto 0;
	width: 960px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	}
.entry_btn_box > * {
	margin: 0 20px;
}
@media screen and (max-width: 767px) {
	.entry_wrap {
			border-top: .5rem solid #007db1;
		}
	.audition_top {
		padding: 2rem 1.5rem;
		border-bottom: 1px dotted #4d597c;
	}
	.audition_top h2 {
		font-size: 2rem;
		color: #007db1;
		margin-bottom: 1rem;
	}	
	.audition_top p {
		font-size: 1.6rem;
	}
	#form > .inner {
		padding-left: 0;
		padding-right: 0;
		}
	.tbl_contact,
	.tbl_contact tbody {
		display: block;
	}
	.tbl_contact.tbl_confirm {
		margin-top: 5px;
	}
	.tbl_contact tr {
		display: block;
		border-bottom: 1px dotted #4d597c;
	}
	.tbl_contact th, .tbl_contact td {
		display: block;
	}
	.tbl_contact th {
		width: 100%;
		padding: 1rem 1.5rem 0;
	}
	.tbl_contact th span {
		display: inline-block;
		position: static;
		margin: -.6rem 0 0 1rem;
		width: 50px;
		line-height: 18px;
		font-size: 1.2rem;
		vertical-align: middle;
	}
	.tbl_contact td {
		width: 100%;
		padding: .5rem 1.5rem 1.5rem;
		font-size: 1.8rem;
	}
	.tbl_contact td.td_narrow {
		padding: 1rem 1.5rem 1.5rem;
	}
	
	.audition_btm {
		margin-top: .5rem;
		padding: 2rem 1.5rem 1.5rem;
		border-top: 1px dotted #4d597c;
		font-size: 1.6rem;
	}
	.audition_btm dt{
		margin-top: .5rem;
	}
	.audition_btm dd {
		margin-top: 0;
		line-height: 1.5;
	}
	.audition_btm dd a.hover {
		text-decoration: underline;
	}
	.entry_btn_box {
		margin-top: 2.5rem;
		padding: 0 1.5rem;
		width: 100%;
	}
	.entry_btn_box > * {
		margin: 0;
	}
	.entry_btn_box > *:not(:first-child) {
		margin-left: 2rem;
	}
	
}
@media screen and (max-width: 364px) {
	.audition_btm {
		font-size: 4.4vw;
	}
}

/* parts
--------------------------------------*/
input:not([type="radio"]), button, textarea {
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: inset 2px 2px 3px 0px rgba(0, 0, 0, .1);
	outline: none;
font-family: "Yu Gothic", YuGothic, sans-serif;
	font-size: 16px;
	line-height: normal;
}

::-webkit-input-placeholder {
 color: #c1c1c1;
 font-size: 16px;
}

::-moz-placeholder {
 color: #c1c1c1;
 opacity: 1;
 font-size: 16px;
}

:-ms-input-placeholder {
 color: #c1c1c1;
 font-size: 16px;
}
input[type="email"], input[type="text"], input[type="tel"], input[type="number"] {
	width: 100%;
	height: 30px;
	padding: 7px 10px 6px 15px;
	border: 1px solid #ccc;
	background: #fff;
	-webkit-transition: .4s;
	transition: .4s;
}
textarea {
	width: 100%;
	height: 400px;
	padding: 7px 10px 6px 15px;
	border: 1px solid #ccc;
	background: #fff;
	resize: vertical;
	-webkit-transition: border-color .4s;
	transition: border-color .4s;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance:textfield;
}
input[type="radio"] {
	margin: 0 10px 0 0;
  border: 1px solid #ccc;
}
input:hover, textarea:hover, input:focus, textarea:focus {
	background-color: #fff;
	border: 1px solid #999 !important;
	outline: none;
}

.ml20 {
	margin-left: 20px !important;
}
.ime_off {
	ime-mode: disabled;
}
.w100 {
	width: 100px !important;
}
.w140 {
	width: 140px !important;
}
.w150 {
	width: 150px !important;
}
.w160 {
	width: 160px !important;
}
.w285 {
	width: 285px !important;
}

@media screen and (max-width: 767px) {
	input:not([type="radio"]), button, textarea {
		box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, .1);
		font-size: 1.8rem;
	}
	::-webkit-input-placeholder {
	 font-size: 1.8rem;
	}
	::-moz-placeholder {
	 font-size: 1.8rem;
	}
	:-ms-input-placeholder {
	 font-size: 1.8rem;
	}
	input[type="email"], input[type="text"], input[type="tel"], input[type="number"] {
		height: 4rem;
		padding: .8rem;
	}
	textarea {
		height: 20rem;
		padding: .5rem .8rem;
	}
	input[type="number"]::-webkit-outer-spin-button,
	input[type="number"]::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
	input[type="number"] {
		-moz-appearance:textfield;
	}
	input[type="radio"] {
		margin: 0 10px 0 0;
		border: 1px solid #ccc;
	}
	input:hover, textarea:hover, input:focus, textarea:focus {
		background-color: #fff;
		border: 1px solid #999 !important;
		outline: none;
	}

	input.ml20 {
		margin-left: 0 !important;
		margin-top: 1rem;
	}
	.w100 {
		width: 14rem !important;
	}
	.w140 {
		width: 15rem !important;
	}
	.w150 {
		width: calc((50% - 2.3rem) / 2) !important;
		max-width: 13rem;
	}
	.w160 {
		width: 100% !important;
	}
	.w285 {
		width: 100% !important;
	}

}


.radio_space {
	display: inline-block;
	margin-right: 25px;
}
.zip_space {
	padding: 0 20px;
}
.num_space {
	position: relative;
	display: inline-block;
}
.num_space:not(:first-child) {
	margin-left: 20px;
}
.num_space > input {
	margin-right: 10px;
}

.description {
	margin-top: 20px;
	font-size: 1.4rem;
	color: #007db1;
	line-height: 1;
}
.description.wide {
	margin-top: 10px;
	line-height: 1.6;
}
.description+.description {
	margin-top: 4px;
}
.wrap_select {
	position: relative;
	margin-bottom: 20px;
  display: inline-block;
  background-color: #fff;
  border: 1px solid #ccc;
	box-shadow: inset 2px 2px 3px 0px rgba(0, 0, 0, .1);
}
.wrap_select:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 26px;
	margin-top: -5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
  border-color: #333 transparent transparent transparent;
}
.wrap_select select {
  position: relative;
	padding: 0 0 0 10px;
font-family: "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
	width: 100%;
  background: none;
  border: 0;
  line-height: normal;
	color: #007db1;
  z-index: 1;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
.wrap_select select option {
	color: #007db1;
}
.wrap_select select.ph {
	color: #c1c1c1;
}

body.android input,
body.android button,
body.android textarea,
body.android .wrap_select select {
  font-family: "Sawarabi Mincho", serif;
}
.mr10 {
	margin-right: 10px !important;
}

@media screen and (max-width: 767px) {
	.radio_space {
		margin-right: 4.5rem;
	}
	.td_zip {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: .8rem;
	}
	.zip_space {
		display: inline-block;
		width: 2.3rem;
		padding: 0;
		line-height: 4rem;
		text-align: center;
	}
	.num_space {
		display: block;
	}
	.num_space:not(:first-child) {
		display: block;
		margin: 1rem 0 0 0;
	}
	/*.num_space > input {
		margin-right: 10px;
	}*/
	.description {
		display: block;
		margin-top: .3rem;
		font-size: 1.4rem;
	}
	.description.wide {
		margin-top: .3rem;
		line-height: 1.2;
		text-indent: -1.2rem;
		margin-left: 1.2rem;
	}
	.description+.description {
		margin-top: 4px;
	}
	.wrap_select {
		box-shadow: inset 1px 1px 2px 0px rgba(0, 0, 0, .1);
		margin-bottom: .8rem;
	}
	.wrap_select:after {
		right: 1rem;
	}
	.wrap_select select {
		height: 4rem;
		font-size: 1.8rem;
	}
	.tbl_contact td.td_ymd {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
    flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.ymd_add {
		display: block;	
		width: calc((100% - 2rem) / 3);
		font-size: 1.6rem;
	}
	.ymd_add.ml20 {
		margin-left: 0 !important;
	}
	.ymd_add > input {
		width: calc(100% - 2.2rem) !important;
	}
	.mr10 {
		margin-right: .5rem !important;
	}
}

/* button
--------------------------------------*/
.btn_zip {
	position: relative;
	margin-left: 20px;
	width: 220px;
	background-color: #007db1;
	height: 30px;
	line-height: 30px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	-webkit-transition: .3s;
	transition: .3s;
}
.btn_zip::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border-right: 1px solid rgba(255,255,255,1);
	border-bottom: 1px solid rgba(255,255,255,1);
	-webkit-transform: rotate(-45deg) skew(5deg,5deg);
	transform: rotate(-45deg) skew(5deg,5deg);
	-webkit-transition: .3s;
	transition: .3s;
}
.btn_zip:hover {
	opacity: .7;
}
.upload_list {
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	margin-top: 10px;
}
.upload_list li {
	position: relative;
	display: inline-block;
}
.upload_list li + li {
	margin-left: 40px;
}
.btn_file {
	display: inline-block;
	margin-top: -3px;
	width: 200px;
	background-color: #007db1;
	border: 1px solid #007db1;
	border-radius: 15px;
	height: 30px;
	line-height: 28px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	-webkit-transition: .3s;
	transition: .3s;
	vertical-align: middle;
}
.btn_file:hover {
	opacity: .7;
}
.btn_file.done {
	background-color: #fff;
}
.btn_file.done:hover {
	opacity: .7;
}

.btn_file.done span {
  display: inline-block;
	max-width: 200px;
  padding: 0 10px;
  font-size: 12px;
  color: #555;
	line-height: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
	vertical-align: middle;
}

.btn_file input[type="file"] {
	opacity: 0;
	position: absolute;
	-webkit-appearance: none;
	appearance: none;
	z-index: -1;
}

button.clear {
  display: none;
  position: absolute;
  top: -20px;
	right: -15px;
  background-color: rgba(153,153,153,1);
  width: 30px;
  height: 30px;
	border-radius: 50%;
	line-height: 30px;
	color: #fff;
	text-align: center;
	-webkit-transition: .3s;
	transition: .3s;
}

button.clear:hover {
  background-color: rgba(153,153,153,.7);
}

@media all and (-ms-high-contrast: none) {
  /* IE11 */
  *::-ms-backdrop, .btn_zip { padding-top: 3px;}
}

.btn_reset {
	width: 325px;
	height: 60px;
	background-color: #fff;
	border: 1px solid #007db1;
	box-shadow: 3px 3px 3px 0px rgba(0,0,0,.35);
	line-height: 1;
	font-size: 2.8rem;
	font-weight: bold;
	color: #007db1;
	text-align: center;
	cursor: pointer;
}
@media screen and (min-width: 768px) {
	.btn_reset.btn_back {
		position: absolute;
		left: 0;
		top: 0;
		width: 260px;
		height: 45px;
		font-size: 2.4rem;
		margin: 0;
	}
}
.btn_submit {
	position: relative;
	width: 325px;
	height: 60px;
	background-color: #b32923;
	border: 1px solid #b32923;
	box-shadow: 3px 3px 3px 0px rgba(0,0,0,.35);
	line-height: 1;
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	cursor: pointer;
}
.btn_submit::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(255,255,255,1);
	border-bottom: 1px solid rgba(255,255,255,1);
	-webkit-transform: rotate(-45deg) skew(5deg,5deg);
	transform: rotate(-45deg) skew(5deg,5deg);
	-webkit-transition: .3s;
	transition: .3s;
}
.btn_submit.btn_thanks {
	display: inline-block;
	line-height: 60px;
background-color: #FFF;
	color: #b32923;
}
.btn_submit.btn_thanks::after {
	display: none;
}
@media screen and (max-width: 767px) {
	.btn_zip {
		position: relative;
		margin-left: 2rem;
		padding-right: .5rem;
		width: calc(50% - 2rem);
		max-width: 16rem;
		height: 4rem;
		line-height: 4rem;
		font-weight: bold;
	}
	.btn_zip::after {
		right: 1rem;
	}
	.btn_zip.hover {
		opacity: .7;
	}
	.upload_list {
		display: block;
		margin: 0 0 1rem;
	}
	.upload_list li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}
	.upload_list li + li {
		margin: .8rem 0 0 0;
	}
 	.upload_list li .text {
		display: block;
		width: 9.5rem;
		line-height: 5rem;
		text-align: right;
	}
	.btn_file {
		margin-left: .5rem;
		width: calc(100% - 10rem);
		max-width: 25rem;
		text-align: center;
		height: 5rem;
		line-height: 5rem;
		font-size: 1.8rem;
		border-radius: 2.5rem;
	}
	.btn_file.hover {
		opacity: .7;
	}
	.btn_file.done span {
		max-width: 25rem;
	}
	
	button.clear {
		left: 9rem;
		right: auto;
	}
	button.clear.hover {
		background-color: rgba(153,153,153,.7);
	}

	.btn_reset {
		width: 43.46vw;
		max-width: 32.6em;
		height: 6.9rem;
		font-size: 2rem;
	}
	.btn_submit {
		width: 43.46vw;
		max-width: 32.6em;
		height: 6.9rem;
		font-size: 2rem;
	}
	.btn_submit::after {
		right: 1.2rem;
		margin-top: -4px;
		width: 8px;
		height: 8px;
	}
	.btn_submit.btn_thanks {
		line-height: 6.9rem;
	}

}
@media screen and (max-width: 364px) {
	.btn_file.done span {
		display: block;
		line-height: 5rem;
	}
	.btn_zip {
		font-size: 4.4vw;
	}
}


/* validation */
em.error {
	display: inline-block;
	position: absolute;
	top: -8px;
	left: 435px;
	padding: 10px;
	background-color: rgba(255, 0, 0, 0.7);
	line-height: 1.2;
	font-size: 12px;
	font-style: normal;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, sans-serif;
	color: #fff;
	text-align: left;
	white-space: nowrap;
	z-index: 100;
	cursor: default;
}
em.error:after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 5px 0 5px;
	border-color: rgba(255, 0, 0, 0.7) transparent transparent transparent;
}
em.error:hover {
	opacity: 1;
}
.td_zip, .td_add, .ymd_add {
	position: relative;
}
.ymd_add em.error {
	top: -45px;
	left: 0;
}
em.error#zip01-error, em.error#pref-error,
.num_space em.error {
	top: -40px;
	left: 0;
}
em.error#zip02-error {
	top: -40px;
	left: 185px;
}
em.error#add-error {
	top: 13px;
	left: 405px;
}
.td_age em.error {
	top: -9px;
	left: 30px;
}
.btn_file em.error {
	top: -42px;
	left: 60px;
}
em.error#name01-error, em.error#kana01-error, em.error#p_name01-error, em.error#p_kana01-error {
	top: -8px;
	left: 30px;
}
em.error#name02-error, em.error#kana02-error, em.error#p_name02-error, em.error#p_kana02-error {
	top: -8px;
	left: 335px;
}

@media screen and (max-width: 767px) {
	em.error {
		display: inline-block;
		top: -35px;
		left: auto;
		right: 0;
	}
	em.error.hover {
		opacity: 1;
	}
	.td_zip, .td_add, .ymd_add {
		position: relative;
	}
	.ymd_add em.error {
		top: -35px;
		left: 0;
		right: auto;
	}
	em.error#zip01-error, em.error#pref-error {
		top: -38px;
		left: 0;
		right: auto;
	}
	em.error#zip02-error {
		top: -35px;
		left: 185px;
	}
	em.error#add-error {
		top: 11px;
		left: auto;
		right: 1.5rem;
	}
	.td_age em.error {
		top: -35px;
		left: 1.5rem;
		right: auto;
	}
	.btn_file em.error {
		top: -42px;
		left: 5rem;
		right: auto;
	}
	em.error#name01-error, em.error#kana01-error, em.error#p_name01-error, em.error#p_kana01-error {
		top: -35px;
		left: auto;
		right: 1.5rem;
	}
	em.error#name02-error, em.error#kana02-error, em.error#p_name02-error, em.error#p_kana02-error {
		top: 1.5rem;
		left: auto;
		right: 1.5rem;
	}
}
.upconfirm_file {
	width: 400px;
	height: auto;
}
.thanks {
	padding: 100px 0 150px;
	text-align: center;
}
.thanks p {
	font-size: 1.8rem;
	line-height: 1.6;
}
.thanks p.ttl_sub {
	font-size: 3rem;
	line-height: 1.2;
	margin-bottom: 2.4rem;
}

@media screen and (max-width: 767px) {
	.upconfirm_file {
		display: block;
		margin: 0 auto;
		width: 90%;
		height: auto;
	}
	.thanks {
		padding: 3rem 1.5rem 5rem;
	}
	.thanks p.ttl_sub {
		font-size: 2.6rem;
	}
}
a[href="http://www.php-factory.net/"] {
	display: none !important;
}






















