@charset "UTF-8";
/* ==============================================================================================
HEADER_COMMON
============================================================================================== */
/*変数
-------------------------------------------------------------------------*/
:root {
  /*ヘッダー高さ*/
  --height-header: 11rem;
  /*ヘッダーカラー*/
  --color-header-bg: var(--color-white);
  --color-header-main: var(--color-main-dark);
}

@media screen and (max-width: 1023px) {
  :root {
    /*ヘッダー高さ*/
    --height-header: 8rem;
  }
}
@media screen and (max-width: 767px) {
  :root {
    /*ヘッダー高さ*/
    --height-header: 7rem;
  }
}
/*レイアウト
-------------------------------------------------------------------------*/
.l-header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  height: var(--height-header);
}

.l-header__inner {
  padding-left: 3.2rem;
  padding-right: 3.2rem;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 1023px) {
  .l-header__inner {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}
/*ロゴ
-------------------------------------------------------------------------*/
.l-header__logo {
  width: 9rem;
}

@media screen and (max-width: 768px) {
  .l-header__logo {
    width: 6rem;
  }
}
.l-header__logo a {
  display: block;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

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

.l-header__logo a h1 img {
  width: 100%;
}

/*ナビゲーション
-------------------------------------------------------------------------*/
.l-header__nav li:hover {
  color: var(--color-header-main);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-transition-delay: 0s !important;
          transition-delay: 0s !important;
}

.l-header__nav ul {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.l-header__nav ul li:not(:last-child) {
  margin-right: 2em;
}

@media screen and (max-width: 1023px) {
  .l-header__nav ul li:not(:last-child) {
    margin-right: 0;
  }
}
.l-header__nav ul li a {
  position: relative;
  display: block;
}

/*ボタン*/
.l-header__button {
  margin-left: 2em;
}

@media screen and (max-width: 1023px) {
  .l-header__button {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
    max-width: 40rem;
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-header__button {
    margin-left: 3.2rem;
    margin-right: 3.2rem;
    margin-top: 4rem;
    max-width: none;
  }
}
.open .l-header__button {
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.l-menu-item .l-menu_accent {
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .l-menu-item .l-menu_accent {
    color: var(--color-black_1);
  }
}

/*スマホハンバーガーメニュー
-------------------------------------------------------------------------*/
/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
  position: absolute;
  right: 2.4rem;
  top: 50%;
  width: 3rem;
  height: 2.4rem;
  cursor: pointer;
  z-index: 300;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .hamburger {
    right: 1.6rem;
  }
}
.hamburger__line {
  position: absolute;
  width: 3rem;
  height: 0.3rem;
  right: 0;
  background-color: var(--color-white);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  .hamburger__line {
    width: 3rem;
  }
}
.hamburger:hover .hamburger__line {
  background-color: var(--color-black_1) !important;
}

.hamburger__line--1 {
  top: 1px;
}

.hamburger__line--2 {
  top: 9px;
}

.hamburger__line--3 {
  top: 17px;
}

@media screen and (max-width: 767px) {
  .hamburger__line--1 {
    top: 1px;
  }

  .hamburger__line--2 {
    top: 9px;
  }

  .hamburger__line--3 {
    top: 17px;
  }
}
/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 11px;
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 11px;
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  top: -102rem;
  /*ハンバーガーがクリックされる前はWindow上部に隠す*/
  left: 0;
  width: 100%;
  /* 出てくるスライドメニューの幅 */
  padding-bottom: 11rem;
  background-color: var(--color-main);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
}

@media screen and (max-width: 767px) {
  .sp-nav {
    padding-bottom: 9.4rem;
  }
}
/*ハンバーガーがクリックされたら上からスライド*/
.open .sp-nav {
  top: -2rem;
}

.sp-nav .l-menu {
  margin-top: 14rem;
  text-align: left;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
  opacity: 0;
  /*transition: all 1.5s ease-out;*/
}

@media screen and (max-width: 767px) {
  .sp-nav .l-menu {
    margin-top: 12rem;
  }
}
.sp-nav .l-menu .l-menu-item {
  border-bottom: 0.1rem dotted var(--color-border-dark);
}

.sp-nav .l-menu .l-menu-item:first-child {
  border-top: 0.1rem dotted var(--color-border-dark);
}

.sp-nav .l-menu .l-menu-item a {
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-size: 4rem;
}

.nav-wrapper.open .sp-nav .l-menu {
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: -2rem;
  width: 100%;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}

.nav-wrapper {
  z-index: -1;
}

/* ==============================================================================================
HEADER_UNIQUE
============================================================================================== */
/*お問い合わせボタン*/
.c-icon.-call::before {
  content: "";
  display: inline-block;
  width: 1.4rem;
  height: 1.5rem;
  background-image: url(/assets/images/common/icon-call-white.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 1.4rem 1.5rem;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0%;
  margin-right: 0.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-icon.-call:hover::before {
  background-image: url(/assets/images/common/icon-call-main.svg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}