@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap");
.mb-6 {
  margin-bottom: 4rem; }

.mb-7 {
  margin-bottom: 5rem; }

.block-margin {
  margin-bottom: 100px; }
  @media (max-width: 480px) {
    .block-margin {
      margin-bottom: 13vw; } }

a {
  transition: all .5s ease-in; }

hr.hr-bold {
  margin-top: .2rem;
  margin-bottom: .2rem;
  border: 0;
  border-top: 2px solid rgba(0, 0, 0, 0.1); }
  hr.hr-bold.hr-white {
    border-top: 2px solid #fff; }

.note {
  border: 3px solid rgba(0, 0, 0, 0.25);
  padding: 2rem; }
  @media (max-width: 480px) {
    .note {
      padding: 1rem; } }

.line-height-lg {
  line-height: 1.9; }

.line-height-xl {
  line-height: 2.1; }

.font-size-text {
  font-size: calc(0.8125rem + ((1vw - 3.2px) * 0.3571));
  /* 13px */ }
  @media (min-width: 1160px) {
    .font-size-text {
      font-size: 16px; } }

.font-size-md {
  font-size: calc(0.875rem + ((1vw - 3.2px) * 0.4762));
  /* 14px */ }
  @media (min-width: 1160px) {
    .font-size-md {
      font-size: 18px; } }

.text-link {
  color: #b19b4d; }

.text-notice {
  color: #990000; }

.list-ind {
  padding-left: 1em;
  text-indent: -1em; }

.required::after {
  display: block;
  content: '必須';
  color: #fff;
  background: #dc3545;
  width: 3em;
  text-align: center;
  margin-top: 4px;
  font-size: 12px;
  float: right; }

.btn-project {
  color: #fff;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem; }
  .btn-project:hover {
    color: #333;
    background-color: #fff;
    border-color: #333; }
  .btn-project:focus, .btn-project.focus {
    color: #fff;
    background-color: #333;
    border-color: #333;
    box-shadow: 0 0 0 0.2rem rgba(0, 0, 48, 0.5); }

.btn-project-inverse {
  color: #fff;
  background-color: transparent;
  border-color: #fff;
  font-size: 0.875rem; }
  .btn-project-inverse:hover {
    color: #333;
    background-color: #fff;
    border-color: #fff; }
  .btn-project-inverse:focus, .btn-project-inverse.focus {
    color: #333;
    background-color: #fff;
    border-color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }

.img-filter {
  transition: .5s; }
  .img-filter:hover {
    opacity: .5; }

/* Scss Document */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100; }
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200; }
html, body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif; }

@media all and (-ms-high-contrast: none) {
  html, body {
    font-family: Verdana, Meiryo, sans-serif; } }
@media all and (-ms-high-contrast: active) {
  html, body {
    font-family: Verdana, Meiryo, sans-serif; } }
/* luxbar custom */
.luxbar-navigation {
  justify-content: flex-start; }

.luxbar-menu a,
.luxbar-item a {
  text-decoration: none;
  color: #fff;
  cursor: pointer; }

.luxbar-header .luxbar-brand {
  display: block;
  flex: 1;
  position: relative; }

.header-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateX(37px) translateY(-50%);
  width: auto;
  height: 25px; }

.luxbar-menu-dark {
  background-color: rgba(0, 0, 0, 0.8); }

@media (min-width: 769px) {
  #luxbar, .luxbar-header, .luxbar-menu, .luxbar-item {
    height: auto !important; }

  .luxbar-menu-dark {
    background-color: transparent; }
    .luxbar-menu-dark .active {
      background-color: transparent; }

  .luxbar-fixed {
    box-shadow: none; }

  .luxbar-item {
    padding: 50px 9px; }
    .luxbar-item a {
      padding: 8px 9px 7px;
      display: block;
      border: 1px solid #fff;
      line-height: 1; }
      .luxbar-item a:hover, .luxbar-item a:active {
        background: rgba(255, 255, 255, 0.2); }
    .luxbar-item:last-of-type {
      padding-right: 55px; }

  .luxbar-menu-dark .active,
  .luxbar-menu-dark .luxbar-item:hover {
    background-color: transparent; }

  .luxbar-item.nav-home a {
    border: 1px solid transparent; }

  #luxbar {
    transition: all .5s; }

  #luxbar.header-scrolled .luxbar-item {
    padding: 30px 9px; }
    #luxbar.header-scrolled .luxbar-item:last-of-type {
      padding-right: 55px; }
  #luxbar.header-scrolled .luxbar-menu-dark {
    background-color: rgba(0, 0, 0, 0.8); }
    #luxbar.header-scrolled .luxbar-menu-dark.active {
      background-color: rgba(0, 0, 0, 0.8); } }
/*.luxbar-menu {
  min-height: 58px;
  transition: 0.6s ease;
  width: 100%; }*/
body {
  background-color: #000;
  background-image: url("../img/bg-top01.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  animation: fade_in 1.5s ease-in; }
  body.tab-company, body.tab-contact, body.tab-philosophy {
    background-image: url("../img/bg-contents.jpg"); }

@keyframes fade_in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body {
  color: #fff; }

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
a {
  color: #fff; }
