@charset "UTF-8";
h1{
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}
h2{
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  padding-bottom: 50px;
}/*
h3{
  font-size: 2.4rem;
  text-align: center;
}*/
h1.newgraduate,
h2.newgraduate,
h3.newgraduate{
  color: var(--orange);
}
h1.career,
h2.career,
h3.career{
  color: var(--asp-color);
}
@media screen and (max-width: 767px){
  h1{
    font-size: 3rem;
  }
  h2{
    font-size: 2rem;
    padding-bottom: 20px;
  }/*
  h3{
    font-size: 1.8rem;
  }*/
}
/*------------------------------------------------------------ヘッダー*/
.header--entry{
  width: 100%;
  position: relative;
  background: linear-gradient(rgba(var(--orange-rgb), 0.4) , #fff);
  margin-bottom: 100px;
}
.header__inner--entry{
  display: grid;
  grid-template-rows: 325px 145px;
}
.header__inner--entry h1{
  align-self: center;
}
.header--entry-btn{
  padding: 0 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.header--entry-btn a{
  font-size: 3rem;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  text-align: center;
  align-self: center;
  padding: 0.6em;
  border-radius: 1em;
}
.btn-newgraduate{
  background-color: var(--orange);
  border: 3px solid var(--orange);
}
.btn-career{
  background-color: var(--asp-color);
  border: 3px solid var(--asp-color);
}
.btn-newgraduate:hover{
  background-color: #fff;
  color: var(--orange);;
}
.btn-career:hover{
  background-color: #fff;
  color: var(--asp-color);;
}
@media screen and (max-width: 767px){
  .header--entry{
    margin-bottom: 50px;
  }
  .header__inner--entry{
    grid-template-rows: 50vw auto;
  }
  .header--entry-btn{
    padding: 0;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .header--entry-btn a{
    font-size: 2.4rem;
  }
}
/*------------------------------------------------------------新卒採用・キャリア採用テーブル*/
.entry-newgraduate,
.entry-career{
  padding-bottom: 100px;
}
.entry-table__table{
  font-size: 2rem;
  line-height: 1.75;
  text-align: justify;
}
.entry-table + .entry-table {
    margin-top: 50px;
}
.entry-table__table tr{
  border-top: 1px solid var(--table-color);
}
.entry-table__table tr:last-child{
  border-bottom: 1px solid var(--table-color);
}
.entry-table__table tr:first-child th{
  font-weight: 700;
}
.entry-table__table th,
.entry-table__table td{
  font-weight: normal;
  padding: 30px;
}
.entry-table__table th{
  text-align: center;
  vertical-align: middle;
  width: min(250px , 26vw);
  color: var(--table-color);
  background-color: rgba(var(--table-color-rgb), 0.1);
}
.entry-table__table td{
  vertical-align: middle;
}
/*色*/
.entry-table--orange{
  --table-color: var(--orange);
  --table-color-rgb: var(--orange-rgb);
}
.entry-table--asp{
  --table-color: var(--asp-color);
  --table-color-rgb: var(--asp-color-rgb);
}
@media screen and (max-width: 767px){
  .entry-table__table,
  .entry-table__table tr,
  .entry-table__table th,
  .entry-table__table td {
    display: block;
    width: 100%;
  }
  .entry-table__table{
    font-size: 1.5rem;
  }
  .entry-table__table th,
  .entry-table__table td {
    padding: 10px;
    box-sizing: border-box;
  }
}
/*------------------------------------------------------------採用の流れ*/
.entry-newgraduate-flow,
.entry-career-flow{
  padding-bottom: 100px; 
}
.entry-flow__items {
  counter-reset: flow;
  list-style: none;
}
.entry-flow__items li {
  position: relative;
  padding-left: 180px;
  min-height: 120px;
  font-size: 2rem;
  line-height: 1.75;
  text-align: left;
  text-align: justify;
}
.entry-flow__items h3{
  font-size: 2.4rem;
  font-weight: 700;
  text-align: left;
  color: var(--flow-color);
}
.entry-flow__items li + li {
  margin-top: 24px;
}
.entry-flow__items li::before{
  counter-increment: flow;
  content: counter(flow, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  width: 140px;
  height: 100%;
  background: var(--flow-color);
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 25px;
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 30px),
    50% 100%,
    0 calc(100% - 30px)
  );
}
.entry-flow__items li.is-goal::before {
  clip-path: none;
  padding-bottom: 0;
}
.entry-newgraduate-flow__items.entry-flow__items li.is-goal::before {
  content: "入社式";
}
.entry-career-flow__items.entry-flow__items li.is-goal::before {
  content: "内定";
}
/*色*/
.entry-newgraduate-flow__items{
  --flow-color: var(--orange);
}
.entry-career-flow__items{
  --flow-color: var(--asp-color);
}
@media screen and (max-width: 767px){
  .entry-newgraduate-flow,
  .entry-career-flow{
    padding-bottom: 70px; 
  }
  .entry-flow__items li {
    padding-left: 100px;
    min-height: 110px;
    font-size: 1.5rem;
  }
  .entry-flow__items h3{
    font-size: 1.8rem;
  }
  .entry-flow__items li + li {
    margin-top: 15px;
  }
  .entry-flow__items li::before{
    width: 80px;
    font-size: 2rem;
    padding-bottom: 15px;
    clip-path: polygon(
      0 0,
      100% 0,
      100% calc(100% - 20px),
      50% 100%,
      0 calc(100% - 20px)
    );
  }
}
/*------------------------------------------------------------求人情報掲載中*/
.entry-recruit-link{
  padding: 70px 0;
  background-color: rgba(var(--light-green-rgb), 0.1);
  margin-bottom: 150px;
}
.entry-recruit-link__heading a{
  background-color: var(--light-green);
  color: #fff;
  font-size: 4rem;
  font-weight: 700;
  line-height: 9rem;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  width: 100%;
}
.entry-recruit-link__heading a:hover{
  background-color: var(--orange);
}
.entry-recruit-link__body {
  margin-top: 2em;
}
.entry-recruit-link__body h3{
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: var(--light-green);
  padding-bottom: 1em;
}
.entry-recruit-link__body p{
  text-align: center;
  font-size: 1.6rem;
}
.entry-recruit-link__item a{
  font-size: min(2.0rem , 2.3vw);
  color: #000;
  border: 3px solid var(--light-green);
  line-height: 1;
  background-color: #fff;
  text-decoration: none;
  display: inline-block;
  border-radius: 1.5em;
  padding: 1em 2em;
  margin-bottom: 1em;
  width: 100%;
}
@media screen and (max-width: 767px){
  .entry-recruit-link{
    padding: 30px 0;
    margin-bottom: 70px;
  }
  .entry-recruit-link__heading a{
    font-size: 3rem;
    line-height: 8rem;
  }
  .entry-recruit-link__body {
    margin-top: 1.5em;
  }
  .entry-recruit-link__body h3{
    font-size: 2rem;
  }
  .entry-recruit-link__body p{
    text-align: center;
    font-size: 1.6rem;
  }
  .entry-recruit-link__item a{
    font-size: 1.5rem;
    line-height: 1.5;
    border-radius: 2em;
  }
}
/*------------------------------------------------------------エントリーお問い合わせ*/
.entry-area{
  background-color: rgba(var(--light-green-rgb), 0.1);
	padding: 100px 20px;
	font-size: 2rem;
	line-height: 1.75;
	text-align: justify;
  margin-bottom: 100px;
}
.entry-area h1{
  color: var(--light-green);
  padding-bottom: 50px;
}
.entry-tel{
	margin-bottom: 45px;
}
.entry-tel__inner,
.entry-form__inner,
.entry-form-confirm__inner{
	background-color: #fff;
	padding: 50px;
	border-radius: 10px;
}
.entry__title{
	text-align: left;
	font-weight: 700;
	margin-bottom: 1em;
	padding-left: 1.2em;
}
.entry__title::before{
	content: "■";
	margin-right: 0.2em;
	margin-left: -1.2em ;
}
/*電話*/
.entry-tel__items ul li{
	padding-left: 1.2em;
}
.entry-tel__items ul li::before{
	content: "■";
	margin-right: 0.2em;
	margin-left: -1.2em ;
}
.entry-tel__tel{
	color: var(--asp-color);
}
.entry-tel__tel a{
	color: var(--asp-color);
	font-size: 4rem;
	font-weight: 700;
}
.entry-tel__tel a:hover{
	text-decoration: none;
}
.entry-tel__items h4{
	margin-top: 1em;
	color: var(--main-color);
	font-weight: 700;
}
/*フォーム*/
.entry-form__table{
	width: 100%;
}
.entry-form__table th,
.entry-form__table td{
	padding: 15px 0;
	vertical-align: middle;
}
.entry-form__table th{
	width: 270px;
}
.entry-area input[type="radio"] {
  appearance: auto;
  accent-color: #0066cc;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-right: 0.2em;
}
.entry-area input[type="text"], 
.entry-area input[type="tel"],
.entry-area input[type="email"],
.entry-area form textarea{
	padding: 0.5em 1em;
	vertical-align: 2px;
	color: var(--gray3);
	border-radius: 5px;
	display: inline-block;
	background-color: var(--gray);
	width: 100%;
}
.entry-form__select select{
	padding: 0.5em 1em;
	vertical-align: 2px;
	color: var(--gray3);
	border-radius: 5px;
	display: inline-block;
	background-color: #fff;
	width: 100%;
	border: 1px solid var(--gray2);
}
.entry-form__select {
  position: relative;
}
.entry-form__select::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("../../common/img/cursor-gray.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 26px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none; /* クリック阻害防止 */
}
.entry-area form select:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 0;
	height: 0;
	margin: -2px 0 0 0;
	border: 5px solid transparent;
	border-top: 7px solid var(--gray3);
	}
.entry-area input:focus,
.entry-area textarea:focus,
.entry-area select:focus {
  border-color: var(--asp-color);
  outline: none;
  box-shadow: 0 0 0 2px rgba(var(--asp-color-rgb), 0.2);
}
::placeholder{
	color: var(--gray2);
	}
/*必須*/
.entry-form__required{
	background-color: var(--asp-color);
	color: #fff;
	font-size: 1.8rem;
	padding:  0.3em 0.66em;
	line-height: 1;
	border-radius: 5px;
	margin-left: 0.5em;
}
/*個人情報の取り扱い*/
.entry-form__privacy{
	padding-top: 50px;
	margin-top: 50px;
	border-top: 1px solid #000;
}
.entry-form__privacy a{
  color: var(--asp-color);
}
.entry-form__privacy--title{
	font-weight: 700;
	color: var(--main-color);
	padding-left: 1.2em;
}
.entry-form__privacy--title::before{
	content: "■";
	margin-right: 0.2em;
	margin-left:-1.2em ;
}
.entry-form__privacy p > span{
	font-weight: 700;
}
.entry-form__privacy--agree{
	padding: 50px 0;
	font-weight: 700;
	text-align: center;
}
.entry-form__privacy--agree input[type="checkbox"] {
	appearance: auto;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	width: 0.85em;
	height: 0.85em;
	accent-color: var(--asp-color);
}
/*送信内容の確認*/
.entry-form__btn{
	margin: 0 auto;
	text-align: center;
}
.form-submit-btn{
	padding: 0.87em 0;
	font-weight: 700;
	width: 100%;
	max-width: 635px;
	cursor: pointer;
	background-color: var(--light-green);
	transition: 0.5s;
	color: #fff;
}
form input.form-submit-btn-2{
    display: block;
    width: 100%;
    max-width: 635px;
    height: auto;
    padding: 20px 0;
    border: none;
    background-color: var(--asp-color);
    color: #fff;
    font-weight: 700;
    text-align: center;
}
.form-submit-btn[disabled] {/* クリック不可のカーソルを表示 */
	background-color: var(--gray);
	color: #000;
	cursor: not-allowed; 
	}
.form-submit-btn.is-active:hover,
.form-submit-btn-2:hover{
	background-color: var(--orange);
	transition: 0.5s;
	color: #fff;
	}
@media screen and (max-width: 767px){
	.entry-area{
		padding: 70px 20px;
		font-size: 1.5rem;
    margin-bottom: 70px;
	}
	.entry-tel__inner,
	.entry-form__inner,
  .entry-form-confirm__inner {
		padding: 25px 20px;
	}
	.entry-tel__tel a{
		font-size: 3rem;
	}
  .entry-form__table,
  .entry-form__table tbody,
  .entry-form__table tr,
  .entry-form__table th,
  .entry-form__table td {
      display: block;
      width: 100%;
  }
	.entry-form__table th{
	padding: 1em 0 0 0;
	}
	.entry-form__table td{
	padding: 0.5em 0;
	}
	.entry-form__required{
		font-size: 1.5rem;
		padding:  0.25em 0.66em;
	}
}
/*------------------------------------------------------------採用情報トップへ戻る*/
.recruit__button a{
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 800px);
  height: 150px;
  margin: 0 auto 250px;
  color: #fff;
  background: var(--asp-color);
  border-radius: 75px;
  text-decoration: none;
  font-size: 4rem;
  font-weight: 700;
}
.recruit__button a::before{
  content: "";
  position: absolute;
  inset: 15px;
  border: 1px solid #fff;
  border-radius: inherit;
  pointer-events: none;
  transition: all 0.5s;
}
.recruit__button a:hover{
  background: var(--light-green);
}
@media screen and (max-width: 767px){
  .recruit__button a{
    width: 100%;
    height: 110px;
    margin: 0 auto 150px;
    border-radius: 20px;
    font-size: min(2.4rem , 6.4vw);
  }
  .recruit__button a::before{
    inset: 10px;
  }
}
/*------------------------------------------------------------前画面に戻る*/
.form-back-btn {
    color: var(--main-color);
    transition: color 0.3s;
}
.form-back-btn:hover {
    color: var(--orange);
}
/*------------------------------------------------------------送信完了*/
.entry-form__items-thanks{
    text-align: center;
}
.entry-form__items-thanks a{
    display: inline-block;
    padding: 1em 3em;
    font-size: 2rem;
    color: var(--main-color);
    text-decoration: none !important;
    background: #fff;
    border: 2px solid var(--main-color);
    border-radius: 1.5em;
    transition: all 0.5s ease;
}
.entry-form__items-thanks a:hover {
    color: #fff;
    background: var(--main-color);
}
@media screen and (max-width: 767px){
	.entry-form__items-thanks a{
		font-size: 1.5rem;
	}
}
/*リキャプチャ------------------------------------------------------------*/	
.grecaptcha-badge {
    bottom: 150px !important;
}
/*------------------------------------------------------------safari*/
/* Mac Safari */
.safari-mac .grecaptcha-badge {
  transform: translateX(-14px);
}
/* iPhone Safari */
.safari-iphone .grecaptcha-badge {
  right: 6px;
}