@media screen and (max-width: 767.999px) {
  #about_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 500px), linear-gradient(88deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding: 140px 0 0;
  }
  #about_page .contents {
    padding: 0 32px;
  }
  #about_page #about_title_area {
    padding: 0;
  }
  #about_page #about_title_area h1 {
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.1em;
  }
  #about_page #about_title_area h1::before {
    font-size: 5.5rem;
    font-weight: 400;
    letter-spacing: 0.024em;
    position: absolute;
    top: -70px;
    left: 0;
  }
  #about_page #about_title_area .description {
    position: relative;
    margin-top: 35px;
    padding-top: 25px;
    font-size: 1.4rem;
    line-height: 1.57;
  }
  #about_page #about_title_area .description::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 1px;
    background: #cccccc;
  }
  #about_page #about_list {
    margin: 75px -16px 0;
  }
  #about_page #about_list > li {
    margin-top: 20px;
    border-radius: 8px;
    padding: 28px 28px 47px 28px;
  }
  #about_page #about_list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #about_page #about_list > li .image img {
    border-radius: 4px;
    width: 100%;
    height: auto;
  }
  #about_page #about_list > li .data {
    margin-top: 55px;
  }
  #about_page #about_list > li .data h2 {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.12em;
  }
  #about_page #about_list > li .data h2::before {
    position: absolute;
    left: 0;
    top: -20px;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
  }
  #about_page #about_list > li .data .txt {
    margin-top: 24px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_page #about_list > li .data .link {
    margin-top: 33px;
  }
  #about_page #about_list > li .data .link a {
    height: 38px;
    display: inline-flex;
    align-items: center;
    padding-left: 50px;
    font-size: 1.4rem;
    position: relative;
  }
  #about_page #about_list > li .data .link a::before {
    content: "";
    width: 38px;
    height: 38px;
    background: url(/common/image/base/link_arw_hover.png) no-repeat;
    position: absolute;
    background-size: cover;
    top: 0;
    left: 0;
  }
  #about_message_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 500px), linear-gradient(88deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding-top: 64px;
  }
  #about_message_page #about_message_title {
    padding: 0 24px;
  }
  #about_message_page #about_message_title h1 {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    padding: 0 8px;
  }
  #about_message_page #about_message_title h1 .retio {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    display: inline-block;
    margin-bottom: 6px;
  }
  #about_message_page #about_message_title .description {
    padding: 0 6px;
    margin-top: 16px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_message_page #about_message_title .image {
    margin-top: 40px;
  }
  #about_message_page #about_message_title .image img {
    border-radius: 8px;
  }
  #about_message_page #about_message_message {
    margin: 80px 12px 0 0;
    padding: 76px 0 68px;
    border-radius: 0 20px 20px 0;
  }
  #about_message_page #about_message_message .message_contents {
    margin: 0 auto;
    padding: 0 24px 0 40px;
  }
  #about_message_page #about_message_message h2 {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.27;
    letter-spacing: 0.1em;
  }
  #about_message_page #about_message_message .data_area {
    margin-top: 30px;
  }
  #about_message_page #about_message_message .data_area .txt {
    font-size: 1.3rem;
    line-height: 1.69;
    margin-top: 25px;
  }
  #about_message_page #about_message_message .data_area .left .txt:nth-of-type(1) {
    margin-top: 0;
  }
  #about_message_page #about_message_message .sign {
    text-align: right;
    margin-top: 45px;
    line-height: 1.4;
  }
  #about_message_page #about_message_message .sign .belong {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
  }
  #about_message_page #about_message_message .sign .name {
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: 0.1em;
  }
  #about_message_page #about_message_ideal {
    margin: 100px auto 0;
    padding: 0 32px;
  }
  #about_message_page #about_message_ideal h2 {
    padding: 20px 0 0;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    position: relative;
  }
  #about_message_page #about_message_ideal h2:before {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
  }
  #about_message_page #about_message_ideal > .list {
    margin: 35px -8px 0;
  }
  #about_message_page #about_message_ideal > .list > li {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 27px 35px;
    border-radius: 8px;
    margin-top: 20px;
  }
  #about_message_page #about_message_ideal > .list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #about_message_page #about_message_ideal > .list > li .number {
    flex-shrink: 0;
    font-size: 1.6rem;
    width: 38px;
    margin-top: 5px;
  }
  #about_message_page #about_message_ideal > .list > li h3 {
    width: calc(100% - 38px);
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.47;
  }
  #about_message_page #about_message_ideal > .list > li .txt {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    font-size: 1.3rem;
    line-height: 1.69;
    border-top: 1px solid #e4e8f4;
  }
  #about_career-support_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 50%), linear-gradient(88deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding-top: 64px;
  }
  #about_career-support_page #about_career-support_title {
    padding: 0 24px;
  }
  #about_career-support_page #about_career-support_title h1 {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    padding: 0 8px;
  }
  #about_career-support_page #about_career-support_title h1 .retio {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    display: inline-block;
    margin-bottom: 6px;
  }
  #about_career-support_page #about_career-support_title .description {
    padding: 0 6px;
    margin-top: 16px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_career-support_page #about_career-support_title .image {
    margin-top: 40px;
  }
  #about_career-support_page #about_career-support_title .image img {
    border-radius: 8px;
  }
  #about_career-support_page #about_career-support_policy {
    margin: 80px 12px 0 0;
    padding: 80px 0 70px;
    border-radius: 0 20px 20px 0;
  }
  #about_career-support_page #about_career-support_policy .policy_contents_wapper {
    margin: 0 auto;
    padding: 0 20px 0 32px;
  }
  #about_career-support_page #about_career-support_policy .policy_contents h2 {
    margin: 0 8px;
    padding: 20px 0 0;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    position: relative;
  }
  #about_career-support_page #about_career-support_policy .policy_contents h2:before {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .image {
    margin-top: 30px;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .image img {
    border-radius: 5px;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .data_area {
    padding: 0 8px;
    margin-top: 40px;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .data_area h3 {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .data_area .txt_area {
    margin-top: 27px;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .data_area .txt_area .txt {
    margin-top: 25px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_career-support_page #about_career-support_policy .policy_contents .data_area .txt_area .txt:nth-of-type(1) {
    margin-top: 0;
  }
  #about_career-support_page #about_career-support_policy_important {
    margin: 80px 4px 0 -8px;
  }
  #about_career-support_page #about_career-support_policy_important h3 {
    padding-left: 17px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.47;
    letter-spacing: 0.1em;
    position: relative;
  }
  #about_career-support_page #about_career-support_policy_important h3::before {
    position: absolute;
    width: 8px;
    height: 8px;
    top: 10px;
    left: 0;
  }
  #about_career-support_page #about_career-support_policy_important > .list {
    margin-top: 32px;
  }
  #about_career-support_page #about_career-support_policy_important > .list > li {
    margin-top: 18px;
    padding: 35px 27px 45px;
    border-radius: 8px;
  }
  #about_career-support_page #about_career-support_policy_important > .list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #about_career-support_page #about_career-support_policy_important > .list > li .number {
    font-size: 1.6rem;
  }
  #about_career-support_page #about_career-support_policy_important > .list > li h4 {
    margin-top: 13px;
    font-size: 1.6rem;
    font-weight: 600;
  }
  #about_career-support_page #about_career-support_policy_important > .list > li .txt {
    margin-top: 35px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_career-support_page #about_career-support_carrreup {
    background-image: linear-gradient(to bottom, transparent, white 500px);
    padding-top: 100px;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents {
    position: relative;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents::before {
    content: "";
    position: absolute;
    transform: skewY(var(--bg-skew-deg));
    margin-top: calc(tan(var(--bg-skew-deg)) * 100% / 2);
    top: calc(100% + 60px);
    left: 0;
    right: 0;
    height: 2000px;
    background-image: linear-gradient(to top, white 10px, rgba(255, 255, 255, 0.7)), linear-gradient(45deg, rgba(68, 119, 171, 0.8) 0%, rgba(211, 217, 219, 0.8) 36%, rgba(192, 213, 240, 0.8) 90%, rgba(255, 219, 219, 0.8) 100%);
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents::after {
    content: "";
    position: absolute;
    transform: skewY(var(--bg-skew-deg));
    margin-top: calc(tan(var(--bg-skew-deg)) * 100% / 2);
    top: calc(100% + 60px + 2000px - 5px);
    left: 0;
    right: 0;
    height: 10px;
    background: #ffffff;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents h2 {
    margin: 0 32px;
    padding: 20px 0 0;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    position: relative;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents h2:before {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .image_scroll {
    margin-top: 20px;
    margin-left: 24px;
    overflow-x: scroll;
    padding-bottom: 20px;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .image_scroll .scroll-hint-icon {
    background: rgba(0, 0, 0, 0.45);
    top: calc(50% - 55px);
    transform: translateX(-12px);
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .image_scroll img {
    width: 800px;
    height: auto;
    max-width: none;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .data_area {
    margin-top: 50px;
    padding-right: 32px;
    text-align: right;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .data_area h3 {
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.47;
    letter-spacing: 0.12em;
  }
  #about_career-support_page #about_career-support_carrreup > .career-support_contents .data_area .txt {
    margin-top: 20px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents {
    position: relative;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .career-support_contents {
    padding: 0 32px;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .position {
    font-size: 1.3rem;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents h3 {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 3px;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents h3 .name {
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .image {
    margin: 30px auto 0;
    width: 71.83%;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history {
    margin: 50px -8px 0;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li {
    margin-top: 25px;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li:nth-of-type(1) {
    margin-top: 0;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dt span {
    width: 82px;
    border-radius: 45px;
    padding: 9px 0;
    font-size: 1.4rem;
    text-align: center;
    display: inline-block;
    line-height: 1;
    font-weight: 500;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd {
    margin-top: 25px;
    padding-left: 43px;
    padding-bottom: 8px;
    position: relative;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd::before {
    content: "";
    position: absolute;
    width: 1px;
    top: 5px;
    bottom: 0;
    left: 15px;
    background: #83a9db;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd .date {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.2;
    position: relative;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd .date::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #83a9db;
    left: -35px;
    top: 0;
    z-index: 3;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd .date::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ffffff;
    left: -31px;
    top: 4px;
    z-index: 4;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd h4 {
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.47;
    letter-spacing: 0.08em;
    margin-top: 8px;
  }
  #about_career-support_page #about_career-support_carrreup .about_career-support_carrreup_contents .history > li .step dd .txt {
    font-size: 1.3rem;
    line-height: 1.69;
    letter-spacing: 0.05em;
    margin-top: 16px;
  }
  #about_career-support_page #about_career-support_carrreup #about_career-support_carrreup_1 {
    margin-top: 140px;
  }
  #about_career-support_page #about_career-support_carrreup #about_career-support_carrreup_2 {
    margin-top: 75px;
  }
  #about_survey_page {
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0.7) 500px), linear-gradient(88deg, #8faac2 0%, #d3d9db 24%, #c0d5f0 74%, #e8d8e4 100%);
    padding-top: 64px;
  }
  #about_survey_page #about_survey_title {
    padding: 0 24px;
  }
  #about_survey_page #about_survey_title h1 {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    padding: 0 8px;
  }
  #about_survey_page #about_survey_title h1 .retio {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    display: inline-block;
    margin-bottom: 6px;
  }
  #about_survey_page #about_survey_title .description {
    padding: 0 6px;
    margin-top: 16px;
    font-size: 1.3rem;
    line-height: 1.69;
  }
  #about_survey_page #about_survey_title .image {
    margin-top: 40px;
  }
  #about_survey_page #about_survey_title .image img {
    border-radius: 8px;
  }
  #about_survey_page #about_survey_info {
    margin: 80px 12px 0 0;
    padding: 75px 24px 70px;
    border-radius: 0 20px 20px 0;
  }
  #about_survey_page #about_survey_info > section#about_survey_private {
    margin-top: 75px;
  }
  #about_survey_page #about_survey_info > section h2 {
    font-size: 1.9rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-left: 17px;
    position: relative;
  }
  #about_survey_page #about_survey_info > section h2::before {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #about_survey_page #about_survey_info > section .list {
    margin-top: 35px;
  }
  #about_survey_page #about_survey_info > section .list > li {
    margin-top: 20px;
    border-radius: 4px;
    background: url(/common/image/recruit/about/survey/survey_bg.png) repeat center;
    background-size: 30px;
  }
  #about_survey_page #about_survey_info > section .list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #about_survey_page #about_survey_info > section .list > li dl {
    position: relative;
  }
  #about_survey_page #about_survey_info > section .list > li dl dt {
    border-radius: 4px 0 4px 0;
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    padding: 8px 18px;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
  }
  #about_survey_page #about_survey_info > section .list > li dl dd {
    aspect-ratio: 348/298;
  }
  #about_survey_page #about_survey_info > section .list > li dl dd img {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  #about_survey_page #about_survey_challenging {
    padding-top: 95px;
    overflow: hidden;
  }
  #about_survey_page #about_survey_challenging h2 {
    margin: 0 auto;
    font-size: 1.9rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-left: 40px;
    position: relative;
  }
  #about_survey_page #about_survey_challenging h2::before {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper {
    margin-top: 40px;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li {
    width: 240px;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li.swiper-slide {
    height: auto;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li .item {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li .voice {
    flex-grow: 1;
    padding: 37px 28px 35px;
    border-radius: 6px;
    border: 1px solid #e4e8f4;
    font-size: 1.3rem;
    line-height: 1.69;
    position: relative;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li .voice::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 15px 11px 0 11px;
    border-color: #e4e8f4 transparent transparent;
    translate: -50% 100%;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li .voice::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 13.3px 9.8px 0 9.8px;
    border-color: #ffffff transparent transparent;
    translate: -50% 100%;
  }
  #about_survey_page #about_survey_challenging #about_survey_swiper li .person {
    margin-top: 30px;
    text-align: center;
  }
}
