.page-recruit-index #visual {
  height: 720px;
  background: url("../images/recruit/index/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-index #visual .title-1:before {
  content: 'Recruit';
}
.page-recruit-index #visual .catch {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
@media (min-width:769px) {
  .page-recruit-index #visual .catch rt {
    position: relative;
    top: 0;
  }
}
@media (max-width:1180px) {
  .page-recruit-index #visual {
    height: auto;
    padding: 50px 0;
  }
  .page-recruit-index #visual .catch {
    font-size: 5rem;
  }
}
@media (max-width:768px) {
  .page-recruit-index #visual .catch {
    font-size: 3.6rem;
  }
}
@media (max-width:540px) {
  .page-recruit-index #visual .catch {
    font-size: 2.7rem;
  }
}
.page-recruit-index #main .data .box {
  align-items: center;
  background: #fff;
  border-radius: 0 40px 0 0;
}
.page-recruit-index #main .data .content {
  width: 52%;
  font-weight: 700;
  text-align: center;
  color: var(--c-blue);
}
.page-recruit-index #main .data .content .line-1 {
  font-size: 2.5rem;
  line-height: 1;
}
.page-recruit-index #main .data .content .line-1 .num {
  font-size: 2.7em;
  margin: 0 .2em;
}
@media (max-width:1024px) {
  .page-recruit-index #main .data .content .line-1 .num {
    font-size: 2.3em;
  }
}

.page-recruit-index #main .message .catch {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  line-height: 2.4;
}
.page-recruit-index #main .message .photo {
  width: 44.4444%;
}
.page-recruit-index #main .message .content {
  width: 50%;
  line-height: 2.3;
}
@media (max-width:768px) {
  .page-recruit-index #main .message .photo {
    width: 100%;
    text-align: center;
    margin-top: 1.5em;
  }
  .page-recruit-index #main .message .content {
    width: 100%;
  }
  .page-recruit-index #main .message .catch {
    font-size: 1.8rem;
  }
}

@media (max-width:960px) {
  .page-recruit-index #main .data .body > .flex-col-2 {
    max-width: 460px;
    width: 100%;
    margin: 3em auto 0;
  }
  .page-recruit-index #main .data .item {
    width: 100%;
  }
  .page-recruit-index #main .data .item ~ .item {
    margin-top: 2em;
  }
}
@media (max-width:540px) {
  .page-recruit-index #main .data .content .line-1 {
    font-size: 2rem;
  }
}
.page-recruit-index #main .data .uchiwake .content {
  font-size: 1.5rem;
  padding-left: 1em;
}
.page-recruit-index #main .data .uchiwake .content th {
  text-align: left;
  color: #000;
}
.page-recruit-index #main .data .uchiwake .content .num {
  font-size: 1.5em;
  color: var(--c-blue);
  line-height: 1;
  margin-left: .4em;
}
@media (max-width:1110px) {
  .page-recruit-index #main .data .uchiwake .content {
    font-size: 1.4rem;
  }
}
@media (max-width:980px) {
  .page-recruit-index #main .data .uchiwake .content {
    font-size: 1.3rem;
  }
}
@media (max-width:410px) {
  .page-recruit-index #main .data .uchiwake .content {
    white-space: nowrap;
  }
}

/* ****************************************************************************************************
   * job
**************************************************************************************************** */

.page-recruit-job #visual {
  background: url("../images/recruit/job/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-job #visual .title-1:before {
  content: 'Occupation';
}
.page-recruit-job #main {
  
}

#main .layout-wrap {
  max-width: 100%;
  width: 1630px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 25px 15px 0;
  margin: 0 auto;
}
@media (max-width:768px) {
  #main .layout-wrap {
    padding-top: 20px;
  }
}
#main .layout-wrap .page-nav {
  width: 16.38%;
}
#main .layout-wrap .page-nav ul {
  position: sticky;
  top: 160px;
}
#main .layout-wrap .page-nav ul li ~ li:before {
  content: '';
  display: block;
  width: 1px;
  height: 1em;
  background: #bbb;
  margin-left: 1.5em;
}
#main .layout-wrap .page-nav ul li a {
  position: relative;
  display: block;
  font-weight: 700;
  color: #bbb;
  padding: .25em 0;
  padding-left: 1em;
}
#main .layout-wrap .page-nav ul li a:before {
  content: '●';
  display: block;
  position: absolute;
  top: 1.4em;
  left: 0;
  font-size: .5em;
  color: var(--c-blue);
  opacity: 0;
  transition: .2s;
}
#main .layout-wrap .page-nav ul li a.current,
#main .layout-wrap .page-nav ul li a:hover {
  color: #000;
}
#main .layout-wrap .page-nav ul li a.current:before,
#main .layout-wrap .page-nav ul li a:hover:before {
  opacity: 1;
}
#main .layout-wrap .layout-list {
  max-width: calc(100% - 16.38%);
  width: 1080px;
}
@media (max-width:1080px) {
  #main .layout-wrap .page-nav {
    width: 100%;
    margin-bottom: 2.5em;
  }
  #main .layout-wrap .page-nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
  }
  #main .layout-wrap .page-nav ul li:before {
    content: none !important;
  }
  #main .layout-wrap .item ~ .item {
    padding-top: 30px;
    margin-top: 50px;
  }
  #main .layout-wrap .process-wrap {
    flex-wrap: wrap;
  }
  #main .layout-wrap .page-nav {
    width: 100%;
    padding-left: 0;
  }
  #main .layout-wrap .layout-list {
    max-width: 100%;
    width: 100%;
    padding-bottom: 50px;
  }
}
@media (max-width:768px) {
  #main .layout-wrap .page-nav ul {
    gap: .5em;
  }
  #main .layout-wrap .page-nav ul li a {
    color: #fff;
    padding: .1em .5em;
    background: var(--c-blue);
    border: 1px solid var(--c-blue);
    border-radius: .5em;
  }
  #main .layout-wrap .page-nav ul li a:hover {
    color: var(--c-blue);
    background: transparent;
  }
  #main .layout-wrap .page-nav ul li a:before {
    content: none;
  }
}

.page-recruit-job #main .item ~ .item {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #d9d9d9;
}
.page-recruit-job #main .item .content {
  width: 50%;
}
.page-recruit-job #main .item .content .header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.33;
}
.page-recruit-job #main .item .content .header .num {
  position: relative;
  display: inline-block;
  font-size: 2em;
  font-weight: 900;
  color: var(--c-blue);
  padding-right: .75em;
  margin-right: .3em;
}
.page-recruit-job #main .item .content .header .num:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: .5em;
  height: 2px;
  background: var(--c-blue);
}
.page-recruit-job #main .item .photo {
  width: 44.4444%;
}
@media (max-width:768px) {
  .page-recruit-job #main .item .content {
    width: 100%;
  }
  .page-recruit-job #main .item .photo {
    width: 100%;
    text-align: center;
    margin-top: 2em;
  }
}

/* ****************************************************************************************************
   * education
**************************************************************************************************** */

.page-recruit-education #visual {
  background: url("../images/recruit/education/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-education #visual .title-1:before {
  content: 'Educational support';
}
.page-recruit-education #main .row-1 {
  
}
.page-recruit-education #main .row-1 .flex-col-2 {
  margin-top: 2.5em;
}
.page-recruit-education #main .row-1 .flex-col-2 .item {
  width: 47.23%;
}
@media (max-width:768px) {
  .page-recruit-education #main .row-1 .flex-col-2 {
    max-width: 510px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .page-recruit-education #main .row-1 .flex-col-2 .item {
    display: block;
    width: 100%;
  }
  .page-recruit-education #main .row-1 .flex-col-2 .item ~ .item {
    margin-top: 2.5em;
  }
}
.page-recruit-education #main .row-1 .flex-col-2 .item .photo {
  margin-bottom: 1em;
}
.page-recruit-education #main .row-1 .flex-col-2 .item .content {
  text-align: center;
}
.page-recruit-education #main .row-1 .flex-col-2 .item .title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--c-blue);
}
.page-recruit-education #main .row-1 .flex-col-2 .item .title + * {
  margin-top: .5em;
}

.page-recruit-education #main .row-2 {
  
}
.page-recruit-education #main .row-2 .flex-col-3 {
  margin-top: 2.5em;
}
.page-recruit-education #main .row-2 .flex-col-3 .item {
  text-align: center;
  padding: 2em 1em;
  background: #fff;
  overflow: hidden;
  border-radius: 0 40px 0 0;
}
.page-recruit-education #main .row-2 .flex-col-3 .item .title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--c-blue);
  margin-top: 1em;
}
.page-recruit-education #main .row-2 .flex-col-3 .item .title + * {
  margin-top: .5em;
}
@media (max-width:768px) {
  .page-recruit-education #main .row-2 .flex-col-3 {
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-recruit-education #main .row-2 .flex-col-3 .item {
    width: 100%;
  }
  .page-recruit-education #main .row-2 .flex-col-3 .item ~ .item {
    margin-top: 2em;
  }
  .page-recruit-education #main .row-2 .flex-col-3 .item .title {
    font-size: 2rem;
  }
  .page-recruit-education #main .row-2 .flex-col-3 .item .photo img {
    max-width: 80px;
  }
}

.page-recruit-education #main .row-3 {
  
}
.page-recruit-education #main .row-3 .box {
  background: #fff;
  padding: 1.5em;
  border-radius: 1.5em;
  margin-top: 2.5em;
}
.page-recruit-education #main .row-3 .box ul {
  align-items: flex-start;
}
.page-recruit-education #main .row-3 .box ul li {
  position: relative;
  padding-left: .7em;
  margin-top: 0;
  margin-bottom: 1em;
}
.page-recruit-education #main .row-3 .box ul li:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  background: #333;
  border-radius: 50%;
  margin-top: -2px;
}
.page-recruit-education #main .row-3 .box .flex-col-2 + * {
  margin-top: .5em;
}
@media (max-width:768px) {
  .page-recruit-education #main .row-3 .box ul li {
    width: 100%;
  }
}
/* ****************************************************************************************************
   * interview
**************************************************************************************************** */

.page-recruit-interview-index #visual {
  background: url("../images/recruit/interview/index/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-interview-index #visual .title-1:before {
  content: 'Interview';
}
.page-recruit-interview-index #main .card {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  overflow: hidden;
  background: #fff;
  border-radius: 0 80px 0 0;
}
.page-recruit-interview-index #main .card ~ .card {
  margin-top: 50px;
}
.page-recruit-interview-index #main .card .content {
  width: 44.44%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-recruit-interview-index #main .card .content > * {
  padding: 2em 2.5em;
}
.page-recruit-interview-index #main .card .content .name {
}
.page-recruit-interview-index #main .card .content .name b {
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.33;
  color: var(--c-blue);
}
.page-recruit-interview-index #main .card .content .catch {
  font-size: 2rem;
  font-weight: 700;
}
.page-recruit-interview-index #main .card .content .catch > * {
  display: inline;
  color: #fff;
  padding: 0 .2em;
  background: #000;
} 
.page-recruit-interview-index #main .card .content .btn {
  margin-top: 1.5em;
}
.page-recruit-interview-index #main .card .content .btn .btn-1 {
  width: 250px;
  height: 60px;
  font-size: 1.6rem;
  margin: 0 auto;
}
.page-recruit-interview-index #main .card .photo {
  width: 55.56%;
  overflow: hidden;
}
.page-recruit-interview-index #main .card .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1s;
}
.page-recruit-interview-index #main .card:hover .photo img {
  transform: scale(1.05);
}
@media (max-width:768px) {
  .page-recruit-interview-index #main .card {
    border-radius: 0 40px 0 0;
  }
  .page-recruit-interview-index #main .card .content {
    width: 50%;
  }
  .page-recruit-interview-index #main .card .content > * {
    padding: 1.5em;
  }
  .page-recruit-interview-index #main .card .photo {
    width: 50%;
  }
}
@media (max-width:640px) {
  .page-recruit-interview-index #main .card .content,
  .page-recruit-interview-index #main .card .photo {
    width: 100%;
  }
  .page-recruit-interview-index #main .card .photo {
    order: -1;
  }
  .page-recruit-interview-index #main .card .content .name b {
    font-size: 3.2rem;
  }
  .page-recruit-interview-index #main .card .content .catch {
    font-size: 1.6rem;
  }
  .page-recruit-interview-index #main .card .content .btn .btn-1 {
    width: 220px;
    height: 50px;
  }
}

.page-recruit-interview-lower #visual {
  height: 720px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.33;
  color: #fff;
  background: url("../images/recruit/interview/visual-bg.png") center center /cover no-repeat;
}
.page-recruit-interview-lower #visual .inner {
  position: relative;
  max-width: 1600px;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.page-recruit-interview-lower #visual .inner .body > div {
  width: 40%;
}
.page-recruit-interview-lower #visual .title-1,
.page-recruit-interview-lower #visual .title-1 span {
  color: #fff;
}
.page-recruit-interview-lower #visual .photo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 56%;
  height: 83%;
  overflow: hidden;
  border-radius: 200px 0 0 0;
}
.page-recruit-interview-lower #visual .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width:1180px) {
  .page-recruit-interview-lower #visual {
    height: 540px;
    font-size: 4rem;
  }
  .page-recruit-interview-lower #visual .photo {
    border-radius: 150px 0 0 0;
  }
}
@media (max-width:768px) {
  .page-recruit-interview-lower #visual {
    height: auto;
    font-size: 3rem;
  }
  .page-recruit-interview-lower #visual .inner {
    flex-wrap: wrap;
  }
  .page-recruit-interview-lower #visual .inner .body > div {
    width: 100%;
  }
  .page-recruit-interview-lower #visual .body {
    width: 100%;
    padding: 1em 0;
  }
  .page-recruit-interview-lower #visual .photo {
    position: static;
    width: 100%;
    border-radius: 100px 0 0 0;
    overflow: hidden;
    margin: 0 auto;
  }
}

.page-recruit-interview-lower #main .section .body {
  width: 1140px;
}
.page-recruit-interview-lower #main .section .flex-col-2 .photo {
  width: 47.37%;
}
.page-recruit-interview-lower #main .section .flex-col-2 .content {
  width: calc(52.63% - 50px);
}
.page-recruit-interview-lower #main .section .center {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width:960px) {
  .page-recruit-interview-lower #main .section .flex-col-2 .photo {
    width: 100%;
    text-align: center;
  }
  .page-recruit-interview-lower #main .section .flex-col-2 .photo img {
    max-width: 75%;
  }
  .page-recruit-interview-lower #main .section .flex-col-2 .content {
    width: 100%;
    margin-top: 2em;
  }
}

.page-recruit-interview-lower #main .other {
  background: #c4c4c4;
  overflow: hidden;
}
.page-recruit-interview-lower #main .other .interview-swiper {
  position: relative;
}
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-prev,
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-next {
  position: absolute;
  z-index: 9;
  width: 1.75rem;
  height: 3rem;
}
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-prev:after,
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-next:after {
  content: none;
}
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-prev {
  left: 0;
  background: url("../images/recruit/interview/arrow-prev.png") center center /contain no-repeat;
  transform: translateX(-175%);
}
.page-recruit-interview-lower #main .other .interview-swiper .swiper-button-next {
  right: 0;
  background: url("../images/recruit/interview/arrow-next.png") center center /contain no-repeat;
  transform: translateX(175%);
}
@media (max-width:1190px) {
  .page-recruit-interview-lower #main .other .body {
    max-width: calc(100% - 60px);
  }
  .page-recruit-interview-lower #main .other .interview-swiper .swiper-button-prev {
    left: -10px;
    transform: translateX(-100%);
  }
  .page-recruit-interview-lower #main .other .interview-swiper .swiper-button-next {
    right: -10px;
    transform: translateX(100%);
  }
}
@media (max-width:960px) {
  .page-recruit-interview-lower #main .other .body {
    max-width: calc(100% - 60px);
  }
  .page-recruit-interview-lower #main .other .interview-swiper .swiper-button-prev {
    width: 2.5rem;
    height: 2.5rem;
    left: -5px;
    transform: translateX(-100%);
  }
  .page-recruit-interview-lower #main .other .interview-swiper .swiper-button-next {
    width: 2.5rem;
    height: 2.5rem;
    right: -5px;
    transform: translateX(100%);
  }
}
.page-recruit-interview-lower #main .other .item {
  display: block;
  overflow: hidden;
  border-radius: 0 50px 0 50px;
}
@media (max-width:768px) {
  .page-recruit-interview-lower #main .other .item {
    border-radius: 0 25px 0 25px;
  }
}
.page-recruit-interview-lower #main .other .item .photo {
  overflow: hidden;
}
.page-recruit-interview-lower #main .other .item .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .4s;
}
.page-recruit-interview-lower #main .other .item:hover .photo img {
  transform: scale(1.05);
}
.page-recruit-interview-lower #main .other .item .content {
  text-align: center;
  padding: 1.25em 0;
  background: #fff;
}
.page-recruit-interview-lower #main .other .item .content dt {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
}
.page-recruit-interview-lower #main .other .item .content .arrow {
  margin-top: .25em;
}
.page-recruit-interview-lower #main .other .item .content .arrow img {
  width: 3rem;
}

.page-recruit-interview-lower #main .page-footer-nav {
  margin-top: 0;
}

/* ****************************************************************************************************
   * requirement
**************************************************************************************************** */

.page-recruit-requirement #visual {
  background: url("../images/recruit/requirement/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-requirement #visual .title-1:before {
  content: 'Requirements';
}
.page-recruit-requirement #main .default-2 td a[href] {
  color: var(--c-blue);
}
.page-recruit-requirement #main .default-2 td a[href]:hover {
  text-decoration: underline;
}
.page-recruit-requirement #main .btn {
  margin-top: 50px;
}
.page-recruit-requirement #main .btn .btn-1 {
  margin: 0 auto;
}
.page-recruit-requirement #main .item ~ .item {
  margin-top: 100px;
}
@media (max-width:768px) {
  .page-recruit-requirement #main .btn {
    margin-top: 2em;
  }
  .page-recruit-requirement #main .item ~ .item {
    margin-top: 50px;
  }
}

/* ****************************************************************************************************
   * entry
**************************************************************************************************** */

.page-recruit-entry #visual {
  background: url("../images/recruit/entry/visual-bg.jpg") center center /cover no-repeat;
}
.page-recruit-entry #visual .title-1:before {
  content: 'Entry';
}
.page-recruit-entry #main .tel {
  
}
.page-recruit-entry #main .tel .box {
  max-width: 750px;
  padding: 1.5em;
  background: #fff;
  border-radius: 0 40px 0 0;
  margin-left: auto;
  margin-right: auto;
}
.page-recruit-entry #main .tel .box .number {
  font-size: 3rem;
  font-weight: 900;
  color: var(--c-blue);
  text-align: center;
  line-height: 1;
  margin-top: .4em;
  margin-bottom: .2em;
}
.page-recruit-entry #main .tel .box .number .js-tel {
  font-size: 1.6666em;
}
.page-recruit-entry #main .entry .default-2 {
  margin-top: 2em;
}
@media (max-width:768px) {
  .page-recruit-entry #main .tel .box .number {
    font-size: 2rem;
  }
}
#main input,
#main textarea {
  width: 100%;
  max-width: 100%;
  font: inherit;
  border: none;
  padding: .5em;
  background: #fff;
  border-radius: 0 1em 0 0;
}
#main select {
  font: inherit;
}
#main input[name="zip"],
#main input[name="pref"] {
  width: 12em;
}
#main input[name="namae"],
#main input[name="kana"],
#main input[name="tel"],
#main input[name="company"],
#main input[name="busho"],
#main input[name="yakushoku"] {
  width: 20em;
}
#main input[name="email"],
#main input[name="email2"],
#main input[name="addr"],
#main input[name="addr2"] {
  width: 100%;
}
#main .form-button {
  text-align: center;
  margin-top: 3rem;
}
#main .form-button > * {
  display: inline-block;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  border: none;
  transition: opacity 0.2s;
  margin: 0.5em;
}
.mw_wp_form_input .mw-preview,
.mw_wp_form_preview .mw-input {
  display: none !important;
}
#main input[type="radio"] {
  width: auto;
}
label {
  display: inline-block;
}
#main .hissu,
#main table.default-2 tr.require th:after {
  display: inline-block;
  width: 3.5em;
  font-size: 1.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  color: #fff;
  padding: .35em 0 .4em;
  background: #f00;
  margin-top: .4em;
}
#main table.default-2 tr.require th:after {
  content: '必須';
  display: block;
  float: right;
}