@charset "UTF-8";
html, body {
  font-feature-settings: "palt";
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  text-justify: inter-ideograph;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }

body {
  height: 100%; }

.sp_none {
  display: none; }

#overlay {
  background: black;
  height: 100%;
  width: 100%;
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0.8;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  z-index: 1; }

.section_title {
  font-family: 'Roboto Condensed', sans-serif;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-left: -0.1em;
  text-align: center;
  line-height: 1; }
  .section_title.white {
    color: #fff; }
  .section_title small {
    font-size: 18px;
    display: block;
    letter-spacing: normal;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 2; }

.section_title2 {
  font-family: 'Roboto Condensed', sans-serif;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-left: -0.1em;
  text-align: center;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .section_title2 {
      font-size: 1.5rem; } }
  .section_title2 small {
    font-size: 18px;
    display: block;
    letter-spacing: normal;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 2; }
    @media screen and (max-width: 768px) {
      .section_title2 small {
        font-size: 1rem; } }

a {
  text-decoration: none;
  color: #111111; }

ul {
  list-style: none; }

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  height: 52px; }
  .header__inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px;
    max-width: 1280px;
    box-sizing: border-box; }
  .header__logo {
    display: block;
    flex-shrink: 0; }
    .header__logo img {
      display: block;
      width: 63px;
      height: 20px; }
  .header__menu {
    margin-left: auto;
    flex-shrink: 0;
    width: 48px;
    height: 13px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    .header__menu span {
      display: block;
      height: 1px;
      background: #000;
      transition: transform .3s, opacity .3s; }
  .header__company {
    margin-left: 78px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    color: #000;
    max-width: 100px; }
    .header__company img {
      width: 100%;
      height: auto; }
    .header__company span {
      font-size: 14px;
      margin-left: 3px; }

.gnav {
  margin-left: 40px;
  height: 100%; }
  .gnav__list {
    display: flex;
    height: 100%;
    margin: 0;
    padding: 0; }
  .gnav__item {
    position: relative;
    width: 100px;
    height: 100%; }
    .gnav__item::before {
      content: "";
      position: absolute;
      top: 16px;
      left: 0;
      width: 1px;
      height: 20px;
      background: #000; }
    .gnav__item:last-child a::before {
      content: "";
      position: absolute;
      top: 16px;
      right: -1px;
      width: 1px;
      height: 20px;
      background: #000; }
    .gnav__item a {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
      font-size: 12px;
      font-weight: 400;
      letter-spacing: 0;
      white-space: nowrap;
      color: #000; }
    .gnav__item::after {
      content: "";
      position: absolute;
      left: 0;
      right: -1px;
      bottom: 8px;
      height: 1px;
      background: #999;
      opacity: 0;
      transition: opacity .3s; }
    .gnav__item.is-active::after, .gnav__item:hover::after {
      opacity: 1; }

.gnav__sub {
  position: absolute;
  top: 52px;
  left: 0;
  width: max-content;
  min-width: 144px;
  box-sizing: border-box;
  margin: 0;
  padding: 13px 26px 13px 0;
  list-style: none;
  background: rgba(5, 10, 24, 0.53);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s; }
  .gnav__sub li {
    margin: 0; }
  .gnav__sub a {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding-left: 26.5px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    white-space: nowrap; }
    .gnav__sub a::after {
      content: "";
      width: 7px;
      height: 7px;
      margin-left: 12.5px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      background: linear-gradient(to bottom right, transparent calc(50% - .5px), #fff calc(50% - .5px), #fff calc(50% + .5px), transparent calc(50% + .5px)); }

.gnav__item.has-sub:hover .gnav__sub,
.gnav__item.has-sub:focus-within .gnav__sub {
  opacity: 1;
  visibility: visible; }

:where(.fv__copy) p {
  margin: 0; }

.fv {
  position: relative;
  height: var(--fv-height, 840px);
  overflow: hidden;
  font-family: 'Noto Sans JP', sans-serif; }
  .fv::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, var(--fv-overlay, 0.315)); }
  .fv__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--fv-position, center); }
  .fv .fv__slider {
    z-index: 0;
    height: 100%; }
  .fv__copy {
    position: absolute;
    z-index: 1;
    top: var(--fv-copy-top, 280px);
    left: 50%;
    width: 1280px;
    margin-left: -640px;
    padding-left: 120px;
    box-sizing: border-box;
    color: #fff; }
  .fv__tagline {
    margin: 0;
    line-height: 0; }
    .fv__tagline img {
      display: block;
      width: 343px;
      height: auto; }
  .fv__plus {
    margin-top: 17.5px;
    font-size: 33.8px;
    font-weight: 200;
    line-height: 1.2;
    letter-spacing: 0.01em; }
  .fv__text {
    margin-top: 21.5px;
    font-size: 16px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0; }
  .fv__logo {
    display: block;
    width: 151px;
    height: auto;
    margin-top: 34.5px; }

/* ---------- 共通パーツ（include/parts.php） ---------- */
/* デザイン: 26_09dss_web_*（幅1280px基準） */
.c-page {
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt";
  color: #000;
  background: #fff;
  overflow: hidden; }

:where(.c-page) p {
  margin: 0; }

:where(.c-page) img {
  display: block;
  max-width: none; }

.c-block {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto; }

.c-block--showroom {
  max-width: none; }

.c-block:last-child {
  padding-bottom: 120px; }

.c-block--showroom:last-child {
  padding-bottom: 0; }

/* 大見出し・本文 */
.c-heading {
  margin: 0;
  font-size: 36px;
  font-weight: 300;
  line-height: 44px;
  letter-spacing: 0;
  color: #4c4c4c; }

.c-text {
  margin-top: 25px;
  font-size: 18px;
  font-weight: 300;
  line-height: 32px;
  letter-spacing: 0;
  color: #000; }

.c-text p {
  margin: 0; }

.c-text p + p {
  margin-top: 32px; }

.c-lead--center {
  text-align: center; }

.c-lead--center .c-text {
  margin-top: 17.5px; }

/* 見出し（英字＋日本語） */
.c-title {
  margin: 0;
  font-size: inherit;
  font-weight: inherit; }

.c-title__en {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #808080; }

.c-title__ja {
  display: inline-block;
  margin-top: 6px;
  padding-bottom: 4.5px;
  border-bottom: 0.5px solid #000;
  font-size: 13.8px;
  font-weight: 400;
  line-height: 1.5;
  color: #000; }

.c-title--center {
  text-align: center; }

.c-title--center .c-title__ja {
  padding-left: 2.5px;
  padding-right: 2.5px; }

.c-title--wide .c-title__ja {
  padding-left: 25px;
  padding-right: 25px; }

/* 詳しく見る */
.c-more {
  display: inline-flex;
  align-items: center;
  margin-top: 33px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #000;
  text-decoration: none; }

.c-block > .c-more {
  margin-top: 0; }

.c-more__icon {
  position: relative;
  width: 40px;
  height: 40px;
  margin-left: 22px;
  border-radius: 50%;
  background: #808080;
  transition: background .3s; }

.c-more__icon::before, .c-more__icon::after {
  content: "";
  position: absolute; }

.c-more__icon::before {
  top: 15px;
  left: 16px;
  width: 9px;
  height: 9px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff; }

.c-more__icon::after {
  top: 19.5px;
  left: 14px;
  width: 12.5px;
  height: 1px;
  background: #fff;
  transform: rotate(-45deg); }

.c-more:hover .c-more__icon {
  background: #4c4c4c; }

/* 黒いボタン */
.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 510px;
  height: 50px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: #231f20;
  font-family: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: opacity .3s; }

.c-button:hover {
  opacity: .8; }

/* モデルページのタイトル・導入 */
.c-model-title {
  height: 70px;
  margin: 0;
  border-top: 2px solid #000;
  border-bottom: 0.5px solid #231815;
  box-sizing: border-box;
  font-size: 36px;
  font-weight: 300;
  line-height: 67.5px;
  text-align: center;
  color: #4c4c4c; }

.c-model-intro__img {
  width: 100%;
  height: 388.5px;
  margin-top: 39px;
  object-fit: cover; }

.c-model-intro__text {
  margin-top: 27px;
  font-size: 18px;
  font-weight: 300;
  line-height: 32px;
  text-align: center; }

/* 製品カテゴリの帯 */
.c-category {
  height: 70px;
  margin: 0;
  border-top: 10px solid #000;
  box-sizing: border-box;
  background: #808080;
  font-size: 16px;
  font-weight: 500;
  line-height: 60px;
  text-align: center;
  color: #fff; }

/* 製品一覧 */
.c-products {
  display: grid;
  grid-template-columns: repeat(3, 340px);
  row-gap: 60px;
  margin: 0;
  padding: 0;
  list-style: none; }

.c-product {
  margin: 0; }

.c-product__link {
  display: block;
  color: #000;
  text-align: center;
  text-decoration: none; }

a.c-product__link:hover {
  opacity: .8; }

.c-product__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160.5px; }

.c-product__img img {
  max-width: 240px;
  max-height: 160.5px;
  width: auto;
  height: auto; }

.c-product__model, .c-product__name {
  display: block;
  font-size: 14px;
  line-height: 23.5px; }

.c-product__model {
  margin-top: 18.5px;
  font-weight: 700; }

.c-product__name {
  font-weight: 500; }

/* ブランド紹介パネル */
.c-brand-panel {
  display: flex;
  width: 1020px;
  height: 388px;
  margin: 0 auto; }

.c-brand-panel__img {
  width: 510px;
  height: 388px;
  object-fit: cover; }

.c-brand-panel__body {
  width: 510px;
  padding-top: 48.5px;
  box-sizing: border-box;
  background: #231f20;
  text-align: center;
  color: #fff; }

.c-brand-panel--gray .c-brand-panel__body {
  background: #808080; }

.c-brand-panel__logo {
  width: 181px;
  height: auto;
  margin: 0 auto; }

.c-brand-panel__title {
  margin-top: 10.5px;
  font-size: 18px;
  font-weight: 500;
  line-height: 27px; }

.c-brand-panel__title::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  margin: 17.5px auto 0;
  background: #fff; }

.c-brand-panel__text {
  margin-top: 12.5px;
  font-size: 17.5px;
  font-weight: 300;
  line-height: 32px; }

.c-brand-panel__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 178px;
  height: 32px;
  margin: 35.5px auto 0;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: #231f20;
  text-decoration: none;
  transition: opacity .3s; }

.c-brand-panel__button:hover {
  opacity: .8; }

/* ショールーム拠点 */
.c-showroom-wrap--gray {
  background: #e5e5e5; }

.c-showroom-wrap--white {
  background: #fff; }

.c-showroom {
  padding: 42px 0 81.5px; }

.c-showroom__inner {
  width: 980px;
  margin: 0 auto;
  text-align: center; }

.c-showroom__title {
  margin: 0;
  font-size: inherit;
  font-weight: inherit; }

.c-showroom__title::after {
  content: "";
  display: block;
  width: 32px;
  height: 4px;
  margin: 22.5px auto 0;
  background: #808080; }

.c-showroom__en {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #808080; }

.c-showroom__ja {
  display: block;
  margin-top: 7px;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #000; }

.c-showroom__photos {
  display: flex;
  justify-content: center;
  margin-top: 40.5px; }

.c-showroom__photos img {
  width: 490px;
  height: 298px;
  object-fit: cover; }

.c-showroom__info {
  margin-top: 34.5px;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px; }

.c-showroom__map {
  display: block;
  width: 980px;
  height: 400px;
  margin-top: 37px;
  border: 0;
  filter: grayscale(100%); }

.c-showroom .c-button {
  margin-top: 42px; }

/* 自由入力 */
.c-free {
  font-size: 16px;
  line-height: 1.9; }

.c-free p {
  margin: 0 0 1em; }

.c-free img {
  max-width: 100%;
  height: auto; }

/* ページ送り（dss_pager）。前後は矢印、現在のページは黒 */
.c-pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 80px;
  padding: 0 15px; }
  .c-pager .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 6px;
    background: #fff;
    font-size: 15px;
    line-height: 1;
    color: #4c4c4c;
    text-decoration: none;
    transition: background .3s, color .3s; }
  .c-pager a.page-numbers:hover, .c-pager .page-numbers.current {
    background: #231f20;
    color: #fff; }
  .c-pager .page-numbers.dots {
    min-width: 0;
    background: none; }
  .c-pager .prev::before, .c-pager .next::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor; }
  .c-pager .prev::before {
    margin-left: 4px;
    transform: rotate(-135deg); }
  .c-pager .next::before {
    margin-right: 4px;
    transform: rotate(45deg); }

.c-pager__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; }

.footer {
  padding: 0;
  background: #e5e5e5;
  color: #000;
  font-feature-settings: normal; }
  .footer a {
    color: #000;
    text-decoration: none; }
  .footer a:hover {
    text-decoration: underline; }
  .footer__inner {
    position: relative;
    max-width: 1280px;
    height: 319px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box; }
  .footer__sitemap {
    position: absolute;
    top: 78px;
    left: 40px;
    display: flex; }
    .footer__sitemap dl {
      margin: 0; }
    .footer__sitemap dt, .footer__sitemap dd {
      margin: 0;
      font-size: 10px;
      line-height: 19px;
      white-space: nowrap; }
    .footer__sitemap dt {
      font-weight: 700; }
    .footer__sitemap dd {
      font-weight: 300; }
    .footer__sitemap dd.footer__strong {
      font-weight: 700; }
    .footer__sitemap dl:nth-child(1) {
      width: 104px; }
    .footer__sitemap dl:nth-child(2) {
      width: 148px; }
    .footer__sitemap dl:nth-child(3) {
      width: 143px; }
    .footer__sitemap dl:nth-child(4) {
      width: 124px; }
    .footer__sitemap dl:nth-child(5) {
      width: 84px; }
  .footer__brand {
    position: absolute;
    top: 80px;
    right: 40px;
    text-align: right; }
  .footer__logo img {
    display: block;
    width: 143.5px;
    height: auto;
    margin-left: auto; }
  .footer__company {
    margin: 30px 0 0;
    font-size: 23.5px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 2.5px;
    white-space: nowrap; }
    .footer__company img {
      margin-left: auto;
      display: block;
      max-width: 120px;
      width: 100%;
      height: auto; }
    .footer__company span {
      font-size: 19.3px;
      margin-left: 0.5px;
      letter-spacing: 0; }
  .footer__address {
    margin: 13px 0 0;
    font-size: 12.2px;
    font-weight: 300;
    line-height: 1.4;
    white-space: nowrap; }
  .footer__bottom {
    position: absolute;
    top: 207.5px;
    left: 40px;
    display: flex;
    align-items: center;
    height: 32.5px; }
  .footer__sns {
    display: flex;
    gap: 11px; }
    .footer__sns a {
      display: block;
      width: 32px;
      height: 32px; }
    .footer__sns svg {
      display: block;
      width: 100%;
      height: 100%; }
  .footer__copy {
    margin: 0 0 0 41px;
    font-size: 10px;
    font-weight: 300; }
  .footer__privacy {
    margin-left: 39.5px;
    font-size: 10px;
    font-weight: 300; }

footer {
  padding-top: 4rem;
  padding-bottom: 2rem;
  background-color: black; }
  footer .footer_upper {
    display: flex;
    max-width: 980px;
    box-sizing: border-box;
    margin: auto;
    padding: 15px;
    justify-content: space-between; }
    @media screen and (max-width: 515px) {
      footer .footer_upper {
        flex-direction: column-reverse;
        padding: 0; } }
    footer .footer_upper .sitemap {
      background-color: black;
      display: flex; }
      @media screen and (max-width: 515px) {
        footer .footer_upper .sitemap {
          display: block;
          border-bottom: 1px dotted #666; } }
      footer .footer_upper .sitemap .sumally {
        color: white;
        display: none;
        width: 100%;
        padding: 0.5rem;
        box-sizing: border-box;
        background: #000;
        border-top: 1px dotted #666; }
        @media screen and (max-width: 515px) {
          footer .footer_upper .sitemap .sumally {
            display: block;
            text-align: center;
            cursor: pointer; } }
      footer .footer_upper .sitemap ul {
        margin-right: 1rem;
        transition: all ease 0.5s; }
        footer .footer_upper .sitemap ul.active {
          display: block !important; }
        @media screen and (max-width: 515px) {
          footer .footer_upper .sitemap ul {
            display: none;
            margin: auto;
            text-align: center; } }
        footer .footer_upper .sitemap ul:last-of-type {
          font-weight: 500; }
        @media screen and (max-width: 515px) {
          footer .footer_upper .sitemap ul li {
            width: 100%;
            padding: 0.5rem;
            box-sizing: border-box; } }
        footer .footer_upper .sitemap ul li a {
          font-size: 0.8rem;
          color: white; }
        footer .footer_upper .sitemap ul li:first-of-type a {
          font-weight: 500; }
    footer .footer_upper .right .logobox {
      display: block;
      width: 220px; }
      footer .footer_upper .right .logobox img {
        width: 100%;
        height: auto; }
      @media screen and (max-width: 515px) {
        footer .footer_upper .right .logobox {
          margin: auto;
          margin-bottom: 2rem; } }
    footer .footer_upper .right .sns_box {
      display: flex;
      justify-content: flex-end; }
      @media screen and (max-width: 515px) {
        footer .footer_upper .right .sns_box {
          justify-content: center; }
          footer .footer_upper .right .sns_box a {
            margin: 2rem;
            color: white; } }
      footer .footer_upper .right .sns_box a {
        margin-right: 1rem;
        display: block; }
        footer .footer_upper .right .sns_box a img {
          width: 3rem;
          height: auto; }
  footer .footer_lower {
    display: flex;
    max-width: 980px;
    box-sizing: border-box;
    padding: 15px;
    font-size: 0.8rem;
    border-top: 1px solid #888;
    margin: auto;
    justify-content: space-between;
    margin-top: 15px; }
    @media screen and (max-width: 515px) {
      footer .footer_lower {
        display: flex;
        border: none;
        flex-direction: column-reverse; } }
    footer .footer_lower ul {
      display: flex; }
      @media screen and (max-width: 515px) {
        footer .footer_lower ul {
          flex-direction: column-reverse; } }
      footer .footer_lower ul li {
        margin-right: 2rem;
        color: white; }
        footer .footer_lower ul li a {
          color: white; }
        @media screen and (max-width: 515px) {
          footer .footer_lower ul li {
            margin: auto;
            text-align: center; } }
    footer .footer_lower .footer_logo {
      text-align: right;
      color: #111111; }
      @media screen and (max-width: 515px) {
        footer .footer_lower .footer_logo {
          text-align: center; } }
      footer .footer_lower .footer_logo img {
        width: 200px;
        height: auto; }
      footer .footer_lower .footer_logo p {
        text-align: right;
        color: white; }
        footer .footer_lower .footer_logo p a {
          color: white !important; }
        @media screen and (max-width: 515px) {
          footer .footer_lower .footer_logo p {
            text-align: center; } }

a.Rounded_Button {
  background-color: #535353;
  color: #fff;
  padding: 0.7em 1em;
  max-width: 250px;
  width: 50%;
  text-align: center;
  border-radius: 25px;
  display: block;
  margin: auto;
  margin-top: 50px;
  overflow: hidden;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 515px) {
    a.Rounded_Button {
      font-size: 14px;
      width: 80%; } }
  a.Rounded_Button.last {
    margin-bottom: 50px;
    max-width: 500px; }
  a.Rounded_Button:after {
    display: block;
    position: absolute;
    left: 0;
    content: "";
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    background: -moz-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
    background: -webkit-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
    background: linear-gradient(135deg, gray 0%, #4c4c4c 100%);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all  0.2s ease; }
  a.Rounded_Button:hover:after {
    opacity: 1; }
  a.Rounded_Button.white_btn {
    background: #fff;
    color: #535353;
    display: block;
    overflow: hidden;
    position: relative; }
    a.Rounded_Button.white_btn:after {
      display: block;
      position: absolute;
      left: 0;
      content: "";
      top: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      opacity: 0;
      background: -moz-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
      background: -webkit-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
      background: linear-gradient(135deg, gray 0%, #4c4c4c 100%);
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all  0.2s ease; }
    a.Rounded_Button.white_btn:hover {
      color: #fff; }
      a.Rounded_Button.white_btn:hover:after {
        opacity: 1; }

#title_container {
  padding: 100px 1rem;
  background: #808080;
  background: -moz-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
  background: -webkit-linear-gradient(-45deg, gray 0%, #4c4c4c 100%);
  background: linear-gradient(135deg, gray 0%, #4c4c4c 100%);
  color: #fff;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  #title_container.title_back {
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    #title_container.title_back .section_title {
      position: relative;
      z-index: 1; }
    #title_container.title_back:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.4); }
  #title_container .single_title {
    text-align: center;
    font-size: 26px;
    font-weight: 500; }
  #title_container .single_date {
    display: block;
    text-align: center;
    font-size: 13.5px;
    margin-top: 30px; }
  #title_container.security {
    padding: 0;
    padding-top: 10px;
    padding-bottom: 20px;
    height: 150vh;
    background-image: url(../img/securityback.jpg);
    background-position: center;
    background-size: cover; }
    #title_container.security .security_inner {
      max-width: 1280px;
      margin: auto;
      width: 100%; }
      #title_container.security .security_inner h1 {
        text-align: left;
        margin-top: 75px;
        font-weight: 500;
        color: #333; }
        #title_container.security .security_inner h1 small {
          display: block; }
      #title_container.security .security_inner h2 {
        text-align: left;
        margin-top: 40px;
        color: #333; }
  #title_container.graphic {
    padding: 0;
    padding-top: 10px;
    padding-bottom: 20px;
    height: 70vh; }
  #title_container.company {
    background: none;
    padding: 0;
    padding-top: 10px;
    padding-bottom: 20px;
    position: relative; }
    #title_container.company h2 {
      padding: 150px 0px;
      padding-top: 200px; }
    #title_container.company .company_back {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      z-index: -1;
      height: auto;
      background-size: cover;
      height: 125vh;
      display: flex;
      align-items: flex-start; }
      @media screen and (max-width: 515px) {
        #title_container.company .company_back {
          max-height: 850px;
          height: 100%;
          justify-content: center; } }
      #title_container.company .company_back img.company_back_img {
        width: 100%;
        height: auto;
        position: relative;
        top: 0px;
        left: 0; }
        @media screen and (max-width: 515px) {
          #title_container.company .company_back img.company_back_img {
            width: auto;
            height: 100%; } }
  #title_container.recruit {
    background-image: url(../img/recruitback.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-wrap: wrap;
    z-index: 1;
    height: 60vh;
    max-height: 600px; }
    #title_container.recruit:after {
      z-index: -2;
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0.8; }
    #title_container.recruit video {
      width: 100%;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: 0px auto;
      z-index: -11;
      display: none; }
    #title_container.recruit .recruit_dot {
      width: 100%;
      height: 100%;
      display: blcok;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; }
    #title_container.recruit .recruit_inner {
      width: 35%;
      margin: auto;
      align-items: center;
      flex-direction: column; }
      #title_container.recruit .recruit_inner h2 {
        color: #fff;
        z-index: 1111;
        position: relative;
        width: 100%; }
      #title_container.recruit .recruit_inner ul {
        margin-left: auto;
        width: 100%;
        padding-top: 5%; }
        #title_container.recruit .recruit_inner ul img {
          max-width: 325px;
          height: auto;
          width: 70%;
          margin: 25px auto; }
  #title_container.mobile {
    background-image: url(../img/mobileback.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    padding-top: 100px; }
    #title_container.mobile .mobile_inner {
      width: 100%;
      max-width: 1280px;
      margin: auto;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
      #title_container.mobile .mobile_inner h2 {
        color: #fff;
        width: 100%; }
      #title_container.mobile .mobile_inner p {
        padding: 15px;
        text-align: center; }
      #title_container.mobile .mobile_inner ul {
        margin: auto;
        width: 100%;
        display: flex;
        justify-content: space-around;
        align-items: center; }
        #title_container.mobile .mobile_inner ul img {
          max-width: 325px;
          height: auto;
          width: 85%;
          margin: 25px auto; }

#general_container, #information_container {
  width: 100%;
  background: #dde2e7;
  padding-bottom: 50px;
  padding-top: 50px; }
  #general_container .inner_div, #information_container .inner_div {
    max-width: 780px;
    padding: 0px 15px;
    margin: auto; }
    #general_container .inner_div dl, #information_container .inner_div dl {
      max-width: 500px;
      margin: auto;
      margin-bottom: 35px; }
      #general_container .inner_div dl dt, #information_container .inner_div dl dt {
        margin-bottom: 15px; }
    #general_container .inner_div input[type=text], #general_container .inner_div input[type=tel], #general_container .inner_div input[type=email], #general_container .inner_div textarea, #general_container .inner_div select, #information_container .inner_div input[type=text], #information_container .inner_div input[type=tel], #information_container .inner_div input[type=email], #information_container .inner_div textarea, #information_container .inner_div select {
      background: #fff;
      border-radius: 3px;
      padding: 10px;
      width: 100%; }
    #general_container .inner_div .selectbox, #information_container .inner_div .selectbox {
      position: relative;
      display: inline-block;
      width: 100%; }
      #general_container .inner_div .selectbox:before, #information_container .inner_div .selectbox:before {
        content: '';
        position: absolute;
        z-index: 0;
        top: 0;
        right: 0;
        background: #ccc;
        height: 100%;
        width: 30px; }
      #general_container .inner_div .selectbox:after, #information_container .inner_div .selectbox:after {
        content: '';
        position: absolute;
        z-index: 0;
        top: 0;
        bottom: 0;
        margin: auto 0;
        right: 9px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6px 6px 0 6px;
        border-color: #555 transparent transparent transparent; }
    #general_container .inner_div select, #information_container .inner_div select {
      position: relative;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    #general_container .inner_div input[type=submit], #information_container .inner_div input[type=submit] {
      max-width: 500px;
      margin: auto;
      border-radius: 30px;
      background: #333;
      color: #fff;
      width: 100%;
      padding: 15px;
      display: block;
      transition: all 0.2s ease;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      background: #808080;
      background: -moz-linear-gradient(-45deg, #333 0%, #333 100%);
      background: -webkit-linear-gradient(-45deg, #333 0%, #333 100%);
      background: linear-gradient(135deg, #333 0%, #333 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#808080', endColorstr='#4c4c4c',GradientType=1 );
      letter-spacing: 1em; }
      #general_container .inner_div input[type=submit]:focus, #information_container .inner_div input[type=submit]:focus {
        outline: 0; }
      #general_container .inner_div input[type=submit]:hover, #information_container .inner_div input[type=submit]:hover {
        background: #808080;
        background: -moz-linear-gradient(-45deg, #808080 0%, #4c4c4c 100%);
        background: -webkit-linear-gradient(-45deg, #808080 0%, #4c4c4c 100%);
        background: linear-gradient(135deg, #808080 0%, #4c4c4c 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#808080', endColorstr='#4c4c4c',GradientType=1 );
        box-shadow: 0 0 5px #333; }
    #general_container .inner_div .wpcf7-not-valid-tip, #information_container .inner_div .wpcf7-not-valid-tip {
      color: #bb2427; }
    #general_container .inner_div .screen-reader-response, #information_container .inner_div .screen-reader-response {
      display: block;
      margin: auto;
      max-width: 500px; }
      #general_container .inner_div .screen-reader-response p, #information_container .inner_div .screen-reader-response p {
        padding: 10px; }
      #general_container .inner_div .screen-reader-response ul, #information_container .inner_div .screen-reader-response ul {
        margin-top: 15px;
        margin-bottom: 25px; }
    #general_container .inner_div .wpcf7-validation-errors, #information_container .inner_div .wpcf7-validation-errors {
      display: block;
      margin: auto;
      max-width: 500px;
      text-align: center; }
    #general_container .inner_div h3, #information_container .inner_div h3 {
      font-weight: 500;
      padding: 30px 0; }
    #general_container .inner_div p, #information_container .inner_div p {
      font-size: 13.5px;
      line-height: 180%;
      margin-bottom: 15px;
      text-align: justify;
      letter-spacing: 1px; }
    #general_container .inner_div ul, #information_container .inner_div ul {
      list-style: circle;
      padding-left: 1.5em;
      font-size: 13.5px; }
      #general_container .inner_div ul li, #information_container .inner_div ul li {
        margin-bottom: 0.5em; }
    #general_container .inner_div .contact_box, #information_container .inner_div .contact_box {
      margin-top: 50px; }
    #general_container .inner_div .p_box, #information_container .inner_div .p_box {
      border-bottom: dotted 1px #333;
      padding-bottom: 15px; }
      #general_container .inner_div .p_box p, #information_container .inner_div .p_box p {
        font-size: 13.5px; }

#information_container {
  background: #dde2e7;
  position: relative; }

#information_container .inner_div, #recruit_container .inner_div {
  border-top: 1px solid #555; }
  #information_container .inner_div:first-of-type, #recruit_container .inner_div:first-of-type {
    border-top: none; }
  #information_container .inner_div h2, #recruit_container .inner_div h2 {
    text-align: left;
    font-weight: 500; }
    #information_container .inner_div h2:after, #recruit_container .inner_div h2:after {
      content: "";
      margin-right: auto;
      border-bottom: 3px solid #808080;
      width: 50px;
      height: 5px;
      display: block;
      margin-top: 10px;
      margin-bottom: 20px; }
  #information_container .inner_div h3, #recruit_container .inner_div h3 {
    border-left: 3px solid #808080;
    padding: 0;
    padding-left: 10px;
    font-weight: 500;
    line-height: 1;
    margin: 15px auto;
    font-size: 18px;
    margin-top: 20px; }
  #information_container .inner_div h4, #recruit_container .inner_div h4 {
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 10px;
    margin-top: 25px;
    color: #4c4c4c; }
  #information_container .inner_div h5, #recruit_container .inner_div h5 {
    font-weight: 500;
    font-size: 13.5px;
    margin-bottom: 15px; }
  #information_container .inner_div hr, #recruit_container .inner_div hr {
    border-color: #666; }
  #information_container .inner_div ol, #recruit_container .inner_div ol {
    padding-left: 2em;
    font-size: 13.5px; }
  #information_container .inner_div strong, #recruit_container .inner_div strong {
    font-weight: 500; }
  #information_container .inner_div ul, #recruit_container .inner_div ul {
    font-size: 13.5px; }
  #information_container .inner_div img, #recruit_container .inner_div img {
    width: auto;
    height: auto;
    max-width: 100%; }
    #information_container .inner_div img.alignright, #recruit_container .inner_div img.alignright {
      float: right;
      display: block;
      padding: 10px;
      padding-right: 0px; }
      #information_container .inner_div img.alignright:after, #recruit_container .inner_div img.alignright:after {
        display: block;
        content: "a";
        height: 1px;
        width: 1px; }
    #information_container .inner_div img.aligncenter, #recruit_container .inner_div img.aligncenter {
      text-align: center;
      display: block;
      margin: auto; }
  #information_container .inner_div p, #recruit_container .inner_div p {
    font-size: 13.5px; }
    #information_container .inner_div p a, #recruit_container .inner_div p a {
      color: #808080; }
      #information_container .inner_div p a:hover, #recruit_container .inner_div p a:hover {
        text-decoration: underline; }
  #information_container .inner_div dl dt, #information_container .inner_div dl dd, #recruit_container .inner_div dl dt, #recruit_container .inner_div dl dd {
    font-size: 13.5px; }
#information_container .contact_for, #recruit_container .contact_for {
  border-top: 1px dotted #555;
  padding-top: 20px;
  margin-top: 20px; }

.archive_flex {
  max-width: 980px;
  margin: auto;
  width: 100%;
  padding: 15px;
  margin-top: 50px;
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .archive_flex a {
    position: relative;
    width: 100%;
    top: 0px;
    margin-bottom: 25px;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all  0.2s ease; }
    .archive_flex a:hover {
      position: relative;
      top: -10px; }
      .archive_flex a:hover article {
        box-shadow: 0 0 8px #999; }
        .archive_flex a:hover article .blue_border {
          width: 100%; }
    .archive_flex a article {
      background: #fff;
      width: 100%;
      position: relative;
      top: 0;
      box-shadow: 0 0 3px #999;
      padding: 15px;
      font-size: 13.5px;
      height: 100%;
      display: flex;
      justify-content: space-between;
      height: 382px; }
      @media screen and (max-width: 515px) {
        .archive_flex a article {
          flex-direction: column-reverse;
          padding: 0px;
          height: auto; } }
      .archive_flex a article .blue_border {
        width: 0%;
        height: 3px;
        position: absolute;
        top: 0;
        left: 0;
        background: #808080;
        background: -moz-linear-gradient(-45deg, #808080 0%, #4c4c4c 100%);
        background: -webkit-linear-gradient(-45deg, #808080 0%, #4c4c4c 100%);
        background: linear-gradient(135deg, #808080 0%, #4c4c4c 100%);
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        transition: all  0.2s ease; }
      .archive_flex a article .textbox {
        width: 33%;
        padding-top: 30px; }
        @media screen and (max-width: 515px) {
          .archive_flex a article .textbox {
            width: 100%;
            padding: 15px; } }
        .archive_flex a article .textbox small {
          font-family: 'Roboto Condensed', sans-serif;
          font-size: 18px;
          font-weight: 500; }
          @media screen and (max-width: 515px) {
            .archive_flex a article .textbox small {
              font-size: 14px; } }
        .archive_flex a article .textbox time {
          color: #555;
          font-size: 12px;
          display: block;
          font-family: 'Roboto Condensed', sans-serif; }
        .archive_flex a article .textbox h2 {
          font-size: 22px;
          font-weight: 500;
          margin-bottom: 20px;
          margin-top: 20px;
          color: #808080; }
          @media screen and (max-width: 515px) {
            .archive_flex a article .textbox h2 {
              font-size: 18px; } }
        .archive_flex a article .textbox p {
          font-size: 12px;
          text-align: justify; }
          @media screen and (max-width: 515px) {
            .archive_flex a article .textbox p {
              display: none; } }
      .archive_flex a article .imgbox {
        overflow: hidden;
        width: 66%;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 515px) {
          .archive_flex a article .imgbox {
            width: 100%;
            max-height: 150px; } }
        .archive_flex a article .imgbox img {
          width: 100%;
          height: auto; }

/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
  color: #aaa; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #aaa; }

/* Firefox 18- */
:-moz-placeholder {
  color: #aaa;
  opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder {
  color: #aaa;
  opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {
  color: #aaa; }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }

.menu-trigger {
  position: relative;
  width: 20px;
  height: 15px; }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 4px; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: 11.5px;
  display: none; }

.menu-trigger span:nth-of-type(3) {
  bottom: 0; }

.menu-trigger span:nth-of-type(1) {
  -webkit-animation: menu-bar01 .75s forwards;
  animation: menu-bar01 .75s forwards; }

@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(20px) rotate(45deg); }
  50% {
    -webkit-transform: translateY(20px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }
@keyframes menu-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg); }
  50% {
    transform: translateY(20px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1; }

.menu-trigger span:nth-of-type(3) {
  -webkit-animation: menu-bar02 .75s forwards;
  animation: menu-bar02 .75s forwards; }

@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform: translateY(-20px) rotate(-45deg); }
  50% {
    -webkit-transform: translateY(-20px) rotate(0); }
  100% {
    -webkit-transform: translateY(0) rotate(0); } }
@keyframes menu-bar02 {
  0% {
    transform: translateY(-20px) rotate(-45deg); }
  50% {
    transform: translateY(-20px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
.menu-trigger.active span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 .75s forwards;
  animation: active-menu-bar01 .75s forwards;
  top: -16px; }

@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(20px) rotate(0); }
  100% {
    -webkit-transform: translateY(20px) rotate(45deg); } }
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(20px) rotate(0); }
  100% {
    transform: translateY(20px) rotate(45deg); } }
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0; }

.menu-trigger.active span:nth-of-type(3) {
  -webkit-animation: active-menu-bar03 .75s forwards;
  animation: active-menu-bar03 .75s forwards;
  bottom: -12px; }

@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0); }
  50% {
    -webkit-transform: translateY(-20px) rotate(0); }
  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg); } }
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(-20px) rotate(0); }
  100% {
    transform: translateY(-20px) rotate(-45deg); } }
.swiper-pagination-bullet {
  background: #fff !important;
  opacity: 1 !important; }

.swiper-pagination-bullet-active {
  background: #808080 !important; }

div.wpcf7-validation-errors {
  border: 2px solid #bb2427 !important;
  padding: 15px !important;
  box-sizing: border-box; }

.big_copy {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: #111111;
  font-size: 1.25rem;
  line-height: 1.8; }
  @media screen and (max-width: 768px) {
    .big_copy {
      font-size: 0.8rem; } }
  .big_copy.after_bar:after {
    content: "";
    display: block;
    width: 2em;
    height: 0.25em;
    background: #808080;
    margin: auto;
    margin-top: 1em;
    margin-bottom: 1em; }

.h1_wrap.after_bar:after {
  content: "";
  display: block;
  width: 2em;
  height: 0.25em;
  background: #808080;
  margin: auto;
  margin-top: 1em;
  margin-bottom: 1em; }
.h1_wrap .en_h1 {
  font-family: 'Roboto Condensed', sans-serif;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-left: -0.1em;
  color: #111111; }
  @media screen and (max-width: 768px) {
    .h1_wrap .en_h1 {
      font-size: 1.5rem; } }
.h1_wrap .jp_h1 {
  font-size: 18px;
  display: block;
  letter-spacing: normal;
  font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 2;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .h1_wrap .jp_h1 {
      font-size: 1rem; } }

#concept_container section {
  padding: 3rem 15px; }
  #concept_container section.gray {
    background: #dde2e7; }
#concept_container .section_back img {
  width: 100%;
  height: auto; }
#concept_container p.center {
  text-align: center;
  line-height: 2rem; }
  @media screen and (max-width: 768px) {
    #concept_container p.center {
      font-size: 0.8rem; } }
#concept_container p.before_bar {
  font-weight: 500;
  font-size: 1.15rem; }
  #concept_container p.before_bar:before {
    content: "";
    display: block;
    width: 2em;
    height: 0.25em;
    background: #808080;
    margin: auto;
    margin-top: 1em;
    margin-bottom: 1em; }
#concept_container .opener {
  position: relative;
  background-position: center;
  background-size: cover;
  padding-bottom: 50px;
  max-width: 980px;
  margin: auto; }
  #concept_container .opener.first {
    background-image: url("../img/first.jpg"); }
  #concept_container .opener.second {
    background-image: url("../img/second.jpg"); }
  #concept_container .opener.third {
    background-image: url("../img/third.jpg"); }
  #concept_container .opener.fourth {
    background-image: url("../img/fourth.jpg"); }
  #concept_container .opener .status {
    background: #111111;
    width: 200px;
    height: auto;
    margin: auto;
    margin-bottom: 50px;
    padding: 10px;
    position: relative;
    font-family: 'Roboto Condensed', sans-serif;
    text-align: center;
    color: #fff;
    font-size: 120%; }
#concept_container #concept_top {
  background-image: url("../img/concept_back.jpg");
  background-size: cover;
  background-position: bottom;
  padding: 15px;
  box-sizing: border-box;
  padding-top: 2rem;
  padding-bottom: 2rem; }
  #concept_container #concept_top .copy_box {
    display: flex;
    justify-content: center; }
    #concept_container #concept_top .copy_box p.copy {
      font-weight: bold;
      font-size: 2rem;
      letter-spacing: 0.2em;
      display: inline;
      color: #111111;
      margin-bottom: 2rem;
      line-height: 2;
      text-align: left; }
      @media screen and (max-width: 768px) {
        #concept_container #concept_top .copy_box p.copy {
          font-size: 1.5rem; } }
  #concept_container #concept_top .whitebox {
    background: rgba(255, 255, 255, 0.5);
    max-width: 600px;
    margin: auto;
    padding-top: 4rem;
    margin-top: 4rem;
    padding-bottom: 4rem; }
    #concept_container #concept_top .whitebox p.center {
      line-height: 2.5rem;
      letter-spacing: 0.15em; }
      @media screen and (max-width: 768px) {
        #concept_container #concept_top .whitebox p.center {
          letter-spacing: 0rem; } }
  #concept_container #concept_top .imgbox {
    margin: 2em auto;
    width: 13rem;
    height: auto;
    margin-bottom: 2rem; }
    #concept_container #concept_top .imgbox img {
      width: 100%;
      height: auto; }

.white_section {
  background: #fff;
  width: 100%;
  max-width: 980px;
  margin: auto;
  padding: 50px 15px; }
  .white_section .logoflex {
    width: 90%;
    margin: auto;
    margin-top: 50px;
    display: flex;
    justify-content: space-around; }
    @media screen and (max-width: 768px) {
      .white_section .logoflex {
        flex-wrap: wrap; } }
    .white_section .logoflex a {
      width: 18%;
      display: inline-block; }
      @media screen and (max-width: 768px) {
        .white_section .logoflex a {
          width: 40%; } }
      .white_section .logoflex a img {
        width: 100%;
        height: auto; }

.twin_flex {
  display: flex;
  margin: auto;
  max-width: 980px;
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 3rem; }
  .twin_flex img {
    width: 50%;
    height: auto; }
  @media screen and (max-width: 515px) {
    .twin_flex {
      display: block; }
      .twin_flex img {
        width: 100%;
        height: auto;
        margin: auto; } }

.brand_flex {
  display: flex;
  justify-content: center;
  background: #111111;
  margin: auto;
  width: 100%;
  max-width: 980px;
  align-items: center;
  margin-top: 25px; }
  @media screen and (max-width: 768px) {
    .brand_flex {
      display: block; } }
  .brand_flex a {
    width: 50%; }
    @media screen and (max-width: 768px) {
      .brand_flex a {
        width: 100%; } }
    .brand_flex a img {
      width: 100%;
      display: block; }
  .brand_flex .textbox {
    width: 50%;
    color: #fff !important; }
    @media screen and (max-width: 768px) {
      .brand_flex .textbox {
        width: 100%;
        padding-bottom: 2rem;
        padding-top: 2rem; } }
    .brand_flex .textbox .h1_wrap .en_h1, .brand_flex .textbox .h1_wrap .jp_h1 {
      color: #fff !important; }
    .brand_flex .textbox p {
      font-size: 80%; }

.pt50 {
  padding-top: 50px; }

.pb50 {
  padding-bottom: 50px; }

.brand_title {
  background-position: center;
  background-size: cover;
  background-image: url("../img/brand.jpg");
  width: 100%;
  height: 30vw; }
  @media screen and (max-width: 768px) {
    .brand_title {
      height: 50vw; } }

.corporate_title {
  background-position: center;
  background-size: cover;
  background-image: url("../img/companytop.jpg");
  width: 100%;
  height: 30vw; }
  @media screen and (max-width: 768px) {
    .corporate_title {
      height: 50vw; } }

.recruit_title {
  background-position: center;
  background-size: cover;
  background-image: url("../img/recruit.jpg");
  width: 100%;
  height: 30vw; }
  @media screen and (max-width: 768px) {
    .recruit_title {
      height: 50vw; } }

.showroom_title {
  background-position: center;
  background-size: cover;
  background-image: url("../img/showroom.jpg");
  width: 100%;
  height: 30vw; }
  @media screen and (max-width: 768px) {
    .showroom_title {
      height: 50vw; } }

.contact_title {
  background-position: center;
  background-size: cover;
  background-image: url("../img/contact.jpg");
  width: 100%;
  height: 30vw; }
  @media screen and (max-width: 768px) {
    .contact_title {
      height: 50vw; } }

.showroomMap {
  width: 100%;
  max-width: 980px;
  margin: auto;
  margin-top: 50px; }

p.copy {
  letter-spacing: 0.15em;
  line-height: 2.5;
  text-align: center;
  margin-bottom: 50px; }
  @media screen and (max-width: 768px) {
    p.copy {
      letter-spacing: normal; } }

@media screen and (max-width: 768px) {
  .slide_inner .slick-slide div {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center; } }
a img {
  transition: all ease 0.3s; }
a:hover img {
  opacity: 0.75; }

.mapiframe_wrap {
  width: 100%; }
  .mapiframe_wrap iframe {
    width: 100%;
    height: 60vw;
    max-height: 400px;
    filter: grayscale(100%); }
    @media screen and (max-width: 768px) {
      .mapiframe_wrap iframe {
        height: 75vw; } }

.dss_brand_header {
  max-width: 1280px;
  width: 100%;
  padding: 20px;
  margin: auto; }
  @media screen and (max-width: 768px) {
    .dss_brand_header {
      padding: 15px; } }
  .dss_brand_header h1 {
    padding: 15px 0;
    border-bottom: 2px solid #888;
    position: relative;
    width: 100%;
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .dss_brand_header h1 {
        font-size: 18px; } }
    .dss_brand_header h1 br {
      display: none; }
    .dss_brand_header h1:before {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 2px;
      background-color: #808080;
      content: "";
      display: block; }
  .dss_brand_header figure {
    width: 100%;
    margin-bottom: 15px; }
    .dss_brand_header figure img {
      max-width: 100%; }
  .dss_brand_header p {
    text-align: center;
    line-height: 2;
    font-size: 100%; }
    @media screen and (max-width: 768px) {
      .dss_brand_header p {
        font-size: 90%; } }

.dss_brand_contents_wrap {
  max-width: 1280px;
  width: 100%;
  padding: 20px;
  margin: auto; }
  @media screen and (max-width: 768px) {
    .dss_brand_contents_wrap {
      padding: 15px; } }
  .dss_brand_contents_wrap .round_btn {
    color: white;
    text-align: center;
    width: 45%;
    padding: 1rem;
    background: #5A5B5C;
    border-radius: 4rem;
    margin: auto;
    display: block;
    min-width: 300px;
    font-weight: 500;
    font-size: 120%; }
  .dss_brand_contents_wrap .dss_brand_contents {
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      .dss_brand_contents_wrap .dss_brand_contents {
        margin-bottom: 40px; } }
    .dss_brand_contents_wrap .dss_brand_contents h2 {
      background-color: #fff;
      color: white;
      border-top: 10px solid #808080;
      padding: 10px;
      font-weight: 500; }
      @media screen and (max-width: 768px) {
        .dss_brand_contents_wrap .dss_brand_contents h2 {
          font-size: 18px; } }
    .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap {
      display: flex;
      flex-wrap: wrap;
      margin-top: 1em; }
      .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap a {
        margin: 1em 1.5%;
        width: 30.3333%;
        box-sizing: border-box; }
        @media screen and (max-width: 768px) {
          .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap a {
            width: 47%; } }
        .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap a figure img {
          width: 100%;
          height: auto;
          display: flex;
          max-width: 300px;
          margin: auto; }
        .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap a h3 {
          text-align: center;
          font-weight: 500;
          font-size: 95%; }
          @media screen and (max-width: 768px) {
            .dss_brand_contents_wrap .dss_brand_contents .prodct_wrap a h3 {
              font-size: 13px; } }

.header__menu span:nth-child(1), .header__menu span:nth-child(3) {
  transform-origin: center; }

.is-menu-open {
  overflow: hidden; }
  .is-menu-open .header__menu span:nth-child(1) {
    transform: translateY(6px) rotate(45deg); }
  .is-menu-open .header__menu span:nth-child(2) {
    opacity: 0; }
  .is-menu-open .header__menu span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg); }
  .is-menu-open .gnav {
    position: fixed;
    top: 52px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    height: auto;
    margin: 0;
    padding: 30px 40px 60px;
    overflow-y: auto;
    background: rgba(5, 10, 24, 0.92); }
  .is-menu-open .gnav__list {
    display: block;
    max-width: 720px;
    height: auto;
    margin: 0 auto; }
  .is-menu-open .gnav__item {
    width: auto;
    height: auto;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
    .is-menu-open .gnav__item::before, .is-menu-open .gnav__item::after, .is-menu-open .gnav__item:last-child a::before {
      display: none; }
    .is-menu-open .gnav__item > a {
      justify-content: flex-start;
      height: 56px;
      font-size: 15px;
      color: #fff; }
  .is-menu-open .gnav__sub {
    position: static;
    width: auto !important;
    min-width: 0;
    padding: 0 0 12px 16px;
    background: none;
    opacity: 1;
    visibility: visible; }
    .is-menu-open .gnav__sub a {
      height: 36px;
      padding-left: 0;
      font-size: 13px; }

@media screen and (max-width: 1139px) {
  .header__inner {
    padding: 0 20px; }

  .gnav {
    display: none; }

  .is-menu-open .gnav {
    display: block; }

  .header__company {
    margin-left: 28px; } }
@media screen and (max-width: 1279px) {
  .fv__copy {
    left: 0;
    width: auto;
    margin-left: 0;
    padding-left: 40px; } }
@media screen and (max-width: 1139px) {
  .footer__inner {
    padding-left: 20px;
    padding-right: 20px; }

  .footer__sitemap, .footer__bottom {
    left: 20px; }

  .footer__brand {
    right: 20px; } }
@media screen and (max-width: 1023px) {
  .fv {
    height: calc(var(--fv-height, 840px) * .75); }

  .fv__copy {
    top: calc(var(--fv-copy-top, 280px) * .6);
    left: 0;
    width: auto;
    margin-left: 0;
    padding-left: 40px; }

  .c-block {
    padding-left: 20px;
    padding-right: 20px; }

  .c-products {
    grid-template-columns: repeat(3, 1fr); }

  .c-product__img img {
    max-width: 100%; }

  .c-brand-panel {
    width: auto;
    max-width: 1020px;
    height: auto;
    margin-left: 20px;
    margin-right: 20px; }

  .c-brand-panel__img, .c-brand-panel__body {
    width: 50%; }

  .c-brand-panel__img {
    height: auto; }

  .c-brand-panel__body {
    padding-bottom: 40px; }

  .c-showroom__inner {
    width: auto;
    padding: 0 20px; }

  .c-showroom__photos img {
    width: 50%;
    height: auto;
    aspect-ratio: 490 / 298; }

  .c-showroom__map {
    width: 100%; }

  .footer__inner {
    height: auto;
    padding: 60px 20px 50px;
    display: flex;
    flex-direction: column; }

  .footer__sitemap {
    position: static;
    flex-wrap: wrap;
    row-gap: 24px; }
    .footer__sitemap dl {
      width: 33.333% !important; }

  .footer__brand {
    position: static;
    order: 2;
    margin-top: 40px;
    text-align: left; }

  .footer__logo img, .footer__company img {
    margin-left: 0; }

  .footer__address {
    white-space: normal; }

  .footer__bottom {
    position: static;
    order: 3;
    flex-wrap: wrap;
    row-gap: 12px;
    height: auto;
    margin-top: 30px; } }
@media screen and (max-width: 767px) {
  .header__company {
    display: none; }

  .fv {
    height: calc(var(--fv-height, 840px) * .62); }

  .fv__copy {
    top: calc(var(--fv-copy-top, 280px) * .45);
    padding-left: 20px; }

  .fv__tagline img {
    width: 240px; }

  .fv__plus {
    margin-top: 10px;
    font-size: 24px; }

  .fv__text {
    margin-top: 12px;
    font-size: 13px;
    line-height: 22px; }

  .fv__logo {
    width: 110px;
    margin-top: 24px; }

  .c-heading {
    font-size: 24px;
    line-height: 34px; }

  .c-text {
    margin-top: 18px;
    font-size: 15px;
    line-height: 28px; }

  .c-text p + p {
    margin-top: 28px; }

  .c-lead--center .c-text {
    margin-top: 14px; }

  .c-lead {
    padding: 0 20px; }

  .c-title__en {
    font-size: 24px; }

  .c-title__ja {
    font-size: 12.5px; }

  .c-button {
    width: auto;
    max-width: 510px;
    margin-left: 20px;
    margin-right: 20px;
    font-size: 16px; }

  .c-block > .c-button, .c-showroom .c-button {
    margin-left: auto;
    margin-right: auto; }
  .c-model-title {
    height: 56px;
    font-size: 22px;
    line-height: 53.5px; }

  .c-model-intro__img {
    height: auto;
    aspect-ratio: 1020 / 388.5;
    margin-top: 24px; }

  .c-model-intro__text {
    margin-top: 18px;
    font-size: 15px;
    line-height: 28px;
    text-align: left; }
    .c-model-intro__text br {
      display: none; }

  .c-category {
    height: 56px;
    font-size: 14px;
    line-height: 46px; }

  .c-products {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 16px;
    row-gap: 36px; }

  .c-product__img {
    height: 120px; }

  .c-product__img img {
    max-height: 120px; }

  .c-product__model, .c-product__name {
    font-size: 13px;
    line-height: 20px; }

  .c-product__model {
    margin-top: 12px; }

  .c-brand-panel {
    flex-direction: column; }

  .c-brand-panel__img, .c-brand-panel__body {
    width: 100%; }

  .c-brand-panel__img {
    aspect-ratio: 510 / 388; }

  .c-brand-panel__body {
    padding: 36px 20px 40px; }

  .c-brand-panel__logo {
    width: 140px; }

  .c-brand-panel__text {
    font-size: 15px;
    line-height: 28px; }

  .c-showroom {
    padding: 40px 0 56px; }

  .c-showroom__en {
    font-size: 24px; }

  .c-showroom__ja {
    font-size: 16px; }

  .c-showroom__photos {
    flex-direction: column;
    margin-top: 28px; }

  .c-showroom__photos img {
    width: 100%; }

  .c-showroom__info {
    margin-top: 24px;
    font-size: 14px;
    line-height: 26px;
    text-align: left; }

  .c-showroom__map {
    height: 280px;
    margin-top: 24px; }

  .c-showroom .c-button {
    margin-top: 32px; }

  .c-pager {
    gap: 4px;
    margin-bottom: 56px; }

  .c-pager .page-numbers {
    min-width: 36px;
    height: 36px;
    font-size: 14px; }

  .footer__inner {
    padding: 48px 20px 40px; }

  .footer__sitemap dl {
    width: 50% !important; }

  .footer__company {
    font-size: 20px; }
    .footer__company span {
      font-size: 16.5px; }

  .footer__copy {
    margin-left: 24px; }

  .footer__privacy {
    margin-left: 0;
    flex-basis: 100%; } }
