@media screen and (max-width: 767.99px) {
  #top_mv .text_wrap {
    padding: 0 32px 57px;
  }
  #top_mv .text_wrap h2 {
    font-size: 32px;
    line-height: 1.5;
    margin: 0 0 22px;
    font-weight: 500;
  }
  #top_mv .text_wrap p {
    font-size: 15px;
    letter-spacing: 0.18em;
    margin: 0;
    font-weight: 500;
  }
  #top_mv .img_wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 750/600;
    position: relative;
    margin: 0 0 30px;
  }
  #top_mv .img_wrap .mv_img1 {
    position: absolute;
    inset: 30px auto auto 10px;
    width: 44%;
    height: auto;
  }
  #top_mv .img_wrap .mv_img2 {
    position: absolute;
    inset: 0 0 auto auto;
    width: 50%;
    height: auto;
  }
  #top_mv .wave_area {
    position: absolute;
    z-index: -1;
    inset: 0;
  }
  #top_mv .wave_area .wave_area_inner {
    width: 100%;
    height: 100%;
    position: relative;
  }
  #top_mv .wave_area .wave_area_inner img {
    position: absolute;
    width: 100%;
    height: auto;
    inset: 245px 0 auto 0;
  }
  #top_post {
    padding: 44px 32px 80px;
    display: flex;
    flex-direction: column;
  }
  #top_post .left_side {
    display: contents;
  }
  #top_post h2 {
    order: 1;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 9px;
    padding: 0;
    position: relative;
    z-index: 100;
  }
  #top_post h2 .sub {
    color: #d46a0d;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.02em;
    display: block;
    margin-top: 5px;
  }
  #top_post .archive_link {
    order: 3;
    font-size: 13px;
    text-decoration: underline;
    text-underline-offset: 4px;
    display: flex;
    align-items: center;
    column-gap: 7px;
    font-weight: 500;
    margin-left: auto;
    padding-right: 3px;
    letter-spacing: 0.04em;
  }
  #top_post .archive_link::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: #d46a0d 2px solid;
    border-bottom: #d46a0d 2px solid;
    transform: rotate(-45deg);
  }
  #top_post .right_side {
    order: 2;
  }
  #top_post .right_side .post_list {
    list-style: none;
    margin: 0 0 37px;
    padding: 0;
  }
  #top_post .right_side .post_list li {
    border-bottom: 1px solid #ffffff;
    position: relative;
  }
  #top_post .right_side .post_list li::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #d9d4ce;
    position: absolute;
    inset: auto 0 0 0;
  }
  #top_post .right_side .post_list li a {
    padding: 23px 0 20px;
    text-decoration: none;
    display: block;
  }
  #top_post .right_side .post_list li a .date {
    font-size: 13px;
    color: #b7ada0;
    margin: 0 0 10px;
    letter-spacing: 0.08em;
    font-weight: 500;
  }
  #top_post .right_side .post_list li a .title {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    letter-spacing: 0.12em;
    font-weight: 500;
  }
  #top_about_us {
    background: url("../img/common/gradation/sp/bg_top_aboutus_gradation.jpg") no-repeat;
    background-size: cover;
    padding: 76px 0 0;
    position: relative;
  }
  #top_about_us h2 {
    font-size: 27px;
    font-weight: 500;
    color: #1b434d;
    line-height: 1.5;
    margin: 0 auto 46px;
    padding: 0 32px;
    position: relative;
    z-index: 100;
  }
  #top_about_us h2 .sub {
    color: #d46a0d;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.04em;
    display: block;
    margin-bottom: 5px;
  }
  #top_about_us .text_area {
    padding: 0 32px 80px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
  }
  #top_about_us .text_area p {
    font-size: 14px;
    color: #1b434d;
    margin: 0 0 21px;
    line-height: 2;
    letter-spacing: 0.12em;
    font-feature-settings: "palt";
    font-weight: 400;
  }
  #top_about_us .text_area p:nth-last-of-type(1) {
    margin-bottom: 30px;
  }
  #top_about_us .img_wrap {
    aspect-ratio: 750 / 1170;
    width: 100%;
    height: auto;
    position: relative;
  }
  #top_about_us .img_wrap .about_img1 {
    width: 48%;
    height: auto;
    position: absolute;
    inset: 0 0 auto auto;
  }
  #top_about_us .img_wrap .about_img2 {
    width: 37%;
    height: auto;
    position: absolute;
    inset: 21.3% auto auto 0;
  }
  #top_about_us .img_wrap .about_img3 {
    width: 61.5%;
    height: auto;
    position: absolute;
    inset: 60.4% 32px auto auto;
  }
  #top_business {
    padding: 85px 0 80px;
  }
  #top_business .philosophy h2 {
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 25px;
    padding: 0 32px;
    position: relative;
    z-index: 100;
  }
  #top_business .philosophy h2 .sub {
    color: #d46a0d;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.02em;
    display: block;
    margin-top: 4px;
  }
  #top_business .philosophy .text_wrap {
    margin: 0 auto 75px;
    padding: 0 32px;
  }
  #top_business .philosophy .text_wrap h3 {
    font-size: 27px;
    color: #1b434d;
    line-height: 1.6;
    margin: 0 0 35px;
    font-weight: 500;
  }
  #top_business .philosophy .text_wrap p {
    font-size: 14px;
    line-height: 2;
    margin: 0;
    font-feature-settings: "palt";
    letter-spacing: 0.12em;
    font-weight: 400;
  }
  #top_business .business_list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #top_business .business_list li {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 58px;
  }
  #top_business .business_list li:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  #top_business .business_list li picture {
    width: 91.6%;
    margin-right: auto;
  }
  #top_business .business_list li picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  #top_business .business_list li .text_wrap {
    padding: 0 20px;
    margin-bottom: 50px;
  }
  #top_business .business_list li .text_wrap .index {
    display: block;
    color: #b7ada0;
    border-bottom: 1px solid #d9d4ce;
    padding-bottom: 12px;
    font-size: 15px;
    letter-spacing: 0.04em;
    margin-bottom: 33px;
    width: 100%;
    text-align: right;
    position: relative;
  }
  #top_business .business_list li .text_wrap .index::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #ffffff;
    position: absolute;
    inset: auto 0 -2px 0;
  }
  #top_business .business_list li .text_wrap h3 {
    font-size: 27px;
    font-weight: 500;
    color: #1b434d;
    letter-spacing: 0.12em;
    line-height: 1.5;
    margin: 0 auto 12px;
    padding: 0 10px;
    position: relative;
    z-index: 100;
  }
  #top_business .business_list li .text_wrap h3 .sub {
    color: #d46a0d;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.04em;
    display: block;
    margin-bottom: 5px;
  }
  #top_business .business_list li .text_wrap .name {
    padding-left: calc(10px + 1em);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: #1b434d;
    position: relative;
  }
  #top_business .business_list li .text_wrap .name::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #d46a0d;
    position: absolute;
    inset: 50% auto auto 10px;
    transform: translateY(-50%);
  }
  #top_business .business_list li .text_wrap p {
    font-feature-settings: "palt";
    font-size: 14px;
    color: #1b434d;
    line-height: 2;
    margin: 20px auto 38px;
    padding: 0 4px 0 10px;
    font-weight: 400;
  }
  #top_business .business_list li .text_wrap .link_button {
    margin-left: 10px;
  }
  #top_business .business_list li:nth-of-type(2n) picture {
    margin: 0 0 0 auto;
  }
  #top_contact {
    background: #ffffff;
    margin: 0 20px;
    padding: 70px 12px 35px;
    box-sizing: border-box;
  }
  #top_contact h2 {
    font-weight: 500;
    font-size: 27px;
    color: #1b434d;
    line-height: 1.6;
    margin: 0 0 27px;
    padding: 0 28px;
  }
  #top_contact p {
    font-size: 13px;
    font-feature-settings: "palt";
    line-height: 2;
    margin-bottom: 32px;
    padding: 0 28px;
    font-weight: 400;
  }
  #top_contact .link_button {
    width: 170px;
    height: 50px;
    font-size: 14px;
    padding-left: 27px;
    margin: 0 0 37px 24px;
  }
  #top_contact img {
    width: 100%;
    height: auto;
  }
  #top_staff .contents_wrap {
    margin: 49px auto 71px;
    padding: 85px 0 86px;
    position: relative;
    background: url("../img/top/sp/staff.png") no-repeat;
    background-size: cover;
  }
  #top_staff .contents_wrap h2 {
    font-size: 24px;
    font-weight: 500;
    color: #1b434d;
    line-height: 1.5;
    margin: 0 auto 32px;
    position: relative;
    z-index: 100;
    text-align: center;
    letter-spacing: normal;
  }
  #top_staff .contents_wrap h2 .sub {
    color: #d46a0d;
    font-size: 17px;
    font-weight: 500;
    display: block;
    margin-top: 1px;
    letter-spacing: 0.04em;
  }
  #top_staff .contents_wrap #top_staff_swiper {
    padding-bottom: 30px;
    margin-bottom: 30px;
    box-sizing: border-box;
  }
  #top_staff .contents_wrap #top_staff_swiper ul {
    list-style: none;
    margin: 0 auto 7px;
    padding: 0;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li {
    padding: 0 30px;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li a {
    text-decoration: none;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li a img {
    width: 100%;
    height: auto;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li a h3 {
    color: #1b434d;
    margin: 15px 0 0;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li a h3 .job {
    font-size: 12px;
    display: block;
    margin-bottom: 8px;
  }
  #top_staff .contents_wrap #top_staff_swiper ul li a h3 .name {
    font-size: 20px;
    font-weight: 600;
  }
  #top_staff .contents_wrap #top_staff_swiper .swiper-pagination-bullet {
    background: #ffffff;
    opacity: 1;
    margin: 0 7px;
  }
  #top_staff .contents_wrap #top_staff_swiper .swiper-pagination-bullet-active {
    background: #d46a0d;
  }
  #top_staff .contents_wrap .link_button {
    margin: 0 auto;
  }
  #top_recruit .philosophy {
    padding: 0 32px;
  }
  #top_recruit .philosophy h2 {
    font-size: 24px;
    font-weight: 500;
    color: #1b434d;
    letter-spacing: 0.08em;
    line-height: 1.5;
    margin: 0 auto 21px;
    padding: 0;
    position: relative;
    z-index: 100;
  }
  #top_recruit .philosophy h2 .sub {
    color: #d46a0d;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.04em;
    display: block;
    margin-top: 3px;
  }
  #top_recruit .philosophy .text_wrap {
    margin: 0 auto;
  }
  #top_recruit .philosophy .text_wrap h3 {
    font-size: 27px;
    color: #1b434d;
    line-height: 1.6;
    margin: 0 0 35px;
    min-width: max-content;
    font-weight: 500;
  }
  #top_recruit .philosophy .text_wrap p {
    font-size: 14px;
    line-height: 2;
    margin: 0;
    font-feature-settings: "palt";
    margin-bottom: 40px;
    font-weight: 400;
  }
  #top_recruit .img_wrap {
    aspect-ratio: 750 / 1015;
    position: relative;
    margin: 0 0 40px 0;
    width: 100%;
    height: auto;
    display: block;
  }
  #top_recruit .img_wrap .recruit_img1 {
    position: absolute;
    width: 35.2%;
    height: auto;
    inset: 33.2% auto auto 17px;
  }
  #top_recruit .img_wrap .recruit_img2 {
    position: absolute;
    width: 45.3%;
    height: auto;
    inset: 39% 0 auto auto;
  }
  #top_recruit .img_wrap .recruit_img3 {
    position: absolute;
    width: 45.7%;
    height: auto;
    inset: 72.5% auto auto 0;
  }
  #top_recruit .img_wrap .recruit_wave {
    position: absolute;
    top: 50px;
  }
}
