@charset "UTF-8";
/* CSS Document */

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&subset=japanese");
@font-face {
  font-family: MazdaTypeRegular;
  src: url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Regular.woff2") format("woff2"), url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Regular.woff") format("woff"), url("https://www2.mazda.co.jp/common/assets/fonts/MazdaTypeTT-Regular.ttf") format("truetype");
}
@font-face {
  font-family: MazdaTypeMedium;
  src: url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Medium.woff2") format("woff2"), url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Medium.woff") format("woff"), url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Medium.ttf") format("truetype");
}
@font-face {
  font-family: MazdaTypeBold;
  src: url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Boldwoff2") format("woff2"), url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Bold.woff") format("woff"), url("https://www2.mazda.co.jp/common/fonts/MazdaTypeTT-Bold.ttf") format("truetype");
}

/*==== Reset ====*/
html,
body,
h1,
h2,
h3,
p {
  margin: 0;
  padding: 0;
  line-height: 1;
}
body {
  font-family: MazdaTypeMedium, Noto Sans CJK JP, Hiragino Kaku Gothic ProN, HiraKakuProN-W3, Meiryo, Yu Gothic Medium, sans-serif;
}
img {
  vertical-align: middle;
  border: none;
}
ul {
  padding-left: 0;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}
div {
  display: block;
}
p {
  text-decoration: none;
}

/*==== all ====*/
html {
  scroll-behavior: smooth;
}
.contents-black {
  background: #000;
  width: 100%;
  max-width: 100%;
}
.contents-white {
  background: #fff;
  width: 100%;
  max-width: 100%;
}
.contents-gray {
  background: #f4f4f4;
  width: 100%;
  max-width: 100%;
}
.view-pc {
  display: block;
}
.view-sp {
  display: none;
}
.view768 {
  display: none;
}
.view695 {
  display: none;
}
.view551 {
  display: none;
}
.Nview650 {
  display: block;
}
.Nview476 {
  display: block;
}
@media screen and (max-width: 768px) {
  .view-pc {
    display: none;
  }
  .view-sp {
    display: block;
  }
  .mgbtm40 {
    margin-bottom: 40px;
  }
  .view768 {
    display: block;
  }
}
@media screen and (max-width: 695px) {
  .view695 {
    display: block;
  }
}
@media screen and (max-width: 650px) {
  .Nview650 {
    display: none;
  }
}
@media screen and (max-width: 551px) {
  .view551 {
    display: block;
  }
}
@media screen and (max-width: 476px) {
  .Nview476 {
    display: none;
  }
}

/*==== Main-Visual ====*/
.main-visual {
  overflow: hidden;
  position: relative;
}
.main-visual img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.swiper-main .swiper-slide img {
  max-width: 100%;
  width: 100% !important;
  height: auto;
  margin: 0 0;
}

/*==== Main-Menu ====*/
.main-menu {
  width: 960px;
  margin: 0 auto;
  text-align: center;
}
.main-menu h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 10px;
  color: #fff;
  text-align: center;
  padding: 60px 0 40px;
}
.main-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: left;
}
.main-box {
  width: 32%;
  height: 120px;
  background: #fff;
  margin: 2px;
  padding: 4px;
  transition: 0.4s;
}
.main-box:hover {
  opacity: 0.4;
}
.main-box a {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  text-align: left;
}
.main-img {
  width: 40%;
  height: 120px;
  background: #464646;
  overflow: hidden;
}
.main-text {
  margin-left: 10px;
}
.main-title {
  font-size: 1.5rem;
  letter-spacing: 2px;
  color: #999;
  font-weight: normal;
  margin-bottom: 8px;
}
.main-copy {
  font-size: 0.8rem;
  color: #000;
  font-weight: normal;
}
.main-button a {
    width: 380px;
    padding: 30px 0;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    font-size: 20px;
    font-weight: normal;
    border: 2px solid #ccc;
    text-align: center;
    color: #dee2e6;
    transition: 0.4s;
}
.main-button a:hover {
  border: 2px solid #dee2e6;
  background: #dee2e6;
  color: #000;
}
@media screen and (max-width: 960px) {
  .main-menu {
    width: 90%;
  }
  .main-menu h2 {
    font-size: 2rem;
    padding: 40px 0 40px;
  }
  .main-box {
    width: 45%;
  }
  .main-img {
    width: auto;
  }
  .main-button a {
    margin: 40px 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .main-box {
    height: auto;
    margin: 5px;
    overflow: hidden;
  }
  .main-box a {
    display: block;
  }
  .main-img {
    height: auto;
    max-width: 100%;
  }
  .main-img img {
    max-width: 100%;
  }
  .main-text {
    margin-left: 0;
    text-align: center;
    margin: 20px 0;
  }
  .main-button {
    width: 100%;
    text-align: center;
  }
  .main-button a {
    width: 93%;
  }
}
@media screen and (max-width: 400px) {
  .main-menu h2 {
    font-size: 1.5rem;
    padding: 30px 0 20px;
  }
  .main-box {
    width: 44%;
  }
  .main-title {
    font-size: 1.2rem;
  }
  .main-copy {
    font-size: 0.7rem;
    font-weight: 500;
  }
  .main-button a {
    margin: 20px 0 30px;
  }
}

/*==== Calendar ====*/
.calendar {
  width: 960px;
  margin: 0 auto;
}
.calendar:before,
.calendar:after {
  display: table;
  content: " ";
  clear: both;
}
.calendar h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 2px;
  color: #000;
  text-align: center;
  padding: 60px 0 20px;
}
.calendar-text {
  display: flex;
  justify-content: center;
}
.reghd {
  color: #709bb0;
  margin-left: 20px;
}
.regsr {
  color: #69bd83;
  margin-left: 20px;
}
.regsv {
  color: #f8b856;
  margin-left: 20px;
}
.calendar-scroll {
  overflow: auto;
  white-space: nowrap;
}
.calendar-wrap {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 60px;
}
.calendars-img {
  width: calc(100% / 3);
}
.calendars-img img {
  padding: 0 10px;
  width: calc(100% - 20px);
}
.calendar-copy {
  display: none;
}
@media screen and (max-width: 960px) {
  .calendar {
    width: 90%;
  }
  .calendar h2 {
    font-size: 2rem;
    padding: 40px 0 20px;
  }
  .calendar-text {
    font-size: 0.9rem;
  }
  .calendar-wrap {
    margin: 40px 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .calendar h2 {
    font-size: 1.8rem;
  }
  .calendar-text {
    display: block;
    text-align: center;
    line-height: 1.5;
    font-size: 1rem;
  }
  .calendar-copy {
    display: block;
    margin: 1em 0 40px 1em;
  }
  .calendars-img {
    width: auto;
  }
  .calendars-img img {
    width: 300px;
    padding: 0 10px;
  }
  .reghd {
    margin-left: 0;
  }
}
@media screen and (max-width: 400px) {
  .calendar h2 {
    font-size: 1.5rem;
    padding: 30px 0 20px;
  }
  .calendar-copy {
    display: block;
    margin: 1em 0 30px 1em;
  }
}

/*==== information ====*/
.information {
  width: 960px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.information h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 1px;
  color: #000;
  text-align: center;
  padding: 60px 0 40px;
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
}
.table td,
.table th {
  padding: 1rem 0.75rem;
  line-height: 1.5;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table td a {
  color: #000;
  transition: 0.4s;
}
.table td a:after {
  font-family: "Font Awesome 5 Free";
  content: " \f35d";
  font-weight: 700;
  color: #f00;
}
.table td a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 960px) {
  .information {
    width: 90%;
    padding-bottom: 20px;
  }
  .information h2 {
    font-size: 2rem;
    padding: 40px 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .information h2 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 400px) {
  .information h2 {
    font-size: 1.5rem;
    padding: 30px 0 20px;
  }
  table td,
  .table th {
    font-size: 0.9rem;
  }
}

/*==== Swiper ====*/
.swiper-container {
  text-align: center;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after,
.swiper-pagination {
  color: #bbbbbb;
  font-size: 2rem;
  opacity: 0.75;
}

/* swiper矢印 */
.swiper-button-next::after,
.swiper-button-prev::after {
  color: #bbbbbb;
  font-size: 2rem;
  opacity: 0.75;
}
/* swiper パージネーションカラー */
.swiper-pagination-bullet-active {
  --swiper-pagination-color: #bbbbbb;
}

/*====元のswiper
.swiper-button-prev:before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-size: 48px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0px 0px 4px #bbb;
}
.swiper-button-next:before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-size: 48px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0px 0px 4px #bbb;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "";
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 30px;
  left: auto;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 30px;
  right: auto;
}
====*/

/*==== Event ====*/
.event {
  width: 960px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.event h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 1px;
  color: #000;
  text-align: center;
  padding: 60px 0 30%;
}
.swiper-container .swiper-slide img {
  max-width: 100%;
  width: 94%;
  height: auto;
  margin: 0 0;
}
@media screen and (max-width: 960px) {
  .event {
    width: 90%;
    padding-bottom: 0px;
  }
  .event h2 {
    font-size: 2rem;
    padding: 40px 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .event h2 {
    font-size: 1.8rem;
    padding: 40px 0 20px;
  }
}
@media screen and (max-width: 400px) {
  .event h2 {
    font-size: 1.5rem;
    padding: 30px 0 20px;
  }
}

/*==== Car Life ====*/
.carlife {
  width: 960px;
  margin: 0 auto;
}
.carlife h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 1px;
  color: #000;
  text-align: center;
  padding: 60px 0 30px;
}
.swiper-container .swiper-slide img {
  max-width: 100%;
  width: 94%;
  height: auto;
  margin: 0 0;
}
@media screen and (max-width: 960px) {
  .carlife {
    width: 90%;
    margin: 0 auto;
  }
  .carlife h2 {
    font-size: 2rem;
  }
  .carlife {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .carlife h2 {
    font-size: 1.8rem;
    line-height: 1.3;
    padding: 60px 0 20px;
  }
}
@media screen and (max-width: 400px) {
  .carlife h2 {
    font-size: 1.5rem;
    padding: 40px 0 20px;
  }
}

/*==== Support ====*/
.support {
  width: 960px;
  margin: 0 auto;
}
.support h2 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 1px;
  color: #000;
  text-align: center;
  padding: 60px 0 30px;
}
.swiper-container .swiper-slide img {
  max-width: 100%;
  width: 500px;
  height: auto;
  margin: 0 0;
}
@media screen and (max-width: 960px) {
  .support {
    width: 90%;
  }
  .support h2 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .support h2 {
    font-size: 1.8rem;
    line-height: 1.3;
    padding: 60px 0 20px;
  }
}
@media screen and (max-width: 400px) {
  .support h2 {
    font-size: 1.5rem;
    padding: 40px 0 20px;
  }
}

.footer-pt {
  padding-top: 100px;
}

.swiper-button-next-life {
  right: 0px;
}

.swiper-button-prev-life {
  left: 0px;
}

.sample-slider img {
  width: 80%;
  display: block;
  margin: 0 auto;
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
}
