@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald&display=swap");
@media screen and (min-width: 750px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 749px) {
  .pc {
    display: none !important; } }

.font, body {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.87;
  color: #000; }

* {
  border: 0;
  outline: none;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative; }

html {
  font-size: 62.5% !important;
  height: 100%;
  -webkit-overflow-scrolling: touch; }

body {
  height: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  background: #000; }

.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  height: 100%;
  width: 100%;
  transition: 0.5s;
  opacity: 1;
  background: #000; }

div,
main,
section {
  display: block;
  position: relative; }

h1,
h2 {
  position: relative; }

*:focus {
  outline: none; }

sup {
  vertical-align: super;
  font-size: 50%; }

b,
em {
  font-weight: 700; }

a {
  cursor: pointer;
  transition: opacity 0.3s; }
  a.block {
    display: block; }
  a:hover {
    opacity: 0.5; }

.opa {
  cursor: pointer;
  transition: 0.5s;
  opacity: 1; }
  .opa:hover {
    opacity: 0.5 !important; }

.underline {
  text-decoration: underline; }

figcaption,
small {
  font-size: 1.2rem;
  display: block;
  line-height: 1.6; }

.spaces {
  letter-spacing: 0.1em; }

.dash {
  letter-spacing: 0; }

@media screen and (min-width: 750px) {
  .block-inline {
    display: inline-block; } }

.center-m {
  margin: auto; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

img.block {
  display: block; }

.w100 {
  width: 100% !important;
  display: block; }

.bg_white {
  background: #FFF; }

.bg_black {
  background: #000; }

.text_white {
  color: #FFF; }

.text_black {
  color: #000; }

.hr_white {
  border-top: 1px solid #FFF; }

.hr_black {
  border-top: 1px solid #000; }

.mt10 {
  display: block;
  margin-top: 10px !important; }
  @media screen and (max-width: 749px) {
    .mt10 {
      margin-top: 5px !important; } }

.mt20 {
  display: block;
  margin-top: 20px !important; }
  @media screen and (max-width: 749px) {
    .mt20 {
      margin-top: 10px !important; } }

.mt30 {
  display: block;
  margin-top: 30px !important; }
  @media screen and (max-width: 749px) {
    .mt30 {
      margin-top: 15px !important; } }

.mt40 {
  display: block;
  margin-top: 40px !important; }
  @media screen and (max-width: 749px) {
    .mt40 {
      margin-top: 20px !important; } }

.mt50 {
  display: block;
  margin-top: 50px !important; }
  @media screen and (max-width: 749px) {
    .mt50 {
      margin-top: 25px !important; } }

.mt60 {
  display: block;
  margin-top: 60px !important; }
  @media screen and (max-width: 749px) {
    .mt60 {
      margin-top: 30px !important; } }

.mt70 {
  display: block;
  margin-top: 70px !important; }
  @media screen and (max-width: 749px) {
    .mt70 {
      margin-top: 35px !important; } }

.mt80 {
  display: block;
  margin-top: 80px !important; }
  @media screen and (max-width: 749px) {
    .mt80 {
      margin-top: 40px !important; } }

.mt100 {
  display: block;
  margin-top: 100px !important; }
  @media screen and (max-width: 749px) {
    .mt100 {
      margin-top: 50px !important; } }

.mt110 {
  display: block;
  margin-top: 110px !important; }
  @media screen and (max-width: 749px) {
    .mt110 {
      margin-top: 55px !important; } }

.mt120 {
  display: block;
  margin-top: 120px !important; }
  @media screen and (max-width: 749px) {
    .mt120 {
      margin-top: 60px !important; } }

.wrap100 {
  margin: auto;
  max-width: 100px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap100 {
      padding: 0 15px; } }

.wrap500 {
  margin: auto;
  max-width: 500px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap500 {
      padding: 0 15px; } }

.wrap600 {
  margin: auto;
  max-width: 600px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap600 {
      padding: 0 15px; } }

.wrap700 {
  margin: auto;
  max-width: 700px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap700 {
      padding: 0 15px; } }

.wrap800 {
  margin: auto;
  max-width: 800px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap800 {
      padding: 0 15px; } }

.wrap900 {
  margin: auto;
  max-width: 900px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap900 {
      padding: 0 15px; } }

.wrap1000 {
  margin: auto;
  max-width: 1000px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap1000 {
      padding: 0 15px; } }

.wrap1100 {
  margin: auto;
  max-width: 1100px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap1100 {
      padding: 0 15px; } }

.wrap1200 {
  margin: auto;
  max-width: 1200px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap1200 {
      padding: 0 15px; } }

.wrap1300 {
  margin: auto;
  max-width: 1300px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap1300 {
      padding: 0 15px; } }

.wrap1400 {
  margin: auto;
  max-width: 1400px;
  width: 100%; }
  @media screen and (max-width: 749px) {
    .wrap1400 {
      padding: 0 15px; } }

.label {
  background: #000;
  color: #FFF;
  display: flex;
  justify-content: center;
  font-size: 4.0rem;
  font-weight: 700;
  height: 68px;
  max-width: 0;
  overflow: hidden;
  align-items: center;
  transition: max-width 0.5s ease-out; }
  .labelCase {
    display: inline-block;
    vertical-align: bottom; }
  .labelWrap {
    margin-top: -68px;
    z-index: 2; }
    @media screen and (max-width: 749px) {
      .labelWrap {
        margin-top: -20px; } }
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .label {
      align-items: baseline; } }
  @media screen and (max-width: 749px) {
    .label {
      font-size: 2.2rem;
      height: 40px; } }
  .label:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    right: 0;
    transition: width 0.4s ease-out;
    transition-delay: 0.4s; }

.active .label {
  width: 0; }

.active .label {
  max-width: 900px;
  width: auto;
  opacity: 1;
  padding: 0 11px;
  visibility: visible !important; }
  .active .label:after {
    width: 0; }

.share {
  display: flex;
  align-items: center;
  width: 100px;
  height: 37px;
  position: absolute;
  right: 0;
  top: -37px;
  padding-bottom: 15px; }
  .share::after {
    content: "";
    width: 100%;
    height: 7px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0; }
  .share_text {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5rem; }
  .share_icon {
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.5s; }
    .share_icon:hover {
      opacity: 0.5; }
    .share_icon-fb {
      width: 8px;
      margin-left: 17px; }
    .share_icon-tw {
      width: 15px;
      margin-left: 20px; }
  .share-top {
    top: 0;
    padding-top: 15px;
    padding-bottom: 0; }
    .share-top::after {
      top: 0;
      bottom: auto; }

.fadein {
  opacity: 0;
  z-index: 1; }

.fadeInUp {
  animation-name: fadeInUp;
  animation-fill-mode: both;
  animation-duration: 0.8s;
  visibility: visible !important; }

@keyframes fadeInUp {
  from {
    transform: translateY(25px);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes up {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  25% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  50% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  75% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  100% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; } }

@keyframes up {
  0% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  25% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    transform-origin: bottom; }
  50% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: top;
    transform-origin: top; }
  75% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; }
  100% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top; } }

.header {
  width: 100%;
  display: flex; }
  @media screen and (min-width: 750px) {
    .header {
      z-index: 999;
      position: absolute;
      padding: 16px 17px; } }
  @media screen and (max-width: 749px) {
    .header {
      height: 50px;
      padding: 12px 15px; } }
  .header_asahi {
    width: 102px;
    display: block; }
    @media screen and (max-width: 749px) {
      .header_asahi {
        width: 75px; } }
  .header_credit {
    color: #FFF;
    font-size: 1.0rem;
    line-height: 1.6;
    margin-left: 10px; }
    @media screen and (max-width: 749px) {
      .header_credit {
        font-size: 0.9rem;
        line-height: 1.5;
        margin-top: -3px; } }

@media screen and (min-width: 750px) {
  .mv {
    width: 100%;
    height: 650px; } }

@media screen and (max-width: 749px) {
  .mv {
    padding-top: 200px;
    padding-bottom: 80px; } }

.mv_bg {
  position: absolute;
  left: 0;
  top: 0; }

.mv_title {
  color: #FFF;
  margin: auto; }
  @media screen and (min-width: 750px) {
    .mv_titleWrap {
      height: 100%; }
      .mv_titleWrapCont {
        position: absolute;
        top: calc(50% - 150px); } }
  .mv_title-1 {
    font-size: 5.8rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap; }
    @media screen and (max-width: 749px) {
      .mv_title-1 {
        text-align: center;
        width: 100%;
        padding: 8px 0;
        font-size: 3.5rem; } }
  .mv_title-2 {
    font-weight: 600;
    font-size: 5.5rem;
    padding-top: 60px;
    white-space: nowrap;
    line-height: 1;
    font-size: 3.0rem; }
    @media screen and (max-width: 749px) {
      .mv_title-2 {
        font-size: 2.2rem;
        padding-top: 35px; } }
  .mv_title-3 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 3.5rem;
    white-space: nowrap;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 749px) {
      .mv_title-3 {
        font-size: 2.2rem;
        line-height: 1.3;
        margin-top: 10px; } }
    .mv_title-3::after {
      content: "";
      height: 1px;
      width: 150px;
      background: #FFF;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0; }
      @media screen and (max-width: 749px) {
        .mv_title-3::after {
          width: 100px;
          bottom: -15px; } }

@media screen and (min-width: 750px) {
  .main {
    padding: 116px 0 50px 0; } }

@media screen and (max-width: 749px) {
  .main {
    width: calc(100% - 30px);
    padding: 90px 0 50px; } }

.main_logo {
  width: 100px;
  position: absolute;
  top: -56px;
  left: calc(50% - 50px); }
  @media screen and (max-width: 749px) {
    .main_logo {
      width: 70px;
      top: -39px;
      left: calc(50% - 35px); } }

@media screen and (min-width: 750px) {
  .slide {
    display: grid;
    display: -ms-grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto 1fr;
    -ms-grid-columns: 50% 50%;
    -ms-grid-rows: auto 1fr; } }

@media screen and (min-width: 750px) {
  .slide_preview {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1; } }

.slide_preview::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 100;
  top: 0;
  left: 0;
  width: 0; }

@media screen and (min-width: 750px) {
  .slide_preview.reverse {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2; } }

.slide_preview img:nth-of-type(2), .slide_preview img:nth-of-type(3) {
  position: absolute;
  top: 0;
  left: 0; }

.slide_thum {
  overflow: hidden;
  cursor: pointer; }
  .slide_thums {
    display: flex;
    width: 100%;
    background: #000; }
    @media screen and (min-width: 750px) {
      .slide_thums {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        -ms-grid-row: 1;
        -ms-grid-column: 2; }
        .slide_thums.reverse {
          grid-row: 1 / 2;
          grid-column: 1 / 2;
          -ms-grid-row: 1;
          -ms-grid-column: 1; } }
  .slide_thum img {
    transition: transform 0.5s; }
  .slide_thum.selected {
    opacity: 0.5; }
  .slide_thum:not(.selected):hover img {
    transform: scale(1.2); }

.slide_caption {
  background: #333333;
  color: #FFF;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 42px;
  line-height: 1.75;
  max-height: 200px; }
  @media screen and (min-width: 750px) {
    .slide_caption {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
      -ms-grid-row: 2;
      -ms-grid-column: 2; } }
  @media screen and (max-width: 749px) {
    .slide_caption {
      padding: 15px; } }
  .slide_caption.reverse {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    -ms-grid-row: 2;
    -ms-grid-column: 1; }

@media screen and (max-width: 749px) {
  .outro {
    height: auto;
    width: 100%; } }

.outro_btn {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 460px;
  min-width: 310px;
  width: 46%; }
  .outro_btn_hover {
    width: 0;
    transition: width 0.5s;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    overflow: hidden; }
    .outro_btn_hover img {
      height: 100%; }
  @media screen and (min-width: 750px) {
    .outro_btn:hover {
      opacity: 1; }
      .outro_btn:hover .outro_btn_hover {
        width: 100%; } }

.outro_btn2 {
  width: 70%;
  max-width: 700px;
  font-size: 1.8rem;
  color: #FFF;
  background: #000;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 1; }
  @media screen and (min-width: 750px) and (max-width: 900px) {
    .outro_btn2 {
      font-size: 1.8vw; } }
  @media screen and (max-width: 749px) {
    .outro_btn2 {
      font-size: 1.2rem;
      line-height: 1.5;
      height: auto;
      padding: 10px 0;
      width: calc(100% - 60px); } }

.outro2 {
  height: 315px;
  padding-top: 74px; }
  @media screen and (max-width: 749px) {
    .outro2 {
      width: calc(100% - 30px); } }
  .outro2_link {
    position: relative;
    display: block;
    padding-bottom: 70px;
    margin: auto;
    width: 55px;
    text-align: center;
    font-size: 1.0rem;
    font-family: 'Oswald', sans-serif;
    line-height: 1.6;
    cursor: pointer;
    color: #000; }
    @media screen and (max-width: 749px) {
      .outro2_link {
        font-size: 1.4rem; } }
    .outro2_link::after {
      content: "";
      position: absolute;
      bottom: -40px;
      left: 50%;
      display: block;
      width: 1px;
      height: 100px;
      background-color: #000;
      transition: 0.2s 0.5s;
      transform-origin: bottom;
      animation: up 1.8s infinite;
      transform: translateX(50%); }

.logo_lamborghini {
  position: absolute;
  width: 90px;
  left: 50%;
  transform: translateX(-50%);
  top: -50px; }
  @media screen and (max-width: 749px) {
    .logo_lamborghini {
      width: 70px;
      top: -39px; } }
  .logo_lamborghini_img {
    width: 100%; }

.footer {
  background: #000;
  text-align: center;
  z-index: 10;
  height: 235px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 749px) {
    .footer {
      width: calc(100% - 30px); } }
  .footer_copy {
    line-height: 1.66;
    color: white;
    font-size: 1.2rem; }
    @media screen and (max-width: 749px) {
      .footer_copy {
        font-size: 0.9rem; } }
