@charset "UTF-8";
/* ============================================================= *

  Reset

* ============================================================= */
/* Reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  line-height: inherit;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ============================================================= *

  Utility

* ============================================================= */
/* align & float
====================================== */
.u-ta-left {
  text-align: left !important;
}

.u-ta-right {
  text-align: right !important;
}

.u-ta-center {
  text-align: center !important;
}

.u-fl-left {
  float: left !important;
}

.u-fl-right {
  float: right !important;
}

.u-fl-center {
  float: center !important;
}

/* display
====================================== */
.u-d-block {
  display: block !important;
}

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

.u-d-inline {
  display: inline !important;
}

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

/* clear
====================================== */
.u-clearfix:after {
  content: "";
  visibility: hidden;
  display: block;
  clear: both;
}

/* utility
====================================== */
.u-strong {
  font-weight: bold !important;
}

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

/* icon
============================== */
:root {
  --icon-angle: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M7.86003 6.00245L2.97192 1.11435C2.843 0.985429 2.78022 0.831961 2.78357 0.653943C2.78693 0.475924 2.85306 0.322402 2.98198 0.193376C3.1109 0.0644585 3.26437 0 3.44238 0C3.6204 0 3.77393 0.0644585 3.90295 0.193376L8.87087 5.17135C8.98811 5.2887 9.07501 5.42016 9.13157 5.56573C9.18824 5.7113 9.21658 5.85688 9.21658 6.00245C9.21658 6.14802 9.18824 6.2936 9.13157 6.43917C9.07501 6.58474 8.98811 6.7162 8.87087 6.83355L3.89289 11.8115C3.76398 11.9404 3.61218 12.0032 3.43752 11.9999C3.26274 11.9965 3.1109 11.9304 2.98198 11.8015C2.85306 11.6725 2.7886 11.5191 2.7886 11.3411C2.7886 11.163 2.85306 11.0095 2.98198 10.8805L7.86003 6.00245Z" fill="%23333333"/></svg>');
  --icon-info: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 28 28"><path fill="%23333" d="M14.0597 21q.3956 0 .6584-.266.2622-.2664.2623-.6598v-6.622q0-.3935-.2675-.6599-.2675-.266-.6632-.266-.3952 0-.658.266-.2626.2664-.2626.6599v6.622q0 .3934.2674.6598.2678.266.6632.266m-.0608-10.8865q.4521 0 .7593-.301.3073-.3006.3073-.7457 0-.4656-.3062-.7751-.3062-.309-.7589-.3091-.461 0-.7634.3106-.3025.3105-.3025.77 0 .4464.3058.7486.3062.3017.7586.3017M14.0088 28q-2.9072 0-5.4544-1.1023-2.5473-1.1024-4.448-3.0041-1.9006-1.9022-3.0037-4.448Q0 16.8996 0 13.9948q0-2.9046 1.1023-5.4563 1.1024-2.552 3.0041-4.4424 1.9022-1.8903 4.448-2.9934Q11.1004 0 14.0052 0q2.9046 0 5.4563 1.1023 2.552 1.1023 4.4424 2.992t2.9934 4.4442Q28 11.0932 28 13.9912q0 2.9072-1.1023 5.4544-1.1023 2.5473-2.992 4.4436-1.8895 1.8962-4.4442 3.0033Q16.9068 28 14.0088 28m-.0011-1.8517q5.0688 0 8.6049-3.5435 3.5357-3.5434 3.5357-8.6125 0-5.0688-3.5306-8.6049Q19.0871 1.8517 14 1.8517q-5.0613 0-8.6048 3.5306T1.8517 14q0 5.0613 3.5435 8.6048 3.5434 3.5436 8.6125 3.5435"/></svg>');
}

/* ============================================================= *

  Layout

* ============================================================= */
/* =============================================================

  Base

* ============================================================= */
html {
  font-size: 62.5%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: "游ゴシック", YuGothic, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Helvetica, Arial, sans-serif;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  color: #000;
  background-color: #fff;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a.js-tel {
  text-decoration: none !important;
  color: inherit !important;
}

a.js-tel._active {
  text-decoration: underline !important;
}

#googleAnalyticsImageObj {
  position: absolute;
  bottom: 0;
  left: 0;
}

.l-wrapper {
  width: 100%;
  max-width: 1300px;
  min-width: 1020px;
  min-height: 100%;
  position: relative;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 3px 3px rgba(99, 99, 99, 0.2);
  box-shadow: 0 0 3px 3px rgba(99, 99, 99, 0.2);
}

#js-wrapper {
  overflow: hidden !important;
  padding: 0;
}

.l-loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #fff;
}

.pixel-spinner {
  height: 70px;
  width: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pixel-spinner .pixel-spinner-inner {
  width: calc(70px / 7);
  height: calc(70px / 7);
  background-color: #e70500;
  color: #e70500;
  -webkit-box-shadow: 15px 15px  0 0, -15px -15px  0 0, 15px -15px  0 0, -15px 15px  0 0, 0 15px  0 0, 15px 0  0 0, -15px 0  0 0, 0 -15px 0 0;
  box-shadow: 15px 15px  0 0, -15px -15px  0 0, 15px -15px  0 0, -15px 15px  0 0, 0 15px  0 0, 15px 0  0 0, -15px 0  0 0, 0 -15px 0 0;
  -webkit-animation: pixel-spinner-animation 2000ms linear infinite;
  animation: pixel-spinner-animation 2000ms linear infinite;
}

@-webkit-keyframes pixel-spinner-animation {
  50% {
    -webkit-box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
    box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
  }
  75% {
    -webkit-box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
    box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes pixel-spinner-animation {
  50% {
    -webkit-box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
    box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
  }
  75% {
    -webkit-box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
    box-shadow: 20px 20px 0px 0px, -20px -20px 0px 0px, 20px -20px 0px 0px, -20px 20px 0px 0px, 0px 10px 0px 0px, 10px 0px 0px 0px, -10px 0px 0px 0px, 0px -10px 0px 0px;
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* =============================================================

  Main

* ============================================================= */
/* main
--------------------------- */
.l-main {
  width: 100%;
  position: relative;
  padding: 0;
}

/* breadcrumbs
--------------------------- */
.l-breadcrumbs {
  width: 100%;
  margin: 1.85em 0 1em 0;
}

.c-breadcrumbs {
  color: #202020;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  max-width: 1020px;
  margin: 0 auto;
}

.c-breadcrumbs a {
  color: #e70500;
  text-decoration: underline;
}

.c-breadcrumbs a:hover {
  text-decoration: none;
}

.c-breadcrumbs li {
  font-size: 1.3rem;
}

.c-breadcrumbs li + li:before {
  content: ">";
  display: inline;
  padding: 0 1.25em;
  color: #202020;
}

/* page-head
--------------------------- */
.l-page-heading__bg {
  width: 100%;
  height: 240px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.l-page-heading__inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.l-page-heading__title {
  color: #fff;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.l-page-heading__title .en {
  color: #fff;
  position: relative;
}

.l-page-heading__title .en:before {
  content: "";
  height: 2px;
  background-color: #e70500;
  position: absolute;
  left: 0;
  bottom: 0;
}

.l-page-heading__title .ja {
  font-size: 3.6rem;
  font-weight: 500;
}

[data-category="car"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-car.jpg);
}

[data-category="car"] .l-page-heading__title .en:before {
  width: 27px;
}

[data-category="campaign"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-campaign.jpg);
}

[data-category="campaign"] .l-page-heading__title .en:before {
  width: 68px;
}

[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom.jpg);
}
/* ._sr01[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom01.jpg);
}
._sr02[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom02.jpg);
}
._sr03[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom03.jpg);
}
._sr04[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom04.jpg);
}
._sr05[data-category="showroom"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-showroom05.jpg);
} */

[data-category="showroom"] .l-page-heading__title .en:before {
  width: 78px;
}

[data-category="carlife"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-carlife.jpg);
}

[data-category="carlife"] .l-page-heading__title .en:before {
  width: 54px;
}

[data-category="maintenance"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-maintenance.jpg);
}

[data-category="maintenance"] .l-page-heading__title .en:before {
  width: 89px;
}

[data-category="company"] .l-page-heading__bg {
  background-image: url(../img/bg/bg_head-company.jpg);
}

[data-category="company"] .l-page-heading__title .en:before {
  width: 63px;
}

/* page-contents
--------------------------- */
.l-page-contents {
  position: relative;
}

.l-page-contents._top-space {
  padding-top: 3em;
}

/* local-menu
--------------------------- */
.c-local-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1020px;
  margin: 0 auto;
  padding: 20px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

.c-local-menu-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.5rem;
  letter-spacing: -.07em;
}

.c-local-menu-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-local-menu-list__item:not(:last-of-type):after {
  content: "\FF5C";
}

.c-local-menu-list__item a {
  -webkit-transition: color .4s;
  -o-transition: color .4s;
  transition: color .4s;
  padding: 0 .6em;
  font-size: 1.37rem;
  color: #000 !important;
  text-decoration: none !important;
  font-family: "游ゴシック", YuGothic, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Helvetica, Arial, sans-serif !important;
}

.c-local-menu-list__item a:hover {
  color: #e70500 !important;
}

.c-category__name {
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  color: #fff;
  background-color: #000;
  display: block;
  padding: 0 .55em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.45;
}

/* =============================================================

  Header

* ============================================================= */
@-webkit-keyframes headerFixed {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes headerFixed {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.l-header {
  width: 100%;
  min-width: 1020px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #000;
  position: relative;
  z-index: 100;
  font-family: "游ゴシック", YuGothic, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Helvetica, Arial, sans-serif !important;
}

.l-header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-animation-name: headerFixed;
  animation-name: headerFixed;
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.l-header__inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto 0;
  position: relative;
}

.l-header__logo a {
  -webkit-transition: .2s;
  -o-transition: .2s;
  transition: .2s;
  padding-left: 1.2em;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-header__logo a img {
  line-height: 0;
  display: block;
  width: 100%;
}

.l-header__logo a:hover {
  opacity: .7;
}

#l-header-gnav {
  position: relative;
  top: 0;
  z-index: 9000;
}

#l-header-gnav__inner {
  text-align: center;
  position: relative;
  z-index: 10000;
  font-size: 1.6rem !important;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#l-header-gnav__inner > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
}

#l-header-gnav__inner > ul > li > a {
  padding: 1.6em 1.91em;
  color: #fff !important;
  border-left: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#l-header-gnav__inner > ul > li > a i {
  display: block;
}

#l-header-gnav__inner > ul ul > li:last-child {
  border-top: 1px solid #333;
}

#l-header-gnav__inner li {
  cursor: pointer;
}

#l-header-gnav__inner ul li > a p {
  position: relative;
  display: inline-block;
  outline: none;
  text-decoration: none;
  overflow: hidden;
  vertical-align: middle;
}

#l-header-gnav__inner a {
  -webkit-transition: background-color .3s ease;
  -o-transition: background-color .3s ease;
  transition: background-color .3s ease;
  background-color: #000;
}

#l-header-gnav__inner a:hover, #l-header-gnav__inner a:focus {
  outline: none;
  background-color: #333;
  cursor: pointer;
}

#l-header-gnav__inner a span {
  position: relative;
  display: inline-block;
  min-width: 3.5em;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  -o-transition: transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  text-align: center;
}

#l-header-gnav__inner a span:before {
  position: absolute;
  bottom: -80%;
  color: #252525;
  width: 100%;
  display: block;
  font-size: 1.3rem;
  text-align: center;
  content: attr(data-hover);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#l-header-gnav__inner > ul ul > li > a {
  padding: 0.9em 1.91em;
  color: #fff !important;
  border-left: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none !important;
}

#l-header-gnav__inner > ul ul > li > a i {
  margin-right: 7px;
  position: relative;
  top: 3px;
}

#l-header-gnav__inner > ul > li > ul > li:last-child > a {
  color: #e70500 !important;
}

#l-header-gnav__inner .l-header-gnav__subMenu {
  content: '';
  opacity: 0;
  -webkit-transition: opacity .3s, -webkit-transform .3s;
  transition: opacity .3s, -webkit-transform .3s;
  -o-transition: opacity .3s, transform .3s;
  transition: opacity .3s, transform .3s;
  transition: opacity .3s, transform .3s, -webkit-transform .3s;
  -webkit-transform: translateY(10px);
  -ms-transform: translateY(10px);
  transform: translateY(10px);
  visibility: hidden;
  position: absolute;
  line-height: 0;
}

#l-header-gnav__inner .l-header-gnav__subMenu a {
  text-align: left;
  padding: 25px 25px 25px 10px;
  -webkit-transition: .3s ease-in-out;
  -o-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

#l-header-gnav__inner .l-header-gnav__subMenu a:before {
  content: "\003e";
  font-family: "Ionicons";
  display: inline-block;
  color: #fff !important;
  padding: 0 .85em;
}

#l-header-gnav__inner .l-header-gnav__subMenu a:hover {
  color: #fff !important;
}

#l-header-gnav__inner .l-header-gnav__subMenu a:hover:before {
  color: #fff !important;
}

#l-header-gnav__inner .l-header-gnav__subMenu a span:before {
  content: attr(data-hover);
  position: absolute;
  top: 100%;
  color: #fff;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

#l-header-gnav__inner .l-header-gnav__subMenu li {
  background-color: #333;
  border-bottom: 1px solid #606060;
  font-size: 1.3rem !important;
  -webkit-transition: background-color .8s ease;
  -o-transition: background-color .8s ease;
  transition: background-color .8s ease;
}

#l-header-gnav__inner .l-header-gnav__subMenu li:last-of-type {
  border-bottom: none;
}

#l-header-gnav__inner .l-header-gnav__subMenu li:hover {
  background-color: #000;
}

#l-header-gnav__inner .l-header-gnav__subMenu span {
  -webkit-transition: all .5s ease !important;
  -o-transition: all .5s ease !important;
  transition: all .5s ease !important;
}

#l-header-gnav__inner .menu_on {
  /* firefox */
}

#l-header-gnav__inner .menu_on .l-header-gnav__subMenu {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
}

#l-header-gnav__inner .menu_on x:-moz-any-link, #l-header-gnav__inner .menu_on x:default {
  transform: translateY(-2px);
}

#l-header-gnav__inner .sub_menu_on {
  -webkit-transform: rotate(180deg) !important;
  -ms-transform: rotate(180deg) !important;
  transform: rotate(180deg) !important;
}

#l-header-gnav__inner .safari .menu_on .sub_menu {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
}

/* =============================================================

  Footer

* ============================================================= */
/* base
--------------------------- */
.l-footer {
  color: #ccc;
  background-color: #000;
  font-family: "游ゴシック", YuGothic, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Helvetica, Arial, sans-serif !important;
}

.l-footer__inner {
  width: 1020px;
  margin: 0 auto;
  padding: 70px 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.l-footer-nav {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.l-footer-nav__list {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.l-footer-nav__list p {
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  color: #ccc;
  font-size: 2.4rem;
  margin-bottom: 25px;
  padding-top: 25px;
  width: 220px;
  border-top: 1px solid #606060;
}

.l-footer-local__list {
  padding-bottom: 40px;
}

.l-footer-local__item {
  margin-bottom: 5px;
  line-height: 1.6;
}

.l-footer-local__item a {
  font-size: 1.5rem !important;
  font-weight: 500;
  color: #ccc !important;
  text-decoration: none !important;
  letter-spacing: -.07em;
  display: block;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.l-footer-local__item a:hover {
  -webkit-transform: translateX(5px);
  -ms-transform: translateX(5px);
  transform: translateX(5px);
}

.l-footer-contact {
  width: 220px;
  height: 50px;
  background: #fff;
  position: relative;
}

.l-footer-contact__button {
  height: 100%;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
  font-size: 1.6rem;
  font-weight: 600;
  background-color: #ccc;
  color: #303030;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.l-footer-contact__button:before {
  content: "";
  width: 18px;
  height: 16px;
  display: block;
  margin-right: 8px;
  background-image: url(../img/icon/icon_contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.l-footer-contact__button span:after {
  content: "\F3D3";
  font-family: "ionicons";
  position: absolute;
  right: .85em;
}

@media all and (-ms-high-contrast: none) {
  .l-footer-contact__button span:after {
    top: .85em;
  }
}

@media all and (-ms-high-contrast: none) {
  .l-footer-contact__button *::-ms-backdrop, .l-footer-contact__button span {
    padding-top: 5px;
  }
}

.l-footer-contact__button:hover {
  opacity: .7;
}

.l-footer-copyright__box {
  text-align: center;
  padding: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 2;
}

.l-footer-copyright__txt span {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
}

.l-footer-copyright__txt {
  font-size: 1.3rem;
}

.l-footer-copyright__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-footer-copyright__wrapper > .CMN-RECYCLE > a {
  text-decoration: underline;
}

.l-footer-group {
  margin: 0 auto;
  padding-bottom: 70px;
}

.l-footer-group-list__item img {
  width: 100%;
  vertical-align: bottom;
}

.l-footer-group-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  gap: 2em;
}

.l-footer-group-list__item a {
  display: block;
  padding: 1.5em 2em;
  background: #fff;
}


/* pagetop
--------------------------- */
#l-pageTop {
  bottom: 20px;
  font-size: 0;
  position: fixed;
  right: 20px;
  z-index: 2;
}

.l-pagetop__box {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  display: block;
  width: 70px;
  height: 70px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #000;
  text-align: center;
  padding: 7px 0;
}

.l-pagetop__box:hover {
  opacity: .7;
}
