@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
#mv-top {
  position: relative; }
  @media (min-width: 1024px) {
    #mv-top {
      display: flex; } }
  #mv-top .slide-main {
    position: relative;
    width: 100%; }
    @media (min-width: 1024px) {
      #mv-top .slide-main {
        width: calc(68% + 0.5px); } }
    #mv-top .slide-main .title-main {
      position: absolute;
      bottom: -20%;
      left: 3%;
      z-index: 10; }
      #mv-top .slide-main .title-main ul li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 900;
        font-size: 10vw;
        line-height: 0.9em;
        text-shadow: 1px 1px 2px #fff; }
        @media (min-width: 1024px) {
          #mv-top .slide-main .title-main ul li {
            font-size: 7vw;
            text-shadow: 2px 2px 2px #fff; } }
        #mv-top .slide-main .title-main ul li:last-child {
          font-family: "M PLUS 1p", serif;
          font-size: 6vw;
          font-weight: 700;
          line-height: 1.2em; }
          @media (min-width: 1024px) {
            #mv-top .slide-main .title-main ul li:last-child {
              font-size: 2.5vw; } }
  #mv-top .slide-sab .title-sab h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.125em;
    font-weight: 700;
    color: #fff;
    display: inline-block;
    padding: 8px 10px;
    background-color: #000; }
    @media (min-width: 1024px) {
      #mv-top .slide-sab .title-sab h3 {
        font-size: 1.37em; } }
    #mv-top .slide-sab .title-sab h3 span {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.25em;
      font-weight: 700;
      line-height: 1.0em; }
      @media (min-width: 1024px) {
        #mv-top .slide-sab .title-sab h3 span {
          font-size: 1.5em; } }
  @media (min-width: 1024px) {
    #mv-top .slide-sab {
      width: 32%;
      margin-left: -0.5px; } }
  #mv-top .slide-sab .slide-sabA {
    position: relative; }
    #mv-top .slide-sab .slide-sabA .title-sab {
      position: absolute;
      bottom: 20%;
      right: 0;
      z-index: 10; }
      #mv-top .slide-sab .slide-sabA .title-sab h3 {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px; }
  #mv-top .slide-sab .slide-sabB {
    position: relative; }
    #mv-top .slide-sab .slide-sabB .title-sab {
      position: absolute;
      top: 10px;
      left: 0;
      z-index: 10; }
      #mv-top .slide-sab .slide-sabB .title-sab h3 {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px; }
    #mv-top .slide-sab .slide-sabB .reservation-btn {
      display: flex;
      position: absolute;
      bottom: 20px;
      right: 20px;
      z-index: 10; }
      #mv-top .slide-sab .slide-sabB .reservation-btn .common-btn2:first-child {
        margin-right: 10px; }
  #mv-top .mv-top-line {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 2px;
    background-color: #EFEFEF; }

/*
---------------------------------------------------------------------------------------------------------------------
サービス
---------------------------------------------------------------------------------------------------------------------
*/
#service {
  padding: 60px 0 10px 0;
  position: relative;
  overflow: hidden; }
  @media (min-width: 1024px) {
    #service {
      padding: 180px 0 10px 0; } }
  #service .middle-copy {
    position: absolute;
    top: 60px;
    right: -5px;
    z-index: 5; }
    @media (min-width: 1024px) {
      #service .middle-copy {
        top: 160px;
        z-index: -1; } }
    #service .middle-copy h4 {
      font-size: 16vw; }
      @media (min-width: 1024px) {
        #service .middle-copy h4 {
          font-size: 10vw; } }
  #service .service-type {
    margin-top: 40px; }
    @media (min-width: 1024px) {
      #service .service-type {
        display: flex;
        margin-top: 80px; } }
    #service .service-type:first-child {
      margin-top: 0; }
    @media (min-width: 1024px) {
      #service .service-type .photo {
        width: 60%; } }
    @media (min-width: 1024px) {
      #service .service-type .photo.left {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px; } }
    @media (min-width: 1024px) {
      #service .service-type .photo.left img {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px; } }
    @media (min-width: 1024px) {
      #service .service-type .photo.right {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px; } }
    @media (min-width: 1024px) {
      #service .service-type .photo.right img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px; } }
    #service .service-type .contents {
      width: 90%;
      margin: 20px auto 0; }
      @media (min-width: 1024px) {
        #service .service-type .contents {
          width: 40%;
          padding: 0 3%;
          margin: 0; } }
      #service .service-type .contents .txt {
        margin-top: 20px; }
        @media (min-width: 1250px) {
          #service .service-type .contents .txt {
            margin-top: 40px; } }
        #service .service-type .contents .txt p {
          font-size: 0.9em;
          text-align: justify;
          line-height: 1.8em; }
          @media (min-width: 1250px) {
            #service .service-type .contents .txt p {
              font-size: 1.125em; } }
      #service .service-type .contents .common-btn {
        margin-top: 20px;
        text-align: center; }
        @media (min-width: 1024px) {
          #service .service-type .contents .common-btn {
            margin-top: 40px;
            text-align: left; } }

/*
---------------------------------------------------------------------------------------------------------------------
お知らせ
---------------------------------------------------------------------------------------------------------------------
*/
#news {
  margin: auto;
  padding: 60px 0 30px; }
  @media (min-width: 1024px) {
    #news {
      display: flex;
      padding: 120px 0 60px; } }
  #news .news-title {
    margin-bottom: 20px;
    padding-left: 5%; }
    @media (min-width: 1024px) {
      #news .news-title {
        width: 26%;
        padding-left: 3%; } }
    @media (min-width: 1250px) {
      #news .news-title {
        width: 340px;
        padding-left: 3%; } }
    #news .news-title .common-btn {
      margin-top: 40px;
      display: none; }
      @media (min-width: 1024px) {
        #news .news-title .common-btn {
          display: block; } }
  #news .news-card {
    padding: 0 0 0 4%;
    position: relative;
    overflow: hidden; }
    @media (min-width: 768px) {
      #news .news-card {
        padding: 0 0 0 3%; } }
    @media (min-width: 1024px) {
      #news .news-card {
        width: 74%; } }
    @media (min-width: 1250px) {
      #news .news-card {
        width: calc(100% - 340px); } }
  #news .news-sp-btn {
    text-align: center;
    margin: 20px auto 0; }
    @media (min-width: 1024px) {
      #news .news-sp-btn {
        display: none; } }

.news-card {
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */ }
  .news-card .swiper-slide {
    width: 200px;
    margin: 0 15px 0 0; }
    @media (min-width: 1024px) {
      .news-card .swiper-slide {
        width: 250px; } }
    @media (min-width: 1250px) {
      .news-card .swiper-slide {
        width: 300px;
        margin: 0 30px 0 0; } }
    .news-card .swiper-slide:last-child {
      margin-right: 3%; }
  .news-card .swiper-button-prev::after {
    background-image: url("../img/parts/arrow_slide.svg");
    transform: rotate(180deg); }
  .news-card .swiper-button-next::after {
    background-image: url("../img/parts/arrow_slide.svg"); }
  .news-card .swiper-button-prev,
  .news-card .swiper-button-next {
    height: 40px;
    width: 40px;
    z-index: 20;
    top: 32%; }
    @media (min-width: 768px) {
      .news-card .swiper-button-prev,
      .news-card .swiper-button-next {
        top: 32%; } }
    @media (min-width: 1024px) {
      .news-card .swiper-button-prev,
      .news-card .swiper-button-next {
        height: 50px;
        width: 50px;
        top: 32%; } }
    @media (min-width: 1250px) {
      .news-card .swiper-button-prev,
      .news-card .swiper-button-next {
        top: 32%; } }
  .news-card .swiper-button-prev::after,
  .news-card .swiper-button-next::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    margin: auto;
    height: 40px;
    width: 40px; }
    @media (min-width: 1024px) {
      .news-card .swiper-button-prev::after,
      .news-card .swiper-button-next::after {
        height: 50px;
        width: 50px; } }

/*
---------------------------------------------------------------------------------------------------------------------
スタッフブログ
---------------------------------------------------------------------------------------------------------------------
*/
#staff-blog {
  padding-top: 40px;
  position: relative; }
  #staff-blog .staff-blog-title {
    padding: 0 5%;
    margin-bottom: 20px; }
    @media (min-width: 768px) {
      #staff-blog .staff-blog-title {
        padding: 0 3%; } }
    @media (min-width: 1024px) {
      #staff-blog .staff-blog-title {
        position: absolute;
        top: 40px;
        left: 0;
        width: 30%;
        padding: 0 10px 0 3%; } }
    #staff-blog .staff-blog-title .title-copy {
      margin-top: 15px; }
  @media (min-width: 768px) {
    #staff-blog .staff-blog-main {
      display: flex; } }
  #staff-blog .staff-blog-main .staff-blog-data {
    padding: 0 5%;
    position: relative; }
    @media (min-width: 768px) {
      #staff-blog .staff-blog-main .staff-blog-data {
        width: 45%;
        padding: 0 3%; } }
    @media (min-width: 1024px) {
      #staff-blog .staff-blog-main .staff-blog-data {
        width: 30%;
        padding: 0 3%; } }
    @media (min-width: 768px) {
      #staff-blog .staff-blog-main .staff-blog-data .blog-data {
        position: absolute;
        bottom: 10px;
        padding-right: 3%; } }
    #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-data {
      margin-bottom: 5px; }
      @media (min-width: 1024px) {
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-data {
          margin-bottom: 10px; } }
    #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt h3 {
      font-size: 1.0em;
      font-weight: 700;
      word-break: break-all;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
      margin-bottom: 10px; }
      @media (min-width: 1250px) {
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt h3 {
          font-size: 1.125em; } }
    #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt p {
      font-size: 0.8em; }
      @media (min-width: 1250px) {
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt p {
          font-size: 0.9em; } }
    #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt ul {
      margin-top: 10px;
      display: flex; }
      #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt ul li {
        margin-right: 10px;
        line-height: 0.7em; }
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt ul li:last-child {
          margin-right: 0; }
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt ul li a {
          font-size: 0.7em;
          font-weight: 300;
          color: #6F6F6F; }
          @media (min-width: 1024px) {
            #staff-blog .staff-blog-main .staff-blog-data .blog-data .post-txt ul li a {
              font-size: 0.75em; } }
    #staff-blog .staff-blog-main .staff-blog-data .blog-data .common-btn {
      margin-top: 20px;
      text-align: center; }
      @media (min-width: 768px) {
        #staff-blog .staff-blog-main .staff-blog-data .blog-data .common-btn {
          text-align: left; } }
  #staff-blog .staff-blog-main .movie {
    position: relative; }
    @media (min-width: 768px) {
      #staff-blog .staff-blog-main .movie {
        width: 55%; } }
    @media (min-width: 1024px) {
      #staff-blog .staff-blog-main .movie {
        width: 70%; } }
    @media (min-width: 768px) {
      #staff-blog .staff-blog-main .movie a .thumbnail-ph img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px; } }
  #staff-blog .news-card {
    padding: 0 0 0 5%;
    position: relative;
    overflow: hidden;
    margin-top: 40px; }
    @media (min-width: 768px) {
      #staff-blog .news-card {
        padding: 0 0 0 3%; } }
  #staff-blog .staff-blog-btn {
    margin: 20px auto 0;
    text-align: center; }

/*
---------------------------------------------------------------------------------------------------------------------
営業日カレンダー
---------------------------------------------------------------------------------------------------------------------
*/
#calendar {
  width: 90%;
  margin: auto;
  padding: 60px 0; }
  @media (min-width: 1024px) {
    #calendar {
      padding: 80px 0;
      width: 94%; } }
  #calendar .CalendarIn {
    max-width: 500px;
    margin: auto; }
    @media (min-width: 1024px) {
      #calendar .CalendarIn {
        max-width: 1200px; } }
    #calendar .CalendarIn p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      text-align: center;
      font-size: 1.25em;
      color: #000;
      margin-top: 20px; }
      @media (min-width: 1024px) {
        #calendar .CalendarIn p {
          font-size: 2.4em; } }
  #calendar .txt {
    color: #000;
    text-align: right;
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    #calendar .txt .square {
      width: 40px;
      height: 20px;
      background-color: #dcdddd;
      margin: 3px 10px 0 0; }
    #calendar .txt h3 {
      font-size: 1.0em;
      font-weight: 300; }
      @media (min-width: 1024px) {
        #calendar .txt h3 {
          font-size: 1.125em; } }

/*
---------------------------------------------------------------------------------------------------------------------
上嶋自動車について
---------------------------------------------------------------------------------------------------------------------
*/
#about {
  padding: 40px 0 100px; }
  @media (min-width: 1024px) {
    #about {
      display: flex;
      padding: 140px 0 140px; } }
  #about .about-L {
    padding: 0 5%;
    margin-top: 20px; }
    @media (min-width: 1024px) {
      #about .about-L {
        width: 40%;
        padding: 0 3%;
        margin-top: 0; } }
    #about .about-L .content {
      margin-top: 20px; }
      @media (min-width: 1024px) {
        #about .about-L .content {
          margin-top: 40px; } }
      #about .about-L .content .txt p {
        font-size: 0.9em;
        line-height: 1.8em;
        text-align: justify; }
        @media (min-width: 1250px) {
          #about .about-L .content .txt p {
            font-size: 1.125em; } }
      #about .about-L .content .common-btn {
        margin-top: 40px;
        text-align: center; }
        @media (min-width: 1024px) {
          #about .about-L .content .common-btn {
            text-align: left; } }
  @media (min-width: 1024px) {
    #about .about-R {
      width: 60%;
      border-top-left-radius: 20px;
      border-bottom-left-radius: 20px; } }
  @media (min-width: 1024px) {
    #about .about-R img {
      border-top-left-radius: 20px;
      border-bottom-left-radius: 20px; } }
