@charset "UTF-8";
/* ============================================ */
/* divercity
/* ============================================ */
/* ===== category-name-jp ===== */
.category-name-jp {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 600;
  margin: -10px 0 75px 8%;
}

@media screen and (max-width: 768px) {
  .category-name-jp {
    font-size: 24px;
    font-size: 1.5rem;
    margin: -10px 0 40px 12%;
  }
}
@media screen and (max-width: 600px) {
  .category-name-jp {
    font-size: 16px;
    font-size: 1rem;
    margin: -10px 0 30px 10%;
  }
}
/* ===== top-area ===== */
#top-area {
  position: relative;
  width: 100%;
  height: calc(100vh - 86px - 130px);
  height: calc(100svh - 86px - 130px);
  overflow: hidden;
}
#top-area .wrap {
  height: 100%;
}
#top-area .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#top-area .img::before {
  background-image: url(../img/recruit-information/divercity/top.jpg);
  background-position: left 35% center;
}
#top-area .catch-wrap {
  position: absolute;
  top: 45%;
  left: -6%;
}
#top-area .catch-wrap .catch01 {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.8;
  color: var(--color-white);
}
#top-area .catch-wrap .bg-green {
  position: relative;
  z-index: 1;
}
#top-area .catch-wrap .bg-green::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 0;
  width: 100%;
  height: 75%;
  background-color: var(--color-aqua);
  z-index: -1;
}

@media screen and (max-width: 1024px) {
  #top-area {
    height: 600px;
  }
}
@media screen and (max-width: 768px) {
  #top-area {
    height: 500px;
  }
  #top-area .catch-wrap .catch01 {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 600px) {
  #top-area {
    height: 330px;
  }
  #top-area .catch-wrap .catch01 {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
/* ===== divercity-link ===== */
#divercity-link {
  margin: -65px 0 0;
}
#divercity-link .wrap {
  background-color: var(--color-white);
  padding: 30px 40px;
  border-radius: 15px;
}
#divercity-link .index-title {
  font-family: var(--fontfamily-en);
  font-size: 25px;
  font-size: 1.5625rem;
  font-weight: 300;
  color: var(--color-aqua);
  margin: 0 0 0.2em;
}
#divercity-link .link-list {
  position: relative;
  border-top: solid 1px var(--color-aqua);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#divercity-link .link-list .link-item {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1em 5px;
  width: 306.6666666667px;
}
#divercity-link .link-list .link-item::after {
  position: absolute;
  top: 66px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  border-top: dashed 1px var(--color-aqua);
}
#divercity-link .link-list .link-item:not(:nth-of-type(3))::after {
  display: none;
}
#divercity-link .link-list .link-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#divercity-link .link-list .link-item .round-arrow {
  display: block;
  width: 34px;
  margin-left: 7px;
  transition: 0.2s;
}

@media (hover: hover) {
  #divercity-link .link-list .link-item a:hover .round-arrow {
    transform: scale(1.15);
  }
}
@media screen and (max-width: 1270px) {
  #divercity-link .link-list .link-item {
    width: calc((100% - 20px) / 2);
  }
  #divercity-link .link-list .link-item:nth-of-type(3)::after {
    display: none;
  }
  #divercity-link .link-list .link-item:nth-of-type(2)::after {
    display: block;
  }
  #divercity-link .link-list .link-item:nth-of-type(4)::after {
    display: block;
    top: 132px;
  }
}
@media screen and (max-width: 900px) {
  #divercity-link .link-list {
    flex-direction: column;
  }
  #divercity-link .link-list .link-item {
    width: 100%;
  }
  #divercity-link .link-list .link-item::after {
    display: none !important;
  }
  #divercity-link .link-list .link-item + .link-item {
    border-top: dashed 1px var(--color-aqua);
  }
}
@media screen and (max-width: 768px) {
  #divercity-link .link-list .link-item {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 600px) {
  #divercity-link {
    margin: -55px 0 0;
  }
  #divercity-link .wrap {
    padding: 20px;
  }
}
/* ===== view ===== */
#view {
  margin: 135px 0 0;
}
#view .view-title {
  color: var(--color-aqua);
  margin: 0 0 45px 40px;
}
#view .view-title .ja {
  display: block;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 600;
  margin: 0 0 10px;
}
#view .view-title .en {
  display: block;
  font-family: var(--fontfamily-en);
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 200;
}
#view p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.2;
  max-width: 770px;
  margin: 0 auto;
}
#view .link {
  margin: 1em 0 0;
}
#view .link .g-btn {
  margin: 1em auto 0;
}

@media screen and (max-width: 1070px) {
  #view .view-title {
    margin: 0 0 45px 0;
  }
}
@media screen and (max-width: 768px) {
  #view {
    margin: 40px 0 0;
  }
  #view .view-title {
    margin: 0 0 30px 0;
  }
  #view .view-title .ja {
    font-size: 25px;
    font-size: 1.5625rem;
    margin: 0 0 5px;
  }
  #view .view-title .en {
    font-size: 22px;
    font-size: 1.375rem;
  }
  #view p {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  #view .view-title .ja {
    font-size: 24px;
    font-size: 1.5rem;
  }
  #view .view-title .en {
    font-size: 21px;
    font-size: 1.3125rem;
  }
  #view p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
/* ===== message ===== */
#message {
  background-color: #d3f5f6;
}
#message .flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0 100px;
}
#message .text {
  margin: 0 0 120px;
  padding: 50px;
  background-color: var(--color-white);
  border-radius: 20px;
}
#message .text p {
  line-height: 2.2;
}
#message .text p + p {
  margin: 2em 0 0;
}

@media screen and (max-width: 1024px) {
  #message .flex-wrap {
    flex-direction: column;
  }
  #message .text {
    margin: 0 0 80px;
  }
}
@media screen and (max-width: 768px) {
  #message .text p + p {
    margin: 1.8em 0 0;
  }
}
@media screen and (max-width: 600px) {
  #message .text {
    padding: 20px;
  }
}
/* ===== support ===== */
#support {
  background-color: #d3f5f6;
  /* 個別指定 */
}
#support .flex-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 30px;
}
#support .g-title.big-headline {
  margin: 0 0 30px;
}
#support .box {
  position: relative;
  width: 300px;
  height: 300px;
  line-height: 1.8;
  text-align: center;
}
#support .box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--color-white);
}
#support .box .plans {
  position: absolute;
  top: 4%;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-white);
  background-color: var(--color-aqua);
  padding: 0 10px;
  white-space: nowrap;
  width: fit-content;
}
#support .box .name {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 20px;
  font-size: 1.25rem;
  white-space: nowrap;
}
#support .box .explanation {
  position: absolute;
  top: 76%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 270px;
  text-align: left;
}
#support .box .img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#support .box01 {
  order: 1;
  margin-left: 100px;
}
#support .box01 .img {
  width: 52%;
  max-width: 140px;
}
#support .box02 {
  order: 2;
}
#support .box02 .img {
  width: 42%;
  max-width: 120px;
}
#support .box03 {
  order: 3;
  margin-left: 100px;
}
#support .box03::before {
  background-color: #c1cad6;
  opacity: 0.2;
}
#support .box03 .img {
  width: 42%;
  max-width: 110px;
}
#support .box04 {
  order: 4;
}
#support .box04 .img {
  width: 32%;
  max-width: 100px;
}
#support .box05 {
  order: 5;
}
#support .box05 .img {
  width: 32%;
  max-width: 100px;
}

@media screen and (max-width: 1360px) {
  #support {
    /* 個別指定 */
  }
  #support .flex-wrap {
    justify-content: center;
    gap: 40px 60px;
  }
  #support .g-title {
    width: 100%;
  }
  #support .box01 {
    order: 1;
    margin-left: 0;
  }
  #support .box02 {
    order: 2;
  }
  #support .box03 {
    order: 5;
    margin-left: 0;
  }
  #support .box04 {
    order: 3;
  }
  #support .box05 {
    order: 4;
  }
}
@media screen and (max-width: 1024px) {
  #support .box {
    width: 250px;
    height: 250px;
  }
  #support .box .plans {
    font-size: 14px;
    font-size: 0.875rem;
  }
  #support .box .name {
    font-size: 17px;
    font-size: 1.0625rem;
  }
  #support .box .explanation {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  #support .g-title.big-headline {
    margin: 0 0 10px;
  }
}
/* ===== interview ===== */
#interview .person {
  position: relative;
}
#interview .person + .person {
  margin: 145px 0 0;
}
#interview .person.person01 .profile::before {
  background: url(../img/job-people/interview/im/icon-department-divercity.png) no-repeat;
  background-size: contain;
}
#interview .person.person02 .profile::before {
  background: url(../img/job-people/interview/hh/icon-department-divercity.png) no-repeat;
  background-size: contain;
}
#interview .person .catch {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-white);
}
#interview .person .paint {
  padding: 0 15px 3px;
  margin-bottom: 0.3em;
  display: inline-block;
  white-space: nowrap;
}
#interview .person .paint.bg-green {
  background-color: var(--color-aqua);
}
#interview .person .flex-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
#interview .person .text-wrap {
  width: 45%;
  margin-top: 10%;
}
#interview .person .text-wrap .text {
  line-height: 2.2;
  margin: 1.7em 0 0 0;
}
#interview .person .img {
  width: 50%;
}
#interview .person .profile {
  position: relative;
  padding: 25px 0 0 80px;
  width: fit-content;
}
#interview .person .profile::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 107px;
  position: absolute;
  bottom: 0;
  left: -5px;
}
#interview .person .profile .department {
  font-size: 14px;
  font-size: 0.875rem;
}
#interview .person .profile .name {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 0.8;
  margin: 0.3em 0 0;
}
#interview .person .profile .name .en {
  font-family: var(--fontfamily-en);
  color: var(--color-aqua);
}
#interview .person .profile .year {
  font-size: 55%;
  margin-left: 0.5em;
}
#interview .link {
  display: flex;
  justify-content: center;
  margin: 145px 0 0 0;
}

@media screen and (max-width: 1024px) {
  #interview .person .flex-wrap {
    flex-direction: column;
  }
  #interview .person .text-wrap {
    margin-top: 40px;
  }
  #interview .person .img {
    width: 100%;
    max-width: 600px;
  }
}
@media screen and (max-width: 768px) {
  #interview .person + .person {
    margin: 80px 0 0;
  }
  #interview .person .catch {
    font-size: 22px;
    font-size: 1.375rem;
  }
  #interview .person .profile {
    padding: 20px 0 0 55px;
  }
  #interview .person .profile::before {
    width: 45px;
    height: 82px;
    bottom: -10px;
  }
  #interview .person .profile .department {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #interview .person .profile .name {
    font-size: 20px;
    font-size: 1.25rem;
  }
  #interview .link {
    margin: 80px 0 0 0;
  }
}
@media screen and (max-width: 600px) {
  #interview .person .catch {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
/* ===== person01 ===== */
#interview .person01 .profile {
  margin: 0 5% 0 auto;
}

@media screen and (max-width: 1024px) {
  #interview .person01 .text-wrap {
    padding: 0 0 0 10vw;
    width: 100%;
  }
}
/* ===== person02 ===== */
#interview .person02 .flex-wrap {
  flex-direction: row-reverse;
  justify-content: space-between;
}
#interview .person02 .profile {
  margin: 0 auto 0 14%;
}

@media screen and (max-width: 1024px) {
  #interview .person02 .flex-wrap {
    flex-direction: column;
  }
  #interview .person02 .text-wrap {
    width: calc(100% - 10vw);
  }
  #interview .person02 .img {
    margin: 0 0 0 auto;
  }
}
/* ===== recruit ===== */
#recruit {
  background-color: #d3f5f6;
}
#recruit .type-title {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 0 0 20px;
}
#recruit .type-list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
#recruit .type-list li {
  font-size: 18px;
  font-size: 1.125rem;
  width: calc((100% - 60px) / 5);
  padding: 25px 5px;
  text-align: center;
  background-color: var(--color-white);
  border-radius: 15px;
}

@media screen and (max-width: 1024px) {
  #recruit .type-list li {
    font-size: 16px;
    font-size: 1rem;
    width: calc((100% - 45px) / 4);
  }
}
@media screen and (max-width: 768px) {
  #recruit .type-title {
    font-size: 19px;
    font-size: 1.1875rem;
  }
  #recruit .type-list li {
    width: calc((100% - 15px) / 2);
    padding: 15px 5px;
  }
}
@media screen and (max-width: 600px) {
  #recruit .type-list li {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
/* ===== faq ===== */
#faq {
  background-color: var(--color-lightgray);
  padding: 0 0 100px;
}
#faq .accordion {
  margin: 0 0 65px;
}
#faq .link {
  display: flex;
  justify-content: center;
}
#faq .link + .link {
  margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
  #faq .accordion {
    margin: 0 0 50px;
  }
  #faq .link + .link {
    margin: 80px 0 0;
  }
}
/*  アコーディオン  */
.accordion dl {
  background-color: #fff;
  border-radius: 15px;
}
.accordion dl + dl {
  margin: 35px 0 0;
}
.accordion dl.open dt .more::before {
  top: 17px;
  bottom: auto;
  transform: rotate(-45deg);
}
.accordion dt {
  position: relative;
  cursor: pointer;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-aqua);
  padding: 30px 90px 30px 50px;
  line-height: 1.5;
}
.accordion dt .more {
  position: absolute;
  top: 50%;
  right: 30px;
  background-color: var(--color-aqua);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  transform: translate(0, -50%);
}
.accordion dt .more::before {
  content: "";
  position: absolute;
  bottom: 17px;
  right: 14px;
  width: 17px;
  height: 17px;
  border-top: solid 2px var(--color-white);
  border-right: solid 2px var(--color-white);
  transform: rotate(135deg);
  transition: 0.2s ease-out;
}
.accordion dd {
  position: relative;
  display: none;
  padding: 30px 30px 50px;
  line-height: 2.2;
}
.accordion dd::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  width: calc(100% - 60px);
  height: 1px;
  background: var(--color-black);
  transform: translate(-50%, 0);
}
.accordion dd a {
  word-break: break-all;
  text-decoration: underline;
  color: var(--color-aqua);
}

@media (hover: hover) {
  .accordion dd a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 768px) {
  .accordion dl.open dt .more::before {
    top: 12px;
  }
  .accordion dt {
    padding: 20px 75px 20px 30px;
    font-size: 16px;
    font-size: 1rem;
  }
  .accordion dt .more {
    width: 30px;
    height: 30px;
  }
  .accordion dt .more::before {
    top: 7px;
    right: 9px;
    width: 12px;
    height: 12px;
  }
}
@media screen and (max-width: 600px) {
  .accordion dt {
    padding: 20px 70px 20px 20px;
  }
  .accordion dt .more {
    right: 20px;
  }
  .accordion dd {
    padding: 25px 20px 30px;
  }
  .accordion dd::before {
    width: calc(100% - 40px);
  }
}
/* ===== ボタン ===== */
.g-btn.entry {
  max-width: 745px;
  padding: 2.3em 2.7em 2.4em;
  border-radius: 4em;
}
.g-btn.entry::before {
  content: "ENTRY";
  position: absolute;
  font-family: var(--fontfamily-en);
  font-size: 24px;
  font-size: 1.5rem;
  right: 90px;
}
.g-btn.entry br {
  display: none;
}
.g-btn.entry .icon-arrow-ku {
  width: 34px;
  height: 34px;
  right: 50px;
}

@media screen and (max-width: 768px) {
  .g-btn.entry {
    max-width: 500px;
    padding: 2em 2em 2.1em;
  }
  .g-btn.entry::before {
    font-size: 17px;
    font-size: 1.0625rem;
    right: 50px;
  }
  .g-btn.entry .icon-arrow-ku {
    width: 20px;
    height: 20px;
    right: 30px;
  }
}
@media screen and (max-width: 600px) {
  .g-btn.entry::before {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  .g-btn.entry {
    padding: 0.8em 2em 0.9em;
    max-width: 300px;
  }
  .g-btn.entry br {
    display: block;
  }
}

/*# sourceMappingURL=divercity.css.map */
