@media only screen and (max-width: 767px) {
  header {
    height: 18.6666666667vw;
    display: flex;
    padding: 0 2vw;
  }
}
@media screen and (min-width: 768px) {
  header .header_logo {
    left: 1.833333%;
  }
}
header .header_logo h1,
header .header_logo figure {
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  header .header_logo h1,
header .header_logo figure {
    width: 61.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  header nav .nav_inner {
    padding: 2.2rem 2rem;
    gap: 0 3rem;
  }
}
@media only screen and (max-width: 767px) {
  header nav .nav_inner {
    padding-top: 21.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  header nav .nav_inner {
    padding: 2.2rem 2rem;
    gap: 0 3rem;
  }
}
header nav .nav_inner ul.header_links li:not(:last-child) a {
  margin-right: 2rem;
}
@media screen and (min-width: 768px) {
  header nav .nav_inner ul.header_links li .btn2 {
    padding: 1.625rem 2.1rem;
  }
  header nav .nav_inner ul.header_links li .btn2 span {
    font-size: 2.3rem;
  }
}
header nav .nav_inner ul.header_links li a {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  header nav .sp_menu_btn ul {
    margin: 1.8666666667vw auto 0;
    gap: 1.8666666667vw;
  }
  header nav .sp_menu_btn ul li {
    width: 100%;
  }
  header nav .sp_menu_btn ul li a {
    font-size: 4.5333333333vw;
    padding: 4.5333333333vw 0;
  }
}
@media screen and (min-width: 768px) {
  header nav ul.nav_list li .nav_child li a {
    font-size: 2rem;
  }
  header nav ul.nav_list li .nav_child li a.new span {
    display: flex;
    align-items: center;
  }
  header nav ul.nav_list li .nav_child li a.new span::after {
    position: static;
    display: block;
    margin-left: 1rem;
    transform: none;
  }
}
@media only screen and (max-width: 767px) {
  header nav ul.nav_list li .nav_child li a {
    font-size: 1.5rem;
  }
}
header .hamburger::before, header .hamburger::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  header .hamburger {
    width: 11.7333333333vw;
    height: 11.7333333333vw;
  }
  header .hamburger span {
    width: 7.4666666667vw;
    left: 2.1333333333vw;
  }
  header .hamburger span.top {
    top: 3.7333333333vw;
  }
  header .hamburger span.btm {
    bottom: 3.7333333333vw;
  }
  header .hamburger.active span.top {
    top: 5.8666666667vw;
  }
  header .hamburger.active span.btm {
    top: 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  header .hamburger_trigger {
    width: 5rem;
    height: 2.3rem;
  }
}
@media screen and (min-width: 768px) {
  header .menu_wrap {
    width: 72rem;
    padding: 0 10rem;
  }
}
@media screen and (min-width: 768px) {
  header .menu_wrap.view {
    max-height: 100vh;
    height: 150rem;
    padding-top: 15rem;
    padding-bottom: 15rem;
  }
}
@media screen and (min-width: 768px) {
  header .menu_wrap .sub_menu li a {
    font-size: 2rem;
  }
  header .menu_wrap .sub_menu li a::after {
    margin: 0 2rem;
    width: 2px;
  }
}
@media screen and (min-width: 768px) {
  header nav ul.nav_list {
    gap: 2rem 5rem;
    margin-bottom: 8rem;
    line-height: 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  header nav ul.nav_list .nav_child li a {
    font-size: 2.8rem;
    padding: 3.3rem;
    font-size: 3.7333333333vw;
    padding: 4.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  header nav ul.nav_list li {
    width: calc((100% - 5rem) / 2);
  }
  header nav ul.nav_list li a {
    padding: 2rem 0 0;
    font-size: 2.4rem;
  }
  header nav ul.nav_list li a.new::before {
    display: none;
  }
  header nav ul.nav_list li a.new span::after {
    width: 3.5rem;
    height: 1.3rem;
    top: -1.5rem;
    font-size: 1rem;
    line-height: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  header nav ul.nav_list li a {
    font-size: 3.4rem;
    padding: 3.3rem;
    font-size: 4.5333333333vw;
    padding: 4.5333333333vw;
  }
  header nav ul.nav_list li a.new::before {
    display: none;
  }
  header nav ul.nav_list li a.new span::after {
    width: 5.8rem;
    height: 2.8rem;
    line-height: 2.8rem;
    font-size: 1.9rem;
    right: -7.6rem;
    width: 8vw;
    height: 4vw;
    line-height: 3.7333333333vw;
    font-size: 2.6666666667vw;
    right: -10.6666666667vw;
  }
  header nav ul.nav_list li a::after {
    width: 1rem;
    height: 2rem;
    width: 1.3333333333vw;
    height: 2.6666666667vw;
  }
}
@media only screen and (max-width: 767px) {
  header .sub_menu li a {
    font-size: 3.4rem;
    padding: 3.3rem;
    font-size: 4.5333333333vw;
    padding: 4.5333333333vw;
  }
}

.mv {
  padding-top: 96px;
}
@media only screen and (max-width: 767px) {
  .mv {
    padding: 18vw 0;
  }
  .mv .interview-mv-flex {
    padding-left: 5.3333333333vw;
  }
}

#btm_request {
  margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
  #btm_request {
    padding: 9.6rem 0;
    padding: 12.8vw 0;
  }
}
#btm_request h2 {
  font-size: 6rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #btm_request h2 {
    font-size: 5.8rem;
    margin-bottom: 3.8rem;
    font-size: 7.7333333333vw;
    margin-bottom: 5.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  #btm_request ul li:first-child {
    margin-right: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  #btm_request ul li:first-child {
    margin-top: 4.8rem;
    margin-top: 7.7333333333vw;
  }
}
#btm_request .btn2 {
  width: 52.5rem;
  height: 10.5rem;
}
@media only screen and (max-width: 767px) {
  #btm_request .btn2 {
    height: 13.4rem;
    padding: 0.9rem;
    width: 100%;
    height: 17.8666666667vw;
    padding: 1.3333333333vw;
  }
}
#btm_request .btn2 span {
  line-height: 9rem;
  font-size: 3.375rem;
}
@media only screen and (max-width: 767px) {
  #btm_request .btn2 span {
    font-size: 4.6rem;
    line-height: 11.5rem;
    font-size: 6.1333333333vw;
    line-height: 14.6666666667vw;
  }
}
#btm_request .btn2 span::after {
  width: 1rem;
  height: 1rem;
  right: 2.5rem;
}
@media only screen and (max-width: 767px) {
  #btm_request .btn2 span::after {
    right: 3.8rem;
    width: 1.3rem;
    height: 1.3rem;
    right: 5.0666666667vw;
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}

.banner .dots li:not(:last-child) {
  margin-right: 1rem;
}
.banner .dots li button {
  width: 1rem;
  height: 1rem;
}
@media only screen and (max-width: 767px) {
  .banner .dots li button {
    width: 2vw;
    height: 2vw;
  }
}

aside .inner ul li {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  aside .inner ul li {
    font-size: 2.1333333333vw;
  }
}

aside {
  background: #000b51;
  color: #fff;
  padding: 3rem 0;
  border-bottom: solid 1px #fff;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  aside {
    padding: 5.3333333333vw 0;
  }
}

footer {
  background: #000b51;
  padding-bottom: 3rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  footer {
    padding-bottom: 12.8vw;
  }
}
footer .contact {
  padding: 3rem 0;
}
@media only screen and (max-width: 767px) {
  footer .contact {
    padding: 6vw 0;
  }
}
footer .contact span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  footer .contact span {
    font-size: 2.6666666667vw;
  }
}
footer .contact .tel {
  padding-left: 7.2rem;
  font-size: 8.3rem;
}
@media only screen and (max-width: 767px) {
  footer .contact .tel {
    font-size: 12.8vw;
    padding-left: 10.6666666667vw;
  }
}
footer .contact .tel::before {
  width: 6.2rem;
  height: 4rem;
}
@media only screen and (max-width: 767px) {
  footer .contact .tel::before {
    width: 9.0666666667vw;
    height: 5.6vw;
  }
}
footer .contact small {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  footer .contact small {
    font-size: 2.6666666667vw;
  }
}
footer ul {
  padding: 3rem 0;
}
@media only screen and (max-width: 767px) {
  footer ul {
    padding: 4vw 0;
  }
}
footer ul li:first-child {
  margin-right: 2.5rem;
}
@media only screen and (max-width: 767px) {
  footer ul li:first-child {
    margin-right: 10vw;
  }
  footer ul li:first-child figure figcaption {
    margin-bottom: 2.9333333333vw;
  }
}
footer ul li figure figcaption {
  font-size: 0.8rem;
  margin-right: 1rem;
}
@media only screen and (max-width: 767px) {
  footer ul li figure figcaption {
    font-size: 1.3333333333vw;
  }
}
footer ul li figure img {
  width: 21rem;
}
@media only screen and (max-width: 767px) {
  footer ul li figure img {
    width: 32vw;
  }
}
footer .copy {
  padding-top: 3rem;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  footer .copy {
    padding: 4vw 0;
    font-size: 2.6666666667vw;
  }
}

@media only screen and (max-width: 767px) {
  .banner .dots {
    margin-top: 4vw;
  }
  .banner .dots li:not(:last-child) {
    margin-right: 2vw;
  }
}

@media only screen and (max-width: 767px) {
  #sp_footer ul li a {
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    font-size: 4.8vw;
  }
}

body {
  padding-bottom: 0;
}

.movie-section {
  position: relative;
  z-index: 1;
  margin-top: min(-16px, -0.95vw);
}
@media only screen and (max-width: 767px) {
  .movie-section {
    margin-top: -4vw;
  }
}
.movie-section .note {
  font-size: min(22px, 1.309vw);
}
@media only screen and (max-width: 767px) {
  .movie-section .note {
    font-size: 3.2vw;
  }
  .movie-section .note::after {
    margin-top: 2.6666666667vw;
    height: 1px;
    width: 21.3333333333vw;
  }
}
.movie-section .tertiary-heading {
  font-size: min(30px, 1.785vw);
}
@media only screen and (max-width: 767px) {
  .movie-section .tertiary-heading {
    font-size: 4vw;
  }
}

@media only screen and (max-width: 767px) {
  .txt-area {
    margin-bottom: 9.8666666667vw;
  }
}
.txt-area .secondary-heading {
  font-size: min(98px, 5.8333vw);
}
@media only screen and (max-width: 767px) {
  .txt-area .secondary-heading {
    font-size: 13.0666666667vw;
    margin-bottom: get_gvw(4);
  }
}
.txt-area .note {
  font-size: min(44px, 2.62vw);
  font-weight: 700;
  letter-spacing: -0.05em;
}
@media only screen and (max-width: 767px) {
  .txt-area .note {
    font-size: 5.3333333333vw;
  }
}

.mv-slider {
  margin-left: auto;
  padding: 0;
  width: 60.357vw;
}
@media only screen and (max-width: 767px) {
  .mv-slider {
    width: 100%;
  }
}

.interview-mv-flex2 {
  margin-top: min(120px, 7.142vw);
}
@media only screen and (max-width: 767px) {
  .interview-mv-flex2 {
    margin-top: 5.3333333333vw;
  }
}
.interview-mv-flex2 .txt-left .tertiary-heading {
  font-size: min(34px, 2.023vw);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .interview-mv-flex2 .txt-left .tertiary-heading {
    font-size: 4.5333333333vw;
    margin-bottom: 1.8666666667vw;
  }
}
.interview-mv-flex2 .txt-left .note {
  font-size: min(24px, 1.428vw);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .interview-mv-flex2 .txt-left .note {
    font-size: 3.2vw;
  }
}

.interview-mv-flex {
  gap: 0;
}
.interview-mv-flex .txt-area .lead {
  margin-bottom: min(38px, 2.26vw);
}
@media only screen and (max-width: 767px) {
  .interview-mv-flex .txt-area .lead {
    font-size: 5.3333333333vw;
    margin-bottom: 4vw;
    line-height: 1.75;
  }
}

.interview-mv-flex2 {
  justify-content: flex-start;
  padding: 0 min(250px, 14.88vw);
}
@media only screen and (max-width: 767px) {
  .interview-mv-flex2 {
    margin-top: 5.3333333333vw;
    padding: 0 0 0 5.3333333333vw;
  }
}

.general-section .inner-wide {
  padding: min(105px, 6.25vw) 2.947% min(130px, 7.73vw);
}
@media only screen and (max-width: 767px) {
  .general-section .inner-wide {
    padding: 9.8666666667vw 0 11.7333333333vw;
  }
}
.general-section .lead {
  font-size: min(22px, 1.309vw);
}
@media only screen and (max-width: 767px) {
  .general-section .lead {
    font-size: 3.7333333333vw;
  }
}
.general-section .secondary-heading {
  font-size: min(60px, 3.571vw);
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .general-section .secondary-heading {
    font-size: 9.8666666667vw;
  }
}
.general-section .interview-grid {
  gap: min(69px, 4.1vw) min(105px, 6.25vw);
  padding: 0;
  margin-top: min(66px, 3.928vw);
}
@media only screen and (max-width: 767px) {
  .general-section .interview-grid {
    width: 88%;
    margin: 8.8vw auto 0;
    gap: 10.5vw;
  }
}
.general-section .grid-item .interview-video-ttl {
  width: 100%;
  font-size: min(26px, 1.55vw);
  max-width: none;
  line-height: 1.24;
  padding: 12px 0;
  margin-top: min(38px, 2.26vw);
  margin: min(38px, 2.26vw) 0 min(33px, 1.964vw);
}
@media only screen and (max-width: 767px) {
  .general-section .grid-item .interview-video-ttl {
    margin: 5.0666666667vw auto 4.2666666667vw;
    font-size: 3.4666666667vw;
    padding: 1.6vw;
  }
}
.general-section .grid-item .interview-movie-num {
  margin-bottom: min(10px, 0.59vw);
  font-size: min(28px, 1.66vw);
}
@media only screen and (max-width: 767px) {
  .general-section .grid-item .interview-movie-num {
    font-size: 3.7333333333vw;
    margin-bottom: 2.1333333333vw;
  }
}
.general-section .grid-item .interview-movie-num::before {
  display: none;
}
.general-section .grid-item .interview-movie-num::after {
  content: "";
  display: block;
  margin: min(16px, 0.95vw) auto 0;
  width: 100px;
  height: 2px;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .general-section .grid-item .interview-movie-num::after {
    width: 13.3333333333vw;
    height: 1px;
    margin-top: 2.6666666667vw;
  }
}
.general-section .grid-item .info_text {
  text-align: center;
  font-size: min(22px, 1.2vw);
  line-height: 1.545;
  color: #fff;
  margin-bottom: min(33px, 1.96vw);
}
@media only screen and (max-width: 767px) {
  .general-section .grid-item .info_text {
    font-size: 2.9333333333vw;
    line-height: 1.7;
    letter-spacing: 0;
    margin-bottom: 2.9333333333vw;
  }
}

@media only screen and (max-width: 767px) {
  .read-btn .read-note {
    font-size: 4vw;
  }
}
@media only screen and (max-width: 767px) {
  .read-btn .lead {
    font-size: 2.6666666667vw;
  }
}