@charset "utf-8";

/*--------------------------------------------
logo
--------------------------------------------*/
.l-logo {
  width: 252px;
  position: absolute;
  top: 25px;
  left: 80px;
  z-index: 1;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-logo {
    width: 50.666vw;
    top: 5.146vw;
    left: 3.733vw;
  }
}


/*--------------------------------------------
nav
--------------------------------------------*/
.l-nav-sns {
  position: fixed;
  top: 8px;
  right: 197px;
  z-index: 10001;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-nav-sns {
    display: none;
  }
}
.l-global_pc__sns {
  display: flex;
  position: absolute;
  top: 8px;
  right: 339px;
}

.l-nav-sns a,
.l-global_pc__sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 125px;
  height: 27px;
  background: #fff;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 500;
}
.l-nav-sns a::before,
.l-global_pc__sns a::before {
  content: "";
  background: url(/recruit/assets/images/ico_instagram.svg) no-repeat;
  background-size: cover;
  width: 13px;
  height: 13px;
  margin-right: 5px;
}

.l-nav {
  background: #191919;
  width: 192px;
  height: 64px;
  position: fixed;
  top: 0;
  right: 0;
  border-radius: 0 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10001;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-nav {
    width: 37.6vw;
    height: 17.066vw;
    border-radius: 0 0 0 2.666vw;
    z-index: 10000;
  }
}

.l-nav::before {
  content: "";
  background: #707070;
  width: 1px;
  height: 32px;
  position: absolute;
  top: 16px;
  right: 64px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-nav::before {
    height: 6.666vw;
    top: 5.333vw;
    right: 17.066vw;
  }
}

.l-nav__entry {
  display: block;
  width: 64px;
  margin-left: 35px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-nav__entry {
    width: 9.066vw;
    margin-left: 6.666vw;
    position: relative;
    top: -1vw;
  }
}

.l-nav__btn_pc {
  display: block;
  width: 26px;
  height: 26px;
  position: relative;
  cursor: pointer;
  margin-right: 19px;
}

.l-nav__btn_pc::before {
  content: "";
  background: #fff;
  width: 26px;
  height: 2px;
  position: absolute;
  top: 9px;
} 

.l-nav__btn_pc::after {
  content: "";
  background: #fff;
  width: 26px;
  height: 2px;
  position: absolute;
  bottom: 9px;
} 

.l-nav__btn_pc.-current::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
}

.l-nav__btn_pc.-current::after  {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(-45deg);
}

.l-nav__btn_sp {
  display: none;
}

/********* sp *********/
@media only screen and (max-width:750px) {
  .l-nav__btn_pc {
    display: none;
  }

  .l-nav__btn_sp {
    display: block;
    width: 6.933vw;
    height: 6.933vw;
    position: relative;
    cursor: pointer;
    margin-right: 5.066vw;
  }

  .l-nav__btn_sp::before {
    content: "";
    background: #fff;
    position: absolute;
    width: 6.933vw;
    height: 0.533vw;
    top: 2.4vw;
  }

  .l-nav__btn_sp::after {
    content: "";
    background: #fff;
    width: 6.933vw;
    height: 0.533vw;
    position: absolute;
    bottom: 2.4vw;
  }

  /* SPのとき -current で「×」にする */
  .l-nav__btn_sp.-current::before,
  .l-nav__btn_sp.-current::after {
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    margin: auto;
    transform-origin: center;
  }
  .l-nav__btn_sp.-current::before { transform: rotate(45deg); }
  .l-nav__btn_sp.-current::after  { transform: rotate(-45deg); }

}


/*--------------------------------------------
PC global nav
--------------------------------------------*/
.l-global_pc {
  position: fixed;
  top: 0;
  left: 0;
  background: #FCF7ED;
  width: 100%;
  height: 100%;
  z-index: 19;
  display: none;
  align-items: center;
}

.l-global_pc__logo {
  width: 252px;
  position: absolute;
  top: 25px;
  left: 80px;
  z-index: +1;
}

.l-global {
  width: 59%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-global__heading {
  width: 41%;
  height: 100%;
  background: #F0F0E5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.l-global__heading__inner__ttl {
  font-family: 'Sansita', sans-serif;
  font-weight: 900;
  font-size: 74px;
  line-height: 1.229em;
}

.l-global__heading__inner__txt {
  font-size: 24px;
  font-weight: 700;
  margin-top: 24px;
  letter-spacing: 0.2em;
}

/* btn */
.l-global__heading__inner__btn a {
  display: flex;
  align-items: center;
  height: 56px;
  border-radius: 100px;
  background: rgba(0, 89, 68, 1) url(/recruit/assets/images/arrow_w.svg) no-repeat;
  background-position: right 24px center;
  background-size: 15px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 0 0 0.2em 32px;
  letter-spacing: 0.1em;
  margin-top: 65px;
  width: 339px;
}

.l-global__heading__inner__btn a + a {
  height: 79px;
  margin-top: 12px;
  line-height: 1.5333em;
}

.l-global__heading__bottom {
  position: absolute;
  left: 25px;
  bottom: 25px;
  display: flex;
  align-items: center;
  gap: 0 10px;
}

.l-global__heading__bottom a {
  position: relative;
  font-size: 10px;
  text-decoration: underline;
  padding-right: 1.3em;
}

.l-global__heading__bottom li a::after {
  content: "";
  background: url(/recruit/assets/images/arrow_outside.svg) no-repeat;
  width: 9px;
  height: 9px;
  background-size: cover;
  position: absolute;
  top: 0.35em;
  right: 0;
}

/* right */
.l-global__flex {
  display: flex;
  flex-wrap: wrap;
  width: 43.75vw;
  max-width: 560px;
  position: relative;
  justify-content: space-between;
}

.l-global__flex__nav {
  width: 17.421vw;
  max-width: 223px;
}

.l-global__flex__nav dt {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.l-global__flex__nav dt.-second {
  margin-top: 30px;
}

.l-global__flex__nav dd p {
  font-size: 14px;
  line-height: 1.769em;
  margin-top: 0.5em;
}

.l-global__flex__nav dd a {
  display: flex;
  margin-top: 0.2em;
  font-size: 14px;
  line-height: 1.769em;
  position: relative;
}

.l-global__flex__nav dd a::after {
  content: "";
  background: url(/recruit/assets/images/arrow_be.png) no-repeat;
  width: 4px;
  height: 8px;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-4px);
  right: 0;
}

.l-global__flex__nav__no {
  width: 10%;
  font-family: 'Sansita', sans-serif;
  font-weight: 900;
  font-size: 11px;
  line-height: 1.769em;
  margin-top: 0.4em;
}

.l-global__flex__nav__txt {
  width: 90%;
  font-size: 14px;
  line-height: 1.769em;
}

/* movie */
.l-global__flex__movie {
  width: 148px;
  position: absolute;
  right: -2.89vw;
  bottom: 0;
}

/* gotop */
.l-global_pc__gotop {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #4D4D4D;
  width: 137px;
  height: 64px;
  position: absolute;
  top: 0;
  right: 197px;
  border-radius: 0 0 10px 10px;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.l-global_pc__gotop::after {
  content: "";
  background: url(/recruit/assets/images/arrow_w.svg) no-repeat;
  background-size: 10px;
  background-position: center right 30px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}


/*--------------------------------------------
SP global nav
--------------------------------------------*/
.l-global_sp {
  position: fixed;
  top: 0;
  left: 0;
  background: #FCF7ED;
  width: 100%;
  height: 100%;
  z-index: 19;
  overflow: auto;
  display: none;
  padding-bottom: 17.066vw;
}

.l-global_sp__header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 18.666vw;
}

.l-global_sp__header__logo {
  display: block;
  width: 50.666vw;
  margin: 5.146vw 0 0 3.733vw;
}

.l-global_sp__header__close {
  width: 5.333vw;
  height: 5.333vw;
  margin: 6vw 5.066vw 0 0;
  cursor: pointer;
}

.l-global_sp__btn {
  cursor: pointer;
  background: url(/recruit/assets/images/global_sp_open.svg) no-repeat;
  background-size: 5.333vw;
  background-position: center right 8.266vw;
  width: 100%;
  height: 29.6vw;
  display: flex;
  justify-content: center;
  flex-flow: column;
  flex-wrap: wrap;
  padding-left: 4.8vw;
}

.l-global_sp__btn.-current {
  cursor: pointer;
  background: url(/recruit/assets/images/global_sp_close.svg) no-repeat;
  background-size: 5.333vw;
  background-position: center right 8.266vw;
}

.l-global_sp__btn__heading {
  font-size: 6.933vw;
  font-family: 'Sansita', sans-serif;
  font-weight: 900;
}

.l-global_sp__btn__txt {
  font-size: 4vw;
  font-weight: 700;
  margin-top: 0.9em;
}

.l-global_sp__cnt {
  background: #F0F0E5;
  padding: 4vw 4.8vw;
  display: none;
}

.l-global_sp__cnt a {
  display: flex;
  width: 100%;
  font-size: 4vw;
  font-weight: 400;
  padding: 3.12vw 0;
}

.l-global_sp__cnt__no {
  font-size: 2.933vw;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  position: relative;
  top: 0.5em;
  width: 7%;
}

.l-global_sp__cnt__txt {
  width: 93%;
}

.l-global_sp__bottom {
  padding: 8vw 0;
}

.l-global_sp__bottom__01 li {
  margin-top: 1.333vw;
}

.l-global_sp__bottom__01 li:first-child {
  margin-top: 0;
}

.l-global_sp__bottom__01 li:nth-child(1) a {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 92vw;
  height: 17.066vw;
  margin: 0 auto;
  background: #4D4D4D;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 2.933vw;
  color: #fff;
  border-radius: 2.133vw;
}

.l-global_sp__bottom__01 li:nth-child(1) a span {
  display: block;
  font-size: 4.266vw;
  margin-top: 2vw;
}

.l-global_sp__bottom__01 li:nth-child(2) a,
.l-global_sp__bottom__01 li:nth-child(3) a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.06em;
  width: 92vw;
  height: 17.066vw;
  margin: 0 auto;
  background: #005944;
  font-weight: 700;
  font-size: 3.733vw;
  color: #fff;
  border-radius: 2.133vw;
}

.l-global_sp__bottom__02 {
  margin: 8.533vw auto 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 76vw;
}

.l-global_sp__bottom__02 li {
  text-align: center;
}

.l-global_sp__bottom__02 li:nth-child(1) {
  width: 100%;
  margin-bottom: 2vw;
}

.l-global_sp__bottom__02 li a {
  padding-right: 1.3em;
  position: relative;
}

.l-global_sp__bottom__02 li a::after {
  content: "";
  background: url(/recruit/assets/images/arrow_outside.svg) no-repeat;
  width: 2.6vw;
  height: 2.6vw;
  background-size: cover;
  position: absolute;
  top: 0.3em;
  right: 0;
}

/* sns */
.l-global_sp__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 8vw 0;
}

.l-global_sp__sns a {
  font-size: 3.73vw;
  font-weight: 500;
  position: relative;
  margin-left: 5.87vw;
}
.l-global_sp__sns a::before {
  content: "";
  background: url(/recruit/assets/images/ico_instagram.svg) no-repeat;
  background-size: cover;
  position: absolute;
  left: -5.87vw;
  width: 4vw;
  height: 4vw;
}


/* FOOTER */
.l-global_sp__footer {
  width: 100%;
  height: 17.066vw;
  position: fixed;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}

/* ENTRY */
.l-global_sp__footer__entry {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #191919;
  width: 67%;
  height: 100%;
}

.l-global_sp__footer__entry img {
  width: 20.266vw;
}

.l-global_sp__footer__gotop {
  width: 33%;
  background: #4D4D4D;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 4.533vw;
  letter-spacing: 0.06em;
  position: relative;
}

.l-global_sp__footer__gotop::after {
  content: "";
  background: url(/recruit/assets/images/arrow_w.svg) no-repeat;
  background-size: 2.4vw;
  background-position: center right 5.666vw;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}


/*--------------------------------------------
entry contents
--------------------------------------------*/
.l-entry {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  padding: 0 0 140px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry {
    max-width: none;
    padding: 0 0 6.67vw;
  }
}
.l-entry.-internship {
  width: 672px;
  padding: 0 0 90px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry.-internship {
    width: 100%;
    padding: 0 0 17.33vw;
  }
}

.l-entry__btn {
  width: 672px;
  background-color: #191919;
  margin: 0 auto;
  border-radius: 50px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__btn {
    width: 80vw;
    margin: 0 auto;
    border-radius: 13.33vw;
  }
}
.l-entry.-internship .l-entry__btn {
  background-color: #005944;
}

.l-entry__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  font-size: 36px;
  font-family: 'Sansita', sans-serif;
  font-weight: 900;
  padding: 20px 20px 25px 20px;
  background: url(/recruit/assets/images/arrow_upper-r.png) no-repeat;
  background-position: center right 250px;
  background-size: 18px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__btn a {
    font-size: 5.87vw;
    padding: 5.33vw 5.33vw 6.13vw 5.33vw;
    background-position: center right 26.67vw;
    background-size: 4vw;
  }
}

.l-entry__logo {
  display: flex;
  justify-content: space-between;
  margin: 32px auto;
  width: fit-content;

}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__logo {
    margin: 5.33vw auto 0;
  }
}

.l-entry.-internship .l-entry__logo {
  margin: 32px auto 0;
  width: fit-content;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry.-internship .l-entry__logo {
    margin: 5.33vw auto 0;
  }
}

.l-entry__logo li {
  position: relative;
  padding: 0 20px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__logo li {
    padding: 0 5vw;
  }
}


.l-entry__logo li a {
  display: block;
  width: 233px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__logo li a {
    width: 18.93vw;
  }
}

.l-entry__logo li:nth-of-type(1)::after {
  content: "";
  width: 1px;
  height: 27px;
  background-color: #414141;
  position: absolute;
  top: calc(50% - 13px);
  right: 5px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__logo li:nth-of-type(1)::after {
    width: 1px;
    height: 6.93vw;
    top: calc(50% - 3.47vw);
    right: -2vw;
  }
}



.l-entry.-internship .l-entry__logo li:nth-of-type(2)::after {
  display: none;
}

.l-entry__text {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__text {
    flex-direction: column;
    align-items: center;
    margin-top: 14.67vw;
  }
}

.l-entry__text p {
  color: #191919;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__text p {
    font-size: 4vw;
    font-weight: 500;
  }
}

.l-entry__text p:nth-of-type(2) {
  font-size: 13px;
  font-weight: 400;
  margin-left: 16px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-entry__text p:nth-of-type(3) {
    margin-top: 5.33vw;
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.6;
    margin-left: 0;
  }
}

/*--------------------------------------------
recommended contents
--------------------------------------------*/
.l-recommended {
  background: #F0F0E5;
  padding: 96px 0 144px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended {
    padding: 16.8vw 0;
  }
}

.l-recommended__heading_h3 {
  font-size: 57px;
  color: #191919;
  text-align: center;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__heading_h3 {
    font-size: 8.533vw;
    line-height: 1.3em;
    letter-spacing: 0.02em;
  }
}

/* type1 */
.l-recommended__type1 {
  max-width: 672px;
  margin: 64px auto 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__type1 {
    width: 92.533vw;
    margin: 8.533vw auto 0;
  }
}

.l-recommended__type1 li {
  width: 100%;
}

/* type2 */
.l-recommended__type2 {
  max-width: 1120px;
  display: flex;
  justify-content: space-between;
  margin: 64px auto 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__type2 {
    width: 92.533vw;
    display: block;
    margin: 8.533vw auto 0 auto;
  }
}

.l-recommended__type2 li {
  width: 48.57%;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__type2 li {
    width: 100%;
  }

  .l-recommended__type2 li {
    margin-top: 3.466vw;
  }

  .l-recommended__type2 li:nth-of-type(1) {
    margin-top: 0;
  }
}

.l-recommended__type1 li a,
.l-recommended__type2 li a {
  position: relative;
  display: block;
}

.l-recommended__linkttl {
  position: absolute;
  top: 19px;
  right: 24px;
  font-size: 12px;
  color: #fff;
  z-index: 10;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__linkttl {
    top: 4.266vw;
    right: 6.4vw;
    font-size: 3.2vw;
  }
}

.l-recommended__txt {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-size: 20px;
  color: #fff;
  line-height: 2em;
  letter-spacing: 0.2em;
  z-index: 10;
}
/********* tb *********/
@media only screen and (max-width:1279px) {
  .l-recommended__txt {
    font-size: 1.562vw;
  }
}

/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__txt {
    bottom: 4.266vw;
    left: 6.4vw;
    font-size: 4.533vw;
  }
}

.l-recommended__txt span {
  font-size: 13px;
  color: #fff;
  letter-spacing: 0.1em;
}
/********* tb *********/
@media only screen and (max-width:1279px) {
  .l-recommended__txt span {
    font-size: 1.015vw;
  }
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__txt span {
    font-size: 3.2vw;
  }
}

/* btn */
.l-recommended__btn a {
  display: block;
  width: 52.5%;
  max-width: 672px;
  height: 96px;
  background: #fff url(/recruit/assets/images/arrow_bl.svg) no-repeat;
  background-position: center right 32px;
  background-size: 15px;
  display: flex;
  align-items: center;
  padding-left: 32px;
  margin: 70px auto 0 auto;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 700;
  box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.08);
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__btn a {
    width: 92.533vw;
    height: 19.466vw;
    background: #fff url(/recruit/assets/images/arrow_bl.svg) no-repeat;
    background-position: center right 4vw;
    background-size: 4vw;
    padding-left: 4.266vw;
    margin: 10.666vw auto 0 auto;
    border-radius: 1.6vw;
    font-size: 4.533vw;
    box-shadow: none;
  }

  .l-recommended__btn.-lines_2 a {
    height: 26.666vw;
    line-height: 1.6em;
    padding-bottom: 0.3em;
  }
}

/* btn type2 */
.l-recommended__btn__type2 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 auto;
  max-width: 900px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__btn__type2 {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 12vw auto 0;
    width: calc(100% - 5.33vw);
    max-width: none;
  }
}

.l-recommended__btn__type2 a {
  display: block;
  width: 100%;
  height: 96px;
  background: #fff url(/recruit/assets/images/arrow_bl.svg) no-repeat;
  background-position: center right 32px;
  background-size: 15px;
  display: flex;
  align-items: center;
  padding-left: 32px;
  margin: 70px auto 0 auto;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 700;
  box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.08);
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-recommended__btn__type2 a {
    height: 19.47vw;
    background-position: center right 5.33vw;
    background-size: 4vw;
    padding-left: 4.27vw;
    margin: 2.13vw auto 0 auto;
    border-radius: 6px;
    font-size: 4.53vw;
    box-shadow: none;
  }
}

/*--------------------------------------------
footer
--------------------------------------------*/
.l-footer {
  background: #fff;
  padding: 64px 0 0 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer {
    padding: 10.666vw 0 0 0;
  }
}

.l-footer__logo {
  width: 416px;
  margin: 0 auto;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__logo {
    width: 64vw;
  }
}

.l-footer__flex {
  display: flex;
  width: 87.5vw;
  max-width: 1120px;
  margin: 88px auto 0 auto;
  gap: 0 2.688vw;
}

.l-footer__flex__nav {
  width: 20%;
}

.l-footer__flex__nav dt {
  font-size: 15px;
  font-weight: 700;
  border-bottom: solid 1px #d1d1d1;
  padding-bottom: 0.8em;
  margin-bottom: 1em;
}

.l-footer__flex__nav dt.-second {
  margin-top: 32px;
}

.l-footer__flex__nav dd p {
  font-size: 13px;
  line-height: 1.769em;
  margin-top: 2em;
}

.l-footer__flex__nav dd a {
  display: flex;
  margin-top: 0.2em;
  font-size: 13px;
  line-height: 1.769em;
}

.l-footer__flex__nav__no {
  width: 10%;
  font-size: 13px;
  line-height: 1.769em;
}

.l-footer__flex__nav__txt {
  width: 90%;
  font-size: 13px;
  line-height: 1.769em;
}

.l-footer__bottom {
  width: 87.5vw;
  max-width: 1120px;
  margin: 70px auto 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: end;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom {
    width: 80vw;
    margin: 12vw auto 0 auto;
    display: block;
  }
}

.l-footer__bottom__left {
  display: flex;
  gap: 0 5.7vw;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__left {
    display: block;
  }
}

.l-footer__bottom__left li {
  position: relative;
  padding-left: 0.8em;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__left li {
    padding-left: 1em;
  }
}

.l-footer__bottom__left li::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #005944;
  position: absolute;
  top: 0.35em;
  left: 0;
  transform:rotate(45deg);
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__left li::after {
    width: 1.6vw;
    height: 1.6vw;
    top: 0.9em;
    left: 0;
  }
}

.l-footer__bottom__left li a {
  position: relative;
  font-size: 13px;
  text-decoration: underline;
  padding-right: 1em;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__left li a {
    display: inline-block;
    position: relative;
    font-size: 3.466vw;
    text-decoration: underline;
    padding: 0.4em 1em 0.4em 0;
  }
}

.l-footer__bottom__left li a::after {
  content: "";
  background: url(/recruit/assets/images/arrow_outside.svg) no-repeat;
  width: 9px;
  height: 9px;
  background-size: cover;
  position: absolute;
  top: 0.35em;
  right: 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__left li a::after {
    width: 2.6vw;
    height: 2.6vw;
    top: 0.5em;
  }
}

/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__right {
    margin-top: 5vw;
  }
}

.l-footer__bottom__right li {
  margin-top: 13px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__right li {
    margin-top: 3vw;
  }
}

.l-footer__bottom__right li:first-child {
  margin-top: 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__right li:first-child {
    margin-top: 3vw;
  }
}

.l-footer__bottom__right a {
  position: relative;
  font-size: 10px;
  text-decoration: underline;
  padding-right: 1.3em;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__right a {
    font-size: 2.666vw;
    padding: 0.4em 1.2em 0.4em 0;
  }
}

.l-footer__bottom__right li a::after {
  content: "";
  background: url(/recruit/assets/images/arrow_outside.svg) no-repeat;
  width: 9px;
  height: 9px;
  background-size: cover;
  position: absolute;
  top: 0.35em;
  right: 0;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__bottom__right li a::after {
    width: 2.6vw;
    height: 2.6vw;
    top: 0.5em;
    right: 0;
  }
}

.l-footer__copyright {
  background: #191919;
  height: 71px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 11px;
  margin-top: 40px;
}
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-footer__copyright {
    height: 12.8vw;
    font-size: 2.933vw;
    margin-top: 10.666vw;
  }
}

.l-pagetop {
  position: fixed;
  right: 40px;
  bottom: 40px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff url(/recruit/assets/images/arrow_bl_top.svg) no-repeat;
  background-size: 18px;
  background-position: center;
  z-index: 18;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.12);
  cursor: pointer;
} 
/********* sp *********/
@media only screen and (max-width:750px) {
  .l-pagetop {
    right: 3.2vw;
    bottom: 3.2vw;
    width: 17.066vw;
    height: 17.066vw;
    border-radius: 50%;
    background: #fff url(/recruit/assets/images/arrow_bl_top.svg) no-repeat;
    background-size: 4vw;
    background-position: center;
    box-shadow: 0px 1.333vw 2.666vw 0px rgba(0, 0, 0, 0.12);
  } 
}


/*--------------------------------------------
スクロール禁止
--------------------------------------------*/
body.l-body-fixed {
  position: fixed;
  width: 100%;
}
