#key-box {
  position: relative;
}
#key-box h2 {
  font-size: 6.2vw;
  line-height: 1.6em;
  letter-spacing: 0.07em;
  font-weight: 400;
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
}
#key-box h2 span {
  display: inline-block;
  padding-bottom: 4vw;
  position: relative;
}
#key-box h2 span::before, #key-box h2 span::after {
  content: "";
  position: absolute;
  background-color: #c3b497;
  width: 100%;
  height: 2px;
  bottom: 0;
}
#key-box h2 span::before {
  left: -2%;
}
#key-box h2 span::after {
  bottom: 5px;
  right: -2%;
}
@media screen and (min-width: 768px) {
  #key-box h2 {
    font-size: 36px;
    top: calc(50% + 11px);
    left: 7px;
  }
  #key-box h2 span {
    padding-bottom: 27px;
  }
  #key-box h2 span::before, #key-box h2 span::after {
    width: 640px;
  }
  #key-box h2 span::before {
    left: -45px;
  }
  #key-box h2 span::after {
    bottom: 5px;
    right: -36px;
  }
}

.keyvisual-left {
  height: 300px;
}

.keyvisual-left li {
  height: 300px;
}

.keyvisual-left li img {
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
}

.keyvisual-left .slick-slide {
  border: none;
}

.keyvisual-right {
  height: 300px;
}

.keyvisual-right li {
  height: 300px;
}

.keyvisual-right li img {
  object-position: top center;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  #key-box {
    display: flex;
  }
  .keyvisual-left {
    height: 1000px;
    width: 50%;
  }
  .keyvisual-left li {
    height: 1000px;
  }
  .keyvisual-left li img {
    height: 1000px;
  }
  .keyvisual-right {
    height: 1000px;
    width: 50%;
  }
  .keyvisual-right li {
    height: 1000px;
  }
  .keyvisual-right li img {
    height: 1000px;
  }
}
body {
  --serif: "Noto Serif JP", serif;
  --cormo: "Cormorant", serif;
  --roboto: "Roboto Condensed", sans-serif;
  --hur: "Hurricane", cursive;
  --oran: "Oranienbaum", serif;
  --old-stand: "Old Standard TT", serif;
}

section {
  overflow: visible;
}

#sec1,
#sec2,
#sec4,
#sec5,
#sec7,
#sec8 {
  overflow: hidden;
}

h2 {
  color: #000;
}

.tit-all {
  font-size: 6vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 5vw;
  color: #000;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  .tit-all {
    font-size: 30px;
    margin-bottom: 59px;
  }
}

@media screen and (min-width: 768px) {
  .txt {
    line-height: 2.25em;
  }
}

.en-all {
  font-family: var(--cormo);
  font-weight: 600;
  line-height: 0.93em;
  font-size: 12vw;
  color: #383632;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .en-all {
    font-size: 140px;
  }
}

#sec1 {
  padding: 15vw 0 15vw;
}
#sec1 .tit-all {
  letter-spacing: normal;
}
#sec1 .row1 {
  margin-bottom: 12vw;
}
#sec1 .row1 .desc {
  margin-bottom: 5vw;
}
#sec1 .row1 .desc .group {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 10vw;
  margin-bottom: 5vw;
  background: url(../img/recruit/sec1_equal.png) no-repeat;
  background-size: 2.5vw;
  background-position: center bottom;
}
#sec1 .row1 .desc .logo {
  width: 30%;
  margin-right: 2%;
}
#sec1 .row1 .desc .tit {
  flex-shrink: 0;
  margin-bottom: 0;
}
#sec1 .row1 .desc h2 {
  text-align: center;
}
#sec1 .row2 {
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  z-index: 1;
}
#sec1 .row2 .wrap-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#sec1 .row2 .set {
  height: 100vh;
}
#sec1 .row2 .set1 {
  width: 100vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 5vw;
}
#sec1 .row2 .set2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 30vw 0 7vw;
  gap: 0 4vw;
}
#sec1 .row2 .set2 .photo {
  width: 80vw;
  position: relative;
}
#sec1 .row2 .set2 .photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000;
  opacity: 0.5;
  mix-blend-mode: multiply;
  z-index: 1;
  transition: all 0.3s ease-in-out;
}
#sec1 .row2 .set2 .photo.active::before {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  #sec1 {
    padding: 100px 0 7px;
  }
  #sec1 .row1 {
    display: flex;
    flex-direction: row-reverse;
    gap: 95px;
    margin: 0 0 0 -200px;
  }
  #sec1 .row1 .desc {
    width: 505px;
    margin-bottom: 0;
    flex-shrink: 0;
    margin-top: 93px;
  }
  #sec1 .row1 .desc .group {
    padding-bottom: 40px;
    margin-bottom: 18px;
    background-size: 9px;
  }
  #sec1 .row1 .desc .logo {
    width: 140px;
    margin-right: 5px;
  }
  #sec1 .row1 .desc .txt {
    text-align: justify;
    line-height: 2.25em;
    width: 100%;
  }
  #sec1 .row2 .set {
    height: 100vh;
  }
  #sec1 .row2 .set1 {
    width: 580px;
    padding: 0 80px 0 78px;
  }
  #sec1 .row2 .set2 {
    padding: 0 580px 20px 0;
    gap: 0 20px;
  }
  #sec1 .row2 .set2 .photo {
    width: 580px;
  }
}

#sec2 {
  position: relative;
  z-index: 1;
}
#sec2::before {
  content: "";
  position: absolute;
  background-color: #e5e1d8;
  inset: 70vw 0 0;
  z-index: -1;
}
#sec2 .row1 {
  border-bottom: 1px solid #000;
  padding-bottom: 12vw;
  margin-bottom: 12vw;
}
#sec2 .row1 .en {
  font-size: 5vw;
  font-weight: 400;
  font-family: var(--roboto);
  line-height: 1.4em;
  margin-bottom: 2vw;
}
#sec2 .row1 h2 {
  margin-bottom: 8vw;
}
#sec2 .row1 .img {
  margin-bottom: 5vw;
}
#sec2 .row1 .desc .group1 {
  margin-bottom: 8vw;
}
#sec2 .row1 .desc .ttl {
  font-size: 5.4vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 3vw;
  letter-spacing: 0.15em;
}
#sec2 .row1 .desc .ttl small {
  font-size: 80%;
  letter-spacing: 0.1em;
}
#sec2 .row2 {
  position: relative;
  padding-bottom: 70vw;
  background: url(../img/recruit/arrow_sp.png) no-repeat center 220px;
}
#sec2 .row2 .ttl {
  text-align: center;
  font-size: 5.4vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 3vw;
  letter-spacing: 0.15em;
}
#sec2 .row2 .en {
  text-align: center;
  color: #383632;
  font-family: var(--cormo);
  font-weight: 600;
  line-height: 0.93em;
  font-size: 7vw;
  margin-bottom: 3vw;
  letter-spacing: normal;
}
#sec2 .row2 h3 {
  text-align: center;
  margin-bottom: 5vw;
  font-size: 5vw;
  letter-spacing: normal;
}
#sec2 .row2 .list .item {
  margin-bottom: 8vw;
}
#sec2 .row2 .list .item:last-child {
  margin-bottom: 0;
}
#sec2 .row2 .list .photo {
  width: 50vw;
  margin: 0 auto 5vw;
}
#sec2 .row2 .list .desc {
  margin-bottom: 8vw;
  position: relative;
  z-index: 3;
}
#sec2 .row2 .list .desc:last-child {
  margin-bottom: 0;
}
#sec2 .row2 .list .desc .label {
  font-size: 4.2vw;
  font-weight: 400;
  line-height: 1.7em;
  margin-bottom: 6vw;
  letter-spacing: 0.1em;
}
#sec2 .row2 .list .desc .label span {
  text-align: center;
  padding: 1vw 5%;
  background-color: #fff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
#sec2 .row2 .list .desc .txt {
  margin: 0 5%;
}
#sec2 .row2 .list .desc ul {
  margin: 0 5%;
  margin-top: 5vw;
  display: flex;
  gap: 0 2%;
}
#sec2 .row2 .img {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100vw;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  #sec2::before {
    inset: 253px 0 0;
  }
  #sec2 .row1 {
    position: relative;
    padding-bottom: 87px;
    margin-bottom: 96px;
  }
  #sec2 .row1 .info {
    width: 50%;
    margin-left: auto;
    padding-top: 74px;
  }
  #sec2 .row1 .en {
    font-size: 20px;
    margin-bottom: 30px;
  }
  #sec2 .row1 h2 {
    margin-bottom: 144px;
  }
  #sec2 .row1 .img {
    position: absolute;
    top: 0;
    left: calc(50% - 50vw);
    margin-bottom: 0;
    right: calc(50% + 50px);
    height: 750px;
  }
  #sec2 .row1 .img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  #sec2 .row1 .desc .group1 {
    margin-left: auto;
    width: 50.8%;
    margin-bottom: 65px;
  }
  #sec2 .row1 .desc .group2 {
    display: flex;
    padding-left: 84px;
  }
  #sec2 .row1 .desc .group2 .ttl {
    flex-shrink: 0;
    margin-right: 74px;
    margin-bottom: 0;
  }
  #sec2 .row1 .desc .group2 .txt {
    width: 787px;
  }
  #sec2 .row1 .desc .ttl {
    font-size: 24px;
    margin-bottom: 30px;
  }
  #sec2 .row2 {
    padding-bottom: 286px;
    background: url(../img/recruit/arrow.png) no-repeat center 300px;
  }
  #sec2 .row2 .ttl {
    font-size: 24px;
    margin-bottom: 50px;
  }
  #sec2 .row2 .en {
    font-size: 80px;
    margin-bottom: 16px;
  }
  #sec2 .row2 h3 {
    font-size: 30px;
    margin-bottom: 84px;
  }
  #sec2 .row2 .list .item {
    position: relative;
    margin-bottom: 92px;
  }
  #sec2 .row2 .list .item:nth-child(1) {
    padding-left: 80px;
  }
  #sec2 .row2 .list .item:nth-child(1) .photo {
    top: -42px;
    right: -61px;
  }
  #sec2 .row2 .list .item:nth-child(2) {
    padding-left: 380px;
    margin-bottom: 74px;
  }
  #sec2 .row2 .list .item:nth-child(2) .photo {
    top: -12px;
    left: 71px;
  }
  #sec2 .row2 .list .item:nth-child(3) {
    padding-left: 161px;
  }
  #sec2 .row2 .list .item:nth-child(3) .desc .label {
    font-size: 30px;
    line-height: 1.8em;
  }
  #sec2 .row2 .list .item:nth-child(3) .photo {
    top: -217px;
    left: -120px;
  }
  #sec2 .row2 .list .item:last-child {
    margin-bottom: 0;
  }
  #sec2 .row2 .list .photo {
    position: absolute;
    width: auto;
    margin: 0;
  }
  #sec2 .row2 .list .desc {
    margin-bottom: 82px;
    position: relative;
    z-index: 2;
  }
  #sec2 .row2 .list .desc .label {
    font-size: 24px;
    margin-bottom: 42px;
  }
  #sec2 .row2 .list .desc .label span {
    padding: 13px 26px 14px;
  }
  #sec2 .row2 .list .desc .txt {
    margin: 0 39px;
  }
  #sec2 .row2 .list .desc ul {
    margin: 0 39px;
    margin-top: 29px;
    gap: 0 12px;
  }
  #sec2 .row2 .list .desc ul li {
    width: 164px;
  }
  #sec2 .row2 .img {
    left: 548px;
    right: 0;
    width: 559px;
    bottom: -5px;
  }
}

#sec3 {
  padding-bottom: 15vw;
  position: relative;
}
#sec3 .en-all {
  position: absolute;
  top: -18vw;
  left: 0;
  text-align: right;
  z-index: 2;
  letter-spacing: normal;
}
#sec3 .en-all span {
  margin-right: -15%;
}
#sec3 .row-para {
  margin-bottom: 10vw;
  background-image: unset !important;
  position: relative;
}
#sec3 .row-para .bg {
  box-sizing: border-box;
  margin-bottom: 8vw;
  min-height: 60vw;
  position: relative;
}
#sec3 .row-para .bg .img_parallax {
  position: absolute;
  inset: 0;
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
}
#sec3 .row-para .bg .img_parallax img {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
#sec3 .row-para .desc {
  padding: 0 5%;
}
#sec3 .row-para .desc h2 {
  color: #000;
  text-align: right;
  letter-spacing: 0.02em;
}
#sec3 .row-para .desc .txt {
  text-align: justify;
}
#sec3 .scroll-slider .left {
  padding: 0 5%;
}
#sec3 .scroll-slider .left .box {
  margin-bottom: 10vw;
  position: relative;
  z-index: 1;
}
#sec3 .scroll-slider .left .box:last-child {
  margin-bottom: 0;
}
#sec3 .scroll-slider .left .box::before {
  content: "";
  position: absolute;
  inset: 93.5vw 0 0;
  background-color: #fff;
  z-index: -1;
}
#sec3 .scroll-slider .left .box .photo {
  margin-bottom: 10vw;
}
#sec3 .scroll-slider .left .box .group {
  padding: 0 5% 5vw;
  position: relative;
  z-index: 2;
}
#sec3 .scroll-slider .left .box h3 {
  font-size: 6vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 5vw;
  color: #956813;
  margin-top: -5vw;
  white-space: nowrap;
}
#sec3 .scroll-slider .left .box h3 .num {
  font-family: var(--old-stand);
  padding-right: 4%;
  font-weight: 400;
  font-size: 166.6666666667%;
}
#sec3 .scroll-slider .left .box .ttl {
  font-size: 4.7vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 5vw;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #sec3 {
    padding-bottom: 100px;
  }
  #sec3 .en-all {
    top: -219px;
  }
  #sec3 .en-all span {
    margin-right: -158px;
  }
  #sec3 .row-para {
    margin-bottom: 50px;
  }
  #sec3 .row-para .bg {
    margin-bottom: 0;
    min-height: 600px;
  }
  #sec3 .row-para .bg .img_parallax img {
    display: block !important;
  }
  #sec3 .row-para .desc {
    padding: 0;
    position: absolute;
    bottom: 28px;
    right: 100px;
    width: 360px;
  }
  #sec3 .row-para .desc h2 {
    color: #fff;
    margin-bottom: 22px;
  }
  #sec3 .row-para .desc .txt {
    width: 100%;
    color: #fff;
  }
  #sec3 .scroll-slider {
    margin: 0 42px;
    display: flex;
    justify-content: center;
    gap: 50px;
  }
  #sec3 .scroll-slider .left {
    flex-shrink: 0;
    width: 650px;
    box-sizing: border-box;
    padding: 47px 0 70px;
  }
  #sec3 .scroll-slider .left .box {
    margin-bottom: 220px;
  }
  #sec3 .scroll-slider .left .box::before {
    inset: 43px 0 0;
  }
  #sec3 .scroll-slider .left .box .photo {
    display: none;
  }
  #sec3 .scroll-slider .left .box .group {
    padding: 20px 52px 55px;
  }
  #sec3 .scroll-slider .left .box h3 {
    font-size: 30px;
    margin-bottom: 52px;
    margin-top: 0;
  }
  #sec3 .scroll-slider .left .box h3 .num {
    padding-right: 30px;
  }
  #sec3 .scroll-slider .left .box .ttl {
    font-size: 24px;
    line-height: 1.6em;
    margin-bottom: 31px;
  }
  #sec3 .scroll-slider .left .box .txt {
    line-height: 2.5em;
  }
  #sec3 .scroll-slider .right {
    position: sticky;
    height: fit-content;
    top: 100px;
    left: 0;
    z-index: 2;
  }
  #sec3 .scroll-slider .right .photo:not(:first-child) {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: 0.5s;
    z-index: 9;
  }
  #sec3 .scroll-slider .right .photo.show {
    opacity: 1;
  }
  #sec3 .scroll-slider .right .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

#sec4 {
  padding-bottom: 25vw;
}
#sec4 .row {
  position: relative;
}
#sec4 .row h2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: right;
  z-index: 2;
  letter-spacing: normal;
}
#sec4 .row h2 span {
  display: inline-block;
  padding: 2vw 5%;
  background: url(../img/shared/pt1.jpg) repeat;
}
#sec4 .row .img-full {
  height: 70vw;
}
#sec4 .row .img-full img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#sec4 .row .en-all {
  margin-top: -4vw;
  margin-bottom: 14vw;
  position: relative;
  z-index: 2;
}
#sec4 .row .list li {
  text-align: center;
  margin-bottom: 17vw;
  position: relative;
}
#sec4 .row .list li:first-child {
  left: -16%;
}
#sec4 .row .list li:first-child a::before {
  left: -29%;
}
#sec4 .row .list li:nth-child(2) {
  right: -16%;
}
#sec4 .row .list li:nth-child(3) {
  left: -10%;
}
#sec4 .row .list li:last-child {
  margin-bottom: 0;
}
#sec4 .row .list li a {
  text-align: center;
  font-size: 4vw;
  font-weight: 400;
  position: relative;
  z-index: 3;
}
#sec4 .row .list li a::before {
  content: "";
  position: absolute;
  pointer-events: auto;
  background: url(../img/recruit/sec4_popup.png) no-repeat;
  background-size: contain;
  aspect-ratio: 300/153;
  width: 60vw;
  height: auto;
  top: -8vw;
  left: -25%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding-bottom: 152px;
  }
  #sec4 .row h2 span {
    padding: 26px 41px;
  }
  #sec4 .row .img-full {
    height: 750px;
  }
  #sec4 .row .en-all {
    margin-top: -39px;
    margin-bottom: 0;
  }
  #sec4 .row .list li {
    position: absolute;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.7em;
  }
  #sec4 .row .list li:first-child {
    left: calc(50% - 326px);
    top: 188px;
  }
  #sec4 .row .list li:first-child a::before {
    left: -55px;
  }
  #sec4 .row .list li:nth-child(2) {
    left: calc(50% - 113px);
    top: 478px;
    right: unset;
  }
  #sec4 .row .list li:nth-child(3) {
    left: calc(50% + 297px);
    top: 245px;
  }
  #sec4 .row .list li a {
    font-size: 18px;
    line-height: 1.4em;
    transition: all 0.3s ease-in-out;
  }
  #sec4 .row .list li a::before {
    width: 300px;
    top: -46px;
    left: -55px;
  }
  #sec4 .row .list li a:hover {
    opacity: 0.7;
  }
}

#sec5 {
  padding-bottom: 15vw;
}
#sec5 .en {
  text-align: center;
  font-size: 5vw;
  color: #383632;
  font-weight: 400;
  font-family: var(--roboto);
  line-height: 1.4em;
  margin-bottom: 2vw;
}
#sec5 h2 {
  text-align: center;
  letter-spacing: normal;
}
#sec5 .tab-wrap .tab-btn {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  width: 90%;
  height: 20vw;
}
#sec5 .tab-wrap .tab-btn .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80%;
  text-align: center;
  position: relative;
  background-color: #e5e1d8;
  width: 50%;
  overflow: hidden;
  border-radius: 5vw 0 0 0;
  transition: all 0.3s ease-in-out;
}
#sec5 .tab-wrap .tab-btn .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(360deg, rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2));
  mix-blend-mode: multiply;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease-in-out;
}
#sec5 .tab-wrap .tab-btn .btn.active {
  height: 100%;
}
#sec5 .tab-wrap .tab-btn .btn.active::before {
  opacity: 0;
  visibility: hidden;
}
#sec5 .tab-wrap .tab-content {
  background-color: #e5e1d8;
  padding: 8vw 5%;
  box-sizing: border-box;
}
#sec5 .tab-wrap .content {
  position: absolute;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
#sec5 .tab-wrap .content.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
#sec5 .tab-wrap .content .info {
  margin-bottom: 8vw;
}
#sec5 .tab-wrap .content .img {
  margin-bottom: 5vw;
}
#sec5 .tab-wrap .content .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#sec5 .tab-wrap .content .desc {
  margin-bottom: 5vw;
}
#sec5 .tab-wrap .content .desc:last-child {
  margin-bottom: 0;
}
#sec5 .tab-wrap .content .desc .name {
  font-size: 5.4vw;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 3vw;
}
#sec5 .tab-wrap .content .desc ul {
  margin-bottom: 5vw;
}
#sec5 .tab-wrap .content .desc ul:last-child {
  margin-bottom: 0;
}
#sec5 .tab-wrap .content .btn {
  position: relative;
  z-index: 3;
  text-align: center;
}
#sec5 .tab-wrap .content .btn a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  font-weight: 400;
  width: 280px;
  height: 60px;
  background-color: #fff;
  border-radius: 40px;
  position: relative;
}
#sec5 .tab-wrap .content .btn a.active .close {
  display: block;
}
#sec5 .tab-wrap .content .btn a.active .open {
  display: none;
}
#sec5 .tab-wrap .content .btn a.active::before {
  background-image: url(../img/recruit/sec5_popup_ic2.png);
}
#sec5 .tab-wrap .content .btn a::before {
  content: "";
  position: absolute;
  background: url(../img/recruit/sec5_popup_ic1.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: 16px;
  margin: auto 0;
  transition: all 0.3s ease-in-out;
}
#sec5 .tab-wrap .content .btn a .close {
  display: none;
}
#sec5 .tab-wrap .content .detail {
  padding: 8vw 5%;
  background-color: #fff;
  position: absolute;
  z-index: 2;
  inset: 0 0 30px;
  margin: auto;
  display: none;
}
#sec5 .tab-wrap .content .detail.active {
  display: block;
}
#sec5 .tab-wrap .content .detail h3 {
  text-align: center;
  color: #c3b497;
  font-family: var(--hur);
  font-weight: 400;
  line-height: 1em;
  font-size: 12vw;
  margin-bottom: 5vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    padding-bottom: 200px;
  }
  #sec5 .en {
    font-size: 20px;
    margin-bottom: 30px;
  }
  #sec5 h2 {
    margin-bottom: 63px;
  }
  #sec5 .tab-wrap .tab-btn {
    cursor: pointer;
    width: 100%;
    height: 110px;
  }
  #sec5 .tab-wrap .tab-btn .btn {
    font-size: 24px;
    height: 81.8181818182%;
    border-radius: 20px 0 0 0;
  }
  #sec5 .tab-wrap .tab-btn .btn:not(.active):hover {
    opacity: 0.7;
  }
  #sec5 .tab-wrap .tab-content {
    margin: 0 -100px;
    padding: 61px 0 109px;
  }
  #sec5 .tab-wrap .content .info {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin-bottom: 50px;
  }
  #sec5 .tab-wrap .content .img {
    margin-bottom: 0;
  }
  #sec5 .tab-wrap .content .desc {
    width: 450px;
    flex-shrink: 0;
    margin-bottom: 30px;
    margin-top: 51px;
  }
  #sec5 .tab-wrap .content .desc .name {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #sec5 .tab-wrap .content .desc ul {
    margin-bottom: 40px;
  }
  #sec5 .tab-wrap .content .desc ul li {
    font-size: 18px;
  }
  #sec5 .tab-wrap .content .desc .txt {
    line-height: 2.5em;
  }
  #sec5 .tab-wrap .content .btn a {
    font-size: 20px;
    width: 350px;
    height: 80px;
    border-radius: 40px;
    transition: all 0.3s ease-in-out;
  }
  #sec5 .tab-wrap .content .btn a::before {
    width: 45px;
    height: 45px;
    right: 23px;
  }
  #sec5 .tab-wrap .content .btn a:hover {
    opacity: 0.7;
  }
  #sec5 .tab-wrap .content .detail {
    padding: 88px 0 20px;
    inset: 0 0 40px;
    width: 900px;
  }
  #sec5 .tab-wrap .content .detail h3 {
    font-size: 80px;
    margin-bottom: 20px;
  }
  #sec5 .tab-wrap .content .detail .txt {
    width: 664px;
    margin: 0 auto;
    line-height: 2.5em;
  }
}

#sec6 h2 {
  margin-bottom: -3vw;
  position: relative;
  z-index: 6;
  text-align: right;
}
#sec6 .group-sticky {
  position: relative;
}
#sec6 .set {
  height: 100vh;
  position: sticky;
  top: 0;
  transition: all 0.5s;
  z-index: 1;
  overflow: hidden;
}
#sec6 .set.is-blur {
  filter: blur(1rem);
}
#sec6 .set.end {
  filter: unset;
}
#sec6 .set .img {
  position: absolute;
  inset: 0;
  z-index: -1;
}
#sec6 .set .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#sec6 .set .desc {
  text-align: center;
  color: #fff;
  position: absolute;
  z-index: 2;
  top: calc(50% - 60px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 5%;
  box-sizing: border-box;
}
#sec6 .set .desc h3 {
  margin-bottom: 2vh;
}
#sec6 .set .desc h3 span {
  display: inline-block;
  padding: 1.4vh 10%;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
#sec6 .set .desc .tit-all {
  font-size: 4.5vw;
  color: #fff;
}
#sec6 .set1 .desc .ttl1 {
  margin-bottom: 2vh;
  letter-spacing: 0.02em;
}
#sec6 .set1 .desc .list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2vh 1vh;
  margin-bottom: 3vh;
}
#sec6 .set1 .desc .list .item {
  width: 48%;
}
#sec6 .set1 .desc .list .item .ico {
  height: 15vh;
  margin: 0 auto;
}
#sec6 .set1 .desc .list .item .ico img {
  object-fit: contain;
  width: auto;
  height: 100%;
}
#sec6 .set1 .desc .list .item .note {
  font-size: 90%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 2vw 2%;
}
#sec6 .set1 .desc .ttl2 {
  margin-bottom: 0;
  letter-spacing: 0.06em;
}
#sec6 .set1 .desc .ttl2 span {
  position: relative;
  display: inline-block;
  padding-bottom: 4vw;
}
#sec6 .set1 .desc .ttl2 span::before, #sec6 .set1 .desc .ttl2 span::after {
  content: "";
  position: absolute;
  background-color: #c3b497;
  width: 100%;
  height: 2px;
  bottom: 0;
}
#sec6 .set1 .desc .ttl2 span::before {
  left: -2%;
}
#sec6 .set1 .desc .ttl2 span::after {
  bottom: 5px;
  right: -2%;
}
#sec6 .set2 {
  z-index: 2;
}
#sec6 .set2 .map {
  width: 100vw;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#sec6 .set2 .desc .ico {
  width: 28vw;
  margin: 0 auto 5vw;
}
@media screen and (min-width: 768px) {
  #sec6 {
    position: relative;
  }
  #sec6 h2 {
    margin-bottom: 0;
    position: absolute;
    top: -98px;
    right: 0;
  }
  #sec6 .set {
    height: 100vh;
  }
  #sec6 .set .desc {
    padding: 0;
    top: 50%;
  }
  #sec6 .set .desc h3 {
    margin-bottom: 28px;
  }
  #sec6 .set .desc h3 span {
    padding: 24px 71px;
  }
  #sec6 .set .desc .tit-all {
    font-size: 30px;
  }
  #sec6 .set1 .desc .ttl1 {
    margin-bottom: 40px;
  }
  #sec6 .set1 .desc .list {
    justify-content: center;
    gap: 29px;
    margin-bottom: 50px;
  }
  #sec6 .set1 .desc .list .item {
    width: 201px;
  }
  #sec6 .set1 .desc .list .item .ico {
    height: auto;
  }
  #sec6 .set1 .desc .list .item .note {
    font-size: 16px;
    padding: 3px 4px;
  }
  #sec6 .set1 .desc .ttl2 span {
    padding-bottom: 26px;
  }
  #sec6 .set1 .desc .ttl2 span::before {
    left: -30px;
  }
  #sec6 .set1 .desc .ttl2 span::after {
    bottom: 6px;
    right: -30px;
  }
  #sec6 .set2 .map {
    width: 634px;
    left: calc(50% + 30px);
  }
  #sec6 .set2 .desc h3 {
    margin-bottom: 50px;
  }
  #sec6 .set2 .desc .ico {
    width: 112px;
    margin: 0 auto 50px;
  }
}

#sec7 {
  padding: 15vw 0 0;
  background-color: #e5e1d8;
}
#sec7 .row1 {
  padding-bottom: 15vw;
  position: relative;
}
#sec7 .row1 h2 {
  margin-bottom: 10vw;
}
#sec7 .row1 .en-all {
  position: absolute;
  top: -1.6vw;
  left: 40%;
  margin-bottom: 0;
}
#sec7 .row1 .tab-wrap .tab-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  width: 90%;
  height: 20vw;
}
#sec7 .row1 .tab-wrap .tab-btn .btn {
  border: 1px solid transparent;
  border-bottom: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80%;
  text-align: center;
  position: relative;
  background-color: #e5e1d8;
  width: 50%;
  border-radius: 5vw 0 0 0;
  transition: all 0.3s ease-in-out;
}
#sec7 .row1 .tab-wrap .tab-btn .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(360deg, rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2));
  mix-blend-mode: multiply;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease-in-out;
}
#sec7 .row1 .tab-wrap .tab-btn .btn::after {
  content: "";
  position: absolute;
  background-color: #e5e1d8;
  height: 1px;
  left: 0;
  right: 0;
  bottom: -1px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}
#sec7 .row1 .tab-wrap .tab-btn .btn.active {
  height: 100%;
  border-color: #070101;
}
#sec7 .row1 .tab-wrap .tab-btn .btn.active::before {
  opacity: 0;
  visibility: hidden;
}
#sec7 .row1 .tab-wrap .tab-btn .btn.active::after {
  opacity: 1;
  visibility: visible;
}
#sec7 .row1 .tab-wrap .tab-content {
  border-top: 1px solid #070101;
  background-color: #e5e1d8;
  padding: 8vw 5%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
#sec7 .row1 .tab-wrap .content {
  position: absolute;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
#sec7 .row1 .tab-wrap .content.active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
#sec7 .row1 .tab-wrap .content .info {
  margin-bottom: 8vw;
}
#sec7 .row1 .tab-wrap .content .info:last-child {
  margin-bottom: 0;
}
#sec7 .row1 .tab-wrap .content .info dl {
  font-size: 14px;
  padding: 10px 5px 10px;
  line-height: 1.6em;
  display: flex;
  border-bottom: 1px dotted #b6b4ae;
}
#sec7 .row1 .tab-wrap .content .info dl dt {
  width: 120px;
  text-align: left;
  flex-shrink: 0;
}
#sec7 .row1 .tab-wrap .content .tit {
  font-size: 5.4vw;
  line-height: 1.6em;
  margin-bottom: 3vw;
}
#sec7 .row1 .tab-wrap .content .note {
  font-size: 14px;
  margin-bottom: 3vw;
}
#sec7 .row1 .tab-wrap .content .list {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 5vw;
  border-bottom: 1px dotted #b6b4ae;
}
#sec7 .row1 .tab-wrap .content .list .item {
  width: 80%;
  position: relative;
  margin-bottom: 14vw;
}
#sec7 .row1 .tab-wrap .content .list .item::before {
  content: "";
  position: absolute;
  bottom: -34px;
  left: 0;
  right: 0;
  background: url(../img/recruit/sec7_arrow.png) no-repeat;
  background-size: contain;
  width: 34px;
  height: 18px;
  transform: rotate(90deg);
  margin: 0 auto;
}
#sec7 .row1 .tab-wrap .content .list .item:last-child {
  margin-bottom: 0;
}
#sec7 .row1 .tab-wrap .content .list .item:last-child::before {
  content: none;
}
#sec7 .row1 .tab-wrap .content .list .item .ttl {
  text-align: center;
  font-size: 14px;
  margin-bottom: -10px;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
#sec7 .row1 .tab-wrap .content .list .item .ttl span {
  background-color: #fff;
  display: inline-block;
  border-radius: 17px;
  padding: 3px 20px;
}
#sec7 .row1 .tab-wrap .content .list .item .img {
  margin-bottom: 3vw;
}
#sec7 .row1 .tab-wrap .content .list .item .img img {
  border-radius: 100%;
}
#sec7 .row1 .tab-wrap .content .list .item .txt {
  text-align: justify;
  font-size: 14px;
}
#sec7 .row2 {
  padding: 15vw 5% 15vw;
  background-color: #fff;
}
#sec7 .row2 .left {
  text-align: center;
  margin-bottom: 5vw;
}
#sec7 .row2 .left .en-all {
  margin-bottom: 8vw;
}
#sec7 .row2 .left .tit-all {
  font-size: min(6vw, 30px);
  line-height: 1.4em;
  letter-spacing: normal;
}
#sec7 .row2 .left .tit-all small {
  font-size: 53.3333333333%;
}
#sec7 .row2 .right .btn-efo {
  margin-bottom: 5vw;
}
#sec7 .row2 .right .btn-efo a {
  margin: 0 auto;
  width: 250px;
  height: 50px;
  border: 1px solid #000;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#sec7 .row2 .right .btn-efo a::before {
  content: "";
  position: absolute;
  background: url(../img/shared/icon_arrow2_b.png) no-repeat;
  background-size: contain;
  width: 20px;
  height: 8px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 16px;
}
#sec7 .row2 .right .tel {
  text-align: center;
}
#sec7 .row2 .right .tel dt {
  font-size: 26px;
  font-weight: 400;
}
#sec7 .row2 .right .tel dt .tel-icon {
  font-size: 66.6666666667%;
  font-family: var(--cormo);
  font-weight: 200;
  position: relative;
  bottom: 1px;
  padding-right: 7px;
}
#sec7 .row2 .right .tel dt .tel-icon img {
  position: relative;
  bottom: 3px;
  padding-left: 8px;
  width: 14px;
}
#sec7 .row2 .right .tel dd {
  font-size: 12px;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #sec7 {
    padding: 243px 0 0;
  }
  #sec7 .row1 {
    padding-bottom: 58px;
  }
  #sec7 .row1 h2 {
    margin-left: 95px;
    margin-bottom: 91px;
  }
  #sec7 .row1 .en-all {
    top: -51px;
    left: 32%;
  }
  #sec7 .row1 .tab-wrap {
    margin: 0 -100px;
  }
  #sec7 .row1 .tab-wrap .tab-btn {
    cursor: pointer;
    width: calc(100% - 200px);
    height: 110px;
  }
  #sec7 .row1 .tab-wrap .tab-btn .btn {
    font-size: 24px;
    height: 81.8181818182%;
    border-radius: 20px 0 0 0;
  }
  #sec7 .row1 .tab-wrap .tab-btn .btn:not(.active):hover {
    opacity: 0.7;
  }
  #sec7 .row1 .tab-wrap .tab-content {
    padding: 61px 0 109px;
  }
  #sec7 .row1 .tab-wrap .content {
    width: 700px;
    margin: 0 auto;
  }
  #sec7 .row1 .tab-wrap .content .info {
    margin-bottom: 32px;
  }
  #sec7 .row1 .tab-wrap .content .info dl {
    padding: 15px 8px;
    line-height: 1.6em;
  }
  #sec7 .row1 .tab-wrap .content .info dl dt {
    width: 164px;
  }
  #sec7 .row1 .tab-wrap .content .tit {
    font-size: 24px;
    margin-bottom: 18px;
  }
  #sec7 .row1 .tab-wrap .content .note {
    font-size: 14px;
    margin-bottom: 16px;
    line-height: 1.4em;
  }
  #sec7 .row1 .tab-wrap .content .list {
    justify-content: center;
    flex-direction: row;
    padding-bottom: 24px;
    gap: 34px;
  }
  #sec7 .row1 .tab-wrap .content .list .item {
    width: 150px;
    position: relative;
    margin-bottom: 0;
  }
  #sec7 .row1 .tab-wrap .content .list .item:nth-child(4) .ttl span {
    width: 170px;
  }
  #sec7 .row1 .tab-wrap .content .list .item::before {
    top: 76px;
    bottom: inherit;
    left: inherit;
    right: -23px;
    transform: unset;
    margin: 0;
  }
  #sec7 .row1 .tab-wrap .content .list .item .ttl {
    font-size: 14px;
    margin-bottom: -23px;
    line-height: 1.4em;
  }
  #sec7 .row1 .tab-wrap .content .list .item .ttl span {
    padding: 7px 20px 8px;
  }
  #sec7 .row1 .tab-wrap .content .list .item .img {
    margin-bottom: 20px;
  }
  #sec7 .row1 .tab-wrap .content .list .item .txt {
    font-size: 14px;
    line-height: 1.9em;
    min-height: 150px;
  }
  #sec7 .row2 {
    padding: 79px 0 22px;
  }
  #sec7 .row2 .group {
    display: flex;
    justify-content: center;
    gap: 62px;
  }
  #sec7 .row2 .left {
    text-align: left;
    margin-bottom: 0;
  }
  #sec7 .row2 .left .en-all {
    margin-bottom: 30px;
  }
  #sec7 .row2 .left .tit-all {
    font-size: 30px;
    line-height: 1.2em;
  }
  #sec7 .row2 .right {
    margin-top: 40px;
  }
  #sec7 .row2 .right .btn-efo {
    margin-bottom: 16px;
  }
  #sec7 .row2 .right .btn-efo a {
    overflow: hidden;
    width: 500px;
    height: 99px;
    font-size: 24px;
    transition: all 0.3s ease-in-out;
    z-index: 1;
  }
  #sec7 .row2 .right .btn-efo a::before {
    width: 27px;
    right: 42px;
    transition: all 0.3s ease-in-out;
  }
  #sec7 .row2 .right .btn-efo a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background-color: #956813;
    z-index: -2;
    transition: all 0.3s ease-in-out;
  }
  #sec7 .row2 .right .btn-efo a:hover {
    color: #fff;
  }
  #sec7 .row2 .right .btn-efo a:hover::before {
    filter: brightness(0) invert(1);
  }
  #sec7 .row2 .right .btn-efo a:hover::after {
    width: 100%;
  }
  #sec7 .row2 .right .tel dt {
    font-size: 30px;
  }
  #sec7 .row2 .right .tel dt .tel-icon {
    bottom: 1px;
    padding-right: 7px;
  }
  #sec7 .row2 .right .tel dt .tel-icon img {
    bottom: 5px;
    padding-left: 8px;
    width: 16px;
  }
  #sec7 .row2 .right .tel dd {
    font-size: 16px;
  }
}

#sec8 {
  padding-bottom: 15vw;
}
#sec8 .img-full {
  height: 70vw;
  margin-bottom: 8vw;
}
#sec8 .img-full img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#sec8 .en {
  font-size: 4vw;
  text-align: center;
  font-family: var(--roboto);
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 2vw;
  color: #383632;
}
#sec8 h2 {
  text-align: center;
}
#sec8 .info dl {
  font-size: 14px;
  padding: 10px 5px 10px;
  line-height: 1.6em;
  display: flex;
  border-bottom: 1px dotted #b6b4ae;
}
#sec8 .info dl dt {
  width: 120px;
  text-align: left;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  #sec8 {
    padding-bottom: 200px;
  }
  #sec8 .img-full {
    height: 600px;
    margin-bottom: 93px;
  }
  #sec8 .en {
    font-size: 20px;
    margin-bottom: 31px;
  }
  #sec8 h2 {
    margin-bottom: 70px;
  }
  #sec8 .info {
    width: 700px;
    margin: 0 auto;
  }
  #sec8 .info dl {
    font-size: 14px;
    padding: 15px 8px;
    line-height: 1.6em;
  }
  #sec8 .info dl dt {
    width: 165px;
  }
}

.popup-talk {
  /* padding: 8vw 0 12vw; */
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  z-index: 4;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
  bottom: 0;
  overflow-y: scroll;
}
.popup-talk .wrap {
  padding-top: 8vw;
  padding-bottom: 34vw;
  height: 100%;
}

.popup-talk.active {
  opacity: 1;
  visibility: visible;
}
.popup-talk::before {
  content: "";
  position: absolute;
  background-color: #000;
  opacity: 0.6;
  inset: 0;
  height: 126vh;
  mix-blend-mode: multiply;
  z-index: -1;
}
.popup-talk h3 {
  text-align: center;
  color: #fff;
  font-size: 5vw;
  margin-bottom: 4vw;
}
.popup-talk .group {
  margin-bottom: 5vw;
}
.popup-talk .group .info {
  margin-bottom: 3vw;
}
.popup-talk .group .info .sub {
  font-size: 115%;
  font-weight: 400;
  margin-bottom: 3vw;
  color: #fff;
}
.popup-talk .group .info ul li {
  font-weight: 400;
  color: #fff;
}
.popup-talk .group .txt {
  color: #fff;
}
body.fix {
  overflow: hidden;
}
.popup-talk .close-btn {
  box-sizing: border-box;
  margin: 0 auto;
  height: 41px;
  width: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 20px;
  font-family: var(--cormo);
  font-weight: 600;
  font-size: 18px;
  color: #fff;
  padding-right: 20px;
}
.popup-talk .close-btn span {
  font-family: var(--serif);
  font-weight: 500;
  position: relative;
  bottom: 3px;
  padding-right: 5px;
}
@media screen and (min-width: 768px) {
  .popup-talk {
    position: absolute;
    padding: 135px 0 30px;
    height: 750px;
    display: block;
    bottom: 0;
    overflow-y: inherit;
  }
  .popup-talk::before {
    height: 100%;
  }
  .popup-talk .wrap {
    padding-top: 0;
    padding-bottom: 0;
  }
  .popup-talk h3 {
    font-size: 30px;
    margin-bottom: 42px;
  }
  .popup-talk .group {
    margin-bottom: 48px;
    gap: 50px;
    display: flex;
    padding-left: 100px;
  }
  .popup-talk .group .info {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .popup-talk .group .info .sub {
    font-size: 24px;
    margin-bottom: 24px;
  }
  .popup-talk .group .info ul li {
    font-size: 20px;
  }
  .popup-talk .group .txt {
    width: 660px;
    line-height: 2.5em;
  }
  .popup-talk .close-btn {
    cursor: pointer;
    padding-right: 30px;
    transition: all 0.3s ease-in-out;
  }
  .popup-talk .close-btn:hover {
    opacity: 0.7;
  }
  .popup-talk .close-btn span {
    bottom: 1px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  #sec6 .set1 .desc .list .item .ico {
    height: 140px;
  }
  #sec6 .set .desc .tit-all {
    font-size: 28px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  #sec3 .en-all {
    font-size: 120px;
    top: -183px;
  }
}
