@charset "UTF-8";
/* CSS Document */
/*---------------------------------

  採用　子ページ

---------------------------------*/
#mainContainer {
  position: relative;
}
#entryBox {
  position: sticky;
  bottom: 0;
  width: 100%;
}
#entryBox .inner {
  backdrop-filter: blur(4px);
  background: rgba(255, 255, 255, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  height: 12rem;
}
#entryBox .inner .btn {
  margin: 0 2rem;
  max-width: 40rem;
  width: 100%;
}
#entryBox .inner .btn span {
  padding-right: 4rem;
}
#entryBox .mynavBtn {
  position: relative;
}
#entryBox .mynavBtn .btn {
  margin: 0;
}
#entryBox .mynavBtn .btn a {
  background: #11a5de;
}
#entryBox .tooltip {
  color: white;
  display: none;
  position: absolute;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 2em;
  border: 1.5em solid #0000;
  border-radius: calc(1em + 1.5em);
  background: border-box linear-gradient(60deg, #F0620A, #ECC836);
  -webkit-mask:
    linear-gradient(#000 0 0) padding-box, radial-gradient(100% 100% at 100% 100%, #0000 99%, #000 102%) calc(clamp(1em + 3*1.5em/2, 50%, 100% - 1em - 3*1.5em/2) + 1.5em/2) 100%/1.5em 1.5em no-repeat, radial-gradient(100% 100% at 0 100%, #0000 99%, #000 102%) calc(clamp(1em + 3*1.5em/2, 50%, 100% - 1em - 3*1.5em/2) - 1.5em/2) 100%/1.5em 1.5em no-repeat;
  z-index: 1;
}
#entryBox .tooltip_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
#entryBox .tooltip_inner .mynav {
  border: 1px solid #ccc;
  display: block;
  width: 25rem;
}
#entryBox .tooltip_inner .mynav + .mynav {
  margin-left: 2rem;
}
#entryBox .tooltip_inner .mynav a {
  display: block;
}
#entryBox .tooltip_inner .mynav a img {
  max-width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  #entryBox .inner .btn {
    max-width: 30rem;
  }
  #entryBox .inner .mynavBtn .btn {
    max-width: 40rem;
  }
}
@media screen and (max-width: 480px) {
  #entryBox .inner {
    justify-content: space-between;
    padding: 2rem 2rem 5rem;
    height: auto;
  }
  #entryBox .mynavBtn, #entryBox .inner .mynavBtn .btn, #entryBox .inner .btn {
    flex-basis: 48%;
    max-width: none;
    margin: 0;
  }
  #entryBox .inner .btn a {
    font-size: .8em;
    padding: 1rem;
  }
  #entryBox .tooltip {
    right: -2rem;
    left: inherit;
    transform: none;
    padding: 1.3em;
  }
  #entryBox .tooltip_inner .mynav {
    width: 20rem;
  }
  #mainContainer {
    padding-bottom: 6rem;
  }
  .capa #entryBox .inner .btn {
    flex-basis: 100%;
  }
  .capa #entryBox .inner .btn a {
    font-size: 1em;
    padding: 1.5rem;
  }
}
/*---------------------------------

  募集要項

---------------------------------*/
.app-page section {}
.app-page #about h2.part_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.app-page #about h2.part_ttl .tag {}
.app-page #about h2.part_ttl .tag > span {
  background: #E83D3D;
  border-radius: .5rem;
  color: #fff;
  font-size: 1.4rem;
  display: inline-block;
  padding: 0.5rem 1rem;
}
.app-page #about .txt h3 {
  margin-top: 7rem;
}
.app-page #about .txt ul {
  list-style: none;
  margin: 0;
}
.app-page #about .txt ul li {
  background: url("../images/btn_arr_3_1.svg") no-repeat center left /1.3em;
  margin: 1rem 0;
  padding-left: 2em;
}
.app-page #about .txt ul li a {
  color: var(--co-g);
  text-decoration: underline;
}
.app-page #about .txt ul li a:hover {
  text-decoration: none;
}
.app-page #recruit table th {
  width: 20%;
}
.app-page #recruit table td {
  text-align: justify;
}
.app-page #flow .flowList {}
.app-page #flow .flowList ._box {
  display: flex;
  align-items: center;
  margin-top: 5rem;
  position: relative;
}
.app-page #flow .flowList ._box:not(:last-child)::after {
  content: '';
  height: 2.5rem;
  margin: auto;
  aspect-ratio: 2;
  -webkit-mask:
    conic-gradient(from 157.5deg at 50% calc(0.3rem/(3*sqrt(2) - 4) - 100%/tan(22.5deg)), #000 45deg, #0000 0) 0 0/100% calc(100% - 0.3rem/sqrt(2)) no-repeat, radial-gradient(0.3rem at 50% calc(100% - 0.3rem*sqrt(2)), #000 98%, #0000 101%), radial-gradient(0.3rem at left calc(0.3rem/tan(22.5deg)) top 0.3rem, #000 98%, #0000 101%), radial-gradient(0.3rem at right calc(0.3rem/tan(22.5deg)) top 0.3rem, #000 98%, #0000 101%);
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background: #ccc;
  position: absolute;
  bottom: -4rem;
  left: 0;
  right: 0;
}
.app-page #flow .flowList ._box figure {
  flex-basis: 30%;
}
.app-page #flow .flowList ._box .txt {
  flex-basis: 70%;
  line-height: 1.6;
  padding-left: 5%;
}
.app-page #flow .flowList ._box .txt ._ttl {
  border: none;
  color: var(--co-g);
  font-size: 1.4em;
  padding: 0;
}
.app-page #flow .flowList ._box .txt ._ttl span {
  background: var(--co-g);
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  line-height: 1.6;
  margin-right: 1rem;
  text-align: center;
  height: 1.8em;
  width: 1.8em;
}
.app-page #flow .flowList ._box .txt a {
  color: var(--co-g);
  text-decoration: underline;
}
.app-page #flow .flowList ._box .txt p {}
.app-page #flow .flowList ._box .txt ul li {
  margin: 1.5rem 0 0;
}
.app-page #flow .flowList ._box .txt strong {
  color: var(--co-g);
  font: var(--marug);
  font-size: 1.2em;
  font-weight: 600;
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  .app-page #about h2.part_ttl {
    flex-wrap: wrap;
    font-size: 1.4em;
  }
  .app-page #about h2.part_ttl .tag {
    margin-bottom: .5rem;
    order: -1;
  }
  .app-page #about h2.part_ttl .tag > span {
    padding: 0.2rem 0.6rem;
  }
  .app-page #about .txt {
    margin: auto;
    width: 90%;
  }
  .app-page #about .txt h3 {
    margin-top: 4rem;
  }
  .app-page #recruit table {
    margin: auto;
    min-width: inherit;
    width: 90%;
  }
  .app-page #recruit table th {
    border-bottom: none;
    display: block;
    padding-bottom: .3rem;
    width: 100%;
  }
  .app-page #recruit table td {
    display: block;
    padding-bottom: 1.5rem;
  }
  .app-page #flow .flowList ._box {
    display: block;
  }
  .app-page #flow .flowList ._box .txt ._ttl {
    margin-top: 1rem;
  }
}
/*---------------------------------

  声　詳細

---------------------------------*/
.voice-detailBlock {}
.voice-detailBlock .wrap {}
.voice-detailBlock .wrap figure img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.voice-detailBlock .wrap .plf_head_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl {
  flex-basis: 45%;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl h2 {
  background: transparent;
  font-weight: 900;
  font-size: 2em;
  letter-spacing: .1em;
  line-height: 1.6;
  padding: 0;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl p._job {
  font-weight: 600;
  font-size: 1.2em;
  margin: 2rem 0 0;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl ._year {
  background: var(--co-b);
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  margin-right: 2rem;
  padding: .5rem 2rem;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl p._name {
  font: var(--marug);
  font-weight: 900;
  font-size: 2em;
}
.voice-detailBlock .wrap .plf_head_wrap .plf_ttl p._name span {
  font-size: 1.5em;
  margin-right: 1rem;
}
.voice-detailBlock .wrap .plf_head_wrap figure {
  aspect-ratio: 1 / 1;
  flex-basis: 50%;
}
.voice-detailBlock .wrap .plf_head_wrap figure img {
  border-radius: 2rem;
  object-fit: cover;
  height: 100%;
}
.voice-detailBlock .wrap.block-1 .txtBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5rem auto;
  max-width: 100rem;
}
.voice-detailBlock .wrap.block-1 .txtBox .txt {
  background: #fff;
  border-radius: 2rem;
  flex-basis: 48%;
  margin: 2rem 0;
  padding: 3rem;
}
.voice-detailBlock .wrap.block-1 .txtBox .txt h3 {
  border: none;
  color: #707070;
  font-weight: 800;
  font-size: 1.2em;
  margin: 0 0 1.5rem;
  position: relative;
  padding-left: 1.6em;
}
.voice-detailBlock .wrap.block-1 .txtBox .txt h3::before {
  color: var(--co-g);
  content: 'Q.';
  font-family: "Comic Sans MS", "cursive";
  position: absolute;
  top: 0;
  left: 0;
}
.voice-detailBlock .wrap.block-1 .txtBox .txt p {
  line-height: 1.8;
  text-align: justify;
}
.voice-detailBlock .wrap.block-1 .txtBox .txt p + p {
  margin-top: .5em;
}
.voice-detailBlock .wrap.block-2 {
  display: flex;
  justify-content: space-between;
}
.voice-detailBlock .wrap.block-2 .timeSchedule {
  background: #E4E9D7;
  border-radius: 2rem;
  flex-basis: 35%;
  padding: 3rem;
}
.voice-detailBlock .wrap.block-2 .timeSchedule h2 {
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 2rem;
}
.voice-detailBlock .wrap.block-2 .timeSchedule dl {}
.voice-detailBlock .wrap.block-2 .timeSchedule dl div {
  display: flex;
  margin: 0;
}
.voice-detailBlock .wrap.block-2 .timeSchedule dl div dt {
  border-right: 1px solid;
  font-weight: 900;
  flex: 0 0 8rem;
  letter-spacing: 2px;
  padding: 1rem 0;
}
.voice-detailBlock .wrap.block-2 .timeSchedule dl div dd::before {
  border: 1px solid;
  border-radius: 50%;
  background: #fff;
  content: '';
  position: absolute;
  top: 1.7rem;
  left: -.5rem;
  width: 1rem;
  height: 1rem;
}
.voice-detailBlock .wrap.block-2 .timeSchedule dl div dd {
  font-weight: 500;
  padding: 1rem 0;
  padding-left: 2rem;
  position: relative;
}
.voice-detailBlock .wrap.block-2 figure {
  flex-basis: 60%;
  order: -1;
}
.voice-detailBlock .wrap.block-2 figure img {
  border-radius: 2rem;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .voice-detailBlock .wrap .plf_head_wrap .plf_ttl h2 {
    font-size: 1.5em;
  }
  .voice-detailBlock .wrap.block-2 {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .voice-detailBlock .wrap .plf_head_wrap {
    display: block;
  }
  .voice-detailBlock .wrap .plf_head_wrap .plf_ttl h2 {
    font-size: 1.8em;
  }
  .voice-detailBlock .wrap .plf_head_wrap figure {
    margin-top: 2rem;
  }
  .voice-detailBlock .wrap.block-1 .txtBox {
    display: block;
  }
}