@charset "UTF-8";

.head_logo {
  width: clamp(100px,calc(250vw / var(--window)),10000px);
}

.nav_head {
  width: 100%;
  height: clamp(56px,calc(140vw / var(--window)),140px);
  background-color: var(--white);
  padding: 0 calc(10vw / var(--window)) 0 calc(30vw / var(--window));
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
.head_logo,.nav_logo {
  display: block;
  width: calc(250vw / var(--window));
  max-width: 250px;
  font-size: 0;
  line-height: 0;
}
.head_nav_list {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: calc(100vh + calc(50vw / var(--window)));
  padding: 30px calc(25vw / var(--window)) calc(25vw / var(--window));
  background-color: var(--white);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.head_nav_list.active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  overflow-y: scroll;
}
.head_nav_item {
  width: 100%;
  padding: clamp(15px,calc(15vw / var(--window)),18px) 0;
  border-bottom: 1px solid var(--maincolor);
  font-size: clamp(.875rem,calc(20vw / var(--window)),2.5rem);
  font-weight: 500;
  transition: color ease 0.3s;
}
.head_nav_item_sub {
  font-family: "Gabarito", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  color: var(--maincolor);
  font-size: clamp(.625rem,calc(14vw / var(--window)),1.75rem);
  padding-left: clamp(4px,calc(15vw / var(--window)),8px);
}
.head_nav_item:nth-child(5) {
    margin-bottom: clamp(25px,calc(50vw / var(--window)),50px);
}

.head_nav_btn_contact {
  background-color: var(--maincolor);
  border-color: var(--maincolor);
  width: 100%;
  font-size: var(--maintxtsize);
  font-weight: 500;
  color: var(--white);
  margin-bottom: calc(30vw / var(--window));
  padding: calc(20vw / var(--window)) 0;
}
.head_nav_btn_contact:hover {
  background-image: url(../img/ic_link_blue.svg);
  background-color: var(--white);
  color: var(--maincolor);
}
.head_nav_btn_calendar {
  background-image: url(../img/ic_pdf.svg);
  background-color: var(--accolor);
  border-color: var(--accolor);
  width: 100%;
  font-size: var(--maintxtsize);
  font-weight: 500;
  color: var(--txtcolor);
  margin-bottom: calc(30vw / var(--window));
  padding: calc(20vw / var(--window)) 0;
}
.head_nav_btn_tel {
  display: block;
  width: 100%;
  background-color: var(--white);
  border: 1px solid var(--maincolor);
  box-sizing: border-box;
  font-size: clamp(.625rem,calc(15vw / var(--window)),.9375rem);
  font-weight: 700;
  text-align: center;
  padding: calc(10vw / var(--window)) calc(10vw / var(--window));
  margin-bottom: calc(20vw / var(--window));
  color: var(--maincolor);
  border-radius: calc(80vw / var(--window));
}
.head_nav_btn_tel a {
  font-size: clamp(1.25rem,calc(40vw / var(--window)),2.5rem);
  font-weight: 900;
}
.head_nav_time {
  width: 100%;
  font-size: var(--maintxtsize);
  text-align: center;
}

/* ハンバーガーメニュー */
.gnav_btn {
  position: relative;
  right: 20px;
  top: 0;
  z-index: 11;
  width: 80px;
  height: 80px;
  margin-left: auto;
  /* mix-blend-mode: exclusion; */
}
.gnav_btn::before,
.gnav_btn::after {
  content: '';
  display: inline-block;
}
.gnav_btn span,
.gnav_btn::before,
.gnav_btn::after {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--txtcolor,#323232);
  margin: 6px auto;
  transition: 0.3s;
}

.gnav_btn.active span {
  width: 30px;
  background-color: var(--txtcolor,#323232);
}
.gnav_btn.active::before,
.gnav_btn.active::after {
  width: 0;
  background-color: var(--txtcolor,#323232);
}

/* ここからPC //////////////////////////////////////////////////////////////////////////////// 
 //////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 769px) {

  .nav_head {
    height: clamp(50px,calc(100vw / var(--window)),200px);
    /* height: clamp(40px,calc(100vw / var(--window)),10000px); */
  }
  .nav_logo {
    display: none;
  }
  .head_logo {
    width: clamp(180px,calc(250vw / var(--window)),10000px);
    max-width: 100%;
  }
  .head_logo a {
    display: block;
    width: clamp(250px,calc(250vw / var(--window)),10000px);
  }
  .head_nav_list {
    position: relative;
    top: unset;
    left: unset;
    z-index: 5;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(10px,calc(20vw / var(--window)),10000px);
    width: auto;
    height: unset;
    padding: unset;
    background-color: unset;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    margin-left: auto;
  }
  .head_nav_item {
    display: inline-block;
    width: auto;
    /* margin-right: clamp(5px,calc(40vw / var(--window)),1000px); */
    padding: unset;
    border-bottom: unset;
    font-size: clamp(.625rem,calc(18vw / var(--window)),10000rem);
    color: var(--txtcolor);
    position: relative;
  }
  .head_nav_item_sub {
    display: none;
  }
  .head_nav_item:nth-child(5) {
    margin-bottom: unset;
    margin-right: unset;
  }
  .head_nav_item:hover {
    color: var(--maincolor);
  }
  .head_nav_item.current {
    color: var(--maincolor);
    font-weight: 700;
    padding-left: clamp(15px,calc(15vw / var(--window)),10000px);
  }
  .head_nav_item.current::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: clamp(8px,calc(8vw / var(--window)),10000px);
    height: clamp(8px,calc(8vw / var(--window)),10000px);
    margin-right: clamp(6px,calc(6vw / var(--window)),10000px);
    background-color: var(--maincolor);
    border-radius: calc(25vw / var(--window));
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .head_nav_btn_calendar {
    width: clamp(100px,calc(200vw / var(--window)),10000px);
    font-size: clamp(.625rem,calc(16vw / var(--window)),1000rem);
    margin-bottom: unset;
    padding: calc(20vw / var(--window));
    line-height: 1.125;
    text-align: left;
  }
  .head_nav_btn_calendar:hover {
    background-color: var(--white);
    color: var(--txtcolor);
    background-position: 90% 50%;
  }
  .head_nav_btn_contact {
    width: auto;
    font-size: clamp(.625rem,calc(18vw / var(--window,19.2)),10000rem);
    margin-bottom: unset;
    padding: calc(20vw / var(--window)) calc(60vw / var(--window)) calc(20vw / var(--window)) calc(30vw / var(--window));
    margin-left: auto;
    box-sizing: border-box;
    border: 1px solid var(--maincolor);
  }
  .head_nav_btn_tel {
    display: none;
  }
  .head_nav_time {
    display: none;
  }

  /* ハンバーガーメニュー */
  .gnav_btn {
    display: none;
  }
  .gnav_btn::before,
  .gnav_btn::after {
    display: none;
  }
  .gnav_btn span,
  .gnav_btn::before,
  .gnav_btn::after {
    display: none;
  }

}