@charset "UTF-8";

/* --------------------------------------------------------------
   共通
-------------------------------------------------------------- */
body {
  min-width: 1220px;
  color: #111;
  font-size: .15rem;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: .14rem;
  }
}

.wrapper {
  overflow: hidden;
}

.container {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container {
    width: 100%;
  }
}

.container_s {
  width: 11rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container_s {
    width: calc(100% - .65rem);
  }
}

a {
  color: #111;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

.img_switch {
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sponly {
    display: none;
  }
}

/* header
--------------------------------------------------------------*/
.header {
  height: .7rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-right {
  display: flex;
  align-items: center;
  gap: 0.2rem; /* ← 電話とボタンの間隔 */
}
.header .logo img {
  width: .61rem;
}

.header .info_tel {
  font-size: .2rem;
}
/*
.header .info_tel .small {
  display: inline-block;
  margin-right: 0.5rem;
  font-size: .14rem;
}*/
.header .entry_top a {
  display: block;
  position: relative;
  background:  #FFDD00;
  width: 2rem;
  text-align: center;
  line-height: .4rem;
  font-weight: 900;
  font-size: .2rem;
  padding: 0rem;
  border-radius: .8rem;
  overflow: hidden;
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  box-shadow: .04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4)
}
.header .entry_top a:hover {
  transform: scale(110%);
}



@media screen and (max-width: 767px) {
  .header {
    height: .35rem;
    padding: 0 .15rem 0 .1rem;
  }

  .header .logo img {
    width: .3rem;
  }

  .header .info_tel {
    font-size: .14rem;
  }

  .header .entry_top a {
    display: block;
    position: relative;
    background:  #FFDD00;
    width: 1rem;
    text-align: center;
    line-height: .25rem;
    font-weight: 900;
    font-size: .14rem;
    padding: 0rem;
    border-radius: .6rem;
    overflow: hidden;
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: .03rem 0.05rem 0.07rem rgba(0, 0, 0, 0.4)
  }
}

.article {
  border-top: .01rem solid #8c8c8c;
  border-bottom: .01rem solid #8c8c8c;
}

/* footer
--------------------------------------------------------------*/
.footer {
  height: .8rem;
}

.footer .logo img {
  width: .61rem;
}

.footer .txt {
  text-align: right;
}

.footer .txt .navi {
  margin: 0 0 .1rem;
}

.footer .txt .navi li {
  margin-left: .25rem;
}

.footer .txt .navi li a {
  font-size: .14rem;
  color: #01a0ca;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .footer .txt .navi li a {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
  }

  .footer .txt .navi li a:hover {
    opacity: .7;
  }
}

.footer .txt .copyright small {
  font-size: .1rem;
}

@media screen and (max-width: 767px) {
  .footer {
    height: auto;
    padding: 0 0 1.2rem 0;
    text-align: center;
  }

  .footer .logo {
    width: 100%;
    margin: 0 auto .3rem;
  }

  .footer .txt {
    width: 100%;
    text-align: center;
  }

  .footer .txt .navi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 .3rem;
  }

  .footer .txt .navi li {
    margin: 0 .17rem;
  }

  .footer .txt .navi li a {
    font-size: .12rem;
  }

  .footer .txt .copyright small {
    font-size: .1rem;
  }
}

/* --------------------------------------------------------------
   Module_Element
-------------------------------------------------------------- */
/* Flex ---------- */
.mod_flex {
  display: flex;
  flex-wrap: wrap;
}

.mod_flex.align-center {
  align-items: center;
}

.mod_flex_center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.mod_flex_center.align-center {
  align-items: center;
}

.mod_flex_between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* 3列4列の場合の調整 */
  /* // 3列4列の場合の調整 */
}

.mod_flex_between.align-center {
  align-items: center;
}

.mod_flex_between.col3::after,
.mod_flex_between.col4::before,
.mod_flex_between.col4::after {
  content: "";
  display: block;
  height: 0;
}

.mod_flex_between.col4::before {
  order: 1;
}

.mod_flex_around {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.mod_flex_around.align-center {
  align-items: center;
}

/* Background ---------- */
.mod_bg01 {
  background-size: 19.2rem auto;
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (max-width: 767px) {
  .mod_bg01 {
    background-size: 100%;
  }
}

.mod_bg02 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (max-width: 767px) {
  .mod_bg02 {
    background-size: 100%;
  }
}

/* mod_tit ---------- */
.mod_tit {
  height: 1.5rem;
  justify-content: center;
  position: relative;
}

.mod_tit span {
  display: inline-block;
}

.mod_tit .ja {
  padding: 0 .2rem;
  font-size: .3rem;
  text-align: center;
  position: relative;
  z-index: 5;
}

.mod_tit .ja::before,
.mod_tit .ja::after {
  content: "";
  width: 1rem;
  height: .02rem;
  background-color: #000;
  position: absolute;
  top: calc(50% - .01rem);
}

.mod_tit .ja::before {
  left: -1rem;
}

.mod_tit .ja::after {
  right: -1rem;
}

.mod_tit .en {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .mod_tit {
    height: .5rem;
  }

  .mod_tit .ja {
    padding: 0 .12rem;
    font-size: .2rem;
  }

  .mod_tit .ja::before,
  .mod_tit .ja::after {
    width: .5rem;
    height: .017rem;
    top: calc(50% - .0085rem);
  }

  .mod_tit .ja::before {
    left: -.5rem;
  }

  .mod_tit .ja::after {
    right: -.5rem;
  }

  .mod_tit .en img {
    width: auto;
    height: .5rem;
  }
}

/* fonts ---------- */
h4 {
  text-align: center;
  font-size: .3rem;
  font-weight: bold;
  margin-bottom: .5rem;
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: .2rem;
    margin-bottom: .2rem;
  }
}
.weight_r {
  font-weight: 400;
}

.weight_b {
  font-weight: 700;
}

/* ENTRY */
.entry {
  padding: 50px 0;
  background: #7BD2D1;
}
.entry ul {
  width: 12rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;
}

.entry a {
  display: block;
  position: relative;
  background:  #FFDD00;
  width: 5rem;
  text-align: center;
  line-height: .4rem;
  font-weight: 900;
  font-size: .22rem;
  padding: .2rem;
  border-radius: .8rem;
  overflow: hidden;
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  box-shadow: .04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4)
}
.entry a:hover {
  transform: scale(110%);
}

.entry a:after {
  background: red;
  content: "";
  left: -1rem;
  opacity: .2;
  position: absolute;
  border-radius: 50%;
  transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
  width: 1rem;
  height: 1rem;
  bottom: -2rem;
}
.entry a:hover:after {
  width: 8rem;
  height: 8rem;
  -webkit-transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 767px) {
  .entry {
    margin: 0 auto;
    padding: 0.3rem auto ;
  }
  .entry ul {
    width: 100%;
    flex-direction: column;
    padding: 0 .3rem;
  }
  .entry li + li {
    margin-top: .3rem;
  }
  .entry li a {
    width: 100%;
    font-size: .16rem;
    line-height: .2rem;
    box-shadow: .02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4)
  }
  .entry a:hover {
    transform:none;
  }
  .entry a:after {
    display: none;
  }
}


/* MV
--------------------------------------------------------------*/
.mv {
  height: 5.2rem;
  background: #FFFFFF url(../img/fv_pc.webp) no-repeat center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .mv {
/*    padding-top: 69%;
    height: auto;
    background-size: contain;*/
    height: 5rem; /* スマホ用に少し低めに調整 */
    background: #FFFCDD url(../img/fv_sp.webp) no-repeat center;
    background-size: cover; /* スマホ画面にフィットさせるなら追加 */
  }
}


/* MERIT ----------- */
.merit {
  padding: 50px 0;
}
.merit h3 {
  margin-bottom: 0.5rem;
  height: auto;
}
.merit ul {
  width: 10rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;
}
.merit li {
  background: #FFFCDD;
  width: 30%;
  text-align: center;
  border-radius: .08rem;
  line-height: 2em;
  padding: 25px 0;
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
  display: flex;
  align-content: stretch;
  justify-content: space-evenly;
  align-items: center;
}
.merit li p {
  font-size: .16rem;
}
.merit li p span {
  position: relative;
  font-weight: bold;
  font-size: .18rem;
}
.merit li p span:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -0.02rem;
  right: -0.05rem;
  width: calc(100% + 0.1rem);
  height: 3px;
  background: #01a0ca;
}
@media screen and (max-width: 767px) {
  .merit ul {
    width: calc(100% - 0.65rem);
    flex-direction: column;
  }
  .merit li {
    width: 100%;
    padding: 0.14rem 0;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }
  .merit li + li {
    margin-top: 0.3rem;
  }
  .merit li p {
    font-size: 0.14rem;
  }
  .merit li p span {
    font-size: .16rem;
}
}

/* FEATURE ----------- */
.feature {
  padding: .4rem 0 1rem;
  background-color: #f7f7f7;
}

.feature .mod_tit {
  margin: 0 auto .3rem;
}

.feature .list li {
  padding: .2rem .4rem;
  background-color: #fff;
  border-radius: .08rem;
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
}

.feature .list li+li {
  margin-top: .4rem;
}

.feature .list li:nth-child(even) {
  flex-direction: row-reverse;
}

.feature .list li.add {
  padding: .2rem .3rem;
}

.feature .list li.add .txt {
  width: 5.75rem;
}

.feature .list li .txt {
  width: 5.25rem;
}

.feature .list li .txt .stit {
  padding: .15rem 0 .25rem;
  margin: 0 0 .25rem;
  font-size: .26rem;
  line-height: 1.54;
  position: relative;
}

.feature .list li .txt .stit::after {
  content: "";
  width: .5rem;
  height: .01rem;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.feature .list li .txt .desc {
  margin: 0 0 .15rem;
  line-height: 2;
}

.feature .list li .txt .desc .mark {
  color: #01a0ca;
  font-weight: 700;
}

.feature .list li .pic {
  width: 4.5rem;
}

@media screen and (max-width: 767px) {
  .feature {
    padding: .3rem 0 .5rem;
  }

  .feature .list li {
    padding: .25rem .2rem;
    border-radius: .04rem;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }

  .feature .list li+li {
    margin-top: .3rem;
  }

  .feature .list li:nth-child(even) {
    flex-direction: row-reverse;
  }

  .feature .list li.add {
    padding: .25rem .2rem;
  }

  .feature .list li.add .txt {
    width: 100%;
  }

  .feature .list li .txt {
    width: 100%;
  }

  .feature .list li .txt .stit {
    padding: 0 0 .17rem;
    margin: 0 0 .17rem;
    font-size: .17rem;
    line-height: 1.4;
  }

  .feature .list li .txt .stit::after {
    width: .25rem;
  }

  .feature .list li .txt .stit .add {
    margin-left: -.1rem;
  }

  .feature .list li .txt .desc {
    margin: 0 0 .3rem;
    line-height: 1.64;
  }

  .feature .list li .pic {
    width: 100%;
  }
}

/* JOB OFFER ----------- */
.joboffer .category {
  padding: .55rem 0 .7rem;
  background-color: #FFFCDD;
}
.joboffer .joboffer-table {
  width: 90%;
  margin: 0 auto;
}

.joboffer table {
  width: 100%;
}

.joboffer .table-j,
.joboffer .table-s {
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
  width: 100%;
  position: relative;
  z-index: 10;
}
.joboffer .table-s {
  margin-top: 1rem;
}
.joboffer .table-j:after,
.joboffer .table-s:after {
  content: '';
  position: absolute;
  top: -.3rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #01a0ca;
  color: #FFF;
  font-weight: bold;
  z-index: -1;
  font-size: 0.3rem;
  writing-mode: vertical-rl;
}
.joboffer .table-j:after {
  content: 'ジャンル';
  left: -1.4rem;
}
.joboffer .table-s:after {
  content: '職種';
  right: -1.4rem;
}
.joboffer table th,
.joboffer table td {
  font-weight: 700;
  text-align: center;
}
.joboffer table td span {
  font-size: .1rem;
}

.joboffer table th {
  padding: .15rem 0;
  color: #fff;
  font-size: .2rem;
  background-color: #000;
}

.joboffer table td {
  width: 2.7rem;
  padding: .17rem 0;
  color: #01a0ca;
  font-size: .16rem;
  background-color: #fff;
  border: .01rem solid #b7b7b7;
  box-sizing: content-box;
  vertical-align: middle;
}

.joboffer .annotation {
  display: block;
  width: 90%;
  margin: 0.2rem auto 0;
  font-size: 0.12rem;
} 



@media screen and (max-width: 767px) {
  .joboffer .mod_tit {
    margin: 0 auto .3rem;
  }

  .joboffer .category {
    padding: .4rem 0 .5rem;
  }

  .joboffer .joboffer-table {
     width: calc(100% - 0.65rem);
  }
  
  .joboffer .table-j {
    margin-top: .6rem;    
  }
  .joboffer .table-s  {
    margin-top: .8rem;
  }

  .joboffer .table-j:after,
  .joboffer .table-s:after  {
    left: 50%;
    top: -.4rem;
    right: auto;
    transform: translateX(-50%);
    writing-mode: initial;
    font-size: 0.16rem;
    align-items: flex-start;
    justify-content: space-around;
    padding-top: 0.15rem;
  }

  .joboffer .category table {
    border-top: .01rem solid #b7b7b7;
    border-right: .01rem solid #b7b7b7;
    border-left: .01rem solid #b7b7b7;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }

  .joboffer .category  tr {
    display: flex;
    flex-wrap: wrap;
  }
  .joboffer .category table td {
    display: inline-block;
    width: calc(100% / 2);
    padding: .1rem 0;
    font-size: .14rem;
    line-height: 1.3;
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: .01rem solid #b7b7b7;
    vertical-align: top;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
  }

  .joboffer .category table td.border {
    border-left: .01rem solid #b7b7b7;
  }
}

/* VOICE ----------- */
.voice {
  padding: .4rem 0 1rem;
  position: relative;
}

.voice::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 6rem 15.1rem;
  border-color: transparent transparent #f7f7f7 transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.voice .mod_tit {
  margin: 0 auto .6rem;
}

.voice .list li {
  width: 5.3rem;
  /* min-height: 4.5rem; */
  padding: .35rem .3rem .35rem;
  border-radius: .08rem;
  background-color: #fff;
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
  position: relative;
}

.voice .list li::before {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  background-size: 1.4rem auto;
  background-repeat: no-repeat;
  position: absolute;
  top: .3rem;
  right: .3rem;
}

.voice .list li.ico01::before {
  background-image: url(../img/voice_ico01.png);
}

.voice .list li.ico02::before {
  background-image: url(../img/voice_ico02.png);
}

.voice .list li .catch {
  margin: 0 0 .25rem;
  font-size: .22rem;
  line-height: 1.36em;
  position: relative;
  text-align: left;
}

.voice .list li:first-child .catch {
  padding-bottom: 1.36em;
}

.voice .list li .sign {
  padding: 0 0 .35rem;
  margin: 0 0 .25rem;
  font-size: .2rem;
  border-bottom: .01rem solid #000;
}

.voice .list li .sign .type {
  display: inline-block;
  margin-right: .15rem;
  padding: .08rem .1rem;
  color: #fff;
  background-color: #000;
}

.voice .list li .desc {
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .voice {
    padding: .3rem 0 .5rem;
  }

  .voice::after {
    border-width: 0 0 3.1rem 3.6rem;
  }

  .voice .mod_tit {
    margin: 0 auto .3rem;
  }

  .voice .list li {
    width: 100%;
    min-height: auto;
    padding: .18rem .2rem .25rem;
    border-radius: .04rem;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }

  .voice .list li::before {
    width: .8rem;
    height: .8rem;
    background-size: .8rem auto;
    top: .2rem;
    right: .2rem;
  }

  .voice .list li+li {
    margin-top: .3rem;
  }

  .voice .list li .catch {
    margin: 0 0 .12rem;
    font-size: .15rem;
    line-height: 1.4;
  }

  .voice .list li .sign {
    padding: 0 0 .2rem;
    margin: 0 0 .25rem;
    font-size: .13rem;
  }

  .voice .list li .sign .type {
    margin-right: .07rem;
    padding: .05rem;
    font-size: .13rem;
  }

  .voice .list li .desc {
    line-height: 1.64;
  }
}

/* INFO ----------- */
.info {
  padding: .4rem 0;
  background-color: #000;
}

.info .inner {
  padding: .15rem .7rem .46rem;
  border-radius: .08rem;
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
  background-color: #fff;
}

.info .inner .info_tit {
  margin: 0 0 .2rem;
}

.info .inner .btn a {
  display: block;
  width: 4.7rem;
  padding: .45rem .1rem .45rem 0;
  margin: 0 auto;
  color: #fff;
  font-size: .3rem;
  text-align: center;
  border-radius: .08rem;
  background-color: #ff8f29;
  background-image: url(../img/cmn/info_arrow.png);
  background-repeat: no-repeat;
  background-size: .16rem auto;
  background-position: center right .2rem;
  box-shadow: 0 .08rem 0 #d33c00;
}

@media screen and (min-width: 768px) {
  .info .inner .btn a {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
  }

  .info .inner .btn a:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 767px) {
  .info {
    padding: .2rem 0;
  }

  .info .inner {
    padding: .2rem .2rem .15rem;
    border-radius: .04rem;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }

  .info .inner .info_tit {
    margin: 0 0 .12rem;
  }

  .info .inner .btn a {
    width: 2.35rem;
    padding: .22rem 0;
    font-size: .17rem;
    border-radius: .04rem;
    background-image: url(../img/cmn/info_arrow_sp.png);
    background-repeat: no-repeat;
    background-size: .08rem auto;
    background-position: center right .1rem;
    box-shadow: 0 .04rem 0 #d33c00;
  }
}

/* FLOW ----------- */
.flow {
  padding: .4rem 0 1rem;
  background-color: #f7f7f7;
}

.flow .mod_tit {
  margin: 0 auto .4rem;
}

.flow .list li {
  width: 2rem;
  min-height: 3.7rem;
  padding: .2rem .2rem 0;
  border-radius: .08rem;
  box-shadow: 0.04rem 0.06rem 0.08rem rgba(0, 0, 0, 0.4);
  background-color: #fff;
  position: relative;
}

.flow .list li:not(:last-child)::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .12rem 0 .12rem .15rem;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: calc(50% - .075rem);
  right: -.2rem;
}

.flow .list li .stit {
  margin: 0 0 .2rem;
}

.flow .list li .stit img,
.flow .list li .stit .ja {
  display: block;
}

.flow .list li .stit img {
  margin: 0 0 .15rem;
}

.flow .list li .stit .ja {
  padding: .2rem 0 0;
  margin: 0 0 .2rem;
  font-size: .2rem;
  border-top: .01rem solid #000;
}

.flow .list li .pic {
  margin: 0 0 .15rem;
}

.flow .list li .desc {
  font-size: .14rem;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .flow {
    padding: .45rem 0 .47rem;
  }

  .flow .mod_tit {
    margin: 0 auto .3rem;
    line-height: 1.25;
  }

  .flow .list li {
    width: 100%;
    min-height: auto;
    padding: .2rem .2rem .25rem;
    border-radius: .04rem;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }

  .flow .list li:not(:last-child)::after {
    border-width: .25rem .2rem 0 .2rem;
    border-color: #000 transparent transparent transparent;
    top: auto;
    bottom: -.35rem;
    right: calc(50% - .2rem);
  }

  .flow .list li+li {
    margin-top: .45rem;
  }

  .flow .list li .stit {
    margin: 0 0 .17rem;
  }

  .flow .list li .stit img {
    width: auto;
    height: .14rem;
    margin: 0 0 .1rem;
  }

  .flow .list li .stit .ja {
    padding: .15rem 0 0;
    margin: 0 0 .2rem;
    font-size: .18rem;
  }

  .flow .list li .pic {
    /* margin: 0 0 .19rem; */
    display: none;
  }
}

/* FAQ ----------- */
.faq {
  padding: .4rem 0 .5rem;
}

.faq .mod_tit {
  margin: 0 auto .2rem;
}

.faq .list dt {
  padding: .08rem 0 .08rem .55rem;
  font-size: .2rem;
  font-weight: 700;
  background-image: url(../img/faq_ico_pc.png);
  background-repeat: no-repeat;
  background-size: .36rem auto;
  background-position: left center;
}

.faq .list dd {
  padding: .2rem 0 .5rem;
  font-weight: 400;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .faq {
    padding: .4rem 0 .15rem;
  }

  .faq .mod_tit {
    margin: 0 auto .15rem;
  }

  .faq .list dt {
    padding: 0 0 0 .35rem;
    font-size: .18rem;
    line-height: 1.39;
    background-image: url(../img/faq_ico_sp.png);
    background-repeat: no-repeat;
    background-size: .25rem auto;
    background-position: left top .05rem;
  }

  .faq .list dd {
    padding: .2rem 0 .48rem;
    line-height: 1.7;
  }
}

/* form ----------- */
.mod_form input[type="text"],
.mod_form input[type="email"],
.mod_form input[type="tel"],
.mod_form select,
.mod_form textarea {
  width: 100%;
  padding: .05rem;
  font-size: .15rem;
  border-radius: .06rem;
  border: .01rem solid #9b9b9b;
}

.mod_form input[type="checkbox"] {
  border: none;
  background-color: #d3d3d3;
}

.mod_form input[type="submit"] {
  width: 100%;
  border: none;
}

.mod_form input[type="submit"]:disabled,
.mod_form input[type="submit"]:hover:disabled {
  opacity: 1;
  cursor: auto;
  background-color: #727272;
}

.mod_form input[type="submit"]:enabled {
  background-color: #ff8f29;
  box-shadow: 0 .06rem 0 #d33c00;
}

.mod_form textarea {
  resize: horizontal;
}

/* 共通 ----------- */
.mod_form .privacy {
  margin: .28rem 0 0;
  text-align: center;
}

.mod_form .privacy input[type="checkbox"] {
  display: none;
}

.mod_form .privacy input[type="checkbox"]+label {
  display: inline-block;
  padding-left: .25rem;
  font-size: .14rem;
  position: relative;
  cursor: pointer;
}

.mod_form .privacy input[type="checkbox"]+label::before {
  content: "";
  width: .2rem;
  height: .2rem;
  background-image: url(../img/cmn/checkbox.png);
  background-repeat: no-repeat;
  background-size: .2rem auto;
  position: absolute;
  left: 0;
}

.mod_form .privacy input[type="checkbox"]:checked+label::before {
  background-image: url(../img/cmn/checked.png);
}

.mod_form .privacy a {
  color: #01a0ca;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .mod_form .privacy a {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
  }

  .mod_form .privacy a:hover {
    opacity: .7;
  }
}

.mod_form .form_btn input {
  color: #fff;
  background-color: #727272;
}

@media screen and (max-width: 767px) {
  .mod_form .privacy {
    margin: .18rem 0 0;
  }

  .mod_form .privacy input[type="checkbox"]+label {
    padding-left: .28rem;
    font-size: .12rem;
  }

  .mod_form .form_btn input {
    color: #fff;
    background-color: #727272;
  }
}

/* お問い合わせページ
--------------------------------------------------------------*/
.contact_page .article {
  background: #FFFCDD;
}

.contact {
  width: 9rem;
  margin: 0 auto;
  padding: .4rem 0 1.2rem;
  display: flex;
}

.contact h1 {
  font-size: .2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  position: relative;
}
.contact h1:after {
  content: '';
  display: block;
  width: 1rem;
  height: 2px;
  background: #01a0ca;
  position: absolute;
  bottom: .2rem;
  right: 50%;
  transform: translateX(50%);
}

.contact .note {
  margin: 0 0 .6rem;
  line-height: 2.1;
}

.contact .text_area {
  width: calc(100% - 5rem);
  padding: .4rem .5rem 0 0;
}
.contact .mod_form {
  width: 5rem;
  margin: 0 auto;
  padding: 0 .5rem;
  border: 0.06rem solid #01a0ca;
  background: #fff;
}

.contact .mod_form .req {
  color: #d92b62;
  font-size: .13rem;
}

.contact .mod_form .item {
  display: block;
  margin-bottom: 1em;
}

.contact .mod_form dt {
  text-align: center;
}

.contact .mod_form dt span {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: 0.1rem;
  text-align: center;
}
.contact .mod_form dt span:before,
.contact .mod_form dt span:after {
  content: '';
  display: block;
  width: 1rem;
  height: 0.02rem;
  position: absolute;
  background: #01a0ca;
  top: 50%;
}
.contact .mod_form dt span:before {
  left: -1rem;
}
.contact .mod_form dt span:after {
  right: -1rem;
}
.contact .mod_form dd {
  padding: .3rem 0;
  border-bottom: .01rem solid #ccc;
}
.contact .mod_form dd.experience,
.contact .mod_form dd.sex {
  border-bottom: none;
}

.contact .mod_form dd.change {
  border-top: .01rem solid #ccc;
}

.contact .mod_form input,
.contact .mod_form select {
  background-color: #EEE;
  border: 1px solid #8c8c8c;
  height: .4rem;
  border-radius: 5px;
}

.contact .mod_form  .alignCenter {
  display: flex;
  align-items: center;
}

.contact .mod_form .alignCenter_inner {
  display: flex;
  align-items: center;
}
.contact .mod_form dd .s_text {
  display: block;
  font-size: .13rem;
  width: .30rem;
  margin: 0 0.1rem 0 0;
  text-align: right;
}

.contact .mod_form  .alignCenter input {
  width: calc(100% - 0.23rem);
}
.contact .mod_form .age,
.contact .mod_form .birthday,
.contact .mod_form .industry,
.contact .mod_form .occupation {
  display: flex;
  align-items: center;
  align-items: baseline;
}
.contact .mod_form .age .item,
.contact .mod_form .birthday .item,
.contact .mod_form .industry .item,
.contact .mod_form .occupation .item {
  margin-bottom: 0;
  align-items: center;
  width: .6rem;
}
.contact .mod_form .birthday .item {
  width: 0.9rem;
}
.contact .mod_form .age .input_area,
.contact .mod_form .industry .input_area,
.contact .mod_form .occupation .input_area {
  width: calc(100% - 0.6rem);
}
.contact .mod_form .birthday label {
  display: block;
}

.contact .mod_form .status .status-other,
.contact .mod_form .industry .industry-other,
.contact .mod_form .occupation .occupation-other {
  transition: .3s;
  visibility: visible;
  height: 0.4rem;
  margin: .1rem 0;
}

.contact .mod_form .status .other-hidden,
.contact .mod_form .industry .other-hidden,
.contact .mod_form .occupation .other-hidden {
  visibility: hidden;
  height: 1px;
  margin: 0;
}

.contact .mod_form .sex .input_area,
.contact .mod_form .experience .input_area,
.contact .mod_form .status .input_area {
  display: flex;
  justify-content: space-around;
}
.contact .mod_form .status .input_area {
  flex-wrap: wrap;
}

.contact .mod_form .sex .input_area label,
.contact .mod_form .experience .input_area label,
.contact .mod_form .status .input_area label {
  /* width: 50%; */
  height: 0.4rem;
  display: flex;
  align-items: center;
}
.contact .mod_form .status .input_area label {
  width: calc(100% / 3);
}

.mod_form input[type="submit"]:enabled {
  background: #01a0ca;
  margin: 0.3rem auto;
  padding: 0.2rem;
  border: none;
  box-shadow: none;
  font-size: .16rem;
  height: .6rem;
}
.mod_form input[type="submit"]:disabled,
.mod_form input[type="submit"]:hover:disabled {
  margin: 0.3rem auto;
  padding: 0.2rem;
  border: none;
  box-shadow: none;
  font-size: .16rem;
  height: .6rem;
}

.mod_form .error {
  font-size: .12rem;
}
.mod_form .industry .error,
.mod_form .occupation .error {
  margin-top: 0;

}
@media screen and (max-width: 767px) {
  .contact {
    width: 100%;
    padding: .4rem 0 1rem;
    flex-direction: column;
  }

  .contact .text_area {
    width: 100%;
    padding: 0.1rem 0.3rem;
  }

  .contact .mod_tit {
    margin: 0 auto .38rem;
    font-size: .16rem;
  }
  .contact h1:after {
    bottom: -0.2rem;
  }

  .contact .note {
    margin: 0 0 0.2rem;
    line-height: 1.64;
    font-size: .14rem;
  }
  .contact .mod_form{
    width: calc(100% - 0.65rem);
    padding: 0 0.2rem;
    overflow: hidden;
  }

  .contact .mod_form dt {
    padding: .1rem;
    margin-bottom: 0;
    font-size: .17rem;
  }

  .contact .mod_form dd {
    padding: .3rem 0;
  }

  .contact .mod_form dd+dt {
    margin-top: 0;
  }

  .contact .mod_form dd input[type="text"],
  .contact .mod_form dd input[type="tel"],
  .contact .mod_form dd input[type="email"],
  .contact .mod_form dd select,
  .contact .mod_form dd textarea {
    border-radius: .03rem;
    font-size: .12rem;
  }
  .contact .mod_form dd .text {
    width: 100%;
    margin: 0 0 .12rem;
    font-size: .13rem;
  }

  .contact .mod_form dd .s_text {
    font-size: .12rem;
    width: .2rem;
  }

  .contact .mod_form dd .input_area {
    width: 100%;
  }

  .contact .mod_form dd textarea {
    min-height: 1.5rem;
  }

  .contact .mod_form .form_btn {
    margin: .2rem 0 0;
  }

  .contact .mod_form .form_btn input {
    width: 2.35rem;
    height: .6rem;
    font-size: .17rem;
    border-radius: .04rem;
    display: block;
    margin: 0 auto .3rem;
  }
}

/* THANKSページ
--------------------------------------------------------------*/
.thanks_page .article{
  background: #FFFCDD;
}
.thanks {
  padding: 1.5rem 0;
  text-align: center;
}

.thanks .tit {
  margin: 0 0 .3rem;
  font-size: .3rem;
}

.thanks .desc {
  line-height: 2;
}

.thanks .btn a {
  display: block;
  width: 2.5rem;
  margin: .6rem auto 0;
  padding: .2rem 0;
  color: #fff;
  font-size: .2rem;
  text-align: center;
  border-radius: .08rem;
  background-image: url(../img/cmn/info_arrow.png);
  background-repeat: no-repeat;
  background-size: .1rem auto;
  background-position: center right .1rem;

  background: #01a0ca;
  border: none;
  box-shadow: .04rem .06rem .08rem rgba(0, 0, 0, 0.4);
}

@media screen and (min-width: 768px) {
  .thanks .btn a {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
  }

  .thanks .btn a:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 767px) {
  .thanks {
    padding: .6rem 0;
  }

  .thanks .tit {
    font-size: .2rem;
    line-height: 1.4;
  }

  .thanks .desc {
    line-height: 1.7;
  }

  .thanks .btn a {
    width: 2.2rem;
    margin: .3rem auto 0;
    padding: .12rem 0;
    font-size: .15rem;
    border-radius: .04rem;
    background-size: .1rem auto;
    background-position: center right .1rem;
    box-shadow: 0.02rem 0.03rem 0.04rem rgba(0, 0, 0, 0.4);
  }
}


.feature {
  background-color: #fffcdd;
}

.voice .list li .sign {
  border-bottom: 0;
}

.people-reason {
  /* padding: 0 0 .35rem; */
  /* @MEMO:前職情報載せるときは必要 */
  margin: 0 0 .25rem;
  font-size: .14rem;
  border-bottom: .01rem solid #000;
}
.voice::after {
  border-color: transparent transparent #fffcdd transparent;
}

.flow {
  background-color: #fffcdd;
}

.info .inner .btn a {
  font-size: .25rem;
}

#work_later {
  margin-top: 1em;
  display: inline-block;
}

.now_work {
  margin-top: 1em;
}

.birthDate {
  display: inline-flex;
  margin-left: .5em;
}

.marginLeft {
  margin-left: 1em;
}

.first-kinmu-year,
.second-kinmu-year {
  display: inline-flex;
  align-items: center;
  margin-right: .5em;
}

.first-kinmu-month,
.second-kinmu-month {
  display: inline-flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .footer .txt .navi {
    line-height: 1.4em;
  }

  .voice .list li::before {
    width: .5rem;
    height: .5rem;
    background-size: .5rem auto;
    top: 0.5rem;
    right: .2rem;
  }

  .info .inner .btn a {
    font-size: .17rem;
  }

  .alignCenter {
    display: flex;
    align-items: center;
    margin-top: 1em;
  }

  .alignCenter__inner {
    display: flex;
    align-items: center;
  }

  .marginLeft {
    margin-left: 1em;
  }

  .checkWidth {
    width: auto !important;
    margin-right: 1em;
  }

  .mt20 {
    margin-top: 0 !important;
  }

  .info .inner .btn a {
    font-size: .13rem;
  }

  .alignCenter2 .mb20 {
    margin-bottom: 0rem !important;
  }

  .alignCenter2 {
    margin-bottom: 1em;
  }

  .first-kinmu .mb20 {
    margin-bottom: 0 !important;
  }

  .first-kinmu,
  .second-kinmu {
    margin-bottom: 1em;
    display: flex;
    align-items: center;
  }
}


/* 消す */
.company_bnr {
  padding: 30px;
}
.company_bnr .tit {
  margin: 0.3rem auto;
  padding: 0 0.2rem;
  font-size: .3rem;
  text-align: center;
  position: relative;
  z-index: 5;
}

/* .company_bnr .tit::before,
.company_bnr .tit::after {
  content: "";
  width: 1rem;
  height: 0.02rem;
  background-color: #000;
  position: absolute;
  top: calc(50% - 0.01rem);
}

.company_bnr .tit::before {
  left: -1rem;
}

.company_bnr .tit::after {
  right: -1rem;
} */

.company_bnr li {
  width: 20%;
}
.company_bnr li:nth-child(n + 6) {
  margin-top: 10px;
}


@media screen and (max-width: 640px) {
  .company_bnr .tit {
    font-size: .2rem;
    margin: 0.1rem auto;
  }

  .company_bnr li {
    width: 45%;
    margin-top: 20px;
  }
}

/* lead-area */
.lead-area {
  position: fixed;
  bottom: 0;
  z-index: 80;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100px;
  background-color: rgb(0 0 0 / 70%);

  .lead-area-inner {
    width: fit-content;
  }
}

@media (width >=768px) {
  .lead-area {
    display: none;
  }
}
/* スマホの時の下にくっついてくるやつのCSS*/
.sp-footer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  background-color: #000;         /* 真っ黒背景 */
  color: #fff;                    /* 白文字 */
  font-weight: bold;              /* 太字 */
  border-radius: 9999px;          /* 楕円にするためにデカめに */
  text-decoration: none;          /* 下線消す */
  transition: background-color 0.3s ease;
}