main#main {
  color: #4d5761;
}

#footer_entry {
  color: #ffffff;
}

#footer_entry a {
  color: #ffffff;
}

#guideline_page #guideline_title_area a {
  color: #83a9db;
  text-decoration: underline;
}

#guideline_page #guideline_requirements {
  background: #ffffff;
}

#guideline_page #guideline_requirements .list {
  border-top: 1px solid #e2e8f4;
}

#guideline_page #guideline_requirements .list > li h3 {
  position: relative;
}

#guideline_page #guideline_requirements .list > li h3::before {
  font-family: "Rubik";
  content: attr(data-num);
  display: inline-block;
  color: #83a9db;
}

#guideline_page #guideline_link #guideline_fulltime {
  color: #FFFFFF;
  background: #4d5760;
}

#guideline_page #guideline_link #guideline_fulltime a {
  color: #FFFFFF;
  background: #4d5760;
}

#guideline_page #guideline_link #guideline_fulltime a:hover {
  box-shadow: 0 0 36px rgba(131, 169, 219, 0.36);
}

#guideline_page #guideline_link #guideline_fulltime h2 {
  position: relative;
}

#guideline_page #guideline_link #guideline_fulltime h2::before {
  font-family: "Rubik";
  content: attr(data-en);
  display: inline-block;
}

#guideline_page #guideline_link #guideline_parttime a {
  background: #FFFFFF;
  color: #4d5760;
}

#guideline_page #guideline_link #guideline_parttime a:hover {
  box-shadow: 0 0 36px rgba(131, 169, 219, 0.12);
}

#guideline_page #guideline_link #guideline_parttime h2 {
  position: relative;
}

#guideline_page #guideline_link #guideline_parttime h2::before {
  font-family: "Rubik";
  content: attr(data-en);
  display: inline-block;
  white-space: nowrap;
  background-image: linear-gradient(to top, #4d5761 0%, #6e849a 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#guideline_detail_page #guideline_detail_title .status {
  background: #FFFFFF;
  color: #83a9db;
  border: 1px solid rgba(131, 169, 219, 0.3);
}

#guideline_detail_page #guideline_detail_title .other_link a {
  color: #83a9db;
  text-decoration: underline;
}

#guideline_detail_page #guideline_detail_guideline {
  background: #FFFFFF;
}

#guideline_detail_page #guideline_detail_guideline h2 {
  position: relative;
}

#guideline_detail_page #guideline_detail_guideline h2::before {
  font-family: "Rubik";
  content: attr(data-en);
  display: inline-block;
  white-space: nowrap;
  background-image: linear-gradient(to top, #4d5761 0%, #6e849a 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#guideline_detail_page #guideline_detail_guideline table td .note {
  color: rgba(77, 87, 96, 0.5);
}

#guideline_detail_page #guideline_detail_guideline table td .list > li {
  position: relative;
}

#guideline_detail_page #guideline_detail_guideline table td .list > li::before {
  content: "";
  background: #83a9db;
  border-radius: 50%;
}

#guideline_detail_page #guideline_detail_step h2 {
  position: relative;
}

#guideline_detail_page #guideline_detail_step h2::before {
  font-family: "Rubik";
  content: attr(data-en);
  display: inline-block;
  white-space: nowrap;
  background-image: linear-gradient(to top, #4d5761 0%, #6e849a 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#guideline_detail_page #guideline_detail_step .step_list > li {
  background: #FFFFFF;
}

#guideline_detail_page #guideline_detail_step .step_list > li .number {
  color: #83a9db;
}

#guideline_detail_page #guideline_detail_step .step_list > li a {
  color: #83a9db;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #footer_entry {
    margin: 40px 0 0;
    background: linear-gradient(to top, #4d5761 150px, transparent 150px);
  }
  #footer_entry > a {
    width: 1280px;
    height: 563px;
    margin: 0 auto;
    border-radius: 64px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
    overflow: hidden;
  }
  #footer_entry > a::before {
    transition: transform var(--hover-arrow-transition-time);
    border-radius: 64px;
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(/common/image/recruit/guideline/cta_entry_fulltime_bg.jpg) no-repeat;
    background-size: cover;
  }
  #footer_entry > a.parttime::before {
    background: url(/common/image/recruit/guideline/cta_entry_parttime_bg.jpg) no-repeat;
    background-size: cover;
  }
  #footer_entry > a .txt {
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    position: relative;
  }
  #footer_entry > a .link {
    margin-top: 40px;
    font-size: 9rem;
    font-weight: 500;
    line-height: 0.9;
    display: inline-flex;
    align-items: center;
    position: relative;
    gap: 30px;
  }
  #footer_entry > a .link::before {
    transition: var(--hover-arrow-transition);
    content: "";
    display: block;
    background: url(/common/image/base/link_arw_w.svg) no-repeat center center/24px 24px;
    width: 104px;
    height: 104px;
    border-radius: 100px;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    opacity: 1;
  }
  #footer_entry > a .link::after {
    transition: var(--hover-arrow-transition);
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    background: url(/common/image/base/link_arw_w.svg) no-repeat center center/24px 24px, linear-gradient(to right, #4984d1, #83a9db);
    width: 104px;
    height: 104px;
    border-radius: 100px;
    box-sizing: border-box;
    border: none;
    opacity: 0;
  }
  #footer_entry > a:hover::before {
    transform: scale(1.05);
  }
  #footer_entry > a:hover .link::before {
    opacity: 0;
  }
  #footer_entry > a:hover .link::after {
    opacity: 1;
  }
  #guideline_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 500px), linear-gradient(86deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding-top: 115px;
  }
  #guideline_page #guideline_title_area {
    width: 1280px;
    margin: 0 auto;
  }
  #guideline_page #guideline_title_area .retio {
    font-size: 1.8rem;
    font-weight: 500;
  }
  #guideline_page #guideline_title_area h1 {
    font-size: 4.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.2;
    margin-top: 12px;
  }
  #guideline_page #guideline_title_area .link {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 0 45px;
  }
  #guideline_page #guideline_title_area .link a {
    font-size: 1.4rem;
    letter-spacing: 0.06em;
  }
  #guideline_page #guideline_requirements {
    margin: 35px auto 0 0;
    width: calc(50% + 640px);
    border-radius: 0 20px 20px 0;
    padding: 115px 0 160px;
  }
  #guideline_page #guideline_requirements .contents {
    width: 1080px;
    margin: 0 auto;
  }
  #guideline_page #guideline_requirements .contents .data_area {
    display: flex;
    justify-content: space-between;
    padding-bottom: 80px;
  }
  #guideline_page #guideline_requirements .contents .data_area h2 {
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.5;
  }
  #guideline_page #guideline_requirements .contents .data_area .txt_area {
    width: 610px;
  }
  #guideline_page #guideline_requirements .contents .data_area .txt_area .txt {
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    line-height: 1.75;
    margin-top: 33px;
  }
  #guideline_page #guideline_requirements .contents .data_area .txt_area .txt:nth-of-type(1) {
    margin-top: 0;
  }
  #guideline_page #guideline_requirements .contents .list {
    padding-top: 80px;
    display: grid;
    gap: 0 60px;
    grid-template-columns: 1fr 1fr 1fr;
  }
  #guideline_page #guideline_requirements .contents .list > li {
    width: 320px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  #guideline_page #guideline_requirements .contents .list > li .image img {
    border-radius: 6px;
  }
  #guideline_page #guideline_requirements .contents .list > li h3 {
    margin-top: 50px;
    font-size: 1.8rem;
    font-weight: 600;
  }
  #guideline_page #guideline_requirements .contents .list > li h3::before {
    position: absolute;
    top: -25px;
    left: 0;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
  }
  #guideline_page #guideline_requirements .contents .list > li .txt {
    margin-top: 30px;
    font-size: 1.5rem;
    line-height: 1.6;
  }
  #guideline_page #guideline_link {
    margin: 160px auto 0;
    width: 1280px;
    display: grid;
    gap: 0 40px;
    grid-template-columns: 1fr 1fr;
  }
  #guideline_page #guideline_link > li {
    display: contents;
  }
  #guideline_page #guideline_link > li > a {
    padding: 120px 75px 95px;
    width: 620px;
    border-radius: 20px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  #guideline_page #guideline_link > li h2 {
    display: flex;
    align-items: center;
    gap: 0 18px;
  }
  #guideline_page #guideline_link > li h2::before {
    font-size: 1.6rem;
    position: absolute;
    top: -20px;
    left: 0;
    font-weight: 500;
  }
  #guideline_page #guideline_link > li h2 .name {
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
  }
  #guideline_page #guideline_link > li h2 .guideline {
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.12em;
  }
  #guideline_page #guideline_link > li .txt {
    margin-top: 37px;
    font-size: 1.6rem;
    line-height: 1.875;
  }
  #guideline_page #guideline_link > li .link {
    margin-top: 40px;
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 50px;
    padding-left: 60px;
  }
  #guideline_page #guideline_link > li .link::before {
    transition: var(--hover-arrow-transition);
    content: "";
    width: 50px;
    height: 50px;
    background: url(/common/image/base/link_arw2_w.png) no-repeat;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 1;
  }
  #guideline_page #guideline_link > li .link::after {
    transition: var(--hover-arrow-transition);
    content: "";
    width: 50px;
    height: 50px;
    background: url(/common/image/base/link_arw_hover.png) no-repeat;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
  }
  #guideline_page #guideline_link > li#guideline_parttime .link::before {
    background: url(/common/image/base/link_arw2.png) no-repeat;
  }
  #guideline_page #guideline_link > li a:hover .link {
    margin-top: 40px;
  }
  #guideline_page #guideline_link > li a:hover .link::before {
    opacity: 0;
  }
  #guideline_page #guideline_link > li a:hover .link::after {
    opacity: 1;
  }
  #guideline_detail_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 500px), linear-gradient(86deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding-top: 115px;
  }
  #guideline_detail_page #guideline_detail_title {
    width: 1280px;
    margin: 0 auto;
  }
  #guideline_detail_page #guideline_detail_title .title_area {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 0 20px;
  }
  #guideline_detail_page #guideline_detail_title .title_area .retio {
    font-size: 1.8rem;
    font-weight: 500;
  }
  #guideline_detail_page #guideline_detail_title .title_area h1 {
    font-size: 4.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.2;
  }
  #guideline_detail_page #guideline_detail_title .title_area .status {
    display: inline-block;
    padding: 8px 22px 10px;
    line-height: 1;
    border-radius: 45px;
    border-width: 2px;
    font-size: 1.6rem;
  }
  #guideline_detail_page #guideline_detail_title .other_link {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 0 45px;
  }
  #guideline_detail_page #guideline_detail_title .other_link a {
    font-size: 1.4rem;
    letter-spacing: 0.06em;
  }
  #guideline_detail_page #guideline_detail_guideline {
    width: calc(50% + 640px);
    padding: 125px 0 160px 80px;
    margin: 40px auto 0 0;
    border-radius: 0 20px 20px 0;
  }
  #guideline_detail_page #guideline_detail_guideline .contents {
    margin: 0 auto;
    width: 930px;
  }
  #guideline_detail_page #guideline_detail_guideline h2 {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    position: relative;
  }
  #guideline_detail_page #guideline_detail_guideline h2::before {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
  }
  #guideline_detail_page #guideline_detail_guideline table {
    border-top: 1px solid #eeeeee;
    margin-top: 60px;
  }
  #guideline_detail_page #guideline_detail_guideline table th,
  #guideline_detail_page #guideline_detail_guideline table td {
    vertical-align: top;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
  }
  #guideline_detail_page #guideline_detail_guideline table th {
    padding: 27px 20px 27px 40px;
    width: 250px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  #guideline_detail_page #guideline_detail_guideline table td {
    padding-top: 27px;
    padding-bottom: 27px;
    font-size: 1.6rem;
  }
  #guideline_detail_page #guideline_detail_guideline table td em {
    font-style: normal;
    font-weight: 500;
  }
  #guideline_detail_page #guideline_detail_guideline table td .list > li {
    margin-top: 3px;
    padding-left: 16px;
  }
  #guideline_detail_page #guideline_detail_guideline table td .list > li::before {
    width: 7px;
    height: 7px;
    position: absolute;
    left: 0;
    top: 9px;
  }
  #guideline_detail_page #guideline_detail_guideline table td .list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #guideline_detail_page #guideline_detail_guideline table td .txt {
    margin-top: 22px;
    line-height: 1.75;
  }
  #guideline_detail_page #guideline_detail_guideline table td .txt2 {
    margin-top: 10px;
    font-size: 1.5rem;
    line-height: 1.73;
  }
  #guideline_detail_page #guideline_detail_guideline table td .note {
    margin-top: 16px;
    font-size: 1.4rem;
    line-height: 1.71;
  }
  #guideline_detail_page #guideline_detail_guideline table td .allowances {
    margin-top: 25px;
  }
  #guideline_detail_page #guideline_detail_guideline table td > *:nth-child(1) {
    margin-top: 0;
  }
  #guideline_detail_page #guideline_detail_step {
    width: 1200px;
    margin: 160px auto 0;
    display: flex;
    justify-content: space-between;
  }
  #guideline_detail_page #guideline_detail_step h2 {
    margin-top: 25px;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.5;
  }
  #guideline_detail_page #guideline_detail_step h2::before {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    position: absolute;
    top: -20px;
    left: 0;
  }
  #guideline_detail_page #guideline_detail_step .step_list {
    width: 845px;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li {
    margin-top: 28px;
    border-radius: 12px;
    padding: 50px 50px 48px 50px;
    display: flex;
    position: relative;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li::before {
    content: "";
    width: 1px;
    position: absolute;
    left: 60px;
    bottom: -24px;
    height: 21px;
    border-left: 4px dotted #83a9db;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li:last-child::before {
    display: none;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li .number {
    font-size: 1.6rem;
    font-family: "Rubik";
    width: 45px;
    flex-shrink: 0;
    margin-top: 4px;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li h3 {
    font-size: 2rem;
    font-weight: 600;
    width: 200px;
    flex-shrink: 0;
  }
  #guideline_detail_page #guideline_detail_step .step_list > li .txt {
    font-size: 1.5rem;
    line-height: 1.73;
    padding-left: 50px;
    border-left: 1px solid #e4e8f4;
  }
}
