a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
}

a, a:hover {
  text-decoration: none !important;
}

.btn {
  border-radius: 4px;
  font-size: 13px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 25px;
  padding-right: 25px;
  border-radius: 5px;
  border: none;
  letter-spacing: .02rem;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  position: relative;
  -webkit-transform: skew(-21deg);
  -ms-transform: skew(-21deg);
  transform: skew(-21deg);
  /* Un-skew the text */
}

.btn > span {
  display: inline-block;
  -webkit-transform: skew(21deg);
  -ms-transform: skew(21deg);
  transform: skew(21deg);
}

.btn.btn-sm {
  font-size: 12px;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
}

.btn.btn-lg {
  font-size: 16px;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
}

.btn:hover, .btn:active, .btn:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-box-shadow: -14px 14px 30px 0 rgba(0, 0, 0, 0.15) !important;
  box-shadow: -14px 14px 30px 0 rgba(0, 0, 0, 0.15) !important;
}

/* Primary */
.btn-primary:hover, .btn-primary:focus {
  background-color: #3395ff;
}

/* Secondary */
.btn-secondary:hover, .btn-secondary:focus {
  background-color: #868e96;
}

/* Success */
.btn-success:hover, .btn-success:focus {
  background-color: #34ce57;
}

/* Info */
.btn-info:hover, .btn-info:focus {
  background-color: #1fc8e3;
}

/* Warning */
.btn-warning:hover, .btn-warning:focus {
  background-color: #ffce3a;
}

/* Danger */
.btn-danger:hover, .btn-danger:focus {
  background-color: #e4606d;
}

/* Orange */
.btn-orange {
  background-color: #fd7e14;
  color: #fff;
}

.btn-orange:hover, .btn-orange:focus {
  background-color: #fd9a47;
  color: #fff;
}

/* Indigo */
.btn-indigo {
  background-color: #6610f2;
  color: #fff;
}

.btn-indigo:hover, .btn-indigo:focus {
  background-color: #8540f5;
  color: #fff;
}

/* Pink */
.btn-pink {
  background-color: #e83e8c;
  color: #fff;
}

.btn-pink:hover, .btn-pink:focus {
  background-color: #ed6ca7;
  color: #fff;
}

/* Purple */
.btn-purple {
  background-color: #6f42c1;
  color: #fff;
}

.btn-purple:hover, .btn-purple:focus {
  background-color: #8c68ce;
  color: #fff;
}

/* Blue */
.btn-blue {
  background-color: #007bff;
  color: #fff;
}

.btn-blue:hover, .btn-blue:focus {
  background-color: #3395ff;
  color: #fff;
}

/* Brown */
.btn-brown {
  background-color: #a0855b;
  color: #fff;
}

.btn-brown:hover, .btn-brown:focus {
  background-color: #b49d7a;
  color: #fff;
}

/* Blue gray */
.btn-blue-gray {
  background-color: #3f4d71;
  color: #fff;
  font-size: .6rem;
  white-space: nowrap;
}

.btn-blue-gray:hover, .btn-blue-gray:focus {
  background-color: #516392;
  color: #fff;
}

/* スクロールバーを非表示にする（WebKit系ブラウザ用） */
.hide-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;     /* Firefox */
}

.hide-scrollbar::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera*/
}

/* Deep orange */
.btn-deep-orange {
  background-color: #ffac8e;
  color: #fff;
}

.btn-deep-orange:hover, .btn-deep-orange:focus {
  background-color: #ffd1c1;
  color: #fff;
}

/* Aqua */
.btn-aqua {
  background-color: #3fc5f0;
  color: #fff;
}

.btn-aqua:hover, .btn-aqua:focus {
  background-color: #6ed3f4;
  color: #fff;
}

/* Dark */
.btn-dark {
  background-color: #393e46;
  color: #fff;
}

.btn-dark:hover, .btn-dark:focus {
  background-color: #505762;
  color: #fff;
}

.btn-black {
  background-color: #000;
  color: #fff;
}

.btn-black:hover, .btn-black:focus {
  background-color: #1a1a1a;
  color: #fff;
}


html, body {
  height: 100%;
}
.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.content {
  flex: 1;
}
/* ヘッダーのスタイル */
.navbar {
  background-color: rgba(34, 49, 52, 1) !important;
  z-index: 1030;
  position: relative;
}
.navbar .nav-link, .navbar-brand {
  color: white !important;
}
.navbar .nav-link:hover {
  color: #ddd !important;
}
/* ハンバーガーメニューのスタイル */
.navbar-toggler {
  border: 2px solid white;
}
.navbar-toggler-icon {
  background-image: none;
}
.navbar-toggler span {
  color: white;
  font-size: 1.2rem;
  font-weight: bold;
}
/* フッターのスタイル */
.footer {
  background-color: rgba(34, 49, 52, 1);
  color: white;
}

/* 画像にカーソルを変更する */
.img-hover {
  cursor: pointer;
}

/* メニュー間隔を広げる */
.navbar-nav .nav-item {
    margin: 0 10px;
}

/* ドロップダウンスタイル調整 */
.dropdown-menu {
    border-radius: 0;
    border: 1px solid #eee;
    z-index: 1050;
}
.dropdown-item:hover {
    background-color: #f8f9fa;
}
/* バナー画像をレスポンシブに */
.banner-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
/* その他のスタイル調整 */
.wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.content {
    flex: 1;
}
.footer {
    margin-top: 2rem;
}

/* 動画を背景として全画面に表示 */
#bg-video {
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 50%;
  min-height: 80%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1;
}

.spacer {
  height: 680px; /* 必要な余白に応じて調整可能 */
}

.contact-link {
  color: white !important;
}
.contact-link:hover {
  color: #ddd !important;
}
