@charset "UTF-8";

/* ----------------------------- 共通コンポーネント ----------------------------- */

.contents__section {
  width: 100%;
  margin: auto;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.contents__section .contents__section__inr {
  width: 100%;
  margin: auto;
  display: block;
}

.contents__mainvisual .contents__mainvisual__img {
  font-size: 0;
  position: relative;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.contents__mainvisual .contents__mainvisual__img img {
  width: 100%;
}

.contents__mainvisual .contents__mainvisual__leadtext {
  position: absolute;
  color: #fff;
}

.contents__button__list .contents__button__item {
  display: block;
}

.contents__button__list .contents__button__item__link {
  display: block;
  background: #ab0d32;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  position: relative;
}

.contents__button__list .contents__button__item__link:hover {
  background: #bf0d37;
}

.contents__button__list .contents__button__item__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
  transform: translate(0, -50%) rotate(45deg);
}

.contents__heading {
  background: #ededed;
}

.contents__links__item {
  width: 100%;
  display: block;
  position: relative;
}

.contents__links__maintenancePack {
  width: 100%;
  display: block;
  background: #f8f3f4;
  overflow: hidden;
  -webkit-transition: background .4s ease-out;
  transition: background .4s ease-out;
}

.contents__links__maintenancePack::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #790f28 transparent;
}

.contents__links__maintenancePack img {
  width: 100%;
}

.contents__links__maintenancePack .contents__links__about__title {
  color: #000000;
}

.contents__links__maintenancePack .contents__links__about__text {
  color: #333333;
}

.contents__links__maintenancePack .contents__links__about__caution {
  color: #333333;
}

/* ----------------------------- モーダル ----------------------------- */

[modal-trigger] {
  cursor: pointer;
}

.modal-element {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 9999;
  display: none;
}

.modal-element.active {
  display: block;
}

.modal-element .modal-element__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #333;
  opacity: .8;
}

.modal-element .modal-element__inr {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.modal-element .modal-element__close {
  position: absolute;
  top: -60px;
  right: 0;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  width: 25px;
  width: 6.66667vw;
  height: 25px;
  height: 6.66667vw;
}

.modal-element .modal-element__close::before,
.modal-element .modal-element__close::after {
  position: absolute;
  content: "";
  display: block;
  background: #fff;
  width: 1.5px;
  width: 0.4vw;
  height: 25px;
  height: 6.66667vw;
}

.modal-element .modal-element__close::before {
  right: 11.5px;
  right: 3.06667vw;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal-element .modal-element__close::after {
  left: 11.5px;
  left: 3.06667vw;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modal-element .modal-element__close:hover {
  opacity: .4;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.modal-element .modal-element__img {
  width: 345px;
  width: 92vw;
  max-height: 345px;
  max-height: 92vw;
  overflow: auto;
  margin: auto;
}

.modal-element .modal-element__img img {
  width: 200%;
}

/* -----------------------------
  PC/SP 出し分け
----------------------------- */

.u-none {
  display: none !important;
}

.u-inlineblock {
  display: inline-block !important;
}

.u-block {
  display: block !important;
}

/* ----------------------------- カーライフサポート ----------------------------- */

.support__contentslist .support__contentslist__item {
  position: relative;
  width: 100%;
}

.support__contentslist .support__contentslist__item + .support__contentslist__item {
  margin-top: 4.16667%;
}

.support__contentslist .support__contentslist__link {
  background: #f8f3f4;
  display: block;
  -webkit-transition: background .2s ease-out;
  transition: background .2s ease-out;
}

.support__contentslist .support__contentslist__linkbtn {
  background: #790f28;
  display: block;
  margin: auto;
  position: absolute;
}

.support__contentslist .support__contentslist__linkbtn::before {
  content: "";
  display: block;
  position: absolute;
}

.support__contentslist .support__contentslist__thumbnail {
  font-size: 0;
  background: #fff;
}

.support__contentslist .support__contentslist__thumbnail img {
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}

.support__contentslist .support__contentslist__about__title {
  color: #333;
}

.support__contentslist .support__contentslist__about__text {
  color: #333;
}

@media screen and (min-width: 751px) {
  .contents__section .contents__section__inr--lead {
    padding: 60px 0 0;
  }

  .contents__section .contents__section__inr--article {
    padding: 60px 0 0;
  }

  .contents__section .contents__section__inr .contents__section__conts {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    display: block;
  }

  .contents__mainvisual .contents__mainvisual__img {
    height: 240px;
  }

  .contents__mainvisual .contents__mainvisual__leadtext {
    width: 1000px;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 21px;
    line-height: 1.95238;
  }

  .contents__button__list {
    max-width: 718px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
  }

  .contents__button__list .contents__button__item {
    width: calc((100% - 20px) / 2);
  }

  .contents__button__list .contents__button__item + .contents__button__item {
    margin-left: 20px;
  }

  .contents__button__list .contents__button__item__link {
    padding: 22px;
    font-size: 20px;
    line-height: 2.3;
  }

  .contents__button__list .contents__button__item__link::after {
    width: 8px;
    height: 8px;
    border: 2px solid transparent;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

  .contents__heading {
    font-size: 31px;
    line-height: 1.48387;
    text-align: center;
    padding: 34.5px 0;
  }

  .contents__links__item {
    padding-top: 30%;
  }

  .contents__links__maintenancePack {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .contents__links__maintenancePack::after {
    border-width: 0 0 37px 37px;
  }

  .contents__links__maintenancePack:hover {
    background: #efd5da;
    -webkit-transition: background .4s ease-out;
    transition: background .4s ease-out;
  }

  .contents__links__maintenancePack .contents__links__thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 34.4%;
  }

  .contents__links__maintenancePack .contents__links__about {
    width: 58%;
    position: absolute;
    top: 50%;
    left: 38.4%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .contents__links__maintenancePack .contents__links__about__title {
    font-size: 26px;
    line-height: 1.76923;
  }

  .contents__links__maintenancePack .contents__links__about__text {
    font-size: 13px;
    line-height: 1.76923;
  }

  .contents__links__maintenancePack .contents__links__about__title + .contents__links__about__text {
    margin-top: 5px;
  }

  .contents__links__maintenancePack .contents__links__about__caution {
    font-size: 10px;
    line-height: 2.3;
  }

  .contents__heading.r-shaken__about {
    margin: 70px auto 0;
  }

  .u-none--pc {
    display: none !important;
  }

  .u-inlineblock--pc {
    display: inline-block !important;
  }

  .u-block--pc {
    display: block !important;
  }

  .contents__mainvisual .contents__mainvisual__img.is-support {
    background-image: url("/images/after-service/carlife-support/mv.jpg");
  }

  .support__contentslist {
    padding: 70px 0 100px;
  }

  .support__contentslist .support__contentslist__item {
    padding-top: 23.3%;
  }

  .support__contentslist .support__contentslist__link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .support__contentslist .support__contentslist__link:hover {
    background: #efd5da;
    -webkit-transition: background .2s ease-out;
    transition: background .2s ease-out;
  }

  .support__contentslist .support__contentslist__link:hover .support__contentslist__thumbnail > img {
    opacity: 0.7;
    -webkit-transition: opacity .2s ease-out;
    transition: opacity .2s ease-out;
  }

  .support__contentslist .support__contentslist__linkbtn {
    top: 0;
    right: 0;
    bottom: 0;
    width: 3.1%;
  }

  .support__contentslist .support__contentslist__linkbtn::before {
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    z-index: 3;
    -webkit-transform: translate(-75%, -50%) rotate(45deg);
    transform: translate(-75%, -50%) rotate(45deg);
  }

  .support__contentslist .support__contentslist__thumbnail {
    width: 31%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .support__contentslist .support__contentslist__about {
    position: absolute;
    top: 50%;
    left: 34.9%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    max-width: 581px;
    width: 58.1%;
  }

  .support__contentslist .support__contentslist__about__title {
    font-size: 20px;
    line-height: 1.15;
  }

  .support__contentslist .support__contentslist__about__text {
    font-size: 13px;
    line-height: 1.76923;
  }

  .support__contentslist .support__contentslist__about__title + .support__contentslist__about__text {
    margin-top: 15px;
  }
}

@media screen and (max-width: 750px) {
  .contents__section .contents__section__inr--lead {
    padding: 32.5px 0px 0px 0px;
    padding: 8.66667vw 0vw 0vw 0vw;
  }

  .contents__section .contents__section__inr--article {
    padding: 32.5px 0px 0px 0px;
    padding: 8.66667vw 0vw 0vw 0vw;
  }

  .contents__section .contents__section__inr .contents__section__conts {
    width: 92%;
    margin: auto;
    display: block;
  }

  .contents__mainvisual .contents__mainvisual__img {
    padding-top: 71.73333%;
  }

  .contents__mainvisual .contents__mainvisual__leadtext {
    width: 92%;
    top: 3%;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 13.5px;
    font-size: 3.6vw;
    line-height: 2;
  }

  .contents__button__list {
    width: 75.94203%;
    margin: auto;
  }

  .contents__button__list .contents__button__item {
    width: 100%;
  }

  .contents__button__list .contents__button__item + .contents__button__item {
    margin: 20px auto 0px auto;
    margin: 5.33333vw auto 0vw auto;
  }

  .contents__button__list .contents__button__item__link {
    font-size: 15px;
    font-size: 4vw;
    line-height: 2.3;
    padding: 16.5px 16.5px 16.5px 16.5px;
    padding: 4.4vw 4.4vw 4.4vw 4.4vw;
  }

  .contents__button__list .contents__button__item__link::after {
    width: 12px;
    height: 12px;
    border: 4px solid transparent;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
  }

  .contents__heading {
    font-size: 22px;
    font-size: 5.86667vw;
    line-height: 1.22727;
    text-align: center;
    padding: 20.25px 0px 20.25px 0px;
    padding: 5.4vw 0vw 5.4vw 0vw;
  }

  .contents__links__maintenancePack::after {
    border-width: 0 0 44px 44px;
  }

  .contents__links__maintenancePack .contents__links__thumbnail {
    font-size: 0;
  }

  .contents__links__maintenancePack .contents__links__about {
    width: 100%;
    padding: 20px 24px 45px 24px;
    padding: 5.33333vw 6.4vw 12vw 6.4vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .contents__links__maintenancePack .contents__links__about__title {
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 2.15625;
  }

  .contents__links__maintenancePack .contents__links__about__text {
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1.83333;
    margin: 5px auto 0px auto;
    margin: 1.33333vw auto 0vw auto;
  }

  .contents__links__maintenancePack .contents__links__about__caution {
    font-size: 10px;
    font-size: 2.66667vw;
    line-height: 2.2;
    margin: 5px auto 0px auto;
    margin: 1.33333vw auto 0vw auto;
  }

  .contents__heading.r-shaken__about {
    margin: 28.5px auto 0px auto;
    margin: 7.6vw auto 0vw auto;
  }

  .modal-element .modal-element__inr {
    width: 97%;
  }

  .u-none--sp {
    display: none !important;
  }

  .u-inlineblock--sp {
    display: inline-block !important;
  }

  .u-block--sp {
    display: block !important;
  }

  .contents__mainvisual .contents__mainvisual__img.is-support {
    background-image: url("/images/after-service/carlife-support/mv-s.jpg");
  }

  .support__contentslist {
    margin: 34.5px auto 50px auto;
    margin: 9.2vw auto 13.33333vw auto;
  }

  .support__contentslist .support__contentslist__linkbtn {
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 6.95652%;
  }

  .support__contentslist .support__contentslist__linkbtn::before {
    top: 50%;
    left: 95%;
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
  }

  .support__contentslist .support__contentslist__thumbnail {
    width: 100%;
  }

  .support__contentslist .support__contentslist__about {
    padding: 25px 24px 50.5px 24px;
    padding: 6.66667vw 6.4vw 13.46667vw 6.4vw;
  }

  .support__contentslist .support__contentslist__about__title {
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 2.15625;
    text-align: center;
  }

  .support__contentslist .support__contentslist__about__text {
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1.83333;
  }

  .support__contentslist .support__contentslist__about__title + .support__contentslist__about__text {
    margin: 7.5px auto 0px auto;
    margin: 2vw auto 0vw auto;
  }
}

@media screen and (min-width: 751px) and (max-width: 1000px) {
  .contents__links__item {
    padding-top: 25vw;
  }

  .contents__links__maintenancePack .contents__links__thumbnail {
    width: 28.66667vw;
  }

  .contents__links__maintenancePack .contents__links__about {
    width: 63vw;
    left: 32vw;
  }

  .contents__links__maintenancePack .contents__links__about__title {
    font-size: 2.16667vw;
  }

  .contents__links__maintenancePack .contents__links__about__text {
    font-size: 1.08333vw;
  }

  .contents__links__maintenancePack .contents__links__about__caution {
    font-size: 0.83333vw;
  }
}

@media print {
  .contents__section .contents__section__inr--lead {
    padding: 60px 0 0;
  }

  .contents__section .contents__section__inr--article {
    padding: 60px 0 0;
  }

  .contents__section .contents__section__inr .contents__section__conts {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    display: block;
  }

  .contents__mainvisual .contents__mainvisual__img {
    height: 240px;
  }

  .contents__mainvisual .contents__mainvisual__leadtext {
    width: 1000px;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 21px;
    line-height: 1.95238;
  }

  .contents__button__list {
    max-width: 718px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: auto;
  }

  .contents__button__list .contents__button__item {
    width: calc((100% - 20px) / 2);
  }

  .contents__button__list .contents__button__item + .contents__button__item {
    margin-left: 20px;
  }

  .contents__button__list .contents__button__item__link {
    padding: 22px;
    font-size: 20px;
    line-height: 2.3;
  }

  .contents__button__list .contents__button__item__link::after {
    width: 8px;
    height: 8px;
    border: 2px solid transparent;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

  .contents__heading {
    font-size: 31px;
    line-height: 1.48387;
    text-align: center;
    padding: 34.5px 0;
  }

  .contents__links__item {
    padding-top: 30%;
  }

  .contents__links__maintenancePack {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .contents__links__maintenancePack::after {
    border-width: 0 0 37px 37px;
  }

  .contents__links__maintenancePack:hover {
    background: #efd5da;
    -webkit-transition: background .4s ease-out;
    transition: background .4s ease-out;
  }

  .contents__links__maintenancePack .contents__links__thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 34.4%;
  }

  .contents__links__maintenancePack .contents__links__about {
    width: 58%;
    position: absolute;
    top: 50%;
    left: 38.4%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .contents__links__maintenancePack .contents__links__about__title {
    font-size: 26px;
    line-height: 1.76923;
  }

  .contents__links__maintenancePack .contents__links__about__text {
    font-size: 13px;
    line-height: 1.76923;
  }

  .contents__links__maintenancePack .contents__links__about__title + .contents__links__about__text {
    margin-top: 5px;
  }

  .contents__links__maintenancePack .contents__links__about__caution {
    font-size: 10px;
    line-height: 2.3;
  }

  .contents__heading.r-shaken__about {
    margin: 70px auto 0;
  }

  .u-none--pc {
    display: none !important;
  }

  .u-inlineblock--pc {
    display: inline-block !important;
  }

  .u-block--pc {
    display: block !important;
  }

  .contents__mainvisual .contents__mainvisual__img.is-support {
    background-image: url("/images/after-service/carlife-support/mv.jpg");
  }

  .support__contentslist {
    padding: 70px 0 100px;
  }

  .support__contentslist .support__contentslist__item {
    padding-top: 23.3%;
  }

  .support__contentslist .support__contentslist__link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .support__contentslist .support__contentslist__link:hover {
    background: #efd5da;
    -webkit-transition: background .2s ease-out;
    transition: background .2s ease-out;
  }

  .support__contentslist .support__contentslist__link:hover .support__contentslist__thumbnail > img {
    opacity: 0.7;
    -webkit-transition: opacity .2s ease-out;
    transition: opacity .2s ease-out;
  }

  .support__contentslist .support__contentslist__linkbtn {
    top: 0;
    right: 0;
    bottom: 0;
    width: 3.1%;
  }

  .support__contentslist .support__contentslist__linkbtn::before {
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    z-index: 3;
    -webkit-transform: translate(-75%, -50%) rotate(45deg);
    transform: translate(-75%, -50%) rotate(45deg);
  }

  .support__contentslist .support__contentslist__thumbnail {
    width: 31%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .support__contentslist .support__contentslist__about {
    position: absolute;
    top: 50%;
    left: 34.9%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    max-width: 581px;
    width: 58.1%;
  }

  .support__contentslist .support__contentslist__about__title {
    font-size: 20px;
    line-height: 1.15;
  }

  .support__contentslist .support__contentslist__about__text {
    font-size: 13px;
    line-height: 1.76923;
  }

  .support__contentslist .support__contentslist__about__title + .support__contentslist__about__text {
    margin-top: 15px;
  }
}