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

	FIRST VIEW

--------------------------------------------------*/
#fv {position: relative;margin-top: 10rem;padding-bottom: 8rem;overflow: hidden;}
#fv .flexbox {align-items: flex-start;justify-content: flex-start;}
#fv .txtbox {width: 50%;max-width: 55rem;padding-top: 5%;}
#fv .txtbox h1 {position: relative;
	margin-bottom: 5rem;
	padding-left: 5rem;
	color: #758DA2;
	font-weight: 700;
	font-size: 1.9rem;
}
#fv .txtbox h1::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 13%;
	width: 100%;
	height: 1px;
	background: #005AAB;
}
#fv .txtbox h1 span {
	display: block;
	position: relative;
	margin-bottom: 12%;
	color: #005AAB;
	font-weight: 900;
	font-size: 6rem;
	line-height: 1.5;
}
#fv .txtbox p {padding-left: 5rem;}
#fv .txtbox p:nth-of-type(1) {margin-bottom: 4rem;}
@media only screen and ( max-width : 1124px ) {
	#fv .txtbox h1 {font-size: 1.5vw;}
	#fv .txtbox h1 span {font-size: 5vw;}
}
@media only screen and ( max-width : 869px ) {
	#fv {margin-top: 8rem;padding-bottom: 4rem;}
	#fv .txtbox {width: 100%;max-width: 100%;}
	#fv .txtbox h1 {padding-left: 2rem;font-size: 1.6rem;}
	#fv .txtbox h1 span {margin-bottom: 8%;font-size: 10vw;}
	#fv .txtbox p {padding-left: 2rem;}
	#fv .txtbox p:nth-of-type(1) {margin-bottom: 2rem;}
}
@media only screen and ( max-width : 480px ) {
	#fv .txtbox h1 {margin-bottom: 3rem;}
}
/*-------------------------------------------------

	ABOUT US

--------------------------------------------------*/
#about {overflow: hidden;background: #ECF8FF;}
#about p.txt {margin-bottom: 5rem;}
#about .flexbox {
	position: relative;
	align-items: center;
	margin-bottom: 5rem;
	padding-bottom: 14rem;
}
#about .flexbox::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,0);
    width: 0;
    height: 0;
	border-top: 100px solid #BFE4FC;
    border-left: 375px solid transparent;
    border-right: 375px solid transparent;
}
#about .flexbox figure {position: relative;width: 32.5%;margin-bottom: 1rem;}
#about .flexbox figcaption {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	padding: 1rem 1.5rem;
	background: #005AAB;
	color: #fff;
	font-weight: 500;
	font-size: 1.4rem;
}
#about .flexbox2 {display: flex;flex-wrap: wrap;justify-content: space-between;}
#about .flexbox2 div {
	width: 32.5%;
	padding: 2rem 2rem 4rem;
	border: 1px solid #005AAB;
	border-radius: 1rem;
	background: #fff;
}
#about .flexbox2 h3 {
	margin-bottom: 4.5rem;
	color: #0F98DF;
	font-weight: 900;
	font-size: 1.4rem;
	text-align: center;
}
#about .flexbox2 h3 span {
	display: block;
	width: 73px;
	height: 73px;
	margin: 1rem auto 0;
	border-radius: 50%;
	background: #CFF0FF;
	font-size: 5rem;
	line-height: 73px;
	text-align: center;
}
#about .flexbox2 h2 {
	margin-bottom: 4rem;
	color: #005AAB;
	font-weight: 900;
	font-size: 2.4rem;
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	#about .flexbox {padding-bottom: 7rem;}
	#about .flexbox figure {width: 49%;}
	#about .flexbox figure:nth-of-type(5) {width: 70%;margin: 1rem auto 2rem;}
	#about .flexbox figcaption {padding: 1rem;font-size: 1.2rem;}
	#about .flexbox::before {
		border-top: 50px solid #BFE4FC;
		border-left: 191px solid transparent;
		border-right: 191px solid transparent;
	}
	#about .flexbox2 div {width: 100%;margin-bottom: 1rem;}
	#about .flexbox2 div:last-child {margin-bottom: 0;}
}
@media only screen and ( max-width : 480px ) {
	#about .flexbox {margin-bottom: 2rem;padding-bottom: 3rem;}
	#about .flexbox::before {
		border-top: 25px solid #BFE4FC;
		border-left: 100px solid transparent;
		border-right: 100px solid transparent;
	}
	#about .flexbox2 h3 {margin-bottom: 1.5rem;}
	#about .flexbox2 h2 {margin-bottom: 2rem;font-size: 2rem;}
}
/*-------------------------------------------------

	WORK STYLE

--------------------------------------------------*/
#work .flexbox {align-items: center;margin-bottom: 5rem;}
#work .flexbox:nth-of-type(odd) {flex-direction: row-reverse;}
#work .flexbox:last-child {margin-bottom: 0;}
#work .flexbox figure {width: 51%;}
#work .flexbox div {width: 41%;}
#work .flexbox h3 {
	margin-bottom: 3.5rem;
	color: #758DA2;
	font-weight: 900;
	font-size: 1.6rem;
}
#work .flexbox h3 span {
	display: block;
	color: #005AAB;
	font-weight: 900;
	font-size: 1.5em;
	line-height: 1.8;
}
@media only screen and ( max-width : 767px ) {
	#work .flexbox figure {width: 100%;margin-bottom: 3rem;}
	#work .flexbox div {width: 100%;}
	#work .flexbox h3 {margin-bottom: 2rem;font-size: 1.4rem;}
}
@media only screen and ( max-width : 480px ) {
	#work .flexbox h3 span {font-size: 1.8rem;}
}
/*-------------------------------------------------

	INTERVIEW

--------------------------------------------------*/
#itv {background: #ECF8FF;}
#itv .flexbox {margin-bottom: 3rem;border: 1px solid #005AAB;background: #fff;}
#itv .flexbox:nth-of-type(odd) {flex-direction: row-reverse;}
#itv .flexbox figure {width: 50%;padding: 3rem;}
#itv .flexbox2 .box {width: 32.5%;border: 1px solid #005AAB;background: #fff;}
#itv .flexbox2 figure {padding: 2rem;}
#itv .txtbox {position: relative;}
#itv .flexbox .txtbox {width: 50%;}
#itv .flexbox .txtbox div {padding: 3rem;}
#itv .flexbox2 .txtbox div {padding: 2rem;}
#itv .txtbox h3 {
	margin-bottom: 3rem;
	color: #005AAB;
	font-weight: 700;
	font-size: 2.6rem;
}
#itv .flexbox2 .txtbox h3 {margin-bottom: 2rem;font-size: 2.4rem;}
#itv .txtbox p {
	display: inline-block;
	padding: 15px 35px;
	background: #ECF8FF;
	color: #005AAB;
	font-weight: 700;
	font-size: 1.2rem;
	text-align: center;
}
#itv .flexbox .txtbox p {margin-top: 30px;}
#itv .flexbox:nth-of-type(even) .txtbox {text-align: right;}
#itv .flexbox2 .txtbox p {padding: 5px 20px;font-weight: 900;}
#itv .txtbox h4 {margin-bottom: 5rem;font-size: 1.4rem;}
#itv .flexbox2 .txtbox h4 {margin-bottom: 2.5rem;}
#itv .txtbox h4 span {
	display: block;
	margin-top: 1rem;
	font-weight: 500;
	font-size: 1.72em;
}
#itv .txtbox a {
	position: relative;
	max-width: 15rem;
	padding: 1rem 2rem;
	border: 1px solid #000;
	background: #fff;
	font-weight: 500;
}
#itv .txtbox a::before {
	content: "";
	position: absolute;
	right: 1rem;
	bottom: 50%;
	transform: translate(0,50%) rotate(-45deg);
	width: 9px;
	height: 9px;
	border-right: 3px solid #000;
	border-bottom: 3px solid #000;
	transition: .3s;
}
#itv .txtbox a:hover {background: #000;color: #fff;}
#itv .txtbox a:hover::before {border-color: #fff;}
@media only screen and ( max-width : 767px ) {
	#itv .flexbox,
	#itv .flexbox2 .box {width: 100%;margin-bottom: 2rem;}
	#itv .flexbox2 .box:last-child {margin-bottom: 0;}
	#itv .flexbox figure,
	#itv .flexbox2 figure {width: 100%;padding: 1rem;}
	#itv .flexbox .txtbox {width: 100%;}
	#itv .flexbox:nth-of-type(even) .txtbox {text-align: left;}
	#itv .flexbox .txtbox p {margin-top: 0;}
	#itv .flexbox .txtbox div,
	#itv .flexbox2 .txtbox div {padding: 3rem 1rem 1rem;}
	#itv .txtbox h3,
	#itv .flexbox2 .txtbox h3 {margin-bottom: 2rem;font-size: 2rem;}
	#itv .txtbox h4,
	#itv .flexbox2 .txtbox h4 {margin-bottom: 3rem;font-size: 1.2rem;}
}
@media only screen and ( max-width : 480px ) {
}
/*-------------------------------------------------

	JOB INFO

--------------------------------------------------*/
#req {padding-bottom: 0;}
.ChangeElem_Btn_Content {display: flex;flex-wrap: wrap;justify-content: space-between;}
.ChangeElem_Btn_Content button {
	position: relative;
	width: 24%;
	margin-bottom: 1rem;
	padding: 2rem 0 4rem;
	border: none;
	outline: 1px solid #000;
	background: #fff;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: .1em;
	transition: .3s;
}
.ChangeElem_Btn_Content button span {font-size: 1.6rem;}
.ChangeElem_Btn_Content button::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 2rem;
    transform: translate(-50%,0) rotate(-45deg);
    width: 15px;
    height: 15px;
    border-left: 3px solid #000;
    border-bottom: 3px solid #000;
}
.ChangeElem_Btn_Content button.is-active {outline: 4px solid #005AAB;outline-offset: -4px;color: #005AAB;}
.ChangeElem_Btn_Content button.is-active::before {border-color: #005AAB;}
.tab_content table {
	position: relative;
	padding: 5rem 6rem;
	border: 1px solid #000;
	border-collapse: inherit;
}
.tab_content th {
	width: 18rem;
	padding: 2rem 0;
	border-bottom: 1px solid #000;
	color: #005AAB;
	font-weight: 700;
}
.tab_content td {padding: 2rem 0;border-bottom: 1px solid #000;}
.tab_content td span {font-weight: 700;}
.tab_content td p {margin-bottom: 3rem;}
.tab_content td p:last-child {margin-bottom: 0;}
@media only screen and ( max-width : 1024px ) {
	.ChangeElem_Btn_Content button {width: 49.5%;}
}
@media only screen and ( max-width : 767px ) {
	.ChangeElem_Btn_Content button {width: 100%;padding: 1.5rem 0;font-size: 1.6rem;}
	.ChangeElem_Btn_Content button::before {
		right: 2rem;
		left: inherit;
		bottom: 50%;
		transform: translate(0,50%) rotate(-45deg);
		width: 9px;
		height: 9px;
	}
	.tab_content table {padding: 0 1rem 2rem;}
	.tab_content th {display: block;border-bottom: none;padding-bottom: 0;}
	.tab_content td {display: block;}
}
@media only screen and ( max-width : 480px ) {
}
/*-------------------------------------------------

	ENTRY

--------------------------------------------------*/
#entry .content {background: #ECF8FF;padding: 5rem 1rem;}
#entry table {
	max-width: 74.2rem;
	margin: 0 auto;
	border-collapse: inherit;
	border-spacing: 0 1rem;
}
#entry th {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 24rem;
	padding: 1rem 0;
	font-weight: 500;
	line-height: 1.8;
	vertical-align: top;
}
#entry th span {
	display: inline-block;
	margin-left: 2rem;
	padding: 8px 10px;
	border-radius: 5px;
	background: #FF7588;
	color: #fff;
	font-weight: 500;
	font-size: 1.2rem;
	text-align: center;
}
#entry td {vertical-align: middle;}
#entry input[type="text"],
#entry input[type="tel"],
#entry input[type="email"],
#entry textarea {
	width: 100%;
	padding: 1.2rem 2rem;
	border: 1px solid #707070;
	border-radius: 5px;
	background: #fff;
	font-size: 1.4rem;
	resize: vertical;
}
::placeholder {color: #ccc;}
#entry input:focus,
#entry select:focus {outline: none;}
.stbox {position: relative;width: 100%;max-width: 28rem;}
.stbox::after {
	content: '';
	position: absolute;
	right: 15px;
	bottom: 50%;
	transform: translate(0,50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 3px solid #000;
	border-bottom: 3px solid #000;
}
.stbox select {
	width: 100%;
	padding: 1.5rem 2rem;
	border: 1px solid #707070;
	border-radius: 5px;
	background: #fff;
	font-size: 1.4rem;
	cursor: pointer;
}
.check {display: none;}
.check + label {
	display: table;
	position: relative;
	margin-bottom: 5rem;
    padding-left: 3.5rem;
	font-kerning: 500;
    cursor: pointer;
}
.check + label::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 50%;
	transform: translate(0,50%);
    width: 20px;
    height: 20px;
    border: 1px solid #000;
	border-radius: 5px;
	background: #fff;
}
.check:checked + label::before {background: #fff;}
.check:checked + label::after {
	content: "";
	display: block;
	position: absolute;
	top: 13px;
	left: 5px;
	transform: rotate(-45deg);
	width: 9px;
	height: 4px;
	border-left: 3px solid #000;
	border-bottom: 3px solid #000;
	border-radius: 0;
}
.check + label a {display: inline;text-decoration: underline;}
.submit {
	display: block;
	width: 100%;
	max-width: 33rem;
	padding: 2rem 0;
	border: 2px solid #005AAB;
	border-radius: 5px;
	background: #005AAB;
	color: #fff;
	font-weight: 900;
	font-size: 2rem;
	text-align: center;
	transition: .3s;
}
.submit:hover {background-color: #fff;color: #005AAB;}
@media only screen and ( max-width : 767px ) {
	#entry table {border-spacing: 0;}
	#entry .content {padding: 2rem;}
	#entry th {display: block;width: 100%;margin-bottom: 0;}
	#entry td {display: block;width: 100%;margin-bottom: 1rem;}
	#entry tr:last-child td {margin-bottom: 0;}
	.check:checked + label::after {top: 2px;}
	.stbox,
	.submit {max-width: 100%;}
}
@media only screen and ( max-width : 480px ) {
	#entry .content {padding: 1rem;}
}
/* ------------------------------------------------------------

　   FORM

--------------------------------------------------------------*/
.form {display: block;padding-top: 15rem;}
.form h4 {text-align: center;line-height: 1.8;margin-bottom: 4rem;}
.form .submit {margin: 0 auto;}
.error .errorbox {margin-bottom: 8rem;}
.error .error_messe {color: #C41000;text-align: center;}
#entry.confirm table {margin-bottom: 3rem;}
#entry.confirm th {font-weight: 700;}
.complete p {margin-bottom: 4rem;text-align: center;}
@media only screen and ( max-width : 767px ) {
	#entry.confirm td {border-bottom: 1px solid #000;}
}