@media screen and (max-width: 767.999px) {
  .btn a {
    font-size: 1.6rem;
    width: 270px;
    padding: 16px 0 17px;
    border-radius: 30px;
  }
  .btn a::after {
    position: absolute;
    top: 50%;
    right: 22px;
  }
  h2 span.ja {
    font-size: 2.8rem;
  }
  h2 span.en, h2 span.roboto {
    font-size: 1.4rem;
    margin-top: 17px;
  }
  header #sp_open_menu {
    background: rgba(117, 76, 0, 0.8);
  }
  #top_main_img_area {
    background: url(../img/partner_index/mv_sp.jpg) no-repeat;
    background-position: bottom center;
    background-size: cover;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
    padding-top: 195px;
  }
  #top_main_img_area #main_copy {
    width: 300px;
    margin: 0 auto;
  }
  #top_main_img_area #sub_copy {
    margin-top: 15px;
    font-size: 1.5rem;
    line-height: 1.87;
  }
  #top_main_img_area .btn a {
    margin: 33px auto 0;
  }
  #top_main_img_area #main_side_navi {
    width: 60px;
    margin: 45px 0 0 auto;
  }
  #pickup {
    padding: 60px 30px 60px;
  }
  #pickup ul {
    margin: 36px auto 0;
  }
  #pickup ul li {
    margin-top: 15px;
  }
  #pickup ul li img {
    width: 100%;
    height: auto;
  }
  #pickup ul li:nth-of-type(1) {
    margin-top: 0;
  }
  #academy {
    padding: 70px 30px 100px;
    background: url(../img/partner_index/academy_bg_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  #academy .about_academy_area {
    display: flex;
    flex-direction: column;
  }
  #academy .about_academy_area .system {
    font-size: 1.6rem;
    padding: 9px 0 8px;
    width: 300px;
    text-align: center;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #academy .about_academy_area h2 {
    order: 1;
    margin-top: 11px;
  }
  #academy .about_academy_area .about_academy {
    order: 3;
  }
  #academy .about_academy_area .happi {
    order: 2;
    margin-top: -27px;
  }
  #academy .about_academy_contents h3 {
    font-size: 2.4rem;
  }
  #academy .about_academy_contents .txt {
    margin-top: 30px;
    line-height: 1.71;
  }
  #academy .about_academy_contents .btn a {
    margin: 29px auto 0;
  }
  #academy .helmet_area {
    margin-top: 70px;
    padding: 35px 10px 45px;
    text-align: center;
  }
  #academy .helmet_area .image {
    width: 217px;
    margin: 0 auto;
  }
  #academy .helmet_area .helmet_description {
    margin-top: 35px;
  }
  #academy .helmet_area .helmet_description h3 {
    font-size: 2.1rem;
    line-height: 1.43;
  }
  #academy .helmet_area .helmet_description h3 span {
    font-size: 1.35rem;
  }
  #academy .helmet_area .helmet_description .txt {
    margin-top: 30px;
    line-height: 1.71;
  }
  #academy .helmet_area .helmet_description .btn a {
    margin: 35px auto 0;
  }
  #top_anniversary_area {
    background: #FFFFFF url(../img/client_index/100th_img.png) no-repeat;
    padding: calc(76.7% + 75px) 30px 113px;
    background-position: right 49px;
    background-size: calc(100vw - 30px) auto;
    position: relative;
  }
  #top_anniversary_area h2 {
    position: relative;
  }
  #top_anniversary_area h2::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 1px;
    background: #a37e39;
    top: -40px;
    left: 0;
  }
  #top_anniversary_area::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 1px;
    background: #a37e39;
    bottom: 73px;
    left: 30px;
  }
  #about {
    padding: 75vw 30px 55px;
    background: #242524 url(../img/client_index/about_bg_sp.jpg) no-repeat;
    background-size: 100% auto;
    background-position: top center;
    position: relative;
    text-align: center;
  }
  #about h2 {
    position: absolute;
    top: 6vw;
    left: 0;
    right: 0;
    text-align: center;
  }
  #about .about_area h3 {
    font-size: 2.4rem;
    line-height: 1.33;
  }
  #about .about_area .txt {
    margin-top: 24px;
    line-height: 1.71;
    text-align: left;
  }
  #about .about_area .btn a {
    margin: 34px auto 0;
  }
  #about .vr_area {
    margin-top: 52px;
    border: 3px solid #FFFFFF;
    display: flex;
    background: url(../img/client_index/bnr_360vr.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    flex-direction: column;
    aspect-ratio: 1.43;
  }
  #about .vr_area h4 {
    line-height: 1.25;
    text-align: center;
    font-weight: 600;
  }
  #about .vr_area h4 .office {
    font-size: 2.1rem;
  }
  #about .vr_area h4 .num {
    font-size: 3.5rem;
  }
  #about .vr_area h4 .tour {
    font-size: 2.8rem;
  }
  #about .vr_area .btn a {
    margin-top: 12px;
  }
  #sustainability {
    padding: 58px 30px 60px;
  }
  #sustainability h2 .en {
    margin-top: 15px;
  }
  #sustainability ul {
    margin: 38px auto 0;
  }
  #sustainability ul li {
    margin-top: 15px;
  }
  #sustainability ul li img {
    width: 100%;
    height: auto;
  }
  #sustainability ul li:nth-of-type(1) {
    margin-top: 0;
  }
  #project {
    padding: 60px 30px 80px;
  }
  #project ul.result_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
  }
  #project ul.result_list > li {
    width: calc(50% - 7px);
    margin-top: 20px;
  }
  #project ul.result_list > li img {
    width: 100%;
    height: auto;
  }
  #project ul.result_list > li .data {
    padding: 13px 15px 25px;
  }
  #project ul.result_list > li .data ul.place {
    flex-wrap: wrap;
  }
  #project ul.result_list > li .data ul.place > li {
    padding: 0 5px;
    font-size: 1.3rem;
    box-sizing: border-box;
    line-height: 1.1;
  }
  #project ul.result_list > li .data ul.place > li:nth-of-type(1) {
    padding-left: 0;
  }
  #project ul.result_list > li h3.name {
    margin-top: 15px;
    font-size: 2rem;
    line-height: 1.4;
  }
  #project ul.result_list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #project ul.result_list > li:nth-of-type(1), #project ul.result_list > li:nth-of-type(2), #project ul.result_list > li:nth-of-type(3) {
    width: 100%;
  }
  #project ul.result_list > li:nth-of-type(4) .image, #project ul.result_list > li:nth-of-type(5) .image, #project ul.result_list > li:nth-of-type(6) .image, #project ul.result_list > li:nth-of-type(7) .image {
    aspect-ratio: 280/150;
  }
  #project ul.result_list > li:nth-of-type(4) .image img, #project ul.result_list > li:nth-of-type(5) .image img, #project ul.result_list > li:nth-of-type(6) .image img, #project ul.result_list > li:nth-of-type(7) .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #project ul.result_list > li:nth-of-type(4) .place > li, #project ul.result_list > li:nth-of-type(5) .place > li, #project ul.result_list > li:nth-of-type(6) .place > li, #project ul.result_list > li:nth-of-type(7) .place > li {
    padding-left: 0;
  }
  #project ul.result_list > li:nth-of-type(4) .place > li:nth-of-type(2), #project ul.result_list > li:nth-of-type(5) .place > li:nth-of-type(2), #project ul.result_list > li:nth-of-type(6) .place > li:nth-of-type(2), #project ul.result_list > li:nth-of-type(7) .place > li:nth-of-type(2) {
    width: 100%;
    padding: 0;
  }
  #project ul.result_list > li:nth-of-type(4) h3.name, #project ul.result_list > li:nth-of-type(5) h3.name, #project ul.result_list > li:nth-of-type(6) h3.name, #project ul.result_list > li:nth-of-type(7) h3.name {
    font-size: 1.4rem;
    line-height: 1.57;
  }
  #project .btn a {
    margin: 37px auto 0;
  }
  #top_movie_area {
    padding: 75px 30px 90px;
    text-align: center;
  }
  #top_movie_area h2 {
    font-size: 2.4rem;
    font-weight: 500;
  }
  #top_movie_area .description {
    margin-top: 25px;
    line-height: 1.71;
  }
  #top_movie_area .name_area {
    margin-top: 5px;
    font-size: 12px;
    display: flex;
    justify-content: center;
  }
  #top_movie_area .name_area .person {
    margin-left: 1em;
  }
  #top_movie_area .moview_wrapper {
    margin-top: 25px;
  }
  #top_movie_area .moview_wrapper iframe {
    aspect-ratio: 16 / 9;
  }
}
