#wrapper {
  background: #000000;
  color: #FFFFFF;
}

.btn a {
  width: 240px;
  font-size: 1.04rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 0 13px;
  border-radius: 45px;
  position: relative;
  background-image: -moz-linear-gradient(0deg, #003b87 0%, #0092ee 100%);
  background-image: -webkit-linear-gradient(0deg, #003b87 0%, #0092ee 100%);
  background-image: -ms-linear-gradient(0deg, #003b87 0%, #0092ee 100%);
}

.btn a::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-right: 1px solid #FFFFFF;
  border-top: 1px solid #FFFFFF;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}

.btn.btn_center a {
  margin-left: auto;
  margin-right: auto;
}

h2 {
  text-align: center;
}

h2 span {
  font-weight: 600;
}

h2 span.en, h2 span.roboto, h2 span.ja {
  display: block;
  line-height: 1;
}

h2 span.ja {
  font-size: 2.13rem;
}

h2 span.en, h2 span.roboto {
  margin-top: 13px;
  font-size: 1.07rem;
  color: #a37e39;
}

#pickup {
  background-image: -moz-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
  background-image: -webkit-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
  background-image: -ms-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
  position: relative;
  z-index: 5;
}

#academy .about_academy_area {
  text-align: center;
}

#academy .about_academy_area .system {
  background: rgba(144, 144, 144, 0.75);
  display: block;
  line-height: 1;
  font-weight: bold;
  margin: 0 auto;
}

#academy .about_academy_area .about_academy_contents .sub_title_area {
  display: inline-block;
  text-align: center;
}

#academy .about_academy_area .about_academy_contents .sub_title_area h3 {
  color: #c3a46a;
  display: block;
  line-height: 1;
}

#academy .helmet_area {
  background: rgba(0, 0, 0, 0.6);
}

#academy .helmet_area h3 {
  color: #c3a46a;
}

#top_anniversary_area_wrapper {
  background: #FFFFFF;
  color: #000000;
}

#project {
  background-image: -moz-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
  background-image: -webkit-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
  background-image: -ms-linear-gradient(90deg, #002d87 0%, #001a4f 100%);
}

#project ul.result_list {
  display: flex;
  flex-wrap: wrap;
}

#project ul.result_list > li {
  background: #FFFFFF;
}

#project ul.result_list > li ul {
  display: flex;
}

#project ul.result_list > li ul li {
  color: #002e8c;
  border-right: 1px solid #002e8c;
}

#project ul.result_list > li ul li:nth-of-type(1) {
  padding-left: 0;
}

#project ul.result_list > li ul li:nth-of-type(2) {
  border-right: none;
}

#project ul.result_list > li .place a {
  color: #002e8c;
}

#project ul.result_list > li h3.name a {
  color: #000000;
}

#top_movie_area {
  background: #181818;
}

#top_movie_area h2 {
  color: #c3a46a;
}

@media screen and (min-width: 768px) {
  body {
    min-width: 1200px;
  }
  .contents_area {
    width: 1100px;
    margin-right: auto;
    margin-left: auto;
  }
  header #gn_main {
    background: rgba(117, 76, 0, 0.8);
  }
  header #gn_main .sub_gnavi_area h2 .roboto {
    color: #FFFFFF;
  }
  #top_main_img_area {
    background: url(../img/partner_index/mv.jpg) no-repeat;
    background-size: cover;
    height: 780px;
    background-position: bottom center;
    position: relative;
    padding-top: 350px;
    box-sizing: border-box;
    text-align: center;
  }
  #top_main_img_area #sub_copy {
    margin-top: 42px;
    font-size: 1.33rem;
    line-height: 1.6;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
  }
  #top_main_img_area .btn {
    margin-top: 39px;
  }
  #top_main_img_area #main_side_navi {
    position: absolute;
    z-index: 100;
    right: 0;
    top: 330px;
  }
  #pickup {
    padding: 81px 0 80px;
  }
  #pickup h2 span.en {
    margin-top: 16px;
  }
  #pickup ul {
    margin-top: 56px;
    display: flex;
    justify-content: space-between;
  }
  #academy {
    padding: 111px 0 90px;
    background: url(../img/partner_index/academy_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  #academy .about_academy_area {
    display: flex;
    justify-content: center;
  }
  #academy .about_academy_area .about_academy {
    width: 50%;
  }
  #academy .about_academy_area .about_academy .about_academy_contents {
    width: 550px;
    margin: 0 0 0 auto;
    overflow: hidden;
  }
  #academy .about_academy_area .about_academy .about_academy_contents .system {
    font-size: 1.33rem;
    padding: 9px 0 6px;
    width: 393px;
  }
  #academy .about_academy_area .about_academy .about_academy_contents h2 {
    margin-top: 11px;
  }
  #academy .about_academy_area .about_academy .about_academy_contents .sub_title_area {
    margin: 48px auto 0;
  }
  #academy .about_academy_area .about_academy .about_academy_contents .sub_title_area h3 {
    font-size: 2.13rem;
  }
  #academy .about_academy_area .about_academy .about_academy_contents .txt {
    margin-top: 32px;
    font-size: 1.2rem;
    line-height: 1.78;
  }
  #academy .about_academy_area .about_academy .about_academy_contents .btn a {
    margin: 30px auto 0;
  }
  #academy .about_academy_area .happi {
    width: 50%;
    text-align: left;
    position: relative;
    z-index: 2;
  }
  #academy .about_academy_area .happi img {
    position: absolute;
    top: -240px;
    left: -180px;
  }
  #academy .helmet_area {
    padding: 36px 0 57px;
    margin: 75px auto 0;
    display: flex;
    position: relative;
    z-index: 5;
  }
  #academy .helmet_area .image {
    width: 440px;
    text-align: right;
  }
  #academy .helmet_area .helmet_description {
    width: 660px;
    padding-right: 20px;
    text-align: center;
  }
  #academy .helmet_area .helmet_description h3 {
    font-size: 1.87rem;
    line-height: 1.35;
  }
  #academy .helmet_area .helmet_description h3 span {
    font-size: 1.2rem;
  }
  #academy .helmet_area .helmet_description h3 strong {
    font-size: 2.4rem;
  }
  #academy .helmet_area .helmet_description .txt {
    margin-top: 26px;
    line-height: 1.78;
    font-size: 1.2rem;
  }
  #academy .helmet_area .helmet_description .btn a {
    margin: 27px auto 0;
  }
  #top_anniversary_area_wrapper #top_anniversary_area {
    padding: 149px 0 171px;
    background: #FFFFFF url(../img/client_index/100th_img.png) no-repeat;
    background-position: center right;
    position: relative;
  }
  #top_anniversary_area_wrapper #top_anniversary_area h3 {
    margin-top: 21px;
  }
  #top_anniversary_area_wrapper #top_anniversary_area::before {
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    background: #a37e39;
    top: 100px;
    left: 0;
  }
  #top_anniversary_area_wrapper #top_anniversary_area::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    background: #a37e39;
    bottom: 110px;
    left: 0;
  }
  #about {
    padding: 34.72% 0 95px;
    background: #242524 url(../img/client_index/about_bg.jpg) no-repeat;
    background-size: 100% auto;
    background-position: top center;
    position: relative;
  }
  #about h2 {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    text-align: center;
  }
  #about h2 span.en {
    margin-top: 17px;
  }
  #about .contents_area {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
  }
  #about .contents_area .about_area {
    text-align: left;
    width: 570px;
    align-self: center;
  }
  #about .contents_area .about_area h3 {
    font-size: 2.13rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    font-weight: 600;
  }
  #about .contents_area .about_area .txt {
    margin-top: 17px;
    line-height: 1.6;
    font-size: 1rem;
    line-height: 1.9;
  }
  #about .contents_area .about_area .btn a {
    margin: 26px auto 0 0;
  }
  #about .contents_area .vr_area {
    border: 5px solid #FFFFFF;
    width: 436px;
    min-height: 305px;
    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;
  }
  #about .contents_area .vr_area h3 {
    text-align: center;
    font-weight: bold;
    line-height: 1.15;
  }
  #about .contents_area .vr_area h3 .office {
    font-size: 2.13rem;
  }
  #about .contents_area .vr_area h3 .num {
    font-size: 3.47rem;
    padding-left: 0.85em;
  }
  #about .contents_area .vr_area h3 .tour {
    font-size: 2.8rem;
  }
  #about .contents_area .vr_area .btn a {
    margin-top: 20px;
  }
  #sustainability {
    padding: 80px 0 95px;
  }
  #sustainability h2 span.en {
    margin-top: 17px;
  }
  #sustainability ul {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
  }
  #project {
    padding: 80px 0;
  }
  #project h2 span.en {
    margin-top: 17px;
  }
  #project ul.result_list {
    width: 1200px;
    margin: 56px auto 0;
  }
  #project ul.result_list > li {
    margin: 30px 0 0 26px;
    width: 280px;
  }
  #project ul.result_list > li .image {
    width: 280px;
    height: 150px;
  }
  #project ul.result_list > li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #project ul.result_list > li .data {
    padding: 30px;
  }
  #project ul.result_list > li .data ul li {
    font-size: 0.8rem;
    line-height: 1;
    padding: 0 5px;
  }
  #project ul.result_list > li .data h3.name {
    margin-top: 10px;
    font-size: 1.2rem;
  }
  #project ul.result_list > li:nth-of-type(1), #project ul.result_list > li:nth-of-type(4n) {
    margin-left: 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) {
    margin-top: 0;
    width: 380px;
  }
  #project ul.result_list > li:nth-of-type(1) .image, #project ul.result_list > li:nth-of-type(2) .image, #project ul.result_list > li:nth-of-type(3) .image {
    width: 380px;
    height: 210px;
  }
  #project ul.result_list > li:nth-of-type(2), #project ul.result_list > li:nth-of-type(3) {
    margin-left: 30px;
  }
  #project .btn a {
    margin-top: 59px;
  }
  #top_common_news h2 span.ja {
    font-size: 1.73rem;
  }
  #top_common_news h2 span.en {
    font-size: 1rem;
  }
  #top_contact {
    padding-top: 85px;
  }
  #top_contact .contents_area .form_area {
    margin-top: 45px;
  }
  #top_movie_area {
    padding: 105px 0;
  }
  #top_movie_area .contents_area {
    width: 1100px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    display: flex;
  }
  #top_movie_area .contents_area .data {
    width: 420px;
  }
  #top_movie_area .contents_area .data h2 {
    font-size: 2.4rem;
    font-weight: 500;
    text-align: left;
    line-height: 1.28;
  }
  #top_movie_area .contents_area .data .description {
    margin-top: 35px;
    font-size: 1.2rem;
    text-align: left;
  }
  #top_movie_area .contents_area .data .name_area {
    margin-top: 20px;
    text-align: right;
  }
  #top_movie_area .contents_area .data .name_area p {
    font-size: 1rem;
  }
  #top_movie_area .contents_area .moview_wrapper {
    width: 600px;
  }
  #top_movie_area .contents_area .moview_wrapper iframe {
    aspect-ratio: 16 / 9;
    max-width: 100%;
    height: auto;
  }
}
