@charset "UTF-8";
.cl_white, 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 {
  color: #ffffff;
}

.cl_black {
  color: #000000;
}

.cl_red, #gtm_form #contact__form table em {
  color: #c62121;
}

.cl_purple, body#gtm_service #page_title hgroup p,
body#gtm_stock #page_title hgroup p,
body#gtm_tuning #page_title hgroup p,
body#gtm_rental #page_title hgroup p,
body#gtm_form #page_title hgroup p,
body#gtm_404 #page_title hgroup p, #top__hero hgroup p,
#top__information hgroup p,
#top__news hgroup p,
#top__company hgroup p,
#top__access hgroup p {
  color: #964fff;
}

.cl_purple_d {
  color: #7225e2;
}

.bgcl_white {
  background-color: #ffffff;
}

.bgcl_black {
  background-color: #000000;
}

.bgcl_purple {
  background-color: #964fff;
}

.bgcl_purple_d {
  background-color: #7225e2;
}

.bgcl_dark {
  background-color: #111111;
}

.bgcl_dark_l {
  background-color: #222222;
}

.bgcl_gray, table.gtm_table th {
  background-color: #2d2d2d;
}

.bgcl_gray_l {
  background-color: #575757;
}

.bgcl_gray_ll {
  background-color: #aaa;
}

.bordercl_gray {
  border: 1px solid #2d2d2d;
}

.bordercl_gray_l {
  border: 1px solid #575757;
}

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;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  background-color: #ffffff;
}

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;
}

*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 767.98px) {
  html {
    font-size: 60%;
  }
}
@media screen and (max-width: 575.98px) {
  html {
    font-size: 58%;
  }
}
@media screen and (max-width: 400px) {
  html {
    font-size: 55%;
  }
}

html,
body,
.basic_font,
header nav#g-nav ul.header__gnavi li span {
  font-family: "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
  font-size: 1.5rem !important;
  line-height: 1.7em;
  color: #000000;
  transition: 0.3s;
  text-underline-position: under;
  background-position: center top;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.fs8 {
  font-size: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs8 {
    font-size: 0.76rem;
  }
}

.fs10 {
  font-size: 1rem;
}
@media screen and (max-width: 767.98px) {
  .fs10 {
    font-size: 0.95rem;
  }
}

.fs12, body#gtm_service #page_title hgroup p,
body#gtm_stock #page_title hgroup p,
body#gtm_tuning #page_title hgroup p,
body#gtm_rental #page_title hgroup p,
body#gtm_form #page_title hgroup p,
body#gtm_404 #page_title hgroup p, header nav#g-nav ul.header__gnavi li span, #top__hero hgroup p,
#top__information hgroup p,
#top__news hgroup p,
#top__company hgroup p,
#top__access hgroup p, figcaption {
  font-size: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs12, body#gtm_service #page_title hgroup p,
  body#gtm_stock #page_title hgroup p,
  body#gtm_tuning #page_title hgroup p,
  body#gtm_rental #page_title hgroup p,
  body#gtm_form #page_title hgroup p,
  body#gtm_404 #page_title hgroup p, header nav#g-nav ul.header__gnavi li span, #top__hero hgroup p,
  #top__information hgroup p,
  #top__news hgroup p,
  #top__company hgroup p,
  #top__access hgroup p, figcaption {
    font-size: 1.14rem;
  }
}

.fs14, footer #footer__address {
  font-size: 1.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs14, footer #footer__address {
    font-size: 1.33rem;
  }
}

.fs16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs16 {
    font-size: 1.52rem;
  }
}

.fs18, header nav#g-nav ul.header__gnavi li {
  font-size: 1.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs18, header nav#g-nav ul.header__gnavi li {
    font-size: 1.71rem;
  }
}

.fs20 {
  font-size: 2rem;
}
@media screen and (max-width: 767.98px) {
  .fs20 {
    font-size: 1.9rem;
  }
}

.fs22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs22 {
    font-size: 2.09rem;
  }
}

.fs24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs24 {
    font-size: 2.28rem;
  }
}

.fs26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs26 {
    font-size: 2.47rem;
  }
}

.fs28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs28 {
    font-size: 2.66rem;
  }
}

.fs30 {
  font-size: 3rem;
}
@media screen and (max-width: 767.98px) {
  .fs30 {
    font-size: 2.85rem;
  }
}

.fs32, body#gtm_service #page_title hgroup h1,
body#gtm_stock #page_title hgroup h1,
body#gtm_tuning #page_title hgroup h1,
body#gtm_rental #page_title hgroup h1,
body#gtm_form #page_title hgroup h1,
body#gtm_404 #page_title hgroup h1, #top__hero hgroup h3,
#top__information hgroup h3,
#top__news hgroup h3,
#top__company hgroup h3,
#top__access hgroup h3, #navi__contact h3 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs32, body#gtm_service #page_title hgroup h1,
  body#gtm_stock #page_title hgroup h1,
  body#gtm_tuning #page_title hgroup h1,
  body#gtm_rental #page_title hgroup h1,
  body#gtm_form #page_title hgroup h1,
  body#gtm_404 #page_title hgroup h1, #top__hero hgroup h3,
  #top__information hgroup h3,
  #top__news hgroup h3,
  #top__company hgroup h3,
  #top__access hgroup h3, #navi__contact h3 {
    font-size: 3.04rem;
  }
}

.fs34 {
  font-size: 3.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs34 {
    font-size: 3.23rem;
  }
}

.fs36 {
  font-size: 3.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs36 {
    font-size: 3.42rem;
  }
}

.fs38 {
  font-size: 3.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs38 {
    font-size: 3.61rem;
  }
}

.fs44 {
  font-size: 4.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs44 {
    font-size: 4.18rem;
  }
}

.fs52 {
  font-size: 5.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs52 {
    font-size: 4.94rem;
  }
}

.fs58 {
  font-size: 5.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs58 {
    font-size: 5.51rem;
  }
}

.fs70 {
  font-size: 7rem;
}
@media screen and (max-width: 767.98px) {
  .fs70 {
    font-size: 6.65rem;
  }
}

.fs80 {
  font-size: 8rem;
}
@media screen and (max-width: 767.98px) {
  .fs80 {
    font-size: 7.6rem;
  }
}

.fs90 {
  font-size: 9rem;
}
@media screen and (max-width: 767.98px) {
  .fs90 {
    font-size: 8.55rem;
  }
}

.fs100 {
  font-size: 10rem;
}
@media screen and (max-width: 767.98px) {
  .fs100 {
    font-size: 9.5rem;
  }
}

.lh8 {
  line-height: 0.8em;
}
@media screen and (max-width: 767.98px) {
  .lh8 {
    line-height: 0.76em;
  }
}

.lh9 {
  line-height: 0.9em;
}
@media screen and (max-width: 767.98px) {
  .lh9 {
    line-height: 0.855em;
  }
}

.lh10 {
  line-height: 1em;
}
@media screen and (max-width: 767.98px) {
  .lh10 {
    line-height: 0.95em;
  }
}

.lh11 {
  line-height: 1.1em;
}
@media screen and (max-width: 767.98px) {
  .lh11 {
    line-height: 1.045em;
  }
}

.lh12 {
  line-height: 1.2em;
}
@media screen and (max-width: 767.98px) {
  .lh12 {
    line-height: 1.14em;
  }
}

.lh13 {
  line-height: 1.3em;
}
@media screen and (max-width: 767.98px) {
  .lh13 {
    line-height: 1.235em;
  }
}

.lh14 {
  line-height: 1.4em;
}
@media screen and (max-width: 767.98px) {
  .lh14 {
    line-height: 1.33em;
  }
}

.lh15 {
  line-height: 1.5em;
}
@media screen and (max-width: 767.98px) {
  .lh15 {
    line-height: 1.425em;
  }
}

.lh16 {
  line-height: 1.6em;
}
@media screen and (max-width: 767.98px) {
  .lh16 {
    line-height: 1.52em;
  }
}

.lh17 {
  line-height: 1.7em;
}
@media screen and (max-width: 767.98px) {
  .lh17 {
    line-height: 1.615em;
  }
}

.lh18, figcaption {
  line-height: 1.8em;
}
@media screen and (max-width: 767.98px) {
  .lh18, figcaption {
    line-height: 1.71em;
  }
}

.lh19 {
  line-height: 1.9em;
}
@media screen and (max-width: 767.98px) {
  .lh19 {
    line-height: 1.805em;
  }
}

.lh20, #gtm_service #content__main p {
  line-height: 2em;
}
@media screen and (max-width: 767.98px) {
  .lh20, #gtm_service #content__main p {
    line-height: 1.9em;
  }
}

.lh21 {
  line-height: 2.1em;
}
@media screen and (max-width: 767.98px) {
  .lh21 {
    line-height: 1.995em;
  }
}

.lh22, p, #top__access #access__content dl, footer #fotter__link li {
  line-height: 2.2em;
}
@media screen and (max-width: 767.98px) {
  .lh22, p, #top__access #access__content dl, footer #fotter__link li {
    line-height: 2.09em;
  }
}

.lh23 {
  line-height: 2.3em;
}
@media screen and (max-width: 767.98px) {
  .lh23 {
    line-height: 2.185em;
  }
}

.lh24, #navi__contact .row > div:first-of-type ul {
  line-height: 2.4em;
}
@media screen and (max-width: 767.98px) {
  .lh24, #navi__contact .row > div:first-of-type ul {
    line-height: 2.28em;
  }
}

.lh25 {
  line-height: 2.5em;
}
@media screen and (max-width: 767.98px) {
  .lh25 {
    line-height: 2.375em;
  }
}

.lh28 {
  line-height: 2.8em;
}
@media screen and (max-width: 767.98px) {
  .lh28 {
    line-height: 2.66em;
  }
}

.lh30 {
  line-height: 3em;
}
@media screen and (max-width: 767.98px) {
  .lh30 {
    line-height: 2.85em;
  }
}

.b {
  font-weight: 700 !important;
}

.letter_s_2 {
  letter-spacing: 0.2em;
}

.font_smooth {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@font-face {
  font-family: Shippori Mincho B1;
  font-display: swap;
  src: url("../fonts/Shippori_Mincho_B1/ShipporiMinchoB1-Regular.ttf") format("TrueType");
}
.ff_mincho {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Hammersmith One;
  font-display: swap;
  src: url("../fonts/Hammersmith_One/HammersmithOne-Regular.ttf") format("TrueType");
}
.ff_hammersmith {
  font-family: "Hammersmith One", serif;
  font-weight: 400;
  font-style: normal;
}

.size_full {
  width: 100%;
  height: auto;
}

figcaption {
  text-align: center;
}

.rounded10 {
  border-radius: 10px;
}

.rounded15 {
  border-radius: 15px;
}

.rounded_all {
  border-radius: 100vmax;
}

.scroll {
  overflow: scroll;
}

.scroll_x {
  overflow-x: scroll;
}

.scroll_y {
  overflow-y: scroll;
}

#top_control {
  z-index: 10 !important;
}

.text_justify, #gtm_service #content__main p {
  text-align: justify;
}

.text_indent {
  text-indent: 1em;
}

.letter_2x {
  letter-spacing: 2rem;
}

.letter_1x {
  letter-spacing: 1rem;
}

.letter_half {
  letter-spacing: 0.5rem;
}

.multiply {
  mix-blend-mode: multiply;
}

.grid_5_1 {
  grid-template-columns: 5fr 1fr;
}

.grid_1_5 {
  grid-template-columns: 1fr 5fr;
}

.square {
  width: 100%;
  padding-top: 100%;
}

.text_shadow_10 {
  text-shadow: 1px 1px 10px #000;
}

.text_shadow_5 {
  text-shadow: 1px 1px 5px #000;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .br_pc {
    display: block;
  }
  .br_sp {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .br_pc {
    display: none;
  }
  .br_sp {
    display: block;
  }
}
@media screen and (min-width: 992px) {
  .br_lg {
    display: none;
  }
  .br_lg_b {
    display: block;
  }
}
@media screen and (max-width: 991.98px) {
  .br_lg {
    display: block;
  }
  .br_lg_b {
    display: none;
  }
}
@media screen and (min-width: 576px) {
  .br_sm {
    display: none;
  }
  .br_sm_b {
    display: block;
  }
}
@media screen and (max-width: 575.98px) {
  .br_sm {
    display: block;
  }
  .br_sm_b {
    display: none;
  }
}
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 767.98px) {
  .text_md_center {
    text-align: center;
  }
}
.px_50 {
  padding-right: 5rem;
  padding-left: 5rem;
}
@media screen and (max-width: 767.98px) {
  .px_50 {
    padding-right: 3.75rem;
    padding-left: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_50 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.py_50 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .py_50 {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_50 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.pt_50 {
  padding-top: 5rem;
}
@media screen and (max-width: 767.98px) {
  .pt_50 {
    padding-top: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_50 {
    padding-top: 3rem;
  }
}

.pb_50 {
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .pb_50 {
    padding-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_50 {
    padding-bottom: 3rem;
  }
}

.mb_50 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .mb_50 {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_50 {
    margin-bottom: 3rem;
  }
}

.px_60 {
  padding-right: 6rem;
  padding-left: 6rem;
}
@media screen and (max-width: 767.98px) {
  .px_60 {
    padding-right: 4.5rem;
    padding-left: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_60 {
    padding-right: 3.6rem;
    padding-left: 3.6rem;
  }
}

.py_60 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .py_60 {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_60 {
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
  }
}

.pt_60 {
  padding-top: 6rem;
}
@media screen and (max-width: 767.98px) {
  .pt_60 {
    padding-top: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_60 {
    padding-top: 3.6rem;
  }
}

.pb_60 {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .pb_60 {
    padding-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_60 {
    padding-bottom: 3.6rem;
  }
}

.mb_60 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767.98px) {
  .mb_60 {
    margin-bottom: 4.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_60 {
    margin-bottom: 3.6rem;
  }
}

.px_70 {
  padding-right: 7rem;
  padding-left: 7rem;
}
@media screen and (max-width: 767.98px) {
  .px_70 {
    padding-right: 5.25rem;
    padding-left: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_70 {
    padding-right: 4.2rem;
    padding-left: 4.2rem;
  }
}

.py_70 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .py_70 {
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_70 {
    padding-top: 4.2rem;
    padding-bottom: 4.2rem;
  }
}

.pt_70 {
  padding-top: 7rem;
}
@media screen and (max-width: 767.98px) {
  .pt_70 {
    padding-top: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_70 {
    padding-top: 4.2rem;
  }
}

.pb_70 {
  padding-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .pb_70 {
    padding-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_70 {
    padding-bottom: 4.2rem;
  }
}

.mb_70 {
  margin-bottom: 7rem;
}
@media screen and (max-width: 767.98px) {
  .mb_70 {
    margin-bottom: 5.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_70 {
    margin-bottom: 4.2rem;
  }
}

.px_80 {
  padding-right: 8rem;
  padding-left: 8rem;
}
@media screen and (max-width: 767.98px) {
  .px_80 {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_80 {
    padding-right: 4.8rem;
    padding-left: 4.8rem;
  }
}

.py_80 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .py_80 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_80 {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
  }
}

.pt_80 {
  padding-top: 8rem;
}
@media screen and (max-width: 767.98px) {
  .pt_80 {
    padding-top: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_80 {
    padding-top: 4.8rem;
  }
}

.pb_80 {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .pb_80 {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_80 {
    padding-bottom: 4.8rem;
  }
}

.mb_80 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .mb_80 {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_80 {
    margin-bottom: 4.8rem;
  }
}

.px_90 {
  padding-right: 9rem;
  padding-left: 9rem;
}
@media screen and (max-width: 767.98px) {
  .px_90 {
    padding-right: 6.75rem;
    padding-left: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_90 {
    padding-right: 5.4rem;
    padding-left: 5.4rem;
  }
}

.py_90 {
  padding-top: 9rem;
  padding-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .py_90 {
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_90 {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
  }
}

.pt_90 {
  padding-top: 9rem;
}
@media screen and (max-width: 767.98px) {
  .pt_90 {
    padding-top: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_90 {
    padding-top: 5.4rem;
  }
}

.pb_90 {
  padding-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .pb_90 {
    padding-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_90 {
    padding-bottom: 5.4rem;
  }
}

.mb_90 {
  margin-bottom: 9rem;
}
@media screen and (max-width: 767.98px) {
  .mb_90 {
    margin-bottom: 6.75rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_90 {
    margin-bottom: 5.4rem;
  }
}

.px_100 {
  padding-right: 10rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767.98px) {
  .px_100 {
    padding-right: 7.5rem;
    padding-left: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_100 {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}

.py_100 {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .py_100 {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_100 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.pt_100 {
  padding-top: 10rem;
}
@media screen and (max-width: 767.98px) {
  .pt_100 {
    padding-top: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_100 {
    padding-top: 6rem;
  }
}

.pb_100 {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .pb_100 {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_100 {
    padding-bottom: 6rem;
  }
}

.mb_100 {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  .mb_100 {
    margin-bottom: 7.5rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_100 {
    margin-bottom: 6rem;
  }
}

.px_120 {
  padding-right: 12rem;
  padding-left: 12rem;
}
@media screen and (max-width: 767.98px) {
  .px_120 {
    padding-right: 9rem;
    padding-left: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_120 {
    padding-right: 7.2rem;
    padding-left: 7.2rem;
  }
}

.py_120 {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .py_120 {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_120 {
    padding-top: 7.2rem;
    padding-bottom: 7.2rem;
  }
}

.pt_120 {
  padding-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  .pt_120 {
    padding-top: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_120 {
    padding-top: 7.2rem;
  }
}

.pb_120 {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .pb_120 {
    padding-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_120 {
    padding-bottom: 7.2rem;
  }
}

.mb_120 {
  margin-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .mb_120 {
    margin-bottom: 9rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_120 {
    margin-bottom: 7.2rem;
  }
}

.px_150 {
  padding-right: 15rem;
  padding-left: 15rem;
}
@media screen and (max-width: 767.98px) {
  .px_150 {
    padding-right: 11.25rem;
    padding-left: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_150 {
    padding-right: 9rem;
    padding-left: 9rem;
  }
}

.py_150 {
  padding-top: 15rem;
  padding-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .py_150 {
    padding-top: 11.25rem;
    padding-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_150 {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}

.pt_150 {
  padding-top: 15rem;
}
@media screen and (max-width: 767.98px) {
  .pt_150 {
    padding-top: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_150 {
    padding-top: 9rem;
  }
}

.pb_150 {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .pb_150 {
    padding-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_150 {
    padding-bottom: 9rem;
  }
}

.mb_150 {
  margin-bottom: 15rem;
}
@media screen and (max-width: 767.98px) {
  .mb_150 {
    margin-bottom: 11.25rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_150 {
    margin-bottom: 9rem;
  }
}

.px_160 {
  padding-right: 16rem;
  padding-left: 16rem;
}
@media screen and (max-width: 767.98px) {
  .px_160 {
    padding-right: 12rem;
    padding-left: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .px_160 {
    padding-right: 9.6rem;
    padding-left: 9.6rem;
  }
}

.py_160 {
  padding-top: 16rem;
  padding-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .py_160 {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .py_160 {
    padding-top: 9.6rem;
    padding-bottom: 9.6rem;
  }
}

.pt_160 {
  padding-top: 16rem;
}
@media screen and (max-width: 767.98px) {
  .pt_160 {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pt_160 {
    padding-top: 9.6rem;
  }
}

.pb_160 {
  padding-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .pb_160 {
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .pb_160 {
    padding-bottom: 9.6rem;
  }
}

.mb_160 {
  margin-bottom: 16rem;
}
@media screen and (max-width: 767.98px) {
  .mb_160 {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 575.98px) {
  .mb_160 {
    margin-bottom: 9.6rem;
  }
}

.anchor_wrap {
  padding-top: 80px;
  margin-top: -80px;
}
@media screen and (max-width: 767.98px) {
  .anchor_wrap {
    padding-top: 70px;
    margin-top: -70px;
  }
}

.animation, .animation-l, .animation-r {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
  transform: translateY(15px);
}

.animation-r {
  transform: translateX(15px);
}

.animation-l {
  transform: translateX(-15px);
}

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transform: translateX(0);
}

.fadeUpTrigger {
  opacity: 0;
}

.fadeUp_pos_top {
  animation-name: fadeUpAnime_pos_top;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime_pos_top {
  from {
    opacity: 0;
    margin-top: 0;
    -ms-filter: blur(6px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    margin-top: -10rem;
    -ms-filter: blur(0);
    filter: blur(0);
  }
}
.fadeUpTrigger_blur {
  opacity: 0;
}

.fadeUp_pos_top_blur {
  animation-name: fadeUpAnime_pos_top_blur;
  animation-duration: 1.6s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime_pos_top_blur {
  from {
    opacity: 0;
    margin-top: 0;
    -ms-filter: blur(20px);
    filter: blur(20px);
  }
  to {
    opacity: 1;
    margin-top: -15rem;
    -ms-filter: blur(10px);
    filter: blur(10px);
  }
}
.fadeUp_pos_btm {
  animation-name: fadeUpAnime_pos_btm;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime_pos_btm {
  from {
    opacity: 0;
    margin-bottom: 0;
    -ms-filter: blur(6px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    margin-bottom: 10rem;
    -ms-filter: blur(0);
    filter: blur(0);
  }
}
.fadeUp_pos_btm_blur {
  animation-name: fadeUpAnime_pos_btm_blur;
  animation-duration: 1.6s;
  animation-fill-mode: forwards;
}

@keyframes fadeUpAnime_pos_btm_blur {
  from {
    opacity: 0;
    margin-bottom: 0;
    -ms-filter: blur(20px);
    filter: blur(20px);
  }
  to {
    opacity: 1;
    margin-bottom: 15rem;
    -ms-filter: blur(10px);
    filter: blur(10px);
  }
}
.fadeUp_contents {
  animation-name: fadeUp_contents;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes fadeUp_contents {
  from {
    opacity: 0;
    margin-top: 10rem;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}
.TimelineTrigger {
  opacity: 0;
}

.timeline_Anim {
  animation-name: timeline_fadeAnim;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
}

@keyframes timeline_fadeAnim {
  from {
    opacity: 0;
    margin-top: 12rem;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}
*:focus {
  outline: none;
}

.position_center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.gradient_pink {
  background: linear-gradient(rgb(178, 49, 127), rgba(178, 49, 127, 0.5));
}

.gradient_brown {
  background: linear-gradient(rgb(87, 0, 0), rgba(87, 0, 0, 0.6));
}

/*===========================================================*/
/*機能編  5-1-1 ドロップダウンメニュー（上） */
/*===========================================================*/
/*========= ナビゲーションドロップダウンのためのCSS ===============*/
/*ナビゲーションを横並びに*/
nav ul {
  list-style: none;
}

/*2階層目以降は横並びにしない*/
nav ul ul {
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li {
  position: relative;
}

/*===========================================================*/
/*機能編  5-1-6 スクロール途中から上部固定 */
/*===========================================================*/
#header {
  position: fixed; /*fixedを設定して固定*/
  z-index: 999; /*最前面へ*/
}

/*==ふわっと出現させるためのCSS*/
/*　上に上がる動き　*/
#header.UpMove {
  position: fixed;
  width: 100%;
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
/*　下に下がる動き　*/
#header.DownMove {
  position: fixed;
  width: 100%;
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 1200px) {
  #header.UpMove,
  #header.DownMove {
    animation: none;
    padding: 0;
    display: block;
  }
}
/*==================================================
機能編 　5-1-11 クリックしたらナビが上から下に出現 //★使用
===================================*/
@media screen and (max-width: 1199.98px) {
  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: -200vh;
    left: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: rgba(0, 0, 0, 0.8);
    /*動き*/
    transition: all 0.6s;
  }
  #g-nav li {
    border-bottom: 1px solid #575757;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    top: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  #g-nav ul ul {
    width: 100%;
    margin: 0;
  }
  /*リストのレイアウト設定*/
  #g-nav li {
    list-style: none;
    text-align: center;
  }
  #g-nav li a {
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
}
/*==================================================
　機能編 5-2-7 3本線が奥行きを持って回転して×に //★使用
===================================*/
.g-nav-openbtn {
  display: none;
}

@media screen and (max-width: 1200px) {
  .g-nav-openbtn {
    display: block;
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 1rem;
    right: 0;
    cursor: pointer;
    width: 80px;
    height: 50px;
  }
  /*ボタン内側*/
  .g-nav-openbtn .openbtn-area {
    transition: all 0.4s;
  }
  .g-nav-openbtn span {
    display: inline-block;
    transition: all 0.4s; /*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    width: 45%;
  }
  .g-nav-openbtn span:nth-of-type(1) {
    top: 15px;
  }
  .g-nav-openbtn span:nth-of-type(2) {
    top: 23px;
  }
  .g-nav-openbtn span:nth-of-type(3) {
    top: 31px;
  }
  /*activeクラスが付与されると
  線と周りのエリアが回転して×になる*/
  .g-nav-openbtn.active .openbtn-area {
    transform: rotateY(-360deg);
  }
  .g-nav-openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 40%;
  }
  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .g-nav-openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 40%;
  }
}
/*==================================================
　機能編 5-3-3 左から右に線が伸びる（下部） //★使用 グロナビ
===================================*/
@media screen and (min-width: 1200px) {
  .nav01c li a {
    /*線の基点とするためrelativeを指定*/
    position: relative;
    display: inline-block;
  }
  .nav01c li a::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 24px;
    /*線の形状*/
    width: 70%;
    height: 1px;
    background: #964fff;
    /*アニメーションの指定*/
    transition: all 0.3s;
    transform: scale(0, 1); /*X方向0、Y方向1*/
    transform-origin: center top;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .nav01c li.ico_fb a::after, .nav01c li.ico_youtube a::after {
    display: none;
  }
  .nav01c li li a::after {
    display: none;
  }
  /*現在地とhoverの設定*/
  .nav01c li.current a::after,
  .nav01c li a:hover::after {
    transform: scale(1, 1); /*X方向にスケール拡大*/
  }
}
@media screen and (min-width: 1200px) and (max-width: 960px) {
  .nav01c li a::after {
    display: none;
  }
}
/*==================================================
機能編 8-1-4 ページの指定の範囲内で出現（下から上)　//★使用　ページトップへリンク
===================================*/
/*リンクの形状*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid #adadad;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
}

#page-top a:hover {
  background: #7225e2;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateX(100px);
}

#page-top span {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(45deg);
  margin: 8px 0 0 0;
}

/*　左の動き　*/
#page-top.LeftMove {
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/*　右の動き　*/
#page-top.RightMove {
  animation: RightAnime 0.5s forwards;
}

@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(100px);
  }
}
/*===========================================================*/
/*機能編  6-1-4 動きを組み合わせて全画面で見せる */
/*===========================================================*/
#slider {
  width: 100%;
  /* height: 91vh; スライダー全体の縦幅を91vhにする*/
}

/*==================================================
印象編 4 最低限おぼえておきたい動き //★使用　随所！
===================================*/
/*印象編　4-9、4-10　背景色が伸びて出現（左から・右から）　*/
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden; /*　はみ出た色要素を隠す　*/
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*印象編　4-9 背景色が伸びて出現（左から）*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#top__news .bgLRextend::before {
  background-color: #222222; /*伸びる背景色の設定*/
}

#top__company .bgLRextend::before {
  background-color: #111111; /*伸びる背景色の設定*/
}

#navi__contact.bgLRextend::before {
  background-color: #222222; /*伸びる背景色の設定*/
}

#gtm_service #page_title.bgLRextend::before,
#gtm_stock #page_title.bgLRextend::before,
#gtm_tuning #page_title.bgLRextend::before,
#gtm_rental #page_title.bgLRextend::before,
#gtm_form #page_title.bgLRextend::before,
#gtm_404 #page_title.bgLRextend::before {
  background-color: #222222;
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/*印象編　4-9 背景色が伸びて出現（右から）*/
.bgRLextend::before {
  animation-name: bgRLextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #111; /*伸びる背景色の設定*/
}

@keyframes bgRLextendAnime {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
  opacity: 0;
}

html {
  overflow-x: hidden;
  position: relative;
}

body#gtm_top,
body#gtm_service,
body#gtm_stock,
body#gtm_tuning,
body#gtm_rental,
body#gtm_form,
body#gtm_404 {
  overflow-x: hidden;
}

a {
  text-decoration: none;
  transition: all 0.4s;
}
a:hover {
  color: #964fff !important;
}

@font-face {
  font-family: Jost;
  font-display: swap;
  src: url("../fonts/Jost/Jost-VariableFont_wght.ttf") format("TrueType");
}
.ff_jost {
  font-family: "Jost", serif;
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Jost_i;
  font-display: swap;
  src: url("../fonts/Jost/Jost-Italic-VariableFont_wght.ttf") format("TrueType");
}
.ff_jost_i, header nav#g-nav ul.header__gnavi li {
  font-family: "Jost_i", serif;
  font-weight: 400;
  font-style: normal;
}

table.gtm_table {
  width: 100%;
}
table.gtm_table th,
table.gtm_table td {
  padding: 0.8rem 2rem;
}
table.gtm_table tr {
  border-bottom: 1px solid #575757;
}
table.gtm_table tr:first-of-type {
  border-top: 1px solid #575757;
}

.gtm_btn_round {
  position: relative;
  background: #964fff;
  color: #ffffff;
  border-radius: 100vmax;
  display: inline-block;
  margin-top: 2rem;
  padding: 1.5rem 9rem;
}
@media screen and (max-width: 767.98px) {
  .gtm_btn_round {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
  }
}
@media screen and (max-width: 575.98px) {
  .gtm_btn_round {
    padding: 1.2rem 6rem;
    width: 80%;
  }
}
.gtm_btn_round::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3rem;
  margin: auto 0;
  content: "";
  width: 1rem;
  height: 1rem;
  display: block;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
  transition: all 0.4s;
}
.gtm_btn_round:hover {
  background: #7225e2;
  color: #ffffff !important;
}
.gtm_btn_round:hover::after {
  right: 2.5rem;
}

body#gtm_service main,
body#gtm_stock main,
body#gtm_tuning main,
body#gtm_rental main,
body#gtm_form main,
body#gtm_404 main {
  padding-bottom: 10rem;
}
body#gtm_service #page_title,
body#gtm_stock #page_title,
body#gtm_tuning #page_title,
body#gtm_rental #page_title,
body#gtm_form #page_title,
body#gtm_404 #page_title {
  height: 240px;
  padding-top: 80px;
}
@media screen and (max-width: 767.98px) {
  body#gtm_service #page_title,
  body#gtm_stock #page_title,
  body#gtm_tuning #page_title,
  body#gtm_rental #page_title,
  body#gtm_form #page_title,
  body#gtm_404 #page_title {
    height: 200px;
  }
}
header {
  background: rgba(17, 17, 17, 0.9);
}
@media screen and (max-width: 1199.98px) {
  header {
    height: 70px;
  }
  header h1 img {
    width: auto;
    height: 40px;
    margin-top: 15px;
  }
}
@media screen and (min-width: 1200px) {
  header h1 img {
    width: 220px;
  }
  header div#header__wrapper,
  header nav#g-nav,
  header #g-nav-list {
    height: 80px;
  }
  header h1 {
    width: 20%;
  }
  header nav#g-nav {
    width: 80% !important;
  }
  header ul.header__gnavi li {
    padding: 0 1.2rem;
  }
}
header nav#g-nav ul.header__gnavi .ico_fb img,
header nav#g-nav ul.header__gnavi .ico_youtube img {
  width: 25px;
}
header nav#g-nav ul.header__gnavi li {
  text-align: center;
}
@media screen and (max-width: 1199.98px) {
  header nav#g-nav ul.header__gnavi li {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
header nav#g-nav #header__contact {
  text-align: center;
  display: flex;
  align-items: center;
}
header nav#g-nav #header__contact a {
  display: block;
}
header nav#g-nav #header__contact,
header nav#g-nav #header__contact_sp {
  background: #964fff;
  transition: all 0.4s;
}
header nav#g-nav #header__contact:hover,
header nav#g-nav #header__contact_sp:hover {
  background: #7225e2;
}
header nav#g-nav #header__contact a:hover,
header nav#g-nav #header__contact_sp a:hover {
  color: #ffffff !important;
}

#top__hero {
  margin-bottom: 26rem;
}
@media screen and (max-width: 767.98px) {
  #top__hero {
    margin-bottom: 10rem;
  }
}

#top__information {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  #top__information {
    margin-bottom: 6rem;
  }
}

#top__news {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  #top__news {
    margin-bottom: 6rem;
  }
}

#top__company {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767.98px) {
  #top__company {
    margin-bottom: 6rem;
  }
}

@media screen and (max-width: 767.98px) {
  #top__access {
    margin-bottom: 0;
  }
}

#top__hero {
  position: relative;
}
@media screen and (min-width: 768px) {
  #top__hero #catchcopy__base {
    display: inline-block;
    position: absolute;
    margin-top: -4rem;
    width: 74rem;
    height: 16rem;
  }
  #top__hero #catchcopy__text {
    z-index: 1;
    position: absolute;
    margin-left: 5rem;
    margin-top: -0.5rem;
  }
}
@media screen and (max-width: 767.98px) {
  #top__hero #catchcopy__text {
    text-align: center;
    font-size: 16pt;
    padding: 2rem;
    background: #42246f;
  }
}
@media screen and (max-width: 575.98px) {
  #top__hero #catchcopy__text {
    padding: 2rem 0;
    font-size: 11pt;
  }
}

#top__information .bgextend__area {
  position: relative;
}

#top__information .bgextend__area::after {
  opacity: 0;
}

#top__information .bgextend__area.startwd::after {
  content: "";
  position: absolute;
  top: -6rem;
  right: 0;
  height: 100%;
  background: #111111;
  z-index: -1;
  animation-name: bgRLextendAnime_ratio;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}
@media screen and (max-width: 575.98px) {
  #top__information .bgextend__area.startwd::after {
    height: 115%;
    animation-name: bgRLextendAnime_ratio_sp;
  }
}

@keyframes bgRLextendAnime_ratio {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 115%;
  }
}
@keyframes bgRLextendAnime_ratio_sp {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 85%;
  }
}
#top__company table th {
  width: 35%;
}
#top__company table td {
  width: 65%;
}

@media screen and (min-width: 768px) {
  #top__access #access__map {
    padding-top: 5rem !important;
  }
}
#top__access #access__map iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767.98px) {
  #top__access #access__map iframe {
    min-height: 50svh;
  }
}

#top__access .bgextend__area {
  position: relative;
}

#top__access .bgextend__area::after {
  opacity: 0;
}

#top__access .bgextend__area.startwd::after {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0;
  height: 100%;
  background: #111111;
  z-index: -1;
  animation-name: bgLRextendAnime_ratio;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}
@media screen and (max-width: 575.98px) {
  #top__access .bgextend__area.startwd::after {
    animation-name: bgLRextendAnime_ratio_sp;
  }
}

@keyframes bgLRextendAnime_ratio {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 115%;
  }
}
@keyframes bgLRextendAnime_ratio_sp {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 85%;
  }
}
#navi__contact div.navi__contact__wrapper {
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}
#navi__contact div {
  text-align: center;
}
@media screen and (min-width: 768px) {
  #navi__contact .row > div:first-of-type {
    border-right: 1px solid #aaa;
  }
}
#navi__contact .row > div:last-of-type {
  margin: auto 0;
}
#navi__contact .row > div:last-of-type a {
  border: 1px solid #ffffff;
  padding: 1.5rem 5rem;
  display: inline-block;
}

#gtm_service #content__nav .nav__link a {
  border: 1px solid #aaa;
  text-align: center;
  height: 100%;
}
#gtm_service #content__nav .nav__link a:hover {
  background-color: #964fff;
  color: #ffffff !important;
}
#gtm_service #content__main article .row {
  border-bottom: 1px solid #aaa;
}
@media screen and (max-width: 767.98px) {
  #gtm_service #content__main article img {
    width: 60%;
  }
}
#gtm_stock iframe {
  height: 70svh;
  background-color: #ffffff;
}

#gtm_rental {
  /* slickサムネイル用カスタム */
}
#gtm_rental .slider-for {
  position: relative;
}
#gtm_rental .slider-for button {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  border: none;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  position: absolute;
  top: 50%;
  z-index: 1;
  background: none;
  color: #fff;
}
#gtm_rental .slider-for button.slick-prev {
  left: 2rem;
  transform: rotate(135deg);
}
#gtm_rental .slider-for button.slick-next {
  right: 2rem;
  transform: rotate(-45deg);
}
#gtm_rental .slider-nav .slick-slide {
  opacity: 0.4;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border 0.2s, opacity 0.2s;
}
#gtm_rental .slider-nav .slick-current {
  opacity: 1;
  border: 2px solid #a259c4;
}
#gtm_rental .slider-nav img {
  width: 100%;
  height: auto;
  object-fit: cover;
  margin: 0 auto;
}
#gtm_rental table th {
  width: 35%;
}
#gtm_rental table td {
  width: 65%;
}

#gtm_form #contact__tel div {
  border: 1px solid #ffffff;
}
#gtm_form #contact__form table th {
  width: 35%;
}
#gtm_form #contact__form table td {
  width: 65%;
  padding: 2rem 3rem;
}
@media screen and (max-width: 1199.98px) {
  #gtm_form #contact__form table th,
  #gtm_form #contact__form table td {
    display: block;
    width: 100%;
    text-align: left;
  }
  #gtm_form #contact__form table th {
    padding: 1rem;
  }
  #gtm_form #contact__form table td {
    padding: 2rem 0;
  }
  #gtm_form #contact__form table tr {
    display: block;
    border-bottom: 1px solid #575757;
  }
  #gtm_form #contact__form table input,
  #gtm_form #contact__form table textarea {
    width: 100%;
  }
}
#gtm_form #contact__form input {
  padding: 0.5rem 1rem;
  border: none;
  transition: all 0.4s;
}

@media screen and (max-width: 1199.98px) {
  footer .row {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
footer #footer__address dt,
footer #footer__address dd {
  display: inline-block;
  vertical-align: top;
}
footer #footer__address dt::after {
  content: ":";
  padding-left: 0.5rem;
}
@media screen and (max-width: 1199.98px) {
  footer #fotter__link ul {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1200px) {
  footer #fotter__link ul {
    justify-content: flex-end;
  }
}
footer #fotter__link li {
  padding: 0 1rem;
}
@media screen and (max-width: 1199.98px) {
  footer #fotter__link li {
    padding: 0 1rem 0 0;
  }
}
footer #fotter__link li img {
  width: 25px;
}/*# sourceMappingURL=style.css.map */